@poe-platform/safe-bash 0.1.802 → 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 +60 -33
- 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 -8355
- package/dist/image-ast/index.js +692 -8355
- 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-NZQXYWA3.js → chunk-62BOHHJT.js} +1 -2
- 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-44ALJ4QG.js → chunk-AW5KIT6V.js} +3549 -84
- package/dist/safe-bash/chunks/{chunk-RSTHLAF3.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-KDNSPLII.js → chunk-CTXNARJH.js} +2 -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-IOHH2GTI.js +56 -0
- 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-NQCM3TYR.js → chunk-LPOVNKNB.js} +225 -176
- 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-WDLGKIHD.js → chunk-S4RFUUXO.js} +841 -26
- 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-SHEMU2Z7.js → chunk-W2IYOVHK.js} +839 -1211
- 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-BJA5XNP6.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-4R5ADJM5.js +178 -0
- 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-WPYIOKE3.js → chunk-6GKYHPJG.js} +2 -2
- 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-A7MU7762.js +200 -0
- package/dist/safe-bash/command-chunks/{chunk-ORYGZYKW.js → chunk-ARZMP2L2.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-OQKC5ZU2.js → chunk-BAKFZ477.js} +62 -20
- package/dist/safe-bash/command-chunks/{chunk-QRRYN2KO.js → chunk-BC7BK6R6.js} +0 -2424
- package/dist/safe-bash/command-chunks/{chunk-F4TEEZTL.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-YOFC45RK.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-2JRBIDAD.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-QKFSRZGQ.js → chunk-ICANWOXH.js} +7 -31
- package/dist/safe-bash/command-chunks/{chunk-SQRQW3CT.js → chunk-IJ6LGLXM.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-5E4WAO4O.js → chunk-JD5QNRNO.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-KJIMDLBB.js → chunk-JNANXVJV.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-I237SNW5.js → chunk-LFJJQQND.js} +1 -1
- 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-PEF7K3UQ.js → chunk-NJYHWKIL.js} +40 -10
- package/dist/safe-bash/command-chunks/{chunk-VXSLJH7G.js → chunk-OJQRSCBP.js} +27 -7
- 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-7U7EXOXX.js → chunk-R7C4MGZ5.js} +17 -223
- 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-VGG2DL5Q.js → chunk-TRR4MYWF.js} +4 -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-TZRI7BJZ.js +496 -0
- 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-MQFIPHIQ.js → chunk-WPANOB4A.js} +38 -35
- package/dist/safe-bash/command-chunks/{chunk-Y2WBSJG6.js → chunk-X4QZQI5Q.js} +65 -64
- package/dist/safe-bash/command-chunks/{chunk-FPVUD6TH.js → chunk-XGI57GCN.js} +10 -8
- 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-6GWJUQAV.js → chunk-Z5ZZVDUD.js} +181 -133
- package/dist/safe-bash/command-chunks/{chunk-W5DNF4JH.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/compression/index.js +54 -51
- package/dist/safe-bash/commands/bytes/index.js +2 -1
- package/dist/safe-bash/commands/chmod/index.browser.js +14 -0
- package/dist/safe-bash/commands/chmod/index.d.ts +2 -0
- package/dist/safe-bash/commands/chmod/index.js +2 -0
- 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/chmod.d.ts +1 -7
- package/dist/safe-bash/commands/metadata/chmod.js +1 -204
- package/dist/safe-bash/commands/metadata/index.browser.js +3 -8
- 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/metadata/internal.d.ts +1 -30
- package/dist/safe-bash/commands/metadata/internal.js +1 -76
- package/dist/safe-bash/commands/metadata/mktemp.d.ts +1 -3
- package/dist/safe-bash/commands/metadata/mktemp.js +1 -202
- package/dist/safe-bash/commands/metadata/stat.d.ts +1 -7
- package/dist/safe-bash/commands/metadata/stat.js +1 -530
- package/dist/safe-bash/commands/mktemp/index.browser.js +13 -0
- package/dist/safe-bash/commands/mktemp/index.d.ts +2 -0
- package/dist/safe-bash/commands/mktemp/index.js +2 -0
- 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/portable-random.d.ts +1 -1
- package/dist/safe-bash/commands/portable-random.js +1 -12
- 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 +13 -0
- package/dist/safe-bash/commands/stat/index.d.ts +2 -0
- package/dist/safe-bash/commands/stat/index.js +2 -0
- 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 +74 -34
- 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 +254 -916
- 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 +3 -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 +19 -14
- 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 +24 -4
- package/dist/safe-bash/shell/runtime.js +392 -414
- 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 +7 -0
- package/dist/safe-bash/shell/value-state.js +1 -1
- package/dist/safe-bash/shell/worker-limits.js +1 -0
- package/dist/safe-bash/shell-entry.browser.js +32 -33
- package/dist/safe-bash/trap.browser.js +4 -4
- package/dist/safe-bash/worker/host.js +1 -1
- 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 +218 -65
- package/dist/safe-bash-command-bzip2/index.js +4 -3
- package/dist/safe-bash-command-chmod/LICENSE +21 -0
- package/dist/safe-bash-command-chmod/command.d.ts +7 -0
- package/dist/safe-bash-command-chmod/command.js +11 -0
- package/dist/safe-bash-command-chmod/index.d.ts +6 -0
- package/dist/safe-bash-command-chmod/index.js +27 -0
- 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 +283 -55
- 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 +10 -6
- 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-gzip/index.js +45 -42
- 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 +59 -7
- 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 +42 -57
- 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 +2835 -2783
- 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/LICENSE +21 -0
- package/dist/safe-bash-command-mktemp/command.d.ts +3 -0
- package/dist/safe-bash-command-mktemp/command.js +9 -0
- package/dist/safe-bash-command-mktemp/index.d.ts +6 -0
- package/dist/safe-bash-command-mktemp/index.js +25 -0
- 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 +16 -8
- package/dist/safe-bash-command-op/index.js +62 -36
- 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 +15 -7
- package/dist/safe-bash-command-soffice/index.js +97 -12
- package/dist/safe-bash-command-sponge/index.js +13 -3
- 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/LICENSE +21 -0
- package/dist/safe-bash-command-stat/command.d.ts +7 -0
- package/dist/safe-bash-command-stat/command.js +9 -0
- package/dist/safe-bash-command-stat/index.d.ts +6 -0
- package/dist/safe-bash-command-stat/index.js +25 -0
- 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 +37 -5
- 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 +47 -12
- package/dist/safe-bash-command-xz/command.d.ts +1 -1
- package/dist/safe-bash-command-xz/index.js +3 -2
- package/dist/safe-bash-command-yq/accounting.js +1 -1
- package/dist/safe-bash-command-yq/index.js +4 -2
- package/dist/safe-bash-command-yq/native-work.js +3 -0
- package/dist/safe-bash-command-yq/parser.js +2 -2
- package/dist/safe-bash-command-yq/query.js +8 -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 +3 -3
- package/dist/safe-bash-compression-engine/codec-loader.js +2 -2
- package/dist/safe-bash-compression-engine/files.js +6 -6
- package/dist/safe-bash-compression-engine/index.js +5 -5
- package/dist/safe-bash-compression-engine/operand.js +6 -6
- package/dist/safe-bash-compression-engine/options.js +1 -1
- package/dist/safe-bash-compression-engine/stream.js +5 -5
- package/dist/safe-bash-compression-engine/zstd-decode.js +4 -4
- 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.d.ts +2 -0
- 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-metadata-engine/LICENSE +21 -0
- package/dist/safe-bash-metadata-engine/index.d.ts +30 -0
- package/dist/safe-bash-metadata-engine/index.js +82 -0
- package/dist/safe-bash-metadata-engine/random.d.ts +1 -0
- package/dist/safe-bash-metadata-engine/random.js +21 -0
- 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 +2 -2
- package/dist/safe-bash-search-engine/glob.js +2 -2
- package/dist/safe-bash-search-engine/grep.js +17 -10
- package/dist/safe-bash-search-engine/matcher.d.ts +2 -2
- package/dist/safe-bash-search-engine/matcher.js +13 -9
- package/dist/safe-bash-search-engine/options.d.ts +2 -0
- package/dist/safe-bash-search-engine/options.js +1 -1
- package/dist/safe-bash-search-engine/output.js +1 -1
- package/dist/safe-bash-search-engine/shared.js +2 -2
- package/dist/safe-bash-search-engine/walk.js +15 -3
- 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-snapshot-json.js +2 -2
- package/dist/safe-playwright-cloudflare/browser-snapshot-references.js +1 -1
- 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 +112 -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-GETUOD5D.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/chunk-VSAJ4OTM.js +0 -962
- 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 -9157
- 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-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
|
@@ -848,7 +848,6 @@ async function pdftotext(context) {
|
|
|
848
848
|
return { exitCode: res.exitCode };
|
|
849
849
|
}
|
|
850
850
|
const outBytes = parsed.encoding === "Latin1" ? Uint8Array.from(res.output, (char) => char.charCodeAt(0)) : parsed.encoding === "UCS-2" ? encodeUcs2(res.output) : new TextEncoder().encode(res.output);
|
|
851
|
-
chargeBytes(outBytes.byteLength);
|
|
852
851
|
if (res.outputPath === "-") {
|
|
853
852
|
const stdout = invocation.child(context.stdout);
|
|
854
853
|
await writeBytes(stdout.output, outBytes, invocation.signal);
|
|
@@ -975,6 +974,12 @@ function* runPdftohtmlCliSteps(argv, files, signal) {
|
|
|
975
974
|
if (!inputPath) {
|
|
976
975
|
return { exitCode: 99, stdout: "", stderr: "Usage: pdftohtml [options] <PDF-file> [<html-file>]\n" };
|
|
977
976
|
}
|
|
977
|
+
const explicitOut = positionals[1];
|
|
978
|
+
const stdoutOutput = toStdout || explicitOut === "-" || inputPath === "-" && !explicitOut;
|
|
979
|
+
const defaultExt = xmlMode ? ".xml" : ".html";
|
|
980
|
+
const inputStem = inputPath.toLowerCase().endsWith(".pdf") ? inputPath.slice(0, -4) : inputPath;
|
|
981
|
+
const outPath = explicitOut ? explicitOut.endsWith(".html") || explicitOut.endsWith(".xml") ? explicitOut : `${explicitOut}${defaultExt}` : inputStem + defaultExt;
|
|
982
|
+
const imageDirectory = outPath.slice(0, outPath.lastIndexOf("/") + 1);
|
|
978
983
|
const pdfBytes = files.get(inputPath);
|
|
979
984
|
if (!pdfBytes) {
|
|
980
985
|
return { exitCode: 1, stdout: "", stderr: `I/O Error: Couldn't open file '${inputPath}'
|
|
@@ -1074,8 +1079,8 @@ function* runPdftohtmlCliSteps(argv, files, signal) {
|
|
|
1074
1079
|
const img = pageImages[imgIdx];
|
|
1075
1080
|
const imgBytes = imageFmt === "jpg" ? yield* encodeJpegSteps(img.bitmap) : yield* encodePngSteps(img.bitmap);
|
|
1076
1081
|
const imgFile = `page${p}_${imgIdx + 1}.${imageFmt}`;
|
|
1077
|
-
if (!dataUrls) {
|
|
1078
|
-
files.set(imgFile, imgBytes);
|
|
1082
|
+
if (!dataUrls && !stdoutOutput) {
|
|
1083
|
+
files.set(imageDirectory + imgFile, imgBytes);
|
|
1079
1084
|
}
|
|
1080
1085
|
const mime = imageFmt === "jpg" ? "image/jpeg" : "image/png";
|
|
1081
1086
|
const src = dataUrls ? `data:${mime};base64,${bytesToBase64(imgBytes)}` : imgFile;
|
|
@@ -1158,8 +1163,8 @@ function* runPdftohtmlCliSteps(argv, files, signal) {
|
|
|
1158
1163
|
const img = pageImages[imgIdx];
|
|
1159
1164
|
const imgBytes = imageFmt === "jpg" ? yield* encodeJpegSteps(img.bitmap) : yield* encodePngSteps(img.bitmap);
|
|
1160
1165
|
const imgFile = `page${p}_${imgIdx + 1}.${imageFmt}`;
|
|
1161
|
-
if (!dataUrls) {
|
|
1162
|
-
files.set(imgFile, imgBytes);
|
|
1166
|
+
if (!dataUrls && !stdoutOutput) {
|
|
1167
|
+
files.set(imageDirectory + imgFile, imgBytes);
|
|
1163
1168
|
}
|
|
1164
1169
|
const mime = imageFmt === "jpg" ? "image/jpeg" : "image/png";
|
|
1165
1170
|
const src = dataUrls ? `data:${mime};base64,${bytesToBase64(imgBytes)}` : imgFile;
|
|
@@ -1216,13 +1221,7 @@ function* runPdftohtmlCliSteps(argv, files, signal) {
|
|
|
1216
1221
|
outputText = lines.join("\n") + "\n";
|
|
1217
1222
|
}
|
|
1218
1223
|
outputText = applyPopplerOutputEncoding(outputText, encoding);
|
|
1219
|
-
|
|
1220
|
-
if (toStdout || explicitOut === "-" || inputPath === "-" && !explicitOut) {
|
|
1221
|
-
return { exitCode: 0, stdout: outputText, stderr: "" };
|
|
1222
|
-
}
|
|
1223
|
-
const defaultExt = xmlMode ? ".xml" : ".html";
|
|
1224
|
-
const inputStem = inputPath.toLowerCase().endsWith(".pdf") ? inputPath.slice(0, -4) : inputPath;
|
|
1225
|
-
const outPath = explicitOut ? explicitOut.endsWith(".html") || explicitOut.endsWith(".xml") ? explicitOut : `${explicitOut}${defaultExt}` : inputStem + defaultExt;
|
|
1224
|
+
if (stdoutOutput) return { exitCode: 0, stdout: outputText, stderr: "" };
|
|
1226
1225
|
files.set(outPath, new TextEncoder().encode(outputText));
|
|
1227
1226
|
return { exitCode: 0, stdout: "", stderr: "" };
|
|
1228
1227
|
}
|
|
@@ -1304,14 +1303,12 @@ async function pdftohtml(context) {
|
|
|
1304
1303
|
}
|
|
1305
1304
|
if (res.stdout) {
|
|
1306
1305
|
const outBytes = new TextEncoder().encode(res.stdout);
|
|
1307
|
-
chargeBytes(outBytes.byteLength);
|
|
1308
1306
|
const stdout = invocation.child(context.stdout);
|
|
1309
1307
|
await writeBytes(stdout.output, outBytes, invocation.signal);
|
|
1310
1308
|
}
|
|
1311
1309
|
for (const [key, val] of vfsFiles.entries()) {
|
|
1312
1310
|
if (++cooperativeWork % 64 === 0) await yieldTurn(context.signal);
|
|
1313
1311
|
if (existingSnap.get(key) !== val) {
|
|
1314
|
-
chargeBytes(val.byteLength);
|
|
1315
1312
|
const abs = resolvePath(context.cwd, key);
|
|
1316
1313
|
try {
|
|
1317
1314
|
await writeFileOutput(context, val, (data) => context.fs.writeFile(abs, data, { signal: invocation.signal }));
|
|
@@ -12,6 +12,7 @@ export interface QpdfCommandOptions {
|
|
|
12
12
|
export interface QpdfCliResult {
|
|
13
13
|
readonly exitCode: number;
|
|
14
14
|
readonly stdout: string;
|
|
15
|
+
readonly stdoutBytes?: Uint8Array | undefined;
|
|
15
16
|
readonly stderr: string;
|
|
16
17
|
}
|
|
17
18
|
export declare function parseQpdfPageRange(rangeSpec: string, totalPages: number): number[];
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
|
|
5
5
|
// packages/safe-bash-command-qpdf/src/index.ts
|
|
6
6
|
init_buffer();
|
|
7
|
-
import { resolvePath } from "../safe-bash-contracts/path.js";
|
|
7
|
+
import { dirname, resolvePath } from "../safe-bash-contracts/path.js";
|
|
8
8
|
import { yieldTurn } from "../safe-bash-contracts/yield.js";
|
|
9
9
|
import { writeFileOutput } from "../safe-bash-contracts/filesystem-output-budget.js";
|
|
10
10
|
import {
|
|
@@ -1247,7 +1247,7 @@ extract for accessibility: ${enc.permissions.copy ? "allowed" : "not allowed"}
|
|
|
1247
1247
|
const node = baseDoc.cos.getObject(showObject.objNum);
|
|
1248
1248
|
if (node?.kind === "stream" && (filteredStreamData || rawStreamData)) {
|
|
1249
1249
|
const bytes = filteredStreamData ? baseDoc.cos.decodeStream(node) : node.rawBytes;
|
|
1250
|
-
return { exitCode: 0, stdout: bytesToLatin1(bytes), stderr: "" };
|
|
1250
|
+
return { exitCode: 0, stdout: bytesToLatin1(bytes), stdoutBytes: bytes, stderr: "" };
|
|
1251
1251
|
}
|
|
1252
1252
|
return { exitCode: 0, stdout: formatCosNodeForDisplay(node) + "\n", stderr: "" };
|
|
1253
1253
|
}
|
|
@@ -1259,7 +1259,7 @@ extract for accessibility: ${enc.permissions.copy ? "allowed" : "not allowed"}
|
|
|
1259
1259
|
return { exitCode: 2, stdout: "", stderr: `qpdf: attachment ${showAttachmentKey} not found
|
|
1260
1260
|
` };
|
|
1261
1261
|
}
|
|
1262
|
-
return { exitCode: 0, stdout: bytesToLatin1(found.data), stderr: "" };
|
|
1262
|
+
return { exitCode: 0, stdout: bytesToLatin1(found.data), stdoutBytes: found.data, stderr: "" };
|
|
1263
1263
|
}
|
|
1264
1264
|
const outLines = entries.map((e) => `${e.key} -> ${e.filename}`);
|
|
1265
1265
|
return { exitCode: 0, stdout: outLines.length > 0 ? outLines.join("\n") + "\n" : "", stderr: "" };
|
|
@@ -2464,8 +2464,8 @@ async function qpdf(context, options = {}) {
|
|
|
2464
2464
|
if (res.stderr) {
|
|
2465
2465
|
await writeBytes(context.stderr, new TextEncoder().encode(res.stderr), invocation.signal);
|
|
2466
2466
|
}
|
|
2467
|
-
if (res.stdout) {
|
|
2468
|
-
const outBytes = new TextEncoder().encode(res.stdout);
|
|
2467
|
+
if (res.stdoutBytes || res.stdout) {
|
|
2468
|
+
const outBytes = res.stdoutBytes ?? new TextEncoder().encode(res.stdout);
|
|
2469
2469
|
chargeOutput(outBytes.byteLength);
|
|
2470
2470
|
const stdout = invocation.child(context.stdout);
|
|
2471
2471
|
await writeBytes(stdout.output, outBytes, invocation.signal);
|
|
@@ -2479,7 +2479,10 @@ async function qpdf(context, options = {}) {
|
|
|
2479
2479
|
} else {
|
|
2480
2480
|
const abs = resolvePath(context.cwd, fileKey);
|
|
2481
2481
|
try {
|
|
2482
|
-
await writeFileOutput(context, fileBytes, (data) =>
|
|
2482
|
+
await writeFileOutput(context, fileBytes, async (data) => {
|
|
2483
|
+
await context.fs.mkdir(dirname(abs), { recursive: true });
|
|
2484
|
+
await context.fs.writeFile(abs, data, { signal: invocation.signal });
|
|
2485
|
+
});
|
|
2483
2486
|
} catch (error) {
|
|
2484
2487
|
invocation.signal.throwIfAborted();
|
|
2485
2488
|
if (!(error instanceof Error) || !("code" in error)) throw error;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ByteSource, type CommandContext, type FileStat } from "../safe-bash-contracts/index.js";
|
|
1
|
+
import { type InputByteBudget, type ByteSource, type CommandContext, type FileStat } from "../safe-bash-contracts/index.js";
|
|
2
2
|
export declare function virtualPath(cwd: string, name: string): string;
|
|
3
3
|
/** Own only acquisition and reads; a capability or pathname query owns no reader. */
|
|
4
4
|
export declare class FileInput {
|
|
@@ -18,6 +18,6 @@ export declare class FileInput {
|
|
|
18
18
|
close(): Promise<void>;
|
|
19
19
|
[Symbol.asyncIterator](): AsyncIterator<Uint8Array>;
|
|
20
20
|
}
|
|
21
|
-
export declare function ownedBytes(source: ByteSource, signal: AbortSignal): AsyncGenerator<Uint8Array> & AsyncDisposable;
|
|
21
|
+
export declare function ownedBytes(source: ByteSource, signal: AbortSignal, budget?: InputByteBudget): AsyncGenerator<Uint8Array> & AsyncDisposable;
|
|
22
22
|
export declare function records(source: ByteSource, delimiter: number, limit: number, signal: AbortSignal): AsyncGenerator<Uint8Array>;
|
|
23
23
|
export declare function readAllRecords(source: ByteSource, delimiter: number, maxBytes: number, maxRecords: number, signal: AbortSignal, lines: Uint8Array[]): Promise<number>;
|
|
@@ -107,7 +107,7 @@ export class FileInput {
|
|
|
107
107
|
return { next: () => this.next(), return: async () => { await this.close(); return { done: true, value: undefined }; } };
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
|
-
export function ownedBytes(source, signal) {
|
|
110
|
+
export function ownedBytes(source, signal, budget) {
|
|
111
111
|
const iterator = source[Symbol.asyncIterator]();
|
|
112
112
|
const controller = new AbortController();
|
|
113
113
|
const readingSignal = AbortSignal.any([signal, controller.signal]);
|
|
@@ -146,6 +146,7 @@ export function ownedBytes(source, signal) {
|
|
|
146
146
|
let chunks = 0;
|
|
147
147
|
try {
|
|
148
148
|
for await (const chunk of readBytes(tracked, readingSignal)) {
|
|
149
|
+
budget?.charge(chunk.byteLength);
|
|
149
150
|
yield chunk;
|
|
150
151
|
if (++chunks % 1024 === 0)
|
|
151
152
|
await yieldTurn(readingSignal);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { builtInDirectContextExecutors, commandRuntimeIdentity, createBufferedOutput, getCommandArguments, isFsError, writeBytes, } from "../safe-bash-contracts/index.js";
|
|
1
|
+
import { builtInDirectContextExecutors, commandRuntimeIdentity, createBufferedOutput, getCommandArguments, InputByteBudget, isFsError, writeBytes, } from "../safe-bash-contracts/index.js";
|
|
2
2
|
import { openFileOutput } from "./filesystem-output.js";
|
|
3
3
|
import { inheritYieldCheckpoint, yieldTurn } from "../safe-bash-contracts/yield.js";
|
|
4
4
|
import { countMax, Diagnostic, fileQuote, parse, quote, unicodeLocale } from "./args.js";
|
|
@@ -25,6 +25,7 @@ export function createShufCommand(options = {}) {
|
|
|
25
25
|
runtimeIdentity: commandRuntimeIdentity,
|
|
26
26
|
description: "Write a random permutation of input records",
|
|
27
27
|
async execute(context) {
|
|
28
|
+
const budget = new InputByteBudget(Infinity, context.inputBudget);
|
|
28
29
|
let random;
|
|
29
30
|
let output;
|
|
30
31
|
let source;
|
|
@@ -96,7 +97,7 @@ export function createShufCommand(options = {}) {
|
|
|
96
97
|
inputSize = stat.size;
|
|
97
98
|
input = fileInput;
|
|
98
99
|
}
|
|
99
|
-
inputSource = ownedBytes(input, inputSignal);
|
|
100
|
+
inputSource = ownedBytes(input, inputSignal, budget);
|
|
100
101
|
inputSignal.throwIfAborted();
|
|
101
102
|
if (closed)
|
|
102
103
|
throw new Error("shuf input is closed");
|
|
@@ -226,6 +227,7 @@ export function createShufCommand(options = {}) {
|
|
|
226
227
|
if (output)
|
|
227
228
|
await output.abort(error);
|
|
228
229
|
context.signal.throwIfAborted();
|
|
230
|
+
budget.assertOpen();
|
|
229
231
|
inputSignal.throwIfAborted();
|
|
230
232
|
if (isFsError(error) && error.code === "EPIPE" && diagnostic === "write error")
|
|
231
233
|
return { exitCode: 141 };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "../safe-bash/command-chunks/chunk-
|
|
1
|
+
import "../safe-bash/command-chunks/chunk-UKX3LZHR.js";
|
|
2
2
|
import {
|
|
3
3
|
computeImageStatsSteps,
|
|
4
4
|
decodeImage,
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
readImageMetadata,
|
|
12
12
|
resizeImageSteps,
|
|
13
13
|
rotateImageSteps
|
|
14
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
14
|
+
} from "../safe-bash/command-chunks/chunk-M3NINRDU.js";
|
|
15
15
|
import {
|
|
16
16
|
init_buffer
|
|
17
17
|
} from "../safe-bash/command-chunks/chunk-HX3SHTCE.js";
|
|
@@ -111,6 +111,7 @@ function writeProperties(bytes, format, properties) {
|
|
|
111
111
|
|
|
112
112
|
// packages/safe-bash-command-sips/src/index.ts
|
|
113
113
|
import { yieldTurn, drainCooperativeSteps as drainSteps } from "../safe-bash-contracts/yield.js";
|
|
114
|
+
import { FsError } from "../safe-bash-contracts/errors.js";
|
|
114
115
|
import { InputByteBudget } from "../safe-bash-contracts/io.js";
|
|
115
116
|
import { writeFileOutput } from "../safe-bash-contracts/filesystem-output-budget.js";
|
|
116
117
|
import {
|
|
@@ -1114,6 +1115,7 @@ async function executeVfsImageTool(context, runner) {
|
|
|
1114
1115
|
const carrier = getCommandArguments(context);
|
|
1115
1116
|
const argv = [...carrier.args];
|
|
1116
1117
|
const vfsFiles = /* @__PURE__ */ new Map();
|
|
1118
|
+
let totalInputBytes = 0;
|
|
1117
1119
|
const normalizedArgv = [...argv];
|
|
1118
1120
|
for (let i = 0; i < normalizedArgv.length; i++) {
|
|
1119
1121
|
if (++cooperativeWork % 64 === 0) await yieldTurn(context.signal);
|
|
@@ -1126,7 +1128,8 @@ async function executeVfsImageTool(context, runner) {
|
|
|
1126
1128
|
if (st.type === "directory") {
|
|
1127
1129
|
normalizedArgv[i + 1] = next + "/";
|
|
1128
1130
|
}
|
|
1129
|
-
} catch {
|
|
1131
|
+
} catch (error) {
|
|
1132
|
+
if (!(error instanceof FsError) || !["ENOENT", "ENOTDIR"].includes(error.code)) throw error;
|
|
1130
1133
|
}
|
|
1131
1134
|
}
|
|
1132
1135
|
continue;
|
|
@@ -1134,15 +1137,20 @@ async function executeVfsImageTool(context, runner) {
|
|
|
1134
1137
|
if (token.startsWith("-")) continue;
|
|
1135
1138
|
const bracketMatch = /^(.*)\[(\d+)\]$/.exec(token);
|
|
1136
1139
|
const fileToken = bracketMatch ? bracketMatch[1] : token;
|
|
1140
|
+
let bytes;
|
|
1137
1141
|
try {
|
|
1138
|
-
|
|
1142
|
+
bytes = await context.fs.readFile(resolvePath(context.cwd, fileToken), {
|
|
1139
1143
|
signal: invocation.signal
|
|
1140
1144
|
});
|
|
1141
|
-
|
|
1142
|
-
|
|
1145
|
+
} catch (error) {
|
|
1146
|
+
if (!(error instanceof FsError) || !["ENOENT", "ENOTDIR", "EISDIR", "EACCES", "EPERM"].includes(error.code)) throw error;
|
|
1147
|
+
continue;
|
|
1143
1148
|
}
|
|
1149
|
+
totalInputBytes += bytes.byteLength;
|
|
1150
|
+
context.inputBudget?.check(totalInputBytes);
|
|
1151
|
+
vfsFiles.set(fileToken, bytes);
|
|
1144
1152
|
}
|
|
1145
|
-
context.inputBudget?.check(
|
|
1153
|
+
context.inputBudget?.check(totalInputBytes);
|
|
1146
1154
|
const existingSnap = new Map(vfsFiles);
|
|
1147
1155
|
const res = await runner(normalizedArgv, vfsFiles, invocation.signal);
|
|
1148
1156
|
for (const [key, val] of vfsFiles.entries()) {
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
createStoredZipArchive,
|
|
3
|
-
readZipArchiveEntries
|
|
4
|
-
} from "../safe-bash/command-chunks/chunk-WSTQRWOC.js";
|
|
5
1
|
import {
|
|
6
2
|
xlsxFormat
|
|
7
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
3
|
+
} from "../safe-bash/command-chunks/chunk-C5ZZKP7V.js";
|
|
8
4
|
import {
|
|
9
5
|
csvFormat
|
|
10
6
|
} from "../safe-bash/command-chunks/chunk-GYQ2HAKQ.js";
|
|
@@ -20,7 +16,11 @@ import "../safe-bash/command-chunks/chunk-4ZQWGOZB.js";
|
|
|
20
16
|
import "../safe-bash/command-chunks/chunk-UN6WS55J.js";
|
|
21
17
|
import "../safe-bash/command-chunks/chunk-O4JQSB7O.js";
|
|
22
18
|
import "../safe-bash/command-chunks/chunk-BR73BIOW.js";
|
|
23
|
-
import
|
|
19
|
+
import {
|
|
20
|
+
createStoredZipArchive,
|
|
21
|
+
readZipArchiveEntries
|
|
22
|
+
} from "../safe-bash/command-chunks/chunk-WSTQRWOC.js";
|
|
23
|
+
import "../safe-bash/command-chunks/chunk-EV6HIJ5H.js";
|
|
24
24
|
import "../safe-bash/command-chunks/chunk-75OFBY5R.js";
|
|
25
25
|
import "../safe-bash/command-chunks/chunk-6X2OX6IJ.js";
|
|
26
26
|
import "../safe-bash/command-chunks/chunk-RO62EWX6.js";
|
|
@@ -37,6 +37,72 @@ import {
|
|
|
37
37
|
|
|
38
38
|
// packages/safe-bash-command-soffice/src/index.ts
|
|
39
39
|
init_buffer();
|
|
40
|
+
|
|
41
|
+
// packages/safe-bash-command-soffice/src/html.ts
|
|
42
|
+
init_buffer();
|
|
43
|
+
import { parse } from "parse5";
|
|
44
|
+
var hidden = /* @__PURE__ */ new Set(["head", "script", "style", "template"]);
|
|
45
|
+
var boundaries = /* @__PURE__ */ new Set(["p", "div", "section", "article", "header", "footer", "main", "aside", "blockquote", "li", "ul", "ol", "pre", "dl", "dt", "dd", "h1", "h2", "h3", "h4", "h5", "h6"]);
|
|
46
|
+
var headings = /* @__PURE__ */ new Set(["h1", "h2", "h3", "h4", "h5", "h6"]);
|
|
47
|
+
function parseHtmlBlocks(source) {
|
|
48
|
+
const blocks = [];
|
|
49
|
+
let text = "";
|
|
50
|
+
let kind = "paragraph";
|
|
51
|
+
const tables = [];
|
|
52
|
+
const flush = () => {
|
|
53
|
+
const value = text.replace(/[\t\n\r\f ]+/g, " ").trim();
|
|
54
|
+
if (value) blocks.push({ kind, text: value });
|
|
55
|
+
text = "";
|
|
56
|
+
};
|
|
57
|
+
const append = (value) => {
|
|
58
|
+
const table = tables.at(-1);
|
|
59
|
+
if (table) {
|
|
60
|
+
if (table.cell !== void 0) table.cell += value;
|
|
61
|
+
} else text += value;
|
|
62
|
+
};
|
|
63
|
+
const stack = [{ node: parse(source) }];
|
|
64
|
+
while (stack.length) {
|
|
65
|
+
const { node, exit } = stack.pop();
|
|
66
|
+
if ("value" in node && node.nodeName === "#text") {
|
|
67
|
+
append(node.value);
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
const tag = "tagName" in node ? node.tagName : "";
|
|
71
|
+
if (hidden.has(tag)) continue;
|
|
72
|
+
if (tag === "table") {
|
|
73
|
+
if (exit) {
|
|
74
|
+
const table = tables.pop();
|
|
75
|
+
if (tables.length) append(table.rows.map((row) => row.join(" ")).join(" "));
|
|
76
|
+
else blocks.push({ kind: "table", rows: table.rows });
|
|
77
|
+
} else {
|
|
78
|
+
if (!tables.length) flush();
|
|
79
|
+
tables.push({ rows: [], row: [], cell: void 0 });
|
|
80
|
+
}
|
|
81
|
+
} else if (tables.length) {
|
|
82
|
+
const table = tables.at(-1);
|
|
83
|
+
if (tag === "tr") {
|
|
84
|
+
if (exit) table.rows.push(table.row);
|
|
85
|
+
else table.row = [];
|
|
86
|
+
} else if (tag === "td" || tag === "th") {
|
|
87
|
+
if (exit) {
|
|
88
|
+
table.row.push((table.cell ?? "").replace(/[\t\n\r\f ]+/g, " ").trim());
|
|
89
|
+
table.cell = void 0;
|
|
90
|
+
} else table.cell = "";
|
|
91
|
+
} else if (boundaries.has(tag) || tag === "br") append(" ");
|
|
92
|
+
} else if (boundaries.has(tag)) {
|
|
93
|
+
flush();
|
|
94
|
+
kind = !exit && headings.has(tag) ? "heading" : "paragraph";
|
|
95
|
+
} else if (tag === "br") append("\n");
|
|
96
|
+
if (!exit && "childNodes" in node) {
|
|
97
|
+
stack.push({ node, exit: true });
|
|
98
|
+
for (let i = node.childNodes.length - 1; i >= 0; i--) stack.push({ node: node.childNodes[i] });
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
flush();
|
|
102
|
+
return blocks;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// packages/safe-bash-command-soffice/src/index.ts
|
|
40
106
|
import { yieldTurn } from "../safe-bash-contracts/yield.js";
|
|
41
107
|
import { resolvePath } from "@poe-platform/safe-fs/core";
|
|
42
108
|
|
|
@@ -366,6 +432,10 @@ function formatStarCalcCsv(rows, filterOptions) {
|
|
|
366
432
|
function escapeHtmlText(text) {
|
|
367
433
|
return text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
368
434
|
}
|
|
435
|
+
function renderBlocksToText(blocks) {
|
|
436
|
+
const lines = blocks.map((block) => block.kind === "table" ? (block.rows ?? []).map((row) => row.join(" ")).join("\n") : block.text ?? "");
|
|
437
|
+
return new TextEncoder().encode(lines.join("\n\n") + "\n");
|
|
438
|
+
}
|
|
369
439
|
function renderBlocksToHtml(blocks, title = "Document") {
|
|
370
440
|
let html = `<!DOCTYPE html>
|
|
371
441
|
<html><head><meta charset="utf-8"><title>${escapeHtmlText(title)}</title></head><body>
|
|
@@ -594,6 +664,12 @@ function* runSofficeSteps(argv, files, cwd, signal) {
|
|
|
594
664
|
chunks.push(parseDocxBlocks(bytes).map((b) => b.text ?? (b.rows?.map((r) => r.join(" ")).join("\n") ?? "")).join("\n"));
|
|
595
665
|
} else if ([".odt", ".ods", ".odp"].some((ext) => lower.endsWith(ext))) {
|
|
596
666
|
chunks.push(parseOdtBlocks(bytes).map((b) => b.text ?? (b.rows?.map((r) => r.join(" ")).join("\n") ?? "")).join("\n"));
|
|
667
|
+
} else if (lower.endsWith(".xlsx")) {
|
|
668
|
+
chunks.push(parseXlsxRows(bytes).map((row) => row.join(" ")).join("\n"));
|
|
669
|
+
} else if (lower.endsWith(".pptx")) {
|
|
670
|
+
chunks.push(parsePptxSlides(bytes).map((slide) => [slide.title, ...slide.bullets].join("\n")).join("\n\n"));
|
|
671
|
+
} else if (lower.endsWith(".html") || lower.endsWith(".htm")) {
|
|
672
|
+
chunks.push(parseHtmlBlocks(new TextDecoder().decode(bytes)).map((b) => b.text ?? (b.rows?.map((r) => r.join(" ")).join("\n") ?? "")).join("\n"));
|
|
597
673
|
} else if (lower.endsWith(".rtf")) {
|
|
598
674
|
chunks.push(parseRtfBlocks(bytes).map((b) => b.text ?? "").join("\n"));
|
|
599
675
|
} else {
|
|
@@ -646,10 +722,7 @@ function* runSofficeSteps(argv, files, cwd, signal) {
|
|
|
646
722
|
} else if (targetExt === "docx") {
|
|
647
723
|
outBytes = buildDocxFromBlocks(blocks);
|
|
648
724
|
} else {
|
|
649
|
-
|
|
650
|
-
(b) => b.kind === "table" && b.rows ? b.rows.map((r) => r.join(" ")).join("\n") : b.text ?? ""
|
|
651
|
-
);
|
|
652
|
-
outBytes = new TextEncoder().encode(textLines.join("\n\n") + "\n");
|
|
725
|
+
outBytes = renderBlocksToText(blocks);
|
|
653
726
|
}
|
|
654
727
|
} else if (lowerIn.endsWith(".xlsx") || lowerIn.endsWith(".csv")) {
|
|
655
728
|
const rows = lowerIn.endsWith(".xlsx") ? parseXlsxRows(inputBytes) : parseCsvRows(new TextDecoder().decode(inputBytes));
|
|
@@ -657,6 +730,8 @@ function* runSofficeSteps(argv, files, cwd, signal) {
|
|
|
657
730
|
outBytes = formatStarCalcCsv(rows, filterOpts);
|
|
658
731
|
} else if (targetExt === "xlsx") {
|
|
659
732
|
outBytes = buildXlsxFromRows(rows);
|
|
733
|
+
} else if (targetExt === "docx") {
|
|
734
|
+
outBytes = buildDocxFromBlocks([{ kind: "table", rows }]);
|
|
660
735
|
} else if (targetExt === "html") {
|
|
661
736
|
outBytes = renderBlocksToHtml([{ kind: "table", rows }], stem);
|
|
662
737
|
} else if (targetExt === "pdf") {
|
|
@@ -668,6 +743,12 @@ function* runSofficeSteps(argv, files, cwd, signal) {
|
|
|
668
743
|
const slides = parsePptxSlides(inputBytes);
|
|
669
744
|
if (targetExt === "pdf") {
|
|
670
745
|
outBytes = renderSlidesToPdf(slides);
|
|
746
|
+
} else if (targetExt === "html" || targetExt === "docx") {
|
|
747
|
+
const blocks = slides.flatMap((slide) => [
|
|
748
|
+
{ kind: "heading", text: slide.title },
|
|
749
|
+
...slide.bullets.map((text) => ({ kind: "paragraph", text }))
|
|
750
|
+
]);
|
|
751
|
+
outBytes = targetExt === "html" ? renderBlocksToHtml(blocks, stem) : buildDocxFromBlocks(blocks);
|
|
671
752
|
} else {
|
|
672
753
|
const txt = slides.map((s) => `${s.title}
|
|
673
754
|
${s.bullets.join("\n")}`).join("\n\n");
|
|
@@ -712,10 +793,14 @@ ${s.bullets.join("\n")}`).join("\n\n");
|
|
|
712
793
|
} else {
|
|
713
794
|
const rawText = new TextDecoder().decode(inputBytes);
|
|
714
795
|
const lines = rawText.split(/\r?\n/).filter((l) => l.trim().length > 0);
|
|
715
|
-
const
|
|
796
|
+
const isHtml = lowerIn.endsWith(".html") || lowerIn.endsWith(".htm");
|
|
797
|
+
const blocks = isHtml ? parseHtmlBlocks(rawText) : lines.map(
|
|
716
798
|
(l) => l.startsWith("# ") ? { kind: "heading", text: l.slice(2).trim() } : { kind: "paragraph", text: l }
|
|
717
799
|
);
|
|
718
|
-
|
|
800
|
+
if (targetExt === "pdf") outBytes = yield* renderBlocksToPdf(blocks, stem);
|
|
801
|
+
else if (targetExt === "docx") outBytes = buildDocxFromBlocks(blocks);
|
|
802
|
+
else if (targetExt === "html") outBytes = renderBlocksToHtml(blocks, stem);
|
|
803
|
+
else outBytes = isHtml || lowerIn.endsWith(".md") ? renderBlocksToText(blocks) : inputBytes;
|
|
719
804
|
}
|
|
720
805
|
if (targetExt === "pdf" && filterOpts && filterOpts.trim().startsWith("{")) {
|
|
721
806
|
try {
|
|
@@ -51,13 +51,14 @@ function settings(options = {}) {
|
|
|
51
51
|
}
|
|
52
52
|
return Object.freeze(limits);
|
|
53
53
|
}
|
|
54
|
-
async function collectSourceBytes(source, maxBytes, signal) {
|
|
54
|
+
async function collectSourceBytes(source, maxBytes, signal, admit) {
|
|
55
55
|
const chunks = [];
|
|
56
56
|
let total = 0;
|
|
57
57
|
let quantum = 0;
|
|
58
58
|
let chunksRead = 0;
|
|
59
59
|
for await (const chunk of readBytes(source, signal)) {
|
|
60
60
|
total += chunk.byteLength;
|
|
61
|
+
admit(chunk.byteLength);
|
|
61
62
|
signal.throwIfAborted();
|
|
62
63
|
quantum += Math.max(1, chunk.byteLength);
|
|
63
64
|
if (quantum >= 16384 || ++chunksRead >= 128) {
|
|
@@ -89,6 +90,11 @@ function createSpongeCommand(options = {}) {
|
|
|
89
90
|
description: "Soak up all standard input before writing to a file",
|
|
90
91
|
runtimeIdentity: commandRuntimeIdentity,
|
|
91
92
|
async execute(context) {
|
|
93
|
+
let inputBytes = 0;
|
|
94
|
+
const admit = (bytes) => {
|
|
95
|
+
context.signal.throwIfAborted();
|
|
96
|
+
context.inputBudget?.check(inputBytes += bytes);
|
|
97
|
+
};
|
|
92
98
|
context.signal.throwIfAborted();
|
|
93
99
|
const args = getCommandArguments(context).args;
|
|
94
100
|
let append = false;
|
|
@@ -131,7 +137,7 @@ function createSpongeCommand(options = {}) {
|
|
|
131
137
|
}
|
|
132
138
|
try {
|
|
133
139
|
const maxBytes = Math.min(limits.maxBufferedBytes, context.limits?.maxInputBytes ?? limits.maxBufferedBytes);
|
|
134
|
-
const buffered = await collectSourceBytes(context.stdin, maxBytes, context.signal);
|
|
140
|
+
const buffered = await collectSourceBytes(context.stdin, maxBytes, context.signal, admit);
|
|
135
141
|
if (files.length === 0 || files[0] === "-") {
|
|
136
142
|
await writeBytes(context.stdout, buffered, context.signal);
|
|
137
143
|
return { exitCode: 0 };
|
|
@@ -140,7 +146,11 @@ function createSpongeCommand(options = {}) {
|
|
|
140
146
|
if (append) {
|
|
141
147
|
let existing = new Uint8Array(0);
|
|
142
148
|
try {
|
|
143
|
-
existing = await context.fs.readFile(targetPath
|
|
149
|
+
existing = await context.fs.readFile(targetPath, {
|
|
150
|
+
signal: context.signal,
|
|
151
|
+
...Number.isFinite(maxBytes) ? { maxBytes: maxBytes - buffered.byteLength } : {}
|
|
152
|
+
});
|
|
153
|
+
admit(existing.byteLength);
|
|
144
154
|
} catch (error) {
|
|
145
155
|
context.signal.throwIfAborted();
|
|
146
156
|
if (!(error instanceof FsError) || error.code !== "ENOENT") throw error;
|
|
@@ -185,6 +185,7 @@ export declare class SqliteDatabase {
|
|
|
185
185
|
private loadFromBytesSteps;
|
|
186
186
|
serializeToBytes(): Uint8Array;
|
|
187
187
|
private serializeToBytesSteps;
|
|
188
|
+
bulkImportRows(tableName: string, rows: readonly (readonly string[])[]): boolean;
|
|
188
189
|
findTable(name: string): TableDef | undefined;
|
|
189
190
|
findView(name: string): ViewDef | undefined;
|
|
190
191
|
exec(sql: string, positionalParams?: SqlValue[]): QueryResultSet[];
|