@nimbus-sh/worker 0.9.0 → 0.11.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 (286) hide show
  1. package/NOTICE.md +5 -0
  2. package/README.md +10 -0
  3. package/dist/_shared/session-router.d.ts +7 -0
  4. package/dist/_shared/session-router.d.ts.map +1 -1
  5. package/dist/_shared/session-router.js +7 -0
  6. package/dist/bindings/body.d.ts +6 -0
  7. package/dist/bindings/body.d.ts.map +1 -0
  8. package/dist/bindings/body.js +37 -0
  9. package/dist/bindings/kv.d.ts +0 -2
  10. package/dist/bindings/kv.d.ts.map +1 -1
  11. package/dist/bindings/kv.js +3 -42
  12. package/dist/bindings/r2.d.ts +0 -2
  13. package/dist/bindings/r2.d.ts.map +1 -1
  14. package/dist/bindings/r2.js +4 -44
  15. package/dist/esbuild-cli-artifact.generated.d.ts +18 -0
  16. package/dist/esbuild-cli-artifact.generated.d.ts.map +1 -0
  17. package/dist/esbuild-cli-artifact.generated.js +17 -0
  18. package/dist/esbuild-wasm-bundle.generated.d.ts +24 -24
  19. package/dist/esbuild-wasm-bundle.generated.d.ts.map +1 -1
  20. package/dist/esbuild-wasm-bundle.generated.js +24 -24
  21. package/dist/facets/cirrus-real.d.ts.map +1 -1
  22. package/dist/facets/cirrus-real.js +11 -6
  23. package/dist/facets/compose.d.ts +11 -7
  24. package/dist/facets/compose.d.ts.map +1 -1
  25. package/dist/facets/compose.js +8 -31
  26. package/dist/facets/data-plan.d.ts +79 -0
  27. package/dist/facets/data-plan.d.ts.map +1 -0
  28. package/dist/facets/data-plan.js +477 -0
  29. package/dist/facets/esbuild-bundle-pool.d.ts +1 -1
  30. package/dist/facets/esbuild-bundle-pool.js +3 -3
  31. package/dist/facets/esbuild-transform.d.ts +38 -8
  32. package/dist/facets/esbuild-transform.d.ts.map +1 -1
  33. package/dist/facets/esbuild-transform.js +219 -19
  34. package/dist/facets/exec-telemetry.d.ts +7 -3
  35. package/dist/facets/exec-telemetry.d.ts.map +1 -1
  36. package/dist/facets/manager.d.ts +198 -69
  37. package/dist/facets/manager.d.ts.map +1 -1
  38. package/dist/facets/manager.js +1276 -652
  39. package/dist/facets/opencode-staging.d.ts +0 -2
  40. package/dist/facets/opencode-staging.d.ts.map +1 -1
  41. package/dist/facets/opencode-staging.js +5 -11
  42. package/dist/facets/process.d.ts +4 -0
  43. package/dist/facets/process.d.ts.map +1 -1
  44. package/dist/facets/process.js +3 -0
  45. package/dist/facets/read-profile.d.ts +149 -0
  46. package/dist/facets/read-profile.d.ts.map +1 -0
  47. package/dist/facets/read-profile.js +483 -0
  48. package/dist/facets/real-vite-hmr.d.ts +2 -0
  49. package/dist/facets/real-vite-hmr.d.ts.map +1 -1
  50. package/dist/facets/real-vite-hmr.js +3 -2
  51. package/dist/facets/resident-identity.d.ts +0 -1
  52. package/dist/facets/resident-identity.d.ts.map +1 -1
  53. package/dist/facets/resident-identity.js +0 -3
  54. package/dist/facets/wasm-swap-registry.d.ts +34 -25
  55. package/dist/facets/wasm-swap-registry.d.ts.map +1 -1
  56. package/dist/facets/wasm-swap-registry.js +62 -56
  57. package/dist/facets/ws-terminal.d.ts +4 -4
  58. package/dist/facets/ws-terminal.d.ts.map +1 -1
  59. package/dist/facets/ws-terminal.js +4 -5
  60. package/dist/git/commands.d.ts +33 -10
  61. package/dist/git/commands.d.ts.map +1 -1
  62. package/dist/git/commands.js +1891 -197
  63. package/dist/git/network-facet.d.ts +12 -2
  64. package/dist/git/network-facet.d.ts.map +1 -1
  65. package/dist/git/network-facet.js +69 -18
  66. package/dist/git/unified-diff.d.ts +74 -0
  67. package/dist/git/unified-diff.d.ts.map +1 -0
  68. package/dist/git/unified-diff.js +676 -0
  69. package/dist/git-bundle.generated.d.ts +7 -11
  70. package/dist/git-bundle.generated.d.ts.map +1 -1
  71. package/dist/git-bundle.generated.js +7 -11
  72. package/dist/hosted/commands.d.ts.map +1 -1
  73. package/dist/hosted/commands.js +64 -245
  74. package/dist/hosted/runtime.d.ts +22 -15
  75. package/dist/hosted/runtime.d.ts.map +1 -1
  76. package/dist/hosted/runtime.js +72 -14
  77. package/dist/hosted/services.d.ts +8 -1
  78. package/dist/hosted/services.d.ts.map +1 -1
  79. package/dist/hosted/services.js +12 -13
  80. package/dist/hosted/session.d.ts +165 -0
  81. package/dist/hosted/session.d.ts.map +1 -0
  82. package/dist/hosted/session.js +132 -0
  83. package/dist/loaders/generated-workers.d.ts +6 -3
  84. package/dist/loaders/generated-workers.d.ts.map +1 -1
  85. package/dist/loaders/generated-workers.js +8 -5
  86. package/dist/loaders/npm-resolve-preamble.d.ts.map +1 -1
  87. package/dist/loaders/npm-resolve-preamble.js +0 -27
  88. package/dist/loaders/pre-bundle-preamble.d.ts +6 -3
  89. package/dist/loaders/pre-bundle-preamble.d.ts.map +1 -1
  90. package/dist/loaders/pre-bundle-preamble.js +13 -8
  91. package/dist/node-shims-artifact.generated.d.ts +13 -4
  92. package/dist/node-shims-artifact.generated.d.ts.map +1 -1
  93. package/dist/node-shims-artifact.generated.js +16 -7
  94. package/dist/npm/bin-links.d.ts +3 -1
  95. package/dist/npm/bin-links.d.ts.map +1 -1
  96. package/dist/npm/bin-links.js +32 -8
  97. package/dist/npm/cache.d.ts +11 -1
  98. package/dist/npm/cache.d.ts.map +1 -1
  99. package/dist/npm/cache.js +21 -7
  100. package/dist/npm/install-batch-facet.d.ts +4 -2
  101. package/dist/npm/install-batch-facet.d.ts.map +1 -1
  102. package/dist/npm/install-batch-facet.js +32 -18
  103. package/dist/npm/installer.d.ts +23 -3
  104. package/dist/npm/installer.d.ts.map +1 -1
  105. package/dist/npm/installer.js +330 -131
  106. package/dist/npm/npx-install.d.ts +3 -1
  107. package/dist/npm/npx-install.d.ts.map +1 -1
  108. package/dist/npm/npx-install.js +4 -1
  109. package/dist/npm/package-lock.d.ts +32 -0
  110. package/dist/npm/package-lock.d.ts.map +1 -0
  111. package/dist/npm/package-lock.js +65 -0
  112. package/dist/npm/placement.d.ts +16 -0
  113. package/dist/npm/placement.d.ts.map +1 -0
  114. package/dist/npm/placement.js +33 -0
  115. package/dist/npm/pre-bundle-facet.d.ts +1 -30
  116. package/dist/npm/pre-bundle-facet.d.ts.map +1 -1
  117. package/dist/npm/pre-bundle-facet.js +3 -5
  118. package/dist/npm/r2-cache.d.ts +12 -6
  119. package/dist/npm/r2-cache.d.ts.map +1 -1
  120. package/dist/npm/r2-cache.js +34 -16
  121. package/dist/npm/resolve-one-facet.d.ts +3 -0
  122. package/dist/npm/resolve-one-facet.d.ts.map +1 -1
  123. package/dist/npm/resolve-one-facet.js +15 -3
  124. package/dist/npm/resolver.d.ts +11 -13
  125. package/dist/npm/resolver.d.ts.map +1 -1
  126. package/dist/npm/resolver.js +12 -25
  127. package/dist/opencode-artifact.generated.js +2 -2
  128. package/dist/replica/routing.d.ts +2 -38
  129. package/dist/replica/routing.d.ts.map +1 -1
  130. package/dist/replica/routing.js +3 -55
  131. package/dist/router/index.d.ts.map +1 -1
  132. package/dist/router/index.js +15 -2
  133. package/dist/router/public-directory.d.ts +18 -0
  134. package/dist/router/public-directory.d.ts.map +1 -1
  135. package/dist/router/public-directory.js +1 -1
  136. package/dist/router/remote-api.d.ts +3 -1
  137. package/dist/router/remote-api.d.ts.map +1 -1
  138. package/dist/router/remote-api.js +42 -79
  139. package/dist/runtime/bash-repl.js +2 -2
  140. package/dist/runtime/bun-repl.d.ts.map +1 -1
  141. package/dist/runtime/bun-repl.js +2 -13
  142. package/dist/runtime/cpython-resident.d.ts.map +1 -1
  143. package/dist/runtime/cpython-resident.js +2 -10
  144. package/dist/runtime/esbuild-wasm-bytes.d.ts +37 -18
  145. package/dist/runtime/esbuild-wasm-bytes.d.ts.map +1 -1
  146. package/dist/runtime/esbuild-wasm-bytes.js +66 -92
  147. package/dist/runtime/facet-loader-host.d.ts.map +1 -1
  148. package/dist/runtime/facet-loader-host.js +0 -7
  149. package/dist/runtime/git-bundle-artifact.d.ts +17 -0
  150. package/dist/runtime/git-bundle-artifact.d.ts.map +1 -0
  151. package/dist/runtime/git-bundle-artifact.js +25 -0
  152. package/dist/runtime/node-repl.d.ts.map +1 -1
  153. package/dist/runtime/node-repl.js +2 -13
  154. package/dist/runtime/node-shims-artifact.d.ts +22 -23
  155. package/dist/runtime/node-shims-artifact.d.ts.map +1 -1
  156. package/dist/runtime/node-shims-artifact.js +48 -78
  157. package/dist/runtime/node-shims.d.ts.map +1 -1
  158. package/dist/runtime/node-shims.js +2358 -996
  159. package/dist/runtime/opencode-artifact.d.ts.map +1 -1
  160. package/dist/runtime/opencode-artifact.js +17 -53
  161. package/dist/runtime/opencode-facet-runner.d.ts +3 -6
  162. package/dist/runtime/opencode-facet-runner.d.ts.map +1 -1
  163. package/dist/runtime/opencode-facet-runner.js +45 -10
  164. package/dist/runtime/opentui-wasm-bytes.d.ts.map +1 -1
  165. package/dist/runtime/opentui-wasm-bytes.js +16 -49
  166. package/dist/runtime/package-manager.d.ts +0 -2
  167. package/dist/runtime/package-manager.d.ts.map +1 -1
  168. package/dist/runtime/package-manager.js +0 -3
  169. package/dist/runtime/python-repl.d.ts.map +1 -1
  170. package/dist/runtime/python-repl.js +4 -35
  171. package/dist/runtime/repl-session.d.ts +10 -0
  172. package/dist/runtime/repl-session.d.ts.map +1 -1
  173. package/dist/runtime/repl-session.js +7 -0
  174. package/dist/runtime/ruby-repl.d.ts.map +1 -1
  175. package/dist/runtime/ruby-repl.js +2 -2
  176. package/dist/runtime/ruby-resident.d.ts.map +1 -1
  177. package/dist/runtime/ruby-resident.js +41 -51
  178. package/dist/runtime/runtime-catalog.d.ts +10 -3
  179. package/dist/runtime/runtime-catalog.d.ts.map +1 -1
  180. package/dist/runtime/runtime-catalog.js +125 -15
  181. package/dist/runtime/sqlite-wasm-bytes.d.ts +4 -4
  182. package/dist/runtime/sqlite-wasm-bytes.d.ts.map +1 -1
  183. package/dist/runtime/sqlite-wasm-bytes.js +21 -57
  184. package/dist/runtime/staged-source.d.ts +67 -0
  185. package/dist/runtime/staged-source.d.ts.map +1 -0
  186. package/dist/runtime/staged-source.js +113 -0
  187. package/dist/runtime/wasi/preamble.d.ts +0 -22
  188. package/dist/runtime/wasi/preamble.d.ts.map +1 -1
  189. package/dist/runtime/wasi/preamble.js +98 -1425
  190. package/dist/runtime-catalog.generated.js +1 -1
  191. package/dist/session/agent.d.ts +14 -2
  192. package/dist/session/agent.d.ts.map +1 -1
  193. package/dist/session/agent.js +57 -19
  194. package/dist/session/ai.d.ts +0 -11
  195. package/dist/session/ai.d.ts.map +1 -1
  196. package/dist/session/ai.js +0 -4
  197. package/dist/session/fs-watch.d.ts +0 -11
  198. package/dist/session/fs-watch.d.ts.map +1 -1
  199. package/dist/session/fs-watch.js +0 -21
  200. package/dist/session/hibernation.d.ts +68 -2
  201. package/dist/session/hibernation.d.ts.map +1 -1
  202. package/dist/session/hibernation.js +95 -1
  203. package/dist/session/init-phases.d.ts +1 -2
  204. package/dist/session/init-phases.d.ts.map +1 -1
  205. package/dist/session/init-phases.js +1 -2
  206. package/dist/session/init.d.ts.map +1 -1
  207. package/dist/session/init.js +7 -20
  208. package/dist/session/keys.d.ts +0 -3
  209. package/dist/session/keys.d.ts.map +1 -1
  210. package/dist/session/keys.js +0 -3
  211. package/dist/session/legacy-reset.d.ts +11 -0
  212. package/dist/session/legacy-reset.d.ts.map +1 -0
  213. package/dist/session/legacy-reset.js +16 -0
  214. package/dist/session/nimbus-session.d.ts +50 -16
  215. package/dist/session/nimbus-session.d.ts.map +1 -1
  216. package/dist/session/nimbus-session.js +77 -71
  217. package/dist/session/npm-install-port.d.ts.map +1 -1
  218. package/dist/session/npm-install-port.js +2 -0
  219. package/dist/session/programmatic.d.ts +13 -18
  220. package/dist/session/programmatic.d.ts.map +1 -1
  221. package/dist/session/programmatic.js +53 -39
  222. package/dist/session/replica-routes.d.ts +2 -3
  223. package/dist/session/replica-routes.d.ts.map +1 -1
  224. package/dist/session/replica-routes.js +3 -10
  225. package/dist/session/routes.d.ts.map +1 -1
  226. package/dist/session/routes.js +11 -12
  227. package/dist/session/rpc.d.ts +108 -21
  228. package/dist/session/rpc.d.ts.map +1 -1
  229. package/dist/session/rpc.js +194 -39
  230. package/dist/session/start-real-vite.js +2 -2
  231. package/dist/session/state-store.d.ts +1 -17
  232. package/dist/session/state-store.d.ts.map +1 -1
  233. package/dist/session/state-store.js +3 -53
  234. package/dist/session/supervisor-op.d.ts +7 -0
  235. package/dist/session/supervisor-op.d.ts.map +1 -1
  236. package/dist/session/supervisor-op.js +6 -1
  237. package/dist/session/supervisor-rpc.d.ts +116 -19
  238. package/dist/session/supervisor-rpc.d.ts.map +1 -1
  239. package/dist/session/supervisor-rpc.js +194 -84
  240. package/dist/session/vite-command.d.ts.map +1 -1
  241. package/dist/session/vite-command.js +17 -14
  242. package/dist/session/ws.d.ts.map +1 -1
  243. package/dist/session/ws.js +20 -8
  244. package/dist/shell/npm-bin-entrypoints.d.ts.map +1 -1
  245. package/dist/shell/npm-bin-entrypoints.js +30 -5
  246. package/dist/vfs/facet-resident-limits.d.ts +33 -0
  247. package/dist/vfs/facet-resident-limits.d.ts.map +1 -0
  248. package/dist/vfs/facet-resident-limits.js +33 -0
  249. package/dist/vfs/facet-resident-store.d.ts +2 -10
  250. package/dist/vfs/facet-resident-store.d.ts.map +1 -1
  251. package/dist/vfs/facet-resident-store.js +1594 -219
  252. package/dist/workspace-host.d.ts +3 -1
  253. package/dist/workspace-host.d.ts.map +1 -1
  254. package/dist/workspace-host.js +2 -0
  255. package/dist/wrangler/nimbus-wrangler.d.ts +0 -2
  256. package/dist/wrangler/nimbus-wrangler.d.ts.map +1 -1
  257. package/dist/wrangler/nimbus-wrangler.js +8 -22
  258. package/package.json +34 -7
  259. package/public/_assets/esbuild-0.24.2.js +2380 -0
  260. package/public/_assets/opencode/1.16.2/index-attach.js +2 -2
  261. package/public/_assets/runtime/esbuild-cli-c4fda380d52befc1.js +6892 -0
  262. package/public/_assets/runtime/git-de3e60c9f3ff006a.js +103 -0
  263. package/public/_assets/runtime/{node-shims-acaa037e6d26ec0d.js → node-shims-06565b121555c194.js} +2879 -992
  264. package/public/_assets/runtime/resident-store-6ffb1939c53d982f.js +2264 -0
  265. package/public/_assets/runtime/vfs-write-ledger-e501e8fc793bc2c1.js +889 -0
  266. package/scripts/build-opencode-attach-entry.mjs +51 -1
  267. package/scripts/bundle-esbuild-wasm.mjs +55 -39
  268. package/scripts/bundle-facet-workers.mjs +159 -10
  269. package/scripts/bundle-git.mjs +88 -27
  270. package/scripts/bundle-node-shims.mjs +72 -46
  271. package/scripts/bundle-runtime.mjs +18 -421
  272. package/scripts/cf-git-patch.mjs +137 -0
  273. package/scripts/patch-install-deps.mjs +49 -96
  274. package/scripts/runtime-specs.mjs +435 -0
  275. package/vendor/git-http.generated.d.ts +82 -0
  276. package/vendor/git-upstream.generated.d.ts +4378 -0
  277. package/vendor/git.LICENSE +7 -0
  278. package/vendor/git.generated.d.mts +21 -0
  279. package/vendor/git.generated.mjs +103 -0
  280. package/dist/replica/suspension.d.ts +0 -36
  281. package/dist/replica/suspension.d.ts.map +0 -1
  282. package/dist/replica/suspension.js +0 -49
  283. package/dist/runtime/static-server.d.ts +0 -3
  284. package/dist/runtime/static-server.d.ts.map +0 -1
  285. package/dist/runtime/static-server.js +0 -133
  286. package/scripts/clean-dist.mjs +0 -7
@@ -2,7 +2,7 @@ import * as runtimeServices from '../hosted/services.js';
2
2
  import { DurableObject as CloudflareDurableObject } from 'cloudflare:workers';
3
3
  import { SqliteVFS } from '@nimbus-sh/core/vfs/sqlite-vfs.js';
4
4
  import { SessionProcessSupervisor } from '@nimbus-sh/core/runtime/session-process-supervisor.js';
5
- import { SqliteFilesystemAuthority } from '@nimbus-sh/core/runtime/filesystem-authority.js';
5
+ import { ProcessFiles } from '@nimbus-sh/core/runtime/process-files.js';
6
6
  import { PID_GEN_STRIDE } from '@nimbus-sh/core/runtime/process-table.js';
7
7
  import { CRED_KERNEL, CRED_SESSION_USER } from '@nimbus-sh/core/runtime/os-contracts.js';
8
8
  import { PortRegistry } from '@nimbus-sh/core/runtime/port-registry.js';
@@ -32,7 +32,7 @@ import { registerAllocObserver } from '@nimbus-sh/platform/heavy-alloc-coord.js'
32
32
  // (was getEsbuildWasmBytes; cached) to fetchEsbuildWasmBytes (no
33
33
  // supervisor cache; goes through env.ASSETS on demand).
34
34
  import { adoptCtxExports } from '@nimbus-sh/fabric/composition.js';
35
- import { NIMBUS_VERSION, DEFAULT_MOUNT_POINTS } from '@nimbus-sh/core/constants.js';
35
+ import { NIMBUS_VERSION } from '@nimbus-sh/core/constants.js';
36
36
  import { seedBaseFilesystem } from '@nimbus-sh/core/workspace';
37
37
  import { routeSessionLoopback } from './ai.js';
38
38
  import { seedProject, SEED_PROJECT_NAME } from '@nimbus-sh/core/vfs/seed-project.js';
@@ -40,18 +40,8 @@ import { BASE_PATH_HEADER } from '../_shared/session-router.js';
40
40
  import { ATTACH_BOOTSTRAP_JTI_KEY_PREFIX, SESSION_DESTROYED_KEY } from './keys.js';
41
41
  import { appendScrollback } from './state-store.js';
42
42
  import { wireProcessLogSocketBroadcast } from '../runtime/process-logs-api.js';
43
- // S3: tryEnableReplicas + getReplicaState extracted to ./nimbus-session-replica.ts.
44
- // S3: tryEnableReplicas + getReplicaState extracted to ./nimbus-session-replica.ts.
45
43
  import { wireReplicasOnConstruct as _w12WireReplicasOnConstruct, getReplicaState as _w12GetReplicaState } from './replica-routes.js';
46
- // S5: storage-key constants moved to ./nimbus-session-keys.ts; consumed by
47
- // sibling modules (-hib, -diag, -ws). The class file itself no longer
48
- // references any storage key directly.
49
- // S4: W9 hibernation surface extracted.
50
- // S5: storage-key constants moved to ./nimbus-session-keys.ts; consumed by
51
- // sibling modules (-hib, -diag, -ws). The class file itself no longer
52
- // references any storage key directly.
53
- // S4: W9 hibernation surface extracted.
54
- import { wireHibernationOnConstruct as _w9WireHibernationOnConstruct, wireProcessLogPersist as _w9DoWireProcessLogPersist, ensureHibSchema as _w9DoEnsureHibSchema, scheduleHibFlush as _w9DoScheduleHibFlush, clearDestroyedTombstone as _w1ClearDestroyedTombstone, dispatchAlarm as _w9DoDispatchAlarm, flushOnClose as _w9DoFlushOnClose } from './hibernation.js';
44
+ import { wireHibernationOnConstruct as _w9WireHibernationOnConstruct, wireProcessLogPersist as _w9DoWireProcessLogPersist, ensureHibSchema as _w9DoEnsureHibSchema, scheduleHibFlush as _w9DoScheduleHibFlush, clearDestroyedTombstone as _w1ClearDestroyedTombstone, ensureResidentKeepalive as _w1EnsureResidentKeepalive, dispatchAlarm as _w9DoDispatchAlarm, flushOnClose as _w9DoFlushOnClose, noteClientActivity } from './hibernation.js';
55
45
  import { timers } from '@nimbus-sh/fabric/timers.js';
56
46
  import { adoptGeneration, generation } from '@nimbus-sh/fabric/generation.js';
57
47
  // S6: initSession (1875 LOC of cmd registrations + boot wiring) extracted.
@@ -66,42 +56,19 @@ import { wsMessage as _wsDoMessage, wsClose as _wsDoClose, wsError as _wsDoError
66
56
  // S8: Supervisor RPC + W8 cp* + legacy VFS impls extracted.
67
57
  import * as _rpc from './rpc.js';
68
58
  import { buildSessionSupervisorOps } from './supervisor-op.js';
59
+ import { openSupervisorDeliveries } from '@nimbus-sh/core/workspace/supervisor-delivery.js';
69
60
  // S9: HTTP fetch routing extracted (combined S9a + S9b).
70
61
  // S9: HTTP fetch routing extracted (combined S9a + S9b).
71
62
  import * as _routes from './routes.js';
72
63
  import * as _portCapability from './port-capability.js';
73
64
  // Programmatic SDK RPC surface.
74
- // Programmatic SDK RPC surface.
75
65
  import * as _programmatic from './programmatic.js';
76
- // S10: heap probe + W5 OOM-ring persistence extracted.
66
+ import { encodeExecStream } from '@nimbus-sh/core/runtime/exec-stream.js';
77
67
  // S10: heap probe + W5 OOM-ring persistence extracted.
78
68
  import * as _diag from './diag.js';
79
- import { z } from 'zod/v4';
80
- const CpFacetDirectPayloadSchema = z.object({
81
- command: z.unknown().optional().transform((value) => value == null ? '' : String(value)),
82
- args: z.array(z.unknown()).optional().transform((value) => (value || []).map((item) => String(item))),
83
- env: z.record(z.string(), z.unknown()).optional().transform((value) => {
84
- const out = {};
85
- for (const [key, item] of Object.entries(value || {}))
86
- out[key] = String(item);
87
- return out;
88
- }),
89
- cwd: z.unknown().optional().transform((value) => value == null ? '/' : String(value)),
90
- stdin: z.unknown().optional().transform((value) => value == null ? '' : String(value)),
91
- processPid: z.number().int().positive(),
92
- }).passthrough();
93
- function normalizeCpCommandName(name) {
94
- const text = String(name || '').trim();
95
- if (!text.startsWith('/'))
96
- return text;
97
- const slash = text.lastIndexOf('/');
98
- const base = slash >= 0 ? text.slice(slash + 1) : text;
99
- const dir = text.slice(0, Math.max(0, text.length - base.length));
100
- if (dir === '/bin/' || dir === '/usr/bin/' || dir === '/usr/local/bin/') {
101
- return base;
102
- }
103
- return text;
104
- }
69
+ import { ServedReads } from '../facets/read-profile.js';
70
+ /** The ops whose non-null answer is a file's content served to a process. */
71
+ const SERVED_READ_OPS = new Set(['readFile', 'readFileBytes', 'fsReadRange', 'fsReadRangeUncached']);
105
72
  // Re-exports preserved for callers that import from nimbus-session
106
73
  // directly (the historical entry point). Each one has a dedicated
107
74
  // import site elsewhere in the codebase.
@@ -326,6 +293,14 @@ export class NimbusSession extends CloudflareDurableObject {
326
293
  * prevented hibernation per CF DO docs). The alarm itself lives in
327
294
  * DO storage at key `w1_next_alarm_reasons`. */
328
295
  _w1JanitorArmed = false;
296
+ /** W1: idempotency flag for the resident keep-alive alarm cycle — the
297
+ * recurring event that holds this object in memory for as long as a
298
+ * resident process runs (hibernation.ts ensureResidentKeepalive). */
299
+ _w1KeepaliveArmed = false;
300
+ /** W1: when a client last reached this session over HTTP; the keep-alive
301
+ * holds the object only while one is attached or was here within
302
+ * RESIDENT_KEEPALIVE_DETACHED_MS (hibernation.ts residentClientPresent). */
303
+ _w1LastClientActivityAt = 0;
329
304
  /** Destroyed-session tombstone (SESSION_DESTROYED_KEY), hydrated at boot.
330
305
  * While set, log activity never re-arms the janitor alarm cycle. */
331
306
  _w1SessionDestroyed = false;
@@ -337,7 +312,7 @@ export class NimbusSession extends CloudflareDurableObject {
337
312
  * (which it does unconditionally — left null only on a defensive
338
313
  * catch-all).
339
314
  */
340
- // S4: visibility relaxed (was `private`) so ./nimbus-session-hib.ts's
315
+ // S4: visibility relaxed (was `private`) so ./hibernation.ts's
341
316
  // free functions can read/write via the HibHost interface. Per plan
342
317
  // §IX.1 (refined option b'). Sigil `_w9*` flags it as internal.
343
318
  _w9WsConfig = null;
@@ -353,7 +328,7 @@ export class NimbusSession extends CloudflareDurableObject {
353
328
  * also flush eagerly when `dirtyChunks * pidCount` crosses a threshold
354
329
  * — but the debounce handles the steady-state case.
355
330
  *
356
- * S5: storage keys + the debounce constant moved to ./nimbus-session-keys.ts.
331
+ * S5: storage keys + the debounce constant moved to ./keys.ts.
357
332
  */
358
333
  _w9FlushTimer = null;
359
334
  // ── Heap-pressure probe state ───────────────────────────────────────────
@@ -396,7 +371,7 @@ export class NimbusSession extends CloudflareDurableObject {
396
371
  * runtime accepted the SPEC API. Stays `null` if the constructor's
397
372
  * call ran before this assignment (defensive — should never happen).
398
373
  */
399
- // S3: visibility relaxed (was `private`) so ./nimbus-session-replica.ts's
374
+ // S3: visibility relaxed (was `private`) so ./replica-routes.ts's
400
375
  // free functions can read/write via the ReplicaHost interface. Per plan
401
376
  // §IX.1 (refined option b'). Sigil `_w12*` still flags it as internal.
402
377
  _w12EnableResult = null;
@@ -428,11 +403,13 @@ export class NimbusSession extends CloudflareDurableObject {
428
403
  wranglerAliasBannerShown = false;
429
404
  constructor(ctx, env) {
430
405
  super(ctx, env);
406
+ this.supervisorDeliveries = openSupervisorDeliveries(ctx);
431
407
  this.#runtimeServices = runtimeServices.bindRuntimeServices(this, {
432
408
  ctx,
433
409
  env,
434
410
  notify: (line) => this._notifySession(line),
435
411
  requestLaunchTurn: async (at) => { await this._scheduleLaunchTurn(at); },
412
+ armResidentKeepalive: () => _w1EnsureResidentKeepalive(this, ctx),
436
413
  filesystem: () => this.getFilesystemAuthority(),
437
414
  });
438
415
  // In `wrangler dev`, the outer Worker and this DO share a single
@@ -450,7 +427,7 @@ export class NimbusSession extends CloudflareDurableObject {
450
427
  const ctxExports = ctx?.exports;
451
428
  if (ctxExports)
452
429
  adoptCtxExports(ctxExports);
453
- this.portRegistry = new PortRegistry();
430
+ this.portRegistry = new PortRegistry((pid) => _rpc._acquireForRoutedRequest(this, pid));
454
431
  // Generation-unique pids + destroyed tombstone, BEFORE any event runs.
455
432
  // Pid-keyed state outlives instance resets (hibernatable process-log WS
456
433
  // attachments, persisted w9_proc_logs rows, named loader isolates, and
@@ -484,7 +461,7 @@ export class NimbusSession extends CloudflareDurableObject {
484
461
  //
485
462
  // Failures are non-fatal — older workerd builds may lack the APIs.
486
463
  // The result lands in /api/_diag/memory.hib for verification.
487
- // S4: extracted to ./nimbus-session-hib.ts.
464
+ // S4: extracted to ./hibernation.ts.
488
465
  this._w9WsConfig = _w9WireHibernationOnConstruct(this.ctx);
489
466
  // Wire the ProcessLogStore to its persist adapter (CF research §C.2,
490
467
  // Lever 11). Idempotent: only runs once per isolate. The DDL +
@@ -505,12 +482,12 @@ export class NimbusSession extends CloudflareDurableObject {
505
482
  // lacking the API surface get `state: 'unsupported'` and the DO behaves
506
483
  // exactly as pre-W12 (single-primary). Result is captured for the
507
484
  // `/api/_diag/memory.replica` block.
508
- // S3: extracted to ./nimbus-session-replica.ts. Passes ctx
485
+ // S3: extracted to ./replica-routes.ts. Passes ctx
509
486
  // explicitly because `protected ctx` can't be put on a public
510
- // interface (per nimbus-session-replica.ts ReplicaHost docs).
487
+ // interface (per session/replica-routes.ts ReplicaHost docs).
511
488
  this._w12EnableResult = _w12WireReplicasOnConstruct(this.ctx);
512
489
  }
513
- // ── W9 hibernation methods extracted to ./nimbus-session-hib.ts (S4) ──
490
+ // ── W9 hibernation methods extracted to ./hibernation.ts (S4) ──
514
491
  //
515
492
  // The class retains the public method NAMES (delegator pattern per plan
516
493
  // §IX.4 R1: delegators are immortal until S13). Bodies live in -hib.ts.
@@ -562,7 +539,10 @@ export class NimbusSession extends CloudflareDurableObject {
562
539
  */
563
540
  _notifySession(line) {
564
541
  if (this.terminal) {
565
- this.terminal.write(line);
542
+ if (this.shell)
543
+ this.shell.writeNotice(line);
544
+ else
545
+ this.terminal.write(line);
566
546
  return;
567
547
  }
568
548
  try {
@@ -653,7 +633,7 @@ export class NimbusSession extends CloudflareDurableObject {
653
633
  return true;
654
634
  }
655
635
  // ── Supervisor RPC + W8 cp* + legacy VFS extracted to
656
- // ── ./nimbus-session-rpc.ts (S8). See plan §B.3.4.
636
+ // ── ./rpc.ts (S8). See plan §B.3.4.
657
637
  //
658
638
  // The class retains every method NAME so the DO RPC fabric (which
659
639
  // dispatches by name from the stub) keeps working. Method bodies are
@@ -667,12 +647,19 @@ export class NimbusSession extends CloudflareDurableObject {
667
647
  * Lazy: sqliteFs exists only after ensureSqliteFs().
668
648
  */
669
649
  _supervisorOps = null;
670
- filesystemAuthority = null;
650
+ processFiles = null;
651
+ /**
652
+ * This instance's receipts for its processes' mutations delivered exactly
653
+ * once. Opened in the constructor, before anything is spawned, so every
654
+ * SUPERVISOR binding minted from this ctx names this instance.
655
+ */
656
+ supervisorDeliveries;
657
+ /** The session's namespace and process bindings: one, for the workspace, facets and RPC alike. */
671
658
  getFilesystemAuthority() {
672
659
  this.ensureSqliteFs();
673
660
  if (!this.sqliteFs)
674
661
  throw new Error('Filesystem is not initialized');
675
- return this.filesystemAuthority ??= new SqliteFilesystemAuthority(this.sqliteFs);
662
+ return this.processFiles ??= new ProcessFiles(this.sqliteFs);
676
663
  }
677
664
  supervisorOps() {
678
665
  if (!this._supervisorOps)
@@ -689,8 +676,18 @@ export class NimbusSession extends CloudflareDurableObject {
689
676
  }
690
677
  // Supervisor RPC (file/log/HMR/batch)
691
678
  supervisorOp(envelope) {
692
- return this.supervisorOps().dispatch(envelope);
679
+ const answer = this.supervisorOps().dispatch(envelope);
680
+ if (!SERVED_READ_OPS.has(envelope.op) || typeof envelope.pid !== 'number')
681
+ return answer;
682
+ // What this session served a process is the read profile's only evidence (read-profile.ts).
683
+ return answer.then((value) => {
684
+ if (value !== null && value !== undefined)
685
+ this.servedReads.note(envelope.pid, envelope.args?.[0]);
686
+ return value;
687
+ });
693
688
  }
689
+ /** Async reads served per process, for the shared read profile. */
690
+ servedReads = new ServedReads();
694
691
  async _rpcReadFile(path, pid, cred) { return _rpc._rpcReadFile(this, path, pid, cred); }
695
692
  async _rpcReadFileBytes(path, pid, cred) { return _rpc._rpcReadFileBytes(this, path, pid, cred); }
696
693
  async _rpcInnerDoFetch(req) { return _rpc._rpcInnerDoFetch(this, req); }
@@ -710,8 +707,11 @@ export class NimbusSession extends CloudflareDurableObject {
710
707
  async _rpcExists(path, pid, cred) { return _rpc._rpcExists(this, path, pid, cred); }
711
708
  async _rpcMkdir(path, pid, cred) { return _rpc._rpcMkdir(this, path, pid, cred); }
712
709
  async _rpcRename(from, to, pid, cred) { return _rpc._rpcRename(this, from, to, pid, cred); }
713
- async _rpcFsAcquire(epoch, cursor, pid) {
714
- return _rpc._rpcFsAcquire(this, epoch, cursor, pid);
710
+ async _rpcFsAcquire(epoch, cursor, options, pid) {
711
+ return _rpc._rpcFsAcquire(this, epoch, cursor, options, pid);
712
+ }
713
+ async _rpcFsStorageGrant(facet, bytes, databaseSize, pid) {
714
+ return _rpc._rpcFsStorageGrant(this, facet, bytes, databaseSize, pid);
715
715
  }
716
716
  async _rpcFsList(after, limit, pid) {
717
717
  return _rpc._rpcFsList(this, after, limit, pid);
@@ -749,7 +749,7 @@ export class NimbusSession extends CloudflareDurableObject {
749
749
  async _rpcRecordCacheStats(events) { return _rpc._rpcRecordCacheStats(this, events); }
750
750
  async _rpcStdout(pid, data) { return _rpc._rpcStdout(this, pid, data); }
751
751
  async _rpcStderr(pid, data) { return _rpc._rpcStderr(this, pid, data); }
752
- async _rpcReportExit(pid, code, tail) { return _rpc._rpcReportExit(this, pid, code, tail); }
752
+ async _rpcReportExit(pid, code, tail, residencyMisses, profileUnread) { return _rpc._rpcReportExit(this, pid, code, tail, residencyMisses, profileUnread); }
753
753
  // W3 emitters / external-exit / log janitor
754
754
  _emitExitDump(pid, code) { return _rpc._emitExitDump(this, pid, code); }
755
755
  _emitShellExecDone(pid, cmd, code, durationMs) { return _rpc._emitShellExecDone(this, pid, cmd, code, durationMs); }
@@ -790,11 +790,11 @@ export class NimbusSession extends CloudflareDurableObject {
790
790
  async _rpcCpSpawn(req) { return _rpc._rpcCpSpawn(this, req); }
791
791
  async _rpcCpStdinWrite(childPid, data) { return _rpc._rpcCpStdinWrite(this, childPid, data); }
792
792
  async _rpcCpStdinEnd(childPid) { return _rpc._rpcCpStdinEnd(this, childPid); }
793
- async _rpcCpReadStdin(childPid, waitMs) { return _rpc._rpcCpReadStdin(this, childPid, waitMs); }
794
- async _rpcCpReadOutput(childPid, fd, sinceSeq, waitMs) { return _rpc._rpcCpReadOutput(this, childPid, fd, sinceSeq, waitMs); }
793
+ async _rpcCpReadStdin(childPid, waitMs, acquire, pid) { return _rpc._rpcCpReadStdin(this, childPid, waitMs, acquire, pid); }
794
+ async _rpcCpReadOutput(childPid, fd, sinceSeq, waitMs, acquire, pid) { return _rpc._rpcCpReadOutput(this, childPid, fd, sinceSeq, waitMs, acquire, pid); }
795
795
  async _rpcCpDrainOutput(childPid) { return _rpc._rpcCpDrainOutput(this, childPid); }
796
796
  async _rpcCpKill(childPid, signal) { return _rpc._rpcCpKill(this, childPid, signal); }
797
- async _rpcCpWait(childPid, waitMs) { return _rpc._rpcCpWait(this, childPid, waitMs); }
797
+ async _rpcCpWait(childPid, waitMs, acquire, pid) { return _rpc._rpcCpWait(this, childPid, waitMs, acquire, pid); }
798
798
  // child-process isolation gap #1: per-spawn fresh-isolate dispatch.
799
799
  async _rpcCpDispatchInline(req, kind) { return _rpc._rpcCpDispatchInline(this, req, kind); }
800
800
  // Programmatic sandbox SDK RPC
@@ -805,7 +805,10 @@ export class NimbusSession extends CloudflareDurableObject {
805
805
  * full `ready` isolates the platform DO-placement floor from the
806
806
  * initSession build cost. */
807
807
  async _rpcBootProbe() { return { ok: true }; }
808
- async _rpcExec(command, options) { return _programmatic.rpcExec(this, command, options); }
808
+ /** The command's output as it is written: an encoded exec stream (`@nimbus-sh/core/runtime/exec-stream`). */
809
+ async _rpcExecStream(command, options) {
810
+ return encodeExecStream(await _programmatic.rpcExecStream(this, command, options));
811
+ }
809
812
  async _rpcStartProcess(command, options) { return _programmatic.rpcStartProcess(this, command, options); }
810
813
  async _rpcRunCode(code, options) {
811
814
  return _programmatic.rpcRunCode(this, code, options);
@@ -881,6 +884,9 @@ export class NimbusSession extends CloudflareDurableObject {
881
884
  vfsWriteFile(path, data) { return _rpc.vfsWriteFile(this, path, data); }
882
885
  // ── HTTP handler ──────────────────────────────────────────────────────
883
886
  async fetch(request) {
887
+ // Every client reaches the session through here; facets reach it
888
+ // through RPC, which is deliberately not counted.
889
+ noteClientActivity(this, this.ctx);
884
890
  try {
885
891
  return await this._handleFetch(request);
886
892
  }
@@ -889,7 +895,7 @@ export class NimbusSession extends CloudflareDurableObject {
889
895
  return new Response(`Internal Error: ${e?.message}`, { status: 500 });
890
896
  }
891
897
  }
892
- // ── HTTP fetch routing extracted to ./nimbus-session-routes.ts (S9).
898
+ // ── HTTP fetch routing extracted to ./routes.ts (S9).
893
899
  // The class retains the DO-contract `fetch` method + `_handleFetch`
894
900
  // delegator (per plan §IX.4 R1).
895
901
  async _handleFetch(request) {
@@ -904,13 +910,13 @@ export class NimbusSession extends CloudflareDurableObject {
904
910
  */
905
911
  // ── W12 — getReplicaState() — exposed via /api/_diag/memory.replica.
906
912
  //
907
- // Delegator. Impl extracted to ./nimbus-session-replica.ts (S3).
913
+ // Delegator. Impl extracted to ./replica-routes.ts (S3).
908
914
  // Stays public-by-name so the diag handler at /api/_diag/memory keeps
909
915
  // working unchanged. The CT1 drift detector reads the result.
910
916
  getReplicaState() {
911
917
  return _w12GetReplicaState(this, this.ctx);
912
918
  }
913
- // Heap probe + W5 ring helpers extracted to ./nimbus-session-diag.ts (S10).
919
+ // Heap probe + W5 ring helpers extracted to ./diag.ts (S10).
914
920
  // The class retains delegator methods because the diag handler at
915
921
  // /api/_diag/memory + the ws lifecycle + ensureSqliteFs all call them.
916
922
  _diagReadNodeMem() {
@@ -962,7 +968,7 @@ export class NimbusSession extends CloudflareDurableObject {
962
968
  return this.sqliteFs;
963
969
  }
964
970
  // ── W5 Lever 5: ring buffer persistence on DO storage ─────────────────
965
- // Storage key W5_RING_STORAGE_KEY lives in ./nimbus-session-keys.ts (S5).
971
+ // Storage key W5_RING_STORAGE_KEY lives in ./keys.ts (S5).
966
972
  // Bounded ≤20 KB by oom-discriminator.ts; one async put per
967
973
  // webSocketClose where the ring is non-empty.
968
974
  /** Track when we last persisted to avoid redundant writes. */
@@ -979,7 +985,7 @@ export class NimbusSession extends CloudflareDurableObject {
979
985
  async _w5RehydrateRingFromStorage() {
980
986
  return _diag.rehydrateRingFromStorage(this, this.ctx);
981
987
  }
982
- /** Snapshot + persist OOM ring. Delegator → ./nimbus-session-diag.ts (S10). */
988
+ /** Snapshot + persist OOM ring. Delegator → ./session/diag.ts (S10). */
983
989
  _w5PersistRing() {
984
990
  return _diag.persistRing(this, this.ctx);
985
991
  }
@@ -1037,7 +1043,7 @@ export class NimbusSession extends CloudflareDurableObject {
1037
1043
  // ── Session initialization ────────────────────────────────────────────
1038
1044
  // ── Session initialization ────────────────────────────────────────────
1039
1045
  //
1040
- // S6: body extracted to ./nimbus-session-init.ts (1875 LOC of registry
1046
+ // S6: body extracted to ./init.ts (1875 LOC of registry
1041
1047
  // command registrations + boot wiring). The class retains `initSession`
1042
1048
  // as a delegator per plan §IX.4 R1. Visibility relaxed (was `private`)
1043
1049
  // so the SessionInternal interface declares it.
@@ -1071,7 +1077,7 @@ export class NimbusSession extends CloudflareDurableObject {
1071
1077
  * checks and changes nothing.
1072
1078
  */
1073
1079
  seedFilesystem() {
1074
- seedBaseFilesystem(this.sqliteFs, DEFAULT_MOUNT_POINTS);
1080
+ seedBaseFilesystem(this.sqliteFs);
1075
1081
  const fs = this.sqliteFs.as(CRED_SESSION_USER);
1076
1082
  const rootFs = this.sqliteFs.as(CRED_KERNEL);
1077
1083
  {
@@ -1130,7 +1136,7 @@ export class NimbusSession extends CloudflareDurableObject {
1130
1136
  }
1131
1137
  // ── WebSocket lifecycle ───────────────────────────────────────────────
1132
1138
  //
1133
- // S7: bodies extracted to ./nimbus-session-ws.ts. Class retains the
1139
+ // S7: bodies extracted to ./ws.ts. Class retains the
1134
1140
  // method NAMES per plan §IX.4 R1 (DO RPC fabric needs them). Visibility
1135
1141
  // relaxed for the methods (default-public; was async/private).
1136
1142
  async webSocketMessage(ws, message) {
@@ -1142,11 +1148,11 @@ export class NimbusSession extends CloudflareDurableObject {
1142
1148
  async webSocketError(ws, error) {
1143
1149
  return _wsDoError(this, ws, error);
1144
1150
  }
1145
- /** W9: synchronous flush on close. Delegator → ./nimbus-session-hib.ts (S4). */
1151
+ /** W9: synchronous flush on close. Delegator → ./session/hibernation.ts (S4). */
1146
1152
  _w9FlushOnClose() {
1147
1153
  return _w9DoFlushOnClose(this);
1148
1154
  }
1149
- /** W5: bridge _w5PersistRing → ctx.waitUntil. Delegator → ./nimbus-session-ws.ts (S7). */
1155
+ /** W5: bridge _w5PersistRing → ctx.waitUntil. Delegator → ./session/ws.ts (S7). */
1150
1156
  _w5SafePersistRing() {
1151
1157
  return _wsDoSafePersistRing(this);
1152
1158
  }
@@ -1 +1 @@
1
- {"version":3,"file":"npm-install-port.d.ts","sourceRoot":"","sources":["../../src/session/npm-install-port.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uDAAuD,CAAC;AAI5F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,KAAK,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,gBAAgB,GAAG,oBAAoB,GAAG,wBAAwB,CAAC,CAAC;AAE7G,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,GAAG,cAAc,CAyCtE"}
1
+ {"version":3,"file":"npm-install-port.d.ts","sourceRoot":"","sources":["../../src/session/npm-install-port.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uDAAuD,CAAC;AAI5F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,KAAK,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,gBAAgB,GAAG,oBAAoB,GAAG,wBAAwB,CAAC,CAAC;AAE7G,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,GAAG,cAAc,CA2CtE"}
@@ -13,7 +13,9 @@ export function createNpmInstallPort(self) {
13
13
  const result = await installer.install(installCwd, {
14
14
  packages: spec.packages.length > 0 ? [...spec.packages] : undefined,
15
15
  production: spec.production,
16
+ fromLockfile: spec.fromLockfile,
16
17
  pid: spec.pid,
18
+ registry: spec.registry,
17
19
  npmLog: spec.npmLog ?? undefined,
18
20
  onProgress: spec.onProgress,
19
21
  });
@@ -16,6 +16,7 @@ import type { SqliteVFS } from '@nimbus-sh/core/vfs/sqlite-vfs.js';
16
16
  import { type VfsCred } from '@nimbus-sh/core/runtime/os-contracts.js';
17
17
  import { type PortVisibility } from './port-capability.js';
18
18
  import type { LongRunningWorkerSpawnOptions, ResidentAppSummary, ResidentIdentity, ResidentRestartPolicy, SpawnedWorker } from '../facets/manager.js';
19
+ import { type ExecOutput, type ExecStream } from '@nimbus-sh/core/runtime/exec-stream.js';
19
20
  import type { RuntimeManager } from '@nimbus-sh/core/runtime/runtime-manager.js';
20
21
  export interface ProgrammaticShell {
21
22
  env?: Record<string, string>;
@@ -28,9 +29,9 @@ export interface ProgrammaticShell {
28
29
  interface ProgrammaticShellExecuteOptions {
29
30
  cwd?: string;
30
31
  env?: Record<string, string>;
31
- /** Bytes, as the shell's own ExecuteOptions: a process's stdio is bytes. */
32
- onStdout?: (data: Uint8Array) => void;
33
- onStderr?: (data: Uint8Array) => void;
32
+ /** Bytes, as the shell's own ExecuteOptions: a process's stdio is bytes. A returned promise is backpressure. */
33
+ onStdout?: (data: Uint8Array) => void | Promise<void>;
34
+ onStderr?: (data: Uint8Array) => void | Promise<void>;
34
35
  signal?: AbortSignal;
35
36
  stdin?: string;
36
37
  isolateShellState?: boolean;
@@ -155,15 +156,8 @@ export interface ProgrammaticDestroyResult {
155
156
  destroyedAt: number;
156
157
  reason: string | null;
157
158
  }
158
- export interface ProgrammaticExecResult {
159
- command: string;
160
- exitCode: number;
161
- success: boolean;
162
- stdout: string;
163
- stderr: string;
164
- duration: number;
165
- timestamp: number;
166
- }
159
+ /** The buffered exec result: the exec stream read to its end. */
160
+ export type ProgrammaticExecResult = ExecOutput;
167
161
  /**
168
162
  * A started background process. There is no exit code or output here — the
169
163
  * process is still running when this returns. Read both back through
@@ -198,7 +192,14 @@ export declare function ensureProgrammaticReady(self: ProgrammaticHost, options?
198
192
  ok: true;
199
193
  preinstalled: string[];
200
194
  }>;
195
+ /** Buffered exec: the exec stream collected into strings by the caller of this function. */
201
196
  export declare function rpcExec(self: ProgrammaticHost, command: string, options?: ProgrammaticExecOptions): Promise<ProgrammaticExecResult>;
197
+ /**
198
+ * Run a command and hand back its output as it is written. Resolves once the
199
+ * command has started (after any earlier call on the same named shell);
200
+ * validation and readiness failures reject here, not on the stream.
201
+ */
202
+ export declare function rpcExecStream(self: ProgrammaticHost, command: string, options?: ProgrammaticExecOptions): Promise<ExecStream>;
202
203
  /**
203
204
  * Start a command in the background and return its handle immediately.
204
205
  *
@@ -378,12 +379,6 @@ export declare function rpcRemoveDurableApp(self: ProgrammaticHost, owner: strin
378
379
  removed: boolean;
379
380
  port: number | null;
380
381
  }>;
381
- /**
382
- * Route an embedder request that carries a port capability. The embedder has
383
- * authenticated the capability at its edge and stripped its own credentials,
384
- * so the guest's `Authorization` is preserved through this path and no other.
385
- */
386
- export declare function rpcRouteCapabilityPort(self: ProgrammaticHost, port: number, capability: string, request: Request, pathname: string): Promise<Response>;
387
382
  /**
388
383
  * `spawnWorker` for a colocated embedder holding the DO stub: boot the
389
384
  * embedder's own Worker-class program — its main module, inline modules and
@@ -1 +1 @@
1
- {"version":3,"file":"programmatic.d.ts","sourceRoot":"","sources":["../../src/session/programmatic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"programmatic.d.ts","sourceRoot":"","sources":["../../src/session/programmatic.ts"],"names":[],"mappings":"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"}