just-binary 2.9.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +458 -0
- package/dist/AGENTS.md +323 -0
- package/dist/Bash.d.ts +179 -0
- package/dist/ast/types.d.ts +615 -0
- package/dist/banned-patterns-test.d.ts +8 -0
- package/dist/bin/chunks/alias-23G4Q2RS.js +2 -0
- package/dist/bin/chunks/awk2-Z6VRXKAK.js +2 -0
- package/dist/bin/chunks/base64-DNX4WCIO.js +2 -0
- package/dist/bin/chunks/basename-MPQ7M4RF.js +2 -0
- package/dist/bin/chunks/bash-OQ32Y5I6.js +2 -0
- package/dist/bin/chunks/bytes-6YUZMX3P.js +2 -0
- package/dist/bin/chunks/cat-CL5ISR5P.js +2 -0
- package/dist/bin/chunks/chmod-R6IWRSKZ.js +2 -0
- package/dist/bin/chunks/chunk-227L3ACM.js +23 -0
- package/dist/bin/chunks/chunk-2QA4P6HI.js +12 -0
- package/dist/bin/chunks/chunk-3MFM4GSH.js +36 -0
- package/dist/bin/chunks/chunk-3UP5LXDO.js +3 -0
- package/dist/bin/chunks/chunk-47P7JSQI.js +2 -0
- package/dist/bin/chunks/chunk-4KBTPDQB.js +3 -0
- package/dist/bin/chunks/chunk-4UK2MV3F.js +13 -0
- package/dist/bin/chunks/chunk-4VDEBYW7.js +2 -0
- package/dist/bin/chunks/chunk-563AO4OL.js +7 -0
- package/dist/bin/chunks/chunk-5HDWUXRX.js +7 -0
- package/dist/bin/chunks/chunk-5MCFI6LE.js +5 -0
- package/dist/bin/chunks/chunk-6CZOPIZD.js +6 -0
- package/dist/bin/chunks/chunk-6FNFX5GG.js +5 -0
- package/dist/bin/chunks/chunk-6NYIHYDY.js +7 -0
- package/dist/bin/chunks/chunk-6Y4TKR73.js +16 -0
- package/dist/bin/chunks/chunk-7C7WEK46.js +23 -0
- package/dist/bin/chunks/chunk-7TNGQWY6.js +6 -0
- package/dist/bin/chunks/chunk-7UAWRBQS.js +9 -0
- package/dist/bin/chunks/chunk-ARGU3OIG.js +17 -0
- package/dist/bin/chunks/chunk-BA3A5BYZ.js +3 -0
- package/dist/bin/chunks/chunk-BB7T22CF.js +140 -0
- package/dist/bin/chunks/chunk-BY24LKGP.js +8 -0
- package/dist/bin/chunks/chunk-CRHN4WNQ.js +63 -0
- package/dist/bin/chunks/chunk-ELZHJGI7.js +10 -0
- package/dist/bin/chunks/chunk-F46CSMUF.js +2 -0
- package/dist/bin/chunks/chunk-FQX4G5RH.js +7 -0
- package/dist/bin/chunks/chunk-G43H2WGH.js +17 -0
- package/dist/bin/chunks/chunk-GIFF636B.js +2 -0
- package/dist/bin/chunks/chunk-GMJWC3MC.js +12 -0
- package/dist/bin/chunks/chunk-HVDU57EV.js +16 -0
- package/dist/bin/chunks/chunk-HWGK3XW7.js +6 -0
- package/dist/bin/chunks/chunk-HYR7G7KS.js +3 -0
- package/dist/bin/chunks/chunk-I2225JSU.js +14 -0
- package/dist/bin/chunks/chunk-I2FUQZXU.js +11 -0
- package/dist/bin/chunks/chunk-IBHPKKIT.js +10 -0
- package/dist/bin/chunks/chunk-IKNNFJNZ.js +14 -0
- package/dist/bin/chunks/chunk-INPUJM7Y.js +8 -0
- package/dist/bin/chunks/chunk-IOBKPMWJ.js +9 -0
- package/dist/bin/chunks/chunk-IYSA2L6A.js +13 -0
- package/dist/bin/chunks/chunk-JMLNX7GE.js +287 -0
- package/dist/bin/chunks/chunk-K2K4KPOQ.js +3 -0
- package/dist/bin/chunks/chunk-K6DD7NH3.js +9 -0
- package/dist/bin/chunks/chunk-KFLJ4EMB.js +4 -0
- package/dist/bin/chunks/chunk-KOMDAXHM.js +7 -0
- package/dist/bin/chunks/chunk-KV7ZTM2R.js +11 -0
- package/dist/bin/chunks/chunk-LCCVVEJA.js +10 -0
- package/dist/bin/chunks/chunk-LUPJK5US.js +84 -0
- package/dist/bin/chunks/chunk-LWF3XDOC.js +32 -0
- package/dist/bin/chunks/chunk-LXNARM2C.js +9 -0
- package/dist/bin/chunks/chunk-LXZS3X5T.js +9 -0
- package/dist/bin/chunks/chunk-M4ICSCXT.js +100 -0
- package/dist/bin/chunks/chunk-MEBZXRGE.js +5 -0
- package/dist/bin/chunks/chunk-MSPSS36S.js +16 -0
- package/dist/bin/chunks/chunk-N335RIGZ.js +20 -0
- package/dist/bin/chunks/chunk-N5KGQWJH.js +5 -0
- package/dist/bin/chunks/chunk-NDHTQE5T.js +8 -0
- package/dist/bin/chunks/chunk-NF5G7X3O.js +7 -0
- package/dist/bin/chunks/chunk-NGKNJ6V2.js +11 -0
- package/dist/bin/chunks/chunk-OBH7XN5N.js +1 -0
- package/dist/bin/chunks/chunk-OKQ6RACF.js +73 -0
- package/dist/bin/chunks/chunk-PBY7XGZ6.js +8 -0
- package/dist/bin/chunks/chunk-PHHNNFRS.js +6 -0
- package/dist/bin/chunks/chunk-PO6Y7TWQ.js +6 -0
- package/dist/bin/chunks/chunk-Q4TLKLIZ.js +12 -0
- package/dist/bin/chunks/chunk-QS6LP3E3.js +6 -0
- package/dist/bin/chunks/chunk-QT2GMJRJ.js +8 -0
- package/dist/bin/chunks/chunk-QUVW3R4I.js +5 -0
- package/dist/bin/chunks/chunk-QUYWT2TY.js +21 -0
- package/dist/bin/chunks/chunk-QWUII542.js +2 -0
- package/dist/bin/chunks/chunk-R5EQDD5Y.js +13 -0
- package/dist/bin/chunks/chunk-RQSPCXDR.js +2 -0
- package/dist/bin/chunks/chunk-RTC6C5QW.js +2 -0
- package/dist/bin/chunks/chunk-S5W2KVHC.js +2 -0
- package/dist/bin/chunks/chunk-SDXDICI4.js +2 -0
- package/dist/bin/chunks/chunk-SE4C7FJY.js +33 -0
- package/dist/bin/chunks/chunk-SX7TI7Q2.js +3 -0
- package/dist/bin/chunks/chunk-TDJ55L4A.js +16 -0
- package/dist/bin/chunks/chunk-TNPUAMV3.js +8 -0
- package/dist/bin/chunks/chunk-TSGSFBQI.js +14 -0
- package/dist/bin/chunks/chunk-U5ZE562V.js +2 -0
- package/dist/bin/chunks/chunk-UIMH6I3G.js +33 -0
- package/dist/bin/chunks/chunk-UXPY5T2P.js +9 -0
- package/dist/bin/chunks/chunk-UYBH3FNE.js +2 -0
- package/dist/bin/chunks/chunk-V5I6PHN2.js +14 -0
- package/dist/bin/chunks/chunk-VOTJNR36.js +5 -0
- package/dist/bin/chunks/chunk-W5XFREQC.js +3 -0
- package/dist/bin/chunks/chunk-X2MOXVGO.js +26 -0
- package/dist/bin/chunks/chunk-XOGQUO62.js +2 -0
- package/dist/bin/chunks/chunk-Y57BDPQ5.js +6 -0
- package/dist/bin/chunks/chunk-YE6KXFFU.js +2 -0
- package/dist/bin/chunks/chunk-YEPWKN4F.js +3 -0
- package/dist/bin/chunks/chunk-ZEDWVSUZ.js +19 -0
- package/dist/bin/chunks/chunk-ZI4TTZL5.js +21 -0
- package/dist/bin/chunks/chunk-ZZVIGHYS.js +7 -0
- package/dist/bin/chunks/clear-27OP2FQZ.js +2 -0
- package/dist/bin/chunks/column-FJNKONCJ.js +2 -0
- package/dist/bin/chunks/comm-5FNEJE7X.js +2 -0
- package/dist/bin/chunks/cp-LVKHKFHQ.js +2 -0
- package/dist/bin/chunks/curl-S4FJSZA5.js +26 -0
- package/dist/bin/chunks/cut-UXU6PNTT.js +2 -0
- package/dist/bin/chunks/date-GGPTXVUT.js +2 -0
- package/dist/bin/chunks/diff-3V3FOITV.js +2 -0
- package/dist/bin/chunks/dirname-455JDV2M.js +2 -0
- package/dist/bin/chunks/du-WUEAQO2W.js +2 -0
- package/dist/bin/chunks/echo-HBXOI5TQ.js +2 -0
- package/dist/bin/chunks/env-MXFHTVHS.js +2 -0
- package/dist/bin/chunks/expand-F4FM4ML2.js +2 -0
- package/dist/bin/chunks/expansion-7AYBVOIQ.js +2 -0
- package/dist/bin/chunks/expr-5ZKR5ER5.js +2 -0
- package/dist/bin/chunks/file-BFN7BKUR.js +2 -0
- package/dist/bin/chunks/find-W4BCEJEC.js +2 -0
- package/dist/bin/chunks/flag-coverage-DBKGNLJO.js +2 -0
- package/dist/bin/chunks/fold-AE57YLOS.js +2 -0
- package/dist/bin/chunks/grep-I63BWUKL.js +2 -0
- package/dist/bin/chunks/gzip-X5IDXWZE.js +2 -0
- package/dist/bin/chunks/head-TBQETLQX.js +2 -0
- package/dist/bin/chunks/help-HGMKZ2GW.js +2 -0
- package/dist/bin/chunks/history-2DYRIL3U.js +2 -0
- package/dist/bin/chunks/hostname-RWEPTCXH.js +2 -0
- package/dist/bin/chunks/html-to-markdown-2VQWCEKU.js +2 -0
- package/dist/bin/chunks/join-TRRWQBEU.js +2 -0
- package/dist/bin/chunks/jq-NFKKH27D.js +2 -0
- package/dist/bin/chunks/ln-BSEVUP2J.js +2 -0
- package/dist/bin/chunks/ls-IJLTWVOI.js +2 -0
- package/dist/bin/chunks/md5sum-ZIQHOC4K.js +2 -0
- package/dist/bin/chunks/mkdir-KYFAO2SF.js +2 -0
- package/dist/bin/chunks/mv-TWM2PA7Q.js +2 -0
- package/dist/bin/chunks/nl-XLF2HFST.js +2 -0
- package/dist/bin/chunks/od-BOM6JPTH.js +2 -0
- package/dist/bin/chunks/paste-FUGXVGJX.js +2 -0
- package/dist/bin/chunks/printf-XUGNJ3QM.js +2 -0
- package/dist/bin/chunks/pwd-RZG6GZEU.js +2 -0
- package/dist/bin/chunks/python3-PIXJS3YM.js +14 -0
- package/dist/bin/chunks/readlink-4SOSIDHE.js +2 -0
- package/dist/bin/chunks/rev-5E5UGSUZ.js +2 -0
- package/dist/bin/chunks/rg-4YJSQZN7.js +2 -0
- package/dist/bin/chunks/rm-3PFOF4E3.js +2 -0
- package/dist/bin/chunks/rmdir-CSK7CGH5.js +2 -0
- package/dist/bin/chunks/sed-XBCUZMEP.js +2 -0
- package/dist/bin/chunks/seq-H7ID4VMK.js +2 -0
- package/dist/bin/chunks/sha1sum-EDQNYXXH.js +2 -0
- package/dist/bin/chunks/sha256sum-APTG6DO2.js +2 -0
- package/dist/bin/chunks/sleep-PNT7KILS.js +2 -0
- package/dist/bin/chunks/sort-ELAGZUES.js +2 -0
- package/dist/bin/chunks/split-QGXYUWBC.js +2 -0
- package/dist/bin/chunks/sqlite3-ELLMKNNJ.js +2 -0
- package/dist/bin/chunks/stat-Q2TZRKO3.js +2 -0
- package/dist/bin/chunks/strings-IGEGP5QX.js +2 -0
- package/dist/bin/chunks/tac-VOEDJLLG.js +2 -0
- package/dist/bin/chunks/tail-JOQASWMV.js +2 -0
- package/dist/bin/chunks/tar-2UVSVD3P.js +2 -0
- package/dist/bin/chunks/tee-IQLEDZOQ.js +2 -0
- package/dist/bin/chunks/time-VRCJK2LI.js +2 -0
- package/dist/bin/chunks/timeout-A36YWZWR.js +2 -0
- package/dist/bin/chunks/touch-5ECNQNBP.js +2 -0
- package/dist/bin/chunks/tr-AVALLN54.js +2 -0
- package/dist/bin/chunks/tree-UFM5EDXS.js +2 -0
- package/dist/bin/chunks/true-BU5JSAAW.js +2 -0
- package/dist/bin/chunks/unexpand-TDRWZW5F.js +2 -0
- package/dist/bin/chunks/uniq-IKBUNAMN.js +2 -0
- package/dist/bin/chunks/wc-2R4RS2SX.js +2 -0
- package/dist/bin/chunks/which-6UVGMXDF.js +2 -0
- package/dist/bin/chunks/whoami-N6TLTETT.js +2 -0
- package/dist/bin/chunks/worker.js +2260 -0
- package/dist/bin/chunks/xan-JX5QUK32.js +2 -0
- package/dist/bin/chunks/xan-view-NFMUMJ7Z.js +2 -0
- package/dist/bin/chunks/xargs-4MYN4U3C.js +2 -0
- package/dist/bin/chunks/yq-EHDQVD7S.js +2 -0
- package/dist/bin/just-bash.js +732 -0
- package/dist/bin/shell/chunks/alias-23G4Q2RS.js +2 -0
- package/dist/bin/shell/chunks/awk2-Z6VRXKAK.js +2 -0
- package/dist/bin/shell/chunks/base64-DNX4WCIO.js +2 -0
- package/dist/bin/shell/chunks/basename-MPQ7M4RF.js +2 -0
- package/dist/bin/shell/chunks/bash-OQ32Y5I6.js +2 -0
- package/dist/bin/shell/chunks/bytes-6YUZMX3P.js +2 -0
- package/dist/bin/shell/chunks/cat-CL5ISR5P.js +2 -0
- package/dist/bin/shell/chunks/chmod-R6IWRSKZ.js +2 -0
- package/dist/bin/shell/chunks/chunk-227L3ACM.js +23 -0
- package/dist/bin/shell/chunks/chunk-2QA4P6HI.js +12 -0
- package/dist/bin/shell/chunks/chunk-3MFM4GSH.js +36 -0
- package/dist/bin/shell/chunks/chunk-3UP5LXDO.js +3 -0
- package/dist/bin/shell/chunks/chunk-47P7JSQI.js +2 -0
- package/dist/bin/shell/chunks/chunk-4KBTPDQB.js +3 -0
- package/dist/bin/shell/chunks/chunk-4UK2MV3F.js +13 -0
- package/dist/bin/shell/chunks/chunk-4VDEBYW7.js +2 -0
- package/dist/bin/shell/chunks/chunk-563AO4OL.js +7 -0
- package/dist/bin/shell/chunks/chunk-5HDWUXRX.js +7 -0
- package/dist/bin/shell/chunks/chunk-5MCFI6LE.js +5 -0
- package/dist/bin/shell/chunks/chunk-6CZOPIZD.js +6 -0
- package/dist/bin/shell/chunks/chunk-6FNFX5GG.js +5 -0
- package/dist/bin/shell/chunks/chunk-6NYIHYDY.js +7 -0
- package/dist/bin/shell/chunks/chunk-6Y4TKR73.js +16 -0
- package/dist/bin/shell/chunks/chunk-7C7WEK46.js +23 -0
- package/dist/bin/shell/chunks/chunk-7TNGQWY6.js +6 -0
- package/dist/bin/shell/chunks/chunk-7UAWRBQS.js +9 -0
- package/dist/bin/shell/chunks/chunk-ARGU3OIG.js +17 -0
- package/dist/bin/shell/chunks/chunk-BA3A5BYZ.js +3 -0
- package/dist/bin/shell/chunks/chunk-BB7T22CF.js +140 -0
- package/dist/bin/shell/chunks/chunk-BY24LKGP.js +8 -0
- package/dist/bin/shell/chunks/chunk-CRHN4WNQ.js +63 -0
- package/dist/bin/shell/chunks/chunk-ELZHJGI7.js +10 -0
- package/dist/bin/shell/chunks/chunk-F46CSMUF.js +2 -0
- package/dist/bin/shell/chunks/chunk-FQX4G5RH.js +7 -0
- package/dist/bin/shell/chunks/chunk-G43H2WGH.js +17 -0
- package/dist/bin/shell/chunks/chunk-GIFF636B.js +2 -0
- package/dist/bin/shell/chunks/chunk-GMJWC3MC.js +12 -0
- package/dist/bin/shell/chunks/chunk-HVDU57EV.js +16 -0
- package/dist/bin/shell/chunks/chunk-HWGK3XW7.js +6 -0
- package/dist/bin/shell/chunks/chunk-HYR7G7KS.js +3 -0
- package/dist/bin/shell/chunks/chunk-I2225JSU.js +14 -0
- package/dist/bin/shell/chunks/chunk-I2FUQZXU.js +11 -0
- package/dist/bin/shell/chunks/chunk-IBHPKKIT.js +10 -0
- package/dist/bin/shell/chunks/chunk-IKNNFJNZ.js +14 -0
- package/dist/bin/shell/chunks/chunk-INPUJM7Y.js +8 -0
- package/dist/bin/shell/chunks/chunk-IOBKPMWJ.js +9 -0
- package/dist/bin/shell/chunks/chunk-IYSA2L6A.js +13 -0
- package/dist/bin/shell/chunks/chunk-JMLNX7GE.js +287 -0
- package/dist/bin/shell/chunks/chunk-K2K4KPOQ.js +3 -0
- package/dist/bin/shell/chunks/chunk-K6DD7NH3.js +9 -0
- package/dist/bin/shell/chunks/chunk-KFLJ4EMB.js +4 -0
- package/dist/bin/shell/chunks/chunk-KOMDAXHM.js +7 -0
- package/dist/bin/shell/chunks/chunk-KV7ZTM2R.js +11 -0
- package/dist/bin/shell/chunks/chunk-LCCVVEJA.js +10 -0
- package/dist/bin/shell/chunks/chunk-LUPJK5US.js +84 -0
- package/dist/bin/shell/chunks/chunk-LWF3XDOC.js +32 -0
- package/dist/bin/shell/chunks/chunk-LXNARM2C.js +9 -0
- package/dist/bin/shell/chunks/chunk-LXZS3X5T.js +9 -0
- package/dist/bin/shell/chunks/chunk-M4ICSCXT.js +100 -0
- package/dist/bin/shell/chunks/chunk-MEBZXRGE.js +5 -0
- package/dist/bin/shell/chunks/chunk-MSPSS36S.js +16 -0
- package/dist/bin/shell/chunks/chunk-N335RIGZ.js +20 -0
- package/dist/bin/shell/chunks/chunk-N5KGQWJH.js +5 -0
- package/dist/bin/shell/chunks/chunk-NDHTQE5T.js +8 -0
- package/dist/bin/shell/chunks/chunk-NF5G7X3O.js +7 -0
- package/dist/bin/shell/chunks/chunk-NGKNJ6V2.js +11 -0
- package/dist/bin/shell/chunks/chunk-OBH7XN5N.js +1 -0
- package/dist/bin/shell/chunks/chunk-OKQ6RACF.js +73 -0
- package/dist/bin/shell/chunks/chunk-PBY7XGZ6.js +8 -0
- package/dist/bin/shell/chunks/chunk-PHHNNFRS.js +6 -0
- package/dist/bin/shell/chunks/chunk-PO6Y7TWQ.js +6 -0
- package/dist/bin/shell/chunks/chunk-Q4TLKLIZ.js +12 -0
- package/dist/bin/shell/chunks/chunk-QS6LP3E3.js +6 -0
- package/dist/bin/shell/chunks/chunk-QT2GMJRJ.js +8 -0
- package/dist/bin/shell/chunks/chunk-QUVW3R4I.js +5 -0
- package/dist/bin/shell/chunks/chunk-QUYWT2TY.js +21 -0
- package/dist/bin/shell/chunks/chunk-QWUII542.js +2 -0
- package/dist/bin/shell/chunks/chunk-R5EQDD5Y.js +13 -0
- package/dist/bin/shell/chunks/chunk-RQSPCXDR.js +2 -0
- package/dist/bin/shell/chunks/chunk-RTC6C5QW.js +2 -0
- package/dist/bin/shell/chunks/chunk-S5W2KVHC.js +2 -0
- package/dist/bin/shell/chunks/chunk-SDXDICI4.js +2 -0
- package/dist/bin/shell/chunks/chunk-SE4C7FJY.js +33 -0
- package/dist/bin/shell/chunks/chunk-SX7TI7Q2.js +3 -0
- package/dist/bin/shell/chunks/chunk-TDJ55L4A.js +16 -0
- package/dist/bin/shell/chunks/chunk-TNPUAMV3.js +8 -0
- package/dist/bin/shell/chunks/chunk-TSGSFBQI.js +14 -0
- package/dist/bin/shell/chunks/chunk-U5ZE562V.js +2 -0
- package/dist/bin/shell/chunks/chunk-UIMH6I3G.js +33 -0
- package/dist/bin/shell/chunks/chunk-UXPY5T2P.js +9 -0
- package/dist/bin/shell/chunks/chunk-UYBH3FNE.js +2 -0
- package/dist/bin/shell/chunks/chunk-V5I6PHN2.js +14 -0
- package/dist/bin/shell/chunks/chunk-VOTJNR36.js +5 -0
- package/dist/bin/shell/chunks/chunk-W5XFREQC.js +3 -0
- package/dist/bin/shell/chunks/chunk-X2MOXVGO.js +26 -0
- package/dist/bin/shell/chunks/chunk-XOGQUO62.js +2 -0
- package/dist/bin/shell/chunks/chunk-Y57BDPQ5.js +6 -0
- package/dist/bin/shell/chunks/chunk-YE6KXFFU.js +2 -0
- package/dist/bin/shell/chunks/chunk-YEPWKN4F.js +3 -0
- package/dist/bin/shell/chunks/chunk-ZEDWVSUZ.js +19 -0
- package/dist/bin/shell/chunks/chunk-ZI4TTZL5.js +21 -0
- package/dist/bin/shell/chunks/chunk-ZZVIGHYS.js +7 -0
- package/dist/bin/shell/chunks/clear-27OP2FQZ.js +2 -0
- package/dist/bin/shell/chunks/column-FJNKONCJ.js +2 -0
- package/dist/bin/shell/chunks/comm-5FNEJE7X.js +2 -0
- package/dist/bin/shell/chunks/cp-LVKHKFHQ.js +2 -0
- package/dist/bin/shell/chunks/curl-S4FJSZA5.js +26 -0
- package/dist/bin/shell/chunks/cut-UXU6PNTT.js +2 -0
- package/dist/bin/shell/chunks/date-GGPTXVUT.js +2 -0
- package/dist/bin/shell/chunks/diff-3V3FOITV.js +2 -0
- package/dist/bin/shell/chunks/dirname-455JDV2M.js +2 -0
- package/dist/bin/shell/chunks/du-WUEAQO2W.js +2 -0
- package/dist/bin/shell/chunks/echo-HBXOI5TQ.js +2 -0
- package/dist/bin/shell/chunks/env-MXFHTVHS.js +2 -0
- package/dist/bin/shell/chunks/expand-F4FM4ML2.js +2 -0
- package/dist/bin/shell/chunks/expansion-7AYBVOIQ.js +2 -0
- package/dist/bin/shell/chunks/expr-5ZKR5ER5.js +2 -0
- package/dist/bin/shell/chunks/file-BFN7BKUR.js +2 -0
- package/dist/bin/shell/chunks/find-W4BCEJEC.js +2 -0
- package/dist/bin/shell/chunks/flag-coverage-DBKGNLJO.js +2 -0
- package/dist/bin/shell/chunks/fold-AE57YLOS.js +2 -0
- package/dist/bin/shell/chunks/grep-I63BWUKL.js +2 -0
- package/dist/bin/shell/chunks/gzip-X5IDXWZE.js +2 -0
- package/dist/bin/shell/chunks/head-TBQETLQX.js +2 -0
- package/dist/bin/shell/chunks/help-HGMKZ2GW.js +2 -0
- package/dist/bin/shell/chunks/history-2DYRIL3U.js +2 -0
- package/dist/bin/shell/chunks/hostname-RWEPTCXH.js +2 -0
- package/dist/bin/shell/chunks/html-to-markdown-2VQWCEKU.js +2 -0
- package/dist/bin/shell/chunks/join-TRRWQBEU.js +2 -0
- package/dist/bin/shell/chunks/jq-NFKKH27D.js +2 -0
- package/dist/bin/shell/chunks/ln-BSEVUP2J.js +2 -0
- package/dist/bin/shell/chunks/ls-IJLTWVOI.js +2 -0
- package/dist/bin/shell/chunks/md5sum-ZIQHOC4K.js +2 -0
- package/dist/bin/shell/chunks/mkdir-KYFAO2SF.js +2 -0
- package/dist/bin/shell/chunks/mv-TWM2PA7Q.js +2 -0
- package/dist/bin/shell/chunks/nl-XLF2HFST.js +2 -0
- package/dist/bin/shell/chunks/od-BOM6JPTH.js +2 -0
- package/dist/bin/shell/chunks/paste-FUGXVGJX.js +2 -0
- package/dist/bin/shell/chunks/printf-XUGNJ3QM.js +2 -0
- package/dist/bin/shell/chunks/pwd-RZG6GZEU.js +2 -0
- package/dist/bin/shell/chunks/python3-PIXJS3YM.js +14 -0
- package/dist/bin/shell/chunks/readlink-4SOSIDHE.js +2 -0
- package/dist/bin/shell/chunks/rev-5E5UGSUZ.js +2 -0
- package/dist/bin/shell/chunks/rg-4YJSQZN7.js +2 -0
- package/dist/bin/shell/chunks/rm-3PFOF4E3.js +2 -0
- package/dist/bin/shell/chunks/rmdir-CSK7CGH5.js +2 -0
- package/dist/bin/shell/chunks/sed-XBCUZMEP.js +2 -0
- package/dist/bin/shell/chunks/seq-H7ID4VMK.js +2 -0
- package/dist/bin/shell/chunks/sha1sum-EDQNYXXH.js +2 -0
- package/dist/bin/shell/chunks/sha256sum-APTG6DO2.js +2 -0
- package/dist/bin/shell/chunks/sleep-PNT7KILS.js +2 -0
- package/dist/bin/shell/chunks/sort-ELAGZUES.js +2 -0
- package/dist/bin/shell/chunks/split-QGXYUWBC.js +2 -0
- package/dist/bin/shell/chunks/sqlite3-ELLMKNNJ.js +2 -0
- package/dist/bin/shell/chunks/stat-Q2TZRKO3.js +2 -0
- package/dist/bin/shell/chunks/strings-IGEGP5QX.js +2 -0
- package/dist/bin/shell/chunks/tac-VOEDJLLG.js +2 -0
- package/dist/bin/shell/chunks/tail-JOQASWMV.js +2 -0
- package/dist/bin/shell/chunks/tar-2UVSVD3P.js +2 -0
- package/dist/bin/shell/chunks/tee-IQLEDZOQ.js +2 -0
- package/dist/bin/shell/chunks/time-VRCJK2LI.js +2 -0
- package/dist/bin/shell/chunks/timeout-A36YWZWR.js +2 -0
- package/dist/bin/shell/chunks/touch-5ECNQNBP.js +2 -0
- package/dist/bin/shell/chunks/tr-AVALLN54.js +2 -0
- package/dist/bin/shell/chunks/tree-UFM5EDXS.js +2 -0
- package/dist/bin/shell/chunks/true-BU5JSAAW.js +2 -0
- package/dist/bin/shell/chunks/unexpand-TDRWZW5F.js +2 -0
- package/dist/bin/shell/chunks/uniq-IKBUNAMN.js +2 -0
- package/dist/bin/shell/chunks/wc-2R4RS2SX.js +2 -0
- package/dist/bin/shell/chunks/which-6UVGMXDF.js +2 -0
- package/dist/bin/shell/chunks/whoami-N6TLTETT.js +2 -0
- package/dist/bin/shell/chunks/xan-JX5QUK32.js +2 -0
- package/dist/bin/shell/chunks/xan-view-NFMUMJ7Z.js +2 -0
- package/dist/bin/shell/chunks/xargs-4MYN4U3C.js +2 -0
- package/dist/bin/shell/chunks/yq-EHDQVD7S.js +2 -0
- package/dist/bin/shell/shell.js +711 -0
- package/dist/browser.d.ts +22 -0
- package/dist/bundle/browser.js +1481 -0
- package/dist/bundle/chunks/alias-T2KDAHDL.js +1 -0
- package/dist/bundle/chunks/awk2-UIH6CPHX.js +1 -0
- package/dist/bundle/chunks/base64-RY5JPAQL.js +1 -0
- package/dist/bundle/chunks/basename-QT55QR7O.js +1 -0
- package/dist/bundle/chunks/bash-BZZ6TUGW.js +1 -0
- package/dist/bundle/chunks/bytes-W6ESHQ7F.js +1 -0
- package/dist/bundle/chunks/cat-WUR2OJUG.js +1 -0
- package/dist/bundle/chunks/chmod-LTQYKUUW.js +1 -0
- package/dist/bundle/chunks/chunk-24BT6QUB.js +11 -0
- package/dist/bundle/chunks/chunk-274QVGRQ.js +2 -0
- package/dist/bundle/chunks/chunk-2IKXAFP4.js +11 -0
- package/dist/bundle/chunks/chunk-2IO54DPD.js +1 -0
- package/dist/bundle/chunks/chunk-2VAJD54D.js +13 -0
- package/dist/bundle/chunks/chunk-34P4G5H7.js +5 -0
- package/dist/bundle/chunks/chunk-3OY3UJDR.js +62 -0
- package/dist/bundle/chunks/chunk-3R6EWKMD.js +13 -0
- package/dist/bundle/chunks/chunk-3SPSXVPQ.js +2 -0
- package/dist/bundle/chunks/chunk-43RXAZRC.js +7 -0
- package/dist/bundle/chunks/chunk-44UOCSGV.js +1 -0
- package/dist/bundle/chunks/chunk-47LWQIG6.js +15 -0
- package/dist/bundle/chunks/chunk-4L3Y4LKT.js +5 -0
- package/dist/bundle/chunks/chunk-4LYDOEQ6.js +4 -0
- package/dist/bundle/chunks/chunk-4Q5DFBVQ.js +6 -0
- package/dist/bundle/chunks/chunk-4R5AUIZ4.js +6 -0
- package/dist/bundle/chunks/chunk-4UTZCT3W.js +2 -0
- package/dist/bundle/chunks/chunk-5FDLF2FN.js +5 -0
- package/dist/bundle/chunks/chunk-5HJSZMTG.js +1 -0
- package/dist/bundle/chunks/chunk-5NR6JZM4.js +12 -0
- package/dist/bundle/chunks/chunk-5PL72KVW.js +7 -0
- package/dist/bundle/chunks/chunk-6BM2WKUH.js +23 -0
- package/dist/bundle/chunks/chunk-6HLDZZOT.js +4 -0
- package/dist/bundle/chunks/chunk-7MKBHGLS.js +1 -0
- package/dist/bundle/chunks/chunk-7VHVF5PX.js +20 -0
- package/dist/bundle/chunks/chunk-A3YV3X3J.js +6 -0
- package/dist/bundle/chunks/chunk-AJNR4FJT.js +8 -0
- package/dist/bundle/chunks/chunk-AMQM5ZPF.js +1 -0
- package/dist/bundle/chunks/chunk-BCDE2QUY.js +1 -0
- package/dist/bundle/chunks/chunk-BMKJMOWP.js +2 -0
- package/dist/bundle/chunks/chunk-BVFIC7R6.js +4 -0
- package/dist/bundle/chunks/chunk-CC4HUWHZ.js +4 -0
- package/dist/bundle/chunks/chunk-CNCKROJZ.js +10 -0
- package/dist/bundle/chunks/chunk-CSFZQCAK.js +139 -0
- package/dist/bundle/chunks/chunk-CU7G2LMR.js +1 -0
- package/dist/bundle/chunks/chunk-CZP7PMAG.js +4 -0
- package/dist/bundle/chunks/chunk-D2OUCFAU.js +8 -0
- package/dist/bundle/chunks/chunk-DQXLKPVQ.js +7 -0
- package/dist/bundle/chunks/chunk-E6IR6BWV.js +286 -0
- package/dist/bundle/chunks/chunk-ELZ2RVIZ.js +11 -0
- package/dist/bundle/chunks/chunk-EVNUXIEZ.js +2 -0
- package/dist/bundle/chunks/chunk-F6FQRFZU.js +6 -0
- package/dist/bundle/chunks/chunk-FAECBHMR.js +2 -0
- package/dist/bundle/chunks/chunk-FBOLGXN4.js +16 -0
- package/dist/bundle/chunks/chunk-FNIOXBJW.js +9 -0
- package/dist/bundle/chunks/chunk-GD5SDRL7.js +5 -0
- package/dist/bundle/chunks/chunk-GEAGCSIY.js +31 -0
- package/dist/bundle/chunks/chunk-GI2KN5IL.js +22 -0
- package/dist/bundle/chunks/chunk-GOG2LNAH.js +9 -0
- package/dist/bundle/chunks/chunk-H2ENJVUI.js +10 -0
- package/dist/bundle/chunks/chunk-HDNR2KMO.js +13 -0
- package/dist/bundle/chunks/chunk-HJ37IXKX.js +12 -0
- package/dist/bundle/chunks/chunk-I36BZMR3.js +1 -0
- package/dist/bundle/chunks/chunk-I6YSZMB6.js +15 -0
- package/dist/bundle/chunks/chunk-IJXFPKNC.js +1 -0
- package/dist/bundle/chunks/chunk-IXD4Z54Z.js +8 -0
- package/dist/bundle/chunks/chunk-J44PYBAW.js +2 -0
- package/dist/bundle/chunks/chunk-JDREUEBG.js +9 -0
- package/dist/bundle/chunks/chunk-KA244HSE.js +5 -0
- package/dist/bundle/chunks/chunk-KKZJ6K7R.js +8 -0
- package/dist/bundle/chunks/chunk-KZ3P3SVS.js +22 -0
- package/dist/bundle/chunks/chunk-LIVSDOY2.js +1 -0
- package/dist/bundle/chunks/chunk-LX7SQKLW.js +15 -0
- package/dist/bundle/chunks/chunk-M5O5DYR7.js +1 -0
- package/dist/bundle/chunks/chunk-MML7K3J2.js +6 -0
- package/dist/bundle/chunks/chunk-N4GRDEVJ.js +5 -0
- package/dist/bundle/chunks/chunk-NPZMNEW5.js +6 -0
- package/dist/bundle/chunks/chunk-NUFRM6SI.js +0 -0
- package/dist/bundle/chunks/chunk-O7N2RCS7.js +1 -0
- package/dist/bundle/chunks/chunk-OSYLT4VG.js +4 -0
- package/dist/bundle/chunks/chunk-OXRHP7HO.js +3 -0
- package/dist/bundle/chunks/chunk-OZOS3R6K.js +99 -0
- package/dist/bundle/chunks/chunk-OZQ4AW5X.js +8 -0
- package/dist/bundle/chunks/chunk-PNGAWBIZ.js +10 -0
- package/dist/bundle/chunks/chunk-PPUKM2B7.js +13 -0
- package/dist/bundle/chunks/chunk-PTELGM2J.js +7 -0
- package/dist/bundle/chunks/chunk-Q3TLRYBC.js +72 -0
- package/dist/bundle/chunks/chunk-Q5AOYNOX.js +6 -0
- package/dist/bundle/chunks/chunk-QEKGAAIL.js +1 -0
- package/dist/bundle/chunks/chunk-QIL3FXIC.js +6 -0
- package/dist/bundle/chunks/chunk-QNZEO23C.js +8 -0
- package/dist/bundle/chunks/chunk-R4IVADTA.js +7 -0
- package/dist/bundle/chunks/chunk-RK57WTFF.js +12 -0
- package/dist/bundle/chunks/chunk-RU5M6ZRS.js +4 -0
- package/dist/bundle/chunks/chunk-SBVBPPEQ.js +5 -0
- package/dist/bundle/chunks/chunk-SP22LBKJ.js +20 -0
- package/dist/bundle/chunks/chunk-UKS3AEEA.js +32 -0
- package/dist/bundle/chunks/chunk-UYR5HJI6.js +7 -0
- package/dist/bundle/chunks/chunk-V6ANTLBA.js +15 -0
- package/dist/bundle/chunks/chunk-VLGZJRPG.js +16 -0
- package/dist/bundle/chunks/chunk-VZUQMDOT.js +2 -0
- package/dist/bundle/chunks/chunk-XDQU6V6S.js +19 -0
- package/dist/bundle/chunks/chunk-XRVUJRYI.js +35 -0
- package/dist/bundle/chunks/chunk-YNYSPYQ5.js +32 -0
- package/dist/bundle/chunks/clear-NLKZY76S.js +1 -0
- package/dist/bundle/chunks/column-S7P64XRJ.js +1 -0
- package/dist/bundle/chunks/comm-FPLN4BYY.js +1 -0
- package/dist/bundle/chunks/cp-W5HXJH5J.js +1 -0
- package/dist/bundle/chunks/curl-UFR6W4B6.js +25 -0
- package/dist/bundle/chunks/cut-VNFQFCA7.js +1 -0
- package/dist/bundle/chunks/date-EDSSFONA.js +1 -0
- package/dist/bundle/chunks/diff-RR5VJXIT.js +1 -0
- package/dist/bundle/chunks/dirname-V7Z24BGZ.js +1 -0
- package/dist/bundle/chunks/du-QKRPQIMY.js +1 -0
- package/dist/bundle/chunks/echo-TR3BM2AJ.js +1 -0
- package/dist/bundle/chunks/env-SVQBHVZF.js +1 -0
- package/dist/bundle/chunks/expand-ZVCJ72RF.js +1 -0
- package/dist/bundle/chunks/expansion-OBOJBZTH.js +1 -0
- package/dist/bundle/chunks/expr-QRA5KFYV.js +1 -0
- package/dist/bundle/chunks/file-TORG4IVZ.js +1 -0
- package/dist/bundle/chunks/find-NAGPRRQ7.js +1 -0
- package/dist/bundle/chunks/flag-coverage-FMTW4YWD.js +1 -0
- package/dist/bundle/chunks/fold-L4U6GS2N.js +1 -0
- package/dist/bundle/chunks/grep-D6AI423Z.js +1 -0
- package/dist/bundle/chunks/gzip-4EFUBHN7.js +1 -0
- package/dist/bundle/chunks/head-KBQT2JAC.js +1 -0
- package/dist/bundle/chunks/help-F3TJS3LS.js +1 -0
- package/dist/bundle/chunks/history-OKEAINJD.js +1 -0
- package/dist/bundle/chunks/hostname-AGIPNJOC.js +1 -0
- package/dist/bundle/chunks/html-to-markdown-P2LSCPVF.js +1 -0
- package/dist/bundle/chunks/join-FTSZAZYU.js +1 -0
- package/dist/bundle/chunks/jq-TNIKCGGT.js +1 -0
- package/dist/bundle/chunks/ln-BWYUCELO.js +1 -0
- package/dist/bundle/chunks/ls-6BM6G675.js +1 -0
- package/dist/bundle/chunks/md5sum-ALFVDB3W.js +1 -0
- package/dist/bundle/chunks/mkdir-I3BZBLTZ.js +1 -0
- package/dist/bundle/chunks/mv-76WRD5SE.js +1 -0
- package/dist/bundle/chunks/nl-77Q7V2GV.js +1 -0
- package/dist/bundle/chunks/od-AA6TIC6A.js +1 -0
- package/dist/bundle/chunks/paste-C6JKQOHO.js +1 -0
- package/dist/bundle/chunks/printf-WOYMDX2I.js +1 -0
- package/dist/bundle/chunks/pwd-BE3B3ZPG.js +1 -0
- package/dist/bundle/chunks/python3-QFUFNW7I.js +13 -0
- package/dist/bundle/chunks/readlink-QI6K7ZZX.js +1 -0
- package/dist/bundle/chunks/rev-2FZQEIQG.js +1 -0
- package/dist/bundle/chunks/rg-CNS6SD3V.js +1 -0
- package/dist/bundle/chunks/rm-JMWEKCU4.js +1 -0
- package/dist/bundle/chunks/rmdir-5HDB4IQ7.js +1 -0
- package/dist/bundle/chunks/sed-CSUGXVBJ.js +1 -0
- package/dist/bundle/chunks/seq-UP62NDEL.js +1 -0
- package/dist/bundle/chunks/sha1sum-XXYTWQIW.js +1 -0
- package/dist/bundle/chunks/sha256sum-GD6AFWG3.js +1 -0
- package/dist/bundle/chunks/sleep-225KIGXI.js +1 -0
- package/dist/bundle/chunks/sort-BIWEEIVX.js +1 -0
- package/dist/bundle/chunks/split-QUFGLTTX.js +1 -0
- package/dist/bundle/chunks/sqlite3-3ZFEGTQ7.js +1 -0
- package/dist/bundle/chunks/stat-DIMPSC6S.js +1 -0
- package/dist/bundle/chunks/strings-LECMRXOT.js +1 -0
- package/dist/bundle/chunks/tac-A6JKZKWL.js +1 -0
- package/dist/bundle/chunks/tail-YGDXZZGG.js +1 -0
- package/dist/bundle/chunks/tar-7KN7KZ6S.js +1 -0
- package/dist/bundle/chunks/tee-J4MBDQJZ.js +1 -0
- package/dist/bundle/chunks/time-CVS7ESWV.js +1 -0
- package/dist/bundle/chunks/timeout-UX2PSLYJ.js +1 -0
- package/dist/bundle/chunks/touch-ATQADRUQ.js +1 -0
- package/dist/bundle/chunks/tr-QVFN4YWH.js +1 -0
- package/dist/bundle/chunks/tree-IY7WNFVF.js +1 -0
- package/dist/bundle/chunks/true-AKKYE7WM.js +1 -0
- package/dist/bundle/chunks/unexpand-2WTX7UPB.js +1 -0
- package/dist/bundle/chunks/uniq-XS6VGRO2.js +1 -0
- package/dist/bundle/chunks/wc-22EISCPD.js +1 -0
- package/dist/bundle/chunks/which-IWHCX6SW.js +1 -0
- package/dist/bundle/chunks/whoami-HCON4D7C.js +1 -0
- package/dist/bundle/chunks/worker.js +2260 -0
- package/dist/bundle/chunks/xan-XDECJHII.js +1 -0
- package/dist/bundle/chunks/xan-view-IJ4EABH7.js +1 -0
- package/dist/bundle/chunks/xargs-5MMN7C6P.js +1 -0
- package/dist/bundle/chunks/yq-LQX5YIGM.js +1 -0
- package/dist/bundle/index.js +688 -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 +73 -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 +52 -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 +31 -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/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/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/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 +31 -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/fs-bridge-handler.d.ts +50 -0
- package/dist/commands/python3/protocol.d.ts +138 -0
- package/dist/commands/python3/python3.d.ts +11 -0
- package/dist/commands/python3/sync-fs-backend.d.ts +59 -0
- package/dist/commands/python3/worker.d.ts +22 -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 +37 -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 +59 -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 +45 -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 +60 -0
- package/dist/commands/search-engine/regex.d.ts +33 -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 +219 -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 +16 -0
- package/dist/commands/sqlite3/worker.d.ts +44 -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 +107 -0
- package/dist/commands/tar/tar-options.d.ts +36 -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/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 +61 -0
- package/dist/fs/encoding.d.ts +17 -0
- package/dist/fs/in-memory-fs/in-memory-fs.d.ts +63 -0
- package/dist/fs/in-memory-fs/index.d.ts +1 -0
- package/dist/fs/init.d.ts +12 -0
- package/dist/fs/interface.d.ts +219 -0
- package/dist/fs/mountable-fs/index.d.ts +1 -0
- package/dist/fs/mountable-fs/mountable-fs.d.ts +120 -0
- package/dist/fs/overlay-fs/index.d.ts +1 -0
- package/dist/fs/overlay-fs/overlay-fs.d.ts +126 -0
- package/dist/fs/read-write-fs/index.d.ts +1 -0
- package/dist/fs/read-write-fs/read-write-fs.d.ts +69 -0
- package/dist/index.d.ts +19 -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/errors.d.ts +150 -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 +43 -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 +57 -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 +18 -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 +62 -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 +29 -0
- package/dist/interpreter/helpers/xtrace.d.ts +18 -0
- package/dist/interpreter/index.d.ts +3 -0
- package/dist/interpreter/interpreter.d.ts +65 -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 +317 -0
- package/dist/limits.d.ts +42 -0
- package/dist/network/allow-list/shared.d.ts +45 -0
- package/dist/network/allow-list.d.ts +51 -0
- package/dist/network/fetch.d.ts +25 -0
- package/dist/network/index.d.ts +7 -0
- package/dist/network/types.d.ts +96 -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 +192 -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 +28 -0
- package/dist/sandbox/Sandbox.d.ts +60 -0
- package/dist/sandbox/index.d.ts +2 -0
- package/dist/shell-metadata.d.ts +28 -0
- package/dist/test-utils.d.ts +15 -0
- package/dist/types.d.ts +148 -0
- package/dist/utils/args.d.ts +55 -0
- package/dist/utils/bytes.d.ts +39 -0
- package/dist/utils/constants.d.ts +15 -0
- package/dist/utils/file-reader.d.ts +67 -0
- package/dist/utils/glob.d.ts +25 -0
- package/package.json +115 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compound Command Parser
|
|
3
|
+
*
|
|
4
|
+
* Handles parsing of compound commands: if, for, while, until, case, subshell, group.
|
|
5
|
+
*/
|
|
6
|
+
import { type CaseNode, type CStyleForNode, type ForNode, type GroupNode, type IfNode, type SubshellNode, type UntilNode, type WhileNode } from "../ast/types.js";
|
|
7
|
+
import type { Parser } from "./parser.js";
|
|
8
|
+
export declare function parseIf(p: Parser, options?: {
|
|
9
|
+
skipRedirections?: boolean;
|
|
10
|
+
}): IfNode;
|
|
11
|
+
export declare function parseFor(p: Parser, options?: {
|
|
12
|
+
skipRedirections?: boolean;
|
|
13
|
+
}): ForNode | CStyleForNode;
|
|
14
|
+
export declare function parseWhile(p: Parser, options?: {
|
|
15
|
+
skipRedirections?: boolean;
|
|
16
|
+
}): WhileNode;
|
|
17
|
+
export declare function parseUntil(p: Parser, options?: {
|
|
18
|
+
skipRedirections?: boolean;
|
|
19
|
+
}): UntilNode;
|
|
20
|
+
export declare function parseCase(p: Parser, options?: {
|
|
21
|
+
skipRedirections?: boolean;
|
|
22
|
+
}): CaseNode;
|
|
23
|
+
export declare function parseSubshell(p: Parser, options?: {
|
|
24
|
+
skipRedirections?: boolean;
|
|
25
|
+
}): SubshellNode | CStyleForNode;
|
|
26
|
+
export declare function parseGroup(p: Parser, options?: {
|
|
27
|
+
skipRedirections?: boolean;
|
|
28
|
+
}): GroupNode;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Conditional Expression Parser
|
|
3
|
+
*
|
|
4
|
+
* Handles parsing of [[ ... ]] conditional commands.
|
|
5
|
+
*/
|
|
6
|
+
import type { ConditionalExpressionNode } from "../ast/types.js";
|
|
7
|
+
import type { Parser } from "./parser.js";
|
|
8
|
+
export declare function parseConditionalExpression(p: Parser): ConditionalExpressionNode;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Expansion Parser
|
|
3
|
+
*
|
|
4
|
+
* Handles parsing of parameter expansions, arithmetic expansions, etc.
|
|
5
|
+
*/
|
|
6
|
+
import { type WordPart } from "../ast/types.js";
|
|
7
|
+
import type { Parser } from "./parser.js";
|
|
8
|
+
export declare function parseWordParts(p: Parser, value: string, quoted?: boolean, singleQuoted?: boolean, isAssignment?: boolean, hereDoc?: boolean,
|
|
9
|
+
/** When true, single quotes are treated as literal characters, not quote delimiters */
|
|
10
|
+
singleQuotesAreLiteral?: boolean,
|
|
11
|
+
/** When true, brace expansion is disabled (used in [[ ]] conditionals) */
|
|
12
|
+
noBraceExpansion?: boolean,
|
|
13
|
+
/** When true, all backslash escapes create Escaped nodes (for regex patterns in [[ =~ ]]) */
|
|
14
|
+
regexPattern?: boolean,
|
|
15
|
+
/** When true, \} is treated as escaped } (used in parameter expansion default values) */
|
|
16
|
+
inParameterExpansion?: boolean): WordPart[];
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lexer for Bash Scripts
|
|
3
|
+
*
|
|
4
|
+
* The lexer tokenizes input into a stream of tokens that the parser consumes.
|
|
5
|
+
* It handles:
|
|
6
|
+
* - Operators and delimiters
|
|
7
|
+
* - Words (with quoting rules)
|
|
8
|
+
* - Comments
|
|
9
|
+
* - Here-documents
|
|
10
|
+
* - Escape sequences
|
|
11
|
+
*/
|
|
12
|
+
export declare enum TokenType {
|
|
13
|
+
EOF = "EOF",
|
|
14
|
+
NEWLINE = "NEWLINE",
|
|
15
|
+
SEMICOLON = "SEMICOLON",
|
|
16
|
+
AMP = "AMP",// &
|
|
17
|
+
PIPE = "PIPE",// |
|
|
18
|
+
PIPE_AMP = "PIPE_AMP",// |&
|
|
19
|
+
AND_AND = "AND_AND",// &&
|
|
20
|
+
OR_OR = "OR_OR",// ||
|
|
21
|
+
BANG = "BANG",// !
|
|
22
|
+
LESS = "LESS",// <
|
|
23
|
+
GREAT = "GREAT",// >
|
|
24
|
+
DLESS = "DLESS",// <<
|
|
25
|
+
DGREAT = "DGREAT",// >>
|
|
26
|
+
LESSAND = "LESSAND",// <&
|
|
27
|
+
GREATAND = "GREATAND",// >&
|
|
28
|
+
LESSGREAT = "LESSGREAT",// <>
|
|
29
|
+
DLESSDASH = "DLESSDASH",// <<-
|
|
30
|
+
CLOBBER = "CLOBBER",// >|
|
|
31
|
+
TLESS = "TLESS",// <<<
|
|
32
|
+
AND_GREAT = "AND_GREAT",// &>
|
|
33
|
+
AND_DGREAT = "AND_DGREAT",// &>>
|
|
34
|
+
LPAREN = "LPAREN",// (
|
|
35
|
+
RPAREN = "RPAREN",// )
|
|
36
|
+
LBRACE = "LBRACE",// {
|
|
37
|
+
RBRACE = "RBRACE",// }
|
|
38
|
+
DSEMI = "DSEMI",// ;;
|
|
39
|
+
SEMI_AND = "SEMI_AND",// ;&
|
|
40
|
+
SEMI_SEMI_AND = "SEMI_SEMI_AND",// ;;&
|
|
41
|
+
DBRACK_START = "DBRACK_START",// [[
|
|
42
|
+
DBRACK_END = "DBRACK_END",// ]]
|
|
43
|
+
DPAREN_START = "DPAREN_START",// ((
|
|
44
|
+
DPAREN_END = "DPAREN_END",// ))
|
|
45
|
+
IF = "IF",
|
|
46
|
+
THEN = "THEN",
|
|
47
|
+
ELSE = "ELSE",
|
|
48
|
+
ELIF = "ELIF",
|
|
49
|
+
FI = "FI",
|
|
50
|
+
FOR = "FOR",
|
|
51
|
+
WHILE = "WHILE",
|
|
52
|
+
UNTIL = "UNTIL",
|
|
53
|
+
DO = "DO",
|
|
54
|
+
DONE = "DONE",
|
|
55
|
+
CASE = "CASE",
|
|
56
|
+
ESAC = "ESAC",
|
|
57
|
+
IN = "IN",
|
|
58
|
+
FUNCTION = "FUNCTION",
|
|
59
|
+
SELECT = "SELECT",
|
|
60
|
+
TIME = "TIME",
|
|
61
|
+
COPROC = "COPROC",
|
|
62
|
+
WORD = "WORD",
|
|
63
|
+
NAME = "NAME",// Valid variable name
|
|
64
|
+
NUMBER = "NUMBER",// For redirections like 2>&1
|
|
65
|
+
ASSIGNMENT_WORD = "ASSIGNMENT_WORD",// VAR=value
|
|
66
|
+
FD_VARIABLE = "FD_VARIABLE",// {varname} before redirect operator
|
|
67
|
+
COMMENT = "COMMENT",
|
|
68
|
+
HEREDOC_CONTENT = "HEREDOC_CONTENT"
|
|
69
|
+
}
|
|
70
|
+
export interface Token {
|
|
71
|
+
type: TokenType;
|
|
72
|
+
value: string;
|
|
73
|
+
/** Original position in input */
|
|
74
|
+
start: number;
|
|
75
|
+
end: number;
|
|
76
|
+
line: number;
|
|
77
|
+
column: number;
|
|
78
|
+
/** For WORD tokens: quote information */
|
|
79
|
+
quoted?: boolean;
|
|
80
|
+
singleQuoted?: boolean;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Error thrown when the lexer encounters invalid input
|
|
84
|
+
*/
|
|
85
|
+
export declare class LexerError extends Error {
|
|
86
|
+
line: number;
|
|
87
|
+
column: number;
|
|
88
|
+
constructor(message: string, line: number, column: number);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Lexer class
|
|
92
|
+
*/
|
|
93
|
+
export declare class Lexer {
|
|
94
|
+
private input;
|
|
95
|
+
private pos;
|
|
96
|
+
private line;
|
|
97
|
+
private column;
|
|
98
|
+
private tokens;
|
|
99
|
+
private pendingHeredocs;
|
|
100
|
+
private dparenDepth;
|
|
101
|
+
constructor(input: string);
|
|
102
|
+
/**
|
|
103
|
+
* Tokenize the entire input
|
|
104
|
+
*/
|
|
105
|
+
tokenize(): Token[];
|
|
106
|
+
private skipWhitespace;
|
|
107
|
+
private nextToken;
|
|
108
|
+
/**
|
|
109
|
+
* Look ahead from position after (( to determine if this is nested subshells
|
|
110
|
+
* like ((cmd) || (cmd2)) rather than arithmetic like ((1+2)).
|
|
111
|
+
*
|
|
112
|
+
* Returns true if it looks like nested subshells (command invocation).
|
|
113
|
+
*/
|
|
114
|
+
private looksLikeNestedSubshells;
|
|
115
|
+
private makeToken;
|
|
116
|
+
private readComment;
|
|
117
|
+
private readWord;
|
|
118
|
+
private readHeredocContent;
|
|
119
|
+
/**
|
|
120
|
+
* Register a here-document to be read after the next newline
|
|
121
|
+
*/
|
|
122
|
+
addPendingHeredoc(delimiter: string, stripTabs: boolean, quoted: boolean): void;
|
|
123
|
+
/**
|
|
124
|
+
* Look ahead from current position to find the here-doc delimiter
|
|
125
|
+
* and register it as a pending here-doc
|
|
126
|
+
*/
|
|
127
|
+
private registerHeredocFromLookahead;
|
|
128
|
+
/**
|
|
129
|
+
* Check if position is followed by word characters (not a word boundary).
|
|
130
|
+
* Used to determine if } should be literal or RBRACE token.
|
|
131
|
+
*/
|
|
132
|
+
private isWordCharFollowing;
|
|
133
|
+
/**
|
|
134
|
+
* Read a word that starts with a brace expansion.
|
|
135
|
+
* Includes the brace expansion plus any suffix characters and additional brace expansions.
|
|
136
|
+
*/
|
|
137
|
+
private readWordWithBraceExpansion;
|
|
138
|
+
/**
|
|
139
|
+
* Scan ahead to detect brace expansion pattern.
|
|
140
|
+
* Returns the full brace expansion string if found, null otherwise.
|
|
141
|
+
* Brace expansion must contain either:
|
|
142
|
+
* - A comma (e.g., {a,b,c})
|
|
143
|
+
* - A range with .. (e.g., {1..10})
|
|
144
|
+
*/
|
|
145
|
+
private scanBraceExpansion;
|
|
146
|
+
/**
|
|
147
|
+
* Scan a literal brace word like {foo} (no comma, no range).
|
|
148
|
+
* Returns the literal string if found, null otherwise.
|
|
149
|
+
* This is used when {} contains something but it's not a valid brace expansion.
|
|
150
|
+
*/
|
|
151
|
+
private scanLiteralBraceWord;
|
|
152
|
+
/**
|
|
153
|
+
* Scan an extglob pattern starting at the opening parenthesis.
|
|
154
|
+
* Extglob patterns are: @(...), *(...), +(...), ?(...), !(...)
|
|
155
|
+
* The operator (@, *, +, ?, !) is already consumed; we start at the (.
|
|
156
|
+
* Returns the content including parentheses, or null if not a valid extglob.
|
|
157
|
+
*/
|
|
158
|
+
private scanExtglobPattern;
|
|
159
|
+
/**
|
|
160
|
+
* Scan for FD variable syntax: {varname} immediately followed by a redirect operator.
|
|
161
|
+
* This is the bash 4.1+ feature where {fd}>file allocates an FD and stores it in variable.
|
|
162
|
+
* Returns the variable name and end position if found, null otherwise.
|
|
163
|
+
*
|
|
164
|
+
* Valid patterns:
|
|
165
|
+
* - {varname}>file, {varname}>>file, {varname}>|file
|
|
166
|
+
* - {varname}<file, {varname}<<word, {varname}<<<word
|
|
167
|
+
* - {varname}<>file
|
|
168
|
+
* - {varname}>&N, {varname}<&N
|
|
169
|
+
* - {varname}>&-, {varname}<&- (close FD)
|
|
170
|
+
*/
|
|
171
|
+
private scanFdVariable;
|
|
172
|
+
/**
|
|
173
|
+
* Scan ahead from a $(( position to determine if it should be treated as
|
|
174
|
+
* $( ( subshell ) ) instead of $(( arithmetic )).
|
|
175
|
+
* This handles cases like:
|
|
176
|
+
* echo $(( echo 1
|
|
177
|
+
* echo 2
|
|
178
|
+
* ) )
|
|
179
|
+
* which should be a command substitution containing a subshell, not arithmetic.
|
|
180
|
+
*
|
|
181
|
+
* @param startPos - position at the second ( (i.e., at input[startPos] === "(")
|
|
182
|
+
* @returns true if this is a subshell (closes with ) )), false if arithmetic (closes with )))
|
|
183
|
+
*/
|
|
184
|
+
private dollarDparenIsSubshell;
|
|
185
|
+
/**
|
|
186
|
+
* Scan ahead from a (( position to determine if it closes with ) ) (nested subshells)
|
|
187
|
+
* or )) (arithmetic). We need to track paren depth and quotes to find the matching close.
|
|
188
|
+
* @param startPos - position after the (( (i.e., at the first char of content)
|
|
189
|
+
* @returns true if it closes with ) ) (space between parens), false otherwise
|
|
190
|
+
*/
|
|
191
|
+
private dparenClosesWithSpacedParens;
|
|
192
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Command and Arithmetic Substitution Parsing Helpers
|
|
3
|
+
*
|
|
4
|
+
* Contains pure string analysis functions and substitution parsing utilities
|
|
5
|
+
* extracted from the main parser.
|
|
6
|
+
*/
|
|
7
|
+
import { type CommandSubstitutionPart, type ScriptNode } from "../ast/types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Type for a parser factory function that creates new parser instances.
|
|
10
|
+
* Used to avoid circular dependencies.
|
|
11
|
+
*/
|
|
12
|
+
export type ParserFactory = () => {
|
|
13
|
+
parse(input: string): ScriptNode;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Type for an error reporting function.
|
|
17
|
+
*/
|
|
18
|
+
export type ErrorFn = (message: string) => never;
|
|
19
|
+
/**
|
|
20
|
+
* Check if $(( at position `start` in `value` is a command substitution with nested
|
|
21
|
+
* subshell rather than arithmetic expansion. This uses similar logic to the lexer's
|
|
22
|
+
* dparenClosesWithSpacedParens but operates on a string within a word/expansion.
|
|
23
|
+
*
|
|
24
|
+
* The key heuristics are:
|
|
25
|
+
* 1. If it closes with `) )` (separated by whitespace or content), it's a subshell
|
|
26
|
+
* 2. If at depth 1 we see `||`, `&&`, or single `|`, it's a command context
|
|
27
|
+
* 3. If it closes with `))`, it's arithmetic
|
|
28
|
+
*
|
|
29
|
+
* @param value The string containing the expansion
|
|
30
|
+
* @param start Position of the `$` in `$((` (so `$((` is at start..start+2)
|
|
31
|
+
* @returns true if this should be parsed as command substitution, false for arithmetic
|
|
32
|
+
*/
|
|
33
|
+
export declare function isDollarDparenSubshell(value: string, start: number): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Parse a command substitution starting at the given position.
|
|
36
|
+
* Handles $(...) syntax with proper depth tracking for nested substitutions.
|
|
37
|
+
*
|
|
38
|
+
* @param value The string containing the substitution
|
|
39
|
+
* @param start Position of the `$` in `$(`
|
|
40
|
+
* @param createParser Factory function to create a new parser instance
|
|
41
|
+
* @param error Error reporting function
|
|
42
|
+
* @returns The parsed command substitution part and the ending index
|
|
43
|
+
*/
|
|
44
|
+
export declare function parseCommandSubstitutionFromString(value: string, start: number, createParser: ParserFactory, error: ErrorFn): {
|
|
45
|
+
part: CommandSubstitutionPart;
|
|
46
|
+
endIndex: number;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Parse a backtick command substitution starting at the given position.
|
|
50
|
+
* Handles `...` syntax with proper escape processing.
|
|
51
|
+
*
|
|
52
|
+
* @param value The string containing the substitution
|
|
53
|
+
* @param start Position of the opening backtick
|
|
54
|
+
* @param inDoubleQuotes Whether the backtick is inside double quotes
|
|
55
|
+
* @param createParser Factory function to create a new parser instance
|
|
56
|
+
* @param error Error reporting function
|
|
57
|
+
* @returns The parsed command substitution part and the ending index
|
|
58
|
+
*/
|
|
59
|
+
export declare function parseBacktickSubstitutionFromString(value: string, start: number, inDoubleQuotes: boolean, createParser: ParserFactory, error: ErrorFn): {
|
|
60
|
+
part: CommandSubstitutionPart;
|
|
61
|
+
endIndex: number;
|
|
62
|
+
};
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Recursive Descent Parser for Bash Scripts
|
|
3
|
+
*
|
|
4
|
+
* This parser consumes tokens from the lexer and produces an AST.
|
|
5
|
+
* It follows the bash grammar structure for correctness.
|
|
6
|
+
*
|
|
7
|
+
* Grammar (simplified):
|
|
8
|
+
* script ::= statement*
|
|
9
|
+
* statement ::= pipeline ((&&|'||') pipeline)* [&]
|
|
10
|
+
* pipeline ::= [!] command (| command)*
|
|
11
|
+
* command ::= simple_command | compound_command | function_def
|
|
12
|
+
* simple_cmd ::= (assignment)* [word] (word)* (redirection)*
|
|
13
|
+
* compound_cmd ::= if | for | while | until | case | subshell | group | (( | [[
|
|
14
|
+
*/
|
|
15
|
+
import { type ArithmeticExpansionPart, type ArithmeticExpressionNode, type CommandSubstitutionPart, type RedirectionNode, type ScriptNode, type StatementNode, type WordNode } from "../ast/types.js";
|
|
16
|
+
import { type Token, TokenType } from "./lexer.js";
|
|
17
|
+
export type { ParseError } from "./types.js";
|
|
18
|
+
export { ParseException } from "./types.js";
|
|
19
|
+
/**
|
|
20
|
+
* Parser class - transforms tokens into AST
|
|
21
|
+
*/
|
|
22
|
+
export declare class Parser {
|
|
23
|
+
private tokens;
|
|
24
|
+
private pos;
|
|
25
|
+
private pendingHeredocs;
|
|
26
|
+
private parseIterations;
|
|
27
|
+
private parseDepth;
|
|
28
|
+
private _input;
|
|
29
|
+
/**
|
|
30
|
+
* Get the raw input string being parsed.
|
|
31
|
+
* Used by conditional-parser for extracting exact whitespace in regex patterns.
|
|
32
|
+
*/
|
|
33
|
+
getInput(): string;
|
|
34
|
+
/**
|
|
35
|
+
* Check parse iteration limit to prevent infinite loops
|
|
36
|
+
*/
|
|
37
|
+
checkIterationLimit(): void;
|
|
38
|
+
/**
|
|
39
|
+
* Increment parse depth and check limit to prevent stack overflow
|
|
40
|
+
* from deeply nested constructs. Returns a function to decrement depth.
|
|
41
|
+
*/
|
|
42
|
+
enterDepth(): () => void;
|
|
43
|
+
/**
|
|
44
|
+
* Parse a bash script string
|
|
45
|
+
*/
|
|
46
|
+
parse(input: string): ScriptNode;
|
|
47
|
+
/**
|
|
48
|
+
* Parse from pre-tokenized input
|
|
49
|
+
*/
|
|
50
|
+
parseTokens(tokens: Token[]): ScriptNode;
|
|
51
|
+
current(): Token;
|
|
52
|
+
peek(offset?: number): Token;
|
|
53
|
+
advance(): Token;
|
|
54
|
+
getPos(): number;
|
|
55
|
+
/**
|
|
56
|
+
* Check if current token matches any of the given types.
|
|
57
|
+
* Optimized to avoid array allocation for common cases (1-4 args).
|
|
58
|
+
*/
|
|
59
|
+
check(t1: TokenType, t2?: TokenType, t3?: TokenType, t4?: TokenType, ...rest: TokenType[]): boolean;
|
|
60
|
+
expect(type: TokenType, message?: string): Token;
|
|
61
|
+
error(message: string): never;
|
|
62
|
+
skipNewlines(): void;
|
|
63
|
+
skipSeparators(includeCaseTerminators?: boolean): void;
|
|
64
|
+
addPendingHeredoc(redirect: RedirectionNode, delimiter: string, stripTabs: boolean, quoted: boolean): void;
|
|
65
|
+
private processHeredocs;
|
|
66
|
+
isStatementEnd(): boolean;
|
|
67
|
+
private isCommandStart;
|
|
68
|
+
private parseScript;
|
|
69
|
+
/**
|
|
70
|
+
* Check for unexpected tokens that can't appear at statement start.
|
|
71
|
+
* Returns a deferred error statement for tokens that should cause errors
|
|
72
|
+
* at execution time rather than parse time (to match bash's incremental behavior).
|
|
73
|
+
*/
|
|
74
|
+
private checkUnexpectedToken;
|
|
75
|
+
parseStatement(): StatementNode | null;
|
|
76
|
+
private parsePipeline;
|
|
77
|
+
private parseCommand;
|
|
78
|
+
/**
|
|
79
|
+
* Scan ahead from current DPAREN_START to determine if it closes with ) )
|
|
80
|
+
* (two separate RPAREN tokens) or )) (DPAREN_END token).
|
|
81
|
+
* Returns true if it closes with ) ) (nested subshells case).
|
|
82
|
+
*/
|
|
83
|
+
private dparenClosesWithSpacedParens;
|
|
84
|
+
/**
|
|
85
|
+
* Parse (( ... ) ) as nested subshells when we know it closes with ) ).
|
|
86
|
+
* We've already determined via dparenClosesWithSpacedParens() that this
|
|
87
|
+
* DPAREN_START should be treated as two LPAREN tokens.
|
|
88
|
+
*/
|
|
89
|
+
private parseNestedSubshellsFromDparen;
|
|
90
|
+
isWord(): boolean;
|
|
91
|
+
parseWord(): WordNode;
|
|
92
|
+
/**
|
|
93
|
+
* Parse a word without brace expansion (for [[ ]] conditionals).
|
|
94
|
+
* In bash, brace expansion does not occur inside [[ ]].
|
|
95
|
+
*/
|
|
96
|
+
parseWordNoBraceExpansion(): WordNode;
|
|
97
|
+
/**
|
|
98
|
+
* Parse a word for regex patterns (in [[ =~ ]]).
|
|
99
|
+
* All escaped characters create Escaped nodes so the backslash is preserved
|
|
100
|
+
* for the regex engine. For example, \$ creates Escaped("$") which becomes \$
|
|
101
|
+
* in the final regex pattern.
|
|
102
|
+
*/
|
|
103
|
+
parseWordForRegex(): WordNode;
|
|
104
|
+
parseWordFromString(value: string, quoted?: boolean, singleQuoted?: boolean, isAssignment?: boolean, hereDoc?: boolean, noBraceExpansion?: boolean, regexPattern?: boolean): WordNode;
|
|
105
|
+
parseCommandSubstitution(value: string, start: number): {
|
|
106
|
+
part: CommandSubstitutionPart;
|
|
107
|
+
endIndex: number;
|
|
108
|
+
};
|
|
109
|
+
parseBacktickSubstitution(value: string, start: number,
|
|
110
|
+
/** Whether the backtick is inside double quotes */
|
|
111
|
+
inDoubleQuotes?: boolean): {
|
|
112
|
+
part: CommandSubstitutionPart;
|
|
113
|
+
endIndex: number;
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* Check if $(( at position `start` in `value` is a command substitution with nested
|
|
117
|
+
* subshell rather than arithmetic expansion.
|
|
118
|
+
*/
|
|
119
|
+
isDollarDparenSubshell(value: string, start: number): boolean;
|
|
120
|
+
parseArithmeticExpansion(value: string, start: number): {
|
|
121
|
+
part: ArithmeticExpansionPart;
|
|
122
|
+
endIndex: number;
|
|
123
|
+
};
|
|
124
|
+
private parseArithmeticCommand;
|
|
125
|
+
private parseConditionalCommand;
|
|
126
|
+
private parseFunctionDef;
|
|
127
|
+
private parseCompoundCommandBody;
|
|
128
|
+
parseCompoundList(): StatementNode[];
|
|
129
|
+
parseOptionalRedirections(): RedirectionNode[];
|
|
130
|
+
parseArithmeticExpression(input: string): ArithmeticExpressionNode;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Convenience function to parse a bash script
|
|
134
|
+
*/
|
|
135
|
+
export declare function parse(input: string): ScriptNode;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parser Types and Constants
|
|
3
|
+
*
|
|
4
|
+
* Shared types, interfaces, and constants used across parser modules.
|
|
5
|
+
*/
|
|
6
|
+
import { type Token, TokenType } from "./lexer.js";
|
|
7
|
+
export declare const MAX_INPUT_SIZE = 1000000;
|
|
8
|
+
export declare const MAX_TOKENS = 100000;
|
|
9
|
+
export declare const MAX_PARSE_ITERATIONS = 1000000;
|
|
10
|
+
export declare const MAX_PARSER_DEPTH = 200;
|
|
11
|
+
export declare const REDIRECTION_TOKENS: Set<TokenType>;
|
|
12
|
+
export declare const REDIRECTION_AFTER_NUMBER: Set<TokenType>;
|
|
13
|
+
export declare const REDIRECTION_AFTER_FD_VARIABLE: Set<TokenType>;
|
|
14
|
+
export interface ParseError {
|
|
15
|
+
message: string;
|
|
16
|
+
line: number;
|
|
17
|
+
column: number;
|
|
18
|
+
token?: Token;
|
|
19
|
+
}
|
|
20
|
+
export declare class ParseException extends Error {
|
|
21
|
+
line: number;
|
|
22
|
+
column: number;
|
|
23
|
+
token: Token | undefined;
|
|
24
|
+
constructor(message: string, line: number, column: number, token?: Token | undefined);
|
|
25
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Word Parsing Utilities
|
|
3
|
+
*
|
|
4
|
+
* String manipulation utilities for parsing words, expansions, and patterns.
|
|
5
|
+
* These are pure functions extracted from the Parser class.
|
|
6
|
+
*/
|
|
7
|
+
import { type ArithmeticExpressionNode, type RedirectionOperator, type WordNode, type WordPart } from "../ast/types.js";
|
|
8
|
+
import { TokenType } from "./lexer.js";
|
|
9
|
+
import type { Parser } from "./parser.js";
|
|
10
|
+
export declare function findTildeEnd(_p: Parser, value: string, start: number): number;
|
|
11
|
+
export declare function findMatchingBracket(_p: Parser, value: string, start: number, open: string, close: string): number;
|
|
12
|
+
export declare function findParameterOperationEnd(_p: Parser, value: string, start: number): number;
|
|
13
|
+
export declare function findPatternEnd(_p: Parser, value: string, start: number): number;
|
|
14
|
+
export declare function parseGlobPattern(_p: Parser, value: string, start: number): {
|
|
15
|
+
pattern: string;
|
|
16
|
+
endIndex: number;
|
|
17
|
+
};
|
|
18
|
+
export declare function parseAnsiCQuoted(_p: Parser, value: string, start: number): {
|
|
19
|
+
part: WordPart;
|
|
20
|
+
endIndex: number;
|
|
21
|
+
};
|
|
22
|
+
export declare function parseArithExprFromString(p: Parser, str: string): ArithmeticExpressionNode;
|
|
23
|
+
export type WordPartsParser = (p: Parser, value: string, quoted?: boolean, singleQuoted?: boolean, isAssignment?: boolean) => WordPart[];
|
|
24
|
+
export declare function tryParseBraceExpansion(p: Parser, value: string, start: number, parseWordPartsFn?: WordPartsParser): {
|
|
25
|
+
part: WordPart;
|
|
26
|
+
endIndex: number;
|
|
27
|
+
} | null;
|
|
28
|
+
/**
|
|
29
|
+
* Convert a WordNode back to a string representation.
|
|
30
|
+
* Used for reconstructing array assignment strings for declare/local.
|
|
31
|
+
*/
|
|
32
|
+
export declare function wordToString(_p: Parser, word: WordNode): string;
|
|
33
|
+
export declare function tokenToRedirectOp(_p: Parser, type: TokenType): RedirectionOperator;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Bash } from "../Bash.js";
|
|
2
|
+
export interface OutputMessage {
|
|
3
|
+
type: "stdout" | "stderr";
|
|
4
|
+
data: string;
|
|
5
|
+
timestamp: Date;
|
|
6
|
+
}
|
|
7
|
+
export declare class Command {
|
|
8
|
+
readonly cmdId: string;
|
|
9
|
+
readonly cwd: string;
|
|
10
|
+
readonly startedAt: Date;
|
|
11
|
+
exitCode: number | undefined;
|
|
12
|
+
private bashEnv;
|
|
13
|
+
private cmdLine;
|
|
14
|
+
private env?;
|
|
15
|
+
private explicitCwd;
|
|
16
|
+
private resultPromise;
|
|
17
|
+
constructor(bashEnv: Bash, cmdLine: string, cwd: string, env?: Record<string, string>, explicitCwd?: boolean);
|
|
18
|
+
private execute;
|
|
19
|
+
logs(): AsyncGenerator<OutputMessage, void, unknown>;
|
|
20
|
+
wait(): Promise<CommandFinished>;
|
|
21
|
+
output(): Promise<string>;
|
|
22
|
+
stdout(): Promise<string>;
|
|
23
|
+
stderr(): Promise<string>;
|
|
24
|
+
kill(): Promise<void>;
|
|
25
|
+
}
|
|
26
|
+
export interface CommandFinished extends Command {
|
|
27
|
+
exitCode: number;
|
|
28
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Bash } from "../Bash.js";
|
|
2
|
+
import type { IFileSystem } from "../fs/interface.js";
|
|
3
|
+
import type { NetworkConfig } from "../network/index.js";
|
|
4
|
+
import type { CommandFinished } from "./Command.js";
|
|
5
|
+
import { Command } from "./Command.js";
|
|
6
|
+
export interface SandboxOptions {
|
|
7
|
+
cwd?: string;
|
|
8
|
+
env?: Record<string, string>;
|
|
9
|
+
timeoutMs?: number;
|
|
10
|
+
/**
|
|
11
|
+
* Custom filesystem implementation.
|
|
12
|
+
* Mutually exclusive with `overlayRoot`.
|
|
13
|
+
*/
|
|
14
|
+
fs?: IFileSystem;
|
|
15
|
+
/**
|
|
16
|
+
* Path to a directory to use as the root of an OverlayFs.
|
|
17
|
+
* Reads come from this directory, writes stay in memory.
|
|
18
|
+
* Mutually exclusive with `fs`.
|
|
19
|
+
*/
|
|
20
|
+
overlayRoot?: string;
|
|
21
|
+
maxCallDepth?: number;
|
|
22
|
+
maxCommandCount?: number;
|
|
23
|
+
maxLoopIterations?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Network configuration for commands like curl.
|
|
26
|
+
* Network access is disabled by default - you must explicitly configure allowed URLs.
|
|
27
|
+
*/
|
|
28
|
+
network?: NetworkConfig;
|
|
29
|
+
}
|
|
30
|
+
export interface WriteFilesInput {
|
|
31
|
+
[path: string]: string | {
|
|
32
|
+
content: string;
|
|
33
|
+
encoding?: "utf-8" | "base64";
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export declare class Sandbox {
|
|
37
|
+
private bashEnv;
|
|
38
|
+
private constructor();
|
|
39
|
+
static create(opts?: SandboxOptions): Promise<Sandbox>;
|
|
40
|
+
runCommand(cmd: string, opts?: {
|
|
41
|
+
cwd?: string;
|
|
42
|
+
env?: Record<string, string>;
|
|
43
|
+
}): Promise<Command>;
|
|
44
|
+
writeFiles(files: WriteFilesInput): Promise<void>;
|
|
45
|
+
readFile(path: string, encoding?: "utf-8" | "base64"): Promise<string>;
|
|
46
|
+
mkDir(path: string, opts?: {
|
|
47
|
+
recursive?: boolean;
|
|
48
|
+
}): Promise<void>;
|
|
49
|
+
stop(): Promise<void>;
|
|
50
|
+
extendTimeout(_ms: number): Promise<void>;
|
|
51
|
+
get domain(): string | undefined;
|
|
52
|
+
/**
|
|
53
|
+
* Bash-specific: Get the underlying Bash instance for advanced operations.
|
|
54
|
+
* Not available in Vercel Sandbox API.
|
|
55
|
+
*/
|
|
56
|
+
get bashEnvInstance(): Bash;
|
|
57
|
+
}
|
|
58
|
+
export { Command };
|
|
59
|
+
export type { CommandFinished };
|
|
60
|
+
export type { OutputMessage } from "./Command.js";
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shell Metadata
|
|
3
|
+
*
|
|
4
|
+
* Shared source of truth for shell version and process information.
|
|
5
|
+
* Used by both variable expansion ($BASH_VERSION, $PPID, etc.)
|
|
6
|
+
* and /proc filesystem initialization.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Simulated bash version string
|
|
10
|
+
*/
|
|
11
|
+
export declare const BASH_VERSION = "5.1.0(1)-release";
|
|
12
|
+
/**
|
|
13
|
+
* Simulated kernel version for /proc/version
|
|
14
|
+
*/
|
|
15
|
+
export declare const KERNEL_VERSION = "Linux version 5.15.0-generic (just-bash) #1 SMP PREEMPT";
|
|
16
|
+
/**
|
|
17
|
+
* Get process metadata (values that come from the running Node process)
|
|
18
|
+
*/
|
|
19
|
+
export declare function getProcessInfo(): {
|
|
20
|
+
pid: number;
|
|
21
|
+
ppid: number;
|
|
22
|
+
uid: number;
|
|
23
|
+
gid: number;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Format /proc/self/status content
|
|
27
|
+
*/
|
|
28
|
+
export declare function formatProcStatus(): string;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ExecResult } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Decoded version of ExecResult for convenient test assertions.
|
|
4
|
+
*/
|
|
5
|
+
export interface TextResult {
|
|
6
|
+
stdout: string;
|
|
7
|
+
stderr: string;
|
|
8
|
+
exitCode: number;
|
|
9
|
+
env?: Record<string, string>;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Convert an ExecResult (with Uint8Array stdout/stderr) to text strings.
|
|
13
|
+
* Use this in tests for easy string comparison.
|
|
14
|
+
*/
|
|
15
|
+
export declare function toText(result: ExecResult): TextResult;
|