just-binary 2.9.8

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 (841) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +458 -0
  3. package/dist/AGENTS.md +323 -0
  4. package/dist/Bash.d.ts +179 -0
  5. package/dist/ast/types.d.ts +615 -0
  6. package/dist/banned-patterns-test.d.ts +8 -0
  7. package/dist/bin/chunks/alias-23G4Q2RS.js +2 -0
  8. package/dist/bin/chunks/awk2-Z6VRXKAK.js +2 -0
  9. package/dist/bin/chunks/base64-DNX4WCIO.js +2 -0
  10. package/dist/bin/chunks/basename-MPQ7M4RF.js +2 -0
  11. package/dist/bin/chunks/bash-OQ32Y5I6.js +2 -0
  12. package/dist/bin/chunks/bytes-6YUZMX3P.js +2 -0
  13. package/dist/bin/chunks/cat-CL5ISR5P.js +2 -0
  14. package/dist/bin/chunks/chmod-R6IWRSKZ.js +2 -0
  15. package/dist/bin/chunks/chunk-227L3ACM.js +23 -0
  16. package/dist/bin/chunks/chunk-2QA4P6HI.js +12 -0
  17. package/dist/bin/chunks/chunk-3MFM4GSH.js +36 -0
  18. package/dist/bin/chunks/chunk-3UP5LXDO.js +3 -0
  19. package/dist/bin/chunks/chunk-47P7JSQI.js +2 -0
  20. package/dist/bin/chunks/chunk-4KBTPDQB.js +3 -0
  21. package/dist/bin/chunks/chunk-4UK2MV3F.js +13 -0
  22. package/dist/bin/chunks/chunk-4VDEBYW7.js +2 -0
  23. package/dist/bin/chunks/chunk-563AO4OL.js +7 -0
  24. package/dist/bin/chunks/chunk-5HDWUXRX.js +7 -0
  25. package/dist/bin/chunks/chunk-5MCFI6LE.js +5 -0
  26. package/dist/bin/chunks/chunk-6CZOPIZD.js +6 -0
  27. package/dist/bin/chunks/chunk-6FNFX5GG.js +5 -0
  28. package/dist/bin/chunks/chunk-6NYIHYDY.js +7 -0
  29. package/dist/bin/chunks/chunk-6Y4TKR73.js +16 -0
  30. package/dist/bin/chunks/chunk-7C7WEK46.js +23 -0
  31. package/dist/bin/chunks/chunk-7TNGQWY6.js +6 -0
  32. package/dist/bin/chunks/chunk-7UAWRBQS.js +9 -0
  33. package/dist/bin/chunks/chunk-ARGU3OIG.js +17 -0
  34. package/dist/bin/chunks/chunk-BA3A5BYZ.js +3 -0
  35. package/dist/bin/chunks/chunk-BB7T22CF.js +140 -0
  36. package/dist/bin/chunks/chunk-BY24LKGP.js +8 -0
  37. package/dist/bin/chunks/chunk-CRHN4WNQ.js +63 -0
  38. package/dist/bin/chunks/chunk-ELZHJGI7.js +10 -0
  39. package/dist/bin/chunks/chunk-F46CSMUF.js +2 -0
  40. package/dist/bin/chunks/chunk-FQX4G5RH.js +7 -0
  41. package/dist/bin/chunks/chunk-G43H2WGH.js +17 -0
  42. package/dist/bin/chunks/chunk-GIFF636B.js +2 -0
  43. package/dist/bin/chunks/chunk-GMJWC3MC.js +12 -0
  44. package/dist/bin/chunks/chunk-HVDU57EV.js +16 -0
  45. package/dist/bin/chunks/chunk-HWGK3XW7.js +6 -0
  46. package/dist/bin/chunks/chunk-HYR7G7KS.js +3 -0
  47. package/dist/bin/chunks/chunk-I2225JSU.js +14 -0
  48. package/dist/bin/chunks/chunk-I2FUQZXU.js +11 -0
  49. package/dist/bin/chunks/chunk-IBHPKKIT.js +10 -0
  50. package/dist/bin/chunks/chunk-IKNNFJNZ.js +14 -0
  51. package/dist/bin/chunks/chunk-INPUJM7Y.js +8 -0
  52. package/dist/bin/chunks/chunk-IOBKPMWJ.js +9 -0
  53. package/dist/bin/chunks/chunk-IYSA2L6A.js +13 -0
  54. package/dist/bin/chunks/chunk-JMLNX7GE.js +287 -0
  55. package/dist/bin/chunks/chunk-K2K4KPOQ.js +3 -0
  56. package/dist/bin/chunks/chunk-K6DD7NH3.js +9 -0
  57. package/dist/bin/chunks/chunk-KFLJ4EMB.js +4 -0
  58. package/dist/bin/chunks/chunk-KOMDAXHM.js +7 -0
  59. package/dist/bin/chunks/chunk-KV7ZTM2R.js +11 -0
  60. package/dist/bin/chunks/chunk-LCCVVEJA.js +10 -0
  61. package/dist/bin/chunks/chunk-LUPJK5US.js +84 -0
  62. package/dist/bin/chunks/chunk-LWF3XDOC.js +32 -0
  63. package/dist/bin/chunks/chunk-LXNARM2C.js +9 -0
  64. package/dist/bin/chunks/chunk-LXZS3X5T.js +9 -0
  65. package/dist/bin/chunks/chunk-M4ICSCXT.js +100 -0
  66. package/dist/bin/chunks/chunk-MEBZXRGE.js +5 -0
  67. package/dist/bin/chunks/chunk-MSPSS36S.js +16 -0
  68. package/dist/bin/chunks/chunk-N335RIGZ.js +20 -0
  69. package/dist/bin/chunks/chunk-N5KGQWJH.js +5 -0
  70. package/dist/bin/chunks/chunk-NDHTQE5T.js +8 -0
  71. package/dist/bin/chunks/chunk-NF5G7X3O.js +7 -0
  72. package/dist/bin/chunks/chunk-NGKNJ6V2.js +11 -0
  73. package/dist/bin/chunks/chunk-OBH7XN5N.js +1 -0
  74. package/dist/bin/chunks/chunk-OKQ6RACF.js +73 -0
  75. package/dist/bin/chunks/chunk-PBY7XGZ6.js +8 -0
  76. package/dist/bin/chunks/chunk-PHHNNFRS.js +6 -0
  77. package/dist/bin/chunks/chunk-PO6Y7TWQ.js +6 -0
  78. package/dist/bin/chunks/chunk-Q4TLKLIZ.js +12 -0
  79. package/dist/bin/chunks/chunk-QS6LP3E3.js +6 -0
  80. package/dist/bin/chunks/chunk-QT2GMJRJ.js +8 -0
  81. package/dist/bin/chunks/chunk-QUVW3R4I.js +5 -0
  82. package/dist/bin/chunks/chunk-QUYWT2TY.js +21 -0
  83. package/dist/bin/chunks/chunk-QWUII542.js +2 -0
  84. package/dist/bin/chunks/chunk-R5EQDD5Y.js +13 -0
  85. package/dist/bin/chunks/chunk-RQSPCXDR.js +2 -0
  86. package/dist/bin/chunks/chunk-RTC6C5QW.js +2 -0
  87. package/dist/bin/chunks/chunk-S5W2KVHC.js +2 -0
  88. package/dist/bin/chunks/chunk-SDXDICI4.js +2 -0
  89. package/dist/bin/chunks/chunk-SE4C7FJY.js +33 -0
  90. package/dist/bin/chunks/chunk-SX7TI7Q2.js +3 -0
  91. package/dist/bin/chunks/chunk-TDJ55L4A.js +16 -0
  92. package/dist/bin/chunks/chunk-TNPUAMV3.js +8 -0
  93. package/dist/bin/chunks/chunk-TSGSFBQI.js +14 -0
  94. package/dist/bin/chunks/chunk-U5ZE562V.js +2 -0
  95. package/dist/bin/chunks/chunk-UIMH6I3G.js +33 -0
  96. package/dist/bin/chunks/chunk-UXPY5T2P.js +9 -0
  97. package/dist/bin/chunks/chunk-UYBH3FNE.js +2 -0
  98. package/dist/bin/chunks/chunk-V5I6PHN2.js +14 -0
  99. package/dist/bin/chunks/chunk-VOTJNR36.js +5 -0
  100. package/dist/bin/chunks/chunk-W5XFREQC.js +3 -0
  101. package/dist/bin/chunks/chunk-X2MOXVGO.js +26 -0
  102. package/dist/bin/chunks/chunk-XOGQUO62.js +2 -0
  103. package/dist/bin/chunks/chunk-Y57BDPQ5.js +6 -0
  104. package/dist/bin/chunks/chunk-YE6KXFFU.js +2 -0
  105. package/dist/bin/chunks/chunk-YEPWKN4F.js +3 -0
  106. package/dist/bin/chunks/chunk-ZEDWVSUZ.js +19 -0
  107. package/dist/bin/chunks/chunk-ZI4TTZL5.js +21 -0
  108. package/dist/bin/chunks/chunk-ZZVIGHYS.js +7 -0
  109. package/dist/bin/chunks/clear-27OP2FQZ.js +2 -0
  110. package/dist/bin/chunks/column-FJNKONCJ.js +2 -0
  111. package/dist/bin/chunks/comm-5FNEJE7X.js +2 -0
  112. package/dist/bin/chunks/cp-LVKHKFHQ.js +2 -0
  113. package/dist/bin/chunks/curl-S4FJSZA5.js +26 -0
  114. package/dist/bin/chunks/cut-UXU6PNTT.js +2 -0
  115. package/dist/bin/chunks/date-GGPTXVUT.js +2 -0
  116. package/dist/bin/chunks/diff-3V3FOITV.js +2 -0
  117. package/dist/bin/chunks/dirname-455JDV2M.js +2 -0
  118. package/dist/bin/chunks/du-WUEAQO2W.js +2 -0
  119. package/dist/bin/chunks/echo-HBXOI5TQ.js +2 -0
  120. package/dist/bin/chunks/env-MXFHTVHS.js +2 -0
  121. package/dist/bin/chunks/expand-F4FM4ML2.js +2 -0
  122. package/dist/bin/chunks/expansion-7AYBVOIQ.js +2 -0
  123. package/dist/bin/chunks/expr-5ZKR5ER5.js +2 -0
  124. package/dist/bin/chunks/file-BFN7BKUR.js +2 -0
  125. package/dist/bin/chunks/find-W4BCEJEC.js +2 -0
  126. package/dist/bin/chunks/flag-coverage-DBKGNLJO.js +2 -0
  127. package/dist/bin/chunks/fold-AE57YLOS.js +2 -0
  128. package/dist/bin/chunks/grep-I63BWUKL.js +2 -0
  129. package/dist/bin/chunks/gzip-X5IDXWZE.js +2 -0
  130. package/dist/bin/chunks/head-TBQETLQX.js +2 -0
  131. package/dist/bin/chunks/help-HGMKZ2GW.js +2 -0
  132. package/dist/bin/chunks/history-2DYRIL3U.js +2 -0
  133. package/dist/bin/chunks/hostname-RWEPTCXH.js +2 -0
  134. package/dist/bin/chunks/html-to-markdown-2VQWCEKU.js +2 -0
  135. package/dist/bin/chunks/join-TRRWQBEU.js +2 -0
  136. package/dist/bin/chunks/jq-NFKKH27D.js +2 -0
  137. package/dist/bin/chunks/ln-BSEVUP2J.js +2 -0
  138. package/dist/bin/chunks/ls-IJLTWVOI.js +2 -0
  139. package/dist/bin/chunks/md5sum-ZIQHOC4K.js +2 -0
  140. package/dist/bin/chunks/mkdir-KYFAO2SF.js +2 -0
  141. package/dist/bin/chunks/mv-TWM2PA7Q.js +2 -0
  142. package/dist/bin/chunks/nl-XLF2HFST.js +2 -0
  143. package/dist/bin/chunks/od-BOM6JPTH.js +2 -0
  144. package/dist/bin/chunks/paste-FUGXVGJX.js +2 -0
  145. package/dist/bin/chunks/printf-XUGNJ3QM.js +2 -0
  146. package/dist/bin/chunks/pwd-RZG6GZEU.js +2 -0
  147. package/dist/bin/chunks/python3-PIXJS3YM.js +14 -0
  148. package/dist/bin/chunks/readlink-4SOSIDHE.js +2 -0
  149. package/dist/bin/chunks/rev-5E5UGSUZ.js +2 -0
  150. package/dist/bin/chunks/rg-4YJSQZN7.js +2 -0
  151. package/dist/bin/chunks/rm-3PFOF4E3.js +2 -0
  152. package/dist/bin/chunks/rmdir-CSK7CGH5.js +2 -0
  153. package/dist/bin/chunks/sed-XBCUZMEP.js +2 -0
  154. package/dist/bin/chunks/seq-H7ID4VMK.js +2 -0
  155. package/dist/bin/chunks/sha1sum-EDQNYXXH.js +2 -0
  156. package/dist/bin/chunks/sha256sum-APTG6DO2.js +2 -0
  157. package/dist/bin/chunks/sleep-PNT7KILS.js +2 -0
  158. package/dist/bin/chunks/sort-ELAGZUES.js +2 -0
  159. package/dist/bin/chunks/split-QGXYUWBC.js +2 -0
  160. package/dist/bin/chunks/sqlite3-ELLMKNNJ.js +2 -0
  161. package/dist/bin/chunks/stat-Q2TZRKO3.js +2 -0
  162. package/dist/bin/chunks/strings-IGEGP5QX.js +2 -0
  163. package/dist/bin/chunks/tac-VOEDJLLG.js +2 -0
  164. package/dist/bin/chunks/tail-JOQASWMV.js +2 -0
  165. package/dist/bin/chunks/tar-2UVSVD3P.js +2 -0
  166. package/dist/bin/chunks/tee-IQLEDZOQ.js +2 -0
  167. package/dist/bin/chunks/time-VRCJK2LI.js +2 -0
  168. package/dist/bin/chunks/timeout-A36YWZWR.js +2 -0
  169. package/dist/bin/chunks/touch-5ECNQNBP.js +2 -0
  170. package/dist/bin/chunks/tr-AVALLN54.js +2 -0
  171. package/dist/bin/chunks/tree-UFM5EDXS.js +2 -0
  172. package/dist/bin/chunks/true-BU5JSAAW.js +2 -0
  173. package/dist/bin/chunks/unexpand-TDRWZW5F.js +2 -0
  174. package/dist/bin/chunks/uniq-IKBUNAMN.js +2 -0
  175. package/dist/bin/chunks/wc-2R4RS2SX.js +2 -0
  176. package/dist/bin/chunks/which-6UVGMXDF.js +2 -0
  177. package/dist/bin/chunks/whoami-N6TLTETT.js +2 -0
  178. package/dist/bin/chunks/worker.js +2260 -0
  179. package/dist/bin/chunks/xan-JX5QUK32.js +2 -0
  180. package/dist/bin/chunks/xan-view-NFMUMJ7Z.js +2 -0
  181. package/dist/bin/chunks/xargs-4MYN4U3C.js +2 -0
  182. package/dist/bin/chunks/yq-EHDQVD7S.js +2 -0
  183. package/dist/bin/just-bash.js +732 -0
  184. package/dist/bin/shell/chunks/alias-23G4Q2RS.js +2 -0
  185. package/dist/bin/shell/chunks/awk2-Z6VRXKAK.js +2 -0
  186. package/dist/bin/shell/chunks/base64-DNX4WCIO.js +2 -0
  187. package/dist/bin/shell/chunks/basename-MPQ7M4RF.js +2 -0
  188. package/dist/bin/shell/chunks/bash-OQ32Y5I6.js +2 -0
  189. package/dist/bin/shell/chunks/bytes-6YUZMX3P.js +2 -0
  190. package/dist/bin/shell/chunks/cat-CL5ISR5P.js +2 -0
  191. package/dist/bin/shell/chunks/chmod-R6IWRSKZ.js +2 -0
  192. package/dist/bin/shell/chunks/chunk-227L3ACM.js +23 -0
  193. package/dist/bin/shell/chunks/chunk-2QA4P6HI.js +12 -0
  194. package/dist/bin/shell/chunks/chunk-3MFM4GSH.js +36 -0
  195. package/dist/bin/shell/chunks/chunk-3UP5LXDO.js +3 -0
  196. package/dist/bin/shell/chunks/chunk-47P7JSQI.js +2 -0
  197. package/dist/bin/shell/chunks/chunk-4KBTPDQB.js +3 -0
  198. package/dist/bin/shell/chunks/chunk-4UK2MV3F.js +13 -0
  199. package/dist/bin/shell/chunks/chunk-4VDEBYW7.js +2 -0
  200. package/dist/bin/shell/chunks/chunk-563AO4OL.js +7 -0
  201. package/dist/bin/shell/chunks/chunk-5HDWUXRX.js +7 -0
  202. package/dist/bin/shell/chunks/chunk-5MCFI6LE.js +5 -0
  203. package/dist/bin/shell/chunks/chunk-6CZOPIZD.js +6 -0
  204. package/dist/bin/shell/chunks/chunk-6FNFX5GG.js +5 -0
  205. package/dist/bin/shell/chunks/chunk-6NYIHYDY.js +7 -0
  206. package/dist/bin/shell/chunks/chunk-6Y4TKR73.js +16 -0
  207. package/dist/bin/shell/chunks/chunk-7C7WEK46.js +23 -0
  208. package/dist/bin/shell/chunks/chunk-7TNGQWY6.js +6 -0
  209. package/dist/bin/shell/chunks/chunk-7UAWRBQS.js +9 -0
  210. package/dist/bin/shell/chunks/chunk-ARGU3OIG.js +17 -0
  211. package/dist/bin/shell/chunks/chunk-BA3A5BYZ.js +3 -0
  212. package/dist/bin/shell/chunks/chunk-BB7T22CF.js +140 -0
  213. package/dist/bin/shell/chunks/chunk-BY24LKGP.js +8 -0
  214. package/dist/bin/shell/chunks/chunk-CRHN4WNQ.js +63 -0
  215. package/dist/bin/shell/chunks/chunk-ELZHJGI7.js +10 -0
  216. package/dist/bin/shell/chunks/chunk-F46CSMUF.js +2 -0
  217. package/dist/bin/shell/chunks/chunk-FQX4G5RH.js +7 -0
  218. package/dist/bin/shell/chunks/chunk-G43H2WGH.js +17 -0
  219. package/dist/bin/shell/chunks/chunk-GIFF636B.js +2 -0
  220. package/dist/bin/shell/chunks/chunk-GMJWC3MC.js +12 -0
  221. package/dist/bin/shell/chunks/chunk-HVDU57EV.js +16 -0
  222. package/dist/bin/shell/chunks/chunk-HWGK3XW7.js +6 -0
  223. package/dist/bin/shell/chunks/chunk-HYR7G7KS.js +3 -0
  224. package/dist/bin/shell/chunks/chunk-I2225JSU.js +14 -0
  225. package/dist/bin/shell/chunks/chunk-I2FUQZXU.js +11 -0
  226. package/dist/bin/shell/chunks/chunk-IBHPKKIT.js +10 -0
  227. package/dist/bin/shell/chunks/chunk-IKNNFJNZ.js +14 -0
  228. package/dist/bin/shell/chunks/chunk-INPUJM7Y.js +8 -0
  229. package/dist/bin/shell/chunks/chunk-IOBKPMWJ.js +9 -0
  230. package/dist/bin/shell/chunks/chunk-IYSA2L6A.js +13 -0
  231. package/dist/bin/shell/chunks/chunk-JMLNX7GE.js +287 -0
  232. package/dist/bin/shell/chunks/chunk-K2K4KPOQ.js +3 -0
  233. package/dist/bin/shell/chunks/chunk-K6DD7NH3.js +9 -0
  234. package/dist/bin/shell/chunks/chunk-KFLJ4EMB.js +4 -0
  235. package/dist/bin/shell/chunks/chunk-KOMDAXHM.js +7 -0
  236. package/dist/bin/shell/chunks/chunk-KV7ZTM2R.js +11 -0
  237. package/dist/bin/shell/chunks/chunk-LCCVVEJA.js +10 -0
  238. package/dist/bin/shell/chunks/chunk-LUPJK5US.js +84 -0
  239. package/dist/bin/shell/chunks/chunk-LWF3XDOC.js +32 -0
  240. package/dist/bin/shell/chunks/chunk-LXNARM2C.js +9 -0
  241. package/dist/bin/shell/chunks/chunk-LXZS3X5T.js +9 -0
  242. package/dist/bin/shell/chunks/chunk-M4ICSCXT.js +100 -0
  243. package/dist/bin/shell/chunks/chunk-MEBZXRGE.js +5 -0
  244. package/dist/bin/shell/chunks/chunk-MSPSS36S.js +16 -0
  245. package/dist/bin/shell/chunks/chunk-N335RIGZ.js +20 -0
  246. package/dist/bin/shell/chunks/chunk-N5KGQWJH.js +5 -0
  247. package/dist/bin/shell/chunks/chunk-NDHTQE5T.js +8 -0
  248. package/dist/bin/shell/chunks/chunk-NF5G7X3O.js +7 -0
  249. package/dist/bin/shell/chunks/chunk-NGKNJ6V2.js +11 -0
  250. package/dist/bin/shell/chunks/chunk-OBH7XN5N.js +1 -0
  251. package/dist/bin/shell/chunks/chunk-OKQ6RACF.js +73 -0
  252. package/dist/bin/shell/chunks/chunk-PBY7XGZ6.js +8 -0
  253. package/dist/bin/shell/chunks/chunk-PHHNNFRS.js +6 -0
  254. package/dist/bin/shell/chunks/chunk-PO6Y7TWQ.js +6 -0
  255. package/dist/bin/shell/chunks/chunk-Q4TLKLIZ.js +12 -0
  256. package/dist/bin/shell/chunks/chunk-QS6LP3E3.js +6 -0
  257. package/dist/bin/shell/chunks/chunk-QT2GMJRJ.js +8 -0
  258. package/dist/bin/shell/chunks/chunk-QUVW3R4I.js +5 -0
  259. package/dist/bin/shell/chunks/chunk-QUYWT2TY.js +21 -0
  260. package/dist/bin/shell/chunks/chunk-QWUII542.js +2 -0
  261. package/dist/bin/shell/chunks/chunk-R5EQDD5Y.js +13 -0
  262. package/dist/bin/shell/chunks/chunk-RQSPCXDR.js +2 -0
  263. package/dist/bin/shell/chunks/chunk-RTC6C5QW.js +2 -0
  264. package/dist/bin/shell/chunks/chunk-S5W2KVHC.js +2 -0
  265. package/dist/bin/shell/chunks/chunk-SDXDICI4.js +2 -0
  266. package/dist/bin/shell/chunks/chunk-SE4C7FJY.js +33 -0
  267. package/dist/bin/shell/chunks/chunk-SX7TI7Q2.js +3 -0
  268. package/dist/bin/shell/chunks/chunk-TDJ55L4A.js +16 -0
  269. package/dist/bin/shell/chunks/chunk-TNPUAMV3.js +8 -0
  270. package/dist/bin/shell/chunks/chunk-TSGSFBQI.js +14 -0
  271. package/dist/bin/shell/chunks/chunk-U5ZE562V.js +2 -0
  272. package/dist/bin/shell/chunks/chunk-UIMH6I3G.js +33 -0
  273. package/dist/bin/shell/chunks/chunk-UXPY5T2P.js +9 -0
  274. package/dist/bin/shell/chunks/chunk-UYBH3FNE.js +2 -0
  275. package/dist/bin/shell/chunks/chunk-V5I6PHN2.js +14 -0
  276. package/dist/bin/shell/chunks/chunk-VOTJNR36.js +5 -0
  277. package/dist/bin/shell/chunks/chunk-W5XFREQC.js +3 -0
  278. package/dist/bin/shell/chunks/chunk-X2MOXVGO.js +26 -0
  279. package/dist/bin/shell/chunks/chunk-XOGQUO62.js +2 -0
  280. package/dist/bin/shell/chunks/chunk-Y57BDPQ5.js +6 -0
  281. package/dist/bin/shell/chunks/chunk-YE6KXFFU.js +2 -0
  282. package/dist/bin/shell/chunks/chunk-YEPWKN4F.js +3 -0
  283. package/dist/bin/shell/chunks/chunk-ZEDWVSUZ.js +19 -0
  284. package/dist/bin/shell/chunks/chunk-ZI4TTZL5.js +21 -0
  285. package/dist/bin/shell/chunks/chunk-ZZVIGHYS.js +7 -0
  286. package/dist/bin/shell/chunks/clear-27OP2FQZ.js +2 -0
  287. package/dist/bin/shell/chunks/column-FJNKONCJ.js +2 -0
  288. package/dist/bin/shell/chunks/comm-5FNEJE7X.js +2 -0
  289. package/dist/bin/shell/chunks/cp-LVKHKFHQ.js +2 -0
  290. package/dist/bin/shell/chunks/curl-S4FJSZA5.js +26 -0
  291. package/dist/bin/shell/chunks/cut-UXU6PNTT.js +2 -0
  292. package/dist/bin/shell/chunks/date-GGPTXVUT.js +2 -0
  293. package/dist/bin/shell/chunks/diff-3V3FOITV.js +2 -0
  294. package/dist/bin/shell/chunks/dirname-455JDV2M.js +2 -0
  295. package/dist/bin/shell/chunks/du-WUEAQO2W.js +2 -0
  296. package/dist/bin/shell/chunks/echo-HBXOI5TQ.js +2 -0
  297. package/dist/bin/shell/chunks/env-MXFHTVHS.js +2 -0
  298. package/dist/bin/shell/chunks/expand-F4FM4ML2.js +2 -0
  299. package/dist/bin/shell/chunks/expansion-7AYBVOIQ.js +2 -0
  300. package/dist/bin/shell/chunks/expr-5ZKR5ER5.js +2 -0
  301. package/dist/bin/shell/chunks/file-BFN7BKUR.js +2 -0
  302. package/dist/bin/shell/chunks/find-W4BCEJEC.js +2 -0
  303. package/dist/bin/shell/chunks/flag-coverage-DBKGNLJO.js +2 -0
  304. package/dist/bin/shell/chunks/fold-AE57YLOS.js +2 -0
  305. package/dist/bin/shell/chunks/grep-I63BWUKL.js +2 -0
  306. package/dist/bin/shell/chunks/gzip-X5IDXWZE.js +2 -0
  307. package/dist/bin/shell/chunks/head-TBQETLQX.js +2 -0
  308. package/dist/bin/shell/chunks/help-HGMKZ2GW.js +2 -0
  309. package/dist/bin/shell/chunks/history-2DYRIL3U.js +2 -0
  310. package/dist/bin/shell/chunks/hostname-RWEPTCXH.js +2 -0
  311. package/dist/bin/shell/chunks/html-to-markdown-2VQWCEKU.js +2 -0
  312. package/dist/bin/shell/chunks/join-TRRWQBEU.js +2 -0
  313. package/dist/bin/shell/chunks/jq-NFKKH27D.js +2 -0
  314. package/dist/bin/shell/chunks/ln-BSEVUP2J.js +2 -0
  315. package/dist/bin/shell/chunks/ls-IJLTWVOI.js +2 -0
  316. package/dist/bin/shell/chunks/md5sum-ZIQHOC4K.js +2 -0
  317. package/dist/bin/shell/chunks/mkdir-KYFAO2SF.js +2 -0
  318. package/dist/bin/shell/chunks/mv-TWM2PA7Q.js +2 -0
  319. package/dist/bin/shell/chunks/nl-XLF2HFST.js +2 -0
  320. package/dist/bin/shell/chunks/od-BOM6JPTH.js +2 -0
  321. package/dist/bin/shell/chunks/paste-FUGXVGJX.js +2 -0
  322. package/dist/bin/shell/chunks/printf-XUGNJ3QM.js +2 -0
  323. package/dist/bin/shell/chunks/pwd-RZG6GZEU.js +2 -0
  324. package/dist/bin/shell/chunks/python3-PIXJS3YM.js +14 -0
  325. package/dist/bin/shell/chunks/readlink-4SOSIDHE.js +2 -0
  326. package/dist/bin/shell/chunks/rev-5E5UGSUZ.js +2 -0
  327. package/dist/bin/shell/chunks/rg-4YJSQZN7.js +2 -0
  328. package/dist/bin/shell/chunks/rm-3PFOF4E3.js +2 -0
  329. package/dist/bin/shell/chunks/rmdir-CSK7CGH5.js +2 -0
  330. package/dist/bin/shell/chunks/sed-XBCUZMEP.js +2 -0
  331. package/dist/bin/shell/chunks/seq-H7ID4VMK.js +2 -0
  332. package/dist/bin/shell/chunks/sha1sum-EDQNYXXH.js +2 -0
  333. package/dist/bin/shell/chunks/sha256sum-APTG6DO2.js +2 -0
  334. package/dist/bin/shell/chunks/sleep-PNT7KILS.js +2 -0
  335. package/dist/bin/shell/chunks/sort-ELAGZUES.js +2 -0
  336. package/dist/bin/shell/chunks/split-QGXYUWBC.js +2 -0
  337. package/dist/bin/shell/chunks/sqlite3-ELLMKNNJ.js +2 -0
  338. package/dist/bin/shell/chunks/stat-Q2TZRKO3.js +2 -0
  339. package/dist/bin/shell/chunks/strings-IGEGP5QX.js +2 -0
  340. package/dist/bin/shell/chunks/tac-VOEDJLLG.js +2 -0
  341. package/dist/bin/shell/chunks/tail-JOQASWMV.js +2 -0
  342. package/dist/bin/shell/chunks/tar-2UVSVD3P.js +2 -0
  343. package/dist/bin/shell/chunks/tee-IQLEDZOQ.js +2 -0
  344. package/dist/bin/shell/chunks/time-VRCJK2LI.js +2 -0
  345. package/dist/bin/shell/chunks/timeout-A36YWZWR.js +2 -0
  346. package/dist/bin/shell/chunks/touch-5ECNQNBP.js +2 -0
  347. package/dist/bin/shell/chunks/tr-AVALLN54.js +2 -0
  348. package/dist/bin/shell/chunks/tree-UFM5EDXS.js +2 -0
  349. package/dist/bin/shell/chunks/true-BU5JSAAW.js +2 -0
  350. package/dist/bin/shell/chunks/unexpand-TDRWZW5F.js +2 -0
  351. package/dist/bin/shell/chunks/uniq-IKBUNAMN.js +2 -0
  352. package/dist/bin/shell/chunks/wc-2R4RS2SX.js +2 -0
  353. package/dist/bin/shell/chunks/which-6UVGMXDF.js +2 -0
  354. package/dist/bin/shell/chunks/whoami-N6TLTETT.js +2 -0
  355. package/dist/bin/shell/chunks/xan-JX5QUK32.js +2 -0
  356. package/dist/bin/shell/chunks/xan-view-NFMUMJ7Z.js +2 -0
  357. package/dist/bin/shell/chunks/xargs-4MYN4U3C.js +2 -0
  358. package/dist/bin/shell/chunks/yq-EHDQVD7S.js +2 -0
  359. package/dist/bin/shell/shell.js +711 -0
  360. package/dist/browser.d.ts +22 -0
  361. package/dist/bundle/browser.js +1481 -0
  362. package/dist/bundle/chunks/alias-T2KDAHDL.js +1 -0
  363. package/dist/bundle/chunks/awk2-UIH6CPHX.js +1 -0
  364. package/dist/bundle/chunks/base64-RY5JPAQL.js +1 -0
  365. package/dist/bundle/chunks/basename-QT55QR7O.js +1 -0
  366. package/dist/bundle/chunks/bash-BZZ6TUGW.js +1 -0
  367. package/dist/bundle/chunks/bytes-W6ESHQ7F.js +1 -0
  368. package/dist/bundle/chunks/cat-WUR2OJUG.js +1 -0
  369. package/dist/bundle/chunks/chmod-LTQYKUUW.js +1 -0
  370. package/dist/bundle/chunks/chunk-24BT6QUB.js +11 -0
  371. package/dist/bundle/chunks/chunk-274QVGRQ.js +2 -0
  372. package/dist/bundle/chunks/chunk-2IKXAFP4.js +11 -0
  373. package/dist/bundle/chunks/chunk-2IO54DPD.js +1 -0
  374. package/dist/bundle/chunks/chunk-2VAJD54D.js +13 -0
  375. package/dist/bundle/chunks/chunk-34P4G5H7.js +5 -0
  376. package/dist/bundle/chunks/chunk-3OY3UJDR.js +62 -0
  377. package/dist/bundle/chunks/chunk-3R6EWKMD.js +13 -0
  378. package/dist/bundle/chunks/chunk-3SPSXVPQ.js +2 -0
  379. package/dist/bundle/chunks/chunk-43RXAZRC.js +7 -0
  380. package/dist/bundle/chunks/chunk-44UOCSGV.js +1 -0
  381. package/dist/bundle/chunks/chunk-47LWQIG6.js +15 -0
  382. package/dist/bundle/chunks/chunk-4L3Y4LKT.js +5 -0
  383. package/dist/bundle/chunks/chunk-4LYDOEQ6.js +4 -0
  384. package/dist/bundle/chunks/chunk-4Q5DFBVQ.js +6 -0
  385. package/dist/bundle/chunks/chunk-4R5AUIZ4.js +6 -0
  386. package/dist/bundle/chunks/chunk-4UTZCT3W.js +2 -0
  387. package/dist/bundle/chunks/chunk-5FDLF2FN.js +5 -0
  388. package/dist/bundle/chunks/chunk-5HJSZMTG.js +1 -0
  389. package/dist/bundle/chunks/chunk-5NR6JZM4.js +12 -0
  390. package/dist/bundle/chunks/chunk-5PL72KVW.js +7 -0
  391. package/dist/bundle/chunks/chunk-6BM2WKUH.js +23 -0
  392. package/dist/bundle/chunks/chunk-6HLDZZOT.js +4 -0
  393. package/dist/bundle/chunks/chunk-7MKBHGLS.js +1 -0
  394. package/dist/bundle/chunks/chunk-7VHVF5PX.js +20 -0
  395. package/dist/bundle/chunks/chunk-A3YV3X3J.js +6 -0
  396. package/dist/bundle/chunks/chunk-AJNR4FJT.js +8 -0
  397. package/dist/bundle/chunks/chunk-AMQM5ZPF.js +1 -0
  398. package/dist/bundle/chunks/chunk-BCDE2QUY.js +1 -0
  399. package/dist/bundle/chunks/chunk-BMKJMOWP.js +2 -0
  400. package/dist/bundle/chunks/chunk-BVFIC7R6.js +4 -0
  401. package/dist/bundle/chunks/chunk-CC4HUWHZ.js +4 -0
  402. package/dist/bundle/chunks/chunk-CNCKROJZ.js +10 -0
  403. package/dist/bundle/chunks/chunk-CSFZQCAK.js +139 -0
  404. package/dist/bundle/chunks/chunk-CU7G2LMR.js +1 -0
  405. package/dist/bundle/chunks/chunk-CZP7PMAG.js +4 -0
  406. package/dist/bundle/chunks/chunk-D2OUCFAU.js +8 -0
  407. package/dist/bundle/chunks/chunk-DQXLKPVQ.js +7 -0
  408. package/dist/bundle/chunks/chunk-E6IR6BWV.js +286 -0
  409. package/dist/bundle/chunks/chunk-ELZ2RVIZ.js +11 -0
  410. package/dist/bundle/chunks/chunk-EVNUXIEZ.js +2 -0
  411. package/dist/bundle/chunks/chunk-F6FQRFZU.js +6 -0
  412. package/dist/bundle/chunks/chunk-FAECBHMR.js +2 -0
  413. package/dist/bundle/chunks/chunk-FBOLGXN4.js +16 -0
  414. package/dist/bundle/chunks/chunk-FNIOXBJW.js +9 -0
  415. package/dist/bundle/chunks/chunk-GD5SDRL7.js +5 -0
  416. package/dist/bundle/chunks/chunk-GEAGCSIY.js +31 -0
  417. package/dist/bundle/chunks/chunk-GI2KN5IL.js +22 -0
  418. package/dist/bundle/chunks/chunk-GOG2LNAH.js +9 -0
  419. package/dist/bundle/chunks/chunk-H2ENJVUI.js +10 -0
  420. package/dist/bundle/chunks/chunk-HDNR2KMO.js +13 -0
  421. package/dist/bundle/chunks/chunk-HJ37IXKX.js +12 -0
  422. package/dist/bundle/chunks/chunk-I36BZMR3.js +1 -0
  423. package/dist/bundle/chunks/chunk-I6YSZMB6.js +15 -0
  424. package/dist/bundle/chunks/chunk-IJXFPKNC.js +1 -0
  425. package/dist/bundle/chunks/chunk-IXD4Z54Z.js +8 -0
  426. package/dist/bundle/chunks/chunk-J44PYBAW.js +2 -0
  427. package/dist/bundle/chunks/chunk-JDREUEBG.js +9 -0
  428. package/dist/bundle/chunks/chunk-KA244HSE.js +5 -0
  429. package/dist/bundle/chunks/chunk-KKZJ6K7R.js +8 -0
  430. package/dist/bundle/chunks/chunk-KZ3P3SVS.js +22 -0
  431. package/dist/bundle/chunks/chunk-LIVSDOY2.js +1 -0
  432. package/dist/bundle/chunks/chunk-LX7SQKLW.js +15 -0
  433. package/dist/bundle/chunks/chunk-M5O5DYR7.js +1 -0
  434. package/dist/bundle/chunks/chunk-MML7K3J2.js +6 -0
  435. package/dist/bundle/chunks/chunk-N4GRDEVJ.js +5 -0
  436. package/dist/bundle/chunks/chunk-NPZMNEW5.js +6 -0
  437. package/dist/bundle/chunks/chunk-NUFRM6SI.js +0 -0
  438. package/dist/bundle/chunks/chunk-O7N2RCS7.js +1 -0
  439. package/dist/bundle/chunks/chunk-OSYLT4VG.js +4 -0
  440. package/dist/bundle/chunks/chunk-OXRHP7HO.js +3 -0
  441. package/dist/bundle/chunks/chunk-OZOS3R6K.js +99 -0
  442. package/dist/bundle/chunks/chunk-OZQ4AW5X.js +8 -0
  443. package/dist/bundle/chunks/chunk-PNGAWBIZ.js +10 -0
  444. package/dist/bundle/chunks/chunk-PPUKM2B7.js +13 -0
  445. package/dist/bundle/chunks/chunk-PTELGM2J.js +7 -0
  446. package/dist/bundle/chunks/chunk-Q3TLRYBC.js +72 -0
  447. package/dist/bundle/chunks/chunk-Q5AOYNOX.js +6 -0
  448. package/dist/bundle/chunks/chunk-QEKGAAIL.js +1 -0
  449. package/dist/bundle/chunks/chunk-QIL3FXIC.js +6 -0
  450. package/dist/bundle/chunks/chunk-QNZEO23C.js +8 -0
  451. package/dist/bundle/chunks/chunk-R4IVADTA.js +7 -0
  452. package/dist/bundle/chunks/chunk-RK57WTFF.js +12 -0
  453. package/dist/bundle/chunks/chunk-RU5M6ZRS.js +4 -0
  454. package/dist/bundle/chunks/chunk-SBVBPPEQ.js +5 -0
  455. package/dist/bundle/chunks/chunk-SP22LBKJ.js +20 -0
  456. package/dist/bundle/chunks/chunk-UKS3AEEA.js +32 -0
  457. package/dist/bundle/chunks/chunk-UYR5HJI6.js +7 -0
  458. package/dist/bundle/chunks/chunk-V6ANTLBA.js +15 -0
  459. package/dist/bundle/chunks/chunk-VLGZJRPG.js +16 -0
  460. package/dist/bundle/chunks/chunk-VZUQMDOT.js +2 -0
  461. package/dist/bundle/chunks/chunk-XDQU6V6S.js +19 -0
  462. package/dist/bundle/chunks/chunk-XRVUJRYI.js +35 -0
  463. package/dist/bundle/chunks/chunk-YNYSPYQ5.js +32 -0
  464. package/dist/bundle/chunks/clear-NLKZY76S.js +1 -0
  465. package/dist/bundle/chunks/column-S7P64XRJ.js +1 -0
  466. package/dist/bundle/chunks/comm-FPLN4BYY.js +1 -0
  467. package/dist/bundle/chunks/cp-W5HXJH5J.js +1 -0
  468. package/dist/bundle/chunks/curl-UFR6W4B6.js +25 -0
  469. package/dist/bundle/chunks/cut-VNFQFCA7.js +1 -0
  470. package/dist/bundle/chunks/date-EDSSFONA.js +1 -0
  471. package/dist/bundle/chunks/diff-RR5VJXIT.js +1 -0
  472. package/dist/bundle/chunks/dirname-V7Z24BGZ.js +1 -0
  473. package/dist/bundle/chunks/du-QKRPQIMY.js +1 -0
  474. package/dist/bundle/chunks/echo-TR3BM2AJ.js +1 -0
  475. package/dist/bundle/chunks/env-SVQBHVZF.js +1 -0
  476. package/dist/bundle/chunks/expand-ZVCJ72RF.js +1 -0
  477. package/dist/bundle/chunks/expansion-OBOJBZTH.js +1 -0
  478. package/dist/bundle/chunks/expr-QRA5KFYV.js +1 -0
  479. package/dist/bundle/chunks/file-TORG4IVZ.js +1 -0
  480. package/dist/bundle/chunks/find-NAGPRRQ7.js +1 -0
  481. package/dist/bundle/chunks/flag-coverage-FMTW4YWD.js +1 -0
  482. package/dist/bundle/chunks/fold-L4U6GS2N.js +1 -0
  483. package/dist/bundle/chunks/grep-D6AI423Z.js +1 -0
  484. package/dist/bundle/chunks/gzip-4EFUBHN7.js +1 -0
  485. package/dist/bundle/chunks/head-KBQT2JAC.js +1 -0
  486. package/dist/bundle/chunks/help-F3TJS3LS.js +1 -0
  487. package/dist/bundle/chunks/history-OKEAINJD.js +1 -0
  488. package/dist/bundle/chunks/hostname-AGIPNJOC.js +1 -0
  489. package/dist/bundle/chunks/html-to-markdown-P2LSCPVF.js +1 -0
  490. package/dist/bundle/chunks/join-FTSZAZYU.js +1 -0
  491. package/dist/bundle/chunks/jq-TNIKCGGT.js +1 -0
  492. package/dist/bundle/chunks/ln-BWYUCELO.js +1 -0
  493. package/dist/bundle/chunks/ls-6BM6G675.js +1 -0
  494. package/dist/bundle/chunks/md5sum-ALFVDB3W.js +1 -0
  495. package/dist/bundle/chunks/mkdir-I3BZBLTZ.js +1 -0
  496. package/dist/bundle/chunks/mv-76WRD5SE.js +1 -0
  497. package/dist/bundle/chunks/nl-77Q7V2GV.js +1 -0
  498. package/dist/bundle/chunks/od-AA6TIC6A.js +1 -0
  499. package/dist/bundle/chunks/paste-C6JKQOHO.js +1 -0
  500. package/dist/bundle/chunks/printf-WOYMDX2I.js +1 -0
  501. package/dist/bundle/chunks/pwd-BE3B3ZPG.js +1 -0
  502. package/dist/bundle/chunks/python3-QFUFNW7I.js +13 -0
  503. package/dist/bundle/chunks/readlink-QI6K7ZZX.js +1 -0
  504. package/dist/bundle/chunks/rev-2FZQEIQG.js +1 -0
  505. package/dist/bundle/chunks/rg-CNS6SD3V.js +1 -0
  506. package/dist/bundle/chunks/rm-JMWEKCU4.js +1 -0
  507. package/dist/bundle/chunks/rmdir-5HDB4IQ7.js +1 -0
  508. package/dist/bundle/chunks/sed-CSUGXVBJ.js +1 -0
  509. package/dist/bundle/chunks/seq-UP62NDEL.js +1 -0
  510. package/dist/bundle/chunks/sha1sum-XXYTWQIW.js +1 -0
  511. package/dist/bundle/chunks/sha256sum-GD6AFWG3.js +1 -0
  512. package/dist/bundle/chunks/sleep-225KIGXI.js +1 -0
  513. package/dist/bundle/chunks/sort-BIWEEIVX.js +1 -0
  514. package/dist/bundle/chunks/split-QUFGLTTX.js +1 -0
  515. package/dist/bundle/chunks/sqlite3-3ZFEGTQ7.js +1 -0
  516. package/dist/bundle/chunks/stat-DIMPSC6S.js +1 -0
  517. package/dist/bundle/chunks/strings-LECMRXOT.js +1 -0
  518. package/dist/bundle/chunks/tac-A6JKZKWL.js +1 -0
  519. package/dist/bundle/chunks/tail-YGDXZZGG.js +1 -0
  520. package/dist/bundle/chunks/tar-7KN7KZ6S.js +1 -0
  521. package/dist/bundle/chunks/tee-J4MBDQJZ.js +1 -0
  522. package/dist/bundle/chunks/time-CVS7ESWV.js +1 -0
  523. package/dist/bundle/chunks/timeout-UX2PSLYJ.js +1 -0
  524. package/dist/bundle/chunks/touch-ATQADRUQ.js +1 -0
  525. package/dist/bundle/chunks/tr-QVFN4YWH.js +1 -0
  526. package/dist/bundle/chunks/tree-IY7WNFVF.js +1 -0
  527. package/dist/bundle/chunks/true-AKKYE7WM.js +1 -0
  528. package/dist/bundle/chunks/unexpand-2WTX7UPB.js +1 -0
  529. package/dist/bundle/chunks/uniq-XS6VGRO2.js +1 -0
  530. package/dist/bundle/chunks/wc-22EISCPD.js +1 -0
  531. package/dist/bundle/chunks/which-IWHCX6SW.js +1 -0
  532. package/dist/bundle/chunks/whoami-HCON4D7C.js +1 -0
  533. package/dist/bundle/chunks/worker.js +2260 -0
  534. package/dist/bundle/chunks/xan-XDECJHII.js +1 -0
  535. package/dist/bundle/chunks/xan-view-IJ4EABH7.js +1 -0
  536. package/dist/bundle/chunks/xargs-5MMN7C6P.js +1 -0
  537. package/dist/bundle/chunks/yq-LQX5YIGM.js +1 -0
  538. package/dist/bundle/index.js +688 -0
  539. package/dist/commands/alias/alias.d.ts +6 -0
  540. package/dist/commands/awk/ast.d.ts +202 -0
  541. package/dist/commands/awk/awk2.d.ts +9 -0
  542. package/dist/commands/awk/builtins.d.ts +17 -0
  543. package/dist/commands/awk/interpreter/context.d.ts +73 -0
  544. package/dist/commands/awk/interpreter/expressions.d.ts +17 -0
  545. package/dist/commands/awk/interpreter/fields.d.ts +25 -0
  546. package/dist/commands/awk/interpreter/index.d.ts +8 -0
  547. package/dist/commands/awk/interpreter/interpreter.d.ts +52 -0
  548. package/dist/commands/awk/interpreter/statements.d.ts +11 -0
  549. package/dist/commands/awk/interpreter/type-coercion.d.ts +32 -0
  550. package/dist/commands/awk/interpreter/types.d.ts +13 -0
  551. package/dist/commands/awk/interpreter/variables.d.ts +35 -0
  552. package/dist/commands/awk/lexer.d.ts +100 -0
  553. package/dist/commands/awk/parser2-print.d.ts +35 -0
  554. package/dist/commands/awk/parser2.d.ts +81 -0
  555. package/dist/commands/base64/base64.d.ts +7 -0
  556. package/dist/commands/basename/basename.d.ts +4 -0
  557. package/dist/commands/bash/bash.d.ts +6 -0
  558. package/dist/commands/browser-excluded.d.ts +16 -0
  559. package/dist/commands/cat/cat.d.ts +4 -0
  560. package/dist/commands/chmod/chmod.d.ts +4 -0
  561. package/dist/commands/clear/clear.d.ts +4 -0
  562. package/dist/commands/column/column.d.ts +11 -0
  563. package/dist/commands/comm/comm.d.ts +12 -0
  564. package/dist/commands/cp/cp.d.ts +4 -0
  565. package/dist/commands/curl/curl.d.ts +8 -0
  566. package/dist/commands/curl/form.d.ts +21 -0
  567. package/dist/commands/curl/help.d.ts +9 -0
  568. package/dist/commands/curl/parse.d.ts +9 -0
  569. package/dist/commands/curl/response-formatting.d.ts +20 -0
  570. package/dist/commands/curl/types.d.ts +31 -0
  571. package/dist/commands/cut/cut.d.ts +4 -0
  572. package/dist/commands/date/date.d.ts +7 -0
  573. package/dist/commands/diff/diff.d.ts +7 -0
  574. package/dist/commands/dirname/dirname.d.ts +4 -0
  575. package/dist/commands/du/du.d.ts +4 -0
  576. package/dist/commands/echo/echo.d.ts +4 -0
  577. package/dist/commands/env/env.d.ts +6 -0
  578. package/dist/commands/expand/expand.d.ts +12 -0
  579. package/dist/commands/expand/unexpand.d.ts +12 -0
  580. package/dist/commands/expr/expr.d.ts +9 -0
  581. package/dist/commands/file/file.d.ts +9 -0
  582. package/dist/commands/find/find.d.ts +4 -0
  583. package/dist/commands/find/matcher.d.ts +69 -0
  584. package/dist/commands/find/parser.d.ts +2 -0
  585. package/dist/commands/find/types.d.ts +88 -0
  586. package/dist/commands/flag-coverage.d.ts +2 -0
  587. package/dist/commands/fold/fold.d.ts +12 -0
  588. package/dist/commands/fuzz-flags-types.d.ts +17 -0
  589. package/dist/commands/fuzz-flags.d.ts +8 -0
  590. package/dist/commands/grep/grep.d.ts +8 -0
  591. package/dist/commands/gzip/gzip.d.ts +13 -0
  592. package/dist/commands/head/head-tail-shared.d.ts +38 -0
  593. package/dist/commands/head/head.d.ts +4 -0
  594. package/dist/commands/help/help.d.ts +4 -0
  595. package/dist/commands/help.d.ts +16 -0
  596. package/dist/commands/history/history.d.ts +4 -0
  597. package/dist/commands/hostname/hostname.d.ts +11 -0
  598. package/dist/commands/html-to-markdown/html-to-markdown.d.ts +9 -0
  599. package/dist/commands/join/join.d.ts +12 -0
  600. package/dist/commands/jq/jq.d.ts +9 -0
  601. package/dist/commands/ln/ln.d.ts +4 -0
  602. package/dist/commands/ls/ls.d.ts +4 -0
  603. package/dist/commands/md5sum/checksum.d.ts +7 -0
  604. package/dist/commands/md5sum/md5sum.d.ts +4 -0
  605. package/dist/commands/md5sum/sha1sum.d.ts +4 -0
  606. package/dist/commands/md5sum/sha256sum.d.ts +4 -0
  607. package/dist/commands/mkdir/mkdir.d.ts +4 -0
  608. package/dist/commands/mv/mv.d.ts +4 -0
  609. package/dist/commands/nl/nl.d.ts +12 -0
  610. package/dist/commands/od/od.d.ts +12 -0
  611. package/dist/commands/paste/paste.d.ts +4 -0
  612. package/dist/commands/printf/escapes.d.ts +31 -0
  613. package/dist/commands/printf/printf.d.ts +4 -0
  614. package/dist/commands/printf/strftime.d.ts +9 -0
  615. package/dist/commands/pwd/pwd.d.ts +4 -0
  616. package/dist/commands/python3/fs-bridge-handler.d.ts +50 -0
  617. package/dist/commands/python3/protocol.d.ts +138 -0
  618. package/dist/commands/python3/python3.d.ts +11 -0
  619. package/dist/commands/python3/sync-fs-backend.d.ts +59 -0
  620. package/dist/commands/python3/worker.d.ts +22 -0
  621. package/dist/commands/query-engine/builtins/array-builtins.d.ts +20 -0
  622. package/dist/commands/query-engine/builtins/control-builtins.d.ts +18 -0
  623. package/dist/commands/query-engine/builtins/date-builtins.d.ts +15 -0
  624. package/dist/commands/query-engine/builtins/format-builtins.d.ts +11 -0
  625. package/dist/commands/query-engine/builtins/index-builtins.d.ts +16 -0
  626. package/dist/commands/query-engine/builtins/index.d.ts +17 -0
  627. package/dist/commands/query-engine/builtins/math-builtins.d.ts +15 -0
  628. package/dist/commands/query-engine/builtins/navigation-builtins.d.ts +18 -0
  629. package/dist/commands/query-engine/builtins/object-builtins.d.ts +15 -0
  630. package/dist/commands/query-engine/builtins/path-builtins.d.ts +20 -0
  631. package/dist/commands/query-engine/builtins/sql-builtins.d.ts +16 -0
  632. package/dist/commands/query-engine/builtins/string-builtins.d.ts +15 -0
  633. package/dist/commands/query-engine/builtins/type-builtins.d.ts +11 -0
  634. package/dist/commands/query-engine/evaluator.d.ts +37 -0
  635. package/dist/commands/query-engine/index.d.ts +8 -0
  636. package/dist/commands/query-engine/parser-types.d.ts +171 -0
  637. package/dist/commands/query-engine/parser.d.ts +9 -0
  638. package/dist/commands/query-engine/path-operations.d.ts +15 -0
  639. package/dist/commands/query-engine/safe-object.d.ts +59 -0
  640. package/dist/commands/query-engine/value-operations.d.ts +41 -0
  641. package/dist/commands/readlink/readlink.d.ts +4 -0
  642. package/dist/commands/registry.d.ts +45 -0
  643. package/dist/commands/rev/rev.d.ts +13 -0
  644. package/dist/commands/rg/file-types.d.ts +49 -0
  645. package/dist/commands/rg/gitignore.d.ts +98 -0
  646. package/dist/commands/rg/rg-options.d.ts +61 -0
  647. package/dist/commands/rg/rg-parser.d.ts +20 -0
  648. package/dist/commands/rg/rg-search.d.ts +15 -0
  649. package/dist/commands/rg/rg.d.ts +14 -0
  650. package/dist/commands/rm/rm.d.ts +4 -0
  651. package/dist/commands/rmdir/rmdir.d.ts +4 -0
  652. package/dist/commands/search-engine/index.d.ts +10 -0
  653. package/dist/commands/search-engine/matcher.d.ts +60 -0
  654. package/dist/commands/search-engine/regex.d.ts +33 -0
  655. package/dist/commands/sed/executor.d.ts +7 -0
  656. package/dist/commands/sed/lexer.d.ts +86 -0
  657. package/dist/commands/sed/parser.d.ts +18 -0
  658. package/dist/commands/sed/sed-regex.d.ts +23 -0
  659. package/dist/commands/sed/sed.d.ts +4 -0
  660. package/dist/commands/sed/types.d.ts +219 -0
  661. package/dist/commands/seq/seq.d.ts +16 -0
  662. package/dist/commands/sleep/sleep.d.ts +4 -0
  663. package/dist/commands/sort/comparator.d.ts +9 -0
  664. package/dist/commands/sort/parser.d.ts +11 -0
  665. package/dist/commands/sort/sort.d.ts +4 -0
  666. package/dist/commands/sort/types.d.ts +30 -0
  667. package/dist/commands/split/split.d.ts +12 -0
  668. package/dist/commands/sqlite3/formatters.d.ts +15 -0
  669. package/dist/commands/sqlite3/sqlite3.d.ts +16 -0
  670. package/dist/commands/sqlite3/worker.d.ts +44 -0
  671. package/dist/commands/stat/stat.d.ts +4 -0
  672. package/dist/commands/strings/strings.d.ts +12 -0
  673. package/dist/commands/tac/tac.d.ts +11 -0
  674. package/dist/commands/tail/tail.d.ts +4 -0
  675. package/dist/commands/tar/archive.d.ts +107 -0
  676. package/dist/commands/tar/tar-options.d.ts +36 -0
  677. package/dist/commands/tar/tar.d.ts +10 -0
  678. package/dist/commands/tee/tee.d.ts +4 -0
  679. package/dist/commands/time/time.d.ts +27 -0
  680. package/dist/commands/timeout/timeout.d.ts +4 -0
  681. package/dist/commands/touch/touch.d.ts +4 -0
  682. package/dist/commands/tr/tr.d.ts +4 -0
  683. package/dist/commands/tree/tree.d.ts +4 -0
  684. package/dist/commands/true/true.d.ts +6 -0
  685. package/dist/commands/uniq/uniq.d.ts +4 -0
  686. package/dist/commands/wc/wc.d.ts +4 -0
  687. package/dist/commands/which/which.d.ts +4 -0
  688. package/dist/commands/whoami/whoami.d.ts +11 -0
  689. package/dist/commands/xan/aggregation.d.ts +20 -0
  690. package/dist/commands/xan/column-selection.d.ts +19 -0
  691. package/dist/commands/xan/csv.d.ts +37 -0
  692. package/dist/commands/xan/moonblade-parser.d.ts +80 -0
  693. package/dist/commands/xan/moonblade-to-jq.d.ts +12 -0
  694. package/dist/commands/xan/moonblade-tokenizer.d.ts +25 -0
  695. package/dist/commands/xan/subcommands.d.ts +15 -0
  696. package/dist/commands/xan/xan-agg.d.ts +8 -0
  697. package/dist/commands/xan/xan-columns.d.ts +8 -0
  698. package/dist/commands/xan/xan-core.d.ts +10 -0
  699. package/dist/commands/xan/xan-data.d.ts +52 -0
  700. package/dist/commands/xan/xan-filter.d.ts +8 -0
  701. package/dist/commands/xan/xan-map.d.ts +11 -0
  702. package/dist/commands/xan/xan-reshape.d.ts +40 -0
  703. package/dist/commands/xan/xan-simple.d.ts +40 -0
  704. package/dist/commands/xan/xan-view.d.ts +12 -0
  705. package/dist/commands/xan/xan.d.ts +10 -0
  706. package/dist/commands/xargs/xargs.d.ts +4 -0
  707. package/dist/commands/yq/formats.d.ts +64 -0
  708. package/dist/commands/yq/yq.d.ts +13 -0
  709. package/dist/custom-commands.d.ts +61 -0
  710. package/dist/fs/encoding.d.ts +17 -0
  711. package/dist/fs/in-memory-fs/in-memory-fs.d.ts +63 -0
  712. package/dist/fs/in-memory-fs/index.d.ts +1 -0
  713. package/dist/fs/init.d.ts +12 -0
  714. package/dist/fs/interface.d.ts +219 -0
  715. package/dist/fs/mountable-fs/index.d.ts +1 -0
  716. package/dist/fs/mountable-fs/mountable-fs.d.ts +120 -0
  717. package/dist/fs/overlay-fs/index.d.ts +1 -0
  718. package/dist/fs/overlay-fs/overlay-fs.d.ts +126 -0
  719. package/dist/fs/read-write-fs/index.d.ts +1 -0
  720. package/dist/fs/read-write-fs/read-write-fs.d.ts +69 -0
  721. package/dist/index.d.ts +19 -0
  722. package/dist/interpreter/alias-expansion.d.ts +23 -0
  723. package/dist/interpreter/arithmetic.d.ts +24 -0
  724. package/dist/interpreter/assignment-expansion.d.ts +24 -0
  725. package/dist/interpreter/builtin-dispatch.d.ts +39 -0
  726. package/dist/interpreter/builtins/break.d.ts +6 -0
  727. package/dist/interpreter/builtins/cd.d.ts +6 -0
  728. package/dist/interpreter/builtins/compgen.d.ts +26 -0
  729. package/dist/interpreter/builtins/complete.d.ts +17 -0
  730. package/dist/interpreter/builtins/compopt.d.ts +28 -0
  731. package/dist/interpreter/builtins/continue.d.ts +6 -0
  732. package/dist/interpreter/builtins/declare-array-parsing.d.ts +14 -0
  733. package/dist/interpreter/builtins/declare-print.d.ts +39 -0
  734. package/dist/interpreter/builtins/declare.d.ts +35 -0
  735. package/dist/interpreter/builtins/dirs.d.ts +29 -0
  736. package/dist/interpreter/builtins/eval.d.ts +9 -0
  737. package/dist/interpreter/builtins/exit.d.ts +5 -0
  738. package/dist/interpreter/builtins/export.d.ts +14 -0
  739. package/dist/interpreter/builtins/getopts.d.ts +18 -0
  740. package/dist/interpreter/builtins/hash.d.ts +19 -0
  741. package/dist/interpreter/builtins/help.d.ts +12 -0
  742. package/dist/interpreter/builtins/index.d.ts +45 -0
  743. package/dist/interpreter/builtins/let.d.ts +18 -0
  744. package/dist/interpreter/builtins/local.d.ts +6 -0
  745. package/dist/interpreter/builtins/mapfile.d.ts +17 -0
  746. package/dist/interpreter/builtins/read.d.ts +6 -0
  747. package/dist/interpreter/builtins/return.d.ts +6 -0
  748. package/dist/interpreter/builtins/set.d.ts +9 -0
  749. package/dist/interpreter/builtins/shift.d.ts +15 -0
  750. package/dist/interpreter/builtins/shopt.d.ts +7 -0
  751. package/dist/interpreter/builtins/source.d.ts +6 -0
  752. package/dist/interpreter/builtins/unset.d.ts +16 -0
  753. package/dist/interpreter/builtins/variable-assignment.d.ts +66 -0
  754. package/dist/interpreter/command-resolution.d.ts +43 -0
  755. package/dist/interpreter/conditionals.d.ts +17 -0
  756. package/dist/interpreter/control-flow.d.ts +21 -0
  757. package/dist/interpreter/errors.d.ts +150 -0
  758. package/dist/interpreter/expansion/analysis.d.ts +37 -0
  759. package/dist/interpreter/expansion/arith-text-expansion.d.ts +20 -0
  760. package/dist/interpreter/expansion/array-pattern-ops.d.ts +21 -0
  761. package/dist/interpreter/expansion/array-prefix-suffix.d.ts +46 -0
  762. package/dist/interpreter/expansion/array-slice-transform.d.ts +36 -0
  763. package/dist/interpreter/expansion/array-word-expansion.d.ts +39 -0
  764. package/dist/interpreter/expansion/brace-range.d.ts +20 -0
  765. package/dist/interpreter/expansion/command-substitution.d.ts +23 -0
  766. package/dist/interpreter/expansion/glob-escape.d.ts +32 -0
  767. package/dist/interpreter/expansion/indirect-expansion.d.ts +42 -0
  768. package/dist/interpreter/expansion/parameter-ops.d.ts +113 -0
  769. package/dist/interpreter/expansion/pattern-expansion.d.ts +23 -0
  770. package/dist/interpreter/expansion/pattern-removal.d.ts +18 -0
  771. package/dist/interpreter/expansion/pattern.d.ts +23 -0
  772. package/dist/interpreter/expansion/positional-params.d.ts +59 -0
  773. package/dist/interpreter/expansion/prompt.d.ts +39 -0
  774. package/dist/interpreter/expansion/quoting.d.ts +13 -0
  775. package/dist/interpreter/expansion/tilde.d.ts +12 -0
  776. package/dist/interpreter/expansion/unquoted-expansion.d.ts +76 -0
  777. package/dist/interpreter/expansion/variable-attrs.d.ts +19 -0
  778. package/dist/interpreter/expansion/variable.d.ts +43 -0
  779. package/dist/interpreter/expansion/word-glob-expansion.d.ts +33 -0
  780. package/dist/interpreter/expansion/word-split.d.ts +29 -0
  781. package/dist/interpreter/expansion.d.ts +57 -0
  782. package/dist/interpreter/functions.d.ts +12 -0
  783. package/dist/interpreter/helpers/array.d.ts +43 -0
  784. package/dist/interpreter/helpers/condition.d.ts +18 -0
  785. package/dist/interpreter/helpers/errors.d.ts +8 -0
  786. package/dist/interpreter/helpers/file-tests.d.ts +33 -0
  787. package/dist/interpreter/helpers/ifs.d.ts +104 -0
  788. package/dist/interpreter/helpers/loop.d.ts +24 -0
  789. package/dist/interpreter/helpers/nameref.d.ts +65 -0
  790. package/dist/interpreter/helpers/numeric-compare.d.ts +13 -0
  791. package/dist/interpreter/helpers/quoting.d.ts +24 -0
  792. package/dist/interpreter/helpers/readonly.d.ts +45 -0
  793. package/dist/interpreter/helpers/regex.d.ts +8 -0
  794. package/dist/interpreter/helpers/result.d.ts +62 -0
  795. package/dist/interpreter/helpers/shell-constants.d.ts +25 -0
  796. package/dist/interpreter/helpers/shellopts.d.ts +28 -0
  797. package/dist/interpreter/helpers/statements.d.ts +20 -0
  798. package/dist/interpreter/helpers/string-compare.d.ts +24 -0
  799. package/dist/interpreter/helpers/string-tests.d.ts +13 -0
  800. package/dist/interpreter/helpers/tilde.d.ts +13 -0
  801. package/dist/interpreter/helpers/variable-tests.d.ts +9 -0
  802. package/dist/interpreter/helpers/word-matching.d.ts +26 -0
  803. package/dist/interpreter/helpers/word-parts.d.ts +29 -0
  804. package/dist/interpreter/helpers/xtrace.d.ts +18 -0
  805. package/dist/interpreter/index.d.ts +3 -0
  806. package/dist/interpreter/interpreter.d.ts +65 -0
  807. package/dist/interpreter/pipeline-execution.d.ts +16 -0
  808. package/dist/interpreter/redirections.d.ts +51 -0
  809. package/dist/interpreter/simple-command-assignments.d.ts +29 -0
  810. package/dist/interpreter/subshell-group.d.ts +32 -0
  811. package/dist/interpreter/type-command.d.ts +37 -0
  812. package/dist/interpreter/types.d.ts +317 -0
  813. package/dist/limits.d.ts +42 -0
  814. package/dist/network/allow-list/shared.d.ts +45 -0
  815. package/dist/network/allow-list.d.ts +51 -0
  816. package/dist/network/fetch.d.ts +25 -0
  817. package/dist/network/index.d.ts +7 -0
  818. package/dist/network/types.d.ts +96 -0
  819. package/dist/parser/arithmetic-parser.d.ts +23 -0
  820. package/dist/parser/arithmetic-primaries.d.ts +45 -0
  821. package/dist/parser/command-parser.d.ts +10 -0
  822. package/dist/parser/compound-parser.d.ts +28 -0
  823. package/dist/parser/conditional-parser.d.ts +8 -0
  824. package/dist/parser/expansion-parser.d.ts +16 -0
  825. package/dist/parser/lexer.d.ts +192 -0
  826. package/dist/parser/parser-substitution.d.ts +62 -0
  827. package/dist/parser/parser.d.ts +135 -0
  828. package/dist/parser/types.d.ts +25 -0
  829. package/dist/parser/word-parser.d.ts +33 -0
  830. package/dist/sandbox/Command.d.ts +28 -0
  831. package/dist/sandbox/Sandbox.d.ts +60 -0
  832. package/dist/sandbox/index.d.ts +2 -0
  833. package/dist/shell-metadata.d.ts +28 -0
  834. package/dist/test-utils.d.ts +15 -0
  835. package/dist/types.d.ts +148 -0
  836. package/dist/utils/args.d.ts +55 -0
  837. package/dist/utils/bytes.d.ts +39 -0
  838. package/dist/utils/constants.d.ts +15 -0
  839. package/dist/utils/file-reader.d.ts +67 -0
  840. package/dist/utils/glob.d.ts +25 -0
  841. package/package.json +115 -0
package/dist/AGENTS.md ADDED
@@ -0,0 +1,323 @@
1
+
2
+ # AGENTS.md - just-bash
3
+
4
+ Instructions for AI agents using just-bash in projects.
5
+
6
+ ## What is just-bash?
7
+
8
+ A sandboxed bash interpreter with an in-memory virtual filesystem. Use it when you need to:
9
+
10
+ - Execute shell commands without real filesystem access
11
+ - Run untrusted scripts safely
12
+ - Process text with standard Unix tools (grep, sed, awk, jq, etc.)
13
+
14
+ ## For AI Agents
15
+
16
+ If you're building an AI agent that needs a bash tool, use [`bash-tool`](https://github.com/vercel-labs/bash-tool) which is optimized for just-bash:
17
+
18
+ ```sh
19
+ npm install bash-tool
20
+ ```
21
+
22
+ ```typescript
23
+ import { createBashTool } from "bash-tool";
24
+ import { generateText } from "ai";
25
+
26
+ const bashTool = createBashTool({
27
+ files: { "/data/users.json": '[{"name": "Alice"}, {"name": "Bob"}]' },
28
+ });
29
+
30
+ const result = await generateText({
31
+ model: "anthropic/claude-sonnet-4",
32
+ tools: { bash: bashTool },
33
+ prompt: "Count the users in /data/users.json",
34
+ });
35
+ ```
36
+
37
+ See the [bash-tool documentation](https://github.com/vercel-labs/bash-tool) for more details.
38
+
39
+ ## Quick Reference
40
+
41
+ ```typescript
42
+ import { Bash } from "just-bash";
43
+
44
+ const bash = new Bash({
45
+ files: { "/data/input.txt": "content" }, // Initial files
46
+ cwd: "/data", // Working directory
47
+ });
48
+
49
+ const result = await bash.exec("cat input.txt | grep pattern");
50
+ // result.stdout - command output
51
+ // result.stderr - error output
52
+ // result.exitCode - 0 = success, non-zero = failure
53
+ ```
54
+
55
+ ## Key Behaviors
56
+
57
+ 1. **Isolation**: Each `exec()` call is isolated. Environment variables, functions, and cwd changes don't persist between calls. Only filesystem changes persist.
58
+
59
+ 2. **No real filesystem**: By default, commands only see the virtual filesystem. Use `OverlayFs` to read from a real directory (writes stay in memory).
60
+
61
+ 3. **No network by default**: `curl` doesn't exist unless you configure `network` options with URL allowlists.
62
+
63
+ 4. **No binaries/WASM**: Only built-in commands work. You cannot run node, python, or other binaries.
64
+
65
+ ## Available Commands
66
+
67
+ **Text processing**: `awk`, `cat`, `column`, `comm`, `cut`, `egrep`, `expand`, `fgrep`, `fold`, `grep`, `head`, `join`, `nl`, `paste`, `rev`, `rg`, `sed`, `sort`, `strings`, `tac`, `tail`, `tr`, `unexpand`, `uniq`, `wc`, `xargs`
68
+
69
+ **Data processing**: `jq` (JSON), `python3`/`python` (Python via Pyodide), `sqlite3` (SQLite), `xan` (CSV), `yq` (YAML/XML/TOML/CSV)
70
+
71
+ **File operations**: `basename`, `chmod`, `cp`, `dirname`, `du`, `file`, `find`, `ln`, `ls`, `mkdir`, `mv`, `od`, `pwd`, `readlink`, `rm`, `rmdir`, `split`, `stat`, `touch`, `tree`
72
+
73
+ **Utilities**: `alias`, `base64`, `bash`, `clear`, `curl`, `date`, `diff`, `echo`, `env`, `expr`, `false`, `gzip`, `gunzip`, `help`, `history`, `hostname`, `html-to-markdown`, `md5sum`, `printenv`, `printf`, `seq`, `sh`, `sha1sum`, `sha256sum`, `sleep`, `tar`, `tee`, `time`, `timeout`, `true`, `unalias`, `which`, `whoami`, `zcat`
74
+
75
+ All commands support `--help` for usage details.
76
+
77
+ ## Tools by File Format
78
+
79
+ ### JSON - `jq`
80
+
81
+ ```bash
82
+ # Extract field
83
+ jq '.name' data.json
84
+
85
+ # Filter array
86
+ jq '.users[] | select(.active == true)' data.json
87
+
88
+ # Transform structure
89
+ jq '[.items[] | {id, name}]' data.json
90
+
91
+ # From stdin
92
+ echo '{"x":1}' | jq '.x'
93
+ ```
94
+
95
+ ### YAML - `yq`
96
+
97
+ ```bash
98
+ # Extract value
99
+ yq '.config.database.host' config.yaml
100
+
101
+ # Output as JSON
102
+ yq -o json '.' config.yaml
103
+
104
+ # Filter with jq syntax
105
+ yq '.users[] | select(.role == "admin")' users.yaml
106
+
107
+ # Modify file in-place
108
+ yq -i '.version = "2.0"' config.yaml
109
+ ```
110
+
111
+ ### TOML - `yq`
112
+
113
+ ```bash
114
+ # Read TOML (auto-detected from .toml extension)
115
+ yq '.package.name' Cargo.toml
116
+ yq '.tool.poetry.version' pyproject.toml
117
+
118
+ # Convert TOML to JSON
119
+ yq -o json '.' config.toml
120
+
121
+ # Convert YAML to TOML
122
+ yq -o toml '.' config.yaml
123
+ ```
124
+
125
+ ### CSV/TSV - `yq -p csv`
126
+
127
+ ```bash
128
+ # Read CSV (auto-detects from .csv/.tsv extension)
129
+ yq '.[0].name' data.csv
130
+ yq '.[0].name' data.tsv
131
+
132
+ # Filter rows
133
+ yq '[.[] | select(.status == "active")]' data.csv
134
+
135
+ # Convert CSV to JSON
136
+ yq -o json '.' data.csv
137
+ ```
138
+
139
+ ### Front-matter - `yq --front-matter`
140
+
141
+ ```bash
142
+ # Extract YAML front-matter from markdown
143
+ yq --front-matter '.title' post.md
144
+ yq -f '.tags[]' blog-post.md
145
+
146
+ # Works with TOML front-matter (+++) too
147
+ yq -f '.date' hugo-post.md
148
+ ```
149
+
150
+ ### XML - `yq -p xml`
151
+
152
+ ```bash
153
+ # Extract element
154
+ yq '.root.users.user[0].name' data.xml
155
+
156
+ # Access attributes (use +@ prefix)
157
+ yq '.root.item["+@id"]' data.xml
158
+
159
+ # Convert XML to JSON
160
+ yq -p xml -o json '.' data.xml
161
+ ```
162
+
163
+ ### INI - `yq -p ini`
164
+
165
+ ```bash
166
+ # Read INI section value
167
+ yq '.database.host' config.ini
168
+
169
+ # Convert INI to JSON
170
+ yq -p ini -o json '.' config.ini
171
+ ```
172
+
173
+ ### HTML - `html-to-markdown`
174
+
175
+ ```bash
176
+ # Convert HTML to markdown
177
+ html-to-markdown page.html
178
+
179
+ # From stdin
180
+ echo '<h1>Title</h1><p>Text</p>' | html-to-markdown
181
+ ```
182
+
183
+ ### Format Conversion with yq
184
+
185
+ ```bash
186
+ # JSON to YAML
187
+ yq -p json '.' data.json
188
+
189
+ # YAML to JSON
190
+ yq -o json '.' data.yaml
191
+
192
+ # YAML to TOML
193
+ yq -o toml '.' config.yaml
194
+
195
+ # TOML to JSON
196
+ yq -o json '.' Cargo.toml
197
+
198
+ # CSV to JSON
199
+ yq -p csv -o json '.' data.csv
200
+
201
+ # XML to YAML
202
+ yq -p xml '.' data.xml
203
+ ```
204
+
205
+ ## Common Patterns
206
+
207
+ ### Process JSON with jq
208
+
209
+ ```bash
210
+ cat data.json | jq '.items[] | select(.active) | .name'
211
+ ```
212
+
213
+ ### Find and process files
214
+
215
+ ```bash
216
+ find . -name "*.ts" -type f | xargs grep -l "TODO"
217
+ ```
218
+
219
+ ### Text transformation pipeline
220
+
221
+ ```bash
222
+ cat input.txt | grep -v "^#" | sort | uniq -c | sort -rn | head -10
223
+ ```
224
+
225
+ ### AWK for columnar data
226
+
227
+ ```bash
228
+ cat data.csv | awk -F',' '{sum += $3} END {print sum}'
229
+ ```
230
+
231
+ ## Limitations
232
+
233
+ - **32-bit integers only**: Arithmetic operations use 32-bit signed integers
234
+ - **No job control**: No `&`, `bg`, `fg`, or process suspension
235
+ - **No external binaries**: Only built-in commands are available
236
+ - **Execution limits**: Loops, recursion, command counts, and output sizes have configurable limits to prevent runaway execution (exit code 126 when exceeded)
237
+
238
+ ## Error Handling
239
+
240
+ Always check `exitCode`:
241
+
242
+ ```typescript
243
+ import { Bash } from "just-bash";
244
+
245
+ const bash = new Bash({ files: { "/file.txt": "some content" } });
246
+ const result = await bash.exec("grep pattern file.txt");
247
+ if (result.exitCode !== 0) {
248
+ // Command failed - check result.stderr for details
249
+ }
250
+ ```
251
+
252
+ Common exit codes:
253
+
254
+ - `0` - Success
255
+ - `1` - General error or no matches (grep)
256
+ - `2` - Misuse of command (invalid options)
257
+ - `126` - Execution limit exceeded (loops, output size, string length)
258
+ - `127` - Command not found
259
+
260
+ ## Debugging Tips
261
+
262
+ 1. **Check stderr**: Error messages go to `result.stderr`
263
+ 2. **Use --help**: All commands support `--help` for usage
264
+ 3. **Test incrementally**: Build pipelines step by step
265
+ 4. **Quote variables**: Use `"$var"` to handle spaces in values
266
+
267
+ ## Security Model
268
+
269
+ - Virtual filesystem is isolated from the real system
270
+ - Network access requires explicit URL allowlists
271
+ - Execution limits prevent infinite loops and resource exhaustion
272
+ - No shell injection possible (commands are parsed, not eval'd)
273
+
274
+ ### Execution Limits
275
+
276
+ All limits are configurable via `executionLimits` in `BashOptions`:
277
+
278
+ ```typescript
279
+ const bash = new Bash({
280
+ executionLimits: {
281
+ maxCommandCount: 10000, // Max commands per exec()
282
+ maxLoopIterations: 10000, // Max bash loop iterations
283
+ maxCallDepth: 100, // Max function recursion depth
284
+ maxStringLength: 10485760, // Max string size (10MB)
285
+ maxArrayElements: 100000, // Max array elements
286
+ maxGlobOperations: 100000, // Max glob filesystem operations
287
+ maxAwkIterations: 10000, // Max AWK loop iterations
288
+ maxSedIterations: 10000, // Max sed branch loop iterations
289
+ maxJqIterations: 10000, // Max jq loop iterations
290
+ maxSubstitutionDepth: 50, // Max $() nesting depth
291
+ maxHeredocSize: 10485760, // Max heredoc size (10MB)
292
+ },
293
+ });
294
+ ```
295
+
296
+ **Output size limits**: AWK, sed, jq, and printf enforce `maxStringLength` on their output buffers. Commands that exceed the limit exit with code 126.
297
+
298
+ **File read size limits**: `OverlayFs` and `ReadWriteFs` default to a 10MB max file read size. Override with `maxFileReadSize` in filesystem options (set to `0` to disable).
299
+
300
+ **Network response size**: `maxResponseSize` in `NetworkConfig` caps HTTP response bodies (default: 10MB).
301
+
302
+ ## Discovering Types
303
+
304
+ TypeScript types are available in the `.d.ts` files. Use JSDoc-style exploration to understand the API:
305
+
306
+ ```bash
307
+ # Find all type definition files
308
+ find node_modules/just-bash/dist -name "*.d.ts" | head -20
309
+
310
+ # View main exports and their types
311
+ cat node_modules/just-bash/dist/index.d.ts
312
+
313
+ # View Bash class options
314
+ grep -A 30 "interface BashOptions" node_modules/just-bash/dist/Bash.d.ts
315
+
316
+ # Search for specific types
317
+ grep -r "interface.*Options" node_modules/just-bash/dist/*.d.ts
318
+ ```
319
+
320
+ Key types to explore:
321
+ - `BashOptions` - Constructor options for `new Bash()`
322
+ - `ExecResult` - Return type of `bash.exec()`
323
+ - `InitialFiles` - File specification format
package/dist/Bash.d.ts ADDED
@@ -0,0 +1,179 @@
1
+ /**
2
+ * Bash - Bash Shell Environment
3
+ *
4
+ * A complete bash-like shell environment using a proper AST-based architecture:
5
+ * Input → Parser → AST → Interpreter → Output
6
+ *
7
+ * This class provides the shell environment (filesystem, commands, variables)
8
+ * and delegates execution to the Interpreter.
9
+ */
10
+ import { type CommandName } from "./commands/registry.js";
11
+ import { type CustomCommand } from "./custom-commands.js";
12
+ import type { IFileSystem, InitialFiles } from "./fs/interface.js";
13
+ import { type ExecutionLimits } from "./limits.js";
14
+ import { type NetworkConfig } from "./network/index.js";
15
+ import type { DefenseInDepthConfig } from "./security/types.js";
16
+ import type { BashExecResult, Command, FeatureCoverageWriter, TraceCallback } from "./types.js";
17
+ export type { ExecutionLimits } from "./limits.js";
18
+ /**
19
+ * Logger interface for Bash execution logging.
20
+ * Implement this interface to receive execution logs.
21
+ */
22
+ export interface BashLogger {
23
+ /** Log informational messages (exec commands, stderr, exit codes) */
24
+ info(message: string, data?: Record<string, unknown>): void;
25
+ /** Log debug messages (stdout output) */
26
+ debug(message: string, data?: Record<string, unknown>): void;
27
+ }
28
+ export interface BashOptions {
29
+ files?: InitialFiles;
30
+ env?: Record<string, string>;
31
+ cwd?: string;
32
+ fs?: IFileSystem;
33
+ /**
34
+ * Execution limits to prevent runaway compute.
35
+ * See ExecutionLimits interface for available options.
36
+ */
37
+ executionLimits?: ExecutionLimits;
38
+ /**
39
+ * @deprecated Use executionLimits.maxCallDepth instead
40
+ */
41
+ maxCallDepth?: number;
42
+ /**
43
+ * @deprecated Use executionLimits.maxCommandCount instead
44
+ */
45
+ maxCommandCount?: number;
46
+ /**
47
+ * @deprecated Use executionLimits.maxLoopIterations instead
48
+ */
49
+ maxLoopIterations?: number;
50
+ /**
51
+ * Network configuration for commands like curl.
52
+ * Network access is disabled by default - you must explicitly configure allowed URLs.
53
+ */
54
+ network?: NetworkConfig;
55
+ /**
56
+ * Enable python3/python commands.
57
+ * Python is disabled by default as it introduces additional security surface
58
+ * (arbitrary code execution via pyodide).
59
+ */
60
+ python?: boolean;
61
+ /**
62
+ * Optional list of command names to register.
63
+ * If not provided, all built-in commands are available.
64
+ * Use this to restrict which commands can be executed.
65
+ */
66
+ commands?: CommandName[];
67
+ /**
68
+ * Optional sleep function for the sleep command.
69
+ * If provided, used instead of real setTimeout.
70
+ * Useful for testing with mock clocks.
71
+ */
72
+ sleep?: (ms: number) => Promise<void>;
73
+ /**
74
+ * Custom commands to register alongside built-in commands.
75
+ * These take precedence over built-ins with the same name.
76
+ *
77
+ * @example
78
+ * ```ts
79
+ * import { defineCommand } from "just-bash";
80
+ *
81
+ * const hello = defineCommand("hello", async (args) => ({
82
+ * stdout: `Hello, ${args[0] || "world"}!\n`,
83
+ * stderr: "",
84
+ * exitCode: 0,
85
+ * }));
86
+ *
87
+ * const bash = new Bash({ customCommands: [hello] });
88
+ * ```
89
+ */
90
+ customCommands?: CustomCommand[];
91
+ /**
92
+ * Optional logger for execution tracing.
93
+ * When provided, logs exec commands (info), stdout (debug), stderr (info), and exit codes (info).
94
+ * Disabled by default.
95
+ */
96
+ logger?: BashLogger;
97
+ /**
98
+ * Optional trace callback for performance profiling.
99
+ * When provided, commands emit timing events for analysis.
100
+ * Useful for identifying performance bottlenecks.
101
+ */
102
+ trace?: TraceCallback;
103
+ /**
104
+ * Defense-in-depth configuration.
105
+ *
106
+ * When enabled, monkey-patches dangerous JavaScript globals (Function, eval,
107
+ * setTimeout, process, etc.) during script execution to block potential
108
+ * escape vectors.
109
+ *
110
+ * IMPORTANT: This is a SECONDARY defense layer. It should never be relied
111
+ * upon as the primary security mechanism. The primary security comes from
112
+ * proper sandboxing, input validation, and architectural constraints.
113
+ *
114
+ * @example
115
+ * ```ts
116
+ * // Simple enable
117
+ * const bash = new Bash({ defenseInDepth: true });
118
+ *
119
+ * // With custom configuration
120
+ * const bash = new Bash({
121
+ * defenseInDepth: {
122
+ * enabled: true,
123
+ * auditMode: false, // Set to true to log but not block
124
+ * onViolation: (v) => console.warn('Violation:', v),
125
+ * },
126
+ * });
127
+ * ```
128
+ */
129
+ defenseInDepth?: DefenseInDepthConfig | boolean;
130
+ /**
131
+ * Feature coverage writer for fuzzing instrumentation.
132
+ * When provided, interpreter emits coverage hits for analysis.
133
+ */
134
+ coverage?: FeatureCoverageWriter;
135
+ }
136
+ export interface ExecOptions {
137
+ /**
138
+ * Environment variables to set for this execution only.
139
+ * These are merged with the current environment and restored after execution.
140
+ */
141
+ env?: Record<string, string>;
142
+ /**
143
+ * Working directory for this execution only.
144
+ * Restored to original after execution.
145
+ */
146
+ cwd?: string;
147
+ /**
148
+ * If true, skip normalizing the script (trimming leading whitespace from lines).
149
+ * Useful when running scripts where leading whitespace is significant (e.g., here-docs).
150
+ * Default: false
151
+ */
152
+ rawScript?: boolean;
153
+ /**
154
+ * Standard input to pass to the script.
155
+ * This will be available to commands via stdin (e.g., for `bash -c 'cat'`).
156
+ */
157
+ stdin?: Uint8Array;
158
+ }
159
+ export declare class Bash {
160
+ readonly fs: IFileSystem;
161
+ private commands;
162
+ private useDefaultLayout;
163
+ private limits;
164
+ private secureFetch?;
165
+ private sleepFn?;
166
+ private traceFn?;
167
+ private logger?;
168
+ private defenseInDepthConfig?;
169
+ private coverageWriter?;
170
+ private state;
171
+ constructor(options?: BashOptions);
172
+ registerCommand(command: Command): void;
173
+ private logResult;
174
+ exec(commandLine: string, options?: ExecOptions): Promise<BashExecResult>;
175
+ readFile(path: string): Promise<string>;
176
+ writeFile(path: string, content: string): Promise<void>;
177
+ getCwd(): string;
178
+ getEnv(): Record<string, string>;
179
+ }