@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,497 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* bash/types.ts — the shapes the facet-side bash scheduler operates on.
|
|
3
|
+
*
|
|
4
|
+
* Type-only, in the strict sense: this module must never emit a runtime value.
|
|
5
|
+
* `bash/preamble.ts` is bundled into a source string that is evaluated as a bare
|
|
6
|
+
* function body inside a facet, so an import that survived type erasure would
|
|
7
|
+
* become an unbound identifier there. Keeping this file free of values is what
|
|
8
|
+
* makes the import in preamble.ts safe.
|
|
9
|
+
*
|
|
10
|
+
* The boot/feed/slice shapes live here rather than in bash-runner.ts because
|
|
11
|
+
* they ARE the facet protocol: one side declares them, the other implements
|
|
12
|
+
* them, and before this file the two descriptions of the same payload sat in
|
|
13
|
+
* different files with only a zod schema between them.
|
|
14
|
+
*/
|
|
15
|
+
import type { Errno } from '../wasi/types.js';
|
|
16
|
+
import type { WasiFsSnapshot } from '../wasi-instance.js';
|
|
17
|
+
import type { WasiFsDiff } from '../vfs-snapshot.js';
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The errno set this scheduler answers with — the same one every Nimbus syscall
|
|
21
|
+
* layer answers with. This was `Errno | 63`, and the `| 63` was the whole
|
|
22
|
+
* problem: a second vocabulary starting as a magic literal welded onto the
|
|
23
|
+
* shared type at a use site, rather than the shared type being extended at its
|
|
24
|
+
* definition. EPERM now lives in `Errno`, where the next layer that needs it
|
|
25
|
+
* will find it. Kept as an alias so the two names cannot drift apart again.
|
|
26
|
+
*/
|
|
27
|
+
export type BashErrno = Errno;
|
|
28
|
+
|
|
29
|
+
// ── facet protocol ──────────────────────────────────────────────────────────
|
|
30
|
+
|
|
31
|
+
/** Boot a bash session in the facet. One per `createBashFacetSession`. */
|
|
32
|
+
export interface BashBootArgs {
|
|
33
|
+
op: 'boot';
|
|
34
|
+
argv: string[];
|
|
35
|
+
environ: string[];
|
|
36
|
+
cwd: string;
|
|
37
|
+
fsSnapshot: WasiFsSnapshot;
|
|
38
|
+
stdinData: string;
|
|
39
|
+
stdinClosed: boolean;
|
|
40
|
+
stdinTty: boolean;
|
|
41
|
+
/** Applet names the busybox multicall module answers to (busybox --list). */
|
|
42
|
+
busyboxApplets: string[];
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/** Deliver terminal stdin bytes to a parked session and pump again. */
|
|
46
|
+
export interface BashFeedArgs {
|
|
47
|
+
op: 'feed';
|
|
48
|
+
data: string;
|
|
49
|
+
eof: boolean;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/** One pump slice: what the facet hands back from boot and from every feed. */
|
|
53
|
+
export interface BashSlice {
|
|
54
|
+
state: 'need-input' | 'exited' | 'error';
|
|
55
|
+
exitCode: number;
|
|
56
|
+
stdout: string;
|
|
57
|
+
stderr: string;
|
|
58
|
+
error?: string;
|
|
59
|
+
fsDiff?: WasiFsDiff;
|
|
60
|
+
stats?: Record<string, unknown>;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* The part of a `WasiFsSnapshot` the scheduler actually reads. Everything else
|
|
65
|
+
* a snapshot carries — preopens, root, sizes, times, revision — is ignored
|
|
66
|
+
* here, and every field it does read is treated as optional.
|
|
67
|
+
*/
|
|
68
|
+
export interface BashFsSeed {
|
|
69
|
+
files?: Record<string, string>;
|
|
70
|
+
dirs?: string[];
|
|
71
|
+
modes?: Record<string, number>;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// ── file layer ──────────────────────────────────────────────────────────────
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* One in-memory inode's content. A box rather than a bare Uint8Array because
|
|
78
|
+
* `path_link` aliases two names onto the SAME box, which is what makes writes
|
|
79
|
+
* through either name visible through the other.
|
|
80
|
+
*/
|
|
81
|
+
export interface BashFileEntry {
|
|
82
|
+
bytes: Uint8Array;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/** The session's whole filesystem: the seeded snapshot plus everything the run changed. */
|
|
86
|
+
export interface BashFsState {
|
|
87
|
+
files: Map<string, BashFileEntry>;
|
|
88
|
+
dirs: Set<string>;
|
|
89
|
+
/** vfsPath → effective rwx bits for the invoking credential (the S2a projection). */
|
|
90
|
+
modes: Map<string, number>;
|
|
91
|
+
written: Set<string>;
|
|
92
|
+
deleted: Set<string>;
|
|
93
|
+
dirsCreated: Set<string>;
|
|
94
|
+
dirsDeleted: Set<string>;
|
|
95
|
+
/** vfsPath → full permission bits requested by an in-facet chmod. */
|
|
96
|
+
modesChanged: Map<string, number>;
|
|
97
|
+
/** vfsPath → mtime in nanoseconds. */
|
|
98
|
+
times: Map<string, bigint>;
|
|
99
|
+
/** mtime reported for an inode the session never touched. */
|
|
100
|
+
sessionNs: bigint;
|
|
101
|
+
symlinks: Map<string, string>;
|
|
102
|
+
symlinksCreated: Map<string, string>;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/** Resolution outcome: the rewritten path, or ELOOP. */
|
|
106
|
+
export interface BashPathResolution {
|
|
107
|
+
path: string;
|
|
108
|
+
errno: BashErrno;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// ── descriptors, pipes and stdin ────────────────────────────────────────────
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* A file descriptor, discriminated on `kind`. The union is what makes
|
|
115
|
+
* "seeked an fd that was not a file" unrepresentable: reaching `pos` requires
|
|
116
|
+
* having narrowed to a kind that has one.
|
|
117
|
+
*/
|
|
118
|
+
export type BashFdEntry =
|
|
119
|
+
| { kind: 'stdin' | 'stdout' | 'stderr' }
|
|
120
|
+
| { kind: 'preopen' }
|
|
121
|
+
| { kind: 'tty' | 'null' }
|
|
122
|
+
| { kind: 'file'; path: string; pos: number; append: boolean }
|
|
123
|
+
| { kind: 'dir'; path: string }
|
|
124
|
+
| { kind: 'pipe'; pipeId: number; end: 'r' | 'w' };
|
|
125
|
+
|
|
126
|
+
/** A byte source that hands out at most what it holds: a pipe or the session stdin. */
|
|
127
|
+
export interface BashByteQueue {
|
|
128
|
+
chunks: Uint8Array[];
|
|
129
|
+
queued: number;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/** A process parked on a read, waiting for its source to produce bytes or EOF. */
|
|
133
|
+
export interface BashReadWaiter {
|
|
134
|
+
proc: BashProc;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
export interface BashPipe extends BashByteQueue {
|
|
138
|
+
readers: number;
|
|
139
|
+
writers: number;
|
|
140
|
+
/** Processes parked reading this pipe. */
|
|
141
|
+
readW: BashReadWaiter[];
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
export interface BashStdin extends BashByteQueue {
|
|
145
|
+
closed: boolean;
|
|
146
|
+
waiters: BashReadWaiter[];
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/** Where a parked reader queues, and how to hand it the bytes once they land. */
|
|
150
|
+
export interface BashBlockTarget {
|
|
151
|
+
list: BashReadWaiter[];
|
|
152
|
+
wake(): void;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/** A scatter/gather buffer list, already stripped of zero-length entries. */
|
|
156
|
+
export interface BashIovs {
|
|
157
|
+
list: Array<{ ptr: number; len: number }>;
|
|
158
|
+
total: number;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// ── polling ─────────────────────────────────────────────────────────────────
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* One poll_oneoff subscription, decoded.
|
|
165
|
+
*
|
|
166
|
+
* Flat rather than a union on `tag` because the tag arrives as a byte from
|
|
167
|
+
* guest memory: nothing in the type system knows that tag 0 implies `id` and a
|
|
168
|
+
* non-zero tag implies `fd`, and pretending otherwise would only move the
|
|
169
|
+
* assertion around.
|
|
170
|
+
*/
|
|
171
|
+
export interface BashPollSub {
|
|
172
|
+
/** 0 = CLOCK, 1 = FD_READ, 2 = FD_WRITE. */
|
|
173
|
+
tag: number;
|
|
174
|
+
userdata: bigint;
|
|
175
|
+
/** CLOCK subscriptions: the clock id. */
|
|
176
|
+
id?: number;
|
|
177
|
+
/** CLOCK subscription naming a clock id this facet has no source for. */
|
|
178
|
+
bad?: boolean;
|
|
179
|
+
/** CLOCK subscriptions that are not `bad`: the absolute deadline in ns. */
|
|
180
|
+
deadline?: bigint;
|
|
181
|
+
/** FD_READ / FD_WRITE subscriptions: the descriptor. */
|
|
182
|
+
fd?: number;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
/** Whether an FD_READ subscription can be answered now, and with how much. */
|
|
186
|
+
export interface BashFdReadiness {
|
|
187
|
+
ready: boolean;
|
|
188
|
+
avail: number;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
// ── processes ───────────────────────────────────────────────────────────────
|
|
192
|
+
|
|
193
|
+
/** Why an instance asyncify-unwound; the scheduler dispatches on it. */
|
|
194
|
+
export type BashUnwindReason = 'capture' | 'longjmp' | 'fork' | 'waitpid' | 'blockread' | 'exec';
|
|
195
|
+
|
|
196
|
+
/** The read a process parked on, recorded so the scheduler can re-issue it. */
|
|
197
|
+
export interface BashPipeReq {
|
|
198
|
+
fd: number;
|
|
199
|
+
iov: BashIovs;
|
|
200
|
+
nreadPtr: number;
|
|
201
|
+
/**
|
|
202
|
+
* Only a poll park carries one. There is no companion `isPoll` flag: asyncify
|
|
203
|
+
* rewind re-enters the SAME import call the guest unwound from, so a park
|
|
204
|
+
* begun in poll_oneoff can only resume in poll_oneoff. A flag recording which
|
|
205
|
+
* one it was would be state that mirrors the call site and is never read —
|
|
206
|
+
* and it was exactly that, in three places, until it was removed.
|
|
207
|
+
*/
|
|
208
|
+
pollUserdata?: bigint;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/** Bytes waiting to be delivered into a rewinding process's read. */
|
|
212
|
+
export interface BashPendingRead {
|
|
213
|
+
iov: BashIovs;
|
|
214
|
+
bytes: Uint8Array;
|
|
215
|
+
nreadPtr: number;
|
|
216
|
+
pollUserdata?: bigint;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* The unwind/rewind register file. Every field past `resume` belongs to exactly
|
|
221
|
+
* one `reason` and is meaningless under the others — an invariant the scheduler
|
|
222
|
+
* relies on and this shape cannot express, which is why the ctx is built with
|
|
223
|
+
* an assertion rather than a literal.
|
|
224
|
+
*/
|
|
225
|
+
export interface BashProcCtx {
|
|
226
|
+
reason: BashUnwindReason | null;
|
|
227
|
+
rewinding: boolean;
|
|
228
|
+
captureEnv: number;
|
|
229
|
+
ljEnv: number;
|
|
230
|
+
ljVal: number;
|
|
231
|
+
nextSlot: number;
|
|
232
|
+
resume: number;
|
|
233
|
+
/** 'waitpid': the wait status handed back on the rewind. */
|
|
234
|
+
resumeStatus: number;
|
|
235
|
+
/** 'waitpid': the pid argument, <= 0 meaning "any child". */
|
|
236
|
+
waitTarget: number;
|
|
237
|
+
waitStatusPtr: number | null;
|
|
238
|
+
/** 'blockread': the read to re-issue once the source produces. */
|
|
239
|
+
pipeReq: BashPipeReq;
|
|
240
|
+
/** 'exec': the execve arguments. */
|
|
241
|
+
execPath: string;
|
|
242
|
+
execArgv: string[];
|
|
243
|
+
execEnv: string[];
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
/** The wasm exports this scheduler drives. Asyncify supplies the unwind pair. */
|
|
247
|
+
export interface BashWasmExports {
|
|
248
|
+
memory: WebAssembly.Memory;
|
|
249
|
+
_start(): void;
|
|
250
|
+
asyncify_start_unwind(buf: number): void;
|
|
251
|
+
asyncify_stop_unwind(): void;
|
|
252
|
+
asyncify_start_rewind(buf: number): void;
|
|
253
|
+
asyncify_stop_rewind(): void;
|
|
254
|
+
[name: string]: WebAssembly.ExportValue;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
export interface BashInstance {
|
|
258
|
+
readonly exports: BashWasmExports;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
/** One process in the tree: an instance, its fd table, and its unwind state. */
|
|
262
|
+
export interface BashProc {
|
|
263
|
+
pid: number;
|
|
264
|
+
ppid: number;
|
|
265
|
+
fds: Map<number, BashFdEntry>;
|
|
266
|
+
inst: BashInstance;
|
|
267
|
+
/** The owning session, so a resumed process can find its run queue. */
|
|
268
|
+
__s: BashSession;
|
|
269
|
+
ctx: BashProcCtx;
|
|
270
|
+
/** Base of the asyncify stack-capture arena. */
|
|
271
|
+
MAIN_BUF: number;
|
|
272
|
+
/** Base of the setjmp slot array, immediately after MAIN_BUF. */
|
|
273
|
+
SLOT0: number;
|
|
274
|
+
pendingRead: BashPendingRead | null;
|
|
275
|
+
/** jmp_buf address → the slot index its most recent setjmp captured into. */
|
|
276
|
+
slotByEnv: Map<number, number>;
|
|
277
|
+
freeSlots: number[];
|
|
278
|
+
DV(): DataView;
|
|
279
|
+
U8(): Uint8Array;
|
|
280
|
+
slotAddr(i: number): number;
|
|
281
|
+
initHdr(a: number, sz: number): void;
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
/** A process parked in waitpid. */
|
|
285
|
+
export interface BashWaitEntry {
|
|
286
|
+
proc: BashProc;
|
|
287
|
+
targetPid: number;
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
/** An exited child's status, and whose child it was. */
|
|
291
|
+
export interface BashExitStatus {
|
|
292
|
+
status: number;
|
|
293
|
+
ppid: number;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
export interface BashStats {
|
|
297
|
+
instances: number;
|
|
298
|
+
memPeak: number;
|
|
299
|
+
mainHi: number;
|
|
300
|
+
slotHi: number;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
/** Everything one bash session owns. Persists across feeds on a warm isolate. */
|
|
304
|
+
export interface BashSession {
|
|
305
|
+
mod: WebAssembly.Module;
|
|
306
|
+
/** Command name → the wasm module that answers to it, busybox applets included. */
|
|
307
|
+
coreutils: Map<string, WebAssembly.Module>;
|
|
308
|
+
fs: BashFsState;
|
|
309
|
+
cwd: string;
|
|
310
|
+
argv: string[];
|
|
311
|
+
environ: string[];
|
|
312
|
+
stdinTty: boolean;
|
|
313
|
+
stdin: BashStdin;
|
|
314
|
+
procs: Map<number, BashProc>;
|
|
315
|
+
pipes: Map<number, BashPipe>;
|
|
316
|
+
runnable: BashProc[];
|
|
317
|
+
/**
|
|
318
|
+
* Reaped-but-unclaimed exit statuses, pid → status and parent.
|
|
319
|
+
*
|
|
320
|
+
* The parent is part of the record because `wait` with no argument must reap
|
|
321
|
+
* one of the CALLER's children. Keyed by status alone, the only thing a
|
|
322
|
+
* waiter could do was take the first entry in the map — which is another
|
|
323
|
+
* process's child whenever two subshells have both had one exit.
|
|
324
|
+
*/
|
|
325
|
+
exitStatus: Map<number, BashExitStatus>;
|
|
326
|
+
waiters: BashWaitEntry[];
|
|
327
|
+
pidNext: number;
|
|
328
|
+
pipeNext: number;
|
|
329
|
+
rootPid: number;
|
|
330
|
+
rootExit: number | null;
|
|
331
|
+
steps: number;
|
|
332
|
+
out: string;
|
|
333
|
+
err: string;
|
|
334
|
+
/** preview1 names a guest asked for and this scheduler answered ENOSYS. */
|
|
335
|
+
missingWasi: Set<string>;
|
|
336
|
+
stats: BashStats;
|
|
337
|
+
error: string | null;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
// ── syscall plumbing ────────────────────────────────────────────────────────
|
|
341
|
+
|
|
342
|
+
/**
|
|
343
|
+
* The blocking discipline, abstracted. A bash instance asyncify-parks; an
|
|
344
|
+
* exec'd plain-WASI tool cannot, so it pumps the scheduler synchronously
|
|
345
|
+
* instead. Everything else about the two paths is shared.
|
|
346
|
+
*/
|
|
347
|
+
export type BashIo = {
|
|
348
|
+
read(fd: number, iov: BashIovs, nread: number): BashErrno;
|
|
349
|
+
/**
|
|
350
|
+
* Byte count, or null when the descriptor cannot be written to — currently
|
|
351
|
+
* only the read end of a pipe. It used to be "a write here cannot fail",
|
|
352
|
+
* which is how writing to a read end came to succeed silently.
|
|
353
|
+
*/
|
|
354
|
+
write(fd: number, bytes: Uint8Array): number | null;
|
|
355
|
+
poll(inPtr: number, outPtr: number, nsubs: number, retPtr: number): BashErrno;
|
|
356
|
+
};
|
|
357
|
+
|
|
358
|
+
/**
|
|
359
|
+
* The preview1 surface shared by bash instances and exec'd tools.
|
|
360
|
+
*
|
|
361
|
+
* Every name here is a name a guest can import, and the parameter lists follow
|
|
362
|
+
* the preview1 spec — so a syscall whose signature drifts from the ABI is a
|
|
363
|
+
* compile error rather than a wrong answer the guest cannot diagnose. i64
|
|
364
|
+
* arguments arrive as BigInt, though V8 has historically routed some as
|
|
365
|
+
* numbers, so those accept both and the bodies normalise.
|
|
366
|
+
*/
|
|
367
|
+
export type BashWasiFsImports = {
|
|
368
|
+
fd_prestat_get(fd: number, buf: number): BashErrno;
|
|
369
|
+
fd_prestat_dir_name(fd: number, path: number, plen: number): BashErrno;
|
|
370
|
+
path_open(
|
|
371
|
+
dirfd: number, dirflags: number, pathPtr: number, pathLen: number, oflags: number,
|
|
372
|
+
rightsBase: bigint | number, rightsInheriting: bigint | number, fdflags: number, retPtr: number,
|
|
373
|
+
): BashErrno;
|
|
374
|
+
fd_filestat_get(fd: number, buf: number): BashErrno;
|
|
375
|
+
path_filestat_get(
|
|
376
|
+
dirfd: number, flags: number, pathPtr: number, pathLen: number, buf: number,
|
|
377
|
+
): BashErrno;
|
|
378
|
+
path_filestat_set_times(
|
|
379
|
+
dirfd: number, flags: number, pathPtr: number, pathLen: number,
|
|
380
|
+
atim: bigint | number, mtim: bigint | number, fstflags: number,
|
|
381
|
+
): BashErrno;
|
|
382
|
+
path_unlink_file(dirfd: number, pathPtr: number, pathLen: number): BashErrno;
|
|
383
|
+
path_rename(
|
|
384
|
+
fd1: number, oldPtr: number, oldLen: number, fd2: number, newPtr: number, newLen: number,
|
|
385
|
+
): BashErrno;
|
|
386
|
+
path_create_directory(dirfd: number, pathPtr: number, pathLen: number): BashErrno;
|
|
387
|
+
path_readlink(
|
|
388
|
+
dirfd: number, pathPtr: number, pathLen: number,
|
|
389
|
+
bufPtr: number, bufLen: number, bufUsedPtr: number,
|
|
390
|
+
): BashErrno;
|
|
391
|
+
path_symlink(
|
|
392
|
+
oldPtr: number, oldLen: number, newFd: number, newPtr: number, newLen: number,
|
|
393
|
+
): BashErrno;
|
|
394
|
+
path_link(
|
|
395
|
+
fd1: number, lookupFlags: number, oldPtr: number, oldLen: number,
|
|
396
|
+
fd2: number, newPtr: number, newLen: number,
|
|
397
|
+
): BashErrno;
|
|
398
|
+
path_remove_directory(dirfd: number, pathPtr: number, pathLen: number): BashErrno;
|
|
399
|
+
fd_renumber(from: number, to: number): BashErrno;
|
|
400
|
+
fd_readdir(fd: number, buf: number, bufLen: number, cookie: bigint | number, retPtr: number): BashErrno;
|
|
401
|
+
fd_seek(fd: number, offset: bigint | number, whence: number, retPtr: number): BashErrno;
|
|
402
|
+
fd_tell(fd: number, retPtr: number): BashErrno;
|
|
403
|
+
fd_close(fd: number): BashErrno;
|
|
404
|
+
fd_fdstat_get(fd: number, st: number): BashErrno;
|
|
405
|
+
fd_fdstat_set_flags(fd: number, flags: number): BashErrno;
|
|
406
|
+
fd_read(fd: number, iovs: number, n: number, nread: number): BashErrno;
|
|
407
|
+
fd_write(fd: number, iovs: number, n: number, nw: number): BashErrno;
|
|
408
|
+
poll_oneoff(inPtr: number, outPtr: number, nsubs: number, retPtr: number): BashErrno;
|
|
409
|
+
clock_time_get(id: number, precision: bigint | number, t: number): BashErrno;
|
|
410
|
+
clock_res_get(id: number, r: number): BashErrno;
|
|
411
|
+
random_get(b: number, l: number): BashErrno;
|
|
412
|
+
proc_exit(code: number): never;
|
|
413
|
+
// Answered without a filesystem: genuinely no-ops on an in-memory FS, or ENOSYS.
|
|
414
|
+
fd_sync(): BashErrno;
|
|
415
|
+
fd_datasync(): BashErrno;
|
|
416
|
+
fd_advise(): BashErrno;
|
|
417
|
+
sched_yield(): BashErrno;
|
|
418
|
+
fd_pread(fd: number, iovs: number, n: number, offset: bigint | number, nread: number): BashErrno;
|
|
419
|
+
fd_pwrite(fd: number, iovs: number, n: number, offset: bigint | number, nw: number): BashErrno;
|
|
420
|
+
fd_allocate(fd: number, offset: bigint | number, len: bigint | number): BashErrno;
|
|
421
|
+
fd_filestat_set_size(fd: number, size: bigint | number): BashErrno;
|
|
422
|
+
fd_filestat_set_times(
|
|
423
|
+
fd: number, atim: bigint | number, mtim: bigint | number, fstflags: number,
|
|
424
|
+
): BashErrno;
|
|
425
|
+
fd_fdstat_set_rights(
|
|
426
|
+
fd: number, rightsBase: bigint | number, rightsInheriting: bigint | number,
|
|
427
|
+
): BashErrno;
|
|
428
|
+
proc_raise(sig: number): BashErrno;
|
|
429
|
+
sock_send(fd: number, siDataPtr: number, siDataLen: number, siFlags: number, soDatalenPtr: number): BashErrno;
|
|
430
|
+
sock_recv(
|
|
431
|
+
fd: number, riDataPtr: number, riDataLen: number, riFlags: number,
|
|
432
|
+
roDatalenPtr: number, roFlagsPtr: number,
|
|
433
|
+
): BashErrno;
|
|
434
|
+
sock_shutdown(fd: number, how: number): BashErrno;
|
|
435
|
+
};
|
|
436
|
+
|
|
437
|
+
/**
|
|
438
|
+
* The syscalls answered without touching the file layer. Derived from the table
|
|
439
|
+
* rather than restated, so a signature can only be written down once.
|
|
440
|
+
*/
|
|
441
|
+
export type BashUnsupportedImports = Pick<
|
|
442
|
+
BashWasiFsImports,
|
|
443
|
+
'fd_sync' | 'fd_datasync' | 'fd_advise' | 'sched_yield'
|
|
444
|
+
| 'fd_pread' | 'fd_pwrite' | 'fd_allocate'
|
|
445
|
+
| 'fd_filestat_set_size' | 'fd_filestat_set_times' | 'fd_fdstat_set_rights'
|
|
446
|
+
| 'proc_raise' | 'sock_send' | 'sock_recv' | 'sock_shutdown'
|
|
447
|
+
>;
|
|
448
|
+
|
|
449
|
+
/** The full preview1 table a guest is instantiated with: the FS surface plus argv/environ. */
|
|
450
|
+
export type BashWasiImports = BashWasiFsImports & {
|
|
451
|
+
args_sizes_get(argcPtr: number, sizePtr: number): BashErrno;
|
|
452
|
+
args_get(argvPtr: number, argvBufPtr: number): BashErrno;
|
|
453
|
+
environ_sizes_get(envcPtr: number, sizePtr: number): BashErrno;
|
|
454
|
+
environ_get(environPtr: number, envBufPtr: number): BashErrno;
|
|
455
|
+
};
|
|
456
|
+
|
|
457
|
+
/**
|
|
458
|
+
* The `nimbus_proc` imports bash is built against — the process primitives
|
|
459
|
+
* preview1 has no answer for. Every one of them either asyncify-unwinds or
|
|
460
|
+
* answers from the scheduler's own tables.
|
|
461
|
+
*/
|
|
462
|
+
export type BashProcImports = {
|
|
463
|
+
setjmp(env: number): void;
|
|
464
|
+
longjmp(env: number, val: number): void;
|
|
465
|
+
fork(): number;
|
|
466
|
+
vfork(): number;
|
|
467
|
+
waitpid(pid: number, statusPtr: number, opt: number): number;
|
|
468
|
+
execve(
|
|
469
|
+
pathPtr: number, argvFlatPtr: number, argvLen: number, envFlatPtr: number, envLen: number,
|
|
470
|
+
): number;
|
|
471
|
+
pipe(fdsPtr: number): number;
|
|
472
|
+
dup(o: number): number;
|
|
473
|
+
dup2(o: number, n: number): number;
|
|
474
|
+
kill(): number;
|
|
475
|
+
setpgid(): number;
|
|
476
|
+
getpgid(): number;
|
|
477
|
+
getppid(): number;
|
|
478
|
+
tcsetpgrp(): number;
|
|
479
|
+
tcgetpgrp(): number;
|
|
480
|
+
tcgetattr(): number;
|
|
481
|
+
tcsetattr(): number;
|
|
482
|
+
};
|
|
483
|
+
|
|
484
|
+
/**
|
|
485
|
+
* The facet globals this scheduler reads and installs.
|
|
486
|
+
*
|
|
487
|
+
* `bash-runner.ts` reaches the entry points through `globalThis` because a
|
|
488
|
+
* serialized facet body is authored in the supervisor bundle, where a direct
|
|
489
|
+
* reference to a preamble-only symbol would not typecheck. Declaring them makes
|
|
490
|
+
* that convention checked rather than merely documented.
|
|
491
|
+
*/
|
|
492
|
+
declare global {
|
|
493
|
+
/** Wasm modules the loader compiled and exposed to the facet, keyed by file name. */
|
|
494
|
+
var __NIMBUS_WASM: Record<string, WebAssembly.Module> | undefined;
|
|
495
|
+
var __bashBoot: (args: BashBootArgs) => BashSlice;
|
|
496
|
+
var __bashFeed: (args: BashFeedArgs) => BashSlice;
|
|
497
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { z } from 'zod/v4';
|
|
2
|
+
|
|
3
|
+
export const FacetBundleProfileSchema = z.enum(['runtime', 'scaffold']);
|
|
4
|
+
export type FacetBundleProfile = z.infer<typeof FacetBundleProfileSchema>;
|
|
5
|
+
|
|
6
|
+
export const DEFAULT_FACET_BUNDLE_PROFILE: FacetBundleProfile = 'runtime';
|
|
7
|
+
|
|
8
|
+
export function parseFacetBundleProfile(value: unknown): FacetBundleProfile | undefined {
|
|
9
|
+
const parsed = FacetBundleProfileSchema.safeParse(value);
|
|
10
|
+
return parsed.success ? parsed.data : undefined;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface NpmBinBundleTarget {
|
|
14
|
+
name: string;
|
|
15
|
+
packageName: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export function bundleProfileForNpmBin(target: NpmBinBundleTarget): FacetBundleProfile {
|
|
19
|
+
return isInitializerName(target.name) || isInitializerName(packageNameTail(target.packageName))
|
|
20
|
+
? 'scaffold'
|
|
21
|
+
: DEFAULT_FACET_BUNDLE_PROFILE;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function isInitializerName(name: string): boolean {
|
|
25
|
+
const normalized = name.trim().toLowerCase();
|
|
26
|
+
return normalized === 'create' || normalized.startsWith('create-');
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function packageNameTail(packageName: string): string {
|
|
30
|
+
const slash = packageName.lastIndexOf('/');
|
|
31
|
+
return slash >= 0 ? packageName.slice(slash + 1) : packageName;
|
|
32
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { rewriteJavaScriptModuleSource } from './module-source-rewriter.js';
|
|
2
|
+
|
|
3
|
+
export function rewriteCirrusViteConfigBundle(source: string): string {
|
|
4
|
+
return rewriteJavaScriptModuleSource(source, {
|
|
5
|
+
staticSpecifier: cirrusStaticSpecifier,
|
|
6
|
+
dynamicImport: cirrusDynamicImport,
|
|
7
|
+
createRequireCallee: '(globalThis.__cirrusNodeCreateRequire || createRequire)',
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
function cirrusStaticSpecifier(specifier: string): string | undefined {
|
|
12
|
+
if (specifier === 'vite' || specifier.startsWith('vite/')) return './vite-config-helper.js';
|
|
13
|
+
if (specifier === '@vitejs/plugin-react' || specifier.startsWith('@vitejs/plugin-react/')) {
|
|
14
|
+
return './cirrus-plugin-react.js';
|
|
15
|
+
}
|
|
16
|
+
if (specifier === 'node:fs') return './cirrus-fs.js';
|
|
17
|
+
if (specifier === 'node:fs/promises') return './cirrus-fs-promises.js';
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function cirrusDynamicImport(specifier: string): string {
|
|
22
|
+
const literal = JSON.stringify(specifier);
|
|
23
|
+
return `Promise.resolve().then(() => {` +
|
|
24
|
+
` const m = globalThis.__cirrusRealUserspaceRequire?.(${literal});` +
|
|
25
|
+
` if (!m) throw new Error('[cirrus-real] dynamic import failed for ' + ${literal});` +
|
|
26
|
+
` return { default: m.default ?? m, ...(typeof m === 'object' ? m : {}) };` +
|
|
27
|
+
` })`;
|
|
28
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export function hasLeadingCliFlag(
|
|
2
|
+
argv: readonly string[],
|
|
3
|
+
flags: ReadonlySet<string>,
|
|
4
|
+
): boolean {
|
|
5
|
+
for (const arg of argv) {
|
|
6
|
+
if (flags.has(arg)) return true;
|
|
7
|
+
if (arg === '--' || arg === '-c' || arg === '-m' || arg === '-') return false;
|
|
8
|
+
if (!arg.startsWith('-')) return false;
|
|
9
|
+
}
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal byte-aligned comment stripper for prefetch's import detection.
|
|
3
|
+
*
|
|
4
|
+
* Scope: strip `//` line comments and `/* … *\/` block comments by
|
|
5
|
+
* replacing each comment with a single space. Newlines INSIDE the
|
|
6
|
+
* comment are preserved so that line numbers stay aligned with the
|
|
7
|
+
* input (matches the strip-and-classify pattern used by
|
|
8
|
+
* `esbuild-service.ts:stripCommentsAndStrings` for the transform
|
|
9
|
+
* pipeline).
|
|
10
|
+
*
|
|
11
|
+
* Why a separate, smaller scanner: prefetch's IMPORT_RE / REQUIRE_RE
|
|
12
|
+
* in `require-resolver.ts:41,87` are detection-only — they extract
|
|
13
|
+
* specifier strings, not shapes. The full string-and-template-literal
|
|
14
|
+
* stripper in `esbuild-service.ts` is overkill for that, and crossing
|
|
15
|
+
* the anti-touch boundary on `esbuild-service.ts` to extend a single
|
|
16
|
+
* shared helper isn't worth it right now.
|
|
17
|
+
*
|
|
18
|
+
* Empirical justification (esbuild-ast-rewrite wave, P2 measurement):
|
|
19
|
+
* - Per-file AST-based extraction: ~5 ms warm avg
|
|
20
|
+
* - 100-file session bootstrap with AST: ~553 ms (over the 500 ms gate)
|
|
21
|
+
* - Regex with this stripper: ~0.1 ms per file
|
|
22
|
+
* - Correctness gap closed: chalk `import { // eslint-disable\n a,\n b\n} from './utilities.js'` now matches
|
|
23
|
+
*
|
|
24
|
+
* String-literal handling is intentionally OUT of scope. A literal
|
|
25
|
+
* `import x from 'y'` inside a JavaScript string would still produce
|
|
26
|
+
* a false-positive prefetch attempt. The resolver no-ops on misses,
|
|
27
|
+
* so it's a minor wasted-work cost — see IMPORT_RE header comment in
|
|
28
|
+
* `require-resolver.ts:84-86`.
|
|
29
|
+
*
|
|
30
|
+
* TODO(CLN-X): when the `src/runtime/esbuild-service.ts` anti-touch
|
|
31
|
+
* window opens, unify with the canonical
|
|
32
|
+
* `stripCommentsAndStrings(src)` helper there. Both implement the
|
|
33
|
+
* same logical pass over comments; only the string/regex-literal
|
|
34
|
+
* handling differs.
|
|
35
|
+
*/
|
|
36
|
+
export function stripCommentsForImports(src: string): string {
|
|
37
|
+
let out = '';
|
|
38
|
+
let i = 0;
|
|
39
|
+
const N = src.length;
|
|
40
|
+
while (i < N) {
|
|
41
|
+
const c = src[i];
|
|
42
|
+
// Line comment: `//` to end-of-line.
|
|
43
|
+
if (c === '/' && src[i + 1] === '/') {
|
|
44
|
+
out += ' ';
|
|
45
|
+
i += 2;
|
|
46
|
+
while (i < N && src[i] !== '\n') i++;
|
|
47
|
+
// Newline preserved by falling through; do NOT consume it.
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
// Block comment: `/*` to `*/`.
|
|
51
|
+
if (c === '/' && src[i + 1] === '*') {
|
|
52
|
+
i += 2;
|
|
53
|
+
while (i < N) {
|
|
54
|
+
if (src[i] === '\n') {
|
|
55
|
+
// Preserve newlines so line numbers stay aligned.
|
|
56
|
+
out += '\n';
|
|
57
|
+
i++;
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
if (src[i] === '*' && src[i + 1] === '/') {
|
|
61
|
+
i += 2;
|
|
62
|
+
out += ' ';
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
i++;
|
|
66
|
+
}
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
out += c;
|
|
70
|
+
i++;
|
|
71
|
+
}
|
|
72
|
+
return out;
|
|
73
|
+
}
|