@telorun/kernel 0.32.0 → 0.34.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.
@@ -6,5 +6,5 @@ import { ResourceInstance, ResourceManifest } from "@telorun/sdk";
6
6
  * returned live ResourceInstance. Values where getInstance returns undefined are
7
7
  * left unchanged.
8
8
  */
9
- export declare function injectAtPath(resource: ResourceManifest, fieldPath: string, getInstance: (name: string, alias?: string) => ResourceInstance | undefined): void;
9
+ export declare function injectAtPath(resource: ResourceManifest, fieldPath: string, getInstance: (name: string, alias?: string) => ResourceInstance | undefined, isPending?: (name: string) => boolean): void;
10
10
  //# sourceMappingURL=dependency-injection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dependency-injection.d.ts","sourceRoot":"","sources":["../src/dependency-injection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAkC,MAAM,cAAc,CAAC;AAElG;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,gBAAgB,GAAG,SAAS,GAC1E,IAAI,CAwFN"}
1
+ {"version":3,"file":"dependency-injection.d.ts","sourceRoot":"","sources":["../src/dependency-injection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAkC,MAAM,cAAc,CAAC;AAElG;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,gBAAgB,GAAG,SAAS,EAC3E,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GACpC,IAAI,CAmGN"}
@@ -6,20 +6,28 @@ import { RuntimeError, stampRefIdentity } from "@telorun/sdk";
6
6
  * returned live ResourceInstance. Values where getInstance returns undefined are
7
7
  * left unchanged.
8
8
  */
9
- export function injectAtPath(resource, fieldPath, getInstance) {
9
+ export function injectAtPath(resource, fieldPath, getInstance, isPending) {
10
10
  const parts = fieldPath.split(".");
11
11
  // Resolve a {kind, name, alias?} reference to its live instance. A non-`Self` alias is a
12
12
  // cross-module reference into an import's published exports; if that import hasn't
13
13
  // finished init() yet the instance is absent, so we throw to defer this resource to a
14
14
  // later pass of the multi-pass init loop (which catches and retries) rather than leaving
15
- // the ref unresolved. Local refs (no alias) that miss are left for topo ordering / later
16
- // diagnostics, matching prior behaviour.
15
+ // the ref unresolved. A LOCAL ref (no alias) that names a resource registered in this
16
+ // context but not yet initialized is deferred the same way — create-success order does
17
+ // not always match init order (e.g. a globally-registered controller lets a dependent
18
+ // create before its dependency's controller has loaded), so injection can run before the
19
+ // dependency inits. Without this defer the slot would be left unresolved and surface as a
20
+ // runtime ERR_RESOURCE_NOT_INVOKABLE. A local ref that names nothing pending is left as-is
21
+ // (topo ordering / later diagnostics), matching prior behaviour.
17
22
  function resolveInto(ref) {
18
23
  const alias = typeof ref.alias === "string" ? ref.alias : undefined;
19
24
  const instance = getInstance(ref.name, alias);
20
25
  if (!instance && alias && alias !== "Self") {
21
26
  throw new RuntimeError("ERR_CROSS_MODULE_REF_PENDING", `Cross-module reference '${alias}.${String(ref.name)}' is not available yet (import not initialized)`);
22
27
  }
28
+ if (!instance && (!alias || alias === "Self") && isPending?.(ref.name)) {
29
+ throw new RuntimeError("ERR_LOCAL_REF_PENDING", `Local reference '${String(ref.name)}' is registered but not initialized yet (deferring to a later init pass)`);
30
+ }
23
31
  // Tag the instance with the kind+name it resolved from, so a consumer that
24
32
  // holds only the bare instance (an invoke-step target) can dispatch it
25
33
  // through the traced chokepoint rather than calling `.invoke()` directly.
@@ -1 +1 @@
1
- {"version":3,"file":"dependency-injection.js","sourceRoot":"","sources":["../src/dependency-injection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dependency-injection.js","sourceRoot":"","sources":["../src/dependency-injection.ts"],"names":[],"mappings":"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"}
@@ -185,6 +185,16 @@ export declare class EvaluationContext implements IEvaluationContext {
185
185
  */
186
186
  openSpan(base: InvokeContext | undefined, opts: OpenSpanOptions): Promise<OpenSpan>;
187
187
  private runInstance;
188
+ /**
189
+ * Run `fn` detached from the caller's cancellation/trace scope. The current
190
+ * ambient `InvokeContext` (a request's token + span) is replaced with the
191
+ * uncancellable root, so request-scope teardown cannot abort the work and it
192
+ * does not nest under the request's trace. This is the bare scope primitive —
193
+ * tracking/draining a detached task is the owning resource's concern (the
194
+ * per-resource `ResourceContext` records the task and drains it in the
195
+ * resource's teardown).
196
+ */
197
+ runDetached<T>(fn: () => Promise<T>): Promise<T>;
188
198
  /**
189
199
  * Expand a value that may contain precompiled ${{ }} templates.
190
200
  *
@@ -1 +1 @@
1
- {"version":3,"file":"evaluation-context.d.ts","sourceRoot":"","sources":["../src/evaluation-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluation-context.d.ts","sourceRoot":"","sources":["../src/evaluation-context.ts"],"names":[],"mappings":"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"}
@@ -279,7 +279,7 @@ export class EvaluationContext {
279
279
  if (this.preInitHook) {
280
280
  this.preInitHook(resource, (n, alias) => alias && alias !== "Self"
281
281
  ? this.resolveImportedInstance(alias, n)
282
- : this.resourceInstances.get(n)?.instance);
282
+ : this.resourceInstances.get(n)?.instance, (n) => this.hasManifest(n) && !this.resourceInstances.has(n));
283
283
  }
284
284
  if (instance.init)
285
285
  await instance.init(ctx);
@@ -371,10 +371,14 @@ export class EvaluationContext {
371
371
  // Propagate injection hook: extend getInstance to also resolve parent singleton instances.
372
372
  if (parent.preInitHook) {
373
373
  const parentHook = parent.preInitHook;
374
- child.preInitHook = (resource, childGetInstance) => {
374
+ child.preInitHook = (resource, childGetInstance, childIsPending) => {
375
375
  parentHook(resource, (name, alias) => alias && alias !== "Self"
376
376
  ? parent.resolveImportedInstance(alias, name)
377
- : childGetInstance(name) ?? parent.resourceInstances.get(name)?.instance);
377
+ : childGetInstance(name) ?? parent.resourceInstances.get(name)?.instance,
378
+ // A scoped ref resolves against the scope's own resources or an already-inited
379
+ // outer one; only a scope-local dependency can still be pending. The outer is
380
+ // live by the time a scope opens, so the child's own predicate suffices.
381
+ childIsPending);
378
382
  };
379
383
  }
380
384
  try {
@@ -758,6 +762,18 @@ export class EvaluationContext {
758
762
  throw err;
759
763
  }
760
764
  }
765
+ /**
766
+ * Run `fn` detached from the caller's cancellation/trace scope. The current
767
+ * ambient `InvokeContext` (a request's token + span) is replaced with the
768
+ * uncancellable root, so request-scope teardown cannot abort the work and it
769
+ * does not nest under the request's trace. This is the bare scope primitive —
770
+ * tracking/draining a detached task is the owning resource's concern (the
771
+ * per-resource `ResourceContext` records the task and drains it in the
772
+ * resource's teardown).
773
+ */
774
+ runDetached(fn) {
775
+ return cancellationStore.run(UNCANCELLABLE_CONTEXT, fn);
776
+ }
761
777
  /**
762
778
  * Expand a value that may contain precompiled ${{ }} templates.
763
779
  *
@@ -1 +1 @@
1
- {"version":3,"file":"evaluation-context.js","sourceRoot":"","sources":["../src/evaluation-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluation-context.js","sourceRoot":"","sources":["../src/evaluation-context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"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"}
package/dist/kernel.js CHANGED
@@ -198,7 +198,7 @@ export class Kernel {
198
198
  // Initialize built-in Runtime definitions first
199
199
  await this.loadBuiltinDefinitions();
200
200
  // Phase 5: attach injection hook — fires between create() and init() for every resource
201
- this.rootContext.preInitHook = (resource, getInstance) => this._injectDependencies(resource, getInstance);
201
+ this.rootContext.preInitHook = (resource, getInstance, isPending) => this._injectDependencies(resource, getInstance, isPending);
202
202
  // Expose definition lookup so invoke()/invokeResolved() can check thrown
203
203
  // InvokeError.code against the declared throw union (rule 9). Propagates
204
204
  // through spawnChild() to module imports and scoped handles.
@@ -755,6 +755,17 @@ export class Kernel {
755
755
  const instance = await controller.create(processedResource, ctx);
756
756
  if (!instance)
757
757
  return null;
758
+ // Fold the resource's fire-and-forget drain into its own teardown: tearing
759
+ // the resource down drains the background tasks it spawned (the kernel just
760
+ // calls teardown() — it tracks no tasks itself). A drain with no pending
761
+ // tasks is a no-op, so this is safe for every resource.
762
+ const ownerCtx = ctx;
763
+ const originalTeardown = instance.teardown?.bind(instance);
764
+ instance.teardown = async () => {
765
+ await ownerCtx.drainDetached();
766
+ if (originalTeardown)
767
+ await originalTeardown();
768
+ };
758
769
  if (!runtime.length)
759
770
  return { instance, ctx, resource: processedResource };
760
771
  // Override invoke in-place so all lifecycle methods (init/invoke/teardown/snapshot)
@@ -777,8 +788,8 @@ export class Kernel {
777
788
  * paths) with the live ResourceInstance returned by getInstance(name). Fields within
778
789
  * scope paths are left as {kind, name} — the controller resolves them at runtime.
779
790
  */
780
- _injectDependencies(resource, getInstance) {
781
- this.registry.iterateFieldEntries(resource, (fieldPath) => injectAtPath(resource, fieldPath, getInstance), (fieldPath) => {
791
+ _injectDependencies(resource, getInstance, isPending) {
792
+ this.registry.iterateFieldEntries(resource, (fieldPath) => injectAtPath(resource, fieldPath, getInstance, isPending), (fieldPath) => {
782
793
  const val = resource[fieldPath];
783
794
  if (Array.isArray(val)) {
784
795
  resource[fieldPath] = this.rootContext.createScopeHandle(val);
@@ -1 +1 @@
1
- {"version":3,"file":"kernel.js","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kernel.js","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,20 @@ export declare class ResourceContextImpl implements ResourceContext {
20
20
  createTypeValidator(typeRef: string | Record<string, any> | undefined): import("@telorun/sdk").DataValidator;
21
21
  validateSchema(value: any, schema: any): void;
22
22
  createCancellationSource(): CancellationSource;
23
+ /** In-flight fire-and-forget tasks this resource spawned. Owned here, not by
24
+ * the kernel: the resource drains them in its own teardown (see
25
+ * `drainDetached`), so background work is bounded by the resource's lifetime. */
26
+ private readonly pendingDetached;
27
+ runDetached(fn: () => Promise<unknown>): void;
28
+ /**
29
+ * Await this resource's in-flight detached tasks, bounded by
30
+ * `DETACHED_DRAIN_TIMEOUT_MS`. Folded into the resource's teardown by the
31
+ * kernel, so tearing the resource down drains its background work (and its
32
+ * dependencies, torn down later in reverse order, are still alive meanwhile).
33
+ * Past the bound, remaining tasks are abandoned with a logged event rather
34
+ * than blocking shutdown.
35
+ */
36
+ drainDetached(): Promise<void>;
23
37
  openSpan(base: InvokeContext | undefined, opts: OpenSpanOptions): Promise<OpenSpan>;
24
38
  invoke<TInputs>(kind: string, name: string, inputs: TInputs): Promise<any>;
25
39
  invokeResolved<TInputs>(kind: string, name: string, instance: ResourceInstance, inputs: TInputs, ctx?: InvokeContext): Promise<any>;
@@ -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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"}
@@ -8,12 +8,19 @@ import { formatAjvErrors } from "./manifest-schemas.js";
8
8
  import { policyFingerprint } from "./runtime-registry.js";
9
9
  import { SchemaValidator } from "./schema-validator.js";
10
10
  const Ajv = AjvModule.default ?? AjvModule;
11
+ /** How long a resource's teardown waits for its in-flight detached tasks before
12
+ * abandoning them (with a logged event). */
13
+ const DETACHED_DRAIN_TIMEOUT_MS = 5000;
11
14
  export class ResourceContextImpl {
12
15
  constructor(kernel, moduleContext, metadata, validator = new SchemaValidator(), env, stdin, stdout, stderr, args) {
13
16
  this.kernel = kernel;
14
17
  this.moduleContext = moduleContext;
15
18
  this.metadata = metadata;
16
19
  this.validator = validator;
20
+ /** In-flight fire-and-forget tasks this resource spawned. Owned here, not by
21
+ * the kernel: the resource drains them in its own teardown (see
22
+ * `drainDetached`), so background work is bounded by the resource's lifetime. */
23
+ this.pendingDetached = new Set();
17
24
  this.env = env ?? process.env;
18
25
  this.stdin = stdin ?? process.stdin;
19
26
  this.stdout = stdout ?? process.stdout;
@@ -102,6 +109,47 @@ export class ResourceContextImpl {
102
109
  createCancellationSource() {
103
110
  return createCancellationSource();
104
111
  }
112
+ runDetached(fn) {
113
+ // Fire-and-forget: a detached task has no caller to throw to, so route a
114
+ // failure to the EventBus rather than letting it go unhandled. We track the
115
+ // error-handled chain (not the raw promise) so teardown drains a task whose
116
+ // settlement is already observed here.
117
+ const tracked = this.moduleContext
118
+ .runDetached(fn) // bare scope-detach primitive
119
+ .catch(async (err) => {
120
+ const detail = err instanceof Error ? { name: err.name, message: err.message } : { message: String(err) };
121
+ await this.emitEvent("background.task.error", { resource: this.metadata.name, error: detail });
122
+ })
123
+ .finally(() => {
124
+ this.pendingDetached.delete(tracked);
125
+ });
126
+ this.pendingDetached.add(tracked);
127
+ }
128
+ /**
129
+ * Await this resource's in-flight detached tasks, bounded by
130
+ * `DETACHED_DRAIN_TIMEOUT_MS`. Folded into the resource's teardown by the
131
+ * kernel, so tearing the resource down drains its background work (and its
132
+ * dependencies, torn down later in reverse order, are still alive meanwhile).
133
+ * Past the bound, remaining tasks are abandoned with a logged event rather
134
+ * than blocking shutdown.
135
+ */
136
+ async drainDetached() {
137
+ if (this.pendingDetached.size === 0)
138
+ return;
139
+ let timer;
140
+ const timeout = new Promise((resolve) => {
141
+ timer = setTimeout(resolve, DETACHED_DRAIN_TIMEOUT_MS);
142
+ });
143
+ await Promise.race([Promise.allSettled([...this.pendingDetached]), timeout]);
144
+ if (timer)
145
+ clearTimeout(timer);
146
+ if (this.pendingDetached.size > 0) {
147
+ await this.emitEvent("background.task.abandoned", {
148
+ resource: this.metadata.name,
149
+ count: this.pendingDetached.size,
150
+ });
151
+ }
152
+ }
105
153
  openSpan(base, opts) {
106
154
  return this.moduleContext.openSpan(base, opts);
107
155
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resource-context.js","sourceRoot":"","sources":["../src/resource-context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAIb,YAAY,EAEZ,wBAAwB,GAWzB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,SAAS,MAAM,KAAK,CAAC;AAC5B,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC;AAE3C,MAAM,OAAO,mBAAmB;IAO9B,YACW,MAAc,EACd,aAA4B,EACpB,QAA6B,EAC7B,YAA6B,IAAI,eAAe,EAAE,EACnE,GAAwC,EACxC,KAA6B,EAC7B,MAA8B,EAC9B,MAA8B,EAC9B,IAAiB;QARR,WAAM,GAAN,MAAM,CAAQ;QACd,kBAAa,GAAb,aAAa,CAAe;QACpB,aAAQ,GAAR,QAAQ,CAAqB;QAC7B,cAAS,GAAT,SAAS,CAAyC;QAOnE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;IAChC,CAAC;IAED,qBAAqB,CAAC,MAAW;QAC/B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,aAAa,EAAE,CAAC;QAC7B,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,cAAc,CAAC,IAAY,EAAE,MAAc;QACzC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,YAAY,CAAC,IAAY;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,iBAAiB,CAAC,IAAY,EAAE,KAAiB;QAC/C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,eAAe,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,mBAAmB,CAAC,OAAiD;QACnE,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,aAAa,EAAE,CAAC;QAEzC,qEAAqE;QACrE,0EAA0E;QAC1E,4DAA4D;QAC5D,MAAM,eAAe,GACnB,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC;QACtF,MAAM,OAAO,GACX,OAAO,OAAO,KAAK,QAAQ;YACzB,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,eAAe;gBACpD,CAAC,CAAC,OAAO,CAAC,IAAI;gBACd,CAAC,CAAC,SAAS,CAAC;QAElB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACjD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,YAAY,CACpB,oBAAoB,EACpB,SAAS,OAAO,gCAAgC,CACjD,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACnD,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,wEAAwE;QACxE,qDAAqD;QACrD,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAExE,kFAAkF;QAClF,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACpD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,uEAAuE;QACvE,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,cAAc,CAAC,KAAU,EAAE,MAAW;QACpC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC;YAClB,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QACH,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACxB,KAAK,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,oBAAoB,CAAC,EAAE,CAAC;YACxF,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC;QACD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAC1B,MAAM,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;YACjD,CAAC,CAAC,MAAM;YACR,CAAC,CAAC;gBACE,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,MAAM;gBAClB,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC7B,oBAAoB,EAAE,KAAK;aAC5B,CACN,CAAC;QACF,MAAM,OAAO,GAAG,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,YAAY,CACpB,mBAAmB,EACnB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,2BAA2B,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CACpF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,wBAAwB;QACtB,OAAO,wBAAwB,EAAE,CAAC;IACpC,CAAC;IAED,QAAQ,CAAC,IAA+B,EAAE,IAAqB;QAC7D,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAU,IAAY,EAAE,IAAY,EAAE,MAAe;QACzD,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,cAAc,CACZ,IAAY,EACZ,IAAY,EACZ,QAA0B,EAC1B,MAAe,EACf,GAAmB;QAEnB,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9E,CAAC;IAED,uBAAuB,CAAC,KAAa,EAAE,IAAY;QACjD,OAAO,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAY;QACpB,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,gBAAgB,CAAC,QAAa;QAC5B,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,UAAU,CAAC,GAAW,EAAE,OAAqB;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,aAAa,CAAC,GAAW;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,uBAAuB,CAAC,GAAW;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,gBAAgB,CAAC,UAAkB,EAAE,YAAoB;QACvD,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;;;OASG;IACH,eAAe,CACb,QAAa,EACb,YAAqB;QAErB,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC9C,MAAM,IAAI,YAAY,CACpB,mBAAmB,EACnB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,sCAAsC,OAAO,QAAQ,EAAE,CAC9E,CAAC;QACJ,CAAC;QAED,qEAAqE;QACrE,qEAAqE;QACrE,+DAA+D;QAC/D,4DAA4D;QAC5D,qEAAqE;QACrE,wDAAwD;QACxD,gEAAgE;QAChE,mEAAmE;QACnE,mEAAmE;QACnE,mEAAmE;QACnE,oEAAoE;QACpE,mEAAmE;QACnE,iDAAiD;QACjD,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACzD,oFAAoF;YACpF,8EAA8E;YAC9E,qFAAqF;YACrF,mDAAmD;YACnD,IAAI,KAAK,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;gBACnC,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC/D,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,MAAM,IAAI,YAAY,CACpB,wBAAwB,EACxB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,WAAW,MAAM,4CAA4C,KAAK,IAAI,CAC7F,CAAC;gBACJ,CAAC;gBACD,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;YACnD,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAClE,6EAA6E;YAC7E,oEAAoE;YACpE,4EAA4E;YAC5E,mEAAmE;YACnE,uEAAuE;YACvE,kEAAkE;YAClE,4EAA4E;YAC5E,wBAAwB;YACxB,MAAM,IAAI,GACP,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,IAA2B;gBACxF,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC;gBACvC,EAAE,CAAC;YACL,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACjC,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,YAAY,CACpB,mBAAmB,EACnB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,8CAA8C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAC/F,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC3B,MAAM,IAAI,GACR,QAAQ,CAAC,IAAI;YACb,QAAQ,CAAC,QAAQ,EAAE,IAAI;YACvB,YAAY;YACZ,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACrD,0EAA0E;QAC1E,sEAAsE;QACtE,4EAA4E;QAC5E,6EAA6E;QAC7E,yEAAyE;QACzE,MAAM,KAAK,GAAG,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,oCAAoC;QACpC,8EAA8E;QAC9E,4EAA4E;QAC5E,2EAA2E;QAC3E,wEAAwE;QACxE,oDAAoD;QACpD,0EAA0E;QAC1E,yEAAyE;QACzE,uEAAuE;QACvE,qEAAqE;QACrE,wEAAwE;QACxE,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CACpD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,OAAO,CACzE,CAAC;QACF,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ,EAAE,IAAI,KAAK,SAAS,CAAC;QAC7F,MAAM,cAAc,GAClB,mBAAmB,IAAI,CAAC,CAAC,eAAe,IAAI,YAAY,KAAK,SAAS,CAAC,CAAC;QAE1E,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,gBAAgB,CAAC;gBACpB,GAAG,QAAQ;gBACX,QAAQ,EAAE;oBACR,IAAI;oBACJ,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;oBAC5B,GAAG,QAAQ,CAAC,QAAQ;iBACrB;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxD,CAAC;IAED,kBAAkB,CAAC,KAAa,EAAE,IAAY;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7D,OAAO,CAAC,KAAK,EAAE,QAAQ,IAAI,IAAI,CAA2B,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,UAAkB,EAClB,QAAgB,EAChB,kBAAuB;QAEvB,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAChF,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC;IAC9F,CAAC;IAED;;;;;OAKG;IACH,sBAAsB,CACpB,UAAkB,EAClB,QAAgB,EAChB,IAAyB;QAEzB,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED,kBAAkB,CAAC,GAAQ;QACzB,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC;IAClD,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACtC,CAAC;IAED,EAAE,CAAC,KAAa,EAAE,OAAgD;QAChE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAa,EAAE,OAAa;QACrC,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;IAChF,CAAC;IAED,WAAW,CAAC,MAAe;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,WAAW,CAAC,IAAY;QACtB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,WAAW,CAAC,KAAU,EAAE,OAA4B;QAClD,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,OAAa;QAC1C,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,oBAAoB,CAAC,KAAa,EAAE,YAAoB,EAAE,KAAe;QACvE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IAED;;;;OAIG;IACH,iBAAiB;QACf,MAAM,KAAK,GAAG,IAAI,iBAAiB,CACjC,IAAI,CAAC,aAAa,CAAC,MAAM,EACzB,IAAI,CAAC,aAAa,CAAC,OAAO,EAC1B,IAAI,CAAC,aAAa,CAAC,cAAc,EACjC,IAAI,CAAC,aAAa,CAAC,YAAY,EAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,CACxB,CAAC;QACF,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED,cAAc,CAAC,OAA4B;QACzC,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAI,SAAgB,EAAE,EAAW;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvC,sDAAsD;QACtD,OAAO,CAAC,KAAK,IAAI,EAAE;YACjB,IAAI,CAAC;gBACH,KAAK,MAAM,QAAQ,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;oBACvC,IAAI,QAAQ,EAAE,CAAC;wBACb,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;oBACnC,CAAC;gBACH,CAAC;gBACD,MAAM,KAAK,CAAC,mBAAmB,EAAE,CAAC;gBAClC,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,EAAS,CAAC,CAAC;YAC5C,CAAC;oBAAS,CAAC;gBACT,MAAM,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAClC,CAAC;QACH,CAAC,CAAC,EAAkB,CAAC;IACvB,CAAC;CACF"}
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.32.0",
3
+ "version": "0.34.0",
4
4
  "description": "Telo Runtime - A lightweight, polyglot execution host.",
5
5
  "keywords": [
6
6
  "telo",
@@ -47,7 +47,7 @@
47
47
  "dependencies": {
48
48
  "@marcbachmann/cel-js": "^7.6.1",
49
49
  "@sinclair/typebox": "^0.34.48",
50
- "@telorun/analyzer": "0.24.1",
50
+ "@telorun/analyzer": "0.25.0",
51
51
  "@telorun/templating": "0.10.0",
52
52
  "ajv": "^8.17.1",
53
53
  "ajv-formats": "^3.0.1",
@@ -59,7 +59,7 @@
59
59
  "@types/node": "^20.0.0",
60
60
  "typescript": "^5.0.0",
61
61
  "vitest": "^2.1.8",
62
- "@telorun/sdk": "0.32.0"
62
+ "@telorun/sdk": "0.34.0"
63
63
  },
64
64
  "optionalDependencies": {
65
65
  "esbuild": "^0.28.1"
@@ -11,6 +11,7 @@ export function injectAtPath(
11
11
  resource: ResourceManifest,
12
12
  fieldPath: string,
13
13
  getInstance: (name: string, alias?: string) => ResourceInstance | undefined,
14
+ isPending?: (name: string) => boolean,
14
15
  ): void {
15
16
  const parts = fieldPath.split(".");
16
17
 
@@ -18,8 +19,13 @@ export function injectAtPath(
18
19
  // cross-module reference into an import's published exports; if that import hasn't
19
20
  // finished init() yet the instance is absent, so we throw to defer this resource to a
20
21
  // later pass of the multi-pass init loop (which catches and retries) rather than leaving
21
- // the ref unresolved. Local refs (no alias) that miss are left for topo ordering / later
22
- // diagnostics, matching prior behaviour.
22
+ // the ref unresolved. A LOCAL ref (no alias) that names a resource registered in this
23
+ // context but not yet initialized is deferred the same way — create-success order does
24
+ // not always match init order (e.g. a globally-registered controller lets a dependent
25
+ // create before its dependency's controller has loaded), so injection can run before the
26
+ // dependency inits. Without this defer the slot would be left unresolved and surface as a
27
+ // runtime ERR_RESOURCE_NOT_INVOKABLE. A local ref that names nothing pending is left as-is
28
+ // (topo ordering / later diagnostics), matching prior behaviour.
23
29
  function resolveInto(ref: Record<string, unknown>): ResourceInstance | undefined {
24
30
  const alias = typeof ref.alias === "string" ? ref.alias : undefined;
25
31
  const instance = getInstance(ref.name as string, alias);
@@ -29,6 +35,12 @@ export function injectAtPath(
29
35
  `Cross-module reference '${alias}.${String(ref.name)}' is not available yet (import not initialized)`,
30
36
  );
31
37
  }
38
+ if (!instance && (!alias || alias === "Self") && isPending?.(ref.name as string)) {
39
+ throw new RuntimeError(
40
+ "ERR_LOCAL_REF_PENDING",
41
+ `Local reference '${String(ref.name)}' is registered but not initialized yet (deferring to a later init pass)`,
42
+ );
43
+ }
32
44
  // Tag the instance with the kind+name it resolved from, so a consumer that
33
45
  // holds only the bare instance (an invoke-step target) can dispatch it
34
46
  // through the traced chokepoint rather than calling `.invoke()` directly.
@@ -349,10 +349,13 @@ export class EvaluationContext implements IEvaluationContext {
349
349
  if (this.resourceInstances.has(name)) continue;
350
350
  try {
351
351
  if (this.preInitHook) {
352
- this.preInitHook(resource, (n, alias) =>
353
- alias && alias !== "Self"
354
- ? this.resolveImportedInstance(alias, n)
355
- : this.resourceInstances.get(n)?.instance,
352
+ this.preInitHook(
353
+ resource,
354
+ (n, alias) =>
355
+ alias && alias !== "Self"
356
+ ? this.resolveImportedInstance(alias, n)
357
+ : this.resourceInstances.get(n)?.instance,
358
+ (n) => this.hasManifest(n) && !this.resourceInstances.has(n),
356
359
  );
357
360
  }
358
361
  if (instance.init) await instance.init(ctx);
@@ -466,11 +469,17 @@ export class EvaluationContext implements IEvaluationContext {
466
469
  // Propagate injection hook: extend getInstance to also resolve parent singleton instances.
467
470
  if (parent.preInitHook) {
468
471
  const parentHook = parent.preInitHook;
469
- child.preInitHook = (resource, childGetInstance) => {
470
- parentHook(resource, (name, alias) =>
471
- alias && alias !== "Self"
472
- ? parent.resolveImportedInstance(alias, name)
473
- : childGetInstance(name) ?? parent.resourceInstances.get(name)?.instance,
472
+ child.preInitHook = (resource, childGetInstance, childIsPending) => {
473
+ parentHook(
474
+ resource,
475
+ (name, alias) =>
476
+ alias && alias !== "Self"
477
+ ? parent.resolveImportedInstance(alias, name)
478
+ : childGetInstance(name) ?? parent.resourceInstances.get(name)?.instance,
479
+ // A scoped ref resolves against the scope's own resources or an already-inited
480
+ // outer one; only a scope-local dependency can still be pending. The outer is
481
+ // live by the time a scope opens, so the child's own predicate suffices.
482
+ childIsPending,
474
483
  );
475
484
  };
476
485
  }
@@ -995,6 +1004,19 @@ export class EvaluationContext implements IEvaluationContext {
995
1004
  }
996
1005
  }
997
1006
 
1007
+ /**
1008
+ * Run `fn` detached from the caller's cancellation/trace scope. The current
1009
+ * ambient `InvokeContext` (a request's token + span) is replaced with the
1010
+ * uncancellable root, so request-scope teardown cannot abort the work and it
1011
+ * does not nest under the request's trace. This is the bare scope primitive —
1012
+ * tracking/draining a detached task is the owning resource's concern (the
1013
+ * per-resource `ResourceContext` records the task and drains it in the
1014
+ * resource's teardown).
1015
+ */
1016
+ runDetached<T>(fn: () => Promise<T>): Promise<T> {
1017
+ return cancellationStore.run(UNCANCELLABLE_CONTEXT, fn);
1018
+ }
1019
+
998
1020
  /**
999
1021
  * Expand a value that may contain precompiled ${{ }} templates.
1000
1022
  *
package/src/kernel.ts CHANGED
@@ -330,8 +330,8 @@ export class Kernel implements IKernel {
330
330
  await this.loadBuiltinDefinitions();
331
331
 
332
332
  // Phase 5: attach injection hook — fires between create() and init() for every resource
333
- this.rootContext.preInitHook = (resource, getInstance) =>
334
- this._injectDependencies(resource, getInstance);
333
+ this.rootContext.preInitHook = (resource, getInstance, isPending) =>
334
+ this._injectDependencies(resource, getInstance, isPending);
335
335
 
336
336
  // Expose definition lookup so invoke()/invokeResolved() can check thrown
337
337
  // InvokeError.code against the declared throw union (rule 9). Propagates
@@ -1017,6 +1017,17 @@ export class Kernel implements IKernel {
1017
1017
  const instance = await controller.create(processedResource, ctx);
1018
1018
  if (!instance) return null;
1019
1019
 
1020
+ // Fold the resource's fire-and-forget drain into its own teardown: tearing
1021
+ // the resource down drains the background tasks it spawned (the kernel just
1022
+ // calls teardown() — it tracks no tasks itself). A drain with no pending
1023
+ // tasks is a no-op, so this is safe for every resource.
1024
+ const ownerCtx = ctx as ResourceContextImpl;
1025
+ const originalTeardown = instance.teardown?.bind(instance);
1026
+ instance.teardown = async () => {
1027
+ await ownerCtx.drainDetached();
1028
+ if (originalTeardown) await originalTeardown();
1029
+ };
1030
+
1020
1031
  if (!runtime.length) return { instance, ctx, resource: processedResource };
1021
1032
 
1022
1033
  // Override invoke in-place so all lifecycle methods (init/invoke/teardown/snapshot)
@@ -1043,10 +1054,11 @@ export class Kernel implements IKernel {
1043
1054
  private _injectDependencies(
1044
1055
  resource: ResourceManifest,
1045
1056
  getInstance: (name: string, alias?: string) => ResourceInstance | undefined,
1057
+ isPending?: (name: string) => boolean,
1046
1058
  ): void {
1047
1059
  this.registry.iterateFieldEntries(
1048
1060
  resource,
1049
- (fieldPath) => injectAtPath(resource, fieldPath, getInstance),
1061
+ (fieldPath) => injectAtPath(resource, fieldPath, getInstance, isPending),
1050
1062
  (fieldPath) => {
1051
1063
  const val = (resource as Record<string, unknown>)[fieldPath];
1052
1064
  if (Array.isArray(val)) {
@@ -29,6 +29,10 @@ import { SchemaValidator } from "./schema-validator.js";
29
29
 
30
30
  const Ajv = AjvModule.default ?? AjvModule;
31
31
 
32
+ /** How long a resource's teardown waits for its in-flight detached tasks before
33
+ * abandoning them (with a logged event). */
34
+ const DETACHED_DRAIN_TIMEOUT_MS = 5000;
35
+
32
36
  export class ResourceContextImpl implements ResourceContext {
33
37
  readonly env: Record<string, string | undefined>;
34
38
  readonly stdin: NodeJS.ReadableStream;
@@ -157,6 +161,53 @@ export class ResourceContextImpl implements ResourceContext {
157
161
  return createCancellationSource();
158
162
  }
159
163
 
164
+ /** In-flight fire-and-forget tasks this resource spawned. Owned here, not by
165
+ * the kernel: the resource drains them in its own teardown (see
166
+ * `drainDetached`), so background work is bounded by the resource's lifetime. */
167
+ private readonly pendingDetached = new Set<Promise<unknown>>();
168
+
169
+ runDetached(fn: () => Promise<unknown>): void {
170
+ // Fire-and-forget: a detached task has no caller to throw to, so route a
171
+ // failure to the EventBus rather than letting it go unhandled. We track the
172
+ // error-handled chain (not the raw promise) so teardown drains a task whose
173
+ // settlement is already observed here.
174
+ const tracked = this.moduleContext
175
+ .runDetached(fn) // bare scope-detach primitive
176
+ .catch(async (err: unknown) => {
177
+ const detail =
178
+ err instanceof Error ? { name: err.name, message: err.message } : { message: String(err) };
179
+ await this.emitEvent("background.task.error", { resource: this.metadata.name, error: detail });
180
+ })
181
+ .finally(() => {
182
+ this.pendingDetached.delete(tracked);
183
+ });
184
+ this.pendingDetached.add(tracked);
185
+ }
186
+
187
+ /**
188
+ * Await this resource's in-flight detached tasks, bounded by
189
+ * `DETACHED_DRAIN_TIMEOUT_MS`. Folded into the resource's teardown by the
190
+ * kernel, so tearing the resource down drains its background work (and its
191
+ * dependencies, torn down later in reverse order, are still alive meanwhile).
192
+ * Past the bound, remaining tasks are abandoned with a logged event rather
193
+ * than blocking shutdown.
194
+ */
195
+ async drainDetached(): Promise<void> {
196
+ if (this.pendingDetached.size === 0) return;
197
+ let timer: ReturnType<typeof setTimeout> | undefined;
198
+ const timeout = new Promise<void>((resolve) => {
199
+ timer = setTimeout(resolve, DETACHED_DRAIN_TIMEOUT_MS);
200
+ });
201
+ await Promise.race([Promise.allSettled([...this.pendingDetached]), timeout]);
202
+ if (timer) clearTimeout(timer);
203
+ if (this.pendingDetached.size > 0) {
204
+ await this.emitEvent("background.task.abandoned", {
205
+ resource: this.metadata.name,
206
+ count: this.pendingDetached.size,
207
+ });
208
+ }
209
+ }
210
+
160
211
  openSpan(base: InvokeContext | undefined, opts: OpenSpanOptions): Promise<OpenSpan> {
161
212
  return this.moduleContext.openSpan(base, opts);
162
213
  }