@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,244 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * bundle-esbuild-wasm.mjs — package esbuild-wasm for facet consumption.
4
+ *
5
+ * Why this exists
6
+ * ───────────────
7
+ * Pre-bundling npm packages (the `Pre-bundling N modules…` step in
8
+ * src/npm/installer.ts) runs inside NimbusLoaderPool isolates so each
9
+ * `esbuild.build()` allocation hits a fresh 128 MiB envelope rather
10
+ * than the supervisor's. The facet needs two pieces of esbuild-wasm
11
+ * at module-load time:
12
+ *
13
+ * 1. The JS adapter (`esbuild-wasm/esm/browser.js`) — small, stays
14
+ * in the worker bundle as a string constant.
15
+ *
16
+ * 2. The wasm binary (`esbuild.wasm`) — 12 MiB. Lives in the
17
+ * static-assets layer (Workers ASSETS binding) at
18
+ * `public/_assets/esbuild-<version>.wasm` and is fetched on
19
+ * demand by the supervisor at pool-construction time. NEVER
20
+ * bundled into the worker code object — keeping the bytes out
21
+ * of the supervisor's static baseline drops ~21 MiB of resident
22
+ * heap (verified via src/observability/heap-estimate.ts).
23
+ *
24
+ * Pre-A'.5 design (this script's prior form) embedded the wasm bytes
25
+ * as a base64 string in src/esbuild-wasm-bundle.generated.ts. That
26
+ * had two problems:
27
+ * • The 16 MiB base64 string lived in supervisor module scope for
28
+ * the lifetime of the isolate (~21 MiB UTF-16 overhead).
29
+ * • Decoding to a Uint8Array allocated another 12 MiB which the
30
+ * prior esbuild-wasm-bytes.ts cached for the same lifetime.
31
+ * Combined: ~37 MiB resident in supervisor for esbuild that almost
32
+ * never used it directly. Phase 2 A'.5 moved that out.
33
+ *
34
+ * Workarounds tried & rejected (kept here as institutional memory):
35
+ * 1. The default CJS entry (`lib/main.js`) calls
36
+ * `createRequire(import.meta.url)('fs')` at module init.
37
+ * `nodejs_compat` only satisfies static `import 'node:fs'`,
38
+ * so dynamic-require throws on dynamic-worker isolates.
39
+ * 2. The `import esbuildWasmUrl from 'esbuild-wasm/esbuild.wasm'`
40
+ * asset binding is a wrangler bundling feature — facets built
41
+ * from inline `modules:` strings have no asset resolver, so
42
+ * that import fails in the facet.
43
+ * 3. Fetching the wasm from R2 at facet boot — adds an RPC hop
44
+ * per dispatch, costs more than the in-supervisor fetch we do
45
+ * now (which happens once per pool construction, not per
46
+ * dispatch).
47
+ *
48
+ * Output:
49
+ * src/esbuild-wasm-bundle.generated.ts
50
+ * export const ESBUILD_WASM_VERSION: string;
51
+ * export const ESBUILD_WASM_JS_FN_BODY: string; // ESM browser source
52
+ *
53
+ * public/_assets/esbuild-<version>.wasm
54
+ * The raw wasm, picked up by the wrangler ASSETS binding.
55
+ *
56
+ * Run via:
57
+ * node scripts/bundle-esbuild-wasm.mjs
58
+ * (also wired into package.json predev/predeploy/postinstall)
59
+ *
60
+ * If a future esbuild-wasm release breaks `esm/browser.js` (e.g.
61
+ * reintroduces a dynamic require), this script bails loud rather
62
+ * than shipping a broken bundle to prod.
63
+ */
64
+
65
+ import { promises as fs } from 'node:fs';
66
+ import path from 'node:path';
67
+ import { fileURLToPath } from 'node:url';
68
+
69
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
70
+ const ROOT = path.resolve(__dirname, '..');
71
+ // Walk up looking for node_modules/esbuild-wasm. Handles both
72
+ // packages/worker/node_modules/esbuild-wasm (legacy single-pkg layout)
73
+ // and ../../node_modules/esbuild-wasm (monorepo hoist).
74
+ function resolvePkgDir(start, pkgName) {
75
+ let dir = start;
76
+ while (true) {
77
+ const candidate = path.join(dir, 'node_modules', pkgName);
78
+ try {
79
+ // Throws if missing; cheap stat.
80
+ // eslint-disable-next-line n/no-sync
81
+ require('node:fs').statSync(candidate);
82
+ return candidate;
83
+ } catch { /* fall through */ }
84
+ const parent = path.dirname(dir);
85
+ if (parent === dir) break;
86
+ dir = parent;
87
+ }
88
+ throw new Error(`Cannot locate node_modules/${pkgName} starting at ${start}`);
89
+ }
90
+ const { createRequire } = await import('node:module');
91
+ const require = createRequire(import.meta.url);
92
+ const PKG_DIR = resolvePkgDir(ROOT, 'esbuild-wasm');
93
+ const JS_SRC = path.join(PKG_DIR, 'esm', 'browser.js');
94
+ const WASM_SRC = path.join(PKG_DIR, 'esbuild.wasm');
95
+ const PKG_JSON = path.join(PKG_DIR, 'package.json');
96
+ const OUT_TS = path.join(ROOT, 'src', 'esbuild-wasm-bundle.generated.ts');
97
+ const OUT_ASSETS_DIR = path.join(ROOT, 'public', '_assets');
98
+
99
+ /**
100
+ * Patterns that, if present in the JS source, mean the browser build
101
+ * has been changed and is no longer safe to run inside a dynamic
102
+ * worker. The script bails rather than silently shipping a broken
103
+ * bundle to prod.
104
+ */
105
+ const FORBIDDEN_PATTERNS = [
106
+ /createRequire\s*\(/,
107
+ /require\(["'](fs|path|os|child_process|module|crypto|stream)["']\)/,
108
+ /process\.binding\s*\(/,
109
+ ];
110
+
111
+ async function main() {
112
+ const pkgJson = JSON.parse(await fs.readFile(PKG_JSON, 'utf8'));
113
+ const version = pkgJson.version;
114
+ console.log(`[bundle-esbuild-wasm] version: ${version}`);
115
+
116
+ // ── 1. Read & rewrite the ESM browser entry ─────────────────────────
117
+ // We rewrite the trailing `export { ... }` into `return { ... };` so
118
+ // the entire file becomes the body of a function. The facet
119
+ // evaluates it via `new Function(body)()`, which workerd permits
120
+ // inside dynamic workers at startup-time (precedent:
121
+ // src/facet-manager.ts).
122
+ const jsRaw = await fs.readFile(JS_SRC, 'utf8');
123
+ console.log(`[bundle-esbuild-wasm] esm/browser.js: ${(jsRaw.length / 1024).toFixed(1)} KiB`);
124
+
125
+ for (const re of FORBIDDEN_PATTERNS) {
126
+ if (re.test(jsRaw)) {
127
+ throw new Error(
128
+ `[bundle-esbuild-wasm] esm/browser.js contains forbidden pattern ${re}\n` +
129
+ ` The browser build is no longer safe for facet consumption.\n` +
130
+ ` Update this script to patch the offending call site or pin\n` +
131
+ ` esbuild-wasm to the prior version.`,
132
+ );
133
+ }
134
+ }
135
+
136
+ const exportRe = /\nexport\s*\{([\s\S]+?)\};?\s*$/;
137
+ const m = jsRaw.match(exportRe);
138
+ if (!m) {
139
+ throw new Error(
140
+ `[bundle-esbuild-wasm] could not locate trailing 'export {…}' block\n` +
141
+ ` in esm/browser.js — esbuild-wasm may have changed shape.`,
142
+ );
143
+ }
144
+ const exportBody = m[1];
145
+ const objectMembers = exportBody
146
+ .split(',')
147
+ .map((s) => s.trim())
148
+ .filter(Boolean)
149
+ .map((entry) => {
150
+ const asMatch = entry.match(/^(\S+)\s+as\s+(\S+)$/);
151
+ if (asMatch) return `${asMatch[2]}: ${asMatch[1]}`;
152
+ return entry;
153
+ })
154
+ .join(', ');
155
+ const jsFn = jsRaw.replace(exportRe, '\n') + `\nreturn { ${objectMembers} };\n`;
156
+ console.log(
157
+ `[bundle-esbuild-wasm] rewrote ${exportBody.split(',').length} exports → object-return shape`,
158
+ );
159
+
160
+ // ── 2. Stage the wasm into public/_assets/ ──────────────────────────
161
+ // The ASSETS binding picks up everything under `assets.directory`
162
+ // (./public per wrangler.jsonc). We version-name the file so a
163
+ // future esbuild-wasm bump produces a different asset filename and
164
+ // forces a fresh fetch (no stale-cache risk; cf. ESBUILD_WASM_ASSET_PATH
165
+ // in src/esbuild-wasm-bytes.ts).
166
+ await fs.mkdir(OUT_ASSETS_DIR, { recursive: true });
167
+ const assetName = `esbuild-${version}.wasm`;
168
+ const assetOut = path.join(OUT_ASSETS_DIR, assetName);
169
+ const wasmBytes = await fs.readFile(WASM_SRC);
170
+ await fs.writeFile(assetOut, wasmBytes);
171
+ console.log(
172
+ `[bundle-esbuild-wasm] copied esbuild.wasm → ${path.relative(ROOT, assetOut)} (${(wasmBytes.length / (1024 * 1024)).toFixed(1)} MiB)`,
173
+ );
174
+
175
+ // ── 3. Clean up any stale-versioned wasm assets in public/_assets/ ──
176
+ // Keeps the deploy lean: a developer who bumped the esbuild-wasm
177
+ // version locally won't accidentally ship two copies.
178
+ for (const entry of await fs.readdir(OUT_ASSETS_DIR)) {
179
+ if (entry.startsWith('esbuild-') && entry.endsWith('.wasm') && entry !== assetName) {
180
+ const stale = path.join(OUT_ASSETS_DIR, entry);
181
+ await fs.unlink(stale);
182
+ console.log(`[bundle-esbuild-wasm] removed stale asset: ${entry}`);
183
+ }
184
+ }
185
+
186
+ // ── 4. Emit the JS-only generated TS module ──────────────────────────
187
+ // No ESBUILD_WASM_BASE64 export. The base64 string was 16 MiB and
188
+ // sat in supervisor module scope for the isolate's lifetime; A'.5
189
+ // moved the bytes to env.ASSETS to drop that residency.
190
+ const header = `/**
191
+ * esbuild-wasm-bundle.generated.ts — AUTO-GENERATED by scripts/bundle-esbuild-wasm.mjs
192
+ * DO NOT EDIT.
193
+ *
194
+ * Bundled esbuild-wasm ${version} adapter for use inside NimbusLoaderPool
195
+ * isolates. Only the JS adapter is bundled here (~117 KiB); the wasm
196
+ * binary itself lives in the static-assets layer at
197
+ * public/_assets/esbuild-${version}.wasm and is fetched on demand by
198
+ * src/esbuild-wasm-bytes.ts.
199
+ *
200
+ * Phase 2 A'.5 moved the base64 wasm string OUT of the supervisor
201
+ * bundle (was 16 MiB UTF-8 → 21 MiB UTF-16 in JS string overhead).
202
+ * If you're reading this and wondering where the bytes are: env.ASSETS.
203
+ */
204
+
205
+ export const ESBUILD_WASM_VERSION: string = ${JSON.stringify(version)};
206
+
207
+ /**
208
+ * Function body that, when wrapped in \`new Function(...)()\`, returns
209
+ * the esbuild-wasm namespace (build, transform, initialize, ...).
210
+ *
211
+ * Source: node_modules/esbuild-wasm/esm/browser.js with the trailing
212
+ * \`export { ... }\` rewritten to \`return { ... };\`. Why the browser
213
+ * build:
214
+ * - Pure ESM with no \`createRequire\`, no \`require("fs")\`, and
215
+ * no \`process.binding\` — safe to evaluate inside a workerd
216
+ * dynamic-worker isolate.
217
+ * - The supported public surface for "esbuild inside a worker" is
218
+ * exactly this build.
219
+ *
220
+ * Why \`new Function(body)()\` (rather than \`import('data:...')\`):
221
+ * - data: URL imports across workerd versions are not contractual
222
+ * and we don't want a deploy that worked yesterday to silently
223
+ * break tomorrow when the runtime is upgraded.
224
+ * - new Function is documented as supported inside dynamic workers
225
+ * (src/facet-manager.ts has been doing this since 2025).
226
+ *
227
+ * The bundle script verifies the file does NOT contain the forbidden
228
+ * patterns (createRequire / dynamic node-builtin require / process.binding)
229
+ * and bails loud if a future release reintroduces them.
230
+ */
231
+ export const ESBUILD_WASM_JS_FN_BODY: string = ${JSON.stringify(jsFn)};
232
+ `;
233
+
234
+ await fs.writeFile(OUT_TS, header, 'utf8');
235
+ const stat = await fs.stat(OUT_TS);
236
+ console.log(
237
+ `[bundle-esbuild-wasm] wrote ${path.relative(ROOT, OUT_TS)} (${(stat.size / 1024).toFixed(1)} KiB — JS adapter only)`,
238
+ );
239
+ }
240
+
241
+ main().catch((e) => {
242
+ console.error('[bundle-esbuild-wasm] failed:', e);
243
+ process.exit(1);
244
+ });
@@ -0,0 +1,137 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * bundle-facet-workers.mjs — Produce the preamble string that
4
+ * NimbusFacetPool injects into dynamic workers.
5
+ *
6
+ * WHY this exists:
7
+ * NimbusFacetPool's user functions get wrapped by cloudflare-parallel's
8
+ * codegen into a module source. Inside that module the user function
9
+ * can reference closure-variables only through the `context` option,
10
+ * which is JSON-only — you cannot pass a helper function through it.
11
+ *
12
+ * For the npm install facet we need the streaming tar parser
13
+ * (src/npm/tarball-stream.ts) available as a top-level named export
14
+ * the user function can call. We esbuild-bundle that source file into
15
+ * a self-contained ES module string, and NimbusFacetPool's `preamble`
16
+ * option splices it into the generated module between the
17
+ * WorkerEntrypoint import and the user function.
18
+ *
19
+ * Output:
20
+ * src/loaders/generated-workers.ts — exports
21
+ * TAR_STREAM_PREAMBLE: string
22
+ * TAR_STREAM_PREAMBLE_SIZE: number
23
+ * W7_FRAME_PREAMBLE: string (W7 — streaming bulk-write encoder)
24
+ * W7_FRAME_PREAMBLE_SIZE: number
25
+ *
26
+ * Runs as a postinstall + predev + predeploy step via package.json.
27
+ */
28
+
29
+ import { build } from 'esbuild';
30
+ import { writeFileSync, mkdirSync } from 'node:fs';
31
+ import { dirname, join } from 'node:path';
32
+ import { fileURLToPath } from 'node:url';
33
+
34
+ const __dirname = dirname(fileURLToPath(import.meta.url));
35
+ const root = join(__dirname, '..');
36
+
37
+ /**
38
+ * Bundle one TS source into a self-contained ESM string suitable for
39
+ * inlining as a facet preamble. Strips the leading `export` on
40
+ * declarations and the aggregate `export { ... };` block so the
41
+ * blob is inlinable into another module without re-export errors.
42
+ */
43
+ async function bundleAsPreamble(entryPath, label) {
44
+ const result = await build({
45
+ entryPoints: [entryPath],
46
+ bundle: true,
47
+ format: 'esm',
48
+ target: 'esnext',
49
+ platform: 'neutral',
50
+ write: false,
51
+ logLevel: 'warning',
52
+ legalComments: 'none',
53
+ // Strip TypeScript-only imports (e.g. `import type {…}`) — esbuild
54
+ // already drops these, but leave the option default.
55
+ });
56
+ if (!result.outputFiles || result.outputFiles.length === 0) {
57
+ throw new Error(`[bundle-facet-workers/${label}] esbuild produced no output`);
58
+ }
59
+ let stripped = result.outputFiles[0].text;
60
+ stripped = stripped.replace(/^export\s+(async\s+function|function|const|class)\b/gm, '$1');
61
+ stripped = stripped.replace(/\n?export\s*\{[^}]*\}\s*;\s*$/g, '');
62
+ return stripped;
63
+ }
64
+
65
+ async function main() {
66
+ // 1. Tar-parser preamble (existing W2.5/W4 hot-path helpers).
67
+ const tarStripped = await bundleAsPreamble(
68
+ join(root, 'src', 'npm', 'tarball-stream.ts'),
69
+ 'tar-stream',
70
+ );
71
+
72
+ // 2. W7 frame encoder preamble. The npm-install-batch-facet calls
73
+ // encodeWriteBatchStream() to wrap its writeBatch payload as a
74
+ // type:'bytes' ReadableStream, then passes the stream to
75
+ // env.SUPERVISOR.writeBatchStream(). Without this preamble the
76
+ // facet has no access to the encoder symbol (cloudflare-parallel
77
+ // serialises via fn.toString() — no runtime imports).
78
+ //
79
+ // The W7-frame module imports a TypeScript type from sqlite-vfs,
80
+ // which esbuild's type-stripping handles transparently. The
81
+ // runtime output has no imports.
82
+ const w7Stripped = await bundleAsPreamble(
83
+ join(root, 'src', '_shared', 'w7-frame.ts'),
84
+ 'w7-frame',
85
+ );
86
+
87
+ const tarEncoded = JSON.stringify(tarStripped);
88
+ const w7Encoded = JSON.stringify(w7Stripped);
89
+ const outPath = join(root, 'src', 'loaders', 'generated-workers.ts');
90
+
91
+ const tsWrapper = [
92
+ '/**',
93
+ ' * generated-workers.ts — AUTO-GENERATED. DO NOT EDIT.',
94
+ ' *',
95
+ ' * Produced by scripts/bundle-facet-workers.mjs from:',
96
+ ' * - src/npm/tarball-stream.ts (streaming tar primitives)',
97
+ ' * - src/_shared/w7-frame.ts (W7 streaming bulk-write encoder)',
98
+ ' *',
99
+ ' * Consumed by src/loaders/loader-pool.ts callers via the `preamble`',
100
+ ' * option. The preamble is injected at the top of every generated',
101
+ ' * worker module so user functions can reference the exported',
102
+ ' * helpers by name.',
103
+ ' *',
104
+ ' * Tar-stream symbols: parseTarHeader, streamTarEntries,',
105
+ ' * readableStreamToAsyncIterable, MAX_FILE_BYTES.',
106
+ ' * W7-frame symbols: encodeWriteBatchStream, decodeWriteBatchStream,',
107
+ ' * W7_MAGIC, W7_TRAILER.',
108
+ ' *',
109
+ ` * Generated at: ${new Date().toISOString()}`,
110
+ ` * Tar size: ${(tarStripped.length / 1024).toFixed(2)} KiB`,
111
+ ` * W7 size: ${(w7Stripped.length / 1024).toFixed(2)} KiB`,
112
+ ' */',
113
+ '',
114
+ `export const TAR_STREAM_PREAMBLE: string = ${tarEncoded};`,
115
+ '',
116
+ `export const TAR_STREAM_PREAMBLE_SIZE: number = ${tarStripped.length};`,
117
+ '',
118
+ `export const W7_FRAME_PREAMBLE: string = ${w7Encoded};`,
119
+ '',
120
+ `export const W7_FRAME_PREAMBLE_SIZE: number = ${w7Stripped.length};`,
121
+ '',
122
+ ].join('\n');
123
+
124
+ mkdirSync(dirname(outPath), { recursive: true });
125
+ writeFileSync(outPath, tsWrapper);
126
+
127
+ console.log(
128
+ `[bundle-facet-workers] wrote ${outPath} ` +
129
+ `(tar=${(tarStripped.length / 1024).toFixed(2)} KiB, ` +
130
+ `w7=${(w7Stripped.length / 1024).toFixed(2)} KiB)`,
131
+ );
132
+ }
133
+
134
+ main().catch((e) => {
135
+ console.error('[bundle-facet-workers] FAILED:', e?.message || e);
136
+ process.exitCode = 1;
137
+ });
@@ -0,0 +1,118 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * bundle-git.mjs — Pre-bundle isomorphic-git for the git-network-facet.
4
+ *
5
+ * WHY this exists:
6
+ * The git-network-facet runs inside a dynamic worker loaded via
7
+ * env.LOADER.load(). Dynamic workers have NO access to node_modules —
8
+ * they only see modules explicitly passed in the `modules` object.
9
+ *
10
+ * The main Worker's bundler (wrangler) inlines isomorphic-git into the
11
+ * supervisor, but that bundle is unreachable from the facet isolate.
12
+ *
13
+ * This script bundles isomorphic-git + isomorphic-git/http/web into ONE
14
+ * ESM string that we can pass as a module to LOADER.load(). The facet
15
+ * imports it via `import('./isomorphic-git.js')`.
16
+ *
17
+ * Output:
18
+ * src/git-bundle.generated.ts — exports GIT_BUNDLE_CODE: string
19
+ *
20
+ * Runs as a postinstall step AND on every `bun run dev` / `bun run deploy`
21
+ * via the "bundle:git" npm script.
22
+ */
23
+
24
+ import { build } from 'esbuild';
25
+ import { writeFileSync, mkdirSync, existsSync } from 'node:fs';
26
+ import { dirname, join } from 'node:path';
27
+ import { fileURLToPath } from 'node:url';
28
+
29
+ const __dirname = dirname(fileURLToPath(import.meta.url));
30
+ const root = join(__dirname, '..');
31
+
32
+ // Entry that aggregates both namespaces into a single ESM bundle.
33
+ const ENTRY_CONTENTS = [
34
+ "export * as git from 'isomorphic-git';",
35
+ "export * as gitHttp from 'isomorphic-git/http/web';",
36
+ ].join('\n');
37
+
38
+ const ENTRY_FILE = join(root, '.git-bundle-entry.js');
39
+
40
+ async function main() {
41
+ try {
42
+ writeFileSync(ENTRY_FILE, ENTRY_CONTENTS);
43
+
44
+ const result = await build({
45
+ entryPoints: [ENTRY_FILE],
46
+ bundle: true,
47
+ format: 'esm',
48
+ target: 'esnext',
49
+ platform: 'browser',
50
+ conditions: ['worker', 'browser', 'import'],
51
+ // Map bare node built-ins → node: prefixed (works with nodejs_compat).
52
+ alias: {
53
+ crypto: 'node:crypto',
54
+ },
55
+ // Anything else that might leak: leave as external. nodejs_compat
56
+ // provides these at runtime in the dynamic worker.
57
+ external: [
58
+ 'node:*',
59
+ 'cloudflare:workers',
60
+ ],
61
+ write: false,
62
+ logLevel: 'warning',
63
+ });
64
+
65
+ if (!result.outputFiles || result.outputFiles.length === 0) {
66
+ throw new Error('esbuild produced no output');
67
+ }
68
+
69
+ const code = result.outputFiles[0].text;
70
+
71
+ // Emit as a TS module that exports the bundle as a string constant.
72
+ // Using String.raw-equivalent: JSON-encode to preserve backticks/$/etc.
73
+ const outPath = join(root, 'src', 'git-bundle.generated.ts');
74
+
75
+ // We JSON.stringify the code to produce a valid JS string literal.
76
+ // Then wrap in a TS const export. The supervisor imports this at build.
77
+ const encoded = JSON.stringify(code);
78
+
79
+ const tsWrapper = [
80
+ '/**',
81
+ ' * git-bundle.generated.ts — AUTO-GENERATED. DO NOT EDIT.',
82
+ ' *',
83
+ ' * Produced by scripts/bundle-git.mjs from:',
84
+ " * - isomorphic-git (github:AshishKumar4/cf-git)",
85
+ " * - isomorphic-git/http/web",
86
+ ' *',
87
+ ' * Consumed by git-network-facet.ts: passed to LOADER.load()\'s',
88
+ ' * `modules` record so the facet can `import` isomorphic-git.',
89
+ ' *',
90
+ ` * Generated at: ${new Date().toISOString()}`,
91
+ ` * Size: ${(code.length / 1024).toFixed(1)} KiB`,
92
+ ' */',
93
+ '',
94
+ `export const GIT_BUNDLE_CODE: string = ${encoded};`,
95
+ '',
96
+ `export const GIT_BUNDLE_SIZE = ${code.length};`,
97
+ '',
98
+ ].join('\n');
99
+
100
+ mkdirSync(dirname(outPath), { recursive: true });
101
+ writeFileSync(outPath, tsWrapper);
102
+
103
+ console.log(`[bundle-git] wrote ${outPath} (${(code.length / 1024).toFixed(1)} KiB bundled)`);
104
+ } finally {
105
+ // Clean up the temp entry file
106
+ try {
107
+ if (existsSync(ENTRY_FILE)) {
108
+ const { unlinkSync } = await import('node:fs');
109
+ unlinkSync(ENTRY_FILE);
110
+ }
111
+ } catch {}
112
+ }
113
+ }
114
+
115
+ main().catch((e) => {
116
+ console.error('[bundle-git] FAILED:', e?.message || e);
117
+ process.exitCode = 1;
118
+ });