@nimbus-sh/worker 0.4.0 → 0.5.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.
Files changed (83) hide show
  1. package/README.md +46 -43
  2. package/dist/_shared/preview-host.d.ts +14 -1
  3. package/dist/_shared/preview-host.d.ts.map +1 -1
  4. package/dist/_shared/preview-host.js +28 -3
  5. package/dist/_shared/session-router.d.ts +43 -0
  6. package/dist/_shared/session-router.d.ts.map +1 -1
  7. package/dist/_shared/session-router.js +59 -12
  8. package/dist/facets/durable-images.d.ts +50 -0
  9. package/dist/facets/durable-images.d.ts.map +1 -0
  10. package/dist/facets/durable-images.js +75 -0
  11. package/dist/facets/durable-slots.d.ts +45 -0
  12. package/dist/facets/durable-slots.d.ts.map +1 -0
  13. package/dist/facets/durable-slots.js +94 -0
  14. package/dist/facets/esbuild-transform.d.ts +10 -0
  15. package/dist/facets/esbuild-transform.d.ts.map +1 -0
  16. package/dist/facets/esbuild-transform.js +36 -0
  17. package/dist/facets/manager.d.ts +160 -5
  18. package/dist/facets/manager.d.ts.map +1 -1
  19. package/dist/facets/manager.js +554 -97
  20. package/dist/git/commands.d.ts +22 -0
  21. package/dist/git/commands.d.ts.map +1 -1
  22. package/dist/git/commands.js +431 -424
  23. package/dist/git-bundle.generated.d.ts +2 -2
  24. package/dist/git-bundle.generated.d.ts.map +1 -1
  25. package/dist/git-bundle.generated.js +3 -3
  26. package/dist/index.d.ts +2 -1
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +2 -1
  29. package/dist/node-shims-artifact.generated.js +3 -3
  30. package/dist/router/index.d.ts.map +1 -1
  31. package/dist/router/index.js +59 -2
  32. package/dist/router/public-directory-do.d.ts +17 -0
  33. package/dist/router/public-directory-do.d.ts.map +1 -0
  34. package/dist/router/public-directory-do.js +16 -0
  35. package/dist/router/public-directory.d.ts +75 -0
  36. package/dist/router/public-directory.d.ts.map +1 -0
  37. package/dist/router/public-directory.js +115 -0
  38. package/dist/router/remote-api.d.ts +9 -1
  39. package/dist/router/remote-api.d.ts.map +1 -1
  40. package/dist/router/remote-api.js +19 -2
  41. package/dist/runtime/node-shims.d.ts +4 -1
  42. package/dist/runtime/node-shims.d.ts.map +1 -1
  43. package/dist/runtime/node-shims.js +324 -6
  44. package/dist/session/agent.d.ts +11 -0
  45. package/dist/session/agent.d.ts.map +1 -1
  46. package/dist/session/helpers.js +1 -1
  47. package/dist/session/init-phases.d.ts +17 -23
  48. package/dist/session/init-phases.d.ts.map +1 -1
  49. package/dist/session/init-phases.js +17 -41
  50. package/dist/session/init.d.ts.map +1 -1
  51. package/dist/session/init.js +19 -15
  52. package/dist/session/keys.d.ts +8 -0
  53. package/dist/session/keys.d.ts.map +1 -1
  54. package/dist/session/keys.js +8 -0
  55. package/dist/session/nimbus-session.d.ts +29 -4
  56. package/dist/session/nimbus-session.d.ts.map +1 -1
  57. package/dist/session/nimbus-session.js +62 -9
  58. package/dist/session/port-capability.d.ts +95 -8
  59. package/dist/session/port-capability.d.ts.map +1 -1
  60. package/dist/session/port-capability.js +165 -8
  61. package/dist/session/programmatic.d.ts +50 -2
  62. package/dist/session/programmatic.d.ts.map +1 -1
  63. package/dist/session/programmatic.js +104 -6
  64. package/dist/session/routes.d.ts +17 -0
  65. package/dist/session/routes.d.ts.map +1 -1
  66. package/dist/session/routes.js +92 -25
  67. package/dist/session/rpc.d.ts.map +1 -1
  68. package/dist/session/rpc.js +14 -4
  69. package/dist/session/shell-socket.d.ts +76 -0
  70. package/dist/session/shell-socket.d.ts.map +1 -0
  71. package/dist/session/shell-socket.js +172 -0
  72. package/dist/session/start-real-vite.js +1 -1
  73. package/dist/session/supervisor-op.d.ts +5 -0
  74. package/dist/session/supervisor-op.d.ts.map +1 -0
  75. package/dist/session/supervisor-op.js +74 -0
  76. package/dist/session/supervisor-rpc.d.ts +6 -10
  77. package/dist/session/supervisor-rpc.d.ts.map +1 -1
  78. package/dist/session/supervisor-rpc.js +91 -70
  79. package/dist/session/ws.d.ts.map +1 -1
  80. package/dist/session/ws.js +19 -4
  81. package/package.json +4 -4
  82. package/public/_assets/runtime/{node-shims-fea906843f6d594e.js → node-shims-9e1380d9ee430fcc.js} +320 -5
  83. package/public/s/index.html +101 -5
@@ -58,7 +58,6 @@ import { installNpmBinFallbackResolver } from '../shell/npm-bin-entrypoints.js';
58
58
  import { parseNpmInstallInvocation } from '../npm/install-args.js';
59
59
  import { npmLogEnabled } from '../npm/npm-log.js';
60
60
  import { materializeNpmBinShims } from '../npm/bin-links.js';
61
- import { registerGitCommands } from '../git/commands.js';
62
61
  import { makeNimbusVerbHandler, createRuntimeCommandHintResolver, } from '../runtime/package-manager.js';
63
62
  import { listInstalledRuntimes, rehydrateInstalledRuntimes, registerRunnerFactory, } from '@nimbus-sh/core/runtime/installed-runtimes.js';
64
63
  // Runtime factories (clang/python/ruby/bash/wasm) are imported lazily at
@@ -454,8 +453,13 @@ export async function initSession(self, ws) {
454
453
  }));
455
454
  // ── Git integration (isomorphic-git) ──
456
455
  // ctx + env are passed for clone/fetch/pull which run in a facet to avoid
457
- // exhausting the supervisor DO's CPU budget on large repos.
458
- registerGitCommands(registry, sqliteFs, self.ctx, self.env);
456
+ // exhausting the supervisor DO's CPU budget on large repos. The command
457
+ // module (+ its ~106 KB network-facet dependency) is loaded lazily on the
458
+ // first `git` invocation so it stays out of the cold script-eval graph.
459
+ registry.register('git', async (ctx) => {
460
+ const { runGitCommand } = await import('../git/commands.js');
461
+ return runGitCommand(ctx, sqliteFs, self.ctx, self.env);
462
+ });
459
463
  // ── runtime package manager: `nimbus install` package manager + runner registry.
460
464
  //
461
465
  // 1. Register the clang-runner factory FIRST so the rehydration step
@@ -689,7 +693,7 @@ export async function initSession(self, ws) {
689
693
  getEsbuild: () => {
690
694
  if (!self.esbuildService) {
691
695
  self.ensureSqliteFs();
692
- self.esbuildService = new EsbuildService(self.sqliteFs);
696
+ self.esbuildService = new EsbuildService(kernelFs);
693
697
  }
694
698
  return self.esbuildService;
695
699
  },
@@ -838,7 +842,7 @@ export async function initSession(self, ws) {
838
842
  getEsbuild: () => {
839
843
  if (!self.esbuildService) {
840
844
  self.ensureSqliteFs();
841
- self.esbuildService = new EsbuildService(self.sqliteFs);
845
+ self.esbuildService = new EsbuildService(kernelFs);
842
846
  }
843
847
  return self.esbuildService;
844
848
  },
@@ -886,7 +890,7 @@ export async function initSession(self, ws) {
886
890
  getEsbuild: () => {
887
891
  if (!self.esbuildService) {
888
892
  self.ensureSqliteFs();
889
- self.esbuildService = new EsbuildService(self.sqliteFs);
893
+ self.esbuildService = new EsbuildService(kernelFs);
890
894
  }
891
895
  return self.esbuildService;
892
896
  },
@@ -956,7 +960,7 @@ export async function initSession(self, ws) {
956
960
  // Lazy-init esbuild service
957
961
  if (!self.esbuildService) {
958
962
  self.ensureSqliteFs();
959
- self.esbuildService = new EsbuildService(self.sqliteFs);
963
+ self.esbuildService = new EsbuildService(kernelFs);
960
964
  }
961
965
  // Parse flags
962
966
  const flags = {};
@@ -1091,7 +1095,7 @@ export async function initSession(self, ws) {
1091
1095
  // Transform TS to JS
1092
1096
  if (cfgName.endsWith('.ts')) {
1093
1097
  if (!self.esbuildService)
1094
- self.esbuildService = new EsbuildService(self.sqliteFs);
1098
+ self.esbuildService = new EsbuildService(kernelFs);
1095
1099
  const t = await self.esbuildService.transform(cfgCode, { loader: 'ts', format: 'esm' });
1096
1100
  cfgCode = t.code;
1097
1101
  }
@@ -1106,7 +1110,7 @@ export async function initSession(self, ws) {
1106
1110
  // ── vite build ──
1107
1111
  if (args[0] === 'build') {
1108
1112
  if (!self.esbuildService)
1109
- self.esbuildService = new EsbuildService(self.sqliteFs);
1113
+ self.esbuildService = new EsbuildService(kernelFs);
1110
1114
  const htmlPath = cwd + '/index.html';
1111
1115
  let entryPoint = cwd + '/src/main.tsx';
1112
1116
  let origHtml = '';
@@ -1222,7 +1226,7 @@ export async function initSession(self, ws) {
1222
1226
  }
1223
1227
  // Start vite on the dist directory
1224
1228
  if (!self.esbuildService)
1225
- self.esbuildService = new EsbuildService(self.sqliteFs);
1229
+ self.esbuildService = new EsbuildService(kernelFs);
1226
1230
  if (self.viteDevServer?.isRunning)
1227
1231
  self.viteDevServer.stop();
1228
1232
  const previewBasePath = self.viteBasePath;
@@ -1395,7 +1399,7 @@ export async function initSession(self, ws) {
1395
1399
  }
1396
1400
  }
1397
1401
  if (!self.esbuildService)
1398
- self.esbuildService = new EsbuildService(self.sqliteFs);
1402
+ self.esbuildService = new EsbuildService(kernelFs);
1399
1403
  const previewBasePath = self.viteBasePath;
1400
1404
  const viteDefine = viteConfig.define;
1401
1405
  // Vite dev servers are represented as long-running process-table
@@ -1563,7 +1567,7 @@ export async function initSession(self, ws) {
1563
1567
  // Lazy-init esbuild
1564
1568
  if (!self.esbuildService) {
1565
1569
  self.ensureSqliteFs();
1566
- self.esbuildService = new EsbuildService(self.sqliteFs);
1570
+ self.esbuildService = new EsbuildService(kernelFs);
1567
1571
  }
1568
1572
  // Parse --root flag; default to the shell cwd so `npm run dev` from
1569
1573
  // a project directory picks up that project's wrangler.jsonc.
@@ -1666,7 +1670,7 @@ export async function initSession(self, ws) {
1666
1670
  kernelFs.writeFile(pkgJsonPath, '{"name":"project","version":"1.0.0","dependencies":{}}\n');
1667
1671
  }
1668
1672
  ctx.stdout.write('\x1b[36mNimbus npm v2 (batched writes)\x1b[0m\n');
1669
- self.ensureNpmInstaller((msg) => {
1673
+ await self.ensureNpmInstaller((msg) => {
1670
1674
  ctx.stdout.write('[npm] ' + msg + '\n');
1671
1675
  });
1672
1676
  const result = await self.npmInstaller.install(cwd, { packages, pid: ctx.pid });
@@ -2164,7 +2168,7 @@ export async function initSession(self, ws) {
2164
2168
  ? `${explicitPkgs.length} packages`
2165
2169
  : 'dependencies from package.json';
2166
2170
  ctx.stdout.write(`\x1b[36mInstalling ${pkgLabel} (npm v2 — batched writes)...\x1b[0m\n`);
2167
- self.ensureNpmInstaller((msg) => {
2171
+ await self.ensureNpmInstaller((msg) => {
2168
2172
  ctx.stdout.write('[npm] ' + msg + '\n');
2169
2173
  });
2170
2174
  // `--loglevel` selects npm's own log protocol on stderr, where npm
@@ -2333,7 +2337,7 @@ export async function initSession(self, ws) {
2333
2337
  }
2334
2338
  // Nimbus-native npx install + run path. Routes package installation
2335
2339
  // through NpmInstaller's full-packument resolver.
2336
- self.ensureNpmInstaller((msg) => ctx.stdout.write('[npm] ' + msg + '\n'));
2340
+ await self.ensureNpmInstaller((msg) => ctx.stdout.write('[npm] ' + msg + '\n'));
2337
2341
  self.ensureSqliteFs();
2338
2342
  const installer = self.npmInstaller;
2339
2343
  const resolveResult = await resolveNpxBinary(installer, self.sqliteFs.as(requireVfsCred('cred' in ctx ? ctx.cred : undefined, 'npx')), ctx.cwd || '/home/user', npxArgs, (msg) => ctx.stdout.write(msg + '\n'), ctx.pid);
@@ -51,6 +51,14 @@ export declare const ATTACH_BOOTSTRAP_JTI_KEY_PREFIX = "attach-bootstrap-jti:";
51
51
  * these rows.
52
52
  */
53
53
  export declare const PORT_CAPABILITY_KEY_PREFIX = "nimbus_preview_capability:";
54
+ /**
55
+ * Prefix for a durable application's facet-slot row, keyed by owner.
56
+ * `durable-slot:next` and `durable-slot:free` under the same prefix are the
57
+ * allocator's counter and free list; `durable-slot:<owner>` pins the owner to
58
+ * its `app-slot-<n>` facet name for the application's whole life. Owned by
59
+ * `facets/durable-slots.ts`, the only module that reads or writes these rows.
60
+ */
61
+ export declare const DURABLE_SLOT_KEY_PREFIX = "durable-slot:";
54
62
  /**
55
63
  * Prefix for a named programmatic shell's durable cwd+env, keyed by shell id.
56
64
  * One row per id the embedder has actually used; bounded by the embedder's own
@@ -1 +1 @@
1
- {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/session/keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAOH;2EAC2E;AAC3E,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC;;yDAEyD;AACzD,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAEpD;0DAC0D;AAC1D,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AAEzD;;uBAEuB;AACvB,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AAEzD;;;4EAG4E;AAC5E,eAAO,MAAM,+BAA+B,0BAA0B,CAAC;AAEvE;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,+BAA+B,CAAC;AAEvE;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,+BAA+B,CAAC"}
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/session/keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAOH;2EAC2E;AAC3E,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC;;yDAEyD;AACzD,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAEpD;0DAC0D;AAC1D,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AAEzD;;uBAEuB;AACvB,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AAEzD;;;4EAG4E;AAC5E,eAAO,MAAM,+BAA+B,0BAA0B,CAAC;AAEvE;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,+BAA+B,CAAC;AAEvE;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,kBAAkB,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,+BAA+B,CAAC"}
@@ -55,6 +55,14 @@ export const ATTACH_BOOTSTRAP_JTI_KEY_PREFIX = 'attach-bootstrap-jti:';
55
55
  * these rows.
56
56
  */
57
57
  export const PORT_CAPABILITY_KEY_PREFIX = 'nimbus_preview_capability:';
58
+ /**
59
+ * Prefix for a durable application's facet-slot row, keyed by owner.
60
+ * `durable-slot:next` and `durable-slot:free` under the same prefix are the
61
+ * allocator's counter and free list; `durable-slot:<owner>` pins the owner to
62
+ * its `app-slot-<n>` facet name for the application's whole life. Owned by
63
+ * `facets/durable-slots.ts`, the only module that reads or writes these rows.
64
+ */
65
+ export const DURABLE_SLOT_KEY_PREFIX = 'durable-slot:';
58
66
  /**
59
67
  * Prefix for a named programmatic shell's durable cwd+env, keyed by shell id.
60
68
  * One row per id the embedder has actually used; bounded by the embedder's own
@@ -15,13 +15,14 @@ import { SqliteRuntimeFsBridge } from '@nimbus-sh/core/runtime/sqlite-runtime-fs
15
15
  import { type VfsAcquireResult, type VfsListPage } from '@nimbus-sh/core/runtime/os-contracts.js';
16
16
  import type { WsHibernationConfigResult } from './hibernation.js';
17
17
  import { PortRegistry } from '@nimbus-sh/core/runtime/port-registry.js';
18
- import { EsbuildService } from '@nimbus-sh/core/runtime/esbuild-service.js';
19
18
  import { ViteDevServer } from '../facets/vite-dev-server.js';
20
19
  import { CirrusReal } from '../facets/cirrus-real.js';
20
+ import { EsbuildService } from '@nimbus-sh/core/runtime/esbuild-service.js';
21
21
  import { NimbusWrangler } from '../wrangler/nimbus-wrangler.js';
22
- import { NpmInstaller } from '../npm/installer.js';
22
+ import type { NpmInstaller } from '../npm/installer.js';
23
23
  import { type TryEnableReplicasResult as _W12EnableResult } from '../replica/routing.js';
24
24
  import * as _rpc from './rpc.js';
25
+ import type { SupervisorOpEnvelope } from '@nimbus-sh/core/workspace/supervisor-op.js';
25
26
  import type { HostedHttpRequest, HostedHttpResponse } from '@nimbus-sh/fabric/process-host.js';
26
27
  import { WebSocketRelay } from './ws-relay.js';
27
28
  import * as _programmatic from './programmatic.js';
@@ -249,6 +250,7 @@ export declare class NimbusSession extends CloudflareDurableObject {
249
250
  * get/put, so two concurrent exchanges cannot both observe "absent".
250
251
  */
251
252
  _rpcConsumeAttachBootstrap(jti: string): Promise<boolean>;
253
+ supervisorOp(envelope: SupervisorOpEnvelope): Promise<unknown>;
252
254
  _rpcReadFile(path: string, pid?: number): Promise<string | null>;
253
255
  _rpcReadFileBytes(path: string, pid?: number): Promise<Uint8Array | null>;
254
256
  _rpcInnerDoFetch(req: any): Promise<any>;
@@ -437,12 +439,29 @@ export declare class NimbusSession extends CloudflareDurableObject {
437
439
  exit: import("@nimbus-sh/core/runtime/process-logs.js").ProcessExitInfo | null;
438
440
  }>;
439
441
  _rpcListPorts(): Promise<_programmatic.SerializedPort[]>;
440
- _rpcExposePort(port: number): Promise<{
442
+ _rpcExposePort(port: number, options?: {
443
+ visibility?: 'scoped' | 'public';
444
+ }): Promise<{
441
445
  port: number;
442
446
  listening: boolean;
443
447
  pid: number | null;
444
448
  registeredAt: number | null;
445
449
  capability: string | null;
450
+ visibility: "scoped" | "public";
451
+ }>;
452
+ _rpcEnsureDurableApp(input: {
453
+ owner: string;
454
+ preferredPort?: number;
455
+ visibility?: 'scoped' | 'public';
456
+ }): Promise<{
457
+ port: number;
458
+ capability: string | null;
459
+ visibility: "scoped" | "public";
460
+ }>;
461
+ _rpcRemoveDurableApp(owner: string): Promise<{
462
+ owner: string;
463
+ removed: boolean;
464
+ port: number | null;
446
465
  }>;
447
466
  _rpcUnexposePort(port: number): Promise<{
448
467
  port: number;
@@ -450,6 +469,12 @@ export declare class NimbusSession extends CloudflareDurableObject {
450
469
  }>;
451
470
  /** Capability-authenticated port route, for an embedder holding the token. */
452
471
  _rpcRouteCapabilityPort(port: number, capability: string, request: Request, innerPath: string): Promise<Response>;
472
+ /**
473
+ * The port route's recovery seam: a durable application journalled but
474
+ * dead is re-driven on demand rather than left for the alarm pump. The
475
+ * manager decides 'started' | 'absent' | 'failed'; the route maps them.
476
+ */
477
+ ensureDurableAppOnPort(port: number): Promise<'started' | 'absent' | 'failed'>;
453
478
  _rpcDeleteFile(path: string, options?: {
454
479
  recursive?: boolean;
455
480
  }): Promise<void>;
@@ -546,7 +571,7 @@ export declare class NimbusSession extends CloudflareDurableObject {
546
571
  * All concurrent fetches share ONE worker — no port exhaustion.
547
572
  */
548
573
  buildFetchFn(log?: (msg: string) => void): ((url: string, init?: RequestInit) => Promise<Response>) | undefined;
549
- ensureNpmInstaller(onProgress?: (msg: string) => void): void;
574
+ ensureNpmInstaller(onProgress?: (msg: string) => void): Promise<void>;
550
575
  /**
551
576
  * Read an environment flag with default-on semantics. Mirrors the
552
577
  * shouldUseFacetPool / shouldUseFacetResolver / shouldUseBatchFacet
@@ -1 +1 @@
1
- {"version":3,"file":"nimbus-session.d.ts","sourceRoot":"","sources":["../../src/session/nimbus-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nimbus-session.d.ts","sourceRoot":"","sources":["../../src/session/nimbus-session.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,11 @@
5
5
  * `node` execution is delegated to dynamic workers via LOADER.load().
6
6
  * IPC between facets and the supervisor flows through SupervisorRPC.
7
7
  */
8
+ import { staticStdinReader } from '@nimbus-sh/core/shell/stdin-adapter.js';
8
9
  import { DurableObject as CloudflareDurableObject } from 'cloudflare:workers';
9
10
  import { SqliteVFS } from '@nimbus-sh/core/vfs/sqlite-vfs.js';
10
11
  import { FacetManager } from '../facets/manager.js';
12
+ import { resolveDurableWorkerImage } from '../facets/durable-images.js';
11
13
  import { FacetProcessManager } from '../facets/process.js';
12
14
  import { ChildProcessSpawnPool } from '../loaders/child-process/spawn-pool.js';
13
15
  import { SessionProcessSupervisor } from '@nimbus-sh/core/runtime/session-process-supervisor.js';
@@ -15,8 +17,9 @@ import { PID_GEN_STRIDE } from '@nimbus-sh/core/runtime/process-table.js';
15
17
  import { CRED_KERNEL, CRED_SESSION_USER, } from '@nimbus-sh/core/runtime/os-contracts.js';
16
18
  import { PortRegistry } from '@nimbus-sh/core/runtime/port-registry.js';
17
19
  import { EsbuildService } from '@nimbus-sh/core/runtime/esbuild-service.js';
20
+ import { ESBUILD_TRANSFORM_WORKER_ID, esbuildTransformWorkerCode, } from '../facets/esbuild-transform.js';
21
+ import { fetchEsbuildWasmBytes } from '../runtime/esbuild-wasm-bytes.js';
18
22
  import { registerAllocObserver } from '@nimbus-sh/platform/heavy-alloc-coord.js';
19
- import { NpmInstaller } from '../npm/installer.js';
20
23
  // S10: oom-discriminator helpers (recordFailure, getFailures,
21
24
  // getLastRpcFrame, getLastFacetId, snapshotForStorage, rehydrateFromStorage)
22
25
  // moved to sibling modules (-rpc uses recordFailure for _reportExternalExit;
@@ -53,6 +56,7 @@ import { initSession as _w11InitSession } from './init.js';
53
56
  import { wsMessage as _wsDoMessage, wsClose as _wsDoClose, wsError as _wsDoError, safePersistRing as _wsDoSafePersistRing, } from './ws.js';
54
57
  // S8: Supervisor RPC + W8 cp* + legacy VFS impls extracted.
55
58
  import * as _rpc from './rpc.js';
59
+ import { sessionSupervisorOp } from './supervisor-op.js';
56
60
  import { processHostFor } from '../loaders/process-host.js';
57
61
  // The supervisor terminates a facet's outbound sockets so inbound frames
58
62
  // arrive as supervisor replies (VFS coherence witness 3).
@@ -602,6 +606,9 @@ export class NimbusSession extends CloudflareDurableObject {
602
606
  // 1-line delegators that pass `this as any` (per plan §IX rec 1 +
603
607
  // DEFECT-D1: ctx is protected and not on a public interface).
604
608
  // Supervisor RPC (file/log/HMR/batch)
609
+ supervisorOp(envelope) {
610
+ return sessionSupervisorOp(this, envelope);
611
+ }
605
612
  async _rpcReadFile(path, pid) { return _rpc._rpcReadFile(this, path, pid); }
606
613
  async _rpcReadFileBytes(path, pid) { return _rpc._rpcReadFileBytes(this, path, pid); }
607
614
  async _rpcInnerDoFetch(req) { return _rpc._rpcInnerDoFetch(this, req); }
@@ -764,12 +771,29 @@ export class NimbusSession extends CloudflareDurableObject {
764
771
  async _rpcSignalProcess(pid, signal) { return _programmatic.rpcSignalProcess(this, pid, signal); }
765
772
  async _rpcProcessLogs(pid, options) { return _programmatic.rpcProcessLogs(this, pid, options); }
766
773
  async _rpcListPorts() { return _programmatic.rpcListPorts(this); }
767
- async _rpcExposePort(port) { return _programmatic.rpcExposePort(this, port); }
774
+ async _rpcExposePort(port, options) {
775
+ return _programmatic.rpcExposePort(this, port, options);
776
+ }
777
+ async _rpcEnsureDurableApp(input) {
778
+ return _programmatic.rpcEnsureDurableApp(this, input);
779
+ }
780
+ async _rpcRemoveDurableApp(owner) {
781
+ return _programmatic.rpcRemoveDurableApp(this, owner);
782
+ }
768
783
  async _rpcUnexposePort(port) { return _programmatic.rpcUnexposePort(this, port); }
769
784
  /** Capability-authenticated port route, for an embedder holding the token. */
770
785
  async _rpcRouteCapabilityPort(port, capability, request, innerPath) {
771
786
  return _routes.routeCapabilityPort(this, port, capability, request, innerPath);
772
787
  }
788
+ /**
789
+ * The port route's recovery seam: a durable application journalled but
790
+ * dead is re-driven on demand rather than left for the alarm pump. The
791
+ * manager decides 'started' | 'absent' | 'failed'; the route maps them.
792
+ */
793
+ async ensureDurableAppOnPort(port) {
794
+ this.ensureFacetManager();
795
+ return this.facetManager.ensureDurableAppOnPort(port);
796
+ }
773
797
  async _rpcDeleteFile(path, options) { return _programmatic.rpcDeleteFile(this, path, options); }
774
798
  async _rpcDestroy(options) { return _programmatic.rpcDestroy(this, options); }
775
799
  // Legacy VFS (direct method calls)
@@ -888,6 +912,20 @@ export class NimbusSession extends CloudflareDurableObject {
888
912
  onExternalExit: (pid, code, reason) => this._reportExternalExit(pid, code, reason),
889
913
  requestLaunchTurn: () => { void this._scheduleLaunchTurn(); },
890
914
  notify: (line) => this._notifySession(line),
915
+ transformLargeEsm: async (code, options) => {
916
+ const loader = Reflect.get(this.env, 'LOADER');
917
+ if (!loader || typeof loader.get !== 'function') {
918
+ throw new Error('Nimbus: env.LOADER unavailable for isolated esbuild transform');
919
+ }
920
+ const assets = Reflect.get(this.env, 'ASSETS');
921
+ if (!assets || typeof assets.fetch !== 'function') {
922
+ throw new Error('Nimbus: env.ASSETS unavailable for isolated esbuild transform');
923
+ }
924
+ const worker = await loader.get(ESBUILD_TRANSFORM_WORKER_ID, async () => esbuildTransformWorkerCode(await fetchEsbuildWasmBytes({ ASSETS: assets })));
925
+ const transformClass = worker.getDurableObjectClass('EsbuildTransformFacet');
926
+ const facet = this.ctx.facets.get(`esbuild-transform-${ESBUILD_TRANSFORM_WORKER_ID}`, async () => ({ class: transformClass }));
927
+ return facet.transform(code, options);
928
+ },
891
929
  onSpawn: (pid, command, longRunning) => {
892
930
  const attachedTty = this.processes.get(pid)?.attachedTty === true;
893
931
  if (longRunning) {
@@ -909,6 +947,18 @@ export class NimbusSession extends CloudflareDurableObject {
909
947
  type: 'spawn', pid, command, longRunning, attachedTty,
910
948
  });
911
949
  },
950
+ // The fallback resolver a self-owned durable spawn re-drives
951
+ // through: read the image blobs the spawn persisted under
952
+ // `.nimbus/images/<sha256>` and restore the launch's env and
953
+ // modules from them. An embedder-owned launch answers its own
954
+ // bookkeeping through resolveWorkerLaunch instead — this hook is
955
+ // only the fallback for applications nobody else is keeping, and
956
+ // because it cannot re-mint a live globalOutbound binding the
957
+ // spawn path refuses such a launch under it.
958
+ resolveWorkerLaunchFallback: async (recipe) => {
959
+ this.ensureSqliteFs();
960
+ return resolveDurableWorkerImage(this.sqliteFs, recipe);
961
+ },
912
962
  });
913
963
  }
914
964
  if (this.facetManager && this.sqliteFs) {
@@ -999,10 +1049,7 @@ export class NimbusSession extends CloudflareDurableObject {
999
1049
  stderr: stderrStream,
1000
1050
  signal: ac.signal,
1001
1051
  // For commands that need stdin we pass a tiny adapter.
1002
- stdin: {
1003
- read: async () => null,
1004
- readAll: async () => payload.stdin || '',
1005
- },
1052
+ stdin: staticStdinReader(payload.stdin || ''),
1006
1053
  setUmask: (mask) => { this.processes.setUmask(payload.processPid, mask); },
1007
1054
  runAs: async (targetCred, argv) => {
1008
1055
  if (argv.length === 0)
@@ -1080,7 +1127,7 @@ export class NimbusSession extends CloudflareDurableObject {
1080
1127
  stdout: { write: (d) => hooks.onStdout(String(d)) },
1081
1128
  stderr: { write: (d) => hooks.onStderr(String(d)) },
1082
1129
  signal: ac.signal,
1083
- stdin: { read: async () => null, readAll: async () => stdin },
1130
+ stdin: staticStdinReader(stdin),
1084
1131
  setUmask: (mask) => { this.processes.setUmask(pid, mask); },
1085
1132
  runAs: async (targetCred, argv) => {
1086
1133
  if (argv.length === 0)
@@ -1277,11 +1324,17 @@ export class NimbusSession extends CloudflareDurableObject {
1277
1324
  }));
1278
1325
  };
1279
1326
  }
1280
- ensureNpmInstaller(onProgress) {
1327
+ async ensureNpmInstaller(onProgress) {
1281
1328
  this.ensureSqliteFs();
1282
1329
  if (!this.esbuildService) {
1283
- this.esbuildService = new EsbuildService(this.sqliteFs);
1330
+ if (!this.sqliteFs)
1331
+ throw new Error('Session VFS is not initialized');
1332
+ this.esbuildService = new EsbuildService(this.sqliteFs.as(CRED_KERNEL));
1284
1333
  }
1334
+ // Lazy-load the installer (+ its ~216 KB resolver/facet/loader-pool
1335
+ // subgraph) on first npm use so it stays out of the cold script-eval
1336
+ // graph. The install command paths that call this are already async.
1337
+ const { NpmInstaller } = await import('../npm/installer.js');
1285
1338
  // ── Lazy fetch-proxy ────────────────────────────────────────────
1286
1339
  // The fetch-proxy is a singleton dynamic worker (LOADER.load) that
1287
1340
  // buffers registry responses to dodge wrangler-local-dev port
@@ -11,33 +11,120 @@
11
11
  * back. Everything else is the security half of the same rule: a capability
12
12
  * names ONE registration, so any other registration on that port retires the
13
13
  * durable copy. Only a deliberate restore extends a capability's life, which
14
- * is why `clearPortCapability` sits next to every `portRegistry.register` and
14
+ * is why `clearPortCapability` sits next to every `portRegistry.register`,
15
15
  * `restorePortCapability` sits only at the two places a dev server is
16
- * deliberately brought back.
16
+ * deliberately brought back, and `restoreReservedPortCapability` sits only
17
+ * on the durable spawn's re-adopt path, gated on the stored reservation's
18
+ * owner.
19
+ *
20
+ * The same per-port record also carries a RESERVATION: an owner may hold a
21
+ * port with no capability yet, so a durable application keeps its port across
22
+ * instances whether or not it is currently exposed. Clearing a capability
23
+ * keeps the owner's reservation; only `releasePortReservation` ends it.
17
24
  */
25
+ import { z } from 'zod/v4';
18
26
  import type { PortRegistry } from '@nimbus-sh/core/runtime/port-registry.js';
19
27
  /** The minimum a caller needs to own a port capability. */
20
28
  export interface PortCapabilityHost {
21
29
  ctx: {
22
- storage: {
23
- get(key: string): Promise<unknown>;
24
- put(key: string, value: unknown): Promise<void>;
25
- delete(key: string): Promise<unknown>;
26
- };
30
+ storage: PortReservationStorage;
27
31
  };
28
32
  portRegistry: PortRegistry;
29
33
  }
34
+ /** The transactional view a claim or release runs against: every read and write inside one serializable unit. */
35
+ export interface PortReservationTransaction {
36
+ get(key: string): Promise<unknown>;
37
+ put(key: string, value: unknown): Promise<void>;
38
+ delete(key: string): Promise<unknown>;
39
+ list<T = unknown>(options: {
40
+ prefix: string;
41
+ }): Promise<Map<string, T>>;
42
+ }
43
+ /** The storage slice a reservation needs: a prefix scan, and a required atomic transaction. */
44
+ export interface PortReservationStorage extends PortReservationTransaction {
45
+ transaction<T>(body: (txn: PortReservationTransaction) => Promise<T>): Promise<T>;
46
+ }
47
+ export interface PortReservationHost {
48
+ ctx: {
49
+ storage: PortReservationStorage;
50
+ };
51
+ }
52
+ /** 'scoped' is the default: capability-checked but never the public bearer. */
53
+ declare const PortVisibilitySchema: z.ZodEnum<{
54
+ scoped: "scoped";
55
+ public: "public";
56
+ }>;
57
+ export type PortVisibility = z.infer<typeof PortVisibilitySchema>;
58
+ export declare const PortRecordSchema: z.ZodObject<{
59
+ capability: z.ZodNullable<z.ZodString>;
60
+ owner: z.ZodNullable<z.ZodString>;
61
+ visibility: z.ZodOptional<z.ZodEnum<{
62
+ scoped: "scoped";
63
+ public: "public";
64
+ }>>;
65
+ }, z.core.$strip>;
66
+ export interface PortExposure {
67
+ readonly capability: string;
68
+ readonly owner: string | null;
69
+ readonly visibility: PortVisibility;
70
+ }
71
+ /** The per-port record as stored: a bare reservation has no capability yet. */
72
+ export interface PortReservation {
73
+ readonly owner: string | null;
74
+ readonly capability: string | null;
75
+ readonly visibility: PortVisibility;
76
+ }
77
+ export declare function portRecordKey(port: number): string;
78
+ /** Read the raw per-port record: a reservation, an exposure, or nothing. */
79
+ export declare function readPortReservation(ctx: {
80
+ storage: PortReservationTransaction;
81
+ }, port: number): Promise<PortReservation | null>;
82
+ /** Read retained exposure metadata without starting a session or restoring a listener. */
83
+ export declare function readPortExposure(ctx: PortCapabilityHost['ctx'], port: number): Promise<PortExposure | null>;
84
+ /**
85
+ * Hold a port for `owner` across instances. The owner's existing port is
86
+ * answered again; otherwise the preferred port is claimed, or the lowest
87
+ * free one. A preferred port that another record or a live listener holds
88
+ * is refused, never silently moved.
89
+ *
90
+ * `capability`/`visibility` give the embedder-durable path its URL material
91
+ * up front: a reservation can carry the capability the application will
92
+ * re-adopt when it binds, and the visibility the public bearer form is
93
+ * gated on. An existing reservation for the same owner is answered again,
94
+ * upgraded in place when the caller supplies values it lacks — an existing
95
+ * capability is never rotated, a URL already handed out stays good.
96
+ */
97
+ export declare function reservePort(ctx: PortReservationHost['ctx'], input: {
98
+ owner: string;
99
+ preferredPort?: number;
100
+ occupiedPorts: ReadonlySet<number>;
101
+ capability?: string;
102
+ visibility?: PortVisibility;
103
+ }): Promise<number>;
104
+ /** End an owner's hold on a port. Another owner's record is left alone and refused. */
105
+ export declare function releasePortReservation(ctx: PortReservationHost['ctx'], input: {
106
+ owner: string;
107
+ port: number;
108
+ }): Promise<boolean>;
30
109
  export declare function readPortCapability(self: PortCapabilityHost, port: number): Promise<string | null>;
31
110
  /**
32
111
  * Re-adopt the persisted capability into whatever the registry holds now.
33
112
  * Answers the adopted value, or null when there was nothing to adopt.
34
113
  */
35
114
  export declare function restorePortCapability(self: PortCapabilityHost, port: number): Promise<string | null>;
115
+ /**
116
+ * Re-adopt the persisted capability ONLY for the owner the stored record
117
+ * names. The durable re-drive calls this with its own owner: the reservation
118
+ * is the same source of truth the preflight reads, so a release or a foreign
119
+ * claim mid-boot cannot smuggle an exposure across.
120
+ */
121
+ export declare function restoreReservedPortCapability(self: PortCapabilityHost, port: number, owner: string): Promise<string | null>;
36
122
  export declare function persistPortCapability(self: PortCapabilityHost, port: number, capability: string): Promise<void>;
37
123
  /**
38
124
  * Retire the durable capability for a port. Called before every registration
39
125
  * that is not a restore, so a token handed out for the previous occupant of a
40
- * port cannot reach the next one.
126
+ * port cannot reach the next one. An owner's reservation survives it.
41
127
  */
42
128
  export declare function clearPortCapability(self: PortCapabilityHost, port: number): Promise<void>;
129
+ export {};
43
130
  //# sourceMappingURL=port-capability.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"port-capability.d.ts","sourceRoot":"","sources":["../../src/session/port-capability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAG7E,2DAA2D;AAC3D,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE;QACH,OAAO,EAAE;YACP,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YACnC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;SACvC,CAAC;KACH,CAAC;IACF,YAAY,EAAE,YAAY,CAAC;CAC5B;AASD,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGxB;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAIxB;AAED,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/F"}
1
+ {"version":3,"file":"port-capability.d.ts","sourceRoot":"","sources":["../../src/session/port-capability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAG7E,2DAA2D;AAC3D,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE;QACH,OAAO,EAAE,sBAAsB,CAAC;KACjC,CAAC;IACF,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,iHAAiH;AACjH,MAAM,WAAW,0BAA0B;IACzC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;CACzE;AAED,+FAA+F;AAC/F,MAAM,WAAW,sBAAuB,SAAQ,0BAA0B;IACxE,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,0BAA0B,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACnF;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE;QAAE,OAAO,EAAE,sBAAsB,CAAA;KAAE,CAAC;CAC1C;AAID,+EAA+E;AAC/E,QAAA,MAAM,oBAAoB;;;EAA+B,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,eAAO,MAAM,gBAAgB;;;;;;;iBAI3B,CAAC;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;CACrC;AACD,+EAA+E;AAC/E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;CACrC;AAGD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAMD,4EAA4E;AAC5E,wBAAsB,mBAAmB,CAAC,GAAG,EAAE;IAAE,OAAO,EAAE,0BAA0B,CAAA;CAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAIrI;AAED,0FAA0F;AAC1F,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAKjH;AACD;;;;;;;;;;;;GAYG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAC/B,KAAK,EAAE;IACL,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B,GACA,OAAO,CAAC,MAAM,CAAC,CAiDjB;AAED,uFAAuF;AACvF,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAC/B,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACrC,OAAO,CAAC,OAAO,CAAC,CAUlB;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOxB;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAIxB;AAED;;;;;GAKG;AACH,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAIxB;AAED,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAc/F"}