@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.
Files changed (127) hide show
  1. package/dist/controllers/module/import-controller.d.ts.map +1 -1
  2. package/dist/controllers/module/import-controller.js +50 -8
  3. package/dist/controllers/module/import-controller.js.map +1 -1
  4. package/dist/evaluation-context.d.ts +7 -0
  5. package/dist/evaluation-context.d.ts.map +1 -1
  6. package/dist/evaluation-context.js +24 -3
  7. package/dist/evaluation-context.js.map +1 -1
  8. package/dist/kernel.d.ts.map +1 -1
  9. package/dist/kernel.js +21 -4
  10. package/dist/kernel.js.map +1 -1
  11. package/dist/module-context.d.ts +25 -1
  12. package/dist/module-context.d.ts.map +1 -1
  13. package/dist/module-context.js +47 -2
  14. package/dist/module-context.js.map +1 -1
  15. package/dist/resource-context.d.ts +2 -0
  16. package/dist/resource-context.d.ts.map +1 -1
  17. package/dist/resource-context.js +19 -1
  18. package/dist/resource-context.js.map +1 -1
  19. package/package.json +6 -5
  20. package/src/controllers/module/import-controller.ts +66 -17
  21. package/src/evaluation-context.ts +30 -5
  22. package/src/kernel.ts +31 -6
  23. package/src/module-context.ts +62 -2
  24. package/src/resource-context.ts +27 -2
  25. package/dist/base-definition.d.ts +0 -14
  26. package/dist/base-definition.d.ts.map +0 -1
  27. package/dist/base-definition.js +0 -17
  28. package/dist/base-definition.js.map +0 -1
  29. package/dist/capabilities/capabilities/component.yaml +0 -4
  30. package/dist/capabilities/capabilities/executable.yaml +0 -8
  31. package/dist/capabilities/capabilities/handler.yaml +0 -4
  32. package/dist/capabilities/capabilities/listener.yaml +0 -4
  33. package/dist/capabilities/capabilities/provider.yaml +0 -4
  34. package/dist/capabilities/capabilities/template.yaml +0 -4
  35. package/dist/capabilities/capabilities/type.yaml +0 -4
  36. package/dist/capabilities/component.d.ts +0 -3
  37. package/dist/capabilities/component.d.ts.map +0 -1
  38. package/dist/capabilities/component.js +0 -4
  39. package/dist/capabilities/component.js.map +0 -1
  40. package/dist/capabilities/component.yaml +0 -3
  41. package/dist/capabilities/executable.d.ts +0 -3
  42. package/dist/capabilities/executable.d.ts.map +0 -1
  43. package/dist/capabilities/executable.js +0 -5
  44. package/dist/capabilities/executable.js.map +0 -1
  45. package/dist/capabilities/executable.yaml +0 -7
  46. package/dist/capabilities/handler.d.ts +0 -3
  47. package/dist/capabilities/handler.d.ts.map +0 -1
  48. package/dist/capabilities/handler.js +0 -4
  49. package/dist/capabilities/handler.js.map +0 -1
  50. package/dist/capabilities/handler.yaml +0 -3
  51. package/dist/capabilities/invokable.d.ts +0 -3
  52. package/dist/capabilities/invokable.d.ts.map +0 -1
  53. package/dist/capabilities/invokable.js +0 -5
  54. package/dist/capabilities/invokable.js.map +0 -1
  55. package/dist/capabilities/listener.d.ts +0 -3
  56. package/dist/capabilities/listener.d.ts.map +0 -1
  57. package/dist/capabilities/listener.js +0 -5
  58. package/dist/capabilities/listener.js.map +0 -1
  59. package/dist/capabilities/listener.yaml +0 -3
  60. package/dist/capabilities/mount.d.ts +0 -3
  61. package/dist/capabilities/mount.d.ts.map +0 -1
  62. package/dist/capabilities/mount.js +0 -5
  63. package/dist/capabilities/mount.js.map +0 -1
  64. package/dist/capabilities/provider.d.ts +0 -3
  65. package/dist/capabilities/provider.d.ts.map +0 -1
  66. package/dist/capabilities/provider.js +0 -8
  67. package/dist/capabilities/provider.js.map +0 -1
  68. package/dist/capabilities/provider.yaml +0 -3
  69. package/dist/capabilities/runnable.d.ts +0 -3
  70. package/dist/capabilities/runnable.d.ts.map +0 -1
  71. package/dist/capabilities/runnable.js +0 -5
  72. package/dist/capabilities/runnable.js.map +0 -1
  73. package/dist/capabilities/service.d.ts +0 -3
  74. package/dist/capabilities/service.d.ts.map +0 -1
  75. package/dist/capabilities/service.js +0 -5
  76. package/dist/capabilities/service.js.map +0 -1
  77. package/dist/capabilities/template.d.ts +0 -3
  78. package/dist/capabilities/template.d.ts.map +0 -1
  79. package/dist/capabilities/template.js +0 -5
  80. package/dist/capabilities/template.js.map +0 -1
  81. package/dist/capabilities/template.yaml +0 -3
  82. package/dist/capabilities/type.d.ts +0 -3
  83. package/dist/capabilities/type.d.ts.map +0 -1
  84. package/dist/capabilities/type.js +0 -5
  85. package/dist/capabilities/type.js.map +0 -1
  86. package/dist/capabilities/type.yaml +0 -3
  87. package/dist/controllers/capability/capability-controller.d.ts +0 -32
  88. package/dist/controllers/capability/capability-controller.d.ts.map +0 -1
  89. package/dist/controllers/capability/capability-controller.js +0 -26
  90. package/dist/controllers/capability/capability-controller.js.map +0 -1
  91. package/dist/controllers/module/module.json +0 -48
  92. package/dist/loader.d.ts +0 -18
  93. package/dist/loader.d.ts.map +0 -1
  94. package/dist/loader.js +0 -127
  95. package/dist/loader.js.map +0 -1
  96. package/dist/manifest-adapters/http-adapter.d.ts +0 -8
  97. package/dist/manifest-adapters/http-adapter.d.ts.map +0 -1
  98. package/dist/manifest-adapters/http-adapter.js +0 -31
  99. package/dist/manifest-adapters/http-adapter.js.map +0 -1
  100. package/dist/manifest-adapters/local-file-adapter.d.ts +0 -15
  101. package/dist/manifest-adapters/local-file-adapter.d.ts.map +0 -1
  102. package/dist/manifest-adapters/local-file-adapter.js +0 -95
  103. package/dist/manifest-adapters/local-file-adapter.js.map +0 -1
  104. package/dist/manifest-adapters/manifest-adapter.d.ts +0 -35
  105. package/dist/manifest-adapters/manifest-adapter.d.ts.map +0 -1
  106. package/dist/manifest-adapters/manifest-adapter.js +0 -2
  107. package/dist/manifest-adapters/manifest-adapter.js.map +0 -1
  108. package/dist/manifest-adapters/registry-adapter.d.ts +0 -9
  109. package/dist/manifest-adapters/registry-adapter.d.ts.map +0 -1
  110. package/dist/manifest-adapters/registry-adapter.js +0 -48
  111. package/dist/manifest-adapters/registry-adapter.js.map +0 -1
  112. package/dist/module-context-registry.d.ts +0 -48
  113. package/dist/module-context-registry.d.ts.map +0 -1
  114. package/dist/module-context-registry.js +0 -91
  115. package/dist/module-context-registry.js.map +0 -1
  116. package/dist/schema-valiator.d.ts +0 -15
  117. package/dist/schema-valiator.d.ts.map +0 -1
  118. package/dist/schema-valiator.js +0 -127
  119. package/dist/schema-valiator.js.map +0 -1
  120. package/dist/snapshot-serializer.d.ts +0 -62
  121. package/dist/snapshot-serializer.d.ts.map +0 -1
  122. package/dist/snapshot-serializer.js +0 -164
  123. package/dist/snapshot-serializer.js.map +0 -1
  124. package/dist/types.d.ts +0 -65
  125. package/dist/types.d.ts.map +0 -1
  126. package/dist/types.js +0 -8
  127. package/dist/types.js.map +0 -1
@@ -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
- await this.run(refName);
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":"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"}
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":"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"}
1
+ {"version":3,"file":"resource-context.d.ts","sourceRoot":"","sources":["../src/resource-context.ts"],"names":[],"mappings":"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"}
@@ -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 refName = resource.source;
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.15.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.14.0",
51
- "@telorun/templating": "0.4.0",
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": "0.13.0"
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 child = ctx.moduleContext.spawnChild(
86
- new ModuleContext(
87
- ctx.moduleContext.source,
88
- (resource.variables as Record<string, unknown>) ?? {},
89
- (resource.secrets as Record<string, unknown>) ?? {},
90
- {},
91
- [],
92
- ctx.moduleContext.createInstance,
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
- // Return a ResourceInstance whose snapshot() surfaces the exported values.
131
- // The kernel's generic setResource() call stores them under resources.<alias>
132
- // in the declaring module's evaluation context no separate imports namespace needed.
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
- variables: ctx.expandValue(resource.variables, {}) ?? {},
136
- secrets: ctx.expandValue(resource.secrets, {}) ?? {},
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) => this.resourceInstances.get(n)?.instance);
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
- resource,
375
- (name) => childGetInstance(name) ?? parent.resourceInstances.get(name)?.instance,
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
- const normalizedManifests = this.analyzer.normalize(allManifests, this.registry);
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 = getInstance(ref.name);
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 = getInstance(ref.name);
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 = getInstance(ref.name);
1121
+ const instance = resolveInto(ref);
1097
1122
  if (instance) container[key] = instance;
1098
1123
  }
1099
1124
  }
@@ -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
- await this.run(refName);
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
  }