@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,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* session/keys.ts — DO-storage key constants.
|
|
3
|
+
*
|
|
4
|
+
* Centralised to keep the storage namespace grep-able in one place.
|
|
5
|
+
* Renaming or adding a key forces a touch here, which forces the
|
|
6
|
+
* change to be reviewed alongside the migration plan (rename without
|
|
7
|
+
* migration = orphan rows).
|
|
8
|
+
*
|
|
9
|
+
* Originally `private static readonly` fields on NimbusSession itself;
|
|
10
|
+
* `NimbusSession`. Sibling modules (-hib.ts, -ws.ts) need to reference
|
|
11
|
+
* them, but `import type { NimbusSession }` provides no runtime
|
|
12
|
+
* binding and `private static readonly` is not reachable from outside
|
|
13
|
+
* the class anyway (TS-2341 + nominal-type rule). A dedicated leaf
|
|
14
|
+
* module solves both: every consumer imports the bare names directly.
|
|
15
|
+
*
|
|
16
|
+
* Stability contract:
|
|
17
|
+
* These keys persist DO state across deploys. Renaming any key is a
|
|
18
|
+
* storage migration — never do it without an explicit migration plan.
|
|
19
|
+
*/
|
|
20
|
+
/** W9: storage key for the isolate-generation counter (cold-start +
|
|
21
|
+
* post-hibernation wake; one increment per fresh isolate). */
|
|
22
|
+
export declare const W9_ISOLATE_GEN_KEY = "w9_isolate_gen";
|
|
23
|
+
/** W9: debounce window in ms before flushing pending process-log writes
|
|
24
|
+
* to SQL. Hot path (every append schedules a flush via this debounce). */
|
|
25
|
+
export declare const W9_FLUSH_DEBOUNCE_MS = 250;
|
|
26
|
+
/** W5: storage key for the OOM-discriminator ring snapshot.
|
|
27
|
+
* Bounded ≤20 KB by oom-discriminator.ts; persisted on ws close/error
|
|
28
|
+
* so cf-tail-style forensics survive DO hibernation. */
|
|
29
|
+
export declare const W5_RING_STORAGE_KEY = "w5_oom_ring_v1";
|
|
30
|
+
/** Storage key for the session URL prefix (e.g. /s/nimble-otter-4271).
|
|
31
|
+
* Set once per session from the X-Nimbus-Base header. */
|
|
32
|
+
export declare const SESSION_BASE_PATH_KEY = "session-base-path";
|
|
33
|
+
/** Storage key for the persisted vite-config blob. Survives DO
|
|
34
|
+
* hibernation so vite resumes serving after wake without re-running
|
|
35
|
+
* /api/start-vite. */
|
|
36
|
+
export declare const VITE_CONFIG_KEY = "vite-config";
|
|
37
|
+
/** W1: multi-reason alarm coordination map.
|
|
38
|
+
*
|
|
39
|
+
* JSON-serialised `Record<reason, deadlineMsEpoch>` where keys are
|
|
40
|
+
* canonical reason strings (e.g. 'w9-flush', 'log-janitor'). The
|
|
41
|
+
* alarm() dispatcher reads this on fire, dispatches every reason
|
|
42
|
+
* whose deadline has passed, and re-arms `ctx.storage.setAlarm` at
|
|
43
|
+
* the earliest remaining deadline.
|
|
44
|
+
*
|
|
45
|
+
* Why a map (not a single nextAlarmAt + reason): two subsystems
|
|
46
|
+
* (W9 debounced flush + W1 log-janitor sweep) can have distinct
|
|
47
|
+
* deadlines. Without the map, the later setAlarm() call would
|
|
48
|
+
* overwrite the earlier reason silently, breaking whichever
|
|
49
|
+
* subsystem expected its deadline.
|
|
50
|
+
*
|
|
51
|
+
* Forward-compat: dispatcher silently drops unknown reasons so a
|
|
52
|
+
* rollback from a future deploy that added new reasons doesn't
|
|
53
|
+
* leave the alarm stuck.
|
|
54
|
+
*/
|
|
55
|
+
export declare const W1_NEXT_ALARM_REASONS_KEY = "w1_next_alarm_reasons";
|
|
56
|
+
//# sourceMappingURL=keys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/session/keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;+DAC+D;AAC/D,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AAEnD;2EAC2E;AAC3E,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC;;yDAEyD;AACzD,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAEpD;0DAC0D;AAC1D,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AAEzD;;uBAEuB;AACvB,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,yBAAyB,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* session/keys.ts — DO-storage key constants.
|
|
3
|
+
*
|
|
4
|
+
* Centralised to keep the storage namespace grep-able in one place.
|
|
5
|
+
* Renaming or adding a key forces a touch here, which forces the
|
|
6
|
+
* change to be reviewed alongside the migration plan (rename without
|
|
7
|
+
* migration = orphan rows).
|
|
8
|
+
*
|
|
9
|
+
* Originally `private static readonly` fields on NimbusSession itself;
|
|
10
|
+
* `NimbusSession`. Sibling modules (-hib.ts, -ws.ts) need to reference
|
|
11
|
+
* them, but `import type { NimbusSession }` provides no runtime
|
|
12
|
+
* binding and `private static readonly` is not reachable from outside
|
|
13
|
+
* the class anyway (TS-2341 + nominal-type rule). A dedicated leaf
|
|
14
|
+
* module solves both: every consumer imports the bare names directly.
|
|
15
|
+
*
|
|
16
|
+
* Stability contract:
|
|
17
|
+
* These keys persist DO state across deploys. Renaming any key is a
|
|
18
|
+
* storage migration — never do it without an explicit migration plan.
|
|
19
|
+
*/
|
|
20
|
+
/** W9: storage key for the isolate-generation counter (cold-start +
|
|
21
|
+
* post-hibernation wake; one increment per fresh isolate). */
|
|
22
|
+
export const W9_ISOLATE_GEN_KEY = 'w9_isolate_gen';
|
|
23
|
+
/** W9: debounce window in ms before flushing pending process-log writes
|
|
24
|
+
* to SQL. Hot path (every append schedules a flush via this debounce). */
|
|
25
|
+
export const W9_FLUSH_DEBOUNCE_MS = 250;
|
|
26
|
+
/** W5: storage key for the OOM-discriminator ring snapshot.
|
|
27
|
+
* Bounded ≤20 KB by oom-discriminator.ts; persisted on ws close/error
|
|
28
|
+
* so cf-tail-style forensics survive DO hibernation. */
|
|
29
|
+
export const W5_RING_STORAGE_KEY = 'w5_oom_ring_v1';
|
|
30
|
+
/** Storage key for the session URL prefix (e.g. /s/nimble-otter-4271).
|
|
31
|
+
* Set once per session from the X-Nimbus-Base header. */
|
|
32
|
+
export const SESSION_BASE_PATH_KEY = 'session-base-path';
|
|
33
|
+
/** Storage key for the persisted vite-config blob. Survives DO
|
|
34
|
+
* hibernation so vite resumes serving after wake without re-running
|
|
35
|
+
* /api/start-vite. */
|
|
36
|
+
export const VITE_CONFIG_KEY = 'vite-config';
|
|
37
|
+
/** W1: multi-reason alarm coordination map.
|
|
38
|
+
*
|
|
39
|
+
* JSON-serialised `Record<reason, deadlineMsEpoch>` where keys are
|
|
40
|
+
* canonical reason strings (e.g. 'w9-flush', 'log-janitor'). The
|
|
41
|
+
* alarm() dispatcher reads this on fire, dispatches every reason
|
|
42
|
+
* whose deadline has passed, and re-arms `ctx.storage.setAlarm` at
|
|
43
|
+
* the earliest remaining deadline.
|
|
44
|
+
*
|
|
45
|
+
* Why a map (not a single nextAlarmAt + reason): two subsystems
|
|
46
|
+
* (W9 debounced flush + W1 log-janitor sweep) can have distinct
|
|
47
|
+
* deadlines. Without the map, the later setAlarm() call would
|
|
48
|
+
* overwrite the earlier reason silently, breaking whichever
|
|
49
|
+
* subsystem expected its deadline.
|
|
50
|
+
*
|
|
51
|
+
* Forward-compat: dispatcher silently drops unknown reasons so a
|
|
52
|
+
* rollback from a future deploy that added new reasons doesn't
|
|
53
|
+
* leave the alarm stuck.
|
|
54
|
+
*/
|
|
55
|
+
export const W1_NEXT_ALARM_REASONS_KEY = 'w1_next_alarm_reasons';
|
|
@@ -0,0 +1,434 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* nimbus-session.ts — NimbusSession Durable Object (v2.0).
|
|
3
|
+
*
|
|
4
|
+
* The supervisor DO that owns the VFS, shell, and all commands.
|
|
5
|
+
* `node` execution is delegated to dynamic workers via LOADER.load().
|
|
6
|
+
* IPC between facets and the supervisor flows through SupervisorRPC.
|
|
7
|
+
*/
|
|
8
|
+
import { Kernel, Shell } from '@lifo-sh/core';
|
|
9
|
+
import { DurableObject as CloudflareDurableObject } from 'cloudflare:workers';
|
|
10
|
+
import { SqliteVFS } from '../vfs/sqlite-vfs.js';
|
|
11
|
+
import { WebSocketTerminal } from '../facets/ws-terminal.js';
|
|
12
|
+
import { FacetManager } from '../facets/manager.js';
|
|
13
|
+
import { ProcessTable } from '../runtime/process-table.js';
|
|
14
|
+
import { ProcessLogStore } from '../runtime/process-logs.js';
|
|
15
|
+
import type { WsHibernationConfigResult } from './hibernation.js';
|
|
16
|
+
import { PortRegistry } from '../runtime/port-registry.js';
|
|
17
|
+
import { EsbuildService } from '../runtime/esbuild-service.js';
|
|
18
|
+
import { ViteDevServer } from '../facets/vite-dev-server.js';
|
|
19
|
+
import { CirrusReal } from '../facets/cirrus-real.js';
|
|
20
|
+
import { NimbusWrangler } from '../wrangler/nimbus-wrangler.js';
|
|
21
|
+
import { NpmInstaller } from '../npm/installer.js';
|
|
22
|
+
import { type TryEnableReplicasResult as _W12EnableResult } from '../replica/routing.js';
|
|
23
|
+
import * as _programmatic from './programmatic.js';
|
|
24
|
+
export { filterWranglerFlags, detectBundlerBin, checkNodeModulesGuard, detectUnsupportedWranglerConfig, renderNoDevServerHtml, BUNDLER_BIN_PREFIXES, NIMBUS_UNSUPPORTED_BINS, WRANGLER_IGNORED_FLAGS, WRANGLER_IGNORED_FLAGS_WITH_VALUE, WRANGLER_UNSUPPORTED_CONFIG_FIELDS, } from './helpers.js';
|
|
25
|
+
export { detectCloudflareWorkersProject } from '../runtime/project-detect.js';
|
|
26
|
+
/**
|
|
27
|
+
* Render the welcome MOTD banner with column-counted padding so every
|
|
28
|
+
* line lands the right ║ on the same column regardless of how many
|
|
29
|
+
* non-ASCII characters (em-dash, middle-dot) the content contains.
|
|
30
|
+
*
|
|
31
|
+
* Width model: each "row" is built by left-aligning content into a
|
|
32
|
+
* fixed inner-width slot, then bracketed by ║ and padded with spaces.
|
|
33
|
+
* Codepoint count is used as the column count. This is correct for
|
|
34
|
+
* all characters in the current banner — box-drawing (U+2500-U+257F),
|
|
35
|
+
* em-dash (U+2014), and middle-dot (U+00B7) are all defined as
|
|
36
|
+
* 1-cell-wide in the Unicode East Asian Width table (`Na`/`A`/`N`).
|
|
37
|
+
*
|
|
38
|
+
* Why this exists: pre-fix, the banner used hand-counted padding
|
|
39
|
+
* literals. Adding/removing a single character (e.g. version bumping
|
|
40
|
+
* from "v2.0" to "v2.0.0") shifted line 2 by one column, breaking
|
|
41
|
+
* the right boundary. See user-debug-transcript.txt lines 1-5.
|
|
42
|
+
*/
|
|
43
|
+
export declare function renderMotdBanner(version: string): string;
|
|
44
|
+
export declare class NimbusSession extends CloudflareDurableObject {
|
|
45
|
+
sqliteFs: SqliteVFS | null;
|
|
46
|
+
kernel: Kernel | null;
|
|
47
|
+
shell: Shell | null;
|
|
48
|
+
terminal: WebSocketTerminal | null;
|
|
49
|
+
facetManager: FacetManager | null;
|
|
50
|
+
/** W8: child_process broker. Lazy — only constructed when first cp* RPC arrives. */
|
|
51
|
+
facetProcessManager: any;
|
|
52
|
+
esbuildService: EsbuildService | null;
|
|
53
|
+
viteDevServer: ViteDevServer | null;
|
|
54
|
+
/**
|
|
55
|
+
* Primitives wave (P5): PID + port the default-Cirrus vite shim is
|
|
56
|
+
* registered under. Cleared on `vite stop`. See
|
|
57
|
+
* `runtime/long-running-handle.ts` and the vite handler in
|
|
58
|
+
* `session/init.ts`.
|
|
59
|
+
*/
|
|
60
|
+
_viteShimPid: number | null;
|
|
61
|
+
_viteShimPort: number | null;
|
|
62
|
+
/**
|
|
63
|
+
* Opt-in real-vite mode (Phase 0 spike). Activated when the user sets
|
|
64
|
+
* NIMBUS_REAL_VITE=1 in the shell env or `nimbusDevServer: 'real'` in
|
|
65
|
+
* vite.config.ts. Runs real Vite in a dynamic-worker facet, bypassing
|
|
66
|
+
* the in-process Cirrus shim. Coexists with viteDevServer — only one
|
|
67
|
+
* is live per session.
|
|
68
|
+
*/
|
|
69
|
+
cirrusReal: CirrusReal | null;
|
|
70
|
+
/**
|
|
71
|
+
* Map of HMR WebSocket (server-side) → clientId. Populated when the
|
|
72
|
+
* browser's @vite/client opens a connection at /preview/__nimbus_hmr;
|
|
73
|
+
* consumed by the message+close handlers on the WS itself.
|
|
74
|
+
* Non-hibernatable (we use server.accept(), not ctx.acceptWebSocket).
|
|
75
|
+
*/
|
|
76
|
+
_cirrusHmrWsClients: Map<WebSocket, string> | null;
|
|
77
|
+
/** file-tree-watch (2026-05-15): per-WS fs-watch subscriptions.
|
|
78
|
+
* Lazily created on first fs-watch-subscribe by src/session/fs-watch.ts;
|
|
79
|
+
* cleaned up unconditionally in src/session/ws.ts on wsClose / wsError.
|
|
80
|
+
* Optional (undefined) until first subscribe so memory stays at 0
|
|
81
|
+
* for terminal-only sessions. */
|
|
82
|
+
_fsWatchSubs?: Map<WebSocket, import('./fs-watch.js').FsWatchSub[]>;
|
|
83
|
+
nimbusWrangler: NimbusWrangler | null;
|
|
84
|
+
npmInstaller: NpmInstaller | null;
|
|
85
|
+
/** Singleton fetch proxy entrypoint — created once, reused for all npm fetches. */
|
|
86
|
+
fetchProxyEntrypoint: any;
|
|
87
|
+
processTable: ProcessTable;
|
|
88
|
+
portRegistry: PortRegistry;
|
|
89
|
+
processLogs: ProcessLogStore;
|
|
90
|
+
/** W1: idempotency flag for the alarm-driven log-janitor bootstrap.
|
|
91
|
+
* Replaces the pre-W1 `processLogsTimer` setTimeout handle (which
|
|
92
|
+
* prevented hibernation per CF DO docs). The alarm itself lives in
|
|
93
|
+
* DO storage at key `w1_next_alarm_reasons`. */
|
|
94
|
+
processLogsJanitorWired: boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Result of `configureWsHibernation` at constructor time. Exposed via
|
|
97
|
+
* `/api/_diag/memory` under `hib.autoResponseConfigured`,
|
|
98
|
+
* `hib.timeoutSetMs` etc. `null` until the constructor's wiring runs
|
|
99
|
+
* (which it does unconditionally — left null only on a defensive
|
|
100
|
+
* catch-all).
|
|
101
|
+
*/
|
|
102
|
+
_w9WsConfig: WsHibernationConfigResult | null;
|
|
103
|
+
/**
|
|
104
|
+
* Monotonic isolate generation counter. Each fresh isolate (cold start
|
|
105
|
+
* or post-hibernation wake) increments this and persists to storage.
|
|
106
|
+
* Lets `/api/_diag/memory` confirm whether a wake actually happened
|
|
107
|
+
* between two probe calls.
|
|
108
|
+
*/
|
|
109
|
+
_w9IsolateGen: number;
|
|
110
|
+
/** True once we've persisted the bumped gen counter to storage. */
|
|
111
|
+
_w9IsolateGenPersisted: boolean;
|
|
112
|
+
/** SQL DDL — idempotent; run on first fetch. */
|
|
113
|
+
_w9SchemaInit: boolean;
|
|
114
|
+
/** Have we wired the persist adapter into ProcessLogStore yet? */
|
|
115
|
+
_w9PersistWired: boolean;
|
|
116
|
+
/**
|
|
117
|
+
* Debounced flush state. Append marks the timer; the timer fires
|
|
118
|
+
* after W9_FLUSH_DEBOUNCE_MS and calls `processLogs.flush()`. We
|
|
119
|
+
* also flush eagerly when `dirtyChunks * pidCount` crosses a threshold
|
|
120
|
+
* — but the debounce handles the steady-state case.
|
|
121
|
+
*
|
|
122
|
+
* S5: storage keys + the debounce constant moved to ./nimbus-session-keys.ts.
|
|
123
|
+
*/
|
|
124
|
+
_w9FlushTimer: any;
|
|
125
|
+
/**
|
|
126
|
+
* Peak supervisor heap (rss + heapUsed) seen since process start. Updated
|
|
127
|
+
* by `_diagSampleMemory()` on every call to `/api/_diag/memory`. Used to
|
|
128
|
+
* confirm OOM hypotheses without re-running the failure: a peak that
|
|
129
|
+
* grew toward 128 MB during pre-bundle is direct evidence the supervisor
|
|
130
|
+
* isolate is the one being killed. Survives the lifetime of THIS isolate
|
|
131
|
+
* only — a DO reboot resets it to 0, which is itself a useful signal
|
|
132
|
+
* (peak == 0 immediately after the banner re-printed = the killed
|
|
133
|
+
* isolate took its peak with it).
|
|
134
|
+
*/
|
|
135
|
+
_diagPeakRss: number;
|
|
136
|
+
_diagPeakHeapUsed: number;
|
|
137
|
+
_diagPeakAt: number;
|
|
138
|
+
_diagSampleCount: number;
|
|
139
|
+
/**
|
|
140
|
+
* Fix 5: toggled by env NIMBUS_DEBUG=1 (checked each call; cheap enough).
|
|
141
|
+
* When true: spawn banners and exit traces are unconditional (not just
|
|
142
|
+
* long-running facets), RPC envelope errors are surfaced to the terminal
|
|
143
|
+
* with a [rpc-error] prefix, and the exit trace includes duration_ms.
|
|
144
|
+
*
|
|
145
|
+
* The flag is derived from `this.env.NIMBUS_DEBUG` — the binding comes
|
|
146
|
+
* from wrangler's var declaration or a test harness.
|
|
147
|
+
*/
|
|
148
|
+
get nimbusDebug(): boolean;
|
|
149
|
+
/**
|
|
150
|
+
* Result of `tryEnableReplicas(this.ctx)` at constructor time. Surfaced
|
|
151
|
+
* via `/api/_diag/memory.replica` so operators can confirm whether the
|
|
152
|
+
* runtime accepted the SPEC API. Stays `null` if the constructor's
|
|
153
|
+
* call ran before this assignment (defensive — should never happen).
|
|
154
|
+
*/
|
|
155
|
+
_w12EnableResult: _W12EnableResult | null;
|
|
156
|
+
/**
|
|
157
|
+
* Public URL prefix this DO is mounted at (e.g. `/s/nimble-otter-4271`).
|
|
158
|
+
* Set from the `X-Nimbus-Base` request header on the first forwarded
|
|
159
|
+
* request and persisted so it survives hibernation. Empty string means
|
|
160
|
+
* "unknown" (e.g. direct DO stub call from legacy callers) — in that
|
|
161
|
+
* case ViteDevServer falls back to the bare `/preview` default.
|
|
162
|
+
*
|
|
163
|
+
* NOTE: this is the SESSION prefix, not the vite preview prefix. The
|
|
164
|
+
* full vite basePath is `sessionBasePath + '/preview'`.
|
|
165
|
+
*/
|
|
166
|
+
sessionBasePath: string;
|
|
167
|
+
/** Have we attempted to hydrate sessionBasePath from storage yet? */
|
|
168
|
+
sessionBasePathHydrated: boolean;
|
|
169
|
+
/**
|
|
170
|
+
* Has the "wrangler is aliased to nimbus-wrangler" banner been shown
|
|
171
|
+
* this session? Reset on WebSocket close/reopen so a reconnecting user
|
|
172
|
+
* sees it once per terminal attach. Purely cosmetic; no persistence.
|
|
173
|
+
*/
|
|
174
|
+
wranglerAliasBannerShown: boolean;
|
|
175
|
+
constructor(ctx: DurableObjectState, env: any);
|
|
176
|
+
_w9WireProcessLogPersist(): void;
|
|
177
|
+
_w9EnsureSchema(): void;
|
|
178
|
+
_w9ScheduleFlush(): void;
|
|
179
|
+
/**
|
|
180
|
+
* W1: multi-reason alarm handler. Routes via a `w1_next_alarm_reasons`
|
|
181
|
+
* storage map managed by `scheduleAlarm` (see ./hibernation.ts).
|
|
182
|
+
* Dispatches every pending reason whose deadline has passed, then
|
|
183
|
+
* re-arms `ctx.storage.setAlarm` at the earliest remaining deadline.
|
|
184
|
+
* Today's reasons: 'w9-flush' (process-log SQL drain) and
|
|
185
|
+
* 'log-janitor' (dropOlderThan sweep). The janitor body needs an
|
|
186
|
+
* orphan-pid predicate so we close over `processTable` here.
|
|
187
|
+
*/
|
|
188
|
+
alarm(): Promise<void>;
|
|
189
|
+
/** W9: increment + persist isolate-gen counter once per fresh isolate. */
|
|
190
|
+
_w9MaybeBumpIsolateGen(): Promise<void>;
|
|
191
|
+
/**
|
|
192
|
+
* Convenience: the full URL prefix for the Vite dev server inside this
|
|
193
|
+
* session (e.g. `/s/nimble-otter-4271/preview`). Falls back to the
|
|
194
|
+
* historical default when sessionBasePath is unknown so legacy callers
|
|
195
|
+
* and unit tests keep working.
|
|
196
|
+
*/
|
|
197
|
+
get viteBasePath(): string;
|
|
198
|
+
/**
|
|
199
|
+
* Lazily hydrate sessionBasePath from storage, then overwrite with the
|
|
200
|
+
* current request's `X-Nimbus-Base` header if present. Call at the top
|
|
201
|
+
* of `_handleFetch` before any HTML rendering or ViteDevServer spawn.
|
|
202
|
+
*
|
|
203
|
+
* We always trust the most recent header over storage, because a DO
|
|
204
|
+
* instance is always pinned to one session ID (via idFromName) but the
|
|
205
|
+
* URL prefix COULD change across deploys (e.g. if we ever rename `/s/`).
|
|
206
|
+
*/
|
|
207
|
+
hydrateSessionBasePath(request: Request): Promise<void>;
|
|
208
|
+
_rpcReadFile(path: string): Promise<string | null>;
|
|
209
|
+
_rpcReadFileBytes(path: string): Promise<Uint8Array | null>;
|
|
210
|
+
_rpcInnerDoFetch(req: any): Promise<any>;
|
|
211
|
+
_rpcWriteFile(path: string, content: string | Uint8Array): Promise<void>;
|
|
212
|
+
_rpcStat(path: string): Promise<any>;
|
|
213
|
+
_rpcReaddir(path: string): Promise<{
|
|
214
|
+
name: string;
|
|
215
|
+
type: string;
|
|
216
|
+
}[]>;
|
|
217
|
+
_rpcExists(path: string): Promise<boolean>;
|
|
218
|
+
_rpcMkdir(path: string): Promise<void>;
|
|
219
|
+
_rpcHmrRelay(clientId: string | null, msg: string): Promise<void>;
|
|
220
|
+
_rpcUnlink(path: string): Promise<void>;
|
|
221
|
+
_rpcWriteBatch(payload: any): Promise<{
|
|
222
|
+
inodes: number;
|
|
223
|
+
chunks: number;
|
|
224
|
+
}>;
|
|
225
|
+
_rpcWriteBatchStream(stream: ReadableStream<Uint8Array>): Promise<{
|
|
226
|
+
inodes: number;
|
|
227
|
+
chunks: number;
|
|
228
|
+
}>;
|
|
229
|
+
_rpcPutRegistryEntries(entries: any[]): Promise<{
|
|
230
|
+
written: number;
|
|
231
|
+
failed: number;
|
|
232
|
+
}>;
|
|
233
|
+
_rpcRecordCacheStats(events: any[]): Promise<void>;
|
|
234
|
+
_rpcStdout(pid: number, data: string): Promise<void>;
|
|
235
|
+
_rpcStderr(pid: number, data: string): Promise<void>;
|
|
236
|
+
_rpcReportExit(pid: number, code: number, tail: string): Promise<void>;
|
|
237
|
+
_emitExitDump(pid: number, code: number): void;
|
|
238
|
+
_emitShellExecDone(pid: number, cmd: string, code: number, durationMs: number): void;
|
|
239
|
+
_reportExternalExit(pid: number, code: number, reason: string): void;
|
|
240
|
+
_ensureLogJanitor(): void;
|
|
241
|
+
_rpcPrefetch(cwd: string, entryCode: string): Promise<Record<string, string>>;
|
|
242
|
+
_rpcRegisterPort(pid: number, port: number): Promise<void>;
|
|
243
|
+
_rpcUnregisterPort(port: number): Promise<void>;
|
|
244
|
+
_rpcTransform(code: string, loader: string): Promise<{
|
|
245
|
+
code: string;
|
|
246
|
+
map: string;
|
|
247
|
+
} | null>;
|
|
248
|
+
_rpcFanoutExecute(fnSource: string, args: unknown[], poolOpts?: {
|
|
249
|
+
tag?: string;
|
|
250
|
+
timeoutMs?: number;
|
|
251
|
+
preamble?: string;
|
|
252
|
+
wasmModules?: Record<string, ArrayBuffer>;
|
|
253
|
+
extraBindings?: Record<string, unknown>;
|
|
254
|
+
omitSupervisor?: boolean;
|
|
255
|
+
}): Promise<{
|
|
256
|
+
results: unknown[];
|
|
257
|
+
}>;
|
|
258
|
+
_rpcCpSpawn(req: any): Promise<{
|
|
259
|
+
childPid: number;
|
|
260
|
+
}>;
|
|
261
|
+
_rpcCpStdinWrite(childPid: number, data: string): Promise<{
|
|
262
|
+
ok: boolean;
|
|
263
|
+
}>;
|
|
264
|
+
_rpcCpStdinEnd(childPid: number): Promise<void>;
|
|
265
|
+
_rpcCpReadOutput(childPid: number, fd: 1 | 2, sinceSeq: number, waitMs: number): Promise<any>;
|
|
266
|
+
_rpcCpDrainOutput(childPid: number): Promise<any>;
|
|
267
|
+
_rpcCpKill(childPid: number, signal: string): Promise<boolean>;
|
|
268
|
+
_rpcCpWait(childPid: number, waitMs: number): Promise<any>;
|
|
269
|
+
_rpcCpDispatchInline(req: any, kind: string): Promise<{
|
|
270
|
+
exitCode: number;
|
|
271
|
+
stdout: string;
|
|
272
|
+
stderr: string;
|
|
273
|
+
}>;
|
|
274
|
+
_rpcReady(options?: _programmatic.ProgrammaticReadyOptions): Promise<{
|
|
275
|
+
ok: true;
|
|
276
|
+
preinstalled: string[];
|
|
277
|
+
}>;
|
|
278
|
+
_rpcExec(command: string, options?: _programmatic.ProgrammaticExecOptions): Promise<_programmatic.ProgrammaticExecResult>;
|
|
279
|
+
_rpcStartProcess(command: string, options?: _programmatic.ProgrammaticExecOptions): Promise<_programmatic.ProgrammaticStartResult>;
|
|
280
|
+
_rpcRunCode(code: string, options?: _programmatic.ProgrammaticExecOptions & {
|
|
281
|
+
language?: 'javascript' | 'typescript' | 'python' | 'ruby' | 'shell';
|
|
282
|
+
install?: 'never' | 'ifMissing';
|
|
283
|
+
}): Promise<_programmatic.ProgrammaticExecResult>;
|
|
284
|
+
_rpcInstallRuntime(spec: string, options?: {
|
|
285
|
+
force?: boolean;
|
|
286
|
+
}): Promise<import("../runtime/package-manager.js").RuntimeInstallSummary>;
|
|
287
|
+
_rpcEnsureRuntimes(specs: string[], options?: {
|
|
288
|
+
force?: boolean;
|
|
289
|
+
}): Promise<import("../runtime/package-manager.js").RuntimeInstallSummary[]>;
|
|
290
|
+
_rpcListRuntimes(): Promise<{
|
|
291
|
+
installed: import("../runtime/package-manager.js").RuntimeSummary[];
|
|
292
|
+
available: {
|
|
293
|
+
name: string;
|
|
294
|
+
defaultVersion: string;
|
|
295
|
+
versions: Array<{
|
|
296
|
+
version: string;
|
|
297
|
+
sizeBytes: number;
|
|
298
|
+
license: string;
|
|
299
|
+
}>;
|
|
300
|
+
}[];
|
|
301
|
+
}>;
|
|
302
|
+
_rpcListProcesses(): Promise<_programmatic.SerializedProcess[]>;
|
|
303
|
+
_rpcKillProcess(pid: number): Promise<{
|
|
304
|
+
ok: boolean;
|
|
305
|
+
pid: number;
|
|
306
|
+
}>;
|
|
307
|
+
_rpcProcessLogs(pid: number, options?: {
|
|
308
|
+
lines?: number;
|
|
309
|
+
bytes?: number;
|
|
310
|
+
}): Promise<{
|
|
311
|
+
pid: number;
|
|
312
|
+
chunks: any;
|
|
313
|
+
text: any;
|
|
314
|
+
exit: any;
|
|
315
|
+
}>;
|
|
316
|
+
_rpcListPorts(): Promise<_programmatic.SerializedPort[]>;
|
|
317
|
+
_rpcExposePort(port: number): Promise<{
|
|
318
|
+
port: number;
|
|
319
|
+
listening: boolean;
|
|
320
|
+
pid: any;
|
|
321
|
+
registeredAt: any;
|
|
322
|
+
}>;
|
|
323
|
+
_rpcUnexposePort(port: number): Promise<{
|
|
324
|
+
port: number;
|
|
325
|
+
ok: any;
|
|
326
|
+
}>;
|
|
327
|
+
_rpcDeleteFile(path: string, options?: {
|
|
328
|
+
recursive?: boolean;
|
|
329
|
+
}): Promise<void>;
|
|
330
|
+
vfsReadFile(path: string): ArrayBuffer | null;
|
|
331
|
+
vfsReadFileString(path: string): string | null;
|
|
332
|
+
vfsStat(path: string): {
|
|
333
|
+
type: string;
|
|
334
|
+
size: number;
|
|
335
|
+
mtime: number;
|
|
336
|
+
mode: number;
|
|
337
|
+
} | null;
|
|
338
|
+
vfsExists(path: string): boolean;
|
|
339
|
+
vfsReaddir(path: string): {
|
|
340
|
+
name: string;
|
|
341
|
+
type: string;
|
|
342
|
+
}[];
|
|
343
|
+
vfsWriteFile(path: string, data: ArrayBuffer): void;
|
|
344
|
+
fetch(request: Request): Promise<Response>;
|
|
345
|
+
_handleFetch(request: Request): Promise<Response>;
|
|
346
|
+
/**
|
|
347
|
+
* Read process.memoryUsage() if nodejs_compat exposes it. Returns null
|
|
348
|
+
* on environments where the binding is absent (older compat dates,
|
|
349
|
+
* non-Workers test harnesses). Never throws — heap probes must be
|
|
350
|
+
* fault-tolerant so a probe that fails in prod doesn't take the
|
|
351
|
+
* request handler down with it.
|
|
352
|
+
*/
|
|
353
|
+
getReplicaState(): {
|
|
354
|
+
state: string;
|
|
355
|
+
error: string | null;
|
|
356
|
+
isReplica: boolean;
|
|
357
|
+
bookmark: string | null;
|
|
358
|
+
suspended: boolean;
|
|
359
|
+
};
|
|
360
|
+
_diagReadNodeMem(): {
|
|
361
|
+
rss: number;
|
|
362
|
+
heapTotal: number;
|
|
363
|
+
heapUsed: number;
|
|
364
|
+
external: number;
|
|
365
|
+
arrayBuffers: number;
|
|
366
|
+
} | null;
|
|
367
|
+
_diagReadPerfMem(): {
|
|
368
|
+
jsHeapSizeLimit: number;
|
|
369
|
+
totalJSHeapSize: number;
|
|
370
|
+
usedJSHeapSize: number;
|
|
371
|
+
} | null;
|
|
372
|
+
_diagSampleMemory(): void;
|
|
373
|
+
ensureSqliteFs(): void;
|
|
374
|
+
/** Track when we last persisted to avoid redundant writes. */
|
|
375
|
+
_w5LastPersistAt: number;
|
|
376
|
+
/** Track ring size at last persist; skip write if unchanged. */
|
|
377
|
+
_w5LastPersistRingSize: number;
|
|
378
|
+
/** B'.4 — live initSession phase. Surfaced via
|
|
379
|
+
* /api/_diag/session.phase. null pre-first-init. */
|
|
380
|
+
_b4Phase: import('../observability/oom-discriminator.js').SessionState | null;
|
|
381
|
+
/** B'.5 — count of warm-rejoin /ws upgrades. Increments each
|
|
382
|
+
* time the join path is taken (Phase B skipped). 0 means no
|
|
383
|
+
* warm rejoins yet. Surfaced via /api/_diag/session.warmJoinCount. */
|
|
384
|
+
_b4WarmJoinCount: number;
|
|
385
|
+
_w5RehydrateRingFromStorage(): Promise<void>;
|
|
386
|
+
/** Snapshot + persist OOM ring. Delegator → ./nimbus-session-diag.ts (S10). */
|
|
387
|
+
_w5PersistRing(): Promise<void> | null;
|
|
388
|
+
ensureFacetManager(): void;
|
|
389
|
+
/**
|
|
390
|
+
* W8: lazily construct the FacetProcessManager when the first cp* RPC
|
|
391
|
+
* arrives. Wired with adapters that bridge the Nimbus shell command
|
|
392
|
+
* registry to the FacetProcessManager's CommandRegistryLike contract.
|
|
393
|
+
*/
|
|
394
|
+
_ensureFacetProcessManager(): any;
|
|
395
|
+
/**
|
|
396
|
+
* Set the shell command registry for the W8 broker to dispatch
|
|
397
|
+
* resolved commands. Called from the shell-init path right after
|
|
398
|
+
* `registerUnixCommands(registry, sqliteFs)`.
|
|
399
|
+
*/
|
|
400
|
+
_cpRegistry: any;
|
|
401
|
+
_setCpRegistry(r: any): void;
|
|
402
|
+
/**
|
|
403
|
+
* Get or create the singleton fetch proxy entrypoint.
|
|
404
|
+
* ONE dynamic worker is created via LOADER.load() and reused for ALL npm
|
|
405
|
+
* fetch calls across the lifetime of this DO instance. This prevents
|
|
406
|
+
* ephemeral port exhaustion from creating a new worker per fetch.
|
|
407
|
+
*/
|
|
408
|
+
ensureFetchProxy(log?: (msg: string) => void): any | null;
|
|
409
|
+
/**
|
|
410
|
+
* Build a FetchFn that routes through the singleton proxy entrypoint.
|
|
411
|
+
* All concurrent fetches share ONE worker — no port exhaustion.
|
|
412
|
+
*/
|
|
413
|
+
buildFetchFn(log?: (msg: string) => void): ((url: string, init?: RequestInit) => Promise<Response>) | undefined;
|
|
414
|
+
ensureNpmInstaller(onProgress?: (msg: string) => void): void;
|
|
415
|
+
/**
|
|
416
|
+
* Read an environment flag with default-on semantics. Mirrors the
|
|
417
|
+
* shouldUseFacetPool / shouldUseFacetResolver / shouldUseBatchFacet
|
|
418
|
+
* gates inside NpmInstaller — kept here as a private helper so the
|
|
419
|
+
* lazy-proxy decision uses identical semantics without leaking that
|
|
420
|
+
* private API across modules.
|
|
421
|
+
*/
|
|
422
|
+
_envFlagDefaultOn(name: string): boolean;
|
|
423
|
+
initSession(ws: WebSocket): void;
|
|
424
|
+
seedFilesystem(): void;
|
|
425
|
+
webSocketMessage(ws: WebSocket, message: string | ArrayBuffer): Promise<void>;
|
|
426
|
+
webSocketClose(ws: WebSocket, code?: number, reason?: string, wasClean?: boolean): Promise<void>;
|
|
427
|
+
webSocketError(ws: WebSocket, error?: any): Promise<void>;
|
|
428
|
+
/** W9: synchronous flush on close. Delegator → ./nimbus-session-hib.ts (S4). */
|
|
429
|
+
_w9FlushOnClose(): void;
|
|
430
|
+
/** W5: bridge _w5PersistRing → ctx.waitUntil. Delegator → ./nimbus-session-ws.ts (S7). */
|
|
431
|
+
_w5SafePersistRing(): void;
|
|
432
|
+
}
|
|
433
|
+
export { NimbusAssetsRPC, NimbusLoaderRPC, NimbusLoadedWorker, NimbusLoadedEntrypoint, NimbusDurableObjectNamespace, NimbusDOStub, } from './bindings.js';
|
|
434
|
+
//# sourceMappingURL=nimbus-session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nimbus-session.d.ts","sourceRoot":"","sources":["../../src/session/nimbus-session.ts"],"names":[],"mappings":"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"}
|