@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,17 @@
|
|
|
1
|
+
export interface SealedJsonOptions {
|
|
2
|
+
purpose?: string;
|
|
3
|
+
minSecretLength?: number;
|
|
4
|
+
}
|
|
5
|
+
export declare function randomBase64Url(byteLength: number): string;
|
|
6
|
+
export declare function sha256Base64Url(input: string): Promise<string>;
|
|
7
|
+
export declare function pkceChallenge(verifier: string): Promise<string>;
|
|
8
|
+
/** Lowercase hex SHA-256 — the digest form the staged-artifact integrity checks pin. */
|
|
9
|
+
export declare function sha256Hex(input: BufferSource | string): Promise<string>;
|
|
10
|
+
export declare function sealJson(value: unknown, secret: string, options?: SealedJsonOptions): Promise<string>;
|
|
11
|
+
export declare function unsealJson<T>(value: string, secret: string, options?: SealedJsonOptions): Promise<T | null>;
|
|
12
|
+
export declare function encodeJsonBase64Url(value: unknown): string;
|
|
13
|
+
export declare function decodeJsonBase64Url<T>(value: string): T;
|
|
14
|
+
export declare function base64Url(bytes: Uint8Array): string;
|
|
15
|
+
export declare function base64UrlDecode(value: string): Uint8Array;
|
|
16
|
+
export declare function base64Utf8(value: string): string;
|
|
17
|
+
//# sourceMappingURL=crypto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/_shared/crypto.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAI1D;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGpE;AAED,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAErE;AAED,wFAAwF;AACxF,wBAAsB,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAS7E;AAED,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,MAAM,CAAC,CAejB;AAED,wBAAsB,UAAU,CAAC,CAAC,EAChC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CA6BnB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE1D;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAEvD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAUnD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CASzD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQhD"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
const textEncoder = new TextEncoder();
|
|
2
|
+
const textDecoder = new TextDecoder();
|
|
3
|
+
const SEALED_JSON_V2 = 'v2.';
|
|
4
|
+
const SEALED_JSON_V1 = 'v1.';
|
|
5
|
+
const HKDF_SALT = textEncoder.encode('nimbus-sh sealed-json v2');
|
|
6
|
+
const BASE64URL_RE = /^[A-Za-z0-9_-]*$/;
|
|
7
|
+
export function randomBase64Url(byteLength) {
|
|
8
|
+
const bytes = new Uint8Array(byteLength);
|
|
9
|
+
crypto.getRandomValues(bytes);
|
|
10
|
+
return base64Url(bytes);
|
|
11
|
+
}
|
|
12
|
+
export async function sha256Base64Url(input) {
|
|
13
|
+
const digest = await crypto.subtle.digest('SHA-256', textEncoder.encode(input));
|
|
14
|
+
return base64Url(new Uint8Array(digest));
|
|
15
|
+
}
|
|
16
|
+
export async function pkceChallenge(verifier) {
|
|
17
|
+
return sha256Base64Url(verifier);
|
|
18
|
+
}
|
|
19
|
+
/** Lowercase hex SHA-256 — the digest form the staged-artifact integrity checks pin. */
|
|
20
|
+
export async function sha256Hex(input) {
|
|
21
|
+
const digest = await crypto.subtle.digest('SHA-256', typeof input === 'string' ? textEncoder.encode(input) : input);
|
|
22
|
+
const view = new Uint8Array(digest);
|
|
23
|
+
let hex = '';
|
|
24
|
+
for (let i = 0; i < view.length; i++)
|
|
25
|
+
hex += view[i].toString(16).padStart(2, '0');
|
|
26
|
+
return hex;
|
|
27
|
+
}
|
|
28
|
+
export async function sealJson(value, secret, options = {}) {
|
|
29
|
+
const purpose = normalizePurpose(options.purpose);
|
|
30
|
+
const key = await hkdfAesGcmKey(secret, purpose, options.minSecretLength);
|
|
31
|
+
const iv = new Uint8Array(12);
|
|
32
|
+
crypto.getRandomValues(iv);
|
|
33
|
+
const plaintext = textEncoder.encode(JSON.stringify(value));
|
|
34
|
+
const ciphertext = new Uint8Array(await crypto.subtle.encrypt({ name: 'AES-GCM', iv, additionalData: aad(purpose) }, key, plaintext));
|
|
35
|
+
const packed = new Uint8Array(iv.length + ciphertext.length);
|
|
36
|
+
packed.set(iv, 0);
|
|
37
|
+
packed.set(ciphertext, iv.length);
|
|
38
|
+
return SEALED_JSON_V2 + base64Url(packed);
|
|
39
|
+
}
|
|
40
|
+
export async function unsealJson(value, secret, options = {}) {
|
|
41
|
+
if (value.startsWith(SEALED_JSON_V2)) {
|
|
42
|
+
const purpose = normalizePurpose(options.purpose);
|
|
43
|
+
const packed = base64UrlDecode(value.slice(SEALED_JSON_V2.length));
|
|
44
|
+
if (packed.length <= 12)
|
|
45
|
+
return null;
|
|
46
|
+
const iv = packed.slice(0, 12);
|
|
47
|
+
const ciphertext = packed.slice(12);
|
|
48
|
+
const key = await hkdfAesGcmKey(secret, purpose, options.minSecretLength);
|
|
49
|
+
const plaintext = await crypto.subtle.decrypt({ name: 'AES-GCM', iv, additionalData: aad(purpose) }, key, ciphertext);
|
|
50
|
+
return JSON.parse(textDecoder.decode(plaintext));
|
|
51
|
+
}
|
|
52
|
+
// Backward compatibility for the original agent OAuth cookie format.
|
|
53
|
+
// New cookies are always v2 and purpose-bound through AES-GCM AAD.
|
|
54
|
+
if (value.startsWith(SEALED_JSON_V1)) {
|
|
55
|
+
const packed = base64UrlDecode(value.slice(SEALED_JSON_V1.length));
|
|
56
|
+
if (packed.length <= 12)
|
|
57
|
+
return null;
|
|
58
|
+
const iv = packed.slice(0, 12);
|
|
59
|
+
const ciphertext = packed.slice(12);
|
|
60
|
+
const key = await legacyShaAesGcmKey(secret, options.minSecretLength);
|
|
61
|
+
const plaintext = await crypto.subtle.decrypt({ name: 'AES-GCM', iv }, key, ciphertext);
|
|
62
|
+
return JSON.parse(textDecoder.decode(plaintext));
|
|
63
|
+
}
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
export function encodeJsonBase64Url(value) {
|
|
67
|
+
return base64Url(textEncoder.encode(JSON.stringify(value)));
|
|
68
|
+
}
|
|
69
|
+
export function decodeJsonBase64Url(value) {
|
|
70
|
+
return JSON.parse(textDecoder.decode(base64UrlDecode(value)));
|
|
71
|
+
}
|
|
72
|
+
export function base64Url(bytes) {
|
|
73
|
+
let binary = '';
|
|
74
|
+
const chunk = 0x8000;
|
|
75
|
+
for (let i = 0; i < bytes.length; i += chunk) {
|
|
76
|
+
binary += String.fromCharCode(...bytes.subarray(i, i + chunk));
|
|
77
|
+
}
|
|
78
|
+
return btoa(binary)
|
|
79
|
+
.replace(/\+/g, '-')
|
|
80
|
+
.replace(/\//g, '_')
|
|
81
|
+
.replace(/=+$/g, '');
|
|
82
|
+
}
|
|
83
|
+
export function base64UrlDecode(value) {
|
|
84
|
+
if (!BASE64URL_RE.test(value) || value.length % 4 === 1) {
|
|
85
|
+
throw new Error('Invalid base64url input');
|
|
86
|
+
}
|
|
87
|
+
const padded = value.replace(/-/g, '+').replace(/_/g, '/').padEnd(Math.ceil(value.length / 4) * 4, '=');
|
|
88
|
+
const binary = atob(padded);
|
|
89
|
+
const bytes = new Uint8Array(binary.length);
|
|
90
|
+
for (let i = 0; i < binary.length; i++)
|
|
91
|
+
bytes[i] = binary.charCodeAt(i);
|
|
92
|
+
return bytes;
|
|
93
|
+
}
|
|
94
|
+
export function base64Utf8(value) {
|
|
95
|
+
const bytes = textEncoder.encode(value);
|
|
96
|
+
let binary = '';
|
|
97
|
+
const chunk = 0x8000;
|
|
98
|
+
for (let i = 0; i < bytes.length; i += chunk) {
|
|
99
|
+
binary += String.fromCharCode(...bytes.subarray(i, i + chunk));
|
|
100
|
+
}
|
|
101
|
+
return btoa(binary);
|
|
102
|
+
}
|
|
103
|
+
async function hkdfAesGcmKey(secret, purpose, minSecretLength = 32) {
|
|
104
|
+
assertSecret(secret, minSecretLength);
|
|
105
|
+
const material = await crypto.subtle.importKey('raw', textEncoder.encode(secret), 'HKDF', false, ['deriveKey']);
|
|
106
|
+
return crypto.subtle.deriveKey({
|
|
107
|
+
name: 'HKDF',
|
|
108
|
+
hash: 'SHA-256',
|
|
109
|
+
salt: HKDF_SALT,
|
|
110
|
+
info: textEncoder.encode(purpose),
|
|
111
|
+
}, material, { name: 'AES-GCM', length: 256 }, false, ['encrypt', 'decrypt']);
|
|
112
|
+
}
|
|
113
|
+
async function legacyShaAesGcmKey(secret, minSecretLength = 32) {
|
|
114
|
+
assertSecret(secret, minSecretLength);
|
|
115
|
+
const digest = await crypto.subtle.digest('SHA-256', textEncoder.encode(secret));
|
|
116
|
+
return crypto.subtle.importKey('raw', digest, 'AES-GCM', false, ['decrypt']);
|
|
117
|
+
}
|
|
118
|
+
function assertSecret(secret, minSecretLength) {
|
|
119
|
+
if (!secret || secret.length < minSecretLength) {
|
|
120
|
+
throw new Error(`Sealed JSON secret must be ${minSecretLength}+ characters`);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
function normalizePurpose(purpose) {
|
|
124
|
+
const value = (purpose || 'default').trim();
|
|
125
|
+
if (!value)
|
|
126
|
+
return 'default';
|
|
127
|
+
return value.slice(0, 128);
|
|
128
|
+
}
|
|
129
|
+
function aad(purpose) {
|
|
130
|
+
return textEncoder.encode(`nimbus-sh:${purpose}:sealed-json:v2`);
|
|
131
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* esbuild's `__name` helper, for source injected into a facet isolate.
|
|
3
|
+
*
|
|
4
|
+
* wrangler bundles the supervisor with esbuild `keepNames`, which wraps every
|
|
5
|
+
* named function and named arrow as `__name(fn, "fn")`. Code we ship into a
|
|
6
|
+
* facet by `.toString()` therefore carries bare `__name` references, and the
|
|
7
|
+
* supervisor's module-local binding does NOT cross the isolate boundary — the
|
|
8
|
+
* facet must provide one or the embed dies with "__name is not defined".
|
|
9
|
+
*
|
|
10
|
+
* Assigned on `globalThis` rather than declared with `const` because these
|
|
11
|
+
* injection sites do not own their scope: the pyodide asm.js inlined next to
|
|
12
|
+
* it already declares `__name`/`__defProp` (a `const` would be "already
|
|
13
|
+
* declared"), and the W7 facet frame evaluates the embed elsewhere. A bare
|
|
14
|
+
* `__name` with no lexical binding resolves to the global either way, and the
|
|
15
|
+
* `typeof` guard keeps it idempotent when several embeds share one isolate.
|
|
16
|
+
*
|
|
17
|
+
* Unit tests import the un-bundled TS source, so only the deployed,
|
|
18
|
+
* esbuild-bundled worker ever needs this.
|
|
19
|
+
*/
|
|
20
|
+
export declare const ESBUILD_NAME_GLOBAL_SHIM = "if (typeof globalThis.__name !== \"function\") {\n globalThis.__name = (target, value) => Object.defineProperty(target, \"name\", { value, configurable: true });\n}";
|
|
21
|
+
//# sourceMappingURL=esbuild-facet-shim.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"esbuild-facet-shim.d.ts","sourceRoot":"","sources":["../../src/_shared/esbuild-facet-shim.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,wBAAwB,0KAEnC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* esbuild's `__name` helper, for source injected into a facet isolate.
|
|
3
|
+
*
|
|
4
|
+
* wrangler bundles the supervisor with esbuild `keepNames`, which wraps every
|
|
5
|
+
* named function and named arrow as `__name(fn, "fn")`. Code we ship into a
|
|
6
|
+
* facet by `.toString()` therefore carries bare `__name` references, and the
|
|
7
|
+
* supervisor's module-local binding does NOT cross the isolate boundary — the
|
|
8
|
+
* facet must provide one or the embed dies with "__name is not defined".
|
|
9
|
+
*
|
|
10
|
+
* Assigned on `globalThis` rather than declared with `const` because these
|
|
11
|
+
* injection sites do not own their scope: the pyodide asm.js inlined next to
|
|
12
|
+
* it already declares `__name`/`__defProp` (a `const` would be "already
|
|
13
|
+
* declared"), and the W7 facet frame evaluates the embed elsewhere. A bare
|
|
14
|
+
* `__name` with no lexical binding resolves to the global either way, and the
|
|
15
|
+
* `typeof` guard keeps it idempotent when several embeds share one isolate.
|
|
16
|
+
*
|
|
17
|
+
* Unit tests import the un-bundled TS source, so only the deployed,
|
|
18
|
+
* esbuild-bundled worker ever needs this.
|
|
19
|
+
*/
|
|
20
|
+
export const ESBUILD_NAME_GLOBAL_SHIM = `if (typeof globalThis.__name !== "function") {
|
|
21
|
+
globalThis.__name = (target, value) => Object.defineProperty(target, "name", { value, configurable: true });
|
|
22
|
+
}`;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* exports-resolver.ts — Single source of truth for `package.json#exports` /
|
|
3
|
+
* `package.json#imports` resolution per the Node.js spec.
|
|
4
|
+
*
|
|
5
|
+
* Used in three contexts:
|
|
6
|
+
*
|
|
7
|
+
* 1. Install-time supervisor (TS) — `src/npm-resolver.ts` re-exports the
|
|
8
|
+
* typed functions for tree resolution.
|
|
9
|
+
*
|
|
10
|
+
* 2. NimbusLoaderPool isolates (JS string) — `src/loaders/pre-bundle-preamble.ts`
|
|
11
|
+
* embeds `getExportsResolverJS()` as part of the pool preamble so the
|
|
12
|
+
* pre-bundle facet uses identical resolution semantics to the supervisor.
|
|
13
|
+
*
|
|
14
|
+
* 3. User-shell `node` runtime (JS string) — `src/node-shims.ts` embeds
|
|
15
|
+
* the same JS source so `require()` from inside a user's `node` script
|
|
16
|
+
* sees the same exports map as the install pipeline.
|
|
17
|
+
*
|
|
18
|
+
*
|
|
19
|
+
* Spec features supported:
|
|
20
|
+
* - String shorthand: "exports": "./dist/index.mjs"
|
|
21
|
+
* - Subpath maps: { ".": "...", "./client": "..." }
|
|
22
|
+
* - Conditional maps (top-level): { "import": "...", "require": "..." }
|
|
23
|
+
* - Nested conditions: { ".": { "node": { "default": "..." } } }
|
|
24
|
+
* - Subpath wildcards: { "./*": "./dist/*.js" }
|
|
25
|
+
* - Array fallbacks: [ "./esm.js", "./cjs.js" ]
|
|
26
|
+
* - `imports` field (`#name`): same shape, same impl (re-uses resolveExports)
|
|
27
|
+
* - Null-target enforcement: { "./private/*": null } — returns null, blocks fallback
|
|
28
|
+
*
|
|
29
|
+
* Caller-controlled `conditions` lets the same impl serve:
|
|
30
|
+
* - install/ESM/browser → ['import', 'module', 'browser', 'default']
|
|
31
|
+
* - runtime CJS → ['require', 'node', 'default']
|
|
32
|
+
*/
|
|
33
|
+
/** Default conditions for ESM/install/browser resolution. */
|
|
34
|
+
export declare const DEFAULT_ESM_CONDITIONS: string[];
|
|
35
|
+
/** Default conditions for CJS runtime resolution (user-shell node). */
|
|
36
|
+
export declare const DEFAULT_CJS_CONDITIONS: string[];
|
|
37
|
+
/**
|
|
38
|
+
* Resolve `package.json#exports` (or `#imports`) per Node spec.
|
|
39
|
+
*
|
|
40
|
+
* @param exportsField Raw value from package.json#exports or #imports
|
|
41
|
+
* @param subpath '.' for root, './foo' for subpath, '#name' for imports
|
|
42
|
+
* @param conditions Active conditions, in priority order
|
|
43
|
+
* @returns Relative path target string, or null if not found / forbidden
|
|
44
|
+
*/
|
|
45
|
+
export declare function resolveExports(exportsField: any, subpath?: string, conditions?: string[]): string | null;
|
|
46
|
+
/**
|
|
47
|
+
* Resolve a package's entry-point file relative to its directory.
|
|
48
|
+
* Priority: exports → module → main → null.
|
|
49
|
+
* For non-root subpaths without an `exports` field, returns the subpath
|
|
50
|
+
* itself (caller probes filesystem with extension-list).
|
|
51
|
+
*/
|
|
52
|
+
export declare function resolvePackageEntry(pkg: {
|
|
53
|
+
exports?: any;
|
|
54
|
+
module?: string;
|
|
55
|
+
main?: string;
|
|
56
|
+
}, subpath?: string, conditions?: string[]): string | null;
|
|
57
|
+
/**
|
|
58
|
+
* Returns the resolver source as plain JavaScript (no TypeScript syntax),
|
|
59
|
+
* suitable for embedding into a generated worker preamble or shim string.
|
|
60
|
+
*
|
|
61
|
+
* The emitted source declares three top-level functions in scope:
|
|
62
|
+
* - resolveExports(exports, subpath, conditions)
|
|
63
|
+
* - resolveConditionValue(target, conditions) (helper)
|
|
64
|
+
* - resolvePackageEntry(pkg, subpath, conditions)
|
|
65
|
+
*
|
|
66
|
+
* It also declares two arrays:
|
|
67
|
+
* - DEFAULT_ESM_CONDITIONS
|
|
68
|
+
* - DEFAULT_CJS_CONDITIONS
|
|
69
|
+
*
|
|
70
|
+
* This source must be byte-equivalent to the TS impl above (modulo type
|
|
71
|
+
* annotations and `export` keywords). Keep them in sync — there is one
|
|
72
|
+
*/
|
|
73
|
+
export declare function getExportsResolverJS(): string;
|
|
74
|
+
//# sourceMappingURL=exports-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exports-resolver.d.ts","sourceRoot":"","sources":["../../src/_shared/exports-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,6DAA6D;AAC7D,eAAO,MAAM,sBAAsB,UAA6C,CAAC;AAEjF,uEAAuE;AACvE,eAAO,MAAM,sBAAsB,UAAiC,CAAC;AAErE;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,YAAY,EAAE,GAAG,EACjB,OAAO,GAAE,MAAY,EACrB,UAAU,GAAE,MAAM,EAA2B,GAC5C,MAAM,GAAG,IAAI,CAkEf;AAwCD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE;IAAE,OAAO,CAAC,EAAE,GAAG,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EACtD,OAAO,GAAE,MAAY,EACrB,UAAU,GAAE,MAAM,EAA2B,GAC5C,MAAM,GAAG,IAAI,CAsBf;AAID;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAkG7C"}
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* exports-resolver.ts — Single source of truth for `package.json#exports` /
|
|
3
|
+
* `package.json#imports` resolution per the Node.js spec.
|
|
4
|
+
*
|
|
5
|
+
* Used in three contexts:
|
|
6
|
+
*
|
|
7
|
+
* 1. Install-time supervisor (TS) — `src/npm-resolver.ts` re-exports the
|
|
8
|
+
* typed functions for tree resolution.
|
|
9
|
+
*
|
|
10
|
+
* 2. NimbusLoaderPool isolates (JS string) — `src/loaders/pre-bundle-preamble.ts`
|
|
11
|
+
* embeds `getExportsResolverJS()` as part of the pool preamble so the
|
|
12
|
+
* pre-bundle facet uses identical resolution semantics to the supervisor.
|
|
13
|
+
*
|
|
14
|
+
* 3. User-shell `node` runtime (JS string) — `src/node-shims.ts` embeds
|
|
15
|
+
* the same JS source so `require()` from inside a user's `node` script
|
|
16
|
+
* sees the same exports map as the install pipeline.
|
|
17
|
+
*
|
|
18
|
+
*
|
|
19
|
+
* Spec features supported:
|
|
20
|
+
* - String shorthand: "exports": "./dist/index.mjs"
|
|
21
|
+
* - Subpath maps: { ".": "...", "./client": "..." }
|
|
22
|
+
* - Conditional maps (top-level): { "import": "...", "require": "..." }
|
|
23
|
+
* - Nested conditions: { ".": { "node": { "default": "..." } } }
|
|
24
|
+
* - Subpath wildcards: { "./*": "./dist/*.js" }
|
|
25
|
+
* - Array fallbacks: [ "./esm.js", "./cjs.js" ]
|
|
26
|
+
* - `imports` field (`#name`): same shape, same impl (re-uses resolveExports)
|
|
27
|
+
* - Null-target enforcement: { "./private/*": null } — returns null, blocks fallback
|
|
28
|
+
*
|
|
29
|
+
* Caller-controlled `conditions` lets the same impl serve:
|
|
30
|
+
* - install/ESM/browser → ['import', 'module', 'browser', 'default']
|
|
31
|
+
* - runtime CJS → ['require', 'node', 'default']
|
|
32
|
+
*/
|
|
33
|
+
/** Default conditions for ESM/install/browser resolution. */
|
|
34
|
+
export const DEFAULT_ESM_CONDITIONS = ['import', 'module', 'browser', 'default'];
|
|
35
|
+
/** Default conditions for CJS runtime resolution (user-shell node). */
|
|
36
|
+
export const DEFAULT_CJS_CONDITIONS = ['require', 'node', 'default'];
|
|
37
|
+
/**
|
|
38
|
+
* Resolve `package.json#exports` (or `#imports`) per Node spec.
|
|
39
|
+
*
|
|
40
|
+
* @param exportsField Raw value from package.json#exports or #imports
|
|
41
|
+
* @param subpath '.' for root, './foo' for subpath, '#name' for imports
|
|
42
|
+
* @param conditions Active conditions, in priority order
|
|
43
|
+
* @returns Relative path target string, or null if not found / forbidden
|
|
44
|
+
*/
|
|
45
|
+
export function resolveExports(exportsField, subpath = '.', conditions = DEFAULT_ESM_CONDITIONS) {
|
|
46
|
+
if (exportsField === undefined || exportsField === null)
|
|
47
|
+
return null;
|
|
48
|
+
// String shorthand — only valid for root entry
|
|
49
|
+
if (typeof exportsField === 'string') {
|
|
50
|
+
return subpath === '.' ? exportsField : null;
|
|
51
|
+
}
|
|
52
|
+
// Array fallback — try each in order
|
|
53
|
+
if (Array.isArray(exportsField)) {
|
|
54
|
+
for (const item of exportsField) {
|
|
55
|
+
const r = resolveExports(item, subpath, conditions);
|
|
56
|
+
if (r)
|
|
57
|
+
return r;
|
|
58
|
+
}
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
if (typeof exportsField !== 'object')
|
|
62
|
+
return null;
|
|
63
|
+
const keys = Object.keys(exportsField);
|
|
64
|
+
if (keys.length === 0)
|
|
65
|
+
return null;
|
|
66
|
+
// Subpath-map detection: keys begin with "." (exports) or "#" (imports)
|
|
67
|
+
const isSubpathMap = keys[0].startsWith('.') || keys[0].startsWith('#');
|
|
68
|
+
if (isSubpathMap) {
|
|
69
|
+
// Exact match first
|
|
70
|
+
if (subpath in exportsField) {
|
|
71
|
+
const target = exportsField[subpath];
|
|
72
|
+
// Null target — forbidden subpath, returns null and BLOCKS fallback
|
|
73
|
+
if (target === null)
|
|
74
|
+
return null;
|
|
75
|
+
return resolveConditionValue(target, conditions);
|
|
76
|
+
}
|
|
77
|
+
// Wildcard pattern match — try most-specific (longest prefix) first
|
|
78
|
+
const wildcardKeys = keys
|
|
79
|
+
.filter(k => k.includes('*'))
|
|
80
|
+
.sort((a, b) => b.length - a.length); // longest pattern wins
|
|
81
|
+
for (const pattern of wildcardKeys) {
|
|
82
|
+
const target = exportsField[pattern];
|
|
83
|
+
const starIdx = pattern.indexOf('*');
|
|
84
|
+
const prefix = pattern.slice(0, starIdx);
|
|
85
|
+
const suffix = pattern.slice(starIdx + 1);
|
|
86
|
+
if (subpath.startsWith(prefix) &&
|
|
87
|
+
(suffix ? subpath.endsWith(suffix) : true) &&
|
|
88
|
+
subpath.length >= prefix.length + suffix.length) {
|
|
89
|
+
// Null target on wildcard — forbidden, BLOCK fallback
|
|
90
|
+
if (target === null)
|
|
91
|
+
return null;
|
|
92
|
+
const matched = subpath.slice(prefix.length, suffix ? subpath.length - suffix.length : undefined);
|
|
93
|
+
const resolved = resolveConditionValue(target, conditions);
|
|
94
|
+
if (resolved)
|
|
95
|
+
return resolved.split('*').join(matched);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
// Condition map (no subpath map keys) — only valid for root entry
|
|
101
|
+
if (subpath !== '.')
|
|
102
|
+
return null;
|
|
103
|
+
return resolveConditionValue(exportsField, conditions);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Resolve a condition target. Recurses through nested condition objects
|
|
107
|
+
* and array fallbacks. Honours `default` even if not in the conditions
|
|
108
|
+
* array (Node spec).
|
|
109
|
+
*/
|
|
110
|
+
function resolveConditionValue(target, conditions) {
|
|
111
|
+
if (target === null || target === undefined)
|
|
112
|
+
return null;
|
|
113
|
+
if (typeof target === 'string')
|
|
114
|
+
return target;
|
|
115
|
+
if (Array.isArray(target)) {
|
|
116
|
+
for (const item of target) {
|
|
117
|
+
const r = resolveConditionValue(item, conditions);
|
|
118
|
+
if (r)
|
|
119
|
+
return r;
|
|
120
|
+
}
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
if (typeof target !== 'object')
|
|
124
|
+
return null;
|
|
125
|
+
// Try each requested condition in priority order
|
|
126
|
+
for (const cond of conditions) {
|
|
127
|
+
if (cond in target) {
|
|
128
|
+
const r = resolveConditionValue(target[cond], conditions);
|
|
129
|
+
if (r)
|
|
130
|
+
return r;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
// Spec: `default` is always a valid fallback
|
|
134
|
+
if (!conditions.includes('default') && 'default' in target) {
|
|
135
|
+
return resolveConditionValue(target.default, conditions);
|
|
136
|
+
}
|
|
137
|
+
return null;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Resolve a package's entry-point file relative to its directory.
|
|
141
|
+
* Priority: exports → module → main → null.
|
|
142
|
+
* For non-root subpaths without an `exports` field, returns the subpath
|
|
143
|
+
* itself (caller probes filesystem with extension-list).
|
|
144
|
+
*/
|
|
145
|
+
export function resolvePackageEntry(pkg, subpath = '.', conditions = DEFAULT_ESM_CONDITIONS) {
|
|
146
|
+
// 1. exports field
|
|
147
|
+
if (pkg.exports !== undefined && pkg.exports !== null) {
|
|
148
|
+
const entry = resolveExports(pkg.exports, subpath, conditions);
|
|
149
|
+
if (entry)
|
|
150
|
+
return entry;
|
|
151
|
+
// If exports is defined but yields nothing for this subpath,
|
|
152
|
+
// Node spec is: this is an error (subpath isn't exposed).
|
|
153
|
+
// We return null to let caller decide (some callers fall back to
|
|
154
|
+
// direct filesystem probing for compatibility with packages that
|
|
155
|
+
// mis-declare exports).
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
// 2. Root entry: module → main
|
|
159
|
+
if (subpath === '.') {
|
|
160
|
+
if (pkg.module)
|
|
161
|
+
return pkg.module;
|
|
162
|
+
if (pkg.main)
|
|
163
|
+
return pkg.main;
|
|
164
|
+
return null;
|
|
165
|
+
}
|
|
166
|
+
// 3. Non-root subpath without exports — caller probes raw subpath
|
|
167
|
+
return subpath;
|
|
168
|
+
}
|
|
169
|
+
// ─── JS-source emission for embedding into facet preambles ───────────────
|
|
170
|
+
/**
|
|
171
|
+
* Returns the resolver source as plain JavaScript (no TypeScript syntax),
|
|
172
|
+
* suitable for embedding into a generated worker preamble or shim string.
|
|
173
|
+
*
|
|
174
|
+
* The emitted source declares three top-level functions in scope:
|
|
175
|
+
* - resolveExports(exports, subpath, conditions)
|
|
176
|
+
* - resolveConditionValue(target, conditions) (helper)
|
|
177
|
+
* - resolvePackageEntry(pkg, subpath, conditions)
|
|
178
|
+
*
|
|
179
|
+
* It also declares two arrays:
|
|
180
|
+
* - DEFAULT_ESM_CONDITIONS
|
|
181
|
+
* - DEFAULT_CJS_CONDITIONS
|
|
182
|
+
*
|
|
183
|
+
* This source must be byte-equivalent to the TS impl above (modulo type
|
|
184
|
+
* annotations and `export` keywords). Keep them in sync — there is one
|
|
185
|
+
*/
|
|
186
|
+
export function getExportsResolverJS() {
|
|
187
|
+
return `
|
|
188
|
+
// ── exports-resolver.js (auto-generated; keep in sync with src/_shared/exports-resolver.ts) ──
|
|
189
|
+
const DEFAULT_ESM_CONDITIONS = ['import', 'module', 'browser', 'default'];
|
|
190
|
+
const DEFAULT_CJS_CONDITIONS = ['require', 'node', 'default'];
|
|
191
|
+
|
|
192
|
+
function resolveExports(exportsField, subpath, conditions) {
|
|
193
|
+
if (subpath === undefined) subpath = '.';
|
|
194
|
+
if (!conditions) conditions = DEFAULT_ESM_CONDITIONS;
|
|
195
|
+
if (exportsField === undefined || exportsField === null) return null;
|
|
196
|
+
if (typeof exportsField === 'string') {
|
|
197
|
+
return subpath === '.' ? exportsField : null;
|
|
198
|
+
}
|
|
199
|
+
if (Array.isArray(exportsField)) {
|
|
200
|
+
for (const item of exportsField) {
|
|
201
|
+
const r = resolveExports(item, subpath, conditions);
|
|
202
|
+
if (r) return r;
|
|
203
|
+
}
|
|
204
|
+
return null;
|
|
205
|
+
}
|
|
206
|
+
if (typeof exportsField !== 'object') return null;
|
|
207
|
+
const keys = Object.keys(exportsField);
|
|
208
|
+
if (keys.length === 0) return null;
|
|
209
|
+
const isSubpathMap = keys[0].startsWith('.') || keys[0].startsWith('#');
|
|
210
|
+
if (isSubpathMap) {
|
|
211
|
+
if (subpath in exportsField) {
|
|
212
|
+
const target = exportsField[subpath];
|
|
213
|
+
if (target === null) return null;
|
|
214
|
+
return resolveConditionValue(target, conditions);
|
|
215
|
+
}
|
|
216
|
+
const wildcardKeys = keys
|
|
217
|
+
.filter(k => k.includes('*'))
|
|
218
|
+
.sort((a, b) => b.length - a.length);
|
|
219
|
+
for (const pattern of wildcardKeys) {
|
|
220
|
+
const target = exportsField[pattern];
|
|
221
|
+
const starIdx = pattern.indexOf('*');
|
|
222
|
+
const prefix = pattern.slice(0, starIdx);
|
|
223
|
+
const suffix = pattern.slice(starIdx + 1);
|
|
224
|
+
if (
|
|
225
|
+
subpath.startsWith(prefix) &&
|
|
226
|
+
(suffix ? subpath.endsWith(suffix) : true) &&
|
|
227
|
+
subpath.length >= prefix.length + suffix.length
|
|
228
|
+
) {
|
|
229
|
+
if (target === null) return null;
|
|
230
|
+
const matched = subpath.slice(
|
|
231
|
+
prefix.length,
|
|
232
|
+
suffix ? subpath.length - suffix.length : undefined,
|
|
233
|
+
);
|
|
234
|
+
const resolved = resolveConditionValue(target, conditions);
|
|
235
|
+
if (resolved) return resolved.split('*').join(matched);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
return null;
|
|
239
|
+
}
|
|
240
|
+
if (subpath !== '.') return null;
|
|
241
|
+
return resolveConditionValue(exportsField, conditions);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
function resolveConditionValue(target, conditions) {
|
|
245
|
+
if (target === null || target === undefined) return null;
|
|
246
|
+
if (typeof target === 'string') return target;
|
|
247
|
+
if (Array.isArray(target)) {
|
|
248
|
+
for (const item of target) {
|
|
249
|
+
const r = resolveConditionValue(item, conditions);
|
|
250
|
+
if (r) return r;
|
|
251
|
+
}
|
|
252
|
+
return null;
|
|
253
|
+
}
|
|
254
|
+
if (typeof target !== 'object') return null;
|
|
255
|
+
for (const cond of conditions) {
|
|
256
|
+
if (cond in target) {
|
|
257
|
+
const r = resolveConditionValue(target[cond], conditions);
|
|
258
|
+
if (r) return r;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
if (!conditions.includes('default') && 'default' in target) {
|
|
262
|
+
return resolveConditionValue(target.default, conditions);
|
|
263
|
+
}
|
|
264
|
+
return null;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
function resolvePackageEntry(pkg, subpath, conditions) {
|
|
268
|
+
if (subpath === undefined) subpath = '.';
|
|
269
|
+
if (!conditions) conditions = DEFAULT_ESM_CONDITIONS;
|
|
270
|
+
if (pkg.exports !== undefined && pkg.exports !== null) {
|
|
271
|
+
const entry = resolveExports(pkg.exports, subpath, conditions);
|
|
272
|
+
if (entry) return entry;
|
|
273
|
+
return null;
|
|
274
|
+
}
|
|
275
|
+
if (subpath === '.') {
|
|
276
|
+
if (pkg.module) return pkg.module;
|
|
277
|
+
if (pkg.main) return pkg.main;
|
|
278
|
+
return null;
|
|
279
|
+
}
|
|
280
|
+
return subpath;
|
|
281
|
+
}
|
|
282
|
+
// ── end exports-resolver.js ────────────────────────────────────────────
|
|
283
|
+
`;
|
|
284
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Seed the coherence cursor the facet's staged VFS snapshot was read at.
|
|
3
|
+
*
|
|
4
|
+
* A facet's resident set is a cache of the supervisor's VFS, and the cursor is
|
|
5
|
+
* the only thing that says WHICH state it caches. Without one the first ACQUIRE
|
|
6
|
+
* carries a null epoch, and a null epoch is not a stale cursor the authority can
|
|
7
|
+
* compute a delta from — it can only answer poison, "drop everything". So the
|
|
8
|
+
* first async fs call in the process throws away every staged cell, and the next
|
|
9
|
+
* synchronous read of any of them raises EAGAIN for content that was staged
|
|
10
|
+
* correctly and never changed. Measured: pi, launched as a bin, lost all 3210
|
|
11
|
+
* cells of its bundle to one `fs.promises` call and then failed reading its own
|
|
12
|
+
* `dist/modes/interactive/theme/dark.json`.
|
|
13
|
+
*
|
|
14
|
+
* Shared source rather than a line per body: the long-running node body and the
|
|
15
|
+
* staged-artifact body each hold a hand-written copy of the snapshot preamble,
|
|
16
|
+
* and neither gained this seed when the one-shot body did. That drift is the
|
|
17
|
+
* defect, and one definition every generator splices is what makes it
|
|
18
|
+
* unrepeatable.
|
|
19
|
+
*
|
|
20
|
+
* Splice it AFTER `__MODULE_VFS_CURSOR` is defined and BEFORE the shims: the
|
|
21
|
+
* shims read the cursor into a closure const as they evaluate, so an assignment
|
|
22
|
+
* that lands later replaces an object nothing still points at.
|
|
23
|
+
*
|
|
24
|
+
* Where `__MODULE_VFS_CURSOR` comes from is the generator's business, and for
|
|
25
|
+
* the two node bodies there is only one right answer: the invocation. Their
|
|
26
|
+
* generated text is content-addressed — the one-shot body is cached on
|
|
27
|
+
* hash(code + bundle + manifest), the resident body is stored as a facet image
|
|
28
|
+
* named by its own digest — and a cursor carries a revision that advances on
|
|
29
|
+
* every spawn and an epoch that belongs to one supervisor incarnation. Baked
|
|
30
|
+
* in, it gives the same program a new image each time and hands a shared body
|
|
31
|
+
* another session's epoch. So it rides the request body and the start payload
|
|
32
|
+
* respectively, the same channel argv and env want. The staged-artifact body
|
|
33
|
+
* is generated from a per-invocation spec that is not addressed by its bytes,
|
|
34
|
+
* so there it is simply one more field of that spec.
|
|
35
|
+
*/
|
|
36
|
+
export declare const VFS_CURSOR_SEED_SOURCE = "\nif (__MODULE_VFS_CURSOR) {\n globalThis.__nimbusVfsCursor = {\n epoch: __MODULE_VFS_CURSOR.epoch,\n rev: __MODULE_VFS_CURSOR.rev,\n };\n}\n";
|
|
37
|
+
/** The cursor a facet snapshot travels with, or `null` when it has none. */
|
|
38
|
+
export interface FacetVfsCursor {
|
|
39
|
+
epoch: string;
|
|
40
|
+
rev: number;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The `__MODULE_VFS_CURSOR` literal for a generated facet body. `null` is a
|
|
44
|
+
* real answer — a facet built without a VFS has no state to be coherent with —
|
|
45
|
+
* and the seed above is a no-op for it.
|
|
46
|
+
*/
|
|
47
|
+
export declare function serializeFacetVfsCursor(cursor: FacetVfsCursor | undefined): string;
|
|
48
|
+
//# sourceMappingURL=facet-vfs-cursor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"facet-vfs-cursor.d.ts","sourceRoot":"","sources":["../../src/_shared/facet-vfs-cursor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,sBAAsB,0JAOlC,CAAC;AAEF,4EAA4E;AAC5E,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,CAElF"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Seed the coherence cursor the facet's staged VFS snapshot was read at.
|
|
3
|
+
*
|
|
4
|
+
* A facet's resident set is a cache of the supervisor's VFS, and the cursor is
|
|
5
|
+
* the only thing that says WHICH state it caches. Without one the first ACQUIRE
|
|
6
|
+
* carries a null epoch, and a null epoch is not a stale cursor the authority can
|
|
7
|
+
* compute a delta from — it can only answer poison, "drop everything". So the
|
|
8
|
+
* first async fs call in the process throws away every staged cell, and the next
|
|
9
|
+
* synchronous read of any of them raises EAGAIN for content that was staged
|
|
10
|
+
* correctly and never changed. Measured: pi, launched as a bin, lost all 3210
|
|
11
|
+
* cells of its bundle to one `fs.promises` call and then failed reading its own
|
|
12
|
+
* `dist/modes/interactive/theme/dark.json`.
|
|
13
|
+
*
|
|
14
|
+
* Shared source rather than a line per body: the long-running node body and the
|
|
15
|
+
* staged-artifact body each hold a hand-written copy of the snapshot preamble,
|
|
16
|
+
* and neither gained this seed when the one-shot body did. That drift is the
|
|
17
|
+
* defect, and one definition every generator splices is what makes it
|
|
18
|
+
* unrepeatable.
|
|
19
|
+
*
|
|
20
|
+
* Splice it AFTER `__MODULE_VFS_CURSOR` is defined and BEFORE the shims: the
|
|
21
|
+
* shims read the cursor into a closure const as they evaluate, so an assignment
|
|
22
|
+
* that lands later replaces an object nothing still points at.
|
|
23
|
+
*
|
|
24
|
+
* Where `__MODULE_VFS_CURSOR` comes from is the generator's business, and for
|
|
25
|
+
* the two node bodies there is only one right answer: the invocation. Their
|
|
26
|
+
* generated text is content-addressed — the one-shot body is cached on
|
|
27
|
+
* hash(code + bundle + manifest), the resident body is stored as a facet image
|
|
28
|
+
* named by its own digest — and a cursor carries a revision that advances on
|
|
29
|
+
* every spawn and an epoch that belongs to one supervisor incarnation. Baked
|
|
30
|
+
* in, it gives the same program a new image each time and hands a shared body
|
|
31
|
+
* another session's epoch. So it rides the request body and the start payload
|
|
32
|
+
* respectively, the same channel argv and env want. The staged-artifact body
|
|
33
|
+
* is generated from a per-invocation spec that is not addressed by its bytes,
|
|
34
|
+
* so there it is simply one more field of that spec.
|
|
35
|
+
*/
|
|
36
|
+
export const VFS_CURSOR_SEED_SOURCE = `
|
|
37
|
+
if (__MODULE_VFS_CURSOR) {
|
|
38
|
+
globalThis.__nimbusVfsCursor = {
|
|
39
|
+
epoch: __MODULE_VFS_CURSOR.epoch,
|
|
40
|
+
rev: __MODULE_VFS_CURSOR.rev,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
`;
|
|
44
|
+
/**
|
|
45
|
+
* The `__MODULE_VFS_CURSOR` literal for a generated facet body. `null` is a
|
|
46
|
+
* real answer — a facet built without a VFS has no state to be coherent with —
|
|
47
|
+
* and the seed above is a no-op for it.
|
|
48
|
+
*/
|
|
49
|
+
export function serializeFacetVfsCursor(cursor) {
|
|
50
|
+
return JSON.stringify(cursor ?? null);
|
|
51
|
+
}
|