@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.
Files changed (1056) hide show
  1. package/dist/_shared/ai-egress.d.ts +73 -0
  2. package/dist/_shared/ai-egress.d.ts.map +1 -0
  3. package/dist/_shared/ai-egress.js +88 -0
  4. package/dist/_shared/byte-stream.d.ts +59 -0
  5. package/dist/_shared/byte-stream.d.ts.map +1 -0
  6. package/dist/_shared/byte-stream.js +77 -0
  7. package/dist/_shared/bytes.d.ts +18 -0
  8. package/dist/_shared/bytes.d.ts.map +1 -0
  9. package/dist/_shared/bytes.js +17 -0
  10. package/dist/_shared/cache-stats.d.ts +145 -0
  11. package/dist/_shared/cache-stats.d.ts.map +1 -0
  12. package/dist/_shared/cache-stats.js +161 -0
  13. package/dist/_shared/crypto.d.ts +17 -0
  14. package/dist/_shared/crypto.d.ts.map +1 -0
  15. package/dist/_shared/crypto.js +131 -0
  16. package/dist/_shared/esbuild-facet-shim.d.ts +21 -0
  17. package/dist/_shared/esbuild-facet-shim.d.ts.map +1 -0
  18. package/dist/_shared/esbuild-facet-shim.js +22 -0
  19. package/dist/_shared/exports-resolver.d.ts +74 -0
  20. package/dist/_shared/exports-resolver.d.ts.map +1 -0
  21. package/dist/_shared/exports-resolver.js +284 -0
  22. package/dist/_shared/facet-vfs-cursor.d.ts +48 -0
  23. package/dist/_shared/facet-vfs-cursor.d.ts.map +1 -0
  24. package/dist/_shared/facet-vfs-cursor.js +51 -0
  25. package/dist/_shared/install-phase.d.ts +47 -0
  26. package/dist/_shared/install-phase.d.ts.map +1 -0
  27. package/dist/_shared/install-phase.js +1 -0
  28. package/dist/_shared/lru-map.d.ts +25 -0
  29. package/dist/_shared/lru-map.d.ts.map +1 -0
  30. package/dist/_shared/lru-map.js +57 -0
  31. package/dist/_shared/real-node-imports.d.ts +43 -0
  32. package/dist/_shared/real-node-imports.d.ts.map +1 -0
  33. package/dist/_shared/real-node-imports.js +52 -0
  34. package/dist/_shared/retry.d.ts +92 -0
  35. package/dist/_shared/retry.d.ts.map +1 -0
  36. package/dist/_shared/retry.js +155 -0
  37. package/dist/_shared/rpc-dispose.d.ts +4 -0
  38. package/dist/_shared/rpc-dispose.d.ts.map +1 -0
  39. package/dist/_shared/rpc-dispose.js +30 -0
  40. package/dist/_shared/terminal.d.ts +2 -0
  41. package/dist/_shared/terminal.d.ts.map +1 -0
  42. package/dist/_shared/terminal.js +3 -0
  43. package/dist/_shared/typescript-specifiers.d.ts +58 -0
  44. package/dist/_shared/typescript-specifiers.d.ts.map +1 -0
  45. package/dist/_shared/typescript-specifiers.js +84 -0
  46. package/dist/_shared/untrusted-request.d.ts +34 -0
  47. package/dist/_shared/untrusted-request.d.ts.map +1 -0
  48. package/dist/_shared/untrusted-request.js +74 -0
  49. package/dist/_shared/vfs-write-ledger.d.ts +3 -0
  50. package/dist/_shared/vfs-write-ledger.d.ts.map +1 -0
  51. package/dist/_shared/vfs-write-ledger.js +439 -0
  52. package/dist/_shared/w7-frame.d.ts +79 -0
  53. package/dist/_shared/w7-frame.d.ts.map +1 -0
  54. package/dist/_shared/w7-frame.js +839 -0
  55. package/dist/_shared/weighted-credit-pool.d.ts +61 -0
  56. package/dist/_shared/weighted-credit-pool.d.ts.map +1 -0
  57. package/dist/_shared/weighted-credit-pool.js +196 -0
  58. package/dist/constants.d.ts +64 -0
  59. package/dist/constants.d.ts.map +1 -0
  60. package/dist/constants.js +264 -0
  61. package/dist/index.d.ts +16 -0
  62. package/dist/index.d.ts.map +1 -0
  63. package/dist/index.js +13 -0
  64. package/dist/observability/diag-counters.d.ts +236 -0
  65. package/dist/observability/diag-counters.d.ts.map +1 -0
  66. package/dist/observability/diag-counters.js +195 -0
  67. package/dist/observability/heap-estimate.d.ts +225 -0
  68. package/dist/observability/heap-estimate.d.ts.map +1 -0
  69. package/dist/observability/heap-estimate.js +185 -0
  70. package/dist/observability/heavy-alloc-coord.d.ts +93 -0
  71. package/dist/observability/heavy-alloc-coord.d.ts.map +1 -0
  72. package/dist/observability/heavy-alloc-coord.js +181 -0
  73. package/dist/observability/oom-classify.d.ts +138 -0
  74. package/dist/observability/oom-classify.d.ts.map +1 -0
  75. package/dist/observability/oom-classify.js +261 -0
  76. package/dist/observability/oom-discriminator.d.ts +176 -0
  77. package/dist/observability/oom-discriminator.d.ts.map +1 -0
  78. package/dist/observability/oom-discriminator.js +272 -0
  79. package/dist/runtime/assets-loader.d.ts +71 -0
  80. package/dist/runtime/assets-loader.d.ts.map +1 -0
  81. package/dist/runtime/assets-loader.js +139 -0
  82. package/dist/runtime/barrel-detect.d.ts +46 -0
  83. package/dist/runtime/barrel-detect.d.ts.map +1 -0
  84. package/dist/runtime/barrel-detect.js +73 -0
  85. package/dist/runtime/bash/preamble.d.ts +2 -0
  86. package/dist/runtime/bash/preamble.d.ts.map +1 -0
  87. package/dist/runtime/bash/preamble.js +1849 -0
  88. package/dist/runtime/bash/types.d.ts +433 -0
  89. package/dist/runtime/bash/types.d.ts.map +1 -0
  90. package/dist/runtime/bash/types.js +1 -0
  91. package/dist/runtime/bundle-profile.d.ts +14 -0
  92. package/dist/runtime/bundle-profile.d.ts.map +1 -0
  93. package/dist/runtime/bundle-profile.js +20 -0
  94. package/dist/runtime/cirrus-vite-config-rewriter.d.ts +2 -0
  95. package/dist/runtime/cirrus-vite-config-rewriter.d.ts.map +1 -0
  96. package/dist/runtime/cirrus-vite-config-rewriter.js +28 -0
  97. package/dist/runtime/cli-flags.d.ts +2 -0
  98. package/dist/runtime/cli-flags.d.ts.map +1 -0
  99. package/dist/runtime/cli-flags.js +11 -0
  100. package/dist/runtime/comment-strip.d.ts +37 -0
  101. package/dist/runtime/comment-strip.d.ts.map +1 -0
  102. package/dist/runtime/comment-strip.js +74 -0
  103. package/dist/runtime/cpython-preamble.d.ts +32 -0
  104. package/dist/runtime/cpython-preamble.d.ts.map +1 -0
  105. package/dist/runtime/cpython-preamble.js +296 -0
  106. package/dist/runtime/esbuild-service.d.ts +242 -0
  107. package/dist/runtime/esbuild-service.d.ts.map +1 -0
  108. package/dist/runtime/esbuild-service.js +1452 -0
  109. package/dist/runtime/framework-detect.d.ts +70 -0
  110. package/dist/runtime/framework-detect.d.ts.map +1 -0
  111. package/dist/runtime/framework-detect.js +177 -0
  112. package/dist/runtime/import-meta-transform.d.ts +3 -0
  113. package/dist/runtime/import-meta-transform.d.ts.map +1 -0
  114. package/dist/runtime/import-meta-transform.js +15 -0
  115. package/dist/runtime/javascript-ast.d.ts +13 -0
  116. package/dist/runtime/javascript-ast.d.ts.map +1 -0
  117. package/dist/runtime/javascript-ast.js +57 -0
  118. package/dist/runtime/long-running-handle.d.ts +119 -0
  119. package/dist/runtime/long-running-handle.d.ts.map +1 -0
  120. package/dist/runtime/long-running-handle.js +169 -0
  121. package/dist/runtime/module-source-rewriter.d.ts +11 -0
  122. package/dist/runtime/module-source-rewriter.d.ts.map +1 -0
  123. package/dist/runtime/module-source-rewriter.js +61 -0
  124. package/dist/runtime/opentui-wasm-backend.d.ts +160 -0
  125. package/dist/runtime/opentui-wasm-backend.d.ts.map +1 -0
  126. package/dist/runtime/opentui-wasm-backend.js +416 -0
  127. package/dist/runtime/os-contracts.d.ts +436 -0
  128. package/dist/runtime/os-contracts.d.ts.map +1 -0
  129. package/dist/runtime/os-contracts.js +101 -0
  130. package/dist/runtime/port-registry.d.ts +100 -0
  131. package/dist/runtime/port-registry.d.ts.map +1 -0
  132. package/dist/runtime/port-registry.js +265 -0
  133. package/dist/runtime/process-input-routing.d.ts +33 -0
  134. package/dist/runtime/process-input-routing.d.ts.map +1 -0
  135. package/dist/runtime/process-input-routing.js +59 -0
  136. package/dist/runtime/process-input.d.ts +39 -0
  137. package/dist/runtime/process-input.d.ts.map +1 -0
  138. package/dist/runtime/process-input.js +117 -0
  139. package/dist/runtime/process-io-protocol.d.ts +90 -0
  140. package/dist/runtime/process-io-protocol.d.ts.map +1 -0
  141. package/dist/runtime/process-io-protocol.js +81 -0
  142. package/dist/runtime/process-logs.d.ts +352 -0
  143. package/dist/runtime/process-logs.d.ts.map +1 -0
  144. package/dist/runtime/process-logs.js +750 -0
  145. package/dist/runtime/process-table.d.ts +101 -0
  146. package/dist/runtime/process-table.d.ts.map +1 -0
  147. package/dist/runtime/process-table.js +175 -0
  148. package/dist/runtime/project-detect.d.ts +21 -0
  149. package/dist/runtime/project-detect.d.ts.map +1 -0
  150. package/dist/runtime/project-detect.js +46 -0
  151. package/dist/runtime/python-server-adapter.d.ts +33 -0
  152. package/dist/runtime/python-server-adapter.d.ts.map +1 -0
  153. package/dist/runtime/python-server-adapter.js +132 -0
  154. package/dist/runtime/require-resolver.d.ts +44 -0
  155. package/dist/runtime/require-resolver.d.ts.map +1 -0
  156. package/dist/runtime/require-resolver.js +698 -0
  157. package/dist/runtime/router-basename.d.ts +36 -0
  158. package/dist/runtime/router-basename.d.ts.map +1 -0
  159. package/dist/runtime/router-basename.js +310 -0
  160. package/dist/runtime/ruby-green-threads.d.ts +136 -0
  161. package/dist/runtime/ruby-green-threads.d.ts.map +1 -0
  162. package/dist/runtime/ruby-green-threads.js +904 -0
  163. package/dist/runtime/ruby-socket-shim.d.ts +2 -0
  164. package/dist/runtime/ruby-socket-shim.d.ts.map +1 -0
  165. package/dist/runtime/ruby-socket-shim.js +548 -0
  166. package/dist/runtime/session-process-supervisor.d.ts +156 -0
  167. package/dist/runtime/session-process-supervisor.d.ts.map +1 -0
  168. package/dist/runtime/session-process-supervisor.js +238 -0
  169. package/dist/runtime/sqlite-runtime-fs-bridge.d.ts +70 -0
  170. package/dist/runtime/sqlite-runtime-fs-bridge.d.ts.map +1 -0
  171. package/dist/runtime/sqlite-runtime-fs-bridge.js +425 -0
  172. package/dist/runtime/streams.d.ts +13 -0
  173. package/dist/runtime/streams.d.ts.map +1 -0
  174. package/dist/runtime/streams.js +546 -0
  175. package/dist/runtime/undici-shim.d.ts +62 -0
  176. package/dist/runtime/undici-shim.d.ts.map +1 -0
  177. package/dist/runtime/undici-shim.js +516 -0
  178. package/dist/runtime/vfs-manifest.d.ts +63 -0
  179. package/dist/runtime/vfs-manifest.d.ts.map +1 -0
  180. package/dist/runtime/vfs-manifest.js +141 -0
  181. package/dist/runtime/vfs-snapshot.d.ts +75 -0
  182. package/dist/runtime/vfs-snapshot.d.ts.map +1 -0
  183. package/dist/runtime/vfs-snapshot.js +220 -0
  184. package/dist/runtime/virtual-socket-kernel.d.ts +252 -0
  185. package/dist/runtime/virtual-socket-kernel.d.ts.map +1 -0
  186. package/dist/runtime/virtual-socket-kernel.js +1143 -0
  187. package/dist/runtime/vite-config-parser.d.ts +13 -0
  188. package/dist/runtime/vite-config-parser.d.ts.map +1 -0
  189. package/dist/runtime/vite-config-parser.js +258 -0
  190. package/dist/runtime/wasi/types.d.ts +347 -0
  191. package/dist/runtime/wasi/types.d.ts.map +1 -0
  192. package/dist/runtime/wasi/types.js +1 -0
  193. package/dist/runtime/wasi-instance.d.ts +215 -0
  194. package/dist/runtime/wasi-instance.d.ts.map +1 -0
  195. package/dist/runtime/wasi-instance.generated.d.ts +14 -0
  196. package/dist/runtime/wasi-instance.generated.d.ts.map +1 -0
  197. package/dist/runtime/wasi-instance.generated.js +13 -0
  198. package/dist/runtime/wasi-instance.js +179 -0
  199. package/dist/runtime/wasi-threads.d.ts +169 -0
  200. package/dist/runtime/wasi-threads.d.ts.map +1 -0
  201. package/dist/runtime/wasi-threads.js +669 -0
  202. package/dist/runtime/wasm-memory.d.ts +84 -0
  203. package/dist/runtime/wasm-memory.d.ts.map +1 -0
  204. package/dist/runtime/wasm-memory.js +235 -0
  205. package/dist/shell/elevation-commands.d.ts +5 -0
  206. package/dist/shell/elevation-commands.d.ts.map +1 -0
  207. package/dist/shell/elevation-commands.js +109 -0
  208. package/dist/shell/exec-dispatch.d.ts +57 -0
  209. package/dist/shell/exec-dispatch.d.ts.map +1 -0
  210. package/dist/shell/exec-dispatch.js +181 -0
  211. package/dist/shell/features.d.ts +154 -0
  212. package/dist/shell/features.d.ts.map +1 -0
  213. package/dist/shell/features.js +792 -0
  214. package/dist/shell/shell-entrypoints.d.ts +55 -0
  215. package/dist/shell/shell-entrypoints.d.ts.map +1 -0
  216. package/dist/shell/shell-entrypoints.js +230 -0
  217. package/dist/shell/shell-invocation.d.ts +36 -0
  218. package/dist/shell/shell-invocation.d.ts.map +1 -0
  219. package/dist/shell/shell-invocation.js +148 -0
  220. package/dist/shell/unix-accounts.d.ts +27 -0
  221. package/dist/shell/unix-accounts.d.ts.map +1 -0
  222. package/dist/shell/unix-accounts.js +105 -0
  223. package/dist/shell/unix-commands.d.ts +15 -0
  224. package/dist/shell/unix-commands.d.ts.map +1 -0
  225. package/dist/shell/unix-commands.js +4702 -0
  226. package/dist/substrate/lifo/commands/archive/gunzip.d.ts +4 -0
  227. package/dist/substrate/lifo/commands/archive/gunzip.d.ts.map +1 -0
  228. package/dist/substrate/lifo/commands/archive/gunzip.js +58 -0
  229. package/dist/substrate/lifo/commands/archive/gzip.d.ts +4 -0
  230. package/dist/substrate/lifo/commands/archive/gzip.d.ts.map +1 -0
  231. package/dist/substrate/lifo/commands/archive/gzip.js +73 -0
  232. package/dist/substrate/lifo/commands/archive/tar.d.ts +4 -0
  233. package/dist/substrate/lifo/commands/archive/tar.d.ts.map +1 -0
  234. package/dist/substrate/lifo/commands/archive/tar.js +158 -0
  235. package/dist/substrate/lifo/commands/archive/unzip.d.ts +4 -0
  236. package/dist/substrate/lifo/commands/archive/unzip.d.ts.map +1 -0
  237. package/dist/substrate/lifo/commands/archive/unzip.js +114 -0
  238. package/dist/substrate/lifo/commands/archive/zip.d.ts +4 -0
  239. package/dist/substrate/lifo/commands/archive/zip.d.ts.map +1 -0
  240. package/dist/substrate/lifo/commands/archive/zip.js +58 -0
  241. package/dist/substrate/lifo/commands/fs/basename.d.ts +4 -0
  242. package/dist/substrate/lifo/commands/fs/basename.d.ts.map +1 -0
  243. package/dist/substrate/lifo/commands/fs/basename.js +12 -0
  244. package/dist/substrate/lifo/commands/fs/cat.d.ts +4 -0
  245. package/dist/substrate/lifo/commands/fs/cat.d.ts.map +1 -0
  246. package/dist/substrate/lifo/commands/fs/cat.js +52 -0
  247. package/dist/substrate/lifo/commands/fs/chmod.d.ts +25 -0
  248. package/dist/substrate/lifo/commands/fs/chmod.d.ts.map +1 -0
  249. package/dist/substrate/lifo/commands/fs/chmod.js +97 -0
  250. package/dist/substrate/lifo/commands/fs/chown.d.ts +4 -0
  251. package/dist/substrate/lifo/commands/fs/chown.d.ts.map +1 -0
  252. package/dist/substrate/lifo/commands/fs/chown.js +41 -0
  253. package/dist/substrate/lifo/commands/fs/cp.d.ts +4 -0
  254. package/dist/substrate/lifo/commands/fs/cp.d.ts.map +1 -0
  255. package/dist/substrate/lifo/commands/fs/cp.js +29 -0
  256. package/dist/substrate/lifo/commands/fs/df.d.ts +4 -0
  257. package/dist/substrate/lifo/commands/fs/df.d.ts.map +1 -0
  258. package/dist/substrate/lifo/commands/fs/df.js +52 -0
  259. package/dist/substrate/lifo/commands/fs/dirname.d.ts +4 -0
  260. package/dist/substrate/lifo/commands/fs/dirname.d.ts.map +1 -0
  261. package/dist/substrate/lifo/commands/fs/dirname.js +12 -0
  262. package/dist/substrate/lifo/commands/fs/du.d.ts +4 -0
  263. package/dist/substrate/lifo/commands/fs/du.d.ts.map +1 -0
  264. package/dist/substrate/lifo/commands/fs/du.js +104 -0
  265. package/dist/substrate/lifo/commands/fs/file.d.ts +4 -0
  266. package/dist/substrate/lifo/commands/fs/file.d.ts.map +1 -0
  267. package/dist/substrate/lifo/commands/fs/file.js +84 -0
  268. package/dist/substrate/lifo/commands/fs/find.d.ts +4 -0
  269. package/dist/substrate/lifo/commands/fs/find.d.ts.map +1 -0
  270. package/dist/substrate/lifo/commands/fs/find.js +72 -0
  271. package/dist/substrate/lifo/commands/fs/ln.d.ts +4 -0
  272. package/dist/substrate/lifo/commands/fs/ln.d.ts.map +1 -0
  273. package/dist/substrate/lifo/commands/fs/ln.js +15 -0
  274. package/dist/substrate/lifo/commands/fs/ls.d.ts +4 -0
  275. package/dist/substrate/lifo/commands/fs/ls.d.ts.map +1 -0
  276. package/dist/substrate/lifo/commands/fs/ls.js +146 -0
  277. package/dist/substrate/lifo/commands/fs/mkdir.d.ts +4 -0
  278. package/dist/substrate/lifo/commands/fs/mkdir.d.ts.map +1 -0
  279. package/dist/substrate/lifo/commands/fs/mkdir.js +31 -0
  280. package/dist/substrate/lifo/commands/fs/mktemp.d.ts +4 -0
  281. package/dist/substrate/lifo/commands/fs/mktemp.d.ts.map +1 -0
  282. package/dist/substrate/lifo/commands/fs/mktemp.js +48 -0
  283. package/dist/substrate/lifo/commands/fs/mv.d.ts +4 -0
  284. package/dist/substrate/lifo/commands/fs/mv.d.ts.map +1 -0
  285. package/dist/substrate/lifo/commands/fs/mv.js +113 -0
  286. package/dist/substrate/lifo/commands/fs/realpath.d.ts +4 -0
  287. package/dist/substrate/lifo/commands/fs/realpath.d.ts.map +1 -0
  288. package/dist/substrate/lifo/commands/fs/realpath.js +27 -0
  289. package/dist/substrate/lifo/commands/fs/rm.d.ts +4 -0
  290. package/dist/substrate/lifo/commands/fs/rm.d.ts.map +1 -0
  291. package/dist/substrate/lifo/commands/fs/rm.js +48 -0
  292. package/dist/substrate/lifo/commands/fs/rmdir.d.ts +4 -0
  293. package/dist/substrate/lifo/commands/fs/rmdir.d.ts.map +1 -0
  294. package/dist/substrate/lifo/commands/fs/rmdir.js +44 -0
  295. package/dist/substrate/lifo/commands/fs/stat.d.ts +4 -0
  296. package/dist/substrate/lifo/commands/fs/stat.d.ts.map +1 -0
  297. package/dist/substrate/lifo/commands/fs/stat.js +35 -0
  298. package/dist/substrate/lifo/commands/fs/touch.d.ts +4 -0
  299. package/dist/substrate/lifo/commands/fs/touch.d.ts.map +1 -0
  300. package/dist/substrate/lifo/commands/fs/touch.js +26 -0
  301. package/dist/substrate/lifo/commands/fs/tree.d.ts +4 -0
  302. package/dist/substrate/lifo/commands/fs/tree.d.ts.map +1 -0
  303. package/dist/substrate/lifo/commands/fs/tree.js +69 -0
  304. package/dist/substrate/lifo/commands/index.d.ts +3 -0
  305. package/dist/substrate/lifo/commands/index.d.ts.map +1 -0
  306. package/dist/substrate/lifo/commands/index.js +1 -0
  307. package/dist/substrate/lifo/commands/io/dd.d.ts +4 -0
  308. package/dist/substrate/lifo/commands/io/dd.d.ts.map +1 -0
  309. package/dist/substrate/lifo/commands/io/dd.js +256 -0
  310. package/dist/substrate/lifo/commands/io/printf.d.ts +4 -0
  311. package/dist/substrate/lifo/commands/io/printf.d.ts.map +1 -0
  312. package/dist/substrate/lifo/commands/io/printf.js +82 -0
  313. package/dist/substrate/lifo/commands/io/tee.d.ts +4 -0
  314. package/dist/substrate/lifo/commands/io/tee.d.ts.map +1 -0
  315. package/dist/substrate/lifo/commands/io/tee.js +31 -0
  316. package/dist/substrate/lifo/commands/io/xargs.d.ts +4 -0
  317. package/dist/substrate/lifo/commands/io/xargs.d.ts.map +1 -0
  318. package/dist/substrate/lifo/commands/io/xargs.js +44 -0
  319. package/dist/substrate/lifo/commands/io/yes.d.ts +4 -0
  320. package/dist/substrate/lifo/commands/io/yes.d.ts.map +1 -0
  321. package/dist/substrate/lifo/commands/io/yes.js +10 -0
  322. package/dist/substrate/lifo/commands/net/curl.d.ts +6 -0
  323. package/dist/substrate/lifo/commands/net/curl.d.ts.map +1 -0
  324. package/dist/substrate/lifo/commands/net/curl.js +617 -0
  325. package/dist/substrate/lifo/commands/net/dig.d.ts +4 -0
  326. package/dist/substrate/lifo/commands/net/dig.d.ts.map +1 -0
  327. package/dist/substrate/lifo/commands/net/dig.js +77 -0
  328. package/dist/substrate/lifo/commands/net/forward.d.ts +14 -0
  329. package/dist/substrate/lifo/commands/net/forward.d.ts.map +1 -0
  330. package/dist/substrate/lifo/commands/net/forward.js +80 -0
  331. package/dist/substrate/lifo/commands/net/host.d.ts +14 -0
  332. package/dist/substrate/lifo/commands/net/host.d.ts.map +1 -0
  333. package/dist/substrate/lifo/commands/net/host.js +160 -0
  334. package/dist/substrate/lifo/commands/net/ifconfig.d.ts +8 -0
  335. package/dist/substrate/lifo/commands/net/ifconfig.d.ts.map +1 -0
  336. package/dist/substrate/lifo/commands/net/ifconfig.js +120 -0
  337. package/dist/substrate/lifo/commands/net/ip.d.ts +14 -0
  338. package/dist/substrate/lifo/commands/net/ip.d.ts.map +1 -0
  339. package/dist/substrate/lifo/commands/net/ip.js +508 -0
  340. package/dist/substrate/lifo/commands/net/netstat.d.ts +8 -0
  341. package/dist/substrate/lifo/commands/net/netstat.d.ts.map +1 -0
  342. package/dist/substrate/lifo/commands/net/netstat.js +94 -0
  343. package/dist/substrate/lifo/commands/net/ping.d.ts +4 -0
  344. package/dist/substrate/lifo/commands/net/ping.d.ts.map +1 -0
  345. package/dist/substrate/lifo/commands/net/ping.js +64 -0
  346. package/dist/substrate/lifo/commands/net/ports.d.ts +8 -0
  347. package/dist/substrate/lifo/commands/net/ports.d.ts.map +1 -0
  348. package/dist/substrate/lifo/commands/net/ports.js +36 -0
  349. package/dist/substrate/lifo/commands/net/route.d.ts +8 -0
  350. package/dist/substrate/lifo/commands/net/route.d.ts.map +1 -0
  351. package/dist/substrate/lifo/commands/net/route.js +128 -0
  352. package/dist/substrate/lifo/commands/net/tunnel-v2.d.ts +4 -0
  353. package/dist/substrate/lifo/commands/net/tunnel-v2.d.ts.map +1 -0
  354. package/dist/substrate/lifo/commands/net/tunnel-v2.js +141 -0
  355. package/dist/substrate/lifo/commands/net/tunnel.d.ts +6 -0
  356. package/dist/substrate/lifo/commands/net/tunnel.d.ts.map +1 -0
  357. package/dist/substrate/lifo/commands/net/tunnel.js +232 -0
  358. package/dist/substrate/lifo/commands/net/wget.d.ts +4 -0
  359. package/dist/substrate/lifo/commands/net/wget.d.ts.map +1 -0
  360. package/dist/substrate/lifo/commands/net/wget.js +78 -0
  361. package/dist/substrate/lifo/commands/registry.d.ts +15 -0
  362. package/dist/substrate/lifo/commands/registry.d.ts.map +1 -0
  363. package/dist/substrate/lifo/commands/registry.js +120 -0
  364. package/dist/substrate/lifo/commands/signal.d.ts +12 -0
  365. package/dist/substrate/lifo/commands/signal.d.ts.map +1 -0
  366. package/dist/substrate/lifo/commands/signal.js +47 -0
  367. package/dist/substrate/lifo/commands/system/bc.d.ts +4 -0
  368. package/dist/substrate/lifo/commands/system/bc.d.ts.map +1 -0
  369. package/dist/substrate/lifo/commands/system/bc.js +243 -0
  370. package/dist/substrate/lifo/commands/system/cal.d.ts +4 -0
  371. package/dist/substrate/lifo/commands/system/cal.d.ts.map +1 -0
  372. package/dist/substrate/lifo/commands/system/cal.js +81 -0
  373. package/dist/substrate/lifo/commands/system/date.d.ts +4 -0
  374. package/dist/substrate/lifo/commands/system/date.d.ts.map +1 -0
  375. package/dist/substrate/lifo/commands/system/date.js +79 -0
  376. package/dist/substrate/lifo/commands/system/env.d.ts +4 -0
  377. package/dist/substrate/lifo/commands/system/env.d.ts.map +1 -0
  378. package/dist/substrate/lifo/commands/system/env.js +7 -0
  379. package/dist/substrate/lifo/commands/system/fastfetch.d.ts +4 -0
  380. package/dist/substrate/lifo/commands/system/fastfetch.d.ts.map +1 -0
  381. package/dist/substrate/lifo/commands/system/fastfetch.js +385 -0
  382. package/dist/substrate/lifo/commands/system/free.d.ts +4 -0
  383. package/dist/substrate/lifo/commands/system/free.d.ts.map +1 -0
  384. package/dist/substrate/lifo/commands/system/free.js +36 -0
  385. package/dist/substrate/lifo/commands/system/help.d.ts +4 -0
  386. package/dist/substrate/lifo/commands/system/help.d.ts.map +1 -0
  387. package/dist/substrate/lifo/commands/system/help.js +46 -0
  388. package/dist/substrate/lifo/commands/system/hostname.d.ts +4 -0
  389. package/dist/substrate/lifo/commands/system/hostname.d.ts.map +1 -0
  390. package/dist/substrate/lifo/commands/system/hostname.js +6 -0
  391. package/dist/substrate/lifo/commands/system/kill.d.ts +4 -0
  392. package/dist/substrate/lifo/commands/system/kill.d.ts.map +1 -0
  393. package/dist/substrate/lifo/commands/system/kill.js +76 -0
  394. package/dist/substrate/lifo/commands/system/lifo.d.ts +41 -0
  395. package/dist/substrate/lifo/commands/system/lifo.d.ts.map +1 -0
  396. package/dist/substrate/lifo/commands/system/lifo.js +446 -0
  397. package/dist/substrate/lifo/commands/system/logout.d.ts +5 -0
  398. package/dist/substrate/lifo/commands/system/logout.d.ts.map +1 -0
  399. package/dist/substrate/lifo/commands/system/logout.js +15 -0
  400. package/dist/substrate/lifo/commands/system/man.d.ts +4 -0
  401. package/dist/substrate/lifo/commands/system/man.d.ts.map +1 -0
  402. package/dist/substrate/lifo/commands/system/man.js +144 -0
  403. package/dist/substrate/lifo/commands/system/node.d.ts +6 -0
  404. package/dist/substrate/lifo/commands/system/node.d.ts.map +1 -0
  405. package/dist/substrate/lifo/commands/system/node.js +1241 -0
  406. package/dist/substrate/lifo/commands/system/npm.d.ts +26 -0
  407. package/dist/substrate/lifo/commands/system/npm.d.ts.map +1 -0
  408. package/dist/substrate/lifo/commands/system/npm.js +934 -0
  409. package/dist/substrate/lifo/commands/system/pkg.d.ts +4 -0
  410. package/dist/substrate/lifo/commands/system/pkg.d.ts.map +1 -0
  411. package/dist/substrate/lifo/commands/system/pkg.js +97 -0
  412. package/dist/substrate/lifo/commands/system/ps.d.ts +5 -0
  413. package/dist/substrate/lifo/commands/system/ps.d.ts.map +1 -0
  414. package/dist/substrate/lifo/commands/system/ps.js +35 -0
  415. package/dist/substrate/lifo/commands/system/registry-schemas.d.ts +44 -0
  416. package/dist/substrate/lifo/commands/system/registry-schemas.d.ts.map +1 -0
  417. package/dist/substrate/lifo/commands/system/registry-schemas.js +28 -0
  418. package/dist/substrate/lifo/commands/system/sha256sum.d.ts +4 -0
  419. package/dist/substrate/lifo/commands/system/sha256sum.d.ts.map +1 -0
  420. package/dist/substrate/lifo/commands/system/sha256sum.js +86 -0
  421. package/dist/substrate/lifo/commands/system/sl.d.ts +4 -0
  422. package/dist/substrate/lifo/commands/system/sl.d.ts.map +1 -0
  423. package/dist/substrate/lifo/commands/system/sl.js +204 -0
  424. package/dist/substrate/lifo/commands/system/sleep.d.ts +4 -0
  425. package/dist/substrate/lifo/commands/system/sleep.d.ts.map +1 -0
  426. package/dist/substrate/lifo/commands/system/sleep.js +27 -0
  427. package/dist/substrate/lifo/commands/system/stty.d.ts +4 -0
  428. package/dist/substrate/lifo/commands/system/stty.d.ts.map +1 -0
  429. package/dist/substrate/lifo/commands/system/stty.js +61 -0
  430. package/dist/substrate/lifo/commands/system/systemctl.d.ts +4 -0
  431. package/dist/substrate/lifo/commands/system/systemctl.d.ts.map +1 -0
  432. package/dist/substrate/lifo/commands/system/systemctl.js +164 -0
  433. package/dist/substrate/lifo/commands/system/top.d.ts +4 -0
  434. package/dist/substrate/lifo/commands/system/top.d.ts.map +1 -0
  435. package/dist/substrate/lifo/commands/system/top.js +38 -0
  436. package/dist/substrate/lifo/commands/system/uname.d.ts +4 -0
  437. package/dist/substrate/lifo/commands/system/uname.d.ts.map +1 -0
  438. package/dist/substrate/lifo/commands/system/uname.js +55 -0
  439. package/dist/substrate/lifo/commands/system/uptime.d.ts +4 -0
  440. package/dist/substrate/lifo/commands/system/uptime.d.ts.map +1 -0
  441. package/dist/substrate/lifo/commands/system/uptime.js +16 -0
  442. package/dist/substrate/lifo/commands/system/watch.d.ts +4 -0
  443. package/dist/substrate/lifo/commands/system/watch.d.ts.map +1 -0
  444. package/dist/substrate/lifo/commands/system/watch.js +53 -0
  445. package/dist/substrate/lifo/commands/system/which.d.ts +4 -0
  446. package/dist/substrate/lifo/commands/system/which.d.ts.map +1 -0
  447. package/dist/substrate/lifo/commands/system/which.js +45 -0
  448. package/dist/substrate/lifo/commands/system/whoami.d.ts +4 -0
  449. package/dist/substrate/lifo/commands/system/whoami.d.ts.map +1 -0
  450. package/dist/substrate/lifo/commands/system/whoami.js +6 -0
  451. package/dist/substrate/lifo/commands/text/awk.d.ts +4 -0
  452. package/dist/substrate/lifo/commands/text/awk.d.ts.map +1 -0
  453. package/dist/substrate/lifo/commands/text/awk.js +200 -0
  454. package/dist/substrate/lifo/commands/text/base64.d.ts +4 -0
  455. package/dist/substrate/lifo/commands/text/base64.d.ts.map +1 -0
  456. package/dist/substrate/lifo/commands/text/base64.js +102 -0
  457. package/dist/substrate/lifo/commands/text/cut.d.ts +4 -0
  458. package/dist/substrate/lifo/commands/text/cut.d.ts.map +1 -0
  459. package/dist/substrate/lifo/commands/text/cut.js +91 -0
  460. package/dist/substrate/lifo/commands/text/diff.d.ts +4 -0
  461. package/dist/substrate/lifo/commands/text/diff.d.ts.map +1 -0
  462. package/dist/substrate/lifo/commands/text/diff.js +292 -0
  463. package/dist/substrate/lifo/commands/text/grep.d.ts +4 -0
  464. package/dist/substrate/lifo/commands/text/grep.d.ts.map +1 -0
  465. package/dist/substrate/lifo/commands/text/grep.js +189 -0
  466. package/dist/substrate/lifo/commands/text/head.d.ts +4 -0
  467. package/dist/substrate/lifo/commands/text/head.d.ts.map +1 -0
  468. package/dist/substrate/lifo/commands/text/head.js +111 -0
  469. package/dist/substrate/lifo/commands/text/less.d.ts +4 -0
  470. package/dist/substrate/lifo/commands/text/less.d.ts.map +1 -0
  471. package/dist/substrate/lifo/commands/text/less.js +335 -0
  472. package/dist/substrate/lifo/commands/text/nano.d.ts +4 -0
  473. package/dist/substrate/lifo/commands/text/nano.d.ts.map +1 -0
  474. package/dist/substrate/lifo/commands/text/nano.js +510 -0
  475. package/dist/substrate/lifo/commands/text/nl.d.ts +4 -0
  476. package/dist/substrate/lifo/commands/text/nl.d.ts.map +1 -0
  477. package/dist/substrate/lifo/commands/text/nl.js +64 -0
  478. package/dist/substrate/lifo/commands/text/rev.d.ts +4 -0
  479. package/dist/substrate/lifo/commands/text/rev.d.ts.map +1 -0
  480. package/dist/substrate/lifo/commands/text/rev.js +41 -0
  481. package/dist/substrate/lifo/commands/text/sed.d.ts +21 -0
  482. package/dist/substrate/lifo/commands/text/sed.d.ts.map +1 -0
  483. package/dist/substrate/lifo/commands/text/sed.js +248 -0
  484. package/dist/substrate/lifo/commands/text/seq.d.ts +4 -0
  485. package/dist/substrate/lifo/commands/text/seq.d.ts.map +1 -0
  486. package/dist/substrate/lifo/commands/text/seq.js +69 -0
  487. package/dist/substrate/lifo/commands/text/sort.d.ts +4 -0
  488. package/dist/substrate/lifo/commands/text/sort.d.ts.map +1 -0
  489. package/dist/substrate/lifo/commands/text/sort.js +90 -0
  490. package/dist/substrate/lifo/commands/text/strings.d.ts +4 -0
  491. package/dist/substrate/lifo/commands/text/strings.d.ts.map +1 -0
  492. package/dist/substrate/lifo/commands/text/strings.js +69 -0
  493. package/dist/substrate/lifo/commands/text/tac.d.ts +4 -0
  494. package/dist/substrate/lifo/commands/text/tac.d.ts.map +1 -0
  495. package/dist/substrate/lifo/commands/text/tac.js +32 -0
  496. package/dist/substrate/lifo/commands/text/tail.d.ts +4 -0
  497. package/dist/substrate/lifo/commands/text/tail.d.ts.map +1 -0
  498. package/dist/substrate/lifo/commands/text/tail.js +64 -0
  499. package/dist/substrate/lifo/commands/text/tr.d.ts +4 -0
  500. package/dist/substrate/lifo/commands/text/tr.d.ts.map +1 -0
  501. package/dist/substrate/lifo/commands/text/tr.js +180 -0
  502. package/dist/substrate/lifo/commands/text/uniq.d.ts +4 -0
  503. package/dist/substrate/lifo/commands/text/uniq.d.ts.map +1 -0
  504. package/dist/substrate/lifo/commands/text/uniq.js +82 -0
  505. package/dist/substrate/lifo/commands/text/wc.d.ts +4 -0
  506. package/dist/substrate/lifo/commands/text/wc.d.ts.map +1 -0
  507. package/dist/substrate/lifo/commands/text/wc.js +107 -0
  508. package/dist/substrate/lifo/commands/types.d.ts +49 -0
  509. package/dist/substrate/lifo/commands/types.d.ts.map +1 -0
  510. package/dist/substrate/lifo/commands/types.js +1 -0
  511. package/dist/substrate/lifo/index.d.ts +67 -0
  512. package/dist/substrate/lifo/index.d.ts.map +1 -0
  513. package/dist/substrate/lifo/index.js +66 -0
  514. package/dist/substrate/lifo/kernel/ServiceManager.d.ts +51 -0
  515. package/dist/substrate/lifo/kernel/ServiceManager.d.ts.map +1 -0
  516. package/dist/substrate/lifo/kernel/ServiceManager.js +302 -0
  517. package/dist/substrate/lifo/kernel/index.d.ts +40 -0
  518. package/dist/substrate/lifo/kernel/index.d.ts.map +1 -0
  519. package/dist/substrate/lifo/kernel/index.js +170 -0
  520. package/dist/substrate/lifo/kernel/network/Bridge.d.ts +110 -0
  521. package/dist/substrate/lifo/kernel/network/Bridge.d.ts.map +1 -0
  522. package/dist/substrate/lifo/kernel/network/Bridge.js +278 -0
  523. package/dist/substrate/lifo/kernel/network/DNSResolver.d.ts +50 -0
  524. package/dist/substrate/lifo/kernel/network/DNSResolver.d.ts.map +1 -0
  525. package/dist/substrate/lifo/kernel/network/DNSResolver.js +135 -0
  526. package/dist/substrate/lifo/kernel/network/NetworkInterface.d.ts +83 -0
  527. package/dist/substrate/lifo/kernel/network/NetworkInterface.d.ts.map +1 -0
  528. package/dist/substrate/lifo/kernel/network/NetworkInterface.js +183 -0
  529. package/dist/substrate/lifo/kernel/network/NetworkNamespace.d.ts +98 -0
  530. package/dist/substrate/lifo/kernel/network/NetworkNamespace.d.ts.map +1 -0
  531. package/dist/substrate/lifo/kernel/network/NetworkNamespace.js +149 -0
  532. package/dist/substrate/lifo/kernel/network/NetworkStack.d.ts +178 -0
  533. package/dist/substrate/lifo/kernel/network/NetworkStack.d.ts.map +1 -0
  534. package/dist/substrate/lifo/kernel/network/NetworkStack.js +460 -0
  535. package/dist/substrate/lifo/kernel/network/PortBridge.d.ts +44 -0
  536. package/dist/substrate/lifo/kernel/network/PortBridge.d.ts.map +1 -0
  537. package/dist/substrate/lifo/kernel/network/PortBridge.js +158 -0
  538. package/dist/substrate/lifo/kernel/network/RoutingTable.d.ts +55 -0
  539. package/dist/substrate/lifo/kernel/network/RoutingTable.d.ts.map +1 -0
  540. package/dist/substrate/lifo/kernel/network/RoutingTable.js +167 -0
  541. package/dist/substrate/lifo/kernel/network/Socket.d.ts +65 -0
  542. package/dist/substrate/lifo/kernel/network/Socket.d.ts.map +1 -0
  543. package/dist/substrate/lifo/kernel/network/Socket.js +201 -0
  544. package/dist/substrate/lifo/kernel/network/index.d.ts +11 -0
  545. package/dist/substrate/lifo/kernel/network/index.d.ts.map +1 -0
  546. package/dist/substrate/lifo/kernel/network/index.js +9 -0
  547. package/dist/substrate/lifo/kernel/network/tunnel/BaseTunnel.d.ts +55 -0
  548. package/dist/substrate/lifo/kernel/network/tunnel/BaseTunnel.d.ts.map +1 -0
  549. package/dist/substrate/lifo/kernel/network/tunnel/BaseTunnel.js +88 -0
  550. package/dist/substrate/lifo/kernel/network/tunnel/VETHPair.d.ts +71 -0
  551. package/dist/substrate/lifo/kernel/network/tunnel/VETHPair.d.ts.map +1 -0
  552. package/dist/substrate/lifo/kernel/network/tunnel/VETHPair.js +191 -0
  553. package/dist/substrate/lifo/kernel/network/tunnel/WebSocketTunnel.d.ts +89 -0
  554. package/dist/substrate/lifo/kernel/network/tunnel/WebSocketTunnel.d.ts.map +1 -0
  555. package/dist/substrate/lifo/kernel/network/tunnel/WebSocketTunnel.js +324 -0
  556. package/dist/substrate/lifo/kernel/network/types.d.ts +159 -0
  557. package/dist/substrate/lifo/kernel/network/types.d.ts.map +1 -0
  558. package/dist/substrate/lifo/kernel/network/types.js +5 -0
  559. package/dist/substrate/lifo/kernel/persistence/PersistenceManager.d.ts +12 -0
  560. package/dist/substrate/lifo/kernel/persistence/PersistenceManager.d.ts.map +1 -0
  561. package/dist/substrate/lifo/kernel/persistence/PersistenceManager.js +47 -0
  562. package/dist/substrate/lifo/kernel/persistence/backends.d.ts +15 -0
  563. package/dist/substrate/lifo/kernel/persistence/backends.d.ts.map +1 -0
  564. package/dist/substrate/lifo/kernel/persistence/backends.js +18 -0
  565. package/dist/substrate/lifo/kernel/persistence/index.d.ts +6 -0
  566. package/dist/substrate/lifo/kernel/persistence/index.d.ts.map +1 -0
  567. package/dist/substrate/lifo/kernel/persistence/index.js +3 -0
  568. package/dist/substrate/lifo/kernel/persistence/serializer.d.ts +21 -0
  569. package/dist/substrate/lifo/kernel/persistence/serializer.d.ts.map +1 -0
  570. package/dist/substrate/lifo/kernel/persistence/serializer.js +99 -0
  571. package/dist/substrate/lifo/kernel/samples.d.ts +3 -0
  572. package/dist/substrate/lifo/kernel/samples.d.ts.map +1 -0
  573. package/dist/substrate/lifo/kernel/samples.js +930 -0
  574. package/dist/substrate/lifo/kernel/storage/BlobStore.d.ts +22 -0
  575. package/dist/substrate/lifo/kernel/storage/BlobStore.d.ts.map +1 -0
  576. package/dist/substrate/lifo/kernel/storage/BlobStore.js +84 -0
  577. package/dist/substrate/lifo/kernel/storage/ContentStore.d.ts +54 -0
  578. package/dist/substrate/lifo/kernel/storage/ContentStore.d.ts.map +1 -0
  579. package/dist/substrate/lifo/kernel/storage/ContentStore.js +120 -0
  580. package/dist/substrate/lifo/kernel/storage/index.d.ts +6 -0
  581. package/dist/substrate/lifo/kernel/storage/index.d.ts.map +1 -0
  582. package/dist/substrate/lifo/kernel/storage/index.js +3 -0
  583. package/dist/substrate/lifo/kernel/unit-parser.d.ts +22 -0
  584. package/dist/substrate/lifo/kernel/unit-parser.d.ts.map +1 -0
  585. package/dist/substrate/lifo/kernel/unit-parser.js +80 -0
  586. package/dist/substrate/lifo/kernel/vfs/VFS.d.ts +99 -0
  587. package/dist/substrate/lifo/kernel/vfs/VFS.d.ts.map +1 -0
  588. package/dist/substrate/lifo/kernel/vfs/VFS.js +679 -0
  589. package/dist/substrate/lifo/kernel/vfs/index.d.ts +8 -0
  590. package/dist/substrate/lifo/kernel/vfs/index.d.ts.map +1 -0
  591. package/dist/substrate/lifo/kernel/vfs/index.js +5 -0
  592. package/dist/substrate/lifo/kernel/vfs/providers/DevProvider.d.ts +21 -0
  593. package/dist/substrate/lifo/kernel/vfs/providers/DevProvider.d.ts.map +1 -0
  594. package/dist/substrate/lifo/kernel/vfs/providers/DevProvider.js +137 -0
  595. package/dist/substrate/lifo/kernel/vfs/providers/NativeFsProvider.d.ts +63 -0
  596. package/dist/substrate/lifo/kernel/vfs/providers/NativeFsProvider.d.ts.map +1 -0
  597. package/dist/substrate/lifo/kernel/vfs/providers/NativeFsProvider.js +175 -0
  598. package/dist/substrate/lifo/kernel/vfs/providers/ProcProvider.d.ts +14 -0
  599. package/dist/substrate/lifo/kernel/vfs/providers/ProcProvider.d.ts.map +1 -0
  600. package/dist/substrate/lifo/kernel/vfs/providers/ProcProvider.js +126 -0
  601. package/dist/substrate/lifo/kernel/vfs/types.d.ts +117 -0
  602. package/dist/substrate/lifo/kernel/vfs/types.d.ts.map +1 -0
  603. package/dist/substrate/lifo/kernel/vfs/types.js +42 -0
  604. package/dist/substrate/lifo/node-compat/buffer.d.ts +44 -0
  605. package/dist/substrate/lifo/node-compat/buffer.d.ts.map +1 -0
  606. package/dist/substrate/lifo/node-compat/buffer.js +331 -0
  607. package/dist/substrate/lifo/node-compat/child_process.d.ts +10 -0
  608. package/dist/substrate/lifo/node-compat/child_process.d.ts.map +1 -0
  609. package/dist/substrate/lifo/node-compat/child_process.js +42 -0
  610. package/dist/substrate/lifo/node-compat/console.d.ts +21 -0
  611. package/dist/substrate/lifo/node-compat/console.d.ts.map +1 -0
  612. package/dist/substrate/lifo/node-compat/console.js +68 -0
  613. package/dist/substrate/lifo/node-compat/crypto.d.ts +24 -0
  614. package/dist/substrate/lifo/node-compat/crypto.d.ts.map +1 -0
  615. package/dist/substrate/lifo/node-compat/crypto.js +216 -0
  616. package/dist/substrate/lifo/node-compat/dns.d.ts +117 -0
  617. package/dist/substrate/lifo/node-compat/dns.d.ts.map +1 -0
  618. package/dist/substrate/lifo/node-compat/dns.js +144 -0
  619. package/dist/substrate/lifo/node-compat/esbuild.d.ts +10 -0
  620. package/dist/substrate/lifo/node-compat/esbuild.d.ts.map +1 -0
  621. package/dist/substrate/lifo/node-compat/esbuild.js +70 -0
  622. package/dist/substrate/lifo/node-compat/events.d.ts +19 -0
  623. package/dist/substrate/lifo/node-compat/events.d.ts.map +1 -0
  624. package/dist/substrate/lifo/node-compat/events.js +83 -0
  625. package/dist/substrate/lifo/node-compat/fs.d.ts +195 -0
  626. package/dist/substrate/lifo/node-compat/fs.d.ts.map +1 -0
  627. package/dist/substrate/lifo/node-compat/fs.js +624 -0
  628. package/dist/substrate/lifo/node-compat/http.d.ts +133 -0
  629. package/dist/substrate/lifo/node-compat/http.d.ts.map +1 -0
  630. package/dist/substrate/lifo/node-compat/http.js +452 -0
  631. package/dist/substrate/lifo/node-compat/index.d.ts +20 -0
  632. package/dist/substrate/lifo/node-compat/index.d.ts.map +1 -0
  633. package/dist/substrate/lifo/node-compat/index.js +291 -0
  634. package/dist/substrate/lifo/node-compat/module.d.ts +55 -0
  635. package/dist/substrate/lifo/node-compat/module.d.ts.map +1 -0
  636. package/dist/substrate/lifo/node-compat/module.js +124 -0
  637. package/dist/substrate/lifo/node-compat/os.d.ts +39 -0
  638. package/dist/substrate/lifo/node-compat/os.d.ts.map +1 -0
  639. package/dist/substrate/lifo/node-compat/os.js +45 -0
  640. package/dist/substrate/lifo/node-compat/path.d.ts +86 -0
  641. package/dist/substrate/lifo/node-compat/path.d.ts.map +1 -0
  642. package/dist/substrate/lifo/node-compat/path.js +49 -0
  643. package/dist/substrate/lifo/node-compat/process.d.ts +127 -0
  644. package/dist/substrate/lifo/node-compat/process.d.ts.map +1 -0
  645. package/dist/substrate/lifo/node-compat/process.js +173 -0
  646. package/dist/substrate/lifo/node-compat/readline.d.ts +85 -0
  647. package/dist/substrate/lifo/node-compat/readline.d.ts.map +1 -0
  648. package/dist/substrate/lifo/node-compat/readline.js +205 -0
  649. package/dist/substrate/lifo/node-compat/rimraf.d.ts +30 -0
  650. package/dist/substrate/lifo/node-compat/rimraf.d.ts.map +1 -0
  651. package/dist/substrate/lifo/node-compat/rimraf.js +63 -0
  652. package/dist/substrate/lifo/node-compat/stream.d.ts +36 -0
  653. package/dist/substrate/lifo/node-compat/stream.d.ts.map +1 -0
  654. package/dist/substrate/lifo/node-compat/stream.js +90 -0
  655. package/dist/substrate/lifo/node-compat/string_decoder.d.ts +11 -0
  656. package/dist/substrate/lifo/node-compat/string_decoder.d.ts.map +1 -0
  657. package/dist/substrate/lifo/node-compat/string_decoder.js +23 -0
  658. package/dist/substrate/lifo/node-compat/timers.d.ts +16 -0
  659. package/dist/substrate/lifo/node-compat/timers.d.ts.map +1 -0
  660. package/dist/substrate/lifo/node-compat/timers.js +18 -0
  661. package/dist/substrate/lifo/node-compat/tty.d.ts +32 -0
  662. package/dist/substrate/lifo/node-compat/tty.d.ts.map +1 -0
  663. package/dist/substrate/lifo/node-compat/tty.js +76 -0
  664. package/dist/substrate/lifo/node-compat/url.d.ts +37 -0
  665. package/dist/substrate/lifo/node-compat/url.d.ts.map +1 -0
  666. package/dist/substrate/lifo/node-compat/url.js +65 -0
  667. package/dist/substrate/lifo/node-compat/util.d.ts +42 -0
  668. package/dist/substrate/lifo/node-compat/util.d.ts.map +1 -0
  669. package/dist/substrate/lifo/node-compat/util.js +132 -0
  670. package/dist/substrate/lifo/node-compat/zlib.d.ts +66 -0
  671. package/dist/substrate/lifo/node-compat/zlib.d.ts.map +1 -0
  672. package/dist/substrate/lifo/node-compat/zlib.js +80 -0
  673. package/dist/substrate/lifo/pkg/PackageManager.d.ts +19 -0
  674. package/dist/substrate/lifo/pkg/PackageManager.d.ts.map +1 -0
  675. package/dist/substrate/lifo/pkg/PackageManager.js +97 -0
  676. package/dist/substrate/lifo/pkg/lifo-dev.d.ts +38 -0
  677. package/dist/substrate/lifo/pkg/lifo-dev.d.ts.map +1 -0
  678. package/dist/substrate/lifo/pkg/lifo-dev.js +98 -0
  679. package/dist/substrate/lifo/pkg/lifo-runtime.d.ts +44 -0
  680. package/dist/substrate/lifo/pkg/lifo-runtime.d.ts.map +1 -0
  681. package/dist/substrate/lifo/pkg/lifo-runtime.js +372 -0
  682. package/dist/substrate/lifo/pkg/loader.d.ts +4 -0
  683. package/dist/substrate/lifo/pkg/loader.d.ts.map +1 -0
  684. package/dist/substrate/lifo/pkg/loader.js +24 -0
  685. package/dist/substrate/lifo/sandbox/HeadlessTerminal.d.ts +18 -0
  686. package/dist/substrate/lifo/sandbox/HeadlessTerminal.d.ts.map +1 -0
  687. package/dist/substrate/lifo/sandbox/HeadlessTerminal.js +28 -0
  688. package/dist/substrate/lifo/sandbox/Sandbox.d.ts +59 -0
  689. package/dist/substrate/lifo/sandbox/Sandbox.d.ts.map +1 -0
  690. package/dist/substrate/lifo/sandbox/Sandbox.js +234 -0
  691. package/dist/substrate/lifo/sandbox/SandboxCommands.d.ts +18 -0
  692. package/dist/substrate/lifo/sandbox/SandboxCommands.d.ts.map +1 -0
  693. package/dist/substrate/lifo/sandbox/SandboxCommands.js +64 -0
  694. package/dist/substrate/lifo/sandbox/SandboxFs.d.ts +43 -0
  695. package/dist/substrate/lifo/sandbox/SandboxFs.d.ts.map +1 -0
  696. package/dist/substrate/lifo/sandbox/SandboxFs.js +136 -0
  697. package/dist/substrate/lifo/sandbox/index.d.ts +3 -0
  698. package/dist/substrate/lifo/sandbox/index.d.ts.map +1 -0
  699. package/dist/substrate/lifo/sandbox/index.js +1 -0
  700. package/dist/substrate/lifo/sandbox/types.d.ts +116 -0
  701. package/dist/substrate/lifo/sandbox/types.d.ts.map +1 -0
  702. package/dist/substrate/lifo/sandbox/types.js +1 -0
  703. package/dist/substrate/lifo/shell/ProcessRegistry.d.ts +142 -0
  704. package/dist/substrate/lifo/shell/ProcessRegistry.d.ts.map +1 -0
  705. package/dist/substrate/lifo/shell/ProcessRegistry.js +256 -0
  706. package/dist/substrate/lifo/shell/Shell.d.ts +170 -0
  707. package/dist/substrate/lifo/shell/Shell.d.ts.map +1 -0
  708. package/dist/substrate/lifo/shell/Shell.js +1863 -0
  709. package/dist/substrate/lifo/shell/completer.d.ts +19 -0
  710. package/dist/substrate/lifo/shell/completer.d.ts.map +1 -0
  711. package/dist/substrate/lifo/shell/completer.js +164 -0
  712. package/dist/substrate/lifo/shell/default-shell.d.ts +9 -0
  713. package/dist/substrate/lifo/shell/default-shell.d.ts.map +1 -0
  714. package/dist/substrate/lifo/shell/default-shell.js +53 -0
  715. package/dist/substrate/lifo/shell/expander.d.ts +48 -0
  716. package/dist/substrate/lifo/shell/expander.d.ts.map +1 -0
  717. package/dist/substrate/lifo/shell/expander.js +1204 -0
  718. package/dist/substrate/lifo/shell/history.d.ts +22 -0
  719. package/dist/substrate/lifo/shell/history.d.ts.map +1 -0
  720. package/dist/substrate/lifo/shell/history.js +121 -0
  721. package/dist/substrate/lifo/shell/interpreter.d.ts +257 -0
  722. package/dist/substrate/lifo/shell/interpreter.d.ts.map +1 -0
  723. package/dist/substrate/lifo/shell/interpreter.js +1490 -0
  724. package/dist/substrate/lifo/shell/jobs.d.ts +21 -0
  725. package/dist/substrate/lifo/shell/jobs.d.ts.map +1 -0
  726. package/dist/substrate/lifo/shell/jobs.js +48 -0
  727. package/dist/substrate/lifo/shell/lexer.d.ts +13 -0
  728. package/dist/substrate/lifo/shell/lexer.d.ts.map +1 -0
  729. package/dist/substrate/lifo/shell/lexer.js +614 -0
  730. package/dist/substrate/lifo/shell/parser.d.ts +7 -0
  731. package/dist/substrate/lifo/shell/parser.d.ts.map +1 -0
  732. package/dist/substrate/lifo/shell/parser.js +573 -0
  733. package/dist/substrate/lifo/shell/pipe.d.ts +15 -0
  734. package/dist/substrate/lifo/shell/pipe.d.ts.map +1 -0
  735. package/dist/substrate/lifo/shell/pipe.js +86 -0
  736. package/dist/substrate/lifo/shell/signals.d.ts +11 -0
  737. package/dist/substrate/lifo/shell/signals.d.ts.map +1 -0
  738. package/dist/substrate/lifo/shell/signals.js +57 -0
  739. package/dist/substrate/lifo/shell/terminal-stdin.d.ts +28 -0
  740. package/dist/substrate/lifo/shell/terminal-stdin.d.ts.map +1 -0
  741. package/dist/substrate/lifo/shell/terminal-stdin.js +100 -0
  742. package/dist/substrate/lifo/shell/test-builtin.d.ts +16 -0
  743. package/dist/substrate/lifo/shell/test-builtin.d.ts.map +1 -0
  744. package/dist/substrate/lifo/shell/test-builtin.js +237 -0
  745. package/dist/substrate/lifo/shell/types.d.ts +140 -0
  746. package/dist/substrate/lifo/shell/types.d.ts.map +1 -0
  747. package/dist/substrate/lifo/shell/types.js +25 -0
  748. package/dist/substrate/lifo/terminal/ITerminal.d.ts +10 -0
  749. package/dist/substrate/lifo/terminal/ITerminal.d.ts.map +1 -0
  750. package/dist/substrate/lifo/terminal/ITerminal.js +1 -0
  751. package/dist/substrate/lifo/utils/archive.d.ts +28 -0
  752. package/dist/substrate/lifo/utils/archive.d.ts.map +1 -0
  753. package/dist/substrate/lifo/utils/archive.js +323 -0
  754. package/dist/substrate/lifo/utils/args.d.ts +18 -0
  755. package/dist/substrate/lifo/utils/args.d.ts.map +1 -0
  756. package/dist/substrate/lifo/utils/args.js +73 -0
  757. package/dist/substrate/lifo/utils/colors.d.ts +27 -0
  758. package/dist/substrate/lifo/utils/colors.d.ts.map +1 -0
  759. package/dist/substrate/lifo/utils/colors.js +26 -0
  760. package/dist/substrate/lifo/utils/encoding.d.ts +4 -0
  761. package/dist/substrate/lifo/utils/encoding.d.ts.map +1 -0
  762. package/dist/substrate/lifo/utils/encoding.js +18 -0
  763. package/dist/substrate/lifo/utils/glob.d.ts +12 -0
  764. package/dist/substrate/lifo/utils/glob.d.ts.map +1 -0
  765. package/dist/substrate/lifo/utils/glob.js +150 -0
  766. package/dist/substrate/lifo/utils/mime.d.ts +4 -0
  767. package/dist/substrate/lifo/utils/mime.d.ts.map +1 -0
  768. package/dist/substrate/lifo/utils/mime.js +107 -0
  769. package/dist/substrate/lifo/utils/path.d.ts +12 -0
  770. package/dist/substrate/lifo/utils/path.d.ts.map +1 -0
  771. package/dist/substrate/lifo/utils/path.js +82 -0
  772. package/dist/vfs/events.d.ts +51 -0
  773. package/dist/vfs/events.d.ts.map +1 -0
  774. package/dist/vfs/events.js +127 -0
  775. package/dist/vfs/path.d.ts +46 -0
  776. package/dist/vfs/path.d.ts.map +1 -0
  777. package/dist/vfs/path.js +69 -0
  778. package/dist/vfs/seed-project.d.ts +62 -0
  779. package/dist/vfs/seed-project.d.ts.map +1 -0
  780. package/dist/vfs/seed-project.js +1054 -0
  781. package/dist/vfs/sqlite-vfs.d.ts +821 -0
  782. package/dist/vfs/sqlite-vfs.d.ts.map +1 -0
  783. package/dist/vfs/sqlite-vfs.js +4135 -0
  784. package/dist/vfs/symlink-registry.d.ts +60 -0
  785. package/dist/vfs/symlink-registry.d.ts.map +1 -0
  786. package/dist/vfs/symlink-registry.js +162 -0
  787. package/dist/workspace/nimbus-workspace.d.ts +94 -0
  788. package/dist/workspace/nimbus-workspace.d.ts.map +1 -0
  789. package/dist/workspace/nimbus-workspace.js +167 -0
  790. package/package.json +69 -0
  791. package/src/_shared/ai-egress.ts +91 -0
  792. package/src/_shared/byte-stream.ts +97 -0
  793. package/src/_shared/bytes.ts +19 -0
  794. package/src/_shared/cache-stats.ts +231 -0
  795. package/src/_shared/crypto.ts +184 -0
  796. package/src/_shared/esbuild-facet-shim.ts +22 -0
  797. package/src/_shared/exports-resolver.ts +308 -0
  798. package/src/_shared/facet-vfs-cursor.ts +58 -0
  799. package/src/_shared/install-phase.ts +56 -0
  800. package/src/_shared/lru-map.ts +59 -0
  801. package/src/_shared/real-node-imports.ts +53 -0
  802. package/src/_shared/retry.ts +202 -0
  803. package/src/_shared/rpc-dispose.ts +31 -0
  804. package/src/_shared/terminal.ts +3 -0
  805. package/src/_shared/typescript-specifiers.ts +86 -0
  806. package/src/_shared/untrusted-request.ts +75 -0
  807. package/src/_shared/vfs-write-ledger.ts +440 -0
  808. package/src/_shared/w7-frame.ts +1012 -0
  809. package/src/_shared/weighted-credit-pool.ts +244 -0
  810. package/src/constants.ts +285 -0
  811. package/src/index.ts +22 -0
  812. package/src/observability/diag-counters.ts +343 -0
  813. package/src/observability/heap-estimate.ts +331 -0
  814. package/src/observability/heavy-alloc-coord.ts +241 -0
  815. package/src/observability/oom-classify.ts +253 -0
  816. package/src/observability/oom-discriminator.ts +405 -0
  817. package/src/runtime/assets-loader.ts +189 -0
  818. package/src/runtime/barrel-detect.ts +69 -0
  819. package/src/runtime/bash/preamble.ts +1519 -0
  820. package/src/runtime/bash/types.ts +497 -0
  821. package/src/runtime/bundle-profile.ts +32 -0
  822. package/src/runtime/cirrus-vite-config-rewriter.ts +28 -0
  823. package/src/runtime/cli-flags.ts +11 -0
  824. package/src/runtime/comment-strip.ts +73 -0
  825. package/src/runtime/cpython-preamble.ts +298 -0
  826. package/src/runtime/esbuild-service.ts +1470 -0
  827. package/src/runtime/framework-detect.ts +245 -0
  828. package/src/runtime/import-meta-transform.ts +16 -0
  829. package/src/runtime/javascript-ast.ts +66 -0
  830. package/src/runtime/long-running-handle.ts +185 -0
  831. package/src/runtime/module-source-rewriter.ts +95 -0
  832. package/src/runtime/opentui-wasm-backend.ts +608 -0
  833. package/src/runtime/os-contracts.ts +529 -0
  834. package/src/runtime/port-registry.ts +298 -0
  835. package/src/runtime/process-input-routing.ts +92 -0
  836. package/src/runtime/process-input.ts +148 -0
  837. package/src/runtime/process-io-protocol.ts +97 -0
  838. package/src/runtime/process-logs.ts +882 -0
  839. package/src/runtime/process-table.ts +225 -0
  840. package/src/runtime/project-detect.ts +42 -0
  841. package/src/runtime/python-server-adapter.ts +133 -0
  842. package/src/runtime/require-resolver.ts +760 -0
  843. package/src/runtime/router-basename.ts +279 -0
  844. package/src/runtime/ruby-green-threads.ts +904 -0
  845. package/src/runtime/ruby-socket-shim.ts +548 -0
  846. package/src/runtime/session-process-supervisor.ts +323 -0
  847. package/src/runtime/sqlite-runtime-fs-bridge.ts +468 -0
  848. package/src/runtime/streams.ts +547 -0
  849. package/src/runtime/undici-shim.ts +517 -0
  850. package/src/runtime/vfs-manifest.ts +170 -0
  851. package/src/runtime/vfs-snapshot.ts +273 -0
  852. package/src/runtime/virtual-socket-kernel.ts +1370 -0
  853. package/src/runtime/vite-config-parser.ts +273 -0
  854. package/src/runtime/wasi/types.ts +448 -0
  855. package/src/runtime/wasi-instance.generated.ts +14 -0
  856. package/src/runtime/wasi-instance.ts +259 -0
  857. package/src/runtime/wasi-threads.ts +682 -0
  858. package/src/runtime/wasm-memory.ts +261 -0
  859. package/src/shell/elevation-commands.ts +117 -0
  860. package/src/shell/exec-dispatch.ts +201 -0
  861. package/src/shell/features.ts +870 -0
  862. package/src/shell/shell-entrypoints.ts +323 -0
  863. package/src/shell/shell-invocation.ts +181 -0
  864. package/src/shell/unix-accounts.ts +128 -0
  865. package/src/shell/unix-commands.ts +4335 -0
  866. package/src/substrate/lifo/UPSTREAM.md +14 -0
  867. package/src/substrate/lifo/commands/archive/gunzip.ts +63 -0
  868. package/src/substrate/lifo/commands/archive/gzip.ts +76 -0
  869. package/src/substrate/lifo/commands/archive/tar.ts +157 -0
  870. package/src/substrate/lifo/commands/archive/unzip.ts +112 -0
  871. package/src/substrate/lifo/commands/archive/zip.ts +70 -0
  872. package/src/substrate/lifo/commands/fs/basename.ts +16 -0
  873. package/src/substrate/lifo/commands/fs/cat.ts +54 -0
  874. package/src/substrate/lifo/commands/fs/chmod.ts +110 -0
  875. package/src/substrate/lifo/commands/fs/chown.ts +45 -0
  876. package/src/substrate/lifo/commands/fs/cp.ts +33 -0
  877. package/src/substrate/lifo/commands/fs/df.ts +56 -0
  878. package/src/substrate/lifo/commands/fs/dirname.ts +16 -0
  879. package/src/substrate/lifo/commands/fs/du.ts +100 -0
  880. package/src/substrate/lifo/commands/fs/file.ts +90 -0
  881. package/src/substrate/lifo/commands/fs/find.ts +76 -0
  882. package/src/substrate/lifo/commands/fs/ln.ts +19 -0
  883. package/src/substrate/lifo/commands/fs/ls.ts +164 -0
  884. package/src/substrate/lifo/commands/fs/mkdir.ts +37 -0
  885. package/src/substrate/lifo/commands/fs/mktemp.ts +56 -0
  886. package/src/substrate/lifo/commands/fs/mv.ts +111 -0
  887. package/src/substrate/lifo/commands/fs/realpath.ts +31 -0
  888. package/src/substrate/lifo/commands/fs/rm.ts +53 -0
  889. package/src/substrate/lifo/commands/fs/rmdir.ts +50 -0
  890. package/src/substrate/lifo/commands/fs/stat.ts +39 -0
  891. package/src/substrate/lifo/commands/fs/touch.ts +30 -0
  892. package/src/substrate/lifo/commands/fs/tree.ts +76 -0
  893. package/src/substrate/lifo/commands/index.ts +2 -0
  894. package/src/substrate/lifo/commands/io/dd.ts +289 -0
  895. package/src/substrate/lifo/commands/io/printf.ts +78 -0
  896. package/src/substrate/lifo/commands/io/tee.ts +37 -0
  897. package/src/substrate/lifo/commands/io/xargs.ts +49 -0
  898. package/src/substrate/lifo/commands/io/yes.ts +15 -0
  899. package/src/substrate/lifo/commands/net/curl.ts +739 -0
  900. package/src/substrate/lifo/commands/net/dig.ts +99 -0
  901. package/src/substrate/lifo/commands/net/forward.ts +90 -0
  902. package/src/substrate/lifo/commands/net/host.ts +182 -0
  903. package/src/substrate/lifo/commands/net/ifconfig.ts +139 -0
  904. package/src/substrate/lifo/commands/net/ip.ts +633 -0
  905. package/src/substrate/lifo/commands/net/netstat.ts +106 -0
  906. package/src/substrate/lifo/commands/net/ping.ts +74 -0
  907. package/src/substrate/lifo/commands/net/ports.ts +45 -0
  908. package/src/substrate/lifo/commands/net/route.ts +153 -0
  909. package/src/substrate/lifo/commands/net/tunnel-v2.ts +183 -0
  910. package/src/substrate/lifo/commands/net/tunnel.ts +272 -0
  911. package/src/substrate/lifo/commands/net/wget.ts +88 -0
  912. package/src/substrate/lifo/commands/registry.ts +141 -0
  913. package/src/substrate/lifo/commands/signal.ts +65 -0
  914. package/src/substrate/lifo/commands/system/bc.ts +265 -0
  915. package/src/substrate/lifo/commands/system/cal.ts +90 -0
  916. package/src/substrate/lifo/commands/system/date.ts +59 -0
  917. package/src/substrate/lifo/commands/system/env.ts +10 -0
  918. package/src/substrate/lifo/commands/system/fastfetch.ts +428 -0
  919. package/src/substrate/lifo/commands/system/free.ts +38 -0
  920. package/src/substrate/lifo/commands/system/help.ts +53 -0
  921. package/src/substrate/lifo/commands/system/hostname.ts +9 -0
  922. package/src/substrate/lifo/commands/system/kill.ts +89 -0
  923. package/src/substrate/lifo/commands/system/lifo.ts +525 -0
  924. package/src/substrate/lifo/commands/system/logout.ts +17 -0
  925. package/src/substrate/lifo/commands/system/man.ts +167 -0
  926. package/src/substrate/lifo/commands/system/node.ts +1305 -0
  927. package/src/substrate/lifo/commands/system/npm.ts +1078 -0
  928. package/src/substrate/lifo/commands/system/pkg.ts +111 -0
  929. package/src/substrate/lifo/commands/system/ps.ts +46 -0
  930. package/src/substrate/lifo/commands/system/registry-schemas.ts +33 -0
  931. package/src/substrate/lifo/commands/system/sha256sum.ts +89 -0
  932. package/src/substrate/lifo/commands/system/sl.ts +249 -0
  933. package/src/substrate/lifo/commands/system/sleep.ts +36 -0
  934. package/src/substrate/lifo/commands/system/stty.ts +69 -0
  935. package/src/substrate/lifo/commands/system/systemctl.ts +184 -0
  936. package/src/substrate/lifo/commands/system/top.ts +53 -0
  937. package/src/substrate/lifo/commands/system/uname.ts +59 -0
  938. package/src/substrate/lifo/commands/system/uptime.ts +19 -0
  939. package/src/substrate/lifo/commands/system/watch.ts +67 -0
  940. package/src/substrate/lifo/commands/system/which.ts +51 -0
  941. package/src/substrate/lifo/commands/system/whoami.ts +9 -0
  942. package/src/substrate/lifo/commands/text/awk.ts +210 -0
  943. package/src/substrate/lifo/commands/text/base64.ts +102 -0
  944. package/src/substrate/lifo/commands/text/cut.ts +92 -0
  945. package/src/substrate/lifo/commands/text/diff.ts +314 -0
  946. package/src/substrate/lifo/commands/text/grep.ts +170 -0
  947. package/src/substrate/lifo/commands/text/head.ts +95 -0
  948. package/src/substrate/lifo/commands/text/less.ts +335 -0
  949. package/src/substrate/lifo/commands/text/nano.ts +513 -0
  950. package/src/substrate/lifo/commands/text/nl.ts +74 -0
  951. package/src/substrate/lifo/commands/text/rev.ts +46 -0
  952. package/src/substrate/lifo/commands/text/sed.ts +297 -0
  953. package/src/substrate/lifo/commands/text/seq.ts +76 -0
  954. package/src/substrate/lifo/commands/text/sort.ts +88 -0
  955. package/src/substrate/lifo/commands/text/strings.ts +73 -0
  956. package/src/substrate/lifo/commands/text/tac.ts +37 -0
  957. package/src/substrate/lifo/commands/text/tail.ts +63 -0
  958. package/src/substrate/lifo/commands/text/tr.ts +192 -0
  959. package/src/substrate/lifo/commands/text/uniq.ts +77 -0
  960. package/src/substrate/lifo/commands/text/wc.ts +104 -0
  961. package/src/substrate/lifo/commands/types.ts +58 -0
  962. package/src/substrate/lifo/index.ts +173 -0
  963. package/src/substrate/lifo/kernel/ServiceManager.ts +371 -0
  964. package/src/substrate/lifo/kernel/index.ts +209 -0
  965. package/src/substrate/lifo/kernel/network/Bridge.ts +336 -0
  966. package/src/substrate/lifo/kernel/network/DNSResolver.ts +158 -0
  967. package/src/substrate/lifo/kernel/network/NetworkInterface.ts +235 -0
  968. package/src/substrate/lifo/kernel/network/NetworkNamespace.ts +182 -0
  969. package/src/substrate/lifo/kernel/network/NetworkStack.ts +590 -0
  970. package/src/substrate/lifo/kernel/network/PortBridge.ts +182 -0
  971. package/src/substrate/lifo/kernel/network/RoutingTable.ts +209 -0
  972. package/src/substrate/lifo/kernel/network/Socket.ts +245 -0
  973. package/src/substrate/lifo/kernel/network/index.ts +29 -0
  974. package/src/substrate/lifo/kernel/network/tunnel/BaseTunnel.ts +124 -0
  975. package/src/substrate/lifo/kernel/network/tunnel/VETHPair.ts +227 -0
  976. package/src/substrate/lifo/kernel/network/tunnel/WebSocketTunnel.ts +387 -0
  977. package/src/substrate/lifo/kernel/network/types.ts +178 -0
  978. package/src/substrate/lifo/kernel/persistence/PersistenceManager.ts +50 -0
  979. package/src/substrate/lifo/kernel/persistence/backends.ts +36 -0
  980. package/src/substrate/lifo/kernel/persistence/index.ts +5 -0
  981. package/src/substrate/lifo/kernel/persistence/serializer.ts +127 -0
  982. package/src/substrate/lifo/kernel/samples.ts +966 -0
  983. package/src/substrate/lifo/kernel/storage/BlobStore.ts +114 -0
  984. package/src/substrate/lifo/kernel/storage/ContentStore.ts +150 -0
  985. package/src/substrate/lifo/kernel/storage/index.ts +5 -0
  986. package/src/substrate/lifo/kernel/unit-parser.ts +95 -0
  987. package/src/substrate/lifo/kernel/vfs/VFS.ts +768 -0
  988. package/src/substrate/lifo/kernel/vfs/index.ts +9 -0
  989. package/src/substrate/lifo/kernel/vfs/providers/DevProvider.ts +172 -0
  990. package/src/substrate/lifo/kernel/vfs/providers/NativeFsProvider.ts +198 -0
  991. package/src/substrate/lifo/kernel/vfs/providers/ProcProvider.ts +144 -0
  992. package/src/substrate/lifo/kernel/vfs/types.ts +145 -0
  993. package/src/substrate/lifo/node-compat/buffer.ts +357 -0
  994. package/src/substrate/lifo/node-compat/child_process.ts +52 -0
  995. package/src/substrate/lifo/node-compat/console.ts +70 -0
  996. package/src/substrate/lifo/node-compat/crypto.ts +186 -0
  997. package/src/substrate/lifo/node-compat/dns.ts +214 -0
  998. package/src/substrate/lifo/node-compat/esbuild.ts +85 -0
  999. package/src/substrate/lifo/node-compat/events.ts +94 -0
  1000. package/src/substrate/lifo/node-compat/fs.ts +762 -0
  1001. package/src/substrate/lifo/node-compat/http.ts +561 -0
  1002. package/src/substrate/lifo/node-compat/index.ts +300 -0
  1003. package/src/substrate/lifo/node-compat/module.ts +148 -0
  1004. package/src/substrate/lifo/node-compat/os.ts +44 -0
  1005. package/src/substrate/lifo/node-compat/path.ts +74 -0
  1006. package/src/substrate/lifo/node-compat/process.ts +178 -0
  1007. package/src/substrate/lifo/node-compat/readline.ts +244 -0
  1008. package/src/substrate/lifo/node-compat/rimraf.ts +80 -0
  1009. package/src/substrate/lifo/node-compat/stream.ts +98 -0
  1010. package/src/substrate/lifo/node-compat/string_decoder.ts +26 -0
  1011. package/src/substrate/lifo/node-compat/timers.ts +21 -0
  1012. package/src/substrate/lifo/node-compat/tty.ts +83 -0
  1013. package/src/substrate/lifo/node-compat/url.ts +76 -0
  1014. package/src/substrate/lifo/node-compat/util.ts +133 -0
  1015. package/src/substrate/lifo/node-compat/zlib.ts +94 -0
  1016. package/src/substrate/lifo/pkg/PackageManager.ts +105 -0
  1017. package/src/substrate/lifo/pkg/lifo-dev.ts +130 -0
  1018. package/src/substrate/lifo/pkg/lifo-runtime.ts +473 -0
  1019. package/src/substrate/lifo/pkg/loader.ts +33 -0
  1020. package/src/substrate/lifo/platform-globals.d.ts +41 -0
  1021. package/src/substrate/lifo/sandbox/HeadlessTerminal.ts +38 -0
  1022. package/src/substrate/lifo/sandbox/Sandbox.ts +279 -0
  1023. package/src/substrate/lifo/sandbox/SandboxCommands.ts +74 -0
  1024. package/src/substrate/lifo/sandbox/SandboxFs.ts +160 -0
  1025. package/src/substrate/lifo/sandbox/index.ts +8 -0
  1026. package/src/substrate/lifo/sandbox/types.ts +117 -0
  1027. package/src/substrate/lifo/shell/ProcessRegistry.ts +379 -0
  1028. package/src/substrate/lifo/shell/Shell.ts +2048 -0
  1029. package/src/substrate/lifo/shell/completer.ts +212 -0
  1030. package/src/substrate/lifo/shell/default-shell.ts +63 -0
  1031. package/src/substrate/lifo/shell/expander.ts +1349 -0
  1032. package/src/substrate/lifo/shell/history.ts +138 -0
  1033. package/src/substrate/lifo/shell/interpreter.ts +1754 -0
  1034. package/src/substrate/lifo/shell/jobs.ts +64 -0
  1035. package/src/substrate/lifo/shell/lexer.ts +698 -0
  1036. package/src/substrate/lifo/shell/parser.ts +711 -0
  1037. package/src/substrate/lifo/shell/pipe.ts +92 -0
  1038. package/src/substrate/lifo/shell/signals.ts +70 -0
  1039. package/src/substrate/lifo/shell/terminal-stdin.ts +109 -0
  1040. package/src/substrate/lifo/shell/test-builtin.ts +316 -0
  1041. package/src/substrate/lifo/shell/types.ts +166 -0
  1042. package/src/substrate/lifo/terminal/ITerminal.ts +9 -0
  1043. package/src/substrate/lifo/utils/archive.ts +389 -0
  1044. package/src/substrate/lifo/utils/args.ts +89 -0
  1045. package/src/substrate/lifo/utils/colors.ts +29 -0
  1046. package/src/substrate/lifo/utils/encoding.ts +21 -0
  1047. package/src/substrate/lifo/utils/glob.ts +172 -0
  1048. package/src/substrate/lifo/utils/mime.ts +114 -0
  1049. package/src/substrate/lifo/utils/path.ts +83 -0
  1050. package/src/types/assets.d.ts +4 -0
  1051. package/src/vfs/events.ts +134 -0
  1052. package/src/vfs/path.ts +71 -0
  1053. package/src/vfs/seed-project.ts +1094 -0
  1054. package/src/vfs/sqlite-vfs.ts +5035 -0
  1055. package/src/vfs/symlink-registry.ts +172 -0
  1056. package/src/workspace/nimbus-workspace.ts +213 -0
@@ -0,0 +1,760 @@
1
+ /**
2
+ * require-resolver.ts — Server-side dependency graph resolver for Nimbus.
3
+ *
4
+ * Runs on the supervisor (which has synchronous VFS access) to trace
5
+ * all require() calls and build a complete file bundle reachable from
6
+ * the entry point. The output is consumed by `facet-manager.ts`'s
7
+ * `buildPrefetchBundle` (W2.6a) to ship ONLY the reachable set into
8
+ * the dynamic-worker module (rather than every file in node_modules
9
+ * up to the legacy cap).
10
+ *
11
+ * Algorithm:
12
+ * 1. Parse `require('xxx')` / `require("xxx")` / ``require(`xxx`)``
13
+ * and `require.resolve('xxx')` calls from entry code via regex.
14
+ * 2. Resolve each via the SHARED `resolvePackageEntry` helper from
15
+ * src/_shared/exports-resolver.ts — same impl that node-shims
16
+ * and npm-resolver use, so prefetch and runtime always agree on
17
+ * which file `require('xyz')` means (W2.6a D6: no dual impls).
18
+ * 3. Read the resolved file, recursively parse ITS requires.
19
+ * 4. Return Record<string, string> of path → content.
20
+ *
21
+ * Static analysis still misses dynamic requires like `require(variable)`;
22
+ * bounded greedy oversampling in facet-manager.ts:buildPrefetchBundle
23
+ * compensates without limiting the statically-proven require closure.
24
+ *
25
+ * History: this file was ARC-A-P1 quarantined after W2 because the
26
+ * legacy `buildVfsBundle` walked every file in node_modules. W2.6a
27
+ * de-quarantines it as the primary content-bundle source.
28
+ */
29
+
30
+ import type { CredentialedVfs } from '../vfs/sqlite-vfs.js';
31
+ import {
32
+ resolvePackageEntry as sharedResolvePackageEntry,
33
+ resolveExports as sharedResolveExports,
34
+ DEFAULT_CJS_CONDITIONS,
35
+ DEFAULT_ESM_CONDITIONS,
36
+ } from '../_shared/exports-resolver.js';
37
+ import {
38
+ TYPESCRIPT_INDEX_CANDIDATES,
39
+ typescriptFallbackCandidates,
40
+ } from '../_shared/typescript-specifiers.js';
41
+ import { FACET_PROVIDED_PACKAGES } from '../constants.js';
42
+ import { normalizeVfsPath } from '../vfs/path.js';
43
+ import { stripCommentsForImports } from './comment-strip.js';
44
+
45
+ // Match literal-string require/require.resolve with single, double, or
46
+ // template-literal-no-interp specifier. The plain-string variant is by
47
+ // far the dominant npm pattern; the others catch a long tail of
48
+ // well-known cases (esbuild plugins, vite internals).
49
+ const REQUIRE_RE = /(?:require(?:\.resolve)?\s*\(\s*)(['"`])([^'"`]+?)\1\s*\)/g;
50
+
51
+ // Static-string dynamic import: `import('literal')`. CLI entrypoints often
52
+ // defer their real implementation through one (e.g. create-astro's
53
+ // create-astro.mjs does `import('./dist/index.js').then(({main}) => main())`).
54
+ // Without following it, the target file's content is excluded from the
55
+ // bounded snapshot, so the runtime dynamic import resolves the path but
56
+ // can't read it — the scaffolder exits silently. Only literal specifiers
57
+ // are followed; computed `import(expr)` remains out of scope.
58
+ const DYNIMPORT_RE = /\bimport\s*\(\s*(['"`])([^'"`]+?)\1\s*\)/g;
59
+
60
+ // X.5-C Fix #1: match ESM `import` and `export … from` statements.
61
+ //
62
+ // Why a second regex (not a unified one): REQUIRE_RE matches require(…)
63
+ // CALL EXPRESSIONS — those can appear anywhere (inside function bodies,
64
+ // conditionals, etc.). ESM import/export are STATEMENTS — they can only
65
+ // appear at the top of a line (modulo whitespace). Anchoring at start-of-
66
+ // line `(^|\n)\s*` avoids matching the substring `import` inside string
67
+ // literals or identifiers like `obj.import`. Same anchor strategy that
68
+ // `looksLikeEsm` in facet-manager.ts uses (precedent set by W3.5 Fix B).
69
+ //
70
+ // Forms covered by IMPORT_RE:
71
+ // import 'x'; ← side-effect (no `from`)
72
+ // import x from 'x'; ← default
73
+ // import * as x from 'x'; ← namespace
74
+ // import {a, b as c} from 'x'; ← named
75
+ // import x, {a} from 'x'; ← mixed default+named
76
+ // export {a, b} from 'x'; ← re-export named
77
+ // export * from 'x'; ← re-export wildcard
78
+ // export * as ns from 'x'; ← re-export wildcard with alias
79
+ // export {default as x} from 'x'; ← named-as-default re-export
80
+ //
81
+ // NOT covered (deliberate):
82
+ // import('x') / import.meta.<x> ← dynamic — needs full parsing;
83
+ // out of scope for prefetch.
84
+ // `import type {…} from 'x'` (TypeScript) ← matched, but the resolver
85
+ // returns null on .d.ts-only
86
+ // specifiers and the walk no-ops.
87
+ //
88
+ // The middle group `[\w*${},\s{}]*` covers the practical identifier /
89
+ // destructuring shapes; alternation `(?:…)?` allows the `from` segment
90
+ // to be omitted (side-effect imports). String literal at the end is a
91
+ // single- or double-quoted spec.
92
+ //
93
+ // X.5-Z5 §3 (extended): leading anchor relaxed from (^|\n) to (^|[\n;}])
94
+ // AND the body widened to optionally allow no-whitespace `import{` /
95
+ // `export{` shapes. Same dual-relaxation as src/facet-manager.ts
96
+ // looksLikeEsm — minified ESM bundles (notably @tailwindcss/vite/dist/
97
+ // index.mjs) put the first `;import{...}from"..."` after a `;` on the
98
+ // same line, which the original anchor missed → prefetch walker silently
99
+ //
100
+ // Edge: a literal `\nimport x from 'y'` inside a multi-line string would
101
+ // false-positive. The walker no-ops on missed resolutions, so it's a
102
+ // minor wasted-work cost, not a correctness issue.
103
+ const IMPORT_RE = /(?:^|[\n;}])\s*(?:import|export)(?:[\s{][\w*${}\s,]*?\s*from)?\s*(['"])([^'"]+)\1/g;
104
+
105
+ function strip(p: string): string { return p.replace(/^\/+/, ''); }
106
+
107
+ const normalizePath = normalizeVfsPath;
108
+
109
+ /**
110
+ * Sink for package.json files consulted during LOAD_AS_DIRECTORY
111
+ * resolution. The runtime resolver (`__resolveFile` in node-shims.ts)
112
+ * re-derives a directory require's target by reading that directory's
113
+ * package.json#main; if prefetch resolves a subpath through a nested
114
+ * package.json (e.g. web-streams-polyfill's `ponyfill/package.json`
115
+ * declaring `main: "../dist/ponyfill"`), only the FINAL file gets
116
+ * added to the bundle — the runtime then can't repeat the resolution
117
+ * because the intermediate package.json's content was never shipped
118
+ * (and, for npx-cache trees outside cwd, isn't in the manifest either).
119
+ * Recording every consulted package.json lets the prefetch walker add
120
+ * its content so prefetch and runtime agree.
121
+ */
122
+ type PkgJsonSink = (pkgJsonPath: string) => void;
123
+
124
+ /**
125
+ * Extension-list probe; mirrors node-shims.ts:__resolveFile so prefetch
126
+ * picks the same on-disk file the runtime require will pick.
127
+ *
128
+ * Mirrors Node's LOAD_AS_FILE + LOAD_AS_DIRECTORY (require_2 spec):
129
+ * 1. LOAD_AS_FILE: base, base.js, base.mjs, base.cjs, base.json.
130
+ * 2. LOAD_AS_DIRECTORY (if base resolves to a directory):
131
+ * a. <base>/package.json#main → recurse.
132
+ * b. <base>/index.{js,cjs,mjs,json}.
133
+ *
134
+ * Bug class C (audit 2026-05-11): step 2a was missing, so prefetch
135
+ * silently dropped any file reachable only via package.json#main from
136
+ * a directory-style require (e.g. `require('./mod')` where mod has
137
+ * main='entry.js' and no index.js).
138
+ */
139
+ function resolveFile(vfs: CredentialedVfs, base: string, sink?: PkgJsonSink): string | null {
140
+ const fileExts = ['', '.js', '.mjs', '.cjs', '.json'];
141
+ for (const ext of fileExts) {
142
+ const p = normalizePath(base + ext);
143
+ if (vfs.exists(p) && !vfs.isDirectory(p)) return p;
144
+ }
145
+ // LOAD_AS_DIRECTORY: prefer package.json#main over index.*
146
+ const baseTrim = base.replace(/\/+$/, '');
147
+ const pkgJsonPath = normalizePath(baseTrim + '/package.json');
148
+ if (vfs.exists(pkgJsonPath) && !vfs.isDirectory(pkgJsonPath)) {
149
+ let pkg: any = null;
150
+ try { pkg = JSON.parse(vfs.readFileString(pkgJsonPath)); } catch { /* fall through */ }
151
+ if (pkg && typeof pkg.main === 'string' && pkg.main.length > 0) {
152
+ // Record this package.json so the bundle carries the content the
153
+ // runtime resolver needs to repeat this directory resolution.
154
+ sink?.(pkgJsonPath);
155
+ const mainStripped = pkg.main.replace(/^\.\/+/, '').replace(/^\/+/, '');
156
+ const mainBase = baseTrim + '/' + mainStripped;
157
+ // Guard against pkg.main === '.' or empty → would re-enter same base.
158
+ if (mainBase !== base && mainBase !== baseTrim) {
159
+ const resolved = resolveFile(vfs, mainBase, sink);
160
+ if (resolved) return resolved;
161
+ }
162
+ }
163
+ }
164
+ const indexExts = ['/index.js', '/index.cjs', '/index.mjs', '/index.json'];
165
+ for (const ext of indexExts) {
166
+ const p = normalizePath(base + ext);
167
+ if (vfs.exists(p) && !vfs.isDirectory(p)) return p;
168
+ }
169
+ // TypeScript sources, probed only once every candidate above has missed —
170
+ // so the specifiers whose resolution changes are exactly those that resolve
171
+ // to nothing today. See _shared/typescript-specifiers.ts for the scope.
172
+ for (const candidate of typescriptFallbackCandidates(baseTrim)) {
173
+ const p = normalizePath(candidate);
174
+ if (vfs.exists(p) && !vfs.isDirectory(p)) return p;
175
+ }
176
+ for (const ext of TYPESCRIPT_INDEX_CANDIDATES) {
177
+ const p = normalizePath(baseTrim + ext);
178
+ if (vfs.exists(p) && !vfs.isDirectory(p)) return p;
179
+ }
180
+ return null;
181
+ }
182
+
183
+ /**
184
+ * X.5-L: result shape for `resolvePkgSubpathEx`. When a bare-spec
185
+ * subpath resolves via the LEGACY directory-with-nested-package.json
186
+ * pattern (e.g. `react-remove-scroll-bar/constants` where there's no
187
+ * top-level `exports` field but `<pkgDir>/constants/package.json`
188
+ * exists), we need to ship TWO bundle entries:
189
+ *
190
+ * - the real resolved file at its canonical VFS path (so its own
191
+ * relative requires walk correctly), AND
192
+ * - a SYNTHETIC STUB at the path the runtime resolver probes for
193
+ * (`<pkgDir>/<subpath>.js`), since the runtime
194
+ * `__resolvePkgSubpath` mirror in node-shims.ts also misses the
195
+ * legacy directory pattern (X.5-M will fix runtime parity; until
196
+ * then, the stub bridges the gap).
197
+ *
198
+ * The stub is a minimal CJS re-export:
199
+ * `module.exports = require('./<rel-path-to-real-target>');`
200
+ *
201
+ * The relative path is computed from `<pkgDir>` (stub's modDir) to
202
+ * the real resolved file. At runtime, the runtime resolver's
203
+ * extension probe finds the stub at `<pkgDir>/<subpath>.js` (the
204
+ * `.js` ext probe), loads it, the stub's relative require resolves
205
+ * to the real file, and the load chain proceeds normally.
206
+ */
207
+ interface ResolveSubpathResult {
208
+ /** Canonical resolved path to the real file. */
209
+ resolved: string;
210
+ /**
211
+ * Optional synthetic stub to inject into the bundle at this path
212
+ * with this content, so the runtime resolver can find it via
213
+ * extension-list probe.
214
+ */
215
+ stub?: { path: string; content: string };
216
+ }
217
+
218
+ /**
219
+ * Resolve a package's entry-point file via the SHARED resolver. The
220
+ * pre-W2.6a implementation here had a hand-rolled `pkg.exports['.']`
221
+ * lookup that ignored conditions, wildcards, and nested condition maps
222
+ * — diverging from runtime semantics. Now both use the same impl.
223
+ *
224
+ * Returns null when no resolution is possible.
225
+ */
226
+
227
+ /**
228
+ * X.5-L: extended resolver. Same semantics as the original
229
+ * resolvePkgSubpath (pre-X.5-L) for the common-case paths, plus a
230
+ * legacy-directory-subpath fallback that emits a synthetic stub.
231
+ *
232
+ * Resolution order:
233
+ * 1. `package.json#exports[<subpath>]` via shared resolver, condition=require.
234
+ * 2. For root subpath ('.'): `pkg.main` then `<pkgDir>/index.{js,…}`.
235
+ * 3. For non-root subpath: extension-probe `<pkgDir>/<subpath>` directly.
236
+ * 4. **NEW (X.5-L):** if `<pkgDir>/<subpath>` is a directory, look
237
+ * for a nested `package.json` and follow its `module`/`main`
238
+ * relative to the subpath dir. This is the legacy pre-`exports`
239
+ * convention used by react-remove-scroll-bar/constants and
240
+ * similar (verbatim shape: `<pkgDir>/<sub>/package.json` with
241
+ * `main: "../dist/sub.js"`). Emits a stub at `<pkgDir>/<subpath>.js`
242
+ * (and `<pkgDir>/<subpath>` no-ext) so the runtime resolver
243
+ * finds it through its extension-probe loop without needing
244
+ * a runtime-side fix.
245
+ */
246
+ function resolvePkgSubpathEx(vfs: CredentialedVfs, pkgDir: string, subpath: string, sink?: PkgJsonSink): ResolveSubpathResult | null {
247
+ const pkgJsonPath = pkgDir + '/package.json';
248
+ if (!vfs.exists(pkgJsonPath)) {
249
+ // No package.json — direct probe (matches node-shims fallback).
250
+ if (subpath === '.') {
251
+ const r = resolveFile(vfs, pkgDir + '/index', sink);
252
+ return r ? { resolved: r } : null;
253
+ }
254
+ const r = resolveFile(vfs, pkgDir + '/' + subpath.replace(/^\.\//, ''), sink);
255
+ if (r) return { resolved: r };
256
+ // Even with no parent package.json, attempt the legacy nested-pkg
257
+ // fallback (consistent behaviour across the no-pkgjson branch).
258
+ return tryLegacyDirectorySubpath(vfs, pkgDir, subpath, sink);
259
+ }
260
+ let pkg: { exports?: any; module?: string; main?: string };
261
+ try { pkg = JSON.parse(vfs.readFileString(pkgJsonPath)); }
262
+ catch {
263
+ const r = resolveFile(vfs, pkgDir + '/index', sink);
264
+ return r ? { resolved: r } : null;
265
+ }
266
+
267
+ let entry = sharedResolvePackageEntry(pkg, subpath, DEFAULT_CJS_CONDITIONS);
268
+ if (entry == null && pkg.exports != null) {
269
+ entry = sharedResolvePackageEntry(pkg, subpath, DEFAULT_ESM_CONDITIONS);
270
+ }
271
+ if (entry != null) {
272
+ const resolved = resolveFile(vfs, pkgDir + '/' + entry.replace(/^\.\//, ''), sink);
273
+ if (resolved) return { resolved };
274
+ // W2.6a D2 (mirror of node-shims:__resolvePkgSubpath): exports/main
275
+ // yielded a path that doesn't exist on disk. Fall through to the
276
+ // direct-probe path so prefetch and runtime stay in lockstep on
277
+ // packages whose declared entry is unfindable.
278
+ }
279
+ if (subpath === '.') {
280
+ if (typeof pkg.main === 'string') {
281
+ const r = resolveFile(vfs, pkgDir + '/' + pkg.main.replace(/^\.\//, ''), sink);
282
+ if (r) return { resolved: r };
283
+ }
284
+ const idx = resolveFile(vfs, pkgDir + '/index', sink);
285
+ return idx ? { resolved: idx } : null;
286
+ }
287
+ // Non-root subpath: extension-probe first (most common path).
288
+ const direct = resolveFile(vfs, pkgDir + '/' + subpath.replace(/^\.\//, ''), sink);
289
+ if (direct) return { resolved: direct };
290
+
291
+ // X.5-L: legacy directory-with-nested-package.json fallback. Only
292
+ // engaged when the standard probes have failed AND
293
+ // `<pkgDir>/<subpath>` exists as a directory.
294
+ return tryLegacyDirectorySubpath(vfs, pkgDir, subpath, sink);
295
+ }
296
+
297
+ /**
298
+ * X.5-L: legacy pre-`exports`-field subpath convention.
299
+ *
300
+ * If `<pkgDir>/<subpath>` is a directory containing its own
301
+ * `package.json`, follow that nested package.json's `module`/`main`
302
+ * (in CJS-condition order: main → module) as a path relative to the
303
+ * **subpath directory** (so `main: "../dist/x.js"` resolves to
304
+ * `<pkgDir>/dist/x.js`).
305
+ *
306
+ * Returns the real resolved file plus a synthetic stub to inject at
307
+ * `<pkgDir>/<subpath>.js`. The stub is a CJS one-liner that
308
+ * re-exports the real target via a relative require — chosen over
309
+ * duplicating the file content so we don't double-apply the
310
+ * ESM→CJS transform in facet-manager.
311
+ *
312
+ * Returns null if there's no directory match or no readable nested
313
+ * package.json (caller falls through to its existing null return).
314
+ */
315
+ function tryLegacyDirectorySubpath(vfs: CredentialedVfs, pkgDir: string, subpath: string, sink?: PkgJsonSink): ResolveSubpathResult | null {
316
+ if (subpath === '.' || !subpath.startsWith('./')) return null;
317
+
318
+ const subRelative = subpath.replace(/^\.\//, '');
319
+ const subDir = normalizePath(pkgDir + '/' + subRelative);
320
+ if (!vfs.exists(subDir) || !vfs.isDirectory(subDir)) return null;
321
+
322
+ const nestedPkgJson = subDir + '/package.json';
323
+ if (!vfs.exists(nestedPkgJson)) {
324
+ // Last-resort: probe `<subDir>/index.{js,…}`. This is already
325
+ // covered by `resolveFile(pkgDir + '/' + subRelative)`'s
326
+ // `/index.js` suffix probe, so reaching here means everything
327
+ // missed — return null.
328
+ return null;
329
+ }
330
+
331
+ let nested: { module?: string; main?: string };
332
+ try { nested = JSON.parse(vfs.readFileString(nestedPkgJson)); }
333
+ catch { return null; }
334
+ // The runtime resolver reads this nested package.json to repeat the
335
+ // resolution; record it so its content ships in the bundle.
336
+ sink?.(nestedPkgJson);
337
+
338
+ // Prefer `main` for CJS conditions; fall back to `module` if no main.
339
+ // (resolvePackageEntry would do the same prioritisation, but nested
340
+ // package.json files often only declare one of the two.)
341
+ const nestedEntry =
342
+ (typeof nested.main === 'string' && nested.main) ||
343
+ (typeof nested.module === 'string' && nested.module) ||
344
+ null;
345
+ if (!nestedEntry) return null;
346
+
347
+ // Resolve relative to the subpath dir; nestedEntry can be
348
+ // up-pointing (`../dist/x.js`) or relative-down (`./dist/x.js`).
349
+ const targetPath = normalizePath(subDir + '/' + nestedEntry.replace(/^\.\//, ''));
350
+ const resolved = resolveFile(vfs, targetPath, sink);
351
+ if (!resolved) return null;
352
+
353
+ // Build the stub. The stub lives at `<pkgDir>/<subRelative>.js`
354
+ // (matches the runtime resolver's `.js` extension probe). Its
355
+ // modDir is the directory of the stub path.
356
+ const stubPath = normalizePath(pkgDir + '/' + subRelative + '.js');
357
+ const stubDir = stubPath.includes('/') ? stubPath.substring(0, stubPath.lastIndexOf('/')) : '.';
358
+ const stubRelTarget = relativeFrom(stubDir, resolved);
359
+ const stubContent =
360
+ `// X.5-L synthetic stub: re-export legacy directory-subpath target\n` +
361
+ `module.exports = require(${JSON.stringify('./' + stubRelTarget)});\n`;
362
+
363
+ return {
364
+ resolved,
365
+ stub: { path: stubPath, content: stubContent },
366
+ };
367
+ }
368
+
369
+ /**
370
+ * Compute a relative path from `fromDir` to `toPath`. Both are
371
+ * expected as VFS-style slash-separated paths with no leading slash.
372
+ * The result is a slash-separated relative path WITHOUT a leading
373
+ * `./` (caller adds the prefix if needed for require()).
374
+ *
375
+ * Examples:
376
+ * relativeFrom('a/b', 'a/c/d.js') → '../c/d.js'
377
+ * relativeFrom('a/b', 'a/b/c.js') → 'c.js'
378
+ * relativeFrom('a', 'a/b/c.js') → 'b/c.js'
379
+ */
380
+ function relativeFrom(fromDir: string, toPath: string): string {
381
+ const f = fromDir.split('/').filter(s => s.length > 0);
382
+ const t = toPath.split('/').filter(s => s.length > 0);
383
+ let i = 0;
384
+ while (i < f.length && i < t.length && f[i] === t[i]) i++;
385
+ const ups = f.length - i;
386
+ const downs = t.slice(i);
387
+ const parts: string[] = [];
388
+ for (let k = 0; k < ups; k++) parts.push('..');
389
+ for (const d of downs) parts.push(d);
390
+ return parts.join('/') || '.';
391
+ }
392
+
393
+ /**
394
+ * X.5-L: extended bare-spec resolver that also returns any synthetic
395
+ * stub emitted by resolvePkgSubpathEx's legacy-directory branch.
396
+ */
397
+ function resolveNodeModuleEx(vfs: CredentialedVfs, name: string, fromDir: string, sink?: PkgJsonSink): ResolveSubpathResult | null {
398
+ let pkgName: string;
399
+ let subpath: string;
400
+ if (name.startsWith('@')) {
401
+ const parts = name.split('/');
402
+ if (parts.length < 2) return null;
403
+ pkgName = parts.slice(0, 2).join('/');
404
+ subpath = parts.length > 2 ? './' + parts.slice(2).join('/') : '.';
405
+ } else {
406
+ const slashIdx = name.indexOf('/');
407
+ if (slashIdx > 0) {
408
+ pkgName = name.substring(0, slashIdx);
409
+ subpath = './' + name.substring(slashIdx + 1);
410
+ } else {
411
+ pkgName = name;
412
+ subpath = '.';
413
+ }
414
+ }
415
+
416
+ let dir = strip(fromDir);
417
+ const visited = new Set<string>();
418
+ while (true) {
419
+ if (visited.has(dir)) break;
420
+ visited.add(dir);
421
+ const nmDir = (dir ? dir + '/' : '') + 'node_modules/' + pkgName;
422
+ if (vfs.exists(nmDir)) {
423
+ const r = resolvePkgSubpathEx(vfs, nmDir, subpath, sink);
424
+ if (r) return r;
425
+ }
426
+ if (!dir) break;
427
+ const lastSlash = dir.lastIndexOf('/');
428
+ dir = lastSlash > 0 ? dir.substring(0, lastSlash) : '';
429
+ }
430
+ return null;
431
+ }
432
+
433
+ /**
434
+ * X.5-L: extended require-resolver that surfaces synthetic stubs.
435
+ * Used by `prefetchForRequire` to inject runtime-side stubs for
436
+ * the legacy directory-subpath pattern. Relative paths never need
437
+ * stubs, so for those we just return `{ resolved }` with no stub.
438
+ */
439
+ function resolveRequireEx(vfs: CredentialedVfs, id: string, fromDir: string, sink?: PkgJsonSink): ResolveSubpathResult | null {
440
+ if (id.startsWith('./') || id.startsWith('../') || id.startsWith('/')) {
441
+ const base = id.startsWith('/')
442
+ ? strip(id)
443
+ : normalizePath(strip(fromDir) + '/' + id);
444
+ const r = resolveFile(vfs, base, sink);
445
+ return r ? { resolved: r } : null;
446
+ }
447
+ // package.json#imports field — `#name` specifiers resolved against
448
+ // the nearest enclosing package.json's `imports` map. Mirrors the
449
+ // runtime __resolveImportsField at node-shims.ts:2635. Without this
450
+ // branch, prefetch would fall through to resolveNodeModuleEx (which
451
+ // treats `#name` as a node_module name → never finds the file),
452
+ // and the imports-field target would never be shipped into the
453
+ // bundle. At runtime, __resolveImportsField would correctly compute
454
+ // the target path, but __resolveFile would then return null because
455
+ // the file wasn't bundled — surfacing as a misleading
456
+ // "Cannot find module '#name' (from ...)" error.
457
+ //
458
+ if (id.startsWith('#')) {
459
+ const r = resolveImportsField(vfs, id, fromDir, sink);
460
+ return r ? { resolved: r } : null;
461
+ }
462
+ return resolveNodeModuleEx(vfs, id, fromDir, sink);
463
+ }
464
+
465
+ /**
466
+ * Resolve an imports-field specifier `#name` against the nearest
467
+ * enclosing package.json. Returns the resolved file path (or null
468
+ * if not found). Mirrors node-shims.ts:__resolveImportsField.
469
+ */
470
+ function resolveImportsField(
471
+ vfs: CredentialedVfs,
472
+ name: string,
473
+ fromDir: string,
474
+ sink?: PkgJsonSink,
475
+ ): string | null {
476
+ let dir = strip(fromDir);
477
+ while (true) {
478
+ const pkgJsonPath = (dir ? dir + '/' : '') + 'package.json';
479
+ if (vfs.exists(pkgJsonPath) && !vfs.isDirectory(pkgJsonPath)) {
480
+ let pkg: any = null;
481
+ try { pkg = JSON.parse(vfs.readFileString(pkgJsonPath)); } catch { /* malformed */ }
482
+ // First package.json wins (Node spec), even if no imports field.
483
+ if (pkg && pkg.imports) {
484
+ const target = sharedResolveExports(pkg.imports, name, DEFAULT_CJS_CONDITIONS);
485
+ if (target && typeof target === 'string') {
486
+ // imports targets are relative to the package root (`dir`).
487
+ if (target.startsWith('./')) {
488
+ const base = (dir ? dir + '/' : '') + target.slice(2);
489
+ return resolveFile(vfs, normalizePath(base), sink);
490
+ }
491
+ if (target.startsWith('/')) {
492
+ return resolveFile(vfs, strip(target), sink);
493
+ }
494
+ // Bare specifier — re-resolve as a node_module from `dir`.
495
+ const r = resolveNodeModuleEx(vfs, target, dir, sink);
496
+ return r ? r.resolved : null;
497
+ }
498
+ }
499
+ return null;
500
+ }
501
+ if (!dir) return null;
502
+ const lastSlash = dir.lastIndexOf('/');
503
+ dir = lastSlash > 0 ? dir.substring(0, lastSlash) : '';
504
+ }
505
+ }
506
+
507
+ /**
508
+ * Result of a prefetch walk: path → content for every reachable file.
509
+ *
510
+ * The walk is deliberately unbounded. A facet has no synchronous I/O
511
+ * primitive, so `require()` cannot fetch a file it was not shipped — a
512
+ * budget applied here is not backpressure, it is an unrecoverable hole
513
+ * in the module graph. Bounds belong to the optional enrichment passes
514
+ * in facet-manager.ts, which have a live async read path behind them.
515
+ */
516
+ export interface PrefetchResult {
517
+ bundle: Record<string, string>;
518
+ }
519
+
520
+ /** Resolve the complete dependency graph starting from entry code. */
521
+ export function prefetchForRequire(
522
+ vfs: CredentialedVfs,
523
+ entryCode: string,
524
+ cwd: string,
525
+ entryFile?: string,
526
+ ): PrefetchResult {
527
+ const bundle: Record<string, string> = {};
528
+ const visited = new Set<string>();
529
+
530
+ function addFile(vfsPath: string): void {
531
+ if (visited.has(vfsPath)) return;
532
+ visited.add(vfsPath);
533
+ let content: string;
534
+ try { content = vfs.readFileString(vfsPath); }
535
+ catch { return; }
536
+ bundle[vfsPath] = content;
537
+
538
+ // Also add the package.json for the enclosing node_modules package
539
+ // so the runtime resolver can read the same exports/main field we
540
+ // walked here.
541
+ if (vfsPath.includes('node_modules/')) {
542
+ const parts = vfsPath.split('/');
543
+ const nmIdx = parts.lastIndexOf('node_modules');
544
+ if (nmIdx >= 0) {
545
+ const pkgEnd = parts[nmIdx + 1]?.startsWith('@') ? nmIdx + 3 : nmIdx + 2;
546
+ const pkgJsonPath = parts.slice(0, pkgEnd).join('/') + '/package.json';
547
+ if (!visited.has(pkgJsonPath) && vfs.exists(pkgJsonPath)) {
548
+ visited.add(pkgJsonPath);
549
+ try {
550
+ const pkgContent = vfs.readFileString(pkgJsonPath);
551
+ bundle[pkgJsonPath] = pkgContent;
552
+ } catch { /* ignore */ }
553
+ }
554
+ }
555
+ }
556
+ // Bug class C (audit 2026-05-11): ship every ancestor package.json
557
+ // up to a node_modules boundary so the runtime __resolveFile pkg.main
558
+ // branch can read them. For a path like mod/lib/api.js (resolved
559
+ // via mod/package.json#main='lib/api.js'), the runtime resolver
560
+ // needs mod/package.json in the bundle even though api.js lives
561
+ // one level deeper. Walking up covers nested-main cases.
562
+ //
563
+ // Bound: stops at node_modules boundary (existing block above
564
+ // handles that case) or when we run out of parent dirs. Each step
565
+ // costs one vfs.exists() — typical project depth is 3-5 dirs.
566
+ if (!vfsPath.includes('node_modules/')) {
567
+ let dir = vfsPath;
568
+ while (true) {
569
+ const sl = dir.lastIndexOf('/');
570
+ if (sl <= 0) break;
571
+ dir = dir.substring(0, sl);
572
+ const dirPkgJson = dir + '/package.json';
573
+ if (visited.has(dirPkgJson)) break; // already shipped, stop walking
574
+ if (vfs.exists(dirPkgJson) && !vfs.isDirectory(dirPkgJson)) {
575
+ visited.add(dirPkgJson);
576
+ try {
577
+ const pkgContent = vfs.readFileString(dirPkgJson);
578
+ bundle[dirPkgJson] = pkgContent;
579
+ } catch { /* ignore */ }
580
+ }
581
+ }
582
+ }
583
+
584
+ // Recursively resolve require() calls in this file. Bin scripts and
585
+ // shims are commonly extensionless (e.g. node_modules/<pkg>/bin/<cli>
586
+ // with a `#!/usr/bin/env node` shebang), so an extension allowlist
587
+ // would drop their require chain. Treat .json as data (no requires);
588
+ // walk everything else as CJS/ESM.
589
+ if (!vfsPath.endsWith('.json')) {
590
+ const fromDir = vfsPath.includes('/') ? vfsPath.substring(0, vfsPath.lastIndexOf('/')) : '.';
591
+ parseAndResolve(content, fromDir);
592
+ }
593
+ }
594
+
595
+ function parseAndResolve(code: string, fromDir: string): void {
596
+ // esbuild-ast-rewrite (P3 decision: Option D): strip `//` and
597
+ // `/* */` comments before running IMPORT_RE / REQUIRE_RE so the
598
+ // regexes don't break on embedded comments. Real-world bite:
599
+ // chalk's `import { // eslint-disable-line\n a, b\n} from
600
+ // './utilities.js';` (lines 3-6 of chalk@5.x source/index.js)
601
+ // and its multi-line `export { ... // TODO ... } from
602
+ // './vendor/ansi-styles/index.js';` (lines 196-209) both fail
603
+ // IMPORT_RE's lazy character class because comment characters
604
+ // are not in `[\w*${}\s,]*?`. Stripping comments to whitespace
605
+ // (newline-preserved) makes the rest of the regex match
606
+ // correctly.
607
+ //
608
+ // Why Option D (regex + comment-strip) over Option A (full
609
+ // structured AST extraction via esbuild metafile):
610
+ // - Empirical 100-file session bootstrap with AST: ~553 ms
611
+ // esbuild-ast-rewrite/measure-result.txt). Over the 500 ms
612
+ // decision gate, and that's local Node — workerd-wasm cost
613
+ // is 2-3× higher.
614
+ // - Regex (this preprocessor) per file: ~0.1 ms
615
+ // - Correctness gap closed: chalk's bug case now matches both
616
+ // specifiers AST found but regex missed.
617
+ // See `comment-strip.ts` header + the wave's verdict.md.
618
+ const stripped = stripCommentsForImports(code);
619
+
620
+ REQUIRE_RE.lastIndex = 0;
621
+ let match;
622
+ while ((match = REQUIRE_RE.exec(stripped)) !== null) {
623
+ const specifier = match[2];
624
+ if (isFacetProvided(specifier)) continue;
625
+ const r = resolveRequireEx(vfs, specifier, fromDir, addPkgJson);
626
+ if (r) {
627
+ addFile(r.resolved);
628
+ if (r.stub) addStub(r.stub.path, r.stub.content);
629
+ }
630
+ }
631
+ // X.5-C Fix #1: also follow ESM `import`/`export … from` statements.
632
+ // Without this, packages whose `module` entry is ESM (react-remove-
633
+ // scroll, pathe, ESM nuxt deps, etc.) have their entry file in the
634
+ // bundle but none of the relative `import './x'` siblings — at
635
+ // runtime W3.5 Fix B's CJS rewrite calls require('./x') which then
636
+ // fails because `x` was never added.
637
+ IMPORT_RE.lastIndex = 0;
638
+ while ((match = IMPORT_RE.exec(stripped)) !== null) {
639
+ const specifier = match[2];
640
+ if (isFacetProvided(specifier)) continue;
641
+ const r = resolveRequireEx(vfs, specifier, fromDir, addPkgJson);
642
+ if (r) {
643
+ addFile(r.resolved);
644
+ if (r.stub) addStub(r.stub.path, r.stub.content);
645
+ }
646
+ }
647
+ // Follow static-string dynamic imports so a CLI entry that defers to
648
+ // import('./dist/index.js') has that subtree's content prefetched.
649
+ DYNIMPORT_RE.lastIndex = 0;
650
+ while ((match = DYNIMPORT_RE.exec(stripped)) !== null) {
651
+ const specifier = match[2];
652
+ if (isFacetProvided(specifier)) continue;
653
+ const r = resolveRequireEx(vfs, specifier, fromDir, addPkgJson);
654
+ if (r) {
655
+ addFile(r.resolved);
656
+ if (r.stub) addStub(r.stub.path, r.stub.content);
657
+ }
658
+ }
659
+ }
660
+
661
+ /**
662
+ * X.5-L: inject a synthetic stub into the bundle. Stubs are
663
+ * produced by resolvePkgSubpathEx's legacy-directory branch — they
664
+ * sit at the path the runtime resolver probes for (e.g.
665
+ * `<pkgDir>/<subpath>.js`) and re-export the real resolved file.
666
+ *
667
+ * We deliberately skip the recursion + package.json piggyback that
668
+ * `addFile` does: stubs are leaf one-liners with a single
669
+ * relative require, and the *real* target is added separately by
670
+ * `addFile(resolved)` with normal recursion.
671
+ */
672
+ function addStub(stubPath: string, content: string): void {
673
+ if (visited.has(stubPath)) return;
674
+ // Don't shadow a real on-disk file: if VFS already has something
675
+ // at this path, skip the stub. (Defence-in-depth — should never
676
+ // happen because the legacy-directory branch only fires when all
677
+ // extension probes missed.)
678
+ if (vfs.exists(stubPath) && !vfs.isDirectory(stubPath)) return;
679
+ visited.add(stubPath);
680
+ bundle[stubPath] = content;
681
+ }
682
+
683
+ /**
684
+ * Sink for intermediate package.json files consulted during
685
+ * LOAD_AS_DIRECTORY resolution (see PkgJsonSink). Adds the content
686
+ * verbatim — package.json carries no requires, so no recursion and no
687
+ * enclosing-package piggyback is needed.
688
+ */
689
+ function addPkgJson(pkgJsonPath: string): void {
690
+ const k = strip(pkgJsonPath);
691
+ if (visited.has(k) || k in bundle) return;
692
+ let content: string;
693
+ try { content = vfs.readFileString(k); } catch { return; }
694
+ visited.add(k);
695
+ bundle[k] = content;
696
+ }
697
+
698
+ // Start from entry code.
699
+ //
700
+ // Primitive #1 (runtime primitive support): the relative-require
701
+ // resolution base is the ENTRY FILE's directory when the caller
702
+ // supplied one (bin shims under node_modules/.bin/, npx-launched
703
+ // scripts, etc.), NOT cwd. Pre-fix, `require('../lib/tsc.js')` from
704
+ // `node_modules/typescript/bin/tsc` resolved against the user's
705
+ // cwd, finding `<cwd>/../lib/tsc.js` which doesn't exist.
706
+ //
707
+ // Falling back to cwd preserves the legacy behaviour for naked
708
+ // entryCode (no file context) — covers the `node -e '<code>'`
709
+ // path where opts.filename is '<eval>'.
710
+ const cwdStripped = strip(cwd);
711
+ let entryFromDir = cwdStripped;
712
+ if (entryFile) {
713
+ const stripped = strip(entryFile);
714
+ const slash = stripped.lastIndexOf('/');
715
+ if (slash > 0) entryFromDir = stripped.substring(0, slash);
716
+ }
717
+ parseAndResolve(entryCode, entryFromDir);
718
+
719
+ // If there's an entry file, add it (and recurse)
720
+ if (entryFile) {
721
+ const stripped = strip(entryFile);
722
+ addFile(stripped);
723
+ }
724
+
725
+ // Also add cwd package.json if it exists (for npm scripts, main field etc)
726
+ const cwdPkg = cwdStripped + '/package.json';
727
+ if (vfs.exists(cwdPkg) && !visited.has(cwdPkg)) {
728
+ try {
729
+ const c = vfs.readFileString(cwdPkg);
730
+ bundle[cwdPkg] = c;
731
+ visited.add(cwdPkg);
732
+ } catch { /* ignore */ }
733
+ }
734
+
735
+ return { bundle };
736
+ }
737
+
738
+ const BUILTINS = new Set([
739
+ 'fs', 'path', 'os', 'events', 'stream', 'buffer', 'util', 'url', 'crypto',
740
+ 'assert', 'querystring', 'string_decoder', 'child_process', 'process',
741
+ 'console', 'http', 'https', 'http2', 'net', 'dns', 'tls', 'tty',
742
+ 'module', 'timers', 'zlib', 'readline', 'perf_hooks', 'worker_threads',
743
+ 'vm', 'v8', 'inspector', 'cluster', 'domain', 'punycode', 'wasi',
744
+ 'trace_events', 'dgram', 'sqlite', 'repl',
745
+ ]);
746
+
747
+ /**
748
+ * Specifiers the walker must not follow: the facet resolves them from its own
749
+ * `builtins` table, never from the bundle. That is node core plus the npm
750
+ * packages the facet provides itself — walking those would spend the bundle's
751
+ * file and byte budget shipping sources that `require()` can never reach.
752
+ */
753
+ function isFacetProvided(id: string): boolean {
754
+ if (id.startsWith('node:')) return true;
755
+ return BUILTINS.has(id) || FACET_PROVIDED_PACKAGES.includes(id);
756
+ }
757
+
758
+ // Note: the shared resolver helpers are imported directly from
759
+ // src/_shared/exports-resolver.js by every caller (W2.6a D6 — single
760
+ // source of truth). No re-export needed here.