@telorun/kernel 0.84.0 → 0.86.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/bundle/module-artifact.d.ts +1 -1
- package/dist/bundle/module-artifact.d.ts.map +1 -1
- package/dist/bundle/module-artifact.js +3 -3
- package/dist/bundle/module-artifact.js.map +1 -1
- package/dist/controller-loaders/bundle-loader.d.ts +5 -5
- package/dist/controller-loaders/bundle-loader.js +7 -7
- package/dist/controller-loaders/bundle-loader.js.map +1 -1
- package/dist/evaluation-context.d.ts +158 -25
- package/dist/evaluation-context.d.ts.map +1 -1
- package/dist/evaluation-context.js +234 -44
- package/dist/evaluation-context.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/kernel.d.ts +60 -5
- package/dist/kernel.d.ts.map +1 -1
- package/dist/kernel.js +256 -9
- package/dist/kernel.js.map +1 -1
- package/dist/manifest-sources/local-manifest-cache-source.d.ts +6 -6
- package/dist/manifest-sources/local-manifest-cache-source.d.ts.map +1 -1
- package/dist/manifest-sources/local-manifest-cache-source.js +11 -12
- package/dist/manifest-sources/local-manifest-cache-source.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.d.ts.map +1 -1
- package/dist/runtime-seam.js +1 -2
- package/dist/runtime-seam.js.map +1 -1
- package/dist/transports/http-transport.d.ts +37 -0
- package/dist/transports/http-transport.d.ts.map +1 -0
- package/dist/transports/http-transport.js +168 -0
- package/dist/transports/http-transport.js.map +1 -0
- package/dist/transports/transport-registry.d.ts +13 -14
- package/dist/transports/transport-registry.d.ts.map +1 -1
- package/dist/transports/transport-registry.js +17 -24
- package/dist/transports/transport-registry.js.map +1 -1
- package/package.json +3 -3
- package/src/bundle/module-artifact.ts +2 -3
- package/src/controller-loaders/bundle-loader.ts +7 -7
- package/src/evaluation-context.ts +257 -53
- package/src/index.ts +1 -1
- package/src/kernel.ts +314 -12
- package/src/manifest-sources/local-manifest-cache-source.ts +9 -16
- 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 +1 -2
- package/src/transports/http-transport.ts +209 -0
- package/src/transports/transport-registry.ts +17 -24
- package/dist/transports/registry-transport.d.ts +0 -41
- package/dist/transports/registry-transport.d.ts.map +0 -1
- package/dist/transports/registry-transport.js +0 -282
- package/dist/transports/registry-transport.js.map +0 -1
- package/src/transports/registry-transport.ts +0 -339
|
@@ -7,7 +7,6 @@ import { hostEnv } from "../host-env.js";
|
|
|
7
7
|
import { defaultTransportRegistry } from "../transports/transport-registry.js";
|
|
8
8
|
import { findWorkspaceRoot } from "../workspace-marker.js";
|
|
9
9
|
const CACHE_SUBDIR = ".telo/manifests";
|
|
10
|
-
const DEFAULT_REGISTRY_URL = "https://registry.telo.run";
|
|
11
10
|
/** Verify that `candidate` resolves to a path under `root`. Returns the
|
|
12
11
|
* candidate path on success, `null` when any segment escapes the root.
|
|
13
12
|
* Guards against `..` segments inside module refs or HTTP pathnames. */
|
|
@@ -24,8 +23,8 @@ function joinUnder(root, ...segments) {
|
|
|
24
23
|
}
|
|
25
24
|
/** Single source of truth for URL → cache path. Used identically by the
|
|
26
25
|
* reader (cache lookup) and writer (install-time persistence). For any
|
|
27
|
-
* given import ref —
|
|
28
|
-
*
|
|
26
|
+
* given import ref — an HTTP(S) URL or an `oci://` ref — both sides land on
|
|
27
|
+
* the same file: the owning transport supplies
|
|
29
28
|
* the coordinates and the analyzer's `manifestCacheKey` renders them, the same
|
|
30
29
|
* grammar the hub's static manifest bucket and the editor's read path use.
|
|
31
30
|
*
|
|
@@ -65,8 +64,8 @@ export function legacyManifestsDirFallback(entryDir, current) {
|
|
|
65
64
|
}
|
|
66
65
|
/**
|
|
67
66
|
* Reads previously-cached manifest YAMLs from the resolved manifest cache. Sits
|
|
68
|
-
* ahead of `
|
|
69
|
-
*
|
|
67
|
+
* ahead of `HttpSource` in the source chain — a hit makes boot hermetic, a miss
|
|
68
|
+
* falls through to the network source unchanged.
|
|
70
69
|
*
|
|
71
70
|
* Populated by `writeManifestCache` at install time.
|
|
72
71
|
*
|
|
@@ -75,7 +74,7 @@ export function legacyManifestsDirFallback(entryDir, current) {
|
|
|
75
74
|
* costs only CPU when it goes cold; this one costs network, so without the
|
|
76
75
|
* fallback the move to a workspace-anchored root would stop a hermetic setup from
|
|
77
76
|
* booting — its `telo install` output stranded at the old path, with the failure
|
|
78
|
-
* surfacing as a
|
|
77
|
+
* surfacing as a network fetch on a machine that has no route out. Read-only
|
|
79
78
|
* and one directory deep: writes always go to the current root, so the old copy
|
|
80
79
|
* ages out rather than being maintained.
|
|
81
80
|
*/
|
|
@@ -83,13 +82,13 @@ export class LocalManifestCacheSource {
|
|
|
83
82
|
cacheRoot;
|
|
84
83
|
legacyRoot;
|
|
85
84
|
transports;
|
|
86
|
-
constructor(entryDir,
|
|
85
|
+
constructor(entryDir, manifestsDir) {
|
|
87
86
|
// `manifestsDir` is the resolved manifest-cache directory threaded from a
|
|
88
87
|
// single `resolveCacheRoot` (honours `TELO_CACHE_DIR`); when absent we fall
|
|
89
88
|
// back to the entry-anchored default so library/test callers are unchanged.
|
|
90
89
|
this.cacheRoot = manifestsDir ?? legacyManifestsDir(entryDir);
|
|
91
90
|
this.legacyRoot = legacyManifestsDirFallback(entryDir, this.cacheRoot);
|
|
92
|
-
this.transports = defaultTransportRegistry(
|
|
91
|
+
this.transports = defaultTransportRegistry();
|
|
93
92
|
}
|
|
94
93
|
supports(url) {
|
|
95
94
|
return this.tryMap(url) !== null;
|
|
@@ -148,9 +147,9 @@ export class LocalManifestCacheSource {
|
|
|
148
147
|
* Uses the same mapping function as `LocalManifestCacheSource`, so the
|
|
149
148
|
* writer and reader always agree on where every URL lives.
|
|
150
149
|
*/
|
|
151
|
-
export function cachePathForCanonical(canonicalSource, entryDir,
|
|
150
|
+
export function cachePathForCanonical(canonicalSource, entryDir, manifestsDir) {
|
|
152
151
|
const cacheRoot = manifestsDir ?? path.join(entryDir, CACHE_SUBDIR);
|
|
153
|
-
return cachePathForUrl(canonicalSource, cacheRoot, defaultTransportRegistry(
|
|
152
|
+
return cachePathForUrl(canonicalSource, cacheRoot, defaultTransportRegistry());
|
|
154
153
|
}
|
|
155
154
|
/**
|
|
156
155
|
* Persist every manifest file reachable from `graph` (owners + partials) to
|
|
@@ -164,7 +163,7 @@ export function cachePathForCanonical(canonicalSource, entryDir, registryUrl = D
|
|
|
164
163
|
*
|
|
165
164
|
* Returns the list of paths written, for diagnostics.
|
|
166
165
|
*/
|
|
167
|
-
export async function writeManifestCache(graph, entryDir,
|
|
166
|
+
export async function writeManifestCache(graph, entryDir, manifestsDir) {
|
|
168
167
|
const written = [];
|
|
169
168
|
const seen = new Set();
|
|
170
169
|
for (const [, module] of graph.modules) {
|
|
@@ -174,7 +173,7 @@ export async function writeManifestCache(graph, entryDir, registryUrl = DEFAULT_
|
|
|
174
173
|
if (seen.has(file.source))
|
|
175
174
|
continue;
|
|
176
175
|
seen.add(file.source);
|
|
177
|
-
const target = cachePathForCanonical(file.source, entryDir,
|
|
176
|
+
const target = cachePathForCanonical(file.source, entryDir, manifestsDir);
|
|
178
177
|
if (!target)
|
|
179
178
|
continue;
|
|
180
179
|
await fs.mkdir(path.dirname(target), { recursive: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-manifest-cache-source.js","sourceRoot":"","sources":["../../src/manifest-sources/local-manifest-cache-source.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,eAAe,GAGhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEnD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAqB,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAClG,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,YAAY,GAAG,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"local-manifest-cache-source.js","sourceRoot":"","sources":["../../src/manifest-sources/local-manifest-cache-source.ts"],"names":[],"mappings":"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"}
|
package/dist/module-context.d.ts
CHANGED
|
@@ -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
|
-
|
|
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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"}
|
package/dist/module-context.js
CHANGED
|
@@ -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
|
-
|
|
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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-context.js","sourceRoot":"","sources":["../src/module-context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"module-context.js","sourceRoot":"","sources":["../src/module-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The pure half of reconciliation: what a second load of the same entry changed,
|
|
3
|
+
* at the granularity of whole modules.
|
|
4
|
+
*
|
|
5
|
+
* The per-RESOURCE answer is the analyzer's (`diffManifests`), and it is exact.
|
|
6
|
+
* This is the coarser question that has to be asked first, because the kernel's
|
|
7
|
+
* runtime manifest set is entry-only: an imported library's resources live in
|
|
8
|
+
* the child context its `Telo.Import` owns and never appear in the set the
|
|
9
|
+
* resource diff walks. A library edit is therefore invisible to that diff, and
|
|
10
|
+
* would silently reconcile to "nothing changed".
|
|
11
|
+
*
|
|
12
|
+
* So the modules are compared by content, and anything moving outside the entry
|
|
13
|
+
* escalates rather than being narrowed. That is the same posture the opaque-read
|
|
14
|
+
* escalation takes: a fallback to rebuilding, which is what a host does today.
|
|
15
|
+
*/
|
|
16
|
+
import type { LoadedGraph } from "@telorun/analyzer";
|
|
17
|
+
/** What one {@link reconcile} pass did, or why it could not narrow. */
|
|
18
|
+
export interface ReconcileOutcome {
|
|
19
|
+
/** Resources rebuilt: the declarations that moved, plus everything that was
|
|
20
|
+
* holding one of them. */
|
|
21
|
+
readonly reinitialized: readonly string[];
|
|
22
|
+
/** Resources whose declaration is gone. Unwound, not replaced. */
|
|
23
|
+
readonly removed: readonly string[];
|
|
24
|
+
/** Set when the change had no bounded impact set and the caller must rebuild
|
|
25
|
+
* the kernel. Nothing has been unwound when this is present. */
|
|
26
|
+
readonly restartRequired?: string;
|
|
27
|
+
}
|
|
28
|
+
/** Every file the graph read, so a caller can drop them from the loader's cache
|
|
29
|
+
* before asking for them again. `Loader.loadFile` assumes a file's contents do
|
|
30
|
+
* not change under one Loader, which is exactly the assumption a reload
|
|
31
|
+
* breaks. */
|
|
32
|
+
export declare function graphFileSources(graph: LoadedGraph): string[];
|
|
33
|
+
/**
|
|
34
|
+
* Modules other than the entry whose content moved between two loads, including
|
|
35
|
+
* ones that appeared or disappeared.
|
|
36
|
+
*
|
|
37
|
+
* The entry is excluded because the resource diff answers for it precisely.
|
|
38
|
+
* Everything else is a library, whose resources this kernel cannot see
|
|
39
|
+
* individually.
|
|
40
|
+
*/
|
|
41
|
+
export declare function modulesThatMoved(previous: LoadedGraph, next: LoadedGraph): string[];
|
|
42
|
+
//# sourceMappingURL=reconcile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reconcile.d.ts","sourceRoot":"","sources":["../src/reconcile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,mBAAmB,CAAC;AAEnE,uEAAuE;AACvE,MAAM,WAAW,gBAAgB;IAC/B;+BAC2B;IAC3B,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC;qEACiE;IACjE,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED;;;cAGc;AACd,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,EAAE,CAS7D;AAaD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,EAAE,CAmBnF"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/** Every file the graph read, so a caller can drop them from the loader's cache
|
|
2
|
+
* before asking for them again. `Loader.loadFile` assumes a file's contents do
|
|
3
|
+
* not change under one Loader, which is exactly the assumption a reload
|
|
4
|
+
* breaks. */
|
|
5
|
+
export function graphFileSources(graph) {
|
|
6
|
+
const sources = new Set();
|
|
7
|
+
for (const module of graph.modules.values()) {
|
|
8
|
+
sources.add(module.owner.source);
|
|
9
|
+
for (const partial of module.partials)
|
|
10
|
+
sources.add(partial.source);
|
|
11
|
+
}
|
|
12
|
+
sources.add(graph.entry.owner.source);
|
|
13
|
+
for (const partial of graph.entry.partials)
|
|
14
|
+
sources.add(partial.source);
|
|
15
|
+
return [...sources];
|
|
16
|
+
}
|
|
17
|
+
/** A module's content: every file it is made of, as text.
|
|
18
|
+
*
|
|
19
|
+
* Compared as a string rather than hashed — there is no collision to reason
|
|
20
|
+
* about, and a missed change here is a library that silently keeps running
|
|
21
|
+
* against source it no longer matches. */
|
|
22
|
+
function moduleSignature(module) {
|
|
23
|
+
return [module.owner, ...module.partials]
|
|
24
|
+
.map((file) => `${file.source}\u0000${file.text}`)
|
|
25
|
+
.join("\u0000\u0000");
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Modules other than the entry whose content moved between two loads, including
|
|
29
|
+
* ones that appeared or disappeared.
|
|
30
|
+
*
|
|
31
|
+
* The entry is excluded because the resource diff answers for it precisely.
|
|
32
|
+
* Everything else is a library, whose resources this kernel cannot see
|
|
33
|
+
* individually.
|
|
34
|
+
*/
|
|
35
|
+
export function modulesThatMoved(previous, next) {
|
|
36
|
+
const before = new Map();
|
|
37
|
+
for (const [source, module] of previous.modules) {
|
|
38
|
+
if (source === previous.rootSource)
|
|
39
|
+
continue;
|
|
40
|
+
before.set(source, moduleSignature(module));
|
|
41
|
+
}
|
|
42
|
+
const moved = [];
|
|
43
|
+
const seen = new Set();
|
|
44
|
+
for (const [source, module] of next.modules) {
|
|
45
|
+
if (source === next.rootSource)
|
|
46
|
+
continue;
|
|
47
|
+
seen.add(source);
|
|
48
|
+
const was = before.get(source);
|
|
49
|
+
if (was === undefined || was !== moduleSignature(module))
|
|
50
|
+
moved.push(source);
|
|
51
|
+
}
|
|
52
|
+
for (const source of before.keys()) {
|
|
53
|
+
if (!seen.has(source))
|
|
54
|
+
moved.push(source);
|
|
55
|
+
}
|
|
56
|
+
return moved;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=reconcile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reconcile.js","sourceRoot":"","sources":["../src/reconcile.ts"],"names":[],"mappings":"AA6BA;;;cAGc;AACd,MAAM,UAAU,gBAAgB,CAAC,KAAkB;IACjD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ;QAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;AACtB,CAAC;AAED;;;;2CAI2C;AAC3C,SAAS,eAAe,CAAC,MAAoB;IAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;SACtC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC;SACjD,IAAI,CAAC,cAAc,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAqB,EAAE,IAAiB;IACvE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QAChD,IAAI,MAAM,KAAK,QAAQ,CAAC,UAAU;YAAE,SAAS;QAC7C,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5C,IAAI,MAAM,KAAK,IAAI,CAAC,UAAU;YAAE,SAAS;QACzC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,eAAe,CAAC,MAAM,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/E,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What the create-time reference edges tell us about a set of resources.
|
|
3
|
+
*
|
|
4
|
+
* The edges themselves are captured by `collectResourceRefs` and projected onto
|
|
5
|
+
* local names by `localDependencyNames` (both in `evaluation-context.ts`, beside
|
|
6
|
+
* the init loop that records them). This module is the two questions asked of
|
|
7
|
+
* that record afterwards, and they are the same question read in opposite
|
|
8
|
+
* directions:
|
|
9
|
+
*
|
|
10
|
+
* - **Forward**, for teardown: in what order may these unwind, so that a
|
|
11
|
+
* consumer's inverses run while what it holds is still alive.
|
|
12
|
+
* - **Reverse**, for reconciliation: if these resources are about to become
|
|
13
|
+
* invalid, who else is holding one and therefore becomes invalid too.
|
|
14
|
+
*
|
|
15
|
+
* Both read `Map<consumer, provider names>` and neither knows what a resource
|
|
16
|
+
* is, which is what keeps them testable without a kernel.
|
|
17
|
+
*/
|
|
18
|
+
/** A resource's outgoing edges: the local names it holds. */
|
|
19
|
+
export type DependencyMap = ReadonlyMap<string, readonly string[]>;
|
|
20
|
+
/**
|
|
21
|
+
* Order resources so that a consumer is torn down before everything it holds.
|
|
22
|
+
*
|
|
23
|
+
* The caller's order is the TIEBREAK, not the rule. Reverse insertion is
|
|
24
|
+
* already a valid reverse-topological order for every edge Phase-5 injection
|
|
25
|
+
* resolves, because the init loop defers a resource whose refs are unresolved
|
|
26
|
+
* (`ERR_LOCAL_REF_PENDING`) and so cannot insert a consumer before its
|
|
27
|
+
* provider. What this adds is the edges that never pass through injection — a
|
|
28
|
+
* controller resolving a sibling by name inside `init()` — where insertion
|
|
29
|
+
* order says nothing.
|
|
30
|
+
*
|
|
31
|
+
* A cycle emits the first unordered entry and continues: teardown must always
|
|
32
|
+
* run to completion, so an unorderable set degrades to the caller's order
|
|
33
|
+
* rather than raising.
|
|
34
|
+
*/
|
|
35
|
+
export declare function reverseTopologicalOrder<T>(entries: ReadonlyArray<readonly [string, T]>, nameOf: (value: T) => string, dependenciesOf: (name: string) => readonly string[] | undefined): Array<readonly [string, T]>;
|
|
36
|
+
/**
|
|
37
|
+
* Every resource that becomes invalid when `seeds` do: the seeds themselves, and
|
|
38
|
+
* everything that transitively HOLDS one of them.
|
|
39
|
+
*
|
|
40
|
+
* A holder has to go with what it holds because it is holding the instance
|
|
41
|
+
* itself — Phase-5 injection wrote a live object into its reference slot, and
|
|
42
|
+
* rebuilding the target leaves the holder pointing at an object nothing will
|
|
43
|
+
* ever call again. There is no version of this where the holder keeps running,
|
|
44
|
+
* which is why replacing one resource restarts everything above it. That is a
|
|
45
|
+
* cost to state rather than a defect to fix: editing a connection's declaration
|
|
46
|
+
* restarts what uses it.
|
|
47
|
+
*
|
|
48
|
+
* **Exact over the DECLARED edge set, and only that.** An edge exists here when
|
|
49
|
+
* a reference slot named the target, or when a CEL expression read it. A
|
|
50
|
+
* controller that resolves a sibling by NAME instead has a real dependency no
|
|
51
|
+
* walk of the manifest can see; those resolutions are recorded separately as
|
|
52
|
+
* they happen (`opaquelyRead`), and a caller whose closure reaches one has to
|
|
53
|
+
* escalate rather than trust this answer.
|
|
54
|
+
*
|
|
55
|
+
* A cycle is not a special case: the walk visits each name once.
|
|
56
|
+
*/
|
|
57
|
+
export declare function impactClosure(seeds: Iterable<string>, dependencies: DependencyMap): Set<string>;
|
|
58
|
+
//# sourceMappingURL=resource-edges.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-edges.d.ts","sourceRoot":"","sources":["../src/resource-edges.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,6DAA6D;AAC7D,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;AAEnE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EACvC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAC5C,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,EAC5B,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,GAAG,SAAS,GAC9D,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CA0B7B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAwB/F"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What the create-time reference edges tell us about a set of resources.
|
|
3
|
+
*
|
|
4
|
+
* The edges themselves are captured by `collectResourceRefs` and projected onto
|
|
5
|
+
* local names by `localDependencyNames` (both in `evaluation-context.ts`, beside
|
|
6
|
+
* the init loop that records them). This module is the two questions asked of
|
|
7
|
+
* that record afterwards, and they are the same question read in opposite
|
|
8
|
+
* directions:
|
|
9
|
+
*
|
|
10
|
+
* - **Forward**, for teardown: in what order may these unwind, so that a
|
|
11
|
+
* consumer's inverses run while what it holds is still alive.
|
|
12
|
+
* - **Reverse**, for reconciliation: if these resources are about to become
|
|
13
|
+
* invalid, who else is holding one and therefore becomes invalid too.
|
|
14
|
+
*
|
|
15
|
+
* Both read `Map<consumer, provider names>` and neither knows what a resource
|
|
16
|
+
* is, which is what keeps them testable without a kernel.
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Order resources so that a consumer is torn down before everything it holds.
|
|
20
|
+
*
|
|
21
|
+
* The caller's order is the TIEBREAK, not the rule. Reverse insertion is
|
|
22
|
+
* already a valid reverse-topological order for every edge Phase-5 injection
|
|
23
|
+
* resolves, because the init loop defers a resource whose refs are unresolved
|
|
24
|
+
* (`ERR_LOCAL_REF_PENDING`) and so cannot insert a consumer before its
|
|
25
|
+
* provider. What this adds is the edges that never pass through injection — a
|
|
26
|
+
* controller resolving a sibling by name inside `init()` — where insertion
|
|
27
|
+
* order says nothing.
|
|
28
|
+
*
|
|
29
|
+
* A cycle emits the first unordered entry and continues: teardown must always
|
|
30
|
+
* run to completion, so an unorderable set degrades to the caller's order
|
|
31
|
+
* rather than raising.
|
|
32
|
+
*/
|
|
33
|
+
export function reverseTopologicalOrder(entries, nameOf, dependenciesOf) {
|
|
34
|
+
const indexByName = new Map();
|
|
35
|
+
entries.forEach(([, value], index) => indexByName.set(nameOf(value), index));
|
|
36
|
+
// One edge per (consumer, provider): the provider waits for the consumer.
|
|
37
|
+
const providersOf = entries.map(() => []);
|
|
38
|
+
const waiting = entries.map(() => 0);
|
|
39
|
+
entries.forEach(([, value], consumer) => {
|
|
40
|
+
for (const dependency of dependenciesOf(nameOf(value)) ?? []) {
|
|
41
|
+
const provider = indexByName.get(dependency);
|
|
42
|
+
if (provider === undefined || provider === consumer)
|
|
43
|
+
continue;
|
|
44
|
+
providersOf[consumer].push(provider);
|
|
45
|
+
waiting[provider] += 1;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
const ordered = [];
|
|
49
|
+
const emitted = entries.map(() => false);
|
|
50
|
+
for (let count = 0; count < entries.length; count++) {
|
|
51
|
+
let pick = entries.findIndex((_, i) => !emitted[i] && waiting[i] === 0);
|
|
52
|
+
if (pick < 0)
|
|
53
|
+
pick = entries.findIndex((_, i) => !emitted[i]);
|
|
54
|
+
emitted[pick] = true;
|
|
55
|
+
ordered.push(entries[pick]);
|
|
56
|
+
for (const provider of providersOf[pick])
|
|
57
|
+
waiting[provider] -= 1;
|
|
58
|
+
}
|
|
59
|
+
return ordered;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Every resource that becomes invalid when `seeds` do: the seeds themselves, and
|
|
63
|
+
* everything that transitively HOLDS one of them.
|
|
64
|
+
*
|
|
65
|
+
* A holder has to go with what it holds because it is holding the instance
|
|
66
|
+
* itself — Phase-5 injection wrote a live object into its reference slot, and
|
|
67
|
+
* rebuilding the target leaves the holder pointing at an object nothing will
|
|
68
|
+
* ever call again. There is no version of this where the holder keeps running,
|
|
69
|
+
* which is why replacing one resource restarts everything above it. That is a
|
|
70
|
+
* cost to state rather than a defect to fix: editing a connection's declaration
|
|
71
|
+
* restarts what uses it.
|
|
72
|
+
*
|
|
73
|
+
* **Exact over the DECLARED edge set, and only that.** An edge exists here when
|
|
74
|
+
* a reference slot named the target, or when a CEL expression read it. A
|
|
75
|
+
* controller that resolves a sibling by NAME instead has a real dependency no
|
|
76
|
+
* walk of the manifest can see; those resolutions are recorded separately as
|
|
77
|
+
* they happen (`opaquelyRead`), and a caller whose closure reaches one has to
|
|
78
|
+
* escalate rather than trust this answer.
|
|
79
|
+
*
|
|
80
|
+
* A cycle is not a special case: the walk visits each name once.
|
|
81
|
+
*/
|
|
82
|
+
export function impactClosure(seeds, dependencies) {
|
|
83
|
+
// Reversed once per call rather than maintained: the map moves on every
|
|
84
|
+
// create, this is asked once per reconciliation, and an index kept in step
|
|
85
|
+
// with a mutating map is a second source of truth.
|
|
86
|
+
const holdersOf = new Map();
|
|
87
|
+
for (const [consumer, providers] of dependencies) {
|
|
88
|
+
for (const provider of providers) {
|
|
89
|
+
const held = holdersOf.get(provider);
|
|
90
|
+
if (held)
|
|
91
|
+
held.push(consumer);
|
|
92
|
+
else
|
|
93
|
+
holdersOf.set(provider, [consumer]);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
const impacted = new Set();
|
|
97
|
+
const queue = [...seeds];
|
|
98
|
+
while (queue.length > 0) {
|
|
99
|
+
const name = queue.pop();
|
|
100
|
+
if (impacted.has(name))
|
|
101
|
+
continue;
|
|
102
|
+
impacted.add(name);
|
|
103
|
+
for (const holder of holdersOf.get(name) ?? []) {
|
|
104
|
+
if (!impacted.has(holder))
|
|
105
|
+
queue.push(holder);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return impacted;
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=resource-edges.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-edges.js","sourceRoot":"","sources":["../src/resource-edges.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-seam.d.ts","sourceRoot":"","sources":["../src/runtime-seam.ts"],"names":[],"mappings":"AAaA,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EAGvB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,WAAW,EACjB,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAoH1C;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,YAAW,WAAW;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAErC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-seam.d.ts","sourceRoot":"","sources":["../src/runtime-seam.ts"],"names":[],"mappings":"AAaA,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EAGvB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,WAAW,EACjB,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAoH1C;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,YAAW,WAAW;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAErC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IA8DrE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAuFxF"}
|