@telorun/kernel 0.57.0 → 0.59.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 (39) hide show
  1. package/dist/controllers/module/import-controller.d.ts.map +1 -1
  2. package/dist/controllers/module/import-controller.js +7 -3
  3. package/dist/controllers/module/import-controller.js.map +1 -1
  4. package/dist/controllers/resource-definition/resource-definition-controller.d.ts +1 -0
  5. package/dist/controllers/resource-definition/resource-definition-controller.d.ts.map +1 -1
  6. package/dist/controllers/resource-definition/resource-definition-controller.js +10 -1
  7. package/dist/controllers/resource-definition/resource-definition-controller.js.map +1 -1
  8. package/dist/evaluation-context.d.ts +57 -2
  9. package/dist/evaluation-context.d.ts.map +1 -1
  10. package/dist/evaluation-context.js +229 -14
  11. package/dist/evaluation-context.js.map +1 -1
  12. package/dist/kernel.d.ts.map +1 -1
  13. package/dist/kernel.js +6 -3
  14. package/dist/kernel.js.map +1 -1
  15. package/dist/manifest-schemas.d.ts +8 -0
  16. package/dist/manifest-schemas.d.ts.map +1 -1
  17. package/dist/manifest-schemas.js +6 -0
  18. package/dist/manifest-schemas.js.map +1 -1
  19. package/dist/module-context.d.ts +8 -0
  20. package/dist/module-context.d.ts.map +1 -1
  21. package/dist/module-context.js +20 -5
  22. package/dist/module-context.js.map +1 -1
  23. package/dist/observed-state.d.ts +94 -0
  24. package/dist/observed-state.d.ts.map +1 -0
  25. package/dist/observed-state.js +148 -0
  26. package/dist/observed-state.js.map +1 -0
  27. package/dist/resource-context.d.ts +52 -1
  28. package/dist/resource-context.d.ts.map +1 -1
  29. package/dist/resource-context.js +76 -13
  30. package/dist/resource-context.js.map +1 -1
  31. package/package.json +3 -3
  32. package/src/controllers/module/import-controller.ts +12 -3
  33. package/src/controllers/resource-definition/resource-definition-controller.ts +14 -0
  34. package/src/evaluation-context.ts +270 -15
  35. package/src/kernel.ts +5 -0
  36. package/src/manifest-schemas.ts +6 -0
  37. package/src/module-context.ts +19 -5
  38. package/src/observed-state.ts +210 -0
  39. package/src/resource-context.ts +76 -12
@@ -1 +1 @@
1
- {"version":3,"file":"import-controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/module/import-controller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAK1E,wBAAsB,MAAM,CAC1B,QAAQ,EAAE,GAAG,EACb,GAAG,EAAE,wBAAwB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CA2T3B"}
1
+ {"version":3,"file":"import-controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/module/import-controller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAK1E,wBAAsB,MAAM,CAC1B,QAAQ,EAAE,GAAG,EACb,GAAG,EAAE,wBAAwB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAmU3B"}
@@ -1,5 +1,6 @@
1
1
  import { AnalysisRegistry, DiagnosticSeverity, foldIntegrity, parseExportEntry, StaticAnalyzer } from "@telorun/analyzer";
2
2
  import { RuntimeError } from "@telorun/sdk";
3
+ import { publishedPropsOf } from "../../evaluation-context.js";
3
4
  import { buildScopeConfig } from "../../logging/kernel-logging.js";
4
5
  import { ModuleContext } from "../../module-context.js";
5
6
  import { isDefaultPolicy, normalizeRuntime } from "../../runtime-registry.js";
@@ -236,9 +237,12 @@ export async function create(resource, ctx) {
236
237
  snapshot: async () => {
237
238
  const exported = {};
238
239
  for (const name of exportedResourceNames) {
239
- const inst = childCtx.getExported(name)?.instance;
240
- if (inst && typeof inst.snapshot === "function") {
241
- exported[name] = await Promise.resolve(inst.snapshot());
240
+ // Through the shared publication policy, not the raw snapshot: an
241
+ // exported instance's observed state stays withheld until it starts and
242
+ // is validated against its `status:` on this side of the boundary too.
243
+ const target = childCtx.getExported(name);
244
+ if (target?.instance) {
245
+ exported[name] = await publishedPropsOf(target.kind, name, target.instance, childCtx.getDefinition);
242
246
  }
243
247
  }
244
248
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"import-controller.js","sourceRoot":"","sources":["../../../src/controllers/module/import-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import-controller.js","sourceRoot":"","sources":["../../../src/controllers/module/import-controller.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ type ResourceDefinitionResource = RuntimeResource & {
7
7
  module?: string;
8
8
  };
9
9
  schema: Record<string, any>;
10
+ status?: Record<string, any>;
10
11
  capability?: string;
11
12
  extends?: string;
12
13
  base?: Record<string, any>;
@@ -1 +1 @@
1
- {"version":3,"file":"resource-definition-controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/resource-definition/resource-definition-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EAEf,gBAAgB,EAChB,eAAe,EAChB,MAAM,cAAc,CAAC;AActB,KAAK,0BAA0B,GAAG,eAAe,GAAG;IAClD,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE;QACR,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,cAAM,kBAAmB,YAAW,gBAAgB;IAGtC,QAAQ,CAAC,QAAQ,EAAE,0BAA0B;IAFzD,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAwB;gBAEtC,QAAQ,EAAE,0BAA0B;IAEnD,IAAI,CAAC,GAAG,EAAE,eAAe;CA4IhC;AAeD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAErD;AAED,wBAAsB,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAW7F"}
1
+ {"version":3,"file":"resource-definition-controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/resource-definition/resource-definition-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EAEf,gBAAgB,EAChB,eAAe,EAChB,MAAM,cAAc,CAAC;AAetB,KAAK,0BAA0B,GAAG,eAAe,GAAG;IAClD,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE;QACR,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,cAAM,kBAAmB,YAAW,gBAAgB;IAGtC,QAAQ,CAAC,QAAQ,EAAE,0BAA0B;IAFzD,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAwB;gBAEtC,QAAQ,EAAE,0BAA0B;IAEnD,IAAI,CAAC,GAAG,EAAE,eAAe;CAwJhC;AAeD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAErD;AAED,wBAAsB,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAW7F"}
@@ -1,5 +1,5 @@
1
1
  import { RuntimeError } from "@telorun/sdk";
2
- import { controllerBearingAncestor, effectiveAuthorSchema, hasOwnControllerOrTemplate, inheritedCapability, } from "@telorun/analyzer";
2
+ import { controllerBearingAncestor, effectiveAuthorSchema, effectiveStatusSchema, hasOwnControllerOrTemplate, inheritedCapability, } from "@telorun/analyzer";
3
3
  import { ControllerLoader } from "../../controller-loader.js";
4
4
  import { formatAjvErrors, validateResourceDefinition } from "../../manifest-schemas.js";
5
5
  import { createTemplateController } from "./resource-template-controller.js";
@@ -42,6 +42,15 @@ class ResourceDefinition {
42
42
  throw new RuntimeError("ERR_LOCAL_REF_PENDING", `Telo.Definition '${this.resource.metadata.name}': 'extends' target '${this.resource.extends}' is not loaded yet.`);
43
43
  }
44
44
  this.resource.schema = effectiveAuthorSchema(this.resource, resolveDef);
45
+ // Same for the observed-state contract: a child without `base:` merges its
46
+ // parent's `status:`, one with `base:` publishes the parent's unchanged.
47
+ // Stamped here, in the DEFINING library's scope, because an `extends` alias
48
+ // belongs to the file that declared it — a consumer that imports only the
49
+ // backend (the sanctioned "one import instead of two") has no alias for the
50
+ // abstract's library and would resolve the parent to nothing. Stamping also
51
+ // makes the folded schema a stable object, so the publication path's AJV
52
+ // validator cache hits instead of recompiling on every snapshot.
53
+ this.resource.status = effectiveStatusSchema(this.resource, resolveDef);
45
54
  }
46
55
  // Inherited-controller delegation: a definition that `extends` a concrete
47
56
  // kind, declares no own `controllers:` / template body, inherits the parent
@@ -1 +1 @@
1
- {"version":3,"file":"resource-definition-controller.js","sourceRoot":"","sources":["../../../src/controllers/resource-definition/resource-definition-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-definition-controller.js","sourceRoot":"","sources":["../../../src/controllers/resource-definition/resource-definition-controller.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,18 @@
1
1
  import { resourceKey, type EvaluationContext as IEvaluationContext, type EmitEvent, type InstanceFactory, type InvokeContext, type LifecycleState, type OpenSpan, type OpenSpanOptions, type PreInitHook, type ResourceDefinition, type ResourceInstance, type ResourceManifest, type ResourceOwner, type ScopeHandle, type Tracer } from "@telorun/sdk";
2
2
  export { resourceKey };
3
3
  export declare function buildResolvedProperties(resource: ResourceManifest, secretValues: Set<string>): Record<string, unknown>;
4
+ /**
5
+ * The published value for an instance the caller resolved itself, rather than
6
+ * one reached by name through a context's own `resourceInstances`. The
7
+ * cross-module export path uses it: an importer surfaces a library's exported
8
+ * instances under `resources.<Alias>.<name>`, which crosses the boundary
9
+ * without passing through the owner's `resources` map — and must still carry the
10
+ * reading the instance reported, under the same rules.
11
+ *
12
+ * `kind` is already canonical (`<module>.<Kind>`) on that path, so the resolver
13
+ * needs no alias table.
14
+ */
15
+ export declare function publishedPropsOf(kind: string, name: string, instance: ResourceInstance, getDefinition: ((kind: string) => ResourceDefinition | undefined) | undefined): Promise<Record<string, unknown>>;
4
16
  /**
5
17
  * The ambient dispatch context, for §7.2's automatic trace correlation: a record
6
18
  * emitted inside an active span carries that span's ids without the controller
@@ -84,8 +96,39 @@ export declare class EvaluationContext implements IEvaluationContext {
84
96
  private qualifyDeps;
85
97
  constructor(source: string, context: Record<string, unknown>, createInstance: InstanceFactory | undefined, secretValues: Set<string>, emit: EmitEvent);
86
98
  get createInstance(): InstanceFactory;
87
- /** Called after init() when a resource snapshot is available. Overridden by ModuleContext. */
88
- protected onResourceSnapshotted(_name: string, _snap: Record<string, unknown>): void;
99
+ /** Called after init() when a resource snapshot is available. Overridden by
100
+ * ModuleContext, and by a scope child (which keeps its own per-run map). */
101
+ protected onResourceSnapshotted(name: string, snap: Record<string, unknown>): void;
102
+ /** Where published snapshots go for a context that has no `resources` map of
103
+ * its own — set by `createScopeHandle` on the per-run child so scope-local
104
+ * resources publish like any other. */
105
+ protected snapshotSink: ((name: string, snap: Record<string, unknown>) => void) | undefined;
106
+ /** Record that an instance has started. Republished so a read that arrives
107
+ * before the resource reports gets the "still running" message rather than
108
+ * the "never started" one. */
109
+ private markStarted;
110
+ /**
111
+ * Record what a resource observed and republish. Validated against the kind's
112
+ * `status:` here, at the point the claim is made, so an invalid report names
113
+ * the call that made it rather than surfacing at some later publication.
114
+ *
115
+ * Replaces rather than merges: this is the resource's observed state now. A
116
+ * declared field this call omits reads as missing, which is the truth — a
117
+ * sometimes-absent field is declared nullable and reported as `null`.
118
+ */
119
+ setResourceStatus(name: string, status: Record<string, unknown>): Promise<void>;
120
+ /** The kind's effective `status:` — already folded through `extends` and
121
+ * stamped onto the definition at registration, in the scope that DECLARED it
122
+ * (`resource-definition-controller`). Only the kind's own alias is resolved
123
+ * here, in the reading module's scope, which is where it was written. */
124
+ private statusSchemaOf;
125
+ /**
126
+ * Re-read a resource's `snapshot()` and republish it, joined with whatever
127
+ * observed state the resource has reported. The single publication path — the
128
+ * post-init capture, the post-run publication, the post-invoke refresh and
129
+ * every `setStatus()` all land here.
130
+ */
131
+ publishSnapshot(name: string): Promise<void>;
89
132
  get context(): Record<string, unknown>;
90
133
  get secretValues(): Set<string>;
91
134
  /**
@@ -220,6 +263,11 @@ export declare class EvaluationContext implements IEvaluationContext {
220
263
  * kind unchanged. A typed seam (overridden in `ModuleContext`), matching the
221
264
  * `traceRootScope()` pattern, rather than reaching across the boundary. */
222
265
  protected resolveKindSafe(kind: string): string;
266
+ /** Alias-kind resolver inherited from the context that spawned this one. A
267
+ * scope / template child holds no import table of its own, but its resources
268
+ * are written with the declaring module's aliases (`Observed.Listener`), so
269
+ * definition lookups there have to go through the parent's table. */
270
+ kindResolver: ((kind: string) => string) | undefined;
223
271
  private capabilityOf;
224
272
  private getDeclaredThrowCodes;
225
273
  run(name: string, ctx?: InvokeContext): Promise<void>;
@@ -292,4 +340,11 @@ export declare class EvaluationContext implements IEvaluationContext {
292
340
  * against the activation — callers fall back to the original error text.
293
341
  */
294
342
  export declare function describeFailedAccess(source: string, ctx: unknown, msg: string): string | null;
343
+ /**
344
+ * The observed-state message for a failed access, or null when the failure has
345
+ * nothing to do with observed state (the caller then falls back to the generic
346
+ * enrichment above). See `observed-state.ts` for why "has not started" and
347
+ * "started but reported nothing" are two different messages.
348
+ */
349
+ export declare function describeObservedStateFailure(source: string, ctx: unknown, msg: string): string | null;
295
350
  //# sourceMappingURL=evaluation-context.d.ts.map
@@ -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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"}
@@ -3,6 +3,7 @@ import { formatSpanCounter } from "./logging/span-id.js";
3
3
  import { getRefIdentity, isCompiledValue, isInvokeError, isCancellationError, resourceKey, UNCANCELLABLE_CONTEXT, } from "@telorun/sdk";
4
4
  import { RuntimeError } from "@telorun/sdk";
5
5
  import { evalPathCovers } from "@telorun/analyzer";
6
+ import { acceptReportedStatus, buildPublishedProps, diagnoseObservedStateAccess, } from "./observed-state.js";
6
7
  export { resourceKey };
7
8
  /** A pure resolved reference is a `{ kind, name, alias? }` object and nothing
8
9
  * else — the shape `resolveRefSentinels` produces (Phase 2.5). An inline
@@ -143,6 +144,60 @@ export function buildResolvedProperties(resource, secretValues) {
143
144
  * when a composing controller re-invokes without threading it by hand.
144
145
  */
145
146
  const cancellationStore = new AsyncLocalStorage();
147
+ /**
148
+ * Instances whose `run()` has been dispatched. Reporting observed state before
149
+ * this is an error (see observed-state.ts).
150
+ *
151
+ * Keyed on the instance rather than on `(context, name)` because the context
152
+ * that STARTS a resource is not always the one that OWNS it: an importer's
153
+ * `targets:` can name a library's exported instance, and the library's own
154
+ * `ctx.setStatus()` — publishing into the context where its name lives — has to
155
+ * see that it started.
156
+ */
157
+ const startedInstances = new WeakSet();
158
+ /**
159
+ * The last observed state each instance reported. Sticky: it stays until the
160
+ * resource is torn down, so a dispatch that reports nothing leaves the previous
161
+ * reading in place — a listener's bound address does not stop being true between
162
+ * calls. Keyed by instance for the same reason as `startedInstances`, and
163
+ * because a scope's per-run instances are distinct by construction, which is
164
+ * what keeps two concurrent runs from observing each other's readings.
165
+ */
166
+ const reportedStatus = new WeakMap();
167
+ /**
168
+ * Instances whose `run()` has RETURNED. A long-lived Service never appears here
169
+ * — its `run()` stays pending for the process lifetime — which is exactly the
170
+ * distinction the reader needs: a Runnable that finished and reported nothing
171
+ * for a field it declares is a producer defect, while a Service that is still
172
+ * coming up is ordering, and telling those apart is not something the reader
173
+ * can do from the manifest.
174
+ */
175
+ const completedInstances = new WeakSet();
176
+ /**
177
+ * The published value for an instance the caller resolved itself, rather than
178
+ * one reached by name through a context's own `resourceInstances`. The
179
+ * cross-module export path uses it: an importer surfaces a library's exported
180
+ * instances under `resources.<Alias>.<name>`, which crosses the boundary
181
+ * without passing through the owner's `resources` map — and must still carry the
182
+ * reading the instance reported, under the same rules.
183
+ *
184
+ * `kind` is already canonical (`<module>.<Kind>`) on that path, so the resolver
185
+ * needs no alias table.
186
+ */
187
+ export async function publishedPropsOf(kind, name, instance, getDefinition) {
188
+ const snap = typeof instance.snapshot === "function"
189
+ ? (await Promise.resolve(instance.snapshot()))
190
+ : undefined;
191
+ return buildPublishedProps(snap, {
192
+ kind,
193
+ name,
194
+ module: kind.split(".")[0],
195
+ statusSchema: getDefinition?.(kind)?.status,
196
+ status: reportedStatus.get(instance),
197
+ started: startedInstances.has(instance),
198
+ completed: completedInstances.has(instance),
199
+ });
200
+ }
146
201
  /**
147
202
  * The ambient dispatch context, for §7.2's automatic trace correlation: a record
148
203
  * emitted inside an active span carries that span's ids without the controller
@@ -170,6 +225,14 @@ function compileWalker(value) {
170
225
  catch (error) {
171
226
  const expr = compiled.source ? `\${{ ${compiled.source} }}` : "unknown expression";
172
227
  const msg = error instanceof Error ? error.message : String(error);
228
+ // Reading observed state that was never reported is its own failure with
229
+ // its own remedy, so it does not degrade into a bare "No such key".
230
+ const observed = compiled.source
231
+ ? describeObservedStateFailure(compiled.source, ctx, msg)
232
+ : null;
233
+ if (observed) {
234
+ throw new RuntimeError("ERR_OBSERVED_STATE_UNAVAILABLE", `${expr}: ${observed}`);
235
+ }
173
236
  const hint = compiled.source ? describeFailedAccess(compiled.source, ctx, msg) : null;
174
237
  const suffix = hint ? `\n ${hint}` : "";
175
238
  throw new Error(`Expression ${expr} failed: ${msg}${suffix}`);
@@ -256,8 +319,70 @@ export class EvaluationContext {
256
319
  get createInstance() {
257
320
  return this._createInstance;
258
321
  }
259
- /** Called after init() when a resource snapshot is available. Overridden by ModuleContext. */
260
- onResourceSnapshotted(_name, _snap) { }
322
+ /** Called after init() when a resource snapshot is available. Overridden by
323
+ * ModuleContext, and by a scope child (which keeps its own per-run map). */
324
+ onResourceSnapshotted(name, snap) {
325
+ this.snapshotSink?.(name, snap);
326
+ }
327
+ /** Record that an instance has started. Republished so a read that arrives
328
+ * before the resource reports gets the "still running" message rather than
329
+ * the "never started" one. */
330
+ async markStarted(name, instance) {
331
+ if (startedInstances.has(instance))
332
+ return;
333
+ startedInstances.add(instance);
334
+ await this.publishSnapshot(name);
335
+ }
336
+ /**
337
+ * Record what a resource observed and republish. Validated against the kind's
338
+ * `status:` here, at the point the claim is made, so an invalid report names
339
+ * the call that made it rather than surfacing at some later publication.
340
+ *
341
+ * Replaces rather than merges: this is the resource's observed state now. A
342
+ * declared field this call omits reads as missing, which is the truth — a
343
+ * sometimes-absent field is declared nullable and reported as `null`.
344
+ */
345
+ async setResourceStatus(name, status) {
346
+ const entry = this.resourceInstances.get(name) ?? this.createdInstances.get(name);
347
+ if (!entry)
348
+ return;
349
+ const kind = entry.resource.kind;
350
+ if (!startedInstances.has(entry.instance)) {
351
+ throw new RuntimeError("ERR_OBSERVED_STATE_BEFORE_START", `${kind} '${name}' reported observed state before it started. init() performs no I/O, so there is nothing observed to report there — call setStatus() from run(), or from a handler it reaches.`);
352
+ }
353
+ reportedStatus.set(entry.instance, acceptReportedStatus(status, { kind, name, statusSchema: this.statusSchemaOf(kind) }));
354
+ await this.publishSnapshot(name);
355
+ }
356
+ /** The kind's effective `status:` — already folded through `extends` and
357
+ * stamped onto the definition at registration, in the scope that DECLARED it
358
+ * (`resource-definition-controller`). Only the kind's own alias is resolved
359
+ * here, in the reading module's scope, which is where it was written. */
360
+ statusSchemaOf(kind) {
361
+ const def = this.getDefinition?.(this.resolveKindSafe(kind)) ?? this.getDefinition?.(kind);
362
+ return def?.status;
363
+ }
364
+ /**
365
+ * Re-read a resource's `snapshot()` and republish it, joined with whatever
366
+ * observed state the resource has reported. The single publication path — the
367
+ * post-init capture, the post-run publication, the post-invoke refresh and
368
+ * every `setStatus()` all land here.
369
+ */
370
+ async publishSnapshot(name) {
371
+ const entry = this.resourceInstances.get(name) ?? this.createdInstances.get(name);
372
+ if (!entry?.instance.snapshot)
373
+ return;
374
+ const snap = (await Promise.resolve(entry.instance.snapshot()));
375
+ const kind = entry.resource.kind;
376
+ this.onResourceSnapshotted(name, buildPublishedProps(snap, {
377
+ kind,
378
+ name,
379
+ module: entry.resource.metadata?.module,
380
+ statusSchema: this.statusSchemaOf(kind),
381
+ status: reportedStatus.get(entry.instance),
382
+ started: startedInstances.has(entry.instance),
383
+ completed: completedInstances.has(entry.instance),
384
+ }));
385
+ }
261
386
  get context() {
262
387
  return this._context;
263
388
  }
@@ -332,6 +457,7 @@ export class EvaluationContext {
332
457
  spawnChildContext() {
333
458
  const child = new EvaluationContext(this.source, this.context, this._createInstance, this._secretValues, this.emit);
334
459
  child.resolveImportedInstance = (alias, name) => this.resolveImportedInstance(alias, name);
460
+ child.kindResolver = (kind) => this.resolveKindSafe(kind);
335
461
  return this.spawnChild(child);
336
462
  }
337
463
  /**
@@ -431,10 +557,13 @@ export class EvaluationContext {
431
557
  }
432
558
  if (instance.init)
433
559
  await instance.init(ctx);
434
- if (instance.snapshot) {
435
- const snap = await Promise.resolve(instance.snapshot());
436
- this.onResourceSnapshotted(name, snap ?? {});
437
- }
560
+ // Publish BEFORE registering: publication can fail (a kind returning
561
+ // the reserved `status` key without declaring it, a report that does
562
+ // not match `status:`), and a resource that failed must not be left
563
+ // reachable through `getInstance` / Phase 5 injection / teardown.
564
+ // `publishSnapshot` looks the instance up in `createdInstances` too,
565
+ // so it resolves fine from here.
566
+ await this.publishSnapshot(name);
438
567
  this.resourceInstances.set(name, { resource, instance });
439
568
  this.createdInstances.delete(name);
440
569
  errors.delete(name);
@@ -521,16 +650,41 @@ export class EvaluationContext {
521
650
  return {
522
651
  async run(fn) {
523
652
  const child = parent.spawnChild(new EvaluationContext(parent.source, parent._context, parent._createInstance, parent._secretValues, parent.emit));
653
+ child.kindResolver = (kind) => parent.resolveKindSafe(kind);
654
+ // Per-run map of the scope's OWN resources. Fresh per run, so two
655
+ // concurrent runs of the same sequence never observe each other's.
656
+ // The enclosing module's map is layered in at read time, not copied
657
+ // here: `setResource` replaces `_resources` wholesale on every publish,
658
+ // so a snapshot taken at scope entry would go stale the moment an outer
659
+ // resource republished (a post-invoke refresh, a later boot target).
660
+ const scopeLocal = new Map();
661
+ child.snapshotSink = (name, snap) => {
662
+ scopeLocal.set(name, snap);
663
+ };
524
664
  // Propagate injection hook: extend getInstance to also resolve parent singleton instances.
525
665
  if (parent.preInitHook) {
526
666
  const parentHook = parent.preInitHook;
527
667
  child.preInitHook = (resource, childGetInstance, childIsPending) => {
528
- parentHook(resource, (name, alias) => alias && alias !== "Self"
529
- ? parent.resolveImportedInstance(alias, name)
530
- : childGetInstance(name) ?? parent.resourceInstances.get(name)?.instance,
531
- // A scoped ref resolves against the scope's own resources or an already-inited
532
- // outer one; only a scope-local dependency can still be pending. The outer is
533
- // live by the time a scope opens, so the child's own predicate suffices.
668
+ parentHook(resource, (name, alias) => {
669
+ if (alias && alias !== "Self")
670
+ return parent.resolveImportedInstance(alias, name);
671
+ const scoped = childGetInstance(name);
672
+ if (scoped)
673
+ return scoped;
674
+ // A name the scope DECLARES resolves to the scope's instance and to
675
+ // nothing else. Falling through to the enclosing module while the
676
+ // scoped one is merely not initialized yet would inject the resource
677
+ // it shadows — an init-order-dependent wrong answer, and a silent
678
+ // one: the ref binds an instance that is never started, so the
679
+ // failure surfaces later as a timeout somewhere else entirely.
680
+ // Returning nothing leaves it pending, which is what makes the init
681
+ // loop come back to it.
682
+ if (child.hasManifest(name))
683
+ return undefined;
684
+ return parent.resourceInstances.get(name)?.instance;
685
+ },
686
+ // Only a scope-local dependency can still be pending — an outer resource
687
+ // is live by the time a scope opens — so the child's own predicate suffices.
534
688
  childIsPending);
535
689
  };
536
690
  }
@@ -557,6 +711,23 @@ export class EvaluationContext {
557
711
  return parentEntry.instance;
558
712
  throw new RuntimeError("ERR_SCOPE_RESOURCE_NOT_FOUND", `Resource '${name}' not found in scope or outer context. Available scoped: ${[...child.resourceInstances.keys()].join(", ")}`);
559
713
  },
714
+ async run(name) {
715
+ // Through the child context's chokepoint, so a scope target is
716
+ // traced, records that it started, and publishes its snapshot —
717
+ // exactly like a boot target. A scope target is always a
718
+ // with-resource, so it lives in the child.
719
+ await child.run(name);
720
+ },
721
+ get resources() {
722
+ // Merged on read so the outer half stays live; scope-local names
723
+ // win, matching `getInstance`'s order so CEL and `!ref` agree.
724
+ const merged = {
725
+ ...(parent._context.resources ?? {}),
726
+ };
727
+ for (const [name, snap] of scopeLocal)
728
+ merged[name] = snap;
729
+ return merged;
730
+ },
560
731
  };
561
732
  return await fn(scope);
562
733
  }
@@ -589,6 +760,13 @@ export class EvaluationContext {
589
760
  }
590
761
  for (const [key, { resource, instance }] of this.teardownOrder()) {
591
762
  const label = `${resource.kind}.${resource.metadata.name}`;
763
+ // A reading belongs to the run that produced it. The WeakMap would drop it
764
+ // with the instance anyway; clearing here also covers an instance something
765
+ // else still holds, so a torn-down resource can never keep publishing what
766
+ // it observed in a previous life.
767
+ reportedStatus.delete(instance);
768
+ startedInstances.delete(instance);
769
+ completedInstances.delete(instance);
592
770
  try {
593
771
  if (instance.teardown)
594
772
  await instance.teardown();
@@ -770,12 +948,19 @@ export class EvaluationContext {
770
948
  // `run()` — side effects only, no outputs. Prefer `invoke()` when both
771
949
  // exist so a dual-capability instance (e.g. Run.Sequence) keeps invoke
772
950
  // semantics and returns its `steps`/`outputs`.
951
+ // A pure Runnable reached through an `invoke:` slot runs exactly as it
952
+ // would from a `targets:` list, so it starts here too — its observed state
953
+ // must not stay withheld just because the dispatch slot was a different one.
954
+ if (typeof instance.invoke !== "function")
955
+ await this.markStarted(name, instance);
773
956
  const call = () => typeof instance.invoke === "function"
774
957
  ? instance.invoke(inputs, invokeCtx)
775
958
  : instance.run(invokeCtx);
776
959
  const outputs = await (invokeCtx === ambient
777
960
  ? call()
778
961
  : cancellationStore.run(invokeCtx, call));
962
+ if (typeof instance.invoke !== "function")
963
+ completedInstances.add(instance);
779
964
  await this.emit(`${name}.Invoked`, span("end", "ok", { inputs, outputs }));
780
965
  return outputs;
781
966
  }
@@ -833,7 +1018,7 @@ export class EvaluationContext {
833
1018
  * kind unchanged. A typed seam (overridden in `ModuleContext`), matching the
834
1019
  * `traceRootScope()` pattern, rather than reaching across the boundary. */
835
1020
  resolveKindSafe(kind) {
836
- return kind;
1021
+ return this.kindResolver?.(kind) ?? kind;
837
1022
  }
838
1023
  capabilityOf(kind) {
839
1024
  const resolved = this.resolveKindSafe(kind);
@@ -953,6 +1138,11 @@ export class EvaluationContext {
953
1138
  }
954
1139
  if (tracing)
955
1140
  await this.emit(`${name}.Running`, span("start", undefined, {}));
1141
+ // Marked before the call, not after: a Service's `run()` stays pending for
1142
+ // the process lifetime, and reporting what it discovered while listening is
1143
+ // the whole point — `ctx.setStatus()` is an error until the resource counts
1144
+ // as started, so this has to happen first.
1145
+ await this.markStarted(name, instance);
956
1146
  try {
957
1147
  // Runnable: run inside the ALS scope so nested invokes inherit the token and
958
1148
  // trace id (skip the redundant `run` when the token is already ambient).
@@ -960,6 +1150,10 @@ export class EvaluationContext {
960
1150
  // its long-lived async work does not capture this scope.
961
1151
  const call = () => instance.run(invokeCtx);
962
1152
  await (isService || invokeCtx === ambient ? call() : cancellationStore.run(invokeCtx, call));
1153
+ // A one-shot Runnable that discovered something during run() publishes it
1154
+ // without an explicit call; a Service never reaches this until teardown.
1155
+ completedInstances.add(instance);
1156
+ await this.publishSnapshot(name);
963
1157
  await this.emit(`${name}.Run`, span("end", "ok", {}));
964
1158
  }
965
1159
  catch (err) {
@@ -1160,6 +1354,27 @@ function tokenizeAccessPath(source) {
1160
1354
  * against the activation — callers fall back to the original error text.
1161
1355
  */
1162
1356
  export function describeFailedAccess(source, ctx, msg) {
1357
+ const failure = locateFailedAccess(source, ctx, msg);
1358
+ if (!failure)
1359
+ return null;
1360
+ return `at ${failure.walked}: ${describeMissingAccess(failure.container, failure.missingKey)}`;
1361
+ }
1362
+ /**
1363
+ * The observed-state message for a failed access, or null when the failure has
1364
+ * nothing to do with observed state (the caller then falls back to the generic
1365
+ * enrichment above). See `observed-state.ts` for why "has not started" and
1366
+ * "started but reported nothing" are two different messages.
1367
+ */
1368
+ export function describeObservedStateFailure(source, ctx, msg) {
1369
+ const failure = locateFailedAccess(source, ctx, msg);
1370
+ if (!failure)
1371
+ return null;
1372
+ return diagnoseObservedStateAccess(failure.container, failure.missingKey);
1373
+ }
1374
+ /** Walk a dotted CEL access path against the activation and stop at the node
1375
+ * whose key was missing. Null when the error isn't a key-access failure, the
1376
+ * source isn't a plain access path, or the path doesn't match the activation. */
1377
+ function locateFailedAccess(source, ctx, msg) {
1163
1378
  const m = /^No such key:\s*(\S+)/.exec(msg);
1164
1379
  if (!m)
1165
1380
  return null;
@@ -1186,7 +1401,7 @@ export function describeFailedAccess(source, ctx, msg) {
1186
1401
  !(tok.name in current)) {
1187
1402
  if (tok.name !== missingKey)
1188
1403
  return null;
1189
- return `at ${walked.join("")}: ${describeMissingAccess(current, missingKey)}`;
1404
+ return { container: current, missingKey, walked: walked.join("") };
1190
1405
  }
1191
1406
  current = current[tok.name];
1192
1407
  walked.push("." + tok.name);