@telorun/kernel 0.2.5 → 0.2.6
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/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/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/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/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/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/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/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/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/controller-loader.d.ts.map +1 -1
- package/dist/controller-loader.js +2 -1
- package/dist/controller-loader.js.map +1 -1
- package/dist/controller-registry.d.ts +0 -4
- package/dist/controller-registry.d.ts.map +1 -1
- package/dist/controller-registry.js +11 -22
- package/dist/controller-registry.js.map +1 -1
- package/dist/controllers/capability/capability-controller.d.ts +0 -5
- package/dist/controllers/capability/capability-controller.d.ts.map +1 -1
- package/dist/controllers/capability/capability-controller.js +1 -5
- package/dist/controllers/capability/capability-controller.js.map +1 -1
- package/dist/controllers/module/import-controller.d.ts +0 -3
- package/dist/controllers/module/import-controller.d.ts.map +1 -1
- package/dist/controllers/module/import-controller.js +21 -27
- package/dist/controllers/module/import-controller.js.map +1 -1
- package/dist/controllers/module/module-controller.d.ts +0 -59
- package/dist/controllers/module/module-controller.d.ts.map +1 -1
- package/dist/controllers/module/module-controller.js +0 -45
- package/dist/controllers/module/module-controller.js.map +1 -1
- package/dist/controllers/resource-definition/resource-definition-controller.d.ts +3 -4
- package/dist/controllers/resource-definition/resource-definition-controller.d.ts.map +1 -1
- package/dist/controllers/resource-definition/resource-definition-controller.js +6 -8
- package/dist/controllers/resource-definition/resource-definition-controller.js.map +1 -1
- package/dist/controllers/resource-definition/resource-template-controller.d.ts +12 -0
- package/dist/controllers/resource-definition/resource-template-controller.d.ts.map +1 -0
- package/dist/controllers/resource-definition/resource-template-controller.js +112 -0
- package/dist/controllers/resource-definition/resource-template-controller.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/kernel.d.ts +21 -24
- package/dist/kernel.d.ts.map +1 -1
- package/dist/kernel.js +254 -189
- package/dist/kernel.js.map +1 -1
- package/dist/loader.d.ts +9 -8
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +50 -132
- package/dist/loader.js.map +1 -1
- package/dist/manifest-adapters/http-adapter.d.ts.map +1 -1
- package/dist/manifest-adapters/http-adapter.js +3 -1
- package/dist/manifest-adapters/http-adapter.js.map +1 -1
- package/dist/manifest-adapters/local-file-adapter.d.ts +7 -5
- package/dist/manifest-adapters/local-file-adapter.d.ts.map +1 -1
- package/dist/manifest-adapters/local-file-adapter.js +21 -26
- package/dist/manifest-adapters/local-file-adapter.js.map +1 -1
- package/dist/manifest-adapters/manifest-adapter.d.ts +2 -0
- package/dist/manifest-adapters/manifest-adapter.d.ts.map +1 -1
- package/dist/manifest-adapters/registry-adapter.d.ts.map +1 -1
- package/dist/manifest-adapters/registry-adapter.js +3 -1
- package/dist/manifest-adapters/registry-adapter.js.map +1 -1
- package/dist/manifest-schemas.d.ts +61 -25
- package/dist/manifest-schemas.d.ts.map +1 -1
- package/dist/manifest-schemas.js +56 -16
- package/dist/manifest-schemas.js.map +1 -1
- package/dist/resource-context.d.ts +2 -5
- package/dist/resource-context.d.ts.map +1 -1
- package/dist/resource-context.js +31 -21
- package/dist/resource-context.js.map +1 -1
- package/dist/schema-valiator.d.ts.map +1 -1
- package/dist/schema-valiator.js +13 -2
- package/dist/schema-valiator.js.map +1 -1
- package/package.json +6 -7
- package/src/controller-loader.ts +2 -1
- package/src/controller-registry.ts +11 -26
- package/src/controllers/module/import-controller.ts +30 -30
- package/src/controllers/module/module-controller.ts +0 -51
- package/src/controllers/resource-definition/resource-definition-controller.ts +14 -15
- package/src/controllers/resource-definition/resource-template-controller.ts +138 -0
- package/src/index.ts +1 -1
- package/src/kernel.ts +313 -224
- package/src/loader.ts +54 -165
- package/src/manifest-adapters/local-file-adapter.ts +24 -31
- package/src/manifest-adapters/manifest-adapter.ts +2 -0
- package/src/manifest-schemas.ts +60 -24
- package/src/resource-context.ts +31 -30
- package/src/schema-valiator.ts +14 -3
- package/src/capabilities/component.yaml +0 -4
- package/src/capabilities/executable.yaml +0 -8
- package/src/capabilities/handler.yaml +0 -4
- package/src/capabilities/listener.yaml +0 -4
- package/src/capabilities/provider.yaml +0 -4
- package/src/capabilities/template.yaml +0 -4
- package/src/capabilities/type.yaml +0 -4
- package/src/controllers/capability/capability-controller.ts +0 -41
- package/src/controllers/module/module.json +0 -48
- package/src/controllers/module/module.yaml +0 -32
- package/src/manifest-adapters/http-adapter.ts +0 -35
- package/src/manifest-adapters/registry-adapter.ts +0 -56
package/dist/kernel.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AnalysisRegistry, StaticAnalyzer } from "@telorun/analyzer";
|
|
2
|
+
import { ModuleContext, RuntimeError, isCompiledValue, } from "@telorun/sdk";
|
|
2
3
|
import * as path from "path";
|
|
3
4
|
import { ControllerRegistry } from "./controller-registry.js";
|
|
4
5
|
import { EventStream } from "./event-stream.js";
|
|
@@ -13,6 +14,8 @@ import { SchemaValidator } from "./schema-valiator.js";
|
|
|
13
14
|
export class Kernel {
|
|
14
15
|
constructor() {
|
|
15
16
|
this.loader = new Loader();
|
|
17
|
+
this.analyzer = new StaticAnalyzer();
|
|
18
|
+
this.registry = new AnalysisRegistry();
|
|
16
19
|
// private manifests: ManifestRegistry = new ManifestRegistry();
|
|
17
20
|
this.controllers = new ControllerRegistry();
|
|
18
21
|
this.eventBus = new EventBus();
|
|
@@ -23,28 +26,14 @@ export class Kernel {
|
|
|
23
26
|
// string,
|
|
24
27
|
// { resource: ResourceManifest; instance: ResourceInstance }
|
|
25
28
|
// > = new Map();
|
|
26
|
-
this.resourceEventBuses = new Map();
|
|
27
29
|
this.holdCount = 0;
|
|
28
30
|
this.idleResolvers = [];
|
|
29
31
|
this._exitCode = 0;
|
|
30
32
|
// private bootContextRegistry = new BootContextRegistry();
|
|
31
33
|
this.sharedSchemaValidator = new SchemaValidator();
|
|
34
|
+
this.staticManifests = [];
|
|
32
35
|
this.setupEventStreaming();
|
|
33
36
|
}
|
|
34
|
-
// async teardownResource(module: string, kind: string, name: string): Promise<void> {
|
|
35
|
-
// const key = this.getResourceKey(module, kind, name);
|
|
36
|
-
// const entry = this.resourceInstances.get(key);
|
|
37
|
-
// if (!entry) return;
|
|
38
|
-
// const { resource, instance } = entry;
|
|
39
|
-
// if (instance.teardown) {
|
|
40
|
-
// await instance.teardown();
|
|
41
|
-
// }
|
|
42
|
-
// await this.eventBus.emit(`${resource.kind}.${resource.metadata.name}.Teardown`, {
|
|
43
|
-
// resource: { kind: resource.kind, name: resource.metadata.name },
|
|
44
|
-
// });
|
|
45
|
-
// // this.resourceInstances.delete(key);
|
|
46
|
-
// this.resourceEventBuses.delete(key);
|
|
47
|
-
// }
|
|
48
37
|
async registerController(moduleName, kindName, controllerInstance) {
|
|
49
38
|
this.controllers.registerController(`${moduleName}.${kindName}`, controllerInstance);
|
|
50
39
|
await controllerInstance.register?.(this.createControllerContext(`${moduleName}.${kindName}`));
|
|
@@ -54,9 +43,7 @@ export class Kernel {
|
|
|
54
43
|
*/
|
|
55
44
|
registerResourceDefinition(definition) {
|
|
56
45
|
this.controllers.registerDefinition(definition);
|
|
57
|
-
|
|
58
|
-
registerCapability(name, schema) {
|
|
59
|
-
this.controllers.registerCapability(name, schema);
|
|
46
|
+
this.registry.registerDefinition(definition);
|
|
60
47
|
}
|
|
61
48
|
getModuleContext(_moduleName) {
|
|
62
49
|
return this.rootContext;
|
|
@@ -66,12 +53,13 @@ export class Kernel {
|
|
|
66
53
|
}
|
|
67
54
|
registerModuleImport(_declaringModule, alias, targetModule, kinds) {
|
|
68
55
|
this.rootContext.registerImport(alias, targetModule, kinds);
|
|
56
|
+
this.registry.registerImport(alias, targetModule, kinds);
|
|
69
57
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
return this.
|
|
58
|
+
/** Returns the live analysis registry backed by this kernel's known definitions and aliases.
|
|
59
|
+
* Pass to StaticAnalyzer.analyze() for incremental validation of new manifests against
|
|
60
|
+
* already-registered types (e.g. front-end editor validating a manifest before submitting). */
|
|
61
|
+
getAnalysisRegistry() {
|
|
62
|
+
return this.registry;
|
|
75
63
|
}
|
|
76
64
|
/**
|
|
77
65
|
* Load built-in Runtime definitions (e.g., Kernel.Module)
|
|
@@ -83,52 +71,58 @@ export class Kernel {
|
|
|
83
71
|
// Declare built-in module namespaces upfront so getContext() can distinguish
|
|
84
72
|
// "not yet populated" from a completely unknown module name.
|
|
85
73
|
this.rootContext.registerImport("Kernel", "Kernel", []); // built-ins, unrestricted
|
|
86
|
-
//
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
capabilities: ["template"],
|
|
91
|
-
schema: { type: "object" },
|
|
92
|
-
});
|
|
74
|
+
// Register built-in definitions with the controller registry.
|
|
75
|
+
// AnalysisRegistry's underlying DefinitionRegistry already seeds KERNEL_BUILTINS on construction.
|
|
76
|
+
for (const def of this.registry.builtinDefinitions())
|
|
77
|
+
this.controllers.registerDefinition(def);
|
|
93
78
|
this.controllers.registerController("Kernel.Definition", await import("./controllers/resource-definition/resource-definition-controller.js"));
|
|
94
|
-
this.controllers.registerDefinition({
|
|
95
|
-
kind: "Kernel.Definition",
|
|
96
|
-
metadata: { name: "Module", module: "Kernel" },
|
|
97
|
-
capabilities: ["template"],
|
|
98
|
-
schema: { type: "object" },
|
|
99
|
-
});
|
|
100
79
|
this.controllers.registerController("Kernel.Module", await import("./controllers/module/module-controller.js"));
|
|
101
|
-
this.controllers.registerDefinition({
|
|
102
|
-
kind: "Kernel.Definition",
|
|
103
|
-
metadata: { name: "Import", module: "Kernel" },
|
|
104
|
-
capabilities: ["template"],
|
|
105
|
-
schema: { type: "object" },
|
|
106
|
-
});
|
|
107
80
|
this.controllers.registerController("Kernel.Import", await import("./controllers/module/import-controller.js"));
|
|
108
|
-
this.controllers.registerDefinition({
|
|
109
|
-
kind: "Kernel.Definition",
|
|
110
|
-
metadata: { name: "Capability", module: "Kernel" },
|
|
111
|
-
capabilities: ["template"],
|
|
112
|
-
schema: { type: "object" },
|
|
113
|
-
});
|
|
114
|
-
this.controllers.registerController("Kernel.Capability", await import("./controllers/capability/capability-controller.js"));
|
|
115
81
|
}
|
|
116
82
|
/**
|
|
117
83
|
* Load from runtime configuration file
|
|
118
84
|
*/
|
|
119
85
|
async loadFromConfig(runtimeYamlPath) {
|
|
120
|
-
|
|
86
|
+
// Resolve directory paths to their module.yaml so that relative imports
|
|
87
|
+
// (e.g. ../../modules/foo) use the correct base directory.
|
|
88
|
+
const sourceUrl = await this.loader.resolveEntryPoint(new URL(runtimeYamlPath, `file://${process.cwd()}/`).href);
|
|
89
|
+
this.rootContext = new ModuleContext(sourceUrl, {}, {}, {}, [], this._createInstance.bind(this), (event, payload) => this.eventBus.emit(event, payload), process.env);
|
|
121
90
|
// Initialize built-in Runtime definitions first
|
|
122
91
|
await this.loadBuiltinDefinitions();
|
|
123
|
-
//
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
const
|
|
92
|
+
// Phase 5: attach injection hook — fires between create() and init() for every resource
|
|
93
|
+
this.rootContext.preInitHook = (resource, getInstance) => this._injectDependencies(resource, getInstance);
|
|
94
|
+
// Static analysis pre-flight: validates schemas and invocation context compatibility.
|
|
95
|
+
// All errors are fatal — kernel does not start if analysis fails.
|
|
96
|
+
const staticManifests = await this.loader.loadManifests(sourceUrl);
|
|
97
|
+
this.staticManifests = staticManifests;
|
|
98
|
+
// Register module identities for x-telo-ref resolution (Phase 3 prerequisite).
|
|
99
|
+
// Kernel built-ins ("kernel" → "Kernel") are auto-registered when Kernel.Abstract
|
|
100
|
+
// definitions are registered in loadBuiltinDefinitions() above.
|
|
101
|
+
for (const m of staticManifests) {
|
|
102
|
+
if (m.kind === "Kernel.Module" && m.metadata?.name && m.metadata?.namespace) {
|
|
103
|
+
this.registry.registerModuleIdentity(m.metadata.namespace, m.metadata.name);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
const errors = this.analyzer.analyzeErrors(staticManifests, {}, this.registry);
|
|
107
|
+
if (errors.length > 0) {
|
|
108
|
+
throw new RuntimeError("ERR_MANIFEST_VALIDATION_FAILED", "Manifest validation failed", errors.map((d) => ({
|
|
109
|
+
severity: "error",
|
|
110
|
+
message: d.message,
|
|
111
|
+
code: d.code !== undefined ? String(d.code) : undefined,
|
|
112
|
+
resource: d.data?.resource
|
|
113
|
+
? `${d.data.resource.kind}.${d.data.resource.name}`
|
|
114
|
+
: undefined,
|
|
115
|
+
})));
|
|
116
|
+
}
|
|
128
117
|
// Load runtime configuration — root module gets access to host env
|
|
129
|
-
const
|
|
130
|
-
|
|
131
|
-
|
|
118
|
+
const allManifests = await this.loader.loadModule(sourceUrl, { compile: true });
|
|
119
|
+
// Phase 2: normalize inline resources — extract inline values from x-telo-ref slots
|
|
120
|
+
// into first-class named manifests and replace them in-place with {kind, name} references.
|
|
121
|
+
// Update staticManifests so Phase 3 (validateReferences) and Phase 4 (DAG) see
|
|
122
|
+
// the same normalized structure.
|
|
123
|
+
const normalizedManifests = this.analyzer.normalize(allManifests, this.registry);
|
|
124
|
+
this.staticManifests = normalizedManifests;
|
|
125
|
+
for (const manifest of normalizedManifests) {
|
|
132
126
|
if (manifest.kind === "Kernel.Module") {
|
|
133
127
|
this.rootContext.setSecrets(manifest.secrets ?? {});
|
|
134
128
|
this.rootContext.setVariables(manifest.variables ?? {});
|
|
@@ -156,6 +150,26 @@ export class Kernel {
|
|
|
156
150
|
await controller.register(this.createControllerContext(`controller:${kind}`));
|
|
157
151
|
}
|
|
158
152
|
}
|
|
153
|
+
// Phase 3+4: reference validation, cycle detection, and topo sort
|
|
154
|
+
const { diagnostics: refErrors, order, cycleError, } = this.analyzer.prepare(this.staticManifests, this.registry);
|
|
155
|
+
if (refErrors.length > 0) {
|
|
156
|
+
throw new RuntimeError("ERR_MANIFEST_VALIDATION_FAILED", "Manifest validation failed", refErrors.map((d) => ({
|
|
157
|
+
severity: "error",
|
|
158
|
+
message: d.message,
|
|
159
|
+
code: d.code !== undefined ? String(d.code) : undefined,
|
|
160
|
+
resource: d.data?.resource
|
|
161
|
+
? `${d.data.resource.kind}.${d.data.resource.name}`
|
|
162
|
+
: undefined,
|
|
163
|
+
})));
|
|
164
|
+
}
|
|
165
|
+
if (cycleError) {
|
|
166
|
+
throw new RuntimeError("ERR_CIRCULAR_DEPENDENCY", cycleError);
|
|
167
|
+
}
|
|
168
|
+
// Phase 5: sort pending resources into topo order so injection always finds
|
|
169
|
+
// initialized dependencies, then run the init loop.
|
|
170
|
+
if (order) {
|
|
171
|
+
this.rootContext.setInitOrder(order);
|
|
172
|
+
}
|
|
159
173
|
// Initialize resources
|
|
160
174
|
try {
|
|
161
175
|
await this.rootContext.initializeResources();
|
|
@@ -171,13 +185,6 @@ export class Kernel {
|
|
|
171
185
|
await this.eventBus.emit("Kernel.Stopped", { exitCode: this._exitCode });
|
|
172
186
|
}
|
|
173
187
|
}
|
|
174
|
-
// async runInstances(): Promise<void> {
|
|
175
|
-
// for (const { instance } of this.resourceInstances.values()) {
|
|
176
|
-
// if (instance.run) {
|
|
177
|
-
// await instance.run();
|
|
178
|
-
// }
|
|
179
|
-
// }
|
|
180
|
-
// }
|
|
181
188
|
async emitRuntimeEvent(event, payload) {
|
|
182
189
|
await this.eventBus.emit(event, payload);
|
|
183
190
|
}
|
|
@@ -245,7 +252,7 @@ export class Kernel {
|
|
|
245
252
|
void this.eventBus.emit(namespaced, payload);
|
|
246
253
|
},
|
|
247
254
|
acquireHold: (reason) => this.acquireHold(reason),
|
|
248
|
-
expandValue: (value, context) => this.rootContext.
|
|
255
|
+
expandValue: (value, context) => this.rootContext.expandWith(value, context),
|
|
249
256
|
requestExit: (code) => this.requestExit(code),
|
|
250
257
|
};
|
|
251
258
|
}
|
|
@@ -253,10 +260,10 @@ export class Kernel {
|
|
|
253
260
|
return new ResourceContextImpl(this, moduleContext, resource.metadata, this.sharedSchemaValidator);
|
|
254
261
|
}
|
|
255
262
|
/**
|
|
256
|
-
* Create
|
|
257
|
-
*
|
|
258
|
-
*
|
|
259
|
-
*
|
|
263
|
+
* Create phase only: resolves the controller, validates the schema, and calls
|
|
264
|
+
* controller.create(). Returns { instance, ctx } so initializeResources can
|
|
265
|
+
* run init() separately in its second phase. Returns null when the controller
|
|
266
|
+
* is not yet registered (retry signal).
|
|
260
267
|
*/
|
|
261
268
|
async _createInstance(evalContext, resource) {
|
|
262
269
|
const kind = resource.kind;
|
|
@@ -274,134 +281,64 @@ export class Kernel {
|
|
|
274
281
|
if (!controller.schema?.type) {
|
|
275
282
|
throw new Error(`No schema defined for ${kind} controller`);
|
|
276
283
|
}
|
|
284
|
+
// Resolve eval paths from x-telo-eval annotations in the parent and own schema
|
|
285
|
+
const definition = this.controllers.getDefinition(resolvedKind);
|
|
286
|
+
const parentDef = definition?.capability
|
|
287
|
+
? this.controllers.getDefinition(definition.capability)
|
|
288
|
+
: undefined;
|
|
289
|
+
const parentEval = parentDef?.schema
|
|
290
|
+
? buildEvalPaths(parentDef.schema)
|
|
291
|
+
: { compile: [], runtime: [] };
|
|
292
|
+
const ownEval = definition?.schema
|
|
293
|
+
? buildEvalPaths(definition.schema)
|
|
294
|
+
: { compile: [], runtime: [] };
|
|
295
|
+
const compile = [...parentEval.compile, ...ownEval.compile];
|
|
296
|
+
const runtime = [...parentEval.runtime, ...ownEval.runtime];
|
|
297
|
+
// Schema validation runs before CEL evaluation so it sees the original manifest
|
|
298
|
+
// shape. CompiledValue wrappers (from load-time precompilation) are stripped,
|
|
299
|
+
// restoring the pre-CEL string view that the schema expects.
|
|
277
300
|
try {
|
|
278
|
-
this.sharedSchemaValidator
|
|
301
|
+
this.sharedSchemaValidator
|
|
302
|
+
.compile(controller.schema)
|
|
303
|
+
.validate(stripCompiledValues(resource, controller.schema));
|
|
279
304
|
}
|
|
280
305
|
catch (error) {
|
|
281
306
|
throw new RuntimeError("ERR_RESOURCE_SCHEMA_VALIDATION_FAILED", `Resource does not match schema for kind ${kind}: ${error instanceof Error ? error.message : String(error)}`);
|
|
282
307
|
}
|
|
283
|
-
|
|
284
|
-
const
|
|
308
|
+
// Expand compile-time CEL fields before passing to the controller.
|
|
309
|
+
const processedResource = compile.length
|
|
310
|
+
? evalContext.expandPaths(resource, compile, runtime)
|
|
311
|
+
: resource;
|
|
312
|
+
const ctx = this.createResourceContext(evalContext, processedResource);
|
|
313
|
+
const instance = await controller.create(processedResource, ctx);
|
|
285
314
|
if (!instance)
|
|
286
315
|
return null;
|
|
287
|
-
if (
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
// }
|
|
298
|
-
if (instance.snapshot) {
|
|
299
|
-
const snap = await Promise.resolve(instance.snapshot()).catch(() => ({}));
|
|
300
|
-
if (evalContext instanceof ModuleContext) {
|
|
301
|
-
evalContext.setResource(resource.metadata.name, snap ?? {});
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
return instance;
|
|
305
|
-
}
|
|
306
|
-
/**
|
|
307
|
-
* Tear down all resource instances owned by a dynamically-spawned context,
|
|
308
|
-
* cascading depth-first through its children. Removes entries from both
|
|
309
|
-
* ctx.resourceInstances and the Kernel-level resourceInstances map, and
|
|
310
|
-
* emits Teardown events (matching the behaviour of teardownResource()).
|
|
311
|
-
*/
|
|
312
|
-
async teardownContext(ctx) {
|
|
313
|
-
for (const child of [...ctx.children].reverse()) {
|
|
314
|
-
await this.teardownContext(child);
|
|
315
|
-
}
|
|
316
|
-
const entries = [...ctx.resourceInstances.entries()].reverse();
|
|
317
|
-
for (const [key, { resource, instance }] of entries) {
|
|
318
|
-
if (instance.teardown)
|
|
319
|
-
await instance.teardown();
|
|
320
|
-
await this.eventBus.emit(`${resource.kind}.${resource.metadata.name}.Teardown`, {
|
|
321
|
-
resource: { kind: resource.kind, name: resource.metadata.name },
|
|
322
|
-
});
|
|
323
|
-
// this.resourceInstances.delete(key);
|
|
324
|
-
ctx.resourceInstances.delete(key);
|
|
325
|
-
this.resourceEventBuses.delete(key);
|
|
326
|
-
}
|
|
316
|
+
if (!runtime.length)
|
|
317
|
+
return { instance, ctx };
|
|
318
|
+
const wrapped = {
|
|
319
|
+
...instance,
|
|
320
|
+
invoke: async (inputs) => {
|
|
321
|
+
const expanded = evalContext.expandPaths(inputs, runtime);
|
|
322
|
+
return instance.invoke(expanded);
|
|
323
|
+
},
|
|
324
|
+
};
|
|
325
|
+
return { instance: wrapped, ctx };
|
|
327
326
|
}
|
|
328
|
-
// getResourcesByKind(kind: string): RuntimeResource[] {
|
|
329
|
-
// const resources: RuntimeResource[] = [];
|
|
330
|
-
// for (const entry of this.resourceInstances.values()) {
|
|
331
|
-
// if (entry.resource.kind === kind) {
|
|
332
|
-
// resources.push(entry.instance as any);
|
|
333
|
-
// }
|
|
334
|
-
// }
|
|
335
|
-
// return resources;
|
|
336
|
-
// }
|
|
337
|
-
// getResourceByName(declaringModule: string, alias: string, name: string): RuntimeResource | null {
|
|
338
|
-
// const realModule = this.moduleContextRegistry.resolveAlias(declaringModule, alias) ?? alias;
|
|
339
|
-
// for (const { resource, instance } of this.resourceInstances.values()) {
|
|
340
|
-
// if (resource.metadata.module === realModule && resource.metadata.name === name) {
|
|
341
|
-
// return instance as RuntimeResource;
|
|
342
|
-
// }
|
|
343
|
-
// }
|
|
344
|
-
// return null;
|
|
345
|
-
// }
|
|
346
|
-
/**
|
|
347
|
-
* Returns the unique set of local file paths from which resources were loaded.
|
|
348
|
-
* HTTP/HTTPS sources are excluded — they cannot be watched on disk.
|
|
349
|
-
*/
|
|
350
|
-
// getSourceFiles(): string[] {
|
|
351
|
-
// const seen = new Set<string>();
|
|
352
|
-
// for (const { resource } of this.resourceInstances.values()) {
|
|
353
|
-
// const src = resource.metadata.source;
|
|
354
|
-
// if (src && !src.startsWith("http://") && !src.startsWith("https://")) {
|
|
355
|
-
// seen.add(src);
|
|
356
|
-
// }
|
|
357
|
-
// }
|
|
358
|
-
// return Array.from(seen);
|
|
359
|
-
// }
|
|
360
327
|
/**
|
|
361
|
-
*
|
|
362
|
-
*
|
|
328
|
+
* Phase 5 — Inject live instances into reference fields of a resource config.
|
|
329
|
+
*
|
|
330
|
+
* Called between create() and init() for every resource. Walks the definition's
|
|
331
|
+
* field map and replaces each {kind, name} reference value (outside scope visibility
|
|
332
|
+
* paths) with the live ResourceInstance returned by getInstance(name). Fields within
|
|
333
|
+
* scope paths are left as {kind, name} — the controller resolves them at runtime.
|
|
363
334
|
*/
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
// for (const [key, { resource }] of this.resourceInstances.entries()) {
|
|
372
|
-
// if (resource.metadata.source === sourcePath) {
|
|
373
|
-
// keysFromSource.push(key);
|
|
374
|
-
// }
|
|
375
|
-
// }
|
|
376
|
-
// // Tear down in reverse order (children first via cascade)
|
|
377
|
-
// for (const key of [...keysFromSource].reverse()) {
|
|
378
|
-
// const entry = this.resourceInstances.get(key);
|
|
379
|
-
// if (!entry) continue; // already removed by a cascade
|
|
380
|
-
// await this.teardownResource(
|
|
381
|
-
// entry.resource.metadata.module,
|
|
382
|
-
// entry.resource.kind,
|
|
383
|
-
// entry.resource.metadata.name,
|
|
384
|
-
// );
|
|
385
|
-
// }
|
|
386
|
-
// for (const manifest of newManifests) {
|
|
387
|
-
// this.rootContext.registerManifest(manifest);
|
|
388
|
-
// }
|
|
389
|
-
// const keysBefore = new Set(this.resourceInstances.keys());
|
|
390
|
-
// await this.initializeResources();
|
|
391
|
-
// // Run only newly created instances (not all instances — avoids double-run)
|
|
392
|
-
// const newKeys = Array.from(this.resourceInstances.keys()).filter((k) => !keysBefore.has(k));
|
|
393
|
-
// for (const key of newKeys) {
|
|
394
|
-
// const entry = this.resourceInstances.get(key);
|
|
395
|
-
// if (entry?.instance.run) {
|
|
396
|
-
// await entry.instance.run();
|
|
397
|
-
// }
|
|
398
|
-
// }
|
|
399
|
-
// }
|
|
400
|
-
getResourceKey(module, kind, name) {
|
|
401
|
-
if (!kind.includes(".")) {
|
|
402
|
-
throw new Error(`Resource kind must include module prefix: ${kind}`);
|
|
403
|
-
}
|
|
404
|
-
return `${module}.${kind}.${name}`;
|
|
335
|
+
_injectDependencies(resource, getInstance) {
|
|
336
|
+
this.registry.iterateFieldEntries(resource, (fieldPath) => injectAtPath(resource, fieldPath, getInstance), (fieldPath) => {
|
|
337
|
+
const val = resource[fieldPath];
|
|
338
|
+
if (Array.isArray(val)) {
|
|
339
|
+
resource[fieldPath] = this.rootContext.createScopeHandle(val);
|
|
340
|
+
}
|
|
341
|
+
});
|
|
405
342
|
}
|
|
406
343
|
/**
|
|
407
344
|
* Enable event streaming to a file (JSONL format)
|
|
@@ -434,4 +371,132 @@ export class Kernel {
|
|
|
434
371
|
};
|
|
435
372
|
}
|
|
436
373
|
}
|
|
374
|
+
/** Returns a schema-appropriate placeholder value for a CompiledValue field. */
|
|
375
|
+
function placeholderForSchema(schema) {
|
|
376
|
+
if (schema.default !== undefined)
|
|
377
|
+
return schema.default;
|
|
378
|
+
switch (schema.type) {
|
|
379
|
+
case "integer":
|
|
380
|
+
case "number":
|
|
381
|
+
return schema.minimum ?? 0;
|
|
382
|
+
case "boolean":
|
|
383
|
+
return false;
|
|
384
|
+
case "array":
|
|
385
|
+
return [];
|
|
386
|
+
case "object":
|
|
387
|
+
return {};
|
|
388
|
+
default:
|
|
389
|
+
return "";
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
/** Replaces CompiledValue wrappers with schema-appropriate placeholders for schema validation.
|
|
393
|
+
* Template strings were compiled from YAML at load time; this restores a shape
|
|
394
|
+
* that AJV can validate without evaluating expressions. */
|
|
395
|
+
function stripCompiledValues(v, schema = {}) {
|
|
396
|
+
if (isCompiledValue(v))
|
|
397
|
+
return placeholderForSchema(schema);
|
|
398
|
+
if (Array.isArray(v)) {
|
|
399
|
+
const itemSchema = (schema.items ?? {});
|
|
400
|
+
return v.map((item) => stripCompiledValues(item, itemSchema));
|
|
401
|
+
}
|
|
402
|
+
if (v !== null && typeof v === "object") {
|
|
403
|
+
const props = (schema.properties ?? {});
|
|
404
|
+
const out = {};
|
|
405
|
+
for (const [k, val] of Object.entries(v)) {
|
|
406
|
+
out[k] = stripCompiledValues(val, props[k] ?? {});
|
|
407
|
+
}
|
|
408
|
+
return out;
|
|
409
|
+
}
|
|
410
|
+
return v;
|
|
411
|
+
}
|
|
412
|
+
/**
|
|
413
|
+
* Walks `resource` following `fieldPath` (dot notation, `[]` = array traversal).
|
|
414
|
+
* For each leaf value that looks like a {kind, name} reference, calls getInstance(name)
|
|
415
|
+
* and replaces the value in-place with the returned live ResourceInstance.
|
|
416
|
+
* Values where getInstance returns undefined are left unchanged.
|
|
417
|
+
*/
|
|
418
|
+
/**
|
|
419
|
+
* Traverses a definition schema and collects all paths annotated with `x-telo-eval`.
|
|
420
|
+
* Root-level `x-telo-eval` produces the `"**"` wildcard (expand all fields).
|
|
421
|
+
* Property-level annotations produce the dot-notation path to that property.
|
|
422
|
+
*/
|
|
423
|
+
function buildEvalPaths(schema) {
|
|
424
|
+
const compile = [];
|
|
425
|
+
const runtime = [];
|
|
426
|
+
if (schema["x-telo-eval"] === "compile")
|
|
427
|
+
compile.push("**");
|
|
428
|
+
else if (schema["x-telo-eval"] === "runtime")
|
|
429
|
+
runtime.push("**");
|
|
430
|
+
if (schema.properties) {
|
|
431
|
+
for (const [key, propSchema] of Object.entries(schema.properties)) {
|
|
432
|
+
collectEvalPathsNode(propSchema, key, compile, runtime);
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
return { compile, runtime };
|
|
436
|
+
}
|
|
437
|
+
function collectEvalPathsNode(node, path, compile, runtime) {
|
|
438
|
+
if (node["x-telo-eval"] === "compile") {
|
|
439
|
+
compile.push(path);
|
|
440
|
+
return;
|
|
441
|
+
}
|
|
442
|
+
if (node["x-telo-eval"] === "runtime") {
|
|
443
|
+
runtime.push(path);
|
|
444
|
+
return;
|
|
445
|
+
}
|
|
446
|
+
if (node.properties) {
|
|
447
|
+
for (const [key, propSchema] of Object.entries(node.properties)) {
|
|
448
|
+
collectEvalPathsNode(propSchema, `${path}.${key}`, compile, runtime);
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
function injectAtPath(resource, fieldPath, getInstance) {
|
|
453
|
+
const parts = fieldPath.split(".");
|
|
454
|
+
function traverse(obj, partsLeft) {
|
|
455
|
+
if (!obj || typeof obj !== "object" || partsLeft.length === 0)
|
|
456
|
+
return;
|
|
457
|
+
const [head, ...rest] = partsLeft;
|
|
458
|
+
const isArr = head.endsWith("[]");
|
|
459
|
+
const key = isArr ? head.slice(0, -2) : head;
|
|
460
|
+
const container = obj;
|
|
461
|
+
const val = container[key];
|
|
462
|
+
if (val == null)
|
|
463
|
+
return;
|
|
464
|
+
if (isArr) {
|
|
465
|
+
if (!Array.isArray(val))
|
|
466
|
+
return;
|
|
467
|
+
for (let i = 0; i < val.length; i++) {
|
|
468
|
+
const elem = val[i];
|
|
469
|
+
if (!elem || typeof elem !== "object")
|
|
470
|
+
continue;
|
|
471
|
+
if (rest.length === 0) {
|
|
472
|
+
const ref = elem;
|
|
473
|
+
if (typeof ref.kind === "string" && typeof ref.name === "string") {
|
|
474
|
+
const instance = getInstance(ref.name);
|
|
475
|
+
if (instance)
|
|
476
|
+
val[i] = instance;
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
else {
|
|
480
|
+
traverse(elem, rest);
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
else {
|
|
485
|
+
if (rest.length === 0) {
|
|
486
|
+
if (val && typeof val === "object" && !Array.isArray(val)) {
|
|
487
|
+
const ref = val;
|
|
488
|
+
if (typeof ref.kind === "string" && typeof ref.name === "string") {
|
|
489
|
+
const instance = getInstance(ref.name);
|
|
490
|
+
if (instance)
|
|
491
|
+
container[key] = instance;
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
else {
|
|
496
|
+
traverse(val, rest);
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
traverse(resource, parts);
|
|
501
|
+
}
|
|
437
502
|
//# sourceMappingURL=kernel.js.map
|
package/dist/kernel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel.js","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,aAAa,EAKb,YAAY,GAEb,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;GAGG;AACH,MAAM,OAAO,MAAM;IAoBjB;QAnBQ,WAAM,GAAW,IAAI,MAAM,EAAE,CAAC;QACtC,gEAAgE;QACxD,gBAAW,GAAuB,IAAI,kBAAkB,EAAE,CAAC;QAC3D,aAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;QACpC,gBAAW,GAAgB,IAAI,WAAW,EAAE,CAAC;QACrD,6EAA6E;QAC7E,8DAA8D;QAC9D,kCAAkC;QAClC,YAAY;QACZ,+DAA+D;QAC/D,iBAAiB;QACT,uBAAkB,GAA0B,IAAI,GAAG,EAAE,CAAC;QACtD,cAAS,GAAG,CAAC,CAAC;QACd,kBAAa,GAAsB,EAAE,CAAC;QACtC,cAAS,GAAG,CAAC,CAAC;QACtB,2DAA2D;QAC1C,0BAAqB,GAAG,IAAI,eAAe,EAAE,CAAC;QAI7D,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,sFAAsF;IACtF,yDAAyD;IACzD,mDAAmD;IACnD,wBAAwB;IACxB,0CAA0C;IAC1C,6BAA6B;IAC7B,iCAAiC;IACjC,MAAM;IACN,sFAAsF;IACtF,uEAAuE;IACvE,QAAQ;IACR,2CAA2C;IAC3C,yCAAyC;IACzC,IAAI;IAEJ,KAAK,CAAC,kBAAkB,CACtB,UAAkB,EAClB,QAAgB,EAChB,kBAAuB;QAEvB,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,UAAU,IAAI,QAAQ,EAAE,EAAE,kBAAkB,CAAC,CAAC;QACrF,MAAM,kBAAkB,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,UAAU,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC;IACjG,CAAC;IAED;;OAEG;IACH,0BAA0B,CACxB,UAA8B;QAI9B,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,kBAAkB,CAAC,IAAY,EAAE,MAA4B;QAC3D,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,gBAAgB,CAAC,WAAmB;QAClC,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,kBAAkB,CAAC,gBAAwB,EAAE,KAAa;QACxD,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,oBAAoB,CAClB,gBAAwB,EACxB,KAAa,EACb,YAAoB,EACpB,KAAe;QAEf,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED,sBAAsB,CAAC,IAAY;QACjC,OAAO,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,mBAAmB,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,sBAAsB;QAClC,6EAA6E;QAC7E,6DAA6D;QAC7D,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,0BAA0B;QACnF,8FAA8F;QAE9F,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;YAClC,IAAI,EAAE,mBAAmB;YACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE;YAClD,YAAY,EAAE,CAAC,UAAU,CAAC;YAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,kBAAkB,CACjC,mBAAmB,EACnB,MAAM,MAAM,CAAC,qEAAqE,CAAC,CACpF,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;YAClC,IAAI,EAAE,mBAAmB;YACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;YAC9C,YAAY,EAAE,CAAC,UAAU,CAAC;YAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,kBAAkB,CACjC,eAAe,EACf,MAAM,MAAM,CAAC,2CAA2C,CAAC,CAC1D,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;YAClC,IAAI,EAAE,mBAAmB;YACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;YAC9C,YAAY,EAAE,CAAC,UAAU,CAAC;YAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,kBAAkB,CACjC,eAAe,EACf,MAAM,MAAM,CAAC,2CAA2C,CAAC,CAC1D,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;YAClC,IAAI,EAAE,mBAAmB;YACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE;YAClD,YAAY,EAAE,CAAC,UAAU,CAAC;YAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,kBAAkB,CACjC,mBAAmB,EACnB,MAAM,MAAM,CAAC,mDAAmD,CAAC,CAClE,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,eAAuB;QAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,aAAa,CAClC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,CAAC,EACpE,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAC/B,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CACvD,CAAC;QACF,gDAAgD;QAChD,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEpC,uEAAuE;QACvE,sEAAsE;QACtE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACnF,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QAE7E,mEAAmE;QACnE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAClD,eAAe,EACf,UAAU,OAAO,CAAC,GAAG,EAAE,GAAG,EAC1B,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CACrB,CAAC;QACF,MAAM,YAAY,GAAG,CAAC,GAAG,mBAAmB,EAAE,GAAG,aAAa,CAAC,CAAC;QAEhE,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;YACpC,IAAI,QAAQ,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBACtC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;gBACpD,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;gBACxD,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YACtD,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,OAAe;QACjC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAEzD,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,mEAAmE;QACnE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,UAAU,EAAE,QAAQ,EAAE,CAAC;gBACzB,MAAM,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC;YAC7C,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;YACnD,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;YAChD,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;YAC/C,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;YAChD,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;YAC3C,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,kEAAkE;IAClE,0BAA0B;IAC1B,8BAA8B;IAC9B,QAAQ;IACR,MAAM;IACN,IAAI;IAEJ,KAAK,CAAC,gBAAgB,CAAC,KAAa,EAAE,OAAa;QACjD,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,WAAW,CAAC,IAAY;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,WAAW,CAAC,MAAe;QACzB,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;QACpB,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBACxC,MAAM;gBACN,KAAK,EAAE,IAAI,CAAC,SAAS;aACtB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,OAAO,GAAG,EAAE;YACV,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YACjD,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC/C,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;oBAChC,OAAO,EAAE,CAAC;gBACZ,CAAC;gBACD,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YACzE,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/C,KAAK,MAAM,OAAO,IAAI,SAAS;YAAE,OAAO,EAAE,CAAC;IAC7C,CAAC;IAED,gBAAgB,CAAC,KAAa;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,EAAE,CAAC,KAAa,EAAE,OAAsD;QACtE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAEO,uBAAuB,CAAC,IAAY;QAC1C,OAAO;YACL,EAAE,EAAE,CAAC,KAAa,EAAE,OAAsD,EAAE,EAAE,CAC5E,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;YAClC,IAAI,EAAE,CAAC,KAAa,EAAE,OAAsD,EAAE,EAAE,CAC9E,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;YACpC,GAAG,EAAE,CAAC,KAAa,EAAE,OAAsD,EAAE,EAAE,CAC7E,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC;YACnC,IAAI,EAAE,CAAC,KAAa,EAAE,OAAa,EAAE,EAAE;gBACrC,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC;gBACpE,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC/C,CAAC;YACD,WAAW,EAAE,CAAC,MAAe,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YAC1D,WAAW,EAAE,CAAC,KAAU,EAAE,OAA4B,EAAE,EAAE,CACxD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC/C,WAAW,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;SACtD,CAAC;IACJ,CAAC;IAEO,qBAAqB,CAC3B,aAA4B,EAC5B,QAA0B;QAE1B,OAAO,IAAI,mBAAmB,CAC5B,IAAI,EACJ,aAAa,EACb,QAAQ,CAAC,QAAQ,EACjB,IAAI,CAAC,qBAAqB,CAC3B,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,eAAe,CAC3B,WAA0B,EAC1B,QAA0B;QAE1B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAE3B,oEAAoE;QACpE,+EAA+E;QAC/E,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAExD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC;QAC3E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,QAAQ,GACZ,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,mBAAmB,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC;YACpF,MAAM,IAAI,KAAK,CACb,qCAAqC,QAAQ,4BAA4B,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClH,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACvB,MAAM,IAAI,YAAY,CACpB,wBAAwB,EACxB,kBAAkB,IAAI,mCAAmC,CAC1D,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,aAAa,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,YAAY,CACpB,uCAAuC,EACvC,2CAA2C,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC7G,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE3B,IAAI,QAAQ,CAAC,IAAI;YAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE5C,qCAAqC;QACrC,uCAAuC;QACvC,qBAAqB;QACrB,8BAA8B;QAC9B,gCAAgC;QAChC,+CAA+C;QAC/C,iCAAiC;QACjC,OAAO;QACP,IAAI;QAEJ,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1E,IAAI,WAAW,YAAY,aAAa,EAAE,CAAC;gBACzC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAG,IAAgC,IAAI,EAAE,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CAAC,GAAsB;QAC1C,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YAChD,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,GAAG,GAAG,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAC/D,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC;YACpD,IAAI,QAAQ,CAAC,QAAQ;gBAAE,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACjD,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,WAAW,EAAE;gBAC9E,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE;aAChE,CAAC,CAAC;YACH,sCAAsC;YACtC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,6CAA6C;IAC7C,2DAA2D;IAC3D,0CAA0C;IAC1C,+CAA+C;IAC/C,QAAQ;IACR,MAAM;IACN,sBAAsB;IACtB,IAAI;IAEJ,oGAAoG;IACpG,iGAAiG;IACjG,4EAA4E;IAC5E,wFAAwF;IACxF,4CAA4C;IAC5C,QAAQ;IACR,MAAM;IACN,iBAAiB;IACjB,IAAI;IAEJ;;;OAGG;IACH,+BAA+B;IAC/B,oCAAoC;IACpC,kEAAkE;IAClE,4CAA4C;IAC5C,8EAA8E;IAC9E,uBAAuB;IACvB,QAAQ;IACR,MAAM;IACN,6BAA6B;IAC7B,IAAI;IAEJ;;;OAGG;IACH,0DAA0D;IAC1D,mFAAmF;IACnF,kGAAkG;IAClG,wBAAwB;IACxB,QAAQ;IAER,8EAA8E;IAC9E,yCAAyC;IACzC,0EAA0E;IAC1E,qDAAqD;IACrD,kCAAkC;IAClC,QAAQ;IACR,MAAM;IACN,+DAA+D;IAC/D,uDAAuD;IACvD,qDAAqD;IACrD,4DAA4D;IAC5D,mCAAmC;IACnC,wCAAwC;IACxC,6BAA6B;IAC7B,sCAAsC;IACtC,SAAS;IACT,MAAM;IAEN,2CAA2C;IAC3C,mDAAmD;IACnD,MAAM;IACN,+DAA+D;IAC/D,sCAAsC;IAEtC,gFAAgF;IAChF,iGAAiG;IACjG,iCAAiC;IACjC,qDAAqD;IACrD,iCAAiC;IACjC,oCAAoC;IACpC,QAAQ;IACR,MAAM;IACN,IAAI;IAEI,cAAc,CAAC,MAAc,EAAE,IAAY,EAAE,IAAY;QAC/D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,6CAA6C,IAAI,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,GAAG,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,QAAgB;QACtC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,mBAAmB;QACzB,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,EAAE,KAAa,EAAE,OAAa,EAAE,EAAE;YAC1D,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,EAAE,CAAC;gBACvC,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC,CAAC;IACJ,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"kernel.js","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"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"}
|
package/dist/loader.d.ts
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
|
+
import { Loader as BaseLoader } from "@telorun/analyzer";
|
|
1
2
|
import { ResourceManifest } from "@telorun/sdk";
|
|
2
|
-
|
|
3
|
-
* Loader: Ingests resolved YAML manifests from disk or remote URLs into memory
|
|
4
|
-
*/
|
|
5
|
-
export declare class Loader {
|
|
3
|
+
export declare class Loader extends BaseLoader {
|
|
6
4
|
private static projectRoot;
|
|
7
|
-
private readonly
|
|
8
|
-
|
|
5
|
+
private readonly localAdapter;
|
|
6
|
+
constructor();
|
|
9
7
|
private static ensureProjectRoot;
|
|
10
8
|
resolvePath(base: string, relative: string): string;
|
|
9
|
+
/**
|
|
10
|
+
* Resolve a path-or-URL to its canonical file source URL.
|
|
11
|
+
* If the path refers to a directory, returns the URL of module.yaml inside it.
|
|
12
|
+
*/
|
|
13
|
+
resolveEntryPoint(pathOrUrl: string): Promise<string>;
|
|
11
14
|
loadDirectory(pathOrUrl: string): Promise<ResourceManifest[]>;
|
|
12
15
|
loadManifest(pathOrUrl: string, baseUrl: string, compileContext?: Record<string, unknown>): Promise<ResourceManifest[]>;
|
|
13
|
-
private processFile;
|
|
14
|
-
private normalizeResource;
|
|
15
16
|
private orderResourcesByKindDependencies;
|
|
16
17
|
}
|
|
17
18
|
//# sourceMappingURL=loader.d.ts.map
|
package/dist/loader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAmB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAmB,MAAM,cAAc,CAAC;AAKjE,qBAAa,MAAO,SAAQ,UAAU;IACpC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAuB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;;IAQhD,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAMhC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAInD;;;OAGG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKrD,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAyB7D,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,cAAc,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAC3C,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAW9B,OAAO,CAAC,gCAAgC;CA0DzC"}
|