@telorun/kernel 0.40.2 → 0.42.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.
@@ -1 +1 @@
1
- {"version":3,"file":"bundle-builder.d.ts","sourceRoot":"","sources":["../../src/controller-loaders/bundle-builder.ts"],"names":[],"mappings":"AA0GA;;;;;;;;;;;;GAYG;AACH,wBAAsB,wBAAwB,CAC5C,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAuCxB"}
1
+ {"version":3,"file":"bundle-builder.d.ts","sourceRoot":"","sources":["../../src/controller-loaders/bundle-builder.ts"],"names":[],"mappings":"AA8HA;;;;;;;;;;;;GAYG;AACH,wBAAsB,wBAAwB,CAC5C,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAuCxB"}
@@ -40,6 +40,11 @@ async function pathExists(p) {
40
40
  function sanitize(s) {
41
41
  return s.replace(/[^a-zA-Z0-9._-]/g, "_");
42
42
  }
43
+ /** Extensions of a package's own relative modules that are externalized (kept a
44
+ * single loose copy) rather than inlined per controller bundle. TS extensions
45
+ * are included because published modules are loaded from their `src/*.ts` under
46
+ * a TS-aware runtime (Bun), so the shared `.ts` file must keep one identity. */
47
+ const EXTERNALIZABLE_EXTENSIONS = new Set([".js", ".mjs", ".cjs", ".ts", ".mts", ".cts"]);
43
48
  async function realpathOrNull(p) {
44
49
  try {
45
50
  return await fs.realpath(p);
@@ -52,6 +57,21 @@ function isUnder(child, parent) {
52
57
  const rel = path.relative(parent, child);
53
58
  return rel === "" || (!rel.startsWith("..") && !path.isAbsolute(rel));
54
59
  }
60
+ /** Directory of the nearest `package.json` at or above `entryFile` — the
61
+ * controller's own installed package root. Used to scope which relative imports
62
+ * are the package's OWN modules (externalized to stay shared) versus a bundled
63
+ * dependency's internals (inlined). Null if none is found. */
64
+ async function packageRootOf(entryFile) {
65
+ let dir = path.dirname(entryFile);
66
+ for (;;) {
67
+ if (await pathExists(path.join(dir, "package.json")))
68
+ return dir;
69
+ const parent = path.dirname(dir);
70
+ if (parent === dir)
71
+ return null;
72
+ dir = parent;
73
+ }
74
+ }
55
75
  const typeModuleCache = new Map();
56
76
  /** Whether `entryFile` is an ES module: `.mjs` / non-`.js` (e.g. `.ts`) yes,
57
77
  * `.cjs` no, `.js` per the nearest `package.json` `"type"`. */
@@ -200,7 +220,7 @@ async function buildBundle(bundleFile, entryFile) {
200
220
  platform: "node",
201
221
  logLevel: "silent",
202
222
  write: false,
203
- plugins: [nativeExternalsPlugin()],
223
+ plugins: [nativeExternalsPlugin(path.dirname(bundleFile), await packageRootOf(entryFile))],
204
224
  });
205
225
  const out = result.outputFiles?.[0];
206
226
  if (!out)
@@ -244,7 +264,7 @@ async function buildBundle(bundleFile, entryFile) {
244
264
  * as it would loose (the controller's own try/catch handles the absence).
245
265
  * Everything else (the controller's own files + third-party JS) inlines.
246
266
  */
247
- function nativeExternalsPlugin() {
267
+ function nativeExternalsPlugin(bundleDir, pkgRoot) {
248
268
  const realm = new Set(REALM_COLLAPSE_NAMES);
249
269
  const decided = new Map();
250
270
  return {
@@ -252,6 +272,61 @@ function nativeExternalsPlugin() {
252
272
  setup(build) {
253
273
  // A direct `.node` binary import can never be bundled.
254
274
  build.onResolve({ filter: /\.node$/ }, () => ({ external: true }));
275
+ // Keep the controller PACKAGE's OWN modules loose (its relative imports)
276
+ // rather than inlining them. A package's controllers are bundled per-entry
277
+ // (one bundle per `create`/`register` file), so inlining a shared relative
278
+ // module (e.g. a class definition plus process-local state used by several
279
+ // controllers) would give EACH controller bundle a private copy:
280
+ // `instanceof` across the package's controllers fails and shared state
281
+ // splits. Externalizing leaves the module a loose file, so Node loads one
282
+ // shared copy across every controller of the package — the intra-package
283
+ // analogue of the `@telorun/*` realm externalization below. Bundling still
284
+ // collapses the `node_modules` tree (the cold-start target).
285
+ //
286
+ // Scope is deliberate: ONLY the controller package's own files, resolved to
287
+ // a real, runtime-loadable JS file, are externalized.
288
+ // - A relative import inside an inlined `node_modules` dependency stays
289
+ // bundled — its path isn't relative to our bundle, and it's not a
290
+ // cross-controller shared module (`pkgRoot` gate).
291
+ // - We externalize the RESOLVED file, not the source specifier, because a
292
+ // compiled `./x.js` may not be a valid Node-ESM path on its own
293
+ // (extension / index / `../shared` layout esbuild resolves but Node
294
+ // doesn't); a non-JS target (a `.ts` source with no built `.js`) is left
295
+ // to inline so esbuild transpiles it rather than emitting an unloadable
296
+ // import. `pluginData` guards recursion into our own resolver.
297
+ build.onResolve({ filter: /^\.\.?(\/|$)/ }, async (args) => {
298
+ if (!pkgRoot || args.kind === "entry-point")
299
+ return null;
300
+ if (args.pluginData?.teloResolving)
301
+ return null;
302
+ const resolved = await build.resolve(args.path, {
303
+ kind: args.kind,
304
+ resolveDir: args.resolveDir,
305
+ importer: args.importer,
306
+ pluginData: { teloResolving: true },
307
+ });
308
+ if (resolved.errors.length > 0 || !resolved.path || resolved.namespace !== "file") {
309
+ return null; // unresolvable / virtual module → inline (esbuild default)
310
+ }
311
+ // Own-package file only: under pkgRoot and not inside a nested dependency.
312
+ const relToPkg = path.relative(pkgRoot, resolved.path);
313
+ if (relToPkg.startsWith("..") || path.isAbsolute(relToPkg))
314
+ return null;
315
+ if (relToPkg.split(path.sep).includes("node_modules"))
316
+ return null;
317
+ // Must be a runtime-loadable module; otherwise inline (transpile). The
318
+ // loose file is loaded by the SAME runtime as this bundle — and a package
319
+ // shipped as `.ts` source (loaded via Bun) has `.ts` entries, so a `.ts`
320
+ // sibling resolves for that runtime too. TS extensions MUST be
321
+ // externalized, not inlined: inlining gives each controller its own copy
322
+ // of a shared module (e.g. record-stream's `journal-store`), splitting
323
+ // `instanceof` / process-local state across the package's controllers.
324
+ const ext = path.extname(resolved.path).toLowerCase();
325
+ if (!EXTERNALIZABLE_EXTENSIONS.has(ext))
326
+ return null;
327
+ const rel = path.relative(bundleDir, resolved.path).split(path.sep).join("/");
328
+ return { path: rel.startsWith(".") ? rel : `./${rel}`, external: true };
329
+ });
255
330
  // Bare specifiers only (paths starting with `.` or `/` are relative/absolute).
256
331
  build.onResolve({ filter: /^[^./]/ }, async (args) => {
257
332
  if (path.isAbsolute(args.path))
@@ -1 +1 @@
1
- {"version":3,"file":"bundle-builder.js","sourceRoot":"","sources":["../../src/controller-loaders/bundle-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundle-builder.js","sourceRoot":"","sources":["../../src/controller-loaders/bundle-builder.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,9 @@ export declare const schema: {
23
23
  source: {
24
24
  type: string;
25
25
  };
26
+ integrity: {
27
+ type: string;
28
+ };
26
29
  variables: {
27
30
  type: string;
28
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"import-controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/module/import-controller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAI1E,wBAAsB,MAAM,CAC1B,QAAQ,EAAE,GAAG,EACb,GAAG,EAAE,wBAAwB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAqR3B;AAmCD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyBlB,CAAC"}
1
+ {"version":3,"file":"import-controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/module/import-controller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAI1E,wBAAsB,MAAM,CAC1B,QAAQ,EAAE,GAAG,EACb,GAAG,EAAE,wBAAwB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAyR3B;AAmCD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BlB,CAAC"}
@@ -1,10 +1,14 @@
1
- import { AnalysisRegistry, DiagnosticSeverity, parseExportEntry, StaticAnalyzer } from "@telorun/analyzer";
1
+ import { AnalysisRegistry, DiagnosticSeverity, foldIntegrity, parseExportEntry, StaticAnalyzer } from "@telorun/analyzer";
2
2
  import { RuntimeError } from "@telorun/sdk";
3
3
  import { ModuleContext } from "../../module-context.js";
4
4
  import { isDefaultPolicy, normalizeRuntime } from "../../runtime-registry.js";
5
5
  export async function create(resource, ctx) {
6
6
  const alias = resource.metadata.name;
7
- const moduleSource = resource.module ?? resource.source;
7
+ const rawSource = resource.module ?? resource.source;
8
+ // A directly-authored Telo.Import may carry integrity as a sibling field;
9
+ // fold it into the ref as a `#sha256-...` fragment (the desugared inline
10
+ // imports already inline it) so the source chain verifies the fetched bytes.
11
+ const moduleSource = foldIntegrity(rawSource, resource.integrity);
8
12
  // Resolve relative source paths against the manifest's OWN file URL (stamped onto
9
13
  // `metadata.source` by the loader), not the parent module context's source. When a
10
14
  // Telo.Library imports another library via a relative path, that path is written
@@ -263,6 +267,7 @@ export const schema = {
263
267
  additionalProperties: true,
264
268
  },
265
269
  source: { type: "string" },
270
+ integrity: { type: "string" },
266
271
  variables: { type: "object" },
267
272
  secrets: { type: "object" },
268
273
  runtime: {
@@ -1 +1 @@
1
- {"version":3,"file":"import-controller.js","sourceRoot":"","sources":["../../../src/controllers/module/import-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import-controller.js","sourceRoot":"","sources":["../../../src/controllers/module/import-controller.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { LoadedGraph, ManifestSource } from "@telorun/analyzer";
1
+ import { type LoadedGraph, type ManifestSource } from "@telorun/analyzer";
2
2
  /**
3
3
  * Reads previously-cached manifest YAMLs from `<entry-dir>/.telo/manifests/`.
4
4
  * Sits ahead of `RegistrySource` / `HttpSource` in the source chain — a hit
@@ -1 +1 @@
1
- {"version":3,"file":"local-manifest-cache-source.d.ts","sourceRoot":"","sources":["../../src/manifest-sources/local-manifest-cache-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AA8HrE;;;;;;GAMG;AACH,qBAAa,wBAAyB,YAAW,cAAc;IAC7D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAGnC,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,MAA6B,EAC1C,YAAY,CAAC,EAAE,MAAM;IASvB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIxB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAWlE,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IASvD,OAAO,CAAC,MAAM;CAYf;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,GAAG,IAAI,CAGf;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,MAA6B,EAC1C,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,EAAE,CAAC,CAoBnB;AAED;;;;iFAIiF;AACjF,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgBhE;AAED;;;;;;;;cAQc;AACd,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKjE"}
1
+ {"version":3,"file":"local-manifest-cache-source.d.ts","sourceRoot":"","sources":["../../src/manifest-sources/local-manifest-cache-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAiI3G;;;;;;GAMG;AACH,qBAAa,wBAAyB,YAAW,cAAc;IAC7D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAGnC,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,MAA6B,EAC1C,YAAY,CAAC,EAAE,MAAM;IASvB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIxB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAoBlE,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IASvD,OAAO,CAAC,MAAM;CAYf;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,GAAG,IAAI,CAGf;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,MAA6B,EAC1C,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,EAAE,CAAC,CAoBnB;AAED;;;;iFAIiF;AACjF,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgBhE;AAED;;;;;;;;cAQc;AACd,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKjE"}
@@ -1,3 +1,4 @@
1
+ import { splitIntegrity, verifyIntegrity } from "@telorun/analyzer";
1
2
  import { createHash } from "crypto";
2
3
  import { statSync } from "fs";
3
4
  import * as fs from "fs/promises";
@@ -57,7 +58,10 @@ function disambiguatePath(pathname, search, hash) {
57
58
  *
58
59
  * Returns `null` for unsupported URLs (file://, memory://, relative paths)
59
60
  * or for path-traversal attempts that would escape `cacheRoot`. */
60
- function cachePathForUrl(url, cacheRoot, registryUrl) {
61
+ function cachePathForUrl(rawUrl, cacheRoot, registryUrl) {
62
+ // Strip any inline integrity fragment so the cache path is derived from the
63
+ // bare ref/URL — the hash never participates in on-disk keying.
64
+ const url = splitIntegrity(rawUrl).base;
61
65
  const trimmedRegistry = registryUrl.replace(/\/+$/, "");
62
66
  // 1. Registry ref form: namespace/name@version
63
67
  if (!url.startsWith("http://") &&
@@ -133,6 +137,15 @@ export class LocalManifestCacheSource {
133
137
  if (!mapped) {
134
138
  throw new Error(`LocalManifestCacheSource does not support '${url}' (cache miss or unsupported scheme)`);
135
139
  }
140
+ // Verify the cached bytes against the import's inline hash before serving.
141
+ // A mismatch is a terminal error — a poisoned cache must never be trusted,
142
+ // and unlike the compiled-validator cache this is not a self-healing miss.
143
+ const { integrity } = splitIntegrity(url);
144
+ if (integrity) {
145
+ const bytes = await fs.readFile(mapped);
146
+ await verifyIntegrity(new Uint8Array(bytes), integrity, splitIntegrity(url).base);
147
+ return { text: bytes.toString("utf-8"), source: pathToFileURL(mapped).href };
148
+ }
136
149
  const text = await fs.readFile(mapped, "utf-8");
137
150
  return { text, source: pathToFileURL(mapped).href };
138
151
  }
@@ -1 +1 @@
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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"}
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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telorun/kernel",
3
- "version": "0.40.2",
3
+ "version": "0.42.0",
4
4
  "description": "Telo Runtime - A lightweight, polyglot execution host.",
5
5
  "keywords": [
6
6
  "telo",
@@ -47,7 +47,7 @@
47
47
  "dependencies": {
48
48
  "@marcbachmann/cel-js": "^7.6.1",
49
49
  "@sinclair/typebox": "^0.34.48",
50
- "@telorun/analyzer": "0.31.0",
50
+ "@telorun/analyzer": "0.32.0",
51
51
  "@telorun/glob": "0.2.0",
52
52
  "@telorun/templating": "0.10.0",
53
53
  "ajv": "^8.17.1",
@@ -59,7 +59,7 @@
59
59
  "@types/node": "^20.0.0",
60
60
  "typescript": "^5.0.0",
61
61
  "vitest": "^2.1.8",
62
- "@telorun/sdk": "0.38.0"
62
+ "@telorun/sdk": "0.41.0"
63
63
  },
64
64
  "optionalDependencies": {
65
65
  "esbuild": "^0.28.1"
@@ -45,6 +45,12 @@ function sanitize(s: string): string {
45
45
  return s.replace(/[^a-zA-Z0-9._-]/g, "_");
46
46
  }
47
47
 
48
+ /** Extensions of a package's own relative modules that are externalized (kept a
49
+ * single loose copy) rather than inlined per controller bundle. TS extensions
50
+ * are included because published modules are loaded from their `src/*.ts` under
51
+ * a TS-aware runtime (Bun), so the shared `.ts` file must keep one identity. */
52
+ const EXTERNALIZABLE_EXTENSIONS = new Set([".js", ".mjs", ".cjs", ".ts", ".mts", ".cts"]);
53
+
48
54
  async function realpathOrNull(p: string): Promise<string | null> {
49
55
  try {
50
56
  return await fs.realpath(p);
@@ -58,6 +64,20 @@ function isUnder(child: string, parent: string): boolean {
58
64
  return rel === "" || (!rel.startsWith("..") && !path.isAbsolute(rel));
59
65
  }
60
66
 
67
+ /** Directory of the nearest `package.json` at or above `entryFile` — the
68
+ * controller's own installed package root. Used to scope which relative imports
69
+ * are the package's OWN modules (externalized to stay shared) versus a bundled
70
+ * dependency's internals (inlined). Null if none is found. */
71
+ async function packageRootOf(entryFile: string): Promise<string | null> {
72
+ let dir = path.dirname(entryFile);
73
+ for (;;) {
74
+ if (await pathExists(path.join(dir, "package.json"))) return dir;
75
+ const parent = path.dirname(dir);
76
+ if (parent === dir) return null;
77
+ dir = parent;
78
+ }
79
+ }
80
+
61
81
  const typeModuleCache = new Map<string, boolean>();
62
82
 
63
83
  /** Whether `entryFile` is an ES module: `.mjs` / non-`.js` (e.g. `.ts`) yes,
@@ -215,7 +235,7 @@ async function buildBundle(bundleFile: string, entryFile: string): Promise<strin
215
235
  platform: "node",
216
236
  logLevel: "silent",
217
237
  write: false,
218
- plugins: [nativeExternalsPlugin()],
238
+ plugins: [nativeExternalsPlugin(path.dirname(bundleFile), await packageRootOf(entryFile))],
219
239
  });
220
240
  const out = result.outputFiles?.[0];
221
241
  if (!out) return null;
@@ -260,7 +280,7 @@ async function buildBundle(bundleFile: string, entryFile: string): Promise<strin
260
280
  * as it would loose (the controller's own try/catch handles the absence).
261
281
  * Everything else (the controller's own files + third-party JS) inlines.
262
282
  */
263
- function nativeExternalsPlugin(): import("esbuild").Plugin {
283
+ function nativeExternalsPlugin(bundleDir: string, pkgRoot: string | null): import("esbuild").Plugin {
264
284
  const realm = new Set(REALM_COLLAPSE_NAMES);
265
285
  const decided = new Map<string, boolean>();
266
286
  return {
@@ -268,6 +288,56 @@ function nativeExternalsPlugin(): import("esbuild").Plugin {
268
288
  setup(build) {
269
289
  // A direct `.node` binary import can never be bundled.
270
290
  build.onResolve({ filter: /\.node$/ }, () => ({ external: true }));
291
+ // Keep the controller PACKAGE's OWN modules loose (its relative imports)
292
+ // rather than inlining them. A package's controllers are bundled per-entry
293
+ // (one bundle per `create`/`register` file), so inlining a shared relative
294
+ // module (e.g. a class definition plus process-local state used by several
295
+ // controllers) would give EACH controller bundle a private copy:
296
+ // `instanceof` across the package's controllers fails and shared state
297
+ // splits. Externalizing leaves the module a loose file, so Node loads one
298
+ // shared copy across every controller of the package — the intra-package
299
+ // analogue of the `@telorun/*` realm externalization below. Bundling still
300
+ // collapses the `node_modules` tree (the cold-start target).
301
+ //
302
+ // Scope is deliberate: ONLY the controller package's own files, resolved to
303
+ // a real, runtime-loadable JS file, are externalized.
304
+ // - A relative import inside an inlined `node_modules` dependency stays
305
+ // bundled — its path isn't relative to our bundle, and it's not a
306
+ // cross-controller shared module (`pkgRoot` gate).
307
+ // - We externalize the RESOLVED file, not the source specifier, because a
308
+ // compiled `./x.js` may not be a valid Node-ESM path on its own
309
+ // (extension / index / `../shared` layout esbuild resolves but Node
310
+ // doesn't); a non-JS target (a `.ts` source with no built `.js`) is left
311
+ // to inline so esbuild transpiles it rather than emitting an unloadable
312
+ // import. `pluginData` guards recursion into our own resolver.
313
+ build.onResolve({ filter: /^\.\.?(\/|$)/ }, async (args) => {
314
+ if (!pkgRoot || args.kind === "entry-point") return null;
315
+ if ((args.pluginData as { teloResolving?: boolean } | undefined)?.teloResolving) return null;
316
+ const resolved = await build.resolve(args.path, {
317
+ kind: args.kind,
318
+ resolveDir: args.resolveDir,
319
+ importer: args.importer,
320
+ pluginData: { teloResolving: true },
321
+ });
322
+ if (resolved.errors.length > 0 || !resolved.path || resolved.namespace !== "file") {
323
+ return null; // unresolvable / virtual module → inline (esbuild default)
324
+ }
325
+ // Own-package file only: under pkgRoot and not inside a nested dependency.
326
+ const relToPkg = path.relative(pkgRoot, resolved.path);
327
+ if (relToPkg.startsWith("..") || path.isAbsolute(relToPkg)) return null;
328
+ if (relToPkg.split(path.sep).includes("node_modules")) return null;
329
+ // Must be a runtime-loadable module; otherwise inline (transpile). The
330
+ // loose file is loaded by the SAME runtime as this bundle — and a package
331
+ // shipped as `.ts` source (loaded via Bun) has `.ts` entries, so a `.ts`
332
+ // sibling resolves for that runtime too. TS extensions MUST be
333
+ // externalized, not inlined: inlining gives each controller its own copy
334
+ // of a shared module (e.g. record-stream's `journal-store`), splitting
335
+ // `instanceof` / process-local state across the package's controllers.
336
+ const ext = path.extname(resolved.path).toLowerCase();
337
+ if (!EXTERNALIZABLE_EXTENSIONS.has(ext)) return null;
338
+ const rel = path.relative(bundleDir, resolved.path).split(path.sep).join("/");
339
+ return { path: rel.startsWith(".") ? rel : `./${rel}`, external: true };
340
+ });
271
341
  // Bare specifiers only (paths starting with `.` or `/` are relative/absolute).
272
342
  build.onResolve({ filter: /^[^./]/ }, async (args) => {
273
343
  if (path.isAbsolute(args.path)) return null;
@@ -1,4 +1,4 @@
1
- import { AnalysisRegistry, DiagnosticSeverity, parseExportEntry, StaticAnalyzer } from "@telorun/analyzer";
1
+ import { AnalysisRegistry, DiagnosticSeverity, foldIntegrity, parseExportEntry, StaticAnalyzer } from "@telorun/analyzer";
2
2
  import type { ResourceInstance } from "@telorun/sdk";
3
3
  import { RuntimeError } from "@telorun/sdk";
4
4
  import type { BuiltinControllerContext } from "../../internal-context.js";
@@ -11,7 +11,11 @@ export async function create(
11
11
  ): Promise<ResourceInstance> {
12
12
  const alias = resource.metadata.name as string;
13
13
 
14
- const moduleSource: string = resource.module ?? resource.source;
14
+ const rawSource: string = resource.module ?? resource.source;
15
+ // A directly-authored Telo.Import may carry integrity as a sibling field;
16
+ // fold it into the ref as a `#sha256-...` fragment (the desugared inline
17
+ // imports already inline it) so the source chain verifies the fetched bytes.
18
+ const moduleSource: string = foldIntegrity(rawSource, resource.integrity);
15
19
 
16
20
  // Resolve relative source paths against the manifest's OWN file URL (stamped onto
17
21
  // `metadata.source` by the loader), not the parent module context's source. When a
@@ -334,6 +338,7 @@ export const schema = {
334
338
  additionalProperties: true,
335
339
  },
336
340
  source: { type: "string" },
341
+ integrity: { type: "string" },
337
342
  variables: { type: "object" },
338
343
  secrets: { type: "object" },
339
344
  runtime: {
@@ -1,4 +1,4 @@
1
- import type { LoadedGraph, ManifestSource } from "@telorun/analyzer";
1
+ import { splitIntegrity, verifyIntegrity, type LoadedGraph, type ManifestSource } from "@telorun/analyzer";
2
2
  import { createHash } from "crypto";
3
3
  import { statSync } from "fs";
4
4
  import * as fs from "fs/promises";
@@ -63,10 +63,13 @@ function disambiguatePath(pathname: string, search: string, hash: string): strin
63
63
  * Returns `null` for unsupported URLs (file://, memory://, relative paths)
64
64
  * or for path-traversal attempts that would escape `cacheRoot`. */
65
65
  function cachePathForUrl(
66
- url: string,
66
+ rawUrl: string,
67
67
  cacheRoot: string,
68
68
  registryUrl: string,
69
69
  ): string | null {
70
+ // Strip any inline integrity fragment so the cache path is derived from the
71
+ // bare ref/URL — the hash never participates in on-disk keying.
72
+ const url = splitIntegrity(rawUrl).base;
70
73
  const trimmedRegistry = registryUrl.replace(/\/+$/, "");
71
74
 
72
75
  // 1. Registry ref form: namespace/name@version
@@ -158,6 +161,15 @@ export class LocalManifestCacheSource implements ManifestSource {
158
161
  `LocalManifestCacheSource does not support '${url}' (cache miss or unsupported scheme)`,
159
162
  );
160
163
  }
164
+ // Verify the cached bytes against the import's inline hash before serving.
165
+ // A mismatch is a terminal error — a poisoned cache must never be trusted,
166
+ // and unlike the compiled-validator cache this is not a self-healing miss.
167
+ const { integrity } = splitIntegrity(url);
168
+ if (integrity) {
169
+ const bytes = await fs.readFile(mapped);
170
+ await verifyIntegrity(new Uint8Array(bytes), integrity, splitIntegrity(url).base);
171
+ return { text: bytes.toString("utf-8"), source: pathToFileURL(mapped).href };
172
+ }
161
173
  const text = await fs.readFile(mapped, "utf-8");
162
174
  return { text, source: pathToFileURL(mapped).href };
163
175
  }