@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/kernel.js CHANGED
@@ -1,4 +1,4 @@
1
- import { AnalysisRegistry, authoredModuleMetadata, buildEvalPaths, collectZoneModuleDocuments, flattenForAnalyzer, flattenLoadedModule, isModuleKind, Loader, StaticAnalyzer, } from "@telorun/analyzer";
1
+ import { AnalysisRegistry, authoredModuleMetadata, buildEvalPaths, collectModuleDocuments, declarationSignature, diffManifests, flattenForAnalyzer, flattenLoadedModule, isModuleKind, nodeIdFor, Loader, StaticAnalyzer, } from "@telorun/analyzer";
2
2
  import { bindContract, resolveBoundContract, } from "./invocation-contract-binding.js";
3
3
  import { readProjectionRef } from "@telorun/analyzer";
4
4
  import { createCancellationSource, stampRefIdentity, RuntimeError, } from "@telorun/sdk";
@@ -10,6 +10,7 @@ import { hostEnv, lockControllerEnv } from "./host-env.js";
10
10
  import { KernelTracer } from "./tracing.js";
11
11
  import { KernelLogging } from "./logging/kernel-logging.js";
12
12
  import { formatSpanCounter } from "./logging/span-id.js";
13
+ import { graphFileSources, modulesThatMoved, } from "./reconcile.js";
13
14
  import { ambientInvokeContext } from "./evaluation-context.js";
14
15
  import { ModuleContext } from "./module-context.js";
15
16
  import { ResourceContextImpl } from "./resource-context.js";
@@ -52,6 +53,10 @@ function findEnclosingPolicy(ctx) {
52
53
  function throwInvalidState(operation, reason) {
53
54
  throw new RuntimeError("ERR_KERNEL_STATE_INVALID", `Cannot ${operation}(): ${reason}`);
54
55
  }
56
+ /** Docs that register a KIND. `DefinitionRegistry` only ever adds, so a change
57
+ * to one of these cannot be reconciled into a running kernel — the previous
58
+ * registration would survive it. */
59
+ const DEFINITION_KINDS = new Set(["Telo.Definition", "Telo.Abstract"]);
55
60
  /**
56
61
  * Kernel: Central orchestrator managing lifecycle and message bus
57
62
  * Handles resource loading, initialization, and execution through controllers
@@ -92,6 +97,17 @@ export class Kernel {
92
97
  * which module's library layer each resolves to. Rebuilt on every `load()`. */
93
98
  siblingLibraries = new Map();
94
99
  _loadedGraph;
100
+ /** Declaration signatures of the installed set, taken at load time — see
101
+ * `ManifestDiffOptions.previousSignatures` for why they cannot be taken
102
+ * later. */
103
+ _declarationSignatures = new Map();
104
+ /** Set while a reconciliation is in flight. Two overlapping calls would
105
+ * interleave unwind, deregister and re-initialize on one context, and a watch
106
+ * loop with fast saves is exactly the caller that would do it. */
107
+ _reconciling = false;
108
+ /** The directories and cache policy `load()` produced with, replayed by
109
+ * {@link reconcile} so a second production cannot differ from the first. */
110
+ _produceOptions;
95
111
  // Lifecycle state — guards boot/runTargets/teardown/invoke transitions.
96
112
  // teardown() is the only idempotent method; everything else throws on misuse.
97
113
  _bootCalled = false;
@@ -318,6 +334,219 @@ export class Kernel {
318
334
  // InvokeError.code against the declared throw union (rule 9). Propagates
319
335
  // through spawnChild() to module imports and scoped handles.
320
336
  this.rootContext.getDefinition = (kind) => this.controllers.getDefinition(kind);
337
+ // Kept so `reconcile()` re-produces against the same directories and cache
338
+ // policy this load used — a second load resolving them again could differ.
339
+ this._produceOptions = { manifestsDir, analysisDir, writeCache, analyzeOnly: false };
340
+ const produced = await this.produceManifests(sourceUrl, {
341
+ manifestsDir,
342
+ analysisDir,
343
+ writeCache,
344
+ analyzeOnly: options?.analyzeOnly === true,
345
+ });
346
+ // `analyzeOnly` stops before instantiation, so there is nothing to install.
347
+ if (!produced)
348
+ return;
349
+ this._declarationSignatures = produced.signatures;
350
+ this.installManifests(produced.manifests);
351
+ }
352
+ /**
353
+ * Re-read the entry and bring the running kernel into line with it, rebuilding
354
+ * only what changed.
355
+ *
356
+ * Three things decide what happens, in order, and each escalates rather than
357
+ * narrowing on a guess:
358
+ *
359
+ * 1. **A module other than the entry moved.** The kernel's runtime manifest
360
+ * set is entry-only — an imported library's resources live in the child
361
+ * context its `Telo.Import` owns — so a library edit is invisible to the
362
+ * resource diff and cannot be narrowed here at all.
363
+ * 2. **A module doc changed.** `variables` / `secrets` / `ports` / `logging`
364
+ * are resolved once for the whole application and read by anything, so a
365
+ * change there has no bounded impact set.
366
+ * 3. **Otherwise**, the resources whose declarations moved are unwound
367
+ * together with everything transitively holding them, re-registered, and
368
+ * re-initialized. Everything else keeps running, its instances untouched.
369
+ *
370
+ * `restartRequired` is a REPORT, not a failure: the caller rebuilds the
371
+ * kernel, which is what it does for every edit today. Nothing has been
372
+ * unwound when it is set.
373
+ */
374
+ async reconcile() {
375
+ if (this._isTornDown)
376
+ throwInvalidState("reconcile", "kernel has been torn down");
377
+ if (!this._isBooted)
378
+ throwInvalidState("reconcile", "boot() has not completed");
379
+ const entryUrl = this._entryUrl;
380
+ const previousGraph = this._loadedGraph;
381
+ const produceOptions = this._produceOptions;
382
+ if (!entryUrl || !previousGraph || !produceOptions) {
383
+ throwInvalidState("reconcile", "load() has not been called");
384
+ }
385
+ if (this._reconciling) {
386
+ throwInvalidState("reconcile", "a reconciliation is already in progress");
387
+ }
388
+ const previousManifests = this.staticManifests;
389
+ const previousSignatures = this._declarationSignatures;
390
+ this._reconciling = true;
391
+ try {
392
+ return await this.reconcileLocked(entryUrl, previousGraph, produceOptions, previousManifests, previousSignatures);
393
+ }
394
+ finally {
395
+ this._reconciling = false;
396
+ }
397
+ }
398
+ async reconcileLocked(entryUrl, previousGraph, produceOptions, previousManifests, previousSignatures) {
399
+ // The loader memoizes a file's parse on the assumption its contents do not
400
+ // change underneath one Loader — precisely what a reload breaks — so every
401
+ // file the previous graph read is dropped before it is asked for again.
402
+ for (const source of graphFileSources(previousGraph))
403
+ this.loader.forget(source);
404
+ const produced = await this.produceManifests(entryUrl, produceOptions);
405
+ if (!produced)
406
+ throwInvalidState("reconcile", "produced no manifests");
407
+ // `produceManifests` writes the kernel's static half as it goes — the graph,
408
+ // the flattened set, the module artifacts, the definition registry. Those
409
+ // writes describe manifests that are only INSTALLED further down, so every
410
+ // exit before that point puts them back: a caller told to restart would
411
+ // otherwise hold a kernel whose static half had already moved, and a second
412
+ // reconcile would diff the new set against itself and report no change
413
+ // while the live instances are still the originals.
414
+ const restoreProduced = () => {
415
+ this._loadedGraph = previousGraph;
416
+ this.staticManifests = previousManifests;
417
+ this._declarationSignatures = previousSignatures;
418
+ };
419
+ const halted = (reason) => {
420
+ restoreProduced();
421
+ return { reinitialized: [], removed: [], restartRequired: reason };
422
+ };
423
+ const moved = modulesThatMoved(previousGraph, produced.graph);
424
+ if (moved.length > 0) {
425
+ return halted(`an imported module changed: ${moved.join(", ")}`);
426
+ }
427
+ const diff = diffManifests(previousManifests, produced.manifests, { previousSignatures });
428
+ if (diff.entries.length === 0) {
429
+ // Nothing to install, so the new record describes exactly what is already
430
+ // running — keep it rather than restoring, so the next diff compares
431
+ // against the freshest read of the same file.
432
+ return { reinitialized: [], removed: [] };
433
+ }
434
+ const movedDoc = diff.entries.find((entry) => isModuleKind((entry.next ?? entry.previous).kind));
435
+ if (movedDoc)
436
+ return halted("the application document changed");
437
+ // A kind registration is once per kernel: `DefinitionRegistry` only ever
438
+ // adds, so a deleted or edited `Telo.Definition` would leave the old kind
439
+ // registered and the running kernel enforcing a weaker contract than
440
+ // `telo check` does against the same file — a divergence nothing reports.
441
+ const movedKind = diff.entries.find((entry) => DEFINITION_KINDS.has((entry.next ?? entry.previous).kind));
442
+ if (movedKind)
443
+ return halted("a resource kind definition changed");
444
+ // Names rather than node ids from here on: the root context keys everything
445
+ // by the local name, and a manifest in this set is by definition the entry
446
+ // module's own.
447
+ const nameOf = (manifest) => manifest.metadata.name;
448
+ const stale = diff.entries
449
+ .filter((entry) => entry.change !== "added")
450
+ .map((entry) => nameOf(entry.previous));
451
+ // Closed under HOLDERS: a resource holding one of these has the live
452
+ // instance injected into its slot, so it cannot outlive the rebuild.
453
+ const { impacted, opaque } = this.rootContext.impactedBy(stale);
454
+ // A module document is a registered resource whose `targets:` and
455
+ // `logging.sinks` hold references, so it is a HOLDER of them and the closure
456
+ // reaches it whenever one of those moves. It is the one resource nothing
457
+ // here can rebuild: only `installManifests` re-applies what it carries —
458
+ // targets, module metadata, the resolved environment, logging — and
459
+ // unwinding it would report the application itself as a routine removal.
460
+ const impactedDoc = [...impacted].find((name) => {
461
+ const kind = this.rootContext.declaredManifestFor(name)?.kind;
462
+ return kind !== undefined && isModuleKind(kind);
463
+ });
464
+ if (impactedDoc)
465
+ return halted("the application document is in the impact set");
466
+ if (opaque.length > 0) {
467
+ // Someone resolved these by name during initialization, so the set of
468
+ // holders is unknown and no closure over the declared edges is an answer.
469
+ return halted(`a resource is held through a by-name resolution: ${opaque.join(", ")}`);
470
+ }
471
+ // A resource that has been started is one nothing will start again: boot
472
+ // targets run once, and re-initializing a Service leaves it constructed and
473
+ // not listening while this call would report it as rebuilt.
474
+ const started = [...impacted].filter((name) => this.rootContext.wasStarted(name));
475
+ if (started.length > 0)
476
+ return halted(`a running resource would be rebuilt: ${started.join(", ")}`);
477
+ // BEFORE the unwind: both are pure over the manifests plus the registry, so
478
+ // running them afterwards would turn a detectable condition — an invalid
479
+ // reference, a cycle the edit introduced — into a kernel whose resources are
480
+ // already gone.
481
+ const { diagnostics, order, cycleError } = this.analyzer.prepare(produced.manifests, this.registry);
482
+ if (diagnostics.length > 0) {
483
+ restoreProduced();
484
+ throw new RuntimeError("ERR_MANIFEST_VALIDATION_FAILED", "Manifest validation failed", diagnostics.map(staticDiagnosticToRuntime));
485
+ }
486
+ if (cycleError) {
487
+ restoreProduced();
488
+ throw new RuntimeError("ERR_CIRCULAR_DEPENDENCY", cycleError);
489
+ }
490
+ const surviving = new Map();
491
+ for (const manifest of produced.manifests) {
492
+ if (!isModuleKind(manifest.kind))
493
+ surviving.set(nameOf(manifest), manifest);
494
+ }
495
+ await this.rootContext.unwindResources(impacted);
496
+ for (const name of impacted)
497
+ this.rootContext.deregisterManifest(name);
498
+ const removed = [...impacted].filter((name) => !surviving.has(name));
499
+ const added = diff.entries
500
+ .filter((entry) => entry.change === "added")
501
+ .map((entry) => nameOf(entry.next));
502
+ const reinitialized = [...new Set([...impacted, ...added])].filter((name) => surviving.has(name));
503
+ for (const name of reinitialized)
504
+ this.rootContext.registerManifest(surviving.get(name));
505
+ // A survivor keeps its instance and its declaration, but the declaration
506
+ // object is the previous load's and carries that load's `sourceLine`. Swap
507
+ // in the fresh one so a diagnostic anchored on a resource nobody touched
508
+ // still points at the line it is on now.
509
+ const rebuilt = new Set(reinitialized);
510
+ for (const [name, manifest] of surviving) {
511
+ if (!rebuilt.has(name))
512
+ this.rootContext.refreshManifest(name, manifest);
513
+ }
514
+ // Re-open for another pass: a resource resolving a sibling that has not been
515
+ // rebuilt yet must get the deferral the init loop retries on. Closed in the
516
+ // `finally` so a failure cannot leave the context open, which would turn
517
+ // every later lookup into a deferral with no pass coming.
518
+ this.rootContext.reopenForInitialization();
519
+ try {
520
+ if (order)
521
+ this.rootContext.setInitOrder(order);
522
+ await this.rootContext.initializeResources();
523
+ }
524
+ catch (error) {
525
+ // The resources are already gone; there is no rollback to a state that no
526
+ // longer exists. Say so rather than letting the caller read a validation
527
+ // failure as though nothing had happened.
528
+ throw new RuntimeError("ERR_RECONCILE_FAILED", `reconciliation failed after unwinding ${[...impacted].join(", ")} — the kernel is ` +
529
+ `degraded and must be rebuilt: ${error instanceof Error ? error.message : String(error)}`, error instanceof RuntimeError ? error.diagnostics : undefined);
530
+ }
531
+ finally {
532
+ this.rootContext.closeInitialization();
533
+ }
534
+ return { reinitialized, removed };
535
+ }
536
+ /**
537
+ * Everything between a URL and a set of manifests ready to install: load the
538
+ * graph, validate it, flatten it, and normalize inline resources.
539
+ *
540
+ * Split from {@link load} because it is the half that can run AGAIN. A
541
+ * reconciliation re-produces manifests against the same context to find what
542
+ * moved, where `load` also builds the context, the built-in definitions and
543
+ * the injection hooks — all of which exist once per kernel.
544
+ *
545
+ * Returns `undefined` under `analyzeOnly`, which deliberately stops before
546
+ * module instantiation and target wiring.
547
+ */
548
+ async produceManifests(sourceUrl, opts) {
549
+ const { manifestsDir, analysisDir, writeCache } = opts;
321
550
  // Static analysis pre-flight: validates schemas and invocation context compatibility.
322
551
  // All errors are fatal — kernel does not start if analysis fails.
323
552
  // `desugarImports` expands each module's inline `imports:` map into synthetic
@@ -401,7 +630,7 @@ export class Kernel {
401
630
  // export surface, never its internal dispatch chain.
402
631
  {
403
632
  skipValidation,
404
- moduleDocuments: collectZoneModuleDocuments(analysisGraph),
633
+ moduleDocuments: collectModuleDocuments(analysisGraph),
405
634
  hostVersions: nodeHostVersions(),
406
635
  }, this.registry);
407
636
  if (errors.length > 0) {
@@ -427,7 +656,7 @@ export class Kernel {
427
656
  // before module instantiation / target wiring / application-env value
428
657
  // resolution — those need a running environment (e.g. session secrets) the
429
658
  // build does not have, and the runtime `load()` performs them anyway.
430
- if (options?.analyzeOnly) {
659
+ if (opts.analyzeOnly) {
431
660
  if (rootModuleDoc?.kind === "Telo.Application") {
432
661
  precompileApplicationEnvSchemas(rootModuleDoc, this.sharedSchemaValidator);
433
662
  }
@@ -488,6 +717,26 @@ export class Kernel {
488
717
  // to imported libraries' exported instances.
489
718
  const normalizedManifests = this.analyzer.normalize(allManifests, this.registry, staticManifests);
490
719
  this.staticManifests = normalizedManifests;
720
+ // Signed HERE, while these are still declarations. Installing them hands
721
+ // the very same objects to the context, and resolving a reference writes a
722
+ // live instance into one — so a signature taken later is of something else.
723
+ const signatures = new Map();
724
+ for (const manifest of normalizedManifests) {
725
+ signatures.set(nodeIdFor(manifest), declarationSignature(manifest));
726
+ }
727
+ return { graph: analysisGraph, manifests: normalizedManifests, signatures };
728
+ }
729
+ /**
730
+ * Install manifests into the root context: register each one, and apply what
731
+ * a module doc carries — boot targets, module metadata, the application's
732
+ * resolved environment and its logging configuration.
733
+ *
734
+ * The other half of the {@link load} split. A reconciliation registers only
735
+ * the declarations that moved, so it calls {@link EvaluationContext.registerManifest}
736
+ * itself rather than coming through here; what lives here is the whole-set
737
+ * install, which happens once.
738
+ */
739
+ installManifests(normalizedManifests) {
491
740
  let rootApplicationManifest;
492
741
  for (const manifest of normalizedManifests) {
493
742
  if (isModuleKind(manifest.kind)) {
@@ -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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"}
@@ -94,6 +94,16 @@ export declare class ModuleContext extends EvaluationContext implements IModuleC
94
94
  setTargets(vars: BootTarget[]): void;
95
95
  setSecrets(secrets: Record<string, unknown>): void;
96
96
  setResource(name: string, props: Record<string, unknown>): void;
97
+ /**
98
+ * Drop a resource's published reading, so `resources.<name>` reads as absent.
99
+ *
100
+ * What makes an unwind observable to CEL. A compile-eval field is expanded at
101
+ * create time, so a reader rebuilt while its provider's OLD reading was still
102
+ * published would bake that stale value in and succeed — where on a fresh boot
103
+ * the same expansion finds nothing and defers until the provider is back. This
104
+ * is what makes the two agree.
105
+ */
106
+ clearPublishedReading(name: string): void;
97
107
  setControllerPolicy(policy: ControllerPolicy | undefined): void;
98
108
  getControllerPolicy(): ControllerPolicy | undefined;
99
109
  setLoggingConfig(config: ScopeConfig | undefined): void;
@@ -192,7 +202,27 @@ export declare class ModuleContext extends EvaluationContext implements IModuleC
192
202
  name: string;
193
203
  } | undefined;
194
204
  hasImport(alias: string): boolean;
195
- getInstance(name: string): unknown;
205
+ /**
206
+ * The recording door — see the contract in `@telorun/sdk`.
207
+ *
208
+ * A resolution taken while this module is still initializing is recorded
209
+ * against the NAME, because that is all this context has: it is reached as
210
+ * `ctx.moduleContext`, which is shared by every resource of the module, so
211
+ * there is no caller to attribute the read to. Recording the target is enough
212
+ * for the only decision that depends on it — a resource somebody may be
213
+ * holding cannot be rebuilt on its own — and the escalation that follows is
214
+ * never worse than rebuilding the whole context, which is what happens today.
215
+ *
216
+ * `state !== "Initialized"` is the same discriminator the deferral below
217
+ * already turns on, and it is the right one: before that point a caller is
218
+ * running `create()` or `init()` and may keep what it gets, after it a caller
219
+ * is handling a dispatch and resolves again next time.
220
+ */
221
+ getInstance(name: string, declaredBy?: {
222
+ kind: string;
223
+ name: string;
224
+ }): unknown;
225
+ private lookupInstance;
196
226
  getInvocable<TInput = Record<string, any>, TOutput = any>(name: string): Invocable<TInput, TOutput>;
197
227
  /**
198
228
  * Resolve a fully-qualified kind like "Http.Server" to its real kind "http-server.Server".
@@ -1 +1 @@
1
- {"version":3,"file":"module-context.d.ts","sourceRoot":"","sources":["../src/module-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module-context.d.ts","sourceRoot":"","sources":["../src/module-context.ts"],"names":[],"mappings":"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"}
@@ -158,6 +158,23 @@ export class ModuleContext extends EvaluationContext {
158
158
  this._resources = { ...this._resources, [name]: props };
159
159
  this._rebuildContext();
160
160
  }
161
+ /**
162
+ * Drop a resource's published reading, so `resources.<name>` reads as absent.
163
+ *
164
+ * What makes an unwind observable to CEL. A compile-eval field is expanded at
165
+ * create time, so a reader rebuilt while its provider's OLD reading was still
166
+ * published would bake that stale value in and succeed — where on a fresh boot
167
+ * the same expansion finds nothing and defers until the provider is back. This
168
+ * is what makes the two agree.
169
+ */
170
+ clearPublishedReading(name) {
171
+ if (!(name in this._resources))
172
+ return;
173
+ const next = { ...this._resources };
174
+ delete next[name];
175
+ this._resources = next;
176
+ this._rebuildContext();
177
+ }
161
178
  setControllerPolicy(policy) {
162
179
  this._controllerPolicy = policy;
163
180
  }
@@ -351,7 +368,30 @@ export class ModuleContext extends EvaluationContext {
351
368
  hasImport(alias) {
352
369
  return this.importAliases.has(alias);
353
370
  }
354
- getInstance(name) {
371
+ /**
372
+ * The recording door — see the contract in `@telorun/sdk`.
373
+ *
374
+ * A resolution taken while this module is still initializing is recorded
375
+ * against the NAME, because that is all this context has: it is reached as
376
+ * `ctx.moduleContext`, which is shared by every resource of the module, so
377
+ * there is no caller to attribute the read to. Recording the target is enough
378
+ * for the only decision that depends on it — a resource somebody may be
379
+ * holding cannot be rebuilt on its own — and the escalation that follows is
380
+ * never worse than rebuilding the whole context, which is what happens today.
381
+ *
382
+ * `state !== "Initialized"` is the same discriminator the deferral below
383
+ * already turns on, and it is the right one: before that point a caller is
384
+ * running `create()` or `init()` and may keep what it gets, after it a caller
385
+ * is handling a dispatch and resolves again next time.
386
+ */
387
+ getInstance(name, declaredBy) {
388
+ // `declaredBy` means the name came out of a declared ref slot, so the edge
389
+ // is in the manifest and the host can already see it.
390
+ if (!declaredBy && this.state !== "Initialized")
391
+ this.recordOpaqueRead(name);
392
+ return this.lookupInstance(name);
393
+ }
394
+ lookupInstance(name) {
355
395
  const entry = this.resourceInstances.get(name);
356
396
  if (!entry) {
357
397
  // A name this module DID declare but that has no instance is never an