@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,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal byte-aligned comment stripper for prefetch's import detection.
|
|
3
|
+
*
|
|
4
|
+
* Scope: strip `//` line comments and `/* … *\/` block comments by
|
|
5
|
+
* replacing each comment with a single space. Newlines INSIDE the
|
|
6
|
+
* comment are preserved so that line numbers stay aligned with the
|
|
7
|
+
* input (matches the strip-and-classify pattern used by
|
|
8
|
+
* `esbuild-service.ts:stripCommentsAndStrings` for the transform
|
|
9
|
+
* pipeline).
|
|
10
|
+
*
|
|
11
|
+
* Why a separate, smaller scanner: prefetch's IMPORT_RE / REQUIRE_RE
|
|
12
|
+
* in `require-resolver.ts:41,87` are detection-only — they extract
|
|
13
|
+
* specifier strings, not shapes. The full string-and-template-literal
|
|
14
|
+
* stripper in `esbuild-service.ts` is overkill for that, and crossing
|
|
15
|
+
* the anti-touch boundary on `esbuild-service.ts` to extend a single
|
|
16
|
+
* shared helper isn't worth it right now.
|
|
17
|
+
*
|
|
18
|
+
* Empirical justification (esbuild-ast-rewrite wave, P2 measurement):
|
|
19
|
+
* - Per-file AST-based extraction: ~5 ms warm avg
|
|
20
|
+
* - 100-file session bootstrap with AST: ~553 ms (over the 500 ms gate)
|
|
21
|
+
* - Regex with this stripper: ~0.1 ms per file
|
|
22
|
+
* - Correctness gap closed: chalk `import { // eslint-disable\n a,\n b\n} from './utilities.js'` now matches
|
|
23
|
+
*
|
|
24
|
+
* String-literal handling is intentionally OUT of scope. A literal
|
|
25
|
+
* `import x from 'y'` inside a JavaScript string would still produce
|
|
26
|
+
* a false-positive prefetch attempt. The resolver no-ops on misses,
|
|
27
|
+
* so it's a minor wasted-work cost — see IMPORT_RE header comment in
|
|
28
|
+
* `require-resolver.ts:84-86`.
|
|
29
|
+
*
|
|
30
|
+
* TODO(CLN-X): when the `src/runtime/esbuild-service.ts` anti-touch
|
|
31
|
+
* window opens, unify with the canonical
|
|
32
|
+
* `stripCommentsAndStrings(src)` helper there. Both implement the
|
|
33
|
+
* same logical pass over comments; only the string/regex-literal
|
|
34
|
+
* handling differs.
|
|
35
|
+
*/
|
|
36
|
+
export function stripCommentsForImports(src) {
|
|
37
|
+
let out = '';
|
|
38
|
+
let i = 0;
|
|
39
|
+
const N = src.length;
|
|
40
|
+
while (i < N) {
|
|
41
|
+
const c = src[i];
|
|
42
|
+
// Line comment: `//` to end-of-line.
|
|
43
|
+
if (c === '/' && src[i + 1] === '/') {
|
|
44
|
+
out += ' ';
|
|
45
|
+
i += 2;
|
|
46
|
+
while (i < N && src[i] !== '\n')
|
|
47
|
+
i++;
|
|
48
|
+
// Newline preserved by falling through; do NOT consume it.
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
// Block comment: `/*` to `*/`.
|
|
52
|
+
if (c === '/' && src[i + 1] === '*') {
|
|
53
|
+
i += 2;
|
|
54
|
+
while (i < N) {
|
|
55
|
+
if (src[i] === '\n') {
|
|
56
|
+
// Preserve newlines so line numbers stay aligned.
|
|
57
|
+
out += '\n';
|
|
58
|
+
i++;
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
if (src[i] === '*' && src[i + 1] === '/') {
|
|
62
|
+
i += 2;
|
|
63
|
+
out += ' ';
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
i++;
|
|
67
|
+
}
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
out += c;
|
|
71
|
+
i++;
|
|
72
|
+
}
|
|
73
|
+
return out;
|
|
74
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* cpython-preamble.ts — the guest half of the CPython runtime, as source.
|
|
3
|
+
*
|
|
4
|
+
* This text is spliced into a loader child's module scope, after the WASI host
|
|
5
|
+
* from runtime/wasi/preamble.ts and the virtual socket kernel. It owns exactly
|
|
6
|
+
* one thing: turning a compiled python.wasm into a running interpreter and
|
|
7
|
+
* feeding it source. Everything about WHAT to run belongs to cpython-runner.ts.
|
|
8
|
+
*
|
|
9
|
+
* Three constraints shape it, all of them learned the expensive way:
|
|
10
|
+
*
|
|
11
|
+
* 1. Every entry into the VM goes through `enterVm`, which is
|
|
12
|
+
* WebAssembly.promising. Not just the calls known to park today — V8 traps
|
|
13
|
+
* ANY call into a WebAssembly.Suspending import from a stack that
|
|
14
|
+
* promising did not enter, including one that returns a plain integer.
|
|
15
|
+
* Which imports the interpreter reaches is the interpreter's business and
|
|
16
|
+
* the suspending set grows.
|
|
17
|
+
*
|
|
18
|
+
* 2. __wasiInitFS deliberately clears the adopted supervisor, so the
|
|
19
|
+
* supervisor is adopted AFTER it, never before. The other order leaves the
|
|
20
|
+
* guest reading a filesystem it can never write back to, which looks like
|
|
21
|
+
* success right up until the writes are gone.
|
|
22
|
+
*
|
|
23
|
+
* 3. The interpreter is compiled once, in the child-init window where
|
|
24
|
+
* compilation is allowed, and instantiated per call. Instantiation is not
|
|
25
|
+
* gated; only compilation is. A fresh instance per one-shot invocation is
|
|
26
|
+
* also what makes each `python -c` a pristine interpreter rather than one
|
|
27
|
+
* carrying the last caller's __main__.
|
|
28
|
+
*/
|
|
29
|
+
/** Marker the runner writes around the interpreter's exit status. */
|
|
30
|
+
export declare const CPYTHON_EXIT_MARKER = "__NIMBUS_PY_EXIT__";
|
|
31
|
+
export declare const CPYTHON_PREAMBLE_TAIL: string;
|
|
32
|
+
//# sourceMappingURL=cpython-preamble.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cpython-preamble.d.ts","sourceRoot":"","sources":["../../src/runtime/cpython-preamble.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,qEAAqE;AACrE,eAAO,MAAM,mBAAmB,uBAAuB,CAAC;AAExD,eAAO,MAAM,qBAAqB,QAyQjC,CAAC"}
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* cpython-preamble.ts — the guest half of the CPython runtime, as source.
|
|
3
|
+
*
|
|
4
|
+
* This text is spliced into a loader child's module scope, after the WASI host
|
|
5
|
+
* from runtime/wasi/preamble.ts and the virtual socket kernel. It owns exactly
|
|
6
|
+
* one thing: turning a compiled python.wasm into a running interpreter and
|
|
7
|
+
* feeding it source. Everything about WHAT to run belongs to cpython-runner.ts.
|
|
8
|
+
*
|
|
9
|
+
* Three constraints shape it, all of them learned the expensive way:
|
|
10
|
+
*
|
|
11
|
+
* 1. Every entry into the VM goes through `enterVm`, which is
|
|
12
|
+
* WebAssembly.promising. Not just the calls known to park today — V8 traps
|
|
13
|
+
* ANY call into a WebAssembly.Suspending import from a stack that
|
|
14
|
+
* promising did not enter, including one that returns a plain integer.
|
|
15
|
+
* Which imports the interpreter reaches is the interpreter's business and
|
|
16
|
+
* the suspending set grows.
|
|
17
|
+
*
|
|
18
|
+
* 2. __wasiInitFS deliberately clears the adopted supervisor, so the
|
|
19
|
+
* supervisor is adopted AFTER it, never before. The other order leaves the
|
|
20
|
+
* guest reading a filesystem it can never write back to, which looks like
|
|
21
|
+
* success right up until the writes are gone.
|
|
22
|
+
*
|
|
23
|
+
* 3. The interpreter is compiled once, in the child-init window where
|
|
24
|
+
* compilation is allowed, and instantiated per call. Instantiation is not
|
|
25
|
+
* gated; only compilation is. A fresh instance per one-shot invocation is
|
|
26
|
+
* also what makes each `python -c` a pristine interpreter rather than one
|
|
27
|
+
* carrying the last caller's __main__.
|
|
28
|
+
*/
|
|
29
|
+
/** Marker the runner writes around the interpreter's exit status. */
|
|
30
|
+
export const CPYTHON_EXIT_MARKER = '__NIMBUS_PY_EXIT__';
|
|
31
|
+
export const CPYTHON_PREAMBLE_TAIL = String.raw `
|
|
32
|
+
// ── CPython guest runtime ──────────────────────────────────────────────────
|
|
33
|
+
globalThis.__nimbusPyStdout = globalThis.__nimbusPyStdout || [];
|
|
34
|
+
globalThis.__nimbusPyStderr = globalThis.__nimbusPyStderr || [];
|
|
35
|
+
|
|
36
|
+
// The only way into the VM. See constraint (1) above.
|
|
37
|
+
const __nimbusEnterVm = (fn) =>
|
|
38
|
+
(typeof WebAssembly.promising === 'function' ? WebAssembly.promising(fn) : fn);
|
|
39
|
+
|
|
40
|
+
function __nimbusPyModule() {
|
|
41
|
+
const table = globalThis.__NIMBUS_WASM || {};
|
|
42
|
+
const mod = table['python.wasm'];
|
|
43
|
+
if (!mod) throw new Error('python.wasm was not supplied to this facet');
|
|
44
|
+
return mod;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// Bring up one interpreter over the seeded filesystem and return the handles
|
|
48
|
+
// the rest of this file drives it with.
|
|
49
|
+
async function __nimbusPyBoot(args) {
|
|
50
|
+
const snapshot = args.fsSnapshot || { files: {}, dirs: [], modes: {}, root: '' };
|
|
51
|
+
__wasiInitFS({
|
|
52
|
+
root: snapshot.root || '',
|
|
53
|
+
preopens: [{ wasiPath: '/', vfsPath: '' }],
|
|
54
|
+
files: snapshot.files || {},
|
|
55
|
+
dirs: snapshot.dirs || [],
|
|
56
|
+
// The root, /tmp and /home are seeded rather than taken from the manifest:
|
|
57
|
+
// manifestVfs's walk skips the empty root, so without this the preopen at
|
|
58
|
+
// '/' has effective mode 0 and EVERY traversal through it is EACCES —
|
|
59
|
+
// which surfaces as "Failed to import encodings module" with nothing
|
|
60
|
+
// pointing at a permission. Same baseline ruby-runner seeds, same reason.
|
|
61
|
+
modes: { '': 7, tmp: 7, home: 7, ...(snapshot.modes || {}) },
|
|
62
|
+
times: snapshot.times,
|
|
63
|
+
symlinks: snapshot.symlinks,
|
|
64
|
+
sizes: snapshot.sizes,
|
|
65
|
+
});
|
|
66
|
+
// AFTER initFS, never before. See constraint (2). The stub is read back off
|
|
67
|
+
// globalThis rather than passed in, because the facet entry point published
|
|
68
|
+
// it there before initFS wiped the adoption.
|
|
69
|
+
if (typeof __wasiAdoptSupervisor === 'function') {
|
|
70
|
+
__wasiAdoptSupervisor(globalThis.__nimbusPySupervisor);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
let instance = null;
|
|
74
|
+
const made = __wasiMakeImports({
|
|
75
|
+
argv: args.pyArgv || ['python'],
|
|
76
|
+
env: args.userEnv || {},
|
|
77
|
+
getMemory: () => instance.exports.memory,
|
|
78
|
+
stdoutWrite: (s) => { globalThis.__nimbusPyStdout.push(s); },
|
|
79
|
+
stderrWrite: (s) => { globalThis.__nimbusPyStderr.push(s); },
|
|
80
|
+
});
|
|
81
|
+
instance = new WebAssembly.Instance(__nimbusPyModule(), { wasi_snapshot_preview1: made.wasiImport });
|
|
82
|
+
|
|
83
|
+
const exports = instance.exports;
|
|
84
|
+
if (typeof exports.nimbus_py_init !== 'function' || typeof exports.nimbus_py_run !== 'function') {
|
|
85
|
+
throw new Error('python.wasm is not a Nimbus reactor build (nimbus_py_init/nimbus_py_run missing)');
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const withCString = async (text, fn) => {
|
|
89
|
+
const bytes = new TextEncoder().encode(text);
|
|
90
|
+
const ptr = exports.malloc(bytes.length + 1);
|
|
91
|
+
if (!ptr) throw new Error('the interpreter is out of memory');
|
|
92
|
+
// Taken after malloc and used before the next guest call: growing the
|
|
93
|
+
// wasm memory detaches every view over the old buffer.
|
|
94
|
+
const view = new Uint8Array(exports.memory.buffer, ptr, bytes.length + 1);
|
|
95
|
+
view.set(bytes);
|
|
96
|
+
view[bytes.length] = 0;
|
|
97
|
+
try { return await fn(ptr); } finally { exports.free(ptr); }
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
// _initialize is static setup only, so it is safe anywhere. Py_Initialize
|
|
101
|
+
// reads entropy through random_get, which workerd refuses in module scope —
|
|
102
|
+
// both run here, at request time.
|
|
103
|
+
await __nimbusEnterVm(exports._initialize)();
|
|
104
|
+
const initRc = await withCString(args.pythonHome || '/usr/local',
|
|
105
|
+
(ptr) => __nimbusEnterVm(exports.nimbus_py_init)(ptr));
|
|
106
|
+
if (initRc !== 0) {
|
|
107
|
+
// Do the bytes arrive intact? The interpreter, the stdlib and this preamble
|
|
108
|
+
// are all proven by tests/unit/cpython-wasi-reactor.mjs, which seeds the
|
|
109
|
+
// stdlib BY VALUE. The only thing a live session changes is the transport:
|
|
110
|
+
// manifest entry + supervisor RPC. So hash what the transport actually
|
|
111
|
+
// delivers rather than guessing at a size limit.
|
|
112
|
+
let transport = 'not-attempted';
|
|
113
|
+
try {
|
|
114
|
+
const zipPath = (args.pythonHome || '').replace(/^\/+/, '') + '/lib/python313.zip';
|
|
115
|
+
const want = __wasiFS.sizes.get(zipPath);
|
|
116
|
+
const sup = globalThis.__nimbusPySupervisor;
|
|
117
|
+
if (!sup || typeof sup.fsReadRange !== 'function') {
|
|
118
|
+
transport = 'no-supervisor';
|
|
119
|
+
} else {
|
|
120
|
+
const got = await sup.fsReadRange(zipPath, 0, want);
|
|
121
|
+
const bytes = got instanceof Uint8Array ? got : new Uint8Array(got);
|
|
122
|
+
const digest = await crypto.subtle.digest('SHA-256', bytes);
|
|
123
|
+
const hex = Array.from(new Uint8Array(digest))
|
|
124
|
+
.map((b) => b.toString(16).padStart(2, '0')).join('');
|
|
125
|
+
transport = 'want=' + want + ' got=' + bytes.byteLength + ' sha=' + hex.slice(0, 16);
|
|
126
|
+
}
|
|
127
|
+
} catch (e) { transport = 'threw ' + ((e && e.message) || e); }
|
|
128
|
+
|
|
129
|
+
// CPython's own message for an unreadable stdlib is "Failed to import
|
|
130
|
+
// encodings module", which says nothing about where it looked or why the
|
|
131
|
+
// read failed. These three facts are what separated a mode-0 root from a
|
|
132
|
+
// missing supervisor from an absent JSPI, each of which presents
|
|
133
|
+
// identically.
|
|
134
|
+
throw new Error('the interpreter failed to start: home=' + (args.pythonHome || '/usr/local')
|
|
135
|
+
+ ' supervisor=' + (globalThis.__nimbusPySupervisor ? 'yes' : 'NO')
|
|
136
|
+
+ ' promising=' + (typeof WebAssembly.promising === 'function' ? 'yes' : 'NO')
|
|
137
|
+
+ ' transport[' + transport + ']');
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
return {
|
|
141
|
+
instance,
|
|
142
|
+
run: (src) => withCString(src, (ptr) => __nimbusEnterVm(exports.nimbus_py_run)(ptr)),
|
|
143
|
+
flush: () => __nimbusEnterVm(exports.nimbus_py_flush)(),
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// Ports are the host's to allocate, so the guest cannot bind one by itself:
|
|
148
|
+
// nimbus-net.c's listen(2) opens /dev/nimbus/listen/<port>, which is only a
|
|
149
|
+
// listening descriptor once the kernel has the port. This is the same callback
|
|
150
|
+
// ruby-runner installs, for the same reason and under the same name — one
|
|
151
|
+
// binding convention, not one per language.
|
|
152
|
+
globalThis.__nimbusVirtualSocketDidListen = globalThis.__nimbusVirtualSocketDidListen
|
|
153
|
+
|| function __nimbusVirtualSocketDidListen(port) {
|
|
154
|
+
const supervisor = globalThis.__nimbusPySupervisor;
|
|
155
|
+
if (!supervisor || typeof supervisor.registerPort !== 'function') return;
|
|
156
|
+
try {
|
|
157
|
+
const p = supervisor.registerPort(Number(port)).catch((e) => {
|
|
158
|
+
globalThis.__nimbusPyStderr.push(
|
|
159
|
+
'[cpython-runner] port registration failed: ' + ((e && e.message) || e) + '\n');
|
|
160
|
+
});
|
|
161
|
+
(globalThis.__nimbusVirtualPortRegistrationPromises
|
|
162
|
+
= globalThis.__nimbusVirtualPortRegistrationPromises || []).push(p);
|
|
163
|
+
} catch (e) {
|
|
164
|
+
globalThis.__nimbusPyStderr.push(
|
|
165
|
+
'[cpython-runner] port registration failed: ' + ((e && e.message) || e) + '\n');
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
globalThis.__nimbusVirtualSocketRouteLoopback = globalThis.__nimbusVirtualSocketRouteLoopback
|
|
170
|
+
|| function __nimbusVirtualSocketRouteLoopback(port, request) {
|
|
171
|
+
const supervisor = globalThis.__nimbusPySupervisor;
|
|
172
|
+
if (!supervisor || typeof supervisor.routeLoopback !== 'function') {
|
|
173
|
+
return Promise.reject(new Error('this Python process has no supervisor binding for loopback routing'));
|
|
174
|
+
}
|
|
175
|
+
return Promise.resolve(supervisor.routeLoopback(Number(port), request));
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
// ── One-shot entry point ───────────────────────────────────────────────────
|
|
179
|
+
// A fresh interpreter per call. See constraint (3).
|
|
180
|
+
globalThis.__cpythonRun = async function __cpythonRun(args) {
|
|
181
|
+
const stdoutStart = globalThis.__nimbusPyStdout.length;
|
|
182
|
+
const stderrStart = globalThis.__nimbusPyStderr.length;
|
|
183
|
+
const drain = () => ({
|
|
184
|
+
stdout: globalThis.__nimbusPyStdout.slice(stdoutStart).join(''),
|
|
185
|
+
stderr: globalThis.__nimbusPyStderr.slice(stderrStart).join(''),
|
|
186
|
+
});
|
|
187
|
+
let boot;
|
|
188
|
+
try {
|
|
189
|
+
boot = await __nimbusPyBoot(args);
|
|
190
|
+
} catch (e) {
|
|
191
|
+
return { exitCode: 1, ...drain(), error: (e && e.message) || String(e) };
|
|
192
|
+
}
|
|
193
|
+
try {
|
|
194
|
+
const exitCode = await boot.run(args.userCode || '');
|
|
195
|
+
await boot.flush();
|
|
196
|
+
return { exitCode, ...drain() };
|
|
197
|
+
} catch (e) {
|
|
198
|
+
try { await boot.flush(); } catch (ignored) { /* the VM is already gone */ }
|
|
199
|
+
return { exitCode: 1, ...drain(), error: (e && e.message) || String(e) };
|
|
200
|
+
}
|
|
201
|
+
};
|
|
202
|
+
|
|
203
|
+
// ── REPL ───────────────────────────────────────────────────────────────────
|
|
204
|
+
// One interpreter for the whole session, unlike __cpythonRun's fresh instance
|
|
205
|
+
// per call: a REPL where the previous line's definitions are gone is not a
|
|
206
|
+
// REPL. The facet pool that owns this runs at concurrency 1, so there is one
|
|
207
|
+
// of these per session and no interleaving to guard against.
|
|
208
|
+
globalThis.__cpythonReplBoot = globalThis.__cpythonReplBoot || null;
|
|
209
|
+
globalThis.__cpythonReplRun = async function __cpythonReplRun(args) {
|
|
210
|
+
const stdoutStart = globalThis.__nimbusPyStdout.length;
|
|
211
|
+
const stderrStart = globalThis.__nimbusPyStderr.length;
|
|
212
|
+
const drain = () => ({
|
|
213
|
+
stdout: globalThis.__nimbusPyStdout.slice(stdoutStart).join(''),
|
|
214
|
+
stderr: globalThis.__nimbusPyStderr.slice(stderrStart).join(''),
|
|
215
|
+
});
|
|
216
|
+
try {
|
|
217
|
+
if (!globalThis.__cpythonReplBoot) {
|
|
218
|
+
globalThis.__cpythonReplBoot = await __nimbusPyBoot(args);
|
|
219
|
+
}
|
|
220
|
+
} catch (e) {
|
|
221
|
+
return { exitCode: 1, ...drain(), error: (e && e.message) || String(e) };
|
|
222
|
+
}
|
|
223
|
+
try {
|
|
224
|
+
const exitCode = await globalThis.__cpythonReplBoot.run(args.userCode || '');
|
|
225
|
+
await globalThis.__cpythonReplBoot.flush();
|
|
226
|
+
return { exitCode, ...drain() };
|
|
227
|
+
} catch (e) {
|
|
228
|
+
return { exitCode: 1, ...drain(), error: (e && e.message) || String(e) };
|
|
229
|
+
}
|
|
230
|
+
};
|
|
231
|
+
|
|
232
|
+
// ── Resident process ───────────────────────────────────────────────────────
|
|
233
|
+
// The program is not suspended between requests — it has already finished.
|
|
234
|
+
// python-server-adapter.ts makes serve_forever() register the server and
|
|
235
|
+
// return, so the body runs to completion and the server object survives on the
|
|
236
|
+
// Python heap. Each inbound request re-enters the interpreter and dispatches
|
|
237
|
+
// one connection into it. Nothing is parked across a request boundary, which is
|
|
238
|
+
// what makes this work at all: workerd cannot resume a wasm stack that a
|
|
239
|
+
// different request suspended.
|
|
240
|
+
globalThis.__cpythonProcess = globalThis.__cpythonProcess || null;
|
|
241
|
+
|
|
242
|
+
globalThis.__cpythonStartProcess = async function __cpythonStartProcess(args) {
|
|
243
|
+
if (globalThis.__cpythonProcess) return globalThis.__cpythonProcess.result;
|
|
244
|
+
const stdoutStart = globalThis.__nimbusPyStdout.length;
|
|
245
|
+
const stderrStart = globalThis.__nimbusPyStderr.length;
|
|
246
|
+
const boot = await __nimbusPyBoot(args);
|
|
247
|
+
const exitCode = await boot.run(args.userCode || '');
|
|
248
|
+
await boot.flush();
|
|
249
|
+
const result = {
|
|
250
|
+
exitCode,
|
|
251
|
+
stdout: globalThis.__nimbusPyStdout.slice(stdoutStart).join(''),
|
|
252
|
+
stderr: globalThis.__nimbusPyStderr.slice(stderrStart).join(''),
|
|
253
|
+
};
|
|
254
|
+
globalThis.__cpythonProcess = { boot, result };
|
|
255
|
+
return result;
|
|
256
|
+
};
|
|
257
|
+
|
|
258
|
+
// Which ports the program left listening. Read back from Python rather than
|
|
259
|
+
// tracked here, because the adapter's registry is the only thing that knows
|
|
260
|
+
// whether serve_forever actually ran.
|
|
261
|
+
globalThis.__cpythonListeningPorts = async function __cpythonListeningPorts() {
|
|
262
|
+
const proc = globalThis.__cpythonProcess;
|
|
263
|
+
if (!proc) return [];
|
|
264
|
+
const before = globalThis.__nimbusPyStdout.length;
|
|
265
|
+
await proc.boot.run('print("__NIMBUS_PORTS__" + repr(_nimbus_listening_ports()))');
|
|
266
|
+
const written = globalThis.__nimbusPyStdout.splice(before).join('');
|
|
267
|
+
const match = /__NIMBUS_PORTS__\[([^\]]*)\]/.exec(written);
|
|
268
|
+
// Anything the program itself printed in the same turn is kept.
|
|
269
|
+
const leftover = written.replace(/__NIMBUS_PORTS__\[[^\]]*\]\n?/, '');
|
|
270
|
+
if (leftover) globalThis.__nimbusPyStdout.push(leftover);
|
|
271
|
+
if (!match || !match[1].trim()) return [];
|
|
272
|
+
return match[1].split(',').map((n) => Number(n.trim())).filter((n) => n > 0);
|
|
273
|
+
};
|
|
274
|
+
|
|
275
|
+
// One dispatch at a time for the whole process: two entries into the same
|
|
276
|
+
// interpreter would interleave inside a single-threaded VM. The queue lives on
|
|
277
|
+
// globalThis because no request may own it — a request context is torn down
|
|
278
|
+
// without warning when its response is sent.
|
|
279
|
+
globalThis.__cpythonServeQueue = globalThis.__cpythonServeQueue || Promise.resolve();
|
|
280
|
+
globalThis.__nimbusVirtualSocketRequestQueued = globalThis.__nimbusVirtualSocketRequestQueued
|
|
281
|
+
|| function __nimbusVirtualSocketRequestQueued(port) {
|
|
282
|
+
const run = async () => {
|
|
283
|
+
const proc = globalThis.__cpythonProcess;
|
|
284
|
+
if (!proc) return false;
|
|
285
|
+
const rc = await proc.boot.run(
|
|
286
|
+
'import sys\n'
|
|
287
|
+
+ '_nimbus_ok = _nimbus_serve_one(' + Number(port) + ')\n'
|
|
288
|
+
+ 'if not _nimbus_ok: sys.stderr.write("nimbus: no server registered on port ' + Number(port) + '\\n")');
|
|
289
|
+
await proc.boot.flush();
|
|
290
|
+
return rc === 0;
|
|
291
|
+
};
|
|
292
|
+
const task = globalThis.__cpythonServeQueue.then(run, run);
|
|
293
|
+
globalThis.__cpythonServeQueue = task.then(() => {}, () => {});
|
|
294
|
+
return task;
|
|
295
|
+
};
|
|
296
|
+
`;
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EsbuildService — TypeScript/JSX transform + bundling via esbuild-wasm.
|
|
3
|
+
*
|
|
4
|
+
* Architecture:
|
|
5
|
+
* - esbuild-wasm is imported directly in the supervisor bundle
|
|
6
|
+
* - WASM is compiled during module evaluation (startup phase) — allowed
|
|
7
|
+
* - transform() runs in the supervisor's isolate (fast, no facet needed)
|
|
8
|
+
* - build() also runs in supervisor with a VFS resolver plugin
|
|
9
|
+
*
|
|
10
|
+
* Why not a facet? The esbuild-wasm WASM binary needs to be compiled
|
|
11
|
+
* during module startup (not request time). Dynamic workers created via
|
|
12
|
+
* LOADER.load() have the same restriction. Since esbuild-wasm is bundled
|
|
13
|
+
* into the supervisor, it initializes once at startup and stays warm.
|
|
14
|
+
*
|
|
15
|
+
* Memory: esbuild-wasm uses ~15-20MB heap. Within the DO's 128MB budget
|
|
16
|
+
* this is acceptable for Phase 3. Phase 4+ can move it to a dedicated
|
|
17
|
+
* facet once wasm module passing to dynamic workers is stable.
|
|
18
|
+
*/
|
|
19
|
+
import type { SqliteVFS } from '../vfs/sqlite-vfs.js';
|
|
20
|
+
/**
|
|
21
|
+
* Bundler version tag. BUMP THIS whenever bundling semantics change —
|
|
22
|
+
* the esbuild plugin's resolver logic, the shared-externals rules, the
|
|
23
|
+
* post-processing pipeline, or anything that would invalidate cached
|
|
24
|
+
* pre-bundles. The version is stored in pkg_esm_bundles.bundle_hash and
|
|
25
|
+
* checked on read; cache entries with a different version are treated
|
|
26
|
+
* as missing and rebuilt from scratch.
|
|
27
|
+
*
|
|
28
|
+
* History:
|
|
29
|
+
* v1 — initial pre-bundling
|
|
30
|
+
* v2 — shared React externals, CJS named exports
|
|
31
|
+
* v3 — Node subpath imports (#foo) support for vfile/unified ecosystem
|
|
32
|
+
* v4 — legacy flat-subpath resolution (pkg/sub without exports field);
|
|
33
|
+
* CDN fallback wrapper no longer crashes on modules without default
|
|
34
|
+
* v5 — normalize `../` segments in joined entry paths (react-remove-scroll-bar
|
|
35
|
+
* style: nested package.json with "module": "../dist/es2015/foo.js")
|
|
36
|
+
* v6 — externals enforced via plugin onResolve only (top-level `external:`
|
|
37
|
+
* dropped). Fixes dual-React-instance bug where jsx-runtime and
|
|
38
|
+
* react-dom/client were inlining their own copy of react because
|
|
39
|
+
* esbuild's entry-point external check rejected the externals when
|
|
40
|
+
* passed at the top level. v5 cache entries are wrong (contain
|
|
41
|
+
* embedded react copies) and must be invalidated.
|
|
42
|
+
* v7 — barrel-package bundles include a named-import signature in
|
|
43
|
+
* pkg_esm_bundles.input_hash. Prevents reusing a lucide-react
|
|
44
|
+
* bundle synthesized for one icon set after user source imports
|
|
45
|
+
* additional icons.
|
|
46
|
+
* v8 — pkg_esm_bundles now stores RAW esbuild output (base-independent);
|
|
47
|
+
* the module-URL rewrite that used to be baked in is applied per
|
|
48
|
+
* request at serve time so one bundle serves every mount base. v7
|
|
49
|
+
* rows hold post-rewrite text and must be re-bundled. user_module_
|
|
50
|
+
* transforms is likewise re-keyed by mount base.
|
|
51
|
+
*/
|
|
52
|
+
export declare const BUNDLER_VERSION = "v8";
|
|
53
|
+
/**
|
|
54
|
+
* Returns the list of specifiers that must be marked `external` when bundling
|
|
55
|
+
* `specifier` so that React / React-DOM / Scheduler share a single instance
|
|
56
|
+
* across all /@modules/ bundles.
|
|
57
|
+
*
|
|
58
|
+
* Why: React uses an internal module-scoped singleton
|
|
59
|
+
* (`__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED`) for current dispatcher,
|
|
60
|
+
* owner, etc. If two bundles each contain their own embedded React, they each
|
|
61
|
+
* have their own singleton, and `createRoot` from one bundle sees JSX elements
|
|
62
|
+
* created by the other as "alien" — silent render failure (root stays empty).
|
|
63
|
+
*
|
|
64
|
+
* The fix: when bundling react-dom/*, mark react/* and scheduler as external.
|
|
65
|
+
* The bundler leaves `import {...} from "react"` in the output; the browser
|
|
66
|
+
* then fetches /preview/@modules/react, which is the SAME URL the jsx-runtime
|
|
67
|
+
* bundle imports — so both react-dom and jsx-runtime share ONE React instance.
|
|
68
|
+
*
|
|
69
|
+
* Similarly for react/jsx-runtime and react/jsx-dev-runtime (they must share
|
|
70
|
+
* react's internals), we externalize `react` (but not `scheduler` — jsx-runtime
|
|
71
|
+
* doesn't need it).
|
|
72
|
+
*/
|
|
73
|
+
export declare function getSharedRuntimeExternals(specifier: string): string[];
|
|
74
|
+
/**
|
|
75
|
+
* Detect top-level await in source. Used by `EsbuildService.transform`
|
|
76
|
+
* to decide whether to async-IIFE-wrap CJS-target sources (see
|
|
77
|
+
* transform()'s header comment).
|
|
78
|
+
*
|
|
79
|
+
* Token scan over a comment-and-string-stripped source. Tracks paren
|
|
80
|
+
* depth AND function-body depth so a `{` inside a parameter list (a
|
|
81
|
+
* default-value object literal — `async function f(opts = {})`) is NOT
|
|
82
|
+
* mistaken for the function body. The earlier heuristic lacked the paren
|
|
83
|
+
* guard: the `= {}` braces consumed the body-tracking slot, leaving the
|
|
84
|
+
* real body untracked so an internal `await` read as top-level. That
|
|
85
|
+
* wrongly routed such files (e.g. @bluwy/giget-core's
|
|
86
|
+
* download-template.js, reached by create-astro) into the two-pass
|
|
87
|
+
* ESM→require rewrite, whose assembled output still carried export/import
|
|
88
|
+
* statements → "Cannot use import statement outside a module" at startup.
|
|
89
|
+
*
|
|
90
|
+
* Arrow bodies are distinguished from arrow expression bodies (the
|
|
91
|
+
* `arrowPending` flag): only a `{` immediately following `=>` opens a
|
|
92
|
+
* function scope. The idiomatic object-returning arrow `x => ({ ... })`
|
|
93
|
+
* has its `{` at parenDepth 1, so it opens no body slot — otherwise the
|
|
94
|
+
* leaked slot would be consumed by a later top-level `{ ... }` block,
|
|
95
|
+
* making a real top-level `await` inside it read as non-TLA (false
|
|
96
|
+
* negative) and routing genuine ESM-with-TLA into the wrong transform.
|
|
97
|
+
*
|
|
98
|
+
* A regex/token scan (not acorn) is kept here deliberately: pulling
|
|
99
|
+
* acorn into the esbuild-service bundle chunk duplicates its ~15 KiB
|
|
100
|
+
* Unicode identifier tables.
|
|
101
|
+
*/
|
|
102
|
+
export declare function hasTopLevelAwait(src: string): boolean;
|
|
103
|
+
export interface TransformResult {
|
|
104
|
+
code: string;
|
|
105
|
+
map: string;
|
|
106
|
+
warnings: {
|
|
107
|
+
text: string;
|
|
108
|
+
location?: any;
|
|
109
|
+
}[];
|
|
110
|
+
}
|
|
111
|
+
export interface BuildOutputFile {
|
|
112
|
+
path: string;
|
|
113
|
+
contents: string;
|
|
114
|
+
}
|
|
115
|
+
export interface BuildResult {
|
|
116
|
+
outputFiles: BuildOutputFile[];
|
|
117
|
+
errors: {
|
|
118
|
+
text: string;
|
|
119
|
+
location?: any;
|
|
120
|
+
}[];
|
|
121
|
+
warnings: {
|
|
122
|
+
text: string;
|
|
123
|
+
location?: any;
|
|
124
|
+
}[];
|
|
125
|
+
}
|
|
126
|
+
export declare class EsbuildService {
|
|
127
|
+
private vfs;
|
|
128
|
+
private initialized;
|
|
129
|
+
private initPromise;
|
|
130
|
+
/** Resolved esbuild namespace — populated by ensureInit() after loadEsbuild(). */
|
|
131
|
+
private _esbuild;
|
|
132
|
+
constructor(vfs: SqliteVFS);
|
|
133
|
+
/**
|
|
134
|
+
* Initialize esbuild-wasm (lazy, on first use). Loads the namespace
|
|
135
|
+
* via `loadEsbuild()` (which itself is deferred) and caches it on
|
|
136
|
+
* `this._esbuild` so subsequent calls don't pay the dynamic-import
|
|
137
|
+
* overhead. All call sites that previously used the top-level
|
|
138
|
+
* `esbuild` namespace now use `this._esbuild!` after `await this.ensureInit()`.
|
|
139
|
+
*/
|
|
140
|
+
private ensureInit;
|
|
141
|
+
/**
|
|
142
|
+
* Transform a single code string (TS→JS, JSX→JS, minify, etc.)
|
|
143
|
+
*
|
|
144
|
+
* Top-level await note (gap #2 in framework-gaps-fix):
|
|
145
|
+
* ─────────────────────────────────────────────────────
|
|
146
|
+
* esbuild rejects top-level await when output format is 'cjs' or
|
|
147
|
+
* 'iife' — neither has a runtime primitive for it. Real Node
|
|
148
|
+
* supports TLA only in ESM. Nimbus's facet wrapper executes the
|
|
149
|
+
* transformed code via `new Function(...)` which is CJS-shaped.
|
|
150
|
+
*
|
|
151
|
+
* Several modern CLIs (nuxi, vite-cli, oclif's lazy-load bootstrap,
|
|
152
|
+
* many ESM-only-by-default tools) use TLA at the entry point. With
|
|
153
|
+
* format:'cjs' those would crash with "Top-level await is currently
|
|
154
|
+
* not supported with the 'cjs' output format" — an esbuild
|
|
155
|
+
* SyntaxError surfaced as a Nimbus diagnostic. The user can't
|
|
156
|
+
* fix this without rewriting upstream.
|
|
157
|
+
*
|
|
158
|
+
* Fix: when caller asks for format 'cjs' AND the source has a
|
|
159
|
+
* top-level await, wrap the source in an async IIFE and return its
|
|
160
|
+
* Promise to the facet runner:
|
|
161
|
+
*
|
|
162
|
+
* return (async () => {
|
|
163
|
+
* <original-source>
|
|
164
|
+
* })();
|
|
165
|
+
*
|
|
166
|
+
* Inside the IIFE, await is legal. Returning the Promise is required:
|
|
167
|
+
* the facet runner awaits promise-returning entry functions so
|
|
168
|
+
* sequential TLA execution cannot race process teardown or VFS flushes.
|
|
169
|
+
*
|
|
170
|
+
* ESM-imports-in-CJS note (nuxt-esm-in-cjs wave):
|
|
171
|
+
* ─────────────────────────────────────────────────
|
|
172
|
+
* The IIFE wrap above moves the user source INTO a function body.
|
|
173
|
+
* Top-level ESM `import` statements are LEGAL only at module top
|
|
174
|
+
* level — inside a function body they're a SyntaxError. Real-world
|
|
175
|
+
* trigger: nuxi's `bin/nuxi.mjs` opens with `import { performance }
|
|
176
|
+
* from "node:perf_hooks"` and ends with `const { runMain } = await
|
|
177
|
+
* import("./dist/index.mjs"); runMain()` — both ESM imports AND TLA.
|
|
178
|
+
* Pre-fix the IIFE wrap caused esbuild to fail with
|
|
179
|
+
* `Unexpected "<binding>"` at line 3 of stdin.
|
|
180
|
+
*
|
|
181
|
+
* Fix: when TLA AND ESM imports coexist, run a two-stage transform:
|
|
182
|
+
* 1. Pass 1: `esbuild.transform(code, { format: 'esm', ... })` —
|
|
183
|
+
* esbuild accepts TLA + imports cleanly when emitting ESM.
|
|
184
|
+
* Output is JS-canonicalised: multi-line imports collapsed,
|
|
185
|
+
* bindings normalised, etc.
|
|
186
|
+
* 2. Extract top-level imports from the pass-1 output and rewrite
|
|
187
|
+
* them as `const X = require(...)` shims (see
|
|
188
|
+
* `convertEsmImportsToRequire` for the contract / shape).
|
|
189
|
+
* 3. Wrap the remaining body in a returned async IIFE.
|
|
190
|
+
* 4. Return the assembled string as the transform result.
|
|
191
|
+
*
|
|
192
|
+
* The require-shim emits the standard `__esModule` interop check
|
|
193
|
+
* (matches what esbuild itself emits for ESM→CJS conversions), so
|
|
194
|
+
* default-export binding semantics are preserved.
|
|
195
|
+
*
|
|
196
|
+
* If TLA but no ESM imports → existing single-pass IIFE wrap.
|
|
197
|
+
* If ESM imports but no TLA → existing single-pass esbuild
|
|
198
|
+
* format:cjs (it auto-converts ESM→CJS gracefully).
|
|
199
|
+
*
|
|
200
|
+
* This is bytes-stable for sources outside the TLA+ESM-imports
|
|
201
|
+
* intersection.
|
|
202
|
+
*/
|
|
203
|
+
transform(code: string, options?: {
|
|
204
|
+
loader?: 'ts' | 'tsx' | 'jsx' | 'js' | 'css' | 'json';
|
|
205
|
+
format?: 'esm' | 'cjs' | 'iife';
|
|
206
|
+
target?: string;
|
|
207
|
+
sourcemap?: boolean | 'inline' | 'external';
|
|
208
|
+
minify?: boolean;
|
|
209
|
+
jsx?: 'transform' | 'preserve' | 'automatic';
|
|
210
|
+
jsxFactory?: string;
|
|
211
|
+
jsxFragment?: string;
|
|
212
|
+
tsconfigRaw?: string;
|
|
213
|
+
define?: Record<string, string>;
|
|
214
|
+
}): Promise<TransformResult>;
|
|
215
|
+
/**
|
|
216
|
+
* Bundle entry points from the VFS.
|
|
217
|
+
*/
|
|
218
|
+
build(entryPoints: string[], options?: {
|
|
219
|
+
bundle?: boolean;
|
|
220
|
+
format?: 'esm' | 'cjs' | 'iife';
|
|
221
|
+
target?: string;
|
|
222
|
+
platform?: 'browser' | 'node' | 'neutral';
|
|
223
|
+
outdir?: string;
|
|
224
|
+
outfile?: string;
|
|
225
|
+
sourcemap?: boolean | 'inline' | 'external';
|
|
226
|
+
minify?: boolean;
|
|
227
|
+
external?: string[];
|
|
228
|
+
define?: Record<string, string>;
|
|
229
|
+
globalName?: string;
|
|
230
|
+
tsconfigRaw?: string;
|
|
231
|
+
alias?: Record<string, string>;
|
|
232
|
+
keepNames?: boolean;
|
|
233
|
+
}): Promise<BuildResult>;
|
|
234
|
+
/**
|
|
235
|
+
* VFS resolver plugin for esbuild.
|
|
236
|
+
* Reads directly from the SqliteVFS (synchronous, co-located — no snapshot needed).
|
|
237
|
+
* Handles: absolute paths, relative paths, bare specifiers (node_modules).
|
|
238
|
+
*/
|
|
239
|
+
private makeVfsPlugin;
|
|
240
|
+
get isInitialized(): boolean;
|
|
241
|
+
}
|
|
242
|
+
//# sourceMappingURL=esbuild-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"esbuild-service.d.ts","sourceRoot":"","sources":["../../src/runtime/esbuild-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAmB,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAKvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,eAAe,OAAO,CAAC;AAIpC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CA4DrE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CA0CrD;AA8kBD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,GAAG,CAAA;KAAE,EAAE,CAAC;CAC9C;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,GAAG,CAAA;KAAE,EAAE,CAAC;IAC3C,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,GAAG,CAAA;KAAE,EAAE,CAAC;CAC9C;AAID,qBAAa,cAAc;IACzB,OAAO,CAAC,GAAG,CAAkB;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAA8B;IACjD,kFAAkF;IAClF,OAAO,CAAC,QAAQ,CAA+B;gBAEnC,GAAG,EAAE,SAAS;IAI1B;;;;;;OAMG;YACW,UAAU;IAmExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6DG;IACG,SAAS,CACb,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;QACtD,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;QAChC,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;QAC5C,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,GAAG,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,WAAW,CAAC;QAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACjC,GACA,OAAO,CAAC,eAAe,CAAC;IAsF3B;;OAEG;IACG,KAAK,CACT,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;QAChC,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;QAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;QAC5C,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,GACA,OAAO,CAAC,WAAW,CAAC;IA0CvB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IA4UrB,IAAI,aAAa,YAA+B;CACjD"}
|