@telorun/kernel 0.62.0 → 0.64.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/boot-context-registry.js +1 -3
- package/dist/boot-context-registry.js.map +1 -1
- package/dist/bundle/module-artifact.js +15 -8
- package/dist/bundle/module-artifact.js.map +1 -1
- package/dist/controller-loader.d.ts +4 -0
- package/dist/controller-loader.d.ts.map +1 -1
- package/dist/controller-loader.js +5 -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 +98 -17
- package/dist/controller-loaders/bundle-loader.js.map +1 -1
- package/dist/controller-loaders/napi-loader.d.ts.map +1 -1
- package/dist/controller-loaders/napi-loader.js +24 -8
- package/dist/controller-loaders/napi-loader.js.map +1 -1
- package/dist/controller-loaders/npm-loader.js +37 -28
- 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/controller-registry.js +3 -5
- package/dist/controller-registry.js.map +1 -1
- package/dist/controllers/resource-definition/abstract-controller.js +2 -1
- package/dist/controllers/resource-definition/abstract-controller.js.map +1 -1
- package/dist/controllers/resource-definition/resource-definition-controller.d.ts.map +1 -1
- package/dist/controllers/resource-definition/resource-definition-controller.js +11 -3
- package/dist/controllers/resource-definition/resource-definition-controller.js.map +1 -1
- package/dist/controllers/type/json-schema-controller.js +3 -0
- package/dist/controllers/type/json-schema-controller.js.map +1 -1
- package/dist/directory-lock.js +5 -5
- package/dist/directory-lock.js.map +1 -1
- package/dist/evaluation-context.js +60 -21
- package/dist/evaluation-context.js.map +1 -1
- package/dist/events.js +1 -3
- package/dist/events.js.map +1 -1
- package/dist/host-env.js +3 -2
- package/dist/host-env.js.map +1 -1
- package/dist/index.d.ts +1 -0
- 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 +64 -26
- package/dist/kernel.js.map +1 -1
- package/dist/logging/console-sink.js +18 -29
- package/dist/logging/console-sink.js.map +1 -1
- package/dist/logging/debug-wire-sink.js +11 -23
- package/dist/logging/debug-wire-sink.js.map +1 -1
- package/dist/logging/drop-accounting.js +28 -41
- package/dist/logging/drop-accounting.js.map +1 -1
- package/dist/logging/file-sink.js +29 -39
- 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/kernel-logging.js +30 -41
- package/dist/logging/kernel-logging.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/logging/logging-pipeline.js +197 -197
- package/dist/logging/logging-pipeline.js.map +1 -1
- package/dist/logging/sampler.js +21 -34
- package/dist/logging/sampler.js.map +1 -1
- package/dist/manifest-sources/local-manifest-cache-source.js +2 -0
- package/dist/manifest-sources/local-manifest-cache-source.js.map +1 -1
- package/dist/manifest-sources/memory-source.js +1 -3
- package/dist/manifest-sources/memory-source.js.map +1 -1
- package/dist/module-context.js +62 -37
- package/dist/module-context.js.map +1 -1
- package/dist/registry.js +5 -7
- package/dist/registry.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 +44 -23
- package/dist/resource-context.js.map +1 -1
- package/dist/resource-uri.js +4 -0
- package/dist/resource-uri.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 +198 -0
- package/dist/runtime-seam.js.map +1 -0
- package/dist/schema-validator.js +20 -18
- package/dist/schema-validator.js.map +1 -1
- package/dist/tracing.js +4 -19
- package/dist/tracing.js.map +1 -1
- package/dist/transports/oci/oci-client.js +3 -1
- package/dist/transports/oci/oci-client.js.map +1 -1
- package/dist/transports/oci/oci-transport.js +17 -16
- package/dist/transports/oci/oci-transport.js.map +1 -1
- package/dist/transports/registry-transport.js +4 -0
- package/dist/transports/registry-transport.js.map +1 -1
- package/dist/transports/transport-registry.js +1 -0
- package/dist/transports/transport-registry.js.map +1 -1
- package/package.json +4 -4
- package/src/controller-loader.ts +5 -1
- package/src/controller-loaders/bundle-loader.ts +108 -23
- package/src/controller-loaders/napi-loader.ts +28 -9
- 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 +1 -0
- package/src/kernel.ts +13 -0
- 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/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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oci-transport.js","sourceRoot":"","sources":["../../../src/transports/oci/oci-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,WAAW,EACX,eAAe,EACf,eAAe,GAIhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EACL,qBAAqB,EACrB,gBAAgB,GAEjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAsB,MAAM,iCAAiC,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAO3E,OAAO,EACL,SAAS,EACT,uBAAuB,EACvB,0BAA0B,EAC1B,4BAA4B,EAC5B,8BAA8B,EAC9B,8BAA8B,EAC9B,6BAA6B,GAG9B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,UAAU,EACV,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,cAAc,GACf,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,KAAK,UAAU,iBAAiB,CAAC,GAAW,EAAE,MAAiB;IAC7D,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,KAAK,GACT,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,8BAA8B,CAAC;QAC3E,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,4BAA4B,CAAC;QACzE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAErE,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,yBAAyB,CAAC,CAAC;IAC5E,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,gBAAgB,GAAG,oCAAoC,yBAAyB,EAAE,CACnF,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAChB,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAElG,iFAAiF;IACjF,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,eAAe,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,YAAY;
|
|
1
|
+
{"version":3,"file":"oci-transport.js","sourceRoot":"","sources":["../../../src/transports/oci/oci-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,10 @@ function disambiguatePath(pathname, search, hash) {
|
|
|
53
53
|
* no owning scheme, so `oci://` (or a future `s3://`) never falls through to
|
|
54
54
|
* it — those refs are claimed by their own transport's `supports()`. */
|
|
55
55
|
export class RegistryTransport {
|
|
56
|
+
registryUrl;
|
|
57
|
+
registrySource;
|
|
58
|
+
httpSource;
|
|
59
|
+
source;
|
|
56
60
|
constructor(registryUrl = DEFAULT_REGISTRY_URL) {
|
|
57
61
|
this.registryUrl = registryUrl;
|
|
58
62
|
this.registrySource = new RegistrySource(registryUrl);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-transport.js","sourceRoot":"","sources":["../../src/transports/registry-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,UAAU,EACV,cAAc,EACd,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,cAAc,GAGf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAGpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAQvD,MAAM,oBAAoB,GAAG,2BAA2B,CAAC;AACzD,8EAA8E;AAC9E,MAAM,WAAW,GAAG,qBAAqB,CAAC;AAE1C;uEACuE;AACvE,SAAS,cAAc,CAAC,IAAY;IAClC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC;IACpF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AACD,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B;;sEAEsE;AACtE,SAAS,iBAAiB,CAAC,MAAc,EAAE,MAAW;IACpD,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC/B,CAAC,CAAC,GAAG,QAAQ,GAAG,yBAAyB,EAAE;YAC3C,CAAC,CAAC,GAAG,QAAQ,IAAI,yBAAyB,EAAE,CAAC;IACjD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;sDACsD;AACtD,SAAS,gBAAgB,CAAC,QAAgB,EAAE,MAAc,EAAE,IAAY;IACtE,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI;QAAE,OAAO,QAAQ,CAAC;IACtC,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC;SAChC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;SACrB,MAAM,CAAC,KAAK,CAAC;SACb,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7D,OAAO,GAAG,IAAI,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;AACnC,CAAC;AAMD;;;;;;yEAMyE;AACzE,MAAM,OAAO,iBAAiB;
|
|
1
|
+
{"version":3,"file":"registry-transport.js","sourceRoot":"","sources":["../../src/transports/registry-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import { RegistryTransport } from "./registry-transport.js";
|
|
|
6
6
|
* fallback for bare / `https` refs, and a scheme-owning transport (OCI, later
|
|
7
7
|
* S3) claims its refs via `supports()` before the fallback is reached. */
|
|
8
8
|
export class TransportRegistry {
|
|
9
|
+
transports;
|
|
9
10
|
constructor(transports) {
|
|
10
11
|
this.transports = transports;
|
|
11
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport-registry.js","sourceRoot":"","sources":["../../src/transports/transport-registry.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAQ5D;;;;2EAI2E;AAC3E,MAAM,OAAO,iBAAiB;
|
|
1
|
+
{"version":3,"file":"transport-registry.js","sourceRoot":"","sources":["../../src/transports/transport-registry.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAQ5D;;;;2EAI2E;AAC3E,MAAM,OAAO,iBAAiB;IACC;IAA7B,YAA6B,UAAuB;QAAvB,eAAU,GAAV,UAAU,CAAa;IAAG,CAAC;IAExD,kEAAkE;IAClE,MAAM,CAAC,GAAW;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,CAAC;IAED;0EACsE;IACtE,OAAO;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED;iEAC6D;IAC7D,WAAW,CAAC,GAAW;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IACpD,CAAC;IAED;wEACoE;IACpE,YAAY,CAAC,GAAW;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED;gEAC4D;IAC5D,UAAU,CAAC,GAAW,EAAE,UAAkB;QACxC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC;IAED;kFAC8E;IAC9E,MAAM,CAAC,GAAW;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAED;yDACqD;IACrD,OAAO,CACL,WAAmB,EACnB,MAAqB,EACrB,IAAqB;QAErB,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;IAEO,OAAO,CAAC,GAAW;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,GAAG,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAED;;oFAEoF;AACpF,MAAM,UAAU,iBAAiB,CAAC,WAAoB;IACpD,OAAO,CAAC,IAAI,YAAY,EAAE,EAAE,IAAI,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAA6B,CAAC;AAElE;;;;;;oBAMoB;AACpB,MAAM,UAAU,wBAAwB,CAAC,WAAoB;IAC3D,MAAM,GAAG,GAAG,WAAW,IAAI,EAAE,CAAC;IAC9B,IAAI,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,IAAI,iBAAiB,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;QAC/D,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@telorun/kernel",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.64.0",
|
|
4
4
|
"description": "Telo Runtime - A lightweight, polyglot execution host.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"telo",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"dependencies": {
|
|
62
62
|
"@marcbachmann/cel-js": "^7.6.1",
|
|
63
63
|
"@sinclair/typebox": "^0.34.48",
|
|
64
|
-
"@telorun/analyzer": "0.
|
|
64
|
+
"@telorun/analyzer": "0.51.0",
|
|
65
65
|
"@telorun/glob": "0.2.0",
|
|
66
66
|
"@telorun/templating": "0.11.1",
|
|
67
67
|
"ajv": "^8.17.1",
|
|
@@ -75,10 +75,10 @@
|
|
|
75
75
|
"@types/tar-stream": "^3.1.3",
|
|
76
76
|
"typescript": "^5.0.0",
|
|
77
77
|
"vitest": "^2.1.8",
|
|
78
|
-
"@telorun/sdk": "0.
|
|
78
|
+
"@telorun/sdk": "0.64.0"
|
|
79
79
|
},
|
|
80
80
|
"optionalDependencies": {
|
|
81
|
-
"esbuild": "^0.
|
|
81
|
+
"esbuild": "^0.25.12"
|
|
82
82
|
},
|
|
83
83
|
"peerDependencies": {
|
|
84
84
|
"@telorun/sdk": "*"
|
package/src/controller-loader.ts
CHANGED
|
@@ -76,6 +76,10 @@ export interface ControllerLoaderOptions {
|
|
|
76
76
|
* single `resolveCacheRoot`. Overrides the entry-anchored default so a
|
|
77
77
|
* relocated `TELO_CACHE_DIR` is honoured. */
|
|
78
78
|
installRoot?: string;
|
|
79
|
+
/** The `.telo` cache root for this load. The bundle loader caches a dev build
|
|
80
|
+
* of a local module's controller source under it; absent simply disables that
|
|
81
|
+
* path, leaving a prebuilt `path=` to load. */
|
|
82
|
+
cacheRoot?: string;
|
|
79
83
|
/** Where the sub-loaders' diagnostics go — install-lock waits, bundle skips.
|
|
80
84
|
* Threaded from `ctx.log` so §13.1 holds (no direct `process.stderr`), and so
|
|
81
85
|
* the bundle-skip diagnostics that replaced `TELO_BUNDLE_DEBUG` actually reach
|
|
@@ -114,7 +118,7 @@ export class ControllerLoader {
|
|
|
114
118
|
});
|
|
115
119
|
if (options.log) this.npmLoader.setLogger(options.log);
|
|
116
120
|
this.napiLoader = new NapiControllerLoader();
|
|
117
|
-
this.bundleLoader = new BundleControllerLoader();
|
|
121
|
+
this.bundleLoader = new BundleControllerLoader(options.cacheRoot);
|
|
118
122
|
}
|
|
119
123
|
|
|
120
124
|
async load(
|
|
@@ -10,6 +10,7 @@ import { hostPlatformTarget, type ModuleArtifact } from "../bundle/module-artifa
|
|
|
10
10
|
import type { ControllerResolveSource } from "../controller-loader.js";
|
|
11
11
|
import { ControllerEnvMissingError } from "./napi-loader.js";
|
|
12
12
|
import { REALM_COLLAPSE_NAMES } from "./realm.js";
|
|
13
|
+
import { buildControllerFromSource, canBuildFromSource } from "./source-bundle-builder.js";
|
|
13
14
|
|
|
14
15
|
/** A base URI whose files are already on disk: a `file://` URL or a bare
|
|
15
16
|
* absolute path. Everything else (`oci://`, `http(s)://`, `memory://`) names a
|
|
@@ -130,7 +131,16 @@ function findPackageRoot(entryFile: string, name: string): string | null {
|
|
|
130
131
|
* (or `[pkg:telo …, pkg:npm …]`) falls through to a candidate this — or
|
|
131
132
|
* another runtime's — kernel can load.
|
|
132
133
|
* - `path` — the file in the bundle; `#export` — the named export.
|
|
134
|
+
* - `local_path` — the TypeScript source `path=` was built from. Present only
|
|
135
|
+
* while the module is a working copy; a published artifact ships no `src/`.
|
|
136
|
+
* When the module arrives with **no artifact handle** and the source resolves
|
|
137
|
+
* on disk, the loader builds it (see `source-bundle-builder.ts`) rather than
|
|
138
|
+
* importing `path=`, so editing a controller and re-running picks the edit up
|
|
139
|
+
* with no build step. The guard is the absence of an artifact, not the shape
|
|
140
|
+
* of the base URI: a published module served from the on-disk manifest cache
|
|
141
|
+
* has a local base too, and its payload is the layer regardless.
|
|
133
142
|
*
|
|
143
|
+
|
|
134
144
|
* Two separate concerns for `js` bundles importing `@telorun/sdk`:
|
|
135
145
|
* - *Resolution* — the bare specifier must point at a real file. The bundle has
|
|
136
146
|
* no node_modules, so `ensureRealmSymlinks()` symlinks the realm-collapse
|
|
@@ -146,6 +156,11 @@ function findPackageRoot(entryFile: string, name: string): string | null {
|
|
|
146
156
|
* through); a bundle that loads but is malformed is a hard `ERR_CONTROLLER_INVALID`.
|
|
147
157
|
*/
|
|
148
158
|
export class BundleControllerLoader {
|
|
159
|
+
/** Where a dev build from `local_path` is cached (`<cache-root>/controller-src`).
|
|
160
|
+
* Absent for callers that resolved no cache root, which simply disables the
|
|
161
|
+
* source path — a prebuilt `path=` still loads. */
|
|
162
|
+
constructor(private readonly cacheRoot?: string) {}
|
|
163
|
+
|
|
149
164
|
async load(
|
|
150
165
|
purl: string,
|
|
151
166
|
baseUri: string,
|
|
@@ -215,6 +230,55 @@ export class BundleControllerLoader {
|
|
|
215
230
|
);
|
|
216
231
|
}
|
|
217
232
|
|
|
233
|
+
const fragment = parsed.subpath;
|
|
234
|
+
|
|
235
|
+
// Dev path: a module that is a working copy — no artifact behind it — with a
|
|
236
|
+
// `local_path` source on disk is built from that source, because the source
|
|
237
|
+
// is what is authoritative there. An artifact means the payload IS the layer,
|
|
238
|
+
// so this never fires for a published module, including one served from the
|
|
239
|
+
// on-disk manifest cache (whose base is local but whose payload is a layer).
|
|
240
|
+
//
|
|
241
|
+
// esbuild is probed HERE rather than inside the build. It is an optional
|
|
242
|
+
// dependency so that an install skipping optionals still runs published
|
|
243
|
+
// artifacts — and a working copy that has run its build script has the same
|
|
244
|
+
// prebuilt file on disk. Deciding it lazily would turn "no bundler" into a
|
|
245
|
+
// hard failure standing next to a perfectly good bundle, and the candidate
|
|
246
|
+
// list could not rescue it: the fallback belongs to this same PURL, not to a
|
|
247
|
+
// sibling candidate.
|
|
248
|
+
const cacheRoot = this.cacheRoot;
|
|
249
|
+
const sourceFile = artifact ? undefined : this.localSourceFile(parsed, baseUri);
|
|
250
|
+
const buildFromSource =
|
|
251
|
+
sourceFile !== undefined &&
|
|
252
|
+
cacheRoot !== undefined &&
|
|
253
|
+
(await pathExists(sourceFile)) &&
|
|
254
|
+
(await canBuildFromSource());
|
|
255
|
+
if (buildFromSource) {
|
|
256
|
+
// The same file the prebuilt branch would import, kept as the fallback for
|
|
257
|
+
// an environment that stops being able to build between resolve and first
|
|
258
|
+
// instantiation.
|
|
259
|
+
const prebuilt = path.resolve(this.moduleDir(baseUri), relPath);
|
|
260
|
+
return {
|
|
261
|
+
source: "local",
|
|
262
|
+
// Deferred like every other branch: the build is paid on the kind's
|
|
263
|
+
// first instantiation, so a manifest pays only for the kinds it uses.
|
|
264
|
+
// A build FAILURE is user code and propagates unchanged; only a missing
|
|
265
|
+
// *environment* falls back, and only to a file that is actually there.
|
|
266
|
+
importInstance: async () => {
|
|
267
|
+
let built: string;
|
|
268
|
+
try {
|
|
269
|
+
built = await buildControllerFromSource(sourceFile!, cacheRoot!);
|
|
270
|
+
} catch (err) {
|
|
271
|
+
if (!(err instanceof ControllerEnvMissingError)) throw err;
|
|
272
|
+
if (!(await pathExists(prebuilt))) throw err;
|
|
273
|
+
await ensureRealmSymlinks(path.dirname(prebuilt));
|
|
274
|
+
return importControllerModule(prebuilt, purl, fragment);
|
|
275
|
+
}
|
|
276
|
+
await ensureRealmSymlinks(path.dirname(built));
|
|
277
|
+
return importControllerModule(built, purl, fragment);
|
|
278
|
+
},
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
|
|
218
282
|
// A published module's payload lives in its artifact, so materialize the one
|
|
219
283
|
// layer carrying this candidate and resolve `path=` inside it. Nothing is
|
|
220
284
|
// fetched here: the artifact handle owns the pinned ref and the verified
|
|
@@ -261,31 +325,52 @@ export class BundleControllerLoader {
|
|
|
261
325
|
// importing the bundle, so authors write normal imports.
|
|
262
326
|
await ensureRealmSymlinks(path.dirname(absFile));
|
|
263
327
|
|
|
264
|
-
const fragment = parsed.subpath;
|
|
265
328
|
return {
|
|
266
329
|
source,
|
|
267
|
-
importInstance:
|
|
268
|
-
// A broken bundle (syntax / failed import) is a real user-code failure —
|
|
269
|
-
// let it propagate rather than masking it as env-missing.
|
|
270
|
-
const mod = (await import(pathToFileURL(absFile).href)) as Record<string, ControllerInstance>;
|
|
271
|
-
// Distinguish "no such export" from "export isn't a controller" so the
|
|
272
|
-
// error points at the actual problem (mirrors the napi loader's project()).
|
|
273
|
-
if (fragment && !(fragment in mod)) {
|
|
274
|
-
throw new RuntimeError(
|
|
275
|
-
"ERR_CONTROLLER_INVALID",
|
|
276
|
-
`Bundled controller "${purl}": module "${absFile}" has no export named "${fragment}"`,
|
|
277
|
-
);
|
|
278
|
-
}
|
|
279
|
-
const instance = fragment ? mod[fragment] : (mod as unknown as ControllerInstance);
|
|
280
|
-
if (!instance || (!instance.create && !instance.register)) {
|
|
281
|
-
throw new RuntimeError(
|
|
282
|
-
"ERR_CONTROLLER_INVALID",
|
|
283
|
-
`Bundled controller "${purl}" exports neither create() nor register()` +
|
|
284
|
-
(fragment ? ` at fragment "#${fragment}"` : ""),
|
|
285
|
-
);
|
|
286
|
-
}
|
|
287
|
-
return instance;
|
|
288
|
-
},
|
|
330
|
+
importInstance: () => importControllerModule(absFile, purl, fragment),
|
|
289
331
|
};
|
|
290
332
|
}
|
|
333
|
+
|
|
334
|
+
/** The `local_path` source this candidate names, resolved against the declaring
|
|
335
|
+
* module's directory — or `undefined` when the candidate declares none, or the
|
|
336
|
+
* module is not on disk to resolve it against. */
|
|
337
|
+
private localSourceFile(parsed: PackageURL, baseUri: string): string | undefined {
|
|
338
|
+
const localPath = parsed.qualifiers?.local_path;
|
|
339
|
+
if (!localPath || !isLocalBase(baseUri)) return undefined;
|
|
340
|
+
return path.resolve(this.moduleDir(baseUri), localPath);
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
/** Directory of the declaring module's manifest. Only meaningful for a local
|
|
344
|
+
* base; callers gate on {@link isLocalBase} first. */
|
|
345
|
+
private moduleDir(baseUri: string): string {
|
|
346
|
+
return path.dirname(baseUri.startsWith("file://") ? fileURLToPath(baseUri) : baseUri);
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
/** Import a built bundle and project out the controller the fragment names. A
|
|
351
|
+
* broken bundle (syntax error, failed import) is a real user-code failure and
|
|
352
|
+
* propagates; it is never masked as env-missing. */
|
|
353
|
+
async function importControllerModule(
|
|
354
|
+
absFile: string,
|
|
355
|
+
purl: string,
|
|
356
|
+
fragment: string | undefined,
|
|
357
|
+
): Promise<ControllerInstance> {
|
|
358
|
+
const mod = (await import(pathToFileURL(absFile).href)) as Record<string, ControllerInstance>;
|
|
359
|
+
// Distinguish "no such export" from "export isn't a controller" so the error
|
|
360
|
+
// points at the actual problem (mirrors the napi loader's project()).
|
|
361
|
+
if (fragment && !(fragment in mod)) {
|
|
362
|
+
throw new RuntimeError(
|
|
363
|
+
"ERR_CONTROLLER_INVALID",
|
|
364
|
+
`Bundled controller "${purl}": module "${absFile}" has no export named "${fragment}"`,
|
|
365
|
+
);
|
|
366
|
+
}
|
|
367
|
+
const instance = fragment ? mod[fragment] : (mod as unknown as ControllerInstance);
|
|
368
|
+
if (!instance || (!instance.create && !instance.register)) {
|
|
369
|
+
throw new RuntimeError(
|
|
370
|
+
"ERR_CONTROLLER_INVALID",
|
|
371
|
+
`Bundled controller "${purl}" exports neither create() nor register()` +
|
|
372
|
+
(fragment ? ` at fragment "#${fragment}"` : ""),
|
|
373
|
+
);
|
|
374
|
+
}
|
|
375
|
+
return instance;
|
|
291
376
|
}
|
|
@@ -218,13 +218,26 @@ export class NapiControllerLoader {
|
|
|
218
218
|
throw new ControllerEnvMissingError("rustc not found on PATH");
|
|
219
219
|
}
|
|
220
220
|
|
|
221
|
+
// Read before building: the metadata answers both "where did the dylib
|
|
222
|
+
// land" and "does this crate use the SDK", and the second decides the build
|
|
223
|
+
// flags.
|
|
224
|
+
const { targetDir, libName, usesSdk } = await resolveCrateMetadata(cratePath, fallbackName);
|
|
225
|
+
|
|
221
226
|
try {
|
|
222
|
-
//
|
|
223
|
-
// `
|
|
224
|
-
//
|
|
225
|
-
//
|
|
226
|
-
//
|
|
227
|
-
|
|
227
|
+
// The backend is selected as a *dependency* feature of the SDK. A crate
|
|
228
|
+
// built on `telorun-sdk` carries no `[features]` block of its own, so this
|
|
229
|
+
// is the only way to pick one from outside it: `--no-default-features`
|
|
230
|
+
// here would apply to the controller crate, not to the SDK, and the SDK
|
|
231
|
+
// therefore declares no default backend at all. The Rust kernel passes
|
|
232
|
+
// `--features telorun-sdk/native` at the same spot.
|
|
233
|
+
//
|
|
234
|
+
// Only when the crate actually depends on the SDK. `pkg:cargo` names a
|
|
235
|
+
// Rust controller, not an SDK user — a crate may implement the napi
|
|
236
|
+
// exports by hand (the `tests/napi-echo` fixture does exactly that, which
|
|
237
|
+
// is what makes it a test of this loader rather than of the SDK). Naming a
|
|
238
|
+
// feature of a dependency it does not have is a hard cargo error.
|
|
239
|
+
const featureArgs = usesSdk ? ["--features", "telorun-sdk/napi"] : [];
|
|
240
|
+
await execFileAsync("cargo", ["build", "--release", ...featureArgs], {
|
|
228
241
|
cwd: cratePath,
|
|
229
242
|
maxBuffer: 32 * 1024 * 1024,
|
|
230
243
|
env: hostEnv(),
|
|
@@ -237,8 +250,6 @@ export class NapiControllerLoader {
|
|
|
237
250
|
);
|
|
238
251
|
}
|
|
239
252
|
|
|
240
|
-
const { targetDir, libName } = await resolveCrateMetadata(cratePath, fallbackName);
|
|
241
|
-
|
|
242
253
|
const dylibPath = await findDylib(targetDir, libName);
|
|
243
254
|
if (!dylibPath) {
|
|
244
255
|
throw new RuntimeError(
|
|
@@ -300,10 +311,14 @@ function project(module: any, entry: string | undefined, where: string): Control
|
|
|
300
311
|
return sub;
|
|
301
312
|
}
|
|
302
313
|
|
|
314
|
+
/** The SDK crate whose backend feature selects the FFI bridge, when the
|
|
315
|
+
* controller is built on it. */
|
|
316
|
+
const SDK_CRATE_NAME = "telorun-sdk";
|
|
317
|
+
|
|
303
318
|
async function resolveCrateMetadata(
|
|
304
319
|
cratePath: string,
|
|
305
320
|
fallbackName: string,
|
|
306
|
-
): Promise<{ targetDir: string; libName: string }> {
|
|
321
|
+
): Promise<{ targetDir: string; libName: string; usesSdk: boolean }> {
|
|
307
322
|
const result = await execFileAsync("cargo", [
|
|
308
323
|
"metadata",
|
|
309
324
|
"--format-version",
|
|
@@ -317,9 +332,13 @@ async function resolveCrateMetadata(
|
|
|
317
332
|
(p: any) => p.manifest_path === path.join(cratePath, "Cargo.toml"),
|
|
318
333
|
);
|
|
319
334
|
const packageName = cratePackage?.name ?? fallbackName;
|
|
335
|
+
const usesSdk = (cratePackage?.dependencies ?? []).some(
|
|
336
|
+
(dependency: any) => dependency?.name === SDK_CRATE_NAME,
|
|
337
|
+
);
|
|
320
338
|
return {
|
|
321
339
|
targetDir: metadata.target_directory,
|
|
322
340
|
libName: packageName.replace(/-/g, "_"),
|
|
341
|
+
usesSdk,
|
|
323
342
|
};
|
|
324
343
|
}
|
|
325
344
|
|