@poe-platform/safe-bash 0.1.803 → 0.1.804
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/README.md +56 -31
- package/dist/image-ast/ast.d.ts +1 -0
- package/dist/image-ast/browser/ast.d.ts +1 -0
- package/dist/image-ast/browser/codecs/jpeg.d.ts +2 -2
- package/dist/image-ast/codecs/jpeg.d.ts +2 -2
- package/dist/image-ast/index.browser.js +692 -8364
- package/dist/image-ast/index.js +692 -8364
- package/dist/mp4-ast/codecs.d.ts +7 -2
- package/dist/safe-bash/chunks/{chunk-CHYGPFVM.js → chunk-22SX3F2R.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-FBUCWVTE.js → chunk-2IVBJTBD.js} +1 -1
- package/dist/safe-bash/chunks/chunk-2POETUMB.js +190 -0
- package/dist/safe-bash/chunks/{chunk-XVOSKJE2.js → chunk-47D7WBJK.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-VKNVHEX3.js → chunk-4ESI236Y.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-74GHTNJA.js → chunk-4KTMKD5W.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-55YJASTN.js → chunk-4T53AERN.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-DQP3VHSB.js → chunk-5XIFJVOO.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-5OHX7C2V.js → chunk-62BOHHJT.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-HZAMGT5I.js → chunk-67WIFM3N.js} +17 -6
- package/dist/safe-bash/chunks/{chunk-4D4N7IU2.js → chunk-6LNFRPW5.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-6O77NL2S.js → chunk-6SMICPI3.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-4BSJLKNM.js → chunk-7O76UFQD.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-PNBBUWSM.js → chunk-AW5KIT6V.js} +3488 -39
- package/dist/safe-bash/chunks/{chunk-JMMEIDPF.js → chunk-B2Z73HTZ.js} +52 -28
- package/dist/safe-bash/chunks/chunk-B3ZMOJVM.js +319 -0
- package/dist/safe-bash/chunks/{chunk-7ZBU7KYV.js → chunk-CFAWS3O4.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-I5HZ4FGE.js → chunk-CL2FCTTO.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-2LSAMQER.js → chunk-CTXNARJH.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-TFIBK2GI.js → chunk-D5Q7NFWI.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-OQRVVGR6.js → chunk-DSOOVZ6Q.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-VTH3MLDU.js → chunk-DUTAG6ZD.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-XAQMU6OY.js → chunk-EE5YGFIZ.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-FZE4HW6G.js → chunk-EJOYT2ME.js} +1 -1
- package/dist/safe-bash/chunks/chunk-FAAIR6EJ.js +887 -0
- package/dist/safe-bash/chunks/{chunk-OV6IHKO6.js → chunk-FOB2FZR4.js} +2 -2
- package/dist/safe-bash/chunks/chunk-G6V4RRSQ.js +14 -0
- package/dist/safe-bash/chunks/{chunk-UTBUUFDM.js → chunk-GGQAGQXQ.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-K6VCD7IY.js → chunk-HIIYIJ5G.js} +2 -4
- package/dist/safe-bash/chunks/{chunk-VBTDHOWC.js → chunk-IOHH2GTI.js} +4 -3
- package/dist/safe-bash/chunks/{chunk-CTVWDACF.js → chunk-IQW34XQT.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-HZ7BWKQ3.js → chunk-IS572AAT.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-AUSNDQTJ.js → chunk-JPSUHHOA.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-ZVD5IS4V.js → chunk-KBZ4UB2O.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-AM5ESLPH.js → chunk-KU5CVWKA.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-RYFQ3LZG.js → chunk-LPOVNKNB.js} +173 -153
- package/dist/safe-bash/chunks/{chunk-46Z5E5EV.js → chunk-MBOC3LZ4.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-6PAVEFT3.js → chunk-N4BQFD3P.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-CS4MNM6I.js → chunk-NGKCVNWS.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-7R5BDCG7.js → chunk-OHML2BEU.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-C5OWC2TL.js → chunk-OQ3AGYCZ.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-B7TAL7S5.js → chunk-PTAEWLSE.js} +0 -2
- package/dist/safe-bash/chunks/{chunk-LVOBFF4D.js → chunk-Q4FNLOTI.js} +1 -1
- package/dist/safe-bash/chunks/chunk-Q5XO3NAS.js +1036 -0
- package/dist/safe-bash/chunks/{chunk-GEG3BWGE.js → chunk-RHFRJIWQ.js} +1 -1
- package/dist/safe-bash/chunks/chunk-RUR6J33T.js +11 -0
- package/dist/safe-bash/chunks/{chunk-EEEWOYEG.js → chunk-S4RFUUXO.js} +839 -24
- package/dist/safe-bash/chunks/{chunk-RRR7AQ24.js → chunk-SD2ISU5L.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-3NDIFSNM.js → chunk-SUJ3NTMH.js} +3 -3
- package/dist/safe-bash/chunks/{chunk-R3NAKOED.js → chunk-SZRUU5HS.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-PH63PLPZ.js → chunk-TC3F4UFF.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-3R3AANOR.js → chunk-TCKYOLUE.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-D3ANYGMC.js → chunk-UV4X32QU.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-E7OYNDGL.js → chunk-V7QT2RWC.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-B7PIL77G.js → chunk-W2IYOVHK.js} +804 -1195
- package/dist/safe-bash/chunks/{chunk-3HQU4OJO.js → chunk-XNGVOSGI.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-J42RIHHJ.js → chunk-XQWCQSRN.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-A7XEHALN.js → chunk-Y7FW6GLT.js} +6 -6
- package/dist/safe-bash/chunks/{chunk-QGUV42T5.js → chunk-YL3GBUG4.js} +1 -1
- package/dist/safe-bash/chunks/chunk-YOXUCJER.js +389 -0
- package/dist/safe-bash/chunks/{chunk-HBCN24ZA.js → chunk-Z2AAYYJN.js} +2 -2
- package/dist/safe-bash/chunks/chunk-ZKYKJCZZ.js +30 -0
- package/dist/safe-bash/chunks/core-IE3AFIDX.js +85806 -0
- package/dist/safe-bash/chunks/{ffmpeg-WTC3TEFI.js → ffmpeg-YANDK6HU.js} +2 -2
- package/dist/safe-bash/chunks/{gh-6WU6PXL4.js → gh-4MBJ2S5V.js} +2 -2
- package/dist/safe-bash/chunks/{git-EFZIGJW4.js → git-2QONJNRQ.js} +2 -2
- package/dist/safe-bash/chunks/{imagemagick-EIEYGWPF.js → imagemagick-JLEHGYSN.js} +2 -2
- package/dist/safe-bash/chunks/{mmdc-ROQJT5HQ.js → mmdc-6LD7A6ND.js} +2 -2
- package/dist/safe-bash/chunks/{pdfimages-DW7LWXFI.js → pdfimages-RSHL7LOP.js} +2 -2
- package/dist/safe-bash/chunks/{pdfinfo-TIP6XLUQ.js → pdfinfo-L3SGWPNG.js} +2 -2
- package/dist/safe-bash/chunks/{pdftk-DMG22ITZ.js → pdftk-LFBJNU5A.js} +2 -2
- package/dist/safe-bash/chunks/{pdftoppm-WNDYR72T.js → pdftoppm-NXXFUIHG.js} +2 -2
- package/dist/safe-bash/chunks/{pdftotext-5IPZ4NI7.js → pdftotext-4IHNWT6F.js} +2 -2
- package/dist/safe-bash/chunks/{qpdf-TTX2DIUA.js → qpdf-ZEIREV63.js} +2 -2
- package/dist/safe-bash/chunks/read-builtin-A4QKAT45.js +9 -0
- package/dist/safe-bash/chunks/{sips-XYS46JPJ.js → sips-D5YBG2V3.js} +2 -2
- package/dist/safe-bash/chunks/{soffice-TU73E5KL.js → soffice-RAJU3JUT.js} +2 -2
- package/dist/safe-bash/chunks/source-files-3XWRRHFA.js +7 -0
- package/dist/safe-bash/chunks/{wkhtmltopdf-FSZ2CHGE.js → wkhtmltopdf-7UE4FORZ.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-7KWZXKY6.js → chunk-26RTBV2I.js} +1 -0
- package/dist/safe-bash/command-chunks/{chunk-AQJ2ROJO.js → chunk-2WYNMZR2.js} +10 -8
- package/dist/safe-bash/command-chunks/{chunk-BDSMROQZ.js → chunk-36GFRF2N.js} +2 -1
- package/dist/safe-bash/command-chunks/{chunk-GC5TJZOF.js → chunk-3VIA2IA7.js} +114 -31
- package/dist/safe-bash/command-chunks/{chunk-NKFYQSES.js → chunk-4CTI3ZTX.js} +1 -0
- package/dist/safe-bash/command-chunks/{chunk-WH627NJL.js → chunk-4MYP2FX4.js} +2 -1
- package/dist/safe-bash/command-chunks/{chunk-ZDN7MJE6.js → chunk-4R5ADJM5.js} +11 -1
- package/dist/safe-bash/command-chunks/{chunk-P2N33UMN.js → chunk-5MIKM54M.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-DB453IE6.js → chunk-6FZQUOSJ.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-PICVQ6B5.js → chunk-6GKYHPJG.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-7K6JYKPJ.js → chunk-6M2ELGEN.js} +17 -15
- package/dist/safe-bash/command-chunks/{chunk-PXEIT2O4.js → chunk-6UR7V3ET.js} +8 -1
- package/dist/safe-bash/command-chunks/{chunk-6KJ3LPI2.js → chunk-6XBS5B46.js} +26 -3
- package/dist/safe-bash/command-chunks/{chunk-5PWJG2UK.js → chunk-6YXLZX7L.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-EK6YNAXT.js → chunk-753YOR54.js} +31 -5
- package/dist/safe-bash/command-chunks/{chunk-RMWQAAO5.js → chunk-7IR4NRNE.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-FZTK4MFI.js → chunk-7NM73SVK.js} +8 -8
- package/dist/safe-bash/command-chunks/{chunk-NXEQ3ESQ.js → chunk-7QD5YY4F.js} +6 -11
- package/dist/safe-bash/command-chunks/{chunk-EMPU65ZK.js → chunk-A5LBSJGH.js} +1 -0
- package/dist/safe-bash/command-chunks/{chunk-4FEVBOL5.js → chunk-ARZMP2L2.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-NKIELG7Y.js → chunk-BAKFZ477.js} +40 -19
- package/dist/safe-bash/command-chunks/{chunk-QRRYN2KO.js → chunk-BC7BK6R6.js} +0 -2424
- package/dist/safe-bash/command-chunks/{chunk-CQHP3I66.js → chunk-BOEOJS2Q.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-XS72HTMA.js → chunk-BWGGLYEB.js} +5 -22
- package/dist/safe-bash/command-chunks/{chunk-PMBFZXTK.js → chunk-C5ZZKP7V.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-LHIOAFWW.js → chunk-C7SEB6WU.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-XPT2UGBF.js → chunk-CHJKFRT7.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-TIOCQVUQ.js → chunk-CON26Q2O.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-E55UKBIE.js → chunk-DBAT3IK2.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-Z45N42QC.js → chunk-DPAYAVMS.js} +15 -1
- package/dist/safe-bash/command-chunks/chunk-DS3NXVUM.js +368 -0
- package/dist/safe-bash/command-chunks/{chunk-5ZMZ573Q.js → chunk-DSJ3VRL3.js} +16 -4
- package/dist/safe-bash/command-chunks/{chunk-K2GDEMEU.js → chunk-EFRCFWVR.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-DZCY63VJ.js → chunk-EV6HIJ5H.js} +6 -5
- package/dist/safe-bash/command-chunks/{chunk-JDYXY44P.js → chunk-FJURV46Y.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-TZZ4WUKH.js → chunk-FZAWGKSE.js} +6 -4
- package/dist/safe-bash/command-chunks/{chunk-YHFXOX6U.js → chunk-GOCFQ6XV.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-QVOS4YXL.js → chunk-HH5O7DJI.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-3HHCU5YU.js → chunk-HK7F5SDC.js} +13 -0
- package/dist/safe-bash/command-chunks/{chunk-JNZ3CVAE.js → chunk-HQBXIZC7.js} +8 -3
- package/dist/safe-bash/command-chunks/{chunk-V4K2JDYU.js → chunk-I63DBZXZ.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-WNE7FPVR.js → chunk-I64TLTIW.js} +24 -16
- package/dist/safe-bash/command-chunks/{chunk-GFC2NTDG.js → chunk-ICANWOXH.js} +5 -29
- package/dist/safe-bash/command-chunks/{chunk-SQRQW3CT.js → chunk-IJ6LGLXM.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-TGSNCQSR.js → chunk-JT4RYCA6.js} +1771 -1663
- package/dist/safe-bash/command-chunks/{chunk-II77KPZN.js → chunk-JWW6FYBN.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-ZYXH3B66.js → chunk-LCJWKTCJ.js} +250 -203
- package/dist/safe-bash/command-chunks/chunk-LU4HBPP2.js +97 -0
- package/dist/safe-bash/command-chunks/{chunk-XJXU3VVH.js → chunk-LWOE65OE.js} +20 -5
- package/dist/safe-bash/command-chunks/{chunk-GMIHJYDG.js → chunk-M32HFSX7.js} +22 -6
- package/dist/safe-bash/command-chunks/{chunk-YG4EPFWC.js → chunk-M3NINRDU.js} +2880 -172
- package/dist/safe-bash/command-chunks/chunk-MQREDAL6.js +164 -0
- package/dist/safe-bash/command-chunks/{chunk-LWS62ISU.js → chunk-N6DIASO2.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-NGL7YK7O.js +188 -0
- package/dist/safe-bash/command-chunks/{chunk-EARHPPPJ.js → chunk-NJYHWKIL.js} +39 -9
- package/dist/safe-bash/command-chunks/{chunk-6JSIFWYT.js → chunk-OJQRSCBP.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-OQU6UT6X.js → chunk-OV3XREFN.js} +11 -0
- package/dist/safe-bash/command-chunks/{chunk-MIXBO6U7.js → chunk-PTZLF456.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-ALDC4XP4.js → chunk-QILLRNES.js} +34 -10
- package/dist/safe-bash/command-chunks/{chunk-L22T3H7L.js → chunk-QR25JLKO.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-NASVPT6F.js → chunk-R7C4MGZ5.js} +17 -224
- package/dist/safe-bash/command-chunks/{chunk-LCF3OB7P.js → chunk-RBME3JEH.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-2KG2QLJE.js → chunk-RFWGYT7G.js} +3 -0
- package/dist/safe-bash/command-chunks/{chunk-5TBUOBDE.js → chunk-RZMVRT26.js} +27 -13
- package/dist/safe-bash/command-chunks/chunk-TFR6B3WB.js +44 -0
- package/dist/safe-bash/command-chunks/chunk-TOH3OF3O.js +179 -0
- package/dist/safe-bash/command-chunks/chunk-TT4DAFBT.js +13621 -0
- package/dist/safe-bash/command-chunks/{chunk-LWSBAWLT.js → chunk-TXI64OAG.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-GIRNFXP3.js → chunk-TZRI7BJZ.js} +45 -15
- package/dist/safe-bash/command-chunks/{chunk-QOKBZFFD.js → chunk-U3MMODA5.js} +2 -7
- package/dist/safe-bash/command-chunks/{chunk-ZYHTWNAE.js → chunk-UAW423ZL.js} +11 -11
- package/dist/safe-bash/command-chunks/{chunk-C5YYCQHW.js → chunk-UXEEUGOV.js} +222 -12
- package/dist/safe-bash/command-chunks/{chunk-GY3BWK7K.js → chunk-VOZPMJRX.js} +87 -80
- package/dist/safe-bash/command-chunks/{chunk-ILX2NOLF.js → chunk-WPANOB4A.js} +20 -20
- package/dist/safe-bash/command-chunks/{chunk-Y2WBSJG6.js → chunk-X4QZQI5Q.js} +65 -64
- package/dist/safe-bash/command-chunks/{chunk-HDCNKOIX.js → chunk-XGI57GCN.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-5UBXNSFZ.js → chunk-XUCU7QQT.js} +1281 -1278
- package/dist/safe-bash/command-chunks/chunk-Y22VXJBD.js +296 -0
- package/dist/safe-bash/command-chunks/{chunk-WVHONVZ4.js → chunk-YMFUUPDX.js} +5 -3
- package/dist/safe-bash/command-chunks/{chunk-IR2BY7EL.js → chunk-YYGIBXFZ.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-MSFXC3OC.js → chunk-Z4FO6OHE.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-WWIBP2ET.js → chunk-Z5ZZVDUD.js} +143 -22
- package/dist/safe-bash/command-chunks/{chunk-LOICUCHG.js → chunk-ZHN3QDCI.js} +1 -1
- package/dist/safe-bash/commands/alias/index.d.ts +2 -0
- package/dist/safe-bash/commands/alias/index.js +2 -0
- package/dist/safe-bash/commands/apply-patch/index.browser.js +2 -3
- package/dist/safe-bash/commands/apply-patch/index.d.ts +0 -1
- package/dist/safe-bash/commands/apply-patch/index.js +0 -1
- package/dist/safe-bash/commands/archive/index.browser.js +2 -3
- package/dist/safe-bash/commands/archive/index.d.ts +0 -1
- package/dist/safe-bash/commands/archive/index.js +0 -1
- package/dist/safe-bash/commands/bytes/index.js +2 -1
- package/dist/safe-bash/commands/chmod/index.browser.js +1 -1
- package/dist/safe-bash/commands/column/index.browser.js +2 -3
- package/dist/safe-bash/commands/column/index.d.ts +0 -1
- package/dist/safe-bash/commands/column/index.js +0 -1
- package/dist/safe-bash/commands/copy-source.js +1 -0
- package/dist/safe-bash/commands/csplit/index.browser.js +2 -2
- package/dist/safe-bash/commands/csvkit/index.browser.js +72 -0
- package/dist/safe-bash/commands/csvkit/index.d.ts +0 -5
- package/dist/safe-bash/commands/csvkit/index.js +0 -50
- package/dist/safe-bash/commands/docx/index.browser.js +5 -7
- package/dist/safe-bash/commands/du/index.browser.js +2 -3
- package/dist/safe-bash/commands/du/index.d.ts +0 -1
- package/dist/safe-bash/commands/du/index.js +0 -1
- package/dist/safe-bash/commands/expr/index.browser.js +2 -3
- package/dist/safe-bash/commands/expr/index.d.ts +0 -1
- package/dist/safe-bash/commands/expr/index.js +0 -1
- package/dist/safe-bash/commands/factor/index.browser.js +2 -2
- package/dist/safe-bash/commands/file/index.browser.js +2 -3
- package/dist/safe-bash/commands/file/index.d.ts +0 -1
- package/dist/safe-bash/commands/file/index.js +0 -1
- package/dist/safe-bash/commands/filesystem.js +1 -1
- package/dist/safe-bash/commands/getopt/index.browser.js +2 -2
- package/dist/safe-bash/commands/grep-aliases/index.browser.js +3 -3
- package/dist/safe-bash/commands/hexdump/index.browser.js +2 -2
- package/dist/safe-bash/commands/html-to-markdown/index.browser.js +2 -3
- package/dist/safe-bash/commands/html-to-markdown/index.d.ts +0 -1
- package/dist/safe-bash/commands/html-to-markdown/index.js +0 -1
- package/dist/safe-bash/commands/htmlq/index.d.ts +1 -5
- package/dist/safe-bash/commands/htmlq/index.js +1 -143
- package/dist/safe-bash/commands/iconv/index.browser.js +2 -2
- package/dist/safe-bash/commands/line-endings/index.browser.js +2 -2
- package/dist/safe-bash/commands/llm/index.browser.js +2 -2
- package/dist/safe-bash/commands/llm/providers/index.browser.js +1 -1
- package/dist/safe-bash/commands/mdq/index.browser.js +3 -3
- package/dist/safe-bash/commands/media/index.browser.js +4 -16314
- package/dist/safe-bash/commands/media/index.d.ts +1 -5
- package/dist/safe-bash/commands/media/index.js +1 -3
- package/dist/safe-bash/commands/media/plugin.d.ts +1 -18
- package/dist/safe-bash/commands/media/plugin.js +1 -90
- package/dist/safe-bash/commands/media/remote.d.ts +1 -63
- package/dist/safe-bash/commands/media/remote.js +1 -405
- package/dist/safe-bash/commands/media/settings.d.ts +1 -4
- package/dist/safe-bash/commands/media/settings.js +1 -26
- package/dist/safe-bash/commands/metadata/index.browser.js +3 -4
- package/dist/safe-bash/commands/metadata/index.d.ts +0 -1
- package/dist/safe-bash/commands/metadata/index.js +2 -2
- package/dist/safe-bash/commands/mktemp/index.browser.js +1 -1
- package/dist/safe-bash/commands/network/curl.js +1 -3
- package/dist/safe-bash/commands/network/index.browser.js +3 -4
- package/dist/safe-bash/commands/network/public.d.ts +0 -1
- package/dist/safe-bash/commands/network/public.js +0 -1
- package/dist/safe-bash/commands/network/transport.js +2 -1
- package/dist/safe-bash/commands/network/wget.js +1 -3
- package/dist/safe-bash/commands/node/browser.d.ts +0 -1
- package/dist/safe-bash/commands/node/browser.js +0 -1
- package/dist/safe-bash/commands/node/default-runtime.d.ts +3 -0
- package/dist/safe-bash/commands/node/default-runtime.js +15 -0
- package/dist/safe-bash/commands/node/index.browser.js +7 -8
- package/dist/safe-bash/commands/node/index.js +3 -3
- package/dist/safe-bash/commands/node/path.js +1 -1
- package/dist/safe-bash/commands/node/preload.d.ts +1 -1
- package/dist/safe-bash/commands/node/preload.js +4 -1
- package/dist/safe-bash/commands/node/quickjs.d.ts +2 -0
- package/dist/safe-bash/commands/node/quickjs.js +2 -0
- package/dist/safe-bash/commands/node/safejs.js +26 -12
- package/dist/safe-bash/commands/op/index.browser.js +2 -3
- package/dist/safe-bash/commands/op/index.d.ts +0 -11
- package/dist/safe-bash/commands/op/index.js +0 -84
- package/dist/safe-bash/commands/pandoc/index.browser.js +44 -0
- package/dist/safe-bash/commands/pandoc/index.d.ts +0 -1
- package/dist/safe-bash/commands/pandoc/index.js +0 -1
- package/dist/safe-bash/commands/pr/index.browser.js +2 -2
- package/dist/safe-bash/commands/python/docker-runner.js +4 -3
- package/dist/safe-bash/commands/python/docker.d.ts +1 -0
- package/dist/safe-bash/commands/python/docker.js +5 -2
- package/dist/safe-bash/commands/python/index.browser.js +17 -13
- package/dist/safe-bash/commands/python/index.d.ts +2 -1
- package/dist/safe-bash/commands/python/index.js +10 -8
- package/dist/safe-bash/commands/python/llm-capability.js +65 -2
- package/dist/safe-bash/commands/python/llm-dependencies.d.ts +27 -0
- package/dist/safe-bash/commands/python/llm-dependencies.js +66 -0
- package/dist/safe-bash/commands/python/llm-module.js +6 -4
- package/dist/safe-bash/commands/python/llm-reference-module.d.ts +3 -0
- package/dist/safe-bash/commands/python/llm-reference-module.js +690 -0
- package/dist/safe-bash/commands/python/worker.browser.js +2 -3
- package/dist/safe-bash/commands/python/worker.d.ts +0 -1
- package/dist/safe-bash/commands/python/worker.js +0 -1
- package/dist/safe-bash/commands/regex-execution/ere/transport/wire-engine.d.ts +1 -1
- package/dist/safe-bash/commands/regex-execution/ere/transport/wire-engine.js +3 -3
- package/dist/safe-bash/commands/regex-execution/public.browser.js +7 -7
- package/dist/safe-bash/commands/safejs/options.js +5 -1
- package/dist/safe-bash/commands/safejs/runtime.d.ts +1 -0
- package/dist/safe-bash/commands/safejs/runtime.js +1 -1
- package/dist/safe-bash/commands/split/index.browser.js +2 -3
- package/dist/safe-bash/commands/split/index.d.ts +0 -1
- package/dist/safe-bash/commands/split/index.js +0 -1
- package/dist/safe-bash/commands/ssconvert/index.browser.js +98 -0
- package/dist/safe-bash/commands/stat/index.browser.js +1 -1
- package/dist/safe-bash/commands/stream-format/index.browser.js +3 -4
- package/dist/safe-bash/commands/stream-format/index.d.ts +0 -1
- package/dist/safe-bash/commands/stream-format/index.js +0 -1
- package/dist/safe-bash/commands/stream-inspection/index.browser.js +3 -4
- package/dist/safe-bash/commands/stream-inspection/index.d.ts +0 -1
- package/dist/safe-bash/commands/stream-inspection/index.js +0 -1
- package/dist/safe-bash/commands/streams.js +2 -1
- package/dist/safe-bash/commands/table-text/index.browser.js +3 -4
- package/dist/safe-bash/commands/table-text/index.d.ts +0 -1
- package/dist/safe-bash/commands/table-text/index.js +0 -1
- package/dist/safe-bash/commands/text.js +28 -24
- package/dist/safe-bash/commands/time-env/index.browser.js +3 -4
- package/dist/safe-bash/commands/time-env/index.d.ts +0 -1
- package/dist/safe-bash/commands/time-env/index.js +0 -1
- package/dist/safe-bash/commands/tree/index.browser.js +2 -3
- package/dist/safe-bash/commands/tree/index.d.ts +0 -1
- package/dist/safe-bash/commands/tree/index.js +0 -1
- package/dist/safe-bash/commands/tsort/index.browser.js +2 -2
- package/dist/safe-bash/commands/unalias/index.d.ts +2 -0
- package/dist/safe-bash/commands/unalias/index.js +2 -0
- package/dist/safe-bash/commands/xml/index.browser.js +2 -2
- package/dist/safe-bash/commands/yq/index.browser.js +2 -2
- package/dist/safe-bash/core.browser.js +2 -2
- package/dist/safe-bash/core.d.ts +7 -1
- package/dist/safe-bash/core.js +7 -1
- package/dist/safe-bash/execution-runtime.js +2 -1
- package/dist/safe-bash/fs/s3/http/index.d.ts +2 -2
- package/dist/safe-bash/fs/s3/http/index.js +1 -1
- package/dist/safe-bash/full-core.browser.js +283 -945
- package/dist/safe-bash/internal/op/types.d.ts +1 -0
- package/dist/safe-bash/jobs.browser.js +5 -5
- package/dist/safe-bash/lazy-optional.d.ts +3 -3
- package/dist/safe-bash/lazy-optional.js +1 -1
- package/dist/safe-bash/opt-in/commands/cmp/index.js +7 -6
- package/dist/safe-bash/opt-in/commands/dd/index.js +1 -1
- package/dist/safe-bash/opt-in/commands/dd/io.js +51 -5
- package/dist/safe-bash/opt-in/commands/truncate/index.js +2 -2
- package/dist/safe-bash/opt-in/commands/yq/native-work.js +2 -0
- package/dist/safe-bash/opt-in/optional/commands/shuf/input.js +2 -1
- package/dist/safe-bash/opt-in/optional/commands/shuf/shuf.js +4 -2
- package/dist/safe-bash/opt-in/optional.d.ts +1 -1
- package/dist/safe-bash/opt-in/optional.js +1 -1
- package/dist/safe-bash/opt-in/shell/extensions/read/index.js +2 -344
- package/dist/safe-bash/optional-host.browser.js +23 -18
- package/dist/safe-bash/optional-host.d.ts +1 -0
- package/dist/safe-bash/optional-host.js +1 -0
- package/dist/safe-bash/playwright/controller.js +41 -3
- package/dist/safe-bash/playwright/native-storage-targets.js +4 -2
- package/dist/safe-bash/plugins/base.d.ts +1 -1
- package/dist/safe-bash/plugins/base.js +3 -3
- package/dist/safe-bash/plugins/composition.d.ts +5 -2
- package/dist/safe-bash/plugins/composition.js +10 -7
- package/dist/safe-bash/plugins/index.browser.js +44 -41
- package/dist/safe-bash/plugins/index.js +3 -2
- package/dist/safe-bash/plugins/portable-commands.d.ts +3 -0
- package/dist/safe-bash/plugins/portable-commands.js +31 -0
- package/dist/safe-bash/registry-entry.browser.js +41 -42
- package/dist/safe-bash/search.browser.js +32 -33
- package/dist/safe-bash/shell/arithmetic.js +19 -6
- package/dist/safe-bash/shell/arrays/state.js +1 -1
- package/dist/safe-bash/shell/arrays/syntax.js +4 -3
- package/dist/safe-bash/shell/index.d.ts +0 -1
- package/dist/safe-bash/shell/index.js +0 -1
- package/dist/safe-bash/shell/parser.d.ts +2 -2
- package/dist/safe-bash/shell/parser.js +268 -64
- package/dist/safe-bash/shell/read-builtin.d.ts +3 -0
- package/dist/safe-bash/shell/read-builtin.js +344 -0
- package/dist/safe-bash/shell/runtime.d.ts +21 -4
- package/dist/safe-bash/shell/runtime.js +373 -412
- package/dist/safe-bash/shell/session-state.js +25 -0
- package/dist/safe-bash/shell/shell.js +76 -154
- package/dist/safe-bash/shell/tilde-expansion.d.ts +1 -1
- package/dist/safe-bash/shell/tilde-expansion.js +2 -2
- package/dist/safe-bash/shell/types.d.ts +5 -0
- package/dist/safe-bash/shell/value-state.js +1 -1
- package/dist/safe-bash/shell-entry.browser.js +32 -33
- package/dist/safe-bash/trap.browser.js +4 -4
- package/dist/safe-bash/yq-browser/index.js +1 -1
- package/dist/safe-bash-calendar-engine/time-env/calendar.d.ts +1 -1
- package/dist/safe-bash-calendar-engine/time-env/calendar.js +1 -1
- package/dist/safe-bash-calendar-engine/time-env/format.js +1 -1
- package/dist/safe-bash-command-alias/index.d.ts +13 -0
- package/dist/safe-bash-command-alias/index.js +88 -0
- package/dist/safe-bash-command-apply-patch/apply.js +3 -3
- package/dist/safe-bash-command-apply-patch/index.js +3 -3
- package/dist/safe-bash-command-apply-patch/matcher.js +1 -1
- package/dist/safe-bash-command-apply-patch/parser.js +1 -1
- package/dist/safe-bash-command-awk/awk-pipes.js +2 -2
- package/dist/safe-bash-command-awk/awk-reader.js +1 -1
- package/dist/safe-bash-command-awk/awk-runtime.js +3 -3
- package/dist/safe-bash-command-awk/awk.js +5 -5
- package/dist/safe-bash-command-awk/index.js +5 -5
- package/dist/safe-bash-command-bc/index.js +206 -60
- package/dist/safe-bash-command-cmp/index.js +7 -6
- package/dist/safe-bash-command-column/column.js +3 -3
- package/dist/safe-bash-command-column/index.js +3 -3
- package/dist/safe-bash-command-column/layout.js +2 -2
- package/dist/safe-bash-command-csvkit/index.d.ts +1 -0
- package/dist/safe-bash-command-csvkit/index.js +1505 -7
- package/dist/safe-bash-command-csvkit/sync-support.js +2 -7
- package/dist/safe-bash-command-curl/curl.js +1 -1
- package/dist/safe-bash-command-curl/index.js +1 -1
- package/dist/safe-bash-command-date/date.js +1 -1
- package/dist/safe-bash-command-date/index.js +1 -1
- package/dist/safe-bash-command-dd/index.js +1 -1
- package/dist/safe-bash-command-dd/io.js +51 -5
- package/dist/safe-bash-command-diff/diff.js +1 -1
- package/dist/safe-bash-command-diff/index.js +1 -1
- package/dist/safe-bash-command-diff3/index.js +10 -13
- package/dist/safe-bash-command-exiftool/index.js +278 -50
- package/dist/safe-bash-command-exiftool/registry.d.ts +4 -2
- package/dist/safe-bash-command-factor/command.js +2 -2
- package/dist/safe-bash-command-factor/index.js +2 -2
- package/dist/safe-bash-command-fd/arguments.d.ts +2 -0
- package/dist/safe-bash-command-fd/index.js +42 -12
- package/dist/safe-bash-command-ffmpeg/index.js +356 -66
- package/dist/safe-bash-command-find/find-format.d.ts +3 -0
- package/dist/safe-bash-command-find/find-format.js +1 -1
- package/dist/safe-bash-command-find/find.js +2 -2
- package/dist/safe-bash-command-find/index.js +2 -2
- package/dist/safe-bash-command-fmt/index.js +1 -4
- package/dist/safe-bash-command-fold/engine.d.ts +1 -1
- package/dist/safe-bash-command-fold/family.js +2 -2
- package/dist/safe-bash-command-fold/index.js +1 -1
- package/dist/safe-bash-command-hexdump/command.js +2 -2
- package/dist/safe-bash-command-hexdump/index.js +2 -2
- package/dist/safe-bash-command-html-to-markdown/entities.js +1 -1
- package/dist/safe-bash-command-html-to-markdown/index.js +4 -4
- package/dist/safe-bash-command-html-to-markdown/input.js +3 -3
- package/dist/safe-bash-command-html-to-markdown/parser.js +2 -2
- package/dist/safe-bash-command-html-to-markdown/render.js +3 -3
- package/dist/safe-bash-command-htmlq/contracts.d.ts +5 -2
- package/dist/safe-bash-command-htmlq/index.d.ts +2 -1
- package/dist/safe-bash-command-htmlq/index.js +175 -49
- package/dist/safe-bash-command-htmlq/sync.d.ts +1 -0
- package/dist/safe-bash-command-imagemagick/index.js +56 -6
- package/dist/safe-bash-command-install/arguments.d.ts +27 -0
- package/dist/safe-bash-command-install/arguments.js +224 -0
- package/dist/safe-bash-command-install/index.d.ts +7 -0
- package/dist/safe-bash-command-install/index.js +942 -0
- package/dist/safe-bash-command-install/mode.d.ts +6 -0
- package/dist/safe-bash-command-install/mode.js +71 -0
- package/dist/safe-bash-command-install/options.d.ts +40 -0
- package/dist/safe-bash-command-install/options.js +27 -0
- package/dist/safe-bash-command-jq/index.js +1 -1
- package/dist/safe-bash-command-jq/jq.js +1 -1
- package/dist/safe-bash-command-less/index.js +37 -61
- package/dist/safe-bash-command-llm/command.js +1 -1
- package/dist/safe-bash-command-llm/elevenlabs.js +2 -2
- package/dist/safe-bash-command-llm/index.js +4 -4
- package/dist/safe-bash-command-llm/openai.js +2 -2
- package/dist/safe-bash-command-llm/providers/elevenlabs.js +2 -2
- package/dist/safe-bash-command-llm/providers/index.js +3 -3
- package/dist/safe-bash-command-llm/providers/openai.js +2 -2
- package/dist/safe-bash-command-llm/providers/shared.js +1 -1
- package/dist/{safe-bash-mcp → safe-bash-command-mcp}/index.browser.d.ts +463 -46
- package/dist/safe-bash-command-mcp/index.browser.js +19308 -0
- package/dist/{safe-bash-mcp → safe-bash-command-mcp}/index.d.ts +15 -6
- package/dist/{safe-bash-mcp → safe-bash-command-mcp}/index.js +2804 -2771
- package/dist/safe-bash-command-media/LICENSE +21 -0
- package/dist/safe-bash-command-media/index.d.ts +6 -0
- package/dist/safe-bash-command-media/index.js +30 -0
- package/dist/safe-bash-command-media/plugin.d.ts +18 -0
- package/dist/safe-bash-command-media/plugin.js +11 -0
- package/dist/safe-bash-command-media/remote.d.ts +63 -0
- package/dist/safe-bash-command-media/remote.js +11 -0
- package/dist/safe-bash-command-media/settings.d.ts +4 -0
- package/dist/safe-bash-command-media/settings.js +41 -0
- package/dist/safe-bash-command-mktemp/command.js +1 -1
- package/dist/safe-bash-command-mktemp/index.js +1 -1
- package/dist/safe-bash-command-mmdc/arguments.d.ts +1 -0
- package/dist/safe-bash-command-mmdc/command.d.ts +2 -0
- package/dist/safe-bash-command-mmdc/contracts.d.ts +8 -1
- package/dist/safe-bash-command-mmdc/index.js +359 -7
- package/dist/safe-bash-command-nl/index.js +1 -1
- package/dist/safe-bash-command-nl/nl.js +1 -1
- package/dist/safe-bash-command-node/LICENSE +21 -0
- package/dist/safe-bash-command-node/index.d.ts +17 -0
- package/dist/safe-bash-command-node/index.js +328 -0
- package/dist/safe-bash-command-numfmt/index.js +1 -0
- package/dist/safe-bash-command-od/index.js +10 -6
- package/dist/safe-bash-command-op/index.js +39 -32
- package/dist/safe-bash-command-op/types.d.ts +1 -0
- package/dist/safe-bash-command-pandoc/command.js +3 -3
- package/dist/safe-bash-command-pandoc/index.d.ts +1 -0
- package/dist/safe-bash-command-pandoc/index.js +5 -3
- package/dist/safe-bash-command-pandoc/sync.d.ts +1 -0
- package/dist/safe-bash-command-patch/index.js +4 -4
- package/dist/safe-bash-command-patch/patch.js +4 -4
- package/dist/safe-bash-command-pdfimages/index.js +1 -1
- package/dist/safe-bash-command-pdfinfo/index.js +30 -5
- package/dist/safe-bash-command-pdftk/index.js +21 -23
- package/dist/safe-bash-command-pdftoppm/index.js +17 -4
- package/dist/safe-bash-command-pdftotext/index.js +11 -14
- package/dist/safe-bash-command-qpdf/index.d.ts +1 -0
- package/dist/safe-bash-command-qpdf/index.js +9 -6
- package/dist/safe-bash-command-rg/index.js +1 -1
- package/dist/safe-bash-command-rg/rg-command.js +1 -1
- package/dist/safe-bash-command-sed/index.js +1 -1
- package/dist/safe-bash-command-sed/sed.js +1 -1
- package/dist/safe-bash-command-shuf/input.d.ts +2 -2
- package/dist/safe-bash-command-shuf/input.js +2 -1
- package/dist/safe-bash-command-shuf/shuf.js +4 -2
- package/dist/safe-bash-command-sips/index.js +2 -2
- package/dist/safe-bash-command-soffice/index.js +97 -12
- package/dist/safe-bash-command-sponge/index.js +4 -1
- package/dist/safe-bash-command-sqlite3/engine.d.ts +1 -0
- package/dist/safe-bash-command-sqlite3/index.js +510 -70
- package/dist/safe-bash-command-ssconvert/formats/xlsx.js +2 -2
- package/dist/safe-bash-command-ssconvert/index.js +44 -22
- package/dist/safe-bash-command-stat/command.js +1 -1
- package/dist/safe-bash-command-stat/index.js +1 -1
- package/dist/safe-bash-command-tar/create.d.ts +1 -0
- package/dist/safe-bash-command-tar/create.js +2 -2
- package/dist/safe-bash-command-tar/extract.js +2 -2
- package/dist/safe-bash-command-tar/index.js +4 -4
- package/dist/safe-bash-command-tar/modes.js +4 -4
- package/dist/safe-bash-command-tar/options.js +1 -1
- package/dist/safe-bash-command-truncate/index.js +2 -2
- package/dist/safe-bash-command-tsort/command.js +2 -2
- package/dist/safe-bash-command-tsort/index.js +2 -2
- package/dist/safe-bash-command-unalias/index.d.ts +12 -0
- package/dist/safe-bash-command-unalias/index.js +67 -0
- package/dist/safe-bash-command-unrtf/index.js +26 -4
- package/dist/safe-bash-command-xan/argv.d.ts +1 -1
- package/dist/safe-bash-command-xan/argv.js +2 -2
- package/dist/safe-bash-command-xan/budget.d.ts +0 -1
- package/dist/safe-bash-command-xan/budget.js +1 -1
- package/dist/safe-bash-command-xan/commands.js +6 -6
- package/dist/safe-bash-command-xan/csv.js +2 -2
- package/dist/safe-bash-command-xan/index.js +8 -9
- package/dist/safe-bash-command-xan/io.js +4 -4
- package/dist/safe-bash-command-xan/options.js +1 -1
- package/dist/safe-bash-command-xan/selector.js +2 -2
- package/dist/safe-bash-command-xmllint/index.js +45 -23
- package/dist/safe-bash-command-xxd/index.js +41 -10
- package/dist/safe-bash-command-yq/accounting.js +1 -1
- package/dist/safe-bash-command-yq/index.js +3 -2
- package/dist/safe-bash-command-yq/native-work.js +2 -0
- package/dist/safe-bash-command-yq/parser.js +2 -2
- package/dist/safe-bash-command-yq/query.js +5 -5
- package/dist/safe-bash-command-yq/toml.js +2 -2
- package/dist/safe-bash-command-zip/index.js +3 -3
- package/dist/safe-bash-compression-engine/bounded-codec.js +2 -2
- package/dist/safe-bash-compression-engine/codec-loader.js +1 -1
- package/dist/safe-bash-compression-engine/files.js +5 -5
- package/dist/safe-bash-compression-engine/index.js +4 -4
- package/dist/safe-bash-compression-engine/operand.js +5 -5
- package/dist/safe-bash-compression-engine/stream.js +4 -4
- package/dist/safe-bash-compression-engine/zstd-decode.js +3 -3
- package/dist/safe-bash-contracts/command.js +3 -3
- package/dist/safe-bash-contracts/default-executor.js +2 -2
- package/dist/safe-bash-contracts/diagnostics.js +3 -3
- package/dist/safe-bash-contracts/escaping.js +6 -6
- package/dist/safe-bash-contracts/filesystem-descriptor.js +3 -3
- package/dist/safe-bash-contracts/filesystem-output.js +5 -5
- package/dist/safe-bash-contracts/http.d.ts +7 -0
- package/dist/safe-bash-contracts/index.js +8 -8
- package/dist/safe-bash-contracts/io.js +2 -2
- package/dist/safe-bash-contracts/output.js +3 -3
- package/dist/safe-bash-contracts/runtime-control.d.ts +2 -2
- package/dist/safe-bash-contracts/runtime-control.js +4 -2
- package/dist/safe-bash-contracts/signals.d.ts +2 -0
- package/dist/safe-bash-contracts/signals.js +3 -1
- package/dist/safe-bash-contracts/yield.js +1 -1
- package/dist/safe-bash-csv-engine/index.d.ts +2 -1
- package/dist/safe-bash-csv-engine/index.js +21 -15
- package/dist/safe-bash-io-engine/commands/search/requirements.js +2 -2
- package/dist/safe-bash-io-engine/commands/text-programs/shared.js +6 -6
- package/dist/safe-bash-io-engine/internal.js +1 -1
- package/dist/safe-bash-io-engine/shell/pattern.js +38 -18
- package/dist/safe-bash-line-ending-engine/convert.js +9 -204
- package/dist/safe-bash-line-ending-engine/encoding.js +9 -42
- package/dist/safe-bash-line-ending-engine/index.js +48 -0
- package/dist/safe-bash-line-ending-engine/info.js +9 -90
- package/dist/safe-bash-line-ending-engine/internal.js +15 -160
- package/dist/safe-bash-line-ending-engine/io.js +12 -289
- package/dist/safe-bash-line-ending-engine/stage.js +10 -160
- package/dist/safe-bash-markdown-engine/index.js +3 -3
- package/dist/safe-bash-network-engine/args.d.ts +6 -0
- package/dist/safe-bash-network-engine/args.js +4 -2
- package/dist/safe-bash-network-engine/body.js +1 -1
- package/dist/safe-bash-network-engine/fetch-transport.js +3 -1
- package/dist/safe-bash-network-engine/index.js +3 -1
- package/dist/safe-bash-network-engine/input.js +2 -2
- package/dist/safe-bash-network-engine/platform-portable.js +3 -1
- package/dist/safe-bash-query-engine/dates.d.ts +1 -1
- package/dist/safe-bash-query-engine/dates.js +1 -1
- package/dist/safe-bash-query-engine/index.js +6 -6
- package/dist/safe-bash-query-engine/interpreter.js +4 -4
- package/dist/safe-bash-query-engine/parser.js +1 -1
- package/dist/safe-bash-query-engine/query-core.js +6 -6
- package/dist/safe-bash-regex-engine/execution/bounded-provider.js +10 -0
- package/dist/safe-bash-regex-engine/index.js +1 -1
- package/dist/safe-bash-regex-engine/text/regex.d.ts +1 -1
- package/dist/safe-bash-regex-engine/text/regex.js +1 -1
- package/dist/safe-bash-search-engine/ergonomic-regex.d.ts +1 -0
- package/dist/safe-bash-search-engine/ergonomic-regex.js +1 -1
- package/dist/safe-bash-search-engine/grep.js +16 -9
- package/dist/safe-bash-search-engine/matcher.d.ts +2 -2
- package/dist/safe-bash-search-engine/matcher.js +12 -8
- package/dist/safe-bash-search-engine/shared.js +1 -1
- package/dist/safe-bash-search-engine/walk.js +13 -1
- package/dist/safe-bash-text-stream-engine/stream-format/shared.d.ts +1 -1
- package/dist/safe-bash-text-stream-engine/stream-format/shared.js +2 -1
- package/dist/safe-bash-xml-engine/document.js +3 -3
- package/dist/safe-bash-xml-engine/evaluate.js +2 -2
- package/dist/safe-bash-xml-engine/index.js +4 -4
- package/dist/safe-bash-xml-engine/io.js +7 -2
- package/dist/safe-bash-xml-engine/limits.d.ts +0 -2
- package/dist/safe-bash-xml-engine/limits.js +1 -1
- package/dist/safe-bash-xml-engine/query.js +3 -3
- package/dist/safe-bash-zip-engine/index.js +3 -3
- package/dist/safe-bash-zip-engine/zip/repair.js +3 -3
- package/dist/safe-bash-zip-engine/zip/safety.js +1 -1
- package/dist/safe-bash-zip-engine/zip/sfx.js +3 -3
- package/dist/safe-bash-zip-engine/zip/volumes.js +1 -1
- package/dist/safe-bash-zip-engine/zip-format.js +3 -3
- package/dist/safe-playwright-cloudflare/browser-socket-closure.js +18 -3
- package/dist/safe-playwright-cloudflare/shell-browser-resource.js +1 -1
- package/dist/xlsx-ast/xlsx.js +6 -5
- package/package.json +86 -98
- package/dist/media-cli/bytes.d.ts +0 -8
- package/dist/media-cli/bytes.js +0 -40
- package/dist/media-cli/concat.d.ts +0 -30
- package/dist/media-cli/concat.js +0 -197
- package/dist/media-cli/content.js +0 -66
- package/dist/media-cli/dependency-grammars.d.ts +0 -12
- package/dist/media-cli/dependency-grammars.js +0 -557
- package/dist/media-cli/discover.js +0 -286
- package/dist/media-cli/engine.js +0 -190
- package/dist/media-cli/filename-expression.js +0 -147
- package/dist/media-cli/filesystem.js +0 -35
- package/dist/media-cli/frontend-contract.js +0 -8
- package/dist/media-cli/frontend-issues.d.ts +0 -6
- package/dist/media-cli/frontend-issues.js +0 -9
- package/dist/media-cli/imagemagick-operand.d.ts +0 -42
- package/dist/media-cli/imagemagick-operand.js +0 -229
- package/dist/media-cli/imagemagick-references.d.ts +0 -7
- package/dist/media-cli/imagemagick-references.js +0 -42
- package/dist/media-cli/imagemagick.generated.js +0 -3254
- package/dist/media-cli/imagemagick.js +0 -615
- package/dist/media-cli/index.js +0 -12
- package/dist/media-cli/mvg.d.ts +0 -10
- package/dist/media-cli/mvg.js +0 -102
- package/dist/media-cli/network.js +0 -78
- package/dist/media-cli/options.generated.js +0 -3312
- package/dist/media-cli/preset.d.ts +0 -11
- package/dist/media-cli/preset.js +0 -57
- package/dist/media-cli/resolution-path.d.ts +0 -23
- package/dist/media-cli/resolution-path.js +0 -217
- package/dist/media-cli/resolver.js +0 -494
- package/dist/media-cli/resources.d.ts +0 -16
- package/dist/media-cli/resources.js +0 -187
- package/dist/media-cli/shim.js +0 -52
- package/dist/media-cli/tee.d.ts +0 -6
- package/dist/media-cli/tee.js +0 -38
- package/dist/office-package/zip-sync.js +0 -111
- package/dist/remote-execution/binary.js +0 -178
- package/dist/remote-execution/callback-result.js +0 -26
- package/dist/remote-execution/canonical-capabilities.d.ts +0 -5
- package/dist/remote-execution/canonical-capabilities.js +0 -45
- package/dist/remote-execution/canonical-metadata.d.ts +0 -4
- package/dist/remote-execution/canonical-metadata.js +0 -32
- package/dist/remote-execution/client.js +0 -824
- package/dist/remote-execution/deployment.js +0 -131
- package/dist/remote-execution/descriptors.js +0 -267
- package/dist/remote-execution/effects.js +0 -357
- package/dist/remote-execution/endpoint.js +0 -224
- package/dist/remote-execution/files.js +0 -291
- package/dist/remote-execution/hosting-operation.js +0 -26
- package/dist/remote-execution/hosting-request.d.ts +0 -4
- package/dist/remote-execution/hosting-request.js +0 -12
- package/dist/remote-execution/hosting-stream.d.ts +0 -8
- package/dist/remote-execution/hosting-stream.js +0 -64
- package/dist/remote-execution/index.js +0 -18
- package/dist/remote-execution/invocation-admission.d.ts +0 -3
- package/dist/remote-execution/invocation-admission.js +0 -17
- package/dist/remote-execution/job-binding.js +0 -1269
- package/dist/remote-execution/materializations.js +0 -284
- package/dist/remote-execution/modal-driver.js +0 -90
- package/dist/remote-execution/native-result.d.ts +0 -3
- package/dist/remote-execution/native-result.js +0 -16
- package/dist/remote-execution/output-freshness.d.ts +0 -4
- package/dist/remote-execution/output-freshness.js +0 -19
- package/dist/remote-execution/output-retrieval.js +0 -474
- package/dist/remote-execution/process-http.js +0 -607
- package/dist/remote-execution/process.js +0 -577
- package/dist/remote-execution/protocol.js +0 -208
- package/dist/remote-execution/relay.js +0 -91
- package/dist/remote-execution/rest-driver.js +0 -93
- package/dist/remote-execution/upload-descriptor.js +0 -201
- package/dist/remote-execution/upload-protocol.js +0 -62
- package/dist/remote-execution/uploads.js +0 -324
- package/dist/remote-execution/wire-json.d.ts +0 -4
- package/dist/remote-execution/wire-json.js +0 -44
- package/dist/remote-execution/wire-validation.js +0 -131
- package/dist/remote-execution/wire.generated.js +0 -4224
- package/dist/safe-bash/chunks/chunk-GDYNCWRV.js +0 -161
- package/dist/safe-bash/chunks/chunk-IWDICZVK.js +0 -20
- package/dist/safe-bash/chunks/chunk-MHMMRCYC.js +0 -3464
- package/dist/safe-bash/chunks/chunk-UE5KZDEK.js +0 -77
- package/dist/safe-bash/chunks/csvkit-TACDU7FC.js +0 -1618
- package/dist/safe-bash/chunks/implementation-MLFHUQ5M.js +0 -133
- package/dist/safe-bash/commands/csvkit/sync.js +0 -1639
- package/dist/safe-bash/commands/node/unconfigured.d.ts +0 -3
- package/dist/safe-bash/commands/node/unconfigured.js +0 -10
- package/dist/safe-bash/commands/pandoc/implementation.d.ts +0 -8
- package/dist/safe-bash/commands/pandoc/implementation.js +0 -94
- package/dist/safe-bash-mcp/index.browser.js +0 -9167
- package/dist/safe-bash/command-chunks/{chunk-ZRRBXU3M.js → chunk-GIN5GUDP.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-LAOM65EE.js → chunk-IEO4XVN6.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-BXCXRYVU.js → chunk-JNANXVJV.js} +0 -0
- package/dist/safe-bash/command-chunks/{chunk-364TMWBT.js → chunk-MWREVL44.js} +6 -6
- package/dist/safe-bash/command-chunks/{chunk-464RVBGB.js → chunk-Q5TDKFHK.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-AJR3AQYA.js → chunk-UKX3LZHR.js} +0 -0
- package/dist/safe-bash/command-chunks/{chunk-XIIBTGC5.js → chunk-XPXEQKRW.js} +9 -9
- package/dist/safe-bash/command-chunks/{chunk-FDBUV4HJ.js → chunk-Y4HGTG3E.js} +3 -3
- /package/dist/{safe-bash/commands/csvkit → safe-bash-command-csvkit}/sync.d.ts +0 -0
|
@@ -33,6 +33,7 @@ function parse(args) {
|
|
|
33
33
|
let terse = false;
|
|
34
34
|
let format;
|
|
35
35
|
let printf = false;
|
|
36
|
+
let bsd = false;
|
|
36
37
|
let literal = false;
|
|
37
38
|
const paths = [];
|
|
38
39
|
for (let index = 0; index < args.length; index++) {
|
|
@@ -44,25 +45,35 @@ function parse(args) {
|
|
|
44
45
|
else if (argument === "--file-system") filesystem = true;
|
|
45
46
|
else if (argument === "--terse") terse = true;
|
|
46
47
|
else if (argument === "--format" || argument.startsWith("--format=") || argument === "--printf" || argument.startsWith("--printf=")) {
|
|
48
|
+
bsd = false;
|
|
47
49
|
printf = argument.startsWith("--printf");
|
|
48
50
|
format = argument.includes("=") ? argument.slice(argument.indexOf("=") + 1) : args[++index];
|
|
49
51
|
if (format === void 0) throw new UsageError(`missing format for '${argument}'`);
|
|
50
52
|
} else if (!argument.startsWith("--")) {
|
|
51
53
|
for (let offset = 1; offset < argument.length; offset++) {
|
|
52
54
|
if (argument[offset] === "L") follow = true;
|
|
53
|
-
else if (argument[offset] === "f")
|
|
54
|
-
|
|
55
|
+
else if (argument[offset] === "f") {
|
|
56
|
+
const next = args[index + 1];
|
|
57
|
+
const formatOption = next?.startsWith("-c") || next?.startsWith("--format=") || next?.startsWith("--printf=");
|
|
58
|
+
if (offset === argument.length - 1 && next?.includes("%") && !formatOption && index + 2 < args.length) {
|
|
59
|
+
format = args[++index];
|
|
60
|
+
bsd = true;
|
|
61
|
+
filesystem = false;
|
|
62
|
+
printf = false;
|
|
63
|
+
} else filesystem = true;
|
|
64
|
+
} else if (argument[offset] === "t") terse = true;
|
|
55
65
|
else if (argument[offset] === "c") {
|
|
56
66
|
format = argument.slice(offset + 1) || args[++index];
|
|
57
67
|
if (format === void 0) throw new UsageError("missing format for '-c'");
|
|
58
68
|
printf = false;
|
|
69
|
+
bsd = false;
|
|
59
70
|
break;
|
|
60
71
|
} else throw new UsageError(`unrecognized option '${argument}'`);
|
|
61
72
|
}
|
|
62
73
|
} else throw new UsageError(`unrecognized option '${argument}'`);
|
|
63
74
|
}
|
|
64
75
|
requireOperands(paths);
|
|
65
|
-
return { follow, filesystem, terse, format, printf, paths };
|
|
76
|
+
return { follow, filesystem, terse, format, printf, paths, bsd };
|
|
66
77
|
}
|
|
67
78
|
function quoted(text, style) {
|
|
68
79
|
if (style === "literal") return text;
|
|
@@ -113,7 +124,7 @@ function epoch(milliseconds, precision) {
|
|
|
113
124
|
const suffix = precision ? "." + fraction.toString().padStart(places, "0") + "0".repeat(precision - places) : "";
|
|
114
125
|
return `${value < 0 ? "-" : ""}${seconds}${suffix}`;
|
|
115
126
|
}
|
|
116
|
-
function directive(format, start) {
|
|
127
|
+
function directive(format, start, bsd) {
|
|
117
128
|
let index = start + 1;
|
|
118
129
|
const flagsStart = index;
|
|
119
130
|
while (index < format.length && "-+ #0".includes(format[index])) index++;
|
|
@@ -127,7 +138,15 @@ function directive(format, start) {
|
|
|
127
138
|
while (index < format.length && format[index] >= "0" && format[index] <= "9") index++;
|
|
128
139
|
precision = format.slice(precisionStart, index);
|
|
129
140
|
}
|
|
130
|
-
|
|
141
|
+
let code = format[index];
|
|
142
|
+
if (bsd && code !== void 0) {
|
|
143
|
+
const pair = format.slice(index, index + 2);
|
|
144
|
+
const mapping = { z: "s", N: "n", m: "Y", a: "X", c: "Z", B: "W", Lp: "a", Sp: "A", u: "u", Su: "U", g: "g", Sg: "G", i: "i", l: "h", HT: "bsdType", Y: "bsdTarget", "%": "%" };
|
|
145
|
+
const key = Object.hasOwn(mapping, pair) ? pair : code;
|
|
146
|
+
if (!Object.hasOwn(mapping, key)) throw new UsageError(`unsupported BSD stat format: %${key}`);
|
|
147
|
+
code = mapping[key];
|
|
148
|
+
index += key.length - 1;
|
|
149
|
+
}
|
|
131
150
|
if (code === void 0) throw new UsageError("invalid stat format directive");
|
|
132
151
|
const codePoint = code.charCodeAt(0);
|
|
133
152
|
if (code !== "%" && !(codePoint >= 65 && codePoint <= 90) && !(codePoint >= 97 && codePoint <= 122)) {
|
|
@@ -159,7 +178,7 @@ function formatField(text, code, flags, width, precision, numeric, epoch2) {
|
|
|
159
178
|
}
|
|
160
179
|
return concatBytes([allocSpaces(padding), bytes]);
|
|
161
180
|
}
|
|
162
|
-
async function render(context, path, name, stat, format, escapes, limit, filesystem, terse) {
|
|
181
|
+
async function render(context, path, name, stat, format, escapes, limit, filesystem, terse, bsd) {
|
|
163
182
|
const chunks = [];
|
|
164
183
|
let bytes = 0;
|
|
165
184
|
const append = (text) => {
|
|
@@ -203,7 +222,7 @@ async function render(context, path, name, stat, format, escapes, limit, filesys
|
|
|
203
222
|
index += point.length;
|
|
204
223
|
continue;
|
|
205
224
|
}
|
|
206
|
-
const parsed = directive(format, index);
|
|
225
|
+
const parsed = directive(format, index, bsd);
|
|
207
226
|
index += parsed.length;
|
|
208
227
|
const { code, flags } = parsed;
|
|
209
228
|
const width = Number(parsed.width || 0);
|
|
@@ -232,8 +251,15 @@ async function render(context, path, name, stat, format, escapes, limit, filesys
|
|
|
232
251
|
if (Object.hasOwn(times, code)) {
|
|
233
252
|
text = terse && times[code] === void 0 ? "?" : epoch(available(times[code], code), precision ?? 0);
|
|
234
253
|
numeric = text !== "?";
|
|
235
|
-
} else if (code === "
|
|
236
|
-
else if (code === "
|
|
254
|
+
} else if (code === "bsdType") text = stat.type === "directory" ? "Directory" : stat.type === "symlink" ? "Symbolic Link" : stat.type === "character" ? "Character Device" : "Regular File";
|
|
255
|
+
else if (code === "n") text = name;
|
|
256
|
+
else if (code === "bsdTarget") {
|
|
257
|
+
text = "";
|
|
258
|
+
if (stat.type === "symlink") {
|
|
259
|
+
if (!context.fs.readlink) throw new FsError("ENOTSUP", { syscall: "readlink", path });
|
|
260
|
+
text = await context.fs.readlink(path, { signal: context.signal });
|
|
261
|
+
}
|
|
262
|
+
} else if (code === "N") {
|
|
237
263
|
text = quoted(name, context.env.QUOTING_STYLE);
|
|
238
264
|
if (stat.type === "symlink") {
|
|
239
265
|
if (!context.fs.readlink) throw new FsError("ENOTSUP", { syscall: "readlink", path });
|
|
@@ -292,7 +318,7 @@ function createStatCommand(configuration = {}) {
|
|
|
292
318
|
const terse = parsed.terse && parsed.format === void 0;
|
|
293
319
|
if (terse && parsed.filesystem) throw new FsError("ENOTSUP", { message: "filesystem terse stat is unsupported" });
|
|
294
320
|
const format = parsed.format ?? (parsed.filesystem ? " File: %n\n Type: %T" : terse ? "%n %s %b %f %u %g %D %i %h %t %T %X %Y %Z %W %o" : " File: %N\n Size: %s Type: %F\n Mode: %a (%A)\nAccess: %x\nModify: %y\nChange: %z\n Birth: %w");
|
|
295
|
-
const text = await render(context, path, name, stat, format, parsed.printf, configured.limits.maxOutputBytes, parsed.filesystem, terse);
|
|
321
|
+
const text = await render(context, path, name, stat, format, parsed.printf, configured.limits.maxOutputBytes, parsed.filesystem, terse, parsed.bsd);
|
|
296
322
|
await budget.output(parsed.printf ? text : concatBytes([text, Uint8Array.of(10)]));
|
|
297
323
|
} catch (error) {
|
|
298
324
|
context.signal.throwIfAborted();
|
|
@@ -305,7 +331,7 @@ function createStatCommand(configuration = {}) {
|
|
|
305
331
|
});
|
|
306
332
|
}
|
|
307
333
|
var syncStatDecoder = new TextDecoder("utf-8", { fatal: false });
|
|
308
|
-
function renderSync(path, name, stat, format, escapes, limit, filesystem, terse, quotingStyle) {
|
|
334
|
+
function renderSync(path, name, stat, format, escapes, limit, filesystem, terse, quotingStyle, bsd) {
|
|
309
335
|
const chunks = [];
|
|
310
336
|
let bytes = 0;
|
|
311
337
|
const append = (text) => {
|
|
@@ -348,7 +374,7 @@ function renderSync(path, name, stat, format, escapes, limit, filesystem, terse,
|
|
|
348
374
|
index += point.length;
|
|
349
375
|
continue;
|
|
350
376
|
}
|
|
351
|
-
const parsed = directive(format, index);
|
|
377
|
+
const parsed = directive(format, index, bsd);
|
|
352
378
|
index += parsed.length;
|
|
353
379
|
const { code, flags } = parsed;
|
|
354
380
|
const width = Number(parsed.width || 0);
|
|
@@ -377,8 +403,12 @@ function renderSync(path, name, stat, format, escapes, limit, filesystem, terse,
|
|
|
377
403
|
if (Object.hasOwn(times, code)) {
|
|
378
404
|
text = terse && times[code] === void 0 ? "?" : epoch(available(times[code], code), precision ?? 0);
|
|
379
405
|
numeric = text !== "?";
|
|
380
|
-
} else if (code === "
|
|
381
|
-
else if (code === "
|
|
406
|
+
} else if (code === "bsdType") text = stat.type === "directory" ? "Directory" : stat.type === "symlink" ? "Symbolic Link" : stat.type === "character" ? "Character Device" : "Regular File";
|
|
407
|
+
else if (code === "n") text = name;
|
|
408
|
+
else if (code === "bsdTarget") {
|
|
409
|
+
if (stat.type === "symlink" && stat.target === void 0) throw new FsError("ENOTSUP", { syscall: "readlink", path });
|
|
410
|
+
text = stat.type === "symlink" ? stat.target : "";
|
|
411
|
+
} else if (code === "N") {
|
|
382
412
|
text = quoted(name, quotingStyle);
|
|
383
413
|
if (stat.type === "symlink") {
|
|
384
414
|
if (stat.target === void 0) throw new FsError("ENOTSUP", { syscall: "readlink", path });
|
|
@@ -451,7 +481,7 @@ function evalSyncStat(args, cwd, quotingStyle, inspectStat) {
|
|
|
451
481
|
if (terse && parsed.filesystem) return void 0;
|
|
452
482
|
const format = parsed.format ?? (parsed.filesystem ? " File: %n\n Type: %T" : terse ? "%n %s %b %f %u %g %D %i %h %t %T %X %Y %Z %W %o" : " File: %N\n Size: %s Type: %F\n Mode: %a (%A)\nAccess: %x\nModify: %y\nChange: %z\n Birth: %w");
|
|
453
483
|
try {
|
|
454
|
-
const rendered = renderSync(abs, name, stat, format, parsed.printf, 262144, parsed.filesystem, terse, quotingStyle);
|
|
484
|
+
const rendered = renderSync(abs, name, stat, format, parsed.printf, 262144, parsed.filesystem, terse, quotingStyle, parsed.bsd);
|
|
455
485
|
outChunks.push(parsed.printf ? rendered : concatBytes([rendered, Uint8Array.of(10)]));
|
|
456
486
|
} catch {
|
|
457
487
|
return void 0;
|
|
@@ -27,22 +27,17 @@ var Budget = class {
|
|
|
27
27
|
workTotal = 0;
|
|
28
28
|
maxWorkLimit;
|
|
29
29
|
_signal;
|
|
30
|
-
_aborted = false;
|
|
31
30
|
get signal() {
|
|
32
31
|
return this._signal;
|
|
33
32
|
}
|
|
34
33
|
set signal(value) {
|
|
35
34
|
this._signal = value;
|
|
36
|
-
this._aborted = value.aborted;
|
|
37
|
-
if (!this._aborted) value.addEventListener("abort", () => {
|
|
38
|
-
this._aborted = true;
|
|
39
|
-
}, { once: true });
|
|
40
35
|
}
|
|
41
36
|
get aborted() {
|
|
42
|
-
return this.
|
|
37
|
+
return this._signal.aborted;
|
|
43
38
|
}
|
|
44
39
|
check() {
|
|
45
|
-
|
|
40
|
+
this._signal.throwIfAborted();
|
|
46
41
|
}
|
|
47
42
|
bound(name, value) {
|
|
48
43
|
this.check();
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
recurse
|
|
3
|
-
} from "./chunk-PTT3I223.js";
|
|
4
1
|
import {
|
|
5
2
|
splitRegex
|
|
6
3
|
} from "./chunk-VSRGNQCP.js";
|
|
@@ -9,12 +6,12 @@ import {
|
|
|
9
6
|
scanRegex,
|
|
10
7
|
substituteRegex
|
|
11
8
|
} from "./chunk-KQLD3AED.js";
|
|
12
|
-
import {
|
|
13
|
-
formatValue
|
|
14
|
-
} from "./chunk-BPE5INLI.js";
|
|
15
9
|
import {
|
|
16
10
|
indices
|
|
17
11
|
} from "./chunk-4BB2SWJ5.js";
|
|
12
|
+
import {
|
|
13
|
+
recurse
|
|
14
|
+
} from "./chunk-PTT3I223.js";
|
|
18
15
|
import {
|
|
19
16
|
capture
|
|
20
17
|
} from "./chunk-CQTRW45K.js";
|
|
@@ -25,7 +22,7 @@ import {
|
|
|
25
22
|
strftime,
|
|
26
23
|
strptime,
|
|
27
24
|
toDateIso8601
|
|
28
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-M32HFSX7.js";
|
|
29
26
|
import {
|
|
30
27
|
delpaths
|
|
31
28
|
} from "./chunk-OYYV7ZAF.js";
|
|
@@ -46,6 +43,9 @@ import {
|
|
|
46
43
|
import {
|
|
47
44
|
splitString
|
|
48
45
|
} from "./chunk-HMOZ6XVJ.js";
|
|
46
|
+
import {
|
|
47
|
+
formatValue
|
|
48
|
+
} from "./chunk-BPE5INLI.js";
|
|
49
49
|
import {
|
|
50
50
|
JqParseError,
|
|
51
51
|
measureValue,
|
|
@@ -1070,10 +1070,10 @@ var Interpreter = class _Interpreter {
|
|
|
1070
1070
|
const length = input === null ? 0 : input.length;
|
|
1071
1071
|
const size = remove2 ? Math.max(0, length - 1) : Math.max(length, key + 1);
|
|
1072
1072
|
this.budget.collection(size);
|
|
1073
|
-
if (!Number.isSafeInteger(size)
|
|
1073
|
+
if (!Number.isSafeInteger(size)) throw new JqLimitError("maxCollectionSize");
|
|
1074
1074
|
const padding = remove2 ? 0 : Math.max(0, key - length);
|
|
1075
1075
|
const minimumBytes = size ? 2 * size + 1 + 3 * padding : 2;
|
|
1076
|
-
if (minimumBytes >
|
|
1076
|
+
if (minimumBytes > this.budget.limits.maxValueBytes) throw new JqLimitError("maxValueBytes");
|
|
1077
1077
|
const result = [];
|
|
1078
1078
|
if (input !== null) for (const item of input) {
|
|
1079
1079
|
{
|
|
@@ -1255,8 +1255,8 @@ var Interpreter = class _Interpreter {
|
|
|
1255
1255
|
yield mktime(input);
|
|
1256
1256
|
return;
|
|
1257
1257
|
}
|
|
1258
|
-
if (name === "strftime" || name === "strptime") {
|
|
1259
|
-
for await (const format of this.run(args[0], input)) yield name === "
|
|
1258
|
+
if (name === "strftime" || name === "strflocaltime" || name === "strptime") {
|
|
1259
|
+
for await (const format of this.run(args[0], input)) yield name === "strptime" ? strptime(input, format, budget) : strftime(input, format, budget, name === "strflocaltime");
|
|
1260
1260
|
return;
|
|
1261
1261
|
}
|
|
1262
1262
|
if (name === "fromdateiso8601" || name === "fromdate") {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
parseSelection,
|
|
3
3
|
resolveSelection
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-RBME3JEH.js";
|
|
5
5
|
import {
|
|
6
6
|
Writer
|
|
7
7
|
} from "./chunk-VM2ZMWHQ.js";
|
|
@@ -10,21 +10,21 @@ import {
|
|
|
10
10
|
outputOperation,
|
|
11
11
|
preflight,
|
|
12
12
|
publish
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-FJURV46Y.js";
|
|
14
14
|
import {
|
|
15
15
|
checkedAdd,
|
|
16
16
|
inferDelimiter,
|
|
17
17
|
unsigned
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-DPAYAVMS.js";
|
|
19
19
|
import {
|
|
20
20
|
boundedSort
|
|
21
21
|
} from "./chunk-HEYKESED.js";
|
|
22
22
|
import {
|
|
23
23
|
Scanner
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-DBAT3IK2.js";
|
|
25
25
|
import {
|
|
26
26
|
XanError
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-U3MMODA5.js";
|
|
28
28
|
import {
|
|
29
29
|
init_buffer
|
|
30
30
|
} from "./chunk-HX3SHTCE.js";
|
|
@@ -510,6 +510,214 @@ async function* concatenate(args, scope, budget, writer) {
|
|
|
510
510
|
}
|
|
511
511
|
}
|
|
512
512
|
|
|
513
|
+
// packages/safe-bash-command-xan/src/presentation.ts
|
|
514
|
+
init_buffer();
|
|
515
|
+
import { escapeText } from "../../safe-bash-contracts/escaping.js";
|
|
516
|
+
import { widthOf } from "../../safe-bash-command-column/display.js";
|
|
517
|
+
|
|
518
|
+
// packages/safe-bash-command-xan/src/expression.ts
|
|
519
|
+
init_buffer();
|
|
520
|
+
async function expressions(text, header, noHeaders, budget) {
|
|
521
|
+
budget.bound("maxSelectorBytes", await budget.textSize(text));
|
|
522
|
+
budget.hold(text.length * 4);
|
|
523
|
+
let offset = 0;
|
|
524
|
+
const space = () => {
|
|
525
|
+
while (" \r\n".includes(text[offset] ?? "\0")) {
|
|
526
|
+
offset++;
|
|
527
|
+
budget.work();
|
|
528
|
+
}
|
|
529
|
+
};
|
|
530
|
+
const identifier = () => {
|
|
531
|
+
const start = offset;
|
|
532
|
+
while (offset < text.length) {
|
|
533
|
+
const c = text.charCodeAt(offset);
|
|
534
|
+
if (!(c >= 65 && c <= 90 || c >= 97 && c <= 122 || c === 95 || offset > start && c >= 48 && c <= 57)) break;
|
|
535
|
+
offset++;
|
|
536
|
+
budget.work();
|
|
537
|
+
}
|
|
538
|
+
return text.slice(start, offset);
|
|
539
|
+
};
|
|
540
|
+
const numeric = (value) => {
|
|
541
|
+
const number = typeof value === "number" ? value : decimalNumber(value, budget);
|
|
542
|
+
if (number === void 0 || !Number.isFinite(number)) throw new XanError("expression requires a finite number");
|
|
543
|
+
return number;
|
|
544
|
+
};
|
|
545
|
+
const parse = (minimum, depth) => {
|
|
546
|
+
budget.bound("maxSelectorDepth", depth);
|
|
547
|
+
if (depth > 128) throw new XanError("expression nesting is too deep");
|
|
548
|
+
budget.add("maxSelectorNodes", 1);
|
|
549
|
+
budget.hold(64);
|
|
550
|
+
space();
|
|
551
|
+
let left;
|
|
552
|
+
const char = text[offset];
|
|
553
|
+
if (char === "+" || char === "-") {
|
|
554
|
+
offset++;
|
|
555
|
+
const inner = parse(3, depth + 1);
|
|
556
|
+
left = (row) => (char === "-" ? -1 : 1) * numeric(inner(row));
|
|
557
|
+
} else if (char === "(") {
|
|
558
|
+
offset++;
|
|
559
|
+
left = parse(0, depth + 1);
|
|
560
|
+
space();
|
|
561
|
+
if (text[offset++] !== ")") throw new XanError("expected closing parenthesis");
|
|
562
|
+
} else if (char === "'" || char === '"') {
|
|
563
|
+
offset++;
|
|
564
|
+
let value = "";
|
|
565
|
+
while (offset < text.length && text[offset] !== char) {
|
|
566
|
+
budget.work();
|
|
567
|
+
value += text[offset++];
|
|
568
|
+
}
|
|
569
|
+
if (text[offset++] !== char) throw new XanError("unclosed expression string");
|
|
570
|
+
left = () => value;
|
|
571
|
+
} else if (char !== void 0 && (char >= "0" && char <= "9" || char === ".")) {
|
|
572
|
+
const start = offset;
|
|
573
|
+
while (offset < text.length && "0123456789.eE".includes(text[offset])) {
|
|
574
|
+
const previous = text[offset++];
|
|
575
|
+
budget.work();
|
|
576
|
+
if ((previous === "e" || previous === "E") && (text[offset] === "+" || text[offset] === "-")) offset++;
|
|
577
|
+
}
|
|
578
|
+
const value = decimalNumber(text.slice(start, offset), budget);
|
|
579
|
+
if (value === void 0) throw new XanError("invalid expression number");
|
|
580
|
+
left = () => value;
|
|
581
|
+
} else {
|
|
582
|
+
const name = identifier();
|
|
583
|
+
if (!name) throw new XanError("expected expression");
|
|
584
|
+
let column = -1;
|
|
585
|
+
if (!noHeaders) for (let i = 0; i < (header?.width ?? 0); i++) {
|
|
586
|
+
budget.work();
|
|
587
|
+
if (cellText(header.cells[i].decoded.view(), budget) === name) {
|
|
588
|
+
column = i;
|
|
589
|
+
break;
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
if (column < 0) throw new XanError(`unknown expression column: ${name}`);
|
|
593
|
+
left = (row) => cellText(row.cells[column].decoded.view(), budget);
|
|
594
|
+
}
|
|
595
|
+
let chainDepth = depth;
|
|
596
|
+
while (true) {
|
|
597
|
+
space();
|
|
598
|
+
const operator = text[offset] ?? "";
|
|
599
|
+
const precedence = operator === "+" || operator === "-" ? 1 : operator === "*" || operator === "/" || operator === "%" ? 2 : -1;
|
|
600
|
+
if (precedence < minimum) break;
|
|
601
|
+
budget.bound("maxSelectorDepth", ++chainDepth);
|
|
602
|
+
if (chainDepth > 128) throw new XanError("expression nesting is too deep");
|
|
603
|
+
offset++;
|
|
604
|
+
const right = parse(precedence + 1, depth + 1), previous = left;
|
|
605
|
+
left = (row) => {
|
|
606
|
+
budget.work();
|
|
607
|
+
const a = numeric(previous(row)), b = numeric(right(row));
|
|
608
|
+
const value = operator === "+" ? a + b : operator === "-" ? a - b : operator === "*" ? a * b : operator === "/" ? a / b : a % b;
|
|
609
|
+
if (!Number.isFinite(value)) throw new XanError("non-finite arithmetic result");
|
|
610
|
+
return value;
|
|
611
|
+
};
|
|
612
|
+
}
|
|
613
|
+
return left;
|
|
614
|
+
};
|
|
615
|
+
const result = [];
|
|
616
|
+
for (; ; ) {
|
|
617
|
+
space();
|
|
618
|
+
const start = offset;
|
|
619
|
+
const evaluate = parse(0, 1);
|
|
620
|
+
let name = text.slice(start, offset).trim();
|
|
621
|
+
if (text.slice(offset, offset + 2).toLowerCase() === "as" && " \r\n".includes(text[offset + 2] ?? "\0")) {
|
|
622
|
+
offset += 2;
|
|
623
|
+
space();
|
|
624
|
+
name = identifier();
|
|
625
|
+
if (!name) throw new XanError("expected expression alias");
|
|
626
|
+
space();
|
|
627
|
+
}
|
|
628
|
+
budget.bound("maxSelectedColumns", result.length + 1);
|
|
629
|
+
budget.hold(64);
|
|
630
|
+
result.push({ name, evaluate });
|
|
631
|
+
const checkpoint = budget.checkpoint();
|
|
632
|
+
if (checkpoint) await checkpoint;
|
|
633
|
+
if (offset === text.length) break;
|
|
634
|
+
if (text[offset++] !== ",") throw new XanError("unexpected expression syntax");
|
|
635
|
+
}
|
|
636
|
+
return result;
|
|
637
|
+
}
|
|
638
|
+
|
|
639
|
+
// packages/safe-bash-command-xan/src/presentation.ts
|
|
640
|
+
async function presentationRows(args, scope, budget, writer) {
|
|
641
|
+
const scanner = scope.open(args.inputs[0], args);
|
|
642
|
+
const first = await scanner.next();
|
|
643
|
+
if (first) scope.own(first.free);
|
|
644
|
+
const table = args.command === "table";
|
|
645
|
+
const source = args.command === "map" ? args.operand : args.evaluateFile ? await scope.expression(args.selection) : args.selection;
|
|
646
|
+
const projections = table ? [] : await expressions(source, first, args.noHeaders, budget);
|
|
647
|
+
if (args.command === "map" && projections.length !== 1) throw new XanError("map requires one expression");
|
|
648
|
+
budget.hold((first?.width ?? 0) * 32);
|
|
649
|
+
const selected = table ? await resolveSelection(await parseSelection(args.selection, budget), first?.cells.map((cell) => cell.decoded.view()) ?? [], args.noHeaders, budget) : [];
|
|
650
|
+
const lines = [], widths = selected.map(() => 0);
|
|
651
|
+
let retained = 0;
|
|
652
|
+
const hold = (size) => {
|
|
653
|
+
budget.hold(size);
|
|
654
|
+
retained += size;
|
|
655
|
+
};
|
|
656
|
+
let row = first;
|
|
657
|
+
return (async function* () {
|
|
658
|
+
try {
|
|
659
|
+
if (!table && !args.noHeaders) {
|
|
660
|
+
yield* textRow(args.command === "map" ? [...first?.cells.map((cell) => cell.decoded.view()) ?? [], args.rightSelection] : projections.map((projection) => projection.name), writer, budget);
|
|
661
|
+
first?.free();
|
|
662
|
+
row = await scanner.next();
|
|
663
|
+
}
|
|
664
|
+
while (row) {
|
|
665
|
+
if (row.width !== first?.width) throw new XanError("inconsistent field count");
|
|
666
|
+
if (table) {
|
|
667
|
+
hold(selected.length * 64 + 32);
|
|
668
|
+
const line = [];
|
|
669
|
+
for (let i = 0; i < selected.length; i++) {
|
|
670
|
+
const bytes = row.cells[selected[i]].decoded.view();
|
|
671
|
+
hold(bytes.length * 16);
|
|
672
|
+
const value = escapeText(cellText(bytes, budget), "diagnostic");
|
|
673
|
+
let width2 = 0;
|
|
674
|
+
for (const character of value) {
|
|
675
|
+
budget.work();
|
|
676
|
+
width2 += widthOf(character.codePointAt(0));
|
|
677
|
+
}
|
|
678
|
+
widths[i] = Math.max(widths[i], width2);
|
|
679
|
+
line.push({ text: value, width: width2 });
|
|
680
|
+
}
|
|
681
|
+
lines.push(line);
|
|
682
|
+
} else {
|
|
683
|
+
const size = row.cells.reduce((sum, cell) => sum + cell.decoded.length * 4, 0) * Math.max(1, projections.length);
|
|
684
|
+
budget.hold(size);
|
|
685
|
+
try {
|
|
686
|
+
const values = projections.map((projection) => String(projection.evaluate(row)));
|
|
687
|
+
yield* textRow(args.command === "map" ? [...row.cells.map((cell) => cell.decoded.view()), ...values] : values, writer, budget);
|
|
688
|
+
} finally {
|
|
689
|
+
budget.release(size);
|
|
690
|
+
}
|
|
691
|
+
}
|
|
692
|
+
row.free();
|
|
693
|
+
row = await scanner.next();
|
|
694
|
+
}
|
|
695
|
+
if (table) {
|
|
696
|
+
const size = widths.reduce((sum, width2) => sum + width2 + 2, 1);
|
|
697
|
+
for (let i = 0; i < lines.length; i++) {
|
|
698
|
+
const textSize = lines[i].reduce((sum, value) => sum + value.text.length, 0);
|
|
699
|
+
const temporary = (size + textSize) * 4;
|
|
700
|
+
budget.hold(temporary);
|
|
701
|
+
try {
|
|
702
|
+
budget.work(size);
|
|
703
|
+
const c = budget.checkpoint();
|
|
704
|
+
if (c) await c;
|
|
705
|
+
yield* emitted(await writer.text(lines[i].map((value, column) => value.text + " ".repeat(widths[column] - value.width)).join(" ") + "\n"), budget);
|
|
706
|
+
if (i === 0 && !args.noHeaders) yield* emitted(await writer.text(widths.map((width2) => "-".repeat(width2)).join(" ") + "\n"), budget);
|
|
707
|
+
} finally {
|
|
708
|
+
budget.release(temporary);
|
|
709
|
+
}
|
|
710
|
+
}
|
|
711
|
+
}
|
|
712
|
+
} finally {
|
|
713
|
+
row?.free();
|
|
714
|
+
first?.free();
|
|
715
|
+
budget.release(retained);
|
|
716
|
+
await scanner.close();
|
|
717
|
+
}
|
|
718
|
+
})();
|
|
719
|
+
}
|
|
720
|
+
|
|
513
721
|
// packages/safe-bash-command-xan/src/condition.ts
|
|
514
722
|
init_buffer();
|
|
515
723
|
async function condition(expression, headers, noHeaders, budget, scope) {
|
|
@@ -872,13 +1080,13 @@ async function* transformRows(args, scope, budget, writer) {
|
|
|
872
1080
|
const predicate = args.command === "filter" ? await condition(args.operand, first, args.noHeaders, budget, scope) : void 0;
|
|
873
1081
|
const pattern = args.command === "search" ? await budget.encode(options.has("ignore-case") ? args.operand.toLowerCase() : args.operand) : void 0;
|
|
874
1082
|
if (pattern) scope.own(() => budget.release(pattern.length));
|
|
875
|
-
const limit = options.has("limit") ? await unsigned(options.get("limit"), "--limit", budget) : void 0;
|
|
1083
|
+
const limit = options.has("limit") ? await unsigned(options.get("limit"), "--limit", budget) : args.command === "top" ? 10n : void 0;
|
|
876
1084
|
let matches = 0n;
|
|
877
1085
|
for await (const row of source) {
|
|
878
1086
|
let held = false;
|
|
879
1087
|
try {
|
|
880
|
-
if (args.command === "sort" || args.command === "reverse") {
|
|
881
|
-
if (options.has("numeric")) for (const position of selected) numericCell(row.cells[position].decoded.view(), budget);
|
|
1088
|
+
if (args.command === "sort" || args.command === "reverse" || args.command === "top") {
|
|
1089
|
+
if (options.has("numeric") || args.command === "top") for (const position of selected) numericCell(row.cells[position].decoded.view(), budget);
|
|
882
1090
|
budget.hold(32);
|
|
883
1091
|
retained.push(row);
|
|
884
1092
|
held = true;
|
|
@@ -926,15 +1134,16 @@ async function* transformRows(args, scope, budget, writer) {
|
|
|
926
1134
|
for (const position of selected) {
|
|
927
1135
|
const a = left.cells[position].decoded.view(), b = right.cells[position].decoded.view();
|
|
928
1136
|
let order;
|
|
929
|
-
if (options.has("numeric")) {
|
|
1137
|
+
if (options.has("numeric") || args.command === "top") {
|
|
930
1138
|
order = Math.sign(numericCell(a, budget) - numericCell(b, budget));
|
|
931
1139
|
} else order = await compareBytes(a, b, budget);
|
|
932
|
-
if (order) return options.has("reverse") ? -order : order;
|
|
1140
|
+
if (order) return options.has("reverse") !== (args.command === "top") ? -order : order;
|
|
933
1141
|
}
|
|
934
1142
|
return 0;
|
|
935
1143
|
};
|
|
936
|
-
if (args.command === "sort") await boundedSort(retained, 32, budget, compare);
|
|
1144
|
+
if (args.command === "sort" || args.command === "top") await boundedSort(retained, 32, budget, compare);
|
|
937
1145
|
for (let i = 0; i < retained.length; i++) {
|
|
1146
|
+
if (args.command === "top" && BigInt(i) >= limit) break;
|
|
938
1147
|
budget.work();
|
|
939
1148
|
const c = budget.checkpoint();
|
|
940
1149
|
if (c) await c;
|
|
@@ -1076,7 +1285,8 @@ function width(row, expected) {
|
|
|
1076
1285
|
if (row.width !== expected) throw new XanError(`CSV error: record ${row.number} (byte: ${row.offset}): found record with ${row.width} fields, but the previous record has ${expected} fields`);
|
|
1077
1286
|
}
|
|
1078
1287
|
async function prepareRows(args, selection, scope, budget, writer) {
|
|
1079
|
-
if (args.help) return emitted2(await writer.text("xan: CSV tools for virtual files and byte streams\nCommands: headers (h), count, select, slice, head, tail, sort, search,\n filter, reverse, rename, drop, stats, freq (frequency), join,\n dedup, enum, transpose, agg, groupby, to, from, cat, split\nCommon: -h --help, -d --delimiter BYTE, -o --output PATH\nheaders: -j --just-names, --csv, -s --start N, --color auto|never\ncount/select/slice: -n --no-headers\ncount: -H/--human-readable, -c/--check-alignment, -a/--approx, -p/--parallel, -t/--threads N\nselect: literal selection or -e/--evaluate
|
|
1288
|
+
if (args.help) return emitted2(await writer.text("xan: CSV tools for virtual files and byte streams\nCommands: headers (h), count, select, slice, head, tail, sort, search,\n filter, reverse, rename, drop, stats, freq (frequency), join,\n dedup, enum, transpose, agg, groupby, to, from, cat, split, table, top, map\nCommon: -h --help, -d --delimiter BYTE, -o --output PATH\nheaders: -j --just-names, --csv, -s --start N, --color auto|never\ncount/select/slice: -n --no-headers\ncount: -H/--human-readable, -c/--check-alignment, -a/--approx, -p/--parallel, -t/--threads N\nselect: literal selection or -e/--evaluate EXPRESSIONS, -f/--evaluate-file PATH;\nslice: -s/--start, --skip, -e/--end, -l/--len, -i/--index, -I/--indices, -L/--last\nslice bytes: -B/--byte-offset N, --end-byte N, --raw\nslice conditions: -S/--start-condition EXPR, -E/--end-condition EXPR\nConditions: named column comparisons with string/number literals.\nhead/tail: -l/--limit N (default 10)\nsort: -s/--select COLUMNS, -N/--numeric, -R/--reverse, -u/--uniq\nsearch: PATTERN; -s/--select, -e/--exact, -i/--ignore-case, -v/--invert-match\nfilter: COLUMN comparison LITERAL; -v/--invert-match\nrename: NAMES; -s/--select COLUMNS; drop: SELECTION\nstats/freq: -s/--select COLUMNS; freq: -l/--limit N, -A/--all, -N/--no-extra\njoin: COLUMNS LEFT [RIGHT_COLUMNS] RIGHT; --left/--right/--full/--semi/--anti/--cross\n --drop-key none|left|right|both, --nulls, -i/--ignore-case\nSearch uses literal substrings; filter supports the comparisons above.\nagg/groupby: aggregate calls (count, sum, mean, min, max, first, last) with optional AS names.\nto: json, jsonl, ndjson, txt; from: -f json, jsonl, ndjson, txt, raw.\ncat: rows or cols [--pad]; split: -S SIZE, -O DIRECTORY, -f TEMPLATE.\nselect -e: arithmetic (+ - * / %), parentheses, literals, columns and AS aliases.\nmap: EXPRESSION COLUMN; append one computed column.\ntop: COLUMNS; -l/--limit N (default 10), -R/--reverse (smallest first).\ntable: aligned text; -s/--select COLUMNS, -n/--no-headers.\nOther expressions, formats and forced color are unsupported.\nCount execution options use exact sequential counting.\n"), budget);
|
|
1289
|
+
if (args.command === "map" || args.command === "table" || args.command === "select" && (args.evaluate || args.evaluateFile)) return presentationRows(args, scope, budget, writer);
|
|
1080
1290
|
if (["dedup", "enum", "transpose", "agg", "groupby", "to", "from", "cat", "split"].includes(args.command)) return extendedRows(args, scope, budget, writer);
|
|
1081
1291
|
if (!["headers", "count", "select", "drop", "slice"].includes(args.command)) return transformRows(args, scope, budget, writer);
|
|
1082
1292
|
if (args.command === "headers") return prepareHeaders(args, scope, budget, writer);
|