ข้ามไปยังเนื้อหา

Runtime contracts

เนื้อหานี้ยังไม่ได้แปลเป็นภาษาไทย แสดงเป็นภาษาอังกฤษแทน

The runtime contract is what the engine promises will be available at runtime regardless of which modules you compose. Hosts implement the routes; modules and operators consume the snapshot keys and catalog interfaces.

RouteMethodReturns
/engine/manifestGETThe full runtime manifest — modules, capabilities, sources, integrity hashes, language-pack contributions.
/engine/runtimeGETLive runtime state — module statuses, capability bindings, technology profiles.
/engine/snapshotGETResolved configuration snapshot.
/healthGETComposed health from dependency-health probes + lifecycle.
/openapi/{version}.jsonGETOpenAPI document per registered API version.
/scalar/{version}GETScalar docs UI per registered API version.

The contract version is included in the manifest payload as manifestSchemaVersion.

KeyPurpose
snapshot.engineIdThe configured Engine:Id.
snapshot.engineVersionThe active engine package version.
snapshot.manifestSchemaVersionThe manifest schema version.
snapshot.deploymentMode.baselineThe shipping baseline (net10.0).
snapshot.deploymentMode.readinessLanesMap of dotnet11, trim, aot, singleFile → status.
snapshot.capabilitiesThe set of declared capabilities.
snapshot.providersThe set of registered providers per capability.
snapshot.hostThe host adapter id and version.
InterfaceWhat it exposes
IRuntimeManifestThe full manifest.
ICapabilityRegistryCapability → provider mapping.
ITechnologyContributor / ITechnologyServiceContributor / ITechnologyCapabilityContributorTechnology-profile contribution points.
ICellBoundaryContributor / ICellRouteContributorCell boundary and route declarations.
ICellBoundaryCatalog / ICellRouteCatalogRead-side catalogs for the above.
ICdcCaptureContributorCDC source declarations.
ICdcCaptureCatalog / ICdcCaptureRuntimeStateCatalogRead-side catalogs for CDC.
IRuntimeStatusLifecycle / health roll-up.
IDependencyHealthSourcePer-backend health contributions.
GET /engine/manifest
{
"manifestSchemaVersion": "v2",
"engineId": "<configured Engine:Id>",
"engineVersion": "<package version>",
"host": { "kind": "aspnetcore", "version": "..." },
"modules": [{
"name": "...",
8 collapsed lines
"version": "...",
"package": { "name": "...", "version": "...", "publisher": "..." },
"capabilities": ["Data", ...],
"dependsOn": [...],
"integrity": { "hash": "...", "algorithm": "SHA-256", "trusted": true }
}],
"capabilities": [...],
"providers": [...],
"technologyProfiles": [...],
"cellBoundaries": [...],
"cdcSources": [...],
"languagePacks": [...],
"deploymentMode": {
"baseline": "net10.0",
"readinessLanes": { "dotnet11": "assessment-only", "trim": "warn", "aot": "warn", "singleFile": "warn" }
}
}