@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,690 @@
|
|
|
1
|
+
/** Public Python calling conventions over the invocation-owned internal client. */
|
|
2
|
+
export const pythonLlmReferenceModule = /* @__PURE__ */ (() => String.raw `
|
|
3
|
+
"""Lazy synchronous and asynchronous model responses backed by JavaScript."""
|
|
4
|
+
import asyncio
|
|
5
|
+
import inspect
|
|
6
|
+
import datetime as _datetime
|
|
7
|
+
from dataclasses import dataclass, field
|
|
8
|
+
import os
|
|
9
|
+
import time
|
|
10
|
+
from pydantic import BaseModel, ConfigDict, Field, create_model
|
|
11
|
+
import poe_llm as _core
|
|
12
|
+
|
|
13
|
+
Error = _core.LlmError
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class Options(BaseModel):
|
|
17
|
+
model_config = ConfigDict(extra="forbid")
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def _sync(awaitable):
|
|
21
|
+
try:
|
|
22
|
+
from pyodide.ffi import run_sync
|
|
23
|
+
except ImportError:
|
|
24
|
+
# The native path is for capability tests; production suspension is JSPI.
|
|
25
|
+
try:
|
|
26
|
+
asyncio.get_running_loop()
|
|
27
|
+
except RuntimeError:
|
|
28
|
+
global _native_loop
|
|
29
|
+
if _native_loop is None or _native_loop.is_closed():
|
|
30
|
+
_native_loop = asyncio.new_event_loop()
|
|
31
|
+
return _native_loop.run_until_complete(awaitable)
|
|
32
|
+
awaitable.close()
|
|
33
|
+
raise RuntimeError("Use the asynchronous model API inside an asyncio event loop")
|
|
34
|
+
return run_sync(awaitable)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
_native_loop = None
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
@dataclass
|
|
41
|
+
class Usage:
|
|
42
|
+
input: object = None
|
|
43
|
+
output: object = None
|
|
44
|
+
details: object = None
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
@dataclass
|
|
48
|
+
class Attachment:
|
|
49
|
+
type: object = None
|
|
50
|
+
path: object = None
|
|
51
|
+
url: object = None
|
|
52
|
+
content: object = None
|
|
53
|
+
_id: object = None
|
|
54
|
+
|
|
55
|
+
def payload(self):
|
|
56
|
+
if self.content is not None:
|
|
57
|
+
if not isinstance(self.content, bytes):
|
|
58
|
+
raise TypeError("Attachment content must be bytes")
|
|
59
|
+
return {"content": list(self.content), "mimeType": self.resolve_type()}
|
|
60
|
+
if self.url is not None:
|
|
61
|
+
raise NotImplementedError("URL attachment acquisition requires shared service support")
|
|
62
|
+
return _core.Attachment(os.fspath(self.path), self.type).payload()
|
|
63
|
+
|
|
64
|
+
def id(self):
|
|
65
|
+
import hashlib
|
|
66
|
+
import json
|
|
67
|
+
if self._id is None:
|
|
68
|
+
digest = hashlib.sha256()
|
|
69
|
+
if self.content:
|
|
70
|
+
digest.update(self.content)
|
|
71
|
+
elif self.path:
|
|
72
|
+
with open(self.path, "rb") as source:
|
|
73
|
+
for chunk in iter(lambda: source.read(65536), b""):
|
|
74
|
+
digest.update(chunk)
|
|
75
|
+
else:
|
|
76
|
+
digest.update(json.dumps({"url": self.url}).encode("utf-8"))
|
|
77
|
+
self._id = digest.hexdigest()
|
|
78
|
+
return self._id
|
|
79
|
+
|
|
80
|
+
def content_bytes(self):
|
|
81
|
+
if self.content:
|
|
82
|
+
return self.content
|
|
83
|
+
if self.path:
|
|
84
|
+
with open(self.path, "rb") as source:
|
|
85
|
+
return source.read()
|
|
86
|
+
if self.url:
|
|
87
|
+
raise NotImplementedError("URL attachment acquisition requires shared service support")
|
|
88
|
+
return self.content
|
|
89
|
+
|
|
90
|
+
def base64_content(self):
|
|
91
|
+
import base64
|
|
92
|
+
return base64.b64encode(self.content_bytes()).decode("utf-8")
|
|
93
|
+
|
|
94
|
+
def resolve_type(self):
|
|
95
|
+
if self.type:
|
|
96
|
+
return self.type
|
|
97
|
+
if self.path:
|
|
98
|
+
with open(self.path, "rb") as source:
|
|
99
|
+
prefix = source.read(4096)
|
|
100
|
+
elif self.content:
|
|
101
|
+
prefix = self.content[:4096]
|
|
102
|
+
elif self.url:
|
|
103
|
+
raise NotImplementedError("URL attachment acquisition requires shared service support")
|
|
104
|
+
else:
|
|
105
|
+
raise ValueError("Attachment has no type and no content to derive it from")
|
|
106
|
+
async def resolve():
|
|
107
|
+
async with _core.Client() as client:
|
|
108
|
+
payload = {"path": os.fspath(self.path) if self.path else "", "prefix": list(prefix)}
|
|
109
|
+
return await client._run(lambda: client._bridge.call("attachment_type", payload), client._timeout)
|
|
110
|
+
return _sync(resolve())
|
|
111
|
+
|
|
112
|
+
@classmethod
|
|
113
|
+
def from_row(cls, row):
|
|
114
|
+
return cls(_id=row["id"], type=row["type"], path=row["path"], url=row["url"], content=row["content"])
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
class Prompt:
|
|
118
|
+
def __init__(self, prompt, model, *, fragments=None, attachments=None,
|
|
119
|
+
system=None, system_fragments=None, prompt_json=None,
|
|
120
|
+
options=None, schema=None, tools=None, tool_results=None):
|
|
121
|
+
if tools or tool_results:
|
|
122
|
+
raise NotImplementedError("Tools require shared service support")
|
|
123
|
+
self._prompt = prompt
|
|
124
|
+
self.model = model
|
|
125
|
+
self.fragments = fragments or []
|
|
126
|
+
self._system = system
|
|
127
|
+
self.system_fragments = system_fragments or []
|
|
128
|
+
self.prompt_json = prompt_json
|
|
129
|
+
self.attachments = list(attachments or [])
|
|
130
|
+
if schema is not None and hasattr(schema, "model_json_schema"):
|
|
131
|
+
schema = schema.model_json_schema()
|
|
132
|
+
self.schema = schema
|
|
133
|
+
self.options = options or {}
|
|
134
|
+
self.tools = []
|
|
135
|
+
self.tool_results = []
|
|
136
|
+
|
|
137
|
+
@property
|
|
138
|
+
def prompt(self):
|
|
139
|
+
return "\n".join(self.fragments + ([self._prompt] if self._prompt else []))
|
|
140
|
+
|
|
141
|
+
@property
|
|
142
|
+
def system(self):
|
|
143
|
+
bits = [bit.strip() for bit in self.system_fragments + [self._system or ""] if bit.strip()]
|
|
144
|
+
return "\n\n".join(bits)
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
_last_id = 0
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
def _new_id():
|
|
151
|
+
global _last_id
|
|
152
|
+
_last_id = max((int(time.time() * 1000) << 80) | int.from_bytes(os.urandom(10), "big"), _last_id + 1)
|
|
153
|
+
alphabet = "0123456789abcdefghjkmnpqrstvwxyz"
|
|
154
|
+
return "".join(alphabet[(_last_id >> shift) & 31] for shift in range(125, -1, -5))
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
class _Response:
|
|
158
|
+
def __init__(self, prompt, model, stream, conversation=None, key=None):
|
|
159
|
+
if prompt.schema and not model.supports_schema:
|
|
160
|
+
raise ValueError(str(model) + " does not support schemas")
|
|
161
|
+
self.id = _new_id()
|
|
162
|
+
self.prompt = prompt
|
|
163
|
+
self.model = model
|
|
164
|
+
self.stream = stream
|
|
165
|
+
self.conversation = conversation
|
|
166
|
+
self._key = key
|
|
167
|
+
self._chunks = []
|
|
168
|
+
self._done = False
|
|
169
|
+
self._closed = False
|
|
170
|
+
self._client = None
|
|
171
|
+
self._iterator = None
|
|
172
|
+
self._custom_iterator = None
|
|
173
|
+
self.response_json = None
|
|
174
|
+
self.input_tokens = None
|
|
175
|
+
self.output_tokens = None
|
|
176
|
+
self.token_details = None
|
|
177
|
+
self.done_callbacks = []
|
|
178
|
+
self.resolved_model = None
|
|
179
|
+
self.attachments = []
|
|
180
|
+
self._tool_calls = []
|
|
181
|
+
self._prompt_json = None
|
|
182
|
+
self._start = None
|
|
183
|
+
self._end = None
|
|
184
|
+
self._start_utcnow = None
|
|
185
|
+
|
|
186
|
+
def set_usage(self, *, input=None, output=None, details=None):
|
|
187
|
+
self.input_tokens = input
|
|
188
|
+
self.output_tokens = output
|
|
189
|
+
self.token_details = details
|
|
190
|
+
|
|
191
|
+
def set_resolved_model(self, model_id):
|
|
192
|
+
self.resolved_model = model_id
|
|
193
|
+
|
|
194
|
+
def token_usage(self):
|
|
195
|
+
import json
|
|
196
|
+
parts = []
|
|
197
|
+
if self.input_tokens is not None:
|
|
198
|
+
parts.append(format(self.input_tokens, ",") + " input")
|
|
199
|
+
if self.output_tokens is not None:
|
|
200
|
+
parts.append(format(self.output_tokens, ",") + " output")
|
|
201
|
+
if self.token_details:
|
|
202
|
+
parts.append(json.dumps(self.token_details))
|
|
203
|
+
return ", ".join(parts)
|
|
204
|
+
|
|
205
|
+
async def _finish(self):
|
|
206
|
+
self._end = time.monotonic()
|
|
207
|
+
self._done = True
|
|
208
|
+
if self.conversation is not None:
|
|
209
|
+
self.conversation.responses.append(self)
|
|
210
|
+
await self._close()
|
|
211
|
+
callbacks, self.done_callbacks = self.done_callbacks, []
|
|
212
|
+
for callback in callbacks:
|
|
213
|
+
value = callback(self)
|
|
214
|
+
if inspect.isawaitable(value):
|
|
215
|
+
await value
|
|
216
|
+
|
|
217
|
+
async def _close(self):
|
|
218
|
+
if self._custom_iterator is not None:
|
|
219
|
+
iterator, self._custom_iterator = self._custom_iterator, None
|
|
220
|
+
close = getattr(iterator, "aclose", None) or getattr(iterator, "close", None)
|
|
221
|
+
if close is not None:
|
|
222
|
+
result = close()
|
|
223
|
+
if inspect.isawaitable(result):
|
|
224
|
+
await result
|
|
225
|
+
if self._client is not None:
|
|
226
|
+
await self._client.aclose()
|
|
227
|
+
|
|
228
|
+
def _metadata(self, response):
|
|
229
|
+
# json() returns provider response metadata, not parsed generated text.
|
|
230
|
+
self.response_json = response.metadata.get("response_json")
|
|
231
|
+
self.input_tokens = response.usage.get("input_tokens")
|
|
232
|
+
self.output_tokens = response.usage.get("output_tokens")
|
|
233
|
+
self.token_details = response.usage.get("details")
|
|
234
|
+
|
|
235
|
+
async def _next(self):
|
|
236
|
+
if self._done or self._closed:
|
|
237
|
+
raise StopAsyncIteration
|
|
238
|
+
try:
|
|
239
|
+
execute = getattr(self.model, "execute", None)
|
|
240
|
+
if execute is not None:
|
|
241
|
+
if self._custom_iterator is None:
|
|
242
|
+
self._start = time.monotonic()
|
|
243
|
+
self._start_utcnow = _datetime.datetime.now(_datetime.timezone.utc)
|
|
244
|
+
self._custom_iterator = execute(self.prompt, self.stream, self, self.conversation)
|
|
245
|
+
try:
|
|
246
|
+
if isinstance(self.model, AsyncModel):
|
|
247
|
+
chunk = await self._custom_iterator.__anext__()
|
|
248
|
+
else:
|
|
249
|
+
chunk = next(self._custom_iterator)
|
|
250
|
+
except (StopIteration, StopAsyncIteration):
|
|
251
|
+
await self._finish()
|
|
252
|
+
raise StopAsyncIteration
|
|
253
|
+
self._chunks.append(chunk)
|
|
254
|
+
return chunk
|
|
255
|
+
if self._client is None:
|
|
256
|
+
self._start = time.monotonic()
|
|
257
|
+
self._start_utcnow = _datetime.datetime.now(_datetime.timezone.utc)
|
|
258
|
+
self._client = _core.Client(model=self.model.model_id, key=self._key)
|
|
259
|
+
options = self.prompt.options
|
|
260
|
+
if hasattr(options, "model_dump"):
|
|
261
|
+
options = options.model_dump(exclude_none=True)
|
|
262
|
+
values = dict(system=self.prompt.system, options=options,
|
|
263
|
+
attachments=self.prompt.attachments, schema=self.prompt.schema)
|
|
264
|
+
if self.conversation is not None:
|
|
265
|
+
messages = []
|
|
266
|
+
for response in self.conversation.responses:
|
|
267
|
+
if response.prompt.system:
|
|
268
|
+
messages.append(_core.Message("system", response.prompt.system))
|
|
269
|
+
messages.extend((_core.Message("user", response.prompt.prompt or ""),
|
|
270
|
+
_core.Message("assistant", "".join(response._chunks))))
|
|
271
|
+
values.update(messages=messages)
|
|
272
|
+
if not self.stream:
|
|
273
|
+
response = await self._client.complete(self.prompt.prompt or "", **values)
|
|
274
|
+
self._metadata(response)
|
|
275
|
+
self._chunks.append(response.text)
|
|
276
|
+
await self._finish()
|
|
277
|
+
return response.text
|
|
278
|
+
self._iterator = self._client.stream(self.prompt.prompt or "", **values)
|
|
279
|
+
while True:
|
|
280
|
+
try:
|
|
281
|
+
event = await self._iterator.__anext__()
|
|
282
|
+
except StopAsyncIteration:
|
|
283
|
+
await self._finish()
|
|
284
|
+
raise
|
|
285
|
+
if event.type == "response":
|
|
286
|
+
self._metadata(event.response)
|
|
287
|
+
elif event.type == "text":
|
|
288
|
+
self._chunks.append(event.text)
|
|
289
|
+
return event.text
|
|
290
|
+
except BaseException:
|
|
291
|
+
await self._close()
|
|
292
|
+
raise
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
class Response(_Response):
|
|
296
|
+
def __str__(self):
|
|
297
|
+
return self.text()
|
|
298
|
+
|
|
299
|
+
def text_or_raise(self):
|
|
300
|
+
return self.text()
|
|
301
|
+
|
|
302
|
+
def duration_ms(self):
|
|
303
|
+
self.text()
|
|
304
|
+
return int(((self._end or 0) - (self._start or 0)) * 1000)
|
|
305
|
+
|
|
306
|
+
def datetime_utc(self):
|
|
307
|
+
self.text()
|
|
308
|
+
return self._start_utcnow.isoformat() if self._start_utcnow else ""
|
|
309
|
+
|
|
310
|
+
def __iter__(self):
|
|
311
|
+
if self._done:
|
|
312
|
+
yield from self._chunks
|
|
313
|
+
return
|
|
314
|
+
try:
|
|
315
|
+
while True:
|
|
316
|
+
try:
|
|
317
|
+
chunk = _sync(self._next())
|
|
318
|
+
except StopAsyncIteration:
|
|
319
|
+
return
|
|
320
|
+
yield chunk
|
|
321
|
+
finally:
|
|
322
|
+
if not self._done:
|
|
323
|
+
self.close()
|
|
324
|
+
|
|
325
|
+
def text(self):
|
|
326
|
+
if not self._done:
|
|
327
|
+
for _ in self:
|
|
328
|
+
pass
|
|
329
|
+
return "".join(self._chunks)
|
|
330
|
+
|
|
331
|
+
def json(self):
|
|
332
|
+
self.text()
|
|
333
|
+
return self.response_json
|
|
334
|
+
|
|
335
|
+
def usage(self):
|
|
336
|
+
self.text()
|
|
337
|
+
return Usage(self.input_tokens, self.output_tokens, self.token_details)
|
|
338
|
+
|
|
339
|
+
def on_done(self, callback):
|
|
340
|
+
if self._done:
|
|
341
|
+
callback(self)
|
|
342
|
+
else:
|
|
343
|
+
self.done_callbacks.append(callback)
|
|
344
|
+
|
|
345
|
+
def close(self):
|
|
346
|
+
self._closed = True
|
|
347
|
+
_sync(self._close())
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
class AsyncResponse(_Response):
|
|
351
|
+
def __await__(self):
|
|
352
|
+
async def complete():
|
|
353
|
+
await self.text()
|
|
354
|
+
return self
|
|
355
|
+
return complete().__await__()
|
|
356
|
+
|
|
357
|
+
def text_or_raise(self):
|
|
358
|
+
if not self._done:
|
|
359
|
+
raise ValueError("Response not yet awaited")
|
|
360
|
+
return "".join(self._chunks)
|
|
361
|
+
|
|
362
|
+
async def duration_ms(self):
|
|
363
|
+
await self.text()
|
|
364
|
+
return int(((self._end or 0) - (self._start or 0)) * 1000)
|
|
365
|
+
|
|
366
|
+
async def datetime_utc(self):
|
|
367
|
+
await self.text()
|
|
368
|
+
return self._start_utcnow.isoformat() if self._start_utcnow else ""
|
|
369
|
+
|
|
370
|
+
async def to_sync_response(self):
|
|
371
|
+
await self.text()
|
|
372
|
+
conversation = self.conversation.to_sync_conversation() if self.conversation else None
|
|
373
|
+
response = Response(self.prompt, self.model, self.stream, conversation=conversation)
|
|
374
|
+
for name in ("id", "_done", "_end", "_start", "_start_utcnow", "input_tokens",
|
|
375
|
+
"output_tokens", "token_details", "_prompt_json", "response_json", "resolved_model"):
|
|
376
|
+
setattr(response, name, getattr(self, name))
|
|
377
|
+
response._chunks = list(self._chunks)
|
|
378
|
+
response._tool_calls = list(self._tool_calls)
|
|
379
|
+
response.attachments = list(self.attachments)
|
|
380
|
+
return response
|
|
381
|
+
|
|
382
|
+
def __aiter__(self):
|
|
383
|
+
if self._done:
|
|
384
|
+
self._replay = iter(self._chunks)
|
|
385
|
+
return self
|
|
386
|
+
|
|
387
|
+
async def __anext__(self):
|
|
388
|
+
if self._done:
|
|
389
|
+
try:
|
|
390
|
+
return next(getattr(self, "_replay", iter(())))
|
|
391
|
+
except StopIteration:
|
|
392
|
+
raise StopAsyncIteration from None
|
|
393
|
+
return await self._next()
|
|
394
|
+
|
|
395
|
+
async def text(self):
|
|
396
|
+
if not self._done:
|
|
397
|
+
async for _ in self:
|
|
398
|
+
pass
|
|
399
|
+
return "".join(self._chunks)
|
|
400
|
+
|
|
401
|
+
async def json(self):
|
|
402
|
+
await self.text()
|
|
403
|
+
return self.response_json
|
|
404
|
+
|
|
405
|
+
async def usage(self):
|
|
406
|
+
await self.text()
|
|
407
|
+
return Usage(self.input_tokens, self.output_tokens, self.token_details)
|
|
408
|
+
|
|
409
|
+
async def on_done(self, callback):
|
|
410
|
+
if self._done:
|
|
411
|
+
value = callback(self)
|
|
412
|
+
if inspect.isawaitable(value):
|
|
413
|
+
await value
|
|
414
|
+
else:
|
|
415
|
+
self.done_callbacks.append(callback)
|
|
416
|
+
|
|
417
|
+
async def aclose(self):
|
|
418
|
+
self._closed = True
|
|
419
|
+
await self._close()
|
|
420
|
+
|
|
421
|
+
|
|
422
|
+
class Model:
|
|
423
|
+
class Options(Options):
|
|
424
|
+
pass
|
|
425
|
+
supports_schema = False
|
|
426
|
+
supports_tools = False
|
|
427
|
+
attachment_types = set()
|
|
428
|
+
|
|
429
|
+
def __init__(self, model_id=None, *, capabilities=None, metadata=None):
|
|
430
|
+
if model_id is not None:
|
|
431
|
+
self.model_id = model_id
|
|
432
|
+
if capabilities is not None:
|
|
433
|
+
self.supports_schema = "schema" in capabilities
|
|
434
|
+
if metadata is not None:
|
|
435
|
+
self.attachment_types = set(metadata.get("attachmentTypes", ()))
|
|
436
|
+
if "options" not in metadata:
|
|
437
|
+
self.Options = create_model("Options", __base__=type(self).Options, __config__=ConfigDict(extra="allow"))
|
|
438
|
+
else:
|
|
439
|
+
from typing import Optional
|
|
440
|
+
types = {"number": float, "integer": int, "boolean": bool, "string": str}
|
|
441
|
+
fields = {}
|
|
442
|
+
for name, declaration in metadata["options"].items():
|
|
443
|
+
value_type = types[declaration["type"]]
|
|
444
|
+
if declaration.get("nullable"):
|
|
445
|
+
value_type = Optional[value_type]
|
|
446
|
+
constraints = {}
|
|
447
|
+
for source, target in (("minimum", "ge"), ("maximum", "le"), ("description", "description")):
|
|
448
|
+
if source in declaration:
|
|
449
|
+
constraints[target] = declaration[source]
|
|
450
|
+
fields[name] = (value_type, Field(default=None, **constraints))
|
|
451
|
+
self.Options = create_model("Options", __base__=type(self).Options, **fields)
|
|
452
|
+
|
|
453
|
+
def __str__(self):
|
|
454
|
+
suffix = " (async)" if isinstance(self, AsyncModel) else ""
|
|
455
|
+
return self.__class__.__name__ + suffix + ": " + self.model_id
|
|
456
|
+
|
|
457
|
+
def __repr__(self):
|
|
458
|
+
return "<" + str(self) + ">"
|
|
459
|
+
|
|
460
|
+
def _validate_attachments(self, attachments=None):
|
|
461
|
+
if attachments and not self.attachment_types:
|
|
462
|
+
raise ValueError("This model does not support attachments")
|
|
463
|
+
for attachment in attachments or []:
|
|
464
|
+
attachment_type = attachment.resolve_type()
|
|
465
|
+
if attachment_type not in self.attachment_types:
|
|
466
|
+
raise ValueError(
|
|
467
|
+
"This model does not support attachments of type '" + attachment_type
|
|
468
|
+
+ "', only " + ", ".join(self.attachment_types)
|
|
469
|
+
)
|
|
470
|
+
|
|
471
|
+
def prompt(self, prompt=None, *, fragments=None, attachments=None, system=None,
|
|
472
|
+
system_fragments=None, stream=True, schema=None, tools=None,
|
|
473
|
+
tool_results=None, **options):
|
|
474
|
+
self._validate_attachments(attachments)
|
|
475
|
+
key = options.pop("key", None)
|
|
476
|
+
options = self.Options(**options)
|
|
477
|
+
if schema is not None and hasattr(schema, "model_json_schema"):
|
|
478
|
+
schema = schema.model_json_schema()
|
|
479
|
+
return Response(Prompt(prompt, self, system=system, attachments=attachments,
|
|
480
|
+
fragments=fragments, system_fragments=system_fragments,
|
|
481
|
+
tools=tools, tool_results=tool_results,
|
|
482
|
+
schema=schema, options=options), self, stream, key=key)
|
|
483
|
+
|
|
484
|
+
|
|
485
|
+
def conversation(self, tools=None, before_call=None, after_call=None, chain_limit=None):
|
|
486
|
+
return Conversation(self, tools=tools, before_call=before_call, after_call=after_call, chain_limit=chain_limit)
|
|
487
|
+
|
|
488
|
+
|
|
489
|
+
class AsyncModel(Model):
|
|
490
|
+
def prompt(self, prompt=None, *, fragments=None, attachments=None, system=None,
|
|
491
|
+
schema=None, tools=None, tool_results=None, system_fragments=None,
|
|
492
|
+
stream=True, **options):
|
|
493
|
+
response = super().prompt(prompt, fragments=fragments, attachments=attachments,
|
|
494
|
+
system=system, schema=schema, tools=tools,
|
|
495
|
+
tool_results=tool_results, system_fragments=system_fragments,
|
|
496
|
+
stream=stream, **options)
|
|
497
|
+
return AsyncResponse(response.prompt, self, stream, key=response._key)
|
|
498
|
+
|
|
499
|
+
|
|
500
|
+
def conversation(self, tools=None, before_call=None, after_call=None, chain_limit=None):
|
|
501
|
+
return AsyncConversation(self, tools=tools, before_call=before_call, after_call=after_call, chain_limit=chain_limit)
|
|
502
|
+
|
|
503
|
+
|
|
504
|
+
@dataclass
|
|
505
|
+
class Conversation:
|
|
506
|
+
model: object
|
|
507
|
+
id: str = field(default_factory=_new_id)
|
|
508
|
+
name: object = None
|
|
509
|
+
responses: list = field(default_factory=list)
|
|
510
|
+
tools: object = None
|
|
511
|
+
chain_limit: object = None
|
|
512
|
+
before_call: object = None
|
|
513
|
+
after_call: object = None
|
|
514
|
+
|
|
515
|
+
def prompt(self, prompt=None, *, fragments=None, attachments=None, system=None,
|
|
516
|
+
schema=None, tools=None, tool_results=None, system_fragments=None,
|
|
517
|
+
stream=True, key=None, **options):
|
|
518
|
+
response = self.model.prompt(prompt, fragments=fragments, attachments=attachments,
|
|
519
|
+
system=system, schema=schema, tools=tools or self.tools,
|
|
520
|
+
tool_results=tool_results, system_fragments=system_fragments,
|
|
521
|
+
stream=stream, key=key, **options)
|
|
522
|
+
response.conversation = self
|
|
523
|
+
return response
|
|
524
|
+
|
|
525
|
+
|
|
526
|
+
class AsyncConversation(Conversation):
|
|
527
|
+
def to_sync_conversation(self):
|
|
528
|
+
return Conversation(model=self.model, id=self.id, name=self.name, responses=[],
|
|
529
|
+
tools=self.tools, chain_limit=self.chain_limit)
|
|
530
|
+
|
|
531
|
+
|
|
532
|
+
class UnknownModelError(KeyError):
|
|
533
|
+
pass
|
|
534
|
+
|
|
535
|
+
|
|
536
|
+
async def _models():
|
|
537
|
+
async with _core.Client() as client:
|
|
538
|
+
return await client.models()
|
|
539
|
+
|
|
540
|
+
|
|
541
|
+
def get_models():
|
|
542
|
+
return [Model(item.id, capabilities=item.capabilities, metadata=item.metadata) for item in _sync(_models())]
|
|
543
|
+
|
|
544
|
+
|
|
545
|
+
def get_async_models():
|
|
546
|
+
return [AsyncModel(item.id, capabilities=item.capabilities, metadata=item.metadata) for item in _sync(_models())]
|
|
547
|
+
|
|
548
|
+
|
|
549
|
+
def get_model_aliases():
|
|
550
|
+
result = {}
|
|
551
|
+
for item in _sync(_models()):
|
|
552
|
+
model = Model(item.id, capabilities=item.capabilities, metadata=item.metadata)
|
|
553
|
+
for name in (item.id, *item.aliases):
|
|
554
|
+
result[name] = model
|
|
555
|
+
return result
|
|
556
|
+
|
|
557
|
+
|
|
558
|
+
def get_async_model_aliases():
|
|
559
|
+
result = {}
|
|
560
|
+
for item in _sync(_models()):
|
|
561
|
+
model = AsyncModel(item.id, capabilities=item.capabilities, metadata=item.metadata)
|
|
562
|
+
for name in (item.id, *item.aliases):
|
|
563
|
+
result[name] = model
|
|
564
|
+
return result
|
|
565
|
+
|
|
566
|
+
|
|
567
|
+
def get_default_model():
|
|
568
|
+
async def read():
|
|
569
|
+
async with _core.Client() as client:
|
|
570
|
+
return await client._run(lambda: client._bridge.call("resolve_model", _core._configuration_context()), client._timeout)
|
|
571
|
+
return _sync(read())
|
|
572
|
+
|
|
573
|
+
|
|
574
|
+
def get_model(name=None, _skip_async=False):
|
|
575
|
+
aliases = get_model_aliases()
|
|
576
|
+
name = name or get_default_model()
|
|
577
|
+
try:
|
|
578
|
+
return aliases[name]
|
|
579
|
+
except KeyError:
|
|
580
|
+
raise UnknownModelError("Unknown model: " + str(name)) from None
|
|
581
|
+
|
|
582
|
+
|
|
583
|
+
def get_async_model(name=None):
|
|
584
|
+
aliases = get_async_model_aliases()
|
|
585
|
+
name = name or get_default_model()
|
|
586
|
+
try:
|
|
587
|
+
return aliases[name]
|
|
588
|
+
except KeyError:
|
|
589
|
+
raise UnknownModelError("Unknown model: " + str(name)) from None
|
|
590
|
+
|
|
591
|
+
|
|
592
|
+
def schema_dsl(schema_dsl, multi=False):
|
|
593
|
+
async def parse():
|
|
594
|
+
async with _core.Client() as client:
|
|
595
|
+
payload = {"schema": schema_dsl, "multi": bool(multi)}
|
|
596
|
+
return await client._run(lambda: client._bridge.call("schema_dsl", payload), client._timeout)
|
|
597
|
+
return _sync(parse())
|
|
598
|
+
|
|
599
|
+
|
|
600
|
+
def encode(values):
|
|
601
|
+
import struct
|
|
602
|
+
return struct.pack("<" + "f" * len(values), *values)
|
|
603
|
+
|
|
604
|
+
|
|
605
|
+
def decode(binary):
|
|
606
|
+
import struct
|
|
607
|
+
return struct.unpack("<" + "f" * (len(binary) // 4), binary)
|
|
608
|
+
|
|
609
|
+
|
|
610
|
+
def cosine_similarity(a, b):
|
|
611
|
+
dot_product = sum(x * y for x, y in zip(a, b))
|
|
612
|
+
magnitude_a = sum(x * x for x in a) ** 0.5
|
|
613
|
+
magnitude_b = sum(x * x for x in b) ** 0.5
|
|
614
|
+
return dot_product / (magnitude_a * magnitude_b)
|
|
615
|
+
|
|
616
|
+
|
|
617
|
+
class EmbeddingModel:
|
|
618
|
+
supports_text = True
|
|
619
|
+
supports_binary = False
|
|
620
|
+
batch_size = None
|
|
621
|
+
key = None
|
|
622
|
+
|
|
623
|
+
def __init__(self, model_id=None):
|
|
624
|
+
if model_id is not None:
|
|
625
|
+
self.model_id = model_id
|
|
626
|
+
|
|
627
|
+
def __str__(self):
|
|
628
|
+
return self.__class__.__name__ + ": " + self.model_id
|
|
629
|
+
|
|
630
|
+
def __repr__(self):
|
|
631
|
+
return "<" + str(self) + ">"
|
|
632
|
+
|
|
633
|
+
def _check(self, item):
|
|
634
|
+
if not self.supports_binary and isinstance(item, bytes):
|
|
635
|
+
raise ValueError("This model does not support binary data, only text strings")
|
|
636
|
+
if not self.supports_text and isinstance(item, str):
|
|
637
|
+
raise ValueError("This model does not support text strings, only binary data")
|
|
638
|
+
|
|
639
|
+
def embed_batch(self, items):
|
|
640
|
+
async def embed():
|
|
641
|
+
async with _core.Client(model=self.model_id, key=self.key) as client:
|
|
642
|
+
return await client.embed(items)
|
|
643
|
+
result = _sync(embed())
|
|
644
|
+
for vector in result.vectors:
|
|
645
|
+
yield list(vector)
|
|
646
|
+
|
|
647
|
+
def embed(self, item):
|
|
648
|
+
self._check(item)
|
|
649
|
+
return next(iter(self.embed_batch([item])))
|
|
650
|
+
|
|
651
|
+
def embed_multi(self, items, batch_size=None):
|
|
652
|
+
from itertools import islice
|
|
653
|
+
def checked():
|
|
654
|
+
for item in items:
|
|
655
|
+
self._check(item)
|
|
656
|
+
yield item
|
|
657
|
+
iterator = checked()
|
|
658
|
+
effective_batch_size = self.batch_size if batch_size is None else batch_size
|
|
659
|
+
if effective_batch_size is None:
|
|
660
|
+
yield from self.embed_batch(iterator)
|
|
661
|
+
return
|
|
662
|
+
while True:
|
|
663
|
+
batch = list(islice(iterator, effective_batch_size))
|
|
664
|
+
if not batch:
|
|
665
|
+
return
|
|
666
|
+
yield from self.embed_batch(batch)
|
|
667
|
+
|
|
668
|
+
|
|
669
|
+
def get_embedding_models():
|
|
670
|
+
return [EmbeddingModel(item.id) for item in _sync(_models()) if "embed" in item.capabilities]
|
|
671
|
+
|
|
672
|
+
|
|
673
|
+
def get_embedding_model_aliases():
|
|
674
|
+
result = {}
|
|
675
|
+
for item in _sync(_models()):
|
|
676
|
+
if "embed" not in item.capabilities:
|
|
677
|
+
continue
|
|
678
|
+
model = EmbeddingModel(item.id)
|
|
679
|
+
for name in (item.id, *item.aliases):
|
|
680
|
+
result[name] = model
|
|
681
|
+
return result
|
|
682
|
+
|
|
683
|
+
|
|
684
|
+
def get_embedding_model(name):
|
|
685
|
+
try:
|
|
686
|
+
return get_embedding_model_aliases()[name]
|
|
687
|
+
except KeyError:
|
|
688
|
+
raise UnknownModelError("Unknown model: " + str(name)) from None
|
|
689
|
+
`)();
|
|
690
|
+
//# sourceMappingURL=llm-reference-module.js.map
|
|
@@ -8,11 +8,10 @@ import {
|
|
|
8
8
|
pythonRuntimeRelocation,
|
|
9
9
|
pythonStatProjection,
|
|
10
10
|
pythonTreeCleanup
|
|
11
|
-
} from "../../chunks/chunk-
|
|
12
|
-
import "../../chunks/chunk-IWDICZVK.js";
|
|
11
|
+
} from "../../chunks/chunk-Q4FNLOTI.js";
|
|
13
12
|
import {
|
|
14
13
|
init_platform
|
|
15
|
-
} from "../../chunks/chunk-
|
|
14
|
+
} from "../../chunks/chunk-PTAEWLSE.js";
|
|
16
15
|
|
|
17
16
|
// packages/safe-bash/src/commands/python/worker.ts
|
|
18
17
|
init_platform();
|