@jerryan/just-bash 3.5.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 (958) hide show
  1. package/CHANGELOG.md +308 -0
  2. package/LICENSE +201 -0
  3. package/README.md +827 -0
  4. package/dist/AGENTS.md +383 -0
  5. package/dist/Bash.d.ts +317 -0
  6. package/dist/abort-signals.d.ts +10 -0
  7. package/dist/agent-sandbox.d.ts +104 -0
  8. package/dist/ast/types.d.ts +612 -0
  9. package/dist/banned-patterns-test.d.ts +1 -0
  10. package/dist/bin/chunks/alias-3R4G6HQY.js +3 -0
  11. package/dist/bin/chunks/awk2-KO7ZE3P7.js +3 -0
  12. package/dist/bin/chunks/base64-TQ5KOCNW.js +3 -0
  13. package/dist/bin/chunks/basename-C4CRGDXP.js +3 -0
  14. package/dist/bin/chunks/bash-CFCBBWVH.js +3 -0
  15. package/dist/bin/chunks/cat-BQ7FQTN5.js +3 -0
  16. package/dist/bin/chunks/chmod-WYYTXGVB.js +3 -0
  17. package/dist/bin/chunks/chunk-23OI2XDJ.js +20 -0
  18. package/dist/bin/chunks/chunk-2ETT4ELS.js +4 -0
  19. package/dist/bin/chunks/chunk-2UV6ZFHK.js +4 -0
  20. package/dist/bin/chunks/chunk-2YLY6FJA.js +10 -0
  21. package/dist/bin/chunks/chunk-3FQBUEB6.js +3 -0
  22. package/dist/bin/chunks/chunk-3MRB66F4.js +3 -0
  23. package/dist/bin/chunks/chunk-3PCPQIUD.js +3 -0
  24. package/dist/bin/chunks/chunk-42AMF6EE.js +3 -0
  25. package/dist/bin/chunks/chunk-43E7AR6A.js +3 -0
  26. package/dist/bin/chunks/chunk-45DUHCXR.js +7 -0
  27. package/dist/bin/chunks/chunk-472JZJ2D.js +22 -0
  28. package/dist/bin/chunks/chunk-47IFMQYS.js +3 -0
  29. package/dist/bin/chunks/chunk-4JF56A3P.js +15 -0
  30. package/dist/bin/chunks/chunk-5SKEZPTU.js +12 -0
  31. package/dist/bin/chunks/chunk-67XYNGRV.js +9 -0
  32. package/dist/bin/chunks/chunk-6ESRNSO7.js +7 -0
  33. package/dist/bin/chunks/chunk-6KHZX4HU.js +12 -0
  34. package/dist/bin/chunks/chunk-7FGDUBSN.js +14 -0
  35. package/dist/bin/chunks/chunk-7JZKVC3F.js +2 -0
  36. package/dist/bin/chunks/chunk-7PPAWLUI.js +12 -0
  37. package/dist/bin/chunks/chunk-7PUOS2OO.js +143 -0
  38. package/dist/bin/chunks/chunk-7VWOECJ3.js +101 -0
  39. package/dist/bin/chunks/chunk-7WBCA2BB.js +3 -0
  40. package/dist/bin/chunks/chunk-AGKL4LDL.js +4 -0
  41. package/dist/bin/chunks/chunk-AI7JUA46.js +13 -0
  42. package/dist/bin/chunks/chunk-AJF3OBTR.js +4 -0
  43. package/dist/bin/chunks/chunk-B2DRBHGQ.js +3 -0
  44. package/dist/bin/chunks/chunk-B2GCIQI2.js +16 -0
  45. package/dist/bin/chunks/chunk-B6WWC6K3.js +9 -0
  46. package/dist/bin/chunks/chunk-BIJXTWZ4.js +3 -0
  47. package/dist/bin/chunks/chunk-CC2AQ6B7.js +15 -0
  48. package/dist/bin/chunks/chunk-CL7IYCGG.js +20 -0
  49. package/dist/bin/chunks/chunk-CMTQFWZK.js +5 -0
  50. package/dist/bin/chunks/chunk-CPKBPQ2C.js +3 -0
  51. package/dist/bin/chunks/chunk-DJAX3ZRG.js +8 -0
  52. package/dist/bin/chunks/chunk-DN2YCFOR.js +3 -0
  53. package/dist/bin/chunks/chunk-DYIBFLS3.js +17 -0
  54. package/dist/bin/chunks/chunk-DZAFUADN.js +36 -0
  55. package/dist/bin/chunks/chunk-F3UDTTI7.js +13 -0
  56. package/dist/bin/chunks/chunk-FHMIEBRM.js +6 -0
  57. package/dist/bin/chunks/chunk-FONAGXRJ.js +17 -0
  58. package/dist/bin/chunks/chunk-FPWHWWXO.js +8 -0
  59. package/dist/bin/chunks/chunk-FUT3X2GJ.js +9 -0
  60. package/dist/bin/chunks/chunk-G4AUMZUY.js +4 -0
  61. package/dist/bin/chunks/chunk-GA5TPRMF.js +34 -0
  62. package/dist/bin/chunks/chunk-GOWX7VPU.js +7 -0
  63. package/dist/bin/chunks/chunk-GQKQEK5N.js +11 -0
  64. package/dist/bin/chunks/chunk-GR4ZHKXI.js +3 -0
  65. package/dist/bin/chunks/chunk-HDWHYM2T.js +18 -0
  66. package/dist/bin/chunks/chunk-HQ63MFHG.js +34 -0
  67. package/dist/bin/chunks/chunk-HW2VJKFH.js +4 -0
  68. package/dist/bin/chunks/chunk-HWI42GQO.js +7 -0
  69. package/dist/bin/chunks/chunk-HZGHQZSY.js +10 -0
  70. package/dist/bin/chunks/chunk-I4IRHQDW.js +3 -0
  71. package/dist/bin/chunks/chunk-I57EACSL.js +3 -0
  72. package/dist/bin/chunks/chunk-JELR4642.js +21 -0
  73. package/dist/bin/chunks/chunk-JQM3DKCH.js +12 -0
  74. package/dist/bin/chunks/chunk-K27FY3ES.js +3 -0
  75. package/dist/bin/chunks/chunk-KG2KXL4Y.js +3 -0
  76. package/dist/bin/chunks/chunk-KI54R2QB.js +3 -0
  77. package/dist/bin/chunks/chunk-KP2UH5CJ.js +22 -0
  78. package/dist/bin/chunks/chunk-KUMHQGUR.js +3 -0
  79. package/dist/bin/chunks/chunk-LE2XKKGQ.js +7 -0
  80. package/dist/bin/chunks/chunk-LJQIAFWS.js +5 -0
  81. package/dist/bin/chunks/chunk-LXFMIXGA.js +3 -0
  82. package/dist/bin/chunks/chunk-M7SIPZZZ.js +22 -0
  83. package/dist/bin/chunks/chunk-MF3GVFLC.js +11 -0
  84. package/dist/bin/chunks/chunk-MROECM42.js +3 -0
  85. package/dist/bin/chunks/chunk-MUFNRCMY.js +24 -0
  86. package/dist/bin/chunks/chunk-MVBK66TR.js +22 -0
  87. package/dist/bin/chunks/chunk-MYTNZ7MA.js +7 -0
  88. package/dist/bin/chunks/chunk-N26Y42L6.js +10 -0
  89. package/dist/bin/chunks/chunk-NE4R2FVV.js +5 -0
  90. package/dist/bin/chunks/chunk-NLU5LALY.js +37 -0
  91. package/dist/bin/chunks/chunk-NXUXZWS5.js +7 -0
  92. package/dist/bin/chunks/chunk-O2BCKSMK.js +3 -0
  93. package/dist/bin/chunks/chunk-OLEQNRKX.js +8 -0
  94. package/dist/bin/chunks/chunk-OUQKFRVR.js +6 -0
  95. package/dist/bin/chunks/chunk-OXLC2WWX.js +26 -0
  96. package/dist/bin/chunks/chunk-OYXHOZZ4.js +15 -0
  97. package/dist/bin/chunks/chunk-PBOVSFTJ.js +3 -0
  98. package/dist/bin/chunks/chunk-PPVF2N6C.js +3 -0
  99. package/dist/bin/chunks/chunk-PQ2INDRF.js +87 -0
  100. package/dist/bin/chunks/chunk-PXP4YYZA.js +13 -0
  101. package/dist/bin/chunks/chunk-PZQVSQX6.js +4 -0
  102. package/dist/bin/chunks/chunk-Q2GOPGDA.js +6 -0
  103. package/dist/bin/chunks/chunk-Q3LE3Y66.js +13 -0
  104. package/dist/bin/chunks/chunk-QES5OSUC.js +3 -0
  105. package/dist/bin/chunks/chunk-QFTZKD5O.js +13 -0
  106. package/dist/bin/chunks/chunk-QL33F2W6.js +8 -0
  107. package/dist/bin/chunks/chunk-QMPZXXEK.js +8 -0
  108. package/dist/bin/chunks/chunk-QYZN33JA.js +3 -0
  109. package/dist/bin/chunks/chunk-R2J5MJOM.js +20 -0
  110. package/dist/bin/chunks/chunk-RPUFEP5O.js +65 -0
  111. package/dist/bin/chunks/chunk-RVPTAYDS.js +4 -0
  112. package/dist/bin/chunks/chunk-SC5TEGMM.js +12 -0
  113. package/dist/bin/chunks/chunk-SDGPS6XI.js +10 -0
  114. package/dist/bin/chunks/chunk-TW2IJRUF.js +3 -0
  115. package/dist/bin/chunks/chunk-TYBXHT6W.js +10 -0
  116. package/dist/bin/chunks/chunk-V2XF3TTW.js +276 -0
  117. package/dist/bin/chunks/chunk-V4U26ZWL.js +16 -0
  118. package/dist/bin/chunks/chunk-VTAMGD42.js +3 -0
  119. package/dist/bin/chunks/chunk-WAJVRK5B.js +16 -0
  120. package/dist/bin/chunks/chunk-WEHA3JFD.js +3 -0
  121. package/dist/bin/chunks/chunk-WFHYGSLJ.js +6 -0
  122. package/dist/bin/chunks/chunk-WFVCEB5T.js +3 -0
  123. package/dist/bin/chunks/chunk-YERKK5B3.js +4 -0
  124. package/dist/bin/chunks/chunk-YIANER7Y.js +8 -0
  125. package/dist/bin/chunks/chunk-YJ5OCPSK.js +7 -0
  126. package/dist/bin/chunks/chunk-YOIFOOGX.js +9 -0
  127. package/dist/bin/chunks/chunk-YQEKKZTU.js +12 -0
  128. package/dist/bin/chunks/chunk-YUZRUF5F.js +10 -0
  129. package/dist/bin/chunks/chunk-ZMGLTHSU.js +15 -0
  130. package/dist/bin/chunks/clear-OE52K3TM.js +3 -0
  131. package/dist/bin/chunks/column-AJFK3TWF.js +3 -0
  132. package/dist/bin/chunks/comm-URDMZCXL.js +3 -0
  133. package/dist/bin/chunks/cp-OMVKM35F.js +3 -0
  134. package/dist/bin/chunks/curl-NHNZ46BU.js +31 -0
  135. package/dist/bin/chunks/cut-42X6363P.js +3 -0
  136. package/dist/bin/chunks/date-6MQGVWDY.js +3 -0
  137. package/dist/bin/chunks/diff-YXZZCUSQ.js +3 -0
  138. package/dist/bin/chunks/dirname-TPUFCYF6.js +3 -0
  139. package/dist/bin/chunks/dist-5MWO25Y4.js +141 -0
  140. package/dist/bin/chunks/du-LUFPVLNW.js +3 -0
  141. package/dist/bin/chunks/echo-NYDCCFWB.js +3 -0
  142. package/dist/bin/chunks/env-2TSVF4W7.js +3 -0
  143. package/dist/bin/chunks/expand-IQRKKT7D.js +3 -0
  144. package/dist/bin/chunks/expr-NNMDHOCN.js +3 -0
  145. package/dist/bin/chunks/file-4T64QNLS.js +3 -0
  146. package/dist/bin/chunks/find-AWH2KOY7.js +3 -0
  147. package/dist/bin/chunks/flag-coverage-J2ZHA465.js +3 -0
  148. package/dist/bin/chunks/fold-YEY7X54W.js +3 -0
  149. package/dist/bin/chunks/grep-CVU5V66H.js +3 -0
  150. package/dist/bin/chunks/gzip-FDPA6EKG.js +3 -0
  151. package/dist/bin/chunks/head-QKVY3SIO.js +3 -0
  152. package/dist/bin/chunks/help-HVIDHJ6M.js +3 -0
  153. package/dist/bin/chunks/history-3HAU45KT.js +3 -0
  154. package/dist/bin/chunks/hostname-2I76DUQL.js +3 -0
  155. package/dist/bin/chunks/html-to-markdown-XUMA42ZC.js +3 -0
  156. package/dist/bin/chunks/join-34DX7YK5.js +3 -0
  157. package/dist/bin/chunks/jq-V7OTAVU5.js +3 -0
  158. package/dist/bin/chunks/js-exec-DJQLXWCS.js +99 -0
  159. package/dist/bin/chunks/js-exec-worker.js +4809 -0
  160. package/dist/bin/chunks/ln-B35EKC2Q.js +3 -0
  161. package/dist/bin/chunks/ls-Q6ZZ6SQ2.js +3 -0
  162. package/dist/bin/chunks/md5sum-Z6KAYGDK.js +3 -0
  163. package/dist/bin/chunks/mkdir-74BP5NTG.js +3 -0
  164. package/dist/bin/chunks/mv-76LAHXFR.js +3 -0
  165. package/dist/bin/chunks/nl-4IZRRT7U.js +3 -0
  166. package/dist/bin/chunks/od-2GXD4D5K.js +3 -0
  167. package/dist/bin/chunks/paste-DWWA3JTW.js +3 -0
  168. package/dist/bin/chunks/printf-YXCSED2H.js +3 -0
  169. package/dist/bin/chunks/pwd-YKLNXWZI.js +3 -0
  170. package/dist/bin/chunks/python3-JCJHSX4Z.js +14 -0
  171. package/dist/bin/chunks/readlink-EHXJNW62.js +3 -0
  172. package/dist/bin/chunks/rev-CZTQCNOZ.js +3 -0
  173. package/dist/bin/chunks/rg-PXNKNIMY.js +3 -0
  174. package/dist/bin/chunks/rm-3PLW4O4B.js +3 -0
  175. package/dist/bin/chunks/rmdir-7ZIVFZJX.js +3 -0
  176. package/dist/bin/chunks/sed-4LVDFHIJ.js +3 -0
  177. package/dist/bin/chunks/seq-X2EAOGV5.js +3 -0
  178. package/dist/bin/chunks/sha1sum-CATBXX76.js +3 -0
  179. package/dist/bin/chunks/sha256sum-YGSNBVY3.js +3 -0
  180. package/dist/bin/chunks/sleep-DVFE2GSF.js +3 -0
  181. package/dist/bin/chunks/sort-HBOCBBJQ.js +3 -0
  182. package/dist/bin/chunks/split-ZNNNHKSP.js +3 -0
  183. package/dist/bin/chunks/sqlite3-KP42NNIY.js +3 -0
  184. package/dist/bin/chunks/sqlite3-worker.js +1928 -0
  185. package/dist/bin/chunks/stat-LROLDXHH.js +3 -0
  186. package/dist/bin/chunks/strings-CNUK76JL.js +3 -0
  187. package/dist/bin/chunks/tac-DG4BMYM5.js +3 -0
  188. package/dist/bin/chunks/tail-UOTUV25D.js +3 -0
  189. package/dist/bin/chunks/tar-7HGZIMZD.js +3 -0
  190. package/dist/bin/chunks/tee-L4HKV5PD.js +3 -0
  191. package/dist/bin/chunks/time-LF7BTSK5.js +3 -0
  192. package/dist/bin/chunks/timeout-YGFHQJKX.js +3 -0
  193. package/dist/bin/chunks/touch-TVQAUQOG.js +3 -0
  194. package/dist/bin/chunks/tr-PVFO6FRY.js +3 -0
  195. package/dist/bin/chunks/tree-ZGP6NPGS.js +3 -0
  196. package/dist/bin/chunks/true-KFTJGQLQ.js +3 -0
  197. package/dist/bin/chunks/unexpand-JPOQORZF.js +3 -0
  198. package/dist/bin/chunks/uniq-JMHDIJXT.js +3 -0
  199. package/dist/bin/chunks/wc-3KLVOCI2.js +3 -0
  200. package/dist/bin/chunks/which-4TPGVSBZ.js +3 -0
  201. package/dist/bin/chunks/whoami-B5HDVKW6.js +3 -0
  202. package/dist/bin/chunks/worker.js +3330 -0
  203. package/dist/bin/chunks/xan-WW53ETXT.js +3 -0
  204. package/dist/bin/chunks/xan-view-PD26QEFN.js +3 -0
  205. package/dist/bin/chunks/xargs-4AMMXFXL.js +3 -0
  206. package/dist/bin/chunks/yq-MYZOS2WN.js +3 -0
  207. package/dist/bin/just-bash.js +858 -0
  208. package/dist/bin/shell/chunks/alias-3R4G6HQY.js +3 -0
  209. package/dist/bin/shell/chunks/awk2-KO7ZE3P7.js +3 -0
  210. package/dist/bin/shell/chunks/base64-TQ5KOCNW.js +3 -0
  211. package/dist/bin/shell/chunks/basename-C4CRGDXP.js +3 -0
  212. package/dist/bin/shell/chunks/bash-CFCBBWVH.js +3 -0
  213. package/dist/bin/shell/chunks/cat-BQ7FQTN5.js +3 -0
  214. package/dist/bin/shell/chunks/chmod-WYYTXGVB.js +3 -0
  215. package/dist/bin/shell/chunks/chunk-23OI2XDJ.js +20 -0
  216. package/dist/bin/shell/chunks/chunk-2ETT4ELS.js +4 -0
  217. package/dist/bin/shell/chunks/chunk-2UV6ZFHK.js +4 -0
  218. package/dist/bin/shell/chunks/chunk-2YLY6FJA.js +10 -0
  219. package/dist/bin/shell/chunks/chunk-3FQBUEB6.js +3 -0
  220. package/dist/bin/shell/chunks/chunk-3MRB66F4.js +3 -0
  221. package/dist/bin/shell/chunks/chunk-3PCPQIUD.js +3 -0
  222. package/dist/bin/shell/chunks/chunk-42AMF6EE.js +3 -0
  223. package/dist/bin/shell/chunks/chunk-43E7AR6A.js +3 -0
  224. package/dist/bin/shell/chunks/chunk-45DUHCXR.js +7 -0
  225. package/dist/bin/shell/chunks/chunk-472JZJ2D.js +22 -0
  226. package/dist/bin/shell/chunks/chunk-47IFMQYS.js +3 -0
  227. package/dist/bin/shell/chunks/chunk-4JF56A3P.js +15 -0
  228. package/dist/bin/shell/chunks/chunk-5SKEZPTU.js +12 -0
  229. package/dist/bin/shell/chunks/chunk-67XYNGRV.js +9 -0
  230. package/dist/bin/shell/chunks/chunk-6ESRNSO7.js +7 -0
  231. package/dist/bin/shell/chunks/chunk-6KHZX4HU.js +12 -0
  232. package/dist/bin/shell/chunks/chunk-7FGDUBSN.js +14 -0
  233. package/dist/bin/shell/chunks/chunk-7JZKVC3F.js +2 -0
  234. package/dist/bin/shell/chunks/chunk-7PPAWLUI.js +12 -0
  235. package/dist/bin/shell/chunks/chunk-7PUOS2OO.js +143 -0
  236. package/dist/bin/shell/chunks/chunk-7VWOECJ3.js +101 -0
  237. package/dist/bin/shell/chunks/chunk-7WBCA2BB.js +3 -0
  238. package/dist/bin/shell/chunks/chunk-AGKL4LDL.js +4 -0
  239. package/dist/bin/shell/chunks/chunk-AI7JUA46.js +13 -0
  240. package/dist/bin/shell/chunks/chunk-AJF3OBTR.js +4 -0
  241. package/dist/bin/shell/chunks/chunk-B2DRBHGQ.js +3 -0
  242. package/dist/bin/shell/chunks/chunk-B2GCIQI2.js +16 -0
  243. package/dist/bin/shell/chunks/chunk-B6WWC6K3.js +9 -0
  244. package/dist/bin/shell/chunks/chunk-BIJXTWZ4.js +3 -0
  245. package/dist/bin/shell/chunks/chunk-CC2AQ6B7.js +15 -0
  246. package/dist/bin/shell/chunks/chunk-CL7IYCGG.js +20 -0
  247. package/dist/bin/shell/chunks/chunk-CMTQFWZK.js +5 -0
  248. package/dist/bin/shell/chunks/chunk-CPKBPQ2C.js +3 -0
  249. package/dist/bin/shell/chunks/chunk-DJAX3ZRG.js +8 -0
  250. package/dist/bin/shell/chunks/chunk-DN2YCFOR.js +3 -0
  251. package/dist/bin/shell/chunks/chunk-DYIBFLS3.js +17 -0
  252. package/dist/bin/shell/chunks/chunk-DZAFUADN.js +36 -0
  253. package/dist/bin/shell/chunks/chunk-F3UDTTI7.js +13 -0
  254. package/dist/bin/shell/chunks/chunk-FHMIEBRM.js +6 -0
  255. package/dist/bin/shell/chunks/chunk-FONAGXRJ.js +17 -0
  256. package/dist/bin/shell/chunks/chunk-FPWHWWXO.js +8 -0
  257. package/dist/bin/shell/chunks/chunk-FUT3X2GJ.js +9 -0
  258. package/dist/bin/shell/chunks/chunk-G4AUMZUY.js +4 -0
  259. package/dist/bin/shell/chunks/chunk-GA5TPRMF.js +34 -0
  260. package/dist/bin/shell/chunks/chunk-GOWX7VPU.js +7 -0
  261. package/dist/bin/shell/chunks/chunk-GQKQEK5N.js +11 -0
  262. package/dist/bin/shell/chunks/chunk-GR4ZHKXI.js +3 -0
  263. package/dist/bin/shell/chunks/chunk-HDWHYM2T.js +18 -0
  264. package/dist/bin/shell/chunks/chunk-HQ63MFHG.js +34 -0
  265. package/dist/bin/shell/chunks/chunk-HW2VJKFH.js +4 -0
  266. package/dist/bin/shell/chunks/chunk-HWI42GQO.js +7 -0
  267. package/dist/bin/shell/chunks/chunk-HZGHQZSY.js +10 -0
  268. package/dist/bin/shell/chunks/chunk-I4IRHQDW.js +3 -0
  269. package/dist/bin/shell/chunks/chunk-I57EACSL.js +3 -0
  270. package/dist/bin/shell/chunks/chunk-JELR4642.js +21 -0
  271. package/dist/bin/shell/chunks/chunk-JQM3DKCH.js +12 -0
  272. package/dist/bin/shell/chunks/chunk-K27FY3ES.js +3 -0
  273. package/dist/bin/shell/chunks/chunk-KG2KXL4Y.js +3 -0
  274. package/dist/bin/shell/chunks/chunk-KI54R2QB.js +3 -0
  275. package/dist/bin/shell/chunks/chunk-KP2UH5CJ.js +22 -0
  276. package/dist/bin/shell/chunks/chunk-KUMHQGUR.js +3 -0
  277. package/dist/bin/shell/chunks/chunk-LE2XKKGQ.js +7 -0
  278. package/dist/bin/shell/chunks/chunk-LJQIAFWS.js +5 -0
  279. package/dist/bin/shell/chunks/chunk-LXFMIXGA.js +3 -0
  280. package/dist/bin/shell/chunks/chunk-M7SIPZZZ.js +22 -0
  281. package/dist/bin/shell/chunks/chunk-MF3GVFLC.js +11 -0
  282. package/dist/bin/shell/chunks/chunk-MROECM42.js +3 -0
  283. package/dist/bin/shell/chunks/chunk-MUFNRCMY.js +24 -0
  284. package/dist/bin/shell/chunks/chunk-MVBK66TR.js +22 -0
  285. package/dist/bin/shell/chunks/chunk-MYTNZ7MA.js +7 -0
  286. package/dist/bin/shell/chunks/chunk-N26Y42L6.js +10 -0
  287. package/dist/bin/shell/chunks/chunk-NE4R2FVV.js +5 -0
  288. package/dist/bin/shell/chunks/chunk-NLU5LALY.js +37 -0
  289. package/dist/bin/shell/chunks/chunk-NXUXZWS5.js +7 -0
  290. package/dist/bin/shell/chunks/chunk-O2BCKSMK.js +3 -0
  291. package/dist/bin/shell/chunks/chunk-OLEQNRKX.js +8 -0
  292. package/dist/bin/shell/chunks/chunk-OUQKFRVR.js +6 -0
  293. package/dist/bin/shell/chunks/chunk-OXLC2WWX.js +26 -0
  294. package/dist/bin/shell/chunks/chunk-OYXHOZZ4.js +15 -0
  295. package/dist/bin/shell/chunks/chunk-PBOVSFTJ.js +3 -0
  296. package/dist/bin/shell/chunks/chunk-PPVF2N6C.js +3 -0
  297. package/dist/bin/shell/chunks/chunk-PQ2INDRF.js +87 -0
  298. package/dist/bin/shell/chunks/chunk-PXP4YYZA.js +13 -0
  299. package/dist/bin/shell/chunks/chunk-PZQVSQX6.js +4 -0
  300. package/dist/bin/shell/chunks/chunk-Q2GOPGDA.js +6 -0
  301. package/dist/bin/shell/chunks/chunk-Q3LE3Y66.js +13 -0
  302. package/dist/bin/shell/chunks/chunk-QES5OSUC.js +3 -0
  303. package/dist/bin/shell/chunks/chunk-QFTZKD5O.js +13 -0
  304. package/dist/bin/shell/chunks/chunk-QL33F2W6.js +8 -0
  305. package/dist/bin/shell/chunks/chunk-QMPZXXEK.js +8 -0
  306. package/dist/bin/shell/chunks/chunk-QYZN33JA.js +3 -0
  307. package/dist/bin/shell/chunks/chunk-R2J5MJOM.js +20 -0
  308. package/dist/bin/shell/chunks/chunk-RPUFEP5O.js +65 -0
  309. package/dist/bin/shell/chunks/chunk-RVPTAYDS.js +4 -0
  310. package/dist/bin/shell/chunks/chunk-SC5TEGMM.js +12 -0
  311. package/dist/bin/shell/chunks/chunk-SDGPS6XI.js +10 -0
  312. package/dist/bin/shell/chunks/chunk-TW2IJRUF.js +3 -0
  313. package/dist/bin/shell/chunks/chunk-TYBXHT6W.js +10 -0
  314. package/dist/bin/shell/chunks/chunk-V2XF3TTW.js +276 -0
  315. package/dist/bin/shell/chunks/chunk-V4U26ZWL.js +16 -0
  316. package/dist/bin/shell/chunks/chunk-VTAMGD42.js +3 -0
  317. package/dist/bin/shell/chunks/chunk-WAJVRK5B.js +16 -0
  318. package/dist/bin/shell/chunks/chunk-WEHA3JFD.js +3 -0
  319. package/dist/bin/shell/chunks/chunk-WFHYGSLJ.js +6 -0
  320. package/dist/bin/shell/chunks/chunk-WFVCEB5T.js +3 -0
  321. package/dist/bin/shell/chunks/chunk-YERKK5B3.js +4 -0
  322. package/dist/bin/shell/chunks/chunk-YIANER7Y.js +8 -0
  323. package/dist/bin/shell/chunks/chunk-YJ5OCPSK.js +7 -0
  324. package/dist/bin/shell/chunks/chunk-YOIFOOGX.js +9 -0
  325. package/dist/bin/shell/chunks/chunk-YQEKKZTU.js +12 -0
  326. package/dist/bin/shell/chunks/chunk-YUZRUF5F.js +10 -0
  327. package/dist/bin/shell/chunks/chunk-ZMGLTHSU.js +15 -0
  328. package/dist/bin/shell/chunks/clear-OE52K3TM.js +3 -0
  329. package/dist/bin/shell/chunks/column-AJFK3TWF.js +3 -0
  330. package/dist/bin/shell/chunks/comm-URDMZCXL.js +3 -0
  331. package/dist/bin/shell/chunks/cp-OMVKM35F.js +3 -0
  332. package/dist/bin/shell/chunks/curl-NHNZ46BU.js +31 -0
  333. package/dist/bin/shell/chunks/cut-42X6363P.js +3 -0
  334. package/dist/bin/shell/chunks/date-6MQGVWDY.js +3 -0
  335. package/dist/bin/shell/chunks/diff-YXZZCUSQ.js +3 -0
  336. package/dist/bin/shell/chunks/dirname-TPUFCYF6.js +3 -0
  337. package/dist/bin/shell/chunks/dist-5MWO25Y4.js +141 -0
  338. package/dist/bin/shell/chunks/du-LUFPVLNW.js +3 -0
  339. package/dist/bin/shell/chunks/echo-NYDCCFWB.js +3 -0
  340. package/dist/bin/shell/chunks/env-2TSVF4W7.js +3 -0
  341. package/dist/bin/shell/chunks/expand-IQRKKT7D.js +3 -0
  342. package/dist/bin/shell/chunks/expr-NNMDHOCN.js +3 -0
  343. package/dist/bin/shell/chunks/file-4T64QNLS.js +3 -0
  344. package/dist/bin/shell/chunks/find-AWH2KOY7.js +3 -0
  345. package/dist/bin/shell/chunks/flag-coverage-J2ZHA465.js +3 -0
  346. package/dist/bin/shell/chunks/fold-YEY7X54W.js +3 -0
  347. package/dist/bin/shell/chunks/grep-CVU5V66H.js +3 -0
  348. package/dist/bin/shell/chunks/gzip-FDPA6EKG.js +3 -0
  349. package/dist/bin/shell/chunks/head-QKVY3SIO.js +3 -0
  350. package/dist/bin/shell/chunks/help-HVIDHJ6M.js +3 -0
  351. package/dist/bin/shell/chunks/history-3HAU45KT.js +3 -0
  352. package/dist/bin/shell/chunks/hostname-2I76DUQL.js +3 -0
  353. package/dist/bin/shell/chunks/html-to-markdown-XUMA42ZC.js +3 -0
  354. package/dist/bin/shell/chunks/join-34DX7YK5.js +3 -0
  355. package/dist/bin/shell/chunks/jq-V7OTAVU5.js +3 -0
  356. package/dist/bin/shell/chunks/js-exec-DJQLXWCS.js +99 -0
  357. package/dist/bin/shell/chunks/ln-B35EKC2Q.js +3 -0
  358. package/dist/bin/shell/chunks/ls-Q6ZZ6SQ2.js +3 -0
  359. package/dist/bin/shell/chunks/md5sum-Z6KAYGDK.js +3 -0
  360. package/dist/bin/shell/chunks/mkdir-74BP5NTG.js +3 -0
  361. package/dist/bin/shell/chunks/mv-76LAHXFR.js +3 -0
  362. package/dist/bin/shell/chunks/nl-4IZRRT7U.js +3 -0
  363. package/dist/bin/shell/chunks/od-2GXD4D5K.js +3 -0
  364. package/dist/bin/shell/chunks/paste-DWWA3JTW.js +3 -0
  365. package/dist/bin/shell/chunks/printf-YXCSED2H.js +3 -0
  366. package/dist/bin/shell/chunks/pwd-YKLNXWZI.js +3 -0
  367. package/dist/bin/shell/chunks/python3-JCJHSX4Z.js +14 -0
  368. package/dist/bin/shell/chunks/readlink-EHXJNW62.js +3 -0
  369. package/dist/bin/shell/chunks/rev-CZTQCNOZ.js +3 -0
  370. package/dist/bin/shell/chunks/rg-PXNKNIMY.js +3 -0
  371. package/dist/bin/shell/chunks/rm-3PLW4O4B.js +3 -0
  372. package/dist/bin/shell/chunks/rmdir-7ZIVFZJX.js +3 -0
  373. package/dist/bin/shell/chunks/sed-4LVDFHIJ.js +3 -0
  374. package/dist/bin/shell/chunks/seq-X2EAOGV5.js +3 -0
  375. package/dist/bin/shell/chunks/sha1sum-CATBXX76.js +3 -0
  376. package/dist/bin/shell/chunks/sha256sum-YGSNBVY3.js +3 -0
  377. package/dist/bin/shell/chunks/sleep-DVFE2GSF.js +3 -0
  378. package/dist/bin/shell/chunks/sort-HBOCBBJQ.js +3 -0
  379. package/dist/bin/shell/chunks/split-ZNNNHKSP.js +3 -0
  380. package/dist/bin/shell/chunks/sqlite3-KP42NNIY.js +3 -0
  381. package/dist/bin/shell/chunks/stat-LROLDXHH.js +3 -0
  382. package/dist/bin/shell/chunks/strings-CNUK76JL.js +3 -0
  383. package/dist/bin/shell/chunks/tac-DG4BMYM5.js +3 -0
  384. package/dist/bin/shell/chunks/tail-UOTUV25D.js +3 -0
  385. package/dist/bin/shell/chunks/tar-7HGZIMZD.js +3 -0
  386. package/dist/bin/shell/chunks/tee-L4HKV5PD.js +3 -0
  387. package/dist/bin/shell/chunks/time-LF7BTSK5.js +3 -0
  388. package/dist/bin/shell/chunks/timeout-YGFHQJKX.js +3 -0
  389. package/dist/bin/shell/chunks/touch-TVQAUQOG.js +3 -0
  390. package/dist/bin/shell/chunks/tr-PVFO6FRY.js +3 -0
  391. package/dist/bin/shell/chunks/tree-ZGP6NPGS.js +3 -0
  392. package/dist/bin/shell/chunks/true-KFTJGQLQ.js +3 -0
  393. package/dist/bin/shell/chunks/unexpand-JPOQORZF.js +3 -0
  394. package/dist/bin/shell/chunks/uniq-JMHDIJXT.js +3 -0
  395. package/dist/bin/shell/chunks/wc-3KLVOCI2.js +3 -0
  396. package/dist/bin/shell/chunks/which-4TPGVSBZ.js +3 -0
  397. package/dist/bin/shell/chunks/whoami-B5HDVKW6.js +3 -0
  398. package/dist/bin/shell/chunks/xan-WW53ETXT.js +3 -0
  399. package/dist/bin/shell/chunks/xan-view-PD26QEFN.js +3 -0
  400. package/dist/bin/shell/chunks/xargs-4AMMXFXL.js +3 -0
  401. package/dist/bin/shell/chunks/yq-MYZOS2WN.js +3 -0
  402. package/dist/bin/shell/shell.js +834 -0
  403. package/dist/bounded-builder.d.ts +37 -0
  404. package/dist/browser.d.ts +23 -0
  405. package/dist/bundle/browser.js +1576 -0
  406. package/dist/bundle/chunks/alias-T5TO5GWK.js +2 -0
  407. package/dist/bundle/chunks/awk2-W6BNZEJN.js +2 -0
  408. package/dist/bundle/chunks/base64-MHVQ5XHI.js +2 -0
  409. package/dist/bundle/chunks/basename-SJZQ5W65.js +2 -0
  410. package/dist/bundle/chunks/bash-HIEWVHJ2.js +2 -0
  411. package/dist/bundle/chunks/cat-VZBWBIJB.js +2 -0
  412. package/dist/bundle/chunks/chmod-WM2JFFQC.js +2 -0
  413. package/dist/bundle/chunks/chunk-24NLAR7R.js +36 -0
  414. package/dist/bundle/chunks/chunk-26GP3ACY.js +12 -0
  415. package/dist/bundle/chunks/chunk-2KNTH3KH.js +9 -0
  416. package/dist/bundle/chunks/chunk-2SMD2AUA.js +3 -0
  417. package/dist/bundle/chunks/chunk-2TSZPVPI.js +21 -0
  418. package/dist/bundle/chunks/chunk-2VWG4LDT.js +11 -0
  419. package/dist/bundle/chunks/chunk-3WASQYTF.js +11 -0
  420. package/dist/bundle/chunks/chunk-44YCJWNC.js +6 -0
  421. package/dist/bundle/chunks/chunk-4EDQZIAN.js +5 -0
  422. package/dist/bundle/chunks/chunk-4MJ7VJG4.js +21 -0
  423. package/dist/bundle/chunks/chunk-4MZPEZTU.js +3 -0
  424. package/dist/bundle/chunks/chunk-57LGFT4S.js +3 -0
  425. package/dist/bundle/chunks/chunk-5I5U6IYI.js +142 -0
  426. package/dist/bundle/chunks/chunk-6DDRR56B.js +33 -0
  427. package/dist/bundle/chunks/chunk-6QF3PCMO.js +8 -0
  428. package/dist/bundle/chunks/chunk-6RK4AAB7.js +21 -0
  429. package/dist/bundle/chunks/chunk-6WGIZV3E.js +13 -0
  430. package/dist/bundle/chunks/chunk-73JQKNZT.js +33 -0
  431. package/dist/bundle/chunks/chunk-7AISL3XV.js +12 -0
  432. package/dist/bundle/chunks/chunk-7EUWTCWK.js +2 -0
  433. package/dist/bundle/chunks/chunk-7IJWBG4I.js +2 -0
  434. package/dist/bundle/chunks/chunk-7O2RDO2R.js +14 -0
  435. package/dist/bundle/chunks/chunk-A4R2GWRF.js +9 -0
  436. package/dist/bundle/chunks/chunk-AGH5UJJI.js +4 -0
  437. package/dist/bundle/chunks/chunk-ANCQ4SCV.js +2 -0
  438. package/dist/bundle/chunks/chunk-ASE6AYV3.js +17 -0
  439. package/dist/bundle/chunks/chunk-AYSZ5MAE.js +2 -0
  440. package/dist/bundle/chunks/chunk-BKUWXPEM.js +2 -0
  441. package/dist/bundle/chunks/chunk-BRJERIF4.js +2 -0
  442. package/dist/bundle/chunks/chunk-DAKEIWT3.js +21 -0
  443. package/dist/bundle/chunks/chunk-DLL7UR66.js +2 -0
  444. package/dist/bundle/chunks/chunk-DMWNBCXJ.js +10 -0
  445. package/dist/bundle/chunks/chunk-DVSA72LH.js +2 -0
  446. package/dist/bundle/chunks/chunk-EJFBIRMD.js +6 -0
  447. package/dist/bundle/chunks/chunk-EZNS4GF7.js +9 -0
  448. package/dist/bundle/chunks/chunk-F6XU52K3.js +35 -0
  449. package/dist/bundle/chunks/chunk-FHC24QSK.js +7 -0
  450. package/dist/bundle/chunks/chunk-FIMF2TLE.js +20 -0
  451. package/dist/bundle/chunks/chunk-FOCWZZDE.js +2 -0
  452. package/dist/bundle/chunks/chunk-FQUVK4Q5.js +11 -0
  453. package/dist/bundle/chunks/chunk-FSJ6TTCC.js +19 -0
  454. package/dist/bundle/chunks/chunk-FT6ODGOU.js +2 -0
  455. package/dist/bundle/chunks/chunk-FTET43KM.js +2 -0
  456. package/dist/bundle/chunks/chunk-FX4RBUYU.js +5 -0
  457. package/dist/bundle/chunks/chunk-FZRQOL3C.js +7 -0
  458. package/dist/bundle/chunks/chunk-FZZL53S2.js +275 -0
  459. package/dist/bundle/chunks/chunk-GN6CQ3J4.js +2 -0
  460. package/dist/bundle/chunks/chunk-HDRAUQK2.js +2 -0
  461. package/dist/bundle/chunks/chunk-HP7HWZ2S.js +15 -0
  462. package/dist/bundle/chunks/chunk-HRIJVWZS.js +14 -0
  463. package/dist/bundle/chunks/chunk-HXWB4Z5X.js +7 -0
  464. package/dist/bundle/chunks/chunk-ICLA3MUR.js +3 -0
  465. package/dist/bundle/chunks/chunk-IXFQXNL4.js +7 -0
  466. package/dist/bundle/chunks/chunk-KIGPB52X.js +2 -0
  467. package/dist/bundle/chunks/chunk-L2UW7DWF.js +2 -0
  468. package/dist/bundle/chunks/chunk-LI6PTSPD.js +9 -0
  469. package/dist/bundle/chunks/chunk-LPJEKUCB.js +8 -0
  470. package/dist/bundle/chunks/chunk-LSLPJOYM.js +3 -0
  471. package/dist/bundle/chunks/chunk-LVDUF74R.js +7 -0
  472. package/dist/bundle/chunks/chunk-MLIO3BK2.js +7 -0
  473. package/dist/bundle/chunks/chunk-MQKGGNPS.js +16 -0
  474. package/dist/bundle/chunks/chunk-N3A4JVFJ.js +2 -0
  475. package/dist/bundle/chunks/chunk-NBNI7G66.js +8 -0
  476. package/dist/bundle/chunks/chunk-NCUTH6QL.js +2 -0
  477. package/dist/bundle/chunks/chunk-OQ7C4FYO.js +2 -0
  478. package/dist/bundle/chunks/chunk-P57S6Z6R.js +6 -0
  479. package/dist/bundle/chunks/chunk-PCPW54JH.js +7 -0
  480. package/dist/bundle/chunks/chunk-PJM5C3HZ.js +25 -0
  481. package/dist/bundle/chunks/chunk-PPEXVPHR.js +19 -0
  482. package/dist/bundle/chunks/chunk-Q4JSJ3KQ.js +4 -0
  483. package/dist/bundle/chunks/chunk-QAYAQNCG.js +23 -0
  484. package/dist/bundle/chunks/chunk-QHDBQA5N.js +9 -0
  485. package/dist/bundle/chunks/chunk-QIQMJJZ4.js +4 -0
  486. package/dist/bundle/chunks/chunk-QJ7OXJAZ.js +6 -0
  487. package/dist/bundle/chunks/chunk-QJFYYEFV.js +11 -0
  488. package/dist/bundle/chunks/chunk-R2FBRMDU.js +14 -0
  489. package/dist/bundle/chunks/chunk-ROAWFE6V.js +5 -0
  490. package/dist/bundle/chunks/chunk-RPKJJFGZ.js +14 -0
  491. package/dist/bundle/chunks/chunk-S3ENGQML.js +15 -0
  492. package/dist/bundle/chunks/chunk-SBBYKIYU.js +3 -0
  493. package/dist/bundle/chunks/chunk-SGX4WOAM.js +2 -0
  494. package/dist/bundle/chunks/chunk-SHKOQWO4.js +3 -0
  495. package/dist/bundle/chunks/chunk-SIOONII3.js +2 -0
  496. package/dist/bundle/chunks/chunk-STHBFACM.js +1 -0
  497. package/dist/bundle/chunks/chunk-SX2HC7SO.js +2 -0
  498. package/dist/bundle/chunks/chunk-T6DNSPYO.js +100 -0
  499. package/dist/bundle/chunks/chunk-TBVD66LC.js +10 -0
  500. package/dist/bundle/chunks/chunk-TDD4NFYE.js +2 -0
  501. package/dist/bundle/chunks/chunk-TVCZIH6M.js +8 -0
  502. package/dist/bundle/chunks/chunk-U4K5ZDWK.js +9 -0
  503. package/dist/bundle/chunks/chunk-UC76ZOWM.js +15 -0
  504. package/dist/bundle/chunks/chunk-UIJUTQPH.js +3 -0
  505. package/dist/bundle/chunks/chunk-ULXTDFQC.js +2 -0
  506. package/dist/bundle/chunks/chunk-UTKGYVUZ.js +7 -0
  507. package/dist/bundle/chunks/chunk-UUIYAOD4.js +2 -0
  508. package/dist/bundle/chunks/chunk-VJ6UXG2R.js +64 -0
  509. package/dist/bundle/chunks/chunk-W2Z6LYL6.js +11 -0
  510. package/dist/bundle/chunks/chunk-W5DWRFSU.js +2 -0
  511. package/dist/bundle/chunks/chunk-WN54B5NQ.js +12 -0
  512. package/dist/bundle/chunks/chunk-WNH3HOQA.js +2 -0
  513. package/dist/bundle/chunks/chunk-WXPNKIIH.js +2 -0
  514. package/dist/bundle/chunks/chunk-WZQNMEQW.js +2 -0
  515. package/dist/bundle/chunks/chunk-XV2V56NQ.js +12 -0
  516. package/dist/bundle/chunks/chunk-XVSR5HHH.js +6 -0
  517. package/dist/bundle/chunks/chunk-XXBIOG4R.js +5 -0
  518. package/dist/bundle/chunks/chunk-Y62SXZKJ.js +12 -0
  519. package/dist/bundle/chunks/chunk-YEYSCLSJ.js +3 -0
  520. package/dist/bundle/chunks/chunk-YJKHREBZ.js +11 -0
  521. package/dist/bundle/chunks/chunk-YUSFCOM7.js +2 -0
  522. package/dist/bundle/chunks/chunk-ZBUZKIPX.js +6 -0
  523. package/dist/bundle/chunks/chunk-ZDPFA4L3.js +6 -0
  524. package/dist/bundle/chunks/chunk-ZT3WF5R7.js +16 -0
  525. package/dist/bundle/chunks/chunk-ZXFELXJH.js +6 -0
  526. package/dist/bundle/chunks/clear-KPIUNI6K.js +2 -0
  527. package/dist/bundle/chunks/column-QJI65SH2.js +2 -0
  528. package/dist/bundle/chunks/comm-DTWKU2MC.js +2 -0
  529. package/dist/bundle/chunks/cp-2KZIPZJS.js +2 -0
  530. package/dist/bundle/chunks/curl-K4WT7UPN.js +30 -0
  531. package/dist/bundle/chunks/cut-FMDNVWQN.js +2 -0
  532. package/dist/bundle/chunks/date-7OEDRA27.js +2 -0
  533. package/dist/bundle/chunks/diff-CSARC7WF.js +2 -0
  534. package/dist/bundle/chunks/dirname-Z2ZMOOW2.js +2 -0
  535. package/dist/bundle/chunks/du-7AZCLKR6.js +2 -0
  536. package/dist/bundle/chunks/echo-PLLZYM2L.js +2 -0
  537. package/dist/bundle/chunks/env-VUUMB47B.js +2 -0
  538. package/dist/bundle/chunks/expand-J3VOSOMK.js +2 -0
  539. package/dist/bundle/chunks/expr-XSBELPAC.js +2 -0
  540. package/dist/bundle/chunks/file-URNAD6FQ.js +2 -0
  541. package/dist/bundle/chunks/find-END3EAHV.js +2 -0
  542. package/dist/bundle/chunks/flag-coverage-DPSAPFXA.js +2 -0
  543. package/dist/bundle/chunks/fold-QJBPHRFJ.js +2 -0
  544. package/dist/bundle/chunks/grep-4AYF3A5J.js +2 -0
  545. package/dist/bundle/chunks/gzip-RQOBR22H.js +2 -0
  546. package/dist/bundle/chunks/head-6UIPFWVJ.js +2 -0
  547. package/dist/bundle/chunks/help-QDDMBDU7.js +2 -0
  548. package/dist/bundle/chunks/history-3N762S3K.js +2 -0
  549. package/dist/bundle/chunks/hostname-CESD3CQR.js +2 -0
  550. package/dist/bundle/chunks/html-to-markdown-PE6BPRPA.js +2 -0
  551. package/dist/bundle/chunks/join-C2B6NGXH.js +2 -0
  552. package/dist/bundle/chunks/jq-NY7PCVMH.js +2 -0
  553. package/dist/bundle/chunks/js-exec-XKF2B7C3.js +98 -0
  554. package/dist/bundle/chunks/js-exec-worker.js +4809 -0
  555. package/dist/bundle/chunks/ln-OPY2ZVGQ.js +2 -0
  556. package/dist/bundle/chunks/ls-ZPXGZX63.js +2 -0
  557. package/dist/bundle/chunks/md5sum-JEDX55KS.js +2 -0
  558. package/dist/bundle/chunks/mkdir-WDDKK2P3.js +2 -0
  559. package/dist/bundle/chunks/mv-ZF6UBVRB.js +2 -0
  560. package/dist/bundle/chunks/nl-IELOWYJG.js +2 -0
  561. package/dist/bundle/chunks/od-Z4AIL3P4.js +2 -0
  562. package/dist/bundle/chunks/paste-ZNHNSRBW.js +2 -0
  563. package/dist/bundle/chunks/printf-B2NSYQ3N.js +2 -0
  564. package/dist/bundle/chunks/pwd-76BPYV5F.js +2 -0
  565. package/dist/bundle/chunks/python3-F5S5TYGS.js +13 -0
  566. package/dist/bundle/chunks/readlink-U5OM5A3M.js +2 -0
  567. package/dist/bundle/chunks/rev-EPOS3MFH.js +2 -0
  568. package/dist/bundle/chunks/rg-NAMXBYKS.js +2 -0
  569. package/dist/bundle/chunks/rm-JQ4GDKDD.js +2 -0
  570. package/dist/bundle/chunks/rmdir-YJKPQVCK.js +2 -0
  571. package/dist/bundle/chunks/sed-LIRH26EA.js +2 -0
  572. package/dist/bundle/chunks/seq-B6KDLMYQ.js +2 -0
  573. package/dist/bundle/chunks/sha1sum-BLPZJ6MP.js +2 -0
  574. package/dist/bundle/chunks/sha256sum-VJZ4PHQ4.js +2 -0
  575. package/dist/bundle/chunks/sleep-PPRBTSVR.js +2 -0
  576. package/dist/bundle/chunks/sort-CB5GO7XH.js +2 -0
  577. package/dist/bundle/chunks/split-JICLAMP6.js +2 -0
  578. package/dist/bundle/chunks/sqlite3-4EZ4GXVD.js +2 -0
  579. package/dist/bundle/chunks/sqlite3-worker.js +1928 -0
  580. package/dist/bundle/chunks/stat-LXFZND2P.js +2 -0
  581. package/dist/bundle/chunks/strings-VLFTYX2Z.js +2 -0
  582. package/dist/bundle/chunks/tac-YXC4HBTR.js +2 -0
  583. package/dist/bundle/chunks/tail-UBGSN4JF.js +2 -0
  584. package/dist/bundle/chunks/tar-B72KU357.js +2 -0
  585. package/dist/bundle/chunks/tee-OOWSWHRQ.js +2 -0
  586. package/dist/bundle/chunks/time-NERE2JJ2.js +2 -0
  587. package/dist/bundle/chunks/timeout-C6WDYPLV.js +2 -0
  588. package/dist/bundle/chunks/touch-W4DF6Z4T.js +2 -0
  589. package/dist/bundle/chunks/tr-UI2LA3GA.js +2 -0
  590. package/dist/bundle/chunks/tree-7OOL2MH6.js +2 -0
  591. package/dist/bundle/chunks/true-QUBPEGGU.js +2 -0
  592. package/dist/bundle/chunks/unexpand-YD5BWFH4.js +2 -0
  593. package/dist/bundle/chunks/uniq-PAEPA27E.js +2 -0
  594. package/dist/bundle/chunks/wc-7WVM7GV4.js +2 -0
  595. package/dist/bundle/chunks/which-UWVKETYW.js +2 -0
  596. package/dist/bundle/chunks/whoami-KR6E7UIR.js +2 -0
  597. package/dist/bundle/chunks/worker.js +3330 -0
  598. package/dist/bundle/chunks/xan-UIGVJCMA.js +2 -0
  599. package/dist/bundle/chunks/xan-view-FOCYCKZQ.js +2 -0
  600. package/dist/bundle/chunks/xargs-VQEXRD3C.js +2 -0
  601. package/dist/bundle/chunks/yq-FGNXZCGX.js +2 -0
  602. package/dist/bundle/index.cjs +2237 -0
  603. package/dist/bundle/index.js +809 -0
  604. package/dist/commands/alias/alias.d.ts +6 -0
  605. package/dist/commands/awk/ast.d.ts +202 -0
  606. package/dist/commands/awk/awk2.d.ts +9 -0
  607. package/dist/commands/awk/builtins.d.ts +17 -0
  608. package/dist/commands/awk/interpreter/context.d.ts +88 -0
  609. package/dist/commands/awk/interpreter/expressions.d.ts +17 -0
  610. package/dist/commands/awk/interpreter/fields.d.ts +25 -0
  611. package/dist/commands/awk/interpreter/index.d.ts +8 -0
  612. package/dist/commands/awk/interpreter/interpreter.d.ts +54 -0
  613. package/dist/commands/awk/interpreter/statements.d.ts +11 -0
  614. package/dist/commands/awk/interpreter/type-coercion.d.ts +32 -0
  615. package/dist/commands/awk/interpreter/types.d.ts +13 -0
  616. package/dist/commands/awk/interpreter/variables.d.ts +35 -0
  617. package/dist/commands/awk/lexer.d.ts +101 -0
  618. package/dist/commands/awk/parser2-print.d.ts +38 -0
  619. package/dist/commands/awk/parser2.d.ts +96 -0
  620. package/dist/commands/base64/base64.d.ts +7 -0
  621. package/dist/commands/basename/basename.d.ts +4 -0
  622. package/dist/commands/bash/bash.d.ts +6 -0
  623. package/dist/commands/browser-excluded.d.ts +16 -0
  624. package/dist/commands/cat/cat.d.ts +4 -0
  625. package/dist/commands/chmod/chmod.d.ts +4 -0
  626. package/dist/commands/clear/clear.d.ts +4 -0
  627. package/dist/commands/column/column.d.ts +11 -0
  628. package/dist/commands/comm/comm.d.ts +12 -0
  629. package/dist/commands/compression/codec-budget.d.ts +35 -0
  630. package/dist/commands/cp/cp.d.ts +4 -0
  631. package/dist/commands/curl/curl.d.ts +8 -0
  632. package/dist/commands/curl/form.d.ts +23 -0
  633. package/dist/commands/curl/help.d.ts +9 -0
  634. package/dist/commands/curl/parse.d.ts +9 -0
  635. package/dist/commands/curl/response-formatting.d.ts +20 -0
  636. package/dist/commands/curl/types.d.ts +70 -0
  637. package/dist/commands/cut/cut.d.ts +4 -0
  638. package/dist/commands/date/date.d.ts +7 -0
  639. package/dist/commands/diff/diff.d.ts +7 -0
  640. package/dist/commands/dirname/dirname.d.ts +4 -0
  641. package/dist/commands/du/du.d.ts +4 -0
  642. package/dist/commands/duration.d.ts +5 -0
  643. package/dist/commands/echo/echo.d.ts +4 -0
  644. package/dist/commands/env/env.d.ts +6 -0
  645. package/dist/commands/expand/expand.d.ts +12 -0
  646. package/dist/commands/expand/unexpand.d.ts +12 -0
  647. package/dist/commands/expr/expr.d.ts +9 -0
  648. package/dist/commands/file/file.d.ts +9 -0
  649. package/dist/commands/find/find.d.ts +4 -0
  650. package/dist/commands/find/matcher.d.ts +53 -0
  651. package/dist/commands/find/parser.d.ts +2 -0
  652. package/dist/commands/find/types.d.ts +89 -0
  653. package/dist/commands/flag-coverage.d.ts +2 -0
  654. package/dist/commands/fold/fold.d.ts +12 -0
  655. package/dist/commands/format-mode.d.ts +4 -0
  656. package/dist/commands/fuzz-flags-types.d.ts +17 -0
  657. package/dist/commands/fuzz-flags.d.ts +8 -0
  658. package/dist/commands/grep/grep.d.ts +8 -0
  659. package/dist/commands/gzip/gzip.d.ts +13 -0
  660. package/dist/commands/head/head-tail-shared.d.ts +38 -0
  661. package/dist/commands/head/head.d.ts +4 -0
  662. package/dist/commands/help/help.d.ts +4 -0
  663. package/dist/commands/help.d.ts +16 -0
  664. package/dist/commands/history/history.d.ts +4 -0
  665. package/dist/commands/hostname/hostname.d.ts +11 -0
  666. package/dist/commands/html-to-markdown/html-to-markdown.d.ts +9 -0
  667. package/dist/commands/join/join.d.ts +12 -0
  668. package/dist/commands/jq/jq.d.ts +9 -0
  669. package/dist/commands/js-exec/fetch-polyfill.d.ts +6 -0
  670. package/dist/commands/js-exec/js-exec-worker.d.ts +33 -0
  671. package/dist/commands/js-exec/js-exec.d.ts +13 -0
  672. package/dist/commands/js-exec/module-shims.d.ts +29 -0
  673. package/dist/commands/js-exec/path-polyfill.d.ts +6 -0
  674. package/dist/commands/ln/ln.d.ts +4 -0
  675. package/dist/commands/ls/ls.d.ts +4 -0
  676. package/dist/commands/md5sum/checksum.d.ts +7 -0
  677. package/dist/commands/md5sum/md5sum.d.ts +4 -0
  678. package/dist/commands/md5sum/sha1sum.d.ts +4 -0
  679. package/dist/commands/md5sum/sha256sum.d.ts +4 -0
  680. package/dist/commands/mkdir/mkdir.d.ts +4 -0
  681. package/dist/commands/mv/mv.d.ts +4 -0
  682. package/dist/commands/nl/nl.d.ts +12 -0
  683. package/dist/commands/od/od.d.ts +12 -0
  684. package/dist/commands/paste/paste.d.ts +4 -0
  685. package/dist/commands/printf/escapes.d.ts +27 -0
  686. package/dist/commands/printf/printf.d.ts +4 -0
  687. package/dist/commands/printf/strftime.d.ts +14 -0
  688. package/dist/commands/pwd/pwd.d.ts +4 -0
  689. package/dist/commands/python3/python3.d.ts +16 -0
  690. package/dist/commands/python3/worker.d.ts +31 -0
  691. package/dist/commands/query-engine/builtins/array-builtins.d.ts +20 -0
  692. package/dist/commands/query-engine/builtins/control-builtins.d.ts +18 -0
  693. package/dist/commands/query-engine/builtins/date-builtins.d.ts +15 -0
  694. package/dist/commands/query-engine/builtins/format-builtins.d.ts +11 -0
  695. package/dist/commands/query-engine/builtins/index-builtins.d.ts +16 -0
  696. package/dist/commands/query-engine/builtins/index.d.ts +17 -0
  697. package/dist/commands/query-engine/builtins/math-builtins.d.ts +15 -0
  698. package/dist/commands/query-engine/builtins/navigation-builtins.d.ts +18 -0
  699. package/dist/commands/query-engine/builtins/object-builtins.d.ts +15 -0
  700. package/dist/commands/query-engine/builtins/path-builtins.d.ts +20 -0
  701. package/dist/commands/query-engine/builtins/sql-builtins.d.ts +16 -0
  702. package/dist/commands/query-engine/builtins/string-builtins.d.ts +15 -0
  703. package/dist/commands/query-engine/builtins/type-builtins.d.ts +11 -0
  704. package/dist/commands/query-engine/evaluator.d.ts +62 -0
  705. package/dist/commands/query-engine/index.d.ts +8 -0
  706. package/dist/commands/query-engine/json-output.d.ts +11 -0
  707. package/dist/commands/query-engine/parser-types.d.ts +171 -0
  708. package/dist/commands/query-engine/parser.d.ts +14 -0
  709. package/dist/commands/query-engine/path-operations.d.ts +15 -0
  710. package/dist/commands/query-engine/safe-object.d.ts +84 -0
  711. package/dist/commands/query-engine/value-operations.d.ts +44 -0
  712. package/dist/commands/readlink/readlink.d.ts +4 -0
  713. package/dist/commands/registry.d.ts +56 -0
  714. package/dist/commands/rev/rev.d.ts +13 -0
  715. package/dist/commands/rg/file-types.d.ts +49 -0
  716. package/dist/commands/rg/gitignore.d.ts +98 -0
  717. package/dist/commands/rg/rg-options.d.ts +61 -0
  718. package/dist/commands/rg/rg-parser.d.ts +20 -0
  719. package/dist/commands/rg/rg-search.d.ts +15 -0
  720. package/dist/commands/rg/rg.d.ts +14 -0
  721. package/dist/commands/rm/rm.d.ts +4 -0
  722. package/dist/commands/rmdir/rmdir.d.ts +4 -0
  723. package/dist/commands/search-engine/index.d.ts +10 -0
  724. package/dist/commands/search-engine/matcher.d.ts +72 -0
  725. package/dist/commands/search-engine/regex.d.ts +46 -0
  726. package/dist/commands/sed/executor.d.ts +7 -0
  727. package/dist/commands/sed/lexer.d.ts +88 -0
  728. package/dist/commands/sed/parser.d.ts +21 -0
  729. package/dist/commands/sed/sed-regex.d.ts +23 -0
  730. package/dist/commands/sed/sed.d.ts +4 -0
  731. package/dist/commands/sed/types.d.ts +216 -0
  732. package/dist/commands/seq/seq.d.ts +16 -0
  733. package/dist/commands/sleep/sleep.d.ts +4 -0
  734. package/dist/commands/sort/comparator.d.ts +9 -0
  735. package/dist/commands/sort/parser.d.ts +11 -0
  736. package/dist/commands/sort/sort.d.ts +4 -0
  737. package/dist/commands/sort/types.d.ts +30 -0
  738. package/dist/commands/split/split.d.ts +12 -0
  739. package/dist/commands/sqlite3/formatters.d.ts +17 -0
  740. package/dist/commands/sqlite3/sqlite3.d.ts +24 -0
  741. package/dist/commands/sqlite3/worker.d.ts +50 -0
  742. package/dist/commands/sqlite3/worker.js +1928 -0
  743. package/dist/commands/stat/stat.d.ts +4 -0
  744. package/dist/commands/strings/strings.d.ts +12 -0
  745. package/dist/commands/tac/tac.d.ts +11 -0
  746. package/dist/commands/tail/tail.d.ts +4 -0
  747. package/dist/commands/tar/archive.d.ts +150 -0
  748. package/dist/commands/tar/bzip2-compress.d.ts +18 -0
  749. package/dist/commands/tar/tar-options.d.ts +37 -0
  750. package/dist/commands/tar/tar.d.ts +10 -0
  751. package/dist/commands/tee/tee.d.ts +4 -0
  752. package/dist/commands/time/time.d.ts +27 -0
  753. package/dist/commands/timeout/timeout.d.ts +4 -0
  754. package/dist/commands/touch/touch.d.ts +4 -0
  755. package/dist/commands/tr/tr.d.ts +4 -0
  756. package/dist/commands/tree/tree.d.ts +4 -0
  757. package/dist/commands/true/true.d.ts +6 -0
  758. package/dist/commands/uniq/uniq.d.ts +4 -0
  759. package/dist/commands/wc/wc.d.ts +4 -0
  760. package/dist/commands/which/which.d.ts +4 -0
  761. package/dist/commands/whoami/whoami.d.ts +11 -0
  762. package/dist/commands/worker-bridge/bridge-handler.d.ts +73 -0
  763. package/dist/commands/worker-bridge/protocol.d.ts +141 -0
  764. package/dist/commands/worker-bridge/sync-backend.d.ts +86 -0
  765. package/dist/commands/worker-request-controller.d.ts +36 -0
  766. package/dist/commands/xan/aggregation.d.ts +30 -0
  767. package/dist/commands/xan/bounded-output.d.ts +4 -0
  768. package/dist/commands/xan/column-selection.d.ts +20 -0
  769. package/dist/commands/xan/csv.d.ts +62 -0
  770. package/dist/commands/xan/moonblade-parser.d.ts +89 -0
  771. package/dist/commands/xan/moonblade-to-jq.d.ts +12 -0
  772. package/dist/commands/xan/moonblade-tokenizer.d.ts +32 -0
  773. package/dist/commands/xan/subcommands.d.ts +15 -0
  774. package/dist/commands/xan/xan-agg.d.ts +8 -0
  775. package/dist/commands/xan/xan-columns.d.ts +8 -0
  776. package/dist/commands/xan/xan-core.d.ts +10 -0
  777. package/dist/commands/xan/xan-data.d.ts +52 -0
  778. package/dist/commands/xan/xan-filter.d.ts +8 -0
  779. package/dist/commands/xan/xan-map.d.ts +11 -0
  780. package/dist/commands/xan/xan-reshape.d.ts +40 -0
  781. package/dist/commands/xan/xan-simple.d.ts +40 -0
  782. package/dist/commands/xan/xan-view.d.ts +12 -0
  783. package/dist/commands/xan/xan.d.ts +10 -0
  784. package/dist/commands/xargs/xargs.d.ts +4 -0
  785. package/dist/commands/yq/formats.d.ts +65 -0
  786. package/dist/commands/yq/yq.d.ts +13 -0
  787. package/dist/custom-commands.d.ts +65 -0
  788. package/dist/encoding.d.ts +131 -0
  789. package/dist/execution-output.d.ts +28 -0
  790. package/dist/execution-scope.d.ts +110 -0
  791. package/dist/fatal-execution-error.d.ts +27 -0
  792. package/dist/fs/encoding.d.ts +17 -0
  793. package/dist/fs/identity.d.ts +9 -0
  794. package/dist/fs/in-memory-fs/in-memory-fs.d.ts +98 -0
  795. package/dist/fs/in-memory-fs/index.d.ts +1 -0
  796. package/dist/fs/init.d.ts +22 -0
  797. package/dist/fs/interface.d.ts +255 -0
  798. package/dist/fs/mountable-fs/index.d.ts +1 -0
  799. package/dist/fs/mountable-fs/mountable-fs.d.ts +118 -0
  800. package/dist/fs/overlay-fs/apply.d.ts +22 -0
  801. package/dist/fs/overlay-fs/index.d.ts +1 -0
  802. package/dist/fs/overlay-fs/overlay-fs.d.ts +360 -0
  803. package/dist/fs/overlay-fs/overlay-tree.d.ts +188 -0
  804. package/dist/fs/path-utils.d.ts +48 -0
  805. package/dist/fs/read-write-fs/index.d.ts +1 -0
  806. package/dist/fs/read-write-fs/read-write-fs.d.ts +150 -0
  807. package/dist/fs/real-fs-utils.d.ts +90 -0
  808. package/dist/fs/sanitize-error.d.ts +19 -0
  809. package/dist/fs/traversal.d.ts +98 -0
  810. package/dist/index.d.cts +30 -0
  811. package/dist/index.d.ts +30 -0
  812. package/dist/interpreter/alias-expansion.d.ts +27 -0
  813. package/dist/interpreter/arithmetic.d.ts +24 -0
  814. package/dist/interpreter/assignment-expansion.d.ts +24 -0
  815. package/dist/interpreter/builtin-dispatch.d.ts +46 -0
  816. package/dist/interpreter/builtins/break.d.ts +6 -0
  817. package/dist/interpreter/builtins/cd.d.ts +6 -0
  818. package/dist/interpreter/builtins/compgen.d.ts +26 -0
  819. package/dist/interpreter/builtins/complete.d.ts +17 -0
  820. package/dist/interpreter/builtins/compopt.d.ts +28 -0
  821. package/dist/interpreter/builtins/continue.d.ts +6 -0
  822. package/dist/interpreter/builtins/declare-array-parsing.d.ts +18 -0
  823. package/dist/interpreter/builtins/declare-print.d.ts +39 -0
  824. package/dist/interpreter/builtins/declare.d.ts +35 -0
  825. package/dist/interpreter/builtins/dirs.d.ts +29 -0
  826. package/dist/interpreter/builtins/eval.d.ts +15 -0
  827. package/dist/interpreter/builtins/exit.d.ts +5 -0
  828. package/dist/interpreter/builtins/export.d.ts +14 -0
  829. package/dist/interpreter/builtins/getopts.d.ts +18 -0
  830. package/dist/interpreter/builtins/hash.d.ts +19 -0
  831. package/dist/interpreter/builtins/help.d.ts +12 -0
  832. package/dist/interpreter/builtins/index.d.ts +44 -0
  833. package/dist/interpreter/builtins/let.d.ts +18 -0
  834. package/dist/interpreter/builtins/local.d.ts +6 -0
  835. package/dist/interpreter/builtins/mapfile.d.ts +17 -0
  836. package/dist/interpreter/builtins/read.d.ts +6 -0
  837. package/dist/interpreter/builtins/return.d.ts +6 -0
  838. package/dist/interpreter/builtins/set.d.ts +9 -0
  839. package/dist/interpreter/builtins/shift.d.ts +15 -0
  840. package/dist/interpreter/builtins/shopt.d.ts +7 -0
  841. package/dist/interpreter/builtins/source.d.ts +6 -0
  842. package/dist/interpreter/builtins/unset.d.ts +16 -0
  843. package/dist/interpreter/builtins/variable-assignment.d.ts +69 -0
  844. package/dist/interpreter/command-analysis.d.ts +30 -0
  845. package/dist/interpreter/command-resolution.d.ts +43 -0
  846. package/dist/interpreter/conditionals.d.ts +17 -0
  847. package/dist/interpreter/control-flow.d.ts +21 -0
  848. package/dist/interpreter/defense-aware-command-context.d.ts +6 -0
  849. package/dist/interpreter/errors.d.ts +161 -0
  850. package/dist/interpreter/expansion/analysis.d.ts +37 -0
  851. package/dist/interpreter/expansion/arith-text-expansion.d.ts +20 -0
  852. package/dist/interpreter/expansion/array-pattern-ops.d.ts +21 -0
  853. package/dist/interpreter/expansion/array-prefix-suffix.d.ts +46 -0
  854. package/dist/interpreter/expansion/array-slice-transform.d.ts +36 -0
  855. package/dist/interpreter/expansion/array-word-expansion.d.ts +39 -0
  856. package/dist/interpreter/expansion/brace-range.d.ts +24 -0
  857. package/dist/interpreter/expansion/command-substitution.d.ts +23 -0
  858. package/dist/interpreter/expansion/glob-escape.d.ts +32 -0
  859. package/dist/interpreter/expansion/indirect-expansion.d.ts +42 -0
  860. package/dist/interpreter/expansion/parameter-ops.d.ts +113 -0
  861. package/dist/interpreter/expansion/pattern-expansion.d.ts +23 -0
  862. package/dist/interpreter/expansion/pattern-removal.d.ts +17 -0
  863. package/dist/interpreter/expansion/pattern-replacement.d.ts +4 -0
  864. package/dist/interpreter/expansion/pattern.d.ts +23 -0
  865. package/dist/interpreter/expansion/positional-params.d.ts +59 -0
  866. package/dist/interpreter/expansion/prompt.d.ts +39 -0
  867. package/dist/interpreter/expansion/quoting.d.ts +13 -0
  868. package/dist/interpreter/expansion/tilde.d.ts +14 -0
  869. package/dist/interpreter/expansion/unquoted-expansion.d.ts +76 -0
  870. package/dist/interpreter/expansion/variable-attrs.d.ts +19 -0
  871. package/dist/interpreter/expansion/variable.d.ts +36 -0
  872. package/dist/interpreter/expansion/word-glob-expansion.d.ts +33 -0
  873. package/dist/interpreter/expansion/word-split.d.ts +29 -0
  874. package/dist/interpreter/expansion.d.ts +53 -0
  875. package/dist/interpreter/fd-table.d.ts +130 -0
  876. package/dist/interpreter/functions.d.ts +14 -0
  877. package/dist/interpreter/helpers/array.d.ts +56 -0
  878. package/dist/interpreter/helpers/bounded-array.d.ts +2 -0
  879. package/dist/interpreter/helpers/condition.d.ts +19 -0
  880. package/dist/interpreter/helpers/errors.d.ts +8 -0
  881. package/dist/interpreter/helpers/file-tests.d.ts +33 -0
  882. package/dist/interpreter/helpers/ifs.d.ts +104 -0
  883. package/dist/interpreter/helpers/loop.d.ts +24 -0
  884. package/dist/interpreter/helpers/nameref.d.ts +65 -0
  885. package/dist/interpreter/helpers/numeric-compare.d.ts +13 -0
  886. package/dist/interpreter/helpers/quoting.d.ts +26 -0
  887. package/dist/interpreter/helpers/readonly.d.ts +45 -0
  888. package/dist/interpreter/helpers/regex.d.ts +8 -0
  889. package/dist/interpreter/helpers/result.d.ts +60 -0
  890. package/dist/interpreter/helpers/shell-constants.d.ts +41 -0
  891. package/dist/interpreter/helpers/shellopts.d.ts +28 -0
  892. package/dist/interpreter/helpers/string-compare.d.ts +24 -0
  893. package/dist/interpreter/helpers/string-tests.d.ts +13 -0
  894. package/dist/interpreter/helpers/variable-tests.d.ts +9 -0
  895. package/dist/interpreter/helpers/word-matching.d.ts +16 -0
  896. package/dist/interpreter/helpers/word-parts.d.ts +22 -0
  897. package/dist/interpreter/helpers/xtrace.d.ts +18 -0
  898. package/dist/interpreter/index.d.ts +3 -0
  899. package/dist/interpreter/interpreter.d.ts +82 -0
  900. package/dist/interpreter/numeric-fd-redirects.d.ts +8 -0
  901. package/dist/interpreter/pipeline-execution.d.ts +16 -0
  902. package/dist/interpreter/process-substitution.d.ts +62 -0
  903. package/dist/interpreter/redirections.d.ts +50 -0
  904. package/dist/interpreter/simple-command-assignments.d.ts +36 -0
  905. package/dist/interpreter/state-transaction.d.ts +7 -0
  906. package/dist/interpreter/subshell-group.d.ts +40 -0
  907. package/dist/interpreter/type-command.d.ts +37 -0
  908. package/dist/interpreter/types.d.ts +402 -0
  909. package/dist/limits.d.ts +111 -0
  910. package/dist/network/allow-list/shared.d.ts +49 -0
  911. package/dist/network/allow-list.d.ts +59 -0
  912. package/dist/network/dns-pin.d.ts +42 -0
  913. package/dist/network/fetch.d.ts +27 -0
  914. package/dist/network/index.d.ts +7 -0
  915. package/dist/network/types.d.ts +182 -0
  916. package/dist/parser/arithmetic-parser.d.ts +23 -0
  917. package/dist/parser/arithmetic-primaries.d.ts +45 -0
  918. package/dist/parser/command-parser.d.ts +10 -0
  919. package/dist/parser/compound-parser.d.ts +28 -0
  920. package/dist/parser/conditional-parser.d.ts +8 -0
  921. package/dist/parser/expansion-parser.d.ts +18 -0
  922. package/dist/parser/lexer.d.ts +195 -0
  923. package/dist/parser/parser-substitution.d.ts +85 -0
  924. package/dist/parser/parser.d.ts +152 -0
  925. package/dist/parser/types.d.ts +40 -0
  926. package/dist/parser/word-parser.d.ts +35 -0
  927. package/dist/sandbox/Command.d.ts +35 -0
  928. package/dist/sandbox/Sandbox.d.ts +121 -0
  929. package/dist/sandbox/index.d.ts +2 -0
  930. package/dist/security/blocked-globals.d.ts +60 -0
  931. package/dist/security/defense-context.d.ts +13 -0
  932. package/dist/security/defense-in-depth-box.d.ts +354 -0
  933. package/dist/security/index.d.ts +33 -0
  934. package/dist/security/safe-timestamp.d.ts +1 -0
  935. package/dist/security/security-violation-logger.d.ts +99 -0
  936. package/dist/security/trusted-globals.d.ts +17 -0
  937. package/dist/security/types.d.ts +151 -0
  938. package/dist/security/violation-error-message.d.ts +3 -0
  939. package/dist/security/wasm-callback.d.ts +6 -0
  940. package/dist/security/worker-defense-in-depth.d.ts +228 -0
  941. package/dist/shell-metadata.d.ts +25 -0
  942. package/dist/source-limit.d.ts +2 -0
  943. package/dist/timers.d.ts +16 -0
  944. package/dist/transform/pipeline.d.ts +8 -0
  945. package/dist/transform/plugins/command-collector.d.ts +8 -0
  946. package/dist/transform/plugins/tee-plugin.d.ts +40 -0
  947. package/dist/transform/serialize.d.ts +4 -0
  948. package/dist/transform/types.d.ts +18 -0
  949. package/dist/types.d.ts +319 -0
  950. package/dist/utils/args.d.ts +55 -0
  951. package/dist/utils/constants.d.ts +15 -0
  952. package/dist/utils/file-reader.d.ts +76 -0
  953. package/dist/utils/glob.d.ts +25 -0
  954. package/dist/vitest-setup.d.ts +1 -0
  955. package/package.json +136 -0
  956. package/vendor/cpython-emscripten/python.cjs +2 -0
  957. package/vendor/cpython-emscripten/python.wasm +0 -0
  958. package/vendor/cpython-emscripten/python313.zip +0 -0
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Pipeline Execution
3
+ *
4
+ * Handles execution of command pipelines (cmd1 | cmd2 | cmd3).
5
+ */
6
+ import type { CommandNode, PipelineNode } from "../ast/types.js";
7
+ import type { ExecResult } from "../types.js";
8
+ import type { InterpreterContext } from "./types.js";
9
+ /**
10
+ * Type for executeCommand callback
11
+ */
12
+ export type ExecuteCommandFn = (node: CommandNode, stdin: string) => Promise<ExecResult>;
13
+ /**
14
+ * Execute a pipeline node (command or sequence of piped commands).
15
+ */
16
+ export declare function executePipeline(ctx: InterpreterContext, node: PipelineNode, executeCommand: ExecuteCommandFn): Promise<ExecResult>;
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Process Substitution
3
+ *
4
+ * Implements bash's `<(cmd)` and `>(cmd)`.
5
+ *
6
+ * Real bash runs `cmd` asynchronously connected to a pipe and substitutes the
7
+ * pipe's path (`/dev/fd/N`, or a FIFO on systems without `/dev/fd`). There are
8
+ * no processes or pipes here, so the construct is modelled with the same
9
+ * building blocks the rest of the interpreter uses for fds: a backing file in
10
+ * the VFS under `/dev/fd/`, whose contents are produced (or consumed) by
11
+ * running the body as a subshell.
12
+ *
13
+ * - `<(cmd)` runs `cmd` eagerly during word expansion, writes its stdout to
14
+ * the backing file, and substitutes that path. Because the body is fully
15
+ * buffered, a body that never terminates on its own (e.g. `yes`) is bounded
16
+ * by the ordinary execution limits rather than by the reader closing the
17
+ * pipe.
18
+ * - `>(cmd)` substitutes an empty writable backing file. Once the command that
19
+ * consumed the path has finished, whatever was written to the file is fed to
20
+ * `cmd` as stdin and `cmd`'s output is appended to the result — the closest
21
+ * deterministic analogue of bash's asynchronous writer.
22
+ *
23
+ * Backing files live only for the duration of the command whose expansion
24
+ * created them: {@link markProcessSubstitutions} / {@link releaseProcessSubstitutions}
25
+ * bracket every command execution, so fd numbers are reused (63, 62, … just
26
+ * like bash) and nothing accumulates in the VFS across commands.
27
+ */
28
+ import type { ProcessSubstitutionPart, ScriptNode } from "../ast/types.js";
29
+ import type { InterpreterContext } from "./types.js";
30
+ /** A process substitution whose backing file is still live. */
31
+ export interface ProcessSubstitutionEntry {
32
+ /** Synthetic descriptor number (63, 62, …). */
33
+ fd: number;
34
+ /** Backing file path handed to the outer command. */
35
+ path: string;
36
+ /** `<(...)` or `>(...)`. */
37
+ direction: "input" | "output";
38
+ /** Body to run with the written bytes as stdin (output substitutions only). */
39
+ body: ScriptNode;
40
+ }
41
+ /**
42
+ * Expand a process substitution to the path the outer command should use.
43
+ */
44
+ export declare function openProcessSubstitution(ctx: InterpreterContext, part: ProcessSubstitutionPart): Promise<string>;
45
+ /**
46
+ * Remember how many process substitutions were live before a command ran.
47
+ */
48
+ export declare function markProcessSubstitutions(ctx: InterpreterContext): number;
49
+ /** Output produced by `>(cmd)` writers drained at the end of a command. */
50
+ export interface ProcessSubstitutionWriterOutput {
51
+ stdout: string;
52
+ stderr: string;
53
+ }
54
+ /**
55
+ * Tear down every process substitution opened since `mark`, newest first.
56
+ *
57
+ * Input substitutions just drop their backing file. Output substitutions first
58
+ * feed everything the outer command wrote into their body; the body's output is
59
+ * returned so the caller can append it to the command's own, the way bash's
60
+ * asynchronous writer shares the shell's stdout and stderr.
61
+ */
62
+ export declare function releaseProcessSubstitutions(ctx: InterpreterContext, mark: number): Promise<ProcessSubstitutionWriterOutput>;
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Redirection Handling
3
+ *
4
+ * Handles output redirections:
5
+ * - > : Write stdout to file
6
+ * - >> : Append stdout to file
7
+ * - 2> : Write stderr to file
8
+ * - &> : Write both stdout and stderr to file
9
+ * - >& : Redirect fd to another fd
10
+ * - {fd}>file : Allocate FD and store in variable
11
+ */
12
+ import type { RedirectionNode } from "../ast/types.js";
13
+ import type { ExecResult } from "../types.js";
14
+ import { ControlFlowError, ExecutionLimitError, ExitError } from "./errors.js";
15
+ import { type FdEntry } from "./fd-table.js";
16
+ import type { InterpreterContext } from "./types.js";
17
+ /** Expanded targets keyed by their position in the original redirection list. */
18
+ export type ExpandedRedirectTargets = Map<number, string>;
19
+ type PreparedDupSource = {
20
+ kind: "standard";
21
+ fd: number;
22
+ } | {
23
+ kind: "entry";
24
+ entry: FdEntry;
25
+ descriptors: number[];
26
+ };
27
+ export type PreparedDupSources = Map<number, PreparedDupSource>;
28
+ export type PreparedRedirections = {
29
+ targets: ExpandedRedirectTargets;
30
+ dupSources: PreparedDupSources;
31
+ standardRoutes: Map<number, FdEntry>;
32
+ stdin: string | undefined;
33
+ stdinSourceFd: number;
34
+ error: ExecResult | null;
35
+ errorCause?: ExitError | ExecutionLimitError;
36
+ };
37
+ export type RedirectionPolicy = "scoped" | "bare" | "persistent";
38
+ export declare const SIMPLE_REDIRECTION_POLICY: RedirectionPolicy;
39
+ export declare const BARE_REDIRECTION_POLICY: RedirectionPolicy;
40
+ export declare const EXEC_REDIRECTION_POLICY: RedirectionPolicy;
41
+ export type RedirectionTransaction = {
42
+ prepare: (inheritedStdin?: string) => Promise<PreparedRedirections>;
43
+ finish: () => void;
44
+ };
45
+ export declare function createRedirectionTransaction(ctx: InterpreterContext, redirections: RedirectionNode[], policy: RedirectionPolicy): RedirectionTransaction;
46
+ export declare function preparedRedirectionError(prepared: PreparedRedirections): ExecResult;
47
+ export declare function routeControlFlowError(ctx: InterpreterContext, error: ControlFlowError, redirections: RedirectionNode[], prepared: PreparedRedirections): Promise<void>;
48
+ export declare function withPreparedRedirections(ctx: InterpreterContext, redirections: RedirectionNode[], inheritedStdin: string, run: (prepared: PreparedRedirections) => Promise<ExecResult>): Promise<ExecResult>;
49
+ export declare function applyRedirections(ctx: InterpreterContext, result: ExecResult, redirections: RedirectionNode[], targets: ExpandedRedirectTargets, dupSources?: PreparedDupSources, standardRoutes?: Map<number, FdEntry>, writeErrorCommand?: string, omitShellPrefix?: boolean): Promise<ExecResult>;
50
+ export {};
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Simple Command Assignment Handling
3
+ *
4
+ * Handles variable assignments in simple commands:
5
+ * - Array assignments: VAR=(a b c)
6
+ * - Subscript assignments: VAR[idx]=value
7
+ * - Scalar assignments with nameref resolution
8
+ */
9
+ import type { SimpleCommandNode } from "../ast/types.js";
10
+ import type { ExecResult } from "../types.js";
11
+ import type { InterpreterContext } from "./types.js";
12
+ /**
13
+ * Result of processing assignments in a simple command
14
+ */
15
+ export interface AssignmentResult {
16
+ /** Whether to continue to the next statement (skip command execution) */
17
+ continueToNext: boolean;
18
+ /** Accumulated xtrace output for assignments */
19
+ xtraceOutput: string;
20
+ /** Temporary assignments for prefix bindings (FOO=bar cmd) */
21
+ tempAssignments: Map<string, string | undefined>;
22
+ /** Error result if assignment failed */
23
+ error?: ExecResult;
24
+ }
25
+ /**
26
+ * Process all assignments in a simple command.
27
+ * Returns assignment results including temp bindings and any errors.
28
+ */
29
+ export declare function processAssignments(ctx: InterpreterContext, node: SimpleCommandNode): Promise<AssignmentResult>;
30
+ /**
31
+ * Compute the index for an indexed array subscript
32
+ */
33
+ export declare function computeIndexedArrayIndex(ctx: InterpreterContext, arrayName: string, subscriptExpr: string): Promise<{
34
+ index: number;
35
+ error?: ExecResult;
36
+ }>;
@@ -0,0 +1,7 @@
1
+ import type { InterpreterState } from "./types.js";
2
+ /**
3
+ * Install an isolated copy of mutable shell namespace state and return an
4
+ * idempotent rollback. Process-wide accounting and PID allocation deliberately
5
+ * remain shared with the parent execution.
6
+ */
7
+ export declare function beginIsolatedShellState(state: InterpreterState): () => void;
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Subshell, Group, and Script Execution
3
+ *
4
+ * Handles execution of subshells (...), groups { ...; }, and user scripts
5
+ */
6
+ import type { GroupNode, ScriptNode, StatementNode, SubshellNode } from "../ast/types.js";
7
+ import type { ExecResult } from "../types.js";
8
+ import type { InterpreterContext } from "./types.js";
9
+ /**
10
+ * Type for executeStatement callback
11
+ */
12
+ export type ExecuteStatementFn = (stmt: StatementNode) => Promise<ExecResult>;
13
+ /**
14
+ * Execute a subshell node (...).
15
+ * Creates an isolated execution environment that doesn't affect the parent.
16
+ */
17
+ export declare function executeSubshell(ctx: InterpreterContext, node: SubshellNode, stdin: string, executeStatement: ExecuteStatementFn,
18
+ /** See `executeGroup`: empty content can still be an owned, empty fd 0. */
19
+ stdinOwned?: boolean): Promise<ExecResult>;
20
+ /**
21
+ * Execute a group node { ...; }.
22
+ * Runs commands in the current execution environment.
23
+ */
24
+ export declare function executeGroup(ctx: InterpreterContext, node: GroupNode, stdin: string, executeStatement: ExecuteStatementFn,
25
+ /**
26
+ * The caller already gave this group its own fd 0 — a function body whose
27
+ * definition or call was redirected. Needed because an empty `stdin` cannot
28
+ * say whether it came from `< empty-file` or from no redirection at all.
29
+ */
30
+ stdinOwned?: boolean): Promise<ExecResult>;
31
+ /**
32
+ * Type for executeScript callback
33
+ */
34
+ export type ExecuteScriptFn = (node: ScriptNode) => Promise<ExecResult>;
35
+ /**
36
+ * Execute a user script file found in PATH.
37
+ * This handles executable files that don't have registered command handlers.
38
+ * The script runs in a subshell-like environment with its own positional parameters.
39
+ */
40
+ export declare function executeUserScript(ctx: InterpreterContext, scriptPath: string, args: string[], stdin: string, executeScript: ExecuteScriptFn): Promise<ExecResult>;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Type Command Implementation
3
+ *
4
+ * Implements the `type` builtin command and related functionality:
5
+ * - type [-afptP] name...
6
+ * - command -v/-V name...
7
+ *
8
+ * Also includes helpers for function source serialization.
9
+ */
10
+ import type { IFileSystem } from "../fs/interface.js";
11
+ import type { CommandRegistry, ExecResult } from "../types.js";
12
+ import type { InterpreterState } from "./types.js";
13
+ /**
14
+ * Context needed for type command operations
15
+ */
16
+ export interface TypeCommandContext {
17
+ state: InterpreterState;
18
+ fs: IFileSystem;
19
+ commands: CommandRegistry;
20
+ }
21
+ /**
22
+ * Handle the `type` builtin command.
23
+ * type [-afptP] name...
24
+ */
25
+ export declare function handleType(ctx: TypeCommandContext, args: string[], findFirstInPath: (name: string) => Promise<string | null>, findCommandInPath: (name: string) => Promise<string[]>): Promise<ExecResult>;
26
+ /**
27
+ * Handle `command -v` and `command -V` flags
28
+ * -v: print the name or path of the command (simple output)
29
+ * -V: print a description like `type` does (verbose output)
30
+ */
31
+ export declare function handleCommandV(ctx: TypeCommandContext, names: string[], _showPath: boolean, verboseDescribe: boolean): Promise<ExecResult>;
32
+ /**
33
+ * Find the first occurrence of a command in PATH.
34
+ * Returns the full path if found, null otherwise.
35
+ * Only returns executable files, not directories.
36
+ */
37
+ export declare function findFirstInPath(ctx: TypeCommandContext, name: string): Promise<string | null>;
@@ -0,0 +1,402 @@
1
+ /**
2
+ * Interpreter Types
3
+ */
4
+ import type { CommandNode, FunctionDefNode, ScriptNode, StatementNode } from "../ast/types.js";
5
+ import type { ExecutionScope } from "../execution-scope.js";
6
+ import type { IFileSystem } from "../fs/interface.js";
7
+ import type { ExecutionLimits } from "../limits.js";
8
+ import type { SecureFetch } from "../network/index.js";
9
+ import type { CommandExecOptions, CommandRegistry, ExecResult, FeatureCoverageWriter, TraceCallback } from "../types.js";
10
+ import type { ProcessSubstitutionEntry } from "./process-substitution.js";
11
+ export type InterpreterExecOptions = Omit<CommandExecOptions, "cwd"> & {
12
+ cwd?: string;
13
+ };
14
+ /**
15
+ * Completion specification for a command, set by the `complete` builtin.
16
+ */
17
+ export interface CompletionSpec {
18
+ /** Word list for -W option */
19
+ wordlist?: string;
20
+ /** Function name for -F option */
21
+ function?: string;
22
+ /** Command to run for -C option */
23
+ command?: string;
24
+ /** Completion options (nospace, filenames, etc.) */
25
+ options?: string[];
26
+ /** Actions to perform (from -A option) */
27
+ actions?: string[];
28
+ /** Whether this is a default completion (-D) */
29
+ isDefault?: boolean;
30
+ }
31
+ export interface ShellOptions {
32
+ /** set -e: Exit immediately if a command exits with non-zero status */
33
+ errexit: boolean;
34
+ /** set -o pipefail: Return the exit status of the last (rightmost) command in a pipeline that fails */
35
+ pipefail: boolean;
36
+ /** set -u: Treat unset variables as an error when substituting */
37
+ nounset: boolean;
38
+ /** set -x: Print commands and their arguments as they are executed */
39
+ xtrace: boolean;
40
+ /** set -v: Print shell input lines as they are read (verbose) */
41
+ verbose: boolean;
42
+ /** set -o posix: POSIX mode for stricter compliance */
43
+ posix: boolean;
44
+ /** set -a: Export all variables */
45
+ allexport: boolean;
46
+ /** set -C: Prevent overwriting files with redirection */
47
+ noclobber: boolean;
48
+ /** set -f: Disable filename expansion (globbing) */
49
+ noglob: boolean;
50
+ /** set -n: Read commands but do not execute them (syntax check mode) */
51
+ noexec: boolean;
52
+ /** set -o vi: Use vi-style line editing (mutually exclusive with emacs) */
53
+ vi: boolean;
54
+ /** set -o emacs: Use emacs-style line editing (mutually exclusive with vi) */
55
+ emacs: boolean;
56
+ }
57
+ export interface ShoptOptions {
58
+ /** shopt -s extglob: Enable extended globbing patterns @(), *(), +(), ?(), !() */
59
+ extglob: boolean;
60
+ /** shopt -s dotglob: Include dotfiles in glob expansion */
61
+ dotglob: boolean;
62
+ /** shopt -s nullglob: Return empty for non-matching globs instead of literal pattern */
63
+ nullglob: boolean;
64
+ /** shopt -s failglob: Fail if glob pattern has no matches */
65
+ failglob: boolean;
66
+ /** shopt -s globstar: Enable ** recursive glob patterns */
67
+ globstar: boolean;
68
+ /** shopt -s globskipdots: Skip . and .. in glob patterns (default: true in bash >=5.2) */
69
+ globskipdots: boolean;
70
+ /** shopt -s nocaseglob: Case-insensitive glob matching */
71
+ nocaseglob: boolean;
72
+ /** shopt -s nocasematch: Case-insensitive pattern matching in [[ ]] and case */
73
+ nocasematch: boolean;
74
+ /** shopt -s expand_aliases: Enable alias expansion */
75
+ expand_aliases: boolean;
76
+ /** shopt -s lastpipe: Run last command of pipeline in current shell context */
77
+ lastpipe: boolean;
78
+ /** shopt -s xpg_echo: Make echo interpret backslash escapes by default (like echo -e) */
79
+ xpg_echo: boolean;
80
+ }
81
+ /**
82
+ * Tracks variable type attributes (declare -i, -l, -u, -n, -a, -A, etc.)
83
+ * and export status. These affect how variables are read, written, and expanded.
84
+ */
85
+ export interface VariableAttributeState {
86
+ /** Set of variable names that are readonly */
87
+ readonlyVars?: Set<string>;
88
+ /** Set of variable names that are associative arrays */
89
+ associativeArrays?: Set<string>;
90
+ /** Set of variable names that are namerefs (declare -n) */
91
+ namerefs?: Set<string>;
92
+ /**
93
+ * Set of nameref variable names that were "bound" to valid targets at creation time.
94
+ * A bound nameref will always resolve through to its target, even if the target
95
+ * is later unset. An unbound nameref (target didn't exist at creation) acts like
96
+ * a regular variable, returning its raw value.
97
+ */
98
+ boundNamerefs?: Set<string>;
99
+ /**
100
+ * Set of nameref variable names that were created with an invalid target.
101
+ * Invalid namerefs always read/write their value directly, never resolving.
102
+ * For example, after `ref=1; typeset -n ref`, ref has an invalid target "1".
103
+ */
104
+ invalidNamerefs?: Set<string>;
105
+ /** Set of variable names that have integer attribute (declare -i) */
106
+ integerVars?: Set<string>;
107
+ /** Set of variable names that have lowercase attribute (declare -l) */
108
+ lowercaseVars?: Set<string>;
109
+ /** Set of variable names that have uppercase attribute (declare -u) */
110
+ uppercaseVars?: Set<string>;
111
+ /** Set of exported variable names */
112
+ exportedVars?: Set<string>;
113
+ /** Set of temporarily exported variable names (for prefix assignments like FOO=bar cmd) */
114
+ tempExportedVars?: Set<string>;
115
+ /**
116
+ * Stack of sets tracking variables exported within each local scope.
117
+ * When a function returns and a local scope is popped, if a variable was
118
+ * exported only in that scope (not before entering), the export attribute
119
+ * should be removed. This enables bash's scoped export behavior where
120
+ * `local V=x; export V` only exports the local, not the global.
121
+ */
122
+ localExportedVars?: Set<string>[];
123
+ /** Set of variable names that have been declared but not assigned a value */
124
+ declaredVars?: Set<string>;
125
+ }
126
+ /**
127
+ * Tracks the complex local variable scoping machinery.
128
+ * Bash's local variable behavior is intricate: variables are dynamically scoped,
129
+ * can be declared multiple times in nested contexts, and have different unset
130
+ * behaviors depending on whether the unset happens in the declaring scope.
131
+ */
132
+ export interface LocalScopingState {
133
+ /** Stack of local variable scopes (one Map per function call) */
134
+ localScopes: Map<string, string | undefined>[];
135
+ /** Whole-array snapshots parallel to localScopes. */
136
+ localArrayScopes?: Map<string, ShellArray | undefined>[];
137
+ /**
138
+ * Tracks at which call depth each local variable was declared.
139
+ * Used for bash-specific unset scoping behavior:
140
+ * - local-unset (same scope): value-unset (clears value, keeps local cell)
141
+ * - dynamic-unset (different scope): cell-unset (removes local cell, exposes outer value)
142
+ */
143
+ localVarDepth?: Map<string, number>;
144
+ /**
145
+ * Stack of saved values for each local variable, supporting bash's localvar-nest behavior.
146
+ * Each entry contains the saved (outer) value and the scope index where it was saved.
147
+ * This allows multiple nested `local` declarations of the same variable (e.g., in nested evals)
148
+ * to each have their own cell that can be unset independently.
149
+ */
150
+ localVarStack?: Map<string, Array<{
151
+ value: string | undefined;
152
+ scopeIndex: number;
153
+ }>>;
154
+ /**
155
+ * Map of variable names to scope index where they were fully unset.
156
+ * Used to prevent tempenv restoration after all local cells are removed.
157
+ * Entries are cleared when their scope returns.
158
+ */
159
+ fullyUnsetLocals?: Map<string, number>;
160
+ /**
161
+ * Stack of temporary environment bindings from prefix assignments (e.g., FOO=bar cmd).
162
+ * Each entry maps variable names to their saved (underlying) values.
163
+ * Used for bash-specific unset behavior: when unsetting a variable that has a
164
+ * tempenv binding, the unset should reveal the underlying value, not completely
165
+ * remove the variable.
166
+ */
167
+ tempEnvBindings?: Map<string, string | undefined>[];
168
+ /**
169
+ * Set of tempenv variable names that have been explicitly written to within
170
+ * the current function context (after the prefix assignment, before local).
171
+ * Used to distinguish between "fresh" tempenvs (local-unset = value-unset)
172
+ * and "mutated" tempenvs (local-unset reveals the mutated value).
173
+ */
174
+ mutatedTempEnvVars?: Set<string>;
175
+ /**
176
+ * Set of tempenv variable names that have been accessed (read or written)
177
+ * within the current function context. Used to determine if a tempenv was
178
+ * "observed" before a local declaration.
179
+ */
180
+ accessedTempEnvVars?: Set<string>;
181
+ }
182
+ /**
183
+ * Tracks the function call stack and source file nesting.
184
+ * This state powers the FUNCNAME, BASH_LINENO, and BASH_SOURCE arrays,
185
+ * and determines the behavior of `return` in different contexts.
186
+ */
187
+ export interface CallStackState {
188
+ /** Function definitions (name -> AST node) */
189
+ functions: Map<string, FunctionDefNode>;
190
+ /** Current function call depth (for recursion limits and local scoping) */
191
+ callDepth: number;
192
+ /** Current source script nesting depth (for return in sourced scripts) */
193
+ sourceDepth: number;
194
+ /** Stack of call line numbers for BASH_LINENO */
195
+ callLineStack?: number[];
196
+ /** Stack of function names for FUNCNAME */
197
+ funcNameStack?: string[];
198
+ /** Stack of source files for BASH_SOURCE (tracks where functions were defined) */
199
+ sourceStack?: string[];
200
+ /** Current source file context (for function definitions) */
201
+ currentSource?: string;
202
+ }
203
+ /**
204
+ * Tracks loop nesting and condition context.
205
+ * Used to implement break/continue commands and to suppress errexit
206
+ * in condition contexts (if, while, until, ||, &&).
207
+ */
208
+ export interface ControlFlowState {
209
+ /** True when executing condition for if/while/until (errexit doesn't apply) */
210
+ inCondition: boolean;
211
+ /** Current loop nesting depth (for break/continue) */
212
+ loopDepth: number;
213
+ /** True if this subshell was spawned from within a loop context (for break/continue to exit subshell) */
214
+ parentHasLoopContext?: boolean;
215
+ /** True when the last executed statement's exit code is "safe" for errexit purposes
216
+ * (e.g., from a &&/|| chain where the failure wasn't the final command) */
217
+ errexitSafe?: boolean;
218
+ }
219
+ /**
220
+ * Tracks process IDs, timing, and execution counts.
221
+ * Powers special variables like $$, $BASHPID, $!, and $SECONDS.
222
+ */
223
+ export interface ProcessState {
224
+ /** Total commands executed (for execution limits) */
225
+ commandCount: number;
226
+ /** Time when shell started (for $SECONDS) */
227
+ startTime: number;
228
+ /** PID of last background job (for $!) */
229
+ lastBackgroundPid: number;
230
+ /** Current BASHPID (changes in subshells, unlike $$) */
231
+ bashPid: number;
232
+ /** Counter for generating unique virtual PIDs for subshells */
233
+ nextVirtualPid: number;
234
+ /** Virtual main shell PID for $$ (default 1, never exposes real process.pid) */
235
+ virtualPid: number;
236
+ /** Virtual parent PID for $PPID (default 0, never exposes real process.ppid) */
237
+ virtualPpid: number;
238
+ /** Virtual user ID for $UID/$EUID (default 1000, never exposes real UID) */
239
+ virtualUid: number;
240
+ /** Virtual group ID (default 1000, never exposes real GID) */
241
+ virtualGid: number;
242
+ }
243
+ /**
244
+ * Tracks file descriptors and stdin content for I/O operations.
245
+ * Used for process substitution, here-documents, and compound command stdin.
246
+ */
247
+ export interface IOState {
248
+ /** Stdin available for commands in compound commands (groups, subshells, while loops with piped input) */
249
+ groupStdin?: string;
250
+ /** Descriptor that supplied `groupStdin`, when it has a shared position. */
251
+ groupStdinSourceFd?: number;
252
+ /** File descriptors for process substitution and here-docs */
253
+ fileDescriptors?: Map<number, string>;
254
+ /**
255
+ * Descriptors whose `fileDescriptors` value is verbatim content rather
256
+ * than one of the `__file__:` / `__rw__:` / `__dupout__:` markers. Kept
257
+ * beside the table (which is public API and must stay `Map<number,
258
+ * string>`) so that file content shaped like a marker is never mistaken
259
+ * for one. Maintained exclusively by `fd-table.ts`.
260
+ */
261
+ inputFds?: Set<number>;
262
+ /**
263
+ * Descriptors that share one open file description because of `N<&M`, and
264
+ * therefore share a read offset. Every member of a group maps to the same
265
+ * Set; descriptors with no aliases have no entry. Maintained exclusively
266
+ * by `fd-table.ts`.
267
+ */
268
+ fdAliases?: Map<number, Set<number>>;
269
+ /** Standard descriptors closed by persistent `exec N>&-` redirections. */
270
+ closedStandardFds?: Set<number>;
271
+ /** Next available file descriptor for {varname}>file allocation (starts at 10) */
272
+ nextFd?: number;
273
+ /**
274
+ * Process substitutions (`<(cmd)` / `>(cmd)`) whose backing files are still
275
+ * live, oldest first. Used as a stack: each command execution releases the
276
+ * entries its own expansion pushed.
277
+ */
278
+ processSubstitutions?: ProcessSubstitutionEntry[];
279
+ /**
280
+ * True once `/dev/fd` has been routed to a private in-memory filesystem
281
+ * because the supplied one refused to back a descriptor (read-only sandbox).
282
+ */
283
+ processSubstitutionFsMounted?: boolean;
284
+ }
285
+ /**
286
+ * Captures errors that occur during parameter expansion.
287
+ * Some expansion errors need to be reported after expansion completes,
288
+ * with their exit codes and stderr preserved.
289
+ */
290
+ export interface ExpansionState {
291
+ /** Exit code from expansion errors (arithmetic, etc.) - overrides command exit code */
292
+ expansionExitCode?: number;
293
+ /** Stderr from expansion errors */
294
+ expansionStderr?: string;
295
+ }
296
+ /**
297
+ * Complete interpreter state for bash script execution.
298
+ *
299
+ * This interface is composed from focused sub-interfaces:
300
+ * - {@link VariableAttributeState} - Variable type attributes (readonly, integer, etc.)
301
+ * - {@link LocalScopingState} - Local variable scoping machinery
302
+ * - {@link CallStackState} - Function calls and source file tracking
303
+ * - {@link ControlFlowState} - Loop nesting and condition context
304
+ * - {@link ProcessState} - PIDs, timing, execution counts
305
+ * - {@link IOState} - File descriptors and stdin
306
+ * - {@link ExpansionState} - Expansion error capture
307
+ */
308
+ export interface InterpreterState extends VariableAttributeState, LocalScopingState, CallStackState, ControlFlowState, ProcessState, IOState, ExpansionState {
309
+ /** Environment variables (exported to commands) - uses Map to prevent prototype pollution */
310
+ env: Map<string, string>;
311
+ /**
312
+ * Array values live outside the scalar environment namespace. Shell names such
313
+ * as `a_0` and `a__length` are valid scalar variables and must never alias an
314
+ * element or interpreter metadata.
315
+ */
316
+ arrays?: Map<string, ShellArray>;
317
+ /** Current working directory */
318
+ cwd: string;
319
+ /** Previous directory (for `cd -`) */
320
+ previousDir: string;
321
+ /** Exit code of last executed command */
322
+ lastExitCode: number;
323
+ /** Last argument of previous command, for $_ expansion */
324
+ lastArg: string;
325
+ /** Current line number being executed (for $LINENO) */
326
+ currentLine: number;
327
+ /** Shell options (set -e, etc.) */
328
+ options: ShellOptions;
329
+ /** Shopt options (shopt -s, etc.) */
330
+ shoptOptions: ShoptOptions;
331
+ /** Completion specifications set by the `complete` builtin */
332
+ completionSpecs?: Map<string, CompletionSpec>;
333
+ /** Default completion policy (-D), kept outside the user command namespace. */
334
+ defaultCompletionSpec?: CompletionSpec;
335
+ /** Empty-line completion policy (-E), kept outside the user command namespace. */
336
+ emptyCompletionSpec?: CompletionSpec;
337
+ /** Directory stack for pushd/popd/dirs */
338
+ directoryStack?: string[];
339
+ /** Hash table for PATH command lookup caching */
340
+ hashTable?: Map<string, string>;
341
+ /**
342
+ * Suppress verbose mode output (set -v) when inside command substitutions.
343
+ * bash only prints verbose output for the main script, not for commands
344
+ * inside $(...) or backticks.
345
+ */
346
+ suppressVerbose?: boolean;
347
+ /**
348
+ * Abort signal for cooperative cancellation.
349
+ * Checked at statement boundaries; when aborted, execution stops.
350
+ */
351
+ signal?: AbortSignal;
352
+ /** Extra arguments injected via exec({ args }), appended to first command's args */
353
+ extraArgs?: string[];
354
+ }
355
+ export interface ShellArray {
356
+ kind: "indexed" | "associative";
357
+ elements: Map<string, string>;
358
+ }
359
+ export interface InterpreterContext {
360
+ state: InterpreterState;
361
+ fs: IFileSystem;
362
+ commands: CommandRegistry;
363
+ /** Execution limits configuration */
364
+ limits: Required<ExecutionLimits>;
365
+ /** Shared security accounting for this top-level execution and descendants. */
366
+ executionScope: ExecutionScope;
367
+ execFn: (script: string, options?: InterpreterExecOptions, stdinAlreadyAccounted?: boolean) => Promise<ExecResult>;
368
+ executeScript: (node: ScriptNode) => Promise<ExecResult>;
369
+ executeStatement: (node: StatementNode) => Promise<ExecResult>;
370
+ /**
371
+ * `stdinOwned` says the caller gave this command its own fd 0, even when the
372
+ * content is the empty string (`f < empty-file`). Without it an empty stdin
373
+ * is indistinguishable from "no redirection", and the command would fall
374
+ * back to the enclosing shell's stdin instead of seeing EOF.
375
+ */
376
+ executeCommand: (node: CommandNode, stdin: string, stdinOwned?: boolean) => Promise<ExecResult>;
377
+ /** Optional secure fetch function for network-enabled commands */
378
+ fetch?: SecureFetch;
379
+ /** Optional sleep function for testing with mock clocks */
380
+ sleep?: (ms: number) => Promise<void>;
381
+ /** Optional trace callback for performance profiling */
382
+ trace?: TraceCallback;
383
+ /** Current command substitution nesting depth (for limit enforcement) */
384
+ substitutionDepth?: number;
385
+ /** Optional feature coverage writer for fuzzing instrumentation */
386
+ coverage?: FeatureCoverageWriter;
387
+ /**
388
+ * When true, interpreter execution must run inside DefenseInDepthBox
389
+ * sandbox async context. Used to fail closed on context-loss bugs.
390
+ */
391
+ requireDefenseContext?: boolean;
392
+ /**
393
+ * Bootstrap JavaScript code for js-exec.
394
+ * Threaded through the context chain instead of shell env.
395
+ */
396
+ jsBootstrapCode?: string;
397
+ /**
398
+ * Tool invoker hook. When present, js-exec sets up a `tools` proxy that
399
+ * routes calls through this callback.
400
+ */
401
+ invokeTool?: (path: string, argsJson: string) => Promise<string>;
402
+ }