@telorun/kernel 0.61.0 → 0.63.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 +28 -2
- package/dist/bundle/module-artifact.d.ts.map +1 -1
- package/dist/bundle/module-artifact.js +36 -9
- package/dist/bundle/module-artifact.js.map +1 -1
- package/dist/controller-loader.d.ts +11 -4
- package/dist/controller-loader.d.ts.map +1 -1
- package/dist/controller-loader.js +1 -1
- package/dist/controller-loader.js.map +1 -1
- package/dist/controller-loaders/bundle-loader.d.ts +21 -0
- package/dist/controller-loaders/bundle-loader.d.ts.map +1 -1
- package/dist/controller-loaders/bundle-loader.js +106 -21
- package/dist/controller-loaders/bundle-loader.js.map +1 -1
- package/dist/controller-loaders/npm-loader.d.ts.map +1 -1
- package/dist/controller-loaders/npm-loader.js +62 -10
- package/dist/controller-loaders/npm-loader.js.map +1 -1
- package/dist/controller-loaders/source-bundle-builder.d.ts +30 -0
- package/dist/controller-loaders/source-bundle-builder.d.ts.map +1 -0
- package/dist/controller-loaders/source-bundle-builder.js +302 -0
- package/dist/controller-loaders/source-bundle-builder.js.map +1 -0
- package/dist/controllers/resource-definition/resource-definition-controller.d.ts.map +1 -1
- package/dist/controllers/resource-definition/resource-definition-controller.js +9 -2
- package/dist/controllers/resource-definition/resource-definition-controller.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/kernel.d.ts +9 -0
- package/dist/kernel.d.ts.map +1 -1
- package/dist/kernel.js +21 -20
- package/dist/kernel.js.map +1 -1
- package/dist/logging/file-sink.js +1 -1
- package/dist/logging/file-sink.js.map +1 -1
- package/dist/logging/index.d.ts +1 -1
- package/dist/logging/index.d.ts.map +1 -1
- package/dist/logging/index.js +1 -1
- package/dist/logging/index.js.map +1 -1
- package/dist/logging/log-sink.d.ts +1 -1
- package/dist/logging/log-sink.d.ts.map +1 -1
- package/dist/logging/log-sink.js +1 -1
- package/dist/logging/log-sink.js.map +1 -1
- package/dist/resource-context.d.ts +11 -1
- package/dist/resource-context.d.ts.map +1 -1
- package/dist/resource-context.js +22 -2
- package/dist/resource-context.js.map +1 -1
- package/dist/runtime-seam.d.ts +19 -0
- package/dist/runtime-seam.d.ts.map +1 -0
- package/dist/runtime-seam.js +211 -0
- package/dist/runtime-seam.js.map +1 -0
- package/dist/static-analysis-diagnostics.d.ts +19 -0
- package/dist/static-analysis-diagnostics.d.ts.map +1 -0
- package/dist/static-analysis-diagnostics.js +52 -0
- package/dist/static-analysis-diagnostics.js.map +1 -0
- package/dist/transports/oci/oci-transport.d.ts +17 -0
- package/dist/transports/oci/oci-transport.d.ts.map +1 -1
- package/dist/transports/oci/oci-transport.js +33 -8
- package/dist/transports/oci/oci-transport.js.map +1 -1
- package/dist/transports/transport-registry.d.ts +6 -4
- package/dist/transports/transport-registry.d.ts.map +1 -1
- package/dist/transports/transport-registry.js +6 -4
- package/dist/transports/transport-registry.js.map +1 -1
- package/package.json +5 -5
- package/src/bundle/module-artifact.ts +54 -12
- package/src/controller-loader.ts +12 -5
- package/src/controller-loaders/bundle-loader.ts +117 -27
- package/src/controller-loaders/npm-loader.ts +75 -13
- package/src/controller-loaders/source-bundle-builder.ts +337 -0
- package/src/controllers/resource-definition/resource-definition-controller.ts +23 -17
- package/src/index.ts +3 -1
- package/src/kernel.ts +25 -17
- package/src/logging/file-sink.ts +1 -1
- package/src/logging/index.ts +1 -1
- package/src/logging/log-sink.ts +1 -0
- package/src/resource-context.ts +23 -0
- package/src/runtime-seam.ts +230 -0
- package/src/static-analysis-diagnostics.ts +51 -0
- package/src/transports/oci/oci-transport.ts +34 -8
- package/src/transports/transport-registry.ts +6 -4
- package/dist/logging/record-buffer.d.ts +0 -24
- package/dist/logging/record-buffer.d.ts.map +0 -1
- package/dist/logging/record-buffer.js +0 -78
- package/dist/logging/record-buffer.js.map +0 -1
- package/src/logging/record-buffer.ts +0 -72
|
@@ -7,6 +7,16 @@ export interface MaterializedLayer {
|
|
|
7
7
|
dir: string;
|
|
8
8
|
files: string[];
|
|
9
9
|
}
|
|
10
|
+
/** A materialized controller layer plus whether reaching it cost a transfer.
|
|
11
|
+
*
|
|
12
|
+
* `transferred` is out of band rather than a field on `MaterializedLayer`
|
|
13
|
+
* because it describes THIS call, not the layer: the value is memoized and
|
|
14
|
+
* shared, so a flag on it would be meaningless to every other caller. Only the
|
|
15
|
+
* controller path reports progress, so only it asks. */
|
|
16
|
+
export interface ResolvedControllerLayer {
|
|
17
|
+
layer: MaterializedLayer;
|
|
18
|
+
transferred: boolean;
|
|
19
|
+
}
|
|
10
20
|
export declare function hostPlatformTarget(): PlatformTarget;
|
|
11
21
|
/**
|
|
12
22
|
* A module's artifact, scoped to one loaded module.
|
|
@@ -39,7 +49,10 @@ export declare class ModuleArtifact {
|
|
|
39
49
|
private readonly transports;
|
|
40
50
|
private readonly log;
|
|
41
51
|
/** In-flight / completed materializations, keyed by blob digest. Rejections
|
|
42
|
-
* are dropped so a transient fetch failure retries on the next ask.
|
|
52
|
+
* are dropped so a transient fetch failure retries on the next ask. Each
|
|
53
|
+
* records whether the work it wraps transferred the layer or read it off
|
|
54
|
+
* disk — the memoized entry is shared, so a joining caller reads the flag
|
|
55
|
+
* but never claims it. */
|
|
43
56
|
private readonly inFlight;
|
|
44
57
|
constructor(opts: {
|
|
45
58
|
pinnedRef: string;
|
|
@@ -70,7 +83,7 @@ export declare class ModuleArtifact {
|
|
|
70
83
|
* Returns `undefined` when the artifact ships no layer for this selector, which
|
|
71
84
|
* is how a loader learns to fall through to the next candidate.
|
|
72
85
|
*/
|
|
73
|
-
materializeController(selector: ArtifactSelector): Promise<
|
|
86
|
+
materializeController(selector: ArtifactSelector): Promise<ResolvedControllerLayer | undefined>;
|
|
74
87
|
/**
|
|
75
88
|
* Materialize everything a module-relative file read could need: the `assets`
|
|
76
89
|
* layer **and** the `common` layer.
|
|
@@ -86,6 +99,10 @@ export declare class ModuleArtifact {
|
|
|
86
99
|
materializeAssets(): Promise<MaterializedLayer | undefined>;
|
|
87
100
|
/** Materialize the `common` layer, if the module ships one. */
|
|
88
101
|
materializeCommon(): Promise<MaterializedLayer | undefined>;
|
|
102
|
+
/** As `materializeCommon`, reporting whether this call transferred it — the
|
|
103
|
+
* controller path rides the common layer along and has to count its bytes as
|
|
104
|
+
* part of the wait. One lookup, so "common comes too" is encoded once. */
|
|
105
|
+
private materializeCommonTracked;
|
|
89
106
|
/**
|
|
90
107
|
* Materialize every layer a `target` platform could need — both singletons and
|
|
91
108
|
* each controller layer matching it. `telo install`'s make-this-offline pass,
|
|
@@ -96,6 +113,15 @@ export declare class ModuleArtifact {
|
|
|
96
113
|
* have to explain why no layer matched. */
|
|
97
114
|
describeLayers(): string;
|
|
98
115
|
private materialize;
|
|
116
|
+
/**
|
|
117
|
+
* As `materialize`, but also reporting whether THIS call transferred the layer.
|
|
118
|
+
*
|
|
119
|
+
* A caller that joins work already in flight reports `false`: several
|
|
120
|
+
* controller candidates of one module share a layer, and attributing the
|
|
121
|
+
* transfer to all of them would print one progress line per candidate for a
|
|
122
|
+
* single download. The call that started the work owns the report.
|
|
123
|
+
*/
|
|
124
|
+
private materializeTracked;
|
|
99
125
|
private markerPath;
|
|
100
126
|
private materializeUncached;
|
|
101
127
|
private extract;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-artifact.d.ts","sourceRoot":"","sources":["../../src/bundle/module-artifact.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAA6B,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAQtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAG7E;0EAC0E;AAC1E,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AA2DD,wBAAgB,kBAAkB,IAAI,cAAc,CAOnD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,cAAc;IACzB;6DACyD;IACzD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAClD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B;
|
|
1
|
+
{"version":3,"file":"module-artifact.d.ts","sourceRoot":"","sources":["../../src/bundle/module-artifact.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAA6B,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAQtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAG7E;0EAC0E;AAC1E,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;yDAKyD;AACzD,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,iBAAiB,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;CACtB;AA2DD,wBAAgB,kBAAkB,IAAI,cAAc,CAOnD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,cAAc;IACzB;6DACyD;IACzD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAClD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B;;;;+BAI2B;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuD;gBAEpE,IAAI,EAAE;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC;QACjC,GAAG,EAAE,MAAM,CAAC;QACZ,UAAU,EAAE,iBAAiB,CAAC;QAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;KACd;IAQD;wDACoD;IACpD,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACG,qBAAqB,CACzB,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAiB/C;;;;;;;;;OASG;IACG,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7C,8EAA8E;IACxE,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAKjE,+DAA+D;IACzD,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAIjE;;+EAE2E;YAC7D,wBAAwB;IAKtC;;;;OAIG;IACG,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAW1E;gDAC4C;IAC5C,cAAc,IAAI,MAAM;YAOV,WAAW;IAIzB;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,UAAU;YAQJ,mBAAmB;YA0CnB,OAAO;CAkBtB;AAOD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,MAAM,GAAG,IAAI,CAWf;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,aAAa,EAAE,GAAG,SAAS,CAAC;IAC7C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,cAAc,GAAG,SAAS,CAU7B"}
|
|
@@ -93,7 +93,10 @@ export function hostPlatformTarget() {
|
|
|
93
93
|
export class ModuleArtifact {
|
|
94
94
|
constructor(opts) {
|
|
95
95
|
/** In-flight / completed materializations, keyed by blob digest. Rejections
|
|
96
|
-
* are dropped so a transient fetch failure retries on the next ask.
|
|
96
|
+
* are dropped so a transient fetch failure retries on the next ask. Each
|
|
97
|
+
* records whether the work it wraps transferred the layer or read it off
|
|
98
|
+
* disk — the memoized entry is shared, so a joining caller reads the flag
|
|
99
|
+
* but never claims it. */
|
|
97
100
|
this.inFlight = new Map();
|
|
98
101
|
this.pinnedRef = opts.pinnedRef;
|
|
99
102
|
this.layers = opts.layers;
|
|
@@ -130,8 +133,15 @@ export class ModuleArtifact {
|
|
|
130
133
|
const layer = this.layers.find((l) => l.role === "controller" && l.selector !== undefined && selectorKey(l.selector) === key);
|
|
131
134
|
if (!layer)
|
|
132
135
|
return undefined;
|
|
133
|
-
await this.
|
|
134
|
-
|
|
136
|
+
const common = await this.materializeCommonTracked();
|
|
137
|
+
const controller = await this.materializeTracked(layer);
|
|
138
|
+
// Either half is a transfer the caller waited on: the common layer's bytes
|
|
139
|
+
// come down on this call too, so they are as much of a wait as the
|
|
140
|
+
// controller layer's.
|
|
141
|
+
return {
|
|
142
|
+
layer: controller.layer,
|
|
143
|
+
transferred: controller.transferred || (common?.transferred ?? false),
|
|
144
|
+
};
|
|
135
145
|
}
|
|
136
146
|
/**
|
|
137
147
|
* Materialize everything a module-relative file read could need: the `assets`
|
|
@@ -153,8 +163,14 @@ export class ModuleArtifact {
|
|
|
153
163
|
}
|
|
154
164
|
/** Materialize the `common` layer, if the module ships one. */
|
|
155
165
|
async materializeCommon() {
|
|
166
|
+
return (await this.materializeCommonTracked())?.layer;
|
|
167
|
+
}
|
|
168
|
+
/** As `materializeCommon`, reporting whether this call transferred it — the
|
|
169
|
+
* controller path rides the common layer along and has to count its bytes as
|
|
170
|
+
* part of the wait. One lookup, so "common comes too" is encoded once. */
|
|
171
|
+
async materializeCommonTracked() {
|
|
156
172
|
const layer = singletonLayer(this.layers, "common");
|
|
157
|
-
return layer ? this.
|
|
173
|
+
return layer ? this.materializeTracked(layer) : undefined;
|
|
158
174
|
}
|
|
159
175
|
/**
|
|
160
176
|
* Materialize every layer a `target` platform could need — both singletons and
|
|
@@ -181,10 +197,21 @@ export class ModuleArtifact {
|
|
|
181
197
|
.map((l) => (l.selector ? `${l.role} ${describeSelector(l.selector)}` : l.role))
|
|
182
198
|
.join(", ");
|
|
183
199
|
}
|
|
184
|
-
materialize(layer) {
|
|
200
|
+
async materialize(layer) {
|
|
201
|
+
return (await this.materializeTracked(layer)).layer;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* As `materialize`, but also reporting whether THIS call transferred the layer.
|
|
205
|
+
*
|
|
206
|
+
* A caller that joins work already in flight reports `false`: several
|
|
207
|
+
* controller candidates of one module share a layer, and attributing the
|
|
208
|
+
* transfer to all of them would print one progress line per candidate for a
|
|
209
|
+
* single download. The call that started the work owns the report.
|
|
210
|
+
*/
|
|
211
|
+
materializeTracked(layer) {
|
|
185
212
|
const pending = this.inFlight.get(layer.blob);
|
|
186
213
|
if (pending)
|
|
187
|
-
return pending;
|
|
214
|
+
return pending.then((r) => ({ layer: r.layer, transferred: false }));
|
|
188
215
|
const work = this.materializeUncached(layer).catch((err) => {
|
|
189
216
|
// Drop the rejection so a transient fetch failure is retried rather than
|
|
190
217
|
// cached for the lifetime of the module.
|
|
@@ -204,13 +231,13 @@ export class ModuleArtifact {
|
|
|
204
231
|
async materializeUncached(layer) {
|
|
205
232
|
const marker = this.markerPath(layer);
|
|
206
233
|
if (existsSync(marker)) {
|
|
207
|
-
return { dir: this.dir, files: await readMarker(marker) };
|
|
234
|
+
return { layer: { dir: this.dir, files: await readMarker(marker) }, transferred: false };
|
|
208
235
|
}
|
|
209
236
|
return withDirectoryLock(this.dir, "module layer", async () => {
|
|
210
237
|
// Re-check inside the lock: a peer may have extracted this layer between
|
|
211
238
|
// the fast-path miss and our acquisition.
|
|
212
239
|
if (existsSync(marker)) {
|
|
213
|
-
return { dir: this.dir, files: await readMarker(marker) };
|
|
240
|
+
return { layer: { dir: this.dir, files: await readMarker(marker) }, transferred: false };
|
|
214
241
|
}
|
|
215
242
|
const files = await this.transports.fetchLayer(this.pinnedRef, layer.blob);
|
|
216
243
|
const actual = await computeFilesIntegrity(files);
|
|
@@ -228,7 +255,7 @@ export class ModuleArtifact {
|
|
|
228
255
|
"telo.layer.role": layer.role,
|
|
229
256
|
"telo.layer.files": written.length,
|
|
230
257
|
});
|
|
231
|
-
return { dir: this.dir, files: written };
|
|
258
|
+
return { layer: { dir: this.dir, files: written }, transferred: true };
|
|
232
259
|
}, this.log);
|
|
233
260
|
}
|
|
234
261
|
async extract(files, layer) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-artifact.js","sourceRoot":"","sources":["../../src/bundle/module-artifact.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,WAAW,EACX,cAAc,EACd,cAAc,EACd,gBAAgB,GAIjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAe,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAE3F,OAAO,EAAE,qBAAqB,EAAoB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"module-artifact.js","sourceRoot":"","sources":["../../src/bundle/module-artifact.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,WAAW,EACX,cAAc,EACd,cAAc,EACd,gBAAgB,GAIjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAe,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAE3F,OAAO,EAAE,qBAAqB,EAAoB,MAAM,sBAAsB,CAAC;AAoB/E;;;;GAIG;AACH,MAAM,cAAc,GAAqC;IACvD,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,SAAS;IAChB,GAAG,EAAE,KAAK;CACX,CAAC;AAEF,MAAM,gBAAgB,GAAqC;IACzD,GAAG,EAAE,OAAO;IACZ,IAAI,EAAE,KAAK;IACX,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF;;;;;;;GAOG;AACH,SAAS,UAAU;IACjB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,SAAS,EAE3B,CAAC;QACd,OAAO,MAAM,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,IAAI,gBAA4C,CAAC;AAEjD,MAAM,UAAU,kBAAkB;IAChC,gBAAgB,KAAhB,gBAAgB,GAAK;QACnB,EAAE,EAAE,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC;QACpC,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC;QACpC,IAAI,EAAE,UAAU,EAAE;KACnB,EAAC;IACF,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,cAAc;IAezB,YAAY,IAMX;QAbD;;;;mCAI2B;QACV,aAAQ,GAAG,IAAI,GAAG,EAA4C,CAAC;QAS9E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,WAAW,CAAC;IACrC,CAAC;IAED;wDACoD;IACpD,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,qBAAqB,CACzB,QAA0B;QAE1B,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,GAAG,CAC9F,CAAC;QACF,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACrD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACxD,2EAA2E;QAC3E,mEAAmE;QACnE,sBAAsB;QACtB,OAAO;YACL,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,WAAW,EAAE,UAAU,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE,WAAW,IAAI,KAAK,CAAC;SACtE,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,sBAAsB;QAC1B,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,8EAA8E;IAC9E,KAAK,CAAC,iBAAiB;QACrB,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpD,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC;IAED,+DAA+D;IAC/D,KAAK,CAAC,iBAAiB;QACrB,OAAO,CAAC,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC,EAAE,KAAK,CAAC;IACxD,CAAC;IAED;;+EAE2E;IACnE,KAAK,CAAC,wBAAwB;QACpC,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpD,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,MAAsB;QACzC,MAAM,MAAM,GAAG;YACb,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;YAC7C,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;YACrC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;SACtC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAsB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QACrD,MAAM,GAAG,GAAwB,EAAE,CAAC;QACpC,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QACpE,OAAO,GAAG,CAAC;IACb,CAAC;IAED;gDAC4C;IAC5C,cAAc;QACZ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,qBAAqB,CAAC;QAC3D,OAAO,IAAI,CAAC,MAAM;aACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAC/E,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,KAAoB;QAC5C,OAAO,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IACtD,CAAC;IAED;;;;;;;OAOG;IACK,kBAAkB,CAAC,KAAoB;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAClF,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACzD,yEAAyE;YACzE,yCAAyC;YACzC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,GAAG,CAAC;QACZ,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,UAAU,CAAC,KAAoB;QACrC,yEAAyE;QACzE,yEAAyE;QACzE,oEAAoE;QACpE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,KAAK,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;IACnE,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,KAAoB;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QAC3F,CAAC;QAED,OAAO,iBAAiB,CACtB,IAAI,CAAC,GAAG,EACR,cAAc,EACd,KAAK,IAAI,EAAE;YACT,yEAAyE;YACzE,0CAA0C;YAC1C,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvB,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;YAC3F,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3E,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,MAAM,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;gBAC/B,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,kCAAkC,KAAK,CAAC,IAAI,aAAa,IAAI,CAAC,SAAS,IAAI;oBACzE,YAAY,KAAK,CAAC,SAAS,SAAS,MAAM,sCAAsC;oBAChF,0EAA0E;oBAC1E,+BAA+B,CAClC,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACjD,gEAAgE;YAChE,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC/D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE;gBAC1C,iBAAiB,EAAE,IAAI,CAAC,SAAS;gBACjC,iBAAiB,EAAE,KAAK,CAAC,IAAI;gBAC7B,kBAAkB,EAAE,OAAO,CAAC,MAAM;aACnC,CAAC,CAAC;YACH,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QACzE,CAAC,EACD,IAAI,CAAC,GAAG,CACT,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,KAAoB,EAAE,KAAoB;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;QAC/C,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,YAAY,CACpB,0BAA0B,EAC1B,OAAO,KAAK,CAAC,IAAI,aAAa,IAAI,CAAC,SAAS,oBAAoB,KAAK,CAAC,IAAI,WAAW;oBACnF,gDAAgD,CACnD,CAAC;YACJ,CAAC;YACD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;CACF;AAED,KAAK,UAAU,UAAU,CAAC,MAAc;IACtC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB,CAChC,YAAoB,EACpB,MAAc,EACd,QAAgB,EAChB,WAA+B,EAC/B,YAAgC;IAEhC,MAAM,SAAS,GAAG,qBAAqB,CACrC,cAAc,CAAC,YAAY,CAAC,CAAC,IAAI,EACjC,QAAQ,EACR,WAAW,EACX,YAAY,CACb,CAAC;IACF,IAAI,SAAS;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7E,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAMjC;IACC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/D,IAAI,CAAC,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACtC,OAAO,IAAI,cAAc,CAAC;QACxB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,IAAI,CAAC,SAAS;QACnB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;KACd,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -3,10 +3,13 @@ import type { ModuleArtifact } from "./bundle/module-artifact.js";
|
|
|
3
3
|
import { ControllerPolicy } from "./runtime-registry.js";
|
|
4
4
|
export type { ControllerPolicy } from "./runtime-registry.js";
|
|
5
5
|
/**
|
|
6
|
-
* Which branch the per-scheme loader actually took. Cache/local hits resolve
|
|
7
|
-
*
|
|
8
|
-
* do real (network or compile) work
|
|
9
|
-
*
|
|
6
|
+
* Which branch the per-scheme loader actually took. Cache/local hits resolve in
|
|
7
|
+
* milliseconds; `npm-install`, `cargo-build` and `bundle` are the branches that
|
|
8
|
+
* do real (network or compile) work — `bundle` is reported only when the resolve
|
|
9
|
+
* fetched the module's controller layer, never when it found it already
|
|
10
|
+
* extracted. The CLI uses this to decide whether a "downloading…" line was
|
|
11
|
+
* honest or should be erased, so a source that names work no one waited for
|
|
12
|
+
* turns every warm start into noise.
|
|
10
13
|
*/
|
|
11
14
|
export type ControllerResolveSource = "local" | "node_modules" | "cache" | "npm-install" | "cargo-build" | "bundle";
|
|
12
15
|
/**
|
|
@@ -76,6 +79,10 @@ export interface ControllerLoaderOptions {
|
|
|
76
79
|
* single `resolveCacheRoot`. Overrides the entry-anchored default so a
|
|
77
80
|
* relocated `TELO_CACHE_DIR` is honoured. */
|
|
78
81
|
installRoot?: string;
|
|
82
|
+
/** The `.telo` cache root for this load. The bundle loader caches a dev build
|
|
83
|
+
* of a local module's controller source under it; absent simply disables that
|
|
84
|
+
* path, leaving a prebuilt `path=` to load. */
|
|
85
|
+
cacheRoot?: string;
|
|
79
86
|
/** Where the sub-loaders' diagnostics go — install-lock waits, bundle skips.
|
|
80
87
|
* Threaded from `ctx.log` so §13.1 holds (no direct `process.stderr`), and so
|
|
81
88
|
* the bundle-skip diagnostics that replaced `TELO_BUNDLE_DEBUG` actually reach
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller-loader.d.ts","sourceRoot":"","sources":["../src/controller-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAgB,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAE7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO,EAAE,gBAAgB,EAAmC,MAAM,uBAAuB,CAAC;AAE1F,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D
|
|
1
|
+
{"version":3,"file":"controller-loader.d.ts","sourceRoot":"","sources":["../src/controller-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAgB,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAE7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO,EAAE,gBAAgB,EAAmC,MAAM,uBAAuB,CAAC;AAE1F,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,MAAM,uBAAuB,GAC/B,OAAO,GACP,cAAc,GACd,OAAO,GACP,aAAa,GACb,aAAa,GACb,QAAQ,CAAC;AAEb;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,uBAAuB,CAAC;IAChC,cAAc,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACnD;AAED,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACxD;IACE,IAAI,EAAE,kBAAkB,CAAC;IACzB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,uBAAuB,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAChF,GACD;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE;AAC5E;;;;;;GAMG;GACD;IAAE,IAAI,EAAE,uBAAuB,CAAC;IAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAEjF;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1F,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;kDAE8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;oDAEgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;2DAGuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmC;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyB;gBAE1C,OAAO,GAAE,uBAA4B;IAW3C,IAAI,CACR,cAAc,EAAE,MAAM,EAAE,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,gBAAgB,EACzB,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,kBAAkB,CAAC;IAqD9B;;;;;;;;;;;;OAYG;IACG,OAAO,CACX,cAAc,EAAE,MAAM,EAAE,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,gBAAgB,EACzB,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,kBAAkB,CAAC;YA+BhB,WAAW;YASX,kBAAkB;CAgBjC"}
|
|
@@ -30,7 +30,7 @@ export class ControllerLoader {
|
|
|
30
30
|
if (options.log)
|
|
31
31
|
this.npmLoader.setLogger(options.log);
|
|
32
32
|
this.napiLoader = new NapiControllerLoader();
|
|
33
|
-
this.bundleLoader = new BundleControllerLoader();
|
|
33
|
+
this.bundleLoader = new BundleControllerLoader(options.cacheRoot);
|
|
34
34
|
}
|
|
35
35
|
async load(purlCandidates, baseUri, policy, artifact) {
|
|
36
36
|
if (!purlCandidates || purlCandidates.length === 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller-loader.js","sourceRoot":"","sources":["../src/controller-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,YAAY,EAAe,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAoB,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"controller-loader.js","sourceRoot":"","sources":["../src/controller-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,16 @@ import type { ControllerResolveSource } from "../controller-loader.js";
|
|
|
22
22
|
* (or `[pkg:telo …, pkg:npm …]`) falls through to a candidate this — or
|
|
23
23
|
* another runtime's — kernel can load.
|
|
24
24
|
* - `path` — the file in the bundle; `#export` — the named export.
|
|
25
|
+
* - `local_path` — the TypeScript source `path=` was built from. Present only
|
|
26
|
+
* while the module is a working copy; a published artifact ships no `src/`.
|
|
27
|
+
* When the module arrives with **no artifact handle** and the source resolves
|
|
28
|
+
* on disk, the loader builds it (see `source-bundle-builder.ts`) rather than
|
|
29
|
+
* importing `path=`, so editing a controller and re-running picks the edit up
|
|
30
|
+
* with no build step. The guard is the absence of an artifact, not the shape
|
|
31
|
+
* of the base URI: a published module served from the on-disk manifest cache
|
|
32
|
+
* has a local base too, and its payload is the layer regardless.
|
|
25
33
|
*
|
|
34
|
+
|
|
26
35
|
* Two separate concerns for `js` bundles importing `@telorun/sdk`:
|
|
27
36
|
* - *Resolution* — the bare specifier must point at a real file. The bundle has
|
|
28
37
|
* no node_modules, so `ensureRealmSymlinks()` symlinks the realm-collapse
|
|
@@ -38,6 +47,11 @@ import type { ControllerResolveSource } from "../controller-loader.js";
|
|
|
38
47
|
* through); a bundle that loads but is malformed is a hard `ERR_CONTROLLER_INVALID`.
|
|
39
48
|
*/
|
|
40
49
|
export declare class BundleControllerLoader {
|
|
50
|
+
private readonly cacheRoot?;
|
|
51
|
+
/** Where a dev build from `local_path` is cached (`<cache-root>/controller-src`).
|
|
52
|
+
* Absent for callers that resolved no cache root, which simply disables the
|
|
53
|
+
* source path — a prebuilt `path=` still loads. */
|
|
54
|
+
constructor(cacheRoot?: string | undefined);
|
|
41
55
|
load(purl: string, baseUri: string, artifact?: ModuleArtifact): Promise<{
|
|
42
56
|
instance: ControllerInstance;
|
|
43
57
|
source: ControllerResolveSource;
|
|
@@ -53,5 +67,12 @@ export declare class BundleControllerLoader {
|
|
|
53
67
|
source: ControllerResolveSource;
|
|
54
68
|
importInstance: () => Promise<ControllerInstance>;
|
|
55
69
|
}>;
|
|
70
|
+
/** The `local_path` source this candidate names, resolved against the declaring
|
|
71
|
+
* module's directory — or `undefined` when the candidate declares none, or the
|
|
72
|
+
* module is not on disk to resolve it against. */
|
|
73
|
+
private localSourceFile;
|
|
74
|
+
/** Directory of the declaring module's manifest. Only meaningful for a local
|
|
75
|
+
* base; callers gate on {@link isLocalBase} first. */
|
|
76
|
+
private moduleDir;
|
|
56
77
|
}
|
|
57
78
|
//# sourceMappingURL=bundle-loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-loader.d.ts","sourceRoot":"","sources":["../../src/controller-loaders/bundle-loader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAgB,MAAM,cAAc,CAAC;AAOhE,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACvF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"bundle-loader.d.ts","sourceRoot":"","sources":["../../src/controller-loaders/bundle-loader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAgB,MAAM,cAAc,CAAC;AAOhE,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACvF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAuGvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,qBAAa,sBAAsB;IAIrB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAHvC;;wDAEoD;gBACvB,SAAS,CAAC,EAAE,MAAM,YAAA;IAEzC,IAAI,CACR,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC;QAAE,QAAQ,EAAE,kBAAkB,CAAC;QAAC,MAAM,EAAE,uBAAuB,CAAA;KAAE,CAAC;IAK7E;;;;;;OAMG;IACG,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC;QAAE,MAAM,EAAE,uBAAuB,CAAC;QAAC,cAAc,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAA;KAAE,CAAC;IAsJlG;;uDAEmD;IACnD,OAAO,CAAC,eAAe;IAMvB;2DACuD;IACvD,OAAO,CAAC,SAAS;CAGlB"}
|
|
@@ -9,6 +9,7 @@ import { fileURLToPath, pathToFileURL } from "url";
|
|
|
9
9
|
import { hostPlatformTarget } from "../bundle/module-artifact.js";
|
|
10
10
|
import { ControllerEnvMissingError } from "./napi-loader.js";
|
|
11
11
|
import { REALM_COLLAPSE_NAMES } from "./realm.js";
|
|
12
|
+
import { buildControllerFromSource, canBuildFromSource } from "./source-bundle-builder.js";
|
|
12
13
|
/** A base URI whose files are already on disk: a `file://` URL or a bare
|
|
13
14
|
* absolute path. Everything else (`oci://`, `http(s)://`, `memory://`) names a
|
|
14
15
|
* module whose payload only exists inside an artifact. */
|
|
@@ -136,7 +137,16 @@ function findPackageRoot(entryFile, name) {
|
|
|
136
137
|
* (or `[pkg:telo …, pkg:npm …]`) falls through to a candidate this — or
|
|
137
138
|
* another runtime's — kernel can load.
|
|
138
139
|
* - `path` — the file in the bundle; `#export` — the named export.
|
|
140
|
+
* - `local_path` — the TypeScript source `path=` was built from. Present only
|
|
141
|
+
* while the module is a working copy; a published artifact ships no `src/`.
|
|
142
|
+
* When the module arrives with **no artifact handle** and the source resolves
|
|
143
|
+
* on disk, the loader builds it (see `source-bundle-builder.ts`) rather than
|
|
144
|
+
* importing `path=`, so editing a controller and re-running picks the edit up
|
|
145
|
+
* with no build step. The guard is the absence of an artifact, not the shape
|
|
146
|
+
* of the base URI: a published module served from the on-disk manifest cache
|
|
147
|
+
* has a local base too, and its payload is the layer regardless.
|
|
139
148
|
*
|
|
149
|
+
|
|
140
150
|
* Two separate concerns for `js` bundles importing `@telorun/sdk`:
|
|
141
151
|
* - *Resolution* — the bare specifier must point at a real file. The bundle has
|
|
142
152
|
* no node_modules, so `ensureRealmSymlinks()` symlinks the realm-collapse
|
|
@@ -152,6 +162,12 @@ function findPackageRoot(entryFile, name) {
|
|
|
152
162
|
* through); a bundle that loads but is malformed is a hard `ERR_CONTROLLER_INVALID`.
|
|
153
163
|
*/
|
|
154
164
|
export class BundleControllerLoader {
|
|
165
|
+
/** Where a dev build from `local_path` is cached (`<cache-root>/controller-src`).
|
|
166
|
+
* Absent for callers that resolved no cache root, which simply disables the
|
|
167
|
+
* source path — a prebuilt `path=` still loads. */
|
|
168
|
+
constructor(cacheRoot) {
|
|
169
|
+
this.cacheRoot = cacheRoot;
|
|
170
|
+
}
|
|
155
171
|
async load(purl, baseUri, artifact) {
|
|
156
172
|
const { source, importInstance } = await this.resolve(purl, baseUri, artifact);
|
|
157
173
|
return { instance: await importInstance(), source };
|
|
@@ -198,20 +214,74 @@ export class BundleControllerLoader {
|
|
|
198
214
|
`match this host (${host.os ?? "unknown os"}/${host.arch ?? "unknown arch"}` +
|
|
199
215
|
`${host.libc ? `/${host.libc}` : ""})`);
|
|
200
216
|
}
|
|
217
|
+
const fragment = parsed.subpath;
|
|
218
|
+
// Dev path: a module that is a working copy — no artifact behind it — with a
|
|
219
|
+
// `local_path` source on disk is built from that source, because the source
|
|
220
|
+
// is what is authoritative there. An artifact means the payload IS the layer,
|
|
221
|
+
// so this never fires for a published module, including one served from the
|
|
222
|
+
// on-disk manifest cache (whose base is local but whose payload is a layer).
|
|
223
|
+
//
|
|
224
|
+
// esbuild is probed HERE rather than inside the build. It is an optional
|
|
225
|
+
// dependency so that an install skipping optionals still runs published
|
|
226
|
+
// artifacts — and a working copy that has run its build script has the same
|
|
227
|
+
// prebuilt file on disk. Deciding it lazily would turn "no bundler" into a
|
|
228
|
+
// hard failure standing next to a perfectly good bundle, and the candidate
|
|
229
|
+
// list could not rescue it: the fallback belongs to this same PURL, not to a
|
|
230
|
+
// sibling candidate.
|
|
231
|
+
const cacheRoot = this.cacheRoot;
|
|
232
|
+
const sourceFile = artifact ? undefined : this.localSourceFile(parsed, baseUri);
|
|
233
|
+
const buildFromSource = sourceFile !== undefined &&
|
|
234
|
+
cacheRoot !== undefined &&
|
|
235
|
+
(await pathExists(sourceFile)) &&
|
|
236
|
+
(await canBuildFromSource());
|
|
237
|
+
if (buildFromSource) {
|
|
238
|
+
// The same file the prebuilt branch would import, kept as the fallback for
|
|
239
|
+
// an environment that stops being able to build between resolve and first
|
|
240
|
+
// instantiation.
|
|
241
|
+
const prebuilt = path.resolve(this.moduleDir(baseUri), relPath);
|
|
242
|
+
return {
|
|
243
|
+
source: "local",
|
|
244
|
+
// Deferred like every other branch: the build is paid on the kind's
|
|
245
|
+
// first instantiation, so a manifest pays only for the kinds it uses.
|
|
246
|
+
// A build FAILURE is user code and propagates unchanged; only a missing
|
|
247
|
+
// *environment* falls back, and only to a file that is actually there.
|
|
248
|
+
importInstance: async () => {
|
|
249
|
+
let built;
|
|
250
|
+
try {
|
|
251
|
+
built = await buildControllerFromSource(sourceFile, cacheRoot);
|
|
252
|
+
}
|
|
253
|
+
catch (err) {
|
|
254
|
+
if (!(err instanceof ControllerEnvMissingError))
|
|
255
|
+
throw err;
|
|
256
|
+
if (!(await pathExists(prebuilt)))
|
|
257
|
+
throw err;
|
|
258
|
+
await ensureRealmSymlinks(path.dirname(prebuilt));
|
|
259
|
+
return importControllerModule(prebuilt, purl, fragment);
|
|
260
|
+
}
|
|
261
|
+
await ensureRealmSymlinks(path.dirname(built));
|
|
262
|
+
return importControllerModule(built, purl, fragment);
|
|
263
|
+
},
|
|
264
|
+
};
|
|
265
|
+
}
|
|
201
266
|
// A published module's payload lives in its artifact, so materialize the one
|
|
202
267
|
// layer carrying this candidate and resolve `path=` inside it. Nothing is
|
|
203
268
|
// fetched here: the artifact handle owns the pinned ref and the verified
|
|
204
269
|
// layer index, so an `oci://` module ref never reaches this loader as a path.
|
|
205
270
|
let bundleDir;
|
|
271
|
+
// What this resolve actually cost. A module already on disk is `local`; an
|
|
272
|
+
// artifact layer found extracted is `cache`; only a layer this call pulled
|
|
273
|
+
// down reports `bundle`, the branch that made the user wait.
|
|
274
|
+
let source = "local";
|
|
206
275
|
if (artifact) {
|
|
207
276
|
// By its own selector, not by re-matching the host: this candidate IS one
|
|
208
277
|
// selector, and it is exactly the key of the layer that carries it.
|
|
209
|
-
const
|
|
210
|
-
if (!
|
|
278
|
+
const resolved = await artifact.materializeController(selector);
|
|
279
|
+
if (!resolved) {
|
|
211
280
|
throw new ControllerEnvMissingError(`pkg:telo controller "${purl}": the module artifact ships no layer for ` +
|
|
212
281
|
`${describeSelector(selector)} (has: ${artifact.describeLayers()})`);
|
|
213
282
|
}
|
|
214
|
-
bundleDir = layer.dir;
|
|
283
|
+
bundleDir = resolved.layer.dir;
|
|
284
|
+
source = resolved.transferred ? "bundle" : "cache";
|
|
215
285
|
}
|
|
216
286
|
else {
|
|
217
287
|
// No artifact: a module already on disk (local development, or a manifest
|
|
@@ -231,26 +301,41 @@ export class BundleControllerLoader {
|
|
|
231
301
|
// Make bare `@telorun/sdk` (etc.) resolve to the kernel's copy before
|
|
232
302
|
// importing the bundle, so authors write normal imports.
|
|
233
303
|
await ensureRealmSymlinks(path.dirname(absFile));
|
|
234
|
-
const fragment = parsed.subpath;
|
|
235
304
|
return {
|
|
236
|
-
source
|
|
237
|
-
importInstance:
|
|
238
|
-
// A broken bundle (syntax / failed import) is a real user-code failure —
|
|
239
|
-
// let it propagate rather than masking it as env-missing.
|
|
240
|
-
const mod = (await import(pathToFileURL(absFile).href));
|
|
241
|
-
// Distinguish "no such export" from "export isn't a controller" so the
|
|
242
|
-
// error points at the actual problem (mirrors the napi loader's project()).
|
|
243
|
-
if (fragment && !(fragment in mod)) {
|
|
244
|
-
throw new RuntimeError("ERR_CONTROLLER_INVALID", `Bundled controller "${purl}": module "${absFile}" has no export named "${fragment}"`);
|
|
245
|
-
}
|
|
246
|
-
const instance = fragment ? mod[fragment] : mod;
|
|
247
|
-
if (!instance || (!instance.create && !instance.register)) {
|
|
248
|
-
throw new RuntimeError("ERR_CONTROLLER_INVALID", `Bundled controller "${purl}" exports neither create() nor register()` +
|
|
249
|
-
(fragment ? ` at fragment "#${fragment}"` : ""));
|
|
250
|
-
}
|
|
251
|
-
return instance;
|
|
252
|
-
},
|
|
305
|
+
source,
|
|
306
|
+
importInstance: () => importControllerModule(absFile, purl, fragment),
|
|
253
307
|
};
|
|
254
308
|
}
|
|
309
|
+
/** The `local_path` source this candidate names, resolved against the declaring
|
|
310
|
+
* module's directory — or `undefined` when the candidate declares none, or the
|
|
311
|
+
* module is not on disk to resolve it against. */
|
|
312
|
+
localSourceFile(parsed, baseUri) {
|
|
313
|
+
const localPath = parsed.qualifiers?.local_path;
|
|
314
|
+
if (!localPath || !isLocalBase(baseUri))
|
|
315
|
+
return undefined;
|
|
316
|
+
return path.resolve(this.moduleDir(baseUri), localPath);
|
|
317
|
+
}
|
|
318
|
+
/** Directory of the declaring module's manifest. Only meaningful for a local
|
|
319
|
+
* base; callers gate on {@link isLocalBase} first. */
|
|
320
|
+
moduleDir(baseUri) {
|
|
321
|
+
return path.dirname(baseUri.startsWith("file://") ? fileURLToPath(baseUri) : baseUri);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
/** Import a built bundle and project out the controller the fragment names. A
|
|
325
|
+
* broken bundle (syntax error, failed import) is a real user-code failure and
|
|
326
|
+
* propagates; it is never masked as env-missing. */
|
|
327
|
+
async function importControllerModule(absFile, purl, fragment) {
|
|
328
|
+
const mod = (await import(pathToFileURL(absFile).href));
|
|
329
|
+
// Distinguish "no such export" from "export isn't a controller" so the error
|
|
330
|
+
// points at the actual problem (mirrors the napi loader's project()).
|
|
331
|
+
if (fragment && !(fragment in mod)) {
|
|
332
|
+
throw new RuntimeError("ERR_CONTROLLER_INVALID", `Bundled controller "${purl}": module "${absFile}" has no export named "${fragment}"`);
|
|
333
|
+
}
|
|
334
|
+
const instance = fragment ? mod[fragment] : mod;
|
|
335
|
+
if (!instance || (!instance.create && !instance.register)) {
|
|
336
|
+
throw new RuntimeError("ERR_CONTROLLER_INVALID", `Bundled controller "${purl}" exports neither create() nor register()` +
|
|
337
|
+
(fragment ? ` at fragment "#${fragment}"` : ""));
|
|
338
|
+
}
|
|
339
|
+
return instance;
|
|
255
340
|
}
|
|
256
341
|
//# sourceMappingURL=bundle-loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-loader.js","sourceRoot":"","sources":["../../src/controller-loaders/bundle-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC9F,OAAO,EAAsB,YAAY,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAuB,MAAM,8BAA8B,CAAC;AAEvF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"bundle-loader.js","sourceRoot":"","sources":["../../src/controller-loaders/bundle-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC9F,OAAO,EAAsB,YAAY,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAuB,MAAM,8BAA8B,CAAC;AAEvF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAE3F;;2DAE2D;AAC3D,SAAS,WAAW,CAAC,OAAe;IAClC,OAAO,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACnE,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,QAAgB;IACxC,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;AAC1C,KAAK,UAAU,mBAAmB,CAAC,SAAiB;IAClD,IAAI,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO;IAC3C,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,oBAAoB,EAAE,CAAC;QACxC,IAAI,OAAO,GAAkB,IAAI,CAAC;QAClC,IAAI,CAAC;YACH,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,wEAAwE;YACxE,yDAAyD;QAC3D,CAAC;QACD,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1E,8EAA8E;QAC9E,0EAA0E;QAC1E,+EAA+E;QAC/E,+EAA+E;QAC/E,yEAAyE;QACzE,yDAAyD;QACzD,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;oBAAE,SAAS;gBACrF,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,SAAS;YACX,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,mDAAmD;QACrD,CAAC;QACD,IAAI,CAAC;YACH,IAAI,KAAK;gBAAE,MAAM,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACzF,CAAC;QAAC,MAAM,CAAC;YACP,uEAAuE;YACvE,0CAA0C;QAC5C,CAAC;IACH,CAAC;IACD,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,SAAiB,EAAE,IAAY;IACtD,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAC1C,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,IAAK,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,CAAuB,CAAC,IAAI,KAAK,IAAI;oBAAE,OAAO,GAAG,CAAC;YAC5F,CAAC;YAAC,MAAM,CAAC;gBACP,mDAAmD;YACrD,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAChC,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,OAAO,sBAAsB;IACjC;;wDAEoD;IACpD,YAA6B,SAAkB;QAAlB,cAAS,GAAT,SAAS,CAAS;IAAG,CAAC;IAEnD,KAAK,CAAC,IAAI,CACR,IAAY,EACZ,OAAe,EACf,QAAyB;QAEzB,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC;IACtD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CACX,IAAY,EACZ,OAAe,EACf,QAAyB;QAEzB,IAAI,MAAkB,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,yBAAyB,CACjC,8BAA8B,IAAI,MAAM,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC3F,CAAC;QACJ,CAAC;QAED,wEAAwE;QACxE,0EAA0E;QAC1E,mDAAmD;QACnD,IAAI,MAAM,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;YACjC,MAAM,IAAI,yBAAyB,CACjC,wBAAwB,IAAI,oEAAoE,MAAM,CAAC,SAAS,IAAI,QAAQ,GAAG,CAChI,CAAC;QACJ,CAAC;QAED,2EAA2E;QAC3E,uEAAuE;QACvE,sEAAsE;QACtE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;QAC3B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,yBAAyB,CACjC,wBAAwB,IAAI,cAAc,MAAM,mEAAmE,CACpH,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC;QACxC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,yBAAyB,CACjC,wBAAwB,IAAI,iCAAiC,CAC9D,CAAC;QACJ,CAAC;QAED,wEAAwE;QACxE,8EAA8E;QAC9E,uEAAuE;QACvE,MAAM,QAAQ,GAAG,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,eAAe,IAAI,GAAG,CAAC,CAAC;QAC3F,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAClC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,yBAAyB,CACjC,wBAAwB,IAAI,aAAa,gBAAgB,CAAC,QAAQ,CAAC,mBAAmB;gBACpF,oBAAoB,IAAI,CAAC,EAAE,IAAI,YAAY,IAAI,IAAI,CAAC,IAAI,IAAI,cAAc,EAAE;gBAC5E,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CACzC,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;QAEhC,6EAA6E;QAC7E,4EAA4E;QAC5E,8EAA8E;QAC9E,4EAA4E;QAC5E,6EAA6E;QAC7E,EAAE;QACF,yEAAyE;QACzE,wEAAwE;QACxE,4EAA4E;QAC5E,2EAA2E;QAC3E,2EAA2E;QAC3E,6EAA6E;QAC7E,qBAAqB;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChF,MAAM,eAAe,GACnB,UAAU,KAAK,SAAS;YACxB,SAAS,KAAK,SAAS;YACvB,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;YAC9B,CAAC,MAAM,kBAAkB,EAAE,CAAC,CAAC;QAC/B,IAAI,eAAe,EAAE,CAAC;YACpB,2EAA2E;YAC3E,0EAA0E;YAC1E,iBAAiB;YACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;YAChE,OAAO;gBACL,MAAM,EAAE,OAAO;gBACf,oEAAoE;gBACpE,sEAAsE;gBACtE,wEAAwE;gBACxE,uEAAuE;gBACvE,cAAc,EAAE,KAAK,IAAI,EAAE;oBACzB,IAAI,KAAa,CAAC;oBAClB,IAAI,CAAC;wBACH,KAAK,GAAG,MAAM,yBAAyB,CAAC,UAAW,EAAE,SAAU,CAAC,CAAC;oBACnE,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,IAAI,CAAC,CAAC,GAAG,YAAY,yBAAyB,CAAC;4BAAE,MAAM,GAAG,CAAC;wBAC3D,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;4BAAE,MAAM,GAAG,CAAC;wBAC7C,MAAM,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAClD,OAAO,sBAAsB,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAC1D,CAAC;oBACD,MAAM,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC/C,OAAO,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACvD,CAAC;aACF,CAAC;QACJ,CAAC;QAED,6EAA6E;QAC7E,0EAA0E;QAC1E,yEAAyE;QACzE,8EAA8E;QAC9E,IAAI,SAAiB,CAAC;QACtB,2EAA2E;QAC3E,2EAA2E;QAC3E,6DAA6D;QAC7D,IAAI,MAAM,GAA4B,OAAO,CAAC;QAC9C,IAAI,QAAQ,EAAE,CAAC;YACb,0EAA0E;YAC1E,oEAAoE;YACpE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,yBAAyB,CACjC,wBAAwB,IAAI,4CAA4C;oBACtE,GAAG,gBAAgB,CAAC,QAAQ,CAAC,UAAU,QAAQ,CAAC,cAAc,EAAE,GAAG,CACtE,CAAC;YACJ,CAAC;YACD,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;YAC/B,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,0EAA0E;YAC1E,sEAAsE;YACtE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,yBAAyB,CACjC,wBAAwB,IAAI,0DAA0D;oBACpF,IAAI,OAAO,uEAAuE;oBAClF,iFAAiF;oBACjF,iDAAiD,CACpD,CAAC;YACJ,CAAC;YACD,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC7F,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,yBAAyB,CACjC,4CAA4C,OAAO,YAAY,IAAI,IAAI,CACxE,CAAC;QACJ,CAAC;QAED,sEAAsE;QACtE,yDAAyD;QACzD,MAAM,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAEjD,OAAO;YACL,MAAM;YACN,cAAc,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC;SACtE,CAAC;IACJ,CAAC;IAED;;uDAEmD;IAC3C,eAAe,CAAC,MAAkB,EAAE,OAAe;QACzD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC;QAChD,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAAE,OAAO,SAAS,CAAC;QAC1D,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;IAED;2DACuD;IAC/C,SAAS,CAAC,OAAe;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACxF,CAAC;CACF;AAED;;qDAEqD;AACrD,KAAK,UAAU,sBAAsB,CACnC,OAAe,EACf,IAAY,EACZ,QAA4B;IAE5B,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAuC,CAAC;IAC9F,6EAA6E;IAC7E,sEAAsE;IACtE,IAAI,QAAQ,IAAI,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,YAAY,CACpB,wBAAwB,EACxB,uBAAuB,IAAI,cAAc,OAAO,0BAA0B,QAAQ,GAAG,CACtF,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,GAAqC,CAAC;IACnF,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,YAAY,CACpB,wBAAwB,EACxB,uBAAuB,IAAI,2CAA2C;YACpE,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAClD,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npm-loader.d.ts","sourceRoot":"","sources":["../../src/controller-loaders/npm-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAe,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AA+C5E;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,cAAc,GAAG,aAAa,GAAG,OAAO,CAAC;AAoBlF,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,mBAAmB;IAC9B;;mEAE+D;IAC/D,OAAO,CAAC,GAAG,CAAuB;IAElC,mEAAmE;IACnE,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAS;IACnC,kFAAkF;IAClF,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAS;IAE9C;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IAEpD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"npm-loader.d.ts","sourceRoot":"","sources":["../../src/controller-loaders/npm-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAe,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AA+C5E;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,cAAc,GAAG,aAAa,GAAG,OAAO,CAAC;AAoBlF,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,mBAAmB;IAC9B;;mEAE+D;IAC/D,OAAO,CAAC,GAAG,CAAuB;IAElC,mEAAmE;IACnE,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAS;IACnC,kFAAkF;IAClF,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAS;IAE9C;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IAEpD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuC;IAEhE;;;;OAIG;IACH,OAAO,CAAC,SAAS,CAAC,CAAkB;IAEpC;;;;;;;;OAQG;IACH,OAAO,CAAC,QAAQ,CAA8B;gBAElC,OAAO,GAAE,0BAA+B;IAK9C,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAKjE;;;;;OAKG;IACG,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;QAAE,MAAM,EAAE,gBAAgB,CAAC;QAAC,cAAc,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAA;KAAE,CAAC;IA2B3F;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;YAUX,sBAAsB;IA4GpC;;;;;;;OAOG;YACW,aAAa;IAe3B;;;;;;;;;;;;;;OAcG;YACW,cAAc;CA+H7B;AAqHD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,iBAAS,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA4BpD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,iBAAS,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAMzE;AAED;;;;;;GAMG;AACH,iBAAS,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAKpE;AAsND;;;;GAIG;AACH,iBAAe,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOrE;AAED,iBAAS,0BAA0B,CACjC,YAAY,EAAE,GAAG,EACjB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,GAChC,MAAM,GAAG,IAAI,CAIf;AAED,iBAAS,wBAAwB,CAC/B,MAAM,EAAE,GAAG,EACX,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,EACjC,KAAK,EAAE,MAAM,GACZ,MAAM,GAAG,IAAI,CAoBf;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;CAUvB,CAAC"}
|