@telorun/kernel 0.15.0 → 0.16.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/dist/controllers/module/import-controller.d.ts.map +1 -1
- package/dist/controllers/module/import-controller.js +50 -8
- package/dist/controllers/module/import-controller.js.map +1 -1
- package/dist/evaluation-context.d.ts +7 -0
- package/dist/evaluation-context.d.ts.map +1 -1
- package/dist/evaluation-context.js +24 -3
- package/dist/evaluation-context.js.map +1 -1
- package/dist/kernel.d.ts.map +1 -1
- package/dist/kernel.js +21 -4
- package/dist/kernel.js.map +1 -1
- package/dist/module-context.d.ts +25 -1
- package/dist/module-context.d.ts.map +1 -1
- package/dist/module-context.js +47 -2
- package/dist/module-context.js.map +1 -1
- package/dist/resource-context.d.ts +2 -0
- package/dist/resource-context.d.ts.map +1 -1
- package/dist/resource-context.js +19 -1
- package/dist/resource-context.js.map +1 -1
- package/package.json +6 -5
- package/src/controllers/module/import-controller.ts +66 -17
- package/src/evaluation-context.ts +30 -5
- package/src/kernel.ts +31 -6
- package/src/module-context.ts +62 -2
- package/src/resource-context.ts +27 -2
- package/dist/base-definition.d.ts +0 -14
- package/dist/base-definition.d.ts.map +0 -1
- package/dist/base-definition.js +0 -17
- package/dist/base-definition.js.map +0 -1
- package/dist/capabilities/capabilities/component.yaml +0 -4
- package/dist/capabilities/capabilities/executable.yaml +0 -8
- package/dist/capabilities/capabilities/handler.yaml +0 -4
- package/dist/capabilities/capabilities/listener.yaml +0 -4
- package/dist/capabilities/capabilities/provider.yaml +0 -4
- package/dist/capabilities/capabilities/template.yaml +0 -4
- package/dist/capabilities/capabilities/type.yaml +0 -4
- package/dist/capabilities/component.d.ts +0 -3
- package/dist/capabilities/component.d.ts.map +0 -1
- package/dist/capabilities/component.js +0 -4
- package/dist/capabilities/component.js.map +0 -1
- package/dist/capabilities/component.yaml +0 -3
- package/dist/capabilities/executable.d.ts +0 -3
- package/dist/capabilities/executable.d.ts.map +0 -1
- package/dist/capabilities/executable.js +0 -5
- package/dist/capabilities/executable.js.map +0 -1
- package/dist/capabilities/executable.yaml +0 -7
- package/dist/capabilities/handler.d.ts +0 -3
- package/dist/capabilities/handler.d.ts.map +0 -1
- package/dist/capabilities/handler.js +0 -4
- package/dist/capabilities/handler.js.map +0 -1
- package/dist/capabilities/handler.yaml +0 -3
- package/dist/capabilities/invokable.d.ts +0 -3
- package/dist/capabilities/invokable.d.ts.map +0 -1
- package/dist/capabilities/invokable.js +0 -5
- package/dist/capabilities/invokable.js.map +0 -1
- package/dist/capabilities/listener.d.ts +0 -3
- package/dist/capabilities/listener.d.ts.map +0 -1
- package/dist/capabilities/listener.js +0 -5
- package/dist/capabilities/listener.js.map +0 -1
- package/dist/capabilities/listener.yaml +0 -3
- package/dist/capabilities/mount.d.ts +0 -3
- package/dist/capabilities/mount.d.ts.map +0 -1
- package/dist/capabilities/mount.js +0 -5
- package/dist/capabilities/mount.js.map +0 -1
- package/dist/capabilities/provider.d.ts +0 -3
- package/dist/capabilities/provider.d.ts.map +0 -1
- package/dist/capabilities/provider.js +0 -8
- package/dist/capabilities/provider.js.map +0 -1
- package/dist/capabilities/provider.yaml +0 -3
- package/dist/capabilities/runnable.d.ts +0 -3
- package/dist/capabilities/runnable.d.ts.map +0 -1
- package/dist/capabilities/runnable.js +0 -5
- package/dist/capabilities/runnable.js.map +0 -1
- package/dist/capabilities/service.d.ts +0 -3
- package/dist/capabilities/service.d.ts.map +0 -1
- package/dist/capabilities/service.js +0 -5
- package/dist/capabilities/service.js.map +0 -1
- package/dist/capabilities/template.d.ts +0 -3
- package/dist/capabilities/template.d.ts.map +0 -1
- package/dist/capabilities/template.js +0 -5
- package/dist/capabilities/template.js.map +0 -1
- package/dist/capabilities/template.yaml +0 -3
- package/dist/capabilities/type.d.ts +0 -3
- package/dist/capabilities/type.d.ts.map +0 -1
- package/dist/capabilities/type.js +0 -5
- package/dist/capabilities/type.js.map +0 -1
- package/dist/capabilities/type.yaml +0 -3
- package/dist/controllers/capability/capability-controller.d.ts +0 -32
- package/dist/controllers/capability/capability-controller.d.ts.map +0 -1
- package/dist/controllers/capability/capability-controller.js +0 -26
- package/dist/controllers/capability/capability-controller.js.map +0 -1
- package/dist/controllers/module/module.json +0 -48
- package/dist/loader.d.ts +0 -18
- package/dist/loader.d.ts.map +0 -1
- package/dist/loader.js +0 -127
- package/dist/loader.js.map +0 -1
- package/dist/manifest-adapters/http-adapter.d.ts +0 -8
- package/dist/manifest-adapters/http-adapter.d.ts.map +0 -1
- package/dist/manifest-adapters/http-adapter.js +0 -31
- package/dist/manifest-adapters/http-adapter.js.map +0 -1
- package/dist/manifest-adapters/local-file-adapter.d.ts +0 -15
- package/dist/manifest-adapters/local-file-adapter.d.ts.map +0 -1
- package/dist/manifest-adapters/local-file-adapter.js +0 -95
- package/dist/manifest-adapters/local-file-adapter.js.map +0 -1
- package/dist/manifest-adapters/manifest-adapter.d.ts +0 -35
- package/dist/manifest-adapters/manifest-adapter.d.ts.map +0 -1
- package/dist/manifest-adapters/manifest-adapter.js +0 -2
- package/dist/manifest-adapters/manifest-adapter.js.map +0 -1
- package/dist/manifest-adapters/registry-adapter.d.ts +0 -9
- package/dist/manifest-adapters/registry-adapter.d.ts.map +0 -1
- package/dist/manifest-adapters/registry-adapter.js +0 -48
- package/dist/manifest-adapters/registry-adapter.js.map +0 -1
- package/dist/module-context-registry.d.ts +0 -48
- package/dist/module-context-registry.d.ts.map +0 -1
- package/dist/module-context-registry.js +0 -91
- package/dist/module-context-registry.js.map +0 -1
- package/dist/schema-valiator.d.ts +0 -15
- package/dist/schema-valiator.d.ts.map +0 -1
- package/dist/schema-valiator.js +0 -127
- package/dist/schema-valiator.js.map +0 -1
- package/dist/snapshot-serializer.d.ts +0 -62
- package/dist/snapshot-serializer.d.ts.map +0 -1
- package/dist/snapshot-serializer.js +0 -164
- package/dist/snapshot-serializer.js.map +0 -1
- package/dist/types.d.ts +0 -65
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -8
- package/dist/types.js.map +0 -1
package/dist/module-context.js
CHANGED
|
@@ -61,6 +61,11 @@ export class ModuleContext extends EvaluationContext {
|
|
|
61
61
|
this.importAliases = new Map();
|
|
62
62
|
/** Maps import alias → allowed kind names. Absent entry = unrestricted (e.g. Kernel). */
|
|
63
63
|
this.importedKinds = new Map();
|
|
64
|
+
/** Maps import alias → its child context's exported instances. Registered by the
|
|
65
|
+
* Telo.Import controller; read when resolving a cross-module `!ref Alias.name`
|
|
66
|
+
* reference (Phase 5 injection and boot targets). `names` is the import's
|
|
67
|
+
* `exports.resources` gate — only listed instances are reachable. */
|
|
68
|
+
this.importedScopes = new Map();
|
|
64
69
|
this._variables = variables;
|
|
65
70
|
this._secrets = secrets;
|
|
66
71
|
this._resources = resources;
|
|
@@ -116,6 +121,32 @@ export class ModuleContext extends EvaluationContext {
|
|
|
116
121
|
this.importedKinds.set(alias, new Set(kinds));
|
|
117
122
|
}
|
|
118
123
|
}
|
|
124
|
+
/** Register an import alias's exported instances for cross-module reference resolution.
|
|
125
|
+
* `names` is the gate (the import's `exports.resources`); `get` reads the child context's
|
|
126
|
+
* live instance + its canonical kind lazily — they exist only after the import's `init()`
|
|
127
|
+
* runs. */
|
|
128
|
+
registerImportedScope(alias, names, get) {
|
|
129
|
+
this.importedScopes.set(alias, { names: new Set(names), get });
|
|
130
|
+
}
|
|
131
|
+
/** Resolve `Alias.name` to a live exported instance, gated by `exports.resources`.
|
|
132
|
+
* Returns undefined when the alias is unknown, the name isn't exported, or the import
|
|
133
|
+
* hasn't initialized its instances yet (the injection path defers and retries). */
|
|
134
|
+
resolveImportedInstance(alias, name) {
|
|
135
|
+
const scope = this.importedScopes.get(alias);
|
|
136
|
+
if (!scope || !scope.names.has(name))
|
|
137
|
+
return undefined;
|
|
138
|
+
return scope.get(name)?.instance;
|
|
139
|
+
}
|
|
140
|
+
/** Like `resolveImportedInstance`, but returns the `{kind, name}` ref (canonical kind)
|
|
141
|
+
* for controllers that resolve step/handler invokes to refs rather than live instances
|
|
142
|
+
* (e.g. Run.Sequence via `resolveChildren`). The alias is reattached by the caller. */
|
|
143
|
+
resolveImportedRef(alias, name) {
|
|
144
|
+
const scope = this.importedScopes.get(alias);
|
|
145
|
+
if (!scope || !scope.names.has(name))
|
|
146
|
+
return undefined;
|
|
147
|
+
const entry = scope.get(name);
|
|
148
|
+
return entry ? { kind: entry.kind, name } : undefined;
|
|
149
|
+
}
|
|
119
150
|
hasImport(alias) {
|
|
120
151
|
return this.importAliases.has(alias);
|
|
121
152
|
}
|
|
@@ -204,6 +235,7 @@ export class ModuleContext extends EvaluationContext {
|
|
|
204
235
|
expandValue: (value, context) => this.expandWith(value, context),
|
|
205
236
|
invoke: (kind, name, inputs) => this.invoke(kind, name, inputs),
|
|
206
237
|
invokeResolved: (kind, name, instance, inputs) => this.invokeResolved(kind, name, instance, inputs),
|
|
238
|
+
resolveImportedInstance: (alias, name) => this.resolveImportedInstance(alias, name),
|
|
207
239
|
};
|
|
208
240
|
for (let i = 0; i < this.targets.length; i++) {
|
|
209
241
|
const target = this.targets[i];
|
|
@@ -215,6 +247,9 @@ export class ModuleContext extends EvaluationContext {
|
|
|
215
247
|
const step = {
|
|
216
248
|
name: target.name ?? `Target${i}`,
|
|
217
249
|
when: target.when,
|
|
250
|
+
// A cross-module `!ref Alias.name` stays a `{kind, name, alias}` ref; the leaf's
|
|
251
|
+
// alias branch resolves it via `resolveImportedInstance` and dispatches through
|
|
252
|
+
// `invokeResolved` so invocation events and error wrapping still fire.
|
|
218
253
|
invoke: target.invoke,
|
|
219
254
|
inputs: target.inputs,
|
|
220
255
|
};
|
|
@@ -222,9 +257,19 @@ export class ModuleContext extends EvaluationContext {
|
|
|
222
257
|
continue;
|
|
223
258
|
}
|
|
224
259
|
if ("ref" in target && target.ref != null) {
|
|
225
|
-
const refName = typeof target.ref === "string" ? target.ref : target.ref.name;
|
|
226
260
|
if (target.when === undefined || this.expandWith(target.when, { steps })) {
|
|
227
|
-
|
|
261
|
+
const ref = target.ref;
|
|
262
|
+
const r = ref && typeof ref === "object" ? ref : undefined;
|
|
263
|
+
if (r && typeof r.alias === "string" && r.alias !== "Self") {
|
|
264
|
+
const inst = this.resolveImportedInstance(r.alias, r.name);
|
|
265
|
+
if (!inst || typeof inst.run !== "function") {
|
|
266
|
+
throw new Error(`Boot target '${r.alias}.${r.name}' is not a runnable exported instance`);
|
|
267
|
+
}
|
|
268
|
+
await inst.run();
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
await this.run(typeof ref === "string" ? ref : r.name);
|
|
272
|
+
}
|
|
228
273
|
}
|
|
229
274
|
continue;
|
|
230
275
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-context.js","sourceRoot":"","sources":["../src/module-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"module-context.js","sourceRoot":"","sources":["../src/module-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAWjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D;;;;;;iCAMiC;AACjC,SAAS,UAAU,CAAC,GAAuC;IACzD,OAAO,IAAI,KAAK,CAAC,GAAoC,EAAE;QACrD,GAAG,CAAC,MAAM,EAAE,GAAG;YACb,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,OAAQ,MAAc,CAAC,GAAG,CAAC,CAAC;YACzD,IAAI,GAAG,KAAK,aAAa;gBAAE,OAAO,MAA2B,CAAC;YAC9D,OAAO,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACtD,CAAC;QACD,GAAG;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,wBAAwB,CAAC,MAAM,EAAE,GAAG;YAClC,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,OAAO,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACjF,MAAM,KAAK,GAAG,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3D,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QACzE,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAgC;IAC3D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,aAAc,SAAQ,iBAAiB;IAoClD,YACE,MAAc,EACd,YAAqC,EAAE,EACvC,UAAmC,EAAE,EACrC,YAAqC,EAAE,EAC/B,UAAwB,EAAE,EAClC,iBAAkC,KAAK,IAAI,EAAE,CAAC,IAAI,EAClD,IAAe,EACE,QAA6C;QAE9D,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;QAL3C,YAAO,GAAP,OAAO,CAAmB;QAGjB,aAAQ,GAAR,QAAQ,CAAqC;QAxChE;;sDAE8C;QACtC,WAAM,GAA4B,EAAE,CAAC;QAE7C,gEAAgE;QAC/C,kBAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE3D,yFAAyF;QACxE,kBAAa,GAAG,IAAI,GAAG,EAAuB,CAAC;QAEhE;;;8EAGsE;QACrD,mBAAc,GAAG,IAAI,GAAG,EAMtC,CAAC;QAsBF,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,YAAY,CAAC,IAA6B;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,QAAQ,CAAC,KAA8B;QACrC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,UAAU,CAAC,IAAkB;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,UAAU,CAAC,OAAgC;QACzC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,WAAW,CAAC,IAAY,EAAE,KAA8B;QACtD,IAAI,CAAC,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;QACxD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,mBAAmB,CAAC,MAAoC;QACtD,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;IAClC,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAEkB,qBAAqB,CAAC,IAAY,EAAE,IAA6B;QAClF,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,KAAa,EAAE,YAAoB,EAAE,KAAe;QACjE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED;;;gBAGY;IACZ,qBAAqB,CACnB,KAAa,EACb,KAAe,EACf,GAA+E;QAE/E,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACjE,CAAC;IAED;;wFAEoF;IAC3E,uBAAuB,CAAC,KAAa,EAAE,IAAY;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QACvD,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IACnC,CAAC;IAED;;4FAEwF;IACxF,kBAAkB,CAAC,KAAa,EAAE,IAAY;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QACvD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,CAAC;IAED,SAAS,CAAC,KAAa;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,WAAW,CAAC,IAAY;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,aAAa,IAAI,uDAAuD,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxH,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,EAAE,QAAQ,CAAC;IACzB,CAAC;IAED,YAAY,CACV,IAAY;QAEZ,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAExC,IAAI,OAAQ,QAAgB,EAAE,MAAM,KAAK,UAAU,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,qCAAqC,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,QAAsC,CAAC;IAChD,CAAC;IAED;;;;;;;;OAQG;IACH,WAAW,CAAC,IAAY;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,oDAAoD,CAAC,CAAC;QACrF,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;YACtB,OAAO,GAAG,EAAE,CAAC;gBACX,IAAI,GAAG,YAAY,aAAa;oBAAE,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC/D,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;YACnB,CAAC;YACD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC;YACpE,MAAM,IAAI,KAAK,CACb,SAAS,IAAI,qCAAqC,MAAM,qBAAqB,KAAK,EAAE,CACrF,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CACb,SAAS,MAAM,gCAAgC,UAAU,mBAAmB,MAAM,MAAM;gBACtF,mBAAmB,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/C,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,UAAU,IAAI,MAAM,EAAE,CAAC;IACnC,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,QAAQ,GAAG;YACd,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7D,CAAC;QACF,IAAI,CAAC,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAEQ,KAAK,CAAC,MAAM,CAAU,IAAY,EAAE,IAAY,EAAE,MAAe;QACxE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,KAAK,IAAI,OAAQ,KAAK,CAAC,QAAgB,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACpE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAE,KAAK,CAAC,QAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAA+B,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAY;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,mBAAmB,IAAI,sDAAsD,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7H,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;YAChD,MAAM,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,gCAAgC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,KAAK,GAA4B,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAsB;YACjC,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC;YAChE,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;YAC/D,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAC/C,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC;YACnD,uBAAuB,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC;SACpF,CAAC;QACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC;YAChC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACvB,SAAS;YACX,CAAC;YACD,IAAI,QAAQ,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACtD,MAAM,IAAI,GAAe;oBACvB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC,EAAE;oBACjC,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,iFAAiF;oBACjF,gFAAgF;oBAChF,uEAAuE;oBACvE,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC;gBACF,MAAM,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBAClD,SAAS;YACX,CAAC;YACD,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;gBAC1C,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;oBACzE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAc,CAAC;oBAClC,MAAM,CAAC,GACL,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAE,GAAwC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACzF,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;wBAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;wBAC3D,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;4BAC5C,MAAM,IAAI,KAAK,CACb,gBAAgB,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,uCAAuC,CACzE,CAAC;wBACJ,CAAC;wBACD,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;oBACnB,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC;oBAC1D,CAAC;gBACH,CAAC;gBACD,SAAS;YACX,CAAC;YACD,IAAI,MAAM,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACxD,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC5B,SAAS;YACX,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;CACF"}
|
|
@@ -21,6 +21,7 @@ export declare class ResourceContextImpl implements ResourceContext {
|
|
|
21
21
|
validateSchema(value: any, schema: any): void;
|
|
22
22
|
invoke<TInputs>(kind: string, name: string, inputs: TInputs): Promise<any>;
|
|
23
23
|
invokeResolved<TInputs>(kind: string, name: string, instance: ResourceInstance, inputs: TInputs): Promise<any>;
|
|
24
|
+
resolveImportedInstance(alias: string, name: string): ResourceInstance | undefined;
|
|
24
25
|
run(name: string): Promise<void>;
|
|
25
26
|
registerManifest(resource: any): void;
|
|
26
27
|
loadModule(url: string, options?: LoadOptions): Promise<ResourceManifest[]>;
|
|
@@ -40,6 +41,7 @@ export declare class ResourceContextImpl implements ResourceContext {
|
|
|
40
41
|
resolveChildren(resource: any, resourceName?: string): {
|
|
41
42
|
kind: string;
|
|
42
43
|
name: string;
|
|
44
|
+
alias?: string;
|
|
43
45
|
};
|
|
44
46
|
getResourcesByName(_kind: string, name: string): RuntimeResource | null;
|
|
45
47
|
registerController(moduleName: string, kindName: string, controllerInstance: any): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-context.d.ts","sourceRoot":"","sources":["../src/resource-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAEhB,eAAe,EAEf,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,IAAI,kBAAkB,EAC5C,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,QAAQ,EACd,MAAM,cAAc,CAAC;AAKtB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD,qBAAa,mBAAoB,YAAW,eAAe;IAQvD,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,aAAa,EAAE,aAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAV5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;gBAGf,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,aAAa,EACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,SAAS,GAAE,eAAuC,EACnE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACxC,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,EAC7B,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,EAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,EAC9B,IAAI,CAAC,EAAE,UAAU;IASnB,qBAAqB,CAAC,MAAM,EAAE,GAAG;IAOjC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAIlD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI9C,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI;IAIxD,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,GAAG,SAAS;IAIrD,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS;IAiDrE,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;IA2BtC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAI1E,cAAc,CAAC,OAAO,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"resource-context.d.ts","sourceRoot":"","sources":["../src/resource-context.ts"],"names":[],"mappings":"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"}
|
package/dist/resource-context.js
CHANGED
|
@@ -104,6 +104,9 @@ export class ResourceContextImpl {
|
|
|
104
104
|
invokeResolved(kind, name, instance, inputs) {
|
|
105
105
|
return this.moduleContext.invokeResolved(kind, name, instance, inputs);
|
|
106
106
|
}
|
|
107
|
+
resolveImportedInstance(alias, name) {
|
|
108
|
+
return this.moduleContext.resolveImportedInstance(alias, name);
|
|
109
|
+
}
|
|
107
110
|
async run(name) {
|
|
108
111
|
await this.moduleContext.run(name);
|
|
109
112
|
}
|
|
@@ -150,7 +153,22 @@ export class ResourceContextImpl {
|
|
|
150
153
|
// this rescue — schemas exercising those hidden slots must use the
|
|
151
154
|
// legacy string or `{kind, name}` forms for now.
|
|
152
155
|
if (isRefSentinel(resource)) {
|
|
153
|
-
const
|
|
156
|
+
const source = resource.source;
|
|
157
|
+
const dot = source.indexOf(".");
|
|
158
|
+
const alias = dot > 0 ? source.slice(0, dot) : undefined;
|
|
159
|
+
// Cross-module exported instance (`!ref Alias.name`) — resolve the {kind, name} ref
|
|
160
|
+
// from the import's exported scope and reattach the alias so downstream scope
|
|
161
|
+
// resolution (executeInvokeStep → ScopeContext.getInstance) routes into the import's
|
|
162
|
+
// child context rather than scope-local resources.
|
|
163
|
+
if (alias && alias !== "Self") {
|
|
164
|
+
const name = source.slice(dot + 1);
|
|
165
|
+
const ref = this.moduleContext.resolveImportedRef(alias, name);
|
|
166
|
+
if (!ref) {
|
|
167
|
+
throw new RuntimeError("ERR_RESOURCE_NOT_FOUND", `[${this.metadata.name}] !ref '${source}' is not an exported instance of import '${alias}'.`);
|
|
168
|
+
}
|
|
169
|
+
return { kind: ref.kind, name: ref.name, alias };
|
|
170
|
+
}
|
|
171
|
+
const refName = alias === "Self" ? source.slice(dot + 1) : source;
|
|
154
172
|
const entry = this.moduleContext.resourceInstances.get(refName);
|
|
155
173
|
if (!entry) {
|
|
156
174
|
throw new RuntimeError("ERR_RESOURCE_NOT_FOUND", `[${this.metadata.name}] !ref '${refName}' did not resolve to a registered resource.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-context.js","sourceRoot":"","sources":["../src/resource-context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resource-context.js","sourceRoot":"","sources":["../src/resource-context.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@telorun/kernel",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.0",
|
|
4
4
|
"description": "Telo Runtime - A lightweight, polyglot execution host.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"telo",
|
|
@@ -47,8 +47,8 @@
|
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"@marcbachmann/cel-js": "^7.5.3",
|
|
49
49
|
"@sinclair/typebox": "^0.34.48",
|
|
50
|
-
"@telorun/analyzer": "0.
|
|
51
|
-
"@telorun/templating": "0.4.
|
|
50
|
+
"@telorun/analyzer": "0.15.0",
|
|
51
|
+
"@telorun/templating": "0.4.1",
|
|
52
52
|
"ajv": "^8.17.1",
|
|
53
53
|
"ajv-formats": "^3.0.1",
|
|
54
54
|
"minimatch": "^10.2.5",
|
|
@@ -58,10 +58,11 @@
|
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"@types/node": "^20.0.0",
|
|
60
60
|
"typescript": "^5.0.0",
|
|
61
|
-
"vitest": "^2.1.8"
|
|
61
|
+
"vitest": "^2.1.8",
|
|
62
|
+
"@telorun/sdk": "0.16.0"
|
|
62
63
|
},
|
|
63
64
|
"peerDependencies": {
|
|
64
|
-
"@telorun/sdk": "
|
|
65
|
+
"@telorun/sdk": "*"
|
|
65
66
|
},
|
|
66
67
|
"overrides": {
|
|
67
68
|
"@marcbachmann/cel-js": "$@marcbachmann/cel-js",
|
|
@@ -82,17 +82,21 @@ export async function create(
|
|
|
82
82
|
|
|
83
83
|
// Create child context with the imported variables/secrets baked in, so that
|
|
84
84
|
// ${{ variables.x }} / ${{ secrets.y }} templates resolve correctly at runtime.
|
|
85
|
-
const
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
ctx.moduleContext.emit,
|
|
94
|
-
),
|
|
85
|
+
const childCtx = new ModuleContext(
|
|
86
|
+
ctx.moduleContext.source,
|
|
87
|
+
(resource.variables as Record<string, unknown>) ?? {},
|
|
88
|
+
(resource.secrets as Record<string, unknown>) ?? {},
|
|
89
|
+
{},
|
|
90
|
+
[],
|
|
91
|
+
ctx.moduleContext.createInstance,
|
|
92
|
+
ctx.moduleContext.emit,
|
|
95
93
|
);
|
|
94
|
+
const child = ctx.moduleContext.spawnChild(childCtx);
|
|
95
|
+
|
|
96
|
+
// A library references its own kinds via `Self.<Kind>` (e.g. when it declares an
|
|
97
|
+
// instance to export). Register `Self` → the library's own module in the child context
|
|
98
|
+
// so those resolve at runtime — ungated, since this is internal use, not an importer.
|
|
99
|
+
childCtx.registerImport("Self", targetModule, []);
|
|
96
100
|
|
|
97
101
|
// Stamp the resolved controller policy on the child only when the import
|
|
98
102
|
// specifies a `runtime:` field that resolves to something other than the
|
|
@@ -126,15 +130,60 @@ export async function create(
|
|
|
126
130
|
// const evaluatedExports: any = child.expand(moduleManifest.exports ?? {});
|
|
127
131
|
|
|
128
132
|
const exportedKinds: string[] = moduleManifest.exports?.kinds ?? [];
|
|
133
|
+
const exportedResourceNames: string[] = moduleManifest.exports?.resources ?? [];
|
|
134
|
+
for (const name of exportedResourceNames) {
|
|
135
|
+
if (name === "variables" || name === "secrets") {
|
|
136
|
+
throw new RuntimeError(
|
|
137
|
+
"ERR_INVALID_EXPORT",
|
|
138
|
+
`Library exports.resources may not include the reserved name '${name}' — it would overwrite the import's '${name}' value-flow surface under resources.${alias}.`,
|
|
139
|
+
);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
129
142
|
ctx.registerModuleImport(alias, targetModule, exportedKinds);
|
|
130
|
-
|
|
131
|
-
//
|
|
132
|
-
//
|
|
143
|
+
|
|
144
|
+
// Publish the child's exported instances to the parent so cross-module `!ref Alias.name`
|
|
145
|
+
// (Phase 5 injection / boot targets) and `${{ resources.Alias.name }}` (CEL value-flow)
|
|
146
|
+
// resolve. The gate is `exports.resources`; the lookup is lazy — instances exist after
|
|
147
|
+
// this import's init() has run child.initializeResources().
|
|
148
|
+
(ctx.moduleContext as ModuleContext).registerImportedScope(
|
|
149
|
+
alias,
|
|
150
|
+
exportedResourceNames,
|
|
151
|
+
(name) => {
|
|
152
|
+
const entry = childCtx.resourceInstances.get(name);
|
|
153
|
+
if (!entry) return undefined;
|
|
154
|
+
// Canonicalize the authored kind to `<module>.<Kind>` so the cross-module ref shape and
|
|
155
|
+
// event naming are scope-independent. Exported instances are authored `Self.<Kind>` —
|
|
156
|
+
// the only case the std modules use, and the only one canonicalized here; it maps to the
|
|
157
|
+
// owning module directly, matching the analyzer's rule in resolve-ref-sentinels.ts. A
|
|
158
|
+
// re-exported foreign kind (authored via another import alias) is a future case with no
|
|
159
|
+
// current consumer and is left verbatim.
|
|
160
|
+
const rawKind = entry.resource.kind as string;
|
|
161
|
+
const kind = rawKind.startsWith("Self.")
|
|
162
|
+
? `${targetModule}.${rawKind.slice("Self.".length)}`
|
|
163
|
+
: rawKind;
|
|
164
|
+
return { kind, instance: entry.instance };
|
|
165
|
+
},
|
|
166
|
+
);
|
|
167
|
+
|
|
168
|
+
// Return a ResourceInstance whose snapshot() surfaces the exported values under
|
|
169
|
+
// resources.<alias>: the import's variables/secrets plus each exported instance's own
|
|
170
|
+
// snapshot keyed by name (the CEL value-flow surface for Provider-style exports).
|
|
171
|
+
// The kernel's generic setResource() stores the result under resources.<alias>.
|
|
133
172
|
return {
|
|
134
|
-
snapshot: () =>
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
173
|
+
snapshot: async () => {
|
|
174
|
+
const exported: Record<string, unknown> = {};
|
|
175
|
+
for (const name of exportedResourceNames) {
|
|
176
|
+
const inst = childCtx.resourceInstances.get(name)?.instance;
|
|
177
|
+
if (inst && typeof inst.snapshot === "function") {
|
|
178
|
+
exported[name] = await Promise.resolve(inst.snapshot());
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
return {
|
|
182
|
+
variables: ctx.expandValue(resource.variables, {}) ?? {},
|
|
183
|
+
secrets: ctx.expandValue(resource.secrets, {}) ?? {},
|
|
184
|
+
...exported,
|
|
185
|
+
};
|
|
186
|
+
},
|
|
138
187
|
init: async () => {
|
|
139
188
|
await child.initializeResources();
|
|
140
189
|
},
|
|
@@ -202,6 +202,16 @@ export class EvaluationContext implements IEvaluationContext {
|
|
|
202
202
|
return child;
|
|
203
203
|
}
|
|
204
204
|
|
|
205
|
+
/**
|
|
206
|
+
* Resolve a cross-module exported instance (`!ref Alias.name`) to its live instance.
|
|
207
|
+
* Overridable hook: the base context has no imports, so it returns undefined; ModuleContext
|
|
208
|
+
* overrides it to route into the named import's child context. Declared here so the
|
|
209
|
+
* injection / scope closures in this base class can call it without downcasting.
|
|
210
|
+
*/
|
|
211
|
+
resolveImportedInstance(alias: string, name: string): ResourceInstance | undefined {
|
|
212
|
+
return undefined;
|
|
213
|
+
}
|
|
214
|
+
|
|
205
215
|
/**
|
|
206
216
|
* Interleaved create/init loop.
|
|
207
217
|
*
|
|
@@ -259,7 +269,11 @@ export class EvaluationContext implements IEvaluationContext {
|
|
|
259
269
|
if (this.resourceInstances.has(name)) continue;
|
|
260
270
|
try {
|
|
261
271
|
if (this.preInitHook) {
|
|
262
|
-
this.preInitHook(resource, (n) =>
|
|
272
|
+
this.preInitHook(resource, (n, alias) =>
|
|
273
|
+
alias && alias !== "Self"
|
|
274
|
+
? this.resolveImportedInstance(alias, n)
|
|
275
|
+
: this.resourceInstances.get(n)?.instance,
|
|
276
|
+
);
|
|
263
277
|
}
|
|
264
278
|
if (instance.init) await instance.init(ctx);
|
|
265
279
|
if (instance.snapshot) {
|
|
@@ -370,9 +384,10 @@ export class EvaluationContext implements IEvaluationContext {
|
|
|
370
384
|
if (parent.preInitHook) {
|
|
371
385
|
const parentHook = parent.preInitHook;
|
|
372
386
|
child.preInitHook = (resource, childGetInstance) => {
|
|
373
|
-
parentHook(
|
|
374
|
-
|
|
375
|
-
|
|
387
|
+
parentHook(resource, (name, alias) =>
|
|
388
|
+
alias && alias !== "Self"
|
|
389
|
+
? parent.resolveImportedInstance(alias, name)
|
|
390
|
+
: childGetInstance(name) ?? parent.resourceInstances.get(name)?.instance,
|
|
376
391
|
);
|
|
377
392
|
};
|
|
378
393
|
}
|
|
@@ -383,7 +398,17 @@ export class EvaluationContext implements IEvaluationContext {
|
|
|
383
398
|
}
|
|
384
399
|
await child.initializeResources();
|
|
385
400
|
const scope: ScopeContext = {
|
|
386
|
-
getInstance(name: string): ResourceInstance {
|
|
401
|
+
getInstance(name: string, alias?: string): ResourceInstance {
|
|
402
|
+
// Cross-module exported instance (`!ref Alias.name` inside the scope) —
|
|
403
|
+
// route into the owning import's child context, not scope-local resources.
|
|
404
|
+
if (alias && alias !== "Self") {
|
|
405
|
+
const imported = parent.resolveImportedInstance(alias, name);
|
|
406
|
+
if (imported) return imported;
|
|
407
|
+
throw new RuntimeError(
|
|
408
|
+
"ERR_SCOPE_RESOURCE_NOT_FOUND",
|
|
409
|
+
`Cross-module reference '${alias}.${name}' did not resolve to an exported instance.`,
|
|
410
|
+
);
|
|
411
|
+
}
|
|
387
412
|
const childEntry = child.resourceInstances.get(name);
|
|
388
413
|
if (childEntry) return childEntry.instance;
|
|
389
414
|
const parentEntry = parent.resourceInstances.get(name);
|
package/src/kernel.ts
CHANGED
|
@@ -381,7 +381,14 @@ export class Kernel implements IKernel {
|
|
|
381
381
|
// into first-class named manifests and replace them in-place with {kind, name} references.
|
|
382
382
|
// Update staticManifests so Phase 3 (validateReferences) and Phase 4 (DAG) see
|
|
383
383
|
// the same normalized structure.
|
|
384
|
-
|
|
384
|
+
// Pass the analyzer-flattened set (entry + forwarded library exports) as cross-module
|
|
385
|
+
// resolution targets so `!ref Alias.name` in the entry-only runtime manifests resolves
|
|
386
|
+
// to imported libraries' exported instances.
|
|
387
|
+
const normalizedManifests = this.analyzer.normalize(
|
|
388
|
+
allManifests,
|
|
389
|
+
this.registry,
|
|
390
|
+
staticManifests,
|
|
391
|
+
);
|
|
385
392
|
this.staticManifests = normalizedManifests;
|
|
386
393
|
|
|
387
394
|
let rootApplicationManifest: ResourceManifest | undefined;
|
|
@@ -855,7 +862,7 @@ export class Kernel implements IKernel {
|
|
|
855
862
|
*/
|
|
856
863
|
private _injectDependencies(
|
|
857
864
|
resource: ResourceManifest,
|
|
858
|
-
getInstance: (name: string) => ResourceInstance | undefined,
|
|
865
|
+
getInstance: (name: string, alias?: string) => ResourceInstance | undefined,
|
|
859
866
|
): void {
|
|
860
867
|
this.registry.iterateFieldEntries(
|
|
861
868
|
resource,
|
|
@@ -1039,10 +1046,28 @@ function collectEvalPathsNode(
|
|
|
1039
1046
|
function injectAtPath(
|
|
1040
1047
|
resource: ResourceManifest,
|
|
1041
1048
|
fieldPath: string,
|
|
1042
|
-
getInstance: (name: string) => ResourceInstance | undefined,
|
|
1049
|
+
getInstance: (name: string, alias?: string) => ResourceInstance | undefined,
|
|
1043
1050
|
): void {
|
|
1044
1051
|
const parts = fieldPath.split(".");
|
|
1045
1052
|
|
|
1053
|
+
// Resolve a {kind, name, alias?} reference to its live instance. A non-`Self` alias is a
|
|
1054
|
+
// cross-module reference into an import's published exports; if that import hasn't
|
|
1055
|
+
// finished init() yet the instance is absent, so we throw to defer this resource to a
|
|
1056
|
+
// later pass of the multi-pass init loop (which catches and retries) rather than leaving
|
|
1057
|
+
// the ref unresolved. Local refs (no alias) that miss are left for topo ordering / later
|
|
1058
|
+
// diagnostics, matching prior behaviour.
|
|
1059
|
+
function resolveInto(ref: Record<string, unknown>): ResourceInstance | undefined {
|
|
1060
|
+
const alias = typeof ref.alias === "string" ? ref.alias : undefined;
|
|
1061
|
+
const instance = getInstance(ref.name as string, alias);
|
|
1062
|
+
if (!instance && alias && alias !== "Self") {
|
|
1063
|
+
throw new RuntimeError(
|
|
1064
|
+
"ERR_CROSS_MODULE_REF_PENDING",
|
|
1065
|
+
`Cross-module reference '${alias}.${String(ref.name)}' is not available yet (import not initialized)`,
|
|
1066
|
+
);
|
|
1067
|
+
}
|
|
1068
|
+
return instance;
|
|
1069
|
+
}
|
|
1070
|
+
|
|
1046
1071
|
function traverse(obj: unknown, partsLeft: string[]): void {
|
|
1047
1072
|
if (!obj || typeof obj !== "object" || partsLeft.length === 0) return;
|
|
1048
1073
|
const [head, ...rest] = partsLeft;
|
|
@@ -1057,7 +1082,7 @@ function injectAtPath(
|
|
|
1057
1082
|
if (rest.length === 0) {
|
|
1058
1083
|
const ref = elem as Record<string, unknown>;
|
|
1059
1084
|
if (typeof ref.kind === "string" && typeof ref.name === "string") {
|
|
1060
|
-
const instance =
|
|
1085
|
+
const instance = resolveInto(ref);
|
|
1061
1086
|
if (instance) container[mapKey] = instance;
|
|
1062
1087
|
}
|
|
1063
1088
|
} else {
|
|
@@ -1081,7 +1106,7 @@ function injectAtPath(
|
|
|
1081
1106
|
if (rest.length === 0) {
|
|
1082
1107
|
const ref = elem as Record<string, unknown>;
|
|
1083
1108
|
if (typeof ref.kind === "string" && typeof ref.name === "string") {
|
|
1084
|
-
const instance =
|
|
1109
|
+
const instance = resolveInto(ref);
|
|
1085
1110
|
if (instance) val[i] = instance;
|
|
1086
1111
|
}
|
|
1087
1112
|
} else {
|
|
@@ -1093,7 +1118,7 @@ function injectAtPath(
|
|
|
1093
1118
|
if (val && typeof val === "object" && !Array.isArray(val)) {
|
|
1094
1119
|
const ref = val as Record<string, unknown>;
|
|
1095
1120
|
if (typeof ref.kind === "string" && typeof ref.name === "string") {
|
|
1096
|
-
const instance =
|
|
1121
|
+
const instance = resolveInto(ref);
|
|
1097
1122
|
if (instance) container[key] = instance;
|
|
1098
1123
|
}
|
|
1099
1124
|
}
|
package/src/module-context.ts
CHANGED
|
@@ -6,6 +6,7 @@ import type {
|
|
|
6
6
|
InvokeStep,
|
|
7
7
|
InvokeStepContext,
|
|
8
8
|
ModuleContext as IModuleContext,
|
|
9
|
+
ResourceInstance,
|
|
9
10
|
} from "@telorun/sdk";
|
|
10
11
|
import type { EmitEvent, InstanceFactory } from "@telorun/sdk";
|
|
11
12
|
import { EvaluationContext } from "./evaluation-context.js";
|
|
@@ -72,6 +73,18 @@ export class ModuleContext extends EvaluationContext implements IModuleContext {
|
|
|
72
73
|
/** Maps import alias → allowed kind names. Absent entry = unrestricted (e.g. Kernel). */
|
|
73
74
|
private readonly importedKinds = new Map<string, Set<string>>();
|
|
74
75
|
|
|
76
|
+
/** Maps import alias → its child context's exported instances. Registered by the
|
|
77
|
+
* Telo.Import controller; read when resolving a cross-module `!ref Alias.name`
|
|
78
|
+
* reference (Phase 5 injection and boot targets). `names` is the import's
|
|
79
|
+
* `exports.resources` gate — only listed instances are reachable. */
|
|
80
|
+
private readonly importedScopes = new Map<
|
|
81
|
+
string,
|
|
82
|
+
{
|
|
83
|
+
names: Set<string>;
|
|
84
|
+
get: (name: string) => { kind: string; instance: ResourceInstance } | undefined;
|
|
85
|
+
}
|
|
86
|
+
>();
|
|
87
|
+
|
|
75
88
|
/**
|
|
76
89
|
* Resolved controller-selection policy for this module's `Telo.Definition`s.
|
|
77
90
|
* Stamped by the parent `Telo.Import` controller from the import's `runtime:`
|
|
@@ -161,6 +174,37 @@ export class ModuleContext extends EvaluationContext implements IModuleContext {
|
|
|
161
174
|
}
|
|
162
175
|
}
|
|
163
176
|
|
|
177
|
+
/** Register an import alias's exported instances for cross-module reference resolution.
|
|
178
|
+
* `names` is the gate (the import's `exports.resources`); `get` reads the child context's
|
|
179
|
+
* live instance + its canonical kind lazily — they exist only after the import's `init()`
|
|
180
|
+
* runs. */
|
|
181
|
+
registerImportedScope(
|
|
182
|
+
alias: string,
|
|
183
|
+
names: string[],
|
|
184
|
+
get: (name: string) => { kind: string; instance: ResourceInstance } | undefined,
|
|
185
|
+
): void {
|
|
186
|
+
this.importedScopes.set(alias, { names: new Set(names), get });
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/** Resolve `Alias.name` to a live exported instance, gated by `exports.resources`.
|
|
190
|
+
* Returns undefined when the alias is unknown, the name isn't exported, or the import
|
|
191
|
+
* hasn't initialized its instances yet (the injection path defers and retries). */
|
|
192
|
+
override resolveImportedInstance(alias: string, name: string): ResourceInstance | undefined {
|
|
193
|
+
const scope = this.importedScopes.get(alias);
|
|
194
|
+
if (!scope || !scope.names.has(name)) return undefined;
|
|
195
|
+
return scope.get(name)?.instance;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
/** Like `resolveImportedInstance`, but returns the `{kind, name}` ref (canonical kind)
|
|
199
|
+
* for controllers that resolve step/handler invokes to refs rather than live instances
|
|
200
|
+
* (e.g. Run.Sequence via `resolveChildren`). The alias is reattached by the caller. */
|
|
201
|
+
resolveImportedRef(alias: string, name: string): { kind: string; name: string } | undefined {
|
|
202
|
+
const scope = this.importedScopes.get(alias);
|
|
203
|
+
if (!scope || !scope.names.has(name)) return undefined;
|
|
204
|
+
const entry = scope.get(name);
|
|
205
|
+
return entry ? { kind: entry.kind, name } : undefined;
|
|
206
|
+
}
|
|
207
|
+
|
|
164
208
|
hasImport(alias: string): boolean {
|
|
165
209
|
return this.importAliases.has(alias);
|
|
166
210
|
}
|
|
@@ -266,6 +310,7 @@ export class ModuleContext extends EvaluationContext implements IModuleContext {
|
|
|
266
310
|
invoke: (kind, name, inputs) => this.invoke(kind, name, inputs),
|
|
267
311
|
invokeResolved: (kind, name, instance, inputs) =>
|
|
268
312
|
this.invokeResolved(kind, name, instance, inputs),
|
|
313
|
+
resolveImportedInstance: (alias, name) => this.resolveImportedInstance(alias, name),
|
|
269
314
|
};
|
|
270
315
|
for (let i = 0; i < this.targets.length; i++) {
|
|
271
316
|
const target = this.targets[i]!;
|
|
@@ -277,6 +322,9 @@ export class ModuleContext extends EvaluationContext implements IModuleContext {
|
|
|
277
322
|
const step: InvokeStep = {
|
|
278
323
|
name: target.name ?? `Target${i}`,
|
|
279
324
|
when: target.when,
|
|
325
|
+
// A cross-module `!ref Alias.name` stays a `{kind, name, alias}` ref; the leaf's
|
|
326
|
+
// alias branch resolves it via `resolveImportedInstance` and dispatches through
|
|
327
|
+
// `invokeResolved` so invocation events and error wrapping still fire.
|
|
280
328
|
invoke: target.invoke,
|
|
281
329
|
inputs: target.inputs,
|
|
282
330
|
};
|
|
@@ -284,9 +332,21 @@ export class ModuleContext extends EvaluationContext implements IModuleContext {
|
|
|
284
332
|
continue;
|
|
285
333
|
}
|
|
286
334
|
if ("ref" in target && target.ref != null) {
|
|
287
|
-
const refName = typeof target.ref === "string" ? target.ref : target.ref.name;
|
|
288
335
|
if (target.when === undefined || this.expandWith(target.when, { steps })) {
|
|
289
|
-
|
|
336
|
+
const ref = target.ref as unknown;
|
|
337
|
+
const r =
|
|
338
|
+
ref && typeof ref === "object" ? (ref as { name: string; alias?: string }) : undefined;
|
|
339
|
+
if (r && typeof r.alias === "string" && r.alias !== "Self") {
|
|
340
|
+
const inst = this.resolveImportedInstance(r.alias, r.name);
|
|
341
|
+
if (!inst || typeof inst.run !== "function") {
|
|
342
|
+
throw new Error(
|
|
343
|
+
`Boot target '${r.alias}.${r.name}' is not a runnable exported instance`,
|
|
344
|
+
);
|
|
345
|
+
}
|
|
346
|
+
await inst.run();
|
|
347
|
+
} else {
|
|
348
|
+
await this.run(typeof ref === "string" ? ref : r!.name);
|
|
349
|
+
}
|
|
290
350
|
}
|
|
291
351
|
continue;
|
|
292
352
|
}
|