@eidos.space/just-bash 3.0.2
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.
- package/CHANGELOG.md +53 -0
- package/LICENSE +201 -0
- package/README.md +609 -0
- package/dist/AGENTS.md +325 -0
- package/dist/Bash.d.ts +257 -0
- package/dist/ast/types.d.ts +609 -0
- package/dist/banned-patterns-test.d.ts +1 -0
- package/dist/bin/chunks/alias-YRVAW27Y.js +3 -0
- package/dist/bin/chunks/awk2-RLMNTGI7.js +3 -0
- package/dist/bin/chunks/base64-RZRLGMB3.js +3 -0
- package/dist/bin/chunks/basename-F3AQ4KAQ.js +3 -0
- package/dist/bin/chunks/bash-CLP24TE2.js +3 -0
- package/dist/bin/chunks/cat-LQH5FSAR.js +3 -0
- package/dist/bin/chunks/chmod-S564JCJW.js +3 -0
- package/dist/bin/chunks/chunk-22HCD466.js +3 -0
- package/dist/bin/chunks/chunk-2AIXTPH2.js +9 -0
- package/dist/bin/chunks/chunk-2ETT4ELS.js +4 -0
- package/dist/bin/chunks/chunk-2GG3NVC4.js +10 -0
- package/dist/bin/chunks/chunk-2NRAWO6E.js +7 -0
- package/dist/bin/chunks/chunk-2SVX7I5P.js +14 -0
- package/dist/bin/chunks/chunk-3BYTCO2H.js +12 -0
- package/dist/bin/chunks/chunk-3MRB66F4.js +3 -0
- package/dist/bin/chunks/chunk-3UKQXBQ3.js +6 -0
- package/dist/bin/chunks/chunk-3WIMLJM7.js +8 -0
- package/dist/bin/chunks/chunk-47WZ2U6M.js +9 -0
- package/dist/bin/chunks/chunk-4KSZJAQK.js +6 -0
- package/dist/bin/chunks/chunk-5XSZHUEI.js +15 -0
- package/dist/bin/chunks/chunk-6FSBHK6H.js +22 -0
- package/dist/bin/chunks/chunk-6WJQNLR2.js +7 -0
- package/dist/bin/chunks/chunk-77MLOOQS.js +11 -0
- package/dist/bin/chunks/chunk-7AYT3UKI.js +6 -0
- package/dist/bin/chunks/chunk-7JZKVC3F.js +2 -0
- package/dist/bin/chunks/chunk-7NC4CPHS.js +20 -0
- package/dist/bin/chunks/chunk-7UU7KPEM.js +7 -0
- package/dist/bin/chunks/chunk-7VCQWCSH.js +15 -0
- package/dist/bin/chunks/chunk-AGKL4LDL.js +4 -0
- package/dist/bin/chunks/chunk-AJF3OBTR.js +4 -0
- package/dist/bin/chunks/chunk-ALVEEXFD.js +19 -0
- package/dist/bin/chunks/chunk-B2DRBHGQ.js +3 -0
- package/dist/bin/chunks/chunk-BE4PARL3.js +13 -0
- package/dist/bin/chunks/chunk-BGX3RW7H.js +10 -0
- package/dist/bin/chunks/chunk-BIJXTWZ4.js +3 -0
- package/dist/bin/chunks/chunk-BPZJYOUA.js +33 -0
- package/dist/bin/chunks/chunk-BZP56QBM.js +24 -0
- package/dist/bin/chunks/chunk-C7ISPH7Y.js +18 -0
- package/dist/bin/chunks/chunk-CAZ75E7E.js +3 -0
- package/dist/bin/chunks/chunk-D6CPXGKK.js +75 -0
- package/dist/bin/chunks/chunk-DJAX3ZRG.js +8 -0
- package/dist/bin/chunks/chunk-DYIBFLS3.js +17 -0
- package/dist/bin/chunks/chunk-EDTBGO7F.js +37 -0
- package/dist/bin/chunks/chunk-F3GKANW3.js +12 -0
- package/dist/bin/chunks/chunk-F3WNDKOC.js +3 -0
- package/dist/bin/chunks/chunk-FKVQZWJQ.js +10 -0
- package/dist/bin/chunks/chunk-FOUVACI7.js +16 -0
- package/dist/bin/chunks/chunk-FVRXEJYQ.js +141 -0
- package/dist/bin/chunks/chunk-G4AUMZUY.js +4 -0
- package/dist/bin/chunks/chunk-H7JTIXAO.js +4 -0
- package/dist/bin/chunks/chunk-HL4ZS7TX.js +6 -0
- package/dist/bin/chunks/chunk-HN2DCT7T.js +13 -0
- package/dist/bin/chunks/chunk-I4IRHQDW.js +3 -0
- package/dist/bin/chunks/chunk-IEXQTXU5.js +34 -0
- package/dist/bin/chunks/chunk-IZGLHVBB.js +8 -0
- package/dist/bin/chunks/chunk-J7TUF2VI.js +9 -0
- package/dist/bin/chunks/chunk-JNUX75OX.js +85 -0
- package/dist/bin/chunks/chunk-JXLDT4KX.js +4 -0
- package/dist/bin/chunks/chunk-JZW7NFK2.js +288 -0
- package/dist/bin/chunks/chunk-KFMPGSUT.js +9 -0
- package/dist/bin/chunks/chunk-KI54R2QB.js +3 -0
- package/dist/bin/chunks/chunk-KRRM5UCC.js +3 -0
- package/dist/bin/chunks/chunk-KUMHQGUR.js +3 -0
- package/dist/bin/chunks/chunk-L24QXM5S.js +34 -0
- package/dist/bin/chunks/chunk-LAHBP3FW.js +11 -0
- package/dist/bin/chunks/chunk-LC6D27QJ.js +3 -0
- package/dist/bin/chunks/chunk-LNNWMRCB.js +3 -0
- package/dist/bin/chunks/chunk-LNVSXNT7.js +3 -0
- package/dist/bin/chunks/chunk-LSQTB2QK.js +7 -0
- package/dist/bin/chunks/chunk-M65CQLJE.js +101 -0
- package/dist/bin/chunks/chunk-MLUOPG3W.js +3 -0
- package/dist/bin/chunks/chunk-MNWK4UIM.js +22 -0
- package/dist/bin/chunks/chunk-MROECM42.js +3 -0
- package/dist/bin/chunks/chunk-MUFNRCMY.js +24 -0
- package/dist/bin/chunks/chunk-N6YW4W3Z.js +29 -0
- package/dist/bin/chunks/chunk-NE4R2FVV.js +5 -0
- package/dist/bin/chunks/chunk-NXVG64T3.js +22 -0
- package/dist/bin/chunks/chunk-NYIPFY36.js +3 -0
- package/dist/bin/chunks/chunk-O2BCKSMK.js +3 -0
- package/dist/bin/chunks/chunk-OLEQNRKX.js +8 -0
- package/dist/bin/chunks/chunk-OPMLWMNH.js +17 -0
- package/dist/bin/chunks/chunk-PAYQNSZN.js +18 -0
- package/dist/bin/chunks/chunk-PBOVSFTJ.js +3 -0
- package/dist/bin/chunks/chunk-PXP4YYZA.js +13 -0
- package/dist/bin/chunks/chunk-PZQVSQX6.js +4 -0
- package/dist/bin/chunks/chunk-Q2GOPGDA.js +6 -0
- package/dist/bin/chunks/chunk-Q4UMTSRO.js +15 -0
- package/dist/bin/chunks/chunk-QL33F2W6.js +8 -0
- package/dist/bin/chunks/chunk-RVPTAYDS.js +4 -0
- package/dist/bin/chunks/chunk-SMSELHIY.js +12 -0
- package/dist/bin/chunks/chunk-UGJM7CKP.js +17 -0
- package/dist/bin/chunks/chunk-UO5LOD7U.js +12 -0
- package/dist/bin/chunks/chunk-UOMNSQEZ.js +10 -0
- package/dist/bin/chunks/chunk-UR4CEP4Y.js +3 -0
- package/dist/bin/chunks/chunk-V2RP73X4.js +15 -0
- package/dist/bin/chunks/chunk-VBDLSL7Y.js +10 -0
- package/dist/bin/chunks/chunk-VZK4FHWJ.js +3 -0
- package/dist/bin/chunks/chunk-WDWNEHHE.js +9 -0
- package/dist/bin/chunks/chunk-X4MX6EHF.js +6 -0
- package/dist/bin/chunks/chunk-XBB73LFB.js +5 -0
- package/dist/bin/chunks/chunk-XFFUAO3F.js +3 -0
- package/dist/bin/chunks/chunk-XHCCSVP6.js +9 -0
- package/dist/bin/chunks/chunk-XJ37N3S5.js +7 -0
- package/dist/bin/chunks/chunk-XPTYN6UE.js +8 -0
- package/dist/bin/chunks/chunk-XRUDFQG5.js +7 -0
- package/dist/bin/chunks/chunk-Y4FPH5DQ.js +64 -0
- package/dist/bin/chunks/chunk-YJ5OCPSK.js +7 -0
- package/dist/bin/chunks/chunk-YOIFOOGX.js +9 -0
- package/dist/bin/chunks/chunk-YOKQNNQO.js +6 -0
- package/dist/bin/chunks/chunk-YUZRUF5F.js +10 -0
- package/dist/bin/chunks/chunk-YY5PJR7O.js +7 -0
- package/dist/bin/chunks/chunk-ZFUVUYWG.js +15 -0
- package/dist/bin/chunks/clear-FGNEKYDU.js +3 -0
- package/dist/bin/chunks/column-AQB3A3PJ.js +3 -0
- package/dist/bin/chunks/comm-Q4VDF6ZO.js +3 -0
- package/dist/bin/chunks/cp-HYXTMN3D.js +3 -0
- package/dist/bin/chunks/curl-PLHETP4J.js +27 -0
- package/dist/bin/chunks/cut-ZI2HIAW7.js +3 -0
- package/dist/bin/chunks/date-JEZYSA4F.js +3 -0
- package/dist/bin/chunks/diff-YDJ42RKS.js +3 -0
- package/dist/bin/chunks/dirname-VCINTLPD.js +3 -0
- package/dist/bin/chunks/du-4LRQIGRG.js +3 -0
- package/dist/bin/chunks/echo-KCOHTNDF.js +3 -0
- package/dist/bin/chunks/env-NY32PQJM.js +3 -0
- package/dist/bin/chunks/expand-YYSO35NS.js +3 -0
- package/dist/bin/chunks/expansion-PPP6PD75.js +3 -0
- package/dist/bin/chunks/expr-7PLWSWZI.js +3 -0
- package/dist/bin/chunks/file-GRZLWDVH.js +3 -0
- package/dist/bin/chunks/find-P4DOE7CE.js +3 -0
- package/dist/bin/chunks/flag-coverage-RFKIBJ6L.js +3 -0
- package/dist/bin/chunks/fold-5MF7QZWQ.js +3 -0
- package/dist/bin/chunks/grep-VAYCFO4O.js +3 -0
- package/dist/bin/chunks/gzip-UGBQQKIH.js +3 -0
- package/dist/bin/chunks/head-QNC2ZYDO.js +3 -0
- package/dist/bin/chunks/help-CGUEOGXQ.js +3 -0
- package/dist/bin/chunks/history-AQQWW3QB.js +3 -0
- package/dist/bin/chunks/hostname-USNWOQCK.js +3 -0
- package/dist/bin/chunks/html-to-markdown-QEFY7XQR.js +3 -0
- package/dist/bin/chunks/join-EJ73DYTK.js +3 -0
- package/dist/bin/chunks/jq-GGTKKMEN.js +3 -0
- package/dist/bin/chunks/js-exec-BC6NI55L.js +98 -0
- package/dist/bin/chunks/js-exec-worker.js +4443 -0
- package/dist/bin/chunks/ln-LP4HMCSM.js +3 -0
- package/dist/bin/chunks/ls-KBNHNZWQ.js +3 -0
- package/dist/bin/chunks/md5sum-MCVDIB35.js +3 -0
- package/dist/bin/chunks/mkdir-P4DKRCDX.js +3 -0
- package/dist/bin/chunks/mv-QQK4FQX6.js +3 -0
- package/dist/bin/chunks/nl-KUPLVCTS.js +3 -0
- package/dist/bin/chunks/od-YQ5ZUI2H.js +3 -0
- package/dist/bin/chunks/paste-A5KKPWXX.js +3 -0
- package/dist/bin/chunks/printf-Z5C2UOI5.js +3 -0
- package/dist/bin/chunks/pwd-FCNDA467.js +3 -0
- package/dist/bin/chunks/python3-BQWDPUBM.js +13 -0
- package/dist/bin/chunks/readlink-25V57VOL.js +3 -0
- package/dist/bin/chunks/rev-PYHOZ4D4.js +3 -0
- package/dist/bin/chunks/rg-BGFMSIVK.js +3 -0
- package/dist/bin/chunks/rm-ECNUFR66.js +3 -0
- package/dist/bin/chunks/rmdir-DLOHIA7Q.js +3 -0
- package/dist/bin/chunks/sed-FWA634SN.js +3 -0
- package/dist/bin/chunks/seq-UXDJE6FB.js +3 -0
- package/dist/bin/chunks/sha1sum-4KF52U3Y.js +3 -0
- package/dist/bin/chunks/sha256sum-6YEPULPX.js +3 -0
- package/dist/bin/chunks/sleep-QHAPNY3Q.js +3 -0
- package/dist/bin/chunks/sort-4C6WOKNK.js +3 -0
- package/dist/bin/chunks/split-TV7NL7LA.js +3 -0
- package/dist/bin/chunks/sqlite3-W777NCI4.js +3 -0
- package/dist/bin/chunks/sqlite3-worker.js +1728 -0
- package/dist/bin/chunks/stat-BD6KT3BP.js +3 -0
- package/dist/bin/chunks/strings-MDD72LR6.js +3 -0
- package/dist/bin/chunks/tac-C2N4NQ6S.js +3 -0
- package/dist/bin/chunks/tail-BCB5W6JC.js +3 -0
- package/dist/bin/chunks/tar-DOO744MK.js +3 -0
- package/dist/bin/chunks/tee-UQHPO4OW.js +3 -0
- package/dist/bin/chunks/time-ZPY52VT2.js +3 -0
- package/dist/bin/chunks/timeout-5AX3ZS3X.js +3 -0
- package/dist/bin/chunks/touch-DFGSVIX7.js +3 -0
- package/dist/bin/chunks/tr-G7K6M6HP.js +3 -0
- package/dist/bin/chunks/tree-6D7SMPUR.js +3 -0
- package/dist/bin/chunks/true-SKL4L7JP.js +3 -0
- package/dist/bin/chunks/unexpand-QIR4EDPG.js +3 -0
- package/dist/bin/chunks/uniq-I7PVFJR4.js +3 -0
- package/dist/bin/chunks/wc-6NGWULAP.js +3 -0
- package/dist/bin/chunks/which-LCXKCLFC.js +3 -0
- package/dist/bin/chunks/whoami-TZDZDU7T.js +3 -0
- package/dist/bin/chunks/worker.js +3150 -0
- package/dist/bin/chunks/xan-KX4VPXUN.js +3 -0
- package/dist/bin/chunks/xan-view-JXOZLJ7S.js +3 -0
- package/dist/bin/chunks/xargs-UWHPYLY7.js +3 -0
- package/dist/bin/chunks/yq-GCDCJBKB.js +3 -0
- package/dist/bin/just-bash.js +755 -0
- package/dist/bin/shell/chunks/alias-YRVAW27Y.js +3 -0
- package/dist/bin/shell/chunks/awk2-RLMNTGI7.js +3 -0
- package/dist/bin/shell/chunks/base64-RZRLGMB3.js +3 -0
- package/dist/bin/shell/chunks/basename-F3AQ4KAQ.js +3 -0
- package/dist/bin/shell/chunks/bash-CLP24TE2.js +3 -0
- package/dist/bin/shell/chunks/cat-LQH5FSAR.js +3 -0
- package/dist/bin/shell/chunks/chmod-S564JCJW.js +3 -0
- package/dist/bin/shell/chunks/chunk-22HCD466.js +3 -0
- package/dist/bin/shell/chunks/chunk-2AIXTPH2.js +9 -0
- package/dist/bin/shell/chunks/chunk-2ETT4ELS.js +4 -0
- package/dist/bin/shell/chunks/chunk-2GG3NVC4.js +10 -0
- package/dist/bin/shell/chunks/chunk-2NRAWO6E.js +7 -0
- package/dist/bin/shell/chunks/chunk-2SVX7I5P.js +14 -0
- package/dist/bin/shell/chunks/chunk-3BYTCO2H.js +12 -0
- package/dist/bin/shell/chunks/chunk-3MRB66F4.js +3 -0
- package/dist/bin/shell/chunks/chunk-3UKQXBQ3.js +6 -0
- package/dist/bin/shell/chunks/chunk-3WIMLJM7.js +8 -0
- package/dist/bin/shell/chunks/chunk-47WZ2U6M.js +9 -0
- package/dist/bin/shell/chunks/chunk-4KSZJAQK.js +6 -0
- package/dist/bin/shell/chunks/chunk-5XSZHUEI.js +15 -0
- package/dist/bin/shell/chunks/chunk-6FSBHK6H.js +22 -0
- package/dist/bin/shell/chunks/chunk-6WJQNLR2.js +7 -0
- package/dist/bin/shell/chunks/chunk-77MLOOQS.js +11 -0
- package/dist/bin/shell/chunks/chunk-7AYT3UKI.js +6 -0
- package/dist/bin/shell/chunks/chunk-7JZKVC3F.js +2 -0
- package/dist/bin/shell/chunks/chunk-7NC4CPHS.js +20 -0
- package/dist/bin/shell/chunks/chunk-7UU7KPEM.js +7 -0
- package/dist/bin/shell/chunks/chunk-7VCQWCSH.js +15 -0
- package/dist/bin/shell/chunks/chunk-AGKL4LDL.js +4 -0
- package/dist/bin/shell/chunks/chunk-AJF3OBTR.js +4 -0
- package/dist/bin/shell/chunks/chunk-ALVEEXFD.js +19 -0
- package/dist/bin/shell/chunks/chunk-B2DRBHGQ.js +3 -0
- package/dist/bin/shell/chunks/chunk-BE4PARL3.js +13 -0
- package/dist/bin/shell/chunks/chunk-BGX3RW7H.js +10 -0
- package/dist/bin/shell/chunks/chunk-BIJXTWZ4.js +3 -0
- package/dist/bin/shell/chunks/chunk-BPZJYOUA.js +33 -0
- package/dist/bin/shell/chunks/chunk-BZP56QBM.js +24 -0
- package/dist/bin/shell/chunks/chunk-C7ISPH7Y.js +18 -0
- package/dist/bin/shell/chunks/chunk-CAZ75E7E.js +3 -0
- package/dist/bin/shell/chunks/chunk-D6CPXGKK.js +75 -0
- package/dist/bin/shell/chunks/chunk-DJAX3ZRG.js +8 -0
- package/dist/bin/shell/chunks/chunk-DYIBFLS3.js +17 -0
- package/dist/bin/shell/chunks/chunk-EDTBGO7F.js +37 -0
- package/dist/bin/shell/chunks/chunk-F3GKANW3.js +12 -0
- package/dist/bin/shell/chunks/chunk-F3WNDKOC.js +3 -0
- package/dist/bin/shell/chunks/chunk-FKVQZWJQ.js +10 -0
- package/dist/bin/shell/chunks/chunk-FOUVACI7.js +16 -0
- package/dist/bin/shell/chunks/chunk-FVRXEJYQ.js +141 -0
- package/dist/bin/shell/chunks/chunk-G4AUMZUY.js +4 -0
- package/dist/bin/shell/chunks/chunk-H7JTIXAO.js +4 -0
- package/dist/bin/shell/chunks/chunk-HL4ZS7TX.js +6 -0
- package/dist/bin/shell/chunks/chunk-HN2DCT7T.js +13 -0
- package/dist/bin/shell/chunks/chunk-I4IRHQDW.js +3 -0
- package/dist/bin/shell/chunks/chunk-IEXQTXU5.js +34 -0
- package/dist/bin/shell/chunks/chunk-IZGLHVBB.js +8 -0
- package/dist/bin/shell/chunks/chunk-J7TUF2VI.js +9 -0
- package/dist/bin/shell/chunks/chunk-JNUX75OX.js +85 -0
- package/dist/bin/shell/chunks/chunk-JXLDT4KX.js +4 -0
- package/dist/bin/shell/chunks/chunk-JZW7NFK2.js +288 -0
- package/dist/bin/shell/chunks/chunk-KFMPGSUT.js +9 -0
- package/dist/bin/shell/chunks/chunk-KI54R2QB.js +3 -0
- package/dist/bin/shell/chunks/chunk-KRRM5UCC.js +3 -0
- package/dist/bin/shell/chunks/chunk-KUMHQGUR.js +3 -0
- package/dist/bin/shell/chunks/chunk-L24QXM5S.js +34 -0
- package/dist/bin/shell/chunks/chunk-LAHBP3FW.js +11 -0
- package/dist/bin/shell/chunks/chunk-LC6D27QJ.js +3 -0
- package/dist/bin/shell/chunks/chunk-LNNWMRCB.js +3 -0
- package/dist/bin/shell/chunks/chunk-LNVSXNT7.js +3 -0
- package/dist/bin/shell/chunks/chunk-LSQTB2QK.js +7 -0
- package/dist/bin/shell/chunks/chunk-M65CQLJE.js +101 -0
- package/dist/bin/shell/chunks/chunk-MLUOPG3W.js +3 -0
- package/dist/bin/shell/chunks/chunk-MNWK4UIM.js +22 -0
- package/dist/bin/shell/chunks/chunk-MROECM42.js +3 -0
- package/dist/bin/shell/chunks/chunk-MUFNRCMY.js +24 -0
- package/dist/bin/shell/chunks/chunk-N6YW4W3Z.js +29 -0
- package/dist/bin/shell/chunks/chunk-NE4R2FVV.js +5 -0
- package/dist/bin/shell/chunks/chunk-NXVG64T3.js +22 -0
- package/dist/bin/shell/chunks/chunk-NYIPFY36.js +3 -0
- package/dist/bin/shell/chunks/chunk-O2BCKSMK.js +3 -0
- package/dist/bin/shell/chunks/chunk-OLEQNRKX.js +8 -0
- package/dist/bin/shell/chunks/chunk-OPMLWMNH.js +17 -0
- package/dist/bin/shell/chunks/chunk-PAYQNSZN.js +18 -0
- package/dist/bin/shell/chunks/chunk-PBOVSFTJ.js +3 -0
- package/dist/bin/shell/chunks/chunk-PXP4YYZA.js +13 -0
- package/dist/bin/shell/chunks/chunk-PZQVSQX6.js +4 -0
- package/dist/bin/shell/chunks/chunk-Q2GOPGDA.js +6 -0
- package/dist/bin/shell/chunks/chunk-Q4UMTSRO.js +15 -0
- package/dist/bin/shell/chunks/chunk-QL33F2W6.js +8 -0
- package/dist/bin/shell/chunks/chunk-RVPTAYDS.js +4 -0
- package/dist/bin/shell/chunks/chunk-SMSELHIY.js +12 -0
- package/dist/bin/shell/chunks/chunk-UGJM7CKP.js +17 -0
- package/dist/bin/shell/chunks/chunk-UO5LOD7U.js +12 -0
- package/dist/bin/shell/chunks/chunk-UOMNSQEZ.js +10 -0
- package/dist/bin/shell/chunks/chunk-UR4CEP4Y.js +3 -0
- package/dist/bin/shell/chunks/chunk-V2RP73X4.js +15 -0
- package/dist/bin/shell/chunks/chunk-VBDLSL7Y.js +10 -0
- package/dist/bin/shell/chunks/chunk-VZK4FHWJ.js +3 -0
- package/dist/bin/shell/chunks/chunk-WDWNEHHE.js +9 -0
- package/dist/bin/shell/chunks/chunk-X4MX6EHF.js +6 -0
- package/dist/bin/shell/chunks/chunk-XBB73LFB.js +5 -0
- package/dist/bin/shell/chunks/chunk-XFFUAO3F.js +3 -0
- package/dist/bin/shell/chunks/chunk-XHCCSVP6.js +9 -0
- package/dist/bin/shell/chunks/chunk-XJ37N3S5.js +7 -0
- package/dist/bin/shell/chunks/chunk-XPTYN6UE.js +8 -0
- package/dist/bin/shell/chunks/chunk-XRUDFQG5.js +7 -0
- package/dist/bin/shell/chunks/chunk-Y4FPH5DQ.js +64 -0
- package/dist/bin/shell/chunks/chunk-YJ5OCPSK.js +7 -0
- package/dist/bin/shell/chunks/chunk-YOIFOOGX.js +9 -0
- package/dist/bin/shell/chunks/chunk-YOKQNNQO.js +6 -0
- package/dist/bin/shell/chunks/chunk-YUZRUF5F.js +10 -0
- package/dist/bin/shell/chunks/chunk-YY5PJR7O.js +7 -0
- package/dist/bin/shell/chunks/chunk-ZFUVUYWG.js +15 -0
- package/dist/bin/shell/chunks/clear-FGNEKYDU.js +3 -0
- package/dist/bin/shell/chunks/column-AQB3A3PJ.js +3 -0
- package/dist/bin/shell/chunks/comm-Q4VDF6ZO.js +3 -0
- package/dist/bin/shell/chunks/cp-HYXTMN3D.js +3 -0
- package/dist/bin/shell/chunks/curl-PLHETP4J.js +27 -0
- package/dist/bin/shell/chunks/cut-ZI2HIAW7.js +3 -0
- package/dist/bin/shell/chunks/date-JEZYSA4F.js +3 -0
- package/dist/bin/shell/chunks/diff-YDJ42RKS.js +3 -0
- package/dist/bin/shell/chunks/dirname-VCINTLPD.js +3 -0
- package/dist/bin/shell/chunks/du-4LRQIGRG.js +3 -0
- package/dist/bin/shell/chunks/echo-KCOHTNDF.js +3 -0
- package/dist/bin/shell/chunks/env-NY32PQJM.js +3 -0
- package/dist/bin/shell/chunks/expand-YYSO35NS.js +3 -0
- package/dist/bin/shell/chunks/expansion-PPP6PD75.js +3 -0
- package/dist/bin/shell/chunks/expr-7PLWSWZI.js +3 -0
- package/dist/bin/shell/chunks/file-GRZLWDVH.js +3 -0
- package/dist/bin/shell/chunks/find-P4DOE7CE.js +3 -0
- package/dist/bin/shell/chunks/flag-coverage-RFKIBJ6L.js +3 -0
- package/dist/bin/shell/chunks/fold-5MF7QZWQ.js +3 -0
- package/dist/bin/shell/chunks/grep-VAYCFO4O.js +3 -0
- package/dist/bin/shell/chunks/gzip-UGBQQKIH.js +3 -0
- package/dist/bin/shell/chunks/head-QNC2ZYDO.js +3 -0
- package/dist/bin/shell/chunks/help-CGUEOGXQ.js +3 -0
- package/dist/bin/shell/chunks/history-AQQWW3QB.js +3 -0
- package/dist/bin/shell/chunks/hostname-USNWOQCK.js +3 -0
- package/dist/bin/shell/chunks/html-to-markdown-QEFY7XQR.js +3 -0
- package/dist/bin/shell/chunks/join-EJ73DYTK.js +3 -0
- package/dist/bin/shell/chunks/jq-GGTKKMEN.js +3 -0
- package/dist/bin/shell/chunks/js-exec-BC6NI55L.js +98 -0
- package/dist/bin/shell/chunks/ln-LP4HMCSM.js +3 -0
- package/dist/bin/shell/chunks/ls-KBNHNZWQ.js +3 -0
- package/dist/bin/shell/chunks/md5sum-MCVDIB35.js +3 -0
- package/dist/bin/shell/chunks/mkdir-P4DKRCDX.js +3 -0
- package/dist/bin/shell/chunks/mv-QQK4FQX6.js +3 -0
- package/dist/bin/shell/chunks/nl-KUPLVCTS.js +3 -0
- package/dist/bin/shell/chunks/od-YQ5ZUI2H.js +3 -0
- package/dist/bin/shell/chunks/paste-A5KKPWXX.js +3 -0
- package/dist/bin/shell/chunks/printf-Z5C2UOI5.js +3 -0
- package/dist/bin/shell/chunks/pwd-FCNDA467.js +3 -0
- package/dist/bin/shell/chunks/python3-BQWDPUBM.js +13 -0
- package/dist/bin/shell/chunks/readlink-25V57VOL.js +3 -0
- package/dist/bin/shell/chunks/rev-PYHOZ4D4.js +3 -0
- package/dist/bin/shell/chunks/rg-BGFMSIVK.js +3 -0
- package/dist/bin/shell/chunks/rm-ECNUFR66.js +3 -0
- package/dist/bin/shell/chunks/rmdir-DLOHIA7Q.js +3 -0
- package/dist/bin/shell/chunks/sed-FWA634SN.js +3 -0
- package/dist/bin/shell/chunks/seq-UXDJE6FB.js +3 -0
- package/dist/bin/shell/chunks/sha1sum-4KF52U3Y.js +3 -0
- package/dist/bin/shell/chunks/sha256sum-6YEPULPX.js +3 -0
- package/dist/bin/shell/chunks/sleep-QHAPNY3Q.js +3 -0
- package/dist/bin/shell/chunks/sort-4C6WOKNK.js +3 -0
- package/dist/bin/shell/chunks/split-TV7NL7LA.js +3 -0
- package/dist/bin/shell/chunks/sqlite3-W777NCI4.js +3 -0
- package/dist/bin/shell/chunks/stat-BD6KT3BP.js +3 -0
- package/dist/bin/shell/chunks/strings-MDD72LR6.js +3 -0
- package/dist/bin/shell/chunks/tac-C2N4NQ6S.js +3 -0
- package/dist/bin/shell/chunks/tail-BCB5W6JC.js +3 -0
- package/dist/bin/shell/chunks/tar-DOO744MK.js +3 -0
- package/dist/bin/shell/chunks/tee-UQHPO4OW.js +3 -0
- package/dist/bin/shell/chunks/time-ZPY52VT2.js +3 -0
- package/dist/bin/shell/chunks/timeout-5AX3ZS3X.js +3 -0
- package/dist/bin/shell/chunks/touch-DFGSVIX7.js +3 -0
- package/dist/bin/shell/chunks/tr-G7K6M6HP.js +3 -0
- package/dist/bin/shell/chunks/tree-6D7SMPUR.js +3 -0
- package/dist/bin/shell/chunks/true-SKL4L7JP.js +3 -0
- package/dist/bin/shell/chunks/unexpand-QIR4EDPG.js +3 -0
- package/dist/bin/shell/chunks/uniq-I7PVFJR4.js +3 -0
- package/dist/bin/shell/chunks/wc-6NGWULAP.js +3 -0
- package/dist/bin/shell/chunks/which-LCXKCLFC.js +3 -0
- package/dist/bin/shell/chunks/whoami-TZDZDU7T.js +3 -0
- package/dist/bin/shell/chunks/xan-KX4VPXUN.js +3 -0
- package/dist/bin/shell/chunks/xan-view-JXOZLJ7S.js +3 -0
- package/dist/bin/shell/chunks/xargs-UWHPYLY7.js +3 -0
- package/dist/bin/shell/chunks/yq-GCDCJBKB.js +3 -0
- package/dist/bin/shell/shell.js +734 -0
- package/dist/browser.d.ts +23 -0
- package/dist/bundle/browser.js +1515 -0
- package/dist/bundle/chunks/alias-RTYYYW3D.js +2 -0
- package/dist/bundle/chunks/awk2-LA3USKJP.js +2 -0
- package/dist/bundle/chunks/base64-C2AIWVNC.js +2 -0
- package/dist/bundle/chunks/basename-UB3CIYNI.js +2 -0
- package/dist/bundle/chunks/bash-YZ33HQZQ.js +2 -0
- package/dist/bundle/chunks/cat-TSFMZVYS.js +2 -0
- package/dist/bundle/chunks/chmod-TFEPA42X.js +2 -0
- package/dist/bundle/chunks/chunk-27JIFWUR.js +3 -0
- package/dist/bundle/chunks/chunk-2JIPICV3.js +13 -0
- package/dist/bundle/chunks/chunk-2SMD2AUA.js +3 -0
- package/dist/bundle/chunks/chunk-2VDTE5BV.js +14 -0
- package/dist/bundle/chunks/chunk-2VJJEDV2.js +8 -0
- package/dist/bundle/chunks/chunk-46RN27KI.js +100 -0
- package/dist/bundle/chunks/chunk-4I3HOE5Z.js +21 -0
- package/dist/bundle/chunks/chunk-4JLVZKHC.js +8 -0
- package/dist/bundle/chunks/chunk-4MZPEZTU.js +3 -0
- package/dist/bundle/chunks/chunk-4N6J7B5P.js +6 -0
- package/dist/bundle/chunks/chunk-4RUAZWKT.js +33 -0
- package/dist/bundle/chunks/chunk-4WKZNNJK.js +2 -0
- package/dist/bundle/chunks/chunk-5H5SCKJM.js +11 -0
- package/dist/bundle/chunks/chunk-6LASZU3O.js +5 -0
- package/dist/bundle/chunks/chunk-6SHYIICL.js +4 -0
- package/dist/bundle/chunks/chunk-6VAT5Z2D.js +5 -0
- package/dist/bundle/chunks/chunk-7AISL3XV.js +12 -0
- package/dist/bundle/chunks/chunk-7EUWTCWK.js +2 -0
- package/dist/bundle/chunks/chunk-7JHM3L42.js +6 -0
- package/dist/bundle/chunks/chunk-A4R2GWRF.js +9 -0
- package/dist/bundle/chunks/chunk-ACSZB4FE.js +11 -0
- package/dist/bundle/chunks/chunk-AQ6FYS2X.js +2 -0
- package/dist/bundle/chunks/chunk-BVKWRAS6.js +12 -0
- package/dist/bundle/chunks/chunk-BZUGFHVS.js +2 -0
- package/dist/bundle/chunks/chunk-CBJVD2XA.js +7 -0
- package/dist/bundle/chunks/chunk-CHFEPBH4.js +18 -0
- package/dist/bundle/chunks/chunk-CN5XGDNN.js +6 -0
- package/dist/bundle/chunks/chunk-DLL7UR66.js +2 -0
- package/dist/bundle/chunks/chunk-EBAPSGAO.js +9 -0
- package/dist/bundle/chunks/chunk-FAXLQUCQ.js +10 -0
- package/dist/bundle/chunks/chunk-FHC24QSK.js +7 -0
- package/dist/bundle/chunks/chunk-FJK43EBQ.js +14 -0
- package/dist/bundle/chunks/chunk-FOCWZZDE.js +2 -0
- package/dist/bundle/chunks/chunk-FW54FHZR.js +2 -0
- package/dist/bundle/chunks/chunk-FX4RBUYU.js +5 -0
- package/dist/bundle/chunks/chunk-FX7KQCEA.js +33 -0
- package/dist/bundle/chunks/chunk-FZRQOL3C.js +7 -0
- package/dist/bundle/chunks/chunk-G5EVRAOO.js +74 -0
- package/dist/bundle/chunks/chunk-GGC5NEPZ.js +8 -0
- package/dist/bundle/chunks/chunk-GIUR5SNU.js +15 -0
- package/dist/bundle/chunks/chunk-GJC3WVOW.js +2 -0
- package/dist/bundle/chunks/chunk-GSPYNYZA.js +6 -0
- package/dist/bundle/chunks/chunk-GTQIUQM6.js +5 -0
- package/dist/bundle/chunks/chunk-HBVMHTO5.js +2 -0
- package/dist/bundle/chunks/chunk-HDRAUQK2.js +2 -0
- package/dist/bundle/chunks/chunk-HJBTD7PY.js +21 -0
- package/dist/bundle/chunks/chunk-ICIEVHY5.js +36 -0
- package/dist/bundle/chunks/chunk-KATRCGLX.js +2 -0
- package/dist/bundle/chunks/chunk-KD3KENL6.js +11 -0
- package/dist/bundle/chunks/chunk-KWGBQNTV.js +32 -0
- package/dist/bundle/chunks/chunk-L2UW7DWF.js +2 -0
- package/dist/bundle/chunks/chunk-L64BMZUV.js +2 -0
- package/dist/bundle/chunks/chunk-LEKBROJD.js +6 -0
- package/dist/bundle/chunks/chunk-LNBPBRV4.js +21 -0
- package/dist/bundle/chunks/chunk-LPJEKUCB.js +8 -0
- package/dist/bundle/chunks/chunk-LSLPJOYM.js +3 -0
- package/dist/bundle/chunks/chunk-MFDPAVC6.js +14 -0
- package/dist/bundle/chunks/chunk-MLIO3BK2.js +7 -0
- package/dist/bundle/chunks/chunk-MQKGGNPS.js +16 -0
- package/dist/bundle/chunks/chunk-MZFCCXPZ.js +63 -0
- package/dist/bundle/chunks/chunk-N6DXJ2JN.js +287 -0
- package/dist/bundle/chunks/chunk-NRSASXYY.js +2 -0
- package/dist/bundle/chunks/chunk-OC35HPHG.js +2 -0
- package/dist/bundle/chunks/chunk-OGJ5CFPR.js +9 -0
- package/dist/bundle/chunks/chunk-OVGANXCG.js +8 -0
- package/dist/bundle/chunks/chunk-Q7H5W7YE.js +140 -0
- package/dist/bundle/chunks/chunk-QAYAQNCG.js +23 -0
- package/dist/bundle/chunks/chunk-QIQMJJZ4.js +4 -0
- package/dist/bundle/chunks/chunk-R4IFXNY5.js +28 -0
- package/dist/bundle/chunks/chunk-R74UQCKX.js +5 -0
- package/dist/bundle/chunks/chunk-S3LEJEPP.js +2 -0
- package/dist/bundle/chunks/chunk-S443BAN4.js +7 -0
- package/dist/bundle/chunks/chunk-SAI2SPQQ.js +8 -0
- package/dist/bundle/chunks/chunk-SBBYKIYU.js +3 -0
- package/dist/bundle/chunks/chunk-SETW5JBN.js +9 -0
- package/dist/bundle/chunks/chunk-SHKOQWO4.js +3 -0
- package/dist/bundle/chunks/chunk-SJYEXC2Z.js +14 -0
- package/dist/bundle/chunks/chunk-SO6R3ZKN.js +16 -0
- package/dist/bundle/chunks/chunk-STHBFACM.js +1 -0
- package/dist/bundle/chunks/chunk-SX2HC7SO.js +2 -0
- package/dist/bundle/chunks/chunk-T4TFLF3R.js +16 -0
- package/dist/bundle/chunks/chunk-TDD4NFYE.js +2 -0
- package/dist/bundle/chunks/chunk-TN7HHBQW.js +5 -0
- package/dist/bundle/chunks/chunk-U73A73IE.js +17 -0
- package/dist/bundle/chunks/chunk-UIJUTQPH.js +3 -0
- package/dist/bundle/chunks/chunk-UP6MSJGD.js +17 -0
- package/dist/bundle/chunks/chunk-VLCHOJWK.js +6 -0
- package/dist/bundle/chunks/chunk-VPADYNBD.js +10 -0
- package/dist/bundle/chunks/chunk-W5DWRFSU.js +2 -0
- package/dist/bundle/chunks/chunk-WM5IJFMP.js +8 -0
- package/dist/bundle/chunks/chunk-WNH3HOQA.js +2 -0
- package/dist/bundle/chunks/chunk-WPGQVBSY.js +6 -0
- package/dist/bundle/chunks/chunk-WVRWIZF5.js +23 -0
- package/dist/bundle/chunks/chunk-XCQWV4AU.js +12 -0
- package/dist/bundle/chunks/chunk-XDGLKIHR.js +9 -0
- package/dist/bundle/chunks/chunk-XHLMAZX2.js +5 -0
- package/dist/bundle/chunks/chunk-XRFHFXFP.js +2 -0
- package/dist/bundle/chunks/chunk-XUIHBHL5.js +5 -0
- package/dist/bundle/chunks/chunk-XYXUMFSU.js +14 -0
- package/dist/bundle/chunks/chunk-Y4LIDHSD.js +7 -0
- package/dist/bundle/chunks/chunk-YCLFEX4T.js +3 -0
- package/dist/bundle/chunks/chunk-YS4NUBYX.js +9 -0
- package/dist/bundle/chunks/chunk-ZDIT6ST5.js +7 -0
- package/dist/bundle/chunks/chunk-ZDPFA4L3.js +6 -0
- package/dist/bundle/chunks/chunk-ZZKH2ELC.js +11 -0
- package/dist/bundle/chunks/clear-HKGFEOF6.js +2 -0
- package/dist/bundle/chunks/column-XT6UFXNQ.js +2 -0
- package/dist/bundle/chunks/comm-VV2LDX2J.js +2 -0
- package/dist/bundle/chunks/cp-BISAAS7A.js +2 -0
- package/dist/bundle/chunks/curl-GRYA74XW.js +26 -0
- package/dist/bundle/chunks/cut-OKARJCCV.js +2 -0
- package/dist/bundle/chunks/date-UUUPW43J.js +2 -0
- package/dist/bundle/chunks/diff-MWJFIG7X.js +2 -0
- package/dist/bundle/chunks/dirname-MPHRFUTI.js +2 -0
- package/dist/bundle/chunks/du-572XNP42.js +2 -0
- package/dist/bundle/chunks/echo-NDWZZHPO.js +2 -0
- package/dist/bundle/chunks/env-36M5BO7M.js +2 -0
- package/dist/bundle/chunks/expand-JSPG6VOP.js +2 -0
- package/dist/bundle/chunks/expansion-R25BK4W3.js +2 -0
- package/dist/bundle/chunks/expr-5JAACS4X.js +2 -0
- package/dist/bundle/chunks/file-IPZJC3FQ.js +2 -0
- package/dist/bundle/chunks/find-INTH3OLC.js +2 -0
- package/dist/bundle/chunks/flag-coverage-XWSYNE72.js +2 -0
- package/dist/bundle/chunks/fold-4TQNYMSW.js +2 -0
- package/dist/bundle/chunks/grep-V3LQVMRQ.js +2 -0
- package/dist/bundle/chunks/gzip-O5ASJAFY.js +2 -0
- package/dist/bundle/chunks/head-442HYESI.js +2 -0
- package/dist/bundle/chunks/help-HZ6M2CKN.js +2 -0
- package/dist/bundle/chunks/history-WYYKSLSZ.js +2 -0
- package/dist/bundle/chunks/hostname-C4HQXXUP.js +2 -0
- package/dist/bundle/chunks/html-to-markdown-JW4MSQZO.js +2 -0
- package/dist/bundle/chunks/join-TBRGI3LQ.js +2 -0
- package/dist/bundle/chunks/jq-4XLYLOS5.js +2 -0
- package/dist/bundle/chunks/js-exec-N5KEZBH7.js +97 -0
- package/dist/bundle/chunks/js-exec-worker.js +4443 -0
- package/dist/bundle/chunks/ln-4LGSXXGD.js +2 -0
- package/dist/bundle/chunks/ls-ZJGQER7M.js +2 -0
- package/dist/bundle/chunks/md5sum-SPU24VSG.js +2 -0
- package/dist/bundle/chunks/mkdir-MEPGZOB6.js +2 -0
- package/dist/bundle/chunks/mv-W5BIQ646.js +2 -0
- package/dist/bundle/chunks/nl-WSDW7I4O.js +2 -0
- package/dist/bundle/chunks/od-WOKFDJTP.js +2 -0
- package/dist/bundle/chunks/paste-7JC6S4DX.js +2 -0
- package/dist/bundle/chunks/printf-TWGXF445.js +2 -0
- package/dist/bundle/chunks/pwd-WE6EN5AV.js +2 -0
- package/dist/bundle/chunks/python3-POMOR4OA.js +12 -0
- package/dist/bundle/chunks/readlink-OPJF4DL5.js +2 -0
- package/dist/bundle/chunks/rev-5EHFX4EJ.js +2 -0
- package/dist/bundle/chunks/rg-S4FXYXWB.js +2 -0
- package/dist/bundle/chunks/rm-SSGETQVQ.js +2 -0
- package/dist/bundle/chunks/rmdir-OC4ZLPYA.js +2 -0
- package/dist/bundle/chunks/sed-S5UIK574.js +2 -0
- package/dist/bundle/chunks/seq-M5EC7Q57.js +2 -0
- package/dist/bundle/chunks/sha1sum-2PTOAFR6.js +2 -0
- package/dist/bundle/chunks/sha256sum-NS7D3IXX.js +2 -0
- package/dist/bundle/chunks/sleep-X22JJINO.js +2 -0
- package/dist/bundle/chunks/sort-SW2YEO5B.js +2 -0
- package/dist/bundle/chunks/split-4KKZZXXE.js +2 -0
- package/dist/bundle/chunks/sqlite3-CGOEFJAO.js +2 -0
- package/dist/bundle/chunks/sqlite3-worker.js +1728 -0
- package/dist/bundle/chunks/stat-CD34IZ4P.js +2 -0
- package/dist/bundle/chunks/strings-6WDHLGMX.js +2 -0
- package/dist/bundle/chunks/tac-2STMMJYW.js +2 -0
- package/dist/bundle/chunks/tail-R4PCA2C4.js +2 -0
- package/dist/bundle/chunks/tar-STHHZTZ6.js +2 -0
- package/dist/bundle/chunks/tee-YUZ2FKCJ.js +2 -0
- package/dist/bundle/chunks/time-D4LNBSWX.js +2 -0
- package/dist/bundle/chunks/timeout-YDCRSLPQ.js +2 -0
- package/dist/bundle/chunks/touch-UA33VN3N.js +2 -0
- package/dist/bundle/chunks/tr-36LHWFRQ.js +2 -0
- package/dist/bundle/chunks/tree-YLD52CNT.js +2 -0
- package/dist/bundle/chunks/true-FHQXJXBE.js +2 -0
- package/dist/bundle/chunks/unexpand-CADSA4VO.js +2 -0
- package/dist/bundle/chunks/uniq-XSIZR6PB.js +2 -0
- package/dist/bundle/chunks/wc-LF7NU4LA.js +2 -0
- package/dist/bundle/chunks/which-XEM24D5D.js +2 -0
- package/dist/bundle/chunks/whoami-XMTX52VE.js +2 -0
- package/dist/bundle/chunks/worker.js +3150 -0
- package/dist/bundle/chunks/xan-Y6WF3IRG.js +2 -0
- package/dist/bundle/chunks/xan-view-HDVKHFC2.js +2 -0
- package/dist/bundle/chunks/xargs-MGZPH7AX.js +2 -0
- package/dist/bundle/chunks/yq-4QJW3EQG.js +2 -0
- package/dist/bundle/index.cjs +2178 -0
- package/dist/bundle/index.js +710 -0
- package/dist/commands/alias/alias.d.ts +6 -0
- package/dist/commands/awk/ast.d.ts +202 -0
- package/dist/commands/awk/awk2.d.ts +9 -0
- package/dist/commands/awk/builtins.d.ts +17 -0
- package/dist/commands/awk/interpreter/context.d.ts +75 -0
- package/dist/commands/awk/interpreter/expressions.d.ts +17 -0
- package/dist/commands/awk/interpreter/fields.d.ts +25 -0
- package/dist/commands/awk/interpreter/index.d.ts +8 -0
- package/dist/commands/awk/interpreter/interpreter.d.ts +54 -0
- package/dist/commands/awk/interpreter/statements.d.ts +11 -0
- package/dist/commands/awk/interpreter/type-coercion.d.ts +32 -0
- package/dist/commands/awk/interpreter/types.d.ts +13 -0
- package/dist/commands/awk/interpreter/variables.d.ts +35 -0
- package/dist/commands/awk/lexer.d.ts +100 -0
- package/dist/commands/awk/parser2-print.d.ts +35 -0
- package/dist/commands/awk/parser2.d.ts +81 -0
- package/dist/commands/base64/base64.d.ts +7 -0
- package/dist/commands/basename/basename.d.ts +4 -0
- package/dist/commands/bash/bash.d.ts +6 -0
- package/dist/commands/browser-excluded.d.ts +16 -0
- package/dist/commands/cat/cat.d.ts +4 -0
- package/dist/commands/chmod/chmod.d.ts +4 -0
- package/dist/commands/clear/clear.d.ts +4 -0
- package/dist/commands/column/column.d.ts +11 -0
- package/dist/commands/comm/comm.d.ts +12 -0
- package/dist/commands/cp/cp.d.ts +4 -0
- package/dist/commands/curl/curl.d.ts +8 -0
- package/dist/commands/curl/form.d.ts +21 -0
- package/dist/commands/curl/help.d.ts +9 -0
- package/dist/commands/curl/parse.d.ts +9 -0
- package/dist/commands/curl/response-formatting.d.ts +20 -0
- package/dist/commands/curl/types.d.ts +60 -0
- package/dist/commands/cut/cut.d.ts +4 -0
- package/dist/commands/date/date.d.ts +7 -0
- package/dist/commands/diff/diff.d.ts +7 -0
- package/dist/commands/dirname/dirname.d.ts +4 -0
- package/dist/commands/du/du.d.ts +4 -0
- package/dist/commands/duration.d.ts +5 -0
- package/dist/commands/echo/echo.d.ts +4 -0
- package/dist/commands/env/env.d.ts +6 -0
- package/dist/commands/expand/expand.d.ts +12 -0
- package/dist/commands/expand/unexpand.d.ts +12 -0
- package/dist/commands/expr/expr.d.ts +9 -0
- package/dist/commands/file/file.d.ts +9 -0
- package/dist/commands/find/find.d.ts +4 -0
- package/dist/commands/find/matcher.d.ts +69 -0
- package/dist/commands/find/parser.d.ts +2 -0
- package/dist/commands/find/types.d.ts +88 -0
- package/dist/commands/flag-coverage.d.ts +2 -0
- package/dist/commands/fold/fold.d.ts +12 -0
- package/dist/commands/format-mode.d.ts +4 -0
- package/dist/commands/fuzz-flags-types.d.ts +17 -0
- package/dist/commands/fuzz-flags.d.ts +8 -0
- package/dist/commands/grep/grep.d.ts +8 -0
- package/dist/commands/gzip/gzip.d.ts +13 -0
- package/dist/commands/head/head-tail-shared.d.ts +38 -0
- package/dist/commands/head/head.d.ts +4 -0
- package/dist/commands/help/help.d.ts +4 -0
- package/dist/commands/help.d.ts +16 -0
- package/dist/commands/history/history.d.ts +4 -0
- package/dist/commands/hostname/hostname.d.ts +11 -0
- package/dist/commands/html-to-markdown/html-to-markdown.d.ts +9 -0
- package/dist/commands/join/join.d.ts +12 -0
- package/dist/commands/jq/jq.d.ts +9 -0
- package/dist/commands/js-exec/fetch-polyfill.d.ts +6 -0
- package/dist/commands/js-exec/js-exec-worker.d.ts +32 -0
- package/dist/commands/js-exec/js-exec.d.ts +11 -0
- package/dist/commands/js-exec/module-shims.d.ts +29 -0
- package/dist/commands/js-exec/path-polyfill.d.ts +6 -0
- package/dist/commands/ln/ln.d.ts +4 -0
- package/dist/commands/ls/ls.d.ts +4 -0
- package/dist/commands/md5sum/checksum.d.ts +7 -0
- package/dist/commands/md5sum/md5sum.d.ts +4 -0
- package/dist/commands/md5sum/sha1sum.d.ts +4 -0
- package/dist/commands/md5sum/sha256sum.d.ts +4 -0
- package/dist/commands/mkdir/mkdir.d.ts +4 -0
- package/dist/commands/mv/mv.d.ts +4 -0
- package/dist/commands/nl/nl.d.ts +12 -0
- package/dist/commands/od/od.d.ts +12 -0
- package/dist/commands/paste/paste.d.ts +4 -0
- package/dist/commands/printf/escapes.d.ts +25 -0
- package/dist/commands/printf/printf.d.ts +4 -0
- package/dist/commands/printf/strftime.d.ts +9 -0
- package/dist/commands/pwd/pwd.d.ts +4 -0
- package/dist/commands/python3/python3.d.ts +16 -0
- package/dist/commands/python3/worker.d.ts +28 -0
- package/dist/commands/query-engine/builtins/array-builtins.d.ts +20 -0
- package/dist/commands/query-engine/builtins/control-builtins.d.ts +18 -0
- package/dist/commands/query-engine/builtins/date-builtins.d.ts +15 -0
- package/dist/commands/query-engine/builtins/format-builtins.d.ts +11 -0
- package/dist/commands/query-engine/builtins/index-builtins.d.ts +16 -0
- package/dist/commands/query-engine/builtins/index.d.ts +17 -0
- package/dist/commands/query-engine/builtins/math-builtins.d.ts +15 -0
- package/dist/commands/query-engine/builtins/navigation-builtins.d.ts +18 -0
- package/dist/commands/query-engine/builtins/object-builtins.d.ts +15 -0
- package/dist/commands/query-engine/builtins/path-builtins.d.ts +20 -0
- package/dist/commands/query-engine/builtins/sql-builtins.d.ts +16 -0
- package/dist/commands/query-engine/builtins/string-builtins.d.ts +15 -0
- package/dist/commands/query-engine/builtins/type-builtins.d.ts +11 -0
- package/dist/commands/query-engine/evaluator.d.ts +40 -0
- package/dist/commands/query-engine/index.d.ts +8 -0
- package/dist/commands/query-engine/parser-types.d.ts +171 -0
- package/dist/commands/query-engine/parser.d.ts +9 -0
- package/dist/commands/query-engine/path-operations.d.ts +15 -0
- package/dist/commands/query-engine/safe-object.d.ts +83 -0
- package/dist/commands/query-engine/value-operations.d.ts +41 -0
- package/dist/commands/readlink/readlink.d.ts +4 -0
- package/dist/commands/registry.d.ts +56 -0
- package/dist/commands/rev/rev.d.ts +13 -0
- package/dist/commands/rg/file-types.d.ts +49 -0
- package/dist/commands/rg/gitignore.d.ts +98 -0
- package/dist/commands/rg/rg-options.d.ts +61 -0
- package/dist/commands/rg/rg-parser.d.ts +20 -0
- package/dist/commands/rg/rg-search.d.ts +15 -0
- package/dist/commands/rg/rg.d.ts +14 -0
- package/dist/commands/rm/rm.d.ts +4 -0
- package/dist/commands/rmdir/rmdir.d.ts +4 -0
- package/dist/commands/search-engine/index.d.ts +10 -0
- package/dist/commands/search-engine/matcher.d.ts +66 -0
- package/dist/commands/search-engine/regex.d.ts +46 -0
- package/dist/commands/sed/executor.d.ts +7 -0
- package/dist/commands/sed/lexer.d.ts +86 -0
- package/dist/commands/sed/parser.d.ts +18 -0
- package/dist/commands/sed/sed-regex.d.ts +23 -0
- package/dist/commands/sed/sed.d.ts +4 -0
- package/dist/commands/sed/types.d.ts +216 -0
- package/dist/commands/seq/seq.d.ts +16 -0
- package/dist/commands/sleep/sleep.d.ts +4 -0
- package/dist/commands/sort/comparator.d.ts +9 -0
- package/dist/commands/sort/parser.d.ts +11 -0
- package/dist/commands/sort/sort.d.ts +4 -0
- package/dist/commands/sort/types.d.ts +30 -0
- package/dist/commands/split/split.d.ts +12 -0
- package/dist/commands/sqlite3/formatters.d.ts +15 -0
- package/dist/commands/sqlite3/sqlite3.d.ts +23 -0
- package/dist/commands/sqlite3/worker.d.ts +45 -0
- package/dist/commands/sqlite3/worker.js +1728 -0
- package/dist/commands/stat/stat.d.ts +4 -0
- package/dist/commands/strings/strings.d.ts +12 -0
- package/dist/commands/tac/tac.d.ts +11 -0
- package/dist/commands/tail/tail.d.ts +4 -0
- package/dist/commands/tar/archive.d.ts +135 -0
- package/dist/commands/tar/bzip2-compress.d.ts +17 -0
- package/dist/commands/tar/tar-options.d.ts +37 -0
- package/dist/commands/tar/tar.d.ts +10 -0
- package/dist/commands/tee/tee.d.ts +4 -0
- package/dist/commands/time/time.d.ts +27 -0
- package/dist/commands/timeout/timeout.d.ts +4 -0
- package/dist/commands/touch/touch.d.ts +4 -0
- package/dist/commands/tr/tr.d.ts +4 -0
- package/dist/commands/tree/tree.d.ts +4 -0
- package/dist/commands/true/true.d.ts +6 -0
- package/dist/commands/uniq/uniq.d.ts +4 -0
- package/dist/commands/wc/wc.d.ts +4 -0
- package/dist/commands/which/which.d.ts +4 -0
- package/dist/commands/whoami/whoami.d.ts +11 -0
- package/dist/commands/worker-bridge/bridge-handler.d.ts +73 -0
- package/dist/commands/worker-bridge/protocol.d.ts +141 -0
- package/dist/commands/worker-bridge/sync-backend.d.ts +86 -0
- package/dist/commands/xan/aggregation.d.ts +20 -0
- package/dist/commands/xan/column-selection.d.ts +19 -0
- package/dist/commands/xan/csv.d.ts +37 -0
- package/dist/commands/xan/moonblade-parser.d.ts +80 -0
- package/dist/commands/xan/moonblade-to-jq.d.ts +12 -0
- package/dist/commands/xan/moonblade-tokenizer.d.ts +25 -0
- package/dist/commands/xan/subcommands.d.ts +15 -0
- package/dist/commands/xan/xan-agg.d.ts +8 -0
- package/dist/commands/xan/xan-columns.d.ts +8 -0
- package/dist/commands/xan/xan-core.d.ts +10 -0
- package/dist/commands/xan/xan-data.d.ts +52 -0
- package/dist/commands/xan/xan-filter.d.ts +8 -0
- package/dist/commands/xan/xan-map.d.ts +11 -0
- package/dist/commands/xan/xan-reshape.d.ts +40 -0
- package/dist/commands/xan/xan-simple.d.ts +40 -0
- package/dist/commands/xan/xan-view.d.ts +12 -0
- package/dist/commands/xan/xan.d.ts +10 -0
- package/dist/commands/xargs/xargs.d.ts +4 -0
- package/dist/commands/yq/formats.d.ts +64 -0
- package/dist/commands/yq/yq.d.ts +13 -0
- package/dist/custom-commands.d.ts +42 -0
- package/dist/encoding.d.ts +115 -0
- package/dist/fs/encoding.d.ts +17 -0
- package/dist/fs/in-memory-fs/in-memory-fs.d.ts +75 -0
- package/dist/fs/in-memory-fs/index.d.ts +1 -0
- package/dist/fs/init.d.ts +22 -0
- package/dist/fs/interface.d.ts +251 -0
- package/dist/fs/mountable-fs/index.d.ts +1 -0
- package/dist/fs/mountable-fs/mountable-fs.d.ts +118 -0
- package/dist/fs/overlay-fs/index.d.ts +1 -0
- package/dist/fs/overlay-fs/overlay-fs.d.ts +165 -0
- package/dist/fs/path-utils.d.ts +46 -0
- package/dist/fs/read-write-fs/index.d.ts +1 -0
- package/dist/fs/read-write-fs/read-write-fs.d.ts +98 -0
- package/dist/fs/real-fs-utils.d.ts +90 -0
- package/dist/fs/sanitize-error.d.ts +19 -0
- package/dist/index.d.cts +29 -0
- package/dist/index.d.ts +29 -0
- package/dist/interpreter/alias-expansion.d.ts +23 -0
- package/dist/interpreter/arithmetic.d.ts +24 -0
- package/dist/interpreter/assignment-expansion.d.ts +24 -0
- package/dist/interpreter/builtin-dispatch.d.ts +39 -0
- package/dist/interpreter/builtins/break.d.ts +6 -0
- package/dist/interpreter/builtins/cd.d.ts +6 -0
- package/dist/interpreter/builtins/compgen.d.ts +26 -0
- package/dist/interpreter/builtins/complete.d.ts +17 -0
- package/dist/interpreter/builtins/compopt.d.ts +28 -0
- package/dist/interpreter/builtins/continue.d.ts +6 -0
- package/dist/interpreter/builtins/declare-array-parsing.d.ts +14 -0
- package/dist/interpreter/builtins/declare-print.d.ts +39 -0
- package/dist/interpreter/builtins/declare.d.ts +35 -0
- package/dist/interpreter/builtins/dirs.d.ts +29 -0
- package/dist/interpreter/builtins/eval.d.ts +9 -0
- package/dist/interpreter/builtins/exit.d.ts +5 -0
- package/dist/interpreter/builtins/export.d.ts +14 -0
- package/dist/interpreter/builtins/getopts.d.ts +18 -0
- package/dist/interpreter/builtins/hash.d.ts +19 -0
- package/dist/interpreter/builtins/help.d.ts +12 -0
- package/dist/interpreter/builtins/index.d.ts +45 -0
- package/dist/interpreter/builtins/let.d.ts +18 -0
- package/dist/interpreter/builtins/local.d.ts +6 -0
- package/dist/interpreter/builtins/mapfile.d.ts +17 -0
- package/dist/interpreter/builtins/read.d.ts +6 -0
- package/dist/interpreter/builtins/return.d.ts +6 -0
- package/dist/interpreter/builtins/set.d.ts +9 -0
- package/dist/interpreter/builtins/shift.d.ts +15 -0
- package/dist/interpreter/builtins/shopt.d.ts +7 -0
- package/dist/interpreter/builtins/source.d.ts +6 -0
- package/dist/interpreter/builtins/unset.d.ts +16 -0
- package/dist/interpreter/builtins/variable-assignment.d.ts +66 -0
- package/dist/interpreter/command-resolution.d.ts +43 -0
- package/dist/interpreter/conditionals.d.ts +17 -0
- package/dist/interpreter/control-flow.d.ts +21 -0
- package/dist/interpreter/defense-aware-command-context.d.ts +6 -0
- package/dist/interpreter/errors.d.ts +158 -0
- package/dist/interpreter/expansion/analysis.d.ts +37 -0
- package/dist/interpreter/expansion/arith-text-expansion.d.ts +20 -0
- package/dist/interpreter/expansion/array-pattern-ops.d.ts +21 -0
- package/dist/interpreter/expansion/array-prefix-suffix.d.ts +46 -0
- package/dist/interpreter/expansion/array-slice-transform.d.ts +36 -0
- package/dist/interpreter/expansion/array-word-expansion.d.ts +39 -0
- package/dist/interpreter/expansion/brace-range.d.ts +20 -0
- package/dist/interpreter/expansion/command-substitution.d.ts +23 -0
- package/dist/interpreter/expansion/glob-escape.d.ts +32 -0
- package/dist/interpreter/expansion/indirect-expansion.d.ts +42 -0
- package/dist/interpreter/expansion/parameter-ops.d.ts +113 -0
- package/dist/interpreter/expansion/pattern-expansion.d.ts +23 -0
- package/dist/interpreter/expansion/pattern-removal.d.ts +18 -0
- package/dist/interpreter/expansion/pattern.d.ts +23 -0
- package/dist/interpreter/expansion/positional-params.d.ts +59 -0
- package/dist/interpreter/expansion/prompt.d.ts +39 -0
- package/dist/interpreter/expansion/quoting.d.ts +13 -0
- package/dist/interpreter/expansion/tilde.d.ts +12 -0
- package/dist/interpreter/expansion/unquoted-expansion.d.ts +76 -0
- package/dist/interpreter/expansion/variable-attrs.d.ts +19 -0
- package/dist/interpreter/expansion/variable.d.ts +36 -0
- package/dist/interpreter/expansion/word-glob-expansion.d.ts +33 -0
- package/dist/interpreter/expansion/word-split.d.ts +29 -0
- package/dist/interpreter/expansion.d.ts +53 -0
- package/dist/interpreter/functions.d.ts +12 -0
- package/dist/interpreter/helpers/array.d.ts +43 -0
- package/dist/interpreter/helpers/condition.d.ts +22 -0
- package/dist/interpreter/helpers/errors.d.ts +8 -0
- package/dist/interpreter/helpers/file-tests.d.ts +33 -0
- package/dist/interpreter/helpers/ifs.d.ts +104 -0
- package/dist/interpreter/helpers/loop.d.ts +24 -0
- package/dist/interpreter/helpers/nameref.d.ts +65 -0
- package/dist/interpreter/helpers/numeric-compare.d.ts +13 -0
- package/dist/interpreter/helpers/quoting.d.ts +24 -0
- package/dist/interpreter/helpers/readonly.d.ts +45 -0
- package/dist/interpreter/helpers/regex.d.ts +8 -0
- package/dist/interpreter/helpers/result.d.ts +60 -0
- package/dist/interpreter/helpers/shell-constants.d.ts +25 -0
- package/dist/interpreter/helpers/shellopts.d.ts +28 -0
- package/dist/interpreter/helpers/statements.d.ts +20 -0
- package/dist/interpreter/helpers/string-compare.d.ts +24 -0
- package/dist/interpreter/helpers/string-tests.d.ts +13 -0
- package/dist/interpreter/helpers/tilde.d.ts +13 -0
- package/dist/interpreter/helpers/variable-tests.d.ts +9 -0
- package/dist/interpreter/helpers/word-matching.d.ts +26 -0
- package/dist/interpreter/helpers/word-parts.d.ts +22 -0
- package/dist/interpreter/helpers/xtrace.d.ts +18 -0
- package/dist/interpreter/index.d.ts +3 -0
- package/dist/interpreter/interpreter.d.ts +79 -0
- package/dist/interpreter/pipeline-execution.d.ts +16 -0
- package/dist/interpreter/redirections.d.ts +51 -0
- package/dist/interpreter/simple-command-assignments.d.ts +29 -0
- package/dist/interpreter/subshell-group.d.ts +32 -0
- package/dist/interpreter/type-command.d.ts +37 -0
- package/dist/interpreter/types.d.ts +349 -0
- package/dist/limits.d.ts +52 -0
- package/dist/network/allow-list/shared.d.ts +57 -0
- package/dist/network/allow-list.d.ts +59 -0
- package/dist/network/dns-pin.d.ts +43 -0
- package/dist/network/fetch.d.ts +25 -0
- package/dist/network/index.d.ts +7 -0
- package/dist/network/types.d.ts +155 -0
- package/dist/parser/arithmetic-parser.d.ts +23 -0
- package/dist/parser/arithmetic-primaries.d.ts +45 -0
- package/dist/parser/command-parser.d.ts +10 -0
- package/dist/parser/compound-parser.d.ts +28 -0
- package/dist/parser/conditional-parser.d.ts +8 -0
- package/dist/parser/expansion-parser.d.ts +16 -0
- package/dist/parser/lexer.d.ts +197 -0
- package/dist/parser/parser-substitution.d.ts +62 -0
- package/dist/parser/parser.d.ts +135 -0
- package/dist/parser/types.d.ts +25 -0
- package/dist/parser/word-parser.d.ts +33 -0
- package/dist/sandbox/Command.d.ts +35 -0
- package/dist/sandbox/Sandbox.d.ts +90 -0
- package/dist/sandbox/index.d.ts +2 -0
- package/dist/shell-metadata.d.ts +25 -0
- package/dist/timers.d.ts +4 -0
- package/dist/types.d.ts +247 -0
- package/dist/utils/args.d.ts +55 -0
- package/dist/utils/constants.d.ts +15 -0
- package/dist/utils/file-reader.d.ts +74 -0
- package/dist/utils/glob.d.ts +25 -0
- package/dist/vitest-setup.d.ts +1 -0
- package/package.json +127 -0
- package/vendor/cpython-emscripten/python.cjs +2 -0
- package/vendor/cpython-emscripten/python.wasm +0 -0
- package/vendor/cpython-emscripten/python313.zip +0 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CSV parsing and formatting utilities for xan command
|
|
3
|
+
*/
|
|
4
|
+
import type { CommandContext, ExecResult } from "../../types.js";
|
|
5
|
+
export interface CsvRow {
|
|
6
|
+
[key: string]: string | number | boolean | null;
|
|
7
|
+
}
|
|
8
|
+
export type CsvData = CsvRow[];
|
|
9
|
+
/**
|
|
10
|
+
* Create a null-prototype CsvRow to prevent prototype pollution.
|
|
11
|
+
* User-controlled CSV column names could match dangerous keys like
|
|
12
|
+
* __proto__, constructor, or prototype. Using a null-prototype object
|
|
13
|
+
* ensures these don't access the prototype chain.
|
|
14
|
+
*/
|
|
15
|
+
export declare function createSafeRow(): CsvRow;
|
|
16
|
+
/**
|
|
17
|
+
* Set a property on a CsvRow.
|
|
18
|
+
* Since CsvRow uses null-prototype, this is safe from prototype pollution.
|
|
19
|
+
*/
|
|
20
|
+
export declare function safeSetRow(row: CsvRow, key: string, value: string | number | boolean | null): void;
|
|
21
|
+
/**
|
|
22
|
+
* Convert a plain object row to a safe null-prototype row.
|
|
23
|
+
*/
|
|
24
|
+
export declare function toSafeRow(plainRow: Record<string, unknown>): CsvRow;
|
|
25
|
+
/** Parse CSV input string to array of row objects */
|
|
26
|
+
export declare function parseCsv(input: string): {
|
|
27
|
+
headers: string[];
|
|
28
|
+
data: CsvData;
|
|
29
|
+
};
|
|
30
|
+
/** Format array of row objects back to CSV string */
|
|
31
|
+
export declare function formatCsv(headers: string[], data: CsvData): string;
|
|
32
|
+
/** Read CSV input from file or stdin */
|
|
33
|
+
export declare function readCsvInput(args: string[], ctx: CommandContext): Promise<{
|
|
34
|
+
headers: string[];
|
|
35
|
+
data: CsvData;
|
|
36
|
+
error?: ExecResult;
|
|
37
|
+
}>;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Moonblade expression parser for xan
|
|
3
|
+
*
|
|
4
|
+
* Parses moonblade expressions (xan's expression language) and transforms
|
|
5
|
+
* them to jq AST for evaluation by the shared query engine.
|
|
6
|
+
*
|
|
7
|
+
* Grammar based on xan's grammar.pest
|
|
8
|
+
*/
|
|
9
|
+
export type MoonbladeExpr = {
|
|
10
|
+
type: "int";
|
|
11
|
+
value: number;
|
|
12
|
+
} | {
|
|
13
|
+
type: "float";
|
|
14
|
+
value: number;
|
|
15
|
+
} | {
|
|
16
|
+
type: "string";
|
|
17
|
+
value: string;
|
|
18
|
+
} | {
|
|
19
|
+
type: "bool";
|
|
20
|
+
value: boolean;
|
|
21
|
+
} | {
|
|
22
|
+
type: "null";
|
|
23
|
+
} | {
|
|
24
|
+
type: "identifier";
|
|
25
|
+
name: string;
|
|
26
|
+
unsure: boolean;
|
|
27
|
+
} | {
|
|
28
|
+
type: "underscore";
|
|
29
|
+
} | {
|
|
30
|
+
type: "func";
|
|
31
|
+
name: string;
|
|
32
|
+
args: Array<{
|
|
33
|
+
name?: string;
|
|
34
|
+
expr: MoonbladeExpr;
|
|
35
|
+
}>;
|
|
36
|
+
} | {
|
|
37
|
+
type: "list";
|
|
38
|
+
elements: MoonbladeExpr[];
|
|
39
|
+
} | {
|
|
40
|
+
type: "map";
|
|
41
|
+
entries: Array<{
|
|
42
|
+
key: string;
|
|
43
|
+
value: MoonbladeExpr;
|
|
44
|
+
}>;
|
|
45
|
+
} | {
|
|
46
|
+
type: "regex";
|
|
47
|
+
pattern: string;
|
|
48
|
+
caseInsensitive: boolean;
|
|
49
|
+
} | {
|
|
50
|
+
type: "slice";
|
|
51
|
+
start?: MoonbladeExpr;
|
|
52
|
+
end?: MoonbladeExpr;
|
|
53
|
+
} | {
|
|
54
|
+
type: "lambda";
|
|
55
|
+
params: string[];
|
|
56
|
+
body: MoonbladeExpr;
|
|
57
|
+
} | {
|
|
58
|
+
type: "lambdaBinding";
|
|
59
|
+
name: string;
|
|
60
|
+
} | {
|
|
61
|
+
type: "pipeline";
|
|
62
|
+
exprs: MoonbladeExpr[];
|
|
63
|
+
};
|
|
64
|
+
export interface NamedExpr {
|
|
65
|
+
expr: MoonbladeExpr;
|
|
66
|
+
name: string | string[];
|
|
67
|
+
}
|
|
68
|
+
export interface Aggregation {
|
|
69
|
+
aggName: string;
|
|
70
|
+
funcName: string;
|
|
71
|
+
args: MoonbladeExpr[];
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Parse named expressions like: "expr1, expr2 as name, expr3 as (a, b)"
|
|
75
|
+
*/
|
|
76
|
+
export declare function parseNamedExpressions(input: string): NamedExpr[];
|
|
77
|
+
/**
|
|
78
|
+
* Parse a moonblade expression string into AST
|
|
79
|
+
*/
|
|
80
|
+
export declare function parseMoonblade(input: string): MoonbladeExpr;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transform moonblade AST to jq AST
|
|
3
|
+
*
|
|
4
|
+
* This module converts moonblade expressions (xan's expression language)
|
|
5
|
+
* to jq AST for evaluation by the shared query engine.
|
|
6
|
+
*/
|
|
7
|
+
import type { AstNode } from "../query-engine/parser.js";
|
|
8
|
+
import type { MoonbladeExpr } from "./moonblade-parser.js";
|
|
9
|
+
/**
|
|
10
|
+
* Transform moonblade AST to jq AST
|
|
11
|
+
*/
|
|
12
|
+
export declare function moonbladeToJq(expr: MoonbladeExpr, rowContext?: boolean): AstNode;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Moonblade expression tokenizer
|
|
3
|
+
*/
|
|
4
|
+
export type TokenType = "int" | "float" | "string" | "regex" | "ident" | "true" | "false" | "null" | "(" | ")" | "[" | "]" | "{" | "}" | "," | ":" | ";" | "=>" | "+" | "-" | "*" | "/" | "//" | "%" | "**" | "++" | "==" | "!=" | "<" | "<=" | ">" | ">=" | "eq" | "ne" | "lt" | "le" | "gt" | "ge" | "&&" | "||" | "and" | "or" | "!" | "." | "|" | "in" | "not in" | "as" | "=" | "_" | "eof";
|
|
5
|
+
export interface Token {
|
|
6
|
+
type: TokenType;
|
|
7
|
+
value: string;
|
|
8
|
+
pos: number;
|
|
9
|
+
}
|
|
10
|
+
export declare class Tokenizer {
|
|
11
|
+
private input;
|
|
12
|
+
private pos;
|
|
13
|
+
private tokens;
|
|
14
|
+
constructor(input: string);
|
|
15
|
+
tokenize(): Token[];
|
|
16
|
+
private skipWhitespace;
|
|
17
|
+
private nextToken;
|
|
18
|
+
private match;
|
|
19
|
+
private isIdentStart;
|
|
20
|
+
private isIdentChar;
|
|
21
|
+
private readNumber;
|
|
22
|
+
private readString;
|
|
23
|
+
private readRegex;
|
|
24
|
+
private readIdentifier;
|
|
25
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Barrel file for xan subcommand handlers
|
|
3
|
+
*
|
|
4
|
+
* This file re-exports all subcommands from their individual modules
|
|
5
|
+
* for cleaner organization and easier maintenance.
|
|
6
|
+
*/
|
|
7
|
+
export { cmdAgg, cmdFrequency, cmdGroupby, cmdStats } from "./xan-agg.js";
|
|
8
|
+
export { cmdDrop, cmdEnum, cmdRename, cmdSelect } from "./xan-columns.js";
|
|
9
|
+
export { cmdCount, cmdHead, cmdHeaders, cmdReverse, cmdSlice, cmdTail, } from "./xan-core.js";
|
|
10
|
+
export { cmdFixlengths, cmdFrom, cmdPartition, cmdShuffle, cmdSplit, cmdTo, cmdTranspose, } from "./xan-data.js";
|
|
11
|
+
export { cmdDedup, cmdFilter, cmdSort, cmdTop } from "./xan-filter.js";
|
|
12
|
+
export { cmdMap, cmdTransform } from "./xan-map.js";
|
|
13
|
+
export { cmdExplode, cmdImplode, cmdJoin, cmdMerge, cmdPivot, } from "./xan-reshape.js";
|
|
14
|
+
export { cmdBehead, cmdCat, cmdFlatmap, cmdFmt, cmdSample, cmdSearch, } from "./xan-simple.js";
|
|
15
|
+
export { cmdFlatten, cmdView } from "./xan-view.js";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Aggregation commands: agg, groupby, frequency, stats
|
|
3
|
+
*/
|
|
4
|
+
import type { CommandContext, ExecResult } from "../../types.js";
|
|
5
|
+
export declare function cmdAgg(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
6
|
+
export declare function cmdGroupby(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
7
|
+
export declare function cmdFrequency(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
8
|
+
export declare function cmdStats(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Column operation commands: select, drop, rename, enum
|
|
3
|
+
*/
|
|
4
|
+
import type { CommandContext, ExecResult } from "../../types.js";
|
|
5
|
+
export declare function cmdSelect(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
6
|
+
export declare function cmdDrop(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
7
|
+
export declare function cmdRename(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
8
|
+
export declare function cmdEnum(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core xan commands: headers, count, head, tail, slice, reverse
|
|
3
|
+
*/
|
|
4
|
+
import type { CommandContext, ExecResult } from "../../types.js";
|
|
5
|
+
export declare function cmdHeaders(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
6
|
+
export declare function cmdCount(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
7
|
+
export declare function cmdHead(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
8
|
+
export declare function cmdTail(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
9
|
+
export declare function cmdSlice(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
10
|
+
export declare function cmdReverse(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Data utility commands: transpose, shuffle, fixlengths, split, partition
|
|
3
|
+
* Commands that exist in real xan
|
|
4
|
+
*/
|
|
5
|
+
import type { CommandContext, ExecResult } from "../../types.js";
|
|
6
|
+
/**
|
|
7
|
+
* Transpose: swap rows and columns
|
|
8
|
+
* Usage: xan transpose [FILE]
|
|
9
|
+
* First column becomes header row, first row becomes header column
|
|
10
|
+
*/
|
|
11
|
+
export declare function cmdTranspose(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
12
|
+
/**
|
|
13
|
+
* Shuffle: randomly reorder rows
|
|
14
|
+
* Usage: xan shuffle [OPTIONS] [FILE]
|
|
15
|
+
* --seed N Random seed for reproducibility
|
|
16
|
+
*/
|
|
17
|
+
export declare function cmdShuffle(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
18
|
+
/**
|
|
19
|
+
* Fixlengths: fix ragged CSV by padding/truncating rows
|
|
20
|
+
* Usage: xan fixlengths [OPTIONS] [FILE]
|
|
21
|
+
* -l, --length N Target number of columns (default: max row length)
|
|
22
|
+
* -d, --default V Default value for missing fields (default: empty)
|
|
23
|
+
*/
|
|
24
|
+
export declare function cmdFixlengths(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
25
|
+
/**
|
|
26
|
+
* Split: split CSV into multiple files by row count
|
|
27
|
+
* Usage: xan split [OPTIONS] FILE
|
|
28
|
+
* -c, --chunks N Split into N equal chunks
|
|
29
|
+
* -S, --size N Split into chunks of N rows each
|
|
30
|
+
* -o, --output DIR Output directory (default: current)
|
|
31
|
+
*
|
|
32
|
+
* In sandbox mode, outputs as JSON with parts as array
|
|
33
|
+
*/
|
|
34
|
+
export declare function cmdSplit(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
35
|
+
/**
|
|
36
|
+
* Partition: split CSV by column value into separate outputs
|
|
37
|
+
* Usage: xan partition COLUMN [OPTIONS] [FILE]
|
|
38
|
+
* -o, --output DIR Output directory (default: current)
|
|
39
|
+
*/
|
|
40
|
+
export declare function cmdPartition(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
41
|
+
/**
|
|
42
|
+
* To: convert CSV to other formats
|
|
43
|
+
* Usage: xan to FORMAT [OPTIONS] [FILE]
|
|
44
|
+
* FORMAT: json
|
|
45
|
+
*/
|
|
46
|
+
export declare function cmdTo(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
47
|
+
/**
|
|
48
|
+
* From: convert other formats to CSV
|
|
49
|
+
* Usage: xan from [OPTIONS] [FILE]
|
|
50
|
+
* -f, --format FORMAT Input format (json)
|
|
51
|
+
*/
|
|
52
|
+
export declare function cmdFrom(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Filter and sort commands: filter, sort, dedup, top
|
|
3
|
+
*/
|
|
4
|
+
import type { CommandContext, ExecResult } from "../../types.js";
|
|
5
|
+
export declare function cmdFilter(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
6
|
+
export declare function cmdSort(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
7
|
+
export declare function cmdDedup(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
8
|
+
export declare function cmdTop(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Map command: add computed columns
|
|
3
|
+
*/
|
|
4
|
+
import type { CommandContext, ExecResult } from "../../types.js";
|
|
5
|
+
export declare function cmdMap(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
6
|
+
/**
|
|
7
|
+
* Transform command: modify existing columns in-place
|
|
8
|
+
* Usage: xan transform COLUMN EXPR [FILE]
|
|
9
|
+
* -r, --rename NAME Rename the column after transformation
|
|
10
|
+
*/
|
|
11
|
+
export declare function cmdTransform(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reshape commands: explode, implode, flatmap, pivot, join, merge
|
|
3
|
+
*/
|
|
4
|
+
import type { CommandContext, ExecResult } from "../../types.js";
|
|
5
|
+
/**
|
|
6
|
+
* Explode: split delimited column values into multiple rows
|
|
7
|
+
* Usage: xan explode COLUMN [OPTIONS] [FILE]
|
|
8
|
+
* -s, --separator SEP Value separator (default: |)
|
|
9
|
+
* --drop-empty Drop rows where column is empty
|
|
10
|
+
* -r, --rename NAME Rename the column
|
|
11
|
+
*/
|
|
12
|
+
export declare function cmdExplode(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
13
|
+
/**
|
|
14
|
+
* Implode: combine consecutive rows with same key, joining column values
|
|
15
|
+
* Usage: xan implode COLUMN [OPTIONS] [FILE]
|
|
16
|
+
* -s, --separator SEP Value separator (default: |)
|
|
17
|
+
* -r, --rename NAME Rename the column
|
|
18
|
+
*/
|
|
19
|
+
export declare function cmdImplode(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
20
|
+
/**
|
|
21
|
+
* Join: join two CSV files on key columns
|
|
22
|
+
* Usage: xan join KEY1 FILE1 KEY2 FILE2 [OPTIONS]
|
|
23
|
+
* --left Left outer join (keep all rows from first file)
|
|
24
|
+
* --right Right outer join (keep all rows from second file)
|
|
25
|
+
* --full Full outer join (keep all rows from both files)
|
|
26
|
+
* -D, --default VALUE Default value for missing fields
|
|
27
|
+
*/
|
|
28
|
+
export declare function cmdJoin(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
29
|
+
/**
|
|
30
|
+
* Pivot: reshape data by turning row values into columns
|
|
31
|
+
* Usage: xan pivot COLUMN AGG_EXPR [OPTIONS] [FILE]
|
|
32
|
+
* -g, --groupby COLS Group by these columns (default: all other columns)
|
|
33
|
+
*/
|
|
34
|
+
export declare function cmdPivot(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
35
|
+
/**
|
|
36
|
+
* Merge: merge multiple sorted CSV files
|
|
37
|
+
* Usage: xan merge [OPTIONS] FILE1 FILE2 ...
|
|
38
|
+
* -s, --sort COLUMN Sort column (files must be pre-sorted by this)
|
|
39
|
+
*/
|
|
40
|
+
export declare function cmdMerge(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple commands: behead, sample, cat, search, flatmap, fmt
|
|
3
|
+
*/
|
|
4
|
+
import type { CommandContext, ExecResult } from "../../types.js";
|
|
5
|
+
/**
|
|
6
|
+
* Behead: remove header row from CSV (output data rows only)
|
|
7
|
+
* Usage: xan behead [FILE]
|
|
8
|
+
*/
|
|
9
|
+
export declare function cmdBehead(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
10
|
+
/**
|
|
11
|
+
* Sample: randomly sample N rows from CSV
|
|
12
|
+
* Usage: xan sample [OPTIONS] <sample-size> [FILE]
|
|
13
|
+
* --seed SEED Random seed for reproducibility
|
|
14
|
+
*/
|
|
15
|
+
export declare function cmdSample(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
16
|
+
/**
|
|
17
|
+
* Cat: concatenate CSV files
|
|
18
|
+
* Usage: xan cat [OPTIONS] FILE1 FILE2 ...
|
|
19
|
+
* -p, --pad Pad missing columns with empty values
|
|
20
|
+
*/
|
|
21
|
+
export declare function cmdCat(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
22
|
+
/**
|
|
23
|
+
* Search: filter rows by regex match on any/specific columns
|
|
24
|
+
* Usage: xan search [OPTIONS] PATTERN [FILE]
|
|
25
|
+
* -s, --select COLS Only search in these columns
|
|
26
|
+
* -v, --invert Invert match (exclude matching rows)
|
|
27
|
+
* -i, --ignore-case Case insensitive match
|
|
28
|
+
*/
|
|
29
|
+
export declare function cmdSearch(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
30
|
+
/**
|
|
31
|
+
* Flatmap: like map but expression can return multiple rows
|
|
32
|
+
* Usage: xan flatmap EXPR [FILE]
|
|
33
|
+
* The expression should return an array; each element becomes a row
|
|
34
|
+
*/
|
|
35
|
+
export declare function cmdFlatmap(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
36
|
+
/**
|
|
37
|
+
* Fmt: format CSV as a table (alias for view with options)
|
|
38
|
+
* Usage: xan fmt [OPTIONS] [FILE]
|
|
39
|
+
*/
|
|
40
|
+
export declare function cmdFmt(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* View commands: pretty print CSV as table or flattened records
|
|
3
|
+
*/
|
|
4
|
+
import type { CommandContext, ExecResult } from "../../types.js";
|
|
5
|
+
/**
|
|
6
|
+
* Flatten: display records vertically, one field per line
|
|
7
|
+
* Usage: xan flatten [OPTIONS] [FILE]
|
|
8
|
+
* -l, --limit N Maximum number of rows to display
|
|
9
|
+
* -s, --select COLS Select columns to display
|
|
10
|
+
*/
|
|
11
|
+
export declare function cmdFlatten(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
12
|
+
export declare function cmdView(args: string[], ctx: CommandContext): Promise<ExecResult>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* xan - CSV toolkit command
|
|
3
|
+
*
|
|
4
|
+
* Provides ergonomic CLI for CSV operations, translating commands to jq expressions
|
|
5
|
+
* and using the shared query engine. Inspired by xsv and xan tools.
|
|
6
|
+
*/
|
|
7
|
+
import type { Command } from "../../types.js";
|
|
8
|
+
export declare const xanCommand: Command;
|
|
9
|
+
import type { CommandFuzzInfo } from "../fuzz-flags-types.js";
|
|
10
|
+
export declare const flagsForFuzzing: CommandFuzzInfo;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format parsing and output for yq command
|
|
3
|
+
*
|
|
4
|
+
* Supports YAML, JSON, XML, INI, CSV, and TOML formats with conversion between them.
|
|
5
|
+
*/
|
|
6
|
+
import type { QueryValue } from "../query-engine/index.js";
|
|
7
|
+
export type InputFormat = "yaml" | "xml" | "json" | "ini" | "csv" | "toml";
|
|
8
|
+
export type OutputFormat = "yaml" | "json" | "xml" | "ini" | "csv" | "toml";
|
|
9
|
+
/**
|
|
10
|
+
* Type guard to validate input format strings at runtime
|
|
11
|
+
*/
|
|
12
|
+
export declare function isValidInputFormat(value: unknown): value is InputFormat;
|
|
13
|
+
/**
|
|
14
|
+
* Type guard to validate output format strings at runtime
|
|
15
|
+
*/
|
|
16
|
+
export declare function isValidOutputFormat(value: unknown): value is OutputFormat;
|
|
17
|
+
export interface FormatOptions {
|
|
18
|
+
/** Input format (default: yaml) */
|
|
19
|
+
inputFormat: InputFormat;
|
|
20
|
+
/** Output format (default: yaml) */
|
|
21
|
+
outputFormat: OutputFormat;
|
|
22
|
+
/** Output raw strings without quotes (json only) */
|
|
23
|
+
raw: boolean;
|
|
24
|
+
/** Compact output (json only) */
|
|
25
|
+
compact: boolean;
|
|
26
|
+
/** Pretty print output */
|
|
27
|
+
prettyPrint: boolean;
|
|
28
|
+
/** Indentation level */
|
|
29
|
+
indent: number;
|
|
30
|
+
/** XML attribute prefix (default: +@) */
|
|
31
|
+
xmlAttributePrefix: string;
|
|
32
|
+
/** XML text content name (default: +content) */
|
|
33
|
+
xmlContentName: string;
|
|
34
|
+
/** CSV delimiter (empty = auto-detect) */
|
|
35
|
+
csvDelimiter: string;
|
|
36
|
+
/** CSV has header row */
|
|
37
|
+
csvHeader: boolean;
|
|
38
|
+
}
|
|
39
|
+
export declare const defaultFormatOptions: FormatOptions;
|
|
40
|
+
/**
|
|
41
|
+
* Detect input format from file extension
|
|
42
|
+
*/
|
|
43
|
+
export declare function detectFormatFromExtension(filename: string): InputFormat | null;
|
|
44
|
+
/**
|
|
45
|
+
* Parse input data from the given format into a QueryValue
|
|
46
|
+
*/
|
|
47
|
+
export declare function parseInput(input: string, options: FormatOptions): QueryValue;
|
|
48
|
+
/**
|
|
49
|
+
* Parse all YAML documents from input (for slurp mode)
|
|
50
|
+
*/
|
|
51
|
+
export declare function parseAllYamlDocuments(input: string): QueryValue[];
|
|
52
|
+
/**
|
|
53
|
+
* Extract front-matter from content
|
|
54
|
+
* Front-matter is YAML/TOML/JSON at the start of a file between --- or +++ delimiters
|
|
55
|
+
* Returns { frontMatter: parsed data, content: remaining content } or null if no front-matter
|
|
56
|
+
*/
|
|
57
|
+
export declare function extractFrontMatter(input: string): {
|
|
58
|
+
frontMatter: QueryValue;
|
|
59
|
+
content: string;
|
|
60
|
+
} | null;
|
|
61
|
+
/**
|
|
62
|
+
* Format a QueryValue for output in the given format
|
|
63
|
+
*/
|
|
64
|
+
export declare function formatOutput(value: QueryValue, options: FormatOptions): string;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* yq - Command-line YAML/XML/INI/CSV/TOML processor
|
|
3
|
+
*
|
|
4
|
+
* Uses jq-style query expressions to process YAML, XML, INI, CSV, and TOML files.
|
|
5
|
+
* Shares the query engine with jq for consistent filtering behavior.
|
|
6
|
+
*
|
|
7
|
+
* Inspired by mikefarah/yq (https://github.com/mikefarah/yq)
|
|
8
|
+
* This is a reimplementation for the just-bash sandboxed environment.
|
|
9
|
+
*/
|
|
10
|
+
import type { Command } from "../../types.js";
|
|
11
|
+
export declare const yqCommand: Command;
|
|
12
|
+
import type { CommandFuzzInfo } from "../fuzz-flags-types.js";
|
|
13
|
+
export declare const flagsForFuzzing: CommandFuzzInfo;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom Commands API
|
|
3
|
+
*
|
|
4
|
+
* Provides types and utilities for registering user-provided TypeScript commands.
|
|
5
|
+
*/
|
|
6
|
+
import type { Command, CommandContext, ExecResult } from "./types.js";
|
|
7
|
+
/**
|
|
8
|
+
* A custom command - either a Command object or a lazy loader.
|
|
9
|
+
*/
|
|
10
|
+
export type CustomCommand = Command | LazyCommand;
|
|
11
|
+
/**
|
|
12
|
+
* Lazy-loaded custom command (for code-splitting).
|
|
13
|
+
*/
|
|
14
|
+
export interface LazyCommand {
|
|
15
|
+
name: string;
|
|
16
|
+
load: () => Promise<Command>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Type guard to check if a custom command is lazy-loaded.
|
|
20
|
+
*/
|
|
21
|
+
export declare function isLazyCommand(cmd: CustomCommand): cmd is LazyCommand;
|
|
22
|
+
/**
|
|
23
|
+
* Define a TypeScript command with type inference.
|
|
24
|
+
* Convenience wrapper - you can also just use the Command interface directly.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* const hello = defineCommand("hello", async (args, ctx) => {
|
|
29
|
+
* const name = args[0] || "world";
|
|
30
|
+
* return { stdout: `Hello, ${name}!\n`, stderr: "", exitCode: 0 };
|
|
31
|
+
* });
|
|
32
|
+
*
|
|
33
|
+
* const bash = new Bash({ customCommands: [hello] });
|
|
34
|
+
* await bash.exec("hello Alice"); // "Hello, Alice!\n"
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare function defineCommand(name: string, execute: (args: string[], ctx: CommandContext) => Promise<ExecResult>): Command;
|
|
38
|
+
/**
|
|
39
|
+
* Create a lazy-loaded wrapper for a custom command.
|
|
40
|
+
* The command is only loaded when first executed.
|
|
41
|
+
*/
|
|
42
|
+
export declare function createLazyCustomCommand(lazy: LazyCommand): Command;
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Byte/text boundary types for the shell pipeline.
|
|
3
|
+
*
|
|
4
|
+
* Shell pipes carry bytes, not text. Internally we represent a byte buffer as
|
|
5
|
+
* a JS string where `s.charCodeAt(i)` is the i-th byte (0–255), the same
|
|
6
|
+
* convention as `Buffer.from(s, "latin1")`. That's a space-cheap byte buffer,
|
|
7
|
+
* but the type system can't tell it apart from a real `string`, and command
|
|
8
|
+
* authors keep writing `ctx.stdin.split(...)` / `RegExp.test(ctx.stdin)` /
|
|
9
|
+
* `JSON.parse(ctx.stdin)` over data that is actually UTF-8 packed in latin1.
|
|
10
|
+
* The result is silent mojibake — every multibyte codepoint gets misread as
|
|
11
|
+
* several latin1 chars, then re-encoded as UTF-8 on the way out.
|
|
12
|
+
*
|
|
13
|
+
* `ByteString` is opaque (deliberately not assignable to/from `string`) so
|
|
14
|
+
* you cannot accidentally call string methods on it. The only ways out are
|
|
15
|
+
* `latin1FromBytes` (passthrough — stay byte-clean) and `decodeBytesToUtf8`
|
|
16
|
+
* (decode — process as text). Pick one explicitly per call site.
|
|
17
|
+
*/
|
|
18
|
+
declare const __byteString: unique symbol;
|
|
19
|
+
export interface ByteString {
|
|
20
|
+
readonly [__byteString]: true;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Tag a latin1 byte buffer (each char = one byte) as a `ByteString`. Use at
|
|
24
|
+
* the pipeline edge: `cmdCtx.stdin = unsafeBytesFromLatin1(prevStdout)`.
|
|
25
|
+
* Avoid inside command implementations.
|
|
26
|
+
*/
|
|
27
|
+
export declare function unsafeBytesFromLatin1(s: string): ByteString;
|
|
28
|
+
/**
|
|
29
|
+
* Reveal the underlying latin1 byte buffer. Use when a command intentionally
|
|
30
|
+
* forwards bytes unchanged (cat, head, tee, base64 -d, gzip, ...). Calling
|
|
31
|
+
* regex / parse / `.length-as-chars` on the result re-introduces the
|
|
32
|
+
* mojibake bug — if you need text, use `decodeBytesToUtf8` instead.
|
|
33
|
+
*/
|
|
34
|
+
export declare function latin1FromBytes(b: ByteString): string;
|
|
35
|
+
/**
|
|
36
|
+
* Decode a `ByteString` as UTF-8. Use when a command interprets stdin as
|
|
37
|
+
* text (jq, sed, grep, awk, ...). Returns proper Unicode where multibyte
|
|
38
|
+
* codepoints occupy a single JS char, so regex and parsers work correctly.
|
|
39
|
+
*
|
|
40
|
+
* Falls back to the raw latin1 view if the bytes are not valid UTF-8 (e.g.
|
|
41
|
+
* a binary stream piped into grep). Callers that want hard failure on
|
|
42
|
+
* invalid UTF-8 should encode + decode manually with `{ fatal: true }`.
|
|
43
|
+
*/
|
|
44
|
+
export declare function decodeBytesToUtf8(b: ByteString): string;
|
|
45
|
+
/**
|
|
46
|
+
* UTF-8 encode `s` (treating every char as a Unicode codepoint) into a
|
|
47
|
+
* `ByteString`. Use at sites that *know* their input is decoded Unicode
|
|
48
|
+
* text and need to emit it back as bytes — typically the inverse of an
|
|
49
|
+
* earlier `decodeBytesToUtf8` call inside the same command.
|
|
50
|
+
*/
|
|
51
|
+
export declare function encodeUtf8ToBytes(s: string): ByteString;
|
|
52
|
+
/** The empty `ByteString`. */
|
|
53
|
+
export declare const EMPTY_BYTES: ByteString;
|
|
54
|
+
/**
|
|
55
|
+
* Convert a `Uint8Array` to a `ByteString`. Each byte becomes one char.
|
|
56
|
+
* The reverse is `Uint8Array.from(latin1FromBytes(b), (c) => c.charCodeAt(0))`.
|
|
57
|
+
*/
|
|
58
|
+
export declare function bytesFromUint8Array(buf: Uint8Array): ByteString;
|
|
59
|
+
/**
|
|
60
|
+
* Read a file's raw bytes from any `IFileSystem`. Prefers the optional
|
|
61
|
+
* {@link IFileSystem.readFileBytes} method (built-in filesystems implement
|
|
62
|
+
* it natively), falling back to {@link IFileSystem.readFileBuffer} +
|
|
63
|
+
* conversion for external/custom filesystems written before
|
|
64
|
+
* `readFileBytes` existed. Use this from internal commands instead of
|
|
65
|
+
* calling `fs.readFileBytes` directly so user-supplied filesystems keep
|
|
66
|
+
* working.
|
|
67
|
+
*/
|
|
68
|
+
export declare function readBytesFrom(fs: {
|
|
69
|
+
readFileBytes?(path: string): Promise<ByteString>;
|
|
70
|
+
readFileBuffer(path: string): Promise<Uint8Array>;
|
|
71
|
+
}, path: string): Promise<ByteString>;
|
|
72
|
+
/** Either-or shape of a command's `stdout`. */
|
|
73
|
+
export type OutputKind = "text" | "bytes";
|
|
74
|
+
/**
|
|
75
|
+
* Read the explicit shape of a command's stdout. Falls back to the legacy
|
|
76
|
+
* `stdoutEncoding === "binary"` flag for results produced before the
|
|
77
|
+
* `stdoutKind` field existed; defaults to `"text"` otherwise.
|
|
78
|
+
*/
|
|
79
|
+
export declare function stdoutKind(result: {
|
|
80
|
+
stdoutKind?: OutputKind;
|
|
81
|
+
stdoutEncoding?: "binary";
|
|
82
|
+
}): OutputKind;
|
|
83
|
+
/**
|
|
84
|
+
* Coerce a command's stdout to a `ByteString` for the byte-shaped pipe.
|
|
85
|
+
* Text gets UTF-8 encoded once (codepoints → bytes); bytes pass through.
|
|
86
|
+
*/
|
|
87
|
+
export declare function stdoutAsBytes(result: {
|
|
88
|
+
stdout: string;
|
|
89
|
+
stdoutKind?: OutputKind;
|
|
90
|
+
stdoutEncoding?: "binary";
|
|
91
|
+
}): ByteString;
|
|
92
|
+
/**
|
|
93
|
+
* Build an `ExecResult`-shaped object whose stdout is decoded text. Sets
|
|
94
|
+
* `stdoutKind: "text"` so the pipe knows to UTF-8 encode it on handoff
|
|
95
|
+
* and redirects know to write it as UTF-8. Use for command authors that
|
|
96
|
+
* decode their input and emit Unicode text — they no longer have to
|
|
97
|
+
* manually re-encode for downstream byte consumers.
|
|
98
|
+
*/
|
|
99
|
+
export declare function textOutput(data: string): {
|
|
100
|
+
stdout: string;
|
|
101
|
+
stdoutKind: "text";
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Build an `ExecResult`-shaped object whose stdout is a latin1 byte view.
|
|
105
|
+
* Sets both `stdoutKind: "bytes"` (new contract) and `stdoutEncoding:
|
|
106
|
+
* "binary"` (legacy alias) so older code paths keep working through the
|
|
107
|
+
* migration. Use for command authors that emit raw bytes (cat, gzip,
|
|
108
|
+
* tar, base64 -d, ...).
|
|
109
|
+
*/
|
|
110
|
+
export declare function bytesOutput(data: ByteString): {
|
|
111
|
+
stdout: string;
|
|
112
|
+
stdoutKind: "bytes";
|
|
113
|
+
stdoutEncoding: "binary";
|
|
114
|
+
};
|
|
115
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared utilities for filesystem implementations
|
|
3
|
+
*/
|
|
4
|
+
import type { BufferEncoding, ReadFileOptions, WriteFileOptions } from "./interface.js";
|
|
5
|
+
export type FileContent = string | Uint8Array;
|
|
6
|
+
/**
|
|
7
|
+
* Helper to convert content to Uint8Array
|
|
8
|
+
*/
|
|
9
|
+
export declare function toBuffer(content: FileContent, encoding?: BufferEncoding): Uint8Array;
|
|
10
|
+
/**
|
|
11
|
+
* Helper to convert Uint8Array to string with encoding
|
|
12
|
+
*/
|
|
13
|
+
export declare function fromBuffer(buffer: Uint8Array, encoding?: BufferEncoding | null): string;
|
|
14
|
+
/**
|
|
15
|
+
* Helper to get encoding from options
|
|
16
|
+
*/
|
|
17
|
+
export declare function getEncoding(options?: ReadFileOptions | WriteFileOptions | BufferEncoding | string | null): BufferEncoding | undefined;
|