just-bash-nx 2.14.4

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 (894) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/LICENSE +201 -0
  3. package/README.md +573 -0
  4. package/dist/AGENTS.md +325 -0
  5. package/dist/Bash.d.ts +229 -0
  6. package/dist/ast/types.d.ts +609 -0
  7. package/dist/banned-patterns-test.d.ts +1 -0
  8. package/dist/bin/chunks/alias-3GODYSFD.js +2 -0
  9. package/dist/bin/chunks/awk2-RSUCURL4.js +2 -0
  10. package/dist/bin/chunks/base64-43M2R3GA.js +2 -0
  11. package/dist/bin/chunks/basename-KBUKWB2E.js +2 -0
  12. package/dist/bin/chunks/bash-6ZHZ6BX7.js +2 -0
  13. package/dist/bin/chunks/cat-XZIJZXKP.js +2 -0
  14. package/dist/bin/chunks/chmod-N5CQATDW.js +2 -0
  15. package/dist/bin/chunks/chunk-22NDZXS5.js +33 -0
  16. package/dist/bin/chunks/chunk-26NO42TF.js +14 -0
  17. package/dist/bin/chunks/chunk-2W2SCVT6.js +140 -0
  18. package/dist/bin/chunks/chunk-3MBAUIBB.js +7 -0
  19. package/dist/bin/chunks/chunk-3Y32LPNT.js +2 -0
  20. package/dist/bin/chunks/chunk-4CFAYBLV.js +21 -0
  21. package/dist/bin/chunks/chunk-4OALHZXB.js +2 -0
  22. package/dist/bin/chunks/chunk-4PRVMER6.js +2 -0
  23. package/dist/bin/chunks/chunk-4VDEBYW7.js +2 -0
  24. package/dist/bin/chunks/chunk-54G6AE72.js +32 -0
  25. package/dist/bin/chunks/chunk-5G2VOPPJ.js +7 -0
  26. package/dist/bin/chunks/chunk-5WFYIUU2.js +3 -0
  27. package/dist/bin/chunks/chunk-6KZRLMG3.js +8 -0
  28. package/dist/bin/chunks/chunk-7ADG3DNO.js +8 -0
  29. package/dist/bin/chunks/chunk-7BORMNPQ.js +2 -0
  30. package/dist/bin/chunks/chunk-7G3MC56B.js +7 -0
  31. package/dist/bin/chunks/chunk-AAW7UMPO.js +9 -0
  32. package/dist/bin/chunks/chunk-AXWFPG37.js +10 -0
  33. package/dist/bin/chunks/chunk-AZ3RUDR2.js +9 -0
  34. package/dist/bin/chunks/chunk-BGGF3ELU.js +5 -0
  35. package/dist/bin/chunks/chunk-BYDV4VEF.js +3 -0
  36. package/dist/bin/chunks/chunk-CGE2EHYP.js +5 -0
  37. package/dist/bin/chunks/chunk-CM4532DS.js +36 -0
  38. package/dist/bin/chunks/chunk-CQG2HEAL.js +5 -0
  39. package/dist/bin/chunks/chunk-D5WP4CKS.js +3 -0
  40. package/dist/bin/chunks/chunk-DOXYBGNA.js +12 -0
  41. package/dist/bin/chunks/chunk-E5BDLLK6.js +15 -0
  42. package/dist/bin/chunks/chunk-EJQKHROT.js +14 -0
  43. package/dist/bin/chunks/chunk-EONWONZV.js +2 -0
  44. package/dist/bin/chunks/chunk-EPPBDXOG.js +8 -0
  45. package/dist/bin/chunks/chunk-EUXCM6C4.js +12 -0
  46. package/dist/bin/chunks/chunk-EWDHVLQL.js +21 -0
  47. package/dist/bin/chunks/chunk-F3LGZXLQ.js +9 -0
  48. package/dist/bin/chunks/chunk-FA2CHD73.js +16 -0
  49. package/dist/bin/chunks/chunk-FIHFXGT6.js +287 -0
  50. package/dist/bin/chunks/chunk-FLPVVSN5.js +5 -0
  51. package/dist/bin/chunks/chunk-FSZWFMB4.js +16 -0
  52. package/dist/bin/chunks/chunk-GO6FXSC4.js +6 -0
  53. package/dist/bin/chunks/chunk-GOJZHH3L.js +6 -0
  54. package/dist/bin/chunks/chunk-GTNBSMZR.js +23 -0
  55. package/dist/bin/chunks/chunk-IDGH4PGU.js +3 -0
  56. package/dist/bin/chunks/chunk-IO2FYBEM.js +6 -0
  57. package/dist/bin/chunks/chunk-ITA43A73.js +7 -0
  58. package/dist/bin/chunks/chunk-JBABAK44.js +4 -0
  59. package/dist/bin/chunks/chunk-JDNI5HBX.js +33 -0
  60. package/dist/bin/chunks/chunk-JLX6YWGA.js +3 -0
  61. package/dist/bin/chunks/chunk-JQBC3FXE.js +8 -0
  62. package/dist/bin/chunks/chunk-JTF74J6E.js +2 -0
  63. package/dist/bin/chunks/chunk-KCMUAACL.js +19 -0
  64. package/dist/bin/chunks/chunk-KGOUQS5A.js +2 -0
  65. package/dist/bin/chunks/chunk-L6XUBS6H.js +84 -0
  66. package/dist/bin/chunks/chunk-LCDPWJBA.js +15 -0
  67. package/dist/bin/chunks/chunk-LGJM5YFT.js +17 -0
  68. package/dist/bin/chunks/chunk-LIYVQA3X.js +2 -0
  69. package/dist/bin/chunks/chunk-LJKIWB5F.js +4 -0
  70. package/dist/bin/chunks/chunk-LMK6G2HH.js +8 -0
  71. package/dist/bin/chunks/chunk-LOJMXC4F.js +5 -0
  72. package/dist/bin/chunks/chunk-MAVV76T4.js +2 -0
  73. package/dist/bin/chunks/chunk-MO4RPBN2.js +2 -0
  74. package/dist/bin/chunks/chunk-MRP4ZCD7.js +6 -0
  75. package/dist/bin/chunks/chunk-N43DJTSI.js +2 -0
  76. package/dist/bin/chunks/chunk-NAX7MTAR.js +21 -0
  77. package/dist/bin/chunks/chunk-NSUMEERA.js +12 -0
  78. package/dist/bin/chunks/chunk-NTW6IA45.js +2 -0
  79. package/dist/bin/chunks/chunk-OBH7XN5N.js +1 -0
  80. package/dist/bin/chunks/chunk-OBI37ZY4.js +9 -0
  81. package/dist/bin/chunks/chunk-OOJCYVYF.js +2 -0
  82. package/dist/bin/chunks/chunk-ORUYSLP4.js +16 -0
  83. package/dist/bin/chunks/chunk-OXHVTSNH.js +74 -0
  84. package/dist/bin/chunks/chunk-PNI5NMXP.js +100 -0
  85. package/dist/bin/chunks/chunk-PPBQJBC2.js +5 -0
  86. package/dist/bin/chunks/chunk-PQNTKMH3.js +6 -0
  87. package/dist/bin/chunks/chunk-PS4LOXE5.js +8 -0
  88. package/dist/bin/chunks/chunk-PXVBSPBE.js +2 -0
  89. package/dist/bin/chunks/chunk-RA3TG4UK.js +9 -0
  90. package/dist/bin/chunks/chunk-RBQGQWGV.js +10 -0
  91. package/dist/bin/chunks/chunk-RJSAGJQJ.js +11 -0
  92. package/dist/bin/chunks/chunk-RLNOQILG.js +2 -0
  93. package/dist/bin/chunks/chunk-ROJPSS6N.js +3 -0
  94. package/dist/bin/chunks/chunk-RT7TRQVZ.js +3 -0
  95. package/dist/bin/chunks/chunk-S3QAKT3R.js +11 -0
  96. package/dist/bin/chunks/chunk-S7OHMN3F.js +6 -0
  97. package/dist/bin/chunks/chunk-SGA7Y45Z.js +17 -0
  98. package/dist/bin/chunks/chunk-SXRVLCZ4.js +2 -0
  99. package/dist/bin/chunks/chunk-TEFXEYX3.js +3 -0
  100. package/dist/bin/chunks/chunk-THALLNXT.js +7 -0
  101. package/dist/bin/chunks/chunk-TTNNO45C.js +17 -0
  102. package/dist/bin/chunks/chunk-UFJFAFSS.js +28 -0
  103. package/dist/bin/chunks/chunk-V7ZOPVQS.js +2 -0
  104. package/dist/bin/chunks/chunk-VNER2XXL.js +7 -0
  105. package/dist/bin/chunks/chunk-WLBA7L7U.js +23 -0
  106. package/dist/bin/chunks/chunk-WWZVR5NN.js +6 -0
  107. package/dist/bin/chunks/chunk-WXMBDX4P.js +14 -0
  108. package/dist/bin/chunks/chunk-XXCTETRW.js +11 -0
  109. package/dist/bin/chunks/chunk-XY5HGZW5.js +8 -0
  110. package/dist/bin/chunks/chunk-YEKSVVRC.js +11 -0
  111. package/dist/bin/chunks/chunk-YLE2OYY6.js +2 -0
  112. package/dist/bin/chunks/chunk-YMMJLYIX.js +2 -0
  113. package/dist/bin/chunks/chunk-YTIURC67.js +2 -0
  114. package/dist/bin/chunks/chunk-YU6OGPZR.js +5 -0
  115. package/dist/bin/chunks/chunk-YWZOGBFE.js +9 -0
  116. package/dist/bin/chunks/chunk-ZA4HUKJ3.js +13 -0
  117. package/dist/bin/chunks/chunk-ZKC5HQYO.js +14 -0
  118. package/dist/bin/chunks/chunk-ZSVBYEY4.js +6 -0
  119. package/dist/bin/chunks/chunk-ZUDPEMHG.js +63 -0
  120. package/dist/bin/chunks/clear-KRGKPFOI.js +2 -0
  121. package/dist/bin/chunks/column-XGV32UPN.js +2 -0
  122. package/dist/bin/chunks/comm-R3F3Z5DX.js +2 -0
  123. package/dist/bin/chunks/cp-XH2ZB7WT.js +2 -0
  124. package/dist/bin/chunks/curl-2DCNBIKJ.js +26 -0
  125. package/dist/bin/chunks/cut-5EY2XPXX.js +2 -0
  126. package/dist/bin/chunks/date-WUPBL2TL.js +2 -0
  127. package/dist/bin/chunks/diff-5NUI5BHG.js +2 -0
  128. package/dist/bin/chunks/dirname-5FAOMLBL.js +2 -0
  129. package/dist/bin/chunks/du-LDAPXSGF.js +2 -0
  130. package/dist/bin/chunks/echo-2MUAOGUE.js +2 -0
  131. package/dist/bin/chunks/env-NTPN5QYM.js +2 -0
  132. package/dist/bin/chunks/expand-26XPP5KB.js +2 -0
  133. package/dist/bin/chunks/expansion-QUT3FT7V.js +2 -0
  134. package/dist/bin/chunks/expr-G4EF4POQ.js +2 -0
  135. package/dist/bin/chunks/file-MMSHRWCJ.js +2 -0
  136. package/dist/bin/chunks/find-7CVMEZBO.js +2 -0
  137. package/dist/bin/chunks/flag-coverage-UJISFT4M.js +2 -0
  138. package/dist/bin/chunks/fold-XSVNTAWH.js +2 -0
  139. package/dist/bin/chunks/grep-7BJ7HFBM.js +2 -0
  140. package/dist/bin/chunks/gzip-LHOO65AN.js +2 -0
  141. package/dist/bin/chunks/head-YMNRW3F3.js +2 -0
  142. package/dist/bin/chunks/help-DVG4AAGE.js +2 -0
  143. package/dist/bin/chunks/history-UUKG55YW.js +2 -0
  144. package/dist/bin/chunks/hostname-WY6RKE32.js +2 -0
  145. package/dist/bin/chunks/html-to-markdown-V6PK6S5U.js +2 -0
  146. package/dist/bin/chunks/join-Y4Q5WVVE.js +2 -0
  147. package/dist/bin/chunks/jq-4JWOFG7X.js +2 -0
  148. package/dist/bin/chunks/js-exec-RWEELTC2.js +97 -0
  149. package/dist/bin/chunks/js-exec-worker.js +4380 -0
  150. package/dist/bin/chunks/ln-EGC4HRXZ.js +2 -0
  151. package/dist/bin/chunks/ls-WONXDVOX.js +2 -0
  152. package/dist/bin/chunks/md5sum-NCLXV2S3.js +2 -0
  153. package/dist/bin/chunks/mkdir-Z47OISSR.js +2 -0
  154. package/dist/bin/chunks/mv-OY7X62QC.js +2 -0
  155. package/dist/bin/chunks/nl-XH3L75DR.js +2 -0
  156. package/dist/bin/chunks/od-52FBC34W.js +2 -0
  157. package/dist/bin/chunks/paste-3UVLMQ2K.js +2 -0
  158. package/dist/bin/chunks/printf-NA7DYZBO.js +2 -0
  159. package/dist/bin/chunks/pwd-6VBAPL3Y.js +2 -0
  160. package/dist/bin/chunks/python3-JUJKPBFB.js +12 -0
  161. package/dist/bin/chunks/readlink-BD5VFOC5.js +2 -0
  162. package/dist/bin/chunks/rev-UHEPS2UL.js +2 -0
  163. package/dist/bin/chunks/rg-DK6FRF6Q.js +2 -0
  164. package/dist/bin/chunks/rm-L3NZOLLG.js +2 -0
  165. package/dist/bin/chunks/rmdir-5KLM4EA6.js +2 -0
  166. package/dist/bin/chunks/sed-WWXBUNG3.js +2 -0
  167. package/dist/bin/chunks/seq-V7KBLSQ7.js +2 -0
  168. package/dist/bin/chunks/sha1sum-BHNJ5ALF.js +2 -0
  169. package/dist/bin/chunks/sha256sum-HJJ3NJ5L.js +2 -0
  170. package/dist/bin/chunks/sleep-ND6FZRZ4.js +2 -0
  171. package/dist/bin/chunks/sort-7GENYU2I.js +2 -0
  172. package/dist/bin/chunks/split-YWV64TJH.js +2 -0
  173. package/dist/bin/chunks/sqlite3-CVNFMP3Z.js +2 -0
  174. package/dist/bin/chunks/stat-XS2LXYS2.js +2 -0
  175. package/dist/bin/chunks/strings-XXKZCWY5.js +2 -0
  176. package/dist/bin/chunks/tac-T42SKDDI.js +2 -0
  177. package/dist/bin/chunks/tail-V537TDFR.js +2 -0
  178. package/dist/bin/chunks/tar-GTGFEWDS.js +2 -0
  179. package/dist/bin/chunks/tee-HK2SYCAR.js +2 -0
  180. package/dist/bin/chunks/time-5R4QWCYF.js +2 -0
  181. package/dist/bin/chunks/timeout-Z24MNWOP.js +2 -0
  182. package/dist/bin/chunks/touch-DWKSZGOQ.js +2 -0
  183. package/dist/bin/chunks/tr-4FPGAEVB.js +2 -0
  184. package/dist/bin/chunks/tree-HEKABARE.js +2 -0
  185. package/dist/bin/chunks/true-DP5UZP52.js +2 -0
  186. package/dist/bin/chunks/unexpand-OYZ7KOYR.js +2 -0
  187. package/dist/bin/chunks/uniq-TMSAIZM3.js +2 -0
  188. package/dist/bin/chunks/wc-ZIV3TFVG.js +2 -0
  189. package/dist/bin/chunks/which-5PO4LAOG.js +2 -0
  190. package/dist/bin/chunks/whoami-E7PN2UWC.js +2 -0
  191. package/dist/bin/chunks/worker.js +3136 -0
  192. package/dist/bin/chunks/xan-FKXPSPE5.js +2 -0
  193. package/dist/bin/chunks/xan-view-6J5MMMQB.js +2 -0
  194. package/dist/bin/chunks/xargs-SCYIFXOW.js +2 -0
  195. package/dist/bin/chunks/yq-RGXFWYJN.js +2 -0
  196. package/dist/bin/just-bash.js +754 -0
  197. package/dist/bin/shell/chunks/alias-3GODYSFD.js +2 -0
  198. package/dist/bin/shell/chunks/awk2-RSUCURL4.js +2 -0
  199. package/dist/bin/shell/chunks/base64-43M2R3GA.js +2 -0
  200. package/dist/bin/shell/chunks/basename-KBUKWB2E.js +2 -0
  201. package/dist/bin/shell/chunks/bash-6ZHZ6BX7.js +2 -0
  202. package/dist/bin/shell/chunks/cat-XZIJZXKP.js +2 -0
  203. package/dist/bin/shell/chunks/chmod-N5CQATDW.js +2 -0
  204. package/dist/bin/shell/chunks/chunk-22NDZXS5.js +33 -0
  205. package/dist/bin/shell/chunks/chunk-26NO42TF.js +14 -0
  206. package/dist/bin/shell/chunks/chunk-2W2SCVT6.js +140 -0
  207. package/dist/bin/shell/chunks/chunk-3MBAUIBB.js +7 -0
  208. package/dist/bin/shell/chunks/chunk-3Y32LPNT.js +2 -0
  209. package/dist/bin/shell/chunks/chunk-4CFAYBLV.js +21 -0
  210. package/dist/bin/shell/chunks/chunk-4OALHZXB.js +2 -0
  211. package/dist/bin/shell/chunks/chunk-4PRVMER6.js +2 -0
  212. package/dist/bin/shell/chunks/chunk-4VDEBYW7.js +2 -0
  213. package/dist/bin/shell/chunks/chunk-54G6AE72.js +32 -0
  214. package/dist/bin/shell/chunks/chunk-5G2VOPPJ.js +7 -0
  215. package/dist/bin/shell/chunks/chunk-5WFYIUU2.js +3 -0
  216. package/dist/bin/shell/chunks/chunk-6KZRLMG3.js +8 -0
  217. package/dist/bin/shell/chunks/chunk-7ADG3DNO.js +8 -0
  218. package/dist/bin/shell/chunks/chunk-7BORMNPQ.js +2 -0
  219. package/dist/bin/shell/chunks/chunk-7G3MC56B.js +7 -0
  220. package/dist/bin/shell/chunks/chunk-AAW7UMPO.js +9 -0
  221. package/dist/bin/shell/chunks/chunk-AXWFPG37.js +10 -0
  222. package/dist/bin/shell/chunks/chunk-AZ3RUDR2.js +9 -0
  223. package/dist/bin/shell/chunks/chunk-BGGF3ELU.js +5 -0
  224. package/dist/bin/shell/chunks/chunk-BYDV4VEF.js +3 -0
  225. package/dist/bin/shell/chunks/chunk-CGE2EHYP.js +5 -0
  226. package/dist/bin/shell/chunks/chunk-CM4532DS.js +36 -0
  227. package/dist/bin/shell/chunks/chunk-CQG2HEAL.js +5 -0
  228. package/dist/bin/shell/chunks/chunk-D5WP4CKS.js +3 -0
  229. package/dist/bin/shell/chunks/chunk-DOXYBGNA.js +12 -0
  230. package/dist/bin/shell/chunks/chunk-E5BDLLK6.js +15 -0
  231. package/dist/bin/shell/chunks/chunk-EJQKHROT.js +14 -0
  232. package/dist/bin/shell/chunks/chunk-EONWONZV.js +2 -0
  233. package/dist/bin/shell/chunks/chunk-EPPBDXOG.js +8 -0
  234. package/dist/bin/shell/chunks/chunk-EUXCM6C4.js +12 -0
  235. package/dist/bin/shell/chunks/chunk-EWDHVLQL.js +21 -0
  236. package/dist/bin/shell/chunks/chunk-F3LGZXLQ.js +9 -0
  237. package/dist/bin/shell/chunks/chunk-FA2CHD73.js +16 -0
  238. package/dist/bin/shell/chunks/chunk-FIHFXGT6.js +287 -0
  239. package/dist/bin/shell/chunks/chunk-FLPVVSN5.js +5 -0
  240. package/dist/bin/shell/chunks/chunk-FSZWFMB4.js +16 -0
  241. package/dist/bin/shell/chunks/chunk-GO6FXSC4.js +6 -0
  242. package/dist/bin/shell/chunks/chunk-GOJZHH3L.js +6 -0
  243. package/dist/bin/shell/chunks/chunk-GTNBSMZR.js +23 -0
  244. package/dist/bin/shell/chunks/chunk-HC7WB764.js +2 -0
  245. package/dist/bin/shell/chunks/chunk-IDGH4PGU.js +3 -0
  246. package/dist/bin/shell/chunks/chunk-IO2FYBEM.js +6 -0
  247. package/dist/bin/shell/chunks/chunk-ITA43A73.js +7 -0
  248. package/dist/bin/shell/chunks/chunk-JBABAK44.js +4 -0
  249. package/dist/bin/shell/chunks/chunk-JDNI5HBX.js +33 -0
  250. package/dist/bin/shell/chunks/chunk-JLX6YWGA.js +3 -0
  251. package/dist/bin/shell/chunks/chunk-JQBC3FXE.js +8 -0
  252. package/dist/bin/shell/chunks/chunk-JTF74J6E.js +2 -0
  253. package/dist/bin/shell/chunks/chunk-KCMUAACL.js +19 -0
  254. package/dist/bin/shell/chunks/chunk-KGOUQS5A.js +2 -0
  255. package/dist/bin/shell/chunks/chunk-L6XUBS6H.js +84 -0
  256. package/dist/bin/shell/chunks/chunk-LCDPWJBA.js +15 -0
  257. package/dist/bin/shell/chunks/chunk-LGJM5YFT.js +17 -0
  258. package/dist/bin/shell/chunks/chunk-LIYVQA3X.js +2 -0
  259. package/dist/bin/shell/chunks/chunk-LJKIWB5F.js +4 -0
  260. package/dist/bin/shell/chunks/chunk-LMK6G2HH.js +8 -0
  261. package/dist/bin/shell/chunks/chunk-LOJMXC4F.js +5 -0
  262. package/dist/bin/shell/chunks/chunk-MAVV76T4.js +2 -0
  263. package/dist/bin/shell/chunks/chunk-MO4RPBN2.js +2 -0
  264. package/dist/bin/shell/chunks/chunk-MRP4ZCD7.js +6 -0
  265. package/dist/bin/shell/chunks/chunk-N43DJTSI.js +2 -0
  266. package/dist/bin/shell/chunks/chunk-NAX7MTAR.js +21 -0
  267. package/dist/bin/shell/chunks/chunk-NSUMEERA.js +12 -0
  268. package/dist/bin/shell/chunks/chunk-NTW6IA45.js +2 -0
  269. package/dist/bin/shell/chunks/chunk-OBH7XN5N.js +1 -0
  270. package/dist/bin/shell/chunks/chunk-OBI37ZY4.js +9 -0
  271. package/dist/bin/shell/chunks/chunk-OOJCYVYF.js +2 -0
  272. package/dist/bin/shell/chunks/chunk-ORUYSLP4.js +16 -0
  273. package/dist/bin/shell/chunks/chunk-OXHVTSNH.js +74 -0
  274. package/dist/bin/shell/chunks/chunk-PNI5NMXP.js +100 -0
  275. package/dist/bin/shell/chunks/chunk-PPBQJBC2.js +5 -0
  276. package/dist/bin/shell/chunks/chunk-PQNTKMH3.js +6 -0
  277. package/dist/bin/shell/chunks/chunk-PS4LOXE5.js +8 -0
  278. package/dist/bin/shell/chunks/chunk-RA3TG4UK.js +9 -0
  279. package/dist/bin/shell/chunks/chunk-RBQGQWGV.js +10 -0
  280. package/dist/bin/shell/chunks/chunk-RJSAGJQJ.js +11 -0
  281. package/dist/bin/shell/chunks/chunk-RLNOQILG.js +2 -0
  282. package/dist/bin/shell/chunks/chunk-ROJPSS6N.js +3 -0
  283. package/dist/bin/shell/chunks/chunk-RT7TRQVZ.js +3 -0
  284. package/dist/bin/shell/chunks/chunk-S3QAKT3R.js +11 -0
  285. package/dist/bin/shell/chunks/chunk-S7OHMN3F.js +6 -0
  286. package/dist/bin/shell/chunks/chunk-SGA7Y45Z.js +17 -0
  287. package/dist/bin/shell/chunks/chunk-SXRVLCZ4.js +2 -0
  288. package/dist/bin/shell/chunks/chunk-TEFXEYX3.js +3 -0
  289. package/dist/bin/shell/chunks/chunk-THALLNXT.js +7 -0
  290. package/dist/bin/shell/chunks/chunk-TTNNO45C.js +17 -0
  291. package/dist/bin/shell/chunks/chunk-UFJFAFSS.js +28 -0
  292. package/dist/bin/shell/chunks/chunk-V7ZOPVQS.js +2 -0
  293. package/dist/bin/shell/chunks/chunk-VNER2XXL.js +7 -0
  294. package/dist/bin/shell/chunks/chunk-WLBA7L7U.js +23 -0
  295. package/dist/bin/shell/chunks/chunk-WWZVR5NN.js +6 -0
  296. package/dist/bin/shell/chunks/chunk-WXMBDX4P.js +14 -0
  297. package/dist/bin/shell/chunks/chunk-XXCTETRW.js +11 -0
  298. package/dist/bin/shell/chunks/chunk-XY5HGZW5.js +8 -0
  299. package/dist/bin/shell/chunks/chunk-YEKSVVRC.js +11 -0
  300. package/dist/bin/shell/chunks/chunk-YLE2OYY6.js +2 -0
  301. package/dist/bin/shell/chunks/chunk-YMMJLYIX.js +2 -0
  302. package/dist/bin/shell/chunks/chunk-YTIURC67.js +2 -0
  303. package/dist/bin/shell/chunks/chunk-YU6OGPZR.js +5 -0
  304. package/dist/bin/shell/chunks/chunk-YWZOGBFE.js +9 -0
  305. package/dist/bin/shell/chunks/chunk-ZA4HUKJ3.js +13 -0
  306. package/dist/bin/shell/chunks/chunk-ZKC5HQYO.js +14 -0
  307. package/dist/bin/shell/chunks/chunk-ZSVBYEY4.js +6 -0
  308. package/dist/bin/shell/chunks/chunk-ZUDPEMHG.js +63 -0
  309. package/dist/bin/shell/chunks/clear-KRGKPFOI.js +2 -0
  310. package/dist/bin/shell/chunks/column-XGV32UPN.js +2 -0
  311. package/dist/bin/shell/chunks/comm-R3F3Z5DX.js +2 -0
  312. package/dist/bin/shell/chunks/cp-XH2ZB7WT.js +2 -0
  313. package/dist/bin/shell/chunks/curl-2DCNBIKJ.js +26 -0
  314. package/dist/bin/shell/chunks/cut-5EY2XPXX.js +2 -0
  315. package/dist/bin/shell/chunks/date-WUPBL2TL.js +2 -0
  316. package/dist/bin/shell/chunks/diff-5NUI5BHG.js +2 -0
  317. package/dist/bin/shell/chunks/dirname-5FAOMLBL.js +2 -0
  318. package/dist/bin/shell/chunks/du-LDAPXSGF.js +2 -0
  319. package/dist/bin/shell/chunks/echo-2MUAOGUE.js +2 -0
  320. package/dist/bin/shell/chunks/env-NTPN5QYM.js +2 -0
  321. package/dist/bin/shell/chunks/expand-26XPP5KB.js +2 -0
  322. package/dist/bin/shell/chunks/expansion-QUT3FT7V.js +2 -0
  323. package/dist/bin/shell/chunks/expr-G4EF4POQ.js +2 -0
  324. package/dist/bin/shell/chunks/file-MMSHRWCJ.js +2 -0
  325. package/dist/bin/shell/chunks/find-7CVMEZBO.js +2 -0
  326. package/dist/bin/shell/chunks/flag-coverage-UJISFT4M.js +2 -0
  327. package/dist/bin/shell/chunks/fold-XSVNTAWH.js +2 -0
  328. package/dist/bin/shell/chunks/grep-7BJ7HFBM.js +2 -0
  329. package/dist/bin/shell/chunks/gzip-LHOO65AN.js +2 -0
  330. package/dist/bin/shell/chunks/head-YMNRW3F3.js +2 -0
  331. package/dist/bin/shell/chunks/help-DVG4AAGE.js +2 -0
  332. package/dist/bin/shell/chunks/history-UUKG55YW.js +2 -0
  333. package/dist/bin/shell/chunks/hostname-WY6RKE32.js +2 -0
  334. package/dist/bin/shell/chunks/html-to-markdown-V6PK6S5U.js +2 -0
  335. package/dist/bin/shell/chunks/join-Y4Q5WVVE.js +2 -0
  336. package/dist/bin/shell/chunks/jq-4JWOFG7X.js +2 -0
  337. package/dist/bin/shell/chunks/js-exec-AKWY6BP5.js +97 -0
  338. package/dist/bin/shell/chunks/ln-EGC4HRXZ.js +2 -0
  339. package/dist/bin/shell/chunks/ls-WONXDVOX.js +2 -0
  340. package/dist/bin/shell/chunks/md5sum-NCLXV2S3.js +2 -0
  341. package/dist/bin/shell/chunks/mkdir-Z47OISSR.js +2 -0
  342. package/dist/bin/shell/chunks/mv-OY7X62QC.js +2 -0
  343. package/dist/bin/shell/chunks/nl-XH3L75DR.js +2 -0
  344. package/dist/bin/shell/chunks/od-52FBC34W.js +2 -0
  345. package/dist/bin/shell/chunks/paste-3UVLMQ2K.js +2 -0
  346. package/dist/bin/shell/chunks/printf-NA7DYZBO.js +2 -0
  347. package/dist/bin/shell/chunks/pwd-6VBAPL3Y.js +2 -0
  348. package/dist/bin/shell/chunks/python3-RRCCYJKA.js +12 -0
  349. package/dist/bin/shell/chunks/readlink-BD5VFOC5.js +2 -0
  350. package/dist/bin/shell/chunks/rev-UHEPS2UL.js +2 -0
  351. package/dist/bin/shell/chunks/rg-DK6FRF6Q.js +2 -0
  352. package/dist/bin/shell/chunks/rm-L3NZOLLG.js +2 -0
  353. package/dist/bin/shell/chunks/rmdir-5KLM4EA6.js +2 -0
  354. package/dist/bin/shell/chunks/sed-WWXBUNG3.js +2 -0
  355. package/dist/bin/shell/chunks/seq-V7KBLSQ7.js +2 -0
  356. package/dist/bin/shell/chunks/sha1sum-BHNJ5ALF.js +2 -0
  357. package/dist/bin/shell/chunks/sha256sum-HJJ3NJ5L.js +2 -0
  358. package/dist/bin/shell/chunks/sleep-ND6FZRZ4.js +2 -0
  359. package/dist/bin/shell/chunks/sort-7GENYU2I.js +2 -0
  360. package/dist/bin/shell/chunks/split-YWV64TJH.js +2 -0
  361. package/dist/bin/shell/chunks/sqlite3-CVNFMP3Z.js +2 -0
  362. package/dist/bin/shell/chunks/stat-XS2LXYS2.js +2 -0
  363. package/dist/bin/shell/chunks/strings-XXKZCWY5.js +2 -0
  364. package/dist/bin/shell/chunks/tac-T42SKDDI.js +2 -0
  365. package/dist/bin/shell/chunks/tail-V537TDFR.js +2 -0
  366. package/dist/bin/shell/chunks/tar-GTGFEWDS.js +2 -0
  367. package/dist/bin/shell/chunks/tee-HK2SYCAR.js +2 -0
  368. package/dist/bin/shell/chunks/time-5R4QWCYF.js +2 -0
  369. package/dist/bin/shell/chunks/timeout-Z24MNWOP.js +2 -0
  370. package/dist/bin/shell/chunks/touch-DWKSZGOQ.js +2 -0
  371. package/dist/bin/shell/chunks/tr-4FPGAEVB.js +2 -0
  372. package/dist/bin/shell/chunks/tree-HEKABARE.js +2 -0
  373. package/dist/bin/shell/chunks/true-DP5UZP52.js +2 -0
  374. package/dist/bin/shell/chunks/unexpand-OYZ7KOYR.js +2 -0
  375. package/dist/bin/shell/chunks/uniq-TMSAIZM3.js +2 -0
  376. package/dist/bin/shell/chunks/wc-ZIV3TFVG.js +2 -0
  377. package/dist/bin/shell/chunks/which-5PO4LAOG.js +2 -0
  378. package/dist/bin/shell/chunks/whoami-E7PN2UWC.js +2 -0
  379. package/dist/bin/shell/chunks/xan-FKXPSPE5.js +2 -0
  380. package/dist/bin/shell/chunks/xan-view-6J5MMMQB.js +2 -0
  381. package/dist/bin/shell/chunks/xargs-SCYIFXOW.js +2 -0
  382. package/dist/bin/shell/chunks/yq-RGXFWYJN.js +2 -0
  383. package/dist/bin/shell/shell.js +733 -0
  384. package/dist/browser.d.ts +23 -0
  385. package/dist/bundle/browser.js +1515 -0
  386. package/dist/bundle/chunks/alias-JE7RI5QX.js +1 -0
  387. package/dist/bundle/chunks/awk2-JFGEGLFP.js +1 -0
  388. package/dist/bundle/chunks/base64-4YMZCVJ5.js +1 -0
  389. package/dist/bundle/chunks/basename-AA2KJYZQ.js +1 -0
  390. package/dist/bundle/chunks/bash-IJWYRKFO.js +1 -0
  391. package/dist/bundle/chunks/cat-RDUMLXKC.js +1 -0
  392. package/dist/bundle/chunks/chmod-SYMGL4JA.js +1 -0
  393. package/dist/bundle/chunks/chunk-24IMIIXA.js +1 -0
  394. package/dist/bundle/chunks/chunk-3THT3N7L.js +1 -0
  395. package/dist/bundle/chunks/chunk-3ZUFRYJ4.js +1 -0
  396. package/dist/bundle/chunks/chunk-43RSSTFA.js +73 -0
  397. package/dist/bundle/chunks/chunk-44UOCSGV.js +1 -0
  398. package/dist/bundle/chunks/chunk-4GTNDTRF.js +7 -0
  399. package/dist/bundle/chunks/chunk-4HHKTUW3.js +2 -0
  400. package/dist/bundle/chunks/chunk-4Q4SM6WR.js +4 -0
  401. package/dist/bundle/chunks/chunk-55VFSPNA.js +2 -0
  402. package/dist/bundle/chunks/chunk-5PYKJV42.js +4 -0
  403. package/dist/bundle/chunks/chunk-5QMZ5MUS.js +4 -0
  404. package/dist/bundle/chunks/chunk-5QVNJEHU.js +8 -0
  405. package/dist/bundle/chunks/chunk-5V6VZH6T.js +1 -0
  406. package/dist/bundle/chunks/chunk-62RKD26F.js +20 -0
  407. package/dist/bundle/chunks/chunk-64BAICW3.js +1 -0
  408. package/dist/bundle/chunks/chunk-74CEPOFO.js +22 -0
  409. package/dist/bundle/chunks/chunk-7ESWU5HP.js +14 -0
  410. package/dist/bundle/chunks/chunk-7L36YK2X.js +2 -0
  411. package/dist/bundle/chunks/chunk-7TSDKFEO.js +1 -0
  412. package/dist/bundle/chunks/chunk-A4HU7SVR.js +2 -0
  413. package/dist/bundle/chunks/chunk-A4JSPFCI.js +6 -0
  414. package/dist/bundle/chunks/chunk-A5O5YHGN.js +1 -0
  415. package/dist/bundle/chunks/chunk-A65PWWJC.js +2 -0
  416. package/dist/bundle/chunks/chunk-A7A2DBEE.js +6 -0
  417. package/dist/bundle/chunks/chunk-A7ICOL4V.js +13 -0
  418. package/dist/bundle/chunks/chunk-ALLTKNUZ.js +5 -0
  419. package/dist/bundle/chunks/chunk-APT7OOP2.js +1 -0
  420. package/dist/bundle/chunks/chunk-B53Y5JFV.js +8 -0
  421. package/dist/bundle/chunks/chunk-BAQA74XA.js +1 -0
  422. package/dist/bundle/chunks/chunk-CWQS3NFK.js +1 -0
  423. package/dist/bundle/chunks/chunk-D4J545R4.js +11 -0
  424. package/dist/bundle/chunks/chunk-D6CWQ5DW.js +5 -0
  425. package/dist/bundle/chunks/chunk-D6EWIDSU.js +20 -0
  426. package/dist/bundle/chunks/chunk-D7MEQ3VN.js +4 -0
  427. package/dist/bundle/chunks/chunk-DBKNVD4L.js +9 -0
  428. package/dist/bundle/chunks/chunk-DCAAORBQ.js +1 -0
  429. package/dist/bundle/chunks/chunk-DXB73IDG.js +1 -0
  430. package/dist/bundle/chunks/chunk-EEXR5ZDP.js +2 -0
  431. package/dist/bundle/chunks/chunk-EIZGF4BS.js +8 -0
  432. package/dist/bundle/chunks/chunk-F23WWYKW.js +16 -0
  433. package/dist/bundle/chunks/chunk-GCTKCWKD.js +3 -0
  434. package/dist/bundle/chunks/chunk-GFQRA5P5.js +7 -0
  435. package/dist/bundle/chunks/chunk-GJTDUJ5Q.js +10 -0
  436. package/dist/bundle/chunks/chunk-GOV5EKKI.js +9 -0
  437. package/dist/bundle/chunks/chunk-GXVXFKBA.js +5 -0
  438. package/dist/bundle/chunks/chunk-HDQ56CKY.js +15 -0
  439. package/dist/bundle/chunks/chunk-HJQJAYMS.js +2 -0
  440. package/dist/bundle/chunks/chunk-HJWBQKYG.js +5 -0
  441. package/dist/bundle/chunks/chunk-HL6NGDO2.js +22 -0
  442. package/dist/bundle/chunks/chunk-HWBSOZZR.js +35 -0
  443. package/dist/bundle/chunks/chunk-HWKDQ44K.js +3 -0
  444. package/dist/bundle/chunks/chunk-I57KEIP3.js +10 -0
  445. package/dist/bundle/chunks/chunk-IPJHKYVM.js +1 -0
  446. package/dist/bundle/chunks/chunk-IVYA2HK4.js +286 -0
  447. package/dist/bundle/chunks/chunk-JVPRLUMK.js +7 -0
  448. package/dist/bundle/chunks/chunk-KMEYNNUA.js +15 -0
  449. package/dist/bundle/chunks/chunk-KX3P26DQ.js +1 -0
  450. package/dist/bundle/chunks/chunk-LL3S3NLB.js +1 -0
  451. package/dist/bundle/chunks/chunk-LTZRCH7N.js +31 -0
  452. package/dist/bundle/chunks/chunk-LWEGUNWT.js +7 -0
  453. package/dist/bundle/chunks/chunk-MDDMCKUK.js +6 -0
  454. package/dist/bundle/chunks/chunk-MDLLFABN.js +4 -0
  455. package/dist/bundle/chunks/chunk-MHTUABJP.js +8 -0
  456. package/dist/bundle/chunks/chunk-MIZPJHVH.js +7 -0
  457. package/dist/bundle/chunks/chunk-MLXIYONF.js +15 -0
  458. package/dist/bundle/chunks/chunk-MYE6AGBJ.js +16 -0
  459. package/dist/bundle/chunks/chunk-NAERJDUW.js +8 -0
  460. package/dist/bundle/chunks/chunk-NCNPKYJZ.js +2 -0
  461. package/dist/bundle/chunks/chunk-NUFRM6SI.js +0 -0
  462. package/dist/bundle/chunks/chunk-NUYSJFDK.js +7 -0
  463. package/dist/bundle/chunks/chunk-OCLXQMOG.js +6 -0
  464. package/dist/bundle/chunks/chunk-OCS6LSEM.js +13 -0
  465. package/dist/bundle/chunks/chunk-OJDRYQWQ.js +1 -0
  466. package/dist/bundle/chunks/chunk-P7UWRQ44.js +139 -0
  467. package/dist/bundle/chunks/chunk-PBXLG62G.js +8 -0
  468. package/dist/bundle/chunks/chunk-PP6PSHAB.js +4 -0
  469. package/dist/bundle/chunks/chunk-PXTK5WE2.js +20 -0
  470. package/dist/bundle/chunks/chunk-PYDZ2LCK.js +16 -0
  471. package/dist/bundle/chunks/chunk-PYSFUGCK.js +10 -0
  472. package/dist/bundle/chunks/chunk-QCDB2VPH.js +6 -0
  473. package/dist/bundle/chunks/chunk-QJ7O6ZN3.js +5 -0
  474. package/dist/bundle/chunks/chunk-R6QSAL5T.js +1 -0
  475. package/dist/bundle/chunks/chunk-R6VWJ2ZL.js +1 -0
  476. package/dist/bundle/chunks/chunk-RPNGRAAP.js +7 -0
  477. package/dist/bundle/chunks/chunk-SDNKECQQ.js +5 -0
  478. package/dist/bundle/chunks/chunk-T56QNPHK.js +14 -0
  479. package/dist/bundle/chunks/chunk-TLSUDHID.js +6 -0
  480. package/dist/bundle/chunks/chunk-TOMNU26N.js +4 -0
  481. package/dist/bundle/chunks/chunk-TXBZCHCQ.js +5 -0
  482. package/dist/bundle/chunks/chunk-U6NMAV24.js +32 -0
  483. package/dist/bundle/chunks/chunk-V7TAPXDL.js +27 -0
  484. package/dist/bundle/chunks/chunk-VBEY5J6R.js +99 -0
  485. package/dist/bundle/chunks/chunk-VJFXDYWH.js +10 -0
  486. package/dist/bundle/chunks/chunk-VOBGTVA6.js +6 -0
  487. package/dist/bundle/chunks/chunk-VXBA5RYO.js +5 -0
  488. package/dist/bundle/chunks/chunk-VYOJP4TV.js +13 -0
  489. package/dist/bundle/chunks/chunk-WKFATFPP.js +4 -0
  490. package/dist/bundle/chunks/chunk-X2AJGDEF.js +1 -0
  491. package/dist/bundle/chunks/chunk-XIZSGUXJ.js +62 -0
  492. package/dist/bundle/chunks/chunk-XKQRETAK.js +1 -0
  493. package/dist/bundle/chunks/chunk-XVDPCNWR.js +11 -0
  494. package/dist/bundle/chunks/chunk-YSHZL3MF.js +32 -0
  495. package/dist/bundle/chunks/chunk-YTNYSM6T.js +11 -0
  496. package/dist/bundle/chunks/chunk-Z6LRHWXI.js +13 -0
  497. package/dist/bundle/chunks/chunk-Z7JVV2SM.js +12 -0
  498. package/dist/bundle/chunks/clear-5CZ5X4YR.js +1 -0
  499. package/dist/bundle/chunks/column-WLPMMSTS.js +1 -0
  500. package/dist/bundle/chunks/comm-5SLSESQG.js +1 -0
  501. package/dist/bundle/chunks/cp-XOYR4ABJ.js +1 -0
  502. package/dist/bundle/chunks/curl-47BFPSFW.js +25 -0
  503. package/dist/bundle/chunks/cut-OPC3VAGB.js +1 -0
  504. package/dist/bundle/chunks/date-DD7FVA2V.js +1 -0
  505. package/dist/bundle/chunks/diff-HJF2MPDN.js +1 -0
  506. package/dist/bundle/chunks/dirname-LEMTZZFS.js +1 -0
  507. package/dist/bundle/chunks/du-WO2ENHXQ.js +1 -0
  508. package/dist/bundle/chunks/echo-O45JWWI2.js +1 -0
  509. package/dist/bundle/chunks/env-5EPCWSXR.js +1 -0
  510. package/dist/bundle/chunks/expand-DTNXU4LQ.js +1 -0
  511. package/dist/bundle/chunks/expansion-UGGADTZC.js +1 -0
  512. package/dist/bundle/chunks/expr-DNFUYZGY.js +1 -0
  513. package/dist/bundle/chunks/file-IGDTDPLG.js +1 -0
  514. package/dist/bundle/chunks/find-KNMMLVJD.js +1 -0
  515. package/dist/bundle/chunks/flag-coverage-B26Z36PC.js +1 -0
  516. package/dist/bundle/chunks/fold-LDSORVYE.js +1 -0
  517. package/dist/bundle/chunks/grep-2UMHPO7Y.js +1 -0
  518. package/dist/bundle/chunks/gzip-AQXSGOVS.js +1 -0
  519. package/dist/bundle/chunks/head-HT2B6D2J.js +1 -0
  520. package/dist/bundle/chunks/help-VVWX7SA5.js +1 -0
  521. package/dist/bundle/chunks/history-J4QRNGRO.js +1 -0
  522. package/dist/bundle/chunks/hostname-BK6HG2DE.js +1 -0
  523. package/dist/bundle/chunks/html-to-markdown-TFCECAGV.js +1 -0
  524. package/dist/bundle/chunks/join-GG2LDHE5.js +1 -0
  525. package/dist/bundle/chunks/jq-CRLZNLQG.js +1 -0
  526. package/dist/bundle/chunks/js-exec-VXN6TZ7U.js +96 -0
  527. package/dist/bundle/chunks/js-exec-worker.js +4380 -0
  528. package/dist/bundle/chunks/ln-4TRFBYAT.js +1 -0
  529. package/dist/bundle/chunks/ls-KSXFZCWH.js +1 -0
  530. package/dist/bundle/chunks/md5sum-INMIK4DX.js +1 -0
  531. package/dist/bundle/chunks/mkdir-TDEMSB6C.js +1 -0
  532. package/dist/bundle/chunks/mv-Z6MORUFL.js +1 -0
  533. package/dist/bundle/chunks/nl-U5YJDM32.js +1 -0
  534. package/dist/bundle/chunks/od-VJEF2UR5.js +1 -0
  535. package/dist/bundle/chunks/paste-7N6AFSDS.js +1 -0
  536. package/dist/bundle/chunks/printf-CX64KX2P.js +1 -0
  537. package/dist/bundle/chunks/pwd-D4OZ7N27.js +1 -0
  538. package/dist/bundle/chunks/python3-BFV3N3GY.js +11 -0
  539. package/dist/bundle/chunks/readlink-MI4GCHJF.js +1 -0
  540. package/dist/bundle/chunks/rev-XOSYPP45.js +1 -0
  541. package/dist/bundle/chunks/rg-KYSTAD4Q.js +1 -0
  542. package/dist/bundle/chunks/rm-RTZG23RL.js +1 -0
  543. package/dist/bundle/chunks/rmdir-XTQXT7RK.js +1 -0
  544. package/dist/bundle/chunks/sed-OFX3F4FE.js +1 -0
  545. package/dist/bundle/chunks/seq-RN5ZUASB.js +1 -0
  546. package/dist/bundle/chunks/sha1sum-VJPNLNU6.js +1 -0
  547. package/dist/bundle/chunks/sha256sum-PI32XWXY.js +1 -0
  548. package/dist/bundle/chunks/sleep-VZFPZFWA.js +1 -0
  549. package/dist/bundle/chunks/sort-DCNRDA7U.js +1 -0
  550. package/dist/bundle/chunks/split-SITCSYCZ.js +1 -0
  551. package/dist/bundle/chunks/sqlite3-56UMWEY3.js +1 -0
  552. package/dist/bundle/chunks/stat-BT5A227F.js +1 -0
  553. package/dist/bundle/chunks/strings-7PLOGTPD.js +1 -0
  554. package/dist/bundle/chunks/tac-SJGXQ4T2.js +1 -0
  555. package/dist/bundle/chunks/tail-S5ULNTJU.js +1 -0
  556. package/dist/bundle/chunks/tar-LYLTEJV3.js +1 -0
  557. package/dist/bundle/chunks/tee-O7VXZDCO.js +1 -0
  558. package/dist/bundle/chunks/time-DEUO3QV2.js +1 -0
  559. package/dist/bundle/chunks/timeout-VRKMCG72.js +1 -0
  560. package/dist/bundle/chunks/touch-DX2IJOQ4.js +1 -0
  561. package/dist/bundle/chunks/tr-2HXZRDSW.js +1 -0
  562. package/dist/bundle/chunks/tree-LYXBS7DC.js +1 -0
  563. package/dist/bundle/chunks/true-WHJNXCHG.js +1 -0
  564. package/dist/bundle/chunks/unexpand-RGTMIGZM.js +1 -0
  565. package/dist/bundle/chunks/uniq-SUNANL47.js +1 -0
  566. package/dist/bundle/chunks/wc-TQB3VNOX.js +1 -0
  567. package/dist/bundle/chunks/which-XZHEH76L.js +1 -0
  568. package/dist/bundle/chunks/whoami-DGKU3D2X.js +1 -0
  569. package/dist/bundle/chunks/worker.js +3136 -0
  570. package/dist/bundle/chunks/xan-DHUKCGIW.js +1 -0
  571. package/dist/bundle/chunks/xan-view-OW2TB7Z3.js +1 -0
  572. package/dist/bundle/chunks/xargs-I6EZUCYF.js +1 -0
  573. package/dist/bundle/chunks/yq-NDDDSAXH.js +1 -0
  574. package/dist/bundle/index.cjs +2178 -0
  575. package/dist/bundle/index.js +709 -0
  576. package/dist/commands/alias/alias.d.ts +6 -0
  577. package/dist/commands/awk/ast.d.ts +202 -0
  578. package/dist/commands/awk/awk2.d.ts +9 -0
  579. package/dist/commands/awk/builtins.d.ts +17 -0
  580. package/dist/commands/awk/interpreter/context.d.ts +75 -0
  581. package/dist/commands/awk/interpreter/expressions.d.ts +17 -0
  582. package/dist/commands/awk/interpreter/fields.d.ts +25 -0
  583. package/dist/commands/awk/interpreter/index.d.ts +8 -0
  584. package/dist/commands/awk/interpreter/interpreter.d.ts +54 -0
  585. package/dist/commands/awk/interpreter/statements.d.ts +11 -0
  586. package/dist/commands/awk/interpreter/type-coercion.d.ts +32 -0
  587. package/dist/commands/awk/interpreter/types.d.ts +13 -0
  588. package/dist/commands/awk/interpreter/variables.d.ts +35 -0
  589. package/dist/commands/awk/lexer.d.ts +100 -0
  590. package/dist/commands/awk/parser2-print.d.ts +35 -0
  591. package/dist/commands/awk/parser2.d.ts +81 -0
  592. package/dist/commands/base64/base64.d.ts +7 -0
  593. package/dist/commands/basename/basename.d.ts +4 -0
  594. package/dist/commands/bash/bash.d.ts +6 -0
  595. package/dist/commands/browser-excluded.d.ts +16 -0
  596. package/dist/commands/cat/cat.d.ts +4 -0
  597. package/dist/commands/chmod/chmod.d.ts +4 -0
  598. package/dist/commands/clear/clear.d.ts +4 -0
  599. package/dist/commands/column/column.d.ts +11 -0
  600. package/dist/commands/comm/comm.d.ts +12 -0
  601. package/dist/commands/cp/cp.d.ts +4 -0
  602. package/dist/commands/curl/curl.d.ts +8 -0
  603. package/dist/commands/curl/form.d.ts +21 -0
  604. package/dist/commands/curl/help.d.ts +9 -0
  605. package/dist/commands/curl/parse.d.ts +9 -0
  606. package/dist/commands/curl/response-formatting.d.ts +20 -0
  607. package/dist/commands/curl/types.d.ts +31 -0
  608. package/dist/commands/cut/cut.d.ts +4 -0
  609. package/dist/commands/date/date.d.ts +7 -0
  610. package/dist/commands/diff/diff.d.ts +7 -0
  611. package/dist/commands/dirname/dirname.d.ts +4 -0
  612. package/dist/commands/du/du.d.ts +4 -0
  613. package/dist/commands/duration.d.ts +5 -0
  614. package/dist/commands/echo/echo.d.ts +4 -0
  615. package/dist/commands/env/env.d.ts +6 -0
  616. package/dist/commands/expand/expand.d.ts +12 -0
  617. package/dist/commands/expand/unexpand.d.ts +12 -0
  618. package/dist/commands/expr/expr.d.ts +9 -0
  619. package/dist/commands/file/file.d.ts +9 -0
  620. package/dist/commands/find/find.d.ts +4 -0
  621. package/dist/commands/find/matcher.d.ts +69 -0
  622. package/dist/commands/find/parser.d.ts +2 -0
  623. package/dist/commands/find/types.d.ts +88 -0
  624. package/dist/commands/flag-coverage.d.ts +2 -0
  625. package/dist/commands/fold/fold.d.ts +12 -0
  626. package/dist/commands/format-mode.d.ts +4 -0
  627. package/dist/commands/fuzz-flags-types.d.ts +17 -0
  628. package/dist/commands/fuzz-flags.d.ts +8 -0
  629. package/dist/commands/grep/grep.d.ts +8 -0
  630. package/dist/commands/gzip/gzip.d.ts +13 -0
  631. package/dist/commands/head/head-tail-shared.d.ts +38 -0
  632. package/dist/commands/head/head.d.ts +4 -0
  633. package/dist/commands/help/help.d.ts +4 -0
  634. package/dist/commands/help.d.ts +16 -0
  635. package/dist/commands/history/history.d.ts +4 -0
  636. package/dist/commands/hostname/hostname.d.ts +11 -0
  637. package/dist/commands/html-to-markdown/html-to-markdown.d.ts +9 -0
  638. package/dist/commands/join/join.d.ts +12 -0
  639. package/dist/commands/jq/jq.d.ts +9 -0
  640. package/dist/commands/js-exec/fetch-polyfill.d.ts +6 -0
  641. package/dist/commands/js-exec/js-exec-worker.d.ts +30 -0
  642. package/dist/commands/js-exec/js-exec.d.ts +11 -0
  643. package/dist/commands/js-exec/module-shims.d.ts +29 -0
  644. package/dist/commands/js-exec/path-polyfill.d.ts +6 -0
  645. package/dist/commands/ln/ln.d.ts +4 -0
  646. package/dist/commands/ls/ls.d.ts +4 -0
  647. package/dist/commands/md5sum/checksum.d.ts +7 -0
  648. package/dist/commands/md5sum/md5sum.d.ts +4 -0
  649. package/dist/commands/md5sum/sha1sum.d.ts +4 -0
  650. package/dist/commands/md5sum/sha256sum.d.ts +4 -0
  651. package/dist/commands/mkdir/mkdir.d.ts +4 -0
  652. package/dist/commands/mv/mv.d.ts +4 -0
  653. package/dist/commands/nl/nl.d.ts +12 -0
  654. package/dist/commands/od/od.d.ts +12 -0
  655. package/dist/commands/paste/paste.d.ts +4 -0
  656. package/dist/commands/printf/escapes.d.ts +25 -0
  657. package/dist/commands/printf/printf.d.ts +4 -0
  658. package/dist/commands/printf/strftime.d.ts +9 -0
  659. package/dist/commands/pwd/pwd.d.ts +4 -0
  660. package/dist/commands/python3/python3.d.ts +16 -0
  661. package/dist/commands/python3/worker.d.ts +28 -0
  662. package/dist/commands/query-engine/builtins/array-builtins.d.ts +20 -0
  663. package/dist/commands/query-engine/builtins/control-builtins.d.ts +18 -0
  664. package/dist/commands/query-engine/builtins/date-builtins.d.ts +15 -0
  665. package/dist/commands/query-engine/builtins/format-builtins.d.ts +11 -0
  666. package/dist/commands/query-engine/builtins/index-builtins.d.ts +16 -0
  667. package/dist/commands/query-engine/builtins/index.d.ts +17 -0
  668. package/dist/commands/query-engine/builtins/math-builtins.d.ts +15 -0
  669. package/dist/commands/query-engine/builtins/navigation-builtins.d.ts +18 -0
  670. package/dist/commands/query-engine/builtins/object-builtins.d.ts +15 -0
  671. package/dist/commands/query-engine/builtins/path-builtins.d.ts +20 -0
  672. package/dist/commands/query-engine/builtins/sql-builtins.d.ts +16 -0
  673. package/dist/commands/query-engine/builtins/string-builtins.d.ts +15 -0
  674. package/dist/commands/query-engine/builtins/type-builtins.d.ts +11 -0
  675. package/dist/commands/query-engine/evaluator.d.ts +41 -0
  676. package/dist/commands/query-engine/index.d.ts +8 -0
  677. package/dist/commands/query-engine/parser-types.d.ts +171 -0
  678. package/dist/commands/query-engine/parser.d.ts +9 -0
  679. package/dist/commands/query-engine/path-operations.d.ts +15 -0
  680. package/dist/commands/query-engine/safe-object.d.ts +83 -0
  681. package/dist/commands/query-engine/value-operations.d.ts +41 -0
  682. package/dist/commands/readlink/readlink.d.ts +4 -0
  683. package/dist/commands/registry.d.ts +56 -0
  684. package/dist/commands/rev/rev.d.ts +13 -0
  685. package/dist/commands/rg/file-types.d.ts +49 -0
  686. package/dist/commands/rg/gitignore.d.ts +98 -0
  687. package/dist/commands/rg/rg-options.d.ts +61 -0
  688. package/dist/commands/rg/rg-parser.d.ts +20 -0
  689. package/dist/commands/rg/rg-search.d.ts +15 -0
  690. package/dist/commands/rg/rg.d.ts +14 -0
  691. package/dist/commands/rm/rm.d.ts +4 -0
  692. package/dist/commands/rmdir/rmdir.d.ts +4 -0
  693. package/dist/commands/search-engine/index.d.ts +10 -0
  694. package/dist/commands/search-engine/matcher.d.ts +60 -0
  695. package/dist/commands/search-engine/regex.d.ts +33 -0
  696. package/dist/commands/sed/executor.d.ts +7 -0
  697. package/dist/commands/sed/lexer.d.ts +86 -0
  698. package/dist/commands/sed/parser.d.ts +18 -0
  699. package/dist/commands/sed/sed-regex.d.ts +23 -0
  700. package/dist/commands/sed/sed.d.ts +4 -0
  701. package/dist/commands/sed/types.d.ts +216 -0
  702. package/dist/commands/seq/seq.d.ts +16 -0
  703. package/dist/commands/sleep/sleep.d.ts +4 -0
  704. package/dist/commands/sort/comparator.d.ts +9 -0
  705. package/dist/commands/sort/parser.d.ts +11 -0
  706. package/dist/commands/sort/sort.d.ts +4 -0
  707. package/dist/commands/sort/types.d.ts +30 -0
  708. package/dist/commands/split/split.d.ts +12 -0
  709. package/dist/commands/sqlite3/formatters.d.ts +15 -0
  710. package/dist/commands/sqlite3/sqlite3.d.ts +22 -0
  711. package/dist/commands/sqlite3/worker.d.ts +45 -0
  712. package/dist/commands/stat/stat.d.ts +4 -0
  713. package/dist/commands/strings/strings.d.ts +12 -0
  714. package/dist/commands/tac/tac.d.ts +11 -0
  715. package/dist/commands/tail/tail.d.ts +4 -0
  716. package/dist/commands/tar/archive.d.ts +135 -0
  717. package/dist/commands/tar/bzip2-compress.d.ts +17 -0
  718. package/dist/commands/tar/tar-options.d.ts +37 -0
  719. package/dist/commands/tar/tar.d.ts +10 -0
  720. package/dist/commands/tee/tee.d.ts +4 -0
  721. package/dist/commands/time/time.d.ts +27 -0
  722. package/dist/commands/timeout/timeout.d.ts +4 -0
  723. package/dist/commands/touch/touch.d.ts +4 -0
  724. package/dist/commands/tr/tr.d.ts +4 -0
  725. package/dist/commands/tree/tree.d.ts +4 -0
  726. package/dist/commands/true/true.d.ts +6 -0
  727. package/dist/commands/uniq/uniq.d.ts +4 -0
  728. package/dist/commands/wc/wc.d.ts +4 -0
  729. package/dist/commands/which/which.d.ts +4 -0
  730. package/dist/commands/whoami/whoami.d.ts +11 -0
  731. package/dist/commands/worker-bridge/bridge-handler.d.ts +71 -0
  732. package/dist/commands/worker-bridge/protocol.d.ts +140 -0
  733. package/dist/commands/worker-bridge/sync-backend.d.ts +81 -0
  734. package/dist/commands/xan/aggregation.d.ts +20 -0
  735. package/dist/commands/xan/column-selection.d.ts +19 -0
  736. package/dist/commands/xan/csv.d.ts +37 -0
  737. package/dist/commands/xan/moonblade-parser.d.ts +80 -0
  738. package/dist/commands/xan/moonblade-to-jq.d.ts +12 -0
  739. package/dist/commands/xan/moonblade-tokenizer.d.ts +25 -0
  740. package/dist/commands/xan/subcommands.d.ts +15 -0
  741. package/dist/commands/xan/xan-agg.d.ts +8 -0
  742. package/dist/commands/xan/xan-columns.d.ts +8 -0
  743. package/dist/commands/xan/xan-core.d.ts +10 -0
  744. package/dist/commands/xan/xan-data.d.ts +52 -0
  745. package/dist/commands/xan/xan-filter.d.ts +8 -0
  746. package/dist/commands/xan/xan-map.d.ts +11 -0
  747. package/dist/commands/xan/xan-reshape.d.ts +40 -0
  748. package/dist/commands/xan/xan-simple.d.ts +40 -0
  749. package/dist/commands/xan/xan-view.d.ts +12 -0
  750. package/dist/commands/xan/xan.d.ts +10 -0
  751. package/dist/commands/xargs/xargs.d.ts +4 -0
  752. package/dist/commands/yq/formats.d.ts +64 -0
  753. package/dist/commands/yq/yq.d.ts +13 -0
  754. package/dist/custom-commands.d.ts +42 -0
  755. package/dist/fs/encoding.d.ts +17 -0
  756. package/dist/fs/in-memory-fs/in-memory-fs.d.ts +73 -0
  757. package/dist/fs/in-memory-fs/index.d.ts +1 -0
  758. package/dist/fs/init.d.ts +22 -0
  759. package/dist/fs/interface.d.ts +229 -0
  760. package/dist/fs/mountable-fs/index.d.ts +1 -0
  761. package/dist/fs/mountable-fs/mountable-fs.d.ts +116 -0
  762. package/dist/fs/overlay-fs/index.d.ts +1 -0
  763. package/dist/fs/overlay-fs/overlay-fs.d.ts +163 -0
  764. package/dist/fs/path-utils.d.ts +46 -0
  765. package/dist/fs/read-write-fs/index.d.ts +1 -0
  766. package/dist/fs/read-write-fs/read-write-fs.d.ts +96 -0
  767. package/dist/fs/real-fs-utils.d.ts +90 -0
  768. package/dist/fs/sanitize-error.d.ts +19 -0
  769. package/dist/index.d.cts +27 -0
  770. package/dist/index.d.ts +27 -0
  771. package/dist/interpreter/alias-expansion.d.ts +23 -0
  772. package/dist/interpreter/arithmetic.d.ts +24 -0
  773. package/dist/interpreter/assignment-expansion.d.ts +24 -0
  774. package/dist/interpreter/builtin-dispatch.d.ts +39 -0
  775. package/dist/interpreter/builtins/break.d.ts +6 -0
  776. package/dist/interpreter/builtins/cd.d.ts +6 -0
  777. package/dist/interpreter/builtins/compgen.d.ts +26 -0
  778. package/dist/interpreter/builtins/complete.d.ts +17 -0
  779. package/dist/interpreter/builtins/compopt.d.ts +28 -0
  780. package/dist/interpreter/builtins/continue.d.ts +6 -0
  781. package/dist/interpreter/builtins/declare-array-parsing.d.ts +14 -0
  782. package/dist/interpreter/builtins/declare-print.d.ts +39 -0
  783. package/dist/interpreter/builtins/declare.d.ts +35 -0
  784. package/dist/interpreter/builtins/dirs.d.ts +29 -0
  785. package/dist/interpreter/builtins/eval.d.ts +9 -0
  786. package/dist/interpreter/builtins/exit.d.ts +5 -0
  787. package/dist/interpreter/builtins/export.d.ts +14 -0
  788. package/dist/interpreter/builtins/getopts.d.ts +18 -0
  789. package/dist/interpreter/builtins/hash.d.ts +19 -0
  790. package/dist/interpreter/builtins/help.d.ts +12 -0
  791. package/dist/interpreter/builtins/index.d.ts +45 -0
  792. package/dist/interpreter/builtins/let.d.ts +18 -0
  793. package/dist/interpreter/builtins/local.d.ts +6 -0
  794. package/dist/interpreter/builtins/mapfile.d.ts +17 -0
  795. package/dist/interpreter/builtins/read.d.ts +6 -0
  796. package/dist/interpreter/builtins/return.d.ts +6 -0
  797. package/dist/interpreter/builtins/set.d.ts +9 -0
  798. package/dist/interpreter/builtins/shift.d.ts +15 -0
  799. package/dist/interpreter/builtins/shopt.d.ts +7 -0
  800. package/dist/interpreter/builtins/source.d.ts +6 -0
  801. package/dist/interpreter/builtins/unset.d.ts +16 -0
  802. package/dist/interpreter/builtins/variable-assignment.d.ts +66 -0
  803. package/dist/interpreter/command-resolution.d.ts +43 -0
  804. package/dist/interpreter/conditionals.d.ts +17 -0
  805. package/dist/interpreter/control-flow.d.ts +21 -0
  806. package/dist/interpreter/defense-aware-command-context.d.ts +6 -0
  807. package/dist/interpreter/errors.d.ts +158 -0
  808. package/dist/interpreter/expansion/analysis.d.ts +37 -0
  809. package/dist/interpreter/expansion/arith-text-expansion.d.ts +20 -0
  810. package/dist/interpreter/expansion/array-pattern-ops.d.ts +21 -0
  811. package/dist/interpreter/expansion/array-prefix-suffix.d.ts +46 -0
  812. package/dist/interpreter/expansion/array-slice-transform.d.ts +36 -0
  813. package/dist/interpreter/expansion/array-word-expansion.d.ts +39 -0
  814. package/dist/interpreter/expansion/brace-range.d.ts +20 -0
  815. package/dist/interpreter/expansion/command-substitution.d.ts +23 -0
  816. package/dist/interpreter/expansion/glob-escape.d.ts +32 -0
  817. package/dist/interpreter/expansion/indirect-expansion.d.ts +42 -0
  818. package/dist/interpreter/expansion/parameter-ops.d.ts +113 -0
  819. package/dist/interpreter/expansion/pattern-expansion.d.ts +23 -0
  820. package/dist/interpreter/expansion/pattern-removal.d.ts +18 -0
  821. package/dist/interpreter/expansion/pattern.d.ts +23 -0
  822. package/dist/interpreter/expansion/positional-params.d.ts +59 -0
  823. package/dist/interpreter/expansion/prompt.d.ts +39 -0
  824. package/dist/interpreter/expansion/quoting.d.ts +13 -0
  825. package/dist/interpreter/expansion/tilde.d.ts +12 -0
  826. package/dist/interpreter/expansion/unquoted-expansion.d.ts +76 -0
  827. package/dist/interpreter/expansion/variable-attrs.d.ts +19 -0
  828. package/dist/interpreter/expansion/variable.d.ts +36 -0
  829. package/dist/interpreter/expansion/word-glob-expansion.d.ts +33 -0
  830. package/dist/interpreter/expansion/word-split.d.ts +29 -0
  831. package/dist/interpreter/expansion.d.ts +53 -0
  832. package/dist/interpreter/functions.d.ts +12 -0
  833. package/dist/interpreter/helpers/array.d.ts +43 -0
  834. package/dist/interpreter/helpers/condition.d.ts +22 -0
  835. package/dist/interpreter/helpers/errors.d.ts +8 -0
  836. package/dist/interpreter/helpers/file-tests.d.ts +33 -0
  837. package/dist/interpreter/helpers/ifs.d.ts +104 -0
  838. package/dist/interpreter/helpers/loop.d.ts +24 -0
  839. package/dist/interpreter/helpers/nameref.d.ts +65 -0
  840. package/dist/interpreter/helpers/numeric-compare.d.ts +13 -0
  841. package/dist/interpreter/helpers/quoting.d.ts +24 -0
  842. package/dist/interpreter/helpers/readonly.d.ts +45 -0
  843. package/dist/interpreter/helpers/regex.d.ts +8 -0
  844. package/dist/interpreter/helpers/result.d.ts +60 -0
  845. package/dist/interpreter/helpers/shell-constants.d.ts +25 -0
  846. package/dist/interpreter/helpers/shellopts.d.ts +28 -0
  847. package/dist/interpreter/helpers/statements.d.ts +20 -0
  848. package/dist/interpreter/helpers/string-compare.d.ts +24 -0
  849. package/dist/interpreter/helpers/string-tests.d.ts +13 -0
  850. package/dist/interpreter/helpers/tilde.d.ts +13 -0
  851. package/dist/interpreter/helpers/variable-tests.d.ts +9 -0
  852. package/dist/interpreter/helpers/word-matching.d.ts +26 -0
  853. package/dist/interpreter/helpers/word-parts.d.ts +22 -0
  854. package/dist/interpreter/helpers/xtrace.d.ts +18 -0
  855. package/dist/interpreter/index.d.ts +3 -0
  856. package/dist/interpreter/interpreter.d.ts +77 -0
  857. package/dist/interpreter/pipeline-execution.d.ts +16 -0
  858. package/dist/interpreter/redirections.d.ts +51 -0
  859. package/dist/interpreter/simple-command-assignments.d.ts +29 -0
  860. package/dist/interpreter/subshell-group.d.ts +32 -0
  861. package/dist/interpreter/type-command.d.ts +37 -0
  862. package/dist/interpreter/types.d.ts +344 -0
  863. package/dist/limits.d.ts +52 -0
  864. package/dist/network/allow-list/shared.d.ts +57 -0
  865. package/dist/network/allow-list.d.ts +59 -0
  866. package/dist/network/fetch.d.ts +25 -0
  867. package/dist/network/index.d.ts +7 -0
  868. package/dist/network/types.d.ts +155 -0
  869. package/dist/parser/arithmetic-parser.d.ts +23 -0
  870. package/dist/parser/arithmetic-primaries.d.ts +45 -0
  871. package/dist/parser/command-parser.d.ts +10 -0
  872. package/dist/parser/compound-parser.d.ts +28 -0
  873. package/dist/parser/conditional-parser.d.ts +8 -0
  874. package/dist/parser/expansion-parser.d.ts +16 -0
  875. package/dist/parser/lexer.d.ts +197 -0
  876. package/dist/parser/parser-substitution.d.ts +62 -0
  877. package/dist/parser/parser.d.ts +135 -0
  878. package/dist/parser/types.d.ts +25 -0
  879. package/dist/parser/word-parser.d.ts +33 -0
  880. package/dist/sandbox/Command.d.ts +35 -0
  881. package/dist/sandbox/Sandbox.d.ts +90 -0
  882. package/dist/sandbox/index.d.ts +2 -0
  883. package/dist/shell-metadata.d.ts +25 -0
  884. package/dist/timers.d.ts +4 -0
  885. package/dist/types.d.ts +198 -0
  886. package/dist/utils/args.d.ts +55 -0
  887. package/dist/utils/constants.d.ts +15 -0
  888. package/dist/utils/file-reader.d.ts +67 -0
  889. package/dist/utils/glob.d.ts +25 -0
  890. package/dist/vitest-setup.d.ts +1 -0
  891. package/package.json +127 -0
  892. package/vendor/cpython-emscripten/python.cjs +2 -0
  893. package/vendor/cpython-emscripten/python.wasm +3 -0
  894. package/vendor/cpython-emscripten/python313.zip +0 -0
@@ -0,0 +1,7 @@
1
+ import{a as g}from"./chunk-HWKDQ44K.js";import{a as c,b as m}from"./chunk-74CEPOFO.js";var I={name:"paste",summary:"merge lines of files",usage:"paste [OPTION]... [FILE]...",description:["Write lines consisting of the sequentially corresponding lines from","each FILE, separated by TABs, to standard output.","","With no FILE, or when FILE is -, read standard input."],options:["-d, --delimiters=LIST reuse characters from LIST instead of TABs","-s, --serial paste one file at a time instead of in parallel"," --help display this help and exit"],examples:["paste file1 file2 Merge file1 and file2 side by side","paste -d, file1 file2 Use comma as delimiter","paste -s file1 Paste all lines of file1 on one line","paste - - < file Paste pairs of lines from file"]},F={delimiter:{short:"d",long:"delimiters",type:"string",default:" "},serial:{short:"s",long:"serial",type:"boolean"}},P={name:"paste",async execute(s,i){if(m(s))return c(I);let n=g("paste",s,F);if(!n.ok)return n.error;let l=n.result.flags.delimiter,d=n.result.flags.serial,p=n.result.positional;if(p.length===0)return{stdout:"",stderr:`usage: paste [-s] [-d delimiters] file ...
2
+ `,exitCode:1};let a=i.stdin?i.stdin.split(`
3
+ `):[""];a.length>0&&a[a.length-1]===""&&a.pop();let x=p.filter(e=>e==="-").length,f=[],h=0;for(let e of p)if(e==="-"){let t=[];for(let o=h;o<a.length;o+=x)t.push(a[o]);f.push(t),h++}else{let t=i.fs.resolvePath(i.cwd,e);try{let r=(await i.fs.readFile(t)).split(`
4
+ `);r.length>0&&r[r.length-1]===""&&r.pop(),f.push(r)}catch{return{stdout:"",stderr:`paste: ${e}: No such file or directory
5
+ `,exitCode:1}}}let u="";if(d)for(let e of f)e&&(u+=`${y(e,l)}
6
+ `);else{let e=Math.max(...f.map(t=>t?.length??0));for(let t=0;t<e;t++){let o=[];for(let r of f)o.push(r?.[t]??"");u+=`${y(o,l)}
7
+ `}}return{stdout:u,stderr:"",exitCode:0}}};function y(s,i){if(s.length===0)return"";if(s.length===1)return s[0];let n=s[0];for(let l=1;l<s.length;l++){let d=(l-1)%i.length;n+=i[d]+s[l]}return n}var T={name:"paste",flags:[{flag:"-d",type:"value",valueHint:"delimiter"},{flag:"-s",type:"boolean"}],stdinType:"text",needsFiles:!0};export{P as a,T as b};
@@ -0,0 +1,15 @@
1
+ import{b as w}from"./chunk-7L36YK2X.js";import{a as F,b as N,c as k}from"./chunk-74CEPOFO.js";var A=new Map([["",1],["k",1024],["m",1048576],["g",1073741824],["t",1099511627776],["p",0x4000000000000],["e",1152921504606847e3]]),P=new Map([["jan",1],["feb",2],["mar",3],["apr",4],["may",5],["jun",6],["jul",7],["aug",8],["sep",9],["oct",10],["nov",11],["dec",12]]);function O(u){let r=u.trim(),e=r.match(/^([+-]?\d*\.?\d+)\s*([kmgtpeKMGTPE])?[iI]?[bB]?$/);if(!e){let n=parseFloat(r);return Number.isNaN(n)?0:n}let l=parseFloat(e[1]),s=(e[2]||"").toLowerCase(),i=A.get(s)??1;return l*i}function x(u){let r=u.trim().toLowerCase().slice(0,3);return P.get(r)??0}function D(u,r){let e=u.split(/(\d+)/),l=r.split(/(\d+)/),s=Math.max(e.length,l.length);for(let i=0;i<s;i++){let n=e[i]||"",d=l[i]||"",o=/^\d+$/.test(n)?parseInt(n,10):null,c=/^\d+$/.test(d)?parseInt(d,10):null;if(o!==null&&c!==null){if(o!==c)return o-c}else if(n!==d)return n.localeCompare(d)}return 0}function M(u){return u.replace(/[^a-zA-Z0-9\s]/g,"")}function v(u,r,e){let l=e!==null?e:/\s+/,s=u.split(l),i=r.startField-1;if(i>=s.length)return"";if(r.endField===void 0){let o=s[i]||"";return r.startChar!==void 0&&(o=o.slice(r.startChar-1)),r.ignoreLeading&&(o=o.trimStart()),o}let n=Math.min(r.endField-1,s.length-1),d="";for(let o=i;o<=n&&o<s.length;o++){let c=s[o]||"";if(o===i&&r.startChar!==void 0&&(c=c.slice(r.startChar-1)),o===n&&r.endChar!==void 0){let t=o===i&&r.startChar!==void 0?r.endChar-r.startChar+1:r.endChar;c=c.slice(0,t)}o>i&&(d+=e||" "),d+=c}return r.ignoreLeading&&(d=d.trimStart()),d}function L(u,r,e){let l=u,s=r;if(e.dictionaryOrder&&(l=M(l),s=M(s)),e.ignoreCase&&(l=l.toLowerCase(),s=s.toLowerCase()),e.monthSort){let i=x(l),n=x(s);return i-n}if(e.humanNumeric){let i=O(l),n=O(s);return i-n}if(e.versionSort)return D(l,s);if(e.numeric){let i=parseFloat(l)||0,n=parseFloat(s)||0;return i-n}return l.localeCompare(s)}function I(u){let{keys:r,fieldDelimiter:e,numeric:l,ignoreCase:s,reverse:i,humanNumeric:n,versionSort:d,dictionaryOrder:o,monthSort:c,ignoreLeadingBlanks:t,stable:a}=u;return(f,C)=>{let g=f,b=C;if(t&&(g=g.trimStart(),b=b.trimStart()),r.length===0){let h=L(g,b,{numeric:l,ignoreCase:s,humanNumeric:n,versionSort:d,dictionaryOrder:o,monthSort:c});if(h!==0)return i?-h:h;if(!a){let p=f.localeCompare(C);return i?-p:p}return 0}for(let m of r){let h=v(g,m,e),p=v(b,m,e);m.ignoreLeading&&(h=h.trimStart(),p=p.trimStart());let B={numeric:m.numeric??l,ignoreCase:m.ignoreCase??s,humanNumeric:m.humanNumeric??n,versionSort:m.versionSort??d,dictionaryOrder:m.dictionaryOrder??o,monthSort:m.monthSort??c},V=m.reverse??i,S=L(h,p,B);if(S!==0)return V?-S:S}if(!a){let m=f.localeCompare(C);return i?-m:m}return 0}}function E(u,r){if(r.keys.length===0){if(r.ignoreCase){let s=new Set;return u.filter(i=>{let n=i.toLowerCase();return s.has(n)?!1:(s.add(n),!0)})}return[...new Set(u)]}let e=r.keys[0],l=new Set;return u.filter(s=>{let i=v(s,e,r.fieldDelimiter);return(e.ignoreCase??r.ignoreCase)&&(i=i.toLowerCase()),l.has(i)?!1:(l.add(i),!0)})}function y(u){let r={startField:1},e="",l=u,s=l.match(/([bdfhMnrV]+)$/);s&&(e=s[1],l=l.slice(0,-e.length)),e.includes("n")&&(r.numeric=!0),e.includes("r")&&(r.reverse=!0),e.includes("f")&&(r.ignoreCase=!0),e.includes("b")&&(r.ignoreLeading=!0),e.includes("h")&&(r.humanNumeric=!0),e.includes("V")&&(r.versionSort=!0),e.includes("d")&&(r.dictionaryOrder=!0),e.includes("M")&&(r.monthSort=!0);let i=l.split(",");if(i.length===0||i[0]==="")return null;let n=i[0].split("."),d=parseInt(n[0],10);if(Number.isNaN(d)||d<1)return null;if(r.startField=d,n.length>1&&n[1]){let o=parseInt(n[1],10);!Number.isNaN(o)&&o>=1&&(r.startChar=o)}if(i.length>1&&i[1]){let o=i[1],c=o.match(/([bdfhMnrV]+)$/);if(c){let a=c[1];a.includes("n")&&(r.numeric=!0),a.includes("r")&&(r.reverse=!0),a.includes("f")&&(r.ignoreCase=!0),a.includes("b")&&(r.ignoreLeading=!0),a.includes("h")&&(r.humanNumeric=!0),a.includes("V")&&(r.versionSort=!0),a.includes("d")&&(r.dictionaryOrder=!0),a.includes("M")&&(r.monthSort=!0),o=o.slice(0,-a.length)}let t=o.split(".");if(t[0]){let a=parseInt(t[0],10);if(!Number.isNaN(a)&&a>=1&&(r.endField=a),t.length>1&&t[1]){let f=parseInt(t[1],10);!Number.isNaN(f)&&f>=1&&(r.endChar=f)}}}return r}var q={name:"sort",summary:"sort lines of text files",usage:"sort [OPTION]... [FILE]...",options:["-b, --ignore-leading-blanks ignore leading blanks","-d, --dictionary-order consider only blanks and alphanumeric characters","-f, --ignore-case fold lower case to upper case characters","-h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)","-M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'","-n, --numeric-sort compare according to string numerical value","-r, --reverse reverse the result of comparisons","-V, --version-sort natural sort of (version) numbers within text","-c, --check check for sorted input; do not sort","-o, --output=FILE write result to FILE instead of stdout","-s, --stable stabilize sort by disabling last-resort comparison","-u, --unique output only unique lines","-k, --key=KEYDEF sort via a key; KEYDEF gives location and type","-t, --field-separator=SEP use SEP as field separator"," --help display this help and exit"],description:`KEYDEF is F[.C][OPTS][,F[.C][OPTS]]
2
+ F is a field number (1-indexed)
3
+ C is a character position within the field (1-indexed)
4
+ OPTS can be: b d f h M n r V (per-key modifiers)
5
+
6
+ Examples:
7
+ -k1 sort by first field
8
+ -k2,2 sort by second field only
9
+ -k1.3 sort by first field starting at 3rd character
10
+ -k1,2n sort by fields 1-2 numerically
11
+ -k2 -k1 sort by field 2, then by field 1`},j={name:"sort",async execute(u,r){if(N(u))return F(q);let e={reverse:!1,numeric:!1,unique:!1,ignoreCase:!1,humanNumeric:!1,versionSort:!1,dictionaryOrder:!1,monthSort:!1,ignoreLeadingBlanks:!1,stable:!1,checkOnly:!1,outputFile:null,keys:[],fieldDelimiter:null},l=[];for(let c=0;c<u.length;c++){let t=u[c];if(t==="-r"||t==="--reverse")e.reverse=!0;else if(t==="-n"||t==="--numeric-sort")e.numeric=!0;else if(t==="-u"||t==="--unique")e.unique=!0;else if(t==="-f"||t==="--ignore-case")e.ignoreCase=!0;else if(t==="-h"||t==="--human-numeric-sort")e.humanNumeric=!0;else if(t==="-V"||t==="--version-sort")e.versionSort=!0;else if(t==="-d"||t==="--dictionary-order")e.dictionaryOrder=!0;else if(t==="-M"||t==="--month-sort")e.monthSort=!0;else if(t==="-b"||t==="--ignore-leading-blanks")e.ignoreLeadingBlanks=!0;else if(t==="-s"||t==="--stable")e.stable=!0;else if(t==="-c"||t==="--check")e.checkOnly=!0;else if(t==="-o"||t==="--output")e.outputFile=u[++c]||null;else if(t.startsWith("-o"))e.outputFile=t.slice(2)||null;else if(t.startsWith("--output="))e.outputFile=t.slice(9)||null;else if(t==="-t"||t==="--field-separator")e.fieldDelimiter=u[++c]||null;else if(t.startsWith("-t"))e.fieldDelimiter=t.slice(2)||null;else if(t.startsWith("--field-separator="))e.fieldDelimiter=t.slice(18)||null;else if(t==="-k"||t==="--key"){let a=u[++c];if(a){let f=y(a);f&&e.keys.push(f)}}else if(t.startsWith("-k")){let a=y(t.slice(2));a&&e.keys.push(a)}else if(t.startsWith("--key=")){let a=y(t.slice(6));a&&e.keys.push(a)}else{if(t.startsWith("--"))return k("sort",t);if(t.startsWith("-")&&!t.startsWith("--")){let a=!1;for(let f of t.slice(1))if(f==="r")e.reverse=!0;else if(f==="n")e.numeric=!0;else if(f==="u")e.unique=!0;else if(f==="f")e.ignoreCase=!0;else if(f==="h")e.humanNumeric=!0;else if(f==="V")e.versionSort=!0;else if(f==="d")e.dictionaryOrder=!0;else if(f==="M")e.monthSort=!0;else if(f==="b")e.ignoreLeadingBlanks=!0;else if(f==="s")e.stable=!0;else if(f==="c")e.checkOnly=!0;else{a=!0;break}if(a)return k("sort",t)}else l.push(t)}}let s=await w(r,l,{cmdName:"sort"});if(!s.ok)return s.error;let n=s.content.split(`
12
+ `);n.length>0&&n[n.length-1]===""&&n.pop();let d=I(e);if(e.checkOnly){let c=l.length>0?l[0]:"-";for(let t=1;t<n.length;t++)if(d(n[t-1],n[t])>0)return{stdout:"",stderr:`sort: ${c}:${t+1}: disorder: ${n[t]}
13
+ `,exitCode:1};return{stdout:"",stderr:"",exitCode:0}}n.sort(d),e.unique&&(n=E(n,e));let o=n.length>0?`${n.join(`
14
+ `)}
15
+ `:"";if(e.outputFile){let c=r.fs.resolvePath(r.cwd,e.outputFile);return await r.fs.writeFile(c,o,"binary"),{stdout:"",stderr:"",exitCode:0}}return{stdout:o,stderr:"",exitCode:0,stdoutEncoding:"binary"}}},U={name:"sort",flags:[{flag:"-r",type:"boolean"},{flag:"-n",type:"boolean"},{flag:"-u",type:"boolean"},{flag:"-f",type:"boolean"},{flag:"-h",type:"boolean"},{flag:"-V",type:"boolean"},{flag:"-d",type:"boolean"},{flag:"-M",type:"boolean"},{flag:"-b",type:"boolean"},{flag:"-s",type:"boolean"},{flag:"-c",type:"boolean"},{flag:"-k",type:"value",valueHint:"string"},{flag:"-t",type:"value",valueHint:"delimiter"},{flag:"-o",type:"value",valueHint:"path"}],stdinType:"text",needsFiles:!0};export{j as a,U as b};
@@ -0,0 +1 @@
1
+ function c(t){if(!t||t==="/")return"/";let e=t.endsWith("/")&&t!=="/"?t.slice(0,-1):t;e.startsWith("/")||(e=`/${e}`);let n=e.split("/").filter(r=>r&&r!=="."),s=[];for(let r of n)r===".."?s.pop():s.push(r);return`/${s.join("/")}`||"/"}function h(t,e){if(t.includes("\0"))throw new Error(`ENOENT: path contains null byte, ${e} '${t}'`)}function p(t){let e=c(t);if(e==="/")return"/";let n=e.lastIndexOf("/");return n===0?"/":e.slice(0,n)}function y(t,e){if(e.startsWith("/"))return c(e);let n=t==="/"?`/${e}`:`${t}/${e}`;return c(n)}function m(t,e){return t==="/"?`/${e}`:`${t}/${e}`}function v(t,e){if(e.startsWith("/"))return c(e);let n=p(t);return c(m(n,e))}import*as i from"node:fs";import*as o from"node:path";function d(t,e){if(t===e)return!0;let n=t[e.length];return(n==="/"||n==="\\")&&t.startsWith(e)}function f(t,e){try{let n=i.realpathSync(t);return d(n,e)?n:null}catch(n){if(n.code==="ENOENT"){let s=o.dirname(t);if(s===t)return null;let r=f(s,e);if(r===null)return null;try{if(i.lstatSync(t).isSymbolicLink()){let l=i.readlinkSync(t),u=o.isAbsolute(l)?l:o.resolve(o.dirname(t),l);if(f(u,e)===null)return null}}catch{}return o.join(r,o.basename(t))}return null}}function P(t,e,n){let s=f(t,n);if(s===null)return null;let r=o.resolve(t),a=r.slice(e.length),l=s.slice(n.length);if(a!==l)return null;try{if(i.lstatSync(r).isSymbolicLink())return null}catch{}return s}function $(t,e){if(!i.existsSync(t))throw new Error(`${e} root does not exist`);if(!i.statSync(t).isDirectory())throw new Error(`${e} root is not a directory`)}function D(t,e){if(!o.isAbsolute(t))return{withinRoot:!0,relativePath:t};let n;try{n=i.realpathSync(t)}catch{n=o.resolve(t)}return d(n,e)?{withinRoot:!0,relativePath:n.slice(e.length).replace(/\\/g,"/")||"/"}:{withinRoot:!1,safeName:o.basename(t)}}function N(t,e,n,s){let r=t;if(r.path===void 0){for(let l of s)if(r.message?.includes(l))throw t}let a=r.code||"EIO";throw new Error(`${a}: ${n} '${e}'`)}export{c as a,h as b,p as c,y as d,m as e,v as f,d as g,f as h,P as i,$ as j,D as k,N as l};
@@ -0,0 +1 @@
1
+ import{a as e,b as a}from"./chunk-74CEPOFO.js";var t={name:"clear",summary:"clear the terminal screen",usage:"clear [OPTIONS]",options:[" --help display this help and exit"]},s={name:"clear",async execute(r,c){return a(r)?e(t):{stdout:"\x1B[2J\x1B[H",stderr:"",exitCode:0}}},o={name:"clear",flags:[]};export{s as a,o as b};
@@ -0,0 +1,31 @@
1
+ import{a as $}from"./chunk-HWKDQ44K.js";import{a as z,b as w}from"./chunk-74CEPOFO.js";import{constants as x,gunzipSync as F,gzipSync as S}from"node:zlib";var O={name:"gzip",summary:"compress or expand files",usage:"gzip [OPTION]... [FILE]...",description:`Compress FILEs (by default, in-place).
2
+
3
+ When no FILE is given, or when FILE is -, read from standard input.
4
+
5
+ With -d, decompress instead.`,options:["-c, --stdout write to standard output, keep original files","-d, --decompress decompress","-f, --force force overwrite of output file","-k, --keep keep (don't delete) input files","-l, --list list compressed file contents","-n, --no-name do not save or restore the original name and timestamp","-N, --name save or restore the original file name and timestamp","-q, --quiet suppress all warnings","-r, --recursive operate recursively on directories","-S, --suffix=SUF use suffix SUF on compressed files (default: .gz)","-t, --test test compressed file integrity","-v, --verbose verbose mode","-1, --fast compress faster","-9, --best compress better"," --help display this help and exit"]},U={name:"gunzip",summary:"decompress files",usage:"gunzip [OPTION]... [FILE]...",description:`Decompress FILEs (by default, in-place).
6
+
7
+ When no FILE is given, or when FILE is -, read from standard input.`,options:["-c, --stdout write to standard output, keep original files","-f, --force force overwrite of output file","-k, --keep keep (don't delete) input files","-l, --list list compressed file contents","-n, --no-name do not restore the original name and timestamp","-N, --name restore the original file name and timestamp","-q, --quiet suppress all warnings","-r, --recursive operate recursively on directories","-S, --suffix=SUF use suffix SUF on compressed files (default: .gz)","-t, --test test compressed file integrity","-v, --verbose verbose mode"," --help display this help and exit"]},D={name:"zcat",summary:"decompress files to stdout",usage:"zcat [OPTION]... [FILE]...",description:`Decompress FILEs to standard output.
8
+
9
+ When no FILE is given, or when FILE is -, read from standard input.`,options:["-f, --force force; read compressed data even from a terminal","-l, --list list compressed file contents","-q, --quiet suppress all warnings","-S, --suffix=SUF use suffix SUF on compressed files (default: .gz)","-t, --test test compressed file integrity","-v, --verbose verbose mode"," --help display this help and exit"]},T={stdout:{short:"c",long:"stdout",type:"boolean"},toStdout:{long:"to-stdout",type:"boolean"},decompress:{short:"d",long:"decompress",type:"boolean"},uncompress:{long:"uncompress",type:"boolean"},force:{short:"f",long:"force",type:"boolean"},keep:{short:"k",long:"keep",type:"boolean"},list:{short:"l",long:"list",type:"boolean"},noName:{short:"n",long:"no-name",type:"boolean"},name:{short:"N",long:"name",type:"boolean"},quiet:{short:"q",long:"quiet",type:"boolean"},recursive:{short:"r",long:"recursive",type:"boolean"},suffix:{short:"S",long:"suffix",type:"string",default:".gz"},test:{short:"t",long:"test",type:"boolean"},verbose:{short:"v",long:"verbose",type:"boolean"},fast:{short:"1",long:"fast",type:"boolean"},level2:{short:"2",type:"boolean"},level3:{short:"3",type:"boolean"},level4:{short:"4",type:"boolean"},level5:{short:"5",type:"boolean"},level6:{short:"6",type:"boolean"},level7:{short:"7",type:"boolean"},level8:{short:"8",type:"boolean"},best:{short:"9",long:"best",type:"boolean"}};function E(e){return e.best?x.Z_BEST_COMPRESSION:e.level8?8:e.level7?7:e.level6?6:e.level5?5:e.level4?4:e.level3?3:e.level2?2:e.fast?x.Z_BEST_SPEED:x.Z_DEFAULT_COMPRESSION}function k(e){if(e.length<10)return{originalName:null,mtime:null,headerSize:0};if(e[0]!==31||e[1]!==139)return{originalName:null,mtime:null,headerSize:0};let t=e[3],r=e[4]|e[5]<<8|e[6]<<16|e[7]<<24,o=10;if(t&4){if(o+2>e.length)return{originalName:null,mtime:null,headerSize:0};let n=e[o]|e[o+1]<<8;o+=2+n}let s=null;if(t&8){let n=o;for(;o<e.length&&e[o]!==0;)o++;o<e.length&&(s=new TextDecoder().decode(e.slice(n,o)),o++)}if(t&16){for(;o<e.length&&e[o]!==0;)o++;o++}return t&2&&(o+=2),{originalName:s,mtime:r>0?new Date(r*1e3):null,headerSize:o}}function q(e){if(e.length<4)return 0;let t=e.length;return e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24}function b(e){return e.length>=2&&e[0]===31&&e[1]===139}function m(e){return Buffer.from(e).toString("latin1")}function I(e){return e.limits?.maxOutputSize??0}function v(e,t){if(t>0){if(q(e)>t)throw new Error(`decompressed data exceeds limit (${t} bytes)`);return F(e,{maxOutputLength:t})}return F(e)}async function L(e,t,r,o,s,n){let a=r.suffix,f,p,d,c=I(e);if(t==="-"||t==="")if(d=Uint8Array.from(e.stdin,i=>i.charCodeAt(0)),s){if(!b(d))return r.quiet?{stdout:"",stderr:"",exitCode:1}:{stdout:"",stderr:`${o}: stdin: not in gzip format
10
+ `,exitCode:1};try{let i=v(d,c);return{stdout:m(i),stderr:"",exitCode:0}}catch(i){let l=i instanceof Error?i.message:"unknown error";return{stdout:"",stderr:`${o}: stdin: ${l}
11
+ `,exitCode:1}}}else{let i=E(r),l=S(d,{level:i});return{stdout:m(l),stderr:"",exitCode:0}}f=e.fs.resolvePath(e.cwd,t);try{if((await e.fs.stat(f)).isDirectory)return r.recursive?await P(e,f,r,o,s,n):r.quiet?{stdout:"",stderr:"",exitCode:1}:{stdout:"",stderr:`${o}: ${t}: is a directory -- ignored
12
+ `,exitCode:1}}catch{return{stdout:"",stderr:`${o}: ${t}: No such file or directory
13
+ `,exitCode:1}}try{d=await e.fs.readFileBuffer(f)}catch{return{stdout:"",stderr:`${o}: ${t}: No such file or directory
14
+ `,exitCode:1}}if(s){if(!t.endsWith(a))return r.quiet?{stdout:"",stderr:"",exitCode:1}:{stdout:"",stderr:`${o}: ${t}: unknown suffix -- ignored
15
+ `,exitCode:1};if(!b(d))return r.quiet?{stdout:"",stderr:"",exitCode:1}:{stdout:"",stderr:`${o}: ${t}: not in gzip format
16
+ `,exitCode:1};let i;try{i=v(d,c)}catch(l){let u=l instanceof Error?l.message:"unknown error";return{stdout:"",stderr:`${o}: ${t}: ${u}
17
+ `,exitCode:1}}if(n)return{stdout:m(i),stderr:"",exitCode:0};if(r.name){let l=k(d);l.originalName?p=e.fs.resolvePath(e.cwd,l.originalName):p=f.slice(0,-a.length)}else p=f.slice(0,-a.length);if(!r.force)try{return await e.fs.stat(p),{stdout:"",stderr:`${o}: ${p} already exists; not overwritten
18
+ `,exitCode:1}}catch{}if(await e.fs.writeFile(p,i),!r.keep&&!n&&await e.fs.rm(f),r.verbose){let l=d.length>0?((1-d.length/i.length)*100).toFixed(1):"0.0";return{stdout:"",stderr:`${t}: ${l}% -- replaced with ${p.split("/").pop()}
19
+ `,exitCode:0}}return{stdout:"",stderr:"",exitCode:0}}else{if(t.endsWith(a))return r.quiet?{stdout:"",stderr:"",exitCode:1}:{stdout:"",stderr:`${o}: ${t} already has ${a} suffix -- unchanged
20
+ `,exitCode:1};let i=E(r),l;try{l=S(d,{level:i})}catch(u){let g=u instanceof Error?u.message:"unknown error";return{stdout:"",stderr:`${o}: ${t}: ${g}
21
+ `,exitCode:1}}if(n)return{stdout:m(l),stderr:"",exitCode:0};if(p=f+a,!r.force)try{return await e.fs.stat(p),{stdout:"",stderr:`${o}: ${p} already exists; not overwritten
22
+ `,exitCode:1}}catch{}if(await e.fs.writeFile(p,l),!r.keep&&!n&&await e.fs.rm(f),r.verbose){let u=d.length>0?((1-l.length/d.length)*100).toFixed(1):"0.0";return{stdout:"",stderr:`${t}: ${u}% -- replaced with ${p.split("/").pop()}
23
+ `,exitCode:0}}return{stdout:"",stderr:"",exitCode:0}}}async function P(e,t,r,o,s,n){let a=await e.fs.readdir(t),f="",p="",d=0;for(let c of a){let i=e.fs.resolvePath(t,c),l=await e.fs.stat(i);if(l.isDirectory){let u=await P(e,i,r,o,s,n);f+=u.stdout,p+=u.stderr,u.exitCode!==0&&(d=u.exitCode)}else if(l.isFile){let u=r.suffix;if(s&&!c.endsWith(u)||!s&&c.endsWith(u))continue;let g=i.startsWith(`${e.cwd}/`)?i.slice(e.cwd.length+1):i,y=await L(e,g,r,o,s,n);f+=y.stdout,p+=y.stderr,y.exitCode!==0&&(d=y.exitCode)}}return{stdout:f,stderr:p,exitCode:d}}async function W(e,t,r,o){let s;if(t==="-"||t==="")s=Uint8Array.from(e.stdin,i=>i.charCodeAt(0));else{let i=e.fs.resolvePath(e.cwd,t);try{s=await e.fs.readFileBuffer(i)}catch{return{stdout:"",stderr:`${o}: ${t}: No such file or directory
24
+ `,exitCode:1}}}if(!b(s))return r.quiet?{stdout:"",stderr:"",exitCode:1}:{stdout:"",stderr:`${o}: ${t}: not in gzip format
25
+ `,exitCode:1};let n=s.length,a=q(s),f=a>0?((1-n/a)*100).toFixed(1):"0.0",d=k(s).originalName||(t==="-"?"":t.replace(/\.gz$/,""));return{stdout:`${n.toString().padStart(10)} ${a.toString().padStart(10)} ${f.padStart(5)}% ${d}
26
+ `,stderr:"",exitCode:0}}async function A(e,t,r,o){let s;if(t==="-"||t==="")s=Uint8Array.from(e.stdin,n=>n.charCodeAt(0));else{let n=e.fs.resolvePath(e.cwd,t);try{s=await e.fs.readFileBuffer(n)}catch{return{stdout:"",stderr:`${o}: ${t}: No such file or directory
27
+ `,exitCode:1}}}if(!b(s))return r.quiet?{stdout:"",stderr:"",exitCode:1}:{stdout:"",stderr:`${o}: ${t}: not in gzip format
28
+ `,exitCode:1};try{return v(s,I(e)),r.verbose?{stdout:"",stderr:`${t}: OK
29
+ `,exitCode:0}:{stdout:"",stderr:"",exitCode:0}}catch(n){let a=n instanceof Error?n.message:"invalid";return{stdout:"",stderr:`${o}: ${t}: ${a}
30
+ `,exitCode:1}}}async function C(e,t,r){let o=r==="zcat"?D:r==="gunzip"?U:O;if(w(e))return z(o);let s=$(r,e,T);if(!s.ok)return s.error.stderr.includes("unrecognized option"),s.error;let n=s.result.flags,a=s.result.positional,f=r==="gunzip"||r==="zcat"||n.decompress||n.uncompress,p=r==="zcat"||n.stdout||n.toStdout;if(n.list){a.length===0&&(a=["-"]);let l=` compressed uncompressed ratio uncompressed_name
31
+ `,u="",g=0;for(let y of a){let h=await W(t,y,n,r);l+=h.stdout,u+=h.stderr,h.exitCode!==0&&(g=h.exitCode)}return{stdout:l,stderr:u,exitCode:g}}if(n.test){a.length===0&&(a=["-"]);let l="",u="",g=0;for(let y of a){let h=await A(t,y,n,r);l+=h.stdout,u+=h.stderr,h.exitCode!==0&&(g=h.exitCode)}return{stdout:l,stderr:u,exitCode:g}}a.length===0&&(a=["-"]);let d="",c="",i=0;for(let l of a){let u=await L(t,l,n,r,f,p);d+=u.stdout,c+=u.stderr,u.exitCode!==0&&(i=u.exitCode)}return{stdout:d,stderr:c,exitCode:i}}var G={name:"gzip",async execute(e,t){return{...await C(e,t,"gzip"),stdoutEncoding:"binary"}}},M={name:"gunzip",async execute(e,t){return{...await C(e,t,"gunzip"),stdoutEncoding:"binary"}}},Z={name:"zcat",async execute(e,t){return{...await C(e,t,"zcat"),stdoutEncoding:"binary"}}},R={name:"gzip",flags:[{flag:"-c",type:"boolean"},{flag:"-d",type:"boolean"},{flag:"-f",type:"boolean"},{flag:"-k",type:"boolean"},{flag:"-l",type:"boolean"},{flag:"-n",type:"boolean"},{flag:"-q",type:"boolean"},{flag:"-r",type:"boolean"},{flag:"-t",type:"boolean"},{flag:"-v",type:"boolean"},{flag:"-1",type:"boolean"},{flag:"-9",type:"boolean"}],stdinType:"binary",needsFiles:!0},K={name:"gunzip",flags:[{flag:"-c",type:"boolean"},{flag:"-f",type:"boolean"},{flag:"-k",type:"boolean"},{flag:"-q",type:"boolean"},{flag:"-v",type:"boolean"}],stdinType:"binary",needsFiles:!0},j={name:"zcat",flags:[{flag:"-f",type:"boolean"},{flag:"-q",type:"boolean"},{flag:"-v",type:"boolean"}],stdinType:"binary",needsFiles:!0};export{G as a,M as b,Z as c,R as d,K as e,j as f};
@@ -0,0 +1,7 @@
1
+ import{a as x}from"./chunk-HWKDQ44K.js";import{a as b,b as F}from"./chunk-74CEPOFO.js";var v={name:"column",summary:"columnate lists",usage:"column [OPTION]... [FILE]...",description:"Format input into multiple columns. By default, fills rows first. Use -t to create a table based on whitespace-delimited input.",options:["-t Create a table (determine columns from input)","-s SEP Input field delimiter (default: whitespace)","-o SEP Output field delimiter (default: two spaces)","-c WIDTH Output width for fill mode (default: 80)","-n Don't merge multiple adjacent delimiters"],examples:["ls | column # Fill columns with ls output","cat data | column -t # Format as table","column -t -s ',' file # Format CSV as table","column -c 40 file # Fill 40-char wide columns"]},H={table:{short:"t",long:"table",type:"boolean"},separator:{short:"s",type:"string"},outputSep:{short:"o",type:"string"},width:{short:"c",type:"number",default:80},noMerge:{short:"n",type:"boolean"}};function C(t,e,l){return e?l?t.split(e):t.split(e).filter(n=>n.length>0):l?t.split(/[ \t]/):t.split(/[ \t]+/).filter(n=>n.length>0)}function I(t){let e=[];for(let l of t)for(let n=0;n<l.length;n++){let o=l[n].length;(e[n]===void 0||o>e[n])&&(e[n]=o)}return e}function W(t,e){if(t.length===0)return"";let l=I(t),n=[];for(let o of t){let c=[];for(let s=0;s<o.length;s++)s===o.length-1?c.push(o[s]):c.push(o[s].padEnd(l[s]));n.push(c.join(e))}return n.join(`
2
+ `)}function j(t,e,l){if(t.length===0)return"";let n=Math.max(...t.map(a=>a.length)),o=l.length,c=n+o,s=Math.max(1,Math.floor((e+o)/c)),p=Math.ceil(t.length/s),d=[];for(let a=0;a<p;a++){let i=[];for(let r=0;r<s;r++){let m=r*p+a;m<t.length&&(r===s-1||(r+1)*p+a>=t.length?i.push(t[m]):i.push(t[m].padEnd(n)))}d.push(i.join(l))}return d.join(`
3
+ `)}var M={name:"column",execute:async(t,e)=>{if(F(t))return b(v);let l=x("column",t,H);if(!l.ok)return l.error;let{table:n,separator:o,outputSep:c,width:s,noMerge:p}=l.result.flags,d=l.result.positional,a=c??" ",i;if(d.length===0)i=e.stdin??"";else{let u=[];for(let f of d)if(f==="-")u.push(e.stdin??"");else{let w=e.fs.resolvePath(e.cwd,f),y=await e.fs.readFile(w);if(y===null)return{exitCode:1,stdout:"",stderr:`column: ${f}: No such file or directory
4
+ `};u.push(y)}i=u.join("")}if(i===""||i.trim()==="")return{exitCode:0,stdout:"",stderr:""};let r=i.split(`
5
+ `);i.endsWith(`
6
+ `)&&r[r.length-1]===""&&r.pop();let g=r.filter(u=>u.trim().length>0),h;if(n){let u=g.map(f=>C(f,o,p));h=W(u,a)}else{let u=[];for(let f of g){let w=C(f,o,p);u.push(...w)}h=j(u,s,a)}return h.length>0&&(h+=`
7
+ `),{exitCode:0,stdout:h,stderr:""}}},P={name:"column",flags:[{flag:"-t",type:"boolean"},{flag:"-s",type:"value",valueHint:"delimiter"},{flag:"-o",type:"value",valueHint:"string"},{flag:"-c",type:"value",valueHint:"number"},{flag:"-n",type:"boolean"}],stdinType:"text",needsFiles:!0};export{M as a,P as b};
@@ -0,0 +1,6 @@
1
+ import{a as f}from"./chunk-3THT3N7L.js";import{a as d}from"./chunk-HWKDQ44K.js";import{a as l}from"./chunk-44UOCSGV.js";var p={recursive:{short:"p",long:"parents",type:"boolean"},verbose:{short:"v",long:"verbose",type:"boolean"}},b={name:"mkdir",async execute(m,t){let e=d("mkdir",m,p);if(!e.ok)return e.error;let u=e.result.flags.recursive,g=e.result.flags.verbose,n=e.result.positional;if(n.length===0)return{stdout:"",stderr:`mkdir: missing operand
2
+ `,exitCode:1};let a="",o="",c=0;for(let r of n)try{let i=t.fs.resolvePath(t.cwd,r);await t.fs.mkdir(i,{recursive:u}),g&&(a+=`mkdir: created directory '${r}'
3
+ `)}catch(i){let s=l(i);s.includes("ENOENT")||s.includes("no such file")?o+=`mkdir: cannot create directory '${r}': No such file or directory
4
+ `:s.includes("EEXIST")||s.includes("already exists")?o+=`mkdir: cannot create directory '${r}': File exists
5
+ `:o+=`mkdir: cannot create directory '${r}': ${f(s)}
6
+ `,c=1}return{stdout:a,stderr:o,exitCode:c}}},h={name:"mkdir",flags:[{flag:"-p",type:"boolean"},{flag:"-v",type:"boolean"}],needsArgs:!0};export{b as a,h as b};
@@ -0,0 +1,4 @@
1
+ import{a as c,b as u,c as h}from"./chunk-74CEPOFO.js";import f from"turndown";var p={name:"html-to-markdown",summary:"convert HTML to Markdown (BashEnv extension)",usage:"html-to-markdown [OPTION]... [FILE]",description:["Convert HTML content to Markdown format using the turndown library.","This is a non-standard BashEnv extension command, not available in regular bash.","","Read HTML from FILE or standard input and output Markdown to standard output.","Commonly used with curl to convert web pages:"," curl -s https://example.com | html-to-markdown","","Supported HTML elements:"," - Headings (h1-h6) \u2192 # Markdown headings"," - Paragraphs (p) \u2192 Plain text with blank lines"," - Links (a) \u2192 [text](url)"," - Images (img) \u2192 ![alt](src)"," - Bold/Strong \u2192 **text**"," - Italic/Em \u2192 _text_"," - Code (code, pre) \u2192 `inline` or fenced blocks"," - Lists (ul, ol, li) \u2192 - or 1. items"," - Blockquotes \u2192 > quoted text"," - Horizontal rules (hr) \u2192 ---"],options:["-b, --bullet=CHAR bullet character for unordered lists (-, +, or *)","-c, --code=FENCE fence style for code blocks (``` or ~~~)","-r, --hr=STRING string for horizontal rules (default: ---)"," --heading-style=STYLE"," heading style: 'atx' for # headings (default),"," 'setext' for underlined headings (h1/h2 only)"," --help display this help and exit"],examples:["echo '<h1>Hello</h1><p>World</p>' | html-to-markdown","html-to-markdown page.html","curl -s https://example.com | html-to-markdown > page.md"]},g={name:"html-to-markdown",async execute(r,n){if(u(r))return c(p);let s="-",a="```",i="---",m="atx",o=[];for(let e=0;e<r.length;e++){let t=r[e];if(t==="-b"||t==="--bullet")s=r[++e]??"-";else if(t.startsWith("--bullet="))s=t.slice(9);else if(t==="-c"||t==="--code")a=r[++e]??"```";else if(t.startsWith("--code="))a=t.slice(7);else if(t==="-r"||t==="--hr")i=r[++e]??"---";else if(t.startsWith("--hr="))i=t.slice(5);else if(t.startsWith("--heading-style=")){let d=t.slice(16);(d==="setext"||d==="atx")&&(m=d)}else if(t==="-")o.push("-");else{if(t.startsWith("--"))return h("html-to-markdown",t);if(t.startsWith("-"))return h("html-to-markdown",t);o.push(t)}}let l;if(o.length===0||o.length===1&&o[0]==="-")l=n.stdin;else try{let e=n.fs.resolvePath(n.cwd,o[0]);l=await n.fs.readFile(e)}catch{return{stdout:"",stderr:`html-to-markdown: ${o[0]}: No such file or directory
2
+ `,exitCode:1}}if(!l.trim())return{stdout:"",stderr:"",exitCode:0};try{let e=new f({bulletListMarker:s,codeBlockStyle:"fenced",fence:a,hr:i,headingStyle:m});return e.remove(["script","style","footer"]),{stdout:`${e.turndown(l).trim()}
3
+ `,stderr:"",exitCode:0}}catch(e){return{stdout:"",stderr:`html-to-markdown: conversion error: ${e.message}
4
+ `,exitCode:1}}}},x={name:"html-to-markdown",flags:[],stdinType:"text"};export{g as a,x as b};
@@ -0,0 +1,8 @@
1
+ async function c(e,t){if(e.length>0&&e[0]!=="-"){let i=t.fs.resolvePath(t.cwd,e[0]);try{let s=(await t.fs.readFile(i)).split(`
2
+ `);s[s.length-1]===""&&s.pop();let r=s.reverse();return{stdout:r.length>0?`${r.join(`
3
+ `)}
4
+ `:"",stderr:"",exitCode:0}}catch{return{stdout:"",stderr:`tac: ${e[0]}: No such file or directory
5
+ `,exitCode:1}}}let n=t.stdin.split(`
6
+ `);n[n.length-1]===""&&n.pop();let o=n.reverse();return{stdout:o.length>0?`${o.join(`
7
+ `)}
8
+ `:"",stderr:"",exitCode:0}}var l={name:"tac",execute:c},a={name:"tac",flags:[],stdinType:"text",needsFiles:!0};export{l as a,a as b};
@@ -0,0 +1,7 @@
1
+ import{a as p}from"./chunk-3THT3N7L.js";import{a as m}from"./chunk-HWKDQ44K.js";import{a as u}from"./chunk-44UOCSGV.js";var v={recursive:{short:"r",long:"recursive",type:"boolean"},recursiveUpper:{short:"R",type:"boolean"},force:{short:"f",long:"force",type:"boolean"},verbose:{short:"v",long:"verbose",type:"boolean"}},E={name:"rm",async execute(g,s){let e=m("rm",g,v);if(!e.ok)return e.error;let i=e.result.flags.recursive||e.result.flags.recursiveUpper,a=e.result.flags.force,d=e.result.flags.verbose,c=e.result.positional;if(c.length===0)return a?{stdout:"",stderr:"",exitCode:0}:{stdout:"",stderr:`rm: missing operand
2
+ `,exitCode:1};let f="",t="",l=0;for(let r of c)try{let n=s.fs.resolvePath(s.cwd,r);if((await s.fs.stat(n)).isDirectory&&!i){t+=`rm: cannot remove '${r}': Is a directory
3
+ `,l=1;continue}await s.fs.rm(n,{recursive:i,force:a}),d&&(f+=`removed '${r}'
4
+ `)}catch(n){if(!a){let o=u(n);o.includes("ENOENT")||o.includes("no such file")?t+=`rm: cannot remove '${r}': No such file or directory
5
+ `:o.includes("ENOTEMPTY")||o.includes("not empty")?t+=`rm: cannot remove '${r}': Directory not empty
6
+ `:t+=`rm: cannot remove '${r}': ${p(o)}
7
+ `,l=1}}return{stdout:f,stderr:t,exitCode:l}}},$={name:"rm",flags:[{flag:"-r",type:"boolean"},{flag:"-R",type:"boolean"},{flag:"-f",type:"boolean"},{flag:"-v",type:"boolean"}],needsArgs:!0};export{E as a,$ as b};
@@ -0,0 +1,15 @@
1
+ import{a as r}from"./chunk-IPJHKYVM.js";var c=new Map([["File operations",["ls","cat","head","tail","wc","touch","mkdir","rm","cp","mv","ln","chmod","stat","readlink"]],["Text processing",["grep","sed","awk","sort","uniq","cut","tr","tee","diff"]],["Search",["find"]],["Navigation & paths",["pwd","basename","dirname","tree","du"]],["Environment & shell",["echo","printf","env","printenv","export","alias","unalias","history","clear","true","false","bash","sh"]],["Data processing",["xargs","jq","base64","date"]],["Network",["curl","html-to-markdown"]]]);function d(n){let e=[],s=new Set(n);e.push(`Available commands:
2
+ `);let t=[];for(let[a,l]of c){let o=l.filter(i=>s.has(i));if(o.length>0){e.push(` ${a}:`),e.push(` ${o.join(", ")}
3
+ `);for(let i of o)s.delete(i)}}for(let a of s)t.push(a);return t.length>0&&(e.push(" Other:"),e.push(` ${t.sort().join(", ")}
4
+ `)),e.push("Use '<command> --help' for details on a specific command."),`${e.join(`
5
+ `)}
6
+ `}var h={name:"help",async execute(n,e){if(n.includes("--help")||n.includes("-h"))return{stdout:`help - display available commands
7
+
8
+ Usage: help [command]
9
+
10
+ Options:
11
+ -h, --help Show this help message
12
+
13
+ If a command name is provided, shows help for that command.
14
+ Otherwise, lists all available commands.
15
+ `,stderr:"",exitCode:0};if(n.length>0&&e.exec){let t=n[0];return e.exec(r([t]),{cwd:e.cwd,signal:e.signal,args:["--help"]})}let s=e.getRegisteredCommands?.()??[];return{stdout:d(s),stderr:"",exitCode:0}}},p={name:"help",flags:[]};export{h as a,p as b};
@@ -0,0 +1,16 @@
1
+ import{a,b as d,c as h}from"./chunk-74CEPOFO.js";var k={name:"split",summary:"split a file into pieces",usage:"split [OPTION]... [FILE [PREFIX]]",description:"Output pieces of FILE to PREFIXaa, PREFIXab, ...; default size is 1000 lines, and default PREFIX is 'x'.",options:["-l N Put N lines per output file","-b SIZE Put SIZE bytes per output file (K, M, G suffixes)","-n CHUNKS Split into CHUNKS equal-sized files","-d Use numeric suffixes (00, 01, ...) instead of alphabetic","-a LENGTH Use suffixes of length LENGTH (default: 2)","--additional-suffix=SUFFIX Append SUFFIX to file names"],examples:["split -l 100 file.txt # Split into 100-line chunks","split -b 1M file.bin # Split into 1MB chunks","split -n 5 file.txt # Split into 5 equal parts","split -d file.txt part_ # part_00, part_01, ...","split -a 3 -d file.txt x # x000, x001, ..."]},p=1e5;function m(s){let l=s.match(/^(\d+)([KMGTPEZY]?)([B]?)$/i);if(!l)return null;let e=Number.parseInt(l[1],10);if(Number.isNaN(e)||e<1)return null;let o=(l[2]||"").toUpperCase(),u=new Map([["",1],["K",1024],["M",1024*1024],["G",1024*1024*1024],["T",1024*1024*1024*1024],["P",1024*1024*1024*1024*1024]]).get(o);return u===void 0?null:e*u}function y(s,l,e){if(l)return s.toString().padStart(e,"0");let o="abcdefghijklmnopqrstuvwxyz",t="",u=s;for(let r=0;r<e;r++)t=o[u%26]+t,u=Math.floor(u/26);return t}function g(s,l){let e=s.split(`
2
+ `),o=s.endsWith(`
3
+ `)&&e[e.length-1]==="";o&&e.pop();let t=[];for(let u=0;u<e.length;u+=l){let r=e.slice(u,u+l),c=u+l>=e.length&&!o?r.join(`
4
+ `):`${r.join(`
5
+ `)}
6
+ `;t.push({content:c,hasContent:!0})}return t}function C(s,l){let o=new TextEncoder().encode(s),t=new TextDecoder,u=[];for(let r=0;r<o.length;r+=l){let f=o.slice(r,r+l);u.push({content:t.decode(f),hasContent:f.length>0})}return u}function S(s,l){let o=new TextEncoder().encode(s),t=new TextDecoder,u=[],r=Math.ceil(o.length/l);for(let f=0;f<l;f++){let c=f*r,i=Math.min(c+r,o.length),n=o.slice(c,i);u.push({content:t.decode(n),hasContent:n.length>0})}return u}var I={name:"split",execute:async(s,l)=>{if(d(s))return a(k);let e={mode:"lines",lines:1e3,bytes:0,chunks:0,useNumericSuffix:!1,suffixLength:2,additionalSuffix:""},o=[],t=0;for(;t<s.length;){let i=s[t];if(i==="-l"&&t+1<s.length){let n=Number.parseInt(s[t+1],10);if(Number.isNaN(n)||n<1)return{exitCode:1,stdout:"",stderr:`split: invalid number of lines: '${s[t+1]}'
7
+ `};e.mode="lines",e.lines=n,t+=2}else if(i.match(/^-l\d+$/)){let n=Number.parseInt(i.slice(2),10);if(Number.isNaN(n)||n<1)return{exitCode:1,stdout:"",stderr:`split: invalid number of lines: '${i.slice(2)}'
8
+ `};e.mode="lines",e.lines=n,t++}else if(i==="-b"&&t+1<s.length){let n=m(s[t+1]);if(n===null)return{exitCode:1,stdout:"",stderr:`split: invalid number of bytes: '${s[t+1]}'
9
+ `};e.mode="bytes",e.bytes=n,t+=2}else if(i.match(/^-b.+$/)){let n=m(i.slice(2));if(n===null)return{exitCode:1,stdout:"",stderr:`split: invalid number of bytes: '${i.slice(2)}'
10
+ `};e.mode="bytes",e.bytes=n,t++}else if(i==="-n"&&t+1<s.length){let n=Number.parseInt(s[t+1],10);if(Number.isNaN(n)||n<1)return{exitCode:1,stdout:"",stderr:`split: invalid number of chunks: '${s[t+1]}'
11
+ `};e.mode="chunks",e.chunks=n,t+=2}else if(i.match(/^-n\d+$/)){let n=Number.parseInt(i.slice(2),10);if(Number.isNaN(n)||n<1)return{exitCode:1,stdout:"",stderr:`split: invalid number of chunks: '${i.slice(2)}'
12
+ `};e.mode="chunks",e.chunks=n,t++}else if(i==="-a"&&t+1<s.length){let n=Number.parseInt(s[t+1],10);if(Number.isNaN(n)||n<1)return{exitCode:1,stdout:"",stderr:`split: invalid suffix length: '${s[t+1]}'
13
+ `};e.suffixLength=n,t+=2}else if(i.match(/^-a\d+$/)){let n=Number.parseInt(i.slice(2),10);if(Number.isNaN(n)||n<1)return{exitCode:1,stdout:"",stderr:`split: invalid suffix length: '${i.slice(2)}'
14
+ `};e.suffixLength=n,t++}else if(i==="-d"||i==="--numeric-suffixes")e.useNumericSuffix=!0,t++;else if(i.startsWith("--additional-suffix="))e.additionalSuffix=i.slice(20),t++;else if(i==="--additional-suffix"&&t+1<s.length)e.additionalSuffix=s[t+1],t+=2;else if(i==="--"){o.push(...s.slice(t+1));break}else{if(i.startsWith("-")&&i!=="-")return h("split",i);o.push(i),t++}}let u="-",r="x";o.length>=1&&(u=o[0]),o.length>=2&&(r=o[1]);let f;if(u==="-")f=l.stdin??"";else{let i=l.fs.resolvePath(l.cwd,u),n=await l.fs.readFile(i);if(n===null)return{exitCode:1,stdout:"",stderr:`split: ${u}: No such file or directory
15
+ `};f=n}if(f==="")return{exitCode:0,stdout:"",stderr:""};let c;switch(e.mode){case"lines":c=g(f,e.lines);break;case"bytes":c=C(f,e.bytes);break;case"chunks":c=S(f,e.chunks);break;default:return e.mode}if(c.length>p)return{exitCode:1,stdout:"",stderr:`split: too many output files (${c.length}), limit is ${p}
16
+ `};for(let i=0;i<c.length;i++){let n=c[i];if(!n.hasContent)continue;let x=y(i,e.useNumericSuffix,e.suffixLength),b=`${r}${x}${e.additionalSuffix}`,N=l.fs.resolvePath(l.cwd,b);await l.fs.writeFile(N,n.content)}return{exitCode:0,stdout:"",stderr:""}}},$={name:"split",flags:[{flag:"-l",type:"value",valueHint:"number"},{flag:"-b",type:"value",valueHint:"string"},{flag:"-n",type:"value",valueHint:"number"},{flag:"-d",type:"boolean"},{flag:"-a",type:"value",valueHint:"number"}],needsFiles:!0};export{I as a,$ as b};
@@ -0,0 +1,8 @@
1
+ import{a as v}from"./chunk-OJDRYQWQ.js";import{a as c,b as f,c as m}from"./chunk-74CEPOFO.js";var g={name:"env",summary:"run a program in a modified environment",usage:"env [OPTION]... [NAME=VALUE]... [COMMAND [ARG]...]",options:["-i, --ignore-environment start with an empty environment","-u NAME, --unset=NAME remove NAME from the environment"," --help display this help and exit"]},w={name:"env",async execute(o,i){if(f(o))return c(g);let a=!1,r=[],u=new Map,t=-1;for(let n=0;n<o.length;n++){let e=o[n];if(e==="-i"||e==="--ignore-environment")a=!0;else if(e==="-u"&&n+1<o.length)r.push(o[++n]);else if(e.startsWith("-u"))r.push(e.slice(2));else if(e.startsWith("--unset="))r.push(e.slice(8));else{if(e.startsWith("--")&&e!=="--")return m("env",e);if(e.startsWith("-")&&e!=="-"){for(let l of e.slice(1))if(l!=="i"&&l!=="u")return m("env",`-${l}`);e.includes("i")&&(a=!0)}else if(e.includes("=")&&t===-1){let l=e.indexOf("="),d=e.slice(0,l),h=e.slice(l+1);u.set(d,h)}else{t=n;break}}}let s;if(a)s=new Map(u);else{s=new Map(i.env);for(let n of r)s.delete(n);for(let[n,e]of u)s.set(n,e)}if(t===-1){let n=[];for(let[e,l]of s)n.push(`${e}=${l}`);return{stdout:n.join(`
2
+ `)+(n.length>0?`
3
+ `:""),stderr:"",exitCode:0}}if(!i.exec)return{stdout:"",stderr:`env: command execution not supported in this context
4
+ `,exitCode:1};let p=o.slice(t);return i.exec("command",{cwd:i.cwd,env:v(s),replaceEnv:!0,stdin:i.stdin,signal:i.signal,args:p})}},x={name:"printenv",summary:"print all or part of environment",usage:"printenv [OPTION]... [VARIABLE]...",options:[" --help display this help and exit"]},E={name:"printenv",async execute(o,i){if(f(o))return c(x);let a=o.filter(t=>!t.startsWith("-"));if(a.length===0){let t=[];for(let[s,p]of i.env)t.push(`${s}=${p}`);return{stdout:t.join(`
5
+ `)+(t.length>0?`
6
+ `:""),stderr:"",exitCode:0}}let r=[],u=0;for(let t of a){let s=i.env.get(t);s!==void 0?r.push(s):u=1}return{stdout:r.join(`
7
+ `)+(r.length>0?`
8
+ `:""),stderr:"",exitCode:u}}},M={name:"env",flags:[{flag:"-i",type:"boolean"},{flag:"-u",type:"value",valueHint:"string"}]},N={name:"printenv",flags:[]};export{w as a,E as b,M as c,N as d};
@@ -0,0 +1,2 @@
1
+ import{a as i,b as l}from"./chunk-74CEPOFO.js";var p={name:"history",summary:"display command history",usage:"history [n]",options:["-c clear the history list"," --help display this help and exit"]},h="BASH_HISTORY",m={name:"history",async execute(e,s){if(l(e))return i(p);let a=s.env.get(h)||"[]",t;try{t=JSON.parse(a)}catch{t=[]}if(e[0]==="-c")return s.env.set(h,"[]"),{stdout:"",stderr:"",exitCode:0};let n=t.length;e[0]&&/^\d+$/.test(e[0])&&(n=Math.min(parseInt(e[0],10),t.length));let c=t.length-n,r="";for(let o=c;o<t.length;o++){let y=(o+1).toString().padStart(5," ");r+=`${y} ${t[o]}
2
+ `}return{stdout:r,stderr:"",exitCode:0}}},u={name:"history",flags:[{flag:"-c",type:"boolean"}]};export{m as a,u as b};
File without changes
@@ -0,0 +1,7 @@
1
+ import{a as m}from"./chunk-HWKDQ44K.js";import{a as $}from"./chunk-44UOCSGV.js";import{a as y,b as h}from"./chunk-74CEPOFO.js";var D={name:"cp",summary:"copy files and directories",usage:"cp [OPTION]... SOURCE... DEST",options:["-r, -R, --recursive copy directories recursively","-n, --no-clobber do not overwrite an existing file","-p, --preserve preserve file attributes","-v, --verbose explain what is being done"," --help display this help and exit"]},E={recursive:{short:"r",long:"recursive",type:"boolean"},recursiveUpper:{short:"R",type:"boolean"},noClobber:{short:"n",long:"no-clobber",type:"boolean"},preserve:{short:"p",long:"preserve",type:"boolean"},verbose:{short:"v",long:"verbose",type:"boolean"}},A={name:"cp",async execute(f,e){if(h(f))return y(D);let t=m("cp",f,E);if(!t.ok)return t.error;let u=t.result.flags.recursive||t.result.flags.recursiveUpper,w=t.result.flags.noClobber,C=t.result.flags.preserve,P=t.result.flags.verbose,c=t.result.positional;if(c.length<2)return{stdout:"",stderr:`cp: missing destination file operand
2
+ `,exitCode:1};let g=c.pop()??"",d=c,o=e.fs.resolvePath(e.cwd,g),b="",n="",l=0,p=!1;try{p=(await e.fs.stat(o)).isDirectory}catch{}if(d.length>1&&!p)return{stdout:"",stderr:`cp: target '${g}' is not a directory
3
+ `,exitCode:1};for(let r of d)try{let a=e.fs.resolvePath(e.cwd,r),s=await e.fs.stat(a),i=o;if(p){let v=r.split("/").pop()||r;i=o==="/"?`/${v}`:`${o}/${v}`}if(s.isDirectory&&!u){n+=`cp: -r not specified; omitting directory '${r}'
4
+ `,l=1;continue}if(w)try{await e.fs.stat(i);continue}catch{}await e.fs.cp(a,i,{recursive:u}),P&&(b+=`'${r}' -> '${i}'
5
+ `)}catch(a){let s=$(a);s.includes("ENOENT")||s.includes("no such file")?n+=`cp: cannot stat '${r}': No such file or directory
6
+ `:n+=`cp: cannot copy '${r}': ${s}
7
+ `,l=1}return{stdout:b,stderr:n,exitCode:l}}},F={name:"cp",flags:[{flag:"-r",type:"boolean"},{flag:"-R",type:"boolean"},{flag:"-n",type:"boolean"},{flag:"-p",type:"boolean"},{flag:"-v",type:"boolean"}],needsArgs:!0,minArgs:2};export{A as a,F as b};
@@ -0,0 +1,6 @@
1
+ import{a as m}from"./chunk-44UOCSGV.js";import{c}from"./chunk-74CEPOFO.js";function h(s){let a=s.replace(/\//g,"-"),r=new Date(a);if(!Number.isNaN(r.getTime()))return r;let i=a.match(/^(\d{4})-(\d{2})-(\d{2})$/);if(i){let[,o,l,f]=i;if(r=new Date(Number.parseInt(o,10),Number.parseInt(l,10)-1,Number.parseInt(f,10)),!Number.isNaN(r.getTime()))return r}let u=a.match(/^(\d{4})-(\d{2})-(\d{2})\s+(\d{2}):(\d{2}):(\d{2})$/);if(u){let[,o,l,f,t,e,d]=u;if(r=new Date(Number.parseInt(o,10),Number.parseInt(l,10)-1,Number.parseInt(f,10),Number.parseInt(t,10),Number.parseInt(e,10),Number.parseInt(d,10)),!Number.isNaN(r.getTime()))return r}return null}var N={name:"touch",async execute(s,a){let r=[],i=null,u=!1;for(let t=0;t<s.length;t++){let e=s[t];if(e==="--"){r.push(...s.slice(t+1));break}else if(e==="-d"||e==="--date"){if(t+1>=s.length)return{stdout:"",stderr:`touch: option requires an argument -- 'd'
2
+ `,exitCode:1};i=s[++t]}else if(e.startsWith("--date="))i=e.slice(7);else if(e==="-c"||e==="--no-create")u=!0;else if(e==="-a"||e==="-m"||e==="-r"||e==="-t")(e==="-r"||e==="-t")&&t++;else{if(e.startsWith("--"))return c("touch",e);if(e.startsWith("-")&&e.length>1){let d=!1;for(let n of e.slice(1))if(n==="c")u=!0;else if(!(n==="a"||n==="m"))if(n==="d"){if(t+1>=s.length)return{stdout:"",stderr:`touch: option requires an argument -- 'd'
3
+ `,exitCode:1};i=s[++t],d=!0;break}else if(n==="r"||n==="t"){t++,d=!0;break}else return c("touch",`-${n}`);if(d)continue}else r.push(e)}}if(r.length===0)return{stdout:"",stderr:`touch: missing file operand
4
+ `,exitCode:1};let o=null;if(i!==null&&(o=h(i),o===null))return{stdout:"",stderr:`touch: invalid date format '${i}'
5
+ `,exitCode:1};let l="",f=0;for(let t of r)try{let e=a.fs.resolvePath(a.cwd,t);if(!await a.fs.exists(e)){if(u)continue;await a.fs.writeFile(e,"")}let n=o??new Date;await a.fs.utimes(e,n,n)}catch(e){l+=`touch: cannot touch '${t}': ${m(e)}
6
+ `,f=1}return{stdout:"",stderr:l,exitCode:f}}},b={name:"touch",flags:[{flag:"-c",type:"boolean"},{flag:"-a",type:"boolean"},{flag:"-m",type:"boolean"},{flag:"-d",type:"value",valueHint:"string"}],needsArgs:!0};export{N as a,b};
@@ -0,0 +1,13 @@
1
+ import{a as p}from"./chunk-HWKDQ44K.js";import{a as g}from"./chunk-44UOCSGV.js";var x=`Usage: rmdir [-pv] DIRECTORY...
2
+ Remove empty directories.
3
+
4
+ Options:
5
+ -p, --parents Remove DIRECTORY and its ancestors
6
+ -v, --verbose Output a diagnostic for every directory processed`,y={parents:{short:"p",long:"parents",type:"boolean"},verbose:{short:"v",long:"verbose",type:"boolean"},help:{long:"help",type:"boolean"}},D={name:"rmdir",async execute(t,r){let e=p("rmdir",t,y);if(!e.ok)return e.error;if(e.result.flags.help)return{stdout:`${x}
7
+ `,stderr:"",exitCode:0};let a=e.result.flags.parents,o=e.result.flags.verbose,s=e.result.positional;if(s.length===0)return{stdout:"",stderr:`rmdir: missing operand
8
+ `,exitCode:1};let c="",n="",i=0;for(let u of s){let d=await b(r,u,a,o);c+=d.stdout,n+=d.stderr,d.exitCode!==0&&(i=d.exitCode)}return{stdout:c,stderr:n,exitCode:i}}};async function b(t,r,e,a){let o="",s="",n=t.fs.resolvePath(t.cwd,r),i=await v(t,n,r,a);if(o+=i.stdout,s+=i.stderr,i.exitCode!==0)return{stdout:o,stderr:s,exitCode:i.exitCode};if(e){let u=n,d=r;for(;;){let l=C(u),f=C(d);if(l===u||l==="/"||l==="."||f==="."||f==="")break;let m=await v(t,l,f,a);if(o+=m.stdout,m.exitCode!==0)break;u=l,d=f}}return{stdout:o,stderr:s,exitCode:0}}async function v(t,r,e,a){try{if(!await t.fs.exists(r))return{stdout:"",stderr:`rmdir: failed to remove '${e}': No such file or directory
9
+ `,exitCode:1};if(!(await t.fs.stat(r)).isDirectory)return{stdout:"",stderr:`rmdir: failed to remove '${e}': Not a directory
10
+ `,exitCode:1};if((await t.fs.readdir(r)).length>0)return{stdout:"",stderr:`rmdir: failed to remove '${e}': Directory not empty
11
+ `,exitCode:1};await t.fs.rm(r,{recursive:!1,force:!1});let n="";return a&&(n=`rmdir: removing directory, '${e}'
12
+ `),{stdout:n,stderr:"",exitCode:0}}catch(o){let s=g(o);return{stdout:"",stderr:`rmdir: failed to remove '${e}': ${s}
13
+ `,exitCode:1}}}function C(t){let r=t.replace(/\/+$/,""),e=r.lastIndexOf("/");return e===-1?".":e===0?"/":r.substring(0,e)}var $={name:"rmdir",flags:[{flag:"-p",type:"boolean"},{flag:"-v",type:"boolean"}],needsArgs:!0};export{D as a,$ as b};
@@ -0,0 +1 @@
1
+ function r(e){return Object.assign(Object.create(null),Object.fromEntries(e))}function n(e,t){return Object.assign(Object.create(null),Object.fromEntries(e),t)}function c(...e){return Object.assign(Object.create(null),...e)}export{r as a,n as b,c};
@@ -0,0 +1,139 @@
1
+ import{a as O,b,c as M,d as _e,e as w,f as v,g as Y,h as B}from"./chunk-DBKNVD4L.js";import{a as tt}from"./chunk-PXTK5WE2.js";import{a as $}from"./chunk-VXBA5RYO.js";import{f as qe,g as X}from"./chunk-7TSDKFEO.js";import{a as H}from"./chunk-YSHZL3MF.js";import{a as We}from"./chunk-7L36YK2X.js";import{a as D,b as G}from"./chunk-74CEPOFO.js";import{b as Ue,d as Ze,e as Qe,f as et}from"./chunk-DXB73IDG.js";var q,He=Ue(()=>{"use strict";q=class{input;pos=0;tokens=[];constructor(n){this.input=n}tokenize(){for(;this.pos<this.input.length&&(this.skipWhitespace(),!(this.pos>=this.input.length));){let n=this.nextToken();n&&this.tokens.push(n)}return this.tokens.push({type:"eof",value:"",pos:this.pos}),this.tokens}skipWhitespace(){for(;this.pos<this.input.length;){let n=this.input[this.pos];if(n===" "||n===" "||n===`
2
+ `||n==="\r")this.pos++;else if(n==="#")for(;this.pos<this.input.length&&this.input[this.pos]!==`
3
+ `;)this.pos++;else break}}nextToken(){let n=this.pos,t=this.input[this.pos];if(t>="0"&&t<="9")return this.readNumber();if(t==='"'||t==="'"||t==="`")return this.readString(t);if(t==="b"&&this.pos+1<this.input.length){let o=this.input[this.pos+1];if(o==='"'||o==="'"||o==="`")return this.pos++,this.readString(o)}if(t==="/"){let o=this.tokens[this.tokens.length-1];return o&&(o.type==="int"||o.type==="float"||o.type==="string"||o.type==="ident"||o.type===")"||o.type==="]")?this.input[this.pos+1]==="/"?(this.pos+=2,{type:"//",value:"//",pos:n}):(this.pos++,{type:"/",value:"/",pos:n}):this.readRegex()}if(this.match("not in"))return{type:"not in",value:"not in",pos:n};if(this.match("=>"))return{type:"=>",value:"=>",pos:n};if(this.match("**"))return{type:"**",value:"**",pos:n};if(this.match("++"))return{type:"++",value:"++",pos:n};if(this.match("//"))return{type:"//",value:"//",pos:n};if(this.match("=="))return{type:"==",value:"==",pos:n};if(this.match("!="))return{type:"!=",value:"!=",pos:n};if(this.match("<="))return{type:"<=",value:"<=",pos:n};if(this.match(">="))return{type:">=",value:">=",pos:n};if(this.match("&&"))return{type:"&&",value:"&&",pos:n};if(this.match("||"))return{type:"||",value:"||",pos:n};let r=new Map([["(","("],[")",")"],["[","["],["]","]"],["{","{"],["}","}"],[",",","],[":",":"],[";",";"],["+","+"],["-","-"],["*","*"],["%","%"],["<","<"],[">",">"],["!","!"],[".","."],["|","|"],["=","="]]).get(t);if(r!==void 0)return this.pos++,{type:r,value:t,pos:n};if(this.isIdentStart(t))return this.readIdentifier();throw new Error(`Unexpected character '${t}' at position ${this.pos}`)}match(n){if(this.input.slice(this.pos,this.pos+n.length)===n){if(/^[a-zA-Z]/.test(n)){let t=this.input[this.pos+n.length];if(t&&this.isIdentChar(t))return!1}return this.pos+=n.length,!0}return!1}isIdentStart(n){return n>="a"&&n<="z"||n>="A"&&n<="Z"||n==="_"}isIdentChar(n){return this.isIdentStart(n)||n>="0"&&n<="9"}readNumber(){let n=this.pos,t=!1,s=!1;for(;this.pos<this.input.length;){let o=this.input[this.pos];if(o>="0"&&o<="9")this.pos++;else if(o==="_")this.pos++;else if(o==="."&&!t&&!s)t=!0,this.pos++;else if((o==="e"||o==="E")&&!s)s=!0,t=!0,this.pos++,this.pos<this.input.length&&(this.input[this.pos]==="+"||this.input[this.pos]==="-")&&this.pos++;else break}let r=this.input.slice(n,this.pos).replace(/_/g,"");return{type:t?"float":"int",value:r,pos:n}}readString(n){let t=this.pos;this.pos++;let s="";for(;this.pos<this.input.length;){let r=this.input[this.pos];if(r===n)return this.pos++,{type:"string",value:s,pos:t};if(r==="\\"){if(this.pos++,this.pos<this.input.length){let o=this.input[this.pos];switch(o){case"n":s+=`
4
+ `;break;case"r":s+="\r";break;case"t":s+=" ";break;case"\\":s+="\\";break;case'"':s+='"';break;case"'":s+="'";break;case"`":s+="`";break;case"0":s+="\0";break;default:s+=o}this.pos++}}else s+=r,this.pos++}throw new Error(`Unterminated string starting at position ${t}`)}readRegex(){let n=this.pos;this.pos++;let t="",s="";for(;this.pos<this.input.length;){let r=this.input[this.pos];if(r==="/"){for(this.pos++;this.pos<this.input.length&&this.input[this.pos]==="i";)s+=this.input[this.pos],this.pos++;return{type:"regex",value:t+(s?`/${s}`:""),pos:n}}r==="\\"?(t+=r,this.pos++,this.pos<this.input.length&&(t+=this.input[this.pos],this.pos++)):(t+=r,this.pos++)}throw new Error(`Unterminated regex starting at position ${n}`)}readIdentifier(){let n=this.pos;for(;this.pos<this.input.length&&this.isIdentChar(this.input[this.pos]);)this.pos++;let t=!1;this.pos<this.input.length&&this.input[this.pos]==="?"&&(t=!0,this.pos++);let s=this.input.slice(n,t?this.pos-1:this.pos);t&&(s+="?");let r=new Map([["true","true"],["false","false"],["null","null"],["and","and"],["or","or"],["eq","eq"],["ne","ne"],["lt","lt"],["le","le"],["gt","gt"],["ge","ge"],["in","in"],["as","as"],["_","_"]]),o=s.replace(/\?$/,""),i=r.get(o);return i!==void 0&&!t?{type:i,value:o,pos:n}:{type:"ident",value:s,pos:n}}}});var Je={};Ze(Je,{parseMoonblade:()=>_,parseNamedExpressions:()=>V});function V(e){let n=[],s=new q(e).tokenize(),r=0,o=()=>s[r]||{type:"eof",value:"",pos:0},i=()=>s[r++];for(;o().type!=="eof";){if(o().type===","&&n.length>0){i();continue}let h=[],u=0,p=r;for(;o().type!=="eof";){let a=o();if((a.type===","||a.type==="as")&&u===0)break;(a.type==="("||a.type==="["||a.type==="{")&&u++,(a.type===")"||a.type==="]"||a.type==="}")&&u--,h.push(i())}h.push({type:"eof",value:"",pos:0});let f=new J(h).parse(),c;if(o().type==="as")if(i(),o().type==="("){i();let a=[];for(;o().type!==")"&&o().type!=="eof";)(o().type==="ident"||o().type==="string")&&(a.push(o().value),i()),o().type===","&&i();o().type===")"&&i(),c=a}else if(o().type==="ident"||o().type==="string")c=o().value,i();else throw new Error(`Expected name after 'as', got ${o().type}`);else c=e.slice(s[p].pos,s[r-1]?.pos||e.length).trim(),f.type==="identifier"&&(c=f.name);n.push({expr:f,name:c})}return n}function _(e){let t=new q(e).tokenize();return new J(t).parse()}var R,J,U=Ue(()=>{"use strict";He();R={PIPE:1,OR:2,AND:3,EQUALITY:4,COMPARISON:5,ADDITIVE:6,MULTIPLICATIVE:7,POWER:8,UNARY:9,POSTFIX:10},J=class{pos=0;tokens;constructor(n){this.tokens=n}parse(){let n=this.parseExpr(0);if(this.peek().type!=="eof")throw new Error(`Unexpected token: ${this.peek().value}`);return n}parseExpr(n){let t=this.parsePrefix();for(;;){let s=this.peek(),r=this.getInfixPrec(s.type);if(r<n)break;t=this.parseInfix(t,r)}return t}parsePrefix(){let n=this.peek();switch(n.type){case"int":return this.advance(),{type:"int",value:Number.parseInt(n.value,10)};case"float":return this.advance(),{type:"float",value:Number.parseFloat(n.value)};case"string":return this.advance(),{type:"string",value:n.value};case"regex":{this.advance();let t=n.value.split("/"),s=t.length>1?t[t.length-1]:"";return{type:"regex",pattern:t.slice(0,-1).join("/")||n.value,caseInsensitive:s.includes("i")}}case"true":return this.advance(),{type:"bool",value:!0};case"false":return this.advance(),{type:"bool",value:!1};case"null":return this.advance(),{type:"null"};case"_":return this.advance(),{type:"underscore"};case"ident":{let t=n.value,s=t.endsWith("?"),r=s?t.slice(0,-1):t;if(this.advance(),this.peek().type==="(")return this.parseFunctionCall(r);if(this.peek().type==="=>"){this.advance();let o=this.parseExpr(0);return this.bindLambdaArgs({type:"lambda",params:[r],body:o},[r])}return{type:"identifier",name:r,unsure:s}}case"(":{this.advance();let t=[];if(this.peek().type===")"){if(this.advance(),this.peek().type==="=>"){this.advance();let r=this.parseExpr(0);return{type:"lambda",params:[],body:r}}throw new Error("Empty parentheses not allowed")}if(this.peek().type==="ident"){let r=this.peek().value;if(this.advance(),this.peek().type===","||this.peek().type===")"){for(t.push(r);this.peek().type===","&&(this.advance(),this.peek().type==="ident");)t.push(this.peek().value),this.advance();if(this.peek().type===")"&&(this.advance(),this.peek().type==="=>")){this.advance();let o=this.parseExpr(0);return this.bindLambdaArgs({type:"lambda",params:t,body:o},t)}this.pos-=t.length*2,t.length>1&&(this.pos=this.pos)}this.pos--}let s=this.parseExpr(0);return this.expect(")"),this.peek().type,s}case"[":return this.parseList();case"{":return this.parseMap();case"-":{this.advance();let t=this.parseExpr(R.UNARY);return t.type==="int"?{type:"int",value:-t.value}:t.type==="float"?{type:"float",value:-t.value}:{type:"func",name:"neg",args:[{expr:t}]}}case"!":return this.advance(),{type:"func",name:"not",args:[{expr:this.parseExpr(R.UNARY)}]};default:throw new Error(`Unexpected token: ${n.type} (${n.value})`)}}parseFunctionCall(n){this.expect("(");let t=[];if(this.peek().type!==")")do{t.length>0&&this.peek().type===","&&this.advance();let s;if(this.peek().type==="ident"){let o=this.peek().value,i=this.pos+1;i<this.tokens.length&&this.tokens[i].type==="="&&(s=o,this.advance(),this.advance())}let r=this.parseExpr(0);t.push({name:s,expr:r})}while(this.peek().type===",");return this.expect(")"),{type:"func",name:n.toLowerCase(),args:t}}parseList(){this.expect("[");let n=[];if(this.peek().type!=="]")do n.length>0&&this.peek().type===","&&this.advance(),n.push(this.parseExpr(0));while(this.peek().type===",");return this.expect("]"),{type:"list",elements:n}}parseMap(){this.expect("{");let n=[];if(this.peek().type!=="}")do{n.length>0&&this.peek().type===","&&this.advance();let t;if(this.peek().type==="ident")t=this.peek().value,this.advance();else if(this.peek().type==="string")t=this.peek().value,this.advance();else throw new Error(`Expected map key, got ${this.peek().type}`);this.expect(":");let s=this.parseExpr(0);n.push({key:t,value:s})}while(this.peek().type===",");return this.expect("}"),{type:"map",entries:n}}parseInfix(n,t){let s=this.peek(),o=new Map([["+","add"],["-","sub"],["*","mul"],["/","div"],["//","idiv"],["%","mod"],["**","pow"],["++","concat"],["==","=="],["!=","!="],["<","<"],["<=","<="],[">",">"],[">=",">="],["eq","eq"],["ne","ne"],["lt","lt"],["le","le"],["gt","gt"],["ge","ge"],["&&","and"],["and","and"],["||","or"],["or","or"]]).get(s.type);if(o!==void 0){this.advance();let i=this.parseExpr(t+(this.isRightAssoc(s.type)?0:1));return{type:"func",name:o,args:[{expr:n},{expr:i}]}}if(s.type==="|"){this.advance();let i=this.parseExpr(t);return this.handlePipe(n,i)}if(s.type===".")return this.advance(),this.handleDot(n);if(s.type==="[")return this.advance(),this.handleIndexing(n);if(s.type==="in")return this.advance(),{type:"func",name:"contains",args:[{expr:this.parseExpr(t+1)},{expr:n}]};if(s.type==="not in")return this.advance(),{type:"func",name:"not",args:[{expr:{type:"func",name:"contains",args:[{expr:this.parseExpr(t+1)},{expr:n}]}}]};throw new Error(`Unexpected infix token: ${s.type}`)}handlePipe(n,t){if(t.type==="identifier")return{type:"func",name:t.name,args:[{expr:n}]};if(t.type==="func"){let s=this.countUnderscores(t);return s===0?t:s===1?this.fillUnderscore(t,n):{type:"pipeline",exprs:[n,t]}}return this.countUnderscores(t)===1?this.fillUnderscore(t,n):t}handleDot(n){let t=this.peek();if(t.type==="ident"){let s=t.value;if(this.advance(),this.peek().type==="("){let r=this.parseFunctionCall(s);return r.type==="func"&&r.args.unshift({expr:n}),r}return{type:"func",name:"get",args:[{expr:n},{expr:{type:"string",value:s}}]}}if(t.type==="int"){let s=Number.parseInt(t.value,10);return this.advance(),{type:"func",name:"get",args:[{expr:n},{expr:{type:"int",value:s}}]}}if(t.type==="string"){let s=t.value;return this.advance(),{type:"func",name:"get",args:[{expr:n},{expr:{type:"string",value:s}}]}}throw new Error(`Expected identifier, number, or string after dot, got ${t.type}`)}handleIndexing(n){if(this.peek().type===":"){if(this.advance(),this.peek().type==="]")return this.advance(),{type:"func",name:"slice",args:[{expr:n}]};let s=this.parseExpr(0);return this.expect("]"),{type:"func",name:"slice",args:[{expr:n},{expr:{type:"int",value:0}},{expr:s}]}}let t=this.parseExpr(0);if(this.peek().type===":"){if(this.advance(),this.peek().type==="]")return this.advance(),{type:"func",name:"slice",args:[{expr:n},{expr:t}]};let s=this.parseExpr(0);return this.expect("]"),{type:"func",name:"slice",args:[{expr:n},{expr:t},{expr:s}]}}return this.expect("]"),{type:"func",name:"get",args:[{expr:n},{expr:t}]}}countUnderscores(n){return n.type==="underscore"?1:n.type==="func"?n.args.reduce((t,s)=>t+this.countUnderscores(s.expr),0):n.type==="list"?n.elements.reduce((t,s)=>t+this.countUnderscores(s),0):n.type==="map"?n.entries.reduce((t,s)=>t+this.countUnderscores(s.value),0):0}fillUnderscore(n,t){return n.type==="underscore"?t:n.type==="func"?{...n,args:n.args.map(s=>({...s,expr:this.fillUnderscore(s.expr,t)}))}:n.type==="list"?{...n,elements:n.elements.map(s=>this.fillUnderscore(s,t))}:n.type==="map"?{...n,entries:n.entries.map(s=>({...s,value:this.fillUnderscore(s.value,t)}))}:n}bindLambdaArgs(n,t){return{...n,body:this.bindLambdaArgsInExpr(n.body,t)}}bindLambdaArgsInExpr(n,t){return n.type==="identifier"&&t.includes(n.name)?{type:"lambdaBinding",name:n.name}:n.type==="func"?{...n,args:n.args.map(s=>({...s,expr:this.bindLambdaArgsInExpr(s.expr,t)}))}:n.type==="list"?{...n,elements:n.elements.map(s=>this.bindLambdaArgsInExpr(s,t))}:n.type==="map"?{...n,entries:n.entries.map(s=>({...s,value:this.bindLambdaArgsInExpr(s.value,t)}))}:n}getInfixPrec(n){switch(n){case"|":return R.PIPE;case"||":case"or":return R.OR;case"&&":case"and":return R.AND;case"==":case"!=":case"eq":case"ne":return R.EQUALITY;case"<":case"<=":case">":case">=":case"lt":case"le":case"gt":case"ge":case"in":case"not in":return R.COMPARISON;case"+":case"-":case"++":return R.ADDITIVE;case"*":case"/":case"//":case"%":return R.MULTIPLICATIVE;case"**":return R.POWER;case".":case"[":return R.POSTFIX;default:return-1}}isRightAssoc(n){return n==="**"}peek(){return this.tokens[this.pos]||{type:"eof",value:"",pos:0}}advance(){return this.tokens[this.pos++]}expect(n){let t=this.peek();if(t.type!==n)throw new Error(`Expected ${n}, got ${t.type}`);return this.advance()}}});U();function E(e,n){return n.length===0?k(e,[]):n.length===1?{type:"Pipe",left:n[0],right:k(e,[])}:{type:"Pipe",left:n[0],right:k(e,n.slice(1))}}var z={add:e=>S("+",e[0],e[1]),sub:e=>S("-",e[0],e[1]),mul:e=>S("*",e[0],e[1]),div:e=>S("/",e[0],e[1]),mod:e=>S("%",e[0],e[1]),idiv:e=>k("floor",[S("/",e[0],e[1])]),pow:e=>E("pow",e),neg:e=>({type:"UnaryOp",op:"-",operand:e[0]}),"==":e=>S("==",e[0],e[1]),"!=":e=>S("!=",e[0],e[1]),"<":e=>S("<",e[0],e[1]),"<=":e=>S("<=",e[0],e[1]),">":e=>S(">",e[0],e[1]),">=":e=>S(">=",e[0],e[1]),eq:e=>S("==",P(e[0]),P(e[1])),ne:e=>S("!=",P(e[0]),P(e[1])),lt:e=>S("<",P(e[0]),P(e[1])),le:e=>S("<=",P(e[0]),P(e[1])),gt:e=>S(">",P(e[0]),P(e[1])),ge:e=>S(">=",P(e[0]),P(e[1])),and:e=>S("and",e[0],e[1]),or:e=>S("or",e[0],e[1]),not:e=>({type:"UnaryOp",op:"not",operand:e[0]}),len:e=>E("length",e),length:e=>E("length",e),upper:e=>E("ascii_upcase",e),lower:e=>E("ascii_downcase",e),trim:e=>E("trim",e),ltrim:e=>e.length===0?k("ltrimstr",[{type:"Literal",value:" "}]):{type:"Pipe",left:e[0],right:k("ltrimstr",[{type:"Literal",value:" "}])},rtrim:e=>e.length===0?k("rtrimstr",[{type:"Literal",value:" "}]):{type:"Pipe",left:e[0],right:k("rtrimstr",[{type:"Literal",value:" "}])},split:e=>E("split",e),join:e=>e.length===1?k("join",[{type:"Literal",value:""}]):E("join",e),concat:e=>S("+",e[0],e[1]),startswith:e=>E("startswith",e),endswith:e=>E("endswith",e),contains:e=>E("contains",e),replace:e=>E("gsub",e),substr:e=>e.length===2?{type:"Slice",base:e[0],start:e[1]}:{type:"Slice",base:e[0],start:e[1],end:S("+",e[1],e[2])},abs:e=>E("fabs",e),floor:e=>E("floor",e),ceil:e=>E("ceil",e),round:e=>E("round",e),sqrt:e=>E("sqrt",e),log:e=>E("log",e),log10:e=>E("log10",e),log2:e=>E("log2",e),exp:e=>E("exp",e),sin:e=>E("sin",e),cos:e=>E("cos",e),tan:e=>E("tan",e),asin:e=>E("asin",e),acos:e=>E("acos",e),atan:e=>E("atan",e),min:e=>E("min",e),max:e=>E("max",e),first:e=>e.length===0?{type:"Index",index:{type:"Literal",value:0}}:{type:"Index",index:{type:"Literal",value:0},base:e[0]},last:e=>e.length===0?{type:"Index",index:{type:"Literal",value:-1}}:{type:"Index",index:{type:"Literal",value:-1},base:e[0]},get:e=>e.length===1?{type:"Index",index:e[0]}:{type:"Index",index:e[1],base:e[0]},slice:e=>e.length===1?{type:"Slice",base:e[0]}:e.length===2?{type:"Slice",base:e[0],start:e[1]}:{type:"Slice",base:e[0],start:e[1],end:e[2]},keys:"keys",values:"values",entries:e=>k("to_entries",e),from_entries:"from_entries",reverse:"reverse",sort:"sort",sort_by:"sort_by",group_by:"group_by",unique:"unique",unique_by:"unique_by",flatten:"flatten",map:e=>({type:"Pipe",left:e[0],right:{type:"Array",elements:e[1]}}),select:e=>k("select",e),empty:()=>k("empty",[]),count:()=>k("length",[]),sum:e=>e.length===0?k("add",[]):{type:"Pipe",left:{type:"Array",elements:e[0]},right:k("add",[])},mean:e=>e.length===0?{type:"Pipe",left:{type:"Identity"},right:S("/",k("add",[]),k("length",[]))}:{type:"Pipe",left:{type:"Array",elements:e[0]},right:S("/",k("add",[]),k("length",[]))},avg:e=>e.length===0?{type:"Pipe",left:{type:"Identity"},right:S("/",k("add",[]),k("length",[]))}:{type:"Pipe",left:{type:"Array",elements:e[0]},right:S("/",k("add",[]),k("length",[]))},type:"type",isnull:e=>e.length===0?S("==",{type:"Identity"},{type:"Literal",value:null}):S("==",e[0],{type:"Literal",value:null}),isempty:e=>e.length===0?S("==",{type:"Identity"},{type:"Literal",value:""}):S("==",e[0],{type:"Literal",value:""}),tonumber:e=>e.length===0?k("tonumber",[]):k("tonumber",e),tostring:e=>e.length===0?k("tostring",[]):k("tostring",e),if:e=>ze(e[0],e[1],e[2]),coalesce:e=>{if(e.length===0)return{type:"Literal",value:null};if(e.length===1)return e[0];let[n,...t]=e,s=S("and",S("!=",n,{type:"Literal",value:null}),S("!=",n,{type:"Literal",value:""}));return ze(s,n,t.length===1?t[0]:z.coalesce(t))},index:()=>({type:"Field",name:"_row_index"}),now:()=>k("now",[]),fmt:e=>k("tostring",e),format:e=>k("tostring",e)};Object.setPrototypeOf(z,null);function S(e,n,t){return{type:"BinaryOp",op:e,left:n,right:t}}function k(e,n){return{type:"Call",name:e,args:n}}var nt="then";function ze(e,n,t){let s=qe({type:"Cond",cond:e,elifs:[],else:t||{type:"Literal",value:null}});return s[nt]=n,s}function P(e){return{type:"Pipe",left:e,right:{type:"Call",name:"tostring",args:[]}}}function F(e,n=!0){switch(e.type){case"int":case"float":return{type:"Literal",value:e.value};case"string":return{type:"Literal",value:e.value};case"bool":return{type:"Literal",value:e.value};case"null":return{type:"Literal",value:null};case"underscore":return{type:"Index",base:{type:"Identity"},index:{type:"Literal",value:"_"}};case"identifier":return n?{type:"Field",name:e.name}:{type:"VarRef",name:e.name};case"lambdaBinding":return{type:"VarRef",name:e.name};case"func":{let t=e.args.map(r=>F(r.expr,n)),s=Object.hasOwn(z,e.name)?z[e.name]:void 0;return typeof s=="function"?s(t):k(typeof s=="string"?s:e.name,t)}case"list":return e.elements.length===0?{type:"Array"}:{type:"Array",elements:e.elements.reduce((t,s,r)=>{let o=F(s,n);return r===0?o:{type:"Comma",left:t,right:o}},null)};case"map":return{type:"Object",entries:e.entries.map(t=>({key:t.key,value:F(t.value,n)}))};case"regex":return{type:"Literal",value:e.pattern};case"slice":return{type:"Slice",start:e.start?F(e.start,n):void 0,end:e.end?F(e.end,n):void 0};case"lambda":return F(e.body,n);case"pipeline":return{type:"Identity"};default:throw new Error(`Unknown moonblade expression type: ${e.type}`)}}function Q(e){let n=[],t=0;for(;t<e.length;){for(;t<e.length&&(e[t]===" "||e[t]===",");)t++;if(t>=e.length)break;let s=t;for(;t<e.length&&/\w/.test(e[t]);)t++;let r=e.slice(s,t);for(;t<e.length&&e[t]===" ";)t++;if(e[t]!=="(")break;t++;let o=1,i=t;for(;t<e.length&&o>0;)e[t]==="("?o++:e[t]===")"&&o--,o>0&&t++;let h=e.slice(i,t).trim();for(t++;t<e.length&&e[t]===" ";)t++;let u="";if(e.slice(t,t+3).toLowerCase()==="as "){for(t+=3;t<e.length&&e[t]===" ";)t++;let p=t;for(;t<e.length&&/\w/.test(e[t]);)t++;u=e.slice(p,t)}u||(u=h?`${r}(${h})`:`${r}()`),n.push({func:r,expr:h,alias:u})}return n}function Ke(e){return/^\w+$/.test(e)}function Z(e,n,t){let s=F(_(n)),r=$(e,s,t);return r.length>0?r[0]:null}function ee(e,n,t={}){let{func:s,expr:r}=n;if(s==="count"&&!r)return e.length;let o;switch(Ke(r)?o=e.map(i=>i[r]).filter(i=>i!=null):o=e.map(i=>Z(i,r,t)).filter(i=>i!=null),s){case"count":return Ke(r)?o.length:o.filter(i=>!!i).length;case"sum":return o.map(h=>typeof h=="number"?h:Number.parseFloat(String(h))).reduce((h,u)=>h+u,0);case"mean":case"avg":{let i=o.map(h=>typeof h=="number"?h:Number.parseFloat(String(h)));return i.length>0?i.reduce((h,u)=>h+u,0)/i.length:0}case"min":{let i=o.map(h=>typeof h=="number"?h:Number.parseFloat(String(h)));return i.length>0?Math.min(...i):null}case"max":{let i=o.map(h=>typeof h=="number"?h:Number.parseFloat(String(h)));return i.length>0?Math.max(...i):null}case"first":return o.length>0?o[0]:null;case"last":return o.length>0?o[o.length-1]:null;case"median":{let i=o.map(u=>typeof u=="number"?u:Number.parseFloat(String(u))).filter(u=>!Number.isNaN(u)).sort((u,p)=>u-p);if(i.length===0)return null;let h=Math.floor(i.length/2);return i.length%2===0?(i[h-1]+i[h])/2:i[h]}case"mode":{let i=new Map;for(let p of o){let l=String(p);i.set(l,(i.get(l)||0)+1)}let h=0,u=null;for(let[p,l]of i)l>h&&(h=l,u=p);return u}case"cardinality":return new Set(o.map(h=>String(h))).size;case"values":return o.map(i=>String(i)).join("|");case"distinct_values":return[...new Set(o.map(h=>String(h)))].sort().join("|");case"all":{if(e.length===0)return!0;for(let i of e)if(!Z(i,r,t))return!1;return!0}case"any":{for(let i of e)if(Z(i,r,t))return!0;return!1}default:return null}}function Ge(e,n,t={}){let s=O();for(let r of n)b(s,r.alias,ee(e,r,t));return s}async function te(e,n){let t="",s=[];for(let l of e)l.startsWith("-")||(t?s.push(l):t=l);if(!t)return{stdout:"",stderr:`xan agg: no aggregation expression
5
+ `,exitCode:1};let{data:r,error:o}=await v(s,n);if(o)return o;let i={limits:n.limits?{maxIterations:n.limits.maxJqIterations}:void 0},h=Q(t),u=h.map(l=>l.alias),p=Ge(r,h,i);return{stdout:w(u,[p]),stderr:"",exitCode:0}}async function ne(e,n){let t="",s="",r=[];for(let d=0;d<e.length;d++){let m=e[d];m==="--sorted"||m.startsWith("-")||(t?s?r.push(m):s=m:t=m)}if(!t||!s)return{stdout:"",stderr:`xan groupby: usage: xan groupby COLS EXPR [FILE]
6
+ `,exitCode:1};let{data:o,error:i}=await v(r,n);if(i)return i;let h={limits:n.limits?{maxIterations:n.limits.maxJqIterations}:void 0},u=t.split(","),p=Q(s),l=[],f=new Map;for(let d of o){let m=u.map(g=>String(d[g])).join("\0");f.has(m)||(f.set(m,[]),l.push(m)),f.get(m)?.push(d)}let c=[...u,...p.map(d=>d.alias)],a=[];for(let d of l){let m=f.get(d);if(!m)continue;let g=O();for(let y of u)b(g,y,m[0][y]);for(let y of p)b(g,y.alias,ee(m,y,h));a.push(g)}return{stdout:w(c,a),stderr:"",exitCode:0}}async function se(e,n){let t=[],s="",r=10,o=!1,i=[];for(let a=0;a<e.length;a++){let d=e[a];(d==="-s"||d==="--select")&&a+1<e.length?t=e[++a].split(","):(d==="-g"||d==="--groupby")&&a+1<e.length?s=e[++a]:(d==="-l"||d==="--limit")&&a+1<e.length?r=Number.parseInt(e[++a],10):d==="--no-extra"?o=!0:d==="-A"||d==="--all"?r=0:d.startsWith("-")||i.push(d)}let{headers:h,data:u,error:p}=await v(i,n);if(p)return p;let l=t.length>0?t:h.filter(a=>a!==s);s&&t.length===0&&(l=h.filter(a=>a!==s));let f=[],c=s?["field",s,"value","count"]:["field","value","count"];if(s){let a=new Map;for(let d of u){let m=String(d[s]??"");a.has(m)||a.set(m,[]),a.get(m)?.push(d)}for(let d of l)for(let[m,g]of a){let y=new Map;for(let I of g){let N=I[d],C=N===""||N===null||N===void 0?"":String(N);y.set(C,(y.get(C)||0)+1)}let x=[...y.entries()].sort((I,N)=>N[1]!==I[1]?N[1]-I[1]:I[0].localeCompare(N[0]));o&&(x=x.filter(([I])=>I!=="")),r>0&&(x=x.slice(0,r));for(let[I,N]of x)f.push({field:d,[s]:m,value:I===""?"<empty>":I,count:N})}}else for(let a of l){let d=new Map;for(let g of u){let y=g[a],x=y===""||y===null||y===void 0?"":String(y);d.set(x,(d.get(x)||0)+1)}let m=[...d.entries()].sort((g,y)=>y[1]!==g[1]?y[1]-g[1]:g[0].localeCompare(y[0]));o&&(m=m.filter(([g])=>g!=="")),r>0&&(m=m.slice(0,r));for(let[g,y]of m)f.push({field:a,value:g===""?"<empty>":g,count:y})}return{stdout:w(c,f),stderr:"",exitCode:0}}async function re(e,n){let t=[],s=[];for(let l=0;l<e.length;l++){let f=e[l];f==="-s"&&l+1<e.length?t=e[++l].split(","):f.startsWith("-")||s.push(f)}let{headers:r,data:o,error:i}=await v(s,n);if(i)return i;let h=t.length>0?t:r,u=["field","type","count","min","max","mean"],p=[];for(let l of h){let f=o.map(d=>d[l]).filter(d=>d!=null),c=f.map(d=>typeof d=="number"?d:Number.parseFloat(String(d))).filter(d=>!Number.isNaN(d)),a=c.length===f.length&&c.length>0;p.push({field:l,type:a?"Number":"String",count:f.length,min:a?Math.min(...c):"",max:a?Math.max(...c):"",mean:a?Math.round(c.reduce((d,m)=>d+m,0)/c.length*1e10)/1e10:""})}return{stdout:w(u,p),stderr:"",exitCode:0}}U();function Xe(e){let n=_(e);return F(n)}function st(e){let t=e.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*");return H(`^${t}$`)}function K(e,n){let t=[],s=new Set;for(let r of e.split(",")){let o=r.trim();if(o.startsWith("!")){let p=o.slice(1),l=K(p,n);for(let f of l)s.add(f);continue}if(o==="*"){for(let p of n)t.includes(p)||t.push(p);continue}if(o.includes("*")){let p=st(o);for(let l of n)p.test(l)&&!t.includes(l)&&t.push(l);continue}let i=o.match(/^([^:]*):([^:]*)$/);if(i&&(i[1]||i[2])){let p=i[1],l=i[2],f=p?n.indexOf(p):0,c=l?n.indexOf(l):n.length-1;if(f!==-1&&c!==-1){let a=f<=c?1:-1;for(let d=f;a>0?d<=c:d>=c;d+=a)t.includes(n[d])||t.push(n[d])}continue}let h=o.match(/^(\d+)-(\d+)$/);if(h){let p=Number.parseInt(h[1],10),l=Number.parseInt(h[2],10);for(let f=p;f<=l&&f<n.length;f++)t.push(n[f]);continue}let u=Number.parseInt(o,10);if(!Number.isNaN(u)&&u>=0&&u<n.length){t.push(n[u]);continue}n.includes(o)&&t.push(o)}return s.size>0?t.filter(r=>!s.has(r)):t}async function oe(e,n){let t="",s=[];for(let p of e)p.startsWith("-")||(t?s.push(p):t=p);if(!t)return{stdout:"",stderr:`xan select: no columns specified
7
+ `,exitCode:1};let{headers:r,data:o,error:i}=await v(s,n);if(i)return i;let h=K(t,r),u=o.map(p=>{let l=O();for(let f of h)b(l,f,p[f]);return l});return{stdout:w(h,u),stderr:"",exitCode:0}}async function ie(e,n){let t="",s=[];for(let l of e)l.startsWith("-")||(t?s.push(l):t=l);if(!t)return{stdout:"",stderr:`xan drop: no columns specified
8
+ `,exitCode:1};let{headers:r,data:o,error:i}=await v(s,n);if(i)return i;let h=new Set(K(t,r)),u=r.filter(l=>!h.has(l)),p=o.map(l=>{let f=O();for(let c of u)b(f,c,l[c]);return f});return{stdout:w(u,p),stderr:"",exitCode:0}}async function ae(e,n){let t="",s="",r=[];for(let l=0;l<e.length;l++){let f=e[l];f==="-s"&&l+1<e.length?s=e[++l]:f.startsWith("-")||(t?r.push(f):t=f)}if(!t)return{stdout:"",stderr:`xan rename: no new name(s) specified
9
+ `,exitCode:1};let{headers:o,data:i,error:h}=await v(r,n);if(h)return h;let u;if(s){let l=s.split(","),f=t.split(","),c=new Map;for(let a=0;a<l.length&&a<f.length;a++)c.set(l[a],f[a]);u=o.map(a=>c.get(a)||a)}else{let l=t.split(",");u=o.map((f,c)=>c<l.length?l[c]:f)}let p=i.map(l=>{let f=O();for(let c=0;c<o.length;c++)b(f,u[c],l[o[c]]);return f});return{stdout:w(u,p),stderr:"",exitCode:0}}async function le(e,n){let t="index",s=[];for(let p=0;p<e.length;p++)e[p]==="-c"&&p+1<e.length?t=e[++p]:s.push(e[p]);let{headers:r,data:o,error:i}=await v(s,n);if(i)return i;let h=[t,...r],u=o.map((p,l)=>{let f=O();b(f,t,l);for(let c of r)b(f,c,p[c]);return f});return{stdout:w(h,u),stderr:"",exitCode:0}}async function ue(e,n){let t=e.includes("-j")||e.includes("--just-names"),{headers:s,error:r}=await v(e.filter(i=>i!=="-j"&&i!=="--just-names"),n);return r||{stdout:t?`${s.map(i=>i).join(`
10
+ `)}
11
+ `:`${s.map((i,h)=>`${h} ${i}`).join(`
12
+ `)}
13
+ `,stderr:"",exitCode:0}}async function ce(e,n){let{data:t,error:s}=await v(e,n);return s||{stdout:`${t.length}
14
+ `,stderr:"",exitCode:0}}async function pe(e,n){let t=10,s=[];for(let u=0;u<e.length;u++)(e[u]==="-l"||e[u]==="-n")&&u+1<e.length?t=Number.parseInt(e[++u],10):s.push(e[u]);let{headers:r,data:o,error:i}=await v(s,n);if(i)return i;let h=o.slice(0,t);return{stdout:w(r,h),stderr:"",exitCode:0}}async function fe(e,n){let t=10,s=[];for(let u=0;u<e.length;u++)(e[u]==="-l"||e[u]==="-n")&&u+1<e.length?t=Number.parseInt(e[++u],10):s.push(e[u]);let{headers:r,data:o,error:i}=await v(s,n);if(i)return i;let h=o.slice(-t);return{stdout:w(r,h),stderr:"",exitCode:0}}async function de(e,n){let t,s,r,o=[];for(let c=0;c<e.length;c++){let a=e[c];(a==="-s"||a==="--start")&&c+1<e.length?t=Number.parseInt(e[++c],10):(a==="-e"||a==="--end")&&c+1<e.length?s=Number.parseInt(e[++c],10):(a==="-l"||a==="--len")&&c+1<e.length?r=Number.parseInt(e[++c],10):a.startsWith("-")||o.push(a)}let{headers:i,data:h,error:u}=await v(o,n);if(u)return u;let p=t??0,l;r!==void 0?l=p+r:s!==void 0?l=s:l=h.length;let f=h.slice(p,l);return{stdout:w(i,f),stderr:"",exitCode:0}}async function he(e,n){let{headers:t,data:s,error:r}=await v(e,n);if(r)return r;let o=[...s].reverse();return{stdout:w(t,o),stderr:"",exitCode:0}}var me=Qe(tt(),1);async function ge(e,n){let t=e.filter(p=>!p.startsWith("-")),{headers:s,data:r,error:o}=await v(t,n);if(o)return o;if(r.length===0){let p=["column"],l=s.map(f=>({column:f}));return{stdout:w(p,l),stderr:"",exitCode:0}}let i=s[0],h=[i,...r.map((p,l)=>String(p[i]??`row_${l}`))],u=[];for(let p=1;p<s.length;p++){let l=s[p],f=O();b(f,i,l);for(let c=0;c<r.length;c++)b(f,h[c+1],r[c][l]);u.push(f)}return{stdout:w(h,u),stderr:"",exitCode:0}}async function ye(e,n){let t=null,s=[];for(let l=0;l<e.length;l++){let f=e[l];f==="--seed"&&l+1<e.length?t=Number.parseInt(e[++l],10):f.startsWith("-")||s.push(f)}let{headers:r,data:o,error:i}=await v(s,n);if(i)return i;let h=t!==null?t:Date.now(),u=()=>(h=h*1103515245+12345&2147483647,h/2147483647),p=[...o];for(let l=p.length-1;l>0;l--){let f=Math.floor(u()*(l+1));[p[l],p[f]]=[p[f],p[l]]}return{stdout:w(r,p),stderr:"",exitCode:0}}async function xe(e,n){let t=null,s="",r=[];for(let a=0;a<e.length;a++){let d=e[a];(d==="-l"||d==="--length")&&a+1<e.length?t=Number.parseInt(e[++a],10):(d==="-d"||d==="--default")&&a+1<e.length?s=e[++a]:d.startsWith("-")||r.push(d)}let o=r[0],i;if(!o||o==="-")i=n.stdin;else try{let a=n.fs.resolvePath(n.cwd,o);i=await n.fs.readFile(a)}catch{return{stdout:"",stderr:`xan fixlengths: ${o}: No such file or directory
15
+ `,exitCode:1}}let u=me.default.parse(i.trim(),{header:!1,skipEmptyLines:!0}).data;if(u.length===0)return{stdout:"",stderr:"",exitCode:0};let p=Math.max(...u.map(a=>a.length)),l=t??p,f=u.map(a=>a.length===l?a:a.length<l?[...a,...Array(l-a.length).fill(s)]:a.slice(0,l));return{stdout:`${me.default.unparse(f).replace(/\r\n/g,`
16
+ `)}
17
+ `,stderr:"",exitCode:0}}async function we(e,n){let t=null,s=null,r=".",o=[];for(let c=0;c<e.length;c++){let a=e[c];(a==="-c"||a==="--chunks")&&c+1<e.length?t=Number.parseInt(e[++c],10):(a==="-S"||a==="--size")&&c+1<e.length?s=Number.parseInt(e[++c],10):(a==="-o"||a==="--output")&&c+1<e.length?r=e[++c]:a.startsWith("-")||o.push(a)}if(!t&&!s)return{stdout:"",stderr:`xan split: must specify -c or -S
18
+ `,exitCode:1};let{headers:i,data:h,error:u}=await v(o,n);if(u)return u;let p=[];if(t){let c=Math.ceil(h.length/t);for(let a=0;a<t;a++)p.push(h.slice(a*c,(a+1)*c))}else if(s)for(let c=0;c<h.length;c+=s)p.push(h.slice(c,c+s));let l=p.filter(c=>c.length>0),f=o[0]?.replace(/\.csv$/,"")||"part";try{let c=n.fs.resolvePath(n.cwd,r);for(let a=0;a<l.length;a++){let d=`${f}_${String(a+1).padStart(3,"0")}.csv`,m=n.fs.resolvePath(c,d);await n.fs.writeFile(m,w(i,l[a]))}return{stdout:`Split into ${l.length} parts
19
+ `,stderr:"",exitCode:0}}catch{return{stdout:`${l.map((a,d)=>`Part ${d+1}: ${a.length} rows`).join(`
20
+ `)}
21
+ `,stderr:"",exitCode:0}}}async function ve(e,n){let t="",s=".",r=[];for(let p=0;p<e.length;p++){let l=e[p];(l==="-o"||l==="--output")&&p+1<e.length?s=e[++p]:l.startsWith("-")||(t?r.push(l):t=l)}if(!t)return{stdout:"",stderr:`xan partition: usage: xan partition COLUMN [FILE]
22
+ `,exitCode:1};let{headers:o,data:i,error:h}=await v(r,n);if(h)return h;if(!o.includes(t))return{stdout:"",stderr:`xan partition: column '${t}' not found
23
+ `,exitCode:1};let u=new Map;for(let p of i){let l=String(p[t]??"");u.has(l)||u.set(l,[]),u.get(l)?.push(p)}try{let p=n.fs.resolvePath(n.cwd,s);for(let[l,f]of u){let a=`${l.replace(/[^a-zA-Z0-9_-]/g,"_")||"empty"}.csv`,d=n.fs.resolvePath(p,a);await n.fs.writeFile(d,w(o,f))}return{stdout:`Partitioned into ${u.size} files by '${t}'
24
+ `,stderr:"",exitCode:0}}catch{return{stdout:`${Array.from(u.entries()).map(([l,f])=>`${l}: ${f.length} rows`).join(`
25
+ `)}
26
+ `,stderr:"",exitCode:0}}}async function Ce(e,n){if(e.length===0)return{stdout:"",stderr:`xan to: usage: xan to <format> [FILE]
27
+ `,exitCode:1};let t=e[0],s=e.slice(1);return t==="json"?rt(s,n):{stdout:"",stderr:`xan to: unsupported format '${t}'
28
+ `,exitCode:1}}async function rt(e,n){let t=e.filter(i=>!i.startsWith("-")),{data:s,error:r}=await v(t,n);return r||{stdout:`${JSON.stringify(s,null,2)}
29
+ `,stderr:"",exitCode:0}}async function be(e,n){let t="",s=[];for(let r=0;r<e.length;r++){let o=e[r];(o==="-f"||o==="--format")&&r+1<e.length?t=e[++r]:o.startsWith("-")||s.push(o)}return t?t==="json"?ot(s,n):{stdout:"",stderr:`xan from: unsupported format '${t}'
30
+ `,exitCode:1}:{stdout:"",stderr:`xan from: usage: xan from -f <format> [FILE]
31
+ `,exitCode:1}}async function ot(e,n){let t=e[0],s;if(!t||t==="-")s=n.stdin;else try{let r=n.fs.resolvePath(n.cwd,t);s=await n.fs.readFile(r)}catch{return{stdout:"",stderr:`xan from: ${t}: No such file or directory
32
+ `,exitCode:1}}try{let r=JSON.parse(s.trim());if(!Array.isArray(r))return{stdout:"",stderr:`xan from: JSON input must be an array
33
+ `,exitCode:1};if(r.length===0)return{stdout:`
34
+ `,stderr:"",exitCode:0};if(Array.isArray(r[0])){let[i,...h]=r,u=h.map(p=>{let l=O();for(let f=0;f<i.length;f++)b(l,i[f],p[f]);return l});return{stdout:w(i,u),stderr:"",exitCode:0}}let o=Object.keys(r[0]).sort();return{stdout:w(o,r),stderr:"",exitCode:0}}catch{return{stdout:"",stderr:`xan from: invalid JSON input
35
+ `,exitCode:1}}}async function Se(e,n){let t=!1,s=0,r="",o=[];for(let c=0;c<e.length;c++){let a=e[c];if(a==="-v"||a==="--invert")t=!0;else if((a==="-l"||a==="--limit")&&c+1<e.length)s=Number.parseInt(e[++c],10);else{if(a==="--help")return D({name:"xan filter",summary:"Filter rows by expression",usage:"xan filter [OPTIONS] EXPR [FILE]",description:"Filter CSV rows using moonblade expressions.",options:["-v, --invert invert match","-l, --limit N limit output to N rows"," --help display help"]});a.startsWith("-")||(r?o.push(a):r=a)}}if(!r)return{stdout:"",stderr:`xan filter: no expression specified
36
+ `,exitCode:1};let{headers:i,data:h,error:u}=await v(o,n);if(u)return u;let p={limits:n.limits?{maxIterations:n.limits.maxJqIterations}:void 0},l=Xe(r),f=[];for(let c of h){if(s>0&&f.length>=s)break;let a=$(c,l,p),d=a.length>0&&a.some(m=>!!m);(t?!d:d)&&f.push(c)}return{stdout:w(i,f),stderr:"",exitCode:0}}async function Ie(e,n){let t="",s=!1,r=!1,o=[];for(let l=0;l<e.length;l++){let f=e[l];f==="-N"||f==="--numeric"?s=!0:f==="-R"||f==="-r"||f==="--reverse"?r=!0:f==="-s"&&l+1<e.length?t=e[++l]:f.startsWith("-")||o.push(f)}let{headers:i,data:h,error:u}=await v(o,n);if(u)return u;!t&&i.length>0&&(t=i[0]);let p=[...h].sort((l,f)=>{let c=l[t],a=f[t],d;if(s){let m=typeof c=="number"?c:Number.parseFloat(String(c)),g=typeof a=="number"?a:Number.parseFloat(String(a));d=m-g}else d=String(c).localeCompare(String(a));return r?-d:d});return{stdout:w(i,p),stderr:"",exitCode:0}}async function ke(e,n){let t="",s=[];for(let p=0;p<e.length;p++){let l=e[p];l==="-s"&&p+1<e.length?t=e[++p]:l.startsWith("-")||s.push(l)}let{headers:r,data:o,error:i}=await v(s,n);if(i)return i;let h=new Set,u=o.filter(p=>{let l=t?String(p[t]):JSON.stringify(p);return h.has(l)?!1:(h.add(l),!0)});return{stdout:w(r,u),stderr:"",exitCode:0}}async function Ne(e,n){let t=10,s="",r=!1,o=[];for(let f=0;f<e.length;f++){let c=e[f];(c==="-l"||c==="-n")&&f+1<e.length?t=Number.parseInt(e[++f],10):c==="-R"||c==="-r"||c==="--reverse"?r=!0:c.startsWith("-")||(s?o.push(c):s=c)}let{headers:i,data:h,error:u}=await v(o,n);if(u)return u;!s&&i.length>0&&(s=i[0]);let l=[...h].sort((f,c)=>{let a=f[s],d=c[s],m=typeof a=="number"?a:Number.parseFloat(String(a)),g=typeof d=="number"?d:Number.parseFloat(String(d));return r?m-g:g-m}).slice(0,t);return{stdout:w(i,l),stderr:"",exitCode:0}}U();async function Ee(e,n){let t="",s=!1,r=!1,o=[];for(let d=0;d<e.length;d++){let m=e[d];m==="-O"||m==="--overwrite"?s=!0:m==="--filter"?r=!0:m.startsWith("-")||(t?o.push(m):t=m)}if(!t)return{stdout:"",stderr:`xan map: no expression specified
37
+ `,exitCode:1};let{headers:i,data:h,error:u}=await v(o,n);if(u)return u;let l=V(t).map(({expr:d,name:m})=>({alias:typeof m=="string"?m:m[0],ast:F(d)})),f={limits:n.limits?{maxIterations:n.limits.maxJqIterations}:void 0},c;if(s){c=[...i];for(let d of l)i.includes(d.alias)||c.push(d.alias)}else c=[...i,...l.map(d=>d.alias)];let a=[];for(let d=0;d<h.length;d++){let m=h[d],g=M(m),y=!1,x=Object.assign(X(m),{_row_index:d});for(let I of l){let N=$(x,I.ast,f),C=N.length>0?N[0]:null;if(r&&C==null){y=!0;break}b(g,I.alias,C)}y||a.push(g)}return{stdout:w(c,a),stderr:"",exitCode:0}}async function Ae(e,n){let t="",s="",r="",o=[];for(let m=0;m<e.length;m++){let g=e[m];(g==="-r"||g==="--rename")&&m+1<e.length?r=e[++m]:g.startsWith("-")||(t?s?o.push(g):s=g:t=g)}if(!t||!s)return{stdout:"",stderr:`xan transform: usage: xan transform COLUMN EXPR [FILE]
38
+ `,exitCode:1};let{headers:i,data:h,error:u}=await v(o,n);if(u)return u;let p=t.split(",").map(m=>m.trim()),l=r?r.split(",").map(m=>m.trim()):[];for(let m of p)if(!i.includes(m))return{stdout:"",stderr:`xan transform: column '${m}' not found
39
+ `,exitCode:1};let f=F(V(s)[0]?.expr||(U(),et(Je)).parseMoonblade(s)),c={limits:n.limits?{maxIterations:n.limits.maxJqIterations}:void 0},a=i.map(m=>{let g=p.indexOf(m);return g!==-1&&l[g]?l[g]:m}),d=[];for(let m of h){let g=M(m);for(let y=0;y<p.length;y++){let x=p[y],I=Object.assign(X(m),{_:m[x]}),N=$(I,f,c),C=N.length>0?N[0]:null,A=l[y]||x;A!==x&&delete g[x],b(g,A,C)}d.push(g)}return{stdout:w(a,d),stderr:"",exitCode:0}}async function Oe(e,n){let t="",s="|",r=!1,o="",i=[];for(let a=0;a<e.length;a++){let d=e[a];(d==="-s"||d==="--separator")&&a+1<e.length?s=e[++a]:d==="--drop-empty"?r=!0:(d==="-r"||d==="--rename")&&a+1<e.length?o=e[++a]:d.startsWith("-")||(t?i.push(d):t=d)}if(!t)return{stdout:"",stderr:`xan explode: usage: xan explode COLUMN [FILE]
40
+ `,exitCode:1};let{headers:h,data:u,error:p}=await v(i,n);if(p)return p;if(!h.includes(t))return{stdout:"",stderr:`xan explode: column '${t}' not found
41
+ `,exitCode:1};let l=o?h.map(a=>a===t?o:a):h,f=o||t,c=[];for(let a of u){let d=a[t],m=d==null?"":String(d);if(m===""){if(!r){let g=M(a);o&&(delete g[t],b(g,f,"")),c.push(g)}}else{let g=m.split(s);for(let y of g){let x=M(a);o&&delete x[t],b(x,f,y),c.push(x)}}}return{stdout:w(l,c),stderr:"",exitCode:0}}async function Fe(e,n){let t="",s="|",r="",o=[];for(let g=0;g<e.length;g++){let y=e[g];(y==="-s"||y==="--sep")&&g+1<e.length?s=e[++g]:(y==="-r"||y==="--rename")&&g+1<e.length?r=e[++g]:y.startsWith("-")||(t?o.push(y):t=y)}if(!t)return{stdout:"",stderr:`xan implode: usage: xan implode COLUMN [FILE]
42
+ `,exitCode:1};let{headers:i,data:h,error:u}=await v(o,n);if(u)return u;if(!i.includes(t))return{stdout:"",stderr:`xan implode: column '${t}' not found
43
+ `,exitCode:1};let p=i.filter(g=>g!==t),l=r?i.map(g=>g===t?r:g):i,f=r||t,c=[],a=null,d=[],m=null;for(let g of h){let y=p.map(N=>String(g[N]??"")).join("\0"),x=g[t],I=x==null?"":String(x);if(y!==a){if(m!==null){let N=M(m);r&&delete N[t],b(N,f,d.join(s)),c.push(N)}a=y,d=[I],m=g}else d.push(I)}if(m!==null){let g=M(m);r&&delete g[t],b(g,f,d.join(s)),c.push(g)}return{stdout:w(l,c),stderr:"",exitCode:0}}async function Le(e,n){let t="",s="",r="",o="",i="inner",h="",u=0;for(let C=0;C<e.length;C++){let A=e[C];A==="--left"?i="left":A==="--right"?i="right":A==="--full"?i="full":(A==="-D"||A==="--default")&&C+1<e.length?h=e[++C]:A.startsWith("-")||(u++,u===1?t=A:u===2?s=A:u===3?r=A:u===4&&(o=A))}if(!t||!s||!r||!o)return{stdout:"",stderr:`xan join: usage: xan join KEY1 FILE1 KEY2 FILE2 [OPTIONS]
44
+ `,exitCode:1};let p=await v([s],n);if(p.error)return p.error;let l=await v([o],n);if(l.error)return l.error;let{headers:f,data:c}=p,{headers:a,data:d}=l;if(!f.includes(t))return{stdout:"",stderr:`xan join: column '${t}' not found in first file
45
+ `,exitCode:1};if(!a.includes(r))return{stdout:"",stderr:`xan join: column '${r}' not found in second file
46
+ `,exitCode:1};let m=new Map;for(let C of d){let A=String(C[r]??"");m.has(A)||m.set(A,[]),m.get(A)?.push(C)}let g=new Set(f),y=a.filter(C=>!g.has(C)),x=[...f,...y],I=[],N=new Set;for(let C of c){let A=String(C[t]??""),j=m.get(A);if(j&&j.length>0){N.add(A);for(let L of j){let T=O();for(let W of f)b(T,W,C[W]);for(let W of y)b(T,W,L[W]);I.push(T)}}else if(i==="left"||i==="full"){let L=O();for(let T of f)b(L,T,C[T]);for(let T of y)b(L,T,h);I.push(L)}}if(i==="right"||i==="full")for(let C of d){let A=String(C[r]??"");if(!N.has(A)){let j=O();for(let L of f)b(j,L,a.includes(L)?C[L]:h);for(let L of y)b(j,L,C[L]);I.push(j)}}return{stdout:w(x,I),stderr:"",exitCode:0}}async function Pe(e,n){let t="",s="",r=[],o=[];for(let y=0;y<e.length;y++){let x=e[y];(x==="-g"||x==="--groupby")&&y+1<e.length?r=e[++y].split(",").map(I=>I.trim()):x.startsWith("-")||(t?s?o.push(x):s=x:t=x)}if(!t||!s)return{stdout:"",stderr:`xan pivot: usage: xan pivot COLUMN AGG_EXPR [OPTIONS] [FILE]
47
+ `,exitCode:1};let{headers:i,data:h,error:u}=await v(o,n);if(u)return u;if(!i.includes(t))return{stdout:"",stderr:`xan pivot: column '${t}' not found
48
+ `,exitCode:1};let p=s.match(/^(\w+)\((\w+)\)$/);if(!p)return{stdout:"",stderr:`xan pivot: invalid aggregation expression '${s}'
49
+ `,exitCode:1};let[,l,f]=p;r.length===0&&(r=i.filter(y=>y!==t&&y!==f));let c=[];for(let y of h){let x=String(y[t]??"");c.includes(x)||c.push(x)}let a=new Map,d=[];for(let y of h){let x=r.map(A=>String(y[A]??"")).join("\0"),I=String(y[t]??""),N=y[f];a.has(x)||(a.set(x,new Map),d.push(x));let C=a.get(x);C&&(C.has(I)||C.set(I,[]),C.get(I)?.push(N))}let m=[...r,...c],g=[];for(let y of d){let x=y.split("\0"),I=a.get(y);if(!I)continue;let N=O();for(let C=0;C<r.length;C++)b(N,r[C],x[C]);for(let C of c){let A=I.get(C)||[];b(N,C,it(l,A))}g.push(N)}return{stdout:w(m,g),stderr:"",exitCode:0}}function it(e,n){let t=n.filter(s=>s!=null).map(s=>typeof s=="number"?s:Number.parseFloat(String(s))).filter(s=>!Number.isNaN(s));switch(e){case"count":return n.length;case"sum":return t.reduce((s,r)=>s+r,0);case"mean":case"avg":return t.length>0?t.reduce((s,r)=>s+r,0)/t.length:null;case"min":return t.length>0?Math.min(...t):null;case"max":return t.length>0?Math.max(...t):null;case"first":return n.length>0?String(n[0]??""):null;case"last":return n.length>0?String(n[n.length-1]??""):null;default:return null}}async function Re(e,n){let t="",s=[];for(let h=0;h<e.length;h++){let u=e[h];(u==="-s"||u==="--sort")&&h+1<e.length?t=e[++h]:u.startsWith("-")||s.push(u)}if(s.length<2)return{stdout:"",stderr:`xan merge: usage: xan merge [OPTIONS] FILE1 FILE2 ...
50
+ `,exitCode:1};let r=[],o=null;for(let h of s){let u=await v([h],n);if(u.error)return u.error;if(o===null)o=u.headers;else if(JSON.stringify(o)!==JSON.stringify(u.headers))return{stdout:"",stderr:`xan merge: all files must have the same headers
51
+ `,exitCode:1};r.push({headers:u.headers,data:u.data})}if(!o)return{stdout:"",stderr:"",exitCode:0};let i=[];for(let{data:h}of r)i=i.concat(h);if(t){if(!o.includes(t))return{stdout:"",stderr:`xan merge: column '${t}' not found
52
+ `,exitCode:1};i.sort((h,u)=>{let p=h[t],l=u[t],f=typeof p=="number"?p:Number.parseFloat(String(p)),c=typeof l=="number"?l:Number.parseFloat(String(l));return!Number.isNaN(f)&&!Number.isNaN(c)?f-c:String(p??"").localeCompare(String(l??""))})}return{stdout:w(o,i),stderr:"",exitCode:0}}U();async function Me(e,n){let t=e.filter(u=>!u.startsWith("-")),{headers:s,data:r,error:o}=await v(t,n);return o||(r.length===0?{stdout:"",stderr:"",exitCode:0}:{stdout:r.map(u=>s.map(p=>u[p])).map(u=>u.map(p=>at(p)).join(",")).join(`
53
+ `)+`
54
+ `,stderr:"",exitCode:0})}function at(e){if(e==null)return"";let n=String(e);return n.includes(",")||n.includes('"')||n.includes(`
55
+ `)?`"${n.replace(/"/g,'""')}"`:n}async function $e(e,n){let t=null,s=null,r=[];for(let c=0;c<e.length;c++){let a=e[c];if(a==="--seed"&&c+1<e.length)s=Number.parseInt(e[++c],10);else if(!a.startsWith("-")){let d=Number.parseInt(a,10);t===null&&!Number.isNaN(d)&&d>0?t=d:r.push(a)}}if(t===null)return{stdout:"",stderr:`xan sample: usage: xan sample <sample-size> [FILE]
56
+ `,exitCode:1};let{headers:o,data:i,error:h}=await v(r,n);if(h)return h;if(i.length<=t)return{stdout:w(o,i),stderr:"",exitCode:0};let u=s!==null?s:Date.now(),p=()=>(u=u*1103515245+12345&2147483647,u/2147483647),l=i.map((c,a)=>a);for(let c=l.length-1;c>0;c--){let a=Math.floor(p()*(c+1));[l[c],l[a]]=[l[a],l[c]]}let f=l.slice(0,t).sort((c,a)=>c-a).map(c=>i[c]);return{stdout:w(o,f),stderr:"",exitCode:0}}async function Te(e,n){let t=!1,s=[];for(let u=0;u<e.length;u++){let p=e[u];p==="-p"||p==="--pad"?t=!0:p.startsWith("-")||s.push(p)}if(s.length===0)return{stdout:"",stderr:`xan cat: no files specified
57
+ `,exitCode:1};let r=await We(n,s,{cmdName:"xan cat",stopOnError:!0});if(r.exitCode!==0)return{stdout:"",stderr:r.stderr,exitCode:r.exitCode};let o=[],i=[];for(let{content:u}of r.files){let{headers:p,data:l}=_e(u);o.push({headers:p,data:l});for(let f of p)i.includes(f)||i.push(f)}if(!t){let u=JSON.stringify(o[0].headers);for(let p=1;p<o.length;p++)if(JSON.stringify(o[p].headers)!==u)return{stdout:"",stderr:`xan cat: headers do not match (use -p to pad)
58
+ `,exitCode:1};i=o[0].headers}let h=[];for(let{headers:u,data:p}of o)for(let l of p){let f=O();for(let c of i)b(f,c,u.includes(c)?l[c]:"");h.push(f)}return{stdout:w(i,h),stderr:"",exitCode:0}}async function je(e,n){let t="",s=[],r=!1,o=!1,i=[];for(let a=0;a<e.length;a++){let d=e[a];(d==="-s"||d==="--select")&&a+1<e.length?s=e[++a].split(","):d==="-v"||d==="--invert"?r=!0:d==="-i"||d==="--ignore-case"?o=!0:d==="-r"||d==="--regex"||d.startsWith("-")||(t?i.push(d):t=d)}if(!t)return{stdout:"",stderr:`xan search: no pattern specified
59
+ `,exitCode:1};let{headers:h,data:u,error:p}=await v(i,n);if(p)return p;let l=s.length>0?s:h,f;try{f=H(t,o?"i":"")}catch{return{stdout:"",stderr:`xan search: invalid regex pattern '${t}'
60
+ `,exitCode:1}}let c=u.filter(a=>{let d=l.some(m=>{let g=a[m];return g!=null&&f.test(String(g))});return r?!d:d});return{stdout:w(h,c),stderr:"",exitCode:0}}async function De(e,n){let t="",s=[];for(let c of e)c.startsWith("-")||(t?s.push(c):t=c);if(!t)return{stdout:"",stderr:`xan flatmap: no expression specified
61
+ `,exitCode:1};let{headers:r,data:o,error:i}=await v(s,n);if(i)return i;let u=V(t).map(({expr:c,name:a})=>({alias:typeof a=="string"?a:a[0],ast:F(c)})),p={limits:n.limits?{maxIterations:n.limits.maxJqIterations}:void 0},l=[...r,...u.map(c=>c.alias)],f=[];for(let c of o){let a=[],d=1;for(let m of u){let g=$(c,m.ast,p),y=g.length>0&&Array.isArray(g[0])?g[0]:g;a.push(y),d=Math.max(d,y.length)}for(let m=0;m<d;m++){let g=M(c);for(let y=0;y<u.length;y++){let x=a[y][m]??null;b(g,u[y].alias,x)}f.push(g)}}return{stdout:w(l,f),stderr:"",exitCode:0}}async function Ve(e,n){let{cmdView:t}=await import("./xan-view-OW2TB7Z3.js");return t(e,n)}var Be=new Set(["fuzzy-join","glob","hist","input","parallel","plot","progress","range","scrape","tokenize","union-find"]),lt=new Set(["agg","behead","cat","count","dedup","drop","enum","explode","f","filter","fixlengths","flatmap","flatten","fmt","frequency","freq","from","groupby","head","headers","implode","join","map","merge","partition","pivot","rename","reverse","sample","search","select","shuffle","slice","sort","split","stats","tail","to","top","transform","transpose","view",...Be]),Ye={name:"xan",summary:"CSV toolkit for data manipulation",usage:"xan <COMMAND> [OPTIONS] [FILE]",description:`xan is a collection of commands for working with CSV data.
62
+ It provides a simple, ergonomic interface for common data operations.
63
+
64
+ COMMANDS:
65
+ Core:
66
+ headers Show column names
67
+ count Count rows
68
+ head Show first N rows
69
+ tail Show last N rows
70
+ slice Extract row range
71
+ reverse Reverse row order
72
+ behead Remove header row
73
+ sample Random sample of rows
74
+
75
+ Column operations:
76
+ select Select columns (supports glob, ranges, negation)
77
+ drop Drop columns
78
+ rename Rename columns
79
+ enum Add row index column
80
+
81
+ Row operations:
82
+ filter Filter rows by expression
83
+ search Filter rows by regex match
84
+ sort Sort rows
85
+ dedup Remove duplicates
86
+ top Get top N by column
87
+
88
+ Transformations:
89
+ map Add computed columns
90
+ transform Modify existing columns
91
+ explode Split column into multiple rows
92
+ implode Combine rows, join column values
93
+ flatmap Map returning multiple rows
94
+ pivot Reshape rows into columns
95
+ transpose Swap rows and columns
96
+
97
+ Aggregation:
98
+ agg Aggregate values
99
+ groupby Group and aggregate
100
+ frequency Count value occurrences
101
+ stats Show column statistics
102
+
103
+ Multi-file:
104
+ cat Concatenate CSV files
105
+ join Join two CSV files on key
106
+ merge Merge sorted CSV files
107
+ split Split into multiple files
108
+ partition Split by column value
109
+
110
+ Data conversion:
111
+ to Convert CSV to other formats (json)
112
+ from Convert other formats to CSV (json)
113
+ shuffle Randomly reorder rows
114
+ fixlengths Fix ragged CSV files
115
+
116
+ Output:
117
+ view Pretty print as table
118
+ flatten Display records vertically (alias: f)
119
+ fmt Format output
120
+
121
+ EXAMPLES:
122
+ xan headers data.csv
123
+ xan count data.csv
124
+ xan head -n 5 data.csv
125
+ xan select name,email data.csv
126
+ xan select 'vec_*' data.csv # glob pattern
127
+ xan select 'a:c' data.csv # column range
128
+ xan filter 'age > 30' data.csv
129
+ xan search -r '^foo' data.csv
130
+ xan sort -N price data.csv
131
+ xan agg 'sum(amount) as total' data.csv
132
+ xan groupby region 'count() as n' data.csv
133
+ xan explode tags data.csv
134
+ xan join id file1.csv id file2.csv
135
+ xan pivot year 'sum(sales)' data.csv`,options:[" --help display this help and exit"]},ut={headers:{name:"xan headers",summary:"Show column names",usage:"xan headers [OPTIONS] [FILE]",description:"Display column names from a CSV file.",options:["-j, --just-names show names only (no index)"]},count:{name:"xan count",summary:"Count rows",usage:"xan count [FILE]",description:"Count the number of data rows (excluding header).",options:[]},filter:{name:"xan filter",summary:"Filter rows by expression",usage:"xan filter [OPTIONS] EXPR [FILE]",description:"Filter CSV rows using moonblade expressions.",options:["-v, --invert invert match","-l, --limit N limit output rows"]},search:{name:"xan search",summary:"Filter rows by regex",usage:"xan search [OPTIONS] PATTERN [FILE]",description:"Filter CSV rows by regex match on columns.",options:["-s, --select COLS search only these columns","-v, --invert invert match","-i, --ignore-case case insensitive"]},select:{name:"xan select",summary:"Select columns",usage:"xan select COLS [FILE]",description:"Select columns by name, index, glob, or range.",options:["Supports: col names, indices (0,1), ranges (a:c), globs (vec_*), negation (!col)"]},explode:{name:"xan explode",summary:"Split column into rows",usage:"xan explode COLUMN [OPTIONS] [FILE]",description:"Split delimited column values into multiple rows.",options:["-s, --separator SEP separator (default: |)","--drop-empty drop empty values","-r, --rename NAME rename column"]},implode:{name:"xan implode",summary:"Combine rows",usage:"xan implode COLUMN [OPTIONS] [FILE]",description:"Combine consecutive rows, joining column values.",options:["-s, --sep SEP separator (default: |)","-r, --rename NAME rename column"]},join:{name:"xan join",summary:"Join CSV files",usage:"xan join KEY1 FILE1 KEY2 FILE2 [OPTIONS]",description:"Join two CSV files on key columns.",options:["--left left outer join","--right right outer join","--full full outer join","-D, --default VAL default for missing"]},pivot:{name:"xan pivot",summary:"Reshape to columns",usage:"xan pivot COLUMN AGG_EXPR [OPTIONS] [FILE]",description:"Turn row values into columns.",options:["-g, --groupby COLS group by columns"]}},fn={name:"xan",async execute(e,n){if(e.length===0||G(e))return D(Ye);let t=e[0],s=e.slice(1);if(G(s)){let r=ut[t];return r?D(r):D(Ye)}if(Be.has(t))return{stdout:"",stderr:`xan ${t}: not yet implemented
136
+ `,exitCode:1};switch(t){case"headers":return ue(s,n);case"count":return ce(s,n);case"head":return pe(s,n);case"tail":return fe(s,n);case"slice":return de(s,n);case"reverse":return he(s,n);case"behead":return Me(s,n);case"sample":return $e(s,n);case"select":return oe(s,n);case"drop":return ie(s,n);case"rename":return ae(s,n);case"enum":return le(s,n);case"filter":return Se(s,n);case"search":return je(s,n);case"sort":return Ie(s,n);case"dedup":return ke(s,n);case"top":return Ne(s,n);case"map":return Ee(s,n);case"transform":return Ae(s,n);case"explode":return Oe(s,n);case"implode":return Fe(s,n);case"flatmap":return De(s,n);case"pivot":return Pe(s,n);case"agg":return te(s,n);case"groupby":return ne(s,n);case"frequency":case"freq":return se(s,n);case"stats":return re(s,n);case"cat":return Te(s,n);case"join":return Le(s,n);case"merge":return Re(s,n);case"split":return we(s,n);case"partition":return ve(s,n);case"to":return Ce(s,n);case"from":return be(s,n);case"transpose":return ge(s,n);case"shuffle":return ye(s,n);case"fixlengths":return xe(s,n);case"view":return B(s,n);case"flatten":case"f":return Y(s,n);case"fmt":return Ve(s,n);default:return lt.has(t)?{stdout:"",stderr:`xan ${t}: not yet implemented
137
+ `,exitCode:1}:{stdout:"",stderr:`xan: unknown command '${t}'
138
+ Run 'xan --help' for usage.
139
+ `,exitCode:1}}}},dn={name:"xan",flags:[],stdinType:"text",needsArgs:!0};export{fn as a,dn as b};
@@ -0,0 +1,8 @@
1
+ import{a as p}from"./chunk-3THT3N7L.js";import{a as m,b as g,c as h}from"./chunk-74CEPOFO.js";var y={name:"ln",summary:"make links between files",usage:"ln [OPTIONS] TARGET LINK_NAME",options:["-s create a symbolic link instead of a hard link","-f remove existing destination files","-n treat LINK_NAME as a normal file if it is a symbolic link to a directory","-v print name of each linked file"," --help display this help and exit"]},v={name:"ln",async execute(n,s){if(g(n))return m(y);let r=!1,a=!1,f=!1,t=0;for(;t<n.length&&n[t].startsWith("-");){let e=n[t];if(e==="-s"||e==="--symbolic")r=!0,t++;else if(e==="-f"||e==="--force")a=!0,t++;else if(e==="-v"||e==="--verbose")f=!0,t++;else if(e==="-n"||e==="--no-dereference")t++;else if(/^-[sfvn]+$/.test(e))e.includes("s")&&(r=!0),e.includes("f")&&(a=!0),e.includes("v")&&(f=!0),t++;else if(e==="--"){t++;break}else return h("ln",e)}let d=n.slice(t);if(d.length<2)return{stdout:"",stderr:`ln: missing file operand
2
+ `,exitCode:1};let i=d[0],l=d[1],o=s.fs.resolvePath(s.cwd,l);if(await s.fs.exists(o))if(a)try{await s.fs.rm(o,{force:!0})}catch{return{stdout:"",stderr:`ln: cannot remove '${l}': Permission denied
3
+ `,exitCode:1}}else return{stdout:"",stderr:`ln: failed to create ${r?"symbolic ":""}link '${l}': File exists
4
+ `,exitCode:1};try{if(r)await s.fs.symlink(i,o);else{let e=s.fs.resolvePath(s.cwd,i);if(!await s.fs.exists(e))return{stdout:"",stderr:`ln: failed to access '${i}': No such file or directory
5
+ `,exitCode:1};await s.fs.link(e,o)}}catch(e){let u=e;return u.message.includes("EPERM")?{stdout:"",stderr:`ln: '${i}': hard link not allowed for directory
6
+ `,exitCode:1}:{stdout:"",stderr:`ln: ${p(u.message)}
7
+ `,exitCode:1}}let c="";return f&&(c=`'${l}' -> '${i}'
8
+ `),{stdout:c,stderr:"",exitCode:0}}},$={name:"ln",flags:[{flag:"-s",type:"boolean"},{flag:"-f",type:"boolean"},{flag:"-n",type:"boolean"},{flag:"-v",type:"boolean"}],needsArgs:!0,minArgs:2};export{v as a,$ as b};
@@ -0,0 +1,4 @@
1
+ async function x(a,u){let o="octal",n=[],i=[];for(let t=0;t<a.length;t++){let e=a[t];if(e==="-c")n.push("char");else if(e==="-An"||e==="-A"&&a[t+1]==="n")o="none",e==="-A"&&t++;else if(e==="-t"&&a[t+1]){let r=a[++t];r==="x1"?n.push("hex"):r==="c"?n.push("char"):r.startsWith("o")&&n.push("octal")}else(!e.startsWith("-")||e==="-")&&i.push(e)}n.length===0&&n.push("octal");let c=u.stdin;if(i.length>0&&i[0]!=="-"){let t=i[0].startsWith("/")?i[0]:`${u.cwd}/${i[0]}`;try{c=await u.fs.readFile(t)}catch{return{stdout:"",stderr:`od: ${i[0]}: No such file or directory
2
+ `,exitCode:1}}}let d=n.includes("char");function m(t){return t===0?" \\0":t===7?" \\a":t===8?" \\b":t===9?" \\t":t===10?" \\n":t===11?" \\v":t===12?" \\f":t===13?" \\r":t>=32&&t<127?` ${String.fromCharCode(t)}`:` ${t.toString(8).padStart(3,"0")}`}function y(t){return d?` ${t.toString(16).padStart(2,"0")}`:` ${t.toString(16).padStart(2,"0")}`}function S(t){return` ${t.toString(8).padStart(3,"0")}`}let s=[];for(let t of c)s.push(t.charCodeAt(0));let p=16,f=[];for(let t=0;t<s.length;t+=p){let e=s.slice(t,t+p);for(let r=0;r<n.length;r++){let g=n[r],l;g==="char"?l=e.map(m):g==="hex"?l=e.map(y):l=e.map(S);let h="";r===0&&o!=="none"?h=`${t.toString(8).padStart(7,"0")} `:(r>0||o==="none")&&(h=o==="none"?"":" "),f.push(h+l.join(""))}}return o!=="none"&&s.length>0&&f.push(s.length.toString(8).padStart(7,"0")),{stdout:f.length>0?`${f.join(`
3
+ `)}
4
+ `:"",stderr:"",exitCode:0}}var $={name:"od",execute:x},v={name:"od",flags:[{flag:"-c",type:"boolean"},{flag:"-A",type:"value",valueHint:"string"},{flag:"-t",type:"value",valueHint:"string"},{flag:"-N",type:"value",valueHint:"number"}],stdinType:"text",needsFiles:!0};export{$ as a,v as b};