@nimbus-sh/worker 0.1.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 (408) hide show
  1. package/README.md +219 -0
  2. package/dist/_shared/bytes.d.ts +18 -0
  3. package/dist/_shared/bytes.d.ts.map +1 -0
  4. package/dist/_shared/bytes.js +17 -0
  5. package/dist/_shared/cache-stats.d.ts +146 -0
  6. package/dist/_shared/cache-stats.d.ts.map +1 -0
  7. package/dist/_shared/cache-stats.js +162 -0
  8. package/dist/_shared/exports-resolver.d.ts +76 -0
  9. package/dist/_shared/exports-resolver.d.ts.map +1 -0
  10. package/dist/_shared/exports-resolver.js +284 -0
  11. package/dist/_shared/install-phase.d.ts +47 -0
  12. package/dist/_shared/install-phase.d.ts.map +1 -0
  13. package/dist/_shared/install-phase.js +1 -0
  14. package/dist/_shared/real-node-imports.d.ts +38 -0
  15. package/dist/_shared/real-node-imports.d.ts.map +1 -0
  16. package/dist/_shared/real-node-imports.js +46 -0
  17. package/dist/_shared/retry.d.ts +93 -0
  18. package/dist/_shared/retry.d.ts.map +1 -0
  19. package/dist/_shared/retry.js +161 -0
  20. package/dist/_shared/session-id.d.ts +39 -0
  21. package/dist/_shared/session-id.d.ts.map +1 -0
  22. package/dist/_shared/session-id.js +127 -0
  23. package/dist/_shared/session-router.d.ts +104 -0
  24. package/dist/_shared/session-router.d.ts.map +1 -0
  25. package/dist/_shared/session-router.js +165 -0
  26. package/dist/_shared/w7-frame.d.ts +93 -0
  27. package/dist/_shared/w7-frame.d.ts.map +1 -0
  28. package/dist/_shared/w7-frame.js +402 -0
  29. package/dist/auth/index.d.ts +16 -0
  30. package/dist/auth/index.d.ts.map +1 -0
  31. package/dist/auth/index.js +15 -0
  32. package/dist/auth/middleware.d.ts +85 -0
  33. package/dist/auth/middleware.d.ts.map +1 -0
  34. package/dist/auth/middleware.js +150 -0
  35. package/dist/auth/token.d.ts +96 -0
  36. package/dist/auth/token.d.ts.map +1 -0
  37. package/dist/auth/token.js +226 -0
  38. package/dist/auth/types.d.ts +141 -0
  39. package/dist/auth/types.d.ts.map +1 -0
  40. package/dist/auth/types.js +114 -0
  41. package/dist/bindings/d1.d.ts +102 -0
  42. package/dist/bindings/d1.d.ts.map +1 -0
  43. package/dist/bindings/d1.js +549 -0
  44. package/dist/bindings/kv.d.ts +82 -0
  45. package/dist/bindings/kv.d.ts.map +1 -0
  46. package/dist/bindings/kv.js +290 -0
  47. package/dist/bindings/r2.d.ts +137 -0
  48. package/dist/bindings/r2.d.ts.map +1 -0
  49. package/dist/bindings/r2.js +379 -0
  50. package/dist/cirrus-npm-cjs.generated.d.ts +17 -0
  51. package/dist/cirrus-npm-cjs.generated.d.ts.map +1 -0
  52. package/dist/cirrus-npm-cjs.generated.js +41 -0
  53. package/dist/cirrus-plugin-react.generated.d.ts +34 -0
  54. package/dist/cirrus-plugin-react.generated.d.ts.map +1 -0
  55. package/dist/cirrus-plugin-react.generated.js +33 -0
  56. package/dist/constants.d.ts +34 -0
  57. package/dist/constants.d.ts.map +1 -0
  58. package/dist/constants.js +116 -0
  59. package/dist/esbuild-wasm-bundle.generated.d.ts +41 -0
  60. package/dist/esbuild-wasm-bundle.generated.d.ts.map +1 -0
  61. package/dist/esbuild-wasm-bundle.generated.js +40 -0
  62. package/dist/facets/cirrus-real.d.ts +147 -0
  63. package/dist/facets/cirrus-real.d.ts.map +1 -0
  64. package/dist/facets/cirrus-real.js +981 -0
  65. package/dist/facets/inner-do-registry.d.ts +41 -0
  66. package/dist/facets/inner-do-registry.d.ts.map +1 -0
  67. package/dist/facets/inner-do-registry.js +51 -0
  68. package/dist/facets/manager.d.ts +314 -0
  69. package/dist/facets/manager.d.ts.map +1 -0
  70. package/dist/facets/manager.js +2681 -0
  71. package/dist/facets/process.d.ts +318 -0
  72. package/dist/facets/process.d.ts.map +1 -0
  73. package/dist/facets/process.js +567 -0
  74. package/dist/facets/real-vite-fs-shim.d.ts +151 -0
  75. package/dist/facets/real-vite-fs-shim.d.ts.map +1 -0
  76. package/dist/facets/real-vite-fs-shim.js +1279 -0
  77. package/dist/facets/real-vite-hmr.d.ts +142 -0
  78. package/dist/facets/real-vite-hmr.d.ts.map +1 -0
  79. package/dist/facets/real-vite-hmr.js +476 -0
  80. package/dist/facets/vite-dev-server.d.ts +293 -0
  81. package/dist/facets/vite-dev-server.d.ts.map +1 -0
  82. package/dist/facets/vite-dev-server.js +2580 -0
  83. package/dist/facets/wasm-swap-registry.d.ts +261 -0
  84. package/dist/facets/wasm-swap-registry.d.ts.map +1 -0
  85. package/dist/facets/wasm-swap-registry.js +551 -0
  86. package/dist/facets/ws-terminal.d.ts +107 -0
  87. package/dist/facets/ws-terminal.d.ts.map +1 -0
  88. package/dist/facets/ws-terminal.js +207 -0
  89. package/dist/git/commands.d.ts +13 -0
  90. package/dist/git/commands.d.ts.map +1 -0
  91. package/dist/git/commands.js +633 -0
  92. package/dist/git/network-facet.d.ts +61 -0
  93. package/dist/git/network-facet.d.ts.map +1 -0
  94. package/dist/git/network-facet.js +700 -0
  95. package/dist/git-bundle.generated.d.ts +16 -0
  96. package/dist/git-bundle.generated.d.ts.map +1 -0
  97. package/dist/git-bundle.generated.js +15 -0
  98. package/dist/index.d.ts +41 -0
  99. package/dist/index.d.ts.map +1 -0
  100. package/dist/index.js +73 -0
  101. package/dist/loaders/child-process/spawn-facet.d.ts +90 -0
  102. package/dist/loaders/child-process/spawn-facet.d.ts.map +1 -0
  103. package/dist/loaders/child-process/spawn-facet.js +103 -0
  104. package/dist/loaders/child-process/spawn-pool.d.ts +110 -0
  105. package/dist/loaders/child-process/spawn-pool.d.ts.map +1 -0
  106. package/dist/loaders/child-process/spawn-pool.js +161 -0
  107. package/dist/loaders/fanout-pool.d.ts +195 -0
  108. package/dist/loaders/fanout-pool.d.ts.map +1 -0
  109. package/dist/loaders/fanout-pool.js +326 -0
  110. package/dist/loaders/generated-workers.d.ts +26 -0
  111. package/dist/loaders/generated-workers.d.ts.map +1 -0
  112. package/dist/loaders/generated-workers.js +25 -0
  113. package/dist/loaders/index.d.ts +15 -0
  114. package/dist/loaders/index.d.ts.map +1 -0
  115. package/dist/loaders/index.js +13 -0
  116. package/dist/loaders/loader-pool.d.ts +273 -0
  117. package/dist/loaders/loader-pool.d.ts.map +1 -0
  118. package/dist/loaders/loader-pool.js +624 -0
  119. package/dist/loaders/npm-resolve-preamble.d.ts +34 -0
  120. package/dist/loaders/npm-resolve-preamble.d.ts.map +1 -0
  121. package/dist/loaders/npm-resolve-preamble.js +237 -0
  122. package/dist/loaders/pre-bundle-preamble.d.ts +41 -0
  123. package/dist/loaders/pre-bundle-preamble.d.ts.map +1 -0
  124. package/dist/loaders/pre-bundle-preamble.js +114 -0
  125. package/dist/loaders/vendor/codegen.d.ts +24 -0
  126. package/dist/loaders/vendor/codegen.d.ts.map +1 -0
  127. package/dist/loaders/vendor/codegen.js +44 -0
  128. package/dist/loaders/vendor/errors.d.ts +24 -0
  129. package/dist/loaders/vendor/errors.d.ts.map +1 -0
  130. package/dist/loaders/vendor/errors.js +46 -0
  131. package/dist/loaders/vendor/index.d.ts +16 -0
  132. package/dist/loaders/vendor/index.d.ts.map +1 -0
  133. package/dist/loaders/vendor/index.js +11 -0
  134. package/dist/loaders/vendor/pool.d.ts +88 -0
  135. package/dist/loaders/vendor/pool.d.ts.map +1 -0
  136. package/dist/loaders/vendor/pool.js +353 -0
  137. package/dist/loaders/vendor/primitives.d.ts +11 -0
  138. package/dist/loaders/vendor/primitives.d.ts.map +1 -0
  139. package/dist/loaders/vendor/primitives.js +33 -0
  140. package/dist/loaders/vendor/serialize.d.ts +3 -0
  141. package/dist/loaders/vendor/serialize.d.ts.map +1 -0
  142. package/dist/loaders/vendor/serialize.js +25 -0
  143. package/dist/loaders/vendor/types.d.ts +60 -0
  144. package/dist/loaders/vendor/types.d.ts.map +1 -0
  145. package/dist/loaders/vendor/types.js +4 -0
  146. package/dist/npm/cache.d.ts +136 -0
  147. package/dist/npm/cache.d.ts.map +1 -0
  148. package/dist/npm/cache.js +429 -0
  149. package/dist/npm/install-batch-facet.d.ts +129 -0
  150. package/dist/npm/install-batch-facet.d.ts.map +1 -0
  151. package/dist/npm/install-batch-facet.js +598 -0
  152. package/dist/npm/install-facet.d.ts +29 -0
  153. package/dist/npm/install-facet.d.ts.map +1 -0
  154. package/dist/npm/install-facet.js +9 -0
  155. package/dist/npm/installer.d.ts +239 -0
  156. package/dist/npm/installer.d.ts.map +1 -0
  157. package/dist/npm/installer.js +2022 -0
  158. package/dist/npm/npx-install.d.ts +74 -0
  159. package/dist/npm/npx-install.d.ts.map +1 -0
  160. package/dist/npm/npx-install.js +302 -0
  161. package/dist/npm/pre-bundle-facet.d.ts +168 -0
  162. package/dist/npm/pre-bundle-facet.d.ts.map +1 -0
  163. package/dist/npm/pre-bundle-facet.js +653 -0
  164. package/dist/npm/r2-cache.d.ts +286 -0
  165. package/dist/npm/r2-cache.d.ts.map +1 -0
  166. package/dist/npm/r2-cache.js +506 -0
  167. package/dist/npm/resolve-facet.d.ts +202 -0
  168. package/dist/npm/resolve-facet.d.ts.map +1 -0
  169. package/dist/npm/resolve-facet.js +833 -0
  170. package/dist/npm/resolve-one-facet.d.ts +204 -0
  171. package/dist/npm/resolve-one-facet.d.ts.map +1 -0
  172. package/dist/npm/resolve-one-facet.js +437 -0
  173. package/dist/npm/resolver.d.ts +109 -0
  174. package/dist/npm/resolver.d.ts.map +1 -0
  175. package/dist/npm/resolver.js +899 -0
  176. package/dist/npm/tarball-stream.d.ts +85 -0
  177. package/dist/npm/tarball-stream.d.ts.map +1 -0
  178. package/dist/npm/tarball-stream.js +205 -0
  179. package/dist/npm/tarball.d.ts +51 -0
  180. package/dist/npm/tarball.d.ts.map +1 -0
  181. package/dist/npm/tarball.js +185 -0
  182. package/dist/observability/diag-counters.d.ts +292 -0
  183. package/dist/observability/diag-counters.d.ts.map +1 -0
  184. package/dist/observability/diag-counters.js +302 -0
  185. package/dist/observability/heap-estimate.d.ts +166 -0
  186. package/dist/observability/heap-estimate.d.ts.map +1 -0
  187. package/dist/observability/heap-estimate.js +192 -0
  188. package/dist/observability/heavy-alloc-coord.d.ts +95 -0
  189. package/dist/observability/heavy-alloc-coord.d.ts.map +1 -0
  190. package/dist/observability/heavy-alloc-coord.js +149 -0
  191. package/dist/observability/oom-classify.d.ts +56 -0
  192. package/dist/observability/oom-classify.d.ts.map +1 -0
  193. package/dist/observability/oom-classify.js +118 -0
  194. package/dist/observability/oom-discriminator.d.ts +192 -0
  195. package/dist/observability/oom-discriminator.d.ts.map +1 -0
  196. package/dist/observability/oom-discriminator.js +233 -0
  197. package/dist/real-vite-bundle.generated.d.ts +46 -0
  198. package/dist/real-vite-bundle.generated.d.ts.map +1 -0
  199. package/dist/real-vite-bundle.generated.js +53 -0
  200. package/dist/replica/routing.d.ts +171 -0
  201. package/dist/replica/routing.d.ts.map +1 -0
  202. package/dist/replica/routing.js +288 -0
  203. package/dist/replica/suspension.d.ts +36 -0
  204. package/dist/replica/suspension.d.ts.map +1 -0
  205. package/dist/replica/suspension.js +49 -0
  206. package/dist/router/index.d.ts +156 -0
  207. package/dist/router/index.d.ts.map +1 -0
  208. package/dist/router/index.js +220 -0
  209. package/dist/runtime/assets-loader.d.ts +71 -0
  210. package/dist/runtime/assets-loader.d.ts.map +1 -0
  211. package/dist/runtime/assets-loader.js +128 -0
  212. package/dist/runtime/barrel-detect.d.ts +46 -0
  213. package/dist/runtime/barrel-detect.d.ts.map +1 -0
  214. package/dist/runtime/barrel-detect.js +73 -0
  215. package/dist/runtime/barrel-synthesizer.d.ts +181 -0
  216. package/dist/runtime/barrel-synthesizer.d.ts.map +1 -0
  217. package/dist/runtime/barrel-synthesizer.js +541 -0
  218. package/dist/runtime/bun-repl.d.ts +46 -0
  219. package/dist/runtime/bun-repl.d.ts.map +1 -0
  220. package/dist/runtime/bun-repl.js +326 -0
  221. package/dist/runtime/bun-runner.d.ts +66 -0
  222. package/dist/runtime/bun-runner.d.ts.map +1 -0
  223. package/dist/runtime/bun-runner.js +219 -0
  224. package/dist/runtime/clang-runner.d.ts +38 -0
  225. package/dist/runtime/clang-runner.d.ts.map +1 -0
  226. package/dist/runtime/clang-runner.js +1033 -0
  227. package/dist/runtime/comment-strip.d.ts +37 -0
  228. package/dist/runtime/comment-strip.d.ts.map +1 -0
  229. package/dist/runtime/comment-strip.js +74 -0
  230. package/dist/runtime/esbuild-service.d.ts +201 -0
  231. package/dist/runtime/esbuild-service.d.ts.map +1 -0
  232. package/dist/runtime/esbuild-service.js +1444 -0
  233. package/dist/runtime/esbuild-wasm-bytes.d.ts +87 -0
  234. package/dist/runtime/esbuild-wasm-bytes.d.ts.map +1 -0
  235. package/dist/runtime/esbuild-wasm-bytes.js +131 -0
  236. package/dist/runtime/framework-detect.d.ts +71 -0
  237. package/dist/runtime/framework-detect.d.ts.map +1 -0
  238. package/dist/runtime/framework-detect.js +178 -0
  239. package/dist/runtime/long-running-handle.d.ts +133 -0
  240. package/dist/runtime/long-running-handle.d.ts.map +1 -0
  241. package/dist/runtime/long-running-handle.js +192 -0
  242. package/dist/runtime/node-repl.d.ts +36 -0
  243. package/dist/runtime/node-repl.d.ts.map +1 -0
  244. package/dist/runtime/node-repl.js +293 -0
  245. package/dist/runtime/node-runner.d.ts +111 -0
  246. package/dist/runtime/node-runner.d.ts.map +1 -0
  247. package/dist/runtime/node-runner.js +194 -0
  248. package/dist/runtime/node-shims.d.ts +24 -0
  249. package/dist/runtime/node-shims.d.ts.map +1 -0
  250. package/dist/runtime/node-shims.js +3019 -0
  251. package/dist/runtime/package-manager.d.ts +118 -0
  252. package/dist/runtime/package-manager.d.ts.map +1 -0
  253. package/dist/runtime/package-manager.js +420 -0
  254. package/dist/runtime/port-registry.d.ts +80 -0
  255. package/dist/runtime/port-registry.d.ts.map +1 -0
  256. package/dist/runtime/port-registry.js +166 -0
  257. package/dist/runtime/process-logs-api.d.ts +102 -0
  258. package/dist/runtime/process-logs-api.d.ts.map +1 -0
  259. package/dist/runtime/process-logs-api.js +253 -0
  260. package/dist/runtime/process-logs.d.ts +311 -0
  261. package/dist/runtime/process-logs.d.ts.map +1 -0
  262. package/dist/runtime/process-logs.js +656 -0
  263. package/dist/runtime/process-table.d.ts +65 -0
  264. package/dist/runtime/process-table.d.ts.map +1 -0
  265. package/dist/runtime/process-table.js +107 -0
  266. package/dist/runtime/project-detect.d.ts +21 -0
  267. package/dist/runtime/project-detect.d.ts.map +1 -0
  268. package/dist/runtime/project-detect.js +46 -0
  269. package/dist/runtime/python-repl.d.ts +66 -0
  270. package/dist/runtime/python-repl.d.ts.map +1 -0
  271. package/dist/runtime/python-repl.js +563 -0
  272. package/dist/runtime/python-runner.d.ts +50 -0
  273. package/dist/runtime/python-runner.d.ts.map +1 -0
  274. package/dist/runtime/python-runner.js +870 -0
  275. package/dist/runtime/repl-session.d.ts +160 -0
  276. package/dist/runtime/repl-session.d.ts.map +1 -0
  277. package/dist/runtime/repl-session.js +393 -0
  278. package/dist/runtime/require-resolver.d.ts +52 -0
  279. package/dist/runtime/require-resolver.d.ts.map +1 -0
  280. package/dist/runtime/require-resolver.js +690 -0
  281. package/dist/runtime/router-basename.d.ts +36 -0
  282. package/dist/runtime/router-basename.d.ts.map +1 -0
  283. package/dist/runtime/router-basename.js +310 -0
  284. package/dist/runtime/ruby-repl.d.ts +43 -0
  285. package/dist/runtime/ruby-repl.d.ts.map +1 -0
  286. package/dist/runtime/ruby-repl.js +229 -0
  287. package/dist/runtime/ruby-runner.d.ts +62 -0
  288. package/dist/runtime/ruby-runner.d.ts.map +1 -0
  289. package/dist/runtime/ruby-runner.js +737 -0
  290. package/dist/runtime/runtime-catalog.d.ts +99 -0
  291. package/dist/runtime/runtime-catalog.d.ts.map +1 -0
  292. package/dist/runtime/runtime-catalog.js +183 -0
  293. package/dist/runtime/runtime-registry.d.ts +136 -0
  294. package/dist/runtime/runtime-registry.d.ts.map +1 -0
  295. package/dist/runtime/runtime-registry.js +318 -0
  296. package/dist/runtime/streams.d.ts +13 -0
  297. package/dist/runtime/streams.d.ts.map +1 -0
  298. package/dist/runtime/streams.js +402 -0
  299. package/dist/runtime/wasi-instance.d.ts +190 -0
  300. package/dist/runtime/wasi-instance.d.ts.map +1 -0
  301. package/dist/runtime/wasi-instance.js +2044 -0
  302. package/dist/runtime/wasm-runner.d.ts +117 -0
  303. package/dist/runtime/wasm-runner.d.ts.map +1 -0
  304. package/dist/runtime/wasm-runner.js +705 -0
  305. package/dist/session/bindings.d.ts +168 -0
  306. package/dist/session/bindings.d.ts.map +1 -0
  307. package/dist/session/bindings.js +524 -0
  308. package/dist/session/ctx-exports.d.ts +16 -0
  309. package/dist/session/ctx-exports.d.ts.map +1 -0
  310. package/dist/session/ctx-exports.js +22 -0
  311. package/dist/session/diag.d.ts +62 -0
  312. package/dist/session/diag.d.ts.map +1 -0
  313. package/dist/session/diag.js +118 -0
  314. package/dist/session/fs-watch.d.ts +132 -0
  315. package/dist/session/fs-watch.d.ts.map +1 -0
  316. package/dist/session/fs-watch.js +255 -0
  317. package/dist/session/helpers.d.ts +150 -0
  318. package/dist/session/helpers.d.ts.map +1 -0
  319. package/dist/session/helpers.js +472 -0
  320. package/dist/session/hibernation.d.ts +145 -0
  321. package/dist/session/hibernation.d.ts.map +1 -0
  322. package/dist/session/hibernation.js +385 -0
  323. package/dist/session/init-phases.d.ts +87 -0
  324. package/dist/session/init-phases.d.ts.map +1 -0
  325. package/dist/session/init-phases.js +137 -0
  326. package/dist/session/init.d.ts +46 -0
  327. package/dist/session/init.d.ts.map +1 -0
  328. package/dist/session/init.js +3579 -0
  329. package/dist/session/keys.d.ts +56 -0
  330. package/dist/session/keys.d.ts.map +1 -0
  331. package/dist/session/keys.js +55 -0
  332. package/dist/session/nimbus-session.d.ts +434 -0
  333. package/dist/session/nimbus-session.d.ts.map +1 -0
  334. package/dist/session/nimbus-session.js +1084 -0
  335. package/dist/session/programmatic.d.ts +105 -0
  336. package/dist/session/programmatic.d.ts.map +1 -0
  337. package/dist/session/programmatic.js +326 -0
  338. package/dist/session/replica-routes.d.ts +68 -0
  339. package/dist/session/replica-routes.d.ts.map +1 -0
  340. package/dist/session/replica-routes.js +77 -0
  341. package/dist/session/routes.d.ts +29 -0
  342. package/dist/session/routes.d.ts.map +1 -0
  343. package/dist/session/routes.js +1331 -0
  344. package/dist/session/rpc.d.ts +323 -0
  345. package/dist/session/rpc.d.ts.map +1 -0
  346. package/dist/session/rpc.js +808 -0
  347. package/dist/session/state-store.d.ts +210 -0
  348. package/dist/session/state-store.d.ts.map +1 -0
  349. package/dist/session/state-store.js +459 -0
  350. package/dist/session/supervisor-rpc.d.ts +269 -0
  351. package/dist/session/supervisor-rpc.d.ts.map +1 -0
  352. package/dist/session/supervisor-rpc.js +437 -0
  353. package/dist/session/ws-hibernation-config.d.ts +64 -0
  354. package/dist/session/ws-hibernation-config.d.ts.map +1 -0
  355. package/dist/session/ws-hibernation-config.js +89 -0
  356. package/dist/session/ws.d.ts +95 -0
  357. package/dist/session/ws.d.ts.map +1 -0
  358. package/dist/session/ws.js +395 -0
  359. package/dist/shell/features.d.ts +410 -0
  360. package/dist/shell/features.d.ts.map +1 -0
  361. package/dist/shell/features.js +1885 -0
  362. package/dist/shell/unix-commands.d.ts +15 -0
  363. package/dist/shell/unix-commands.d.ts.map +1 -0
  364. package/dist/shell/unix-commands.js +3703 -0
  365. package/dist/stubs/lifo-ui.d.ts +10 -0
  366. package/dist/stubs/lifo-ui.d.ts.map +1 -0
  367. package/dist/stubs/lifo-ui.js +1 -0
  368. package/dist/tailwind-play.generated.d.ts +19 -0
  369. package/dist/tailwind-play.generated.d.ts.map +1 -0
  370. package/dist/tailwind-play.generated.js +18 -0
  371. package/dist/vfs/dev-provider.d.ts +64 -0
  372. package/dist/vfs/dev-provider.d.ts.map +1 -0
  373. package/dist/vfs/dev-provider.js +191 -0
  374. package/dist/vfs/events.d.ts +51 -0
  375. package/dist/vfs/events.d.ts.map +1 -0
  376. package/dist/vfs/events.js +127 -0
  377. package/dist/vfs/path.d.ts +30 -0
  378. package/dist/vfs/path.d.ts.map +1 -0
  379. package/dist/vfs/path.js +41 -0
  380. package/dist/vfs/seed-project.d.ts +62 -0
  381. package/dist/vfs/seed-project.d.ts.map +1 -0
  382. package/dist/vfs/seed-project.js +1045 -0
  383. package/dist/vfs/sqlite-vfs.d.ts +435 -0
  384. package/dist/vfs/sqlite-vfs.d.ts.map +1 -0
  385. package/dist/vfs/sqlite-vfs.js +1670 -0
  386. package/dist/vfs/symlink-registry.d.ts +64 -0
  387. package/dist/vfs/symlink-registry.d.ts.map +1 -0
  388. package/dist/vfs/symlink-registry.js +137 -0
  389. package/dist/wrangler/nimbus-wrangler.d.ts +157 -0
  390. package/dist/wrangler/nimbus-wrangler.d.ts.map +1 -0
  391. package/dist/wrangler/nimbus-wrangler.js +931 -0
  392. package/package.json +77 -0
  393. package/public/_assets/cirrus-plugin-react.bundle.js +70740 -0
  394. package/public/_assets/esbuild-0.24.2.wasm +0 -0
  395. package/public/_assets/real-vite-bundle.js +101478 -0
  396. package/public/_assets/rollup.wasm +0 -0
  397. package/public/favicon.svg +8 -0
  398. package/public/index.html +565 -0
  399. package/public/s/index.html +2379 -0
  400. package/scripts/bundle-esbuild-wasm.mjs +244 -0
  401. package/scripts/bundle-facet-workers.mjs +137 -0
  402. package/scripts/bundle-git.mjs +118 -0
  403. package/scripts/bundle-npm-cjs.mjs +363 -0
  404. package/scripts/bundle-plugin-react.mjs +480 -0
  405. package/scripts/bundle-real-vite.mjs +959 -0
  406. package/scripts/bundle-runtime.mjs +600 -0
  407. package/scripts/bundle-tailwind-play.mjs +130 -0
  408. package/scripts/patch-lifo-ui.mjs +131 -0
@@ -0,0 +1,286 @@
1
+ /**
2
+ * r2-cache.ts — L3 cross-tenant npm cache backed by R2 [W4]
3
+ * + L2 colo cache via `caches.default` [cache-and-scrub P3]
4
+ *
5
+ * Purpose
6
+ * ───────
7
+ * Mirrors the Pyodide / Python Workers Package Bundling System pattern
8
+ * (EW/SPEC at wiki.cfdata.org). The supervisor DO already maintains a
9
+ * per-tenant SQLite cache (src/npm-cache.ts). This module adds an L3
10
+ * cross-tenant tier in R2 so that one tenant's first-install of a package
11
+ * benefits every subsequent tenant on the platform — the win that drops
12
+ * Mossaic-class cold installs from ~60 s to a target ≤ 15 s.
13
+ *
14
+ * Caching layers (top-down):
15
+ * L1 — per-DO SQLite (warmest, in-memory; ~1 ms per file)
16
+ * L2 — `caches.default` (per-colo; ~50-500 µs hit / ~5-30 ms cold) ← P3 wins
17
+ * L3 — R2 (global; ~30-100 ms regional) ← THIS MODULE
18
+ * L4 — registry.npmjs.org origin (~100-300 ms cross-region)
19
+ *
20
+ * Two buckets, two key shapes:
21
+ * tarball: `${R2_CACHE_PREFIX}/t/<name>/<version>.tgz`
22
+ * packument: `${R2_CACHE_PREFIX}/p/<name>.json`
23
+ *
24
+ * Why two buckets:
25
+ * Tarballs are immutable (npm name@version is content-fixed since 2018).
26
+ * Packuments must expire (5-min TTL). Different eviction policies →
27
+ * different buckets, so storage / quota / monitoring stay clean.
28
+ *
29
+ * Cache invalidation:
30
+ * 1. Time-based, packuments only — TTL encoded in customMetadata.expiresAt
31
+ * 2. Schema bump — bump R2_CACHE_PREFIX to invalidate everything atomically.
32
+ * Stale data is left in place; bucket lifecycle policy can sweep it.
33
+ * 3. Manual delete — deleteTarball / deletePackument; useful in incident
34
+ * response (a poisoned cache key needs purging).
35
+ *
36
+ * Graceful degrade:
37
+ * If env.NPM_TARBALL_CACHE / NPM_PACKUMENT_CACHE bindings are missing
38
+ * (deploy without buckets created, or wrangler dev without remote
39
+ * buckets), all R2 calls return null on read and no-op on write. The
40
+ * installer falls through to the existing network-fetch path with
41
+ * identical behaviour to today's main.
42
+ *
43
+ * NOT in W4 scope (deferred):
44
+ * - Streamed R2 reads via ReadableStream<Uint8Array> RPC return type
45
+ * (W7 — Streams over RPC). Today: bytes returned via structured-clone
46
+ * subject to the 32 MiB cap. Packages > 30 MiB skip the R2 path and
47
+ * stream directly from npm.
48
+ * - npm publish webhook → cache invalidation (CT2 future).
49
+ * - L2 Cache API (D3.5) — separate work.
50
+ *
51
+ * References:
52
+ * - audit/sections/CF-INTERNAL-OPTIMIZATION-RESEARCH.md §D
53
+ * - audit/_drafts/D-npm-install.md (per-section provenance)
54
+ * - audit/sections/W4-plan.md
55
+ */
56
+ import type { CacheTier, CacheKind } from '../_shared/cache-stats.js';
57
+ /**
58
+ * Per-call cache-stat event (cache-observability wave). R2CacheClient
59
+ * accumulates these in instance state so the SupervisorRPC caller can
60
+ * drain + forward to the DO isolate (where /api/_diag/cache reads from).
61
+ * The local-singleton-write approach would be invisible to the DO's
62
+ * diag endpoint because WorkerEntrypoint instances live in a separate
63
+ * isolate. See src/session/supervisor-rpc.ts for the flush.
64
+ */
65
+ export type R2CacheStatEvent = {
66
+ kind: 'hit';
67
+ tier: CacheTier;
68
+ cacheKind: CacheKind;
69
+ bytes: number;
70
+ } | {
71
+ kind: 'miss';
72
+ tier: CacheTier;
73
+ cacheKind: CacheKind;
74
+ };
75
+ /** Schema version baked into every cache key. Bump to invalidate
76
+ * everything atomically (e.g. if the storage shape changes or a bug
77
+ * poisoned a class of keys). */
78
+ export declare const R2_CACHE_PREFIX = "v1";
79
+ /** Packument TTL — 60 min (cache-observability wave; was 5 min pre-wave).
80
+ *
81
+ * Rationale for the bump (~12× longer than pre-wave):
82
+ *
83
+ * - npm registry packuments change ONLY when a new version of the
84
+ * package is published. For >99% of packages this is sub-weekly.
85
+ * - The 5-min TTL fired roughly once per minute on a long install
86
+ * session (resolver re-fetches as dep BFS re-encounters cached
87
+ * names with new range constraints). 12× fewer re-fetches at
88
+ * 60 min TTL means ~12× lower registry roundtrip count for an
89
+ * equivalent workload.
90
+ * - npm registry origin is shared across all Nimbus users; lower
91
+ * aggregate load is good citizenship and lowers our risk of being
92
+ * rate-limited at the L4 boundary.
93
+ *
94
+ * Trade-off (the cost of the bump):
95
+ *
96
+ * - A package version published less than 60 min ago may not be
97
+ * resolvable from a Nimbus session whose colo's L2 cache has a
98
+ * pre-publish entry. Worst case: a user `npm i my-fresh@1.0.1`
99
+ * seconds after publishing my-fresh@1.0.1 sees the cached 1.0.0
100
+ * entry for up to 60 min.
101
+ * - Workaround for users hitting freshness issues: open a new
102
+ * session in a different colo (cold L2), OR wait for the TTL,
103
+ * OR (future) add `NIMBUS_CACHE_TTL_MS` env override.
104
+ *
105
+ * Reversibility: redeploy with this constant restored to 5*60_000
106
+ * reverts the behavior instantly (next request reads the new TTL).
107
+ * No data migration; existing R2 packument entries' customMetadata
108
+ * .expiresAt stamps remain valid against either TTL. */
109
+ export declare const PACKUMENT_TTL_MS: number;
110
+ /** Cap on tarball bytes returned via this RPC. Workerd structured-clone
111
+ * cap is 32 MiB; we keep a comfortable margin to leave room for RPC
112
+ * framing + the call's own arg bytes. Tarballs above this size skip
113
+ * the R2 path and go straight to the network — they're the long tail
114
+ * for which W7 (streams over RPC) will close the gap. */
115
+ export declare const MAX_R2_TARBALL_BYTES: number;
116
+ export interface CachedPackument {
117
+ /** Raw packument JSON text. JSON.parse at call-site (caller already
118
+ * pays the parse cost on the network path; mirroring keeps the
119
+ * call-site interchangeable). */
120
+ json: string;
121
+ /** Approximate age in ms based on R2's `uploaded` timestamp. May be
122
+ * slightly skewed if customMetadata.expiresAt is set. */
123
+ ageMs: number;
124
+ /** Whether this entry has passed its TTL. Caller MUST honour this:
125
+ * expired entries are returned only as a stale-while-error fallback,
126
+ * never as a hot-path hit. */
127
+ expired: boolean;
128
+ }
129
+ /** Optional R2 binding shape (we treat null as "not provisioned"). */
130
+ type R2BucketLike = {
131
+ get(key: string): Promise<{
132
+ arrayBuffer(): Promise<ArrayBuffer>;
133
+ text(): Promise<string>;
134
+ uploaded?: Date;
135
+ customMetadata?: Record<string, string>;
136
+ } | null>;
137
+ put(key: string, body: Uint8Array | ArrayBuffer | string, opts?: {
138
+ httpMetadata?: {
139
+ contentType?: string;
140
+ };
141
+ customMetadata?: Record<string, string>;
142
+ }): Promise<unknown>;
143
+ delete(key: string): Promise<unknown>;
144
+ } | null;
145
+ /**
146
+ * Synthetic L2 cache-key host. RFC-6761 reserved TLD.
147
+ *
148
+ * CLN-1 (2026-05-11): exported so `session/routes.ts` cache-purge helpers
149
+ * can use the same constant instead of hardcoding the literal. Bumping
150
+ * the schema (e.g. `nimbus-cache-v2.invalid`) now only requires editing
151
+ * one line.
152
+ */
153
+ export declare const L2_KEY_HOST = "https://nimbus-cache.invalid";
154
+ /**
155
+ * Compose the R2 object key for a tarball.
156
+ *
157
+ * Scheme A from W4-plan §3: `t/<name>/<version>.tgz`. Scope-prefixed
158
+ * names (`@scope/pkg`) keep their `@` and `/` because R2 keys allow any
159
+ * UTF-8; we don't URL-encode them. Examples:
160
+ *
161
+ * react@19.0.0 → `v1/t/react/19.0.0.tgz`
162
+ * @vitejs/plugin-react@4.3.4 → `v1/t/@vitejs/plugin-react/4.3.4.tgz`
163
+ *
164
+ * The integrity digest is NOT in the key (Scheme B was rejected per
165
+ * W4-plan §3; reads validate integrity post-fetch). Scheme A enables
166
+ * pipelining: as soon as the resolver yields {name, version}, the
167
+ * install facet can speculatively kick off getTarball() in parallel
168
+ * with the network fetch.
169
+ */
170
+ export declare function tarballKey(name: string, version: string): string;
171
+ /** Compose the R2 object key for a packument. */
172
+ export declare function packumentKey(name: string): string;
173
+ /**
174
+ * Per-instance counters surfaced for tests / probes. Read via
175
+ * `R2CacheClient.stats()`. Track at the FUNCTION boundary level so a
176
+ * call that hits L2 bumps `l2HitsPackument` but NOT `l3GetsPackument`,
177
+ * and vice versa. The probe at audit/probes/cache-and-scrub/* asserts
178
+ * "after the first call, no more l3GetsPackument" — structurally
179
+ * proving the L2 layer is functional even when local-dev wall-clock
180
+ * latency is too noisy to demonstrate 5×.
181
+ *
182
+ * Diag counters (src/observability/diag-counters.ts) bump for the
183
+ * SupervisorRPC layer (RPC-perspective hit/miss). These per-instance
184
+ * counters bump for the R2CacheClient call surface itself (L2 vs L3
185
+ * vs miss), independent of who's calling.
186
+ */
187
+ export interface R2CacheClientStats {
188
+ l2HitsPackument: number;
189
+ l3GetsPackument: number;
190
+ l2HitsTarball: number;
191
+ l3GetsTarball: number;
192
+ }
193
+ /**
194
+ * R2-backed npm cache client. Wraps two R2 bindings (tarballs + packuments)
195
+ * with the get/put/delete shape the SupervisorRPC methods need, fronted
196
+ * by an L2 colo cache via `caches.default`.
197
+ *
198
+ * Constructed once per request-scope (typically inside SupervisorRPC
199
+ * methods). Cheap to instantiate — no async init.
200
+ *
201
+ * ALL methods are null-bucket safe: pass `null` for either binding and
202
+ * the corresponding read returns null / write is a no-op. The L2 layer
203
+ * is also null-safe: missing `caches.default` falls through to the
204
+ * graceful-degrade path that mirrors today's behaviour.
205
+ */
206
+ export declare class R2CacheClient {
207
+ private readonly tarballBucket;
208
+ private readonly packumentBucket;
209
+ private _l2HitsPackument;
210
+ private _l3GetsPackument;
211
+ private _l2HitsTarball;
212
+ private _l3GetsTarball;
213
+ /**
214
+ * Cache-observability wave: per-call events accumulated for the
215
+ * caller (SupervisorRPC) to forward to the DO isolate's cache-stats
216
+ * singleton. Read via _cacheEvents and replaced with a fresh [] on
217
+ * drain. Public field so the caller in supervisor-rpc.ts can drain
218
+ * without an explicit method call (saves an indirection).
219
+ */
220
+ _cacheEvents: R2CacheStatEvent[];
221
+ constructor(tarballBucket: R2BucketLike, packumentBucket: R2BucketLike);
222
+ private _recordHit;
223
+ private _recordMiss;
224
+ /** Per-instance counter snapshot. Used by the L2 cache probes. */
225
+ stats(): R2CacheClientStats;
226
+ /**
227
+ * Get a cached tarball, or null if absent / oversize-bypassed.
228
+ *
229
+ * Returns the gzipped tar bytes as Uint8Array. Caller is responsible
230
+ * for integrity verification before consuming — we do NOT verify here
231
+ * because the caller (batch-facet) has the integrity hash from the
232
+ * resolver's packument.
233
+ *
234
+ * L2 (cache-and-scrub W-B): we wrap the R2 read in `caches.default`
235
+ * with `Cache-Control: public, max-age=31536000, immutable` because
236
+ * `name@version` is content-addressed (immutable npm contract since
237
+ * 2018). On miss, fall through to R2 and write through to L2.
238
+ */
239
+ getTarball(name: string, version: string): Promise<Uint8Array | null>;
240
+ /**
241
+ * Write a tarball to R2. Bytes are stored as-is (gzipped tar). No-op
242
+ * if the bucket binding is missing.
243
+ *
244
+ * Caller must ensure bytes have already passed integrity verification.
245
+ * We accept ArrayBuffer or Uint8Array. Returns true on success, false
246
+ * on failure (the cache is best-effort; failure must not break the
247
+ * install).
248
+ */
249
+ putTarball(name: string, version: string, bytes: Uint8Array | ArrayBuffer): Promise<boolean>;
250
+ /** Delete a single tarball cache entry. Idempotent. */
251
+ deleteTarball(name: string, version: string): Promise<boolean>;
252
+ /**
253
+ * Get a cached packument with its TTL state.
254
+ *
255
+ * Returns CachedPackument with `expired` set true when the entry's
256
+ * customMetadata.expiresAt is in the past. Callers MUST honour
257
+ * `expired` — only treat as a hot hit when false. Stale-while-error
258
+ * is the only valid use of expired data.
259
+ *
260
+ * L2 (cache-and-scrub W-A): we wrap the R2 read in `caches.default`.
261
+ * On hit, we read both the packument JSON and the absolute
262
+ * `expiresAt` timestamp from the L2 entry's headers — the absolute
263
+ * timestamp matters because L2 may serve a cached response near
264
+ * the end of its 5-min TTL, and the caller's `expired` check still
265
+ * needs to fire correctly. On miss, we fall through to R2 and
266
+ * write back to L2 with a 5-min `Cache-Control: max-age=300`
267
+ * (matching the existing R2 customMetadata.expiresAt semantic).
268
+ */
269
+ getPackument(name: string): Promise<CachedPackument | null>;
270
+ /**
271
+ * Write a packument JSON to R2 with a TTL stamp in customMetadata.
272
+ * No-op if the bucket binding is missing.
273
+ *
274
+ * Returns true on success, false on failure (same best-effort posture
275
+ * as putTarball).
276
+ */
277
+ putPackument(name: string, json: string): Promise<boolean>;
278
+ /** Delete a single packument cache entry. Idempotent. */
279
+ deletePackument(name: string): Promise<boolean>;
280
+ /** Lightweight feature-detection for callers that want to log path. */
281
+ hasTarballBucket(): boolean;
282
+ /** Lightweight feature-detection for callers that want to log path. */
283
+ hasPackumentBucket(): boolean;
284
+ }
285
+ export {};
286
+ //# sourceMappingURL=r2-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"r2-cache.d.ts","sourceRoot":"","sources":["../../src/npm/r2-cache.ts"],"names":[],"mappings":"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"}