@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,207 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WebSocket-backed terminal matching Nimbus's ITerminal interface.
|
|
3
|
+
* HeadlessTerminal has: write, writeln, onData, sendData, cols, rows, focus, clear
|
|
4
|
+
*
|
|
5
|
+
* [B'.5] The `ws` ref is no longer readonly: a wsClose leaves the
|
|
6
|
+
* Shell + this terminal alive in-memory; the next /ws upgrade calls
|
|
7
|
+
* `attach(newWs, ...)` to swap in the new socket. The buffer/flush
|
|
8
|
+
* timer state is preserved across the swap so any in-flight
|
|
9
|
+
* coalescing continues seamlessly.
|
|
10
|
+
*/
|
|
11
|
+
export class WebSocketTerminal {
|
|
12
|
+
ws;
|
|
13
|
+
dataCallback = null;
|
|
14
|
+
/**
|
|
15
|
+
* REPL-W1: secondary input callback installed by interactive runtimes
|
|
16
|
+
* (e.g. `python` no-args). When non-null, sendData() routes input to
|
|
17
|
+
* this callback INSTEAD of the shell. Set via attachRepl(); cleared
|
|
18
|
+
* by the disposer the attach call returns. Supports nesting (the
|
|
19
|
+
* disposer restores the prior callback).
|
|
20
|
+
*
|
|
21
|
+
* Reasoning per /workspace/.seal-internal/2026-05-11-repl-plan/plan.md
|
|
22
|
+
* §3 (Layer 2): the explicit handoff mirrors how `vim`/`less` swap
|
|
23
|
+
* the parent shell's terminal handler. Auto-detect was rejected as
|
|
24
|
+
* fragile. Additive only — when null, behavior is identical to pre-W1.
|
|
25
|
+
*/
|
|
26
|
+
replCallback = null;
|
|
27
|
+
/**
|
|
28
|
+
* monaco-wave-a (2026-05-13): Editor-pane file-system bridge.
|
|
29
|
+
*
|
|
30
|
+
* When non-null, fs-* messages (fs-read / fs-write / fs-list) are
|
|
31
|
+
* routed to this callback INSTEAD of the shell. The callback is
|
|
32
|
+
* supplied by init.ts which holds the SqliteVFS handle; it uses
|
|
33
|
+
* the same `reply` lambda we provide to send back fs-*-result
|
|
34
|
+
* frames over the live WS.
|
|
35
|
+
*
|
|
36
|
+
* Additive — when null, fs-* messages are silently dropped (same
|
|
37
|
+
* pre-Wave-A behavior, since handleMessage's switch had no case
|
|
38
|
+
* for them).
|
|
39
|
+
*/
|
|
40
|
+
fsCallback = null;
|
|
41
|
+
_cols = 80;
|
|
42
|
+
_rows = 24;
|
|
43
|
+
buffer = [];
|
|
44
|
+
flushTimer = null;
|
|
45
|
+
/** [B'.3] Optional tee called from flush() with the final coalesced
|
|
46
|
+
* frame data. Used by initSession to mirror every WS output frame
|
|
47
|
+
* into nimbus_terminal_scrollback. Single-frame granularity (not
|
|
48
|
+
* per-write) keeps the row count bounded by the 5 ms flush cadence. */
|
|
49
|
+
onFlush;
|
|
50
|
+
constructor(ws, onFlush) {
|
|
51
|
+
this.ws = ws;
|
|
52
|
+
this.onFlush = onFlush ?? null;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* [B'.5] Swap the underlying WebSocket on a warm rejoin. The Shell
|
|
56
|
+
* keeps `terminal` as a stable instance reference (it stored
|
|
57
|
+
* `this.terminal = e` in its ctor); we just point our ws ref at
|
|
58
|
+
* the new socket. The optional onFlush replaces the prior tee
|
|
59
|
+
* (initSession passes a fresh closure capturing the same
|
|
60
|
+
* self.ctx, but TypeScript-wise it's a fresh function value).
|
|
61
|
+
*/
|
|
62
|
+
attach(ws, onFlush) {
|
|
63
|
+
this.ws = ws;
|
|
64
|
+
if (onFlush !== undefined)
|
|
65
|
+
this.onFlush = onFlush;
|
|
66
|
+
}
|
|
67
|
+
get cols() { return this._cols; }
|
|
68
|
+
get rows() { return this._rows; }
|
|
69
|
+
write(data) {
|
|
70
|
+
this.buffer.push(data);
|
|
71
|
+
if (!this.flushTimer) {
|
|
72
|
+
this.flushTimer = setTimeout(() => this.flush(), 5);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
writeln(data) { this.write(data + '\r\n'); }
|
|
76
|
+
/**
|
|
77
|
+
* REPL-A1 (master plan §1): drain the buffer synchronously, bypassing
|
|
78
|
+
* the 5 ms coalescer. Used by ReplSession.submitLine to emit stdout,
|
|
79
|
+
* stderr, and the next-prompt as three discrete frames in deterministic
|
|
80
|
+
* order. Without this, all three coalesce into one `{type:'output'}`
|
|
81
|
+
* frame and probes asserting frame-order (stderr-before-stdout or
|
|
82
|
+
* prompt-after-output) see false-RED.
|
|
83
|
+
*
|
|
84
|
+
* Idempotent: cancels the pending timer + sends current buffer (if any).
|
|
85
|
+
* Safe to call on an empty buffer (no-op).
|
|
86
|
+
*/
|
|
87
|
+
flushNow() {
|
|
88
|
+
if (this.flushTimer) {
|
|
89
|
+
clearTimeout(this.flushTimer);
|
|
90
|
+
this.flushTimer = null;
|
|
91
|
+
}
|
|
92
|
+
this.flush();
|
|
93
|
+
}
|
|
94
|
+
flush() {
|
|
95
|
+
this.flushTimer = null;
|
|
96
|
+
if (this.buffer.length === 0)
|
|
97
|
+
return;
|
|
98
|
+
const combined = this.buffer.join('');
|
|
99
|
+
this.buffer = [];
|
|
100
|
+
try {
|
|
101
|
+
this.ws.send(JSON.stringify({ type: 'output', data: combined }));
|
|
102
|
+
}
|
|
103
|
+
catch { }
|
|
104
|
+
// [B'.3] Tee to scrollback. Runs AFTER the WS send so a thrown
|
|
105
|
+
// tee can't break the live stream. Fail-soft on the call: any
|
|
106
|
+
// throw is swallowed; appendScrollback itself catches its own
|
|
107
|
+
// SQL errors via try/catch in initSession's wrapper.
|
|
108
|
+
if (this.onFlush) {
|
|
109
|
+
try {
|
|
110
|
+
this.onFlush(combined);
|
|
111
|
+
}
|
|
112
|
+
catch { }
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
onData(callback) { this.dataCallback = callback; }
|
|
116
|
+
handleMessage(msg) {
|
|
117
|
+
switch (msg.type) {
|
|
118
|
+
case 'input':
|
|
119
|
+
if (msg.data)
|
|
120
|
+
this.sendData(msg.data);
|
|
121
|
+
break;
|
|
122
|
+
case 'resize':
|
|
123
|
+
if (msg.cols)
|
|
124
|
+
this._cols = msg.cols;
|
|
125
|
+
if (msg.rows)
|
|
126
|
+
this._rows = msg.rows;
|
|
127
|
+
break;
|
|
128
|
+
// monaco-wave-a (2026-05-13): editor-pane fs bridge. Route to
|
|
129
|
+
// the registered fsCallback (set by init.ts which holds the
|
|
130
|
+
// SqliteVFS). Callback uses the reply lambda to push fs-*-result
|
|
131
|
+
// frames over this WS. Untouched messages (no callback) are
|
|
132
|
+
// silently dropped — same pre-Wave-A behavior.
|
|
133
|
+
case 'fs-read':
|
|
134
|
+
case 'fs-write':
|
|
135
|
+
case 'fs-list':
|
|
136
|
+
if (this.fsCallback) {
|
|
137
|
+
// monaco-wave-a hotfix (2026-05-13): auto-echo reqId from
|
|
138
|
+
// the inbound msg into every reply frame. The client side
|
|
139
|
+
// (public/s/index.html Editor.fsRequest) keys its pending-
|
|
140
|
+
// request Map on reqId; without echo, every request hangs
|
|
141
|
+
// until the 15s timeout. Doing the merge HERE (vs at every
|
|
142
|
+
// reply site in init.ts's handler) means the handler stays
|
|
143
|
+
// ignorant of multiplexing — single source of truth.
|
|
144
|
+
const reqId = msg.reqId;
|
|
145
|
+
const reply = (frame) => {
|
|
146
|
+
try {
|
|
147
|
+
const merged = (reqId !== undefined && frame && typeof frame === 'object')
|
|
148
|
+
? { ...frame, reqId }
|
|
149
|
+
: frame;
|
|
150
|
+
this.ws.send(JSON.stringify(merged));
|
|
151
|
+
}
|
|
152
|
+
catch { }
|
|
153
|
+
};
|
|
154
|
+
try {
|
|
155
|
+
this.fsCallback(msg, reply);
|
|
156
|
+
}
|
|
157
|
+
catch (e) {
|
|
158
|
+
reply({
|
|
159
|
+
type: msg.type + '-result',
|
|
160
|
+
path: msg.path, dir: msg.dir,
|
|
161
|
+
ok: false,
|
|
162
|
+
error: 'fs handler threw: ' + (e?.message || String(e)),
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
break;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* monaco-wave-a (2026-05-13): install the fs-* message handler.
|
|
171
|
+
* The callback receives the raw message + a reply lambda that
|
|
172
|
+
* accepts a JSON-serializable frame and pushes it over this WS.
|
|
173
|
+
* Single-slot (last call wins) — init.ts is the only caller and
|
|
174
|
+
* reinstalls on warm rejoin via `attach()`.
|
|
175
|
+
*/
|
|
176
|
+
onFs(cb) {
|
|
177
|
+
this.fsCallback = cb;
|
|
178
|
+
}
|
|
179
|
+
sendData(data) {
|
|
180
|
+
// REPL-W1: replCallback takes priority when set. Restored by the
|
|
181
|
+
// disposer attachRepl() returns.
|
|
182
|
+
if (this.replCallback) {
|
|
183
|
+
this.replCallback(data);
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
if (this.dataCallback)
|
|
187
|
+
this.dataCallback(data);
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* REPL-W1: install a runtime-side input handler. Returns a disposer
|
|
191
|
+
* that restores the prior handler (supports nesting). Calling this
|
|
192
|
+
* does NOT change the shell's dataCallback — it just shadows it
|
|
193
|
+
* until the disposer runs.
|
|
194
|
+
*/
|
|
195
|
+
attachRepl(cb) {
|
|
196
|
+
const prior = this.replCallback;
|
|
197
|
+
this.replCallback = cb;
|
|
198
|
+
return () => {
|
|
199
|
+
// Idempotent: only restore if we're still the current shadow.
|
|
200
|
+
// If a nested attachRepl ran in between, the disposer chain
|
|
201
|
+
// resolves bottom-up correctly.
|
|
202
|
+
this.replCallback = prior;
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
focus() { }
|
|
206
|
+
clear() { this.write('\x1b[2J\x1b[H'); }
|
|
207
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* git-commands.ts — Nimbus v2.0 Git integration via isomorphic-git.
|
|
3
|
+
*
|
|
4
|
+
* Provides a full `git` command with subcommands:
|
|
5
|
+
* init, clone, status, add, commit, log, branch, checkout,
|
|
6
|
+
* diff, remote, fetch, pull, push, merge, reset, tag, stash
|
|
7
|
+
*
|
|
8
|
+
* Uses a VFS→isomorphic-git FS adapter that maps all operations
|
|
9
|
+
* to the SqliteVFS.
|
|
10
|
+
*/
|
|
11
|
+
import type { SqliteVFS } from '../vfs/sqlite-vfs.js';
|
|
12
|
+
export declare function registerGitCommands(registry: any, vfs: SqliteVFS, doCtx?: DurableObjectState, doEnv?: any): void;
|
|
13
|
+
//# sourceMappingURL=commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/git/commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAwKtD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,GAAG,EACb,GAAG,EAAE,SAAS,EACd,KAAK,CAAC,EAAE,kBAAkB,EAC1B,KAAK,CAAC,EAAE,GAAG,GACV,IAAI,CAwaN"}
|