@keystrokehq/platform 0.0.0-staging-20260714181321

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 (437) hide show
  1. package/LICENSE +13 -0
  2. package/README.md +63 -0
  3. package/dist/alias-RTYYYW3D-CGfkaHCa.mjs +97 -0
  4. package/dist/alias-RTYYYW3D-CGfkaHCa.mjs.map +1 -0
  5. package/dist/alias-RTYYYW3D-eAP6l98p.cjs +98 -0
  6. package/dist/alias-RTYYYW3D-eAP6l98p.cjs.map +1 -0
  7. package/dist/awk2-LA3USKJP-pKmGobcZ.cjs +2732 -0
  8. package/dist/awk2-LA3USKJP-pKmGobcZ.cjs.map +1 -0
  9. package/dist/awk2-LA3USKJP-pnoNftT8.mjs +2732 -0
  10. package/dist/awk2-LA3USKJP-pnoNftT8.mjs.map +1 -0
  11. package/dist/base64-C2AIWVNC-CrtpD1na.cjs +122 -0
  12. package/dist/base64-C2AIWVNC-CrtpD1na.cjs.map +1 -0
  13. package/dist/base64-C2AIWVNC-CyAyrmOE.mjs +122 -0
  14. package/dist/base64-C2AIWVNC-CyAyrmOE.mjs.map +1 -0
  15. package/dist/basename-UB3CIYNI--0bze3Ml.cjs +52 -0
  16. package/dist/basename-UB3CIYNI--0bze3Ml.cjs.map +1 -0
  17. package/dist/basename-UB3CIYNI-DUyGGC_4.mjs +52 -0
  18. package/dist/basename-UB3CIYNI-DUyGGC_4.mjs.map +1 -0
  19. package/dist/bash-YZ33HQZQ-Bft3qmnm.mjs +116 -0
  20. package/dist/bash-YZ33HQZQ-Bft3qmnm.mjs.map +1 -0
  21. package/dist/bash-YZ33HQZQ-DLA5dK37.cjs +117 -0
  22. package/dist/bash-YZ33HQZQ-DLA5dK37.cjs.map +1 -0
  23. package/dist/cat-TSFMZVYS-BaKHr4U0.cjs +61 -0
  24. package/dist/cat-TSFMZVYS-BaKHr4U0.cjs.map +1 -0
  25. package/dist/cat-TSFMZVYS-CblTQ5QR.mjs +61 -0
  26. package/dist/cat-TSFMZVYS-CblTQ5QR.mjs.map +1 -0
  27. package/dist/chmod-TFEPA42X-Cmt6YbbQ.cjs +124 -0
  28. package/dist/chmod-TFEPA42X-Cmt6YbbQ.cjs.map +1 -0
  29. package/dist/chmod-TFEPA42X-DKe_HF9R.mjs +124 -0
  30. package/dist/chmod-TFEPA42X-DKe_HF9R.mjs.map +1 -0
  31. package/dist/chunk-27JIFWUR-C_jDOm1q.mjs +99 -0
  32. package/dist/chunk-27JIFWUR-C_jDOm1q.mjs.map +1 -0
  33. package/dist/chunk-27JIFWUR-CyXQ6J5p.cjs +115 -0
  34. package/dist/chunk-27JIFWUR-CyXQ6J5p.cjs.map +1 -0
  35. package/dist/chunk-4I3HOE5Z-BYotzP2w.mjs +718 -0
  36. package/dist/chunk-4I3HOE5Z-BYotzP2w.mjs.map +1 -0
  37. package/dist/chunk-4I3HOE5Z-CGJlGU0s.cjs +722 -0
  38. package/dist/chunk-4I3HOE5Z-CGJlGU0s.cjs.map +1 -0
  39. package/dist/chunk-4WKZNNJK-CuElmTiB.cjs +114 -0
  40. package/dist/chunk-4WKZNNJK-CuElmTiB.cjs.map +1 -0
  41. package/dist/chunk-4WKZNNJK-x25SBHbd.mjs +68 -0
  42. package/dist/chunk-4WKZNNJK-x25SBHbd.mjs.map +1 -0
  43. package/dist/chunk-5H5SCKJM-J5-RMqlK.cjs +611 -0
  44. package/dist/chunk-5H5SCKJM-J5-RMqlK.cjs.map +1 -0
  45. package/dist/chunk-5H5SCKJM-gg7VwICJ.mjs +601 -0
  46. package/dist/chunk-5H5SCKJM-gg7VwICJ.mjs.map +1 -0
  47. package/dist/chunk-AQ6FYS2X-BTQ2ZWeh.cjs +40 -0
  48. package/dist/chunk-AQ6FYS2X-BTQ2ZWeh.cjs.map +1 -0
  49. package/dist/chunk-AQ6FYS2X-CrZWHyzD.mjs +36 -0
  50. package/dist/chunk-AQ6FYS2X-CrZWHyzD.mjs.map +1 -0
  51. package/dist/chunk-BZUGFHVS-7RRM7Jpb.cjs +67 -0
  52. package/dist/chunk-BZUGFHVS-7RRM7Jpb.cjs.map +1 -0
  53. package/dist/chunk-BZUGFHVS-B2NchobP.mjs +33 -0
  54. package/dist/chunk-BZUGFHVS-B2NchobP.mjs.map +1 -0
  55. package/dist/chunk-CHFEPBH4-CINsrE8W.mjs +593 -0
  56. package/dist/chunk-CHFEPBH4-CINsrE8W.mjs.map +1 -0
  57. package/dist/chunk-CHFEPBH4-CPiu5G3a.cjs +609 -0
  58. package/dist/chunk-CHFEPBH4-CPiu5G3a.cjs.map +1 -0
  59. package/dist/chunk-EBAPSGAO-C93v3qzT.mjs +246 -0
  60. package/dist/chunk-EBAPSGAO-C93v3qzT.mjs.map +1 -0
  61. package/dist/chunk-EBAPSGAO-DZoiCbGH.cjs +250 -0
  62. package/dist/chunk-EBAPSGAO-DZoiCbGH.cjs.map +1 -0
  63. package/dist/chunk-LEKBROJD-BuX8Z517.mjs +3109 -0
  64. package/dist/chunk-LEKBROJD-BuX8Z517.mjs.map +1 -0
  65. package/dist/chunk-LEKBROJD-hm07oWvp.cjs +3119 -0
  66. package/dist/chunk-LEKBROJD-hm07oWvp.cjs.map +1 -0
  67. package/dist/chunk-QAYAQNCG-B1r1SmqS.mjs +62 -0
  68. package/dist/chunk-QAYAQNCG-B1r1SmqS.mjs.map +1 -0
  69. package/dist/chunk-QAYAQNCG-ROQh1hrZ.cjs +78 -0
  70. package/dist/chunk-QAYAQNCG-ROQh1hrZ.cjs.map +1 -0
  71. package/dist/chunk-QIQMJJZ4-Cm4e9-4O.cjs +96 -0
  72. package/dist/chunk-QIQMJJZ4-Cm4e9-4O.cjs.map +1 -0
  73. package/dist/chunk-QIQMJJZ4-Dn8UfvJ9.mjs +92 -0
  74. package/dist/chunk-QIQMJJZ4-Dn8UfvJ9.mjs.map +1 -0
  75. package/dist/chunk-SO6R3ZKN-DIoHJ9o1.mjs +139 -0
  76. package/dist/chunk-SO6R3ZKN-DIoHJ9o1.mjs.map +1 -0
  77. package/dist/chunk-SO6R3ZKN-DYeOBPNJ.cjs +161 -0
  78. package/dist/chunk-SO6R3ZKN-DYeOBPNJ.cjs.map +1 -0
  79. package/dist/chunk-SX2HC7SO-BrE3qB0x.mjs +19 -0
  80. package/dist/chunk-SX2HC7SO-BrE3qB0x.mjs.map +1 -0
  81. package/dist/chunk-SX2HC7SO-CN1P7tXw.cjs +23 -0
  82. package/dist/chunk-SX2HC7SO-CN1P7tXw.cjs.map +1 -0
  83. package/dist/chunk-TDD4NFYE-CyVGcZCt.cjs +24 -0
  84. package/dist/chunk-TDD4NFYE-CyVGcZCt.cjs.map +1 -0
  85. package/dist/chunk-TDD4NFYE-Djy1ztDY.mjs +20 -0
  86. package/dist/chunk-TDD4NFYE-Djy1ztDY.mjs.map +1 -0
  87. package/dist/chunk-TN7HHBQW-B8PYcKz5.mjs +1136 -0
  88. package/dist/chunk-TN7HHBQW-B8PYcKz5.mjs.map +1 -0
  89. package/dist/chunk-TN7HHBQW-D_SK6w5n.cjs +1146 -0
  90. package/dist/chunk-TN7HHBQW-D_SK6w5n.cjs.map +1 -0
  91. package/dist/chunk-VPADYNBD-BwKY-5Xk.mjs +121 -0
  92. package/dist/chunk-VPADYNBD-BwKY-5Xk.mjs.map +1 -0
  93. package/dist/chunk-VPADYNBD-ZJpUxqq9.cjs +167 -0
  94. package/dist/chunk-VPADYNBD-ZJpUxqq9.cjs.map +1 -0
  95. package/dist/chunk-YCLFEX4T-BmQTDw1Y.cjs +86 -0
  96. package/dist/chunk-YCLFEX4T-BmQTDw1Y.cjs.map +1 -0
  97. package/dist/chunk-YCLFEX4T-DvGVdefs.mjs +76 -0
  98. package/dist/chunk-YCLFEX4T-DvGVdefs.mjs.map +1 -0
  99. package/dist/clear-HKGFEOF6-B9FqQA-D.cjs +27 -0
  100. package/dist/clear-HKGFEOF6-B9FqQA-D.cjs.map +1 -0
  101. package/dist/clear-HKGFEOF6-CVmdHYje.mjs +27 -0
  102. package/dist/clear-HKGFEOF6-CVmdHYje.mjs.map +1 -0
  103. package/dist/column-XT6UFXNQ-CEthufNl.mjs +142 -0
  104. package/dist/column-XT6UFXNQ-CEthufNl.mjs.map +1 -0
  105. package/dist/column-XT6UFXNQ-tddqJ9Kg.cjs +142 -0
  106. package/dist/column-XT6UFXNQ-tddqJ9Kg.cjs.map +1 -0
  107. package/dist/comm-VV2LDX2J-BpdAYzr_.mjs +86 -0
  108. package/dist/comm-VV2LDX2J-BpdAYzr_.mjs.map +1 -0
  109. package/dist/comm-VV2LDX2J-D8M6JDGH.cjs +86 -0
  110. package/dist/comm-VV2LDX2J-D8M6JDGH.cjs.map +1 -0
  111. package/dist/config-BO2sTtYA.d.mts +324 -0
  112. package/dist/config-DahIeWeM.d.cts +322 -0
  113. package/dist/config.cjs +16 -0
  114. package/dist/config.cjs.map +1 -0
  115. package/dist/config.d.cts +2 -0
  116. package/dist/config.d.mts +2 -0
  117. package/dist/config.mjs +15 -0
  118. package/dist/config.mjs.map +1 -0
  119. package/dist/cp-BISAAS7A-BO2reDJf.cjs +105 -0
  120. package/dist/cp-BISAAS7A-BO2reDJf.cjs.map +1 -0
  121. package/dist/cp-BISAAS7A-Bgk2QUcq.mjs +105 -0
  122. package/dist/cp-BISAAS7A-Bgk2QUcq.mjs.map +1 -0
  123. package/dist/cut-OKARJCCV-DPm1czVO.mjs +117 -0
  124. package/dist/cut-OKARJCCV-DPm1czVO.mjs.map +1 -0
  125. package/dist/cut-OKARJCCV-DaBpPPf8.cjs +117 -0
  126. package/dist/cut-OKARJCCV-DaBpPPf8.cjs.map +1 -0
  127. package/dist/date-UUUPW43J-DPhwuguC.cjs +187 -0
  128. package/dist/date-UUUPW43J-DPhwuguC.cjs.map +1 -0
  129. package/dist/date-UUUPW43J-_wNZ6va_.mjs +187 -0
  130. package/dist/date-UUUPW43J-_wNZ6va_.mjs.map +1 -0
  131. package/dist/diff-MWJFIG7X-DZWE4by5.mjs +754 -0
  132. package/dist/diff-MWJFIG7X-DZWE4by5.mjs.map +1 -0
  133. package/dist/diff-MWJFIG7X-sW58v-In.cjs +754 -0
  134. package/dist/diff-MWJFIG7X-sW58v-In.cjs.map +1 -0
  135. package/dist/dirname-MPHRFUTI-B9pAFfgt.cjs +42 -0
  136. package/dist/dirname-MPHRFUTI-B9pAFfgt.cjs.map +1 -0
  137. package/dist/dirname-MPHRFUTI-BH9xdo7B.mjs +42 -0
  138. package/dist/dirname-MPHRFUTI-BH9xdo7B.mjs.map +1 -0
  139. package/dist/dist-B_VrBT_r.mjs +37377 -0
  140. package/dist/dist-B_VrBT_r.mjs.map +1 -0
  141. package/dist/dist-BdxWQmKK.mjs +8067 -0
  142. package/dist/dist-BdxWQmKK.mjs.map +1 -0
  143. package/dist/dist-DCAFVLts.cjs +38596 -0
  144. package/dist/dist-DCAFVLts.cjs.map +1 -0
  145. package/dist/dist-QIg3f1DP.cjs +8132 -0
  146. package/dist/dist-QIg3f1DP.cjs.map +1 -0
  147. package/dist/du-572XNP42-CRWdTyWl.mjs +175 -0
  148. package/dist/du-572XNP42-CRWdTyWl.mjs.map +1 -0
  149. package/dist/du-572XNP42-CqHbkS7A.cjs +175 -0
  150. package/dist/du-572XNP42-CqHbkS7A.cjs.map +1 -0
  151. package/dist/echo-NDWZZHPO-BUogPcJ_.mjs +136 -0
  152. package/dist/echo-NDWZZHPO-BUogPcJ_.mjs.map +1 -0
  153. package/dist/echo-NDWZZHPO-Cv_eCCli.cjs +136 -0
  154. package/dist/echo-NDWZZHPO-Cv_eCCli.cjs.map +1 -0
  155. package/dist/env-36M5BO7M-B3hY6c1d.mjs +117 -0
  156. package/dist/env-36M5BO7M-B3hY6c1d.mjs.map +1 -0
  157. package/dist/env-36M5BO7M-BJX6pRHi.cjs +118 -0
  158. package/dist/env-36M5BO7M-BJX6pRHi.cjs.map +1 -0
  159. package/dist/expand-JSPG6VOP-C4ZcygSl.mjs +144 -0
  160. package/dist/expand-JSPG6VOP-C4ZcygSl.mjs.map +1 -0
  161. package/dist/expand-JSPG6VOP-Dd-2L8yn.cjs +144 -0
  162. package/dist/expand-JSPG6VOP-Dd-2L8yn.cjs.map +1 -0
  163. package/dist/expr-5JAACS4X-Cxs0wDb3.mjs +151 -0
  164. package/dist/expr-5JAACS4X-Cxs0wDb3.mjs.map +1 -0
  165. package/dist/expr-5JAACS4X-DmKCLgI8.cjs +151 -0
  166. package/dist/expr-5JAACS4X-DmKCLgI8.cjs.map +1 -0
  167. package/dist/file-IPZJC3FQ-DeyikL2y.mjs +4200 -0
  168. package/dist/file-IPZJC3FQ-DeyikL2y.mjs.map +1 -0
  169. package/dist/file-IPZJC3FQ-M9Q0fqTe.cjs +4200 -0
  170. package/dist/file-IPZJC3FQ-M9Q0fqTe.cjs.map +1 -0
  171. package/dist/find-INTH3OLC-BR7ZZKkF.mjs +1330 -0
  172. package/dist/find-INTH3OLC-BR7ZZKkF.mjs.map +1 -0
  173. package/dist/find-INTH3OLC-C2Uc7scj.cjs +1330 -0
  174. package/dist/find-INTH3OLC-C2Uc7scj.cjs.map +1 -0
  175. package/dist/fold-4TQNYMSW-BQ9ukqex.cjs +137 -0
  176. package/dist/fold-4TQNYMSW-BQ9ukqex.cjs.map +1 -0
  177. package/dist/fold-4TQNYMSW-DsDovqTl.mjs +137 -0
  178. package/dist/fold-4TQNYMSW-DsDovqTl.mjs.map +1 -0
  179. package/dist/grep-V3LQVMRQ-BsgT3xzo.mjs +333 -0
  180. package/dist/grep-V3LQVMRQ-BsgT3xzo.mjs.map +1 -0
  181. package/dist/grep-V3LQVMRQ-ChT5D1RX.cjs +335 -0
  182. package/dist/grep-V3LQVMRQ-ChT5D1RX.cjs.map +1 -0
  183. package/dist/gzip-O5ASJAFY-ClxvbIo6.mjs +591 -0
  184. package/dist/gzip-O5ASJAFY-ClxvbIo6.mjs.map +1 -0
  185. package/dist/gzip-O5ASJAFY-DJOwjcpB.cjs +593 -0
  186. package/dist/gzip-O5ASJAFY-DJOwjcpB.cjs.map +1 -0
  187. package/dist/head-442HYESI-B1LlP95a.mjs +35 -0
  188. package/dist/head-442HYESI-B1LlP95a.mjs.map +1 -0
  189. package/dist/head-442HYESI-CL9VIqkb.cjs +35 -0
  190. package/dist/head-442HYESI-CL9VIqkb.cjs.map +1 -0
  191. package/dist/help-HZ6M2CKN-BjVXFW-f.mjs +122 -0
  192. package/dist/help-HZ6M2CKN-BjVXFW-f.mjs.map +1 -0
  193. package/dist/help-HZ6M2CKN-CzUrqQB7.cjs +122 -0
  194. package/dist/help-HZ6M2CKN-CzUrqQB7.cjs.map +1 -0
  195. package/dist/history-WYYKSLSZ-6NEj5e3f.mjs +47 -0
  196. package/dist/history-WYYKSLSZ-6NEj5e3f.mjs.map +1 -0
  197. package/dist/history-WYYKSLSZ-DfPcvaAY.cjs +47 -0
  198. package/dist/history-WYYKSLSZ-DfPcvaAY.cjs.map +1 -0
  199. package/dist/hostname-C4HQXXUP-B86my_ii.mjs +23 -0
  200. package/dist/hostname-C4HQXXUP-B86my_ii.mjs.map +1 -0
  201. package/dist/hostname-C4HQXXUP-CC1LpY9-.cjs +23 -0
  202. package/dist/hostname-C4HQXXUP-CC1LpY9-.cjs.map +1 -0
  203. package/dist/html-to-markdown-JW4MSQZO-BKOSSsyy.mjs +15889 -0
  204. package/dist/html-to-markdown-JW4MSQZO-BKOSSsyy.mjs.map +1 -0
  205. package/dist/html-to-markdown-JW4MSQZO-TyAsgBnO.cjs +15892 -0
  206. package/dist/html-to-markdown-JW4MSQZO-TyAsgBnO.cjs.map +1 -0
  207. package/dist/internal.cjs +5 -0
  208. package/dist/internal.d.cts +22 -0
  209. package/dist/internal.d.mts +22 -0
  210. package/dist/internal.mjs +2 -0
  211. package/dist/join-TBRGI3LQ-CwgUaVoR.mjs +197 -0
  212. package/dist/join-TBRGI3LQ-CwgUaVoR.mjs.map +1 -0
  213. package/dist/join-TBRGI3LQ-JKyApOii.cjs +197 -0
  214. package/dist/join-TBRGI3LQ-JKyApOii.cjs.map +1 -0
  215. package/dist/jq-4XLYLOS5-D6TJiRje.cjs +250 -0
  216. package/dist/jq-4XLYLOS5-D6TJiRje.cjs.map +1 -0
  217. package/dist/jq-4XLYLOS5-ZisFFv1P.mjs +250 -0
  218. package/dist/jq-4XLYLOS5-ZisFFv1P.mjs.map +1 -0
  219. package/dist/js-exec-N5KEZBH7-BDEPJLK5.cjs +326 -0
  220. package/dist/js-exec-N5KEZBH7-BDEPJLK5.cjs.map +1 -0
  221. package/dist/js-exec-N5KEZBH7-Dp6FRM8y.mjs +325 -0
  222. package/dist/js-exec-N5KEZBH7-Dp6FRM8y.mjs.map +1 -0
  223. package/dist/lib-Cecx0Mdv.cjs +47 -0
  224. package/dist/lib-Cecx0Mdv.cjs.map +1 -0
  225. package/dist/lib-Dsemc_Ik.mjs +44 -0
  226. package/dist/lib-Dsemc_Ik.mjs.map +1 -0
  227. package/dist/llm-proxy.cjs +32 -0
  228. package/dist/llm-proxy.d.cts +2 -0
  229. package/dist/llm-proxy.d.mts +2 -0
  230. package/dist/llm-proxy.mjs +2 -0
  231. package/dist/ln-4LGSXXGD-DCt-08KM.cjs +100 -0
  232. package/dist/ln-4LGSXXGD-DCt-08KM.cjs.map +1 -0
  233. package/dist/ln-4LGSXXGD-DbVtAqnH.mjs +100 -0
  234. package/dist/ln-4LGSXXGD-DbVtAqnH.mjs.map +1 -0
  235. package/dist/ls-ZJGQER7M-BQuAedIy.cjs +1890 -0
  236. package/dist/ls-ZJGQER7M-BQuAedIy.cjs.map +1 -0
  237. package/dist/ls-ZJGQER7M-PRXSwGZZ.mjs +1890 -0
  238. package/dist/ls-ZJGQER7M-PRXSwGZZ.mjs.map +1 -0
  239. package/dist/lzma-BE4gwH-8.cjs +1204 -0
  240. package/dist/lzma-BE4gwH-8.cjs.map +1 -0
  241. package/dist/lzma-CmLEdvxC.mjs +1134 -0
  242. package/dist/lzma-CmLEdvxC.mjs.map +1 -0
  243. package/dist/md5sum-SPU24VSG-CmmvMGPa.mjs +15 -0
  244. package/dist/md5sum-SPU24VSG-CmmvMGPa.mjs.map +1 -0
  245. package/dist/md5sum-SPU24VSG-xbLQd_LU.cjs +15 -0
  246. package/dist/md5sum-SPU24VSG-xbLQd_LU.cjs.map +1 -0
  247. package/dist/mkdir-MEPGZOB6-DB938M04.mjs +56 -0
  248. package/dist/mkdir-MEPGZOB6-DB938M04.mjs.map +1 -0
  249. package/dist/mkdir-MEPGZOB6-IHvBvQTL.cjs +56 -0
  250. package/dist/mkdir-MEPGZOB6-IHvBvQTL.cjs.map +1 -0
  251. package/dist/mv-W5BIQ646-B2XVmdN4.mjs +92 -0
  252. package/dist/mv-W5BIQ646-B2XVmdN4.mjs.map +1 -0
  253. package/dist/mv-W5BIQ646-CFwaJ3Xx.cjs +92 -0
  254. package/dist/mv-W5BIQ646-CFwaJ3Xx.cjs.map +1 -0
  255. package/dist/nl-WSDW7I4O-CRYsCXB7.mjs +207 -0
  256. package/dist/nl-WSDW7I4O-CRYsCXB7.mjs.map +1 -0
  257. package/dist/nl-WSDW7I4O-FzZXRAwD.cjs +207 -0
  258. package/dist/nl-WSDW7I4O-FzZXRAwD.cjs.map +1 -0
  259. package/dist/od-WOKFDJTP-DVBJw76D.mjs +72 -0
  260. package/dist/od-WOKFDJTP-DVBJw76D.mjs.map +1 -0
  261. package/dist/od-WOKFDJTP-M80nAztL.cjs +72 -0
  262. package/dist/od-WOKFDJTP-M80nAztL.cjs.map +1 -0
  263. package/dist/paste-7JC6S4DX-DOPeey0W.cjs +112 -0
  264. package/dist/paste-7JC6S4DX-DOPeey0W.cjs.map +1 -0
  265. package/dist/paste-7JC6S4DX-q6d7adhi.mjs +112 -0
  266. package/dist/paste-7JC6S4DX-q6d7adhi.mjs.map +1 -0
  267. package/dist/platform-database.cjs +98 -0
  268. package/dist/platform-database.d.cts +2 -0
  269. package/dist/platform-database.d.mts +2 -0
  270. package/dist/platform-database.mjs +2 -0
  271. package/dist/printf-TWGXF445-BOz88v_H.mjs +878 -0
  272. package/dist/printf-TWGXF445-BOz88v_H.mjs.map +1 -0
  273. package/dist/printf-TWGXF445-BXve-Eiv.cjs +878 -0
  274. package/dist/printf-TWGXF445-BXve-Eiv.cjs.map +1 -0
  275. package/dist/pwd-WE6EN5AV-CbA4e7ec.mjs +33 -0
  276. package/dist/pwd-WE6EN5AV-CbA4e7ec.mjs.map +1 -0
  277. package/dist/pwd-WE6EN5AV-DfqwHtSS.cjs +33 -0
  278. package/dist/pwd-WE6EN5AV-DfqwHtSS.cjs.map +1 -0
  279. package/dist/python3-POMOR4OA-DRta50Gp.mjs +290 -0
  280. package/dist/python3-POMOR4OA-DRta50Gp.mjs.map +1 -0
  281. package/dist/python3-POMOR4OA-__fmhnV2.cjs +291 -0
  282. package/dist/python3-POMOR4OA-__fmhnV2.cjs.map +1 -0
  283. package/dist/readlink-OPJF4DL5-C7a7cTci.cjs +75 -0
  284. package/dist/readlink-OPJF4DL5-C7a7cTci.cjs.map +1 -0
  285. package/dist/readlink-OPJF4DL5-Zf7h1M1z.mjs +75 -0
  286. package/dist/readlink-OPJF4DL5-Zf7h1M1z.mjs.map +1 -0
  287. package/dist/rev-5EHFX4EJ-CFFAX-eL.cjs +65 -0
  288. package/dist/rev-5EHFX4EJ-CFFAX-eL.cjs.map +1 -0
  289. package/dist/rev-5EHFX4EJ-DP28Z2tI.mjs +65 -0
  290. package/dist/rev-5EHFX4EJ-DP28Z2tI.mjs.map +1 -0
  291. package/dist/rg-S4FXYXWB-Bawo1fot.mjs +1536 -0
  292. package/dist/rg-S4FXYXWB-Bawo1fot.mjs.map +1 -0
  293. package/dist/rg-S4FXYXWB-DrdwsBhO.cjs +1536 -0
  294. package/dist/rg-S4FXYXWB-DrdwsBhO.cjs.map +1 -0
  295. package/dist/rm-SSGETQVQ-BaWdfV2i.cjs +79 -0
  296. package/dist/rm-SSGETQVQ-BaWdfV2i.cjs.map +1 -0
  297. package/dist/rm-SSGETQVQ-C6EQ5XnR.mjs +79 -0
  298. package/dist/rm-SSGETQVQ-C6EQ5XnR.mjs.map +1 -0
  299. package/dist/rmdir-OC4ZLPYA-COg4QKnN.mjs +131 -0
  300. package/dist/rmdir-OC4ZLPYA-COg4QKnN.mjs.map +1 -0
  301. package/dist/rmdir-OC4ZLPYA-DK3A8POR.cjs +131 -0
  302. package/dist/rmdir-OC4ZLPYA-DK3A8POR.cjs.map +1 -0
  303. package/dist/run.cjs +13 -0
  304. package/dist/run.cjs.map +1 -0
  305. package/dist/run.d.cts +1 -0
  306. package/dist/run.d.mts +1 -0
  307. package/dist/run.mjs +14 -0
  308. package/dist/run.mjs.map +1 -0
  309. package/dist/sed-S5UIK574-CQ1AnR3r.cjs +1717 -0
  310. package/dist/sed-S5UIK574-CQ1AnR3r.cjs.map +1 -0
  311. package/dist/sed-S5UIK574-P4wu0pe1.mjs +1717 -0
  312. package/dist/sed-S5UIK574-P4wu0pe1.mjs.map +1 -0
  313. package/dist/seq-M5EC7Q57-BlpnRLkX.mjs +84 -0
  314. package/dist/seq-M5EC7Q57-BlpnRLkX.mjs.map +1 -0
  315. package/dist/seq-M5EC7Q57-CObcFJ6w.cjs +84 -0
  316. package/dist/seq-M5EC7Q57-CObcFJ6w.cjs.map +1 -0
  317. package/dist/sha1sum-2PTOAFR6-BPLIR6an.cjs +15 -0
  318. package/dist/sha1sum-2PTOAFR6-BPLIR6an.cjs.map +1 -0
  319. package/dist/sha1sum-2PTOAFR6-jNQ-uyUw.mjs +15 -0
  320. package/dist/sha1sum-2PTOAFR6-jNQ-uyUw.mjs.map +1 -0
  321. package/dist/sha256sum-NS7D3IXX-Bvq-KnSV.cjs +15 -0
  322. package/dist/sha256sum-NS7D3IXX-Bvq-KnSV.cjs.map +1 -0
  323. package/dist/sha256sum-NS7D3IXX-DebIy64D.mjs +15 -0
  324. package/dist/sha256sum-NS7D3IXX-DebIy64D.mjs.map +1 -0
  325. package/dist/sleep-X22JJINO-BZNoBeaB.mjs +66 -0
  326. package/dist/sleep-X22JJINO-BZNoBeaB.mjs.map +1 -0
  327. package/dist/sleep-X22JJINO-DP1z72-Q.cjs +66 -0
  328. package/dist/sleep-X22JJINO-DP1z72-Q.cjs.map +1 -0
  329. package/dist/sort-SW2YEO5B-BWZaGhuw.cjs +318 -0
  330. package/dist/sort-SW2YEO5B-BWZaGhuw.cjs.map +1 -0
  331. package/dist/sort-SW2YEO5B-DewIJ9_h.mjs +318 -0
  332. package/dist/sort-SW2YEO5B-DewIJ9_h.mjs.map +1 -0
  333. package/dist/split-4KKZZXXE-Bhr_rhRz.cjs +247 -0
  334. package/dist/split-4KKZZXXE-Bhr_rhRz.cjs.map +1 -0
  335. package/dist/split-4KKZZXXE-ciJXyT15.mjs +247 -0
  336. package/dist/split-4KKZZXXE-ciJXyT15.mjs.map +1 -0
  337. package/dist/sqlite3-CGOEFJAO-CdyK5NF3.cjs +2877 -0
  338. package/dist/sqlite3-CGOEFJAO-CdyK5NF3.cjs.map +1 -0
  339. package/dist/sqlite3-CGOEFJAO-K8u_Ru5X.mjs +2875 -0
  340. package/dist/sqlite3-CGOEFJAO-K8u_Ru5X.mjs.map +1 -0
  341. package/dist/start-DCnxLHI5.mjs +30918 -0
  342. package/dist/start-DCnxLHI5.mjs.map +1 -0
  343. package/dist/start-y3y8zgSv.cjs +31051 -0
  344. package/dist/start-y3y8zgSv.cjs.map +1 -0
  345. package/dist/start.cjs +3 -0
  346. package/dist/start.d.cts +28 -0
  347. package/dist/start.d.mts +28 -0
  348. package/dist/start.mjs +2 -0
  349. package/dist/stat-CD34IZ4P-BL8u_Aqm.mjs +64 -0
  350. package/dist/stat-CD34IZ4P-BL8u_Aqm.mjs.map +1 -0
  351. package/dist/stat-CD34IZ4P-BSu3fjXb.cjs +64 -0
  352. package/dist/stat-CD34IZ4P-BSu3fjXb.cjs.map +1 -0
  353. package/dist/strings-6WDHLGMX-Xt8Gbe8-.cjs +178 -0
  354. package/dist/strings-6WDHLGMX-Xt8Gbe8-.cjs.map +1 -0
  355. package/dist/strings-6WDHLGMX-lZect78u.mjs +178 -0
  356. package/dist/strings-6WDHLGMX-lZect78u.mjs.map +1 -0
  357. package/dist/tac-2STMMJYW-6DSfXKEM.cjs +52 -0
  358. package/dist/tac-2STMMJYW-6DSfXKEM.cjs.map +1 -0
  359. package/dist/tac-2STMMJYW-CYopDu0z.mjs +52 -0
  360. package/dist/tac-2STMMJYW-CYopDu0z.mjs.map +1 -0
  361. package/dist/tail-R4PCA2C4-05tRE3pO.mjs +36 -0
  362. package/dist/tail-R4PCA2C4-05tRE3pO.mjs.map +1 -0
  363. package/dist/tail-R4PCA2C4-B8zVnbJv.cjs +36 -0
  364. package/dist/tail-R4PCA2C4-B8zVnbJv.cjs.map +1 -0
  365. package/dist/tar-STHHZTZ6-BF9uOAeY.cjs +2839 -0
  366. package/dist/tar-STHHZTZ6-BF9uOAeY.cjs.map +1 -0
  367. package/dist/tar-STHHZTZ6-BGc4fGMj.mjs +2836 -0
  368. package/dist/tar-STHHZTZ6-BGc4fGMj.mjs.map +1 -0
  369. package/dist/tee-YUZ2FKCJ-CZGSWOLF.mjs +45 -0
  370. package/dist/tee-YUZ2FKCJ-CZGSWOLF.mjs.map +1 -0
  371. package/dist/tee-YUZ2FKCJ-DXc_xwaw.cjs +45 -0
  372. package/dist/tee-YUZ2FKCJ-DXc_xwaw.cjs.map +1 -0
  373. package/dist/time-D4LNBSWX-C5yYBJS0.mjs +107 -0
  374. package/dist/time-D4LNBSWX-C5yYBJS0.mjs.map +1 -0
  375. package/dist/time-D4LNBSWX-CQI3pEaI.cjs +107 -0
  376. package/dist/time-D4LNBSWX-CQI3pEaI.cjs.map +1 -0
  377. package/dist/timeout-YDCRSLPQ-C57Y8ySP.cjs +110 -0
  378. package/dist/timeout-YDCRSLPQ-C57Y8ySP.cjs.map +1 -0
  379. package/dist/timeout-YDCRSLPQ-CsT6X_C0.mjs +110 -0
  380. package/dist/timeout-YDCRSLPQ-CsT6X_C0.mjs.map +1 -0
  381. package/dist/touch-UA33VN3N-Cyx5v5-2.cjs +103 -0
  382. package/dist/touch-UA33VN3N-Cyx5v5-2.cjs.map +1 -0
  383. package/dist/touch-UA33VN3N-DYslBCYn.mjs +103 -0
  384. package/dist/touch-UA33VN3N-DYslBCYn.mjs.map +1 -0
  385. package/dist/tr-36LHWFRQ-C57tK13M.mjs +165 -0
  386. package/dist/tr-36LHWFRQ-C57tK13M.mjs.map +1 -0
  387. package/dist/tr-36LHWFRQ-CJ7ZK1Cv.cjs +165 -0
  388. package/dist/tr-36LHWFRQ-CJ7ZK1Cv.cjs.map +1 -0
  389. package/dist/tree-YLD52CNT-C01jI2xZ.mjs +185 -0
  390. package/dist/tree-YLD52CNT-C01jI2xZ.mjs.map +1 -0
  391. package/dist/tree-YLD52CNT-C0new1hw.cjs +185 -0
  392. package/dist/tree-YLD52CNT-C0new1hw.cjs.map +1 -0
  393. package/dist/true-FHQXJXBE-CIHy9LuF.mjs +30 -0
  394. package/dist/true-FHQXJXBE-CIHy9LuF.mjs.map +1 -0
  395. package/dist/true-FHQXJXBE-CROnM_dr.cjs +31 -0
  396. package/dist/true-FHQXJXBE-CROnM_dr.cjs.map +1 -0
  397. package/dist/unexpand-CADSA4VO-DgiJnv3D.mjs +154 -0
  398. package/dist/unexpand-CADSA4VO-DgiJnv3D.mjs.map +1 -0
  399. package/dist/unexpand-CADSA4VO-KAVxaOsW.cjs +154 -0
  400. package/dist/unexpand-CADSA4VO-KAVxaOsW.cjs.map +1 -0
  401. package/dist/uniq-XSIZR6PB-C05c3Clm.mjs +90 -0
  402. package/dist/uniq-XSIZR6PB-C05c3Clm.mjs.map +1 -0
  403. package/dist/uniq-XSIZR6PB-a2hQnbkY.cjs +90 -0
  404. package/dist/uniq-XSIZR6PB-a2hQnbkY.cjs.map +1 -0
  405. package/dist/wc-LF7NU4LA-D_LGPXUP.mjs +109 -0
  406. package/dist/wc-LF7NU4LA-D_LGPXUP.mjs.map +1 -0
  407. package/dist/wc-LF7NU4LA-UNORxUJr.cjs +109 -0
  408. package/dist/wc-LF7NU4LA-UNORxUJr.cjs.map +1 -0
  409. package/dist/which-XEM24D5D-4seJsWKQ.cjs +61 -0
  410. package/dist/which-XEM24D5D-4seJsWKQ.cjs.map +1 -0
  411. package/dist/which-XEM24D5D-BmDHO2AT.mjs +61 -0
  412. package/dist/which-XEM24D5D-BmDHO2AT.mjs.map +1 -0
  413. package/dist/whoami-XMTX52VE-CA-yJTvn.cjs +23 -0
  414. package/dist/whoami-XMTX52VE-CA-yJTvn.cjs.map +1 -0
  415. package/dist/whoami-XMTX52VE-DW_4VMpE.mjs +23 -0
  416. package/dist/whoami-XMTX52VE-DW_4VMpE.mjs.map +1 -0
  417. package/dist/with-project-scope-7t3SHNwz.mjs +56 -0
  418. package/dist/with-project-scope-7t3SHNwz.mjs.map +1 -0
  419. package/dist/with-project-scope-Drmz2h2Z.cjs +79 -0
  420. package/dist/with-project-scope-Drmz2h2Z.cjs.map +1 -0
  421. package/dist/xan-Y6WF3IRG-B_ysBBaD.mjs +2826 -0
  422. package/dist/xan-Y6WF3IRG-B_ysBBaD.mjs.map +1 -0
  423. package/dist/xan-Y6WF3IRG-DvYlOlaJ.cjs +2826 -0
  424. package/dist/xan-Y6WF3IRG-DvYlOlaJ.cjs.map +1 -0
  425. package/dist/xan-view-HDVKHFC2-Bv8_W4eE.mjs +11 -0
  426. package/dist/xan-view-HDVKHFC2-Bv8_W4eE.mjs.map +1 -0
  427. package/dist/xan-view-HDVKHFC2-ClhOnUAS.cjs +10 -0
  428. package/dist/xan-view-HDVKHFC2-ClhOnUAS.cjs.map +1 -0
  429. package/dist/xargs-MGZPH7AX-BvvOKhXS.cjs +110 -0
  430. package/dist/xargs-MGZPH7AX-BvvOKhXS.cjs.map +1 -0
  431. package/dist/xargs-MGZPH7AX-la_JFVst.mjs +110 -0
  432. package/dist/xargs-MGZPH7AX-la_JFVst.mjs.map +1 -0
  433. package/dist/yq-4QJW3EQG-Bq2dt3bL.mjs +8604 -0
  434. package/dist/yq-4QJW3EQG-Bq2dt3bL.mjs.map +1 -0
  435. package/dist/yq-4QJW3EQG-WlQHm2uv.cjs +8604 -0
  436. package/dist/yq-4QJW3EQG-WlQHm2uv.cjs.map +1 -0
  437. package/package.json +78 -0
@@ -0,0 +1,2826 @@
1
+ import { s as x, x as I1 } from "./start-DCnxLHI5.mjs";
2
+ import { a as q$1, i as p, n, o as r } from "./chunk-BZUGFHVS-B2NchobP.mjs";
3
+ import "./chunk-TN7HHBQW-B8PYcKz5.mjs";
4
+ import { r as s, t as o } from "./chunk-QAYAQNCG-B1r1SmqS.mjs";
5
+ import { n as w } from "./chunk-YCLFEX4T-DvGVdefs.mjs";
6
+ import { t as xe$1 } from "./chunk-4I3HOE5Z-BYotzP2w.mjs";
7
+ import { n as S$1, s as x$1 } from "./chunk-4WKZNNJK-x25SBHbd.mjs";
8
+ import { n as d } from "./chunk-LEKBROJD-BuX8Z517.mjs";
9
+ import { a as N, c as g, i as I$1, n as C, o as S$2, r as E$1, s as b, t as A } from "./chunk-VPADYNBD-BwKY-5Xk.mjs";
10
+ import { createRequire } from "node:module";
11
+ //#region ../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/chunk-Q7H5W7YE.js
12
+ createRequire(import.meta.url);
13
+ var q, Je = n(() => {
14
+ "use strict";
15
+ q = class {
16
+ input;
17
+ pos = 0;
18
+ tokens = [];
19
+ constructor(n) {
20
+ this.input = n;
21
+ }
22
+ tokenize() {
23
+ for (; this.pos < this.input.length && (this.skipWhitespace(), !(this.pos >= this.input.length));) {
24
+ let n = this.nextToken();
25
+ n && this.tokens.push(n);
26
+ }
27
+ return this.tokens.push({
28
+ type: "eof",
29
+ value: "",
30
+ pos: this.pos
31
+ }), this.tokens;
32
+ }
33
+ skipWhitespace() {
34
+ for (; this.pos < this.input.length;) {
35
+ let n = this.input[this.pos];
36
+ if (n === " " || n === " " || n === `
37
+ ` || n === "\r") this.pos++;
38
+ else if (n === "#") for (; this.pos < this.input.length && this.input[this.pos] !== `
39
+ `;) this.pos++;
40
+ else break;
41
+ }
42
+ }
43
+ nextToken() {
44
+ let n = this.pos, t = this.input[this.pos];
45
+ if (t >= "0" && t <= "9") return this.readNumber();
46
+ if (t === "\"" || t === "'" || t === "`") return this.readString(t);
47
+ if (t === "b" && this.pos + 1 < this.input.length) {
48
+ let o = this.input[this.pos + 1];
49
+ if (o === "\"" || o === "'" || o === "`") return this.pos++, this.readString(o);
50
+ }
51
+ if (t === "/") {
52
+ let o = this.tokens[this.tokens.length - 1];
53
+ 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, {
54
+ type: "//",
55
+ value: "//",
56
+ pos: n
57
+ }) : (this.pos++, {
58
+ type: "/",
59
+ value: "/",
60
+ pos: n
61
+ }) : this.readRegex();
62
+ }
63
+ if (this.match("not in")) return {
64
+ type: "not in",
65
+ value: "not in",
66
+ pos: n
67
+ };
68
+ if (this.match("=>")) return {
69
+ type: "=>",
70
+ value: "=>",
71
+ pos: n
72
+ };
73
+ if (this.match("**")) return {
74
+ type: "**",
75
+ value: "**",
76
+ pos: n
77
+ };
78
+ if (this.match("++")) return {
79
+ type: "++",
80
+ value: "++",
81
+ pos: n
82
+ };
83
+ if (this.match("//")) return {
84
+ type: "//",
85
+ value: "//",
86
+ pos: n
87
+ };
88
+ if (this.match("==")) return {
89
+ type: "==",
90
+ value: "==",
91
+ pos: n
92
+ };
93
+ if (this.match("!=")) return {
94
+ type: "!=",
95
+ value: "!=",
96
+ pos: n
97
+ };
98
+ if (this.match("<=")) return {
99
+ type: "<=",
100
+ value: "<=",
101
+ pos: n
102
+ };
103
+ if (this.match(">=")) return {
104
+ type: ">=",
105
+ value: ">=",
106
+ pos: n
107
+ };
108
+ if (this.match("&&")) return {
109
+ type: "&&",
110
+ value: "&&",
111
+ pos: n
112
+ };
113
+ if (this.match("||")) return {
114
+ type: "||",
115
+ value: "||",
116
+ pos: n
117
+ };
118
+ let r = new Map([
119
+ ["(", "("],
120
+ [")", ")"],
121
+ ["[", "["],
122
+ ["]", "]"],
123
+ ["{", "{"],
124
+ ["}", "}"],
125
+ [",", ","],
126
+ [":", ":"],
127
+ [";", ";"],
128
+ ["+", "+"],
129
+ ["-", "-"],
130
+ ["*", "*"],
131
+ ["%", "%"],
132
+ ["<", "<"],
133
+ [">", ">"],
134
+ ["!", "!"],
135
+ [".", "."],
136
+ ["|", "|"],
137
+ ["=", "="]
138
+ ]).get(t);
139
+ if (r !== void 0) return this.pos++, {
140
+ type: r,
141
+ value: t,
142
+ pos: n
143
+ };
144
+ if (this.isIdentStart(t)) return this.readIdentifier();
145
+ throw new Error(`Unexpected character '${t}' at position ${this.pos}`);
146
+ }
147
+ match(n) {
148
+ if (this.input.slice(this.pos, this.pos + n.length) === n) {
149
+ if (/^[a-zA-Z]/.test(n)) {
150
+ let t = this.input[this.pos + n.length];
151
+ if (t && this.isIdentChar(t)) return !1;
152
+ }
153
+ return this.pos += n.length, !0;
154
+ }
155
+ return !1;
156
+ }
157
+ isIdentStart(n) {
158
+ return n >= "a" && n <= "z" || n >= "A" && n <= "Z" || n === "_";
159
+ }
160
+ isIdentChar(n) {
161
+ return this.isIdentStart(n) || n >= "0" && n <= "9";
162
+ }
163
+ readNumber() {
164
+ let n = this.pos, t = !1, s = !1;
165
+ for (; this.pos < this.input.length;) {
166
+ let o = this.input[this.pos];
167
+ if (o >= "0" && o <= "9") this.pos++;
168
+ else if (o === "_") this.pos++;
169
+ else if (o === "." && !t && !s) t = !0, this.pos++;
170
+ 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++;
171
+ else break;
172
+ }
173
+ let r = this.input.slice(n, this.pos).replace(/_/g, "");
174
+ return {
175
+ type: t ? "float" : "int",
176
+ value: r,
177
+ pos: n
178
+ };
179
+ }
180
+ readString(n) {
181
+ let t = this.pos;
182
+ this.pos++;
183
+ let s = "";
184
+ for (; this.pos < this.input.length;) {
185
+ let r = this.input[this.pos];
186
+ if (r === n) return this.pos++, {
187
+ type: "string",
188
+ value: s,
189
+ pos: t
190
+ };
191
+ if (r === "\\") {
192
+ if (this.pos++, this.pos < this.input.length) {
193
+ let o = this.input[this.pos];
194
+ switch (o) {
195
+ case "n":
196
+ s += `
197
+ `;
198
+ break;
199
+ case "r":
200
+ s += "\r";
201
+ break;
202
+ case "t":
203
+ s += " ";
204
+ break;
205
+ case "\\":
206
+ s += "\\";
207
+ break;
208
+ case "\"":
209
+ s += "\"";
210
+ break;
211
+ case "'":
212
+ s += "'";
213
+ break;
214
+ case "`":
215
+ s += "`";
216
+ break;
217
+ case "0":
218
+ s += "\0";
219
+ break;
220
+ default: s += o;
221
+ }
222
+ this.pos++;
223
+ }
224
+ } else s += r, this.pos++;
225
+ }
226
+ throw new Error(`Unterminated string starting at position ${t}`);
227
+ }
228
+ readRegex() {
229
+ let n = this.pos;
230
+ this.pos++;
231
+ let t = "", s = "";
232
+ for (; this.pos < this.input.length;) {
233
+ let r = this.input[this.pos];
234
+ if (r === "/") {
235
+ for (this.pos++; this.pos < this.input.length && this.input[this.pos] === "i";) s += this.input[this.pos], this.pos++;
236
+ return {
237
+ type: "regex",
238
+ value: t + (s ? `/${s}` : ""),
239
+ pos: n
240
+ };
241
+ }
242
+ r === "\\" ? (t += r, this.pos++, this.pos < this.input.length && (t += this.input[this.pos], this.pos++)) : (t += r, this.pos++);
243
+ }
244
+ throw new Error(`Unterminated regex starting at position ${n}`);
245
+ }
246
+ readIdentifier() {
247
+ let n = this.pos;
248
+ for (; this.pos < this.input.length && this.isIdentChar(this.input[this.pos]);) this.pos++;
249
+ let t = !1;
250
+ this.pos < this.input.length && this.input[this.pos] === "?" && (t = !0, this.pos++);
251
+ let s = this.input.slice(n, t ? this.pos - 1 : this.pos);
252
+ t && (s += "?");
253
+ let r = new Map([
254
+ ["true", "true"],
255
+ ["false", "false"],
256
+ ["null", "null"],
257
+ ["and", "and"],
258
+ ["or", "or"],
259
+ ["eq", "eq"],
260
+ ["ne", "ne"],
261
+ ["lt", "lt"],
262
+ ["le", "le"],
263
+ ["gt", "gt"],
264
+ ["ge", "ge"],
265
+ ["in", "in"],
266
+ ["as", "as"],
267
+ ["_", "_"]
268
+ ]), o = s.replace(/\?$/, ""), a = r.get(o);
269
+ return a !== void 0 && !t ? {
270
+ type: a,
271
+ value: o,
272
+ pos: n
273
+ } : {
274
+ type: "ident",
275
+ value: s,
276
+ pos: n
277
+ };
278
+ }
279
+ };
280
+ });
281
+ var ze = {};
282
+ p(ze, {
283
+ parseMoonblade: () => H,
284
+ parseNamedExpressions: () => U
285
+ });
286
+ function U(e) {
287
+ let n = [], s = new q(e).tokenize(), r = 0, o = () => s[r] || {
288
+ type: "eof",
289
+ value: "",
290
+ pos: 0
291
+ }, a = () => s[r++];
292
+ for (; o().type !== "eof";) {
293
+ if (o().type === "," && n.length > 0) {
294
+ a();
295
+ continue;
296
+ }
297
+ let d = [], u = 0, p = r;
298
+ for (; o().type !== "eof";) {
299
+ let i = o();
300
+ if ((i.type === "," || i.type === "as") && u === 0) break;
301
+ (i.type === "(" || i.type === "[" || i.type === "{") && u++, (i.type === ")" || i.type === "]" || i.type === "}") && u--, d.push(a());
302
+ }
303
+ d.push({
304
+ type: "eof",
305
+ value: "",
306
+ pos: 0
307
+ });
308
+ let h = new z(d).parse(), l;
309
+ if (o().type === "as") if (a(), o().type === "(") {
310
+ a();
311
+ let i = [];
312
+ for (; o().type !== ")" && o().type !== "eof";) (o().type === "ident" || o().type === "string") && (i.push(o().value), a()), o().type === "," && a();
313
+ o().type === ")" && a(), l = i;
314
+ } else if (o().type === "ident" || o().type === "string") l = o().value, a();
315
+ else throw new Error(`Expected name after 'as', got ${o().type}`);
316
+ else l = e.slice(s[p].pos, s[r - 1]?.pos || e.length).trim(), h.type === "identifier" && (l = h.name);
317
+ n.push({
318
+ expr: h,
319
+ name: l
320
+ });
321
+ }
322
+ return n;
323
+ }
324
+ function H(e) {
325
+ let t = new q(e).tokenize();
326
+ return new z(t).parse();
327
+ }
328
+ var R, z, V = n(() => {
329
+ "use strict";
330
+ Je();
331
+ R = {
332
+ PIPE: 1,
333
+ OR: 2,
334
+ AND: 3,
335
+ EQUALITY: 4,
336
+ COMPARISON: 5,
337
+ ADDITIVE: 6,
338
+ MULTIPLICATIVE: 7,
339
+ POWER: 8,
340
+ UNARY: 9,
341
+ POSTFIX: 10
342
+ }, z = class {
343
+ pos = 0;
344
+ tokens;
345
+ constructor(n) {
346
+ this.tokens = n;
347
+ }
348
+ parse() {
349
+ let n = this.parseExpr(0);
350
+ if (this.peek().type !== "eof") throw new Error(`Unexpected token: ${this.peek().value}`);
351
+ return n;
352
+ }
353
+ parseExpr(n) {
354
+ let t = this.parsePrefix();
355
+ for (;;) {
356
+ let s = this.peek(), r = this.getInfixPrec(s.type);
357
+ if (r < n) break;
358
+ t = this.parseInfix(t, r);
359
+ }
360
+ return t;
361
+ }
362
+ parsePrefix() {
363
+ let n = this.peek();
364
+ switch (n.type) {
365
+ case "int": return this.advance(), {
366
+ type: "int",
367
+ value: Number.parseInt(n.value, 10)
368
+ };
369
+ case "float": return this.advance(), {
370
+ type: "float",
371
+ value: Number.parseFloat(n.value)
372
+ };
373
+ case "string": return this.advance(), {
374
+ type: "string",
375
+ value: n.value
376
+ };
377
+ case "regex": {
378
+ this.advance();
379
+ let t = n.value.split("/"), s = t.length > 1 ? t[t.length - 1] : "";
380
+ return {
381
+ type: "regex",
382
+ pattern: t.slice(0, -1).join("/") || n.value,
383
+ caseInsensitive: s.includes("i")
384
+ };
385
+ }
386
+ case "true": return this.advance(), {
387
+ type: "bool",
388
+ value: !0
389
+ };
390
+ case "false": return this.advance(), {
391
+ type: "bool",
392
+ value: !1
393
+ };
394
+ case "null": return this.advance(), { type: "null" };
395
+ case "_": return this.advance(), { type: "underscore" };
396
+ case "ident": {
397
+ let t = n.value, s = t.endsWith("?"), r = s ? t.slice(0, -1) : t;
398
+ if (this.advance(), this.peek().type === "(") return this.parseFunctionCall(r);
399
+ if (this.peek().type === "=>") {
400
+ this.advance();
401
+ let o = this.parseExpr(0);
402
+ return this.bindLambdaArgs({
403
+ type: "lambda",
404
+ params: [r],
405
+ body: o
406
+ }, [r]);
407
+ }
408
+ return {
409
+ type: "identifier",
410
+ name: r,
411
+ unsure: s
412
+ };
413
+ }
414
+ case "(": {
415
+ this.advance();
416
+ let t = this.pos;
417
+ if (this.peek().type === ")") {
418
+ if (this.advance(), this.peek().type === "=>") {
419
+ this.advance();
420
+ return {
421
+ type: "lambda",
422
+ params: [],
423
+ body: this.parseExpr(0)
424
+ };
425
+ }
426
+ throw new Error("Empty parentheses not allowed");
427
+ }
428
+ if (this.peek().type === "ident") {
429
+ let r = [this.peek().value];
430
+ this.advance();
431
+ let o = !0;
432
+ for (; this.peek().type === ",";) if (this.advance(), this.peek().type === "ident") r.push(this.peek().value), this.advance();
433
+ else {
434
+ o = !1;
435
+ break;
436
+ }
437
+ if (o && this.peek().type === ")" && this.peekAt(1).type === "=>") {
438
+ this.advance(), this.advance();
439
+ let a = this.parseExpr(0);
440
+ return this.bindLambdaArgs({
441
+ type: "lambda",
442
+ params: r,
443
+ body: a
444
+ }, r);
445
+ }
446
+ this.pos = t;
447
+ }
448
+ let s = this.parseExpr(0);
449
+ return this.expect(")"), s;
450
+ }
451
+ case "[": return this.parseList();
452
+ case "{": return this.parseMap();
453
+ case "-": {
454
+ this.advance();
455
+ let t = this.parseExpr(R.UNARY);
456
+ return t.type === "int" ? {
457
+ type: "int",
458
+ value: -t.value
459
+ } : t.type === "float" ? {
460
+ type: "float",
461
+ value: -t.value
462
+ } : {
463
+ type: "func",
464
+ name: "neg",
465
+ args: [{ expr: t }]
466
+ };
467
+ }
468
+ case "!": return this.advance(), {
469
+ type: "func",
470
+ name: "not",
471
+ args: [{ expr: this.parseExpr(R.UNARY) }]
472
+ };
473
+ default: throw new Error(`Unexpected token: ${n.type} (${n.value})`);
474
+ }
475
+ }
476
+ parseFunctionCall(n) {
477
+ this.expect("(");
478
+ let t = [];
479
+ if (this.peek().type !== ")") do {
480
+ t.length > 0 && this.peek().type === "," && this.advance();
481
+ let s;
482
+ if (this.peek().type === "ident") {
483
+ let o = this.peek().value, a = this.pos + 1;
484
+ a < this.tokens.length && this.tokens[a].type === "=" && (s = o, this.advance(), this.advance());
485
+ }
486
+ let r = this.parseExpr(0);
487
+ t.push({
488
+ name: s,
489
+ expr: r
490
+ });
491
+ } while (this.peek().type === ",");
492
+ return this.expect(")"), {
493
+ type: "func",
494
+ name: n.toLowerCase(),
495
+ args: t
496
+ };
497
+ }
498
+ parseList() {
499
+ this.expect("[");
500
+ let n = [];
501
+ if (this.peek().type !== "]") do
502
+ n.length > 0 && this.peek().type === "," && this.advance(), n.push(this.parseExpr(0));
503
+ while (this.peek().type === ",");
504
+ return this.expect("]"), {
505
+ type: "list",
506
+ elements: n
507
+ };
508
+ }
509
+ parseMap() {
510
+ this.expect("{");
511
+ let n = [];
512
+ if (this.peek().type !== "}") do {
513
+ n.length > 0 && this.peek().type === "," && this.advance();
514
+ let t;
515
+ if (this.peek().type === "ident") t = this.peek().value, this.advance();
516
+ else if (this.peek().type === "string") t = this.peek().value, this.advance();
517
+ else throw new Error(`Expected map key, got ${this.peek().type}`);
518
+ this.expect(":");
519
+ let s = this.parseExpr(0);
520
+ n.push({
521
+ key: t,
522
+ value: s
523
+ });
524
+ } while (this.peek().type === ",");
525
+ return this.expect("}"), {
526
+ type: "map",
527
+ entries: n
528
+ };
529
+ }
530
+ parseInfix(n, t) {
531
+ let s = this.peek(), o = new Map([
532
+ ["+", "add"],
533
+ ["-", "sub"],
534
+ ["*", "mul"],
535
+ ["/", "div"],
536
+ ["//", "idiv"],
537
+ ["%", "mod"],
538
+ ["**", "pow"],
539
+ ["++", "concat"],
540
+ ["==", "=="],
541
+ ["!=", "!="],
542
+ ["<", "<"],
543
+ ["<=", "<="],
544
+ [">", ">"],
545
+ [">=", ">="],
546
+ ["eq", "eq"],
547
+ ["ne", "ne"],
548
+ ["lt", "lt"],
549
+ ["le", "le"],
550
+ ["gt", "gt"],
551
+ ["ge", "ge"],
552
+ ["&&", "and"],
553
+ ["and", "and"],
554
+ ["||", "or"],
555
+ ["or", "or"]
556
+ ]).get(s.type);
557
+ if (o !== void 0) {
558
+ this.advance();
559
+ let a = this.parseExpr(t + (this.isRightAssoc(s.type) ? 0 : 1));
560
+ return {
561
+ type: "func",
562
+ name: o,
563
+ args: [{ expr: n }, { expr: a }]
564
+ };
565
+ }
566
+ if (s.type === "|") {
567
+ this.advance();
568
+ let a = this.parseExpr(t);
569
+ return this.handlePipe(n, a);
570
+ }
571
+ if (s.type === ".") return this.advance(), this.handleDot(n);
572
+ if (s.type === "[") return this.advance(), this.handleIndexing(n);
573
+ if (s.type === "in") return this.advance(), {
574
+ type: "func",
575
+ name: "contains",
576
+ args: [{ expr: this.parseExpr(t + 1) }, { expr: n }]
577
+ };
578
+ if (s.type === "not in") return this.advance(), {
579
+ type: "func",
580
+ name: "not",
581
+ args: [{ expr: {
582
+ type: "func",
583
+ name: "contains",
584
+ args: [{ expr: this.parseExpr(t + 1) }, { expr: n }]
585
+ } }]
586
+ };
587
+ throw new Error(`Unexpected infix token: ${s.type}`);
588
+ }
589
+ handlePipe(n, t) {
590
+ if (t.type === "identifier") return {
591
+ type: "func",
592
+ name: t.name,
593
+ args: [{ expr: n }]
594
+ };
595
+ if (t.type === "func") {
596
+ let s = this.countUnderscores(t);
597
+ return s === 0 ? t : s === 1 ? this.fillUnderscore(t, n) : {
598
+ type: "pipeline",
599
+ exprs: [n, t]
600
+ };
601
+ }
602
+ return this.countUnderscores(t) === 1 ? this.fillUnderscore(t, n) : t;
603
+ }
604
+ handleDot(n) {
605
+ let t = this.peek();
606
+ if (t.type === "ident") {
607
+ let s = t.value;
608
+ if (this.advance(), this.peek().type === "(") {
609
+ let r = this.parseFunctionCall(s);
610
+ return r.type === "func" && r.args.unshift({ expr: n }), r;
611
+ }
612
+ return {
613
+ type: "func",
614
+ name: "get",
615
+ args: [{ expr: n }, { expr: {
616
+ type: "string",
617
+ value: s
618
+ } }]
619
+ };
620
+ }
621
+ if (t.type === "int") {
622
+ let s = Number.parseInt(t.value, 10);
623
+ return this.advance(), {
624
+ type: "func",
625
+ name: "get",
626
+ args: [{ expr: n }, { expr: {
627
+ type: "int",
628
+ value: s
629
+ } }]
630
+ };
631
+ }
632
+ if (t.type === "string") {
633
+ let s = t.value;
634
+ return this.advance(), {
635
+ type: "func",
636
+ name: "get",
637
+ args: [{ expr: n }, { expr: {
638
+ type: "string",
639
+ value: s
640
+ } }]
641
+ };
642
+ }
643
+ throw new Error(`Expected identifier, number, or string after dot, got ${t.type}`);
644
+ }
645
+ handleIndexing(n) {
646
+ if (this.peek().type === ":") {
647
+ if (this.advance(), this.peek().type === "]") return this.advance(), {
648
+ type: "func",
649
+ name: "slice",
650
+ args: [{ expr: n }]
651
+ };
652
+ let s = this.parseExpr(0);
653
+ return this.expect("]"), {
654
+ type: "func",
655
+ name: "slice",
656
+ args: [
657
+ { expr: n },
658
+ { expr: {
659
+ type: "int",
660
+ value: 0
661
+ } },
662
+ { expr: s }
663
+ ]
664
+ };
665
+ }
666
+ let t = this.parseExpr(0);
667
+ if (this.peek().type === ":") {
668
+ if (this.advance(), this.peek().type === "]") return this.advance(), {
669
+ type: "func",
670
+ name: "slice",
671
+ args: [{ expr: n }, { expr: t }]
672
+ };
673
+ let s = this.parseExpr(0);
674
+ return this.expect("]"), {
675
+ type: "func",
676
+ name: "slice",
677
+ args: [
678
+ { expr: n },
679
+ { expr: t },
680
+ { expr: s }
681
+ ]
682
+ };
683
+ }
684
+ return this.expect("]"), {
685
+ type: "func",
686
+ name: "get",
687
+ args: [{ expr: n }, { expr: t }]
688
+ };
689
+ }
690
+ countUnderscores(n) {
691
+ 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;
692
+ }
693
+ fillUnderscore(n, t) {
694
+ return n.type === "underscore" ? t : n.type === "func" ? {
695
+ ...n,
696
+ args: n.args.map((s) => ({
697
+ ...s,
698
+ expr: this.fillUnderscore(s.expr, t)
699
+ }))
700
+ } : n.type === "list" ? {
701
+ ...n,
702
+ elements: n.elements.map((s) => this.fillUnderscore(s, t))
703
+ } : n.type === "map" ? {
704
+ ...n,
705
+ entries: n.entries.map((s) => ({
706
+ ...s,
707
+ value: this.fillUnderscore(s.value, t)
708
+ }))
709
+ } : n;
710
+ }
711
+ bindLambdaArgs(n, t) {
712
+ return {
713
+ ...n,
714
+ body: this.bindLambdaArgsInExpr(n.body, t)
715
+ };
716
+ }
717
+ bindLambdaArgsInExpr(n, t) {
718
+ return n.type === "identifier" && t.includes(n.name) ? {
719
+ type: "lambdaBinding",
720
+ name: n.name
721
+ } : n.type === "func" ? {
722
+ ...n,
723
+ args: n.args.map((s) => ({
724
+ ...s,
725
+ expr: this.bindLambdaArgsInExpr(s.expr, t)
726
+ }))
727
+ } : n.type === "list" ? {
728
+ ...n,
729
+ elements: n.elements.map((s) => this.bindLambdaArgsInExpr(s, t))
730
+ } : n.type === "map" ? {
731
+ ...n,
732
+ entries: n.entries.map((s) => ({
733
+ ...s,
734
+ value: this.bindLambdaArgsInExpr(s.value, t)
735
+ }))
736
+ } : n;
737
+ }
738
+ getInfixPrec(n) {
739
+ switch (n) {
740
+ case "|": return R.PIPE;
741
+ case "||":
742
+ case "or": return R.OR;
743
+ case "&&":
744
+ case "and": return R.AND;
745
+ case "==":
746
+ case "!=":
747
+ case "eq":
748
+ case "ne": return R.EQUALITY;
749
+ case "<":
750
+ case "<=":
751
+ case ">":
752
+ case ">=":
753
+ case "lt":
754
+ case "le":
755
+ case "gt":
756
+ case "ge":
757
+ case "in":
758
+ case "not in": return R.COMPARISON;
759
+ case "+":
760
+ case "-":
761
+ case "++": return R.ADDITIVE;
762
+ case "*":
763
+ case "/":
764
+ case "//":
765
+ case "%": return R.MULTIPLICATIVE;
766
+ case "**": return R.POWER;
767
+ case ".":
768
+ case "[": return R.POSTFIX;
769
+ default: return -1;
770
+ }
771
+ }
772
+ isRightAssoc(n) {
773
+ return n === "**";
774
+ }
775
+ peek() {
776
+ return this.tokens[this.pos] || {
777
+ type: "eof",
778
+ value: "",
779
+ pos: 0
780
+ };
781
+ }
782
+ peekAt(n) {
783
+ return this.tokens[this.pos + n] || {
784
+ type: "eof",
785
+ value: "",
786
+ pos: 0
787
+ };
788
+ }
789
+ advance() {
790
+ return this.tokens[this.pos++];
791
+ }
792
+ expect(n) {
793
+ let t = this.peek();
794
+ if (t.type !== n) throw new Error(`Expected ${n}, got ${t.type}`);
795
+ return this.advance();
796
+ }
797
+ };
798
+ });
799
+ V();
800
+ function E(e, n) {
801
+ return n.length === 0 ? I(e, []) : n.length === 1 ? {
802
+ type: "Pipe",
803
+ left: n[0],
804
+ right: I(e, [])
805
+ } : {
806
+ type: "Pipe",
807
+ left: n[0],
808
+ right: I(e, n.slice(1))
809
+ };
810
+ }
811
+ var K = {
812
+ add: (e) => S("+", e[0], e[1]),
813
+ sub: (e) => S("-", e[0], e[1]),
814
+ mul: (e) => S("*", e[0], e[1]),
815
+ div: (e) => S("/", e[0], e[1]),
816
+ mod: (e) => S("%", e[0], e[1]),
817
+ idiv: (e) => I("floor", [S("/", e[0], e[1])]),
818
+ pow: (e) => E("pow", e),
819
+ neg: (e) => ({
820
+ type: "UnaryOp",
821
+ op: "-",
822
+ operand: e[0]
823
+ }),
824
+ "==": (e) => S("==", e[0], e[1]),
825
+ "!=": (e) => S("!=", e[0], e[1]),
826
+ "<": (e) => S("<", e[0], e[1]),
827
+ "<=": (e) => S("<=", e[0], e[1]),
828
+ ">": (e) => S(">", e[0], e[1]),
829
+ ">=": (e) => S(">=", e[0], e[1]),
830
+ eq: (e) => S("==", P(e[0]), P(e[1])),
831
+ ne: (e) => S("!=", P(e[0]), P(e[1])),
832
+ lt: (e) => S("<", P(e[0]), P(e[1])),
833
+ le: (e) => S("<=", P(e[0]), P(e[1])),
834
+ gt: (e) => S(">", P(e[0]), P(e[1])),
835
+ ge: (e) => S(">=", P(e[0]), P(e[1])),
836
+ and: (e) => S("and", e[0], e[1]),
837
+ or: (e) => S("or", e[0], e[1]),
838
+ not: (e) => ({
839
+ type: "UnaryOp",
840
+ op: "not",
841
+ operand: e[0]
842
+ }),
843
+ len: (e) => E("length", e),
844
+ length: (e) => E("length", e),
845
+ upper: (e) => E("ascii_upcase", e),
846
+ lower: (e) => E("ascii_downcase", e),
847
+ trim: (e) => E("trim", e),
848
+ ltrim: (e) => e.length === 0 ? I("ltrimstr", [{
849
+ type: "Literal",
850
+ value: " "
851
+ }]) : {
852
+ type: "Pipe",
853
+ left: e[0],
854
+ right: I("ltrimstr", [{
855
+ type: "Literal",
856
+ value: " "
857
+ }])
858
+ },
859
+ rtrim: (e) => e.length === 0 ? I("rtrimstr", [{
860
+ type: "Literal",
861
+ value: " "
862
+ }]) : {
863
+ type: "Pipe",
864
+ left: e[0],
865
+ right: I("rtrimstr", [{
866
+ type: "Literal",
867
+ value: " "
868
+ }])
869
+ },
870
+ split: (e) => E("split", e),
871
+ join: (e) => e.length === 1 ? I("join", [{
872
+ type: "Literal",
873
+ value: ""
874
+ }]) : E("join", e),
875
+ concat: (e) => S("+", e[0], e[1]),
876
+ startswith: (e) => E("startswith", e),
877
+ endswith: (e) => E("endswith", e),
878
+ contains: (e) => E("contains", e),
879
+ replace: (e) => E("gsub", e),
880
+ substr: (e) => e.length === 2 ? {
881
+ type: "Slice",
882
+ base: e[0],
883
+ start: e[1]
884
+ } : {
885
+ type: "Slice",
886
+ base: e[0],
887
+ start: e[1],
888
+ end: S("+", e[1], e[2])
889
+ },
890
+ abs: (e) => E("fabs", e),
891
+ floor: (e) => E("floor", e),
892
+ ceil: (e) => E("ceil", e),
893
+ round: (e) => E("round", e),
894
+ sqrt: (e) => E("sqrt", e),
895
+ log: (e) => E("log", e),
896
+ log10: (e) => E("log10", e),
897
+ log2: (e) => E("log2", e),
898
+ exp: (e) => E("exp", e),
899
+ sin: (e) => E("sin", e),
900
+ cos: (e) => E("cos", e),
901
+ tan: (e) => E("tan", e),
902
+ asin: (e) => E("asin", e),
903
+ acos: (e) => E("acos", e),
904
+ atan: (e) => E("atan", e),
905
+ min: (e) => E("min", e),
906
+ max: (e) => E("max", e),
907
+ first: (e) => e.length === 0 ? {
908
+ type: "Index",
909
+ index: {
910
+ type: "Literal",
911
+ value: 0
912
+ }
913
+ } : {
914
+ type: "Index",
915
+ index: {
916
+ type: "Literal",
917
+ value: 0
918
+ },
919
+ base: e[0]
920
+ },
921
+ last: (e) => e.length === 0 ? {
922
+ type: "Index",
923
+ index: {
924
+ type: "Literal",
925
+ value: -1
926
+ }
927
+ } : {
928
+ type: "Index",
929
+ index: {
930
+ type: "Literal",
931
+ value: -1
932
+ },
933
+ base: e[0]
934
+ },
935
+ get: (e) => e.length === 1 ? {
936
+ type: "Index",
937
+ index: e[0]
938
+ } : {
939
+ type: "Index",
940
+ index: e[1],
941
+ base: e[0]
942
+ },
943
+ slice: (e) => e.length === 1 ? {
944
+ type: "Slice",
945
+ base: e[0]
946
+ } : e.length === 2 ? {
947
+ type: "Slice",
948
+ base: e[0],
949
+ start: e[1]
950
+ } : {
951
+ type: "Slice",
952
+ base: e[0],
953
+ start: e[1],
954
+ end: e[2]
955
+ },
956
+ keys: "keys",
957
+ values: "values",
958
+ entries: (e) => I("to_entries", e),
959
+ from_entries: "from_entries",
960
+ reverse: "reverse",
961
+ sort: "sort",
962
+ sort_by: "sort_by",
963
+ group_by: "group_by",
964
+ unique: "unique",
965
+ unique_by: "unique_by",
966
+ flatten: "flatten",
967
+ map: (e) => ({
968
+ type: "Pipe",
969
+ left: e[0],
970
+ right: {
971
+ type: "Array",
972
+ elements: e[1]
973
+ }
974
+ }),
975
+ select: (e) => I("select", e),
976
+ empty: () => I("empty", []),
977
+ count: () => I("length", []),
978
+ sum: (e) => e.length === 0 ? I("add", []) : {
979
+ type: "Pipe",
980
+ left: {
981
+ type: "Array",
982
+ elements: e[0]
983
+ },
984
+ right: I("add", [])
985
+ },
986
+ mean: (e) => e.length === 0 ? {
987
+ type: "Pipe",
988
+ left: { type: "Identity" },
989
+ right: S("/", I("add", []), I("length", []))
990
+ } : {
991
+ type: "Pipe",
992
+ left: {
993
+ type: "Array",
994
+ elements: e[0]
995
+ },
996
+ right: S("/", I("add", []), I("length", []))
997
+ },
998
+ avg: (e) => e.length === 0 ? {
999
+ type: "Pipe",
1000
+ left: { type: "Identity" },
1001
+ right: S("/", I("add", []), I("length", []))
1002
+ } : {
1003
+ type: "Pipe",
1004
+ left: {
1005
+ type: "Array",
1006
+ elements: e[0]
1007
+ },
1008
+ right: S("/", I("add", []), I("length", []))
1009
+ },
1010
+ type: "type",
1011
+ isnull: (e) => e.length === 0 ? S("==", { type: "Identity" }, {
1012
+ type: "Literal",
1013
+ value: null
1014
+ }) : S("==", e[0], {
1015
+ type: "Literal",
1016
+ value: null
1017
+ }),
1018
+ isempty: (e) => e.length === 0 ? S("==", { type: "Identity" }, {
1019
+ type: "Literal",
1020
+ value: ""
1021
+ }) : S("==", e[0], {
1022
+ type: "Literal",
1023
+ value: ""
1024
+ }),
1025
+ tonumber: (e) => e.length === 0 ? I("tonumber", []) : I("tonumber", e),
1026
+ tostring: (e) => e.length === 0 ? I("tostring", []) : I("tostring", e),
1027
+ if: (e) => Ke(e[0], e[1], e[2]),
1028
+ coalesce: (e) => {
1029
+ if (e.length === 0) return {
1030
+ type: "Literal",
1031
+ value: null
1032
+ };
1033
+ if (e.length === 1) return e[0];
1034
+ let [n, ...t] = e;
1035
+ return Ke(S("and", S("!=", n, {
1036
+ type: "Literal",
1037
+ value: null
1038
+ }), S("!=", n, {
1039
+ type: "Literal",
1040
+ value: ""
1041
+ })), n, t.length === 1 ? t[0] : K.coalesce(t));
1042
+ },
1043
+ index: () => ({
1044
+ type: "Field",
1045
+ name: "_row_index"
1046
+ }),
1047
+ now: () => I("now", []),
1048
+ fmt: (e) => I("tostring", e),
1049
+ format: (e) => I("tostring", e)
1050
+ };
1051
+ Object.setPrototypeOf(K, null);
1052
+ function S(e, n, t) {
1053
+ return {
1054
+ type: "BinaryOp",
1055
+ op: e,
1056
+ left: n,
1057
+ right: t
1058
+ };
1059
+ }
1060
+ function I(e, n) {
1061
+ return {
1062
+ type: "Call",
1063
+ name: e,
1064
+ args: n
1065
+ };
1066
+ }
1067
+ var rt = "then";
1068
+ function Ke(e, n, t) {
1069
+ let s = x$1({
1070
+ type: "Cond",
1071
+ cond: e,
1072
+ elifs: [],
1073
+ else: t || {
1074
+ type: "Literal",
1075
+ value: null
1076
+ }
1077
+ });
1078
+ return s[rt] = n, s;
1079
+ }
1080
+ function P(e) {
1081
+ return {
1082
+ type: "Pipe",
1083
+ left: e,
1084
+ right: {
1085
+ type: "Call",
1086
+ name: "tostring",
1087
+ args: []
1088
+ }
1089
+ };
1090
+ }
1091
+ function O(e, n = !0) {
1092
+ switch (e.type) {
1093
+ case "int":
1094
+ case "float": return {
1095
+ type: "Literal",
1096
+ value: e.value
1097
+ };
1098
+ case "string": return {
1099
+ type: "Literal",
1100
+ value: e.value
1101
+ };
1102
+ case "bool": return {
1103
+ type: "Literal",
1104
+ value: e.value
1105
+ };
1106
+ case "null": return {
1107
+ type: "Literal",
1108
+ value: null
1109
+ };
1110
+ case "underscore": return {
1111
+ type: "Index",
1112
+ base: { type: "Identity" },
1113
+ index: {
1114
+ type: "Literal",
1115
+ value: "_"
1116
+ }
1117
+ };
1118
+ case "identifier": return n ? {
1119
+ type: "Field",
1120
+ name: e.name
1121
+ } : {
1122
+ type: "VarRef",
1123
+ name: e.name
1124
+ };
1125
+ case "lambdaBinding": return {
1126
+ type: "VarRef",
1127
+ name: e.name
1128
+ };
1129
+ case "func": {
1130
+ let t = e.args.map((r) => O(r.expr, n)), s = Object.hasOwn(K, e.name) ? K[e.name] : void 0;
1131
+ return typeof s == "function" ? s(t) : I(typeof s == "string" ? s : e.name, t);
1132
+ }
1133
+ case "list": return e.elements.length === 0 ? { type: "Array" } : {
1134
+ type: "Array",
1135
+ elements: e.elements.reduce((t, s, r) => {
1136
+ let o = O(s, n);
1137
+ return r === 0 ? o : {
1138
+ type: "Comma",
1139
+ left: t,
1140
+ right: o
1141
+ };
1142
+ }, null)
1143
+ };
1144
+ case "map": return {
1145
+ type: "Object",
1146
+ entries: e.entries.map((t) => ({
1147
+ key: t.key,
1148
+ value: O(t.value, n)
1149
+ }))
1150
+ };
1151
+ case "regex": return {
1152
+ type: "Literal",
1153
+ value: e.pattern
1154
+ };
1155
+ case "slice": return {
1156
+ type: "Slice",
1157
+ start: e.start ? O(e.start, n) : void 0,
1158
+ end: e.end ? O(e.end, n) : void 0
1159
+ };
1160
+ case "lambda": return O(e.body, n);
1161
+ case "pipeline": return { type: "Identity" };
1162
+ default: throw new Error(`Unknown moonblade expression type: ${e.type}`);
1163
+ }
1164
+ }
1165
+ function ee(e) {
1166
+ let n = [], t = 0;
1167
+ for (; t < e.length;) {
1168
+ for (; t < e.length && (e[t] === " " || e[t] === ",");) t++;
1169
+ if (t >= e.length) break;
1170
+ let s = t;
1171
+ for (; t < e.length && /\w/.test(e[t]);) t++;
1172
+ let r = e.slice(s, t);
1173
+ for (; t < e.length && e[t] === " ";) t++;
1174
+ if (e[t] !== "(") break;
1175
+ t++;
1176
+ let o = 1, a = t;
1177
+ for (; t < e.length && o > 0;) e[t] === "(" ? o++ : e[t] === ")" && o--, o > 0 && t++;
1178
+ let d = e.slice(a, t).trim();
1179
+ for (t++; t < e.length && e[t] === " ";) t++;
1180
+ let u = "";
1181
+ if (e.slice(t, t + 3).toLowerCase() === "as ") {
1182
+ for (t += 3; t < e.length && e[t] === " ";) t++;
1183
+ let p = t;
1184
+ for (; t < e.length && /\w/.test(e[t]);) t++;
1185
+ u = e.slice(p, t);
1186
+ }
1187
+ u || (u = d ? `${r}(${d})` : `${r}()`), n.push({
1188
+ func: r,
1189
+ expr: d,
1190
+ alias: u
1191
+ });
1192
+ }
1193
+ return n;
1194
+ }
1195
+ function Be(e) {
1196
+ return /^\w+$/.test(e);
1197
+ }
1198
+ function Q(e, n, t) {
1199
+ let r = d(e, O(H(n)), t);
1200
+ return r.length > 0 ? r[0] : null;
1201
+ }
1202
+ function te(e, n, t = {}) {
1203
+ let { func: s, expr: r } = n;
1204
+ if (s === "count" && !r) return e.length;
1205
+ let o;
1206
+ switch (Be(r) ? o = e.map((a) => a[r]).filter((a) => a != null) : o = e.map((a) => Q(a, r, t)).filter((a) => a != null), s) {
1207
+ case "count": return Be(r) ? o.length : o.filter((a) => !!a).length;
1208
+ case "sum": return o.map((d) => typeof d == "number" ? d : Number.parseFloat(String(d))).reduce((d, u) => d + u, 0);
1209
+ case "mean":
1210
+ case "avg": {
1211
+ let a = o.map((d) => typeof d == "number" ? d : Number.parseFloat(String(d)));
1212
+ return a.length > 0 ? a.reduce((d, u) => d + u, 0) / a.length : 0;
1213
+ }
1214
+ case "min": {
1215
+ let a = o.map((d) => typeof d == "number" ? d : Number.parseFloat(String(d)));
1216
+ return a.length > 0 ? Math.min(...a) : null;
1217
+ }
1218
+ case "max": {
1219
+ let a = o.map((d) => typeof d == "number" ? d : Number.parseFloat(String(d)));
1220
+ return a.length > 0 ? Math.max(...a) : null;
1221
+ }
1222
+ case "first": return o.length > 0 ? o[0] : null;
1223
+ case "last": return o.length > 0 ? o[o.length - 1] : null;
1224
+ case "median": {
1225
+ let a = o.map((u) => typeof u == "number" ? u : Number.parseFloat(String(u))).filter((u) => !Number.isNaN(u)).sort((u, p) => u - p);
1226
+ if (a.length === 0) return null;
1227
+ let d = Math.floor(a.length / 2);
1228
+ return a.length % 2 === 0 ? (a[d - 1] + a[d]) / 2 : a[d];
1229
+ }
1230
+ case "mode": {
1231
+ let a = /* @__PURE__ */ new Map();
1232
+ for (let p of o) {
1233
+ let c = String(p);
1234
+ a.set(c, (a.get(c) || 0) + 1);
1235
+ }
1236
+ let d = 0, u = null;
1237
+ for (let [p, c] of a) c > d && (d = c, u = p);
1238
+ return u;
1239
+ }
1240
+ case "cardinality": return new Set(o.map((d) => String(d))).size;
1241
+ case "values": return o.map((a) => String(a)).join("|");
1242
+ case "distinct_values": return [...new Set(o.map((d) => String(d)))].sort().join("|");
1243
+ case "all":
1244
+ if (e.length === 0) return !0;
1245
+ for (let a of e) if (!Q(a, r, t)) return !1;
1246
+ return !0;
1247
+ case "any":
1248
+ for (let a of e) if (Q(a, r, t)) return !0;
1249
+ return !1;
1250
+ default: return null;
1251
+ }
1252
+ }
1253
+ function Ge(e, n, t = {}) {
1254
+ let s = C();
1255
+ for (let r of n) E$1(s, r.alias, te(e, r, t));
1256
+ return s;
1257
+ }
1258
+ async function ne(e, n) {
1259
+ let t = "", s = [];
1260
+ for (let c of e) c.startsWith("-") || (t ? s.push(c) : t = c);
1261
+ if (!t) return {
1262
+ stdout: "",
1263
+ stderr: `xan agg: no aggregation expression
1264
+ `,
1265
+ exitCode: 1
1266
+ };
1267
+ let { data: r, error: o } = await g(s, n);
1268
+ if (o) return o;
1269
+ let a = { limits: n.limits ? { maxIterations: n.limits.maxJqIterations } : void 0 }, d = ee(t);
1270
+ return {
1271
+ stdout: I$1(d.map((c) => c.alias), [Ge(r, d, a)]),
1272
+ stderr: "",
1273
+ exitCode: 0
1274
+ };
1275
+ }
1276
+ async function se(e, n) {
1277
+ let t = "", s = "", r = [];
1278
+ for (let f = 0; f < e.length; f++) {
1279
+ let m = e[f];
1280
+ m === "--sorted" || m.startsWith("-") || (t ? s ? r.push(m) : s = m : t = m);
1281
+ }
1282
+ if (!t || !s) return {
1283
+ stdout: "",
1284
+ stderr: `xan groupby: usage: xan groupby COLS EXPR [FILE]
1285
+ `,
1286
+ exitCode: 1
1287
+ };
1288
+ let { data: o, error: a } = await g(r, n);
1289
+ if (a) return a;
1290
+ let d = { limits: n.limits ? { maxIterations: n.limits.maxJqIterations } : void 0 }, u = t.split(","), p = ee(s), c = [], h = /* @__PURE__ */ new Map();
1291
+ for (let f of o) {
1292
+ let m = u.map((g) => String(f[g])).join("\0");
1293
+ h.has(m) || (h.set(m, []), c.push(m)), h.get(m)?.push(f);
1294
+ }
1295
+ let l = [...u, ...p.map((f) => f.alias)], i = [];
1296
+ for (let f of c) {
1297
+ let m = h.get(f);
1298
+ if (!m) continue;
1299
+ let g = C();
1300
+ for (let y of u) E$1(g, y, m[0][y]);
1301
+ for (let y of p) E$1(g, y.alias, te(m, y, d));
1302
+ i.push(g);
1303
+ }
1304
+ return {
1305
+ stdout: I$1(l, i),
1306
+ stderr: "",
1307
+ exitCode: 0
1308
+ };
1309
+ }
1310
+ async function re(e, n) {
1311
+ let t = [], s = "", r = 10, o = !1, a = [];
1312
+ for (let i = 0; i < e.length; i++) {
1313
+ let f = e[i];
1314
+ (f === "-s" || f === "--select") && i + 1 < e.length ? t = e[++i].split(",") : (f === "-g" || f === "--groupby") && i + 1 < e.length ? s = e[++i] : (f === "-l" || f === "--limit") && i + 1 < e.length ? r = Number.parseInt(e[++i], 10) : f === "--no-extra" ? o = !0 : f === "-A" || f === "--all" ? r = 0 : f.startsWith("-") || a.push(f);
1315
+ }
1316
+ let { headers: d, data: u, error: p } = await g(a, n);
1317
+ if (p) return p;
1318
+ let c = t.length > 0 ? t : d.filter((i) => i !== s);
1319
+ s && t.length === 0 && (c = d.filter((i) => i !== s));
1320
+ let h = [], l = s ? [
1321
+ "field",
1322
+ s,
1323
+ "value",
1324
+ "count"
1325
+ ] : [
1326
+ "field",
1327
+ "value",
1328
+ "count"
1329
+ ];
1330
+ if (s) {
1331
+ let i = /* @__PURE__ */ new Map();
1332
+ for (let f of u) {
1333
+ let m = String(f[s] ?? "");
1334
+ i.has(m) || i.set(m, []), i.get(m)?.push(f);
1335
+ }
1336
+ for (let f of c) for (let [m, g] of i) {
1337
+ let y = /* @__PURE__ */ new Map();
1338
+ for (let k of g) {
1339
+ let N = k[f], C = N === "" || N === null || N === void 0 ? "" : String(N);
1340
+ y.set(C, (y.get(C) || 0) + 1);
1341
+ }
1342
+ let x = [...y.entries()].sort((k, N) => N[1] !== k[1] ? N[1] - k[1] : k[0].localeCompare(N[0]));
1343
+ o && (x = x.filter(([k]) => k !== "")), r > 0 && (x = x.slice(0, r));
1344
+ for (let [k, N] of x) h.push({
1345
+ field: f,
1346
+ [s]: m,
1347
+ value: k === "" ? "<empty>" : k,
1348
+ count: N
1349
+ });
1350
+ }
1351
+ } else for (let i of c) {
1352
+ let f = /* @__PURE__ */ new Map();
1353
+ for (let g of u) {
1354
+ let y = g[i], x = y === "" || y === null || y === void 0 ? "" : String(y);
1355
+ f.set(x, (f.get(x) || 0) + 1);
1356
+ }
1357
+ let m = [...f.entries()].sort((g, y) => y[1] !== g[1] ? y[1] - g[1] : g[0].localeCompare(y[0]));
1358
+ o && (m = m.filter(([g]) => g !== "")), r > 0 && (m = m.slice(0, r));
1359
+ for (let [g, y] of m) h.push({
1360
+ field: i,
1361
+ value: g === "" ? "<empty>" : g,
1362
+ count: y
1363
+ });
1364
+ }
1365
+ return {
1366
+ stdout: I$1(l, h),
1367
+ stderr: "",
1368
+ exitCode: 0
1369
+ };
1370
+ }
1371
+ async function oe(e, n) {
1372
+ let t = [], s = [];
1373
+ for (let c = 0; c < e.length; c++) {
1374
+ let h = e[c];
1375
+ h === "-s" && c + 1 < e.length ? t = e[++c].split(",") : h.startsWith("-") || s.push(h);
1376
+ }
1377
+ let { headers: r, data: o, error: a } = await g(s, n);
1378
+ if (a) return a;
1379
+ let d = t.length > 0 ? t : r, u = [
1380
+ "field",
1381
+ "type",
1382
+ "count",
1383
+ "min",
1384
+ "max",
1385
+ "mean"
1386
+ ], p = [];
1387
+ for (let c of d) {
1388
+ let h = o.map((f) => f[c]).filter((f) => f != null), l = h.map((f) => typeof f == "number" ? f : Number.parseFloat(String(f))).filter((f) => !Number.isNaN(f)), i = l.length === h.length && l.length > 0;
1389
+ p.push({
1390
+ field: c,
1391
+ type: i ? "Number" : "String",
1392
+ count: h.length,
1393
+ min: i ? Math.min(...l) : "",
1394
+ max: i ? Math.max(...l) : "",
1395
+ mean: i ? Math.round(l.reduce((f, m) => f + m, 0) / l.length * 1e10) / 1e10 : ""
1396
+ });
1397
+ }
1398
+ return {
1399
+ stdout: I$1(u, p),
1400
+ stderr: "",
1401
+ exitCode: 0
1402
+ };
1403
+ }
1404
+ V();
1405
+ function Xe(e) {
1406
+ return O(H(e));
1407
+ }
1408
+ function ot(e) {
1409
+ return I1(`^${e.replace(/[.+?^${}()|[\]\\]/g, "\\$&").replace(/\*/g, ".*")}$`);
1410
+ }
1411
+ function B(e, n) {
1412
+ let t = [], s = /* @__PURE__ */ new Set();
1413
+ for (let r of e.split(",")) {
1414
+ let o = r.trim();
1415
+ if (o.startsWith("!")) {
1416
+ let c = B(o.slice(1), n);
1417
+ for (let h of c) s.add(h);
1418
+ continue;
1419
+ }
1420
+ if (o === "*") {
1421
+ for (let p of n) t.includes(p) || t.push(p);
1422
+ continue;
1423
+ }
1424
+ if (o.includes("*")) {
1425
+ let p = ot(o);
1426
+ for (let c of n) p.test(c) && !t.includes(c) && t.push(c);
1427
+ continue;
1428
+ }
1429
+ let a = o.match(/^([^:]*):([^:]*)$/);
1430
+ if (a && (a[1] || a[2])) {
1431
+ let p = a[1], c = a[2], h = p ? n.indexOf(p) : 0, l = c ? n.indexOf(c) : n.length - 1;
1432
+ if (h !== -1 && l !== -1) {
1433
+ let i = h <= l ? 1 : -1;
1434
+ for (let f = h; i > 0 ? f <= l : f >= l; f += i) t.includes(n[f]) || t.push(n[f]);
1435
+ }
1436
+ continue;
1437
+ }
1438
+ let d = o.match(/^(\d+)-(\d+)$/);
1439
+ if (d) {
1440
+ let p = Number.parseInt(d[1], 10), c = Number.parseInt(d[2], 10);
1441
+ for (let h = p; h <= c && h < n.length; h++) t.push(n[h]);
1442
+ continue;
1443
+ }
1444
+ let u = Number.parseInt(o, 10);
1445
+ if (!Number.isNaN(u) && u >= 0 && u < n.length) {
1446
+ t.push(n[u]);
1447
+ continue;
1448
+ }
1449
+ n.includes(o) && t.push(o);
1450
+ }
1451
+ return s.size > 0 ? t.filter((r) => !s.has(r)) : t;
1452
+ }
1453
+ async function ie(e, n) {
1454
+ let t = "", s = [];
1455
+ for (let p of e) p.startsWith("-") || (t ? s.push(p) : t = p);
1456
+ if (!t) return {
1457
+ stdout: "",
1458
+ stderr: `xan select: no columns specified
1459
+ `,
1460
+ exitCode: 1
1461
+ };
1462
+ let { headers: r, data: o, error: a } = await g(s, n);
1463
+ if (a) return a;
1464
+ let d = B(t, r);
1465
+ return {
1466
+ stdout: I$1(d, o.map((p) => {
1467
+ let c = C();
1468
+ for (let h of d) E$1(c, h, p[h]);
1469
+ return c;
1470
+ })),
1471
+ stderr: "",
1472
+ exitCode: 0
1473
+ };
1474
+ }
1475
+ async function ae(e, n) {
1476
+ let t = "", s = [];
1477
+ for (let c of e) c.startsWith("-") || (t ? s.push(c) : t = c);
1478
+ if (!t) return {
1479
+ stdout: "",
1480
+ stderr: `xan drop: no columns specified
1481
+ `,
1482
+ exitCode: 1
1483
+ };
1484
+ let { headers: r, data: o, error: a } = await g(s, n);
1485
+ if (a) return a;
1486
+ let d = new Set(B(t, r)), u = r.filter((c) => !d.has(c));
1487
+ return {
1488
+ stdout: I$1(u, o.map((c) => {
1489
+ let h = C();
1490
+ for (let l of u) E$1(h, l, c[l]);
1491
+ return h;
1492
+ })),
1493
+ stderr: "",
1494
+ exitCode: 0
1495
+ };
1496
+ }
1497
+ async function le(e, n) {
1498
+ let t = "", s = "", r = [];
1499
+ for (let c = 0; c < e.length; c++) {
1500
+ let h = e[c];
1501
+ h === "-s" && c + 1 < e.length ? s = e[++c] : h.startsWith("-") || (t ? r.push(h) : t = h);
1502
+ }
1503
+ if (!t) return {
1504
+ stdout: "",
1505
+ stderr: `xan rename: no new name(s) specified
1506
+ `,
1507
+ exitCode: 1
1508
+ };
1509
+ let { headers: o, data: a, error: d } = await g(r, n);
1510
+ if (d) return d;
1511
+ let u;
1512
+ if (s) {
1513
+ let c = s.split(","), h = t.split(","), l = /* @__PURE__ */ new Map();
1514
+ for (let i = 0; i < c.length && i < h.length; i++) l.set(c[i], h[i]);
1515
+ u = o.map((i) => l.get(i) || i);
1516
+ } else {
1517
+ let c = t.split(",");
1518
+ u = o.map((h, l) => l < c.length ? c[l] : h);
1519
+ }
1520
+ let p = a.map((c) => {
1521
+ let h = C();
1522
+ for (let l = 0; l < o.length; l++) E$1(h, u[l], c[o[l]]);
1523
+ return h;
1524
+ });
1525
+ return {
1526
+ stdout: I$1(u, p),
1527
+ stderr: "",
1528
+ exitCode: 0
1529
+ };
1530
+ }
1531
+ async function ue(e, n) {
1532
+ let t = "index", s = [];
1533
+ for (let p = 0; p < e.length; p++) e[p] === "-c" && p + 1 < e.length ? t = e[++p] : s.push(e[p]);
1534
+ let { headers: r, data: o, error: a } = await g(s, n);
1535
+ if (a) return a;
1536
+ return {
1537
+ stdout: I$1([t, ...r], o.map((p, c) => {
1538
+ let h = C();
1539
+ E$1(h, t, c);
1540
+ for (let l of r) E$1(h, l, p[l]);
1541
+ return h;
1542
+ })),
1543
+ stderr: "",
1544
+ exitCode: 0
1545
+ };
1546
+ }
1547
+ async function ce(e, n) {
1548
+ let t = e.includes("-j") || e.includes("--just-names"), { headers: s, error: r } = await g(e.filter((a) => a !== "-j" && a !== "--just-names"), n);
1549
+ return r || {
1550
+ stdout: t ? `${s.map((a) => a).join(`
1551
+ `)}
1552
+ ` : `${s.map((a, d) => `${d} ${a}`).join(`
1553
+ `)}
1554
+ `,
1555
+ stderr: "",
1556
+ exitCode: 0
1557
+ };
1558
+ }
1559
+ async function pe(e, n) {
1560
+ let { data: t, error: s } = await g(e, n);
1561
+ return s || {
1562
+ stdout: `${t.length}
1563
+ `,
1564
+ stderr: "",
1565
+ exitCode: 0
1566
+ };
1567
+ }
1568
+ async function fe(e, n) {
1569
+ let t = 10, s = [];
1570
+ 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]);
1571
+ let { headers: r, data: o, error: a } = await g(s, n);
1572
+ if (a) return a;
1573
+ return {
1574
+ stdout: I$1(r, o.slice(0, t)),
1575
+ stderr: "",
1576
+ exitCode: 0
1577
+ };
1578
+ }
1579
+ async function de(e, n) {
1580
+ let t = 10, s = [];
1581
+ 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]);
1582
+ let { headers: r, data: o, error: a } = await g(s, n);
1583
+ if (a) return a;
1584
+ return {
1585
+ stdout: I$1(r, o.slice(-t)),
1586
+ stderr: "",
1587
+ exitCode: 0
1588
+ };
1589
+ }
1590
+ async function he(e, n) {
1591
+ let t, s, r, o = [];
1592
+ for (let l = 0; l < e.length; l++) {
1593
+ let i = e[l];
1594
+ (i === "-s" || i === "--start") && l + 1 < e.length ? t = Number.parseInt(e[++l], 10) : (i === "-e" || i === "--end") && l + 1 < e.length ? s = Number.parseInt(e[++l], 10) : (i === "-l" || i === "--len") && l + 1 < e.length ? r = Number.parseInt(e[++l], 10) : i.startsWith("-") || o.push(i);
1595
+ }
1596
+ let { headers: a, data: d, error: u } = await g(o, n);
1597
+ if (u) return u;
1598
+ let p = t ?? 0, c;
1599
+ r !== void 0 ? c = p + r : s !== void 0 ? c = s : c = d.length;
1600
+ return {
1601
+ stdout: I$1(a, d.slice(p, c)),
1602
+ stderr: "",
1603
+ exitCode: 0
1604
+ };
1605
+ }
1606
+ async function me(e, n) {
1607
+ let { headers: t, data: s, error: r } = await g(e, n);
1608
+ if (r) return r;
1609
+ return {
1610
+ stdout: I$1(t, [...s].reverse()),
1611
+ stderr: "",
1612
+ exitCode: 0
1613
+ };
1614
+ }
1615
+ var ge = q$1(xe$1(), 1);
1616
+ async function ye(e, n) {
1617
+ let { headers: s, data: r, error: o } = await g(e.filter((p) => !p.startsWith("-")), n);
1618
+ if (o) return o;
1619
+ if (r.length === 0) return {
1620
+ stdout: I$1(["column"], s.map((h) => ({ column: h }))),
1621
+ stderr: "",
1622
+ exitCode: 0
1623
+ };
1624
+ let a = s[0], d = [a, ...r.map((p, c) => String(p[a] ?? `row_${c}`))], u = [];
1625
+ for (let p = 1; p < s.length; p++) {
1626
+ let c = s[p], h = C();
1627
+ E$1(h, a, c);
1628
+ for (let l = 0; l < r.length; l++) E$1(h, d[l + 1], r[l][c]);
1629
+ u.push(h);
1630
+ }
1631
+ return {
1632
+ stdout: I$1(d, u),
1633
+ stderr: "",
1634
+ exitCode: 0
1635
+ };
1636
+ }
1637
+ async function xe(e, n) {
1638
+ let t = null, s = [];
1639
+ for (let c = 0; c < e.length; c++) {
1640
+ let h = e[c];
1641
+ h === "--seed" && c + 1 < e.length ? t = Number.parseInt(e[++c], 10) : h.startsWith("-") || s.push(h);
1642
+ }
1643
+ let { headers: r, data: o, error: a } = await g(s, n);
1644
+ if (a) return a;
1645
+ let d = t !== null ? t : Date.now(), u = () => (d = d * 1103515245 + 12345 & 2147483647, d / 2147483647), p = [...o];
1646
+ for (let c = p.length - 1; c > 0; c--) {
1647
+ let h = Math.floor(u() * (c + 1));
1648
+ [p[c], p[h]] = [p[h], p[c]];
1649
+ }
1650
+ return {
1651
+ stdout: I$1(r, p),
1652
+ stderr: "",
1653
+ exitCode: 0
1654
+ };
1655
+ }
1656
+ async function we(e, n) {
1657
+ let t = null, s = "", r = [];
1658
+ for (let i = 0; i < e.length; i++) {
1659
+ let f = e[i];
1660
+ (f === "-l" || f === "--length") && i + 1 < e.length ? t = Number.parseInt(e[++i], 10) : (f === "-d" || f === "--default") && i + 1 < e.length ? s = e[++i] : f.startsWith("-") || r.push(f);
1661
+ }
1662
+ let o = r[0], a;
1663
+ if (!o || o === "-") a = x(n.stdin);
1664
+ else try {
1665
+ let i = n.fs.resolvePath(n.cwd, o);
1666
+ a = await n.fs.readFile(i);
1667
+ } catch {
1668
+ return {
1669
+ stdout: "",
1670
+ stderr: `xan fixlengths: ${o}: No such file or directory
1671
+ `,
1672
+ exitCode: 1
1673
+ };
1674
+ }
1675
+ let u = ge.default.parse(a.trim(), {
1676
+ header: !1,
1677
+ skipEmptyLines: !0
1678
+ }).data;
1679
+ if (u.length === 0) return {
1680
+ stdout: "",
1681
+ stderr: "",
1682
+ exitCode: 0
1683
+ };
1684
+ let p = Math.max(...u.map((i) => i.length)), c = t ?? p, h = u.map((i) => i.length === c ? i : i.length < c ? [...i, ...Array(c - i.length).fill(s)] : i.slice(0, c));
1685
+ return {
1686
+ stdout: `${ge.default.unparse(h).replace(/\r\n/g, `
1687
+ `)}
1688
+ `,
1689
+ stderr: "",
1690
+ exitCode: 0
1691
+ };
1692
+ }
1693
+ async function ve(e, n) {
1694
+ let t = null, s = null, r = ".", o = [];
1695
+ for (let l = 0; l < e.length; l++) {
1696
+ let i = e[l];
1697
+ (i === "-c" || i === "--chunks") && l + 1 < e.length ? t = Number.parseInt(e[++l], 10) : (i === "-S" || i === "--size") && l + 1 < e.length ? s = Number.parseInt(e[++l], 10) : (i === "-o" || i === "--output") && l + 1 < e.length ? r = e[++l] : i.startsWith("-") || o.push(i);
1698
+ }
1699
+ if (!t && !s) return {
1700
+ stdout: "",
1701
+ stderr: `xan split: must specify -c or -S
1702
+ `,
1703
+ exitCode: 1
1704
+ };
1705
+ let { headers: a, data: d, error: u } = await g(o, n);
1706
+ if (u) return u;
1707
+ let p = [];
1708
+ if (t) {
1709
+ let l = Math.ceil(d.length / t);
1710
+ for (let i = 0; i < t; i++) p.push(d.slice(i * l, (i + 1) * l));
1711
+ } else if (s) for (let l = 0; l < d.length; l += s) p.push(d.slice(l, l + s));
1712
+ let c = p.filter((l) => l.length > 0), h = o[0]?.replace(/\.csv$/, "") || "part";
1713
+ try {
1714
+ let l = n.fs.resolvePath(n.cwd, r);
1715
+ for (let i = 0; i < c.length; i++) {
1716
+ let f = `${h}_${String(i + 1).padStart(3, "0")}.csv`, m = n.fs.resolvePath(l, f);
1717
+ await n.fs.writeFile(m, I$1(a, c[i]));
1718
+ }
1719
+ return {
1720
+ stdout: `Split into ${c.length} parts
1721
+ `,
1722
+ stderr: "",
1723
+ exitCode: 0
1724
+ };
1725
+ } catch {
1726
+ return {
1727
+ stdout: `${c.map((i, f) => `Part ${f + 1}: ${i.length} rows`).join(`
1728
+ `)}
1729
+ `,
1730
+ stderr: "",
1731
+ exitCode: 0
1732
+ };
1733
+ }
1734
+ }
1735
+ function Ye(e) {
1736
+ return e.replace(/[^a-zA-Z0-9_-]/g, "_") || "empty";
1737
+ }
1738
+ function it(e) {
1739
+ let n = 2166136261;
1740
+ for (let t = 0; t < e.length; t++) n = (n ^ e.charCodeAt(t)) * 16777619 >>> 0;
1741
+ return n.toString(36).padStart(6, "0").slice(0, 6);
1742
+ }
1743
+ async function Ce(e, n) {
1744
+ let t = "", s = ".", r = [];
1745
+ for (let l = 0; l < e.length; l++) {
1746
+ let i = e[l];
1747
+ (i === "-o" || i === "--output") && l + 1 < e.length ? s = e[++l] : i.startsWith("-") || (t ? r.push(i) : t = i);
1748
+ }
1749
+ if (!t) return {
1750
+ stdout: "",
1751
+ stderr: `xan partition: usage: xan partition COLUMN [FILE]
1752
+ `,
1753
+ exitCode: 1
1754
+ };
1755
+ let { headers: o, data: a, error: d } = await g(r, n);
1756
+ if (d) return d;
1757
+ if (!o.includes(t)) return {
1758
+ stdout: "",
1759
+ stderr: `xan partition: column '${t}' not found
1760
+ `,
1761
+ exitCode: 1
1762
+ };
1763
+ let u = /* @__PURE__ */ new Map();
1764
+ for (let l of a) {
1765
+ let i = String(l[t] ?? "");
1766
+ u.has(i) || u.set(i, []), u.get(i)?.push(l);
1767
+ }
1768
+ let p = /* @__PURE__ */ new Map();
1769
+ for (let l of u.keys()) {
1770
+ let i = Ye(l);
1771
+ p.set(i, (p.get(i) ?? 0) + 1);
1772
+ }
1773
+ let c = /* @__PURE__ */ new Set(), h = /* @__PURE__ */ new Map();
1774
+ for (let l of u.keys()) {
1775
+ let i = Ye(l), m = (p.get(i) ?? 0) > 1 ? `${i}_${it(l)}` : i, g = `${m}.csv`, y = 1;
1776
+ for (; c.has(g);) g = `${m}_${y}.csv`, y++;
1777
+ c.add(g), h.set(l, g);
1778
+ }
1779
+ try {
1780
+ let l = n.fs.resolvePath(n.cwd, s);
1781
+ for (let [i, f] of u) {
1782
+ let m = h.get(i);
1783
+ if (!m) continue;
1784
+ let g = n.fs.resolvePath(l, m);
1785
+ await n.fs.writeFile(g, I$1(o, f));
1786
+ }
1787
+ return {
1788
+ stdout: `Partitioned into ${u.size} files by '${t}'
1789
+ `,
1790
+ stderr: "",
1791
+ exitCode: 0
1792
+ };
1793
+ } catch {
1794
+ return {
1795
+ stdout: `${Array.from(u.entries()).map(([i, f]) => `${i}: ${f.length} rows`).join(`
1796
+ `)}
1797
+ `,
1798
+ stderr: "",
1799
+ exitCode: 0
1800
+ };
1801
+ }
1802
+ }
1803
+ async function be(e, n) {
1804
+ if (e.length === 0) return {
1805
+ stdout: "",
1806
+ stderr: `xan to: usage: xan to <format> [FILE]
1807
+ `,
1808
+ exitCode: 1
1809
+ };
1810
+ let t = e[0], s = e.slice(1);
1811
+ return t === "json" ? at(s, n) : {
1812
+ stdout: "",
1813
+ stderr: `xan to: unsupported format '${t}'
1814
+ `,
1815
+ exitCode: 1
1816
+ };
1817
+ }
1818
+ async function at(e, n) {
1819
+ let { data: s, error: r } = await g(e.filter((a) => !a.startsWith("-")), n);
1820
+ return r || {
1821
+ stdout: `${JSON.stringify(s, null, 2)}
1822
+ `,
1823
+ stderr: "",
1824
+ exitCode: 0
1825
+ };
1826
+ }
1827
+ async function Se(e, n) {
1828
+ let t = "", s = [];
1829
+ for (let r = 0; r < e.length; r++) {
1830
+ let o = e[r];
1831
+ (o === "-f" || o === "--format") && r + 1 < e.length ? t = e[++r] : o.startsWith("-") || s.push(o);
1832
+ }
1833
+ return t ? t === "json" ? lt(s, n) : {
1834
+ stdout: "",
1835
+ stderr: `xan from: unsupported format '${t}'
1836
+ `,
1837
+ exitCode: 1
1838
+ } : {
1839
+ stdout: "",
1840
+ stderr: `xan from: usage: xan from -f <format> [FILE]
1841
+ `,
1842
+ exitCode: 1
1843
+ };
1844
+ }
1845
+ async function lt(e, n) {
1846
+ let t = e[0], s;
1847
+ if (!t || t === "-") s = x(n.stdin);
1848
+ else try {
1849
+ let r = n.fs.resolvePath(n.cwd, t);
1850
+ s = await n.fs.readFile(r);
1851
+ } catch {
1852
+ return {
1853
+ stdout: "",
1854
+ stderr: `xan from: ${t}: No such file or directory
1855
+ `,
1856
+ exitCode: 1
1857
+ };
1858
+ }
1859
+ try {
1860
+ let r = JSON.parse(s.trim());
1861
+ if (!Array.isArray(r)) return {
1862
+ stdout: "",
1863
+ stderr: `xan from: JSON input must be an array
1864
+ `,
1865
+ exitCode: 1
1866
+ };
1867
+ if (r.length === 0) return {
1868
+ stdout: `
1869
+ `,
1870
+ stderr: "",
1871
+ exitCode: 0
1872
+ };
1873
+ if (Array.isArray(r[0])) {
1874
+ let [a, ...d] = r;
1875
+ return {
1876
+ stdout: I$1(a, d.map((p) => {
1877
+ let c = C();
1878
+ for (let h = 0; h < a.length; h++) E$1(c, a[h], p[h]);
1879
+ return c;
1880
+ })),
1881
+ stderr: "",
1882
+ exitCode: 0
1883
+ };
1884
+ }
1885
+ return {
1886
+ stdout: I$1(Object.keys(r[0]).sort(), r),
1887
+ stderr: "",
1888
+ exitCode: 0
1889
+ };
1890
+ } catch {
1891
+ return {
1892
+ stdout: "",
1893
+ stderr: `xan from: invalid JSON input
1894
+ `,
1895
+ exitCode: 1
1896
+ };
1897
+ }
1898
+ }
1899
+ async function ke(e, n) {
1900
+ let t = !1, s$1 = 0, r = "", o = [];
1901
+ for (let l = 0; l < e.length; l++) {
1902
+ let i = e[l];
1903
+ if (i === "-v" || i === "--invert") t = !0;
1904
+ else if ((i === "-l" || i === "--limit") && l + 1 < e.length) s$1 = Number.parseInt(e[++l], 10);
1905
+ else {
1906
+ if (i === "--help") return s({
1907
+ name: "xan filter",
1908
+ summary: "Filter rows by expression",
1909
+ usage: "xan filter [OPTIONS] EXPR [FILE]",
1910
+ description: "Filter CSV rows using moonblade expressions.",
1911
+ options: [
1912
+ "-v, --invert invert match",
1913
+ "-l, --limit N limit output to N rows",
1914
+ " --help display help"
1915
+ ]
1916
+ });
1917
+ i.startsWith("-") || (r ? o.push(i) : r = i);
1918
+ }
1919
+ }
1920
+ if (!r) return {
1921
+ stdout: "",
1922
+ stderr: `xan filter: no expression specified
1923
+ `,
1924
+ exitCode: 1
1925
+ };
1926
+ let { headers: a, data: d$1, error: u } = await g(o, n);
1927
+ if (u) return u;
1928
+ let p = { limits: n.limits ? { maxIterations: n.limits.maxJqIterations } : void 0 }, c = Xe(r), h = [];
1929
+ for (let l of d$1) {
1930
+ if (s$1 > 0 && h.length >= s$1) break;
1931
+ let i = d(l, c, p), f = i.length > 0 && i.some((m) => !!m);
1932
+ (t ? !f : f) && h.push(l);
1933
+ }
1934
+ return {
1935
+ stdout: I$1(a, h),
1936
+ stderr: "",
1937
+ exitCode: 0
1938
+ };
1939
+ }
1940
+ async function Ie(e, n) {
1941
+ let t = "", s = !1, r = !1, o = [];
1942
+ for (let c = 0; c < e.length; c++) {
1943
+ let h = e[c];
1944
+ h === "-N" || h === "--numeric" ? s = !0 : h === "-R" || h === "-r" || h === "--reverse" ? r = !0 : h === "-s" && c + 1 < e.length ? t = e[++c] : h.startsWith("-") || o.push(h);
1945
+ }
1946
+ let { headers: a, data: d, error: u } = await g(o, n);
1947
+ if (u) return u;
1948
+ !t && a.length > 0 && (t = a[0]);
1949
+ return {
1950
+ stdout: I$1(a, [...d].sort((c, h) => {
1951
+ let l = c[t], i = h[t], f;
1952
+ if (s) f = (typeof l == "number" ? l : Number.parseFloat(String(l))) - (typeof i == "number" ? i : Number.parseFloat(String(i)));
1953
+ else f = String(l).localeCompare(String(i));
1954
+ return r ? -f : f;
1955
+ })),
1956
+ stderr: "",
1957
+ exitCode: 0
1958
+ };
1959
+ }
1960
+ async function Ne(e, n) {
1961
+ let t = "", s = [];
1962
+ for (let p = 0; p < e.length; p++) {
1963
+ let c = e[p];
1964
+ c === "-s" && p + 1 < e.length ? t = e[++p] : c.startsWith("-") || s.push(c);
1965
+ }
1966
+ let { headers: r, data: o, error: a } = await g(s, n);
1967
+ if (a) return a;
1968
+ let d = /* @__PURE__ */ new Set();
1969
+ return {
1970
+ stdout: I$1(r, o.filter((p) => {
1971
+ let c = t ? String(p[t]) : JSON.stringify(p);
1972
+ return d.has(c) ? !1 : (d.add(c), !0);
1973
+ })),
1974
+ stderr: "",
1975
+ exitCode: 0
1976
+ };
1977
+ }
1978
+ async function Ee(e, n) {
1979
+ let t = 10, s = "", r = !1, o = [];
1980
+ for (let h = 0; h < e.length; h++) {
1981
+ let l = e[h];
1982
+ (l === "-l" || l === "-n") && h + 1 < e.length ? t = Number.parseInt(e[++h], 10) : l === "-R" || l === "-r" || l === "--reverse" ? r = !0 : l.startsWith("-") || (s ? o.push(l) : s = l);
1983
+ }
1984
+ let { headers: a, data: d, error: u } = await g(o, n);
1985
+ if (u) return u;
1986
+ !s && a.length > 0 && (s = a[0]);
1987
+ return {
1988
+ stdout: I$1(a, [...d].sort((h, l) => {
1989
+ let i = h[s], f = l[s], m = typeof i == "number" ? i : Number.parseFloat(String(i)), g = typeof f == "number" ? f : Number.parseFloat(String(f));
1990
+ return r ? m - g : g - m;
1991
+ }).slice(0, t)),
1992
+ stderr: "",
1993
+ exitCode: 0
1994
+ };
1995
+ }
1996
+ V();
1997
+ async function Ae(e, n) {
1998
+ let t = "", s = !1, r = !1, o = [];
1999
+ for (let f = 0; f < e.length; f++) {
2000
+ let m = e[f];
2001
+ m === "-O" || m === "--overwrite" ? s = !0 : m === "--filter" ? r = !0 : m.startsWith("-") || (t ? o.push(m) : t = m);
2002
+ }
2003
+ if (!t) return {
2004
+ stdout: "",
2005
+ stderr: `xan map: no expression specified
2006
+ `,
2007
+ exitCode: 1
2008
+ };
2009
+ let { headers: a, data: d$2, error: u } = await g(o, n);
2010
+ if (u) return u;
2011
+ let c = U(t).map(({ expr: f, name: m }) => ({
2012
+ alias: typeof m == "string" ? m : m[0],
2013
+ ast: O(f)
2014
+ })), h = { limits: n.limits ? { maxIterations: n.limits.maxJqIterations } : void 0 }, l;
2015
+ if (s) {
2016
+ l = [...a];
2017
+ for (let f of c) a.includes(f.alias) || l.push(f.alias);
2018
+ } else l = [...a, ...c.map((f) => f.alias)];
2019
+ let i = [];
2020
+ for (let f = 0; f < d$2.length; f++) {
2021
+ let m = d$2[f], g = b(m), y = !1, x = Object.assign(S$1(m), { _row_index: f });
2022
+ for (let k of c) {
2023
+ let N = d(x, k.ast, h), C = N.length > 0 ? N[0] : null;
2024
+ if (r && C == null) {
2025
+ y = !0;
2026
+ break;
2027
+ }
2028
+ E$1(g, k.alias, C);
2029
+ }
2030
+ y || i.push(g);
2031
+ }
2032
+ return {
2033
+ stdout: I$1(l, i),
2034
+ stderr: "",
2035
+ exitCode: 0
2036
+ };
2037
+ }
2038
+ async function Fe(e, n) {
2039
+ let t = "", s = "", r$1 = "", o = [];
2040
+ for (let m = 0; m < e.length; m++) {
2041
+ let g = e[m];
2042
+ (g === "-r" || g === "--rename") && m + 1 < e.length ? r$1 = e[++m] : g.startsWith("-") || (t ? s ? o.push(g) : s = g : t = g);
2043
+ }
2044
+ if (!t || !s) return {
2045
+ stdout: "",
2046
+ stderr: `xan transform: usage: xan transform COLUMN EXPR [FILE]
2047
+ `,
2048
+ exitCode: 1
2049
+ };
2050
+ let { headers: a, data: d$3, error: u } = await g(o, n);
2051
+ if (u) return u;
2052
+ let p = t.split(",").map((m) => m.trim()), c = r$1 ? r$1.split(",").map((m) => m.trim()) : [];
2053
+ for (let m of p) if (!a.includes(m)) return {
2054
+ stdout: "",
2055
+ stderr: `xan transform: column '${m}' not found
2056
+ `,
2057
+ exitCode: 1
2058
+ };
2059
+ let h = O(U(s)[0]?.expr || (V(), r(ze)).parseMoonblade(s)), l = { limits: n.limits ? { maxIterations: n.limits.maxJqIterations } : void 0 }, i = a.map((m) => {
2060
+ let g = p.indexOf(m);
2061
+ return g !== -1 && c[g] ? c[g] : m;
2062
+ }), f = [];
2063
+ for (let m of d$3) {
2064
+ let g = b(m);
2065
+ for (let y = 0; y < p.length; y++) {
2066
+ let x = p[y], N = d(Object.assign(S$1(m), { _: m[x] }), h, l), C = N.length > 0 ? N[0] : null, A = c[y] || x;
2067
+ A !== x && delete g[x], E$1(g, A, C);
2068
+ }
2069
+ f.push(g);
2070
+ }
2071
+ return {
2072
+ stdout: I$1(i, f),
2073
+ stderr: "",
2074
+ exitCode: 0
2075
+ };
2076
+ }
2077
+ async function Oe(e, n) {
2078
+ let t = "", s = "|", r = !1, o = "", a = [];
2079
+ for (let i = 0; i < e.length; i++) {
2080
+ let f = e[i];
2081
+ (f === "-s" || f === "--separator") && i + 1 < e.length ? s = e[++i] : f === "--drop-empty" ? r = !0 : (f === "-r" || f === "--rename") && i + 1 < e.length ? o = e[++i] : f.startsWith("-") || (t ? a.push(f) : t = f);
2082
+ }
2083
+ if (!t) return {
2084
+ stdout: "",
2085
+ stderr: `xan explode: usage: xan explode COLUMN [FILE]
2086
+ `,
2087
+ exitCode: 1
2088
+ };
2089
+ let { headers: d, data: u, error: p } = await g(a, n);
2090
+ if (p) return p;
2091
+ if (!d.includes(t)) return {
2092
+ stdout: "",
2093
+ stderr: `xan explode: column '${t}' not found
2094
+ `,
2095
+ exitCode: 1
2096
+ };
2097
+ let c = o ? d.map((i) => i === t ? o : i) : d, h = o || t, l = [];
2098
+ for (let i of u) {
2099
+ let f = i[t], m = f == null ? "" : String(f);
2100
+ if (m === "") {
2101
+ if (!r) {
2102
+ let g = b(i);
2103
+ o && (delete g[t], E$1(g, h, "")), l.push(g);
2104
+ }
2105
+ } else {
2106
+ let g = m.split(s);
2107
+ for (let y of g) {
2108
+ let x = b(i);
2109
+ o && delete x[t], E$1(x, h, y), l.push(x);
2110
+ }
2111
+ }
2112
+ }
2113
+ return {
2114
+ stdout: I$1(c, l),
2115
+ stderr: "",
2116
+ exitCode: 0
2117
+ };
2118
+ }
2119
+ async function Le(e, n) {
2120
+ let t = "", s = "|", r = "", o = [];
2121
+ for (let g = 0; g < e.length; g++) {
2122
+ let y = e[g];
2123
+ (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);
2124
+ }
2125
+ if (!t) return {
2126
+ stdout: "",
2127
+ stderr: `xan implode: usage: xan implode COLUMN [FILE]
2128
+ `,
2129
+ exitCode: 1
2130
+ };
2131
+ let { headers: a, data: d, error: u } = await g(o, n);
2132
+ if (u) return u;
2133
+ if (!a.includes(t)) return {
2134
+ stdout: "",
2135
+ stderr: `xan implode: column '${t}' not found
2136
+ `,
2137
+ exitCode: 1
2138
+ };
2139
+ let p = a.filter((g) => g !== t), c = r ? a.map((g) => g === t ? r : g) : a, h = r || t, l = [], i = null, f = [], m = null;
2140
+ for (let g of d) {
2141
+ let y = p.map((N) => String(g[N] ?? "")).join("\0"), x = g[t], k = x == null ? "" : String(x);
2142
+ if (y !== i) {
2143
+ if (m !== null) {
2144
+ let N = b(m);
2145
+ r && delete N[t], E$1(N, h, f.join(s)), l.push(N);
2146
+ }
2147
+ i = y, f = [k], m = g;
2148
+ } else f.push(k);
2149
+ }
2150
+ if (m !== null) {
2151
+ let g = b(m);
2152
+ r && delete g[t], E$1(g, h, f.join(s)), l.push(g);
2153
+ }
2154
+ return {
2155
+ stdout: I$1(c, l),
2156
+ stderr: "",
2157
+ exitCode: 0
2158
+ };
2159
+ }
2160
+ async function Pe(e, n) {
2161
+ let t = "", s = "", r = "", o = "", a = "inner", d = "", u = 0;
2162
+ for (let C = 0; C < e.length; C++) {
2163
+ let A = e[C];
2164
+ A === "--left" ? a = "left" : A === "--right" ? a = "right" : A === "--full" ? a = "full" : (A === "-D" || A === "--default") && C + 1 < e.length ? d = e[++C] : A.startsWith("-") || (u++, u === 1 ? t = A : u === 2 ? s = A : u === 3 ? r = A : u === 4 && (o = A));
2165
+ }
2166
+ if (!t || !s || !r || !o) return {
2167
+ stdout: "",
2168
+ stderr: `xan join: usage: xan join KEY1 FILE1 KEY2 FILE2 [OPTIONS]
2169
+ `,
2170
+ exitCode: 1
2171
+ };
2172
+ let p = await g([s], n);
2173
+ if (p.error) return p.error;
2174
+ let c = await g([o], n);
2175
+ if (c.error) return c.error;
2176
+ let { headers: h, data: l } = p, { headers: i, data: f } = c;
2177
+ if (!h.includes(t)) return {
2178
+ stdout: "",
2179
+ stderr: `xan join: column '${t}' not found in first file
2180
+ `,
2181
+ exitCode: 1
2182
+ };
2183
+ if (!i.includes(r)) return {
2184
+ stdout: "",
2185
+ stderr: `xan join: column '${r}' not found in second file
2186
+ `,
2187
+ exitCode: 1
2188
+ };
2189
+ let m = /* @__PURE__ */ new Map();
2190
+ for (let C of f) {
2191
+ let A = String(C[r] ?? "");
2192
+ m.has(A) || m.set(A, []), m.get(A)?.push(C);
2193
+ }
2194
+ let g$1 = new Set(h), y = i.filter((C) => !g$1.has(C)), x = [...h, ...y], k = [], N = /* @__PURE__ */ new Set();
2195
+ for (let C$1 of l) {
2196
+ let A = String(C$1[t] ?? ""), j = m.get(A);
2197
+ if (j && j.length > 0) {
2198
+ N.add(A);
2199
+ for (let L of j) {
2200
+ let T = C();
2201
+ for (let W of h) E$1(T, W, C$1[W]);
2202
+ for (let W of y) E$1(T, W, L[W]);
2203
+ k.push(T);
2204
+ }
2205
+ } else if (a === "left" || a === "full") {
2206
+ let L = C();
2207
+ for (let T of h) E$1(L, T, C$1[T]);
2208
+ for (let T of y) E$1(L, T, d);
2209
+ k.push(L);
2210
+ }
2211
+ }
2212
+ if (a === "right" || a === "full") for (let C$2 of f) {
2213
+ let A = String(C$2[r] ?? "");
2214
+ if (!N.has(A)) {
2215
+ let j = C();
2216
+ for (let L of h) E$1(j, L, i.includes(L) ? C$2[L] : d);
2217
+ for (let L of y) E$1(j, L, C$2[L]);
2218
+ k.push(j);
2219
+ }
2220
+ }
2221
+ return {
2222
+ stdout: I$1(x, k),
2223
+ stderr: "",
2224
+ exitCode: 0
2225
+ };
2226
+ }
2227
+ async function Re(e, n) {
2228
+ let t = "", s = "", r = [], o = [];
2229
+ for (let y = 0; y < e.length; y++) {
2230
+ let x = e[y];
2231
+ (x === "-g" || x === "--groupby") && y + 1 < e.length ? r = e[++y].split(",").map((k) => k.trim()) : x.startsWith("-") || (t ? s ? o.push(x) : s = x : t = x);
2232
+ }
2233
+ if (!t || !s) return {
2234
+ stdout: "",
2235
+ stderr: `xan pivot: usage: xan pivot COLUMN AGG_EXPR [OPTIONS] [FILE]
2236
+ `,
2237
+ exitCode: 1
2238
+ };
2239
+ let { headers: a, data: d, error: u } = await g(o, n);
2240
+ if (u) return u;
2241
+ if (!a.includes(t)) return {
2242
+ stdout: "",
2243
+ stderr: `xan pivot: column '${t}' not found
2244
+ `,
2245
+ exitCode: 1
2246
+ };
2247
+ let p = s.match(/^(\w+)\((\w+)\)$/);
2248
+ if (!p) return {
2249
+ stdout: "",
2250
+ stderr: `xan pivot: invalid aggregation expression '${s}'
2251
+ `,
2252
+ exitCode: 1
2253
+ };
2254
+ let [, c, h] = p;
2255
+ r.length === 0 && (r = a.filter((y) => y !== t && y !== h));
2256
+ let l = [];
2257
+ for (let y of d) {
2258
+ let x = String(y[t] ?? "");
2259
+ l.includes(x) || l.push(x);
2260
+ }
2261
+ let i = /* @__PURE__ */ new Map(), f = [];
2262
+ for (let y of d) {
2263
+ let x = r.map((A) => String(y[A] ?? "")).join("\0"), k = String(y[t] ?? ""), N = y[h];
2264
+ i.has(x) || (i.set(x, /* @__PURE__ */ new Map()), f.push(x));
2265
+ let C = i.get(x);
2266
+ C && (C.has(k) || C.set(k, []), C.get(k)?.push(N));
2267
+ }
2268
+ let m = [...r, ...l], g$2 = [];
2269
+ for (let y of f) {
2270
+ let x = y.split("\0"), k = i.get(y);
2271
+ if (!k) continue;
2272
+ let N = C();
2273
+ for (let C = 0; C < r.length; C++) E$1(N, r[C], x[C]);
2274
+ for (let C of l) E$1(N, C, ut(c, k.get(C) || []));
2275
+ g$2.push(N);
2276
+ }
2277
+ return {
2278
+ stdout: I$1(m, g$2),
2279
+ stderr: "",
2280
+ exitCode: 0
2281
+ };
2282
+ }
2283
+ function ut(e, n) {
2284
+ let t = n.filter((s) => s != null).map((s) => typeof s == "number" ? s : Number.parseFloat(String(s))).filter((s) => !Number.isNaN(s));
2285
+ switch (e) {
2286
+ case "count": return n.length;
2287
+ case "sum": return t.reduce((s, r) => s + r, 0);
2288
+ case "mean":
2289
+ case "avg": return t.length > 0 ? t.reduce((s, r) => s + r, 0) / t.length : null;
2290
+ case "min": return t.length > 0 ? Math.min(...t) : null;
2291
+ case "max": return t.length > 0 ? Math.max(...t) : null;
2292
+ case "first": return n.length > 0 ? String(n[0] ?? "") : null;
2293
+ case "last": return n.length > 0 ? String(n[n.length - 1] ?? "") : null;
2294
+ default: return null;
2295
+ }
2296
+ }
2297
+ async function Me(e, n) {
2298
+ let t = "", s = [];
2299
+ for (let d = 0; d < e.length; d++) {
2300
+ let u = e[d];
2301
+ (u === "-s" || u === "--sort") && d + 1 < e.length ? t = e[++d] : u.startsWith("-") || s.push(u);
2302
+ }
2303
+ if (s.length < 2) return {
2304
+ stdout: "",
2305
+ stderr: `xan merge: usage: xan merge [OPTIONS] FILE1 FILE2 ...
2306
+ `,
2307
+ exitCode: 1
2308
+ };
2309
+ let r = [], o = null;
2310
+ for (let d of s) {
2311
+ let u = await g([d], n);
2312
+ if (u.error) return u.error;
2313
+ if (o === null) o = u.headers;
2314
+ else if (JSON.stringify(o) !== JSON.stringify(u.headers)) return {
2315
+ stdout: "",
2316
+ stderr: `xan merge: all files must have the same headers
2317
+ `,
2318
+ exitCode: 1
2319
+ };
2320
+ r.push({
2321
+ headers: u.headers,
2322
+ data: u.data
2323
+ });
2324
+ }
2325
+ if (!o) return {
2326
+ stdout: "",
2327
+ stderr: "",
2328
+ exitCode: 0
2329
+ };
2330
+ let a = [];
2331
+ for (let { data: d } of r) a = a.concat(d);
2332
+ if (t) {
2333
+ if (!o.includes(t)) return {
2334
+ stdout: "",
2335
+ stderr: `xan merge: column '${t}' not found
2336
+ `,
2337
+ exitCode: 1
2338
+ };
2339
+ a.sort((d, u) => {
2340
+ let p = d[t], c = u[t], h = typeof p == "number" ? p : Number.parseFloat(String(p)), l = typeof c == "number" ? c : Number.parseFloat(String(c));
2341
+ return !Number.isNaN(h) && !Number.isNaN(l) ? h - l : String(p ?? "").localeCompare(String(c ?? ""));
2342
+ });
2343
+ }
2344
+ return {
2345
+ stdout: I$1(o, a),
2346
+ stderr: "",
2347
+ exitCode: 0
2348
+ };
2349
+ }
2350
+ V();
2351
+ async function $e(e, n) {
2352
+ let { headers: s, data: r, error: o } = await g(e.filter((u) => !u.startsWith("-")), n);
2353
+ return o || (r.length === 0 ? {
2354
+ stdout: "",
2355
+ stderr: "",
2356
+ exitCode: 0
2357
+ } : {
2358
+ stdout: r.map((u) => s.map((p) => u[p])).map((u) => u.map((p) => ct(p)).join(",")).join(`
2359
+ `) + `
2360
+ `,
2361
+ stderr: "",
2362
+ exitCode: 0
2363
+ });
2364
+ }
2365
+ function ct(e) {
2366
+ if (e == null) return "";
2367
+ let n = String(e);
2368
+ return n.includes(",") || n.includes("\"") || n.includes(`
2369
+ `) ? `"${n.replace(/"/g, "\"\"")}"` : n;
2370
+ }
2371
+ async function Te(e, n) {
2372
+ let t = null, s = null, r = [];
2373
+ for (let l = 0; l < e.length; l++) {
2374
+ let i = e[l];
2375
+ if (i === "--seed" && l + 1 < e.length) s = Number.parseInt(e[++l], 10);
2376
+ else if (!i.startsWith("-")) {
2377
+ let f = Number.parseInt(i, 10);
2378
+ t === null && !Number.isNaN(f) && f > 0 ? t = f : r.push(i);
2379
+ }
2380
+ }
2381
+ if (t === null) return {
2382
+ stdout: "",
2383
+ stderr: `xan sample: usage: xan sample <sample-size> [FILE]
2384
+ `,
2385
+ exitCode: 1
2386
+ };
2387
+ let { headers: o, data: a, error: d } = await g(r, n);
2388
+ if (d) return d;
2389
+ if (a.length <= t) return {
2390
+ stdout: I$1(o, a),
2391
+ stderr: "",
2392
+ exitCode: 0
2393
+ };
2394
+ let u = s !== null ? s : Date.now(), p = () => (u = u * 1103515245 + 12345 & 2147483647, u / 2147483647), c = a.map((l, i) => i);
2395
+ for (let l = c.length - 1; l > 0; l--) {
2396
+ let i = Math.floor(p() * (l + 1));
2397
+ [c[l], c[i]] = [c[i], c[l]];
2398
+ }
2399
+ return {
2400
+ stdout: I$1(o, c.slice(0, t).sort((l, i) => l - i).map((l) => a[l])),
2401
+ stderr: "",
2402
+ exitCode: 0
2403
+ };
2404
+ }
2405
+ async function je(e, n) {
2406
+ let t = !1, s = [];
2407
+ for (let u = 0; u < e.length; u++) {
2408
+ let p = e[u];
2409
+ p === "-p" || p === "--pad" ? t = !0 : p.startsWith("-") || s.push(p);
2410
+ }
2411
+ if (s.length === 0) return {
2412
+ stdout: "",
2413
+ stderr: `xan cat: no files specified
2414
+ `,
2415
+ exitCode: 1
2416
+ };
2417
+ let r = await w(n, s, {
2418
+ cmdName: "xan cat",
2419
+ stopOnError: !0
2420
+ });
2421
+ if (r.exitCode !== 0) return {
2422
+ stdout: "",
2423
+ stderr: r.stderr,
2424
+ exitCode: r.exitCode
2425
+ };
2426
+ let o = [], a = [];
2427
+ for (let { content: u } of r.files) {
2428
+ let { headers: p, data: c } = S$2(x(u));
2429
+ o.push({
2430
+ headers: p,
2431
+ data: c
2432
+ });
2433
+ for (let h of p) a.includes(h) || a.push(h);
2434
+ }
2435
+ if (!t) {
2436
+ let u = JSON.stringify(o[0].headers);
2437
+ for (let p = 1; p < o.length; p++) if (JSON.stringify(o[p].headers) !== u) return {
2438
+ stdout: "",
2439
+ stderr: `xan cat: headers do not match (use -p to pad)
2440
+ `,
2441
+ exitCode: 1
2442
+ };
2443
+ a = o[0].headers;
2444
+ }
2445
+ let d = [];
2446
+ for (let { headers: u, data: p } of o) for (let c of p) {
2447
+ let h = C();
2448
+ for (let l of a) E$1(h, l, u.includes(l) ? c[l] : "");
2449
+ d.push(h);
2450
+ }
2451
+ return {
2452
+ stdout: I$1(a, d),
2453
+ stderr: "",
2454
+ exitCode: 0
2455
+ };
2456
+ }
2457
+ async function De(e, n) {
2458
+ let t = "", s = [], r = !1, o = !1, a = [];
2459
+ for (let i = 0; i < e.length; i++) {
2460
+ let f = e[i];
2461
+ (f === "-s" || f === "--select") && i + 1 < e.length ? s = e[++i].split(",") : f === "-v" || f === "--invert" ? r = !0 : f === "-i" || f === "--ignore-case" ? o = !0 : f === "-r" || f === "--regex" || f.startsWith("-") || (t ? a.push(f) : t = f);
2462
+ }
2463
+ if (!t) return {
2464
+ stdout: "",
2465
+ stderr: `xan search: no pattern specified
2466
+ `,
2467
+ exitCode: 1
2468
+ };
2469
+ let { headers: d, data: u, error: p } = await g(a, n);
2470
+ if (p) return p;
2471
+ let c = s.length > 0 ? s : d, h;
2472
+ try {
2473
+ h = I1(t, o ? "i" : "");
2474
+ } catch {
2475
+ return {
2476
+ stdout: "",
2477
+ stderr: `xan search: invalid regex pattern '${t}'
2478
+ `,
2479
+ exitCode: 1
2480
+ };
2481
+ }
2482
+ return {
2483
+ stdout: I$1(d, u.filter((i) => {
2484
+ let f = c.some((m) => {
2485
+ let g = i[m];
2486
+ return g != null && h.test(String(g));
2487
+ });
2488
+ return r ? !f : f;
2489
+ })),
2490
+ stderr: "",
2491
+ exitCode: 0
2492
+ };
2493
+ }
2494
+ async function Ue(e, n) {
2495
+ let t = "", s = [];
2496
+ for (let l of e) l.startsWith("-") || (t ? s.push(l) : t = l);
2497
+ if (!t) return {
2498
+ stdout: "",
2499
+ stderr: `xan flatmap: no expression specified
2500
+ `,
2501
+ exitCode: 1
2502
+ };
2503
+ let { headers: r, data: o, error: a } = await g(s, n);
2504
+ if (a) return a;
2505
+ let u = U(t).map(({ expr: l, name: i }) => ({
2506
+ alias: typeof i == "string" ? i : i[0],
2507
+ ast: O(l)
2508
+ })), p = { limits: n.limits ? { maxIterations: n.limits.maxJqIterations } : void 0 }, c = [...r, ...u.map((l) => l.alias)], h = [];
2509
+ for (let l of o) {
2510
+ let i = [], f = 1;
2511
+ for (let m of u) {
2512
+ let g = d(l, m.ast, p), y = g.length > 0 && Array.isArray(g[0]) ? g[0] : g;
2513
+ i.push(y), f = Math.max(f, y.length);
2514
+ }
2515
+ for (let m = 0; m < f; m++) {
2516
+ let g = b(l);
2517
+ for (let y = 0; y < u.length; y++) {
2518
+ let x = i[y][m] ?? null;
2519
+ E$1(g, u[y].alias, x);
2520
+ }
2521
+ h.push(g);
2522
+ }
2523
+ }
2524
+ return {
2525
+ stdout: I$1(c, h),
2526
+ stderr: "",
2527
+ exitCode: 0
2528
+ };
2529
+ }
2530
+ async function Ve(e, n) {
2531
+ let { cmdView: t } = await import("./xan-view-HDVKHFC2-Bv8_W4eE.mjs");
2532
+ return t(e, n);
2533
+ }
2534
+ var Qe = new Set([
2535
+ "fuzzy-join",
2536
+ "glob",
2537
+ "hist",
2538
+ "input",
2539
+ "parallel",
2540
+ "plot",
2541
+ "progress",
2542
+ "range",
2543
+ "scrape",
2544
+ "tokenize",
2545
+ "union-find"
2546
+ ]), pt = new Set([
2547
+ "agg",
2548
+ "behead",
2549
+ "cat",
2550
+ "count",
2551
+ "dedup",
2552
+ "drop",
2553
+ "enum",
2554
+ "explode",
2555
+ "f",
2556
+ "filter",
2557
+ "fixlengths",
2558
+ "flatmap",
2559
+ "flatten",
2560
+ "fmt",
2561
+ "frequency",
2562
+ "freq",
2563
+ "from",
2564
+ "groupby",
2565
+ "head",
2566
+ "headers",
2567
+ "implode",
2568
+ "join",
2569
+ "map",
2570
+ "merge",
2571
+ "partition",
2572
+ "pivot",
2573
+ "rename",
2574
+ "reverse",
2575
+ "sample",
2576
+ "search",
2577
+ "select",
2578
+ "shuffle",
2579
+ "slice",
2580
+ "sort",
2581
+ "split",
2582
+ "stats",
2583
+ "tail",
2584
+ "to",
2585
+ "top",
2586
+ "transform",
2587
+ "transpose",
2588
+ "view",
2589
+ ...Qe
2590
+ ]), Ze = {
2591
+ name: "xan",
2592
+ summary: "CSV toolkit for data manipulation",
2593
+ usage: "xan <COMMAND> [OPTIONS] [FILE]",
2594
+ description: `xan is a collection of commands for working with CSV data.
2595
+ It provides a simple, ergonomic interface for common data operations.
2596
+
2597
+ COMMANDS:
2598
+ Core:
2599
+ headers Show column names
2600
+ count Count rows
2601
+ head Show first N rows
2602
+ tail Show last N rows
2603
+ slice Extract row range
2604
+ reverse Reverse row order
2605
+ behead Remove header row
2606
+ sample Random sample of rows
2607
+
2608
+ Column operations:
2609
+ select Select columns (supports glob, ranges, negation)
2610
+ drop Drop columns
2611
+ rename Rename columns
2612
+ enum Add row index column
2613
+
2614
+ Row operations:
2615
+ filter Filter rows by expression
2616
+ search Filter rows by regex match
2617
+ sort Sort rows
2618
+ dedup Remove duplicates
2619
+ top Get top N by column
2620
+
2621
+ Transformations:
2622
+ map Add computed columns
2623
+ transform Modify existing columns
2624
+ explode Split column into multiple rows
2625
+ implode Combine rows, join column values
2626
+ flatmap Map returning multiple rows
2627
+ pivot Reshape rows into columns
2628
+ transpose Swap rows and columns
2629
+
2630
+ Aggregation:
2631
+ agg Aggregate values
2632
+ groupby Group and aggregate
2633
+ frequency Count value occurrences
2634
+ stats Show column statistics
2635
+
2636
+ Multi-file:
2637
+ cat Concatenate CSV files
2638
+ join Join two CSV files on key
2639
+ merge Merge sorted CSV files
2640
+ split Split into multiple files
2641
+ partition Split by column value
2642
+
2643
+ Data conversion:
2644
+ to Convert CSV to other formats (json)
2645
+ from Convert other formats to CSV (json)
2646
+ shuffle Randomly reorder rows
2647
+ fixlengths Fix ragged CSV files
2648
+
2649
+ Output:
2650
+ view Pretty print as table
2651
+ flatten Display records vertically (alias: f)
2652
+ fmt Format output
2653
+
2654
+ EXAMPLES:
2655
+ xan headers data.csv
2656
+ xan count data.csv
2657
+ xan head -n 5 data.csv
2658
+ xan select name,email data.csv
2659
+ xan select 'vec_*' data.csv # glob pattern
2660
+ xan select 'a:c' data.csv # column range
2661
+ xan filter 'age > 30' data.csv
2662
+ xan search -r '^foo' data.csv
2663
+ xan sort -N price data.csv
2664
+ xan agg 'sum(amount) as total' data.csv
2665
+ xan groupby region 'count() as n' data.csv
2666
+ xan explode tags data.csv
2667
+ xan join id file1.csv id file2.csv
2668
+ xan pivot year 'sum(sales)' data.csv`,
2669
+ options: [" --help display this help and exit"]
2670
+ }, ft = {
2671
+ headers: {
2672
+ name: "xan headers",
2673
+ summary: "Show column names",
2674
+ usage: "xan headers [OPTIONS] [FILE]",
2675
+ description: "Display column names from a CSV file.",
2676
+ options: ["-j, --just-names show names only (no index)"]
2677
+ },
2678
+ count: {
2679
+ name: "xan count",
2680
+ summary: "Count rows",
2681
+ usage: "xan count [FILE]",
2682
+ description: "Count the number of data rows (excluding header).",
2683
+ options: []
2684
+ },
2685
+ filter: {
2686
+ name: "xan filter",
2687
+ summary: "Filter rows by expression",
2688
+ usage: "xan filter [OPTIONS] EXPR [FILE]",
2689
+ description: "Filter CSV rows using moonblade expressions.",
2690
+ options: ["-v, --invert invert match", "-l, --limit N limit output rows"]
2691
+ },
2692
+ search: {
2693
+ name: "xan search",
2694
+ summary: "Filter rows by regex",
2695
+ usage: "xan search [OPTIONS] PATTERN [FILE]",
2696
+ description: "Filter CSV rows by regex match on columns.",
2697
+ options: [
2698
+ "-s, --select COLS search only these columns",
2699
+ "-v, --invert invert match",
2700
+ "-i, --ignore-case case insensitive"
2701
+ ]
2702
+ },
2703
+ select: {
2704
+ name: "xan select",
2705
+ summary: "Select columns",
2706
+ usage: "xan select COLS [FILE]",
2707
+ description: "Select columns by name, index, glob, or range.",
2708
+ options: ["Supports: col names, indices (0,1), ranges (a:c), globs (vec_*), negation (!col)"]
2709
+ },
2710
+ explode: {
2711
+ name: "xan explode",
2712
+ summary: "Split column into rows",
2713
+ usage: "xan explode COLUMN [OPTIONS] [FILE]",
2714
+ description: "Split delimited column values into multiple rows.",
2715
+ options: [
2716
+ "-s, --separator SEP separator (default: |)",
2717
+ "--drop-empty drop empty values",
2718
+ "-r, --rename NAME rename column"
2719
+ ]
2720
+ },
2721
+ implode: {
2722
+ name: "xan implode",
2723
+ summary: "Combine rows",
2724
+ usage: "xan implode COLUMN [OPTIONS] [FILE]",
2725
+ description: "Combine consecutive rows, joining column values.",
2726
+ options: ["-s, --sep SEP separator (default: |)", "-r, --rename NAME rename column"]
2727
+ },
2728
+ join: {
2729
+ name: "xan join",
2730
+ summary: "Join CSV files",
2731
+ usage: "xan join KEY1 FILE1 KEY2 FILE2 [OPTIONS]",
2732
+ description: "Join two CSV files on key columns.",
2733
+ options: [
2734
+ "--left left outer join",
2735
+ "--right right outer join",
2736
+ "--full full outer join",
2737
+ "-D, --default VAL default for missing"
2738
+ ]
2739
+ },
2740
+ pivot: {
2741
+ name: "xan pivot",
2742
+ summary: "Reshape to columns",
2743
+ usage: "xan pivot COLUMN AGG_EXPR [OPTIONS] [FILE]",
2744
+ description: "Turn row values into columns.",
2745
+ options: ["-g, --groupby COLS group by columns"]
2746
+ }
2747
+ }, yn = {
2748
+ name: "xan",
2749
+ async execute(e, n) {
2750
+ if (e.length === 0 || o(e)) return s(Ze);
2751
+ let t = e[0], s$2 = e.slice(1);
2752
+ if (o(s$2)) {
2753
+ let r = ft[t];
2754
+ return r ? s(r) : s(Ze);
2755
+ }
2756
+ if (Qe.has(t)) return {
2757
+ stdout: "",
2758
+ stderr: `xan ${t}: not yet implemented
2759
+ `,
2760
+ exitCode: 1
2761
+ };
2762
+ switch (t) {
2763
+ case "headers": return ce(s$2, n);
2764
+ case "count": return pe(s$2, n);
2765
+ case "head": return fe(s$2, n);
2766
+ case "tail": return de(s$2, n);
2767
+ case "slice": return he(s$2, n);
2768
+ case "reverse": return me(s$2, n);
2769
+ case "behead": return $e(s$2, n);
2770
+ case "sample": return Te(s$2, n);
2771
+ case "select": return ie(s$2, n);
2772
+ case "drop": return ae(s$2, n);
2773
+ case "rename": return le(s$2, n);
2774
+ case "enum": return ue(s$2, n);
2775
+ case "filter": return ke(s$2, n);
2776
+ case "search": return De(s$2, n);
2777
+ case "sort": return Ie(s$2, n);
2778
+ case "dedup": return Ne(s$2, n);
2779
+ case "top": return Ee(s$2, n);
2780
+ case "map": return Ae(s$2, n);
2781
+ case "transform": return Fe(s$2, n);
2782
+ case "explode": return Oe(s$2, n);
2783
+ case "implode": return Le(s$2, n);
2784
+ case "flatmap": return Ue(s$2, n);
2785
+ case "pivot": return Re(s$2, n);
2786
+ case "agg": return ne(s$2, n);
2787
+ case "groupby": return se(s$2, n);
2788
+ case "frequency":
2789
+ case "freq": return re(s$2, n);
2790
+ case "stats": return oe(s$2, n);
2791
+ case "cat": return je(s$2, n);
2792
+ case "join": return Pe(s$2, n);
2793
+ case "merge": return Me(s$2, n);
2794
+ case "split": return ve(s$2, n);
2795
+ case "partition": return Ce(s$2, n);
2796
+ case "to": return be(s$2, n);
2797
+ case "from": return Se(s$2, n);
2798
+ case "transpose": return ye(s$2, n);
2799
+ case "shuffle": return xe(s$2, n);
2800
+ case "fixlengths": return we(s$2, n);
2801
+ case "view": return A(s$2, n);
2802
+ case "flatten":
2803
+ case "f": return N(s$2, n);
2804
+ case "fmt": return Ve(s$2, n);
2805
+ default: return pt.has(t) ? {
2806
+ stdout: "",
2807
+ stderr: `xan ${t}: not yet implemented
2808
+ `,
2809
+ exitCode: 1
2810
+ } : {
2811
+ stdout: "",
2812
+ stderr: `xan: unknown command '${t}'
2813
+ Run 'xan --help' for usage.
2814
+ `,
2815
+ exitCode: 1
2816
+ };
2817
+ }
2818
+ }
2819
+ };
2820
+ //#endregion
2821
+ //#region ../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/xan-Y6WF3IRG.js
2822
+ createRequire(import.meta.url);
2823
+ //#endregion
2824
+ export { yn as xanCommand };
2825
+
2826
+ //# sourceMappingURL=xan-Y6WF3IRG-B_ysBBaD.mjs.map