@telorun/kernel 0.40.2 → 0.41.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":"AAwHA;;;;;;;;;;;;GAYG;AACH,wBAAsB,wBAAwB,CAC5C,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAuCxB"}
@@ -52,6 +52,21 @@ function isUnder(child, parent) {
52
52
  const rel = path.relative(parent, child);
53
53
  return rel === "" || (!rel.startsWith("..") && !path.isAbsolute(rel));
54
54
  }
55
+ /** Directory of the nearest `package.json` at or above `entryFile` — the
56
+ * controller's own installed package root. Used to scope which relative imports
57
+ * are the package's OWN modules (externalized to stay shared) versus a bundled
58
+ * dependency's internals (inlined). Null if none is found. */
59
+ async function packageRootOf(entryFile) {
60
+ let dir = path.dirname(entryFile);
61
+ for (;;) {
62
+ if (await pathExists(path.join(dir, "package.json")))
63
+ return dir;
64
+ const parent = path.dirname(dir);
65
+ if (parent === dir)
66
+ return null;
67
+ dir = parent;
68
+ }
69
+ }
55
70
  const typeModuleCache = new Map();
56
71
  /** Whether `entryFile` is an ES module: `.mjs` / non-`.js` (e.g. `.ts`) yes,
57
72
  * `.cjs` no, `.js` per the nearest `package.json` `"type"`. */
@@ -200,7 +215,7 @@ async function buildBundle(bundleFile, entryFile) {
200
215
  platform: "node",
201
216
  logLevel: "silent",
202
217
  write: false,
203
- plugins: [nativeExternalsPlugin()],
218
+ plugins: [nativeExternalsPlugin(path.dirname(bundleFile), await packageRootOf(entryFile))],
204
219
  });
205
220
  const out = result.outputFiles?.[0];
206
221
  if (!out)
@@ -244,7 +259,7 @@ async function buildBundle(bundleFile, entryFile) {
244
259
  * as it would loose (the controller's own try/catch handles the absence).
245
260
  * Everything else (the controller's own files + third-party JS) inlines.
246
261
  */
247
- function nativeExternalsPlugin() {
262
+ function nativeExternalsPlugin(bundleDir, pkgRoot) {
248
263
  const realm = new Set(REALM_COLLAPSE_NAMES);
249
264
  const decided = new Map();
250
265
  return {
@@ -252,6 +267,55 @@ function nativeExternalsPlugin() {
252
267
  setup(build) {
253
268
  // A direct `.node` binary import can never be bundled.
254
269
  build.onResolve({ filter: /\.node$/ }, () => ({ external: true }));
270
+ // Keep the controller PACKAGE's OWN modules loose (its relative imports)
271
+ // rather than inlining them. A package's controllers are bundled per-entry
272
+ // (one bundle per `create`/`register` file), so inlining a shared relative
273
+ // module (e.g. a class definition plus process-local state used by several
274
+ // controllers) would give EACH controller bundle a private copy:
275
+ // `instanceof` across the package's controllers fails and shared state
276
+ // splits. Externalizing leaves the module a loose file, so Node loads one
277
+ // shared copy across every controller of the package — the intra-package
278
+ // analogue of the `@telorun/*` realm externalization below. Bundling still
279
+ // collapses the `node_modules` tree (the cold-start target).
280
+ //
281
+ // Scope is deliberate: ONLY the controller package's own files, resolved to
282
+ // a real, runtime-loadable JS file, are externalized.
283
+ // - A relative import inside an inlined `node_modules` dependency stays
284
+ // bundled — its path isn't relative to our bundle, and it's not a
285
+ // cross-controller shared module (`pkgRoot` gate).
286
+ // - We externalize the RESOLVED file, not the source specifier, because a
287
+ // compiled `./x.js` may not be a valid Node-ESM path on its own
288
+ // (extension / index / `../shared` layout esbuild resolves but Node
289
+ // doesn't); a non-JS target (a `.ts` source with no built `.js`) is left
290
+ // to inline so esbuild transpiles it rather than emitting an unloadable
291
+ // import. `pluginData` guards recursion into our own resolver.
292
+ build.onResolve({ filter: /^\.\.?(\/|$)/ }, async (args) => {
293
+ if (!pkgRoot || args.kind === "entry-point")
294
+ return null;
295
+ if (args.pluginData?.teloResolving)
296
+ return null;
297
+ const resolved = await build.resolve(args.path, {
298
+ kind: args.kind,
299
+ resolveDir: args.resolveDir,
300
+ importer: args.importer,
301
+ pluginData: { teloResolving: true },
302
+ });
303
+ if (resolved.errors.length > 0 || !resolved.path || resolved.namespace !== "file") {
304
+ return null; // unresolvable / virtual module → inline (esbuild default)
305
+ }
306
+ // Own-package file only: under pkgRoot and not inside a nested dependency.
307
+ const relToPkg = path.relative(pkgRoot, resolved.path);
308
+ if (relToPkg.startsWith("..") || path.isAbsolute(relToPkg))
309
+ return null;
310
+ if (relToPkg.split(path.sep).includes("node_modules"))
311
+ return null;
312
+ // Must be a runtime-loadable JS file; otherwise inline (transpile).
313
+ const ext = path.extname(resolved.path).toLowerCase();
314
+ if (ext !== ".js" && ext !== ".mjs" && ext !== ".cjs")
315
+ return null;
316
+ const rel = path.relative(bundleDir, resolved.path).split(path.sep).join("/");
317
+ return { path: rel.startsWith(".") ? rel : `./${rel}`, external: true };
318
+ });
255
319
  // Bare specifiers only (paths starting with `.` or `/` are relative/absolute).
256
320
  build.onResolve({ filter: /^[^./]/ }, async (args) => {
257
321
  if (path.isAbsolute(args.path))
@@ -1 +1 @@
1
- {"version":3,"file":"bundle-builder.js","sourceRoot":"","sources":["../../src/controller-loaders/bundle-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,aAAa,GAAG,cAAc,CAAC;AAErC,SAAS,eAAe;IACtB,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC,sBAAsB,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACjE,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;AACpE,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,CAAS;IACjC,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS;IACzB,OAAO,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,CAAS;IACrC,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,KAAa,EAAE,MAAc;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzC,OAAO,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,eAAe,GAAG,IAAI,GAAG,EAAmB,CAAC;AAEnD;gEACgE;AAChE,KAAK,UAAU,UAAU,CAAC,SAAiB;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;IAClD,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IACjC,IAAI,GAAG,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC,CAAC,oCAAoC;IACpE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACxC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,CAAC,GAAG,GAAG,CAAC;IACZ,SAAS,CAAC;QACR,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QACxC,IAAI,MAAM,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;YACzE,CAAC;YAAC,MAAM,CAAC;gBACP,4DAA4D;YAC9D,CAAC;YACD,MAAM;QACR,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,MAAM,KAAK,CAAC;YAAE,MAAM;QACxB,CAAC,GAAG,MAAM,CAAC;IACb,CAAC;IACD,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACnC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;iEAEiE;AACjE,IAAI,aAA0D,CAAC;AAC/D,KAAK,UAAU,WAAW;IACxB,IAAI,aAAa,KAAK,SAAS;QAAE,OAAO,aAAa,CAAC;IACtD,IAAI,CAAC;QACH,aAAa,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,WAAmB,EACnB,SAAiB;IAEjB,IAAI,CAAC,eAAe,EAAE;QAAE,OAAO,IAAI,CAAC;IAEpC,gFAAgF;IAChF,8EAA8E;IAC9E,8EAA8E;IAC9E,2EAA2E;IAC3E,8EAA8E;IAC9E,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC;IACnD,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1E,8EAA8E;IAC9E,6EAA6E;IAC7E,6EAA6E;IAC7E,8EAA8E;IAC9E,6EAA6E;IAC7E,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhD,6EAA6E;IAC7E,wEAAwE;IACxE,wDAAwD;IACxD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAC1B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EACvB,GAAG,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,CAC5D,CAAC;IAEF,IAAI,MAAM,kBAAkB,CAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IAE5D,2EAA2E;IAC3E,+EAA+E;IAC/E,+DAA+D;IAC/D,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAC3D,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAClC,CAAC;IACF,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACrC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkC,CAAC;AACjE,IAAI,UAAU,GAAG,CAAC,CAAC;AAEnB;;;;UAIU;AACV,MAAM,YAAY,GAAG,gDAAgD,CAAC;AAEtE;;;;sDAIsD;AACtD,MAAM,cAAc,GAClB,uEAAuE;IACvE,yDAAyD,CAAC;AAE5D;;;;2DAI2D;AAC3D,KAAK,UAAU,kBAAkB,CAAC,UAAkB;IAClD,IAAI,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5F,MAAM,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACzD,MAAM,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACnE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,QAAQ,CAAC,UAAkB;IAClC,OAAO,GAAG,UAAU,KAAK,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,UAAkB,EAAE,SAAiB;IAC9D,IAAI,MAAM,kBAAkB,CAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IAE5D,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC;IACpC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC,CAAC,uCAAuC;IAElE,0EAA0E;IAC1E,2EAA2E;IAC3E,uDAAuD;IACvD,MAAM,OAAO,GAAG,GAAG,UAAU,IAAI,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,MAAM,CAAC;IACnE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC;YACjC,WAAW,EAAE,CAAC,SAAS,CAAC;YACxB,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,CAAC,qBAAqB,EAAE,CAAC;SACnC,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,0EAA0E;QAC1E,kEAAkE;QAClE,qEAAqE;QACrE,4EAA4E;QAC5E,wEAAwE;QACxE,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,IAAI,OAAO,EAAE,CAAC,iBAAiB,EAAE,CAAC;gBAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,SAAS,yCAAyC,CAAC,CAAC;YAC/F,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACrC,4EAA4E;QAC5E,uEAAuE;QACvE,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC7D,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,OAAO,EAAE,CAAC,iBAAiB,EAAE,CAAC;YAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,oBAAoB,SAAS,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CACtG,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,CAAC,yCAAyC;IACxD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,qBAAqB;IAC5B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC3C,OAAO;QACL,IAAI,EAAE,uBAAuB;QAC7B,KAAK,CAAC,KAAK;YACT,uDAAuD;YACvD,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACnE,+EAA+E;YAC/E,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACnD,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAC5C,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClC,yEAAyE;gBACzE,sEAAsE;gBACtE,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;oBACvE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBAC5B,CAAC;gBACD,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBACpD,IAAI,CAAC,MAAM;oBAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,yCAAyC;gBACjF,IAAI,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACnC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;oBACtC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAChC,CAAC;gBACD,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9C,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED,qFAAqF;AACrF,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,2EAA2E;AAC3E,SAAS,cAAc,CAAC,OAAe,EAAE,OAAe;IACtD,IAAI,GAAG,GAAG,OAAO,CAAC;IAClB,SAAS,CAAC;QACR,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACxE,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;QACvE,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;AACH,CAAC;AAED;kEACkE;AAClE,KAAK,UAAU,YAAY,CAAC,MAAc;IACxC,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAClE,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACzE,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACpF,IAAI,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,IAAI,OAAO,CAAC,OAAO,IAAI,EAAE,IAAI,OAAO,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;QACvG,IAAI,gEAAgE,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO,IAAI,CAAC;IACrG,CAAC;IAAC,MAAM,CAAC;QACP,8EAA8E;IAChF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"bundle-builder.js","sourceRoot":"","sources":["../../src/controller-loaders/bundle-builder.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.41.0",
4
4
  "description": "Telo Runtime - A lightweight, polyglot execution host.",
5
5
  "keywords": [
6
6
  "telo",
@@ -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"
@@ -58,6 +58,20 @@ function isUnder(child: string, parent: string): boolean {
58
58
  return rel === "" || (!rel.startsWith("..") && !path.isAbsolute(rel));
59
59
  }
60
60
 
61
+ /** Directory of the nearest `package.json` at or above `entryFile` — the
62
+ * controller's own installed package root. Used to scope which relative imports
63
+ * are the package's OWN modules (externalized to stay shared) versus a bundled
64
+ * dependency's internals (inlined). Null if none is found. */
65
+ async function packageRootOf(entryFile: string): Promise<string | null> {
66
+ let dir = path.dirname(entryFile);
67
+ for (;;) {
68
+ if (await pathExists(path.join(dir, "package.json"))) return dir;
69
+ const parent = path.dirname(dir);
70
+ if (parent === dir) return null;
71
+ dir = parent;
72
+ }
73
+ }
74
+
61
75
  const typeModuleCache = new Map<string, boolean>();
62
76
 
63
77
  /** Whether `entryFile` is an ES module: `.mjs` / non-`.js` (e.g. `.ts`) yes,
@@ -215,7 +229,7 @@ async function buildBundle(bundleFile: string, entryFile: string): Promise<strin
215
229
  platform: "node",
216
230
  logLevel: "silent",
217
231
  write: false,
218
- plugins: [nativeExternalsPlugin()],
232
+ plugins: [nativeExternalsPlugin(path.dirname(bundleFile), await packageRootOf(entryFile))],
219
233
  });
220
234
  const out = result.outputFiles?.[0];
221
235
  if (!out) return null;
@@ -260,7 +274,7 @@ async function buildBundle(bundleFile: string, entryFile: string): Promise<strin
260
274
  * as it would loose (the controller's own try/catch handles the absence).
261
275
  * Everything else (the controller's own files + third-party JS) inlines.
262
276
  */
263
- function nativeExternalsPlugin(): import("esbuild").Plugin {
277
+ function nativeExternalsPlugin(bundleDir: string, pkgRoot: string | null): import("esbuild").Plugin {
264
278
  const realm = new Set(REALM_COLLAPSE_NAMES);
265
279
  const decided = new Map<string, boolean>();
266
280
  return {
@@ -268,6 +282,50 @@ function nativeExternalsPlugin(): import("esbuild").Plugin {
268
282
  setup(build) {
269
283
  // A direct `.node` binary import can never be bundled.
270
284
  build.onResolve({ filter: /\.node$/ }, () => ({ external: true }));
285
+ // Keep the controller PACKAGE's OWN modules loose (its relative imports)
286
+ // rather than inlining them. A package's controllers are bundled per-entry
287
+ // (one bundle per `create`/`register` file), so inlining a shared relative
288
+ // module (e.g. a class definition plus process-local state used by several
289
+ // controllers) would give EACH controller bundle a private copy:
290
+ // `instanceof` across the package's controllers fails and shared state
291
+ // splits. Externalizing leaves the module a loose file, so Node loads one
292
+ // shared copy across every controller of the package — the intra-package
293
+ // analogue of the `@telorun/*` realm externalization below. Bundling still
294
+ // collapses the `node_modules` tree (the cold-start target).
295
+ //
296
+ // Scope is deliberate: ONLY the controller package's own files, resolved to
297
+ // a real, runtime-loadable JS file, are externalized.
298
+ // - A relative import inside an inlined `node_modules` dependency stays
299
+ // bundled — its path isn't relative to our bundle, and it's not a
300
+ // cross-controller shared module (`pkgRoot` gate).
301
+ // - We externalize the RESOLVED file, not the source specifier, because a
302
+ // compiled `./x.js` may not be a valid Node-ESM path on its own
303
+ // (extension / index / `../shared` layout esbuild resolves but Node
304
+ // doesn't); a non-JS target (a `.ts` source with no built `.js`) is left
305
+ // to inline so esbuild transpiles it rather than emitting an unloadable
306
+ // import. `pluginData` guards recursion into our own resolver.
307
+ build.onResolve({ filter: /^\.\.?(\/|$)/ }, async (args) => {
308
+ if (!pkgRoot || args.kind === "entry-point") return null;
309
+ if ((args.pluginData as { teloResolving?: boolean } | undefined)?.teloResolving) return null;
310
+ const resolved = await build.resolve(args.path, {
311
+ kind: args.kind,
312
+ resolveDir: args.resolveDir,
313
+ importer: args.importer,
314
+ pluginData: { teloResolving: true },
315
+ });
316
+ if (resolved.errors.length > 0 || !resolved.path || resolved.namespace !== "file") {
317
+ return null; // unresolvable / virtual module → inline (esbuild default)
318
+ }
319
+ // Own-package file only: under pkgRoot and not inside a nested dependency.
320
+ const relToPkg = path.relative(pkgRoot, resolved.path);
321
+ if (relToPkg.startsWith("..") || path.isAbsolute(relToPkg)) return null;
322
+ if (relToPkg.split(path.sep).includes("node_modules")) return null;
323
+ // Must be a runtime-loadable JS file; otherwise inline (transpile).
324
+ const ext = path.extname(resolved.path).toLowerCase();
325
+ if (ext !== ".js" && ext !== ".mjs" && ext !== ".cjs") return null;
326
+ const rel = path.relative(bundleDir, resolved.path).split(path.sep).join("/");
327
+ return { path: rel.startsWith(".") ? rel : `./${rel}`, external: true };
328
+ });
271
329
  // Bare specifiers only (paths starting with `.` or `/` are relative/absolute).
272
330
  build.onResolve({ filter: /^[^./]/ }, async (args) => {
273
331
  if (path.isAbsolute(args.path)) return null;