@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
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/hosted/commands.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAuB5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGvE,oFAAoF;AACpF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,eAAe,EACnD,oBAAoB,GAAG,gBAAgB,GAAG,cAAc,GAAG,eAAe,GAAG,YAAY,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,cAAc,GAAG,cAAc,GAAG,WAAW,GAAG,iBAAiB,GAAG,UAAU,GAAG,cAAc,GAAG,eAAe,GAAG,0BAA0B,CAClV,GAAG;IACF,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAC;IAChC,aAAa,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IAChD,sBAAsB,EAAE,eAAe,CAAC,wBAAwB,CAAC,CAAC;CACnE,CAAC;AAEF,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA6qDhH"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/hosted/commands.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAwB5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGvE,oFAAoF;AACpF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,eAAe,EACnD,oBAAoB,GAAG,gBAAgB,GAAG,cAAc,GAAG,eAAe,GAAG,YAAY,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,cAAc,GAAG,cAAc,GAAG,WAAW,GAAG,iBAAiB,GAAG,UAAU,GAAG,cAAc,GAAG,eAAe,GAAG,0BAA0B,CAClV,GAAG;IACF,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAC;IAChC,aAAa,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IAChD,sBAAsB,EAAE,eAAe,CAAC,wBAAwB,CAAC,CAAC;CACnE,CAAC;AAEF,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA0/ChH"}
@@ -1,13 +1,15 @@
1
- import { Shell, createCurlCommand, createNpmCommand, NPM_VERSION, createTopCommand, createWatchCommand, createHelpCommand, rehydrateGlobalPackages } from '@nimbus-sh/core/substrate/lifo/index.js';
1
+ import { Shell, createCurlCommand, createNpmCommand, NPM_VERSION, createTopCommand, createWatchCommand, createHelpCommand } from '@nimbus-sh/core/substrate/lifo/index.js';
2
2
  import { createKillCommand } from '@nimbus-sh/core/substrate/lifo/commands/system/kill.js';
3
+ import { exitCodeForSignal, signalDisposition } from '@nimbus-sh/core/substrate/lifo/shell/signals.js';
3
4
  import { textSink } from '@nimbus-sh/core/_shared/bytes.js';
4
5
  import { BASH_RUNNER, CRED_KERNEL, requireVfsCred } from '@nimbus-sh/core/runtime/os-contracts.js';
5
- import { ExecutionFs } from '@nimbus-sh/core/shell/execution-fs.js';
6
- import { EsbuildService } from '@nimbus-sh/core/runtime/esbuild-service.js';
6
+ import { ProcessView } from '@nimbus-sh/core/runtime/process-files.js';
7
+ import { makeEsbuildCommand } from '@nimbus-sh/core/runtime/esbuild-cli.js';
8
+ import { runEsbuildCli, supervisorEsbuildService } from '../facets/esbuild-transform.js';
7
9
  import { runFresh } from '../runtime/node-runner.js';
8
10
  import { runBunScript, BUN_VERSION } from '../runtime/bun-runner.js';
9
11
  import { buildRuntimeHandler, resolveRuntimeScriptPath } from '@nimbus-sh/core/runtime/runtime-registry.js';
10
- import { normalizeVfsPath, parentVfsPath, resolveVfsPath } from '@nimbus-sh/core/vfs/path.js';
12
+ import { normalizeVfsPath, resolveVfsPath } from '@nimbus-sh/core/vfs/path.js';
11
13
  import { NimbusWrangler } from '../wrangler/nimbus-wrangler.js';
12
14
  import { filterWranglerFlags, detectBundlerBin, checkNodeModulesGuard, detectUnsupportedWranglerConfig, refusedNextSubcommand, NEXT_REFUSAL_MESSAGE } from '../session/helpers.js';
13
15
  import { createViteCommand } from '../session/vite-command.js';
@@ -28,6 +30,7 @@ import { makeNimbusVerbHandler } from '@nimbus-sh/core/runtime/nimbus-command.js
28
30
  export async function registerHostedCommands(self, workspace) {
29
31
  const sqliteFs = workspace.vfs;
30
32
  const kernelFs = sqliteFs.as(CRED_KERNEL);
33
+ const namespaceFs = workspace.filesystem.namespaceFs(CRED_KERNEL);
31
34
  const kernel = workspace.kernel;
32
35
  const shell = workspace.shell;
33
36
  const registry = workspace.registry;
@@ -44,6 +47,48 @@ export async function registerHostedCommands(self, workspace) {
44
47
  setUmask: (mask) => self.processes.setUmask(pid, mask),
45
48
  runAs: runAsProcess,
46
49
  });
50
+ // `kill` is the shell's builtin; the session's own processes (resident
51
+ // servers, the vite shim), numbered in this table's pid space, are reached
52
+ // through here, and their teardown releases what they hold.
53
+ const hostSignals = {
54
+ isLive: (pid) => self._viteShimPid === pid || self.processes.get(pid)?.state === 'running',
55
+ async signal(pid, signal, stderr) {
56
+ // Ending one is the only thing a resident's teardown can do: it has no
57
+ // stop, continue or handler delivery behind it.
58
+ if (signalDisposition(signal) !== 'terminate')
59
+ return 'unsupported';
60
+ // runtime primitive support (P11): the vite shim PID (registered by
61
+ // P5's long-running spawn) also tears down the in-process
62
+ // viteDevServer / cirrusReal — facetManager.kill only handles real
63
+ // Worker-Loader facets, and would leave the shim running with its port
64
+ // registered against a dead PID.
65
+ if (self._viteShimPid === pid) {
66
+ try {
67
+ if (self.cirrusReal?.isRunning) {
68
+ self.cirrusReal.stop(self.ctx);
69
+ self.cirrusReal = null;
70
+ }
71
+ if (self.viteDevServer?.isRunning) {
72
+ self.viteDevServer.stop();
73
+ self.viteDevServer = null;
74
+ await self.ctx.storage.delete(VITE_CONFIG_KEY);
75
+ }
76
+ }
77
+ catch (error) {
78
+ await stderr.write(`kill: while stopping vite shim: ${error instanceof Error ? error.message : String(error)}\n`);
79
+ }
80
+ const code = exitCodeForSignal(signal);
81
+ self.portRegistry.unregisterByPid(pid);
82
+ self.processes.kill(pid, code);
83
+ notifyTerminalEvent(terminal, { type: 'exit', pid, code, reason: `SIG${signal}`, command: 'vite' });
84
+ self._viteShimPid = null;
85
+ self._viteShimPort = null;
86
+ return 'delivered';
87
+ }
88
+ return facetMgr.kill(pid, signal) ? 'delivered' : 'no-such-process';
89
+ },
90
+ };
91
+ shell.setHostProcessSignals(hostSignals);
47
92
  self._setCpRegistry(registry);
48
93
  registry.register('chsh', makeChshCommand({
49
94
  isBashInstalled: async (home) => (await listInstalledRuntimes(sqliteFs, home)).some((runtime) => runtime.name === 'bash'),
@@ -210,7 +255,7 @@ export async function registerHostedCommands(self, workspace) {
210
255
  cred,
211
256
  setUmask: (mask) => ctx.setUmask(mask),
212
257
  runAs: (targetCred, argv) => ctx.runAs(targetCred, argv),
213
- vfs: new ExecutionFs(workspace.filesystem.bind({ pid, cred })),
258
+ vfs: new ProcessView(workspace.filesystem.bind({ pid, cred })),
214
259
  signal: new AbortController().signal,
215
260
  stdout,
216
261
  stderr,
@@ -282,7 +327,7 @@ export async function registerHostedCommands(self, workspace) {
282
327
  getEsbuild: () => {
283
328
  if (!self.esbuildService) {
284
329
  self.ensureSqliteFs();
285
- self.esbuildService = new EsbuildService(kernelFs);
330
+ self.esbuildService = supervisorEsbuildService(self.ctx, self.env, namespaceFs);
286
331
  }
287
332
  return self.esbuildService;
288
333
  },
@@ -430,7 +475,7 @@ export async function registerHostedCommands(self, workspace) {
430
475
  getEsbuild: () => {
431
476
  if (!self.esbuildService) {
432
477
  self.ensureSqliteFs();
433
- self.esbuildService = new EsbuildService(kernelFs);
478
+ self.esbuildService = supervisorEsbuildService(self.ctx, self.env, namespaceFs);
434
479
  }
435
480
  return self.esbuildService;
436
481
  },
@@ -474,7 +519,7 @@ export async function registerHostedCommands(self, workspace) {
474
519
  getEsbuild: () => {
475
520
  if (!self.esbuildService) {
476
521
  self.ensureSqliteFs();
477
- self.esbuildService = new EsbuildService(kernelFs);
522
+ self.esbuildService = supervisorEsbuildService(self.ctx, self.env, namespaceFs);
478
523
  }
479
524
  return self.esbuildService;
480
525
  },
@@ -489,170 +534,11 @@ export async function registerHostedCommands(self, workspace) {
489
534
  registry.register('curl', createCurlCommand(kernel));
490
535
  }
491
536
  catch { }
492
- // ── df with SQLite stats + cache + process metrics ──────────────────
493
- registry.register('df', async (ctx) => {
494
- const stats = sqliteFs.getStats();
495
- const pstats = facetMgr.stats;
496
- const used = stats.usedBytes;
497
- const cap = stats.capacityBytes;
498
- const avail = cap - used;
499
- const pct = ((used / cap) * 100).toFixed(0);
500
- const fmt = (b) => {
501
- if (b >= 1e9)
502
- return (b / 1e9).toFixed(1) + 'G';
503
- if (b >= 1e6)
504
- return (b / 1e6).toFixed(1) + 'M';
505
- if (b >= 1e3)
506
- return (b / 1e3).toFixed(1) + 'K';
507
- return b + 'B';
508
- };
509
- ctx.stdout.write('Filesystem Size Used Avail Use% Mounted on\n');
510
- ctx.stdout.write('sqlite ' + fmt(cap).padStart(5) + ' ' + fmt(used).padStart(5) +
511
- ' ' + fmt(avail).padStart(5) + ' ' + pct.padStart(3) + '% /\n');
512
- ctx.stdout.write('\nCache: ' + stats.cache.entries + '/' + stats.cache.maxEntries +
513
- ' slots | hit rate: ' + stats.cache.hitRate +
514
- '% | evictions: ' + stats.cache.evictions + '\n');
515
- ctx.stdout.write('Procs: ' + pstats.running + ' running, ' +
516
- pstats.exited + ' exited, ' +
517
- pstats.total + ' total (next PID: ' + pstats.nextPid + ')\n');
518
- return 0;
519
- });
520
- // ── esbuild command: transform/bundle via esbuild facet ───────────────
521
- // Lazy-creates the EsbuildService on first use (esbuild-wasm is ~10MB).
522
- registry.register('esbuild', async (ctx) => {
523
- const args = ctx.args || [];
524
- if (args.includes('--version')) {
525
- ctx.stdout.write('0.24.2 (esbuild-wasm, bundled)\n');
526
- return 0;
527
- }
528
- if (args.includes('--help') || args.length === 0) {
529
- ctx.stdout.write('Usage: esbuild [options] [entry points]\n\n');
530
- ctx.stdout.write('Options:\n');
531
- ctx.stdout.write(' --bundle Bundle all dependencies into output\n');
532
- ctx.stdout.write(' --outfile=<path> Write output to a file\n');
533
- ctx.stdout.write(' --outdir=<path> Write output to a directory\n');
534
- ctx.stdout.write(' --format=esm|cjs Output format (default: esm)\n');
535
- ctx.stdout.write(' --platform=browser|node Target platform\n');
536
- ctx.stdout.write(' --minify Minify output\n');
537
- ctx.stdout.write(' --sourcemap Generate source maps\n');
538
- ctx.stdout.write(' --target=<target> JS target (default: esnext)\n');
539
- ctx.stdout.write(' --loader=<loader> Force file loader (ts, tsx, jsx, css)\n');
540
- ctx.stdout.write(' --version Show version\n');
541
- ctx.stdout.write('\nPowered by esbuild-wasm (bundled in supervisor).\n');
542
- return 0;
543
- }
544
- // Lazy-init esbuild service
545
- if (!self.esbuildService) {
546
- self.ensureSqliteFs();
547
- self.esbuildService = new EsbuildService(kernelFs);
548
- }
549
- // Parse flags
550
- const flags = {};
551
- const entryPoints = [];
552
- for (const arg of args) {
553
- if (arg.startsWith('--')) {
554
- const eqIdx = arg.indexOf('=');
555
- if (eqIdx > 0) {
556
- flags[arg.substring(2, eqIdx)] = arg.substring(eqIdx + 1);
557
- }
558
- else {
559
- flags[arg.substring(2)] = 'true';
560
- }
561
- }
562
- else {
563
- entryPoints.push(arg);
564
- }
565
- }
566
- // Transform-only mode (single file, no --bundle)
567
- if (entryPoints.length === 1 && !flags['bundle']) {
568
- // Read the file and transform it
569
- const filePath = resolveVfsPath(entryPoints[0], ctx.cwd || '/home/user');
570
- let code;
571
- try {
572
- code = kernelFs.readFileString(filePath);
573
- }
574
- catch {
575
- ctx.stderr.write(`esbuild: could not read file: ${entryPoints[0]}\n`);
576
- return 1;
577
- }
578
- try {
579
- ctx.stderr.write('Transforming...\n');
580
- const result = await self.esbuildService.transform(code, {
581
- loader: flags['loader'] || (() => {
582
- const ext = filePath.split('.').pop()?.toLowerCase();
583
- return { ts: 'ts', tsx: 'tsx', jsx: 'jsx', js: 'js', mts: 'ts', mjs: 'js', css: 'css', json: 'json' }[ext || ''];
584
- })(),
585
- format: flags['format'] || 'esm',
586
- target: flags['target'] || 'esnext',
587
- sourcemap: flags['sourcemap'] === 'true',
588
- minify: flags['minify'] === 'true',
589
- });
590
- if (flags['outfile']) {
591
- const outPath = resolveVfsPath(flags['outfile'], ctx.cwd || '/home/user');
592
- const parent = parentVfsPath(outPath);
593
- if (parent && !kernelFs.exists(parent))
594
- kernelFs.mkdir(parent, { recursive: true });
595
- kernelFs.writeFile(outPath, result.code);
596
- ctx.stdout.write(` ${outPath} ${result.code.length} bytes\n`);
597
- }
598
- else {
599
- ctx.stdout.write(result.code);
600
- }
601
- for (const w of result.warnings || []) {
602
- ctx.stderr.write(`warning: ${w.text}\n`);
603
- }
604
- return 0;
605
- }
606
- catch (e) {
607
- ctx.stderr.write(`esbuild error: ${e?.message || e}\n`);
608
- return 1;
609
- }
610
- }
611
- // Bundle mode
612
- if (entryPoints.length === 0) {
613
- ctx.stderr.write('esbuild: no entry points specified\n');
614
- return 1;
615
- }
616
- // Resolve entry points relative to cwd
617
- const resolvedEntryPoints = entryPoints.map(ep => resolveVfsPath(ep, ctx.cwd || '/home/user'));
618
- try {
619
- ctx.stderr.write('Bundling...\n');
620
- const result = await self.esbuildService.build(resolvedEntryPoints, {
621
- bundle: flags['bundle'] === 'true',
622
- format: flags['format'] || 'esm',
623
- target: flags['target'] || 'esnext',
624
- platform: flags['platform'] || 'browser',
625
- outdir: flags['outfile'] ? undefined : (flags['outdir'] || '/dist'),
626
- outfile: flags['outfile'],
627
- sourcemap: flags['sourcemap'] === 'true',
628
- minify: flags['minify'] === 'true',
629
- external: flags['external']?.split(','),
630
- });
631
- for (const e of result.errors || []) {
632
- ctx.stderr.write(`error: ${e.text}\n`);
633
- }
634
- for (const w of result.warnings || []) {
635
- ctx.stderr.write(`warning: ${w.text}\n`);
636
- }
637
- if (result.errors?.length)
638
- return 1;
639
- // Write output files to VFS
640
- for (const f of result.outputFiles || []) {
641
- const outPath = normalizeVfsPath(f.path);
642
- const parent = parentVfsPath(outPath);
643
- if (parent && !kernelFs.exists(parent))
644
- kernelFs.mkdir(parent, { recursive: true });
645
- kernelFs.writeFile(outPath, f.contents);
646
- ctx.stdout.write(` ${outPath} ${f.contents.length} bytes\n`);
647
- }
648
- ctx.stderr.write(`Done (${result.outputFiles?.length || 0} output files)\n`);
649
- return 0;
650
- }
651
- catch (e) {
652
- ctx.stderr.write(`esbuild error: ${e?.message || e}\n`);
653
- return 1;
654
- }
655
- });
537
+ // ── esbuild: the real esbuild CLI, in the session's esbuild facet ─────
538
+ // See @nimbus-sh/core runtime/esbuild-cli.ts.
539
+ registry.register('esbuild', makeEsbuildCommand({
540
+ run: (args, ctx, output) => runEsbuildCli(self.ctx, self.env, ctx.pid, args, output),
541
+ }));
656
542
  // ── vite command: start/stop the dev server ──────────────────────────
657
543
  registry.register('vite', createViteCommand(self));
658
544
  // ── nimbus-wrangler / wrangler command: Worker dev server ─────────────
@@ -715,7 +601,7 @@ export async function registerHostedCommands(self, workspace) {
715
601
  // Lazy-init esbuild
716
602
  if (!self.esbuildService) {
717
603
  self.ensureSqliteFs();
718
- self.esbuildService = new EsbuildService(kernelFs);
604
+ self.esbuildService = supervisorEsbuildService(self.ctx, self.env, namespaceFs);
719
605
  }
720
606
  // Parse --root flag; default to the shell cwd so `npm run dev` from
721
607
  // a project directory picks up that project's wrangler.jsonc.
@@ -821,7 +707,7 @@ export async function registerHostedCommands(self, workspace) {
821
707
  await self.ensureNpmInstaller((msg) => {
822
708
  ctx.stdout.write('[npm] ' + msg + '\n');
823
709
  });
824
- const result = await self.npmInstaller.install(cwd, { packages, pid: ctx.pid });
710
+ const result = await self.npmInstaller.install(cwd, { packages, pid: ctx.pid, registry: ctx.env?.NPM_REGISTRY });
825
711
  if (result.failed.length > 0) {
826
712
  ctx.stderr.write('\x1b[31mFailed: ' + result.failed.join(', ') + '\x1b[0m\n');
827
713
  }
@@ -886,6 +772,7 @@ export async function registerHostedCommands(self, workspace) {
886
772
  const identity = commandIdentityFor(childProcess.pid);
887
773
  const terminal = new HeadlessTerminal();
888
774
  const childShell = new Shell(terminal, workspace.filesystem, registry, { ...env, ...(options?.env || {}) }, processRegistry, identity);
775
+ childShell.setHostProcessSignals(hostSignals);
889
776
  HeredocHandler.install(childShell, terminal);
890
777
  if (options?.cwd)
891
778
  childShell.setCwd(options.cwd);
@@ -916,7 +803,7 @@ export async function registerHostedCommands(self, workspace) {
916
803
  if (opts.longRunning)
917
804
  self.processes.setLongRunning(pid);
918
805
  const startedAt = Date.now();
919
- // Spawn banner — matches facet-manager.ts onSpawn format.
806
+ // Spawn banner — matches facets/manager.ts onSpawn format.
920
807
  if (terminal) {
921
808
  const label = opts.longRunning ? 'started (long-running)' : 'started';
922
809
  terminal.write(`\x1b[2m[shell ${label}: pid=${pid} cmd="${cmd}"]\x1b[0m\r\n`);
@@ -1374,7 +1261,7 @@ export async function registerHostedCommands(self, workspace) {
1374
1261
  await self.ensureNpmInstaller((msg) => ctx.stdout.write('[npm] ' + msg + '\n'));
1375
1262
  self.ensureSqliteFs();
1376
1263
  const installer = self.npmInstaller;
1377
- const resolveResult = await resolveNpxBinary(installer, sqliteFs.as(requireVfsCred(ctx.cred, 'npx')), ctx.cwd || '/home/user', npxArgs, (msg) => ctx.stdout.write(msg + '\n'), ctx.pid);
1264
+ const resolveResult = await resolveNpxBinary(installer, sqliteFs.as(requireVfsCred(ctx.cred, 'npx')), ctx.cwd || '/home/user', npxArgs, (msg) => ctx.stdout.write(msg + '\n'), ctx.pid, ctx.env?.NPM_REGISTRY);
1378
1265
  if (resolveResult.ok && resolveResult.binPath) {
1379
1266
  const nodeCmd = await registry.resolve('node');
1380
1267
  if (nodeCmd) {
@@ -1572,76 +1459,8 @@ export async function registerHostedCommands(self, workspace) {
1572
1459
  }
1573
1460
  return 0;
1574
1461
  });
1575
- const shellKillCommand = createKillCommand(processRegistry);
1576
- registry.register('kill', async (ctx) => {
1577
- const pidArg = ctx.args[0];
1578
- if (!pidArg) {
1579
- ctx.stderr.write('Usage: kill <pid>\n');
1580
- return 1;
1581
- }
1582
- if (pidArg.startsWith('-') || pidArg.startsWith('%')) {
1583
- return shellKillCommand(ctx);
1584
- }
1585
- const pid = parseInt(pidArg);
1586
- if (isNaN(pid)) {
1587
- ctx.stderr.write('kill: invalid pid\n');
1588
- return 1;
1589
- }
1590
- if (processRegistry.get(pid)) {
1591
- return shellKillCommand(ctx);
1592
- }
1593
- // runtime primitive support (P11): if the target is the vite shim PID
1594
- // (registered by P5's long-running spawn), tear down the
1595
- // in-process viteDevServer / cirrusReal too — facetManager.kill
1596
- // only handles real Worker-Loader facets, and would leave the
1597
- // shim running with its port registered against a dead PID.
1598
- if (self._viteShimPid === pid) {
1599
- try {
1600
- if (self.cirrusReal?.isRunning) {
1601
- self.cirrusReal.stop(self.ctx);
1602
- self.cirrusReal = null;
1603
- }
1604
- if (self.viteDevServer?.isRunning) {
1605
- self.viteDevServer.stop();
1606
- self.viteDevServer = null;
1607
- try {
1608
- await self.ctx.storage.delete(VITE_CONFIG_KEY);
1609
- }
1610
- catch { }
1611
- }
1612
- }
1613
- catch (e) {
1614
- ctx.stderr.write('kill: while stopping vite shim: ' + (e?.message || e) + '\n');
1615
- }
1616
- try {
1617
- self.portRegistry.unregisterByPid(pid);
1618
- }
1619
- catch { }
1620
- try {
1621
- self.processes.kill(pid);
1622
- }
1623
- catch { }
1624
- notifyTerminalEvent(terminal, {
1625
- type: 'exit', pid, code: 137, command: 'vite',
1626
- });
1627
- self._viteShimPid = null;
1628
- self._viteShimPort = null;
1629
- ctx.stdout.write(`Process ${pid} killed.\n`);
1630
- return 0;
1631
- }
1632
- if (facetMgr?.kill(pid)) {
1633
- ctx.stdout.write(`Process ${pid} killed.\n`);
1634
- return 0;
1635
- }
1636
- ctx.stderr.write(`kill: no such process: ${pid}\n`);
1637
- return 1;
1638
- });
1462
+ registry.register('kill', createKillCommand(processRegistry, hostSignals));
1639
1463
  registry.register('top', createTopCommand(processRegistry));
1640
1464
  registry.register('watch', createWatchCommand(registry));
1641
1465
  registry.register('help', createHelpCommand(registry));
1642
- // ── Rehydrate globally-installed npm packages ──
1643
- try {
1644
- rehydrateGlobalPackages(kernel.vfs, registry);
1645
- }
1646
- catch { }
1647
1466
  }
@@ -2,15 +2,17 @@ import type { NimbusWorkspace } from '@nimbus-sh/core/workspace';
2
2
  import type { PortRegistry } from '@nimbus-sh/core/runtime/port-registry.js';
3
3
  import type { ProcessLogReadOptions } from '@nimbus-sh/core/runtime/process-logs.js';
4
4
  import type { VfsCred } from '@nimbus-sh/core/runtime/os-contracts.js';
5
- import type { SandboxFs } from '@nimbus-sh/core/substrate/lifo/sandbox/types.js';
5
+ import { ProcessView } from '@nimbus-sh/core/runtime/process-files.js';
6
6
  import { type SupervisorOpEnvelope } from '@nimbus-sh/core/workspace/supervisor-op.js';
7
- import type { FacetManagerHostHooks } from '../facets/compose.js';
7
+ import type { ComposedFacetManager, FacetManagerHostHooks } from '../facets/compose.js';
8
8
  import { WebSocketTerminal } from '../facets/ws-terminal.js';
9
9
  import * as operations from '../session/programmatic.js';
10
10
  import * as services from './services.js';
11
+ import { HostedSession, type HostedSessionScope } from './session.js';
11
12
  import { z } from 'zod/v4';
12
13
  declare const HostedTask: z.ZodEnum<{
13
14
  "resident-launch": "resident-launch";
15
+ "resident-keepalive": "resident-keepalive";
14
16
  "log-flush": "log-flush";
15
17
  "log-janitor": "log-janitor";
16
18
  }>;
@@ -30,23 +32,28 @@ export interface HostedRuntimeOptions {
30
32
  basePath?: string;
31
33
  origin?: string;
32
34
  }
33
- export interface RuntimeFiles extends SandboxFs {
35
+ /** The namespace as one credential sees it (a `VFS`, absolute paths), and the same for another. */
36
+ export type RuntimeFiles = ProcessView & {
34
37
  as(cred: VfsCred): RuntimeFiles;
35
- }
38
+ };
36
39
  export declare function composeHostedRuntime(options: HostedRuntimeOptions): Promise<{
37
- workspace: NimbusWorkspace;
38
- terminal: WebSocketTerminal;
39
- files: RuntimeFiles;
40
- runtimes: import("@nimbus-sh/core/runtime/runtime-manager.js").RuntimeManager;
40
+ supervisorOp: (envelope: SupervisorOpEnvelope) => Promise<unknown>;
41
+ /** The SDK's session surface for `Nimbus.fromSession`, optionally bound to one shell and identity. */
42
+ session: (scope?: HostedSessionScope) => HostedSession;
43
+ onScheduled: (task: HostedRuntimeTask) => Promise<void>;
44
+ terminalClose: (ws: WebSocket) => void;
45
+ close: () => Promise<void>;
46
+ facets: () => ComposedFacetManager;
41
47
  ready: (options?: operations.ProgrammaticReadyOptions | undefined) => Promise<{
42
48
  ok: true;
43
49
  preinstalled: string[];
44
50
  }>;
45
- exec: (command: string, options?: operations.ProgrammaticExecOptions | undefined) => Promise<operations.ProgrammaticExecResult>;
51
+ exec: (command: string, options?: operations.ProgrammaticExecOptions | undefined) => Promise<import("@nimbus-sh/core/runtime/exec-stream.js").ExecOutput>;
52
+ execStream: (command: string, options?: operations.ProgrammaticExecOptions | undefined) => Promise<import("@nimbus-sh/core/runtime/exec-stream.js").ExecStream>;
46
53
  runCode: (code: string, options?: (operations.ProgrammaticExecOptions & {
47
54
  language?: "javascript" | "typescript" | "python" | "ruby" | "shell";
48
55
  install?: "never" | "ifMissing";
49
- }) | undefined) => Promise<operations.ProgrammaticExecResult>;
56
+ }) | undefined) => Promise<import("@nimbus-sh/core/runtime/exec-stream.js").ExecOutput>;
50
57
  startProcess: (command: string, options?: operations.ProgrammaticExecOptions | undefined) => Promise<operations.ProgrammaticStartResult>;
51
58
  listProcesses: () => Promise<operations.SerializedProcess[]>;
52
59
  killProcess: (pid: number) => Promise<{
@@ -121,14 +128,14 @@ export declare function composeHostedRuntime(options: HostedRuntimeOptions): Pro
121
128
  installed: import("@nimbus-sh/core/runtime/installed-runtimes.js").RuntimeSummary[];
122
129
  available: import("@nimbus-sh/core/runtime/runtime-package.js").RuntimeAvailability[];
123
130
  }>;
124
- spawnWorker: (workerCode: string, command: string, cwd: string, opts?: import("../facets/manager.js").LongRunningWorkerSpawnOptions | undefined) => Promise<import("../facets/manager.js").SpawnedWorker>;
131
+ spawnWorker: (workerCode: string, command: string, cwd: string, opts?: import("../workspace-host.js").LongRunningWorkerSpawnOptions | undefined) => Promise<import("../facets/manager.js").SpawnedWorker>;
125
132
  routeCapabilityPort: (port: number, capability: string, request: Request<unknown, CfProperties<unknown>>, innerPath: string) => Promise<Response>;
126
- supervisorOp: (envelope: SupervisorOpEnvelope) => Promise<unknown>;
127
- onScheduled: (task: HostedRuntimeTask) => Promise<void>;
128
133
  attachTerminal: (ws: WebSocket) => Promise<void>;
129
134
  terminalFrame: (ws: WebSocket, message: string | ArrayBuffer) => Promise<void>;
130
- terminalClose: (ws: WebSocket) => void;
131
- close: () => Promise<void>;
135
+ workspace: NimbusWorkspace;
136
+ terminal: WebSocketTerminal;
137
+ files: RuntimeFiles;
138
+ runtimes: import("@nimbus-sh/core/runtime/runtime-manager.js").RuntimeManager;
132
139
  }>;
133
140
  export type HostedRuntime = Awaited<ReturnType<typeof composeHostedRuntime>>;
134
141
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/hosted/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,KAAK,EAA6B,OAAO,EAAE,MAAM,yCAAyC,CAAC;AAIlG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iDAAiD,CAAC;AACjF,OAAO,EAAqD,KAAK,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAE1I,OAAO,KAAK,EAAwB,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AASxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAO7D,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,QAAA,MAAM,UAAU;;;;EAA0D,CAAC;AAC3E,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAE3D,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,eAAe,CAAC;IAC3B,GAAG,EAAE,kBAAkB,CAAC;IACxB,GAAG,EAAE,QAAQ,CAAC,gBAAgB,CAAC;IAC/B,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,sBAAsB,CAAC;IAClC,mBAAmB,CAAC,EAAE,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,EAAE,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,CAAC;CACjC;AAqRD,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAkBjD,MAAM,YAAY,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAiBjC,oBAAoB;wBACzB,iBAAiB;yBAChB,SAAS;wBACV,SAAS,WAAW,MAAM,GAAG,WAAW;wBACxC,SAAS;;GAGhC;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/hosted/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,KAAK,EAA6B,OAAO,EAAE,MAAM,yCAAyC,CAAC;AAElG,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AACvE,OAAO,EAAqD,KAAK,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAG1I,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AASxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAQ7D,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAK3B,QAAA,MAAM,UAAU;;;;;EAAgF,CAAC;AACjG,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAE3D,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,eAAe,CAAC;IAC3B,GAAG,EAAE,kBAAkB,CAAC;IACxB,GAAG,EAAE,QAAQ,CAAC,gBAAgB,CAAC;IAC/B,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,sBAAsB,CAAC;IAClC,mBAAmB,CAAC,EAAE,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,mGAAmG;AACnG,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG;IAAE,EAAE,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,CAAA;CAAE,CAAC;AAuU7E,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB;6BA2C3C,oBAAoB;IAC7C,sGAAsG;sBACrF,kBAAkB;wBAIf,iBAAiB;wBACjB,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAjCV,MAAM,YAAY,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAiBrC,SAAS;wBACV,SAAS,WAAW,MAAM,GAAG,WAAW;;;;;GAkB/D;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC"}