@telorun/kernel 0.85.0 → 0.87.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/evaluation-context.d.ts +176 -25
- package/dist/evaluation-context.d.ts.map +1 -1
- package/dist/evaluation-context.js +299 -44
- package/dist/evaluation-context.js.map +1 -1
- package/dist/kernel.d.ts +60 -0
- package/dist/kernel.d.ts.map +1 -1
- package/dist/kernel.js +252 -3
- package/dist/kernel.js.map +1 -1
- package/dist/module-context.d.ts +31 -1
- package/dist/module-context.d.ts.map +1 -1
- package/dist/module-context.js +41 -1
- package/dist/module-context.js.map +1 -1
- package/dist/reconcile.d.ts +42 -0
- package/dist/reconcile.d.ts.map +1 -0
- package/dist/reconcile.js +58 -0
- package/dist/reconcile.js.map +1 -0
- package/dist/resource-edges.d.ts +58 -0
- package/dist/resource-edges.d.ts.map +1 -0
- package/dist/resource-edges.js +110 -0
- package/dist/resource-edges.js.map +1 -0
- package/dist/runtime-seam.js +2 -2
- package/dist/runtime-seam.js.map +1 -1
- package/package.json +3 -3
- package/src/evaluation-context.ts +330 -53
- package/src/kernel.ts +312 -3
- package/src/module-context.ts +41 -1
- package/src/reconcile.ts +83 -0
- package/src/resource-edges.ts +114 -0
- package/src/runtime-seam.ts +4 -4
|
@@ -71,6 +71,24 @@ export declare class EvaluationContext implements IEvaluationContext {
|
|
|
71
71
|
* they are reported with both the init error and the refusing inverse.
|
|
72
72
|
*/
|
|
73
73
|
private readonly withheldResources;
|
|
74
|
+
/**
|
|
75
|
+
* Keys whose instance was REMOVED BY AN UNWIND — the fact a dispatch that
|
|
76
|
+
* misses actually needs, as opposed to the context-wide state that only
|
|
77
|
+
* approximates it.
|
|
78
|
+
*
|
|
79
|
+
* A miss because the resource went away is the runtime withdrawing, not a
|
|
80
|
+
* manifest defect, and the two want opposite follow-ups (see `invoke`). Both
|
|
81
|
+
* paths that withdraw one go through `unwindEach`, the single removal site, so
|
|
82
|
+
* recording it there covers a shutdown AND a reconciliation — where a check
|
|
83
|
+
* against `state` would have converted the first and missed the second, since
|
|
84
|
+
* `unwindResources` deliberately leaves the state untouched. The second is the
|
|
85
|
+
* one that fires on every watch-session save.
|
|
86
|
+
*
|
|
87
|
+
* Cleared when the key is registered again: after a reconcile the name means a
|
|
88
|
+
* live resource, and a stale entry would report a genuine missing-resource
|
|
89
|
+
* defect as a cancellation.
|
|
90
|
+
*/
|
|
91
|
+
private readonly unwoundResources;
|
|
74
92
|
/** Resources discarded after a failed `init()` and re-queued for creation.
|
|
75
93
|
* Their re-creation is not progress — see the create sub-phase. */
|
|
76
94
|
private readonly recreatedResources;
|
|
@@ -122,9 +140,27 @@ export declare class EvaluationContext implements IEvaluationContext {
|
|
|
122
140
|
protected readonly declaredManifests: Map<string, ResourceManifest>;
|
|
123
141
|
/** Per-resource dependency names, captured at create() time — BEFORE Phase-5
|
|
124
142
|
* injection swaps refs for live instances, so the walk sees plain objects and
|
|
125
|
-
* cannot wander into a controller's (possibly cyclic) object graph.
|
|
126
|
-
*
|
|
143
|
+
* cannot wander into a controller's (possibly cyclic) object graph.
|
|
144
|
+
*
|
|
145
|
+
* Read twice, and RETAINED for the context's lifetime because of the second
|
|
146
|
+
* reader: to attribute an init failure to its cause, and to order teardown
|
|
147
|
+
* (`teardownOrder`) so a consumer's inverses run while the resources it holds
|
|
148
|
+
* are still alive. */
|
|
127
149
|
private readonly resourceDependencies;
|
|
150
|
+
/**
|
|
151
|
+
* Names resolved by NAME during initialization, rather than through a
|
|
152
|
+
* declared reference slot — so a resource somebody may be holding, with no
|
|
153
|
+
* edge recording who.
|
|
154
|
+
*
|
|
155
|
+
* The set is of TARGETS, not of pairs: the door that records
|
|
156
|
+
* (`ModuleContext.getInstance`) is reached as `ctx.moduleContext`, which every
|
|
157
|
+
* resource of the module shares, so there is no caller to attribute the read
|
|
158
|
+
* to. That is enough for the one decision that depends on it — see
|
|
159
|
+
* {@link impactedBy}.
|
|
160
|
+
*/
|
|
161
|
+
protected readonly opaquelyRead: Set<string>;
|
|
162
|
+
/** Record a by-name resolution. Called by the recording door only. */
|
|
163
|
+
protected recordOpaqueRead(name: string): void;
|
|
128
164
|
/**
|
|
129
165
|
* Optional hook called between create() and init() for each resource.
|
|
130
166
|
* Set by the kernel to inject live instances into reference fields.
|
|
@@ -231,6 +267,22 @@ export declare class EvaluationContext implements IEvaluationContext {
|
|
|
231
267
|
*/
|
|
232
268
|
hasManifest(name: string): boolean;
|
|
233
269
|
registerManifest(resource: ResourceManifest): void;
|
|
270
|
+
/**
|
|
271
|
+
* Forget a declaration entirely — the inverse of {@link registerManifest}.
|
|
272
|
+
*
|
|
273
|
+
* Reconciliation's other half: {@link unwindResources} disposes the INSTANCE,
|
|
274
|
+
* and this clears everything keyed by the name so the same name can be
|
|
275
|
+
* declared again. Without it `registerManifest` refuses with
|
|
276
|
+
* `ERR_DUPLICATE_RESOURCE`, which is the right answer for a manifest
|
|
277
|
+
* declaring one name twice and the wrong one for a second load of the same
|
|
278
|
+
* manifest.
|
|
279
|
+
*
|
|
280
|
+
* Every per-name record goes, not just the declaration: a resource left in
|
|
281
|
+
* `withheldResources` would be skipped by the init loop for the life of the
|
|
282
|
+
* kernel, and a stale `createdInstances` entry would have the loop initialize
|
|
283
|
+
* the object built from the PREVIOUS declaration.
|
|
284
|
+
*/
|
|
285
|
+
deregisterManifest(name: string): void;
|
|
234
286
|
/**
|
|
235
287
|
* The manifest a name was DECLARED with, resolved scope-local first and then
|
|
236
288
|
* up the enclosing chain — the order `getInstance` and the CEL `resources`
|
|
@@ -320,39 +372,138 @@ export declare class EvaluationContext implements IEvaluationContext {
|
|
|
320
372
|
*/
|
|
321
373
|
createScopeHandle(manifests: ResourceManifest[]): ScopeHandle;
|
|
322
374
|
/**
|
|
323
|
-
* Cascade teardown
|
|
324
|
-
* 1. Tear down
|
|
325
|
-
*
|
|
326
|
-
*
|
|
375
|
+
* Cascade teardown through the tree:
|
|
376
|
+
* 1. Tear down own resource instances in {@link teardownOrder}, emitting a
|
|
377
|
+
* Teardown event for each via the injected emit callback.
|
|
378
|
+
* 2. Sweep any child context still standing, in {@link childTeardownOrder}.
|
|
379
|
+
*
|
|
380
|
+
* **Own resources go FIRST, and the child sweep is a backstop.** A child
|
|
381
|
+
* context that belongs to a resource is torn down by that resource's own
|
|
382
|
+
* inverse — an import's `init()` returns `child.teardownResources()`, and so
|
|
383
|
+
* does a template's — so it already unwinds at its owner's position in step 1,
|
|
384
|
+
* which is the position the edges put it at. Running a child cascade ahead of
|
|
385
|
+
* step 1 tore every imported library down before any resource of THIS context,
|
|
386
|
+
* so an app resource holding `!ref Alias.name` unwound after its provider was
|
|
387
|
+
* already gone, and the owner's inverse then found nothing left to do.
|
|
388
|
+
*
|
|
389
|
+
* Sweeping afterwards rather than not at all is what still reclaims a context
|
|
390
|
+
* no inverse claims: a `lifecycle: shared` library, which is spawned under the
|
|
391
|
+
* root and deliberately gives no importer a claim on it, and an import whose
|
|
392
|
+
* `init()` never ran to register one. `teardownResources` is idempotent, so a
|
|
393
|
+
* context already taken down in step 1 costs the sweep nothing.
|
|
327
394
|
*/
|
|
328
395
|
teardownResources(): Promise<void>;
|
|
329
396
|
/**
|
|
330
|
-
*
|
|
331
|
-
*
|
|
397
|
+
* Unwind SOME of this context's resources and leave the rest running.
|
|
398
|
+
*
|
|
399
|
+
* The reconciliation half of teardown: a host that has decided which
|
|
400
|
+
* declarations moved unwinds exactly {@link impactedBy}'s answer, then
|
|
401
|
+
* re-registers and re-initializes. Ordering is {@link teardownOrder}
|
|
402
|
+
* restricted to the selection, so a consumer still unwinds before what it
|
|
403
|
+
* holds — and the selection being closed under holders is what makes that
|
|
404
|
+
* true of the resources left standing as well, since none of them holds
|
|
405
|
+
* anything in it.
|
|
406
|
+
*
|
|
407
|
+
* The context keeps its state: it is neither draining nor torn down, and no
|
|
408
|
+
* child context is swept, because a child belonging to an unwound import goes
|
|
409
|
+
* down with that import's own inverse exactly as it does at teardown.
|
|
410
|
+
*
|
|
411
|
+
* A name with no live instance is skipped rather than reported — a resource
|
|
412
|
+
* that failed to initialize has nothing to unwind, and a host asking for it is
|
|
413
|
+
* asking about a declaration, not about an instance.
|
|
414
|
+
*/
|
|
415
|
+
unwindResources(names: ReadonlySet<string>): Promise<void>;
|
|
416
|
+
private raiseTeardownFailures;
|
|
417
|
+
/** Unwind the given entries in the order supplied, aggregating what refused.
|
|
418
|
+
* Failures are returned rather than thrown so one refusing inverse cannot
|
|
419
|
+
* strand the resources after it — the log sinks above all. */
|
|
420
|
+
private unwindEach;
|
|
421
|
+
/**
|
|
422
|
+
* Child contexts for the backstop sweep: ascending `teardownPriority`
|
|
423
|
+
* (default 0), reverse registration within a tier.
|
|
332
424
|
*
|
|
333
|
-
*
|
|
334
|
-
*
|
|
335
|
-
*
|
|
336
|
-
*
|
|
337
|
-
*
|
|
338
|
-
*
|
|
339
|
-
*
|
|
425
|
+
* What reaches the sweep is a context no resource's inverse claimed, which in
|
|
426
|
+
* practice is the `lifecycle: shared` libraries. Those are spawned under the
|
|
427
|
+
* ROOT and give no importer a claim, so nothing but this orders them — and
|
|
428
|
+
* reverse registration alone does not, since a singleton is registered when
|
|
429
|
+
* the FIRST import reaches it, which for an import declared inside another
|
|
430
|
+
* library is after that library's own context. `TEARDOWN_LAST` on the context
|
|
431
|
+
* is what keeps a singleton alive until the libraries borrowing it have gone.
|
|
432
|
+
*
|
|
433
|
+
* Its protection now stops at library-against-library. Every resource of the
|
|
434
|
+
* context that owns the sweep has already unwound by the time it runs, which
|
|
435
|
+
* is the ordering the sweep used to invert.
|
|
340
436
|
*/
|
|
341
437
|
private childTeardownOrder;
|
|
342
438
|
/**
|
|
343
|
-
* Resource instances in teardown order: ascending `teardownPriority
|
|
344
|
-
*
|
|
439
|
+
* Resource instances in teardown order: ascending `teardownPriority` as a hard
|
|
440
|
+
* tier, and within a tier a consumer before every resource it holds
|
|
441
|
+
* ({@link reverseTopologicalOrder} over the create-time edges), with reverse
|
|
442
|
+
* insertion as the tiebreak.
|
|
345
443
|
*
|
|
346
|
-
*
|
|
347
|
-
*
|
|
348
|
-
*
|
|
349
|
-
*
|
|
350
|
-
*
|
|
351
|
-
*
|
|
352
|
-
* path orders by a declared number rather than sniffing any one subsystem's
|
|
353
|
-
* instance shape.
|
|
444
|
+
* `teardownPriority` is a TIER rather than another edge because it is the
|
|
445
|
+
* author's statement about an edge nothing captured: a log sink is reached
|
|
446
|
+
* through `ctx.log` rather than through a ref slot, so no walk of the manifest
|
|
447
|
+
* can find the resources that will log on the way down. Letting topology
|
|
448
|
+
* reorder across tiers would let one discovered edge override a declaration
|
|
449
|
+
* made precisely because the edges are not all discoverable.
|
|
354
450
|
*/
|
|
355
451
|
private teardownOrder;
|
|
452
|
+
/**
|
|
453
|
+
* Every resource of this context that becomes invalid when `names` do — the
|
|
454
|
+
* named resources plus everything that transitively holds one
|
|
455
|
+
* ({@link impactClosure} over the same create-time edges teardown reads).
|
|
456
|
+
*
|
|
457
|
+
* What a reconciliation unwinds. A cross-module reference projects onto the
|
|
458
|
+
* local `Telo.Import` (`localDependencyNames`), so a change inside an
|
|
459
|
+
* imported library reaches this context as its import being impacted, and the
|
|
460
|
+
* library goes down with that import's own inverse — which is why this
|
|
461
|
+
* answers for one context rather than walking the tree.
|
|
462
|
+
*
|
|
463
|
+
* **`opaque` is what the answer cannot cover.** A name resolved by NAME during
|
|
464
|
+
* initialization ({@link opaquelyRead}) may be held by a resource no edge
|
|
465
|
+
* names, so a closure reaching one is not an answer at all. Those names are
|
|
466
|
+
* reported rather than absorbed: expanding the set to "every resource here"
|
|
467
|
+
* would sweep in the module document, which is not a resource a caller can
|
|
468
|
+
* unwind and re-register, and would present a whole-context rebuild as a
|
|
469
|
+
* narrowing. The caller escalates, and can say which resource forced it.
|
|
470
|
+
*/
|
|
471
|
+
impactedBy(names: Iterable<string>): {
|
|
472
|
+
impacted: Set<string>;
|
|
473
|
+
opaque: string[];
|
|
474
|
+
};
|
|
475
|
+
/** Whether this resource's `run()` has been dispatched. A rebuilt resource
|
|
476
|
+
* that had been started is one nothing will start again — boot targets run
|
|
477
|
+
* once — so a caller reconciling has to escalate rather than leave it
|
|
478
|
+
* constructed and idle. */
|
|
479
|
+
wasStarted(name: string): boolean;
|
|
480
|
+
/** Drop a resource's published reading. A context with no `resources` scope of
|
|
481
|
+
* its own has nothing to drop; `ModuleContext` overrides. */
|
|
482
|
+
clearPublishedReading(name: string): void;
|
|
483
|
+
/** The declaration registered under `name` in THIS context, without the
|
|
484
|
+
* walk up the enclosing chain a name lookup does. */
|
|
485
|
+
declaredManifestFor(name: string): ResourceManifest | undefined;
|
|
486
|
+
/** Replace a declaration in place, without queueing the resource for
|
|
487
|
+
* creation. For a survivor of a reconciliation: its declaration is
|
|
488
|
+
* content-identical by construction, but the object carries fresh loader
|
|
489
|
+
* stamps (`metadata.sourceLine` above all), and a diagnostic anchored on the
|
|
490
|
+
* stale one points at a pre-edit line. */
|
|
491
|
+
refreshManifest(name: string, resource: ResourceManifest): void;
|
|
492
|
+
/** Re-open an initialized context for another initialization pass.
|
|
493
|
+
*
|
|
494
|
+
* The transition is the context's own, not a field a caller assigns: while it
|
|
495
|
+
* is open, a reference to a resource that has not been rebuilt yet must
|
|
496
|
+
* produce the deferral the init loop retries on rather than a hard
|
|
497
|
+
* not-found, and leaving it open after a failed pass turns every later
|
|
498
|
+
* lookup into that deferral with no pass coming. */
|
|
499
|
+
reopenForInitialization(): void;
|
|
500
|
+
/** Close a pass opened by {@link reopenForInitialization} that did not reach
|
|
501
|
+
* the end of `initializeResources`. */
|
|
502
|
+
closeInitialization(): void;
|
|
503
|
+
/** Names a resource resolved by NAME while this context was initializing, so
|
|
504
|
+
* no edge records who is holding them. Read by {@link impactedBy}; exposed so
|
|
505
|
+
* a host can report why a reconciliation could not be narrowed. */
|
|
506
|
+
opaqueReads(): ReadonlySet<string>;
|
|
356
507
|
transientChild(context: Record<string, any>): EvaluationContext;
|
|
357
508
|
/**
|
|
358
509
|
* Invoke a resource by kind and name within this context's resourceInstances.
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"evaluation-context.d.ts","sourceRoot":"","sources":["../src/evaluation-context.ts"],"names":[],"mappings":"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"}
|