@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.
- package/README.md +219 -0
- package/dist/_shared/bytes.d.ts +18 -0
- package/dist/_shared/bytes.d.ts.map +1 -0
- package/dist/_shared/bytes.js +17 -0
- package/dist/_shared/cache-stats.d.ts +146 -0
- package/dist/_shared/cache-stats.d.ts.map +1 -0
- package/dist/_shared/cache-stats.js +162 -0
- package/dist/_shared/exports-resolver.d.ts +76 -0
- package/dist/_shared/exports-resolver.d.ts.map +1 -0
- package/dist/_shared/exports-resolver.js +284 -0
- package/dist/_shared/install-phase.d.ts +47 -0
- package/dist/_shared/install-phase.d.ts.map +1 -0
- package/dist/_shared/install-phase.js +1 -0
- package/dist/_shared/real-node-imports.d.ts +38 -0
- package/dist/_shared/real-node-imports.d.ts.map +1 -0
- package/dist/_shared/real-node-imports.js +46 -0
- package/dist/_shared/retry.d.ts +93 -0
- package/dist/_shared/retry.d.ts.map +1 -0
- package/dist/_shared/retry.js +161 -0
- package/dist/_shared/session-id.d.ts +39 -0
- package/dist/_shared/session-id.d.ts.map +1 -0
- package/dist/_shared/session-id.js +127 -0
- package/dist/_shared/session-router.d.ts +104 -0
- package/dist/_shared/session-router.d.ts.map +1 -0
- package/dist/_shared/session-router.js +165 -0
- package/dist/_shared/w7-frame.d.ts +93 -0
- package/dist/_shared/w7-frame.d.ts.map +1 -0
- package/dist/_shared/w7-frame.js +402 -0
- package/dist/auth/index.d.ts +16 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +15 -0
- package/dist/auth/middleware.d.ts +85 -0
- package/dist/auth/middleware.d.ts.map +1 -0
- package/dist/auth/middleware.js +150 -0
- package/dist/auth/token.d.ts +96 -0
- package/dist/auth/token.d.ts.map +1 -0
- package/dist/auth/token.js +226 -0
- package/dist/auth/types.d.ts +141 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +114 -0
- package/dist/bindings/d1.d.ts +102 -0
- package/dist/bindings/d1.d.ts.map +1 -0
- package/dist/bindings/d1.js +549 -0
- package/dist/bindings/kv.d.ts +82 -0
- package/dist/bindings/kv.d.ts.map +1 -0
- package/dist/bindings/kv.js +290 -0
- package/dist/bindings/r2.d.ts +137 -0
- package/dist/bindings/r2.d.ts.map +1 -0
- package/dist/bindings/r2.js +379 -0
- package/dist/cirrus-npm-cjs.generated.d.ts +17 -0
- package/dist/cirrus-npm-cjs.generated.d.ts.map +1 -0
- package/dist/cirrus-npm-cjs.generated.js +41 -0
- package/dist/cirrus-plugin-react.generated.d.ts +34 -0
- package/dist/cirrus-plugin-react.generated.d.ts.map +1 -0
- package/dist/cirrus-plugin-react.generated.js +33 -0
- package/dist/constants.d.ts +34 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +116 -0
- package/dist/esbuild-wasm-bundle.generated.d.ts +41 -0
- package/dist/esbuild-wasm-bundle.generated.d.ts.map +1 -0
- package/dist/esbuild-wasm-bundle.generated.js +40 -0
- package/dist/facets/cirrus-real.d.ts +147 -0
- package/dist/facets/cirrus-real.d.ts.map +1 -0
- package/dist/facets/cirrus-real.js +981 -0
- package/dist/facets/inner-do-registry.d.ts +41 -0
- package/dist/facets/inner-do-registry.d.ts.map +1 -0
- package/dist/facets/inner-do-registry.js +51 -0
- package/dist/facets/manager.d.ts +314 -0
- package/dist/facets/manager.d.ts.map +1 -0
- package/dist/facets/manager.js +2681 -0
- package/dist/facets/process.d.ts +318 -0
- package/dist/facets/process.d.ts.map +1 -0
- package/dist/facets/process.js +567 -0
- package/dist/facets/real-vite-fs-shim.d.ts +151 -0
- package/dist/facets/real-vite-fs-shim.d.ts.map +1 -0
- package/dist/facets/real-vite-fs-shim.js +1279 -0
- package/dist/facets/real-vite-hmr.d.ts +142 -0
- package/dist/facets/real-vite-hmr.d.ts.map +1 -0
- package/dist/facets/real-vite-hmr.js +476 -0
- package/dist/facets/vite-dev-server.d.ts +293 -0
- package/dist/facets/vite-dev-server.d.ts.map +1 -0
- package/dist/facets/vite-dev-server.js +2580 -0
- package/dist/facets/wasm-swap-registry.d.ts +261 -0
- package/dist/facets/wasm-swap-registry.d.ts.map +1 -0
- package/dist/facets/wasm-swap-registry.js +551 -0
- package/dist/facets/ws-terminal.d.ts +107 -0
- package/dist/facets/ws-terminal.d.ts.map +1 -0
- package/dist/facets/ws-terminal.js +207 -0
- package/dist/git/commands.d.ts +13 -0
- package/dist/git/commands.d.ts.map +1 -0
- package/dist/git/commands.js +633 -0
- package/dist/git/network-facet.d.ts +61 -0
- package/dist/git/network-facet.d.ts.map +1 -0
- package/dist/git/network-facet.js +700 -0
- package/dist/git-bundle.generated.d.ts +16 -0
- package/dist/git-bundle.generated.d.ts.map +1 -0
- package/dist/git-bundle.generated.js +15 -0
- package/dist/index.d.ts +41 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +73 -0
- package/dist/loaders/child-process/spawn-facet.d.ts +90 -0
- package/dist/loaders/child-process/spawn-facet.d.ts.map +1 -0
- package/dist/loaders/child-process/spawn-facet.js +103 -0
- package/dist/loaders/child-process/spawn-pool.d.ts +110 -0
- package/dist/loaders/child-process/spawn-pool.d.ts.map +1 -0
- package/dist/loaders/child-process/spawn-pool.js +161 -0
- package/dist/loaders/fanout-pool.d.ts +195 -0
- package/dist/loaders/fanout-pool.d.ts.map +1 -0
- package/dist/loaders/fanout-pool.js +326 -0
- package/dist/loaders/generated-workers.d.ts +26 -0
- package/dist/loaders/generated-workers.d.ts.map +1 -0
- package/dist/loaders/generated-workers.js +25 -0
- package/dist/loaders/index.d.ts +15 -0
- package/dist/loaders/index.d.ts.map +1 -0
- package/dist/loaders/index.js +13 -0
- package/dist/loaders/loader-pool.d.ts +273 -0
- package/dist/loaders/loader-pool.d.ts.map +1 -0
- package/dist/loaders/loader-pool.js +624 -0
- package/dist/loaders/npm-resolve-preamble.d.ts +34 -0
- package/dist/loaders/npm-resolve-preamble.d.ts.map +1 -0
- package/dist/loaders/npm-resolve-preamble.js +237 -0
- package/dist/loaders/pre-bundle-preamble.d.ts +41 -0
- package/dist/loaders/pre-bundle-preamble.d.ts.map +1 -0
- package/dist/loaders/pre-bundle-preamble.js +114 -0
- package/dist/loaders/vendor/codegen.d.ts +24 -0
- package/dist/loaders/vendor/codegen.d.ts.map +1 -0
- package/dist/loaders/vendor/codegen.js +44 -0
- package/dist/loaders/vendor/errors.d.ts +24 -0
- package/dist/loaders/vendor/errors.d.ts.map +1 -0
- package/dist/loaders/vendor/errors.js +46 -0
- package/dist/loaders/vendor/index.d.ts +16 -0
- package/dist/loaders/vendor/index.d.ts.map +1 -0
- package/dist/loaders/vendor/index.js +11 -0
- package/dist/loaders/vendor/pool.d.ts +88 -0
- package/dist/loaders/vendor/pool.d.ts.map +1 -0
- package/dist/loaders/vendor/pool.js +353 -0
- package/dist/loaders/vendor/primitives.d.ts +11 -0
- package/dist/loaders/vendor/primitives.d.ts.map +1 -0
- package/dist/loaders/vendor/primitives.js +33 -0
- package/dist/loaders/vendor/serialize.d.ts +3 -0
- package/dist/loaders/vendor/serialize.d.ts.map +1 -0
- package/dist/loaders/vendor/serialize.js +25 -0
- package/dist/loaders/vendor/types.d.ts +60 -0
- package/dist/loaders/vendor/types.d.ts.map +1 -0
- package/dist/loaders/vendor/types.js +4 -0
- package/dist/npm/cache.d.ts +136 -0
- package/dist/npm/cache.d.ts.map +1 -0
- package/dist/npm/cache.js +429 -0
- package/dist/npm/install-batch-facet.d.ts +129 -0
- package/dist/npm/install-batch-facet.d.ts.map +1 -0
- package/dist/npm/install-batch-facet.js +598 -0
- package/dist/npm/install-facet.d.ts +29 -0
- package/dist/npm/install-facet.d.ts.map +1 -0
- package/dist/npm/install-facet.js +9 -0
- package/dist/npm/installer.d.ts +239 -0
- package/dist/npm/installer.d.ts.map +1 -0
- package/dist/npm/installer.js +2022 -0
- package/dist/npm/npx-install.d.ts +74 -0
- package/dist/npm/npx-install.d.ts.map +1 -0
- package/dist/npm/npx-install.js +302 -0
- package/dist/npm/pre-bundle-facet.d.ts +168 -0
- package/dist/npm/pre-bundle-facet.d.ts.map +1 -0
- package/dist/npm/pre-bundle-facet.js +653 -0
- package/dist/npm/r2-cache.d.ts +286 -0
- package/dist/npm/r2-cache.d.ts.map +1 -0
- package/dist/npm/r2-cache.js +506 -0
- package/dist/npm/resolve-facet.d.ts +202 -0
- package/dist/npm/resolve-facet.d.ts.map +1 -0
- package/dist/npm/resolve-facet.js +833 -0
- package/dist/npm/resolve-one-facet.d.ts +204 -0
- package/dist/npm/resolve-one-facet.d.ts.map +1 -0
- package/dist/npm/resolve-one-facet.js +437 -0
- package/dist/npm/resolver.d.ts +109 -0
- package/dist/npm/resolver.d.ts.map +1 -0
- package/dist/npm/resolver.js +899 -0
- package/dist/npm/tarball-stream.d.ts +85 -0
- package/dist/npm/tarball-stream.d.ts.map +1 -0
- package/dist/npm/tarball-stream.js +205 -0
- package/dist/npm/tarball.d.ts +51 -0
- package/dist/npm/tarball.d.ts.map +1 -0
- package/dist/npm/tarball.js +185 -0
- package/dist/observability/diag-counters.d.ts +292 -0
- package/dist/observability/diag-counters.d.ts.map +1 -0
- package/dist/observability/diag-counters.js +302 -0
- package/dist/observability/heap-estimate.d.ts +166 -0
- package/dist/observability/heap-estimate.d.ts.map +1 -0
- package/dist/observability/heap-estimate.js +192 -0
- package/dist/observability/heavy-alloc-coord.d.ts +95 -0
- package/dist/observability/heavy-alloc-coord.d.ts.map +1 -0
- package/dist/observability/heavy-alloc-coord.js +149 -0
- package/dist/observability/oom-classify.d.ts +56 -0
- package/dist/observability/oom-classify.d.ts.map +1 -0
- package/dist/observability/oom-classify.js +118 -0
- package/dist/observability/oom-discriminator.d.ts +192 -0
- package/dist/observability/oom-discriminator.d.ts.map +1 -0
- package/dist/observability/oom-discriminator.js +233 -0
- package/dist/real-vite-bundle.generated.d.ts +46 -0
- package/dist/real-vite-bundle.generated.d.ts.map +1 -0
- package/dist/real-vite-bundle.generated.js +53 -0
- package/dist/replica/routing.d.ts +171 -0
- package/dist/replica/routing.d.ts.map +1 -0
- package/dist/replica/routing.js +288 -0
- package/dist/replica/suspension.d.ts +36 -0
- package/dist/replica/suspension.d.ts.map +1 -0
- package/dist/replica/suspension.js +49 -0
- package/dist/router/index.d.ts +156 -0
- package/dist/router/index.d.ts.map +1 -0
- package/dist/router/index.js +220 -0
- package/dist/runtime/assets-loader.d.ts +71 -0
- package/dist/runtime/assets-loader.d.ts.map +1 -0
- package/dist/runtime/assets-loader.js +128 -0
- package/dist/runtime/barrel-detect.d.ts +46 -0
- package/dist/runtime/barrel-detect.d.ts.map +1 -0
- package/dist/runtime/barrel-detect.js +73 -0
- package/dist/runtime/barrel-synthesizer.d.ts +181 -0
- package/dist/runtime/barrel-synthesizer.d.ts.map +1 -0
- package/dist/runtime/barrel-synthesizer.js +541 -0
- package/dist/runtime/bun-repl.d.ts +46 -0
- package/dist/runtime/bun-repl.d.ts.map +1 -0
- package/dist/runtime/bun-repl.js +326 -0
- package/dist/runtime/bun-runner.d.ts +66 -0
- package/dist/runtime/bun-runner.d.ts.map +1 -0
- package/dist/runtime/bun-runner.js +219 -0
- package/dist/runtime/clang-runner.d.ts +38 -0
- package/dist/runtime/clang-runner.d.ts.map +1 -0
- package/dist/runtime/clang-runner.js +1033 -0
- package/dist/runtime/comment-strip.d.ts +37 -0
- package/dist/runtime/comment-strip.d.ts.map +1 -0
- package/dist/runtime/comment-strip.js +74 -0
- package/dist/runtime/esbuild-service.d.ts +201 -0
- package/dist/runtime/esbuild-service.d.ts.map +1 -0
- package/dist/runtime/esbuild-service.js +1444 -0
- package/dist/runtime/esbuild-wasm-bytes.d.ts +87 -0
- package/dist/runtime/esbuild-wasm-bytes.d.ts.map +1 -0
- package/dist/runtime/esbuild-wasm-bytes.js +131 -0
- package/dist/runtime/framework-detect.d.ts +71 -0
- package/dist/runtime/framework-detect.d.ts.map +1 -0
- package/dist/runtime/framework-detect.js +178 -0
- package/dist/runtime/long-running-handle.d.ts +133 -0
- package/dist/runtime/long-running-handle.d.ts.map +1 -0
- package/dist/runtime/long-running-handle.js +192 -0
- package/dist/runtime/node-repl.d.ts +36 -0
- package/dist/runtime/node-repl.d.ts.map +1 -0
- package/dist/runtime/node-repl.js +293 -0
- package/dist/runtime/node-runner.d.ts +111 -0
- package/dist/runtime/node-runner.d.ts.map +1 -0
- package/dist/runtime/node-runner.js +194 -0
- package/dist/runtime/node-shims.d.ts +24 -0
- package/dist/runtime/node-shims.d.ts.map +1 -0
- package/dist/runtime/node-shims.js +3019 -0
- package/dist/runtime/package-manager.d.ts +118 -0
- package/dist/runtime/package-manager.d.ts.map +1 -0
- package/dist/runtime/package-manager.js +420 -0
- package/dist/runtime/port-registry.d.ts +80 -0
- package/dist/runtime/port-registry.d.ts.map +1 -0
- package/dist/runtime/port-registry.js +166 -0
- package/dist/runtime/process-logs-api.d.ts +102 -0
- package/dist/runtime/process-logs-api.d.ts.map +1 -0
- package/dist/runtime/process-logs-api.js +253 -0
- package/dist/runtime/process-logs.d.ts +311 -0
- package/dist/runtime/process-logs.d.ts.map +1 -0
- package/dist/runtime/process-logs.js +656 -0
- package/dist/runtime/process-table.d.ts +65 -0
- package/dist/runtime/process-table.d.ts.map +1 -0
- package/dist/runtime/process-table.js +107 -0
- package/dist/runtime/project-detect.d.ts +21 -0
- package/dist/runtime/project-detect.d.ts.map +1 -0
- package/dist/runtime/project-detect.js +46 -0
- package/dist/runtime/python-repl.d.ts +66 -0
- package/dist/runtime/python-repl.d.ts.map +1 -0
- package/dist/runtime/python-repl.js +563 -0
- package/dist/runtime/python-runner.d.ts +50 -0
- package/dist/runtime/python-runner.d.ts.map +1 -0
- package/dist/runtime/python-runner.js +870 -0
- package/dist/runtime/repl-session.d.ts +160 -0
- package/dist/runtime/repl-session.d.ts.map +1 -0
- package/dist/runtime/repl-session.js +393 -0
- package/dist/runtime/require-resolver.d.ts +52 -0
- package/dist/runtime/require-resolver.d.ts.map +1 -0
- package/dist/runtime/require-resolver.js +690 -0
- package/dist/runtime/router-basename.d.ts +36 -0
- package/dist/runtime/router-basename.d.ts.map +1 -0
- package/dist/runtime/router-basename.js +310 -0
- package/dist/runtime/ruby-repl.d.ts +43 -0
- package/dist/runtime/ruby-repl.d.ts.map +1 -0
- package/dist/runtime/ruby-repl.js +229 -0
- package/dist/runtime/ruby-runner.d.ts +62 -0
- package/dist/runtime/ruby-runner.d.ts.map +1 -0
- package/dist/runtime/ruby-runner.js +737 -0
- package/dist/runtime/runtime-catalog.d.ts +99 -0
- package/dist/runtime/runtime-catalog.d.ts.map +1 -0
- package/dist/runtime/runtime-catalog.js +183 -0
- package/dist/runtime/runtime-registry.d.ts +136 -0
- package/dist/runtime/runtime-registry.d.ts.map +1 -0
- package/dist/runtime/runtime-registry.js +318 -0
- package/dist/runtime/streams.d.ts +13 -0
- package/dist/runtime/streams.d.ts.map +1 -0
- package/dist/runtime/streams.js +402 -0
- package/dist/runtime/wasi-instance.d.ts +190 -0
- package/dist/runtime/wasi-instance.d.ts.map +1 -0
- package/dist/runtime/wasi-instance.js +2044 -0
- package/dist/runtime/wasm-runner.d.ts +117 -0
- package/dist/runtime/wasm-runner.d.ts.map +1 -0
- package/dist/runtime/wasm-runner.js +705 -0
- package/dist/session/bindings.d.ts +168 -0
- package/dist/session/bindings.d.ts.map +1 -0
- package/dist/session/bindings.js +524 -0
- package/dist/session/ctx-exports.d.ts +16 -0
- package/dist/session/ctx-exports.d.ts.map +1 -0
- package/dist/session/ctx-exports.js +22 -0
- package/dist/session/diag.d.ts +62 -0
- package/dist/session/diag.d.ts.map +1 -0
- package/dist/session/diag.js +118 -0
- package/dist/session/fs-watch.d.ts +132 -0
- package/dist/session/fs-watch.d.ts.map +1 -0
- package/dist/session/fs-watch.js +255 -0
- package/dist/session/helpers.d.ts +150 -0
- package/dist/session/helpers.d.ts.map +1 -0
- package/dist/session/helpers.js +472 -0
- package/dist/session/hibernation.d.ts +145 -0
- package/dist/session/hibernation.d.ts.map +1 -0
- package/dist/session/hibernation.js +385 -0
- package/dist/session/init-phases.d.ts +87 -0
- package/dist/session/init-phases.d.ts.map +1 -0
- package/dist/session/init-phases.js +137 -0
- package/dist/session/init.d.ts +46 -0
- package/dist/session/init.d.ts.map +1 -0
- package/dist/session/init.js +3579 -0
- package/dist/session/keys.d.ts +56 -0
- package/dist/session/keys.d.ts.map +1 -0
- package/dist/session/keys.js +55 -0
- package/dist/session/nimbus-session.d.ts +434 -0
- package/dist/session/nimbus-session.d.ts.map +1 -0
- package/dist/session/nimbus-session.js +1084 -0
- package/dist/session/programmatic.d.ts +105 -0
- package/dist/session/programmatic.d.ts.map +1 -0
- package/dist/session/programmatic.js +326 -0
- package/dist/session/replica-routes.d.ts +68 -0
- package/dist/session/replica-routes.d.ts.map +1 -0
- package/dist/session/replica-routes.js +77 -0
- package/dist/session/routes.d.ts +29 -0
- package/dist/session/routes.d.ts.map +1 -0
- package/dist/session/routes.js +1331 -0
- package/dist/session/rpc.d.ts +323 -0
- package/dist/session/rpc.d.ts.map +1 -0
- package/dist/session/rpc.js +808 -0
- package/dist/session/state-store.d.ts +210 -0
- package/dist/session/state-store.d.ts.map +1 -0
- package/dist/session/state-store.js +459 -0
- package/dist/session/supervisor-rpc.d.ts +269 -0
- package/dist/session/supervisor-rpc.d.ts.map +1 -0
- package/dist/session/supervisor-rpc.js +437 -0
- package/dist/session/ws-hibernation-config.d.ts +64 -0
- package/dist/session/ws-hibernation-config.d.ts.map +1 -0
- package/dist/session/ws-hibernation-config.js +89 -0
- package/dist/session/ws.d.ts +95 -0
- package/dist/session/ws.d.ts.map +1 -0
- package/dist/session/ws.js +395 -0
- package/dist/shell/features.d.ts +410 -0
- package/dist/shell/features.d.ts.map +1 -0
- package/dist/shell/features.js +1885 -0
- package/dist/shell/unix-commands.d.ts +15 -0
- package/dist/shell/unix-commands.d.ts.map +1 -0
- package/dist/shell/unix-commands.js +3703 -0
- package/dist/stubs/lifo-ui.d.ts +10 -0
- package/dist/stubs/lifo-ui.d.ts.map +1 -0
- package/dist/stubs/lifo-ui.js +1 -0
- package/dist/tailwind-play.generated.d.ts +19 -0
- package/dist/tailwind-play.generated.d.ts.map +1 -0
- package/dist/tailwind-play.generated.js +18 -0
- package/dist/vfs/dev-provider.d.ts +64 -0
- package/dist/vfs/dev-provider.d.ts.map +1 -0
- package/dist/vfs/dev-provider.js +191 -0
- package/dist/vfs/events.d.ts +51 -0
- package/dist/vfs/events.d.ts.map +1 -0
- package/dist/vfs/events.js +127 -0
- package/dist/vfs/path.d.ts +30 -0
- package/dist/vfs/path.d.ts.map +1 -0
- package/dist/vfs/path.js +41 -0
- package/dist/vfs/seed-project.d.ts +62 -0
- package/dist/vfs/seed-project.d.ts.map +1 -0
- package/dist/vfs/seed-project.js +1045 -0
- package/dist/vfs/sqlite-vfs.d.ts +435 -0
- package/dist/vfs/sqlite-vfs.d.ts.map +1 -0
- package/dist/vfs/sqlite-vfs.js +1670 -0
- package/dist/vfs/symlink-registry.d.ts +64 -0
- package/dist/vfs/symlink-registry.d.ts.map +1 -0
- package/dist/vfs/symlink-registry.js +137 -0
- package/dist/wrangler/nimbus-wrangler.d.ts +157 -0
- package/dist/wrangler/nimbus-wrangler.d.ts.map +1 -0
- package/dist/wrangler/nimbus-wrangler.js +931 -0
- package/package.json +77 -0
- package/public/_assets/cirrus-plugin-react.bundle.js +70740 -0
- package/public/_assets/esbuild-0.24.2.wasm +0 -0
- package/public/_assets/real-vite-bundle.js +101478 -0
- package/public/_assets/rollup.wasm +0 -0
- package/public/favicon.svg +8 -0
- package/public/index.html +565 -0
- package/public/s/index.html +2379 -0
- package/scripts/bundle-esbuild-wasm.mjs +244 -0
- package/scripts/bundle-facet-workers.mjs +137 -0
- package/scripts/bundle-git.mjs +118 -0
- package/scripts/bundle-npm-cjs.mjs +363 -0
- package/scripts/bundle-plugin-react.mjs +480 -0
- package/scripts/bundle-real-vite.mjs +959 -0
- package/scripts/bundle-runtime.mjs +600 -0
- package/scripts/bundle-tailwind-play.mjs +130 -0
- package/scripts/patch-lifo-ui.mjs +131 -0
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* supervisor-rpc.ts — WorkerEntrypoint for facet → supervisor IPC.
|
|
3
|
+
*
|
|
4
|
+
* Exported from index.ts. Facets receive `env.SUPERVISOR` service binding
|
|
5
|
+
* pointing to this class via ctx.exports loopback binding.
|
|
6
|
+
*
|
|
7
|
+
* Props: { doId: string, pid: number }
|
|
8
|
+
* doId — the supervisor DO's durable object ID (for routing)
|
|
9
|
+
* pid — the process ID (for stdout/stderr routing)
|
|
10
|
+
*
|
|
11
|
+
* Methods callable by facets via RPC:
|
|
12
|
+
* readFile(path) → string | null
|
|
13
|
+
* writeFile(path, content) → void
|
|
14
|
+
* stat(path) → { type, size, mtime, mode } | null
|
|
15
|
+
* readdir(path) → { name, type }[]
|
|
16
|
+
* exists(path) → boolean
|
|
17
|
+
* mkdir(path) → void
|
|
18
|
+
* unlink(path) → void
|
|
19
|
+
* writeBatch(payload) → { inodes, chunks } (bulk atomic write)
|
|
20
|
+
* stdout(data) → void (pushed to WebSocket + ring buffer)
|
|
21
|
+
* stderr(data) → void
|
|
22
|
+
* reportExit(code, tail?) → void (called from facet's finally block)
|
|
23
|
+
* prefetch(cwd, entryCode) → Record<string, string>
|
|
24
|
+
*/
|
|
25
|
+
import { WorkerEntrypoint } from 'cloudflare:workers';
|
|
26
|
+
import type { CacheTier, CacheKind } from '../_shared/cache-stats.js';
|
|
27
|
+
/**
|
|
28
|
+
* Per-call cache-stat event surfaced from supervisor R2CacheClient to
|
|
29
|
+
* the calling facet. Discriminated union so the facet can fold each
|
|
30
|
+
* event into a structured-clone-safe wire format.
|
|
31
|
+
*
|
|
32
|
+
* cache-obs-2: lifted out of supervisor-rpc.ts and now part of the
|
|
33
|
+
* RPC return shape (was drained-and-discarded in v1).
|
|
34
|
+
*/
|
|
35
|
+
export type SupervisorCacheStatEvent = {
|
|
36
|
+
kind: 'hit';
|
|
37
|
+
tier: CacheTier;
|
|
38
|
+
cacheKind: CacheKind;
|
|
39
|
+
bytes: number;
|
|
40
|
+
} | {
|
|
41
|
+
kind: 'miss';
|
|
42
|
+
tier: CacheTier;
|
|
43
|
+
cacheKind: CacheKind;
|
|
44
|
+
};
|
|
45
|
+
export declare class SupervisorRPC extends WorkerEntrypoint {
|
|
46
|
+
/**
|
|
47
|
+
* Cached supervisor DO stub. WorkerEntrypoint instances live for one
|
|
48
|
+
* facet invocation — caching inside the instance is correct per-facet
|
|
49
|
+
* scoping with no cross-invocation leak.
|
|
50
|
+
*
|
|
51
|
+
* Before this cache every method (readFile, writeFile, stdout, ...)
|
|
52
|
+
* called NIMBUS_SESSION.get(id) which mints a fresh RPC stub per call.
|
|
53
|
+
* During npm install / git clone that multiplies to tens of thousands
|
|
54
|
+
* of undisposed stubs per session, exhausting workerd's RPC queue
|
|
55
|
+
* (queueState != ACTIVE fatal). See CRASH-INVESTIGATION-V2.md.
|
|
56
|
+
*/
|
|
57
|
+
private _stubCache;
|
|
58
|
+
/**
|
|
59
|
+
* Get the supervisor DO stub for RPC routing.
|
|
60
|
+
* Uses doId from ctx.props to find the correct NimbusSession instance.
|
|
61
|
+
*/
|
|
62
|
+
private _getStub;
|
|
63
|
+
readFile(path: string): Promise<string | null>;
|
|
64
|
+
/**
|
|
65
|
+
* Read a file as raw bytes. Used by the git network facet for binary
|
|
66
|
+
* object/pack files where the text readFile would corrupt content.
|
|
67
|
+
*/
|
|
68
|
+
readFileBytes(path: string): Promise<Uint8Array | null>;
|
|
69
|
+
writeFile(path: string, content: string | Uint8Array): Promise<void>;
|
|
70
|
+
stat(path: string): Promise<any>;
|
|
71
|
+
readdir(path: string): Promise<{
|
|
72
|
+
name: string;
|
|
73
|
+
type: string;
|
|
74
|
+
}[]>;
|
|
75
|
+
exists(path: string): Promise<boolean>;
|
|
76
|
+
mkdir(path: string): Promise<void>;
|
|
77
|
+
unlink(path: string): Promise<void>;
|
|
78
|
+
/**
|
|
79
|
+
* Bulk-write all inodes + chunks in ONE transactionSync on the supervisor.
|
|
80
|
+
* Used by facets that buffer writes locally (git clone/fetch/pull).
|
|
81
|
+
*
|
|
82
|
+
* payload shape:
|
|
83
|
+
* {
|
|
84
|
+
* inodes: Array<{path, parentPath, isDir, size, mtime, mode, chunkCount}>,
|
|
85
|
+
* chunks: Array<{path, chunkId, data: Uint8Array}>,
|
|
86
|
+
* deletePaths?: string[]
|
|
87
|
+
* }
|
|
88
|
+
*/
|
|
89
|
+
writeBatch(payload: any): Promise<{
|
|
90
|
+
inodes: number;
|
|
91
|
+
chunks: number;
|
|
92
|
+
}>;
|
|
93
|
+
/**
|
|
94
|
+
* W7 — Streaming bulk-write. Same semantics as writeBatch() but the
|
|
95
|
+
* argument is a ReadableStream<Uint8Array> in the W7 wire-protocol
|
|
96
|
+
* (see src/_shared/w7-frame.ts). Bypasses the 32 MiB structured-clone
|
|
97
|
+
* cap entirely; the byte stream traverses the RPC boundary with
|
|
98
|
+
* automatic flow control per Cloudflare RPC docs.
|
|
99
|
+
*
|
|
100
|
+
* Acceptance per audit/sections/MASTER-ROADMAP.md §W7:
|
|
101
|
+
* - Install of 5GB monorepo doesn't hit 32 MiB wall.
|
|
102
|
+
* - Peak heap reduction 48 MiB → 30 MiB on the facet side.
|
|
103
|
+
*
|
|
104
|
+
* The RPC frame itself does NOT pre-clone the stream — workerd
|
|
105
|
+
* transfers the byte stream's underlying-source ownership to the
|
|
106
|
+
* receiver. From the OOM-discriminator's perspective, payloadBytes
|
|
107
|
+
* is unknown up-front (-1 sentinel); it is the supervisor's
|
|
108
|
+
* decoder that observes the actual byte count.
|
|
109
|
+
*/
|
|
110
|
+
writeBatchStream(stream: ReadableStream<Uint8Array>): Promise<{
|
|
111
|
+
inodes: number;
|
|
112
|
+
chunks: number;
|
|
113
|
+
}>;
|
|
114
|
+
/**
|
|
115
|
+
* Bulk-write npm registry cache entries (resolved packument metadata)
|
|
116
|
+
* in ONE RPC. Used by the resolver-facet to flush a wave of resolved
|
|
117
|
+
* packages back to the supervisor without per-entry round-trips.
|
|
118
|
+
*
|
|
119
|
+
* `entries` is an array of RegistryCacheEntry from src/npm-cache.ts:
|
|
120
|
+
* { name, version, tarballUrl, integrity, depsJson, exportsJson,
|
|
121
|
+
* main, moduleField, binJson, fetchedAt }
|
|
122
|
+
*
|
|
123
|
+
* Returns { written, failed } — partial writes are tolerated; cache
|
|
124
|
+
* is best-effort (resolver correctness depends on the returned
|
|
125
|
+
* ResolvedPackage[], not on cache hits).
|
|
126
|
+
*/
|
|
127
|
+
putRegistryEntries(entries: any[]): Promise<{
|
|
128
|
+
written: number;
|
|
129
|
+
failed: number;
|
|
130
|
+
}>;
|
|
131
|
+
/**
|
|
132
|
+
* Build a fresh R2CacheClient bound to this request's env. Cheap to
|
|
133
|
+
* instantiate; does no async work. Called from each R2 RPC method to
|
|
134
|
+
* avoid keeping the client in instance state (the WorkerEntrypoint
|
|
135
|
+
* lifecycle is per-invocation and we want a clean closure each time).
|
|
136
|
+
*/
|
|
137
|
+
private _r2;
|
|
138
|
+
/**
|
|
139
|
+
* Look up a tarball in the R2 cross-tenant cache. Returns
|
|
140
|
+
* { bytes, events } where:
|
|
141
|
+
* - bytes: Uint8Array on hit, null on miss/oversize/no-binding
|
|
142
|
+
* - events: L2/L3 hit/miss tuples captured during this lookup
|
|
143
|
+
*
|
|
144
|
+
* cache-obs-2: return-shape change from `Uint8Array | null` to
|
|
145
|
+
* `{ bytes, events }`. Facets propagate events into their result
|
|
146
|
+
* for installer.ts to fold into the DO singleton (mirroring the
|
|
147
|
+
* recordR2RaceCounters pattern). Without this enrichment the
|
|
148
|
+
* L2/L3 distinction is supervisor-side knowledge only.
|
|
149
|
+
*
|
|
150
|
+
* The caller is responsible for integrity-verifying bytes before
|
|
151
|
+
* unpacking — same posture as the network-fetch path. The events
|
|
152
|
+
* list is structured-clone-safe (plain objects + strings + numbers).
|
|
153
|
+
*/
|
|
154
|
+
getCachedTarball(name: string, version: string): Promise<{
|
|
155
|
+
bytes: Uint8Array | null;
|
|
156
|
+
events: SupervisorCacheStatEvent[];
|
|
157
|
+
}>;
|
|
158
|
+
/**
|
|
159
|
+
* Store a tarball in the R2 cross-tenant cache. Best-effort: on R2
|
|
160
|
+
* write failure, returns false but the install pipeline continues
|
|
161
|
+
* unaffected. Caller passes the bytes already verified against the
|
|
162
|
+
* resolver's integrity hash.
|
|
163
|
+
*/
|
|
164
|
+
putCachedTarball(name: string, version: string, bytes: Uint8Array | ArrayBuffer): Promise<boolean>;
|
|
165
|
+
/**
|
|
166
|
+
* Look up a packument in the R2 cross-tenant cache. Returns
|
|
167
|
+
* { json, ageMs, expired } or null on miss / missing binding.
|
|
168
|
+
*
|
|
169
|
+
* Caller MUST honour the `expired` flag: only treat as a hot-path
|
|
170
|
+
* hit when expired === false. Stale data is returned only for
|
|
171
|
+
* stale-while-error fallback semantics.
|
|
172
|
+
*/
|
|
173
|
+
/**
|
|
174
|
+
* Look up a packument in the R2 cross-tenant cache. Returns
|
|
175
|
+
* { cached, events } where:
|
|
176
|
+
* - cached: { json, ageMs, expired } on hit, null on miss/no-binding
|
|
177
|
+
* - events: L2/L3 hit/miss tuples captured during this lookup
|
|
178
|
+
*
|
|
179
|
+
* cache-obs-2: return-shape change from
|
|
180
|
+
* `{json, ageMs, expired} | null` to
|
|
181
|
+
* `{ cached: {json,ageMs,expired} | null, events: ... }`.
|
|
182
|
+
*
|
|
183
|
+
* Caller MUST honour the `cached.expired` flag the same as v1
|
|
184
|
+
* (only treat as hot-path hit when expired === false). Events are
|
|
185
|
+
* recorded regardless of expiration — an expired L2 hit is still
|
|
186
|
+
* recorded as 'hit' at the L2 tier; the staleness is a separate axis.
|
|
187
|
+
*/
|
|
188
|
+
getCachedPackument(name: string): Promise<{
|
|
189
|
+
cached: {
|
|
190
|
+
json: string;
|
|
191
|
+
ageMs: number;
|
|
192
|
+
expired: boolean;
|
|
193
|
+
} | null;
|
|
194
|
+
events: SupervisorCacheStatEvent[];
|
|
195
|
+
}>;
|
|
196
|
+
/**
|
|
197
|
+
* Store a packument in the R2 cross-tenant cache with a TTL stamp.
|
|
198
|
+
* Best-effort. Returns true on success.
|
|
199
|
+
*/
|
|
200
|
+
putCachedPackument(name: string, json: string): Promise<boolean>;
|
|
201
|
+
/**
|
|
202
|
+
* Admin: purge a single tarball from R2. Used in incident response.
|
|
203
|
+
*/
|
|
204
|
+
purgeCachedTarball(name: string, version: string): Promise<boolean>;
|
|
205
|
+
/**
|
|
206
|
+
* Admin: purge a single packument from R2.
|
|
207
|
+
*/
|
|
208
|
+
purgeCachedPackument(name: string): Promise<boolean>;
|
|
209
|
+
stdout(data: string): Promise<void>;
|
|
210
|
+
stderr(data: string): Promise<void>;
|
|
211
|
+
/**
|
|
212
|
+
* Report process exit to the supervisor. Called from the facet's own
|
|
213
|
+
* `finally` block after I/O has drained. The supervisor uses this to
|
|
214
|
+
* stamp the log buffer and, for non-zero exits, emit a terminal dump.
|
|
215
|
+
*
|
|
216
|
+
* `tail` is an optional trailing stderr string — useful when the facet
|
|
217
|
+
* has error state it couldn't stream in-band (rare; main path drains
|
|
218
|
+
* via __pendingIO first).
|
|
219
|
+
*/
|
|
220
|
+
reportExit(code: number, tail?: string): Promise<void>;
|
|
221
|
+
prefetch(cwd: string, entryCode: string): Promise<Record<string, string>>;
|
|
222
|
+
registerPort(port: number): Promise<void>;
|
|
223
|
+
unregisterPort(port: number): Promise<void>;
|
|
224
|
+
transform(code: string, loader: string): Promise<{
|
|
225
|
+
code: string;
|
|
226
|
+
map: string;
|
|
227
|
+
} | null>;
|
|
228
|
+
cpSpawn(req: any): Promise<{
|
|
229
|
+
childPid: number;
|
|
230
|
+
}>;
|
|
231
|
+
cpStdinWrite(childPid: number, data: string): Promise<{
|
|
232
|
+
ok: boolean;
|
|
233
|
+
}>;
|
|
234
|
+
cpStdinEnd(childPid: number): Promise<void>;
|
|
235
|
+
cpReadOutput(childPid: number, fd: 1 | 2, sinceSeq: number, waitMs: number): Promise<{
|
|
236
|
+
chunks: {
|
|
237
|
+
seq: number;
|
|
238
|
+
data: string;
|
|
239
|
+
}[];
|
|
240
|
+
closed: boolean;
|
|
241
|
+
maxSeq: number;
|
|
242
|
+
}>;
|
|
243
|
+
cpDrainOutput(childPid: number): Promise<{
|
|
244
|
+
stdout: string;
|
|
245
|
+
stderr: string;
|
|
246
|
+
stdoutClosed: boolean;
|
|
247
|
+
stderrClosed: boolean;
|
|
248
|
+
}>;
|
|
249
|
+
cpKill(childPid: number, signal: string): Promise<boolean>;
|
|
250
|
+
cpWait(childPid: number, waitMs: number): Promise<{
|
|
251
|
+
done: boolean;
|
|
252
|
+
exitCode: number | null;
|
|
253
|
+
signal: string | null;
|
|
254
|
+
}>;
|
|
255
|
+
/**
|
|
256
|
+
* arch-gaps gap #1: dispatch a single cp.spawn request inline using
|
|
257
|
+
* the existing pure-builtin / facet-direct logic, returning final
|
|
258
|
+
* stdout/stderr/exitCode (NOT streamed via hooks). Called from
|
|
259
|
+
* spawn-facet.ts:runSpawnInIsolate inside a fresh Worker Loader
|
|
260
|
+
* isolate to delegate the actual command execution back to the
|
|
261
|
+
* supervisor while keeping the dispatch envelope in a fresh isolate.
|
|
262
|
+
*/
|
|
263
|
+
cpDispatchInline(req: any, kind: string): Promise<{
|
|
264
|
+
exitCode: number;
|
|
265
|
+
stdout: string;
|
|
266
|
+
stderr: string;
|
|
267
|
+
}>;
|
|
268
|
+
}
|
|
269
|
+
//# sourceMappingURL=supervisor-rpc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supervisor-rpc.d.ts","sourceRoot":"","sources":["../../src/session/supervisor-rpc.ts"],"names":[],"mappings":"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"}
|