@telorun/kernel 0.11.1 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +2 -2
- package/dist/application-env.d.ts +24 -0
- package/dist/application-env.d.ts.map +1 -0
- package/dist/application-env.js +156 -0
- package/dist/application-env.js.map +1 -0
- package/dist/base-definition.d.ts +14 -0
- package/dist/base-definition.d.ts.map +1 -0
- package/dist/base-definition.js +17 -0
- package/dist/base-definition.js.map +1 -0
- package/dist/capabilities/capabilities/component.yaml +4 -0
- package/dist/capabilities/capabilities/executable.yaml +8 -0
- package/dist/capabilities/capabilities/handler.yaml +4 -0
- package/dist/capabilities/capabilities/listener.yaml +4 -0
- package/dist/capabilities/capabilities/provider.yaml +4 -0
- package/dist/capabilities/capabilities/template.yaml +4 -0
- package/dist/capabilities/capabilities/type.yaml +4 -0
- package/dist/capabilities/component.d.ts +3 -0
- package/dist/capabilities/component.d.ts.map +1 -0
- package/dist/capabilities/component.js +4 -0
- package/dist/capabilities/component.js.map +1 -0
- package/dist/capabilities/component.yaml +3 -0
- package/dist/capabilities/executable.d.ts +3 -0
- package/dist/capabilities/executable.d.ts.map +1 -0
- package/dist/capabilities/executable.js +5 -0
- package/dist/capabilities/executable.js.map +1 -0
- package/dist/capabilities/executable.yaml +7 -0
- package/dist/capabilities/handler.d.ts +3 -0
- package/dist/capabilities/handler.d.ts.map +1 -0
- package/dist/capabilities/handler.js +4 -0
- package/dist/capabilities/handler.js.map +1 -0
- package/dist/capabilities/handler.yaml +3 -0
- package/dist/capabilities/invokable.d.ts +3 -0
- package/dist/capabilities/invokable.d.ts.map +1 -0
- package/dist/capabilities/invokable.js +5 -0
- package/dist/capabilities/invokable.js.map +1 -0
- package/dist/capabilities/listener.d.ts +3 -0
- package/dist/capabilities/listener.d.ts.map +1 -0
- package/dist/capabilities/listener.js +5 -0
- package/dist/capabilities/listener.js.map +1 -0
- package/dist/capabilities/listener.yaml +3 -0
- package/dist/capabilities/mount.d.ts +3 -0
- package/dist/capabilities/mount.d.ts.map +1 -0
- package/dist/capabilities/mount.js +5 -0
- package/dist/capabilities/mount.js.map +1 -0
- package/dist/capabilities/provider.d.ts +3 -0
- package/dist/capabilities/provider.d.ts.map +1 -0
- package/dist/capabilities/provider.js +8 -0
- package/dist/capabilities/provider.js.map +1 -0
- package/dist/capabilities/provider.yaml +3 -0
- package/dist/capabilities/runnable.d.ts +3 -0
- package/dist/capabilities/runnable.d.ts.map +1 -0
- package/dist/capabilities/runnable.js +5 -0
- package/dist/capabilities/runnable.js.map +1 -0
- package/dist/capabilities/service.d.ts +3 -0
- package/dist/capabilities/service.d.ts.map +1 -0
- package/dist/capabilities/service.js +5 -0
- package/dist/capabilities/service.js.map +1 -0
- package/dist/capabilities/template.d.ts +3 -0
- package/dist/capabilities/template.d.ts.map +1 -0
- package/dist/capabilities/template.js +5 -0
- package/dist/capabilities/template.js.map +1 -0
- package/dist/capabilities/template.yaml +3 -0
- package/dist/capabilities/type.d.ts +3 -0
- package/dist/capabilities/type.d.ts.map +1 -0
- package/dist/capabilities/type.js +5 -0
- package/dist/capabilities/type.js.map +1 -0
- package/dist/capabilities/type.yaml +3 -0
- package/dist/controller-loaders/npm-loader.d.ts +32 -8
- package/dist/controller-loaders/npm-loader.d.ts.map +1 -1
- package/dist/controller-loaders/npm-loader.js +120 -118
- package/dist/controller-loaders/npm-loader.js.map +1 -1
- package/dist/controllers/capability/capability-controller.d.ts +32 -0
- package/dist/controllers/capability/capability-controller.d.ts.map +1 -0
- package/dist/controllers/capability/capability-controller.js +26 -0
- package/dist/controllers/capability/capability-controller.js.map +1 -0
- package/dist/controllers/module/import-controller.d.ts +3 -2
- package/dist/controllers/module/import-controller.d.ts.map +1 -1
- package/dist/controllers/module/import-controller.js +23 -25
- package/dist/controllers/module/import-controller.js.map +1 -1
- package/dist/controllers/module/module.json +48 -0
- package/dist/controllers/resource-definition/resource-definition-controller.d.ts +1 -0
- package/dist/controllers/resource-definition/resource-definition-controller.d.ts.map +1 -1
- package/dist/controllers/resource-definition/resource-definition-controller.js +3 -0
- package/dist/controllers/resource-definition/resource-definition-controller.js.map +1 -1
- package/dist/controllers/resource-definition/resource-template-controller.d.ts +6 -1
- package/dist/controllers/resource-definition/resource-template-controller.d.ts.map +1 -1
- package/dist/controllers/resource-definition/resource-template-controller.js +79 -13
- package/dist/controllers/resource-definition/resource-template-controller.js.map +1 -1
- package/dist/internal-context.d.ts +25 -0
- package/dist/internal-context.d.ts.map +1 -0
- package/dist/internal-context.js +2 -0
- package/dist/internal-context.js.map +1 -0
- package/dist/kernel.d.ts +21 -1
- package/dist/kernel.d.ts.map +1 -1
- package/dist/kernel.js +109 -5
- package/dist/kernel.js.map +1 -1
- package/dist/loader.d.ts +18 -0
- package/dist/loader.d.ts.map +1 -0
- package/dist/loader.js +127 -0
- package/dist/loader.js.map +1 -0
- package/dist/manifest-adapters/http-adapter.d.ts +8 -0
- package/dist/manifest-adapters/http-adapter.d.ts.map +1 -0
- package/dist/manifest-adapters/http-adapter.js +31 -0
- package/dist/manifest-adapters/http-adapter.js.map +1 -0
- package/dist/manifest-adapters/local-file-adapter.d.ts +15 -0
- package/dist/manifest-adapters/local-file-adapter.d.ts.map +1 -0
- package/dist/manifest-adapters/local-file-adapter.js +95 -0
- package/dist/manifest-adapters/local-file-adapter.js.map +1 -0
- package/dist/manifest-adapters/manifest-adapter.d.ts +35 -0
- package/dist/manifest-adapters/manifest-adapter.d.ts.map +1 -0
- package/dist/manifest-adapters/manifest-adapter.js +2 -0
- package/dist/manifest-adapters/manifest-adapter.js.map +1 -0
- package/dist/manifest-adapters/registry-adapter.d.ts +9 -0
- package/dist/manifest-adapters/registry-adapter.d.ts.map +1 -0
- package/dist/manifest-adapters/registry-adapter.js +48 -0
- package/dist/manifest-adapters/registry-adapter.js.map +1 -0
- package/dist/manifest-schemas.d.ts +7 -23
- package/dist/manifest-schemas.d.ts.map +1 -1
- package/dist/manifest-schemas.js +18 -8
- package/dist/manifest-schemas.js.map +1 -1
- package/dist/manifest-sources/analysis-stamp.d.ts +25 -0
- package/dist/manifest-sources/analysis-stamp.d.ts.map +1 -0
- package/dist/manifest-sources/analysis-stamp.js +151 -0
- package/dist/manifest-sources/analysis-stamp.js.map +1 -0
- package/dist/module-context-registry.d.ts +48 -0
- package/dist/module-context-registry.d.ts.map +1 -0
- package/dist/module-context-registry.js +91 -0
- package/dist/module-context-registry.js.map +1 -0
- package/dist/resource-context.d.ts +2 -0
- package/dist/resource-context.d.ts.map +1 -1
- package/dist/resource-context.js +28 -0
- package/dist/resource-context.js.map +1 -1
- package/dist/schema-valiator.d.ts +15 -0
- package/dist/schema-valiator.d.ts.map +1 -0
- package/dist/schema-valiator.js +127 -0
- package/dist/schema-valiator.js.map +1 -0
- package/dist/schema-validator.d.ts +28 -0
- package/dist/schema-validator.d.ts.map +1 -1
- package/dist/schema-validator.js +161 -1
- package/dist/schema-validator.js.map +1 -1
- package/dist/snapshot-serializer.d.ts +62 -0
- package/dist/snapshot-serializer.d.ts.map +1 -0
- package/dist/snapshot-serializer.js +164 -0
- package/dist/snapshot-serializer.js.map +1 -0
- package/dist/types.d.ts +65 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +8 -0
- package/dist/types.js.map +1 -0
- package/package.json +9 -6
- package/src/application-env.ts +216 -0
- package/src/controller-loaders/npm-loader.ts +133 -118
- package/src/controllers/module/import-controller.ts +33 -36
- package/src/controllers/resource-definition/resource-definition-controller.ts +6 -0
- package/src/controllers/resource-definition/resource-template-controller.ts +110 -16
- package/src/internal-context.ts +25 -0
- package/src/kernel.ts +130 -5
- package/src/manifest-schemas.ts +31 -11
- package/src/manifest-sources/analysis-stamp.ts +169 -0
- package/src/resource-context.ts +34 -0
- package/src/schema-validator.ts +178 -2
- package/dist/generated/runtime-deps.json +0 -6
|
@@ -2,17 +2,6 @@ import { DiagnosticSeverity, StaticAnalyzer } from "@telorun/analyzer";
|
|
|
2
2
|
import { RuntimeError } from "@telorun/sdk";
|
|
3
3
|
import { ModuleContext } from "../../module-context.js";
|
|
4
4
|
import { isDefaultPolicy, normalizeRuntime } from "../../runtime-registry.js";
|
|
5
|
-
const importAnalysisCache = new Map();
|
|
6
|
-
// Only resolve relative/absolute-path sources against the importer's URL. Registry refs
|
|
7
|
-
// (std/foo@1.2.3) and absolute URLs (https://, file://) must pass through unchanged so the
|
|
8
|
-
// loader's source chain can dispatch them — otherwise `new URL("std/foo@1", "file:///srv/telo.yaml")`
|
|
9
|
-
// turns a registry ref into a bogus file path and LocalFileSource ENOENTs on it.
|
|
10
|
-
function resolveImportSource(source, baseSource) {
|
|
11
|
-
if (source.startsWith(".") || source.startsWith("/")) {
|
|
12
|
-
return new URL(source, baseSource).toString();
|
|
13
|
-
}
|
|
14
|
-
return source;
|
|
15
|
-
}
|
|
16
5
|
export async function create(resource, ctx) {
|
|
17
6
|
const alias = resource.metadata.name;
|
|
18
7
|
const moduleSource = resource.module ?? resource.source;
|
|
@@ -26,23 +15,32 @@ export async function create(resource, ctx) {
|
|
|
26
15
|
// Validate the imported module and all its transitive imports before loading for runtime.
|
|
27
16
|
// loadManifests() follows Telo.Import chains so definitions from sub-imports are present,
|
|
28
17
|
// preventing false UNDEFINED_KIND errors for kinds that come from the module's own imports.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
18
|
+
//
|
|
19
|
+
// Route URL resolution through the kernel/loader's own helper rather than
|
|
20
|
+
// a hand-rolled `new URL(...).toString()`. For LocalFileSource the
|
|
21
|
+
// outputs match; for any custom `ManifestSource` with a non-trivial
|
|
22
|
+
// `resolveRelative`, only this path produces the canonical URL the
|
|
23
|
+
// loader keyed its caches under — without which fast paths like
|
|
24
|
+
// `isImportValidatedAtLoad` silently miss.
|
|
25
|
+
const resolvedUrl = ctx.resolveImportUrl(base, moduleSource);
|
|
26
|
+
// Fast path: when the kernel's load-time `analyzeErrors` already covered
|
|
27
|
+
// this import's subtree (the common case — every Telo.Import declared in
|
|
28
|
+
// the entry graph is walked by `loadGraph` and validated by
|
|
29
|
+
// `kernel.load`), skip the redundant per-import StaticAnalyzer pass.
|
|
30
|
+
// Falls through to the full analysis for URLs that arrived
|
|
31
|
+
// programmatically after `load()` (e.g. dynamically constructed imports
|
|
32
|
+
// in tests). Two Telo.Imports with the same source but distinct
|
|
33
|
+
// metadata.name would each re-run analysis here — a memoisation hook
|
|
34
|
+
// can be reintroduced if that turns into a measurable cost.
|
|
35
|
+
if (!ctx.isImportValidatedAtLoad(resolvedUrl)) {
|
|
36
|
+
const analysisManifests = await ctx.loadManifests(resolvedUrl);
|
|
38
37
|
const diagnostics = new StaticAnalyzer().analyze(analysisManifests);
|
|
39
|
-
errors = diagnostics
|
|
38
|
+
const errors = diagnostics
|
|
40
39
|
.filter((d) => d.severity === DiagnosticSeverity.Error)
|
|
41
40
|
.map((d) => d.message);
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
throw new RuntimeError("ERR_MANIFEST_VALIDATION_FAILED", errors.join("\n"));
|
|
41
|
+
if (errors.length > 0) {
|
|
42
|
+
throw new RuntimeError("ERR_MANIFEST_VALIDATION_FAILED", errors.join("\n"));
|
|
43
|
+
}
|
|
46
44
|
}
|
|
47
45
|
// Load target module manifests for runtime. Inject variables/secrets as compile context so
|
|
48
46
|
// that ${{ variables.x }} / ${{ secrets.y }} templates in the child module resolve correctly.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-controller.js","sourceRoot":"","sources":["../../../src/controllers/module/import-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"import-controller.js","sourceRoot":"","sources":["../../../src/controllers/module/import-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "object",
|
|
3
|
+
"properties": {
|
|
4
|
+
"metadata": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"name": {
|
|
8
|
+
"type": "string"
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"required": ["name"]
|
|
12
|
+
},
|
|
13
|
+
"imports": {
|
|
14
|
+
"type": "array",
|
|
15
|
+
"items": {
|
|
16
|
+
"type": "string"
|
|
17
|
+
},
|
|
18
|
+
"description": "Paths to other modules to import"
|
|
19
|
+
},
|
|
20
|
+
"definitions": {
|
|
21
|
+
"type": "array",
|
|
22
|
+
"items": {
|
|
23
|
+
"type": "string"
|
|
24
|
+
},
|
|
25
|
+
"description": "Paths to ResourceDefinition files"
|
|
26
|
+
},
|
|
27
|
+
"resources": {
|
|
28
|
+
"type": "array",
|
|
29
|
+
"items": {
|
|
30
|
+
"oneOf": [
|
|
31
|
+
{
|
|
32
|
+
"type": "string"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"type": "object",
|
|
36
|
+
"properties": {
|
|
37
|
+
"path": {
|
|
38
|
+
"type": "string"
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
"description": "Paths to resource instance files to load"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"required": ["metadata"]
|
|
48
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-definition-controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/resource-definition/resource-definition-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,eAAe,EAChB,MAAM,cAAc,CAAC;AAKtB,KAAK,0BAA0B,GAAG,eAAe,GAAG;IAClD,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE;QACR,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"resource-definition-controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/resource-definition/resource-definition-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,eAAe,EAChB,MAAM,cAAc,CAAC;AAKtB,KAAK,0BAA0B,GAAG,eAAe,GAAG;IAClD,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE;QACR,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,cAAM,kBAAmB,YAAW,gBAAgB;IAGtC,QAAQ,CAAC,QAAQ,EAAE,0BAA0B;IAFzD,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAwB;gBAEtC,QAAQ,EAAE,0BAA0B;IAEnD,IAAI,CAAC,GAAG,EAAE,eAAe;CAqChC;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAErD;AAED,wBAAsB,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAW7F;AAED,eAAO,MAAM,MAAM;;;CAGlB,CAAC"}
|
|
@@ -12,6 +12,9 @@ class ResourceDefinition {
|
|
|
12
12
|
}
|
|
13
13
|
async init(ctx) {
|
|
14
14
|
if (!this.resource.controllers?.length) {
|
|
15
|
+
if (this.resource.capability === "Telo.Provider" && this.resource.provide == null) {
|
|
16
|
+
throw new Error(`Telo.Definition '${this.resource.metadata.name}': 'capability: Telo.Provider' requires either 'controllers:' (TS-backed) or 'provide:' (template-backed).`);
|
|
17
|
+
}
|
|
15
18
|
const controllerInstance = createTemplateController(this.resource);
|
|
16
19
|
ctx.registerDefinition(this.resource);
|
|
17
20
|
await ctx.registerController(this.resource.metadata.module, this.resource.metadata.name, controllerInstance);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-definition-controller.js","sourceRoot":"","sources":["../../../src/controllers/resource-definition/resource-definition-controller.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"resource-definition-controller.js","sourceRoot":"","sources":["../../../src/controllers/resource-definition/resource-definition-controller.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAe7E;;;GAGG;AACH,MAAM,kBAAkB;IAGtB,YAAqB,QAAoC;QAApC,aAAQ,GAAR,QAAQ,CAA4B;QAFhD,SAAI,GAAyB,oBAAoB,CAAC;IAEC,CAAC;IAE7D,KAAK,CAAC,IAAI,CAAC,GAAoB;QAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,eAAe,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;gBAClF,MAAM,IAAI,KAAK,CACb,oBAAoB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,4GAA4G,CAC5J,CAAC;YACJ,CAAC;YACD,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;YAC1E,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtC,MAAM,GAAG,CAAC,kBAAkB,CAC1B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAC7B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAC3B,kBAAkB,CACnB,CAAC;YACF,OAAO;QACT,CAAC;QACD,8EAA8E;QAC9E,yEAAyE;QACzE,6EAA6E;QAC7E,4EAA4E;QAC5E,yBAAyB;QACzB,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC;YAClC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;YACxC,QAAQ,EAAE,GAAG,CAAC,WAAW,EAAE;SAC5B,CAAC,CAAC;QACH,MAAM,kBAAkB,GAAG,MAAM,MAAM,CAAC,IAAI,CAC1C,IAAI,CAAC,QAAQ,CAAC,WAAW,EACzB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAC7B,GAAG,CAAC,mBAAmB,EAAE,CAC1B,CAAC;QACF,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,GAAG,CAAC,kBAAkB,CAC1B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAC7B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAC3B,kBAAkB,CACnB,CAAC;IACJ,CAAC;CACF;AAED,MAAM,UAAU,QAAQ,CAAC,GAAsB;IAC7C,oEAAoE;AACtE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,QAAa,EAAE,GAAoB;IAC9D,uDAAuD;IACvD,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,+BAA+B,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,eAAe,CAAC,0BAA0B,CAAC,MAAM,CAAC,EAAE,CAChH,CAAC;IACJ,CAAC;IAED,oDAAoD;IACpD,MAAM,UAAU,GAAG,QAAiD,CAAC;IACrE,OAAO,IAAI,kBAAkB,CAAC,UAAU,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,IAAI;CAC3B,CAAC"}
|
|
@@ -5,8 +5,13 @@ export declare function createTemplateController(definition: {
|
|
|
5
5
|
invoke?: string | {
|
|
6
6
|
kind?: string;
|
|
7
7
|
name: string;
|
|
8
|
-
inputs?: Record<string, any>;
|
|
9
8
|
};
|
|
9
|
+
inputs?: Record<string, any>;
|
|
10
10
|
run?: string;
|
|
11
|
+
provide?: {
|
|
12
|
+
kind: string;
|
|
13
|
+
name: string;
|
|
14
|
+
};
|
|
15
|
+
result?: Record<string, any>;
|
|
11
16
|
}): ControllerInstance;
|
|
12
17
|
//# sourceMappingURL=resource-template-controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-template-controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/resource-definition/resource-template-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAqC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"resource-template-controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/resource-definition/resource-template-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAqC,MAAM,cAAc,CAAC;AAqB1F,wBAAgB,wBAAwB,CAAC,UAAU,EAAE;IACnD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B,GAAG,kBAAkB,CA0MrB"}
|
|
@@ -1,11 +1,28 @@
|
|
|
1
1
|
import { isCompiledValue } from "@telorun/sdk";
|
|
2
|
+
/** Reports the resources: entries available to dispatch against, by expanded
|
|
3
|
+
* name and kind. Used in error messages to guide the developer back to the
|
|
4
|
+
* template's `resources:` array when a dispatch target doesn't match. */
|
|
5
|
+
function describeAvailableTargets(ctx, resources, self) {
|
|
6
|
+
if (!resources || resources.length === 0)
|
|
7
|
+
return "<none>";
|
|
8
|
+
return resources
|
|
9
|
+
.map((r) => {
|
|
10
|
+
const expanded = ctx.moduleContext.expandWith(r?.metadata?.name ?? "", { self });
|
|
11
|
+
const kind = typeof r?.kind === "string" ? r.kind : "<unknown-kind>";
|
|
12
|
+
return `'${expanded || "<unnamed>"}' (${kind})`;
|
|
13
|
+
})
|
|
14
|
+
.join(", ");
|
|
15
|
+
}
|
|
2
16
|
export function createTemplateController(definition) {
|
|
3
17
|
return {
|
|
4
18
|
schema: definition.schema ?? { type: "object", additionalProperties: true },
|
|
5
19
|
create: async (resource, ctx) => {
|
|
6
20
|
const self = { ...resource, name: resource.metadata.name };
|
|
7
|
-
//
|
|
8
|
-
//
|
|
21
|
+
// `invoke` describes the dispatch target: a string name template (legacy
|
|
22
|
+
// shorthand) or an object `{ kind?, name }` for explicit kind-typed
|
|
23
|
+
// dispatch. `inputs:` lives as a sibling on the definition (same shape
|
|
24
|
+
// as Run.Sequence steps) — the values passed to the dispatch target's
|
|
25
|
+
// invoke() after CEL expansion.
|
|
9
26
|
const objectInvoke = definition.invoke !== null &&
|
|
10
27
|
typeof definition.invoke === "object" &&
|
|
11
28
|
!isCompiledValue(definition.invoke)
|
|
@@ -18,13 +35,18 @@ export function createTemplateController(definition) {
|
|
|
18
35
|
const runTarget = definition.run
|
|
19
36
|
? ctx.moduleContext.expandWith(definition.run, { self })
|
|
20
37
|
: null;
|
|
38
|
+
const provideTarget = definition.provide?.name
|
|
39
|
+
? ctx.moduleContext.expandWith(definition.provide.name, { self })
|
|
40
|
+
: null;
|
|
21
41
|
const persistentManifests = [];
|
|
22
42
|
let ephemeralTemplate = null;
|
|
23
43
|
for (const template of definition.resources ?? []) {
|
|
24
44
|
const expandedName = ctx.moduleContext.expandWith(template.metadata?.name ?? "", {
|
|
25
45
|
self,
|
|
26
46
|
});
|
|
27
|
-
const isTarget = expandedName === invokeTarget ||
|
|
47
|
+
const isTarget = expandedName === invokeTarget ||
|
|
48
|
+
expandedName === runTarget ||
|
|
49
|
+
expandedName === provideTarget;
|
|
28
50
|
if (isTarget) {
|
|
29
51
|
ephemeralTemplate = template;
|
|
30
52
|
}
|
|
@@ -67,41 +89,85 @@ export function createTemplateController(definition) {
|
|
|
67
89
|
...(invokeTarget && {
|
|
68
90
|
invoke: async (inputs) => {
|
|
69
91
|
if (!ephemeralTemplate) {
|
|
70
|
-
throw new Error(`Template '${resource.metadata.name}':
|
|
92
|
+
throw new Error(`Template '${resource.metadata.name}': 'invoke:' targets '${invokeTarget}' ` +
|
|
93
|
+
`but no entry in 'resources:' has that metadata.name. Available: ${describeAvailableTargets(ctx, definition.resources, self)}.`);
|
|
71
94
|
}
|
|
72
95
|
const extraContext = { self, inputs };
|
|
73
96
|
const expanded = ctx.moduleContext.expandWith(ctx.moduleContext.expandWith(ephemeralTemplate, extraContext), extraContext);
|
|
74
97
|
return withEphemeral(expanded, async (name) => {
|
|
75
98
|
const entry = ctx.moduleContext.resourceInstances.get(name);
|
|
76
99
|
if (!entry?.instance?.invoke) {
|
|
77
|
-
|
|
100
|
+
const targetKind = (entry?.resource?.kind ?? expanded?.kind ?? "<unknown-kind>");
|
|
101
|
+
const targetDef = ctx.moduleContext.getDefinition?.(targetKind);
|
|
102
|
+
const actualCap = typeof targetDef?.capability === "string" ? targetDef.capability : "<unknown>";
|
|
103
|
+
throw new Error(`Template '${resource.metadata.name}': 'invoke:' target '${targetKind}/${invokeTarget}' ` +
|
|
104
|
+
`has capability '${actualCap}', not Telo.Invocable. Update 'invoke:' to a Telo.Invocable kind, or change the target's kind in 'resources:'.`);
|
|
78
105
|
}
|
|
79
|
-
//
|
|
80
|
-
//
|
|
81
|
-
//
|
|
82
|
-
|
|
83
|
-
|
|
106
|
+
// Top-level `inputs:` (sibling of `invoke:`) carries the values passed
|
|
107
|
+
// to the dispatch target's invoke(). When absent, fall back to the
|
|
108
|
+
// expanded resource entry's own `inputs` field (legacy string-form
|
|
109
|
+
// shape where the inputs live on the resource declaration), then
|
|
110
|
+
// finally to the caller's `inputs` arg.
|
|
111
|
+
const invokeInputs = definition.inputs != null
|
|
112
|
+
? ctx.moduleContext.expandWith(ctx.moduleContext.expandWith(definition.inputs, extraContext), extraContext)
|
|
84
113
|
: expanded.inputs ?? inputs;
|
|
85
|
-
|
|
114
|
+
const raw = await entry.instance.invoke(invokeInputs);
|
|
115
|
+
if (definition.result == null)
|
|
116
|
+
return raw;
|
|
117
|
+
const resultContext = { self, result: raw };
|
|
118
|
+
return ctx.moduleContext.expandWith(ctx.moduleContext.expandWith(definition.result, resultContext), resultContext);
|
|
86
119
|
});
|
|
87
120
|
},
|
|
88
121
|
}),
|
|
89
122
|
...(runTarget && {
|
|
90
123
|
run: async () => {
|
|
91
124
|
if (!ephemeralTemplate) {
|
|
92
|
-
throw new Error(`Template '${resource.metadata.name}':
|
|
125
|
+
throw new Error(`Template '${resource.metadata.name}': 'run:' targets '${runTarget}' ` +
|
|
126
|
+
`but no entry in 'resources:' has that metadata.name. Available: ${describeAvailableTargets(ctx, definition.resources, self)}.`);
|
|
93
127
|
}
|
|
94
128
|
const extraContext = { self };
|
|
95
129
|
const expanded = ctx.moduleContext.expandWith(ctx.moduleContext.expandWith(ephemeralTemplate, extraContext), extraContext);
|
|
96
130
|
return withEphemeral(expanded, async (name) => {
|
|
97
131
|
const entry = ctx.moduleContext.resourceInstances.get(name);
|
|
98
132
|
if (!entry?.instance?.run) {
|
|
99
|
-
|
|
133
|
+
const targetKind = (entry?.resource?.kind ?? expanded?.kind ?? "<unknown-kind>");
|
|
134
|
+
const targetDef = ctx.moduleContext.getDefinition?.(targetKind);
|
|
135
|
+
const actualCap = typeof targetDef?.capability === "string" ? targetDef.capability : "<unknown>";
|
|
136
|
+
throw new Error(`Template '${resource.metadata.name}': 'run:' target '${targetKind}/${runTarget}' ` +
|
|
137
|
+
`has capability '${actualCap}', not Telo.Runnable. Update 'run:' to a Telo.Runnable kind, or change the target's kind in 'resources:'.`);
|
|
100
138
|
}
|
|
101
139
|
return entry.instance.run();
|
|
102
140
|
});
|
|
103
141
|
},
|
|
104
142
|
}),
|
|
143
|
+
...(provideTarget && {
|
|
144
|
+
provide: async () => {
|
|
145
|
+
if (!ephemeralTemplate) {
|
|
146
|
+
throw new Error(`Template '${resource.metadata.name}': 'provide:' targets '${provideTarget}' ` +
|
|
147
|
+
`but no entry in 'resources:' has that metadata.name. Available: ${describeAvailableTargets(ctx, definition.resources, self)}.`);
|
|
148
|
+
}
|
|
149
|
+
const extraContext = { self };
|
|
150
|
+
const expanded = ctx.moduleContext.expandWith(ctx.moduleContext.expandWith(ephemeralTemplate, extraContext), extraContext);
|
|
151
|
+
return withEphemeral(expanded, async (name) => {
|
|
152
|
+
const entry = ctx.moduleContext.resourceInstances.get(name);
|
|
153
|
+
if (!entry?.instance?.invoke) {
|
|
154
|
+
const targetKind = (entry?.resource?.kind ?? expanded?.kind ?? "<unknown-kind>");
|
|
155
|
+
const targetDef = ctx.moduleContext.getDefinition?.(targetKind);
|
|
156
|
+
const actualCap = typeof targetDef?.capability === "string" ? targetDef.capability : "<unknown>";
|
|
157
|
+
throw new Error(`Template '${resource.metadata.name}': 'provide:' target '${targetKind}/${provideTarget}' ` +
|
|
158
|
+
`has capability '${actualCap}', not Telo.Invocable. Update 'provide:' to a Telo.Invocable kind, or change the target's kind in 'resources:'.`);
|
|
159
|
+
}
|
|
160
|
+
const provideInputs = definition.inputs != null
|
|
161
|
+
? ctx.moduleContext.expandWith(ctx.moduleContext.expandWith(definition.inputs, extraContext), extraContext)
|
|
162
|
+
: {};
|
|
163
|
+
const raw = await entry.instance.invoke(provideInputs);
|
|
164
|
+
if (definition.result == null)
|
|
165
|
+
return raw;
|
|
166
|
+
const resultContext = { self, result: raw };
|
|
167
|
+
return ctx.moduleContext.expandWith(ctx.moduleContext.expandWith(definition.result, resultContext), resultContext);
|
|
168
|
+
});
|
|
169
|
+
},
|
|
170
|
+
}),
|
|
105
171
|
teardown: async () => {
|
|
106
172
|
await childContext.teardownResources();
|
|
107
173
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-template-controller.js","sourceRoot":"","sources":["../../../src/controllers/resource-definition/resource-template-controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,UAAU,wBAAwB,CAAC,
|
|
1
|
+
{"version":3,"file":"resource-template-controller.js","sourceRoot":"","sources":["../../../src/controllers/resource-definition/resource-template-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ResourceContext } from "@telorun/sdk";
|
|
2
|
+
/**
|
|
3
|
+
* Context interface used by built-in kernel controllers (Telo.Application /
|
|
4
|
+
* Telo.Library / Telo.Import / Telo.Definition / Telo.Abstract) that need
|
|
5
|
+
* privileged access to load-time graph identity. These methods are
|
|
6
|
+
* intentionally *not* on the public `ResourceContext` exposed to module
|
|
7
|
+
* authors — they couple the caller to the kernel's load-time view of the
|
|
8
|
+
* world, and the import-controller is the only consumer today.
|
|
9
|
+
*
|
|
10
|
+
* `ResourceContextImpl` in this package implements both interfaces, so a
|
|
11
|
+
* controller authored against this type still works under the generic
|
|
12
|
+
* `controller.create(resource, ctx)` dispatch — the kernel just types it
|
|
13
|
+
* locally as `BuiltinControllerContext` instead of `ResourceContext`.
|
|
14
|
+
*/
|
|
15
|
+
export interface BuiltinControllerContext extends ResourceContext {
|
|
16
|
+
/** True when `url` resolved (via the loader's URL → canonical-source
|
|
17
|
+
* map) to a module that was part of the entry graph successfully
|
|
18
|
+
* analyzed during `Kernel.load()`. */
|
|
19
|
+
isImportValidatedAtLoad(url: string): boolean;
|
|
20
|
+
/** Resolve `importSource` against `fromSource` through the loader's
|
|
21
|
+
* source-chain `resolveRelative`. Identical to what `loadGraph` used
|
|
22
|
+
* internally — so the produced URL agrees with the loader's caches. */
|
|
23
|
+
resolveImportUrl(fromSource: string, importSource: string): string;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=internal-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal-context.d.ts","sourceRoot":"","sources":["../src/internal-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAC/D;;2CAEuC;IACvC,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9C;;4EAEwE;IACxE,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;CACpE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal-context.js","sourceRoot":"","sources":["../src/internal-context.ts"],"names":[],"mappings":""}
|
package/dist/kernel.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AnalysisRegistry, type ManifestSource } from "@telorun/analyzer";
|
|
1
|
+
import { AnalysisRegistry, type LoadedGraph, type ManifestSource } from "@telorun/analyzer";
|
|
2
2
|
import { Kernel as IKernel, ResourceDefinition, ResourceManifest, RuntimeEvent, type LoadOptions } from "@telorun/sdk";
|
|
3
3
|
import { EventStream } from "./event-stream.js";
|
|
4
4
|
export interface KernelOptions {
|
|
@@ -31,6 +31,7 @@ export declare class Kernel implements IKernel {
|
|
|
31
31
|
private rootContext;
|
|
32
32
|
private staticManifests;
|
|
33
33
|
private _entryUrl?;
|
|
34
|
+
private _loadedGraph?;
|
|
34
35
|
private _bootCalled;
|
|
35
36
|
private _isBooted;
|
|
36
37
|
private _targetsRan;
|
|
@@ -53,6 +54,25 @@ export declare class Kernel implements IKernel {
|
|
|
53
54
|
* Pass to StaticAnalyzer.analyze() for incremental validation of new manifests against
|
|
54
55
|
* already-registered types (e.g. front-end editor validating a manifest before submitting). */
|
|
55
56
|
getAnalysisRegistry(): AnalysisRegistry;
|
|
57
|
+
/** The full LoadedGraph captured during `load()`. Used by the CLI to
|
|
58
|
+
* feed `writeManifestCache` so a successful `telo run` populates
|
|
59
|
+
* `<entry-dir>/.telo/manifests/` for subsequent runs — the same on-disk
|
|
60
|
+
* layout `telo install` writes. Undefined before `load()` has been
|
|
61
|
+
* called or if it threw before the graph was captured. */
|
|
62
|
+
getLoadedGraph(): LoadedGraph | undefined;
|
|
63
|
+
/** True when `url` resolves (via the loader's URL → canonical-source map)
|
|
64
|
+
* to a module that was already part of the entry graph successfully
|
|
65
|
+
* analyzed during `load()`. The import-controller uses it to skip its
|
|
66
|
+
* per-import `analyze()` pass when the kernel's load-time validation
|
|
67
|
+
* already covered the same subtree. */
|
|
68
|
+
isImportValidatedAtLoad(url: string): boolean;
|
|
69
|
+
/** Resolve a `Telo.Import.source` against the importing file's URL
|
|
70
|
+
* through the same source-chain `resolveRelative` the loader used at
|
|
71
|
+
* graph-walk time. The import-controller routes through here so its
|
|
72
|
+
* `resolveImportSource` no longer second-guesses the loader for
|
|
73
|
+
* custom `ManifestSource`s — `isImportValidatedAtLoad` etc. only hit
|
|
74
|
+
* when both sides agree on the canonical URL. */
|
|
75
|
+
resolveImportUrl(fromSource: string, importSource: string): string;
|
|
56
76
|
/**
|
|
57
77
|
* Load built-in Runtime definitions (e.g., Telo.Application, Telo.Library).
|
|
58
78
|
* Also declares all known module namespaces upfront so that resources can be
|
package/dist/kernel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAMhB,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAGL,MAAM,IAAI,OAAO,EAGjB,kBAAkB,EAElB,gBAAgB,EAEhB,YAAY,EAGZ,KAAK,WAAW,EAEjB,MAAM,cAAc,CAAC;AAItB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"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"}
|