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,120 @@
|
|
|
1
|
+
import type { BufferEncoding, CpOptions, FileContent, FsStat, IFileSystem, MkdirOptions, ReadFileOptions, RmOptions, WriteFileOptions } from "../interface.js";
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for a mount point
|
|
4
|
+
*/
|
|
5
|
+
export interface MountConfig {
|
|
6
|
+
/** Virtual path where the filesystem is mounted */
|
|
7
|
+
mountPoint: string;
|
|
8
|
+
/** The filesystem to mount at this path */
|
|
9
|
+
filesystem: IFileSystem;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Options for creating a MountableFs
|
|
13
|
+
*/
|
|
14
|
+
export interface MountableFsOptions {
|
|
15
|
+
/** Base filesystem used for unmounted paths (defaults to InMemoryFs) */
|
|
16
|
+
base?: IFileSystem;
|
|
17
|
+
/** Initial mounts to configure */
|
|
18
|
+
mounts?: MountConfig[];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* A filesystem that supports mounting other filesystems at specific paths.
|
|
22
|
+
*
|
|
23
|
+
* This allows combining multiple filesystem backends into a unified namespace.
|
|
24
|
+
* For example, mounting a read-only knowledge base at /mnt/knowledge and a
|
|
25
|
+
* read-write workspace at /home/agent.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```typescript
|
|
29
|
+
* const fs = new MountableFs({ base: new InMemoryFs() });
|
|
30
|
+
* fs.mount('/mnt/knowledge', new OverlayFs({ root: "/path/to/knowledge", readOnly: true }));
|
|
31
|
+
* fs.mount('/home/agent', new ReadWriteFs({ root: "/path/to/workspace" }));
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare class MountableFs implements IFileSystem {
|
|
35
|
+
private baseFs;
|
|
36
|
+
private mounts;
|
|
37
|
+
constructor(options?: MountableFsOptions);
|
|
38
|
+
/**
|
|
39
|
+
* Mount a filesystem at the specified virtual path.
|
|
40
|
+
*
|
|
41
|
+
* @param mountPoint - The virtual path where the filesystem will be accessible
|
|
42
|
+
* @param filesystem - The filesystem to mount
|
|
43
|
+
* @throws Error if mounting at root '/' or inside an existing mount
|
|
44
|
+
*/
|
|
45
|
+
mount(mountPoint: string, filesystem: IFileSystem): void;
|
|
46
|
+
/**
|
|
47
|
+
* Unmount the filesystem at the specified path.
|
|
48
|
+
*
|
|
49
|
+
* @param mountPoint - The virtual path to unmount
|
|
50
|
+
* @throws Error if no filesystem is mounted at this path
|
|
51
|
+
*/
|
|
52
|
+
unmount(mountPoint: string): void;
|
|
53
|
+
/**
|
|
54
|
+
* Get all current mounts.
|
|
55
|
+
*/
|
|
56
|
+
getMounts(): ReadonlyArray<{
|
|
57
|
+
mountPoint: string;
|
|
58
|
+
filesystem: IFileSystem;
|
|
59
|
+
}>;
|
|
60
|
+
/**
|
|
61
|
+
* Check if a path is exactly a mount point.
|
|
62
|
+
*/
|
|
63
|
+
isMountPoint(path: string): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Validate mount path format before normalization.
|
|
66
|
+
* Rejects paths containing . or .. segments.
|
|
67
|
+
*/
|
|
68
|
+
private validateMountPath;
|
|
69
|
+
/**
|
|
70
|
+
* Validate that a mount point is allowed.
|
|
71
|
+
*/
|
|
72
|
+
private validateMount;
|
|
73
|
+
/**
|
|
74
|
+
* Normalize a path to a consistent format.
|
|
75
|
+
*/
|
|
76
|
+
private normalizePath;
|
|
77
|
+
/**
|
|
78
|
+
* Route a path to the appropriate filesystem.
|
|
79
|
+
* Returns the filesystem and the relative path within that filesystem.
|
|
80
|
+
*/
|
|
81
|
+
private routePath;
|
|
82
|
+
/**
|
|
83
|
+
* Get mount points that are immediate children of a directory.
|
|
84
|
+
*/
|
|
85
|
+
private getChildMountPoints;
|
|
86
|
+
readFile(path: string, options?: ReadFileOptions | BufferEncoding): Promise<string>;
|
|
87
|
+
readFileBuffer(path: string): Promise<Uint8Array>;
|
|
88
|
+
writeFile(path: string, content: FileContent, options?: WriteFileOptions | BufferEncoding): Promise<void>;
|
|
89
|
+
appendFile(path: string, content: FileContent, options?: WriteFileOptions | BufferEncoding): Promise<void>;
|
|
90
|
+
exists(path: string): Promise<boolean>;
|
|
91
|
+
stat(path: string): Promise<FsStat>;
|
|
92
|
+
lstat(path: string): Promise<FsStat>;
|
|
93
|
+
mkdir(path: string, options?: MkdirOptions): Promise<void>;
|
|
94
|
+
readdir(path: string): Promise<string[]>;
|
|
95
|
+
rm(path: string, options?: RmOptions): Promise<void>;
|
|
96
|
+
cp(src: string, dest: string, options?: CpOptions): Promise<void>;
|
|
97
|
+
mv(src: string, dest: string): Promise<void>;
|
|
98
|
+
resolvePath(base: string, path: string): string;
|
|
99
|
+
getAllPaths(): string[];
|
|
100
|
+
chmod(path: string, mode: number): Promise<void>;
|
|
101
|
+
symlink(target: string, linkPath: string): Promise<void>;
|
|
102
|
+
link(existingPath: string, newPath: string): Promise<void>;
|
|
103
|
+
readlink(path: string): Promise<string>;
|
|
104
|
+
/**
|
|
105
|
+
* Resolve all symlinks in a path to get the canonical physical path.
|
|
106
|
+
* This is equivalent to POSIX realpath().
|
|
107
|
+
*/
|
|
108
|
+
realpath(path: string): Promise<string>;
|
|
109
|
+
/**
|
|
110
|
+
* Perform a cross-mount copy operation.
|
|
111
|
+
*/
|
|
112
|
+
private crossMountCopy;
|
|
113
|
+
/**
|
|
114
|
+
* Set access and modification times of a file
|
|
115
|
+
* @param path - The file path
|
|
116
|
+
* @param atime - Access time
|
|
117
|
+
* @param mtime - Modification time
|
|
118
|
+
*/
|
|
119
|
+
utimes(path: string, atime: Date, mtime: Date): Promise<void>;
|
|
120
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { OverlayFs, type OverlayFsOptions } from "./overlay-fs.js";
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OverlayFs - Copy-on-write filesystem backed by a real directory
|
|
3
|
+
*
|
|
4
|
+
* Reads come from the real filesystem, writes go to an in-memory layer.
|
|
5
|
+
* Changes don't persist to disk and can't escape the root directory.
|
|
6
|
+
*/
|
|
7
|
+
import { type FileContent } from "../encoding.js";
|
|
8
|
+
import type { CpOptions, DirentEntry, FsStat, IFileSystem, MkdirOptions, ReadFileOptions, RmOptions, WriteFileOptions } from "../interface.js";
|
|
9
|
+
export interface OverlayFsOptions {
|
|
10
|
+
/**
|
|
11
|
+
* The root directory on the real filesystem.
|
|
12
|
+
* All paths are relative to this root and cannot escape it.
|
|
13
|
+
*/
|
|
14
|
+
root: string;
|
|
15
|
+
/**
|
|
16
|
+
* The virtual mount point where the root directory appears.
|
|
17
|
+
* Defaults to "/home/user/project".
|
|
18
|
+
*/
|
|
19
|
+
mountPoint?: string;
|
|
20
|
+
/**
|
|
21
|
+
* If true, all write operations will throw an error.
|
|
22
|
+
* Useful for truly read-only access to the filesystem.
|
|
23
|
+
* Defaults to false.
|
|
24
|
+
*/
|
|
25
|
+
readOnly?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Maximum file size in bytes that can be read from the real filesystem.
|
|
28
|
+
* Files larger than this will throw an EFBIG error.
|
|
29
|
+
* Defaults to 10MB (10485760).
|
|
30
|
+
*/
|
|
31
|
+
maxFileReadSize?: number;
|
|
32
|
+
}
|
|
33
|
+
export declare class OverlayFs implements IFileSystem {
|
|
34
|
+
private readonly root;
|
|
35
|
+
private readonly mountPoint;
|
|
36
|
+
private readonly readOnly;
|
|
37
|
+
private readonly maxFileReadSize;
|
|
38
|
+
private readonly memory;
|
|
39
|
+
private readonly deleted;
|
|
40
|
+
constructor(options: OverlayFsOptions);
|
|
41
|
+
/**
|
|
42
|
+
* Throws an error if the filesystem is in read-only mode.
|
|
43
|
+
*/
|
|
44
|
+
private assertWritable;
|
|
45
|
+
/**
|
|
46
|
+
* Create directory entries for the mount point path
|
|
47
|
+
*/
|
|
48
|
+
private createMountPointDirs;
|
|
49
|
+
/**
|
|
50
|
+
* Get the mount point for this overlay
|
|
51
|
+
*/
|
|
52
|
+
getMountPoint(): string;
|
|
53
|
+
/**
|
|
54
|
+
* Create a virtual directory in memory (sync, for initialization)
|
|
55
|
+
*/
|
|
56
|
+
mkdirSync(path: string, _options?: MkdirOptions): void;
|
|
57
|
+
/**
|
|
58
|
+
* Create a virtual file in memory (sync, for initialization)
|
|
59
|
+
*/
|
|
60
|
+
writeFileSync(path: string, content: string | Uint8Array): void;
|
|
61
|
+
private getDirname;
|
|
62
|
+
/**
|
|
63
|
+
* Normalize a virtual path (resolve . and .., ensure starts with /)
|
|
64
|
+
*/
|
|
65
|
+
private normalizePath;
|
|
66
|
+
/**
|
|
67
|
+
* Check if a normalized virtual path is under the mount point.
|
|
68
|
+
* Returns the relative path within the mount point, or null if not under it.
|
|
69
|
+
*/
|
|
70
|
+
private getRelativeToMount;
|
|
71
|
+
/**
|
|
72
|
+
* Convert a virtual path to a real filesystem path.
|
|
73
|
+
* Returns null if the path is not under the mount point or would escape the root.
|
|
74
|
+
*/
|
|
75
|
+
private toRealPath;
|
|
76
|
+
private dirname;
|
|
77
|
+
private ensureParentDirs;
|
|
78
|
+
/**
|
|
79
|
+
* Check if a path exists in the overlay (memory + real fs - deleted)
|
|
80
|
+
*/
|
|
81
|
+
private existsInOverlay;
|
|
82
|
+
readFile(path: string, options?: ReadFileOptions | BufferEncoding): Promise<string>;
|
|
83
|
+
readFileBuffer(path: string, seen?: Set<string>): Promise<Uint8Array>;
|
|
84
|
+
writeFile(path: string, content: FileContent, options?: WriteFileOptions | BufferEncoding): Promise<void>;
|
|
85
|
+
appendFile(path: string, content: FileContent, options?: WriteFileOptions | BufferEncoding): Promise<void>;
|
|
86
|
+
exists(path: string): Promise<boolean>;
|
|
87
|
+
stat(path: string, seen?: Set<string>): Promise<FsStat>;
|
|
88
|
+
lstat(path: string): Promise<FsStat>;
|
|
89
|
+
private resolveSymlink;
|
|
90
|
+
mkdir(path: string, options?: MkdirOptions): Promise<void>;
|
|
91
|
+
/**
|
|
92
|
+
* Core readdir implementation that returns entries with file types.
|
|
93
|
+
* Both readdir and readdirWithFileTypes use this shared implementation.
|
|
94
|
+
*/
|
|
95
|
+
private readdirCore;
|
|
96
|
+
/**
|
|
97
|
+
* Follow symlinks to resolve the final directory path.
|
|
98
|
+
* Returns outsideOverlay: true if the symlink points outside the overlay or
|
|
99
|
+
* the resolved target doesn't exist (security - broken symlinks return []).
|
|
100
|
+
*/
|
|
101
|
+
private resolveForReaddir;
|
|
102
|
+
readdir(path: string): Promise<string[]>;
|
|
103
|
+
readdirWithFileTypes(path: string): Promise<DirentEntry[]>;
|
|
104
|
+
rm(path: string, options?: RmOptions): Promise<void>;
|
|
105
|
+
cp(src: string, dest: string, options?: CpOptions): Promise<void>;
|
|
106
|
+
mv(src: string, dest: string): Promise<void>;
|
|
107
|
+
resolvePath(base: string, path: string): string;
|
|
108
|
+
getAllPaths(): string[];
|
|
109
|
+
private scanRealFs;
|
|
110
|
+
chmod(path: string, mode: number): Promise<void>;
|
|
111
|
+
symlink(target: string, linkPath: string): Promise<void>;
|
|
112
|
+
link(existingPath: string, newPath: string): Promise<void>;
|
|
113
|
+
readlink(path: string): Promise<string>;
|
|
114
|
+
/**
|
|
115
|
+
* Resolve all symlinks in a path to get the canonical physical path.
|
|
116
|
+
* This is equivalent to POSIX realpath().
|
|
117
|
+
*/
|
|
118
|
+
realpath(path: string): Promise<string>;
|
|
119
|
+
/**
|
|
120
|
+
* Set access and modification times of a file
|
|
121
|
+
* @param path - The file path
|
|
122
|
+
* @param _atime - Access time (ignored, kept for API compatibility)
|
|
123
|
+
* @param mtime - Modification time
|
|
124
|
+
*/
|
|
125
|
+
utimes(path: string, _atime: Date, mtime: Date): Promise<void>;
|
|
126
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ReadWriteFs, type ReadWriteFsOptions } from "./read-write-fs.js";
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ReadWriteFs - Direct wrapper around the real filesystem
|
|
3
|
+
*
|
|
4
|
+
* All operations go directly to the underlying Node.js filesystem.
|
|
5
|
+
* Paths are relative to the configured root directory.
|
|
6
|
+
*
|
|
7
|
+
* Security: Symlink targets are validated and transformed to stay within root,
|
|
8
|
+
* preventing symlink-based sandbox escape attacks.
|
|
9
|
+
*/
|
|
10
|
+
import { type FileContent } from "../encoding.js";
|
|
11
|
+
import type { CpOptions, DirentEntry, FsStat, IFileSystem, MkdirOptions, ReadFileOptions, RmOptions, WriteFileOptions } from "../interface.js";
|
|
12
|
+
export interface ReadWriteFsOptions {
|
|
13
|
+
/**
|
|
14
|
+
* The root directory on the real filesystem.
|
|
15
|
+
* All paths are relative to this root.
|
|
16
|
+
*/
|
|
17
|
+
root: string;
|
|
18
|
+
/**
|
|
19
|
+
* Maximum file size in bytes that can be read.
|
|
20
|
+
* Files larger than this will throw an EFBIG error.
|
|
21
|
+
* Defaults to 10MB (10485760).
|
|
22
|
+
*/
|
|
23
|
+
maxFileReadSize?: number;
|
|
24
|
+
}
|
|
25
|
+
export declare class ReadWriteFs implements IFileSystem {
|
|
26
|
+
private readonly root;
|
|
27
|
+
private readonly maxFileReadSize;
|
|
28
|
+
constructor(options: ReadWriteFsOptions);
|
|
29
|
+
/**
|
|
30
|
+
* Convert a virtual path to a real filesystem path.
|
|
31
|
+
*/
|
|
32
|
+
private toRealPath;
|
|
33
|
+
/**
|
|
34
|
+
* Normalize a virtual path (resolve . and .., ensure starts with /)
|
|
35
|
+
*/
|
|
36
|
+
private normalizePath;
|
|
37
|
+
readFile(path: string, options?: ReadFileOptions | BufferEncoding): Promise<string>;
|
|
38
|
+
readFileBuffer(path: string): Promise<Uint8Array>;
|
|
39
|
+
writeFile(path: string, content: FileContent, options?: WriteFileOptions | BufferEncoding): Promise<void>;
|
|
40
|
+
appendFile(path: string, content: FileContent, options?: WriteFileOptions | BufferEncoding): Promise<void>;
|
|
41
|
+
exists(path: string): Promise<boolean>;
|
|
42
|
+
stat(path: string): Promise<FsStat>;
|
|
43
|
+
lstat(path: string): Promise<FsStat>;
|
|
44
|
+
mkdir(path: string, options?: MkdirOptions): Promise<void>;
|
|
45
|
+
readdir(path: string): Promise<string[]>;
|
|
46
|
+
readdirWithFileTypes(path: string): Promise<DirentEntry[]>;
|
|
47
|
+
rm(path: string, options?: RmOptions): Promise<void>;
|
|
48
|
+
cp(src: string, dest: string, options?: CpOptions): Promise<void>;
|
|
49
|
+
mv(src: string, dest: string): Promise<void>;
|
|
50
|
+
resolvePath(base: string, path: string): string;
|
|
51
|
+
getAllPaths(): string[];
|
|
52
|
+
private scanDir;
|
|
53
|
+
chmod(path: string, mode: number): Promise<void>;
|
|
54
|
+
symlink(target: string, linkPath: string): Promise<void>;
|
|
55
|
+
link(existingPath: string, newPath: string): Promise<void>;
|
|
56
|
+
readlink(path: string): Promise<string>;
|
|
57
|
+
/**
|
|
58
|
+
* Resolve all symlinks in a path to get the canonical physical path.
|
|
59
|
+
* This is equivalent to POSIX realpath().
|
|
60
|
+
*/
|
|
61
|
+
realpath(path: string): Promise<string>;
|
|
62
|
+
/**
|
|
63
|
+
* Set access and modification times of a file
|
|
64
|
+
* @param path - The file path
|
|
65
|
+
* @param atime - Access time
|
|
66
|
+
* @param mtime - Modification time
|
|
67
|
+
*/
|
|
68
|
+
utimes(path: string, atime: Date, mtime: Date): Promise<void>;
|
|
69
|
+
}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export type { BashLogger, BashOptions, ExecOptions } from "./Bash.js";
|
|
2
|
+
export { Bash } from "./Bash.js";
|
|
3
|
+
export type { AllCommandName, CommandName, NetworkCommandName, PythonCommandName, } from "./commands/registry.js";
|
|
4
|
+
export { getCommandNames, getNetworkCommandNames, getPythonCommandNames, } from "./commands/registry.js";
|
|
5
|
+
export type { CustomCommand, CustomExecResult, LazyCommand, StringExecResult, } from "./custom-commands.js";
|
|
6
|
+
export { defineCommand } from "./custom-commands.js";
|
|
7
|
+
export { InMemoryFs } from "./fs/in-memory-fs/index.js";
|
|
8
|
+
export type { BufferEncoding, CpOptions, DirectoryEntry, FileContent, FileEntry, FileInit, FileSystemFactory, FsEntry, FsStat, InitialFiles, MkdirOptions, RmOptions, SymlinkEntry, } from "./fs/interface.js";
|
|
9
|
+
export { MountableFs, type MountableFsOptions, type MountConfig, } from "./fs/mountable-fs/index.js";
|
|
10
|
+
export { OverlayFs, type OverlayFsOptions } from "./fs/overlay-fs/index.js";
|
|
11
|
+
export { ReadWriteFs, type ReadWriteFsOptions, } from "./fs/read-write-fs/index.js";
|
|
12
|
+
export type { NetworkConfig } from "./network/index.js";
|
|
13
|
+
export { NetworkAccessDeniedError, RedirectNotAllowedError, TooManyRedirectsError, } from "./network/index.js";
|
|
14
|
+
export type { CommandFinished as SandboxCommandFinished, OutputMessage, SandboxOptions, WriteFilesInput, } from "./sandbox/index.js";
|
|
15
|
+
export { Command as SandboxCommand, Sandbox } from "./sandbox/index.js";
|
|
16
|
+
export type { DefenseInDepthConfig, DefenseInDepthHandle, DefenseInDepthStats, SecurityViolation, SecurityViolationType, } from "./security/index.js";
|
|
17
|
+
export { createConsoleViolationCallback, DefenseInDepthBox, SecurityViolationError, SecurityViolationLogger, } from "./security/index.js";
|
|
18
|
+
export type { BashExecResult, Command, CommandContext, ExecResult, IFileSystem, } from "./types.js";
|
|
19
|
+
export { decode, EMPTY, encode } from "./utils/bytes.js";
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Alias Expansion
|
|
3
|
+
*
|
|
4
|
+
* Handles bash alias expansion for SimpleCommandNodes.
|
|
5
|
+
*
|
|
6
|
+
* Alias expansion rules:
|
|
7
|
+
* 1. Only expands if command name is a literal unquoted word
|
|
8
|
+
* 2. Alias value is substituted for the command name
|
|
9
|
+
* 3. If alias value ends with a space, the next word is also checked for alias expansion
|
|
10
|
+
* 4. Recursive expansion is allowed but limited to prevent infinite loops
|
|
11
|
+
*/
|
|
12
|
+
import type { SimpleCommandNode } from "../ast/types.js";
|
|
13
|
+
/**
|
|
14
|
+
* Context needed for alias expansion operations
|
|
15
|
+
*/
|
|
16
|
+
export interface AliasExpansionContext {
|
|
17
|
+
env: Map<string, Uint8Array>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Expand alias in a SimpleCommandNode if applicable.
|
|
21
|
+
* Returns a new node with the alias expanded, or the original node if no expansion.
|
|
22
|
+
*/
|
|
23
|
+
export declare function expandAlias(ctx: AliasExpansionContext, node: SimpleCommandNode, aliasExpansionStack: Set<string>): SimpleCommandNode;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Arithmetic Evaluation
|
|
3
|
+
*
|
|
4
|
+
* Evaluates bash arithmetic expressions including:
|
|
5
|
+
* - Basic operators (+, -, *, /, %)
|
|
6
|
+
* - Comparison operators (<, <=, >, >=, ==, !=)
|
|
7
|
+
* - Bitwise operators (&, |, ^, ~, <<, >>)
|
|
8
|
+
* - Logical operators (&&, ||, !)
|
|
9
|
+
* - Assignment operators (=, +=, -=, etc.)
|
|
10
|
+
* - Ternary operator (? :)
|
|
11
|
+
* - Pre/post increment/decrement (++, --)
|
|
12
|
+
* - Nested arithmetic: $((expr))
|
|
13
|
+
* - Command substitution: $(cmd) or `cmd`
|
|
14
|
+
*
|
|
15
|
+
* Known limitations:
|
|
16
|
+
* - Bitwise operations use JavaScript's 32-bit signed integers, not 64-bit.
|
|
17
|
+
* This means values like (1 << 31) will be negative (-2147483648) instead
|
|
18
|
+
* of the bash 64-bit result (2147483648).
|
|
19
|
+
* - Dynamic arithmetic expressions (e.g., ${base}#a where base=16) are not
|
|
20
|
+
* fully supported - variable expansion happens at parse time, not runtime.
|
|
21
|
+
*/
|
|
22
|
+
import type { ArithExpr } from "../ast/types.js";
|
|
23
|
+
import type { InterpreterContext } from "./types.js";
|
|
24
|
+
export declare function evaluateArithmetic(ctx: InterpreterContext, expr: ArithExpr, isExpansionContext?: boolean): Promise<number>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Assignment Expansion Helpers
|
|
3
|
+
*
|
|
4
|
+
* Handles expansion of assignment arguments for local/declare/typeset builtins.
|
|
5
|
+
* - Array assignments: name=(elem1 elem2 ...)
|
|
6
|
+
* - Scalar assignments: name=value, name+=value, name[index]=value
|
|
7
|
+
*/
|
|
8
|
+
import type { WordNode } from "../ast/types.js";
|
|
9
|
+
import type { InterpreterContext } from "./types.js";
|
|
10
|
+
/**
|
|
11
|
+
* Check if a Word represents an array assignment (name=(...)) and expand it
|
|
12
|
+
* while preserving quote structure for elements.
|
|
13
|
+
* Returns the expanded string like "name=(elem1 elem2 ...)" or null if not an array assignment.
|
|
14
|
+
*/
|
|
15
|
+
export declare function expandLocalArrayAssignment(ctx: InterpreterContext, word: WordNode): Promise<string | null>;
|
|
16
|
+
/**
|
|
17
|
+
* Check if a Word represents a scalar assignment (name=value, name+=value, or name[index]=value)
|
|
18
|
+
* and expand it WITHOUT glob expansion on the value part.
|
|
19
|
+
* Returns the expanded string like "name=expanded_value" or null if not a scalar assignment.
|
|
20
|
+
*
|
|
21
|
+
* This is important for bash compatibility: `local var=$x` where x='a b' should
|
|
22
|
+
* set var to "a b", not try to glob-expand it.
|
|
23
|
+
*/
|
|
24
|
+
export declare function expandScalarAssignmentArg(ctx: InterpreterContext, word: WordNode): Promise<string | null>;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Builtin Command Dispatch
|
|
3
|
+
*
|
|
4
|
+
* Handles dispatch of built-in shell commands like export, unset, cd, etc.
|
|
5
|
+
* Separated from interpreter.ts for modularity.
|
|
6
|
+
*/
|
|
7
|
+
import type { ExecResult } from "../types.js";
|
|
8
|
+
import type { InterpreterContext } from "./types.js";
|
|
9
|
+
/**
|
|
10
|
+
* Type for the function that runs a command recursively
|
|
11
|
+
*/
|
|
12
|
+
export type RunCommandFn = (commandName: string, args: Uint8Array[], quotedArgs: boolean[], stdin: Uint8Array, skipFunctions?: boolean, useDefaultPath?: boolean, stdinSourceFd?: number) => Promise<ExecResult>;
|
|
13
|
+
/**
|
|
14
|
+
* Type for the function that builds exported environment
|
|
15
|
+
*/
|
|
16
|
+
export type BuildExportedEnvFn = () => Record<string, string>;
|
|
17
|
+
/**
|
|
18
|
+
* Type for the function that executes user scripts
|
|
19
|
+
*/
|
|
20
|
+
export type ExecuteUserScriptFn = (scriptPath: string, args: Uint8Array[], stdin?: Uint8Array) => Promise<ExecResult>;
|
|
21
|
+
/**
|
|
22
|
+
* Dispatch context containing dependencies needed for builtin dispatch
|
|
23
|
+
*/
|
|
24
|
+
export interface BuiltinDispatchContext {
|
|
25
|
+
ctx: InterpreterContext;
|
|
26
|
+
runCommand: RunCommandFn;
|
|
27
|
+
buildExportedEnv: BuildExportedEnvFn;
|
|
28
|
+
executeUserScript: ExecuteUserScriptFn;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Dispatch a command to the appropriate builtin handler or external command.
|
|
32
|
+
* Returns null if the command should be handled by external command resolution.
|
|
33
|
+
*/
|
|
34
|
+
export declare function dispatchBuiltin(dispatchCtx: BuiltinDispatchContext, commandName: string, args: Uint8Array[], _quotedArgs: boolean[], stdin: Uint8Array, skipFunctions: boolean, _useDefaultPath: boolean, stdinSourceFd: number): Promise<ExecResult | null>;
|
|
35
|
+
/**
|
|
36
|
+
* Handle external command resolution and execution.
|
|
37
|
+
* Called when dispatchBuiltin returns null.
|
|
38
|
+
*/
|
|
39
|
+
export declare function executeExternalCommand(dispatchCtx: BuiltinDispatchContext, commandName: string, args: Uint8Array[], stdin: Uint8Array, useDefaultPath: boolean): Promise<ExecResult>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* compgen - Generate completion matches
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* compgen -v [prefix] - List variable names (optionally starting with prefix)
|
|
6
|
+
* compgen -A variable [prefix] - Same as -v
|
|
7
|
+
* compgen -A function [prefix] - List function names
|
|
8
|
+
* compgen -e [prefix] - List exported variable names
|
|
9
|
+
* compgen -A builtin [prefix] - List builtin command names
|
|
10
|
+
* compgen -A keyword [prefix] - List shell keywords (alias: -k)
|
|
11
|
+
* compgen -A alias [prefix] - List alias names
|
|
12
|
+
* compgen -A shopt [prefix] - List shopt options
|
|
13
|
+
* compgen -A helptopic [prefix] - List help topics
|
|
14
|
+
* compgen -A directory [prefix] - List directory names
|
|
15
|
+
* compgen -A file [prefix] - List file names
|
|
16
|
+
* compgen -f [prefix] - List file names (alias for -A file)
|
|
17
|
+
* compgen -A user - List user names
|
|
18
|
+
* compgen -A command [prefix] - List commands (builtins, functions, aliases, external)
|
|
19
|
+
* compgen -W wordlist [prefix] - Generate from wordlist
|
|
20
|
+
* compgen -P prefix - Prefix to add to completions
|
|
21
|
+
* compgen -S suffix - Suffix to add to completions
|
|
22
|
+
* compgen -o option - Completion option (plusdirs, dirnames, default, etc.)
|
|
23
|
+
*/
|
|
24
|
+
import type { ExecResult } from "../../types.js";
|
|
25
|
+
import type { InterpreterContext } from "../types.js";
|
|
26
|
+
export declare function handleCompgen(ctx: InterpreterContext, args: string[]): Promise<ExecResult>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* complete - Set and display programmable completion specifications
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* complete - List all completion specs
|
|
6
|
+
* complete -p - Print all completion specs in reusable format
|
|
7
|
+
* complete -p cmd - Print completion spec for specific command
|
|
8
|
+
* complete -W 'word1 word2' cmd - Set word list completion for cmd
|
|
9
|
+
* complete -F func cmd - Set function completion for cmd
|
|
10
|
+
* complete -r cmd - Remove completion spec for cmd
|
|
11
|
+
* complete -r - Remove all completion specs
|
|
12
|
+
* complete -D ... - Set default completion (for commands with no specific spec)
|
|
13
|
+
* complete -o opt cmd - Set completion options (nospace, filenames, default, etc.)
|
|
14
|
+
*/
|
|
15
|
+
import type { ExecResult } from "../../types.js";
|
|
16
|
+
import type { InterpreterContext } from "../types.js";
|
|
17
|
+
export declare function handleComplete(ctx: InterpreterContext, args: string[]): ExecResult;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* compopt - Modify completion options
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* compopt [-o option] [+o option] [name ...]
|
|
6
|
+
* compopt -D [-o option] [+o option]
|
|
7
|
+
* compopt -E [-o option] [+o option]
|
|
8
|
+
*
|
|
9
|
+
* Modifies completion options for the specified commands (names) or the
|
|
10
|
+
* currently executing completion when no names are provided.
|
|
11
|
+
*
|
|
12
|
+
* Options:
|
|
13
|
+
* -o option Enable completion option
|
|
14
|
+
* +o option Disable completion option
|
|
15
|
+
* -D Apply to default completion
|
|
16
|
+
* -E Apply to empty-line completion
|
|
17
|
+
*
|
|
18
|
+
* Valid completion options:
|
|
19
|
+
* bashdefault, default, dirnames, filenames, noquote, nosort, nospace, plusdirs
|
|
20
|
+
*
|
|
21
|
+
* Returns:
|
|
22
|
+
* 0 on success
|
|
23
|
+
* 1 if not in a completion function and no command name is given
|
|
24
|
+
* 2 if an invalid option is specified
|
|
25
|
+
*/
|
|
26
|
+
import type { ExecResult } from "../../types.js";
|
|
27
|
+
import type { InterpreterContext } from "../types.js";
|
|
28
|
+
export declare function handleCompopt(ctx: InterpreterContext, args: string[]): ExecResult;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Array Parsing Functions for declare/typeset
|
|
3
|
+
*
|
|
4
|
+
* Handles parsing of array literal syntax for the declare builtin.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Parse array elements from content like "1 2 3" or "'a b' c d"
|
|
8
|
+
*/
|
|
9
|
+
export declare function parseArrayElements(content: string): string[];
|
|
10
|
+
/**
|
|
11
|
+
* Parse associative array literal content like "['foo']=bar ['spam']=42"
|
|
12
|
+
* Returns array of [key, value] pairs
|
|
13
|
+
*/
|
|
14
|
+
export declare function parseAssocArrayLiteral(content: string): [string, string][];
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Declare Print Mode Functions
|
|
3
|
+
*
|
|
4
|
+
* Handles printing and listing variables for the declare/typeset builtin.
|
|
5
|
+
*/
|
|
6
|
+
import type { ExecResult } from "../../types.js";
|
|
7
|
+
import type { InterpreterContext } from "../types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Print specific variables with their declarations.
|
|
10
|
+
* Handles: declare -p varname1 varname2 ...
|
|
11
|
+
*/
|
|
12
|
+
export declare function printSpecificVariables(ctx: InterpreterContext, names: string[]): ExecResult;
|
|
13
|
+
export interface PrintAllFilters {
|
|
14
|
+
filterExport: boolean;
|
|
15
|
+
filterReadonly: boolean;
|
|
16
|
+
filterNameref: boolean;
|
|
17
|
+
filterIndexedArray: boolean;
|
|
18
|
+
filterAssocArray: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Print all variables with their declarations and attributes.
|
|
22
|
+
* Handles: declare -p (with optional filters like -x, -r, -n, -a, -A)
|
|
23
|
+
*/
|
|
24
|
+
export declare function printAllVariables(ctx: InterpreterContext, filters: PrintAllFilters): ExecResult;
|
|
25
|
+
/**
|
|
26
|
+
* List all associative arrays.
|
|
27
|
+
* Handles: declare -A (without arguments)
|
|
28
|
+
*/
|
|
29
|
+
export declare function listAssociativeArrays(ctx: InterpreterContext): ExecResult;
|
|
30
|
+
/**
|
|
31
|
+
* List all indexed arrays.
|
|
32
|
+
* Handles: declare -a (without arguments)
|
|
33
|
+
*/
|
|
34
|
+
export declare function listIndexedArrays(ctx: InterpreterContext): ExecResult;
|
|
35
|
+
/**
|
|
36
|
+
* List all variables without print mode (no attributes shown).
|
|
37
|
+
* Handles: declare (without -p and without arguments)
|
|
38
|
+
*/
|
|
39
|
+
export declare function listAllVariables(ctx: InterpreterContext): ExecResult;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* declare/typeset - Declare variables and give them attributes
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* declare - List all variables
|
|
6
|
+
* declare -p - List all variables (same as no args)
|
|
7
|
+
* declare NAME=value - Declare variable with value
|
|
8
|
+
* declare -a NAME - Declare indexed array
|
|
9
|
+
* declare -A NAME - Declare associative array
|
|
10
|
+
* declare -r NAME - Declare readonly variable
|
|
11
|
+
* declare -x NAME - Export variable
|
|
12
|
+
* declare -g NAME - Declare global variable (inside functions)
|
|
13
|
+
*
|
|
14
|
+
* Also aliased as 'typeset'
|
|
15
|
+
*/
|
|
16
|
+
import type { ExecResult } from "../../types.js";
|
|
17
|
+
import type { InterpreterContext } from "../types.js";
|
|
18
|
+
/**
|
|
19
|
+
* Check if a variable has the integer attribute.
|
|
20
|
+
*/
|
|
21
|
+
export declare function isInteger(ctx: InterpreterContext, name: string): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Apply case transformation based on variable attributes.
|
|
24
|
+
* Returns the transformed value.
|
|
25
|
+
*/
|
|
26
|
+
export declare function applyCaseTransform(ctx: InterpreterContext, name: string, value: string): string;
|
|
27
|
+
export declare function handleDeclare(ctx: InterpreterContext, args: string[]): Promise<ExecResult>;
|
|
28
|
+
/**
|
|
29
|
+
* readonly - Declare readonly variables
|
|
30
|
+
*
|
|
31
|
+
* Usage:
|
|
32
|
+
* readonly NAME=value - Declare readonly variable
|
|
33
|
+
* readonly NAME - Mark existing variable as readonly
|
|
34
|
+
*/
|
|
35
|
+
export declare function handleReadonly(ctx: InterpreterContext, args: string[]): Promise<ExecResult>;
|