@nimbus-sh/core 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/dist/_shared/ai-egress.d.ts +73 -0
- package/dist/_shared/ai-egress.d.ts.map +1 -0
- package/dist/_shared/ai-egress.js +88 -0
- package/dist/_shared/byte-stream.d.ts +59 -0
- package/dist/_shared/byte-stream.d.ts.map +1 -0
- package/dist/_shared/byte-stream.js +77 -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 +145 -0
- package/dist/_shared/cache-stats.d.ts.map +1 -0
- package/dist/_shared/cache-stats.js +161 -0
- package/dist/_shared/crypto.d.ts +17 -0
- package/dist/_shared/crypto.d.ts.map +1 -0
- package/dist/_shared/crypto.js +131 -0
- package/dist/_shared/esbuild-facet-shim.d.ts +21 -0
- package/dist/_shared/esbuild-facet-shim.d.ts.map +1 -0
- package/dist/_shared/esbuild-facet-shim.js +22 -0
- package/dist/_shared/exports-resolver.d.ts +74 -0
- package/dist/_shared/exports-resolver.d.ts.map +1 -0
- package/dist/_shared/exports-resolver.js +284 -0
- package/dist/_shared/facet-vfs-cursor.d.ts +48 -0
- package/dist/_shared/facet-vfs-cursor.d.ts.map +1 -0
- package/dist/_shared/facet-vfs-cursor.js +51 -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/lru-map.d.ts +25 -0
- package/dist/_shared/lru-map.d.ts.map +1 -0
- package/dist/_shared/lru-map.js +57 -0
- package/dist/_shared/real-node-imports.d.ts +43 -0
- package/dist/_shared/real-node-imports.d.ts.map +1 -0
- package/dist/_shared/real-node-imports.js +52 -0
- package/dist/_shared/retry.d.ts +92 -0
- package/dist/_shared/retry.d.ts.map +1 -0
- package/dist/_shared/retry.js +155 -0
- package/dist/_shared/rpc-dispose.d.ts +4 -0
- package/dist/_shared/rpc-dispose.d.ts.map +1 -0
- package/dist/_shared/rpc-dispose.js +30 -0
- package/dist/_shared/terminal.d.ts +2 -0
- package/dist/_shared/terminal.d.ts.map +1 -0
- package/dist/_shared/terminal.js +3 -0
- package/dist/_shared/typescript-specifiers.d.ts +58 -0
- package/dist/_shared/typescript-specifiers.d.ts.map +1 -0
- package/dist/_shared/typescript-specifiers.js +84 -0
- package/dist/_shared/untrusted-request.d.ts +34 -0
- package/dist/_shared/untrusted-request.d.ts.map +1 -0
- package/dist/_shared/untrusted-request.js +74 -0
- package/dist/_shared/vfs-write-ledger.d.ts +3 -0
- package/dist/_shared/vfs-write-ledger.d.ts.map +1 -0
- package/dist/_shared/vfs-write-ledger.js +439 -0
- package/dist/_shared/w7-frame.d.ts +79 -0
- package/dist/_shared/w7-frame.d.ts.map +1 -0
- package/dist/_shared/w7-frame.js +839 -0
- package/dist/_shared/weighted-credit-pool.d.ts +61 -0
- package/dist/_shared/weighted-credit-pool.d.ts.map +1 -0
- package/dist/_shared/weighted-credit-pool.js +196 -0
- package/dist/constants.d.ts +64 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +264 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/observability/diag-counters.d.ts +236 -0
- package/dist/observability/diag-counters.d.ts.map +1 -0
- package/dist/observability/diag-counters.js +195 -0
- package/dist/observability/heap-estimate.d.ts +225 -0
- package/dist/observability/heap-estimate.d.ts.map +1 -0
- package/dist/observability/heap-estimate.js +185 -0
- package/dist/observability/heavy-alloc-coord.d.ts +93 -0
- package/dist/observability/heavy-alloc-coord.d.ts.map +1 -0
- package/dist/observability/heavy-alloc-coord.js +181 -0
- package/dist/observability/oom-classify.d.ts +138 -0
- package/dist/observability/oom-classify.d.ts.map +1 -0
- package/dist/observability/oom-classify.js +261 -0
- package/dist/observability/oom-discriminator.d.ts +176 -0
- package/dist/observability/oom-discriminator.d.ts.map +1 -0
- package/dist/observability/oom-discriminator.js +272 -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 +139 -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/bash/preamble.d.ts +2 -0
- package/dist/runtime/bash/preamble.d.ts.map +1 -0
- package/dist/runtime/bash/preamble.js +1849 -0
- package/dist/runtime/bash/types.d.ts +433 -0
- package/dist/runtime/bash/types.d.ts.map +1 -0
- package/dist/runtime/bash/types.js +1 -0
- package/dist/runtime/bundle-profile.d.ts +14 -0
- package/dist/runtime/bundle-profile.d.ts.map +1 -0
- package/dist/runtime/bundle-profile.js +20 -0
- package/dist/runtime/cirrus-vite-config-rewriter.d.ts +2 -0
- package/dist/runtime/cirrus-vite-config-rewriter.d.ts.map +1 -0
- package/dist/runtime/cirrus-vite-config-rewriter.js +28 -0
- package/dist/runtime/cli-flags.d.ts +2 -0
- package/dist/runtime/cli-flags.d.ts.map +1 -0
- package/dist/runtime/cli-flags.js +11 -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/cpython-preamble.d.ts +32 -0
- package/dist/runtime/cpython-preamble.d.ts.map +1 -0
- package/dist/runtime/cpython-preamble.js +296 -0
- package/dist/runtime/esbuild-service.d.ts +242 -0
- package/dist/runtime/esbuild-service.d.ts.map +1 -0
- package/dist/runtime/esbuild-service.js +1452 -0
- package/dist/runtime/framework-detect.d.ts +70 -0
- package/dist/runtime/framework-detect.d.ts.map +1 -0
- package/dist/runtime/framework-detect.js +177 -0
- package/dist/runtime/import-meta-transform.d.ts +3 -0
- package/dist/runtime/import-meta-transform.d.ts.map +1 -0
- package/dist/runtime/import-meta-transform.js +15 -0
- package/dist/runtime/javascript-ast.d.ts +13 -0
- package/dist/runtime/javascript-ast.d.ts.map +1 -0
- package/dist/runtime/javascript-ast.js +57 -0
- package/dist/runtime/long-running-handle.d.ts +119 -0
- package/dist/runtime/long-running-handle.d.ts.map +1 -0
- package/dist/runtime/long-running-handle.js +169 -0
- package/dist/runtime/module-source-rewriter.d.ts +11 -0
- package/dist/runtime/module-source-rewriter.d.ts.map +1 -0
- package/dist/runtime/module-source-rewriter.js +61 -0
- package/dist/runtime/opentui-wasm-backend.d.ts +160 -0
- package/dist/runtime/opentui-wasm-backend.d.ts.map +1 -0
- package/dist/runtime/opentui-wasm-backend.js +416 -0
- package/dist/runtime/os-contracts.d.ts +436 -0
- package/dist/runtime/os-contracts.d.ts.map +1 -0
- package/dist/runtime/os-contracts.js +101 -0
- package/dist/runtime/port-registry.d.ts +100 -0
- package/dist/runtime/port-registry.d.ts.map +1 -0
- package/dist/runtime/port-registry.js +265 -0
- package/dist/runtime/process-input-routing.d.ts +33 -0
- package/dist/runtime/process-input-routing.d.ts.map +1 -0
- package/dist/runtime/process-input-routing.js +59 -0
- package/dist/runtime/process-input.d.ts +39 -0
- package/dist/runtime/process-input.d.ts.map +1 -0
- package/dist/runtime/process-input.js +117 -0
- package/dist/runtime/process-io-protocol.d.ts +90 -0
- package/dist/runtime/process-io-protocol.d.ts.map +1 -0
- package/dist/runtime/process-io-protocol.js +81 -0
- package/dist/runtime/process-logs.d.ts +352 -0
- package/dist/runtime/process-logs.d.ts.map +1 -0
- package/dist/runtime/process-logs.js +750 -0
- package/dist/runtime/process-table.d.ts +101 -0
- package/dist/runtime/process-table.d.ts.map +1 -0
- package/dist/runtime/process-table.js +175 -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-server-adapter.d.ts +33 -0
- package/dist/runtime/python-server-adapter.d.ts.map +1 -0
- package/dist/runtime/python-server-adapter.js +132 -0
- package/dist/runtime/require-resolver.d.ts +44 -0
- package/dist/runtime/require-resolver.d.ts.map +1 -0
- package/dist/runtime/require-resolver.js +698 -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-green-threads.d.ts +136 -0
- package/dist/runtime/ruby-green-threads.d.ts.map +1 -0
- package/dist/runtime/ruby-green-threads.js +904 -0
- package/dist/runtime/ruby-socket-shim.d.ts +2 -0
- package/dist/runtime/ruby-socket-shim.d.ts.map +1 -0
- package/dist/runtime/ruby-socket-shim.js +548 -0
- package/dist/runtime/session-process-supervisor.d.ts +156 -0
- package/dist/runtime/session-process-supervisor.d.ts.map +1 -0
- package/dist/runtime/session-process-supervisor.js +238 -0
- package/dist/runtime/sqlite-runtime-fs-bridge.d.ts +70 -0
- package/dist/runtime/sqlite-runtime-fs-bridge.d.ts.map +1 -0
- package/dist/runtime/sqlite-runtime-fs-bridge.js +425 -0
- package/dist/runtime/streams.d.ts +13 -0
- package/dist/runtime/streams.d.ts.map +1 -0
- package/dist/runtime/streams.js +546 -0
- package/dist/runtime/undici-shim.d.ts +62 -0
- package/dist/runtime/undici-shim.d.ts.map +1 -0
- package/dist/runtime/undici-shim.js +516 -0
- package/dist/runtime/vfs-manifest.d.ts +63 -0
- package/dist/runtime/vfs-manifest.d.ts.map +1 -0
- package/dist/runtime/vfs-manifest.js +141 -0
- package/dist/runtime/vfs-snapshot.d.ts +75 -0
- package/dist/runtime/vfs-snapshot.d.ts.map +1 -0
- package/dist/runtime/vfs-snapshot.js +220 -0
- package/dist/runtime/virtual-socket-kernel.d.ts +252 -0
- package/dist/runtime/virtual-socket-kernel.d.ts.map +1 -0
- package/dist/runtime/virtual-socket-kernel.js +1143 -0
- package/dist/runtime/vite-config-parser.d.ts +13 -0
- package/dist/runtime/vite-config-parser.d.ts.map +1 -0
- package/dist/runtime/vite-config-parser.js +258 -0
- package/dist/runtime/wasi/types.d.ts +347 -0
- package/dist/runtime/wasi/types.d.ts.map +1 -0
- package/dist/runtime/wasi/types.js +1 -0
- package/dist/runtime/wasi-instance.d.ts +215 -0
- package/dist/runtime/wasi-instance.d.ts.map +1 -0
- package/dist/runtime/wasi-instance.generated.d.ts +14 -0
- package/dist/runtime/wasi-instance.generated.d.ts.map +1 -0
- package/dist/runtime/wasi-instance.generated.js +13 -0
- package/dist/runtime/wasi-instance.js +179 -0
- package/dist/runtime/wasi-threads.d.ts +169 -0
- package/dist/runtime/wasi-threads.d.ts.map +1 -0
- package/dist/runtime/wasi-threads.js +669 -0
- package/dist/runtime/wasm-memory.d.ts +84 -0
- package/dist/runtime/wasm-memory.d.ts.map +1 -0
- package/dist/runtime/wasm-memory.js +235 -0
- package/dist/shell/elevation-commands.d.ts +5 -0
- package/dist/shell/elevation-commands.d.ts.map +1 -0
- package/dist/shell/elevation-commands.js +109 -0
- package/dist/shell/exec-dispatch.d.ts +57 -0
- package/dist/shell/exec-dispatch.d.ts.map +1 -0
- package/dist/shell/exec-dispatch.js +181 -0
- package/dist/shell/features.d.ts +154 -0
- package/dist/shell/features.d.ts.map +1 -0
- package/dist/shell/features.js +792 -0
- package/dist/shell/shell-entrypoints.d.ts +55 -0
- package/dist/shell/shell-entrypoints.d.ts.map +1 -0
- package/dist/shell/shell-entrypoints.js +230 -0
- package/dist/shell/shell-invocation.d.ts +36 -0
- package/dist/shell/shell-invocation.d.ts.map +1 -0
- package/dist/shell/shell-invocation.js +148 -0
- package/dist/shell/unix-accounts.d.ts +27 -0
- package/dist/shell/unix-accounts.d.ts.map +1 -0
- package/dist/shell/unix-accounts.js +105 -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 +4702 -0
- package/dist/substrate/lifo/commands/archive/gunzip.d.ts +4 -0
- package/dist/substrate/lifo/commands/archive/gunzip.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/archive/gunzip.js +58 -0
- package/dist/substrate/lifo/commands/archive/gzip.d.ts +4 -0
- package/dist/substrate/lifo/commands/archive/gzip.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/archive/gzip.js +73 -0
- package/dist/substrate/lifo/commands/archive/tar.d.ts +4 -0
- package/dist/substrate/lifo/commands/archive/tar.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/archive/tar.js +158 -0
- package/dist/substrate/lifo/commands/archive/unzip.d.ts +4 -0
- package/dist/substrate/lifo/commands/archive/unzip.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/archive/unzip.js +114 -0
- package/dist/substrate/lifo/commands/archive/zip.d.ts +4 -0
- package/dist/substrate/lifo/commands/archive/zip.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/archive/zip.js +58 -0
- package/dist/substrate/lifo/commands/fs/basename.d.ts +4 -0
- package/dist/substrate/lifo/commands/fs/basename.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/fs/basename.js +12 -0
- package/dist/substrate/lifo/commands/fs/cat.d.ts +4 -0
- package/dist/substrate/lifo/commands/fs/cat.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/fs/cat.js +52 -0
- package/dist/substrate/lifo/commands/fs/chmod.d.ts +25 -0
- package/dist/substrate/lifo/commands/fs/chmod.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/fs/chmod.js +97 -0
- package/dist/substrate/lifo/commands/fs/chown.d.ts +4 -0
- package/dist/substrate/lifo/commands/fs/chown.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/fs/chown.js +41 -0
- package/dist/substrate/lifo/commands/fs/cp.d.ts +4 -0
- package/dist/substrate/lifo/commands/fs/cp.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/fs/cp.js +29 -0
- package/dist/substrate/lifo/commands/fs/df.d.ts +4 -0
- package/dist/substrate/lifo/commands/fs/df.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/fs/df.js +52 -0
- package/dist/substrate/lifo/commands/fs/dirname.d.ts +4 -0
- package/dist/substrate/lifo/commands/fs/dirname.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/fs/dirname.js +12 -0
- package/dist/substrate/lifo/commands/fs/du.d.ts +4 -0
- package/dist/substrate/lifo/commands/fs/du.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/fs/du.js +104 -0
- package/dist/substrate/lifo/commands/fs/file.d.ts +4 -0
- package/dist/substrate/lifo/commands/fs/file.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/fs/file.js +84 -0
- package/dist/substrate/lifo/commands/fs/find.d.ts +4 -0
- package/dist/substrate/lifo/commands/fs/find.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/fs/find.js +72 -0
- package/dist/substrate/lifo/commands/fs/ln.d.ts +4 -0
- package/dist/substrate/lifo/commands/fs/ln.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/fs/ln.js +15 -0
- package/dist/substrate/lifo/commands/fs/ls.d.ts +4 -0
- package/dist/substrate/lifo/commands/fs/ls.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/fs/ls.js +146 -0
- package/dist/substrate/lifo/commands/fs/mkdir.d.ts +4 -0
- package/dist/substrate/lifo/commands/fs/mkdir.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/fs/mkdir.js +31 -0
- package/dist/substrate/lifo/commands/fs/mktemp.d.ts +4 -0
- package/dist/substrate/lifo/commands/fs/mktemp.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/fs/mktemp.js +48 -0
- package/dist/substrate/lifo/commands/fs/mv.d.ts +4 -0
- package/dist/substrate/lifo/commands/fs/mv.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/fs/mv.js +113 -0
- package/dist/substrate/lifo/commands/fs/realpath.d.ts +4 -0
- package/dist/substrate/lifo/commands/fs/realpath.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/fs/realpath.js +27 -0
- package/dist/substrate/lifo/commands/fs/rm.d.ts +4 -0
- package/dist/substrate/lifo/commands/fs/rm.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/fs/rm.js +48 -0
- package/dist/substrate/lifo/commands/fs/rmdir.d.ts +4 -0
- package/dist/substrate/lifo/commands/fs/rmdir.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/fs/rmdir.js +44 -0
- package/dist/substrate/lifo/commands/fs/stat.d.ts +4 -0
- package/dist/substrate/lifo/commands/fs/stat.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/fs/stat.js +35 -0
- package/dist/substrate/lifo/commands/fs/touch.d.ts +4 -0
- package/dist/substrate/lifo/commands/fs/touch.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/fs/touch.js +26 -0
- package/dist/substrate/lifo/commands/fs/tree.d.ts +4 -0
- package/dist/substrate/lifo/commands/fs/tree.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/fs/tree.js +69 -0
- package/dist/substrate/lifo/commands/index.d.ts +3 -0
- package/dist/substrate/lifo/commands/index.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/index.js +1 -0
- package/dist/substrate/lifo/commands/io/dd.d.ts +4 -0
- package/dist/substrate/lifo/commands/io/dd.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/io/dd.js +256 -0
- package/dist/substrate/lifo/commands/io/printf.d.ts +4 -0
- package/dist/substrate/lifo/commands/io/printf.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/io/printf.js +82 -0
- package/dist/substrate/lifo/commands/io/tee.d.ts +4 -0
- package/dist/substrate/lifo/commands/io/tee.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/io/tee.js +31 -0
- package/dist/substrate/lifo/commands/io/xargs.d.ts +4 -0
- package/dist/substrate/lifo/commands/io/xargs.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/io/xargs.js +44 -0
- package/dist/substrate/lifo/commands/io/yes.d.ts +4 -0
- package/dist/substrate/lifo/commands/io/yes.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/io/yes.js +10 -0
- package/dist/substrate/lifo/commands/net/curl.d.ts +6 -0
- package/dist/substrate/lifo/commands/net/curl.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/net/curl.js +617 -0
- package/dist/substrate/lifo/commands/net/dig.d.ts +4 -0
- package/dist/substrate/lifo/commands/net/dig.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/net/dig.js +77 -0
- package/dist/substrate/lifo/commands/net/forward.d.ts +14 -0
- package/dist/substrate/lifo/commands/net/forward.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/net/forward.js +80 -0
- package/dist/substrate/lifo/commands/net/host.d.ts +14 -0
- package/dist/substrate/lifo/commands/net/host.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/net/host.js +160 -0
- package/dist/substrate/lifo/commands/net/ifconfig.d.ts +8 -0
- package/dist/substrate/lifo/commands/net/ifconfig.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/net/ifconfig.js +120 -0
- package/dist/substrate/lifo/commands/net/ip.d.ts +14 -0
- package/dist/substrate/lifo/commands/net/ip.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/net/ip.js +508 -0
- package/dist/substrate/lifo/commands/net/netstat.d.ts +8 -0
- package/dist/substrate/lifo/commands/net/netstat.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/net/netstat.js +94 -0
- package/dist/substrate/lifo/commands/net/ping.d.ts +4 -0
- package/dist/substrate/lifo/commands/net/ping.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/net/ping.js +64 -0
- package/dist/substrate/lifo/commands/net/ports.d.ts +8 -0
- package/dist/substrate/lifo/commands/net/ports.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/net/ports.js +36 -0
- package/dist/substrate/lifo/commands/net/route.d.ts +8 -0
- package/dist/substrate/lifo/commands/net/route.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/net/route.js +128 -0
- package/dist/substrate/lifo/commands/net/tunnel-v2.d.ts +4 -0
- package/dist/substrate/lifo/commands/net/tunnel-v2.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/net/tunnel-v2.js +141 -0
- package/dist/substrate/lifo/commands/net/tunnel.d.ts +6 -0
- package/dist/substrate/lifo/commands/net/tunnel.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/net/tunnel.js +232 -0
- package/dist/substrate/lifo/commands/net/wget.d.ts +4 -0
- package/dist/substrate/lifo/commands/net/wget.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/net/wget.js +78 -0
- package/dist/substrate/lifo/commands/registry.d.ts +15 -0
- package/dist/substrate/lifo/commands/registry.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/registry.js +120 -0
- package/dist/substrate/lifo/commands/signal.d.ts +12 -0
- package/dist/substrate/lifo/commands/signal.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/signal.js +47 -0
- package/dist/substrate/lifo/commands/system/bc.d.ts +4 -0
- package/dist/substrate/lifo/commands/system/bc.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/system/bc.js +243 -0
- package/dist/substrate/lifo/commands/system/cal.d.ts +4 -0
- package/dist/substrate/lifo/commands/system/cal.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/system/cal.js +81 -0
- package/dist/substrate/lifo/commands/system/date.d.ts +4 -0
- package/dist/substrate/lifo/commands/system/date.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/system/date.js +79 -0
- package/dist/substrate/lifo/commands/system/env.d.ts +4 -0
- package/dist/substrate/lifo/commands/system/env.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/system/env.js +7 -0
- package/dist/substrate/lifo/commands/system/fastfetch.d.ts +4 -0
- package/dist/substrate/lifo/commands/system/fastfetch.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/system/fastfetch.js +385 -0
- package/dist/substrate/lifo/commands/system/free.d.ts +4 -0
- package/dist/substrate/lifo/commands/system/free.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/system/free.js +36 -0
- package/dist/substrate/lifo/commands/system/help.d.ts +4 -0
- package/dist/substrate/lifo/commands/system/help.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/system/help.js +46 -0
- package/dist/substrate/lifo/commands/system/hostname.d.ts +4 -0
- package/dist/substrate/lifo/commands/system/hostname.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/system/hostname.js +6 -0
- package/dist/substrate/lifo/commands/system/kill.d.ts +4 -0
- package/dist/substrate/lifo/commands/system/kill.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/system/kill.js +76 -0
- package/dist/substrate/lifo/commands/system/lifo.d.ts +41 -0
- package/dist/substrate/lifo/commands/system/lifo.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/system/lifo.js +446 -0
- package/dist/substrate/lifo/commands/system/logout.d.ts +5 -0
- package/dist/substrate/lifo/commands/system/logout.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/system/logout.js +15 -0
- package/dist/substrate/lifo/commands/system/man.d.ts +4 -0
- package/dist/substrate/lifo/commands/system/man.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/system/man.js +144 -0
- package/dist/substrate/lifo/commands/system/node.d.ts +6 -0
- package/dist/substrate/lifo/commands/system/node.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/system/node.js +1241 -0
- package/dist/substrate/lifo/commands/system/npm.d.ts +26 -0
- package/dist/substrate/lifo/commands/system/npm.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/system/npm.js +934 -0
- package/dist/substrate/lifo/commands/system/pkg.d.ts +4 -0
- package/dist/substrate/lifo/commands/system/pkg.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/system/pkg.js +97 -0
- package/dist/substrate/lifo/commands/system/ps.d.ts +5 -0
- package/dist/substrate/lifo/commands/system/ps.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/system/ps.js +35 -0
- package/dist/substrate/lifo/commands/system/registry-schemas.d.ts +44 -0
- package/dist/substrate/lifo/commands/system/registry-schemas.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/system/registry-schemas.js +28 -0
- package/dist/substrate/lifo/commands/system/sha256sum.d.ts +4 -0
- package/dist/substrate/lifo/commands/system/sha256sum.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/system/sha256sum.js +86 -0
- package/dist/substrate/lifo/commands/system/sl.d.ts +4 -0
- package/dist/substrate/lifo/commands/system/sl.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/system/sl.js +204 -0
- package/dist/substrate/lifo/commands/system/sleep.d.ts +4 -0
- package/dist/substrate/lifo/commands/system/sleep.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/system/sleep.js +27 -0
- package/dist/substrate/lifo/commands/system/stty.d.ts +4 -0
- package/dist/substrate/lifo/commands/system/stty.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/system/stty.js +61 -0
- package/dist/substrate/lifo/commands/system/systemctl.d.ts +4 -0
- package/dist/substrate/lifo/commands/system/systemctl.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/system/systemctl.js +164 -0
- package/dist/substrate/lifo/commands/system/top.d.ts +4 -0
- package/dist/substrate/lifo/commands/system/top.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/system/top.js +38 -0
- package/dist/substrate/lifo/commands/system/uname.d.ts +4 -0
- package/dist/substrate/lifo/commands/system/uname.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/system/uname.js +55 -0
- package/dist/substrate/lifo/commands/system/uptime.d.ts +4 -0
- package/dist/substrate/lifo/commands/system/uptime.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/system/uptime.js +16 -0
- package/dist/substrate/lifo/commands/system/watch.d.ts +4 -0
- package/dist/substrate/lifo/commands/system/watch.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/system/watch.js +53 -0
- package/dist/substrate/lifo/commands/system/which.d.ts +4 -0
- package/dist/substrate/lifo/commands/system/which.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/system/which.js +45 -0
- package/dist/substrate/lifo/commands/system/whoami.d.ts +4 -0
- package/dist/substrate/lifo/commands/system/whoami.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/system/whoami.js +6 -0
- package/dist/substrate/lifo/commands/text/awk.d.ts +4 -0
- package/dist/substrate/lifo/commands/text/awk.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/text/awk.js +200 -0
- package/dist/substrate/lifo/commands/text/base64.d.ts +4 -0
- package/dist/substrate/lifo/commands/text/base64.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/text/base64.js +102 -0
- package/dist/substrate/lifo/commands/text/cut.d.ts +4 -0
- package/dist/substrate/lifo/commands/text/cut.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/text/cut.js +91 -0
- package/dist/substrate/lifo/commands/text/diff.d.ts +4 -0
- package/dist/substrate/lifo/commands/text/diff.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/text/diff.js +292 -0
- package/dist/substrate/lifo/commands/text/grep.d.ts +4 -0
- package/dist/substrate/lifo/commands/text/grep.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/text/grep.js +189 -0
- package/dist/substrate/lifo/commands/text/head.d.ts +4 -0
- package/dist/substrate/lifo/commands/text/head.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/text/head.js +111 -0
- package/dist/substrate/lifo/commands/text/less.d.ts +4 -0
- package/dist/substrate/lifo/commands/text/less.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/text/less.js +335 -0
- package/dist/substrate/lifo/commands/text/nano.d.ts +4 -0
- package/dist/substrate/lifo/commands/text/nano.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/text/nano.js +510 -0
- package/dist/substrate/lifo/commands/text/nl.d.ts +4 -0
- package/dist/substrate/lifo/commands/text/nl.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/text/nl.js +64 -0
- package/dist/substrate/lifo/commands/text/rev.d.ts +4 -0
- package/dist/substrate/lifo/commands/text/rev.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/text/rev.js +41 -0
- package/dist/substrate/lifo/commands/text/sed.d.ts +21 -0
- package/dist/substrate/lifo/commands/text/sed.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/text/sed.js +248 -0
- package/dist/substrate/lifo/commands/text/seq.d.ts +4 -0
- package/dist/substrate/lifo/commands/text/seq.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/text/seq.js +69 -0
- package/dist/substrate/lifo/commands/text/sort.d.ts +4 -0
- package/dist/substrate/lifo/commands/text/sort.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/text/sort.js +90 -0
- package/dist/substrate/lifo/commands/text/strings.d.ts +4 -0
- package/dist/substrate/lifo/commands/text/strings.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/text/strings.js +69 -0
- package/dist/substrate/lifo/commands/text/tac.d.ts +4 -0
- package/dist/substrate/lifo/commands/text/tac.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/text/tac.js +32 -0
- package/dist/substrate/lifo/commands/text/tail.d.ts +4 -0
- package/dist/substrate/lifo/commands/text/tail.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/text/tail.js +64 -0
- package/dist/substrate/lifo/commands/text/tr.d.ts +4 -0
- package/dist/substrate/lifo/commands/text/tr.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/text/tr.js +180 -0
- package/dist/substrate/lifo/commands/text/uniq.d.ts +4 -0
- package/dist/substrate/lifo/commands/text/uniq.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/text/uniq.js +82 -0
- package/dist/substrate/lifo/commands/text/wc.d.ts +4 -0
- package/dist/substrate/lifo/commands/text/wc.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/text/wc.js +107 -0
- package/dist/substrate/lifo/commands/types.d.ts +49 -0
- package/dist/substrate/lifo/commands/types.d.ts.map +1 -0
- package/dist/substrate/lifo/commands/types.js +1 -0
- package/dist/substrate/lifo/index.d.ts +67 -0
- package/dist/substrate/lifo/index.d.ts.map +1 -0
- package/dist/substrate/lifo/index.js +66 -0
- package/dist/substrate/lifo/kernel/ServiceManager.d.ts +51 -0
- package/dist/substrate/lifo/kernel/ServiceManager.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/ServiceManager.js +302 -0
- package/dist/substrate/lifo/kernel/index.d.ts +40 -0
- package/dist/substrate/lifo/kernel/index.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/index.js +170 -0
- package/dist/substrate/lifo/kernel/network/Bridge.d.ts +110 -0
- package/dist/substrate/lifo/kernel/network/Bridge.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/network/Bridge.js +278 -0
- package/dist/substrate/lifo/kernel/network/DNSResolver.d.ts +50 -0
- package/dist/substrate/lifo/kernel/network/DNSResolver.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/network/DNSResolver.js +135 -0
- package/dist/substrate/lifo/kernel/network/NetworkInterface.d.ts +83 -0
- package/dist/substrate/lifo/kernel/network/NetworkInterface.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/network/NetworkInterface.js +183 -0
- package/dist/substrate/lifo/kernel/network/NetworkNamespace.d.ts +98 -0
- package/dist/substrate/lifo/kernel/network/NetworkNamespace.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/network/NetworkNamespace.js +149 -0
- package/dist/substrate/lifo/kernel/network/NetworkStack.d.ts +178 -0
- package/dist/substrate/lifo/kernel/network/NetworkStack.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/network/NetworkStack.js +460 -0
- package/dist/substrate/lifo/kernel/network/PortBridge.d.ts +44 -0
- package/dist/substrate/lifo/kernel/network/PortBridge.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/network/PortBridge.js +158 -0
- package/dist/substrate/lifo/kernel/network/RoutingTable.d.ts +55 -0
- package/dist/substrate/lifo/kernel/network/RoutingTable.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/network/RoutingTable.js +167 -0
- package/dist/substrate/lifo/kernel/network/Socket.d.ts +65 -0
- package/dist/substrate/lifo/kernel/network/Socket.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/network/Socket.js +201 -0
- package/dist/substrate/lifo/kernel/network/index.d.ts +11 -0
- package/dist/substrate/lifo/kernel/network/index.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/network/index.js +9 -0
- package/dist/substrate/lifo/kernel/network/tunnel/BaseTunnel.d.ts +55 -0
- package/dist/substrate/lifo/kernel/network/tunnel/BaseTunnel.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/network/tunnel/BaseTunnel.js +88 -0
- package/dist/substrate/lifo/kernel/network/tunnel/VETHPair.d.ts +71 -0
- package/dist/substrate/lifo/kernel/network/tunnel/VETHPair.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/network/tunnel/VETHPair.js +191 -0
- package/dist/substrate/lifo/kernel/network/tunnel/WebSocketTunnel.d.ts +89 -0
- package/dist/substrate/lifo/kernel/network/tunnel/WebSocketTunnel.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/network/tunnel/WebSocketTunnel.js +324 -0
- package/dist/substrate/lifo/kernel/network/types.d.ts +159 -0
- package/dist/substrate/lifo/kernel/network/types.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/network/types.js +5 -0
- package/dist/substrate/lifo/kernel/persistence/PersistenceManager.d.ts +12 -0
- package/dist/substrate/lifo/kernel/persistence/PersistenceManager.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/persistence/PersistenceManager.js +47 -0
- package/dist/substrate/lifo/kernel/persistence/backends.d.ts +15 -0
- package/dist/substrate/lifo/kernel/persistence/backends.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/persistence/backends.js +18 -0
- package/dist/substrate/lifo/kernel/persistence/index.d.ts +6 -0
- package/dist/substrate/lifo/kernel/persistence/index.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/persistence/index.js +3 -0
- package/dist/substrate/lifo/kernel/persistence/serializer.d.ts +21 -0
- package/dist/substrate/lifo/kernel/persistence/serializer.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/persistence/serializer.js +99 -0
- package/dist/substrate/lifo/kernel/samples.d.ts +3 -0
- package/dist/substrate/lifo/kernel/samples.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/samples.js +930 -0
- package/dist/substrate/lifo/kernel/storage/BlobStore.d.ts +22 -0
- package/dist/substrate/lifo/kernel/storage/BlobStore.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/storage/BlobStore.js +84 -0
- package/dist/substrate/lifo/kernel/storage/ContentStore.d.ts +54 -0
- package/dist/substrate/lifo/kernel/storage/ContentStore.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/storage/ContentStore.js +120 -0
- package/dist/substrate/lifo/kernel/storage/index.d.ts +6 -0
- package/dist/substrate/lifo/kernel/storage/index.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/storage/index.js +3 -0
- package/dist/substrate/lifo/kernel/unit-parser.d.ts +22 -0
- package/dist/substrate/lifo/kernel/unit-parser.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/unit-parser.js +80 -0
- package/dist/substrate/lifo/kernel/vfs/VFS.d.ts +99 -0
- package/dist/substrate/lifo/kernel/vfs/VFS.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/vfs/VFS.js +679 -0
- package/dist/substrate/lifo/kernel/vfs/index.d.ts +8 -0
- package/dist/substrate/lifo/kernel/vfs/index.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/vfs/index.js +5 -0
- package/dist/substrate/lifo/kernel/vfs/providers/DevProvider.d.ts +21 -0
- package/dist/substrate/lifo/kernel/vfs/providers/DevProvider.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/vfs/providers/DevProvider.js +137 -0
- package/dist/substrate/lifo/kernel/vfs/providers/NativeFsProvider.d.ts +63 -0
- package/dist/substrate/lifo/kernel/vfs/providers/NativeFsProvider.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/vfs/providers/NativeFsProvider.js +175 -0
- package/dist/substrate/lifo/kernel/vfs/providers/ProcProvider.d.ts +14 -0
- package/dist/substrate/lifo/kernel/vfs/providers/ProcProvider.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/vfs/providers/ProcProvider.js +126 -0
- package/dist/substrate/lifo/kernel/vfs/types.d.ts +117 -0
- package/dist/substrate/lifo/kernel/vfs/types.d.ts.map +1 -0
- package/dist/substrate/lifo/kernel/vfs/types.js +42 -0
- package/dist/substrate/lifo/node-compat/buffer.d.ts +44 -0
- package/dist/substrate/lifo/node-compat/buffer.d.ts.map +1 -0
- package/dist/substrate/lifo/node-compat/buffer.js +331 -0
- package/dist/substrate/lifo/node-compat/child_process.d.ts +10 -0
- package/dist/substrate/lifo/node-compat/child_process.d.ts.map +1 -0
- package/dist/substrate/lifo/node-compat/child_process.js +42 -0
- package/dist/substrate/lifo/node-compat/console.d.ts +21 -0
- package/dist/substrate/lifo/node-compat/console.d.ts.map +1 -0
- package/dist/substrate/lifo/node-compat/console.js +68 -0
- package/dist/substrate/lifo/node-compat/crypto.d.ts +24 -0
- package/dist/substrate/lifo/node-compat/crypto.d.ts.map +1 -0
- package/dist/substrate/lifo/node-compat/crypto.js +216 -0
- package/dist/substrate/lifo/node-compat/dns.d.ts +117 -0
- package/dist/substrate/lifo/node-compat/dns.d.ts.map +1 -0
- package/dist/substrate/lifo/node-compat/dns.js +144 -0
- package/dist/substrate/lifo/node-compat/esbuild.d.ts +10 -0
- package/dist/substrate/lifo/node-compat/esbuild.d.ts.map +1 -0
- package/dist/substrate/lifo/node-compat/esbuild.js +70 -0
- package/dist/substrate/lifo/node-compat/events.d.ts +19 -0
- package/dist/substrate/lifo/node-compat/events.d.ts.map +1 -0
- package/dist/substrate/lifo/node-compat/events.js +83 -0
- package/dist/substrate/lifo/node-compat/fs.d.ts +195 -0
- package/dist/substrate/lifo/node-compat/fs.d.ts.map +1 -0
- package/dist/substrate/lifo/node-compat/fs.js +624 -0
- package/dist/substrate/lifo/node-compat/http.d.ts +133 -0
- package/dist/substrate/lifo/node-compat/http.d.ts.map +1 -0
- package/dist/substrate/lifo/node-compat/http.js +452 -0
- package/dist/substrate/lifo/node-compat/index.d.ts +20 -0
- package/dist/substrate/lifo/node-compat/index.d.ts.map +1 -0
- package/dist/substrate/lifo/node-compat/index.js +291 -0
- package/dist/substrate/lifo/node-compat/module.d.ts +55 -0
- package/dist/substrate/lifo/node-compat/module.d.ts.map +1 -0
- package/dist/substrate/lifo/node-compat/module.js +124 -0
- package/dist/substrate/lifo/node-compat/os.d.ts +39 -0
- package/dist/substrate/lifo/node-compat/os.d.ts.map +1 -0
- package/dist/substrate/lifo/node-compat/os.js +45 -0
- package/dist/substrate/lifo/node-compat/path.d.ts +86 -0
- package/dist/substrate/lifo/node-compat/path.d.ts.map +1 -0
- package/dist/substrate/lifo/node-compat/path.js +49 -0
- package/dist/substrate/lifo/node-compat/process.d.ts +127 -0
- package/dist/substrate/lifo/node-compat/process.d.ts.map +1 -0
- package/dist/substrate/lifo/node-compat/process.js +173 -0
- package/dist/substrate/lifo/node-compat/readline.d.ts +85 -0
- package/dist/substrate/lifo/node-compat/readline.d.ts.map +1 -0
- package/dist/substrate/lifo/node-compat/readline.js +205 -0
- package/dist/substrate/lifo/node-compat/rimraf.d.ts +30 -0
- package/dist/substrate/lifo/node-compat/rimraf.d.ts.map +1 -0
- package/dist/substrate/lifo/node-compat/rimraf.js +63 -0
- package/dist/substrate/lifo/node-compat/stream.d.ts +36 -0
- package/dist/substrate/lifo/node-compat/stream.d.ts.map +1 -0
- package/dist/substrate/lifo/node-compat/stream.js +90 -0
- package/dist/substrate/lifo/node-compat/string_decoder.d.ts +11 -0
- package/dist/substrate/lifo/node-compat/string_decoder.d.ts.map +1 -0
- package/dist/substrate/lifo/node-compat/string_decoder.js +23 -0
- package/dist/substrate/lifo/node-compat/timers.d.ts +16 -0
- package/dist/substrate/lifo/node-compat/timers.d.ts.map +1 -0
- package/dist/substrate/lifo/node-compat/timers.js +18 -0
- package/dist/substrate/lifo/node-compat/tty.d.ts +32 -0
- package/dist/substrate/lifo/node-compat/tty.d.ts.map +1 -0
- package/dist/substrate/lifo/node-compat/tty.js +76 -0
- package/dist/substrate/lifo/node-compat/url.d.ts +37 -0
- package/dist/substrate/lifo/node-compat/url.d.ts.map +1 -0
- package/dist/substrate/lifo/node-compat/url.js +65 -0
- package/dist/substrate/lifo/node-compat/util.d.ts +42 -0
- package/dist/substrate/lifo/node-compat/util.d.ts.map +1 -0
- package/dist/substrate/lifo/node-compat/util.js +132 -0
- package/dist/substrate/lifo/node-compat/zlib.d.ts +66 -0
- package/dist/substrate/lifo/node-compat/zlib.d.ts.map +1 -0
- package/dist/substrate/lifo/node-compat/zlib.js +80 -0
- package/dist/substrate/lifo/pkg/PackageManager.d.ts +19 -0
- package/dist/substrate/lifo/pkg/PackageManager.d.ts.map +1 -0
- package/dist/substrate/lifo/pkg/PackageManager.js +97 -0
- package/dist/substrate/lifo/pkg/lifo-dev.d.ts +38 -0
- package/dist/substrate/lifo/pkg/lifo-dev.d.ts.map +1 -0
- package/dist/substrate/lifo/pkg/lifo-dev.js +98 -0
- package/dist/substrate/lifo/pkg/lifo-runtime.d.ts +44 -0
- package/dist/substrate/lifo/pkg/lifo-runtime.d.ts.map +1 -0
- package/dist/substrate/lifo/pkg/lifo-runtime.js +372 -0
- package/dist/substrate/lifo/pkg/loader.d.ts +4 -0
- package/dist/substrate/lifo/pkg/loader.d.ts.map +1 -0
- package/dist/substrate/lifo/pkg/loader.js +24 -0
- package/dist/substrate/lifo/sandbox/HeadlessTerminal.d.ts +18 -0
- package/dist/substrate/lifo/sandbox/HeadlessTerminal.d.ts.map +1 -0
- package/dist/substrate/lifo/sandbox/HeadlessTerminal.js +28 -0
- package/dist/substrate/lifo/sandbox/Sandbox.d.ts +59 -0
- package/dist/substrate/lifo/sandbox/Sandbox.d.ts.map +1 -0
- package/dist/substrate/lifo/sandbox/Sandbox.js +234 -0
- package/dist/substrate/lifo/sandbox/SandboxCommands.d.ts +18 -0
- package/dist/substrate/lifo/sandbox/SandboxCommands.d.ts.map +1 -0
- package/dist/substrate/lifo/sandbox/SandboxCommands.js +64 -0
- package/dist/substrate/lifo/sandbox/SandboxFs.d.ts +43 -0
- package/dist/substrate/lifo/sandbox/SandboxFs.d.ts.map +1 -0
- package/dist/substrate/lifo/sandbox/SandboxFs.js +136 -0
- package/dist/substrate/lifo/sandbox/index.d.ts +3 -0
- package/dist/substrate/lifo/sandbox/index.d.ts.map +1 -0
- package/dist/substrate/lifo/sandbox/index.js +1 -0
- package/dist/substrate/lifo/sandbox/types.d.ts +116 -0
- package/dist/substrate/lifo/sandbox/types.d.ts.map +1 -0
- package/dist/substrate/lifo/sandbox/types.js +1 -0
- package/dist/substrate/lifo/shell/ProcessRegistry.d.ts +142 -0
- package/dist/substrate/lifo/shell/ProcessRegistry.d.ts.map +1 -0
- package/dist/substrate/lifo/shell/ProcessRegistry.js +256 -0
- package/dist/substrate/lifo/shell/Shell.d.ts +170 -0
- package/dist/substrate/lifo/shell/Shell.d.ts.map +1 -0
- package/dist/substrate/lifo/shell/Shell.js +1863 -0
- package/dist/substrate/lifo/shell/completer.d.ts +19 -0
- package/dist/substrate/lifo/shell/completer.d.ts.map +1 -0
- package/dist/substrate/lifo/shell/completer.js +164 -0
- package/dist/substrate/lifo/shell/default-shell.d.ts +9 -0
- package/dist/substrate/lifo/shell/default-shell.d.ts.map +1 -0
- package/dist/substrate/lifo/shell/default-shell.js +53 -0
- package/dist/substrate/lifo/shell/expander.d.ts +48 -0
- package/dist/substrate/lifo/shell/expander.d.ts.map +1 -0
- package/dist/substrate/lifo/shell/expander.js +1204 -0
- package/dist/substrate/lifo/shell/history.d.ts +22 -0
- package/dist/substrate/lifo/shell/history.d.ts.map +1 -0
- package/dist/substrate/lifo/shell/history.js +121 -0
- package/dist/substrate/lifo/shell/interpreter.d.ts +257 -0
- package/dist/substrate/lifo/shell/interpreter.d.ts.map +1 -0
- package/dist/substrate/lifo/shell/interpreter.js +1490 -0
- package/dist/substrate/lifo/shell/jobs.d.ts +21 -0
- package/dist/substrate/lifo/shell/jobs.d.ts.map +1 -0
- package/dist/substrate/lifo/shell/jobs.js +48 -0
- package/dist/substrate/lifo/shell/lexer.d.ts +13 -0
- package/dist/substrate/lifo/shell/lexer.d.ts.map +1 -0
- package/dist/substrate/lifo/shell/lexer.js +614 -0
- package/dist/substrate/lifo/shell/parser.d.ts +7 -0
- package/dist/substrate/lifo/shell/parser.d.ts.map +1 -0
- package/dist/substrate/lifo/shell/parser.js +573 -0
- package/dist/substrate/lifo/shell/pipe.d.ts +15 -0
- package/dist/substrate/lifo/shell/pipe.d.ts.map +1 -0
- package/dist/substrate/lifo/shell/pipe.js +86 -0
- package/dist/substrate/lifo/shell/signals.d.ts +11 -0
- package/dist/substrate/lifo/shell/signals.d.ts.map +1 -0
- package/dist/substrate/lifo/shell/signals.js +57 -0
- package/dist/substrate/lifo/shell/terminal-stdin.d.ts +28 -0
- package/dist/substrate/lifo/shell/terminal-stdin.d.ts.map +1 -0
- package/dist/substrate/lifo/shell/terminal-stdin.js +100 -0
- package/dist/substrate/lifo/shell/test-builtin.d.ts +16 -0
- package/dist/substrate/lifo/shell/test-builtin.d.ts.map +1 -0
- package/dist/substrate/lifo/shell/test-builtin.js +237 -0
- package/dist/substrate/lifo/shell/types.d.ts +140 -0
- package/dist/substrate/lifo/shell/types.d.ts.map +1 -0
- package/dist/substrate/lifo/shell/types.js +25 -0
- package/dist/substrate/lifo/terminal/ITerminal.d.ts +10 -0
- package/dist/substrate/lifo/terminal/ITerminal.d.ts.map +1 -0
- package/dist/substrate/lifo/terminal/ITerminal.js +1 -0
- package/dist/substrate/lifo/utils/archive.d.ts +28 -0
- package/dist/substrate/lifo/utils/archive.d.ts.map +1 -0
- package/dist/substrate/lifo/utils/archive.js +323 -0
- package/dist/substrate/lifo/utils/args.d.ts +18 -0
- package/dist/substrate/lifo/utils/args.d.ts.map +1 -0
- package/dist/substrate/lifo/utils/args.js +73 -0
- package/dist/substrate/lifo/utils/colors.d.ts +27 -0
- package/dist/substrate/lifo/utils/colors.d.ts.map +1 -0
- package/dist/substrate/lifo/utils/colors.js +26 -0
- package/dist/substrate/lifo/utils/encoding.d.ts +4 -0
- package/dist/substrate/lifo/utils/encoding.d.ts.map +1 -0
- package/dist/substrate/lifo/utils/encoding.js +18 -0
- package/dist/substrate/lifo/utils/glob.d.ts +12 -0
- package/dist/substrate/lifo/utils/glob.d.ts.map +1 -0
- package/dist/substrate/lifo/utils/glob.js +150 -0
- package/dist/substrate/lifo/utils/mime.d.ts +4 -0
- package/dist/substrate/lifo/utils/mime.d.ts.map +1 -0
- package/dist/substrate/lifo/utils/mime.js +107 -0
- package/dist/substrate/lifo/utils/path.d.ts +12 -0
- package/dist/substrate/lifo/utils/path.d.ts.map +1 -0
- package/dist/substrate/lifo/utils/path.js +82 -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 +46 -0
- package/dist/vfs/path.d.ts.map +1 -0
- package/dist/vfs/path.js +69 -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 +1054 -0
- package/dist/vfs/sqlite-vfs.d.ts +821 -0
- package/dist/vfs/sqlite-vfs.d.ts.map +1 -0
- package/dist/vfs/sqlite-vfs.js +4135 -0
- package/dist/vfs/symlink-registry.d.ts +60 -0
- package/dist/vfs/symlink-registry.d.ts.map +1 -0
- package/dist/vfs/symlink-registry.js +162 -0
- package/dist/workspace/nimbus-workspace.d.ts +94 -0
- package/dist/workspace/nimbus-workspace.d.ts.map +1 -0
- package/dist/workspace/nimbus-workspace.js +167 -0
- package/package.json +69 -0
- package/src/_shared/ai-egress.ts +91 -0
- package/src/_shared/byte-stream.ts +97 -0
- package/src/_shared/bytes.ts +19 -0
- package/src/_shared/cache-stats.ts +231 -0
- package/src/_shared/crypto.ts +184 -0
- package/src/_shared/esbuild-facet-shim.ts +22 -0
- package/src/_shared/exports-resolver.ts +308 -0
- package/src/_shared/facet-vfs-cursor.ts +58 -0
- package/src/_shared/install-phase.ts +56 -0
- package/src/_shared/lru-map.ts +59 -0
- package/src/_shared/real-node-imports.ts +53 -0
- package/src/_shared/retry.ts +202 -0
- package/src/_shared/rpc-dispose.ts +31 -0
- package/src/_shared/terminal.ts +3 -0
- package/src/_shared/typescript-specifiers.ts +86 -0
- package/src/_shared/untrusted-request.ts +75 -0
- package/src/_shared/vfs-write-ledger.ts +440 -0
- package/src/_shared/w7-frame.ts +1012 -0
- package/src/_shared/weighted-credit-pool.ts +244 -0
- package/src/constants.ts +285 -0
- package/src/index.ts +22 -0
- package/src/observability/diag-counters.ts +343 -0
- package/src/observability/heap-estimate.ts +331 -0
- package/src/observability/heavy-alloc-coord.ts +241 -0
- package/src/observability/oom-classify.ts +253 -0
- package/src/observability/oom-discriminator.ts +405 -0
- package/src/runtime/assets-loader.ts +189 -0
- package/src/runtime/barrel-detect.ts +69 -0
- package/src/runtime/bash/preamble.ts +1519 -0
- package/src/runtime/bash/types.ts +497 -0
- package/src/runtime/bundle-profile.ts +32 -0
- package/src/runtime/cirrus-vite-config-rewriter.ts +28 -0
- package/src/runtime/cli-flags.ts +11 -0
- package/src/runtime/comment-strip.ts +73 -0
- package/src/runtime/cpython-preamble.ts +298 -0
- package/src/runtime/esbuild-service.ts +1470 -0
- package/src/runtime/framework-detect.ts +245 -0
- package/src/runtime/import-meta-transform.ts +16 -0
- package/src/runtime/javascript-ast.ts +66 -0
- package/src/runtime/long-running-handle.ts +185 -0
- package/src/runtime/module-source-rewriter.ts +95 -0
- package/src/runtime/opentui-wasm-backend.ts +608 -0
- package/src/runtime/os-contracts.ts +529 -0
- package/src/runtime/port-registry.ts +298 -0
- package/src/runtime/process-input-routing.ts +92 -0
- package/src/runtime/process-input.ts +148 -0
- package/src/runtime/process-io-protocol.ts +97 -0
- package/src/runtime/process-logs.ts +882 -0
- package/src/runtime/process-table.ts +225 -0
- package/src/runtime/project-detect.ts +42 -0
- package/src/runtime/python-server-adapter.ts +133 -0
- package/src/runtime/require-resolver.ts +760 -0
- package/src/runtime/router-basename.ts +279 -0
- package/src/runtime/ruby-green-threads.ts +904 -0
- package/src/runtime/ruby-socket-shim.ts +548 -0
- package/src/runtime/session-process-supervisor.ts +323 -0
- package/src/runtime/sqlite-runtime-fs-bridge.ts +468 -0
- package/src/runtime/streams.ts +547 -0
- package/src/runtime/undici-shim.ts +517 -0
- package/src/runtime/vfs-manifest.ts +170 -0
- package/src/runtime/vfs-snapshot.ts +273 -0
- package/src/runtime/virtual-socket-kernel.ts +1370 -0
- package/src/runtime/vite-config-parser.ts +273 -0
- package/src/runtime/wasi/types.ts +448 -0
- package/src/runtime/wasi-instance.generated.ts +14 -0
- package/src/runtime/wasi-instance.ts +259 -0
- package/src/runtime/wasi-threads.ts +682 -0
- package/src/runtime/wasm-memory.ts +261 -0
- package/src/shell/elevation-commands.ts +117 -0
- package/src/shell/exec-dispatch.ts +201 -0
- package/src/shell/features.ts +870 -0
- package/src/shell/shell-entrypoints.ts +323 -0
- package/src/shell/shell-invocation.ts +181 -0
- package/src/shell/unix-accounts.ts +128 -0
- package/src/shell/unix-commands.ts +4335 -0
- package/src/substrate/lifo/UPSTREAM.md +14 -0
- package/src/substrate/lifo/commands/archive/gunzip.ts +63 -0
- package/src/substrate/lifo/commands/archive/gzip.ts +76 -0
- package/src/substrate/lifo/commands/archive/tar.ts +157 -0
- package/src/substrate/lifo/commands/archive/unzip.ts +112 -0
- package/src/substrate/lifo/commands/archive/zip.ts +70 -0
- package/src/substrate/lifo/commands/fs/basename.ts +16 -0
- package/src/substrate/lifo/commands/fs/cat.ts +54 -0
- package/src/substrate/lifo/commands/fs/chmod.ts +110 -0
- package/src/substrate/lifo/commands/fs/chown.ts +45 -0
- package/src/substrate/lifo/commands/fs/cp.ts +33 -0
- package/src/substrate/lifo/commands/fs/df.ts +56 -0
- package/src/substrate/lifo/commands/fs/dirname.ts +16 -0
- package/src/substrate/lifo/commands/fs/du.ts +100 -0
- package/src/substrate/lifo/commands/fs/file.ts +90 -0
- package/src/substrate/lifo/commands/fs/find.ts +76 -0
- package/src/substrate/lifo/commands/fs/ln.ts +19 -0
- package/src/substrate/lifo/commands/fs/ls.ts +164 -0
- package/src/substrate/lifo/commands/fs/mkdir.ts +37 -0
- package/src/substrate/lifo/commands/fs/mktemp.ts +56 -0
- package/src/substrate/lifo/commands/fs/mv.ts +111 -0
- package/src/substrate/lifo/commands/fs/realpath.ts +31 -0
- package/src/substrate/lifo/commands/fs/rm.ts +53 -0
- package/src/substrate/lifo/commands/fs/rmdir.ts +50 -0
- package/src/substrate/lifo/commands/fs/stat.ts +39 -0
- package/src/substrate/lifo/commands/fs/touch.ts +30 -0
- package/src/substrate/lifo/commands/fs/tree.ts +76 -0
- package/src/substrate/lifo/commands/index.ts +2 -0
- package/src/substrate/lifo/commands/io/dd.ts +289 -0
- package/src/substrate/lifo/commands/io/printf.ts +78 -0
- package/src/substrate/lifo/commands/io/tee.ts +37 -0
- package/src/substrate/lifo/commands/io/xargs.ts +49 -0
- package/src/substrate/lifo/commands/io/yes.ts +15 -0
- package/src/substrate/lifo/commands/net/curl.ts +739 -0
- package/src/substrate/lifo/commands/net/dig.ts +99 -0
- package/src/substrate/lifo/commands/net/forward.ts +90 -0
- package/src/substrate/lifo/commands/net/host.ts +182 -0
- package/src/substrate/lifo/commands/net/ifconfig.ts +139 -0
- package/src/substrate/lifo/commands/net/ip.ts +633 -0
- package/src/substrate/lifo/commands/net/netstat.ts +106 -0
- package/src/substrate/lifo/commands/net/ping.ts +74 -0
- package/src/substrate/lifo/commands/net/ports.ts +45 -0
- package/src/substrate/lifo/commands/net/route.ts +153 -0
- package/src/substrate/lifo/commands/net/tunnel-v2.ts +183 -0
- package/src/substrate/lifo/commands/net/tunnel.ts +272 -0
- package/src/substrate/lifo/commands/net/wget.ts +88 -0
- package/src/substrate/lifo/commands/registry.ts +141 -0
- package/src/substrate/lifo/commands/signal.ts +65 -0
- package/src/substrate/lifo/commands/system/bc.ts +265 -0
- package/src/substrate/lifo/commands/system/cal.ts +90 -0
- package/src/substrate/lifo/commands/system/date.ts +59 -0
- package/src/substrate/lifo/commands/system/env.ts +10 -0
- package/src/substrate/lifo/commands/system/fastfetch.ts +428 -0
- package/src/substrate/lifo/commands/system/free.ts +38 -0
- package/src/substrate/lifo/commands/system/help.ts +53 -0
- package/src/substrate/lifo/commands/system/hostname.ts +9 -0
- package/src/substrate/lifo/commands/system/kill.ts +89 -0
- package/src/substrate/lifo/commands/system/lifo.ts +525 -0
- package/src/substrate/lifo/commands/system/logout.ts +17 -0
- package/src/substrate/lifo/commands/system/man.ts +167 -0
- package/src/substrate/lifo/commands/system/node.ts +1305 -0
- package/src/substrate/lifo/commands/system/npm.ts +1078 -0
- package/src/substrate/lifo/commands/system/pkg.ts +111 -0
- package/src/substrate/lifo/commands/system/ps.ts +46 -0
- package/src/substrate/lifo/commands/system/registry-schemas.ts +33 -0
- package/src/substrate/lifo/commands/system/sha256sum.ts +89 -0
- package/src/substrate/lifo/commands/system/sl.ts +249 -0
- package/src/substrate/lifo/commands/system/sleep.ts +36 -0
- package/src/substrate/lifo/commands/system/stty.ts +69 -0
- package/src/substrate/lifo/commands/system/systemctl.ts +184 -0
- package/src/substrate/lifo/commands/system/top.ts +53 -0
- package/src/substrate/lifo/commands/system/uname.ts +59 -0
- package/src/substrate/lifo/commands/system/uptime.ts +19 -0
- package/src/substrate/lifo/commands/system/watch.ts +67 -0
- package/src/substrate/lifo/commands/system/which.ts +51 -0
- package/src/substrate/lifo/commands/system/whoami.ts +9 -0
- package/src/substrate/lifo/commands/text/awk.ts +210 -0
- package/src/substrate/lifo/commands/text/base64.ts +102 -0
- package/src/substrate/lifo/commands/text/cut.ts +92 -0
- package/src/substrate/lifo/commands/text/diff.ts +314 -0
- package/src/substrate/lifo/commands/text/grep.ts +170 -0
- package/src/substrate/lifo/commands/text/head.ts +95 -0
- package/src/substrate/lifo/commands/text/less.ts +335 -0
- package/src/substrate/lifo/commands/text/nano.ts +513 -0
- package/src/substrate/lifo/commands/text/nl.ts +74 -0
- package/src/substrate/lifo/commands/text/rev.ts +46 -0
- package/src/substrate/lifo/commands/text/sed.ts +297 -0
- package/src/substrate/lifo/commands/text/seq.ts +76 -0
- package/src/substrate/lifo/commands/text/sort.ts +88 -0
- package/src/substrate/lifo/commands/text/strings.ts +73 -0
- package/src/substrate/lifo/commands/text/tac.ts +37 -0
- package/src/substrate/lifo/commands/text/tail.ts +63 -0
- package/src/substrate/lifo/commands/text/tr.ts +192 -0
- package/src/substrate/lifo/commands/text/uniq.ts +77 -0
- package/src/substrate/lifo/commands/text/wc.ts +104 -0
- package/src/substrate/lifo/commands/types.ts +58 -0
- package/src/substrate/lifo/index.ts +173 -0
- package/src/substrate/lifo/kernel/ServiceManager.ts +371 -0
- package/src/substrate/lifo/kernel/index.ts +209 -0
- package/src/substrate/lifo/kernel/network/Bridge.ts +336 -0
- package/src/substrate/lifo/kernel/network/DNSResolver.ts +158 -0
- package/src/substrate/lifo/kernel/network/NetworkInterface.ts +235 -0
- package/src/substrate/lifo/kernel/network/NetworkNamespace.ts +182 -0
- package/src/substrate/lifo/kernel/network/NetworkStack.ts +590 -0
- package/src/substrate/lifo/kernel/network/PortBridge.ts +182 -0
- package/src/substrate/lifo/kernel/network/RoutingTable.ts +209 -0
- package/src/substrate/lifo/kernel/network/Socket.ts +245 -0
- package/src/substrate/lifo/kernel/network/index.ts +29 -0
- package/src/substrate/lifo/kernel/network/tunnel/BaseTunnel.ts +124 -0
- package/src/substrate/lifo/kernel/network/tunnel/VETHPair.ts +227 -0
- package/src/substrate/lifo/kernel/network/tunnel/WebSocketTunnel.ts +387 -0
- package/src/substrate/lifo/kernel/network/types.ts +178 -0
- package/src/substrate/lifo/kernel/persistence/PersistenceManager.ts +50 -0
- package/src/substrate/lifo/kernel/persistence/backends.ts +36 -0
- package/src/substrate/lifo/kernel/persistence/index.ts +5 -0
- package/src/substrate/lifo/kernel/persistence/serializer.ts +127 -0
- package/src/substrate/lifo/kernel/samples.ts +966 -0
- package/src/substrate/lifo/kernel/storage/BlobStore.ts +114 -0
- package/src/substrate/lifo/kernel/storage/ContentStore.ts +150 -0
- package/src/substrate/lifo/kernel/storage/index.ts +5 -0
- package/src/substrate/lifo/kernel/unit-parser.ts +95 -0
- package/src/substrate/lifo/kernel/vfs/VFS.ts +768 -0
- package/src/substrate/lifo/kernel/vfs/index.ts +9 -0
- package/src/substrate/lifo/kernel/vfs/providers/DevProvider.ts +172 -0
- package/src/substrate/lifo/kernel/vfs/providers/NativeFsProvider.ts +198 -0
- package/src/substrate/lifo/kernel/vfs/providers/ProcProvider.ts +144 -0
- package/src/substrate/lifo/kernel/vfs/types.ts +145 -0
- package/src/substrate/lifo/node-compat/buffer.ts +357 -0
- package/src/substrate/lifo/node-compat/child_process.ts +52 -0
- package/src/substrate/lifo/node-compat/console.ts +70 -0
- package/src/substrate/lifo/node-compat/crypto.ts +186 -0
- package/src/substrate/lifo/node-compat/dns.ts +214 -0
- package/src/substrate/lifo/node-compat/esbuild.ts +85 -0
- package/src/substrate/lifo/node-compat/events.ts +94 -0
- package/src/substrate/lifo/node-compat/fs.ts +762 -0
- package/src/substrate/lifo/node-compat/http.ts +561 -0
- package/src/substrate/lifo/node-compat/index.ts +300 -0
- package/src/substrate/lifo/node-compat/module.ts +148 -0
- package/src/substrate/lifo/node-compat/os.ts +44 -0
- package/src/substrate/lifo/node-compat/path.ts +74 -0
- package/src/substrate/lifo/node-compat/process.ts +178 -0
- package/src/substrate/lifo/node-compat/readline.ts +244 -0
- package/src/substrate/lifo/node-compat/rimraf.ts +80 -0
- package/src/substrate/lifo/node-compat/stream.ts +98 -0
- package/src/substrate/lifo/node-compat/string_decoder.ts +26 -0
- package/src/substrate/lifo/node-compat/timers.ts +21 -0
- package/src/substrate/lifo/node-compat/tty.ts +83 -0
- package/src/substrate/lifo/node-compat/url.ts +76 -0
- package/src/substrate/lifo/node-compat/util.ts +133 -0
- package/src/substrate/lifo/node-compat/zlib.ts +94 -0
- package/src/substrate/lifo/pkg/PackageManager.ts +105 -0
- package/src/substrate/lifo/pkg/lifo-dev.ts +130 -0
- package/src/substrate/lifo/pkg/lifo-runtime.ts +473 -0
- package/src/substrate/lifo/pkg/loader.ts +33 -0
- package/src/substrate/lifo/platform-globals.d.ts +41 -0
- package/src/substrate/lifo/sandbox/HeadlessTerminal.ts +38 -0
- package/src/substrate/lifo/sandbox/Sandbox.ts +279 -0
- package/src/substrate/lifo/sandbox/SandboxCommands.ts +74 -0
- package/src/substrate/lifo/sandbox/SandboxFs.ts +160 -0
- package/src/substrate/lifo/sandbox/index.ts +8 -0
- package/src/substrate/lifo/sandbox/types.ts +117 -0
- package/src/substrate/lifo/shell/ProcessRegistry.ts +379 -0
- package/src/substrate/lifo/shell/Shell.ts +2048 -0
- package/src/substrate/lifo/shell/completer.ts +212 -0
- package/src/substrate/lifo/shell/default-shell.ts +63 -0
- package/src/substrate/lifo/shell/expander.ts +1349 -0
- package/src/substrate/lifo/shell/history.ts +138 -0
- package/src/substrate/lifo/shell/interpreter.ts +1754 -0
- package/src/substrate/lifo/shell/jobs.ts +64 -0
- package/src/substrate/lifo/shell/lexer.ts +698 -0
- package/src/substrate/lifo/shell/parser.ts +711 -0
- package/src/substrate/lifo/shell/pipe.ts +92 -0
- package/src/substrate/lifo/shell/signals.ts +70 -0
- package/src/substrate/lifo/shell/terminal-stdin.ts +109 -0
- package/src/substrate/lifo/shell/test-builtin.ts +316 -0
- package/src/substrate/lifo/shell/types.ts +166 -0
- package/src/substrate/lifo/terminal/ITerminal.ts +9 -0
- package/src/substrate/lifo/utils/archive.ts +389 -0
- package/src/substrate/lifo/utils/args.ts +89 -0
- package/src/substrate/lifo/utils/colors.ts +29 -0
- package/src/substrate/lifo/utils/encoding.ts +21 -0
- package/src/substrate/lifo/utils/glob.ts +172 -0
- package/src/substrate/lifo/utils/mime.ts +114 -0
- package/src/substrate/lifo/utils/path.ts +83 -0
- package/src/types/assets.d.ts +4 -0
- package/src/vfs/events.ts +134 -0
- package/src/vfs/path.ts +71 -0
- package/src/vfs/seed-project.ts +1094 -0
- package/src/vfs/sqlite-vfs.ts +5035 -0
- package/src/vfs/symlink-registry.ts +172 -0
- package/src/workspace/nimbus-workspace.ts +213 -0
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* diag-counters.ts — application-level memory + phase observability.
|
|
3
|
+
*
|
|
4
|
+
* Why: workerd's `process.memoryUsage()` returns 0 for all fields inside
|
|
5
|
+
* a Durable Object class context (only dynamic-worker isolates under
|
|
6
|
+
* nodejs_compat get the real implementation). Without a working heap
|
|
7
|
+
* probe we have no way to confirm OOM hypotheses or verify a fix.
|
|
8
|
+
*
|
|
9
|
+
* Replacement: deterministic counters bumped at known allocation sites.
|
|
10
|
+
* Cumulative bytes decoded, in-flight stub counts, and phase markers
|
|
11
|
+
* give us the same operational signal as a heap probe — and they're
|
|
12
|
+
* exact, not estimated.
|
|
13
|
+
*
|
|
14
|
+
* Singleton-per-isolate. Lives at module scope so any code path in the
|
|
15
|
+
* supervisor bundle can write to it (installer and RPC handlers) and
|
|
16
|
+
* the request handler in nimbus-session.ts:/api/_diag/memory can read
|
|
17
|
+
* it. Survives across requests within the same isolate; resets on DO
|
|
18
|
+
* reboot — itself a useful signal (counters at 0 immediately after the
|
|
19
|
+
* banner reprinted = the killed isolate took its state with it).
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* Phase tags surfaced via /api/_diag/memory. Strings are ASCII so
|
|
23
|
+
* humans can grep for them in logs.
|
|
24
|
+
*
|
|
25
|
+
* installPhase tracks the high-level npm-install state machine:
|
|
26
|
+
* idle → resolve → hoist → diff → fetch → write → link-bins → bundle → done
|
|
27
|
+
*
|
|
28
|
+
*/
|
|
29
|
+
import type { InstallPhase } from '../_shared/install-phase.js';
|
|
30
|
+
export interface DiagCounters {
|
|
31
|
+
/** Top-level install phase. */
|
|
32
|
+
installPhase: InstallPhase;
|
|
33
|
+
/**
|
|
34
|
+
* Sum of payload bytes claimed by RPCs currently in flight on the
|
|
35
|
+
* SUPERVISOR boundary [Phase 2 A'.2].
|
|
36
|
+
*
|
|
37
|
+
* Bumped at RPC entry by `rpcPayloadStart(bytes)` in the DO-side
|
|
38
|
+
* byte-returning handlers in src/session/rpc.ts; debited at exit by
|
|
39
|
+
* `rpcPayloadEnd(bytes)`. Goes back to zero after every RPC settles.
|
|
40
|
+
*
|
|
41
|
+
* The C'.1 heap estimator surfaces this as
|
|
42
|
+
* `breakdown.streamingBuffersBytes` so any RPC path that buffers
|
|
43
|
+
* MORE than the W7 streaming guarantee shows up as supervisor heap
|
|
44
|
+
* pressure rather than disappearing into the bundle baseline.
|
|
45
|
+
*
|
|
46
|
+
* Streamed payloads (writeBatchStream over W7 frames) report -1
|
|
47
|
+
* up-front; we substitute 0 here because the bytes flow with
|
|
48
|
+
* backpressure and the supervisor-resident buffer is bounded by
|
|
49
|
+
* the W7 chunk size (a few KiB), not by the total payload.
|
|
50
|
+
*/
|
|
51
|
+
inFlightRpcPayloadBytes: number;
|
|
52
|
+
/**
|
|
53
|
+
* Bytes reserved by prefetch-bundle builds currently in flight.
|
|
54
|
+
*
|
|
55
|
+
* `buildPrefetchBundle` accumulates raw VFS file contents into an in-heap
|
|
56
|
+
* bundle object, and used to do so with nothing observing it: the estimator
|
|
57
|
+
* read 9.4 MiB while those bytes were resetting the DO. Each build now takes
|
|
58
|
+
* an `acquireSupervisorAllocation` lease for the budget it may use and bumps
|
|
59
|
+
* this alongside it, so the reservation is ATTRIBUTED to the bundle path
|
|
60
|
+
* rather than landing in `unattributedReservationBytes`.
|
|
61
|
+
*
|
|
62
|
+
* Surfaced as `breakdown.prefetchBundleBytes`. Back to zero between builds.
|
|
63
|
+
*/
|
|
64
|
+
prefetchBundleBytes: number;
|
|
65
|
+
/**
|
|
66
|
+
* Bytes retained by the FacetManager's prefetch-bundle LRU right now.
|
|
67
|
+
*
|
|
68
|
+
* Unlike the counter above these bytes persist ACROSS execs — each entry
|
|
69
|
+
* holds the raw bundle plus its serialized source, manifest and metadata.
|
|
70
|
+
* The LRU used to be bounded by entry count alone, which bounded nothing:
|
|
71
|
+
* 16 pi-sized entries exceed the supervisor ceiling several times over. It
|
|
72
|
+
* is now bounded by PREFETCH_CACHE_MAX_BYTES and reports its live total
|
|
73
|
+
* here, so the retained cost is a measurement rather than a cap.
|
|
74
|
+
*
|
|
75
|
+
* Surfaced as `breakdown.prefetchCacheBytes`. A gauge, not a delta.
|
|
76
|
+
*/
|
|
77
|
+
prefetchCacheBytes: number;
|
|
78
|
+
/** Install-facet counters. Populated by npm-installer after a
|
|
79
|
+
* successful batch-facet dispatch returns. Confirms the install ran
|
|
80
|
+
* in the facet (tarballsCompleted > 0) and surfaces the
|
|
81
|
+
* facet-internal byte count. */
|
|
82
|
+
installFacet: {
|
|
83
|
+
/** Number of tarballs the install-batch-facet successfully streamed. */
|
|
84
|
+
tarballsCompleted: number;
|
|
85
|
+
/** Cumulative tarball body bytes the facet decoded (gunzip input). */
|
|
86
|
+
cumulativeBytesDecoded: number;
|
|
87
|
+
/** Peak in-flight tarball pipelines inside the facet at any one moment. */
|
|
88
|
+
peakInFlight: number;
|
|
89
|
+
};
|
|
90
|
+
/** Pre-bundle facet counters. Tracks the fire-and-forget pre-bundle
|
|
91
|
+
* phase. Aggregates across all dispatches in this DO's lifetime. */
|
|
92
|
+
preBundleFacet: {
|
|
93
|
+
/** Specifiers attempted (queue depth at start of phase). */
|
|
94
|
+
attempted: number;
|
|
95
|
+
/** Bundles that completed successfully (esmCode produced). */
|
|
96
|
+
bundlesCompleted: number;
|
|
97
|
+
/** Bundles that failed (errorText set on PrebundleResult). */
|
|
98
|
+
errors: number;
|
|
99
|
+
/** Bundles skipped before facet dispatch (e.g. slice cap exceeded). */
|
|
100
|
+
skipped: number;
|
|
101
|
+
/** First-call wasm-fetch payload size. 0 until first successful dispatch
|
|
102
|
+
* records it; stays at first-seen value (RPC returns the same Module
|
|
103
|
+
* every time, but the cumulativeBytes the FACET reports may grow on
|
|
104
|
+
* retries). */
|
|
105
|
+
wasmBootBytes: number;
|
|
106
|
+
/** Per-module errors from the MOST RECENT pre-bundle batch, keyed by
|
|
107
|
+
* specifier (e.g. "lucide-react", "framer-motion"). REPLACED on each
|
|
108
|
+
* recordPreBundleSummary() call so the map is bounded by the batch
|
|
109
|
+
* size (≤ pending.length, typically <20).
|
|
110
|
+
*
|
|
111
|
+
* Example: { "lucide-react": "Worker exceeded memory limit." }
|
|
112
|
+
*
|
|
113
|
+
* Empty when the most recent batch had zero errors. */
|
|
114
|
+
errorsByModule: Record<string, string>;
|
|
115
|
+
};
|
|
116
|
+
/** Pipelined R2 race outcomes. All counts are cumulative since
|
|
117
|
+
* DO-isolate start. Per-tier cache statistics live in cache-stats. */
|
|
118
|
+
r2: {
|
|
119
|
+
/** Pipelined-RPC race wins for tarballs (R2 came back first; network
|
|
120
|
+
* was cancelled). */
|
|
121
|
+
pipelinedTarballRaceWins: number;
|
|
122
|
+
/** Pipelined-RPC race losses for tarballs (R2 came back too slow or
|
|
123
|
+
* empty; network response used). */
|
|
124
|
+
pipelinedTarballRaceLosses: number;
|
|
125
|
+
/** Pipelined-RPC race wins for packuments. */
|
|
126
|
+
pipelinedPackumentRaceWins: number;
|
|
127
|
+
/** Pipelined-RPC race losses for packuments. */
|
|
128
|
+
pipelinedPackumentRaceLosses: number;
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
/** Read a snapshot — caller-side mutations don't affect the singleton. */
|
|
132
|
+
export declare function readDiagCounters(): DiagCounters;
|
|
133
|
+
/** Set the install phase. */
|
|
134
|
+
export declare function setInstallPhase(p: InstallPhase): void;
|
|
135
|
+
/**
|
|
136
|
+
* Track an in-flight supervisor RPC payload [Phase 2 A'.2].
|
|
137
|
+
*
|
|
138
|
+
* Call at RPC entry, BEFORE awaiting any work that depends on
|
|
139
|
+
* `payload`. Pair with `rpcPayloadEnd(bytes)` in the matching `finally`
|
|
140
|
+
* so the counter goes back to zero on both success and failure.
|
|
141
|
+
*
|
|
142
|
+
* `bytes` is the supervisor-resident byte cost of the RPC's argument
|
|
143
|
+
* (or return value, whichever is bigger). For structured-clone RPCs
|
|
144
|
+
* this is the size of the cloned payload in bytes.
|
|
145
|
+
*
|
|
146
|
+
* Streamed payloads (ReadableStream-over-RPC) flow with backpressure
|
|
147
|
+
* and the supervisor-resident bound is the chunk size, not the total
|
|
148
|
+
* payload. Pass the chunk-size estimate (typically ≤ 1 MiB) — never
|
|
149
|
+
* the unknown total. -1 is silently coerced to 0 to keep the counter
|
|
150
|
+
* non-negative; callers that don't know the size should call this
|
|
151
|
+
* with 0 explicitly rather than relying on coercion.
|
|
152
|
+
*/
|
|
153
|
+
export declare function rpcPayloadStart(bytes: number): void;
|
|
154
|
+
/**
|
|
155
|
+
* Release an in-flight supervisor RPC payload [Phase 2 A'.2].
|
|
156
|
+
* Pass the same byte count given to the matching `rpcPayloadStart`.
|
|
157
|
+
*
|
|
158
|
+
* Floors at 0 to absorb arithmetic drift (e.g. if a payload-byte
|
|
159
|
+
* counter rounding gave a slightly different number on entry vs.
|
|
160
|
+
* exit). Drift in routine paths should be zero — a non-zero floor
|
|
161
|
+
* hit is a bug worth investigating.
|
|
162
|
+
*/
|
|
163
|
+
export declare function rpcPayloadEnd(bytes: number): void;
|
|
164
|
+
/**
|
|
165
|
+
* Track an in-flight prefetch-bundle build. Call with the byte reservation the
|
|
166
|
+
* build took from the supervisor allocation budget, and pair with
|
|
167
|
+
* `prefetchBundleEnd` in the matching `finally` so it returns to zero whether
|
|
168
|
+
* the build succeeded or threw.
|
|
169
|
+
*/
|
|
170
|
+
export declare function prefetchBundleStart(bytes: number): void;
|
|
171
|
+
/** Release an in-flight prefetch-bundle reservation. Floors at 0. */
|
|
172
|
+
export declare function prefetchBundleEnd(bytes: number): void;
|
|
173
|
+
/**
|
|
174
|
+
* Publish the prefetch-bundle LRU's live retained total. A gauge: the cache
|
|
175
|
+
* owns the number and reports it whenever it admits or evicts an entry.
|
|
176
|
+
*/
|
|
177
|
+
export declare function setPrefetchCacheBytes(bytes: number): void;
|
|
178
|
+
/** Fold facet-returned counters into the supervisor's diag state.
|
|
179
|
+
* Called by npm-installer after the batch-facet returns; aggregates
|
|
180
|
+
* rather than replaces so multiple install runs in the same DO
|
|
181
|
+
* lifetime accumulate in cumulativeBytesDecoded. */
|
|
182
|
+
export declare function recordInstallFacetCounters(c: {
|
|
183
|
+
tarballsCompleted: number;
|
|
184
|
+
cumulativeBytesDecoded: number;
|
|
185
|
+
peakInFlight: number;
|
|
186
|
+
}): void;
|
|
187
|
+
/** Record pre-bundle phase summary. Aggregates lifetime totals across
|
|
188
|
+
* all phases run in this DO's lifetime, but REPLACES the
|
|
189
|
+
* errorsByModule map every call so it reflects only the most recent
|
|
190
|
+
* batch. Losing prior-batch errors is fine — they're already aggregated
|
|
191
|
+
* into `errors` (count); the map is for "which modules failed this
|
|
192
|
+
* time." */
|
|
193
|
+
export declare function recordPreBundleSummary(s: {
|
|
194
|
+
attempted: number;
|
|
195
|
+
bundlesCompleted: number;
|
|
196
|
+
errors: number;
|
|
197
|
+
skipped: number;
|
|
198
|
+
wasmBootBytes?: number;
|
|
199
|
+
errorsByModule?: Record<string, string>;
|
|
200
|
+
}): void;
|
|
201
|
+
/** Bump pipelined-RPC race outcome counters. The facet returns these
|
|
202
|
+
* in its result counters; the supervisor folds them in alongside the
|
|
203
|
+
* existing installFacet counters. */
|
|
204
|
+
export declare function recordR2RaceCounters(c: {
|
|
205
|
+
pipelinedTarballRaceWins: number;
|
|
206
|
+
pipelinedTarballRaceLosses: number;
|
|
207
|
+
pipelinedPackumentRaceWins: number;
|
|
208
|
+
pipelinedPackumentRaceLosses: number;
|
|
209
|
+
}): void;
|
|
210
|
+
/**
|
|
211
|
+
* cache-obs-2: fold facet-collected per-tier cache events into the
|
|
212
|
+
* DO-side cache-stats singleton. Called from installer.ts after a
|
|
213
|
+
* batch-facet / resolve-facet returns — mirrors recordR2RaceCounters
|
|
214
|
+
* (the facet collects metrics in its result and the supervisor folds
|
|
215
|
+
* them into the DO isolate).
|
|
216
|
+
*
|
|
217
|
+
* Each event has shape:
|
|
218
|
+
* { kind: 'hit', tier: 'L2'|'L3'|'L4', cacheKind: 'tarball'|'packument'|'asset', bytes: number }
|
|
219
|
+
* { kind: 'miss', tier: ..., cacheKind: ... }
|
|
220
|
+
*
|
|
221
|
+
* The recordHit/recordMiss surface is defined in
|
|
222
|
+
* src/_shared/cache-stats.ts.
|
|
223
|
+
*/
|
|
224
|
+
import { type CacheTier, type CacheKind } from '../_shared/cache-stats.js';
|
|
225
|
+
export type CacheStatEvent = {
|
|
226
|
+
kind: 'hit';
|
|
227
|
+
tier: CacheTier;
|
|
228
|
+
cacheKind: CacheKind;
|
|
229
|
+
bytes: number;
|
|
230
|
+
} | {
|
|
231
|
+
kind: 'miss';
|
|
232
|
+
tier: CacheTier;
|
|
233
|
+
cacheKind: CacheKind;
|
|
234
|
+
};
|
|
235
|
+
export declare function recordCacheStatEvents(events: readonly CacheStatEvent[] | undefined): void;
|
|
236
|
+
//# sourceMappingURL=diag-counters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diag-counters.d.ts","sourceRoot":"","sources":["../../src/observability/diag-counters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;;;;GAOG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,MAAM,WAAW,YAAY;IAC3B,+BAA+B;IAC/B,YAAY,EAAE,YAAY,CAAC;IAC3B;;;;;;;;;;;;;;;;;OAiBG;IACH,uBAAuB,EAAE,MAAM,CAAC;IAChC;;;;;;;;;;;OAWG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;;;;;;;;;;OAWG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;qCAGiC;IACjC,YAAY,EAAE;QACZ,wEAAwE;QACxE,iBAAiB,EAAE,MAAM,CAAC;QAC1B,sEAAsE;QACtE,sBAAsB,EAAE,MAAM,CAAC;QAC/B,2EAA2E;QAC3E,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF;yEACqE;IACrE,cAAc,EAAE;QACd,4DAA4D;QAC5D,SAAS,EAAE,MAAM,CAAC;QAClB,8DAA8D;QAC9D,gBAAgB,EAAE,MAAM,CAAC;QACzB,8DAA8D;QAC9D,MAAM,EAAE,MAAM,CAAC;QACf,uEAAuE;QACvE,OAAO,EAAE,MAAM,CAAC;QAChB;;;wBAGgB;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB;;;;;;;gEAOwD;QACxD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACxC,CAAC;IACF;2EACuE;IACvE,EAAE,EAAE;QACF;8BACsB;QACtB,wBAAwB,EAAE,MAAM,CAAC;QACjC;6CACqC;QACrC,0BAA0B,EAAE,MAAM,CAAC;QACnC,8CAA8C;QAC9C,0BAA0B,EAAE,MAAM,CAAC;QACnC,gDAAgD;QAChD,4BAA4B,EAAE,MAAM,CAAC;KACtC,CAAC;CACH;AA4BD,0EAA0E;AAC1E,wBAAgB,gBAAgB,IAAI,YAAY,CAE/C;AAED,6BAA6B;AAC7B,wBAAgB,eAAe,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI,CAErD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAInD;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAOjD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAIvD;AAED,qEAAqE;AACrE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAKrD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAGzD;AAED;;;qDAGqD;AACrD,wBAAgB,0BAA0B,CAAC,CAAC,EAAE;IAC5C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,IAAI,CAMP;AAED;;;;;aAKa;AACb,wBAAgB,sBAAsB,CAAC,CAAC,EAAE;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC,GAAG,IAAI,CAiBP;AAED;;sCAEsC;AACtC,wBAAgB,oBAAoB,CAAC,CAAC,EAAE;IACtC,wBAAwB,EAAE,MAAM,CAAC;IACjC,0BAA0B,EAAE,MAAM,CAAC;IACnC,0BAA0B,EAAE,MAAM,CAAC;IACnC,4BAA4B,EAAE,MAAM,CAAC;CACtC,GAAG,IAAI,CAKP;AAED;;;;;;;;;;;;;GAaG;AACH,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACrE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,CAAC;AAE5D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,GAAG,SAAS,GAAG,IAAI,CASzF"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* diag-counters.ts — application-level memory + phase observability.
|
|
3
|
+
*
|
|
4
|
+
* Why: workerd's `process.memoryUsage()` returns 0 for all fields inside
|
|
5
|
+
* a Durable Object class context (only dynamic-worker isolates under
|
|
6
|
+
* nodejs_compat get the real implementation). Without a working heap
|
|
7
|
+
* probe we have no way to confirm OOM hypotheses or verify a fix.
|
|
8
|
+
*
|
|
9
|
+
* Replacement: deterministic counters bumped at known allocation sites.
|
|
10
|
+
* Cumulative bytes decoded, in-flight stub counts, and phase markers
|
|
11
|
+
* give us the same operational signal as a heap probe — and they're
|
|
12
|
+
* exact, not estimated.
|
|
13
|
+
*
|
|
14
|
+
* Singleton-per-isolate. Lives at module scope so any code path in the
|
|
15
|
+
* supervisor bundle can write to it (installer and RPC handlers) and
|
|
16
|
+
* the request handler in nimbus-session.ts:/api/_diag/memory can read
|
|
17
|
+
* it. Survives across requests within the same isolate; resets on DO
|
|
18
|
+
* reboot — itself a useful signal (counters at 0 immediately after the
|
|
19
|
+
* banner reprinted = the killed isolate took its state with it).
|
|
20
|
+
*/
|
|
21
|
+
const _counters = {
|
|
22
|
+
installPhase: 'idle',
|
|
23
|
+
inFlightRpcPayloadBytes: 0,
|
|
24
|
+
prefetchBundleBytes: 0,
|
|
25
|
+
prefetchCacheBytes: 0,
|
|
26
|
+
installFacet: {
|
|
27
|
+
tarballsCompleted: 0,
|
|
28
|
+
cumulativeBytesDecoded: 0,
|
|
29
|
+
peakInFlight: 0,
|
|
30
|
+
},
|
|
31
|
+
preBundleFacet: {
|
|
32
|
+
attempted: 0,
|
|
33
|
+
bundlesCompleted: 0,
|
|
34
|
+
errors: 0,
|
|
35
|
+
skipped: 0,
|
|
36
|
+
wasmBootBytes: 0,
|
|
37
|
+
errorsByModule: {},
|
|
38
|
+
},
|
|
39
|
+
r2: {
|
|
40
|
+
pipelinedTarballRaceWins: 0,
|
|
41
|
+
pipelinedTarballRaceLosses: 0,
|
|
42
|
+
pipelinedPackumentRaceWins: 0,
|
|
43
|
+
pipelinedPackumentRaceLosses: 0,
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
/** Read a snapshot — caller-side mutations don't affect the singleton. */
|
|
47
|
+
export function readDiagCounters() {
|
|
48
|
+
return { ..._counters };
|
|
49
|
+
}
|
|
50
|
+
/** Set the install phase. */
|
|
51
|
+
export function setInstallPhase(p) {
|
|
52
|
+
_counters.installPhase = p;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Track an in-flight supervisor RPC payload [Phase 2 A'.2].
|
|
56
|
+
*
|
|
57
|
+
* Call at RPC entry, BEFORE awaiting any work that depends on
|
|
58
|
+
* `payload`. Pair with `rpcPayloadEnd(bytes)` in the matching `finally`
|
|
59
|
+
* so the counter goes back to zero on both success and failure.
|
|
60
|
+
*
|
|
61
|
+
* `bytes` is the supervisor-resident byte cost of the RPC's argument
|
|
62
|
+
* (or return value, whichever is bigger). For structured-clone RPCs
|
|
63
|
+
* this is the size of the cloned payload in bytes.
|
|
64
|
+
*
|
|
65
|
+
* Streamed payloads (ReadableStream-over-RPC) flow with backpressure
|
|
66
|
+
* and the supervisor-resident bound is the chunk size, not the total
|
|
67
|
+
* payload. Pass the chunk-size estimate (typically ≤ 1 MiB) — never
|
|
68
|
+
* the unknown total. -1 is silently coerced to 0 to keep the counter
|
|
69
|
+
* non-negative; callers that don't know the size should call this
|
|
70
|
+
* with 0 explicitly rather than relying on coercion.
|
|
71
|
+
*/
|
|
72
|
+
export function rpcPayloadStart(bytes) {
|
|
73
|
+
const n = Number(bytes);
|
|
74
|
+
if (!Number.isFinite(n) || n <= 0)
|
|
75
|
+
return;
|
|
76
|
+
_counters.inFlightRpcPayloadBytes += n;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Release an in-flight supervisor RPC payload [Phase 2 A'.2].
|
|
80
|
+
* Pass the same byte count given to the matching `rpcPayloadStart`.
|
|
81
|
+
*
|
|
82
|
+
* Floors at 0 to absorb arithmetic drift (e.g. if a payload-byte
|
|
83
|
+
* counter rounding gave a slightly different number on entry vs.
|
|
84
|
+
* exit). Drift in routine paths should be zero — a non-zero floor
|
|
85
|
+
* hit is a bug worth investigating.
|
|
86
|
+
*/
|
|
87
|
+
export function rpcPayloadEnd(bytes) {
|
|
88
|
+
const n = Number(bytes);
|
|
89
|
+
if (!Number.isFinite(n) || n <= 0)
|
|
90
|
+
return;
|
|
91
|
+
_counters.inFlightRpcPayloadBytes -= n;
|
|
92
|
+
if (_counters.inFlightRpcPayloadBytes < 0) {
|
|
93
|
+
_counters.inFlightRpcPayloadBytes = 0;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Track an in-flight prefetch-bundle build. Call with the byte reservation the
|
|
98
|
+
* build took from the supervisor allocation budget, and pair with
|
|
99
|
+
* `prefetchBundleEnd` in the matching `finally` so it returns to zero whether
|
|
100
|
+
* the build succeeded or threw.
|
|
101
|
+
*/
|
|
102
|
+
export function prefetchBundleStart(bytes) {
|
|
103
|
+
const n = Number(bytes);
|
|
104
|
+
if (!Number.isFinite(n) || n <= 0)
|
|
105
|
+
return;
|
|
106
|
+
_counters.prefetchBundleBytes += n;
|
|
107
|
+
}
|
|
108
|
+
/** Release an in-flight prefetch-bundle reservation. Floors at 0. */
|
|
109
|
+
export function prefetchBundleEnd(bytes) {
|
|
110
|
+
const n = Number(bytes);
|
|
111
|
+
if (!Number.isFinite(n) || n <= 0)
|
|
112
|
+
return;
|
|
113
|
+
_counters.prefetchBundleBytes -= n;
|
|
114
|
+
if (_counters.prefetchBundleBytes < 0)
|
|
115
|
+
_counters.prefetchBundleBytes = 0;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Publish the prefetch-bundle LRU's live retained total. A gauge: the cache
|
|
119
|
+
* owns the number and reports it whenever it admits or evicts an entry.
|
|
120
|
+
*/
|
|
121
|
+
export function setPrefetchCacheBytes(bytes) {
|
|
122
|
+
const n = Number(bytes);
|
|
123
|
+
_counters.prefetchCacheBytes = Number.isFinite(n) && n > 0 ? n : 0;
|
|
124
|
+
}
|
|
125
|
+
/** Fold facet-returned counters into the supervisor's diag state.
|
|
126
|
+
* Called by npm-installer after the batch-facet returns; aggregates
|
|
127
|
+
* rather than replaces so multiple install runs in the same DO
|
|
128
|
+
* lifetime accumulate in cumulativeBytesDecoded. */
|
|
129
|
+
export function recordInstallFacetCounters(c) {
|
|
130
|
+
_counters.installFacet.tarballsCompleted += c.tarballsCompleted;
|
|
131
|
+
_counters.installFacet.cumulativeBytesDecoded += c.cumulativeBytesDecoded;
|
|
132
|
+
if (c.peakInFlight > _counters.installFacet.peakInFlight) {
|
|
133
|
+
_counters.installFacet.peakInFlight = c.peakInFlight;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/** Record pre-bundle phase summary. Aggregates lifetime totals across
|
|
137
|
+
* all phases run in this DO's lifetime, but REPLACES the
|
|
138
|
+
* errorsByModule map every call so it reflects only the most recent
|
|
139
|
+
* batch. Losing prior-batch errors is fine — they're already aggregated
|
|
140
|
+
* into `errors` (count); the map is for "which modules failed this
|
|
141
|
+
* time." */
|
|
142
|
+
export function recordPreBundleSummary(s) {
|
|
143
|
+
_counters.preBundleFacet.attempted += s.attempted;
|
|
144
|
+
_counters.preBundleFacet.bundlesCompleted += s.bundlesCompleted;
|
|
145
|
+
_counters.preBundleFacet.errors += s.errors;
|
|
146
|
+
_counters.preBundleFacet.skipped += s.skipped;
|
|
147
|
+
if (s.wasmBootBytes && _counters.preBundleFacet.wasmBootBytes === 0) {
|
|
148
|
+
_counters.preBundleFacet.wasmBootBytes = s.wasmBootBytes;
|
|
149
|
+
}
|
|
150
|
+
// Replace (not merge) so we capture only the most recent batch.
|
|
151
|
+
// Bounded by batch size; truncate each value to 200 chars.
|
|
152
|
+
if (s.errorsByModule) {
|
|
153
|
+
const trimmed = {};
|
|
154
|
+
for (const [name, msg] of Object.entries(s.errorsByModule)) {
|
|
155
|
+
trimmed[name] = String(msg).slice(0, 200);
|
|
156
|
+
}
|
|
157
|
+
_counters.preBundleFacet.errorsByModule = trimmed;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
/** Bump pipelined-RPC race outcome counters. The facet returns these
|
|
161
|
+
* in its result counters; the supervisor folds them in alongside the
|
|
162
|
+
* existing installFacet counters. */
|
|
163
|
+
export function recordR2RaceCounters(c) {
|
|
164
|
+
_counters.r2.pipelinedTarballRaceWins += c.pipelinedTarballRaceWins;
|
|
165
|
+
_counters.r2.pipelinedTarballRaceLosses += c.pipelinedTarballRaceLosses;
|
|
166
|
+
_counters.r2.pipelinedPackumentRaceWins += c.pipelinedPackumentRaceWins;
|
|
167
|
+
_counters.r2.pipelinedPackumentRaceLosses += c.pipelinedPackumentRaceLosses;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* cache-obs-2: fold facet-collected per-tier cache events into the
|
|
171
|
+
* DO-side cache-stats singleton. Called from installer.ts after a
|
|
172
|
+
* batch-facet / resolve-facet returns — mirrors recordR2RaceCounters
|
|
173
|
+
* (the facet collects metrics in its result and the supervisor folds
|
|
174
|
+
* them into the DO isolate).
|
|
175
|
+
*
|
|
176
|
+
* Each event has shape:
|
|
177
|
+
* { kind: 'hit', tier: 'L2'|'L3'|'L4', cacheKind: 'tarball'|'packument'|'asset', bytes: number }
|
|
178
|
+
* { kind: 'miss', tier: ..., cacheKind: ... }
|
|
179
|
+
*
|
|
180
|
+
* The recordHit/recordMiss surface is defined in
|
|
181
|
+
* src/_shared/cache-stats.ts.
|
|
182
|
+
*/
|
|
183
|
+
import { recordHit as _cacheRecordHit, recordMiss as _cacheRecordMiss, } from '../_shared/cache-stats.js';
|
|
184
|
+
export function recordCacheStatEvents(events) {
|
|
185
|
+
if (!events || events.length === 0)
|
|
186
|
+
return;
|
|
187
|
+
for (const e of events) {
|
|
188
|
+
if (e.kind === 'hit') {
|
|
189
|
+
_cacheRecordHit(e.tier, e.cacheKind, e.bytes);
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
_cacheRecordMiss(e.tier, e.cacheKind);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* heap-estimate.ts — deterministic supervisor-heap estimator [C'.1]
|
|
3
|
+
*
|
|
4
|
+
* Why this module exists
|
|
5
|
+
* ──────────────────────
|
|
6
|
+
* `process.memoryUsage()` returns 0 for every field inside a Durable
|
|
7
|
+
* Object class context (only dynamic-worker isolates under nodejs_compat
|
|
8
|
+
* get the real implementation). The previous `readNodeMem` /
|
|
9
|
+
* `sampleMemory` helpers in nimbus-session-diag.ts called it anyway and
|
|
10
|
+
* therefore reported zero forever — useless for verifying memory-
|
|
11
|
+
* containment work in plan §3 Track A'.
|
|
12
|
+
*
|
|
13
|
+
* Replacement: a deterministic estimator that sums the INSTRUMENTED
|
|
14
|
+
* supervisor heap allocation sources — runtime counters that ARE accurate
|
|
15
|
+
* (diag-counters.ts singleton + SqliteVFS.getStats()). Every byte it
|
|
16
|
+
* reports has a named contributor, so a regression in any one component
|
|
17
|
+
* is locatable.
|
|
18
|
+
*
|
|
19
|
+
* `estimatedBytes` is a LOWER BOUND, not a total
|
|
20
|
+
* ─────────────────────────────────────────────
|
|
21
|
+
* Within each instrumented component the estimator over-reports on
|
|
22
|
+
* purpose: components carry a peak-or-current value, in-flight bytes are
|
|
23
|
+
* counted before they are freed, and LRU bytes are the cap rather than the
|
|
24
|
+
* live footprint.
|
|
25
|
+
*
|
|
26
|
+
* Across components it can only sum what is instrumented. Allocation sites
|
|
27
|
+
* that neither bump a diag counter nor take a lease via
|
|
28
|
+
* `acquireSupervisorAllocation` are invisible to it, and it has no way to
|
|
29
|
+
* infer their size — so any site known to be uninstrumented is named in
|
|
30
|
+
* HEAP_BLIND_SPOTS rather than left silently absent.
|
|
31
|
+
*
|
|
32
|
+
* The prefetch-bundle path used to be exactly that gap, and a large one: the
|
|
33
|
+
* supervisor DO was reset three times under bundle construction while this
|
|
34
|
+
* estimator reported a 9.4 MiB baseline and 35 KB of LRU. Both of its sites
|
|
35
|
+
* are now instrumented where they allocate — the per-exec build leases the
|
|
36
|
+
* budget it spends (`prefetchBundleBytes`) and the cross-exec cache is bounded
|
|
37
|
+
* by bytes and reports its retained total (`prefetchCacheBytes`) — so they are
|
|
38
|
+
* components of the breakdown rather than caveats beside it.
|
|
39
|
+
*
|
|
40
|
+
* `blindSpots` is still returned alongside `estimatedBytes` because a list
|
|
41
|
+
* being empty is a claim that has to be re-earned as the system grows, not a
|
|
42
|
+
* property of the estimator. Closing a blind spot always means instrumenting
|
|
43
|
+
* it at its own allocation site and adding it to the breakdown — never
|
|
44
|
+
* estimating it from here.
|
|
45
|
+
*
|
|
46
|
+
* Eviction-label taxonomy
|
|
47
|
+
* ───────────────────────
|
|
48
|
+
* Workerd distinguishes five labelled eviction reasons:
|
|
49
|
+
* - lru → memory pressure on the runtime process
|
|
50
|
+
* - condemned → kill (operator / abuse pipeline)
|
|
51
|
+
* - inactive → idle eviction (70-140 s of no traffic)
|
|
52
|
+
* - dynamic_worker → per-owner LRU cap (default 50)
|
|
53
|
+
* - dynamic_worker_banned → Dice abuse-detection ban
|
|
54
|
+
*
|
|
55
|
+
* Nimbus surfaces the labels here so any tool that reads
|
|
56
|
+
* /api/_diag/memory has a fixed, well-known taxonomy to count against.
|
|
57
|
+
* The actual count of evictions Nimbus has observed lives in the C'.2
|
|
58
|
+
* recovery_event ring, separate from this module.
|
|
59
|
+
*/
|
|
60
|
+
import type { DiagCounters } from './diag-counters.js';
|
|
61
|
+
import { type SupervisorAllocationBudgetStats } from './heavy-alloc-coord.js';
|
|
62
|
+
/**
|
|
63
|
+
* Five labelled workerd eviction reasons. Surfaced as a constant
|
|
64
|
+
* taxonomy in /api/_diag/memory so any consumer can count observed
|
|
65
|
+
* events against the well-known set.
|
|
66
|
+
*
|
|
67
|
+
*/
|
|
68
|
+
export declare const WORKERD_EVICTION_LABELS: readonly ["lru", "condemned", "inactive", "dynamic_worker", "dynamic_worker_banned"];
|
|
69
|
+
/**
|
|
70
|
+
* A supervisor allocation site the estimator cannot see.
|
|
71
|
+
*
|
|
72
|
+
* Listing one here is a statement of fact about instrumentation, not a
|
|
73
|
+
* measurement: the site allocates on the supervisor heap without bumping a
|
|
74
|
+
* diag counter or taking an `acquireSupervisorAllocation` lease, so its
|
|
75
|
+
* live size is unknown to this module. Only `capBytes` — the bound the
|
|
76
|
+
* site enforces on itself — is knowable from here.
|
|
77
|
+
*/
|
|
78
|
+
export interface HeapBlindSpot {
|
|
79
|
+
/** Module-qualified allocation site. */
|
|
80
|
+
source: string;
|
|
81
|
+
/**
|
|
82
|
+
* Upper bound the site enforces per retained item, or null when nothing
|
|
83
|
+
* bounds its total bytes. A null here is the important case: it means no
|
|
84
|
+
* finite worst case can be stated for the supervisor at all.
|
|
85
|
+
*/
|
|
86
|
+
capBytes: number | null;
|
|
87
|
+
/** What allocates, and why the estimator cannot observe it. */
|
|
88
|
+
reason: string;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Supervisor allocation sites known to be unaccounted for.
|
|
92
|
+
*
|
|
93
|
+
* Empty: both former entries were the prefetch-bundle path in
|
|
94
|
+
* facets/manager.ts, and both are now instrumented at their own allocation
|
|
95
|
+
* sites rather than described from here. `buildPrefetchBundle` takes an
|
|
96
|
+
* `acquireSupervisorAllocation` lease and reports
|
|
97
|
+
* `breakdown.prefetchBundleBytes`; `prefetchBundleCache` is bounded by
|
|
98
|
+
* PREFETCH_CACHE_MAX_BYTES instead of by entry count and reports its live
|
|
99
|
+
* retained total as `breakdown.prefetchCacheBytes`.
|
|
100
|
+
*
|
|
101
|
+
* An empty list says nothing is CURRENTLY known to be missing — it is not a
|
|
102
|
+
* proof of completeness, which no list can be. Adding an entry is how a newly
|
|
103
|
+
* discovered gap stays visible in /api/_diag/memory until it is closed the
|
|
104
|
+
* same way: instrumented where it allocates, then folded into HeapBreakdown.
|
|
105
|
+
*/
|
|
106
|
+
export declare const HEAP_BLIND_SPOTS: readonly HeapBlindSpot[];
|
|
107
|
+
/**
|
|
108
|
+
* Supervisor heap snapshot. Components are PEAK-OR-CURRENT bytes from
|
|
109
|
+
* runtime counters; the estimator never calls process.memoryUsage().
|
|
110
|
+
*/
|
|
111
|
+
export interface HeapEstimate {
|
|
112
|
+
/**
|
|
113
|
+
* Sum of the instrumented components below. Always equals the breakdown
|
|
114
|
+
* sum, and is a LOWER BOUND on supervisor heap — see `blindSpots`.
|
|
115
|
+
*/
|
|
116
|
+
estimatedBytes: number;
|
|
117
|
+
/** SUPERVISOR_HEAP_CEILING_BYTES (constant — 64 MiB by design). */
|
|
118
|
+
ceilingBytes: number;
|
|
119
|
+
/**
|
|
120
|
+
* estimatedBytes / ceilingBytes × 100, one decimal place. Shares
|
|
121
|
+
* estimatedBytes' lower-bound caveat: a low value does NOT mean the
|
|
122
|
+
* supervisor has headroom, only that instrumented sources are small.
|
|
123
|
+
*/
|
|
124
|
+
percentOfCeiling: number;
|
|
125
|
+
/** Per-source byte attribution for the instrumented sources. */
|
|
126
|
+
breakdown: HeapBreakdown;
|
|
127
|
+
/**
|
|
128
|
+
* Allocation sites this estimate does not cover. Non-empty means
|
|
129
|
+
* `estimatedBytes` cannot be read as a total. See HEAP_BLIND_SPOTS.
|
|
130
|
+
*/
|
|
131
|
+
blindSpots: readonly HeapBlindSpot[];
|
|
132
|
+
/**
|
|
133
|
+
* Worst-case bytes the blind spots could add, or null when any of them
|
|
134
|
+
* is unbounded — in which case no finite worst case exists and only
|
|
135
|
+
* direct instrumentation can answer the headroom question.
|
|
136
|
+
*/
|
|
137
|
+
blindSpotCeilingBytes: number | null;
|
|
138
|
+
/**
|
|
139
|
+
* Shared transient-allocation budget occupancy. Named contributors overlap
|
|
140
|
+
* this total; any otherwise-unattributed occupancy is included in
|
|
141
|
+
* breakdown.unattributedReservationBytes.
|
|
142
|
+
*/
|
|
143
|
+
allocationBudget: SupervisorAllocationBudgetStats;
|
|
144
|
+
}
|
|
145
|
+
export interface HeapBreakdown {
|
|
146
|
+
/** Static module bundle + runtime baseline. Constant per build. */
|
|
147
|
+
supervisorBaselineBytes: number;
|
|
148
|
+
/** SqliteVFS LRU cache hot-byte count (sqlite-vfs.ts cache.hotBytes). */
|
|
149
|
+
vfsLruBytes: number;
|
|
150
|
+
/** SqliteVFS current logical retained write payload bytes. */
|
|
151
|
+
vfsInFlightBytes: number;
|
|
152
|
+
/** Pre-bundle slice bytes resident in supervisor heap (peak across
|
|
153
|
+
* in-flight pool slots × SLICE_CAP_BYTES). Drops to 0 once
|
|
154
|
+
* A'.2/A'.3 stream the slice through ReadableStream-over-RPC. */
|
|
155
|
+
preBundleSliceBytes: number;
|
|
156
|
+
/**
|
|
157
|
+
* In-flight supervisor RPC payload bytes (Phase 2 A'.2).
|
|
158
|
+
*
|
|
159
|
+
* Sum of bytes claimed by DO-side byte-returning filesystem RPC handlers
|
|
160
|
+
* between payload allocation and exit. Tracked by
|
|
161
|
+
* `inFlightRpcPayloadBytes` in src/observability/diag-counters.ts; bumped
|
|
162
|
+
* after shared-budget admission and debited in `finally`.
|
|
163
|
+
*
|
|
164
|
+
* At idle this is 0. Under load it should stay bounded by the
|
|
165
|
+
* shared allocation budget.
|
|
166
|
+
* Persistent non-zero readings here mean an RPC handler isn't
|
|
167
|
+
* decrementing on its failure path — a leak worth fixing.
|
|
168
|
+
*/
|
|
169
|
+
streamingBuffersBytes: number;
|
|
170
|
+
/**
|
|
171
|
+
* Bytes reserved by prefetch-bundle builds in flight (diag-counters
|
|
172
|
+
* `prefetchBundleBytes`). Transient: each build leases the enrichment budget
|
|
173
|
+
* for its duration and releases it on the way out, success or failure.
|
|
174
|
+
*/
|
|
175
|
+
prefetchBundleBytes: number;
|
|
176
|
+
/**
|
|
177
|
+
* Bytes retained by the FacetManager's prefetch-bundle LRU (diag-counters
|
|
178
|
+
* `prefetchCacheBytes`). Unlike every other component here these persist
|
|
179
|
+
* across execs, and unlike the transient ones they are a measurement of what
|
|
180
|
+
* the cache holds rather than a reservation it might use.
|
|
181
|
+
*/
|
|
182
|
+
prefetchCacheBytes: number;
|
|
183
|
+
/**
|
|
184
|
+
* Shared-budget occupancy not already represented by the named transient
|
|
185
|
+
* counters. This covers full-budget owners and keeps cross-DO module-local
|
|
186
|
+
* reservations visible without double-counting read/write payloads.
|
|
187
|
+
*/
|
|
188
|
+
unattributedReservationBytes: number;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Inputs the estimator needs from the SqliteVFS layer. Kept narrow
|
|
192
|
+
* (just the two fields we actually consume) to avoid a circular import
|
|
193
|
+
* between observability/ and the VFS module.
|
|
194
|
+
*/
|
|
195
|
+
export interface VfsHeapInputs {
|
|
196
|
+
/** SqliteVFS.getStats().cache.hotBytes — actual LRU memory in use. */
|
|
197
|
+
cacheHotBytes: number;
|
|
198
|
+
/** Current sum of in-flight write payloads (or 0 if none). */
|
|
199
|
+
inFlightWriteBytes: number;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Estimate pre-bundle slice bytes resident in the supervisor heap.
|
|
203
|
+
*
|
|
204
|
+
* Pre A'.2: the supervisor builds the slice in heap (up to
|
|
205
|
+
* SLICE_CAP_BYTES = 28 MiB per concurrent slot) before passing to the
|
|
206
|
+
* pre-bundle facet. With PRE_BUNDLE_CONCURRENCY = 1 the cap is 28 MiB.
|
|
207
|
+
*
|
|
208
|
+
* Diag counters track pre-bundle attempts/completions but not
|
|
209
|
+
* in-flight slice bytes specifically. Until A'.2 streams the slice,
|
|
210
|
+
* we treat the slice as PRESENT in supervisor heap iff the pre-bundle
|
|
211
|
+
* phase is active AND a slot is in flight (no completion yet for the
|
|
212
|
+
* current attempted count).
|
|
213
|
+
*
|
|
214
|
+
* After A'.2 lands the slice flows via ReadableStream-over-RPC and
|
|
215
|
+
* supervisor never holds the bytes — this contribution drops to 0.
|
|
216
|
+
*/
|
|
217
|
+
export declare function estimatePreBundleSliceBytes(c: DiagCounters): number;
|
|
218
|
+
/**
|
|
219
|
+
* Build a heap estimate from runtime counters + VFS inputs.
|
|
220
|
+
*
|
|
221
|
+
* Deterministic and I/O-free. Called from the /api/_diag/memory request
|
|
222
|
+
* handler; the allocation-budget snapshot is process-local state.
|
|
223
|
+
*/
|
|
224
|
+
export declare function estimateSupervisorHeap(c: DiagCounters, vfs: VfsHeapInputs): HeapEstimate;
|
|
225
|
+
//# sourceMappingURL=heap-estimate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heap-estimate.d.ts","sourceRoot":"","sources":["../../src/observability/heap-estimate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAEL,KAAK,+BAA+B,EACrC,MAAM,wBAAwB,CAAC;AAEhC;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,sFAM1B,CAAC;AAEX;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,aAAa,EAAO,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,mEAAmE;IACnE,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,SAAS,EAAE,aAAa,CAAC;IACzB;;;OAGG;IACH,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;IACrC;;;;OAIG;IACH,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC;;;;OAIG;IACH,gBAAgB,EAAE,+BAA+B,CAAC;CACnD;AAED,MAAM,WAAW,aAAa;IAC5B,mEAAmE;IACnE,uBAAuB,EAAE,MAAM,CAAC;IAChC,yEAAyE;IACzE,WAAW,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,gBAAgB,EAAE,MAAM,CAAC;IACzB;;sEAEkE;IAClE,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;;;;;;;;;;;OAYG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;;;;OAKG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,4BAA4B,EAAE,MAAM,CAAC;CACtC;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,sEAAsE;IACtE,aAAa,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAyBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAQnE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,CAAC,EAAE,YAAY,EACf,GAAG,EAAE,aAAa,GACjB,YAAY,CAkDd"}
|