@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
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import {
|
|
2
|
+
LineEndingError,
|
|
3
|
+
missing,
|
|
4
|
+
sameIdentity
|
|
5
|
+
} from "./chunk-TOH3OF3O.js";
|
|
6
|
+
import {
|
|
7
|
+
init_buffer
|
|
8
|
+
} from "./chunk-HX3SHTCE.js";
|
|
9
|
+
|
|
10
|
+
// packages/safe-bash-line-ending-engine/src/stage.ts
|
|
11
|
+
init_buffer();
|
|
12
|
+
import { FsError } from "../../safe-bash-contracts/index.js";
|
|
13
|
+
import { writeFileOutput } from "../../safe-bash-contracts/filesystem-output-budget.js";
|
|
14
|
+
import { dirname, resolvePath, retainFileSystemCleanup } from "@poe-platform/safe-fs/core";
|
|
15
|
+
var Files = class {
|
|
16
|
+
constructor(life) {
|
|
17
|
+
this.life = life;
|
|
18
|
+
}
|
|
19
|
+
life;
|
|
20
|
+
async call(select, args) {
|
|
21
|
+
return await this.life.operation(async () => {
|
|
22
|
+
const fs = this.life.budget.context.fs;
|
|
23
|
+
this.life.assertOpen();
|
|
24
|
+
const method = select(fs);
|
|
25
|
+
this.life.assertOpen();
|
|
26
|
+
return await Reflect.apply(method, fs, args);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
async stat(path) {
|
|
30
|
+
try {
|
|
31
|
+
return await this.call((fs) => fs.lstat, [path, { signal: this.life.budget.signal }]);
|
|
32
|
+
} catch (error) {
|
|
33
|
+
this.life.assertOpen();
|
|
34
|
+
if (missing(error)) return void 0;
|
|
35
|
+
throw error;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
path(name) {
|
|
39
|
+
const path = resolvePath(this.life.budget.context.cwd, name);
|
|
40
|
+
this.life.budget.check(path.length * 3, this.life.budget.limits.maxPathBytes, "path bytes");
|
|
41
|
+
this.life.budget.check(path.split("/").length - 1, this.life.budget.limits.maxDepth, "path depth");
|
|
42
|
+
return path;
|
|
43
|
+
}
|
|
44
|
+
async parents(path) {
|
|
45
|
+
const parents = [];
|
|
46
|
+
let current = "/";
|
|
47
|
+
for (const component of ["", ...dirname(path).split("/").filter(Boolean)]) {
|
|
48
|
+
if (component) current = resolvePath(current, component);
|
|
49
|
+
const stat = await this.stat(current);
|
|
50
|
+
if (!stat) throw new FsError("ENOENT", { path: current });
|
|
51
|
+
if (stat.type !== "directory" || !sameIdentity(stat, stat)) throw new LineEndingError("output requires stable non-symlink directory identities");
|
|
52
|
+
parents.push({ path: current, stat });
|
|
53
|
+
}
|
|
54
|
+
return parents;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
var Stage = class {
|
|
58
|
+
constructor(files, path, expected) {
|
|
59
|
+
this.files = files;
|
|
60
|
+
this.path = path;
|
|
61
|
+
this.expected = expected;
|
|
62
|
+
const { life } = files;
|
|
63
|
+
life.assertOpen();
|
|
64
|
+
this.cleanup = retainFileSystemCleanup(life.budget.context.fs, async (view) => {
|
|
65
|
+
if (!this.created || !this.identity) return;
|
|
66
|
+
try {
|
|
67
|
+
for (const parent of this.parents) {
|
|
68
|
+
const stat2 = await view.lstat(parent.path);
|
|
69
|
+
if (stat2.type !== "directory" || !sameIdentity(stat2, parent.stat)) return;
|
|
70
|
+
}
|
|
71
|
+
const stat = await view.lstat(this.temporary);
|
|
72
|
+
if (stat.type === "file" && sameIdentity(stat, this.identity)) await view.rm(this.temporary);
|
|
73
|
+
} catch (error) {
|
|
74
|
+
if (!missing(error)) throw error;
|
|
75
|
+
}
|
|
76
|
+
}, { maxOperations: Math.min(4096, life.budget.limits.maxDepth + 4) });
|
|
77
|
+
life.cleanup(this.cleanup);
|
|
78
|
+
}
|
|
79
|
+
files;
|
|
80
|
+
path;
|
|
81
|
+
expected;
|
|
82
|
+
temporary = "";
|
|
83
|
+
identity;
|
|
84
|
+
created = false;
|
|
85
|
+
parents = [];
|
|
86
|
+
cleanup;
|
|
87
|
+
async open() {
|
|
88
|
+
const { life } = this.files;
|
|
89
|
+
const { signal, limits } = life.budget;
|
|
90
|
+
const capabilities = await life.operation(async () => {
|
|
91
|
+
const fs = life.budget.context.fs;
|
|
92
|
+
const query = fs.capabilitiesFor;
|
|
93
|
+
life.assertOpen();
|
|
94
|
+
const result = query ? await Reflect.apply(query, fs, [this.path, { signal, create: true }]) : fs.capabilities;
|
|
95
|
+
life.assertOpen();
|
|
96
|
+
return result;
|
|
97
|
+
});
|
|
98
|
+
if (capabilities.atomicRename !== true || capabilities.exclusiveCreate !== true || capabilities.permissions !== true || capabilities.append === false || capabilities.remove === false) {
|
|
99
|
+
throw new LineEndingError("file conversion requires atomic rename, exclusive create, permissions, append and cleanup capabilities");
|
|
100
|
+
}
|
|
101
|
+
if (this.expected === void 0 && capabilities.atomicRenameNoReplace !== true) {
|
|
102
|
+
throw new LineEndingError("new destination requires atomic no-replace rename capability");
|
|
103
|
+
}
|
|
104
|
+
this.parents = await this.files.parents(this.path);
|
|
105
|
+
for (let attempt = 0; attempt < limits.maxTempAttempts; attempt++) {
|
|
106
|
+
this.temporary = resolvePath(dirname(this.path), `.line-ending-${attempt + 1}`);
|
|
107
|
+
this.files.path(this.temporary);
|
|
108
|
+
if (this.temporary === this.path || await this.files.stat(this.temporary)) continue;
|
|
109
|
+
try {
|
|
110
|
+
await this.files.call((fs) => fs.writeFile, [this.temporary, new Uint8Array(), { signal, flag: "wx", mode: 384 }]);
|
|
111
|
+
} catch (error) {
|
|
112
|
+
life.assertOpen();
|
|
113
|
+
if (typeof error === "object" && error !== null && "code" in error && error.code === "EEXIST") continue;
|
|
114
|
+
throw error;
|
|
115
|
+
}
|
|
116
|
+
this.created = true;
|
|
117
|
+
this.identity = await this.files.stat(this.temporary);
|
|
118
|
+
if (!this.identity || this.identity.type !== "file" || !sameIdentity(this.identity, this.identity)) throw new LineEndingError("temporary file identity unavailable; unowned path is not removed");
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
throw new LineEndingError("temporary file attempts limit exceeded");
|
|
122
|
+
}
|
|
123
|
+
async checked() {
|
|
124
|
+
for (const parent of this.parents) {
|
|
125
|
+
const stat2 = await this.files.stat(parent.path);
|
|
126
|
+
if (!stat2 || stat2.type !== "directory" || !sameIdentity(stat2, parent.stat)) throw new LineEndingError("output parent changed before mutation");
|
|
127
|
+
}
|
|
128
|
+
const stat = await this.files.stat(this.temporary);
|
|
129
|
+
if (!this.identity || !stat || stat.type !== "file" || !sameIdentity(stat, this.identity)) throw new LineEndingError("temporary file changed before mutation");
|
|
130
|
+
}
|
|
131
|
+
async append(bytes) {
|
|
132
|
+
await this.checked();
|
|
133
|
+
const { context, signal } = this.files.life.budget;
|
|
134
|
+
await this.files.life.operation(() => writeFileOutput(
|
|
135
|
+
{ signal, ...context.registerCleanup ? { registerCleanup: context.registerCleanup } : {} },
|
|
136
|
+
bytes,
|
|
137
|
+
async (chunk) => {
|
|
138
|
+
await this.files.call((fs) => fs.appendFile, [this.temporary, chunk, { signal }]);
|
|
139
|
+
}
|
|
140
|
+
));
|
|
141
|
+
}
|
|
142
|
+
async publish(input, options) {
|
|
143
|
+
const { signal } = this.files.life.budget;
|
|
144
|
+
await this.checked();
|
|
145
|
+
if (!options.newFile && !options.allowChown && (input.uid !== void 0 && input.uid !== this.identity.uid || input.gid !== void 0 && input.gid !== this.identity.gid)) {
|
|
146
|
+
throw new LineEndingError("filesystem cannot preserve input user/group ownership");
|
|
147
|
+
}
|
|
148
|
+
await this.files.call((fs) => fs.chmod, [this.temporary, input.mode & 511 & (options.newFile ? ~18 : 511), { signal }]);
|
|
149
|
+
if (options.keepDate) {
|
|
150
|
+
await this.checked();
|
|
151
|
+
await this.files.call((fs) => fs.utimes, [this.temporary, Math.floor(input.atimeMs / 1e3) * 1e3, Math.floor(input.mtimeMs / 1e3) * 1e3, { signal }]);
|
|
152
|
+
}
|
|
153
|
+
await this.checked();
|
|
154
|
+
const current = await this.files.stat(this.path);
|
|
155
|
+
if (current ? !this.expected || current.type !== "file" || !sameIdentity(current, this.expected) : this.expected !== void 0) throw new LineEndingError("destination changed before publication");
|
|
156
|
+
await this.files.call((fs) => fs.rename, [this.temporary, this.path, { signal, noReplace: this.expected === void 0 }]);
|
|
157
|
+
this.created = false;
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
export {
|
|
162
|
+
Files,
|
|
163
|
+
Stage
|
|
164
|
+
};
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import {
|
|
2
|
+
encodingLabels,
|
|
3
|
+
readEncoding
|
|
4
|
+
} from "./chunk-TFR6B3WB.js";
|
|
5
|
+
import {
|
|
6
|
+
LineEndingError
|
|
7
|
+
} from "./chunk-TOH3OF3O.js";
|
|
8
|
+
import {
|
|
9
|
+
init_buffer
|
|
10
|
+
} from "./chunk-HX3SHTCE.js";
|
|
11
|
+
|
|
12
|
+
// packages/safe-bash-line-ending-engine/src/convert.ts
|
|
13
|
+
init_buffer();
|
|
14
|
+
async function convert(direction, reader, writer, life, options, name, stdio) {
|
|
15
|
+
let high = 1;
|
|
16
|
+
if (stdio) reader.beforeRead = () => writer.flush();
|
|
17
|
+
const diagnostic = async (message) => {
|
|
18
|
+
if (stdio) await writer.flush();
|
|
19
|
+
await life.diagnostic(`${direction}: ${message}
|
|
20
|
+
`);
|
|
21
|
+
};
|
|
22
|
+
const input = await readEncoding(reader);
|
|
23
|
+
if (input.error) {
|
|
24
|
+
if (!options.quiet) await diagnostic("can not read from input file: Success");
|
|
25
|
+
return { kind: "bom-error", encoding: "" };
|
|
26
|
+
}
|
|
27
|
+
const bom = input.bom === "bytes" ? options.assume : input.bom;
|
|
28
|
+
if (options.verbose) {
|
|
29
|
+
if (options.assume !== "bytes") await diagnostic(`Assuming UTF-16${options.assume === "le" ? "LE" : "BE"} encoding.`);
|
|
30
|
+
if (input.bom !== "bytes") await diagnostic(`Input file ${name} has ${encodingLabels[input.bom]} BOM.`);
|
|
31
|
+
}
|
|
32
|
+
const wide = bom === "le" || bom === "be";
|
|
33
|
+
const encoding = wide ? bom === "le" ? "UTF-16LE" : "UTF-16BE" : "";
|
|
34
|
+
const env = life.budget.context.env;
|
|
35
|
+
const locale = env.LC_ALL || env.LC_CTYPE || env.LANG || "C";
|
|
36
|
+
const utf8 = locale === "C.UTF-8" || locale === "C.utf8";
|
|
37
|
+
if (wide && !options.keepUtf16 && !utf8 && locale !== "C" && locale !== "POSIX") throw new LineEndingError("UTF-16 conversion supports only C/POSIX and C.UTF-8 locales");
|
|
38
|
+
if (options.addBom || options.keepBom && bom !== "bytes") {
|
|
39
|
+
const bytes = options.keepUtf16 && wide ? bom === "le" ? [255, 254] : [254, 255] : bom === "gb" ? [132, 49, 149, 51] : [239, 187, 191];
|
|
40
|
+
for (const byte2 of bytes) await writer.put(byte2);
|
|
41
|
+
if (options.verbose) await diagnostic(`Writing ${options.keepUtf16 && wide ? encodingLabels[bom] : bom === "gb" ? "GB18030" : "UTF-8"} BOM.`);
|
|
42
|
+
}
|
|
43
|
+
const byte = input.byte;
|
|
44
|
+
let pushed = -1;
|
|
45
|
+
const unit = () => {
|
|
46
|
+
if (pushed !== -1) {
|
|
47
|
+
const value = pushed;
|
|
48
|
+
pushed = -1;
|
|
49
|
+
return value;
|
|
50
|
+
}
|
|
51
|
+
const lead = byte();
|
|
52
|
+
if (typeof lead === "number") {
|
|
53
|
+
if (lead === -1 || !wide) return lead;
|
|
54
|
+
const trail = byte();
|
|
55
|
+
if (typeof trail === "number") return trail === -1 ? -1 : bom === "le" ? lead + trail * 256 : lead * 256 + trail;
|
|
56
|
+
return trail.then((t) => t === -1 ? -1 : bom === "le" ? lead + t * 256 : lead * 256 + t);
|
|
57
|
+
}
|
|
58
|
+
return lead.then(async (l) => {
|
|
59
|
+
if (l === -1 || !wide) return l;
|
|
60
|
+
const trail = await byte();
|
|
61
|
+
return trail === -1 ? -1 : bom === "le" ? l + trail * 256 : l * 256 + trail;
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
let line = 1;
|
|
65
|
+
const result = { kind: "ok" };
|
|
66
|
+
const put = (value) => {
|
|
67
|
+
if (!wide) {
|
|
68
|
+
const p = writer.put(options.sevenBit && bom === "bytes" && value >= 128 ? 32 : value);
|
|
69
|
+
return p ? p.then(() => true) : true;
|
|
70
|
+
}
|
|
71
|
+
return putWide(value);
|
|
72
|
+
};
|
|
73
|
+
const putWide = async (value) => {
|
|
74
|
+
if (options.keepUtf16) {
|
|
75
|
+
await writer.put(bom === "le" ? value & 255 : value >> 8);
|
|
76
|
+
await writer.put(bom === "le" ? value >> 8 : value & 255);
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
if (high >= 55296 && high < 56320 && (value < 56320 || value >= 57344)) {
|
|
80
|
+
await diagnostic("error: Invalid surrogate pair. Missing low surrogate.");
|
|
81
|
+
result.kind = "unicode";
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
if (value >= 55296 && value < 56320) {
|
|
85
|
+
high = value;
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
if (value >= 56320 && value < 57344) {
|
|
89
|
+
if (!(high >= 55296 && high < 56320)) {
|
|
90
|
+
await diagnostic("error: Invalid surrogate pair. Missing high surrogate.");
|
|
91
|
+
result.kind = "unicode";
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
value = 65536 + (high & 1023) * 1024 + (value & 1023);
|
|
95
|
+
high = 1;
|
|
96
|
+
}
|
|
97
|
+
if (!utf8 && value > 127) {
|
|
98
|
+
if (!options.quiet) await diagnostic("Invalid or incomplete multibyte or wide character");
|
|
99
|
+
result.kind = "unicode";
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
if (value < 128) await writer.put(value);
|
|
103
|
+
else if (value < 2048) {
|
|
104
|
+
await writer.put(192 | value >> 6);
|
|
105
|
+
await writer.put(128 | value & 63);
|
|
106
|
+
} else if (value < 65536) {
|
|
107
|
+
await writer.put(224 | value >> 12);
|
|
108
|
+
await writer.put(128 | value >> 6 & 63);
|
|
109
|
+
await writer.put(128 | value & 63);
|
|
110
|
+
} else {
|
|
111
|
+
await writer.put(240 | value >> 18);
|
|
112
|
+
await writer.put(128 | value >> 12 & 63);
|
|
113
|
+
await writer.put(128 | value >> 6 & 63);
|
|
114
|
+
await writer.put(128 | value & 63);
|
|
115
|
+
}
|
|
116
|
+
return true;
|
|
117
|
+
};
|
|
118
|
+
let previous = 0;
|
|
119
|
+
let last = -1, converted = 0;
|
|
120
|
+
for (; ; ) {
|
|
121
|
+
const u = unit();
|
|
122
|
+
const current = typeof u === "number" ? u : await u;
|
|
123
|
+
if (current === -1) break;
|
|
124
|
+
last = current;
|
|
125
|
+
if (!options.force && current < 32 && current !== 9 && current !== 10 && current !== 12 && current !== 13) {
|
|
126
|
+
result.kind = "binary";
|
|
127
|
+
if (!options.quiet) await diagnostic(`Binary symbol 0x${current.toString(16).toUpperCase().padStart(wide ? 4 : 2, "0")} found at line ${line}`);
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
if (direction === "dos2unix") {
|
|
131
|
+
if (current === 13) {
|
|
132
|
+
const u2 = unit();
|
|
133
|
+
pushed = typeof u2 === "number" ? u2 : await u2;
|
|
134
|
+
if (pushed !== 10) {
|
|
135
|
+
const ok = put(13);
|
|
136
|
+
if (!(typeof ok === "boolean" ? ok : await ok)) break;
|
|
137
|
+
} else {
|
|
138
|
+
converted++;
|
|
139
|
+
last = 10;
|
|
140
|
+
if (options.newline) {
|
|
141
|
+
const ok = put(10);
|
|
142
|
+
if (!(typeof ok === "boolean" ? ok : await ok)) break;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
} else {
|
|
146
|
+
const ok = put(current);
|
|
147
|
+
if (!(typeof ok === "boolean" ? ok : await ok)) break;
|
|
148
|
+
if (current === 10) line++;
|
|
149
|
+
}
|
|
150
|
+
} else {
|
|
151
|
+
if (current === 10 && previous !== 13) {
|
|
152
|
+
converted++;
|
|
153
|
+
const ok2 = put(13);
|
|
154
|
+
if (!(typeof ok2 === "boolean" ? ok2 : await ok2)) break;
|
|
155
|
+
}
|
|
156
|
+
const ok = put(current);
|
|
157
|
+
if (!(typeof ok === "boolean" ? ok : await ok)) break;
|
|
158
|
+
if (current === 10) line++;
|
|
159
|
+
if (options.newline && current === 10) {
|
|
160
|
+
const ok1 = put(13);
|
|
161
|
+
if (!(typeof ok1 === "boolean" ? ok1 : await ok1)) break;
|
|
162
|
+
const ok2 = put(10);
|
|
163
|
+
if (!(typeof ok2 === "boolean" ? ok2 : await ok2)) break;
|
|
164
|
+
}
|
|
165
|
+
previous = current;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
if (result.kind === "ok" && high >= 55296 && high < 56320) {
|
|
169
|
+
await diagnostic("error: Invalid surrogate pair. Missing low surrogate.");
|
|
170
|
+
result.kind = "unicode";
|
|
171
|
+
}
|
|
172
|
+
if (result.kind === "ok" && options.addEol && last !== -1 && last !== 10) {
|
|
173
|
+
if (options.verbose) await diagnostic("Added line break to last line.");
|
|
174
|
+
if (direction === "unix2dos") await put(13);
|
|
175
|
+
await put(10);
|
|
176
|
+
}
|
|
177
|
+
if (result.kind === "ok" && options.verbose) await diagnostic(`Converted ${converted} out of ${line - 1} line breaks.`);
|
|
178
|
+
if (stdio || result.kind === "ok") await writer.flush();
|
|
179
|
+
if (!options.quiet) {
|
|
180
|
+
if (result.kind === "binary") await diagnostic(`Skipping binary file ${name}`);
|
|
181
|
+
if (result.kind === "unicode") await diagnostic(`Skipping UTF-16 file ${name}, an UTF-16 conversion error occurred on line ${line}.`);
|
|
182
|
+
}
|
|
183
|
+
return { kind: result.kind, encoding };
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
export {
|
|
187
|
+
convert
|
|
188
|
+
};
|
|
@@ -129,6 +129,7 @@ function escapeEreLiteral(ch) {
|
|
|
129
129
|
}
|
|
130
130
|
function parsePattern(pattern, bre, insensitive, multiline, dotall, nullData, captures = false, captureOffset = 0) {
|
|
131
131
|
let pos = 0;
|
|
132
|
+
let anchorMultiline = multiline;
|
|
132
133
|
let needsVm = false;
|
|
133
134
|
let hasCrossLinePotential = dotall;
|
|
134
135
|
let hasUppercaseLiteral = false;
|
|
@@ -288,17 +289,20 @@ function parsePattern(pattern, bre, insensitive, multiline, dotall, nullData, ca
|
|
|
288
289
|
const ch = pattern[pos];
|
|
289
290
|
if (ch === "^") {
|
|
290
291
|
pos++;
|
|
291
|
-
atomNode = { type: "assert", kind: "bol" };
|
|
292
|
+
atomNode = { type: "assert", kind: "bol", multiline: anchorMultiline };
|
|
293
|
+
if (multiline && !anchorMultiline) hasCrossLinePotential = true;
|
|
292
294
|
atomEre = "^";
|
|
293
295
|
quantifiable = false;
|
|
294
296
|
} else if (ch === "$") {
|
|
295
297
|
pos++;
|
|
296
|
-
atomNode = { type: "assert", kind: "eol" };
|
|
298
|
+
atomNode = { type: "assert", kind: "eol", multiline: anchorMultiline };
|
|
299
|
+
if (multiline && !anchorMultiline) hasCrossLinePotential = true;
|
|
297
300
|
atomEre = "$";
|
|
298
301
|
quantifiable = false;
|
|
299
302
|
} else if (ch === ".") {
|
|
300
303
|
pos++;
|
|
301
304
|
atomNode = { type: "dot", dotall, nullData };
|
|
305
|
+
if (dotall) hasCrossLinePotential = true;
|
|
302
306
|
atomEre = ".";
|
|
303
307
|
} else if (ch === "[") {
|
|
304
308
|
pos++;
|
|
@@ -307,11 +311,36 @@ function parsePattern(pattern, bre, insensitive, multiline, dotall, nullData, ca
|
|
|
307
311
|
atomEre = br.ere;
|
|
308
312
|
} else if (!bre && ch === "(") {
|
|
309
313
|
pos++;
|
|
314
|
+
const enclosing = { insensitive, anchorMultiline, dotall };
|
|
310
315
|
let capturing = true;
|
|
311
316
|
let name;
|
|
312
317
|
if (pattern[pos] === "?") {
|
|
313
318
|
pos++;
|
|
314
|
-
if (pattern[pos]
|
|
319
|
+
if ("ims-".includes(pattern[pos] ?? " ")) {
|
|
320
|
+
needsVm = true;
|
|
321
|
+
capturing = false;
|
|
322
|
+
let enabled = true;
|
|
323
|
+
let count = 0;
|
|
324
|
+
while (pos < pattern.length && pattern[pos] !== ":" && pattern[pos] !== ")") {
|
|
325
|
+
const flag = pattern[pos++];
|
|
326
|
+
if (flag === "-" && enabled) {
|
|
327
|
+
enabled = false;
|
|
328
|
+
count = 0;
|
|
329
|
+
continue;
|
|
330
|
+
}
|
|
331
|
+
if (flag === "i") insensitive = enabled;
|
|
332
|
+
else if (flag === "m") anchorMultiline = enabled;
|
|
333
|
+
else if (flag === "s") dotall = enabled;
|
|
334
|
+
else throw new SearchError("unsupported inline regular expression flag");
|
|
335
|
+
count++;
|
|
336
|
+
}
|
|
337
|
+
if (!count) throw new SearchError("empty inline regular expression flags");
|
|
338
|
+
if (pattern[pos] === ")") {
|
|
339
|
+
pos++;
|
|
340
|
+
continue;
|
|
341
|
+
}
|
|
342
|
+
if (pattern[pos++] !== ":") throw new SearchError("unterminated inline regular expression flags");
|
|
343
|
+
} else if (pattern[pos] === ":") {
|
|
315
344
|
pos++;
|
|
316
345
|
capturing = false;
|
|
317
346
|
} else if (pattern[pos] === "=" || pattern[pos] === "!" || pattern[pos] === "<" && (pattern[pos + 1] === "=" || pattern[pos + 1] === "!")) {
|
|
@@ -331,6 +360,7 @@ function parsePattern(pattern, bre, insensitive, multiline, dotall, nullData, ca
|
|
|
331
360
|
const index = capturing ? ++captureCount : 0;
|
|
332
361
|
if (name !== void 0) captureNames.set(name, index);
|
|
333
362
|
const inner = parseAlternation(true);
|
|
363
|
+
({ insensitive, anchorMultiline, dotall } = enclosing);
|
|
334
364
|
if (pos >= pattern.length || pattern[pos] !== ")") {
|
|
335
365
|
throw new SearchError("invalid ERE: unclosed '('");
|
|
336
366
|
}
|
|
@@ -547,7 +577,7 @@ function compileAstToNfa(root) {
|
|
|
547
577
|
case "class":
|
|
548
578
|
return emit({ op: "class", node, out: next });
|
|
549
579
|
case "assert":
|
|
550
|
-
return emit({ op: "assert", kind: node.kind, out: next });
|
|
580
|
+
return emit({ op: "assert", kind: node.kind, multiline: node.multiline, out: next });
|
|
551
581
|
case "capture": {
|
|
552
582
|
const end = emit({ op: "save", slot: node.index * 2 + 1, out: next });
|
|
553
583
|
return emit({ op: "save", slot: node.index * 2, out: build(node.child, end) });
|
|
@@ -609,7 +639,7 @@ function compileAstToNfa(root) {
|
|
|
609
639
|
reordered.push({ op: "save", slot: inst.slot, out: inst.out + 1 });
|
|
610
640
|
break;
|
|
611
641
|
case "assert":
|
|
612
|
-
reordered.push({ op: "assert", kind: inst.kind, out: inst.out + 1 });
|
|
642
|
+
reordered.push({ op: "assert", kind: inst.kind, multiline: inst.multiline, out: inst.out + 1 });
|
|
613
643
|
break;
|
|
614
644
|
case "literal":
|
|
615
645
|
reordered.push({ op: "literal", cp: inst.cp, insensitive: inst.insensitive, out: inst.out + 1 });
|
|
@@ -699,12 +729,12 @@ var ErgonomicVmMatcher = class {
|
|
|
699
729
|
nlistPositions;
|
|
700
730
|
leadingLiteral;
|
|
701
731
|
stepStamp = 1;
|
|
702
|
-
evalAssertion(kind, cps, len, pos) {
|
|
732
|
+
evalAssertion(kind, cps, len, pos, multiline = this.multiline) {
|
|
703
733
|
switch (kind) {
|
|
704
734
|
case "bol":
|
|
705
|
-
return pos === 0 ||
|
|
735
|
+
return pos === 0 || multiline && cps[pos - 1] === 10;
|
|
706
736
|
case "eol":
|
|
707
|
-
return pos === len ||
|
|
737
|
+
return pos === len || multiline && cps[pos] === 10;
|
|
708
738
|
case "wb": {
|
|
709
739
|
const prevW = pos > 0 && isAsciiWordCp(cps[pos - 1]);
|
|
710
740
|
const nextW = pos < len && isAsciiWordCp(cps[pos]);
|
|
@@ -762,7 +792,7 @@ var ErgonomicVmMatcher = class {
|
|
|
762
792
|
return addThread(inst.out, startPos, pos, stamp, saved);
|
|
763
793
|
}
|
|
764
794
|
if (inst.op === "assert") {
|
|
765
|
-
if (this.evalAssertion(inst.kind, cps, length, pos)) {
|
|
795
|
+
if (this.evalAssertion(inst.kind, cps, length, pos, inst.multiline)) {
|
|
766
796
|
return addThread(inst.out, startPos, pos, stamp, slots);
|
|
767
797
|
}
|
|
768
798
|
return false;
|
|
@@ -41,8 +41,13 @@ var named = Object.freeze({
|
|
|
41
41
|
});
|
|
42
42
|
async function entities(text, budget) {
|
|
43
43
|
if (text.length < 4096 && !text.includes("&")) {
|
|
44
|
+
budget.work(text.length);
|
|
44
45
|
const result2 = new Builder(budget);
|
|
45
46
|
result2.append(text);
|
|
47
|
+
{
|
|
48
|
+
const c = budget.checkpoint();
|
|
49
|
+
if (c) await c;
|
|
50
|
+
}
|
|
46
51
|
return result2.finish();
|
|
47
52
|
}
|
|
48
53
|
const result = new Builder(budget);
|
|
@@ -50,10 +55,16 @@ async function entities(text, budget) {
|
|
|
50
55
|
if (text.length < 4096) {
|
|
51
56
|
const nextAmp = text.indexOf("&", offset);
|
|
52
57
|
if (nextAmp < 0) {
|
|
58
|
+
budget.work(text.length - offset);
|
|
53
59
|
result.append(text.slice(offset));
|
|
60
|
+
{
|
|
61
|
+
const c = budget.checkpoint();
|
|
62
|
+
if (c) await c;
|
|
63
|
+
}
|
|
54
64
|
break;
|
|
55
65
|
}
|
|
56
66
|
if (nextAmp > offset) {
|
|
67
|
+
budget.work(nextAmp - offset);
|
|
57
68
|
result.append(text.slice(offset, nextAmp));
|
|
58
69
|
offset = nextAmp;
|
|
59
70
|
{
|
|
@@ -27,21 +27,45 @@ async function records(text, work) {
|
|
|
27
27
|
await work.checkpoint();
|
|
28
28
|
return result;
|
|
29
29
|
}
|
|
30
|
+
async function normalized(text, pass, work) {
|
|
31
|
+
await work.charge(text.length);
|
|
32
|
+
const trimmed = pass === 1 ? text.trimEnd() : text.trim();
|
|
33
|
+
if (pass < 3) return trimmed;
|
|
34
|
+
let result = "";
|
|
35
|
+
for (const character of trimmed) {
|
|
36
|
+
work.step();
|
|
37
|
+
if ("\u2010\u2011\u2012\u2013\u2014\u2015\u2212".includes(character)) result += "-";
|
|
38
|
+
else if ("\u2018\u2019\u201A\u201B".includes(character)) result += "'";
|
|
39
|
+
else if ("\u201C\u201D\u201E\u201F".includes(character)) result += '"';
|
|
40
|
+
else if ("\xA0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000".includes(character)) result += " ";
|
|
41
|
+
else result += character;
|
|
42
|
+
if (work.due) await work.checkpoint();
|
|
43
|
+
}
|
|
44
|
+
return result;
|
|
45
|
+
}
|
|
30
46
|
async function find(lines, pattern, start, eof, work) {
|
|
31
47
|
const last = lines.length - pattern.length;
|
|
32
48
|
const first = eof ? last : start;
|
|
33
49
|
if (first < start) return -1;
|
|
34
|
-
for (let
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
50
|
+
for (let pass = 0; pass < 4; pass++) {
|
|
51
|
+
for (let candidate = first; candidate <= last; candidate++) {
|
|
52
|
+
await work.charge(1);
|
|
53
|
+
let matched = true;
|
|
54
|
+
for (let offset = 0; offset < pattern.length; offset++) {
|
|
55
|
+
let actual = lines[candidate + offset].text;
|
|
56
|
+
let expected = pattern[offset];
|
|
57
|
+
if (pass) {
|
|
58
|
+
actual = await normalized(actual, pass, work);
|
|
59
|
+
expected = await normalized(expected, pass, work);
|
|
60
|
+
}
|
|
61
|
+
if (!await work.equal(actual, expected)) {
|
|
62
|
+
matched = false;
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
41
65
|
}
|
|
66
|
+
if (matched) return candidate;
|
|
67
|
+
await work.checkpoint();
|
|
42
68
|
}
|
|
43
|
-
if (matched) return candidate;
|
|
44
|
-
await work.checkpoint();
|
|
45
69
|
}
|
|
46
70
|
return -1;
|
|
47
71
|
}
|
|
@@ -105,7 +129,7 @@ async function contents(file, original, work) {
|
|
|
105
129
|
if (line.kind !== "+") pattern.push(line.text);
|
|
106
130
|
await work.checkpoint();
|
|
107
131
|
}
|
|
108
|
-
const searchStart = anchorPosition !== void 0 && pattern.length && await work.equal(old[anchorPosition].text, pattern[0]) ? anchorPosition : cursor;
|
|
132
|
+
const searchStart = anchorPosition !== void 0 && pattern.length && await work.equal(await normalized(old[anchorPosition].text, 3, work), await normalized(pattern[0], 3, work)) ? anchorPosition : cursor;
|
|
109
133
|
const start = pattern.length ? await find(old, pattern, searchStart, hunk.eof, work) : hunk.eof ? old.length : cursor;
|
|
110
134
|
if (start < 0) throw new PatchError(`expected context not found: ${file.label}`);
|
|
111
135
|
const replacement = [];
|