feat(engine): register MCP profiles and provider transitions
This commit is contained in:
@@ -12,6 +12,33 @@ import {
|
||||
geliosTelemetryFieldRegistryV5,
|
||||
} from "../../packages/external-provider-contract/providers/gelios/v12/index.mjs";
|
||||
|
||||
const PUBLIC_PROFILE_METADATA = Object.freeze({
|
||||
"gelios.positions.current.realtime.v7": {
|
||||
cadence: "hot",
|
||||
dataClass: "operational",
|
||||
},
|
||||
"gelios.positions.current.manual.v7": {
|
||||
cadence: "on_demand",
|
||||
dataClass: "operational",
|
||||
},
|
||||
"gelios.geozones.current.realtime.v1": {
|
||||
cadence: "cold",
|
||||
dataClass: "operational",
|
||||
},
|
||||
"gelios.units.profile.cold.v1": {
|
||||
cadence: "cold",
|
||||
dataClass: "operational",
|
||||
},
|
||||
"gelios.units.contacts.cold.v1": {
|
||||
cadence: "cold",
|
||||
dataClass: "restricted",
|
||||
},
|
||||
"gelios.units.identity.warm.v1": {
|
||||
cadence: "warm",
|
||||
dataClass: "restricted",
|
||||
},
|
||||
});
|
||||
|
||||
const engineRoot = resolve(
|
||||
process.env.NODEDC_ENGINE_SOURCE_ROOT || "../NODEDC_ENGINE_INFRA",
|
||||
);
|
||||
@@ -72,9 +99,14 @@ function executionCatalogEntry() {
|
||||
: {},
|
||||
);
|
||||
const { packageDigest: _packageDigest, ...artifacts } = plan.artifacts;
|
||||
const publicMetadata = PUBLIC_PROFILE_METADATA[profile.id];
|
||||
if (!publicMetadata) {
|
||||
throw new Error(`gelios_v12_public_profile_metadata_missing:${profile.id}`);
|
||||
}
|
||||
return {
|
||||
id: profile.id,
|
||||
dataProductId: profile.dataProductId,
|
||||
...publicMetadata,
|
||||
capabilityIds: [...profile.capabilityIds],
|
||||
stepSignatures: plan.steps.map((step) => ({
|
||||
id: step.id,
|
||||
@@ -87,6 +119,7 @@ function executionCatalogEntry() {
|
||||
...(step.config.nodeType ? { nodeType: step.config.nodeType } : {}),
|
||||
})),
|
||||
artifacts,
|
||||
executionPlanTemplate: plan,
|
||||
};
|
||||
});
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user