@telorun/kernel 0.80.0 → 0.82.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 (71) hide show
  1. package/dist/controller-loaders/npm-install-root.d.ts +56 -0
  2. package/dist/controller-loaders/npm-install-root.d.ts.map +1 -0
  3. package/dist/controller-loaders/npm-install-root.js +109 -0
  4. package/dist/controller-loaders/npm-install-root.js.map +1 -0
  5. package/dist/controller-loaders/npm-loader.d.ts +3 -0
  6. package/dist/controller-loaders/npm-loader.d.ts.map +1 -1
  7. package/dist/controller-loaders/npm-loader.js +11 -1
  8. package/dist/controller-loaders/npm-loader.js.map +1 -1
  9. package/dist/controllers/logging/console-sink-controller.d.ts.map +1 -1
  10. package/dist/controllers/logging/console-sink-controller.js +19 -9
  11. package/dist/controllers/logging/console-sink-controller.js.map +1 -1
  12. package/dist/controllers/logging/file-sink-controller.d.ts.map +1 -1
  13. package/dist/controllers/logging/file-sink-controller.js +17 -6
  14. package/dist/controllers/logging/file-sink-controller.js.map +1 -1
  15. package/dist/controllers/module/import-controller.d.ts.map +1 -1
  16. package/dist/controllers/module/import-controller.js +36 -15
  17. package/dist/controllers/module/import-controller.js.map +1 -1
  18. package/dist/controllers/resource-definition/resource-template-controller.d.ts.map +1 -1
  19. package/dist/controllers/resource-definition/resource-template-controller.js +7 -5
  20. package/dist/controllers/resource-definition/resource-template-controller.js.map +1 -1
  21. package/dist/effect-scope.d.ts +132 -0
  22. package/dist/effect-scope.d.ts.map +1 -0
  23. package/dist/effect-scope.js +253 -0
  24. package/dist/effect-scope.js.map +1 -0
  25. package/dist/evaluation-context.d.ts +26 -1
  26. package/dist/evaluation-context.d.ts.map +1 -1
  27. package/dist/evaluation-context.js +156 -12
  28. package/dist/evaluation-context.js.map +1 -1
  29. package/dist/init-failure-diagnostics.d.ts +10 -0
  30. package/dist/init-failure-diagnostics.d.ts.map +1 -1
  31. package/dist/init-failure-diagnostics.js +7 -1
  32. package/dist/init-failure-diagnostics.js.map +1 -1
  33. package/dist/kernel.d.ts +6 -2
  34. package/dist/kernel.d.ts.map +1 -1
  35. package/dist/kernel.js +23 -14
  36. package/dist/kernel.js.map +1 -1
  37. package/dist/manifest-schemas.d.ts +4 -1
  38. package/dist/manifest-schemas.d.ts.map +1 -1
  39. package/dist/manifest-schemas.js +4 -10
  40. package/dist/manifest-schemas.js.map +1 -1
  41. package/dist/module-context.d.ts +10 -0
  42. package/dist/module-context.d.ts.map +1 -1
  43. package/dist/module-context.js +15 -0
  44. package/dist/module-context.js.map +1 -1
  45. package/dist/observed-state.d.ts.map +1 -1
  46. package/dist/observed-state.js +2 -4
  47. package/dist/observed-state.js.map +1 -1
  48. package/dist/resource-context.d.ts +18 -1
  49. package/dist/resource-context.d.ts.map +1 -1
  50. package/dist/resource-context.js +27 -0
  51. package/dist/resource-context.js.map +1 -1
  52. package/dist/schema-compiled-values.d.ts +2 -1
  53. package/dist/schema-compiled-values.d.ts.map +1 -1
  54. package/dist/schema-compiled-values.js +23 -20
  55. package/dist/schema-compiled-values.js.map +1 -1
  56. package/package.json +4 -3
  57. package/src/controller-loaders/npm-install-root.ts +131 -0
  58. package/src/controller-loaders/npm-loader.ts +12 -1
  59. package/src/controllers/logging/console-sink-controller.ts +19 -9
  60. package/src/controllers/logging/file-sink-controller.ts +17 -6
  61. package/src/controllers/module/import-controller.ts +50 -27
  62. package/src/controllers/resource-definition/resource-template-controller.ts +14 -11
  63. package/src/effect-scope.ts +340 -0
  64. package/src/evaluation-context.ts +165 -10
  65. package/src/init-failure-diagnostics.ts +8 -1
  66. package/src/kernel.ts +26 -13
  67. package/src/manifest-schemas.ts +4 -9
  68. package/src/module-context.ts +16 -0
  69. package/src/observed-state.ts +2 -4
  70. package/src/resource-context.ts +32 -0
  71. package/src/schema-compiled-values.ts +35 -21
@@ -171,7 +171,11 @@ export function createTemplateController(definition, definingContext) {
171
171
  // children are skipped, still-pending ones advance).
172
172
  let registered = false;
173
173
  return {
174
- init: async () => {
174
+ // The template's own resources are its allocation, and tearing the child
175
+ // context down is the inverse. `init()` still resumes rather than
176
+ // restarting, because a deferral (a child ref naming a sibling that has
177
+ // not initialized) keeps the instance: only a real failure discards it.
178
+ init: (templateCtx) => templateCtx.effect("template resources", async () => {
175
179
  if (!registered) {
176
180
  for (const template of definition.resources ?? []) {
177
181
  childContext.registerManifest(expandSelf(template));
@@ -179,7 +183,8 @@ export function createTemplateController(definition, definingContext) {
179
183
  registered = true;
180
184
  }
181
185
  await childContext.initializeResources();
182
- },
186
+ return { result: undefined, inverse: () => childContext.teardownResources() };
187
+ }),
183
188
  ...(invokeTarget && {
184
189
  invoke: async (inputs) => {
185
190
  const entry = dispatchEntry(invokeTarget, "invoke");
@@ -228,9 +233,6 @@ export function createTemplateController(definition, definingContext) {
228
233
  return mountable.register(app, prefix);
229
234
  },
230
235
  }),
231
- teardown: async () => {
232
- await childContext.teardownResources();
233
- },
234
236
  };
235
237
  },
236
238
  };
@@ -1 +1 @@
1
- {"version":3,"file":"resource-template-controller.js","sourceRoot":"","sources":["../../../src/controllers/resource-definition/resource-template-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-template-controller.js","sourceRoot":"","sources":["../../../src/controllers/resource-definition/resource-template-controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,132 @@
1
+ import type { EffectBody, EffectChain, EffectResult, Inverse, ResourceInstance } from "@telorun/sdk";
2
+ /**
3
+ * The inverse accumulator behind the effect chain.
4
+ *
5
+ * A stack of FRAMES, one per lifecycle entry. The kernel opens a frame at
6
+ * `create()` and at each `init()` / `run()`; a failure unwinds only the frame
7
+ * that failed, so a failed `init()` cannot revert what `create()` did and then
8
+ * retry against a resource whose construction was rolled back. Teardown unwinds
9
+ * every open frame, newest first; within a frame, last-in-first-out.
10
+ *
11
+ * Normative contract: `kernel/specs/revertible-effects.md`.
12
+ */
13
+ export type FrameLabel = "create" | "init" | "run";
14
+ /** One inverse that refused, kept with the reason its author gave the effect. */
15
+ export interface RecoveryFailure {
16
+ readonly reason: string;
17
+ readonly error: unknown;
18
+ }
19
+ /** One link of a chain: what to run, and what the author called it. */
20
+ interface Step {
21
+ readonly reason: string;
22
+ readonly body: EffectBody<unknown, unknown>;
23
+ }
24
+ /**
25
+ * A lazy chain of steps against one scope.
26
+ *
27
+ * Immutable and value-like, so `chain.effect(...)` in a branch or a loop builds
28
+ * a new description rather than mutating a shared one. Deliberately NOT a
29
+ * thenable: an `async init()` would unwrap it and hand the kernel its last
30
+ * result instead of the chain.
31
+ */
32
+ declare class Chain<T> implements EffectChain<T> {
33
+ private readonly scope;
34
+ private readonly steps;
35
+ constructor(scope: EffectScope, steps: readonly Step[]);
36
+ effect<TNext>(reason: string, body: EffectBody<T, TNext>): EffectChain<TNext>;
37
+ perform(): Promise<EffectResult<T>>;
38
+ /** The steps, for the kernel executing a chain a controller returned. */
39
+ plan(): readonly Step[];
40
+ }
41
+ /** A chain produced by this kernel, as opposed to any other object a controller
42
+ * might return from `init()`. */
43
+ export declare function isEffectChain(value: unknown): value is Chain<unknown>;
44
+ export declare class EffectScope {
45
+ private readonly label;
46
+ /** Innermost last. `create` is opened with the scope, so there is always a
47
+ * frame to register onto. */
48
+ private readonly frames;
49
+ /** Set while this scope is unwinding. A generator body checks it at each step
50
+ * boundary and stops rather than allocating into a scope that is going away —
51
+ * the mid-boot SIGINT case. */
52
+ private unwinding;
53
+ /** Terminal: set by {@link unwindAll}. A closed scope has no frames and takes
54
+ * no new effects. */
55
+ private closed;
56
+ constructor(label: string);
57
+ /** Refuse work against a scope that has already unwound. Raised BEFORE a
58
+ * forward body runs, so a late effect cannot allocate and then find it has
59
+ * nowhere to record the inverse. */
60
+ private assertOpen;
61
+ openFrame(label: FrameLabel): void;
62
+ /** Start a chain. Nothing runs until it is executed. */
63
+ chain<T>(reason: string, body: EffectBody<void, T>): EffectChain<T>;
64
+ /**
65
+ * Register an inverse for work performed elsewhere, without a forward body.
66
+ *
67
+ * The synchronous door onto the same accumulator, for a primitive that
68
+ * already returns its own inverse: `acquireHold` hands back a release
69
+ * closure, and its public signature is synchronous, so it cannot go through a
70
+ * chain.
71
+ */
72
+ register(reason: string, inverse: Inverse): () => Promise<void>;
73
+ /**
74
+ * Run a chain's steps in order against the frame open NOW, threading each
75
+ * step's result into the next.
76
+ *
77
+ * A step that throws leaves every inverse produced so far on the frame — this
78
+ * does not unwind, because whether a partial `init()` is recovered-and-retried
79
+ * or torn down is the caller's decision, not this function's.
80
+ */
81
+ execute(steps: readonly Step[]): Promise<EffectResult<unknown>>;
82
+ /**
83
+ * Unwind the innermost frame and close it, returning what refused.
84
+ *
85
+ * Failures are returned rather than thrown: the caller decides what a refusal
86
+ * means. Pre-retry recovery withholds the resource (retrying from a state that
87
+ * could not be rolled back is worse than not retrying); teardown aggregates
88
+ * and keeps going, so one throwing resource cannot strand the log sinks pinned
89
+ * to outlive it.
90
+ */
91
+ unwindFrame(): Promise<RecoveryFailure[]>;
92
+ /**
93
+ * Unwind every open frame, innermost first, and CLOSE the scope.
94
+ *
95
+ * Terminal, because both callers are: teardown, and the discard of a resource
96
+ * whose `init()` failed (its replacement is built with a fresh context, so a
97
+ * fresh scope). A closed scope refuses new effects rather than accepting them
98
+ * onto a frame nothing will ever unwind — recording an inverse that will never
99
+ * run is the silent leak this whole mechanism exists to remove, and it is
100
+ * exactly the shape a detached task still settling after teardown produces.
101
+ */
102
+ unwindAll(): Promise<RecoveryFailure[]>;
103
+ private runInverses;
104
+ private disposeEntries;
105
+ private current;
106
+ }
107
+ /**
108
+ * Execute whatever a lifecycle method returned.
109
+ *
110
+ * A controller that allocates nothing returns nothing, so a non-chain return is
111
+ * not an error — but it is also not an inverse, which is why `init()` returning
112
+ * a chain it forgot to hand back fails loudly and immediately: nothing was
113
+ * allocated at all.
114
+ */
115
+ export declare function executeReturnedChain(returned: unknown, scope?: EffectScope): Promise<void>;
116
+ /**
117
+ * What the teardown cascade needs from a resource's context: its inverses, and
118
+ * its detached-task drain.
119
+ *
120
+ * Structural rather than the context class itself, so the accumulator does not
121
+ * pull the whole `ResourceContextImpl` into every consumer — and so the drain
122
+ * stays visibly a *second* thing, since it waits for in-flight work rather than
123
+ * undoing anything.
124
+ */
125
+ export interface EffectOwner {
126
+ readonly effects: EffectScope;
127
+ drainDetached(): Promise<void>;
128
+ }
129
+ export declare function bindEffectOwner(instance: ResourceInstance, owner: EffectOwner): void;
130
+ export declare function effectOwnerOf(instance: ResourceInstance): EffectOwner | undefined;
131
+ export {};
132
+ //# sourceMappingURL=effect-scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect-scope.d.ts","sourceRoot":"","sources":["../src/effect-scope.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,253 @@
1
+ import { RuntimeError } from "@telorun/sdk";
2
+ /** One line for an inverse's refusal, quoted into a recovery aggregate. */
3
+ function errorText(err) {
4
+ return err instanceof Error ? err.message : String(err);
5
+ }
6
+ function isAsyncGenerator(value) {
7
+ return (typeof value === "object" &&
8
+ value !== null &&
9
+ typeof value.next === "function" &&
10
+ Symbol.asyncIterator in value);
11
+ }
12
+ /**
13
+ * A lazy chain of steps against one scope.
14
+ *
15
+ * Immutable and value-like, so `chain.effect(...)` in a branch or a loop builds
16
+ * a new description rather than mutating a shared one. Deliberately NOT a
17
+ * thenable: an `async init()` would unwrap it and hand the kernel its last
18
+ * result instead of the chain.
19
+ */
20
+ class Chain {
21
+ scope;
22
+ steps;
23
+ constructor(scope, steps) {
24
+ this.scope = scope;
25
+ this.steps = steps;
26
+ }
27
+ effect(reason, body) {
28
+ return new Chain(this.scope, [
29
+ ...this.steps,
30
+ { reason, body: body },
31
+ ]);
32
+ }
33
+ perform() {
34
+ return this.scope.execute(this.steps);
35
+ }
36
+ /** The steps, for the kernel executing a chain a controller returned. */
37
+ plan() {
38
+ return this.steps;
39
+ }
40
+ }
41
+ /** A chain produced by this kernel, as opposed to any other object a controller
42
+ * might return from `init()`. */
43
+ export function isEffectChain(value) {
44
+ return value instanceof Chain;
45
+ }
46
+ export class EffectScope {
47
+ label;
48
+ /** Innermost last. `create` is opened with the scope, so there is always a
49
+ * frame to register onto. */
50
+ frames = [];
51
+ /** Set while this scope is unwinding. A generator body checks it at each step
52
+ * boundary and stops rather than allocating into a scope that is going away —
53
+ * the mid-boot SIGINT case. */
54
+ unwinding = false;
55
+ /** Terminal: set by {@link unwindAll}. A closed scope has no frames and takes
56
+ * no new effects. */
57
+ closed = false;
58
+ constructor(label) {
59
+ this.label = label;
60
+ this.openFrame("create");
61
+ }
62
+ /** Refuse work against a scope that has already unwound. Raised BEFORE a
63
+ * forward body runs, so a late effect cannot allocate and then find it has
64
+ * nowhere to record the inverse. */
65
+ assertOpen(what) {
66
+ if (!this.closed)
67
+ return;
68
+ throw new RuntimeError("ERR_EFFECT_SCOPE_CLOSED", `${this.label}: '${what}' cannot run — this resource has been torn down. ` +
69
+ `An effect registered now would record an inverse nothing will ever run.`);
70
+ }
71
+ openFrame(label) {
72
+ this.frames.push({ label, entries: [] });
73
+ }
74
+ /** Start a chain. Nothing runs until it is executed. */
75
+ chain(reason, body) {
76
+ return new Chain(this, []).effect(reason, body);
77
+ }
78
+ /**
79
+ * Register an inverse for work performed elsewhere, without a forward body.
80
+ *
81
+ * The synchronous door onto the same accumulator, for a primitive that
82
+ * already returns its own inverse: `acquireHold` hands back a release
83
+ * closure, and its public signature is synchronous, so it cannot go through a
84
+ * chain.
85
+ */
86
+ register(reason, inverse) {
87
+ this.assertOpen(reason);
88
+ const entry = { reason, inverse, disposed: false };
89
+ this.current().entries.push(entry);
90
+ return () => this.disposeEntries([entry]);
91
+ }
92
+ /**
93
+ * Run a chain's steps in order against the frame open NOW, threading each
94
+ * step's result into the next.
95
+ *
96
+ * A step that throws leaves every inverse produced so far on the frame — this
97
+ * does not unwind, because whether a partial `init()` is recovered-and-retried
98
+ * or torn down is the caller's decision, not this function's.
99
+ */
100
+ async execute(steps) {
101
+ const registered = [];
102
+ const push = (reason, inverse) => {
103
+ const entry = { reason, inverse, disposed: false };
104
+ this.current().entries.push(entry);
105
+ registered.push(entry);
106
+ };
107
+ let value = undefined;
108
+ for (const step of steps) {
109
+ this.assertOpen(step.reason);
110
+ if (this.unwinding) {
111
+ throw new RuntimeError("ERR_EFFECT_SCOPE_CLOSING", `${this.label}: '${step.reason}' not started because the resource is being torn down`);
112
+ }
113
+ const produced = step.body(value);
114
+ if (isAsyncGenerator(produced)) {
115
+ const iterator = produced;
116
+ for (;;) {
117
+ if (this.unwinding) {
118
+ // Stop at the step boundary and let the generator run its own
119
+ // `finally`. What already yielded stays on the frame and is
120
+ // recovered by the unwind in progress.
121
+ await iterator.return?.(undefined);
122
+ throw new RuntimeError("ERR_EFFECT_SCOPE_CLOSING", `${this.label}: '${step.reason}' stopped because the resource is being torn down`);
123
+ }
124
+ const next = await iterator.next();
125
+ if (next.done) {
126
+ value = next.value;
127
+ break;
128
+ }
129
+ push(step.reason, next.value);
130
+ }
131
+ }
132
+ else {
133
+ const outcome = (await produced);
134
+ // No inverse means the step allocated nothing that outlives a failure —
135
+ // a chain is the sequencing structure for lifecycle work as well as the
136
+ // record of what to undo, so a step with nothing to undo registers
137
+ // nothing rather than a no-op that would read as an oversight.
138
+ if (outcome.inverse)
139
+ push(step.reason, outcome.inverse);
140
+ value = outcome.result;
141
+ }
142
+ }
143
+ return { result: value, dispose: () => this.disposeEntries(registered) };
144
+ }
145
+ /**
146
+ * Unwind the innermost frame and close it, returning what refused.
147
+ *
148
+ * Failures are returned rather than thrown: the caller decides what a refusal
149
+ * means. Pre-retry recovery withholds the resource (retrying from a state that
150
+ * could not be rolled back is worse than not retrying); teardown aggregates
151
+ * and keeps going, so one throwing resource cannot strand the log sinks pinned
152
+ * to outlive it.
153
+ */
154
+ async unwindFrame() {
155
+ const frame = this.frames.pop();
156
+ if (!frame)
157
+ return [];
158
+ return this.runInverses(frame.entries);
159
+ }
160
+ /**
161
+ * Unwind every open frame, innermost first, and CLOSE the scope.
162
+ *
163
+ * Terminal, because both callers are: teardown, and the discard of a resource
164
+ * whose `init()` failed (its replacement is built with a fresh context, so a
165
+ * fresh scope). A closed scope refuses new effects rather than accepting them
166
+ * onto a frame nothing will ever unwind — recording an inverse that will never
167
+ * run is the silent leak this whole mechanism exists to remove, and it is
168
+ * exactly the shape a detached task still settling after teardown produces.
169
+ */
170
+ async unwindAll() {
171
+ const failures = [];
172
+ while (this.frames.length > 0)
173
+ failures.push(...(await this.unwindFrame()));
174
+ this.closed = true;
175
+ return failures;
176
+ }
177
+ async runInverses(entries) {
178
+ const wasUnwinding = this.unwinding;
179
+ this.unwinding = true;
180
+ const failures = [];
181
+ for (const entry of [...entries].reverse()) {
182
+ if (entry.disposed)
183
+ continue;
184
+ entry.disposed = true;
185
+ try {
186
+ await entry.inverse();
187
+ }
188
+ catch (error) {
189
+ failures.push({ reason: entry.reason, error });
190
+ }
191
+ }
192
+ this.unwinding = wasUnwinding;
193
+ return failures;
194
+ }
195
+ async disposeEntries(entries) {
196
+ const failures = await this.runInverses(entries);
197
+ if (failures.length === 0)
198
+ return;
199
+ // An explicit dispose HAS a caller, unlike an unwind — so it throws rather
200
+ // than being collected into someone else's aggregate. Every refusal travels,
201
+ // matching the init and teardown paths: a dispose covers a chain, so
202
+ // reporting the first and dropping the rest would hide the others exactly
203
+ // where more than one thing failed to roll back.
204
+ throw new RuntimeError("ERR_EFFECT_RECOVERY_FAILED", `${this.label}: ${failures.length} inverse(s) refused: ` +
205
+ failures.map((f) => `'${f.reason}' (${errorText(f.error)})`).join(", "), failures.map((f) => ({
206
+ severity: "error",
207
+ message: `inverse '${f.reason}' refused: ${errorText(f.error)}`,
208
+ })));
209
+ }
210
+ current() {
211
+ this.assertOpen("effect");
212
+ const frame = this.frames[this.frames.length - 1];
213
+ if (!frame)
214
+ throw new RuntimeError("ERR_EFFECT_NO_FRAME", `${this.label}: no open effect frame`);
215
+ return frame;
216
+ }
217
+ }
218
+ /**
219
+ * Execute whatever a lifecycle method returned.
220
+ *
221
+ * A controller that allocates nothing returns nothing, so a non-chain return is
222
+ * not an error — but it is also not an inverse, which is why `init()` returning
223
+ * a chain it forgot to hand back fails loudly and immediately: nothing was
224
+ * allocated at all.
225
+ */
226
+ export async function executeReturnedChain(returned, scope) {
227
+ if (!isEffectChain(returned))
228
+ return;
229
+ if (!scope) {
230
+ throw new RuntimeError("ERR_EFFECT_NO_SCOPE", "a controller returned an effect chain from a resource with no effect scope");
231
+ }
232
+ await scope.execute(returned.plan());
233
+ }
234
+ /**
235
+ * An instance's effect owner, recorded at the kernel's single
236
+ * instance-production site — the anchor that already carries handle minting and
237
+ * contract binding, so an instance is never observable without one.
238
+ *
239
+ * A WeakMap rather than a field on the resource-instances map: teardown holds
240
+ * the instance and nothing else, and every reader of that map would otherwise
241
+ * have to learn about effects. First bind wins, mirroring handle minting: a
242
+ * `base:` child IS the parent instance returned verbatim, and re-binding would
243
+ * give one object two accumulators.
244
+ */
245
+ const owners = new WeakMap();
246
+ export function bindEffectOwner(instance, owner) {
247
+ if (!owners.has(instance))
248
+ owners.set(instance, owner);
249
+ }
250
+ export function effectOwnerOf(instance) {
251
+ return owners.get(instance);
252
+ }
253
+ //# sourceMappingURL=effect-scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect-scope.js","sourceRoot":"","sources":["../src/effect-scope.ts"],"names":[],"mappings":"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"}
@@ -50,12 +50,27 @@ export declare class EvaluationContext implements IEvaluationContext {
50
50
  resource: ResourceManifest;
51
51
  instance: ResourceInstance;
52
52
  }>;
53
- /** Resources that have been created but not yet initialized (between phases). */
53
+ /** Resources that have been created but not yet initialized (between phases).
54
+ * `source` is the manifest as REGISTERED, kept so a discarded instance is
55
+ * rebuilt from what the author wrote rather than from the create-time
56
+ * expansion of it. */
54
57
  protected readonly createdInstances: Map<string, {
55
58
  resource: ResourceManifest;
56
59
  instance: ResourceInstance;
57
60
  ctx: any;
61
+ source: ResourceManifest;
58
62
  }>;
63
+ /**
64
+ * Resources whose failed `init()` could not be rolled back.
65
+ *
66
+ * Withheld rather than retried: re-running `init()` from a state an inverse
67
+ * refused to restore is worse than not retrying, so the loop skips them and
68
+ * they are reported with both the init error and the refusing inverse.
69
+ */
70
+ private readonly withheldResources;
71
+ /** Resources discarded after a failed `init()` and re-queued for creation.
72
+ * Their re-creation is not progress — see the create sub-phase. */
73
+ private readonly recreatedResources;
59
74
  /** Resources queued for initialization on this context node. */
60
75
  private pendingResources;
61
76
  /**
@@ -178,6 +193,16 @@ export declare class EvaluationContext implements IEvaluationContext {
178
193
  * Attach a child context to this node. The child's parent is set to this
179
194
  * context and the child is registered under the given name.
180
195
  */
196
+ /**
197
+ * Detach a child from this node — the inverse of {@link spawnChild}.
198
+ *
199
+ * A child is normally torn down in place, so this exists for the one case
200
+ * that discards it instead: an import whose instance is dropped and rebuilt
201
+ * must not leave its child in `children`, or this context's teardown cascades
202
+ * into a context whose replacement is already live. Here rather than in the
203
+ * controller, because how children are tracked is this class's own fact.
204
+ */
205
+ detachChild(child: IEvaluationContext): void;
181
206
  spawnChild<T extends IEvaluationContext>(child: T): T;
182
207
  /** Spawn a fresh child context attached to this node — the isolated scope a
183
208
  * templated definition registers its `resources:` into. Rooting it on the
@@ -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":"AAEA,OAAO,EAOL,WAAW,EAEX,KAAK,iBAAiB,IAAI,kBAAkB,EAC5C,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAGlB,KAAK,WAAW,EAChB,KAAK,MAAM,EACZ,MAAM,cAAc,CAAC;AAiBtB,OAAO,EAAE,WAAW,EAAE,CAAC;AAyFvB,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,gBAAgB,EAC1B,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,GACxB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA6CzB;AAuED;iFACiF;AACjF,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,OAAO,GAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAIrC;AAwCD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkBlF;AAgCD,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,gBAAgB,EAC1B,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,kBAAkB,GAAG,SAAS,CAAC,GAAG,SAAS,GAC5E,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAgBlC;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,IAAI,aAAa,GAAG,SAAS,CAEhE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAE3E;AAsED;;;;;;;;;;GAUG;AACH,qBAAa,iBAAkB,YAAW,kBAAkB;IAoHxD,QAAQ,CAAC,MAAM,EAAE,MAAM;IAnHzB,QAAQ,CAAC,EAAE,SAA0C;IACrD,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAEzB,sCAAsC;IACtC,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAa;IACnD,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,EAAE,CAAM;IAE7C,oDAAoD;IACpD,KAAK,EAAE,cAAc,CAAa;IAElC,6EAA6E;IAC7E,QAAQ,CAAC,iBAAiB;kBAEZ,gBAAgB;kBAAY,gBAAgB;OACtD;IAEJ;;;2BAGuB;IACvB,SAAS,CAAC,QAAQ,CAAC,gBAAgB;kBAErB,gBAAgB;kBAAY,gBAAgB;aAAO,GAAG;gBAAU,gBAAgB;OAC1F;IAEJ;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IAEvD;wEACoE;IACpE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IAExD,gEAAgE;IAChE,OAAO,CAAC,gBAAgB,CAA0B;IAElD;;;;;;;;;;OAUG;IACH,SAAS,CAAC,QAAQ,CAAC,iBAAiB,gCAAuC;IAE3E;;;mEAG+D;IAC/D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA+B;IAEpE;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,kBAAkB,GAAG,SAAS,CAAC;IAEjE;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IAEtB;uFACmF;IACnF,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,wEAAwE;IACxE,OAAO,CAAC,UAAU;IAIlB;;;yEAGqE;IACrE,OAAO,CAAC,WAAW;gBAQR,MAAM,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,cAAc,EAAE,eAAe,YAAmB,EAClD,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,EACzB,IAAI,EAAE,SAAS;IAQjB,IAAI,cAAc,IAAI,eAAe,CAEpC;IAED;iFAC6E;IAC7E,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIlF;;4CAEwC;IACxC,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAE5F;;mCAE+B;YACjB,WAAW;IAMzB;;;;;;;;OAQG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBrF;;;8EAG0E;IAC1E,OAAO,CAAC,cAAc;IAKtB;;;;;OAKG;IACG,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBlD,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAErC;IAED,IAAI,YAAY,IAAI,GAAG,CAAC,MAAM,CAAC,CAE9B;IAED;;;;;OAKG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IASnC;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAQlC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAYlD;;;;;;;;;;OAUG;IACH,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAWnF;oEACgE;IAChE,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIlF;;;OAGG;IACH;;;;;;;;OAQG;IACH,WAAW,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAK5C,UAAU,CAAC,CAAC,SAAS,kBAAkB,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;IAuBrD;;;;;;4DAMwD;IACxD,iBAAiB,IAAI,iBAAiB;IActC;;;;;OAKG;IACH,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIlF;;;;;;;;;;;;;;;;;;OAkBG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAoN1C,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAuBlD;;;;;;;;OAQG;IACH,iBAAiB,CAAC,SAAS,EAAE,gBAAgB,EAAE,GAAG,WAAW;IA8G7D;;;;;OAKG;IAEG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAkFxC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,aAAa;IAWrB,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,iBAAiB;IAU/D;;;;;OAKG;IACG,MAAM,CAAC,OAAO,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,OAAO,EACf,GAAG,CAAC,EAAE,aAAa,GAClB,OAAO,CAAC,GAAG,CAAC;IA6Bf;;;;;OAKG;IACG,cAAc,CAAC,OAAO,EAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,OAAO,EACf,GAAG,CAAC,EAAE,aAAa,GAClB,OAAO,CAAC,GAAG,CAAC;IAUf;;;;;;;;;;OAUG;IACH;;;;;;OAMG;IACH,SAAS,CAAC,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAI/D,SAAS,CAAC,YAAY,CACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,UAAU,EAAE,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,EACpD,KAAK,EAAE,OAAO,GAAG,KAAK,EACtB,OAAO,EAAE,WAAW,GAAG,SAAS,EAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;YAkBZ,SAAS;IA+JvB;;;;;;OAMG;IACH;;;gFAG4E;IAC5E,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI/C;;;0EAGsE;IACtE,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAC;IAErD,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,qBAAqB;IAgBvB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3D;;;;;OAKG;IACG,WAAW,CACf,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,gBAAgB,EAC1B,GAAG,CAAC,EAAE,aAAa,GAClB,OAAO,CAAC,IAAI,CAAC;IAUhB;;;;;OAKG;IACG,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;YAsD3E,WAAW;IA6HzB;;;;;;;;OAQG;IACH,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIhD;;;;;;;;;;OAUG;IACH,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAS/B;;;;;;;;OAQG;IACH,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO;IAyB1E;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAwB3B;;;;OAIG;IACH,SAAS,CACP,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC7C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IA2C1B;mEAC+D;IAC/D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAGxB;IAEN;;;;SAIK;IACH,WAAW,CACT,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,KAAK,EAAE,MAAM,EAAE,EACf,YAAY,GAAE,MAAM,EAAO,GAC1B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAmB3B;AA4ED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,MAAM,GACV,MAAM,GAAG,IAAI,CAIf;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,MAAM,GACV,MAAM,GAAG,IAAI,CAIf"}