@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
|
@@ -2472,6 +2472,50 @@ var SqliteDatabase = class {
|
|
|
2472
2472
|
indexRows
|
|
2473
2473
|
});
|
|
2474
2474
|
}
|
|
2475
|
+
bulkImportRows(tableName, rows) {
|
|
2476
|
+
const tbl = this.findTable(tableName);
|
|
2477
|
+
if (!tbl) return false;
|
|
2478
|
+
const lowerTbl = tbl.name.toLowerCase();
|
|
2479
|
+
const hasTriggers = Array.from(this.triggers.values()).some((tr) => tr.tableName.toLowerCase() === lowerTbl);
|
|
2480
|
+
const hasComplexCols = tbl.columns.some(
|
|
2481
|
+
(c) => Boolean(c.checkExpr || c.generatedExpr || c.primaryKey && c.type.toUpperCase() === "INTEGER" && !tbl.withoutRowId && tbl.primaryKeyCols.length === 1)
|
|
2482
|
+
);
|
|
2483
|
+
if (this.foreignKeys || hasTriggers || hasComplexCols) {
|
|
2484
|
+
return false;
|
|
2485
|
+
}
|
|
2486
|
+
const cols = tbl.columns;
|
|
2487
|
+
const colCount = cols.length;
|
|
2488
|
+
let inserted = 0;
|
|
2489
|
+
for (let i = 0; i < rows.length; i++) {
|
|
2490
|
+
const r = rows[i];
|
|
2491
|
+
if (r.length === 1 && r[0] === "" && colCount > 1) continue;
|
|
2492
|
+
const data = {};
|
|
2493
|
+
for (let cIdx = 0; cIdx < colCount; cIdx++) {
|
|
2494
|
+
const col = cols[cIdx];
|
|
2495
|
+
const raw = r[cIdx] ?? "";
|
|
2496
|
+
const val = applyColumnAffinity(raw, col.type);
|
|
2497
|
+
if (col.notNull && (val === null || val === void 0)) {
|
|
2498
|
+
return false;
|
|
2499
|
+
}
|
|
2500
|
+
data[col.name] = val;
|
|
2501
|
+
}
|
|
2502
|
+
const rowid = tbl.nextRowId;
|
|
2503
|
+
const candidate = { rowid, data };
|
|
2504
|
+
const conflict = runSynchronously(this.checkConstraintsAndConflicts(tbl, candidate));
|
|
2505
|
+
if (conflict) {
|
|
2506
|
+
throw new Error(`UNIQUE constraint failed: ${tbl.name}`);
|
|
2507
|
+
}
|
|
2508
|
+
this.checkRowCount(tbl.rows.length + 1);
|
|
2509
|
+
tbl.rows.push(candidate);
|
|
2510
|
+
tbl.nextRowId = rowid + 1;
|
|
2511
|
+
if (rowid > tbl.maxAutoInc) tbl.maxAutoInc = rowid;
|
|
2512
|
+
this.lastInsertRowid = rowid;
|
|
2513
|
+
inserted++;
|
|
2514
|
+
}
|
|
2515
|
+
this.lastChanges = inserted;
|
|
2516
|
+
this.totalChanges += inserted;
|
|
2517
|
+
return true;
|
|
2518
|
+
}
|
|
2475
2519
|
findTable(name) {
|
|
2476
2520
|
const lower = name.toLowerCase();
|
|
2477
2521
|
for (const [k, v] of this.tables) {
|
|
@@ -3533,6 +3577,63 @@ var SqliteDatabase = class {
|
|
|
3533
3577
|
resolvedKeySets.push(index.columns.map((cKey, i) => ({ cKey, collate: index.collations?.[i] ?? tbl.columns.find((col) => col.name === cKey)?.collate ?? "BINARY" })));
|
|
3534
3578
|
}
|
|
3535
3579
|
}
|
|
3580
|
+
if (resolvedKeySets.length === 0 && candidate.rowid >= tbl.nextRowId) {
|
|
3581
|
+
return null;
|
|
3582
|
+
}
|
|
3583
|
+
const canUseFastIndex = excludeRowid === void 0 && tbl.rows.length > 32 && resolvedKeySets.every((ks) => ks.every((k) => k.collate === "BINARY"));
|
|
3584
|
+
if (canUseFastIndex) {
|
|
3585
|
+
const encodeKey = (row, ks) => {
|
|
3586
|
+
if (ks.length === 1) {
|
|
3587
|
+
const v = row.data[ks[0].cKey] ?? null;
|
|
3588
|
+
if (v === null) return null;
|
|
3589
|
+
return `${typeof v}:${String(v)}`;
|
|
3590
|
+
}
|
|
3591
|
+
const parts = [];
|
|
3592
|
+
for (const { cKey } of ks) {
|
|
3593
|
+
const v = row.data[cKey] ?? null;
|
|
3594
|
+
if (v === null) return null;
|
|
3595
|
+
parts.push(`${typeof v}:${String(v)}`);
|
|
3596
|
+
}
|
|
3597
|
+
return parts.join("");
|
|
3598
|
+
};
|
|
3599
|
+
const indexRow = (idx, row) => {
|
|
3600
|
+
idx.byRowid.set(row.rowid, row);
|
|
3601
|
+
for (let i = 0; i < resolvedKeySets.length; i += 1) {
|
|
3602
|
+
const k = encodeKey(row, resolvedKeySets[i]);
|
|
3603
|
+
if (k !== null) {
|
|
3604
|
+
idx.byKeySets[i].set(k, row);
|
|
3605
|
+
}
|
|
3606
|
+
}
|
|
3607
|
+
};
|
|
3608
|
+
let fastIdx = tbl.__fastConflictIndex;
|
|
3609
|
+
if (!fastIdx || fastIdx.byKeySets.length !== resolvedKeySets.length || fastIdx.len !== tbl.rows.length && !(fastIdx.len + 1 === tbl.rows.length && fastIdx.lastRow === tbl.rows[tbl.rows.length - 2])) {
|
|
3610
|
+
fastIdx = {
|
|
3611
|
+
len: tbl.rows.length,
|
|
3612
|
+
lastRow: tbl.rows[tbl.rows.length - 1],
|
|
3613
|
+
byRowid: /* @__PURE__ */ new Map(),
|
|
3614
|
+
byKeySets: resolvedKeySets.map(() => /* @__PURE__ */ new Map())
|
|
3615
|
+
};
|
|
3616
|
+
for (const r of tbl.rows) {
|
|
3617
|
+
indexRow(fastIdx, r);
|
|
3618
|
+
}
|
|
3619
|
+
tbl.__fastConflictIndex = fastIdx;
|
|
3620
|
+
} else if (fastIdx.len + 1 === tbl.rows.length) {
|
|
3621
|
+
const added = tbl.rows[tbl.rows.length - 1];
|
|
3622
|
+
indexRow(fastIdx, added);
|
|
3623
|
+
fastIdx.len = tbl.rows.length;
|
|
3624
|
+
fastIdx.lastRow = added;
|
|
3625
|
+
}
|
|
3626
|
+
const byId = fastIdx.byRowid.get(candidate.rowid);
|
|
3627
|
+
if (byId) return byId;
|
|
3628
|
+
for (let i = 0; i < resolvedKeySets.length; i += 1) {
|
|
3629
|
+
const k = encodeKey(candidate, resolvedKeySets[i]);
|
|
3630
|
+
if (k !== null) {
|
|
3631
|
+
const hit = fastIdx.byKeySets[i].get(k);
|
|
3632
|
+
if (hit) return hit;
|
|
3633
|
+
}
|
|
3634
|
+
}
|
|
3635
|
+
return null;
|
|
3636
|
+
}
|
|
3536
3637
|
for (const existing of tbl.rows) {
|
|
3537
3638
|
yield;
|
|
3538
3639
|
if (excludeRowid !== void 0 && existing.rowid === excludeRowid) {
|
|
@@ -4807,11 +4908,13 @@ var SqliteDatabase = class {
|
|
|
4807
4908
|
}, this);
|
|
4808
4909
|
}
|
|
4809
4910
|
} else {
|
|
4810
|
-
groupedRows = yield* stepMap(workingRows, function* (r) {
|
|
4911
|
+
groupedRows = yield* stepMap(workingRows, function* (r, idx) {
|
|
4811
4912
|
yield;
|
|
4913
|
+
workingRows[idx] = void 0;
|
|
4812
4914
|
return { representative: r, group: [r] };
|
|
4813
4915
|
}, this);
|
|
4814
4916
|
}
|
|
4917
|
+
workingRows = [];
|
|
4815
4918
|
const windowResults = /* @__PURE__ */ new Map();
|
|
4816
4919
|
for (const st of selectTargets) {
|
|
4817
4920
|
yield;
|
|
@@ -4823,8 +4926,15 @@ var SqliteDatabase = class {
|
|
|
4823
4926
|
windowResults
|
|
4824
4927
|
);
|
|
4825
4928
|
}
|
|
4929
|
+
const firstWindowPeek = windowResults.keys().next().value;
|
|
4930
|
+
const needsPostProjectionCtx = Boolean(
|
|
4931
|
+
orderByTokens && orderByTokens.length > 0 || !orderByTokens?.length && firstWindowPeek?.kind === "func" && firstWindowPeek.over
|
|
4932
|
+
);
|
|
4933
|
+
const emptyCtx = {};
|
|
4934
|
+
const emptyGroup = [];
|
|
4826
4935
|
let projected = yield* stepMap(groupedRows, function* (g, rowIdx) {
|
|
4827
|
-
|
|
4936
|
+
groupedRows[rowIdx] = void 0;
|
|
4937
|
+
const repCtx = g.representative;
|
|
4828
4938
|
const values = yield* stepMap(selectTargets, function* (st) {
|
|
4829
4939
|
const val = yield* this.evalExprSteps(
|
|
4830
4940
|
st.expr,
|
|
@@ -4838,8 +4948,13 @@ var SqliteDatabase = class {
|
|
|
4838
4948
|
}
|
|
4839
4949
|
return val;
|
|
4840
4950
|
}, this);
|
|
4841
|
-
return {
|
|
4951
|
+
return {
|
|
4952
|
+
values,
|
|
4953
|
+
ctx: needsPostProjectionCtx ? repCtx : emptyCtx,
|
|
4954
|
+
group: needsPostProjectionCtx ? g.group : emptyGroup
|
|
4955
|
+
};
|
|
4842
4956
|
}, this);
|
|
4957
|
+
groupedRows = [];
|
|
4843
4958
|
const firstWindow = windowResults.keys().next().value;
|
|
4844
4959
|
if (!orderByTokens?.length && firstWindow?.kind === "func" && firstWindow.over) {
|
|
4845
4960
|
const sortSpecs = [
|
|
@@ -5186,7 +5301,97 @@ var SqliteDatabase = class {
|
|
|
5186
5301
|
}
|
|
5187
5302
|
}
|
|
5188
5303
|
const rightMatched = /* @__PURE__ */ new Set();
|
|
5189
|
-
|
|
5304
|
+
let equiJoinSpec;
|
|
5305
|
+
const rightAliasLower = resolved.alias.toLowerCase();
|
|
5306
|
+
const rightColSet = new Set(resolved.columns.map((c) => c.toLowerCase()));
|
|
5307
|
+
const leftAliasSet = new Set(schema.slice(0, -1).map((s) => s.tableAlias.toLowerCase()));
|
|
5308
|
+
const classifyJoinCol = (colExpr) => {
|
|
5309
|
+
if (colExpr.table) {
|
|
5310
|
+
const tLower = colExpr.table.toLowerCase();
|
|
5311
|
+
if (tLower === rightAliasLower) return "right";
|
|
5312
|
+
if (leftAliasSet.has(tLower)) return "left";
|
|
5313
|
+
return void 0;
|
|
5314
|
+
}
|
|
5315
|
+
const cLower = colExpr.name.toLowerCase();
|
|
5316
|
+
const inLeft = prevCols.has(cLower);
|
|
5317
|
+
const inRight = rightColSet.has(cLower);
|
|
5318
|
+
if (inLeft && !inRight) return "left";
|
|
5319
|
+
if (inRight && !inLeft) return "right";
|
|
5320
|
+
return void 0;
|
|
5321
|
+
};
|
|
5322
|
+
const findEquiPair = (expr, topLevel) => {
|
|
5323
|
+
if (!expr || equiJoinSpec) return;
|
|
5324
|
+
if (expr.kind === "binary" && expr.op === "=" && expr.left.kind === "column" && expr.right.kind === "column") {
|
|
5325
|
+
const sideA = classifyJoinCol(expr.left);
|
|
5326
|
+
const sideB = classifyJoinCol(expr.right);
|
|
5327
|
+
if (sideA === "left" && sideB === "right") {
|
|
5328
|
+
equiJoinSpec = {
|
|
5329
|
+
leftTable: expr.left.table,
|
|
5330
|
+
leftCol: expr.left.name,
|
|
5331
|
+
rightTable: expr.right.table ?? resolved.alias,
|
|
5332
|
+
rightCol: expr.right.name,
|
|
5333
|
+
isPureSingleEqui: topLevel
|
|
5334
|
+
};
|
|
5335
|
+
} else if (sideA === "right" && sideB === "left") {
|
|
5336
|
+
equiJoinSpec = {
|
|
5337
|
+
leftTable: expr.right.table,
|
|
5338
|
+
leftCol: expr.right.name,
|
|
5339
|
+
rightTable: expr.left.table ?? resolved.alias,
|
|
5340
|
+
rightCol: expr.left.name,
|
|
5341
|
+
isPureSingleEqui: topLevel
|
|
5342
|
+
};
|
|
5343
|
+
}
|
|
5344
|
+
} else if (expr.kind === "binary" && expr.op === "AND") {
|
|
5345
|
+
findEquiPair(expr.left, false);
|
|
5346
|
+
findEquiPair(expr.right, false);
|
|
5347
|
+
}
|
|
5348
|
+
};
|
|
5349
|
+
if (!resolved.isCorrelated) {
|
|
5350
|
+
if (onExpr) {
|
|
5351
|
+
findEquiPair(onExpr, true);
|
|
5352
|
+
} else if (usingList && usingList.length > 0) {
|
|
5353
|
+
equiJoinSpec = {
|
|
5354
|
+
leftTable: void 0,
|
|
5355
|
+
leftCol: usingList[0],
|
|
5356
|
+
rightTable: resolved.alias,
|
|
5357
|
+
rightCol: usingList[0],
|
|
5358
|
+
isPureSingleEqui: usingList.length === 1
|
|
5359
|
+
};
|
|
5360
|
+
}
|
|
5361
|
+
}
|
|
5362
|
+
const getHashJoinKeys = (val) => {
|
|
5363
|
+
if (val === null || val === void 0) return [];
|
|
5364
|
+
if (typeof val === "number") {
|
|
5365
|
+
return ["num:" + String(Object.is(val, -0) ? 0 : val)];
|
|
5366
|
+
}
|
|
5367
|
+
if (typeof val === "string") {
|
|
5368
|
+
const trimmed = val.trim();
|
|
5369
|
+
const num = trimmed !== "" ? Number(trimmed) : NaN;
|
|
5370
|
+
if (!Number.isNaN(num)) {
|
|
5371
|
+
return ["str:" + val, "num:" + String(Object.is(num, -0) ? 0 : num)];
|
|
5372
|
+
}
|
|
5373
|
+
return ["str:" + val];
|
|
5374
|
+
}
|
|
5375
|
+
return ["other:" + String(val)];
|
|
5376
|
+
};
|
|
5377
|
+
let rightHashIndex;
|
|
5378
|
+
if (equiJoinSpec && resolved.rows.length > 0) {
|
|
5379
|
+
rightHashIndex = /* @__PURE__ */ new Map();
|
|
5380
|
+
for (let rIdx = 0; rIdx < resolved.rows.length; rIdx += 1) {
|
|
5381
|
+
const rVal = this.lookupColInRow(resolved.rows[rIdx], equiJoinSpec.rightTable, equiJoinSpec.rightCol);
|
|
5382
|
+
for (const key of getHashJoinKeys(rVal)) {
|
|
5383
|
+
let bucket = rightHashIndex.get(key);
|
|
5384
|
+
if (!bucket) {
|
|
5385
|
+
bucket = [];
|
|
5386
|
+
rightHashIndex.set(key, bucket);
|
|
5387
|
+
}
|
|
5388
|
+
bucket.push(rIdx);
|
|
5389
|
+
}
|
|
5390
|
+
}
|
|
5391
|
+
}
|
|
5392
|
+
for (let lIdx = 0; lIdx < currentRows.length; lIdx += 1) {
|
|
5393
|
+
const leftRow = currentRows[lIdx];
|
|
5394
|
+
currentRows[lIdx] = void 0;
|
|
5190
5395
|
yield;
|
|
5191
5396
|
const candidateRightRows = resolved.isCorrelated ? (yield* this.resolveSingleTableSource(
|
|
5192
5397
|
item.sourceTokens,
|
|
@@ -5195,22 +5400,83 @@ var SqliteDatabase = class {
|
|
|
5195
5400
|
cteScope
|
|
5196
5401
|
)).rows : resolved.rows;
|
|
5197
5402
|
let matchedLeft = false;
|
|
5198
|
-
|
|
5403
|
+
let candidateIndices;
|
|
5404
|
+
let leftEquiVal = null;
|
|
5405
|
+
if (rightHashIndex && equiJoinSpec) {
|
|
5406
|
+
leftEquiVal = this.lookupColInRow(leftRow, equiJoinSpec.leftTable, equiJoinSpec.leftCol);
|
|
5407
|
+
const probeKeys = getHashJoinKeys(leftEquiVal);
|
|
5408
|
+
if (probeKeys.length === 0) {
|
|
5409
|
+
candidateIndices = [];
|
|
5410
|
+
} else if (probeKeys.length === 1) {
|
|
5411
|
+
candidateIndices = rightHashIndex.get(probeKeys[0]) ?? [];
|
|
5412
|
+
} else {
|
|
5413
|
+
const seen = /* @__PURE__ */ new Set();
|
|
5414
|
+
for (const pk of probeKeys) {
|
|
5415
|
+
const bucket = rightHashIndex.get(pk);
|
|
5416
|
+
if (bucket) {
|
|
5417
|
+
for (const idx of bucket) seen.add(idx);
|
|
5418
|
+
}
|
|
5419
|
+
}
|
|
5420
|
+
candidateIndices = [...seen];
|
|
5421
|
+
}
|
|
5422
|
+
}
|
|
5423
|
+
const totalCandidates = candidateIndices ? candidateIndices.length : candidateRightRows.length;
|
|
5424
|
+
for (let cPos = 0; cPos < totalCandidates; cPos += 1) {
|
|
5199
5425
|
yield;
|
|
5426
|
+
const rIdx = candidateIndices ? candidateIndices[cPos] : cPos;
|
|
5200
5427
|
const rightRow = candidateRightRows[rIdx];
|
|
5201
|
-
|
|
5202
|
-
|
|
5203
|
-
|
|
5204
|
-
|
|
5205
|
-
|
|
5428
|
+
if (equiJoinSpec) {
|
|
5429
|
+
const rVal = this.lookupColInRow(rightRow, equiJoinSpec.rightTable, equiJoinSpec.rightCol);
|
|
5430
|
+
if (leftEquiVal === null || rVal === null || !sqlEquals(leftEquiVal, rVal)) {
|
|
5431
|
+
continue;
|
|
5432
|
+
}
|
|
5433
|
+
}
|
|
5434
|
+
const canMutateInPlace = !matchedLeft && totalCandidates === 1 && Boolean(equiJoinSpec && equiJoinSpec.isPureSingleEqui);
|
|
5435
|
+
let merged;
|
|
5436
|
+
const lTables = leftRow.__tables;
|
|
5437
|
+
const rTables = rightRow.__tables;
|
|
5438
|
+
if (lTables && rTables) {
|
|
5439
|
+
if (canMutateInPlace) {
|
|
5440
|
+
Object.assign(lTables, rTables);
|
|
5441
|
+
if (leftRow.__rowids && rightRow.__rowids) {
|
|
5442
|
+
Object.assign(leftRow.__rowids, rightRow.__rowids);
|
|
5443
|
+
}
|
|
5444
|
+
leftRow.__sources.push(...rightRow.__sources ?? []);
|
|
5445
|
+
merged = leftRow;
|
|
5446
|
+
} else {
|
|
5447
|
+
merged = {
|
|
5448
|
+
__rowid: leftRow.__rowid,
|
|
5449
|
+
__tables: { ...lTables, ...rTables },
|
|
5450
|
+
__rowids: { ...leftRow.__rowids, ...rightRow.__rowids },
|
|
5451
|
+
__sources: [...leftRow.__sources ?? [], ...rightRow.__sources ?? []]
|
|
5452
|
+
};
|
|
5453
|
+
}
|
|
5454
|
+
} else {
|
|
5455
|
+
merged = canMutateInPlace ? leftRow : { ...leftRow };
|
|
5456
|
+
if (lTables && !canMutateInPlace) {
|
|
5457
|
+
merged.__tables = { ...lTables };
|
|
5458
|
+
merged.__rowids = { ...leftRow.__rowids };
|
|
5459
|
+
merged.__sources = [...leftRow.__sources ?? []];
|
|
5460
|
+
}
|
|
5461
|
+
if (rTables) {
|
|
5462
|
+
merged.__tables = { ...merged.__tables ?? {}, ...rTables };
|
|
5463
|
+
merged.__rowids = { ...merged.__rowids ?? {}, ...rightRow.__rowids };
|
|
5464
|
+
merged.__sources = [...merged.__sources ?? [], ...rightRow.__sources ?? []];
|
|
5465
|
+
}
|
|
5466
|
+
for (const k in rightRow) {
|
|
5467
|
+
if (k.startsWith("__")) continue;
|
|
5468
|
+
const v = rightRow[k];
|
|
5469
|
+
if (k.includes(".") || !(k in merged) || merged[k] === null) {
|
|
5470
|
+
merged[k] = v;
|
|
5471
|
+
}
|
|
5206
5472
|
}
|
|
5207
5473
|
}
|
|
5208
5474
|
let matches = true;
|
|
5209
|
-
if (onExpr) {
|
|
5475
|
+
if (onExpr && !(equiJoinSpec && equiJoinSpec.isPureSingleEqui)) {
|
|
5210
5476
|
matches = isTruthy(
|
|
5211
5477
|
yield* this.evalExprSteps(onExpr, merged, positionalParams, cteScope)
|
|
5212
5478
|
);
|
|
5213
|
-
} else if (usingList && usingList.length > 0) {
|
|
5479
|
+
} else if (usingList && usingList.length > 0 && !(equiJoinSpec && equiJoinSpec.isPureSingleEqui)) {
|
|
5214
5480
|
for (const uCol of usingList) {
|
|
5215
5481
|
yield;
|
|
5216
5482
|
const lVal = this.lookupColInRow(leftRow, void 0, uCol);
|
|
@@ -5229,16 +5495,29 @@ var SqliteDatabase = class {
|
|
|
5229
5495
|
}
|
|
5230
5496
|
}
|
|
5231
5497
|
if (!matchedLeft && (item.joinType === "LEFT" || item.joinType === "FULL")) {
|
|
5232
|
-
const
|
|
5498
|
+
const nullObj = {};
|
|
5233
5499
|
for (const col of resolved.columns) {
|
|
5234
|
-
|
|
5235
|
-
|
|
5236
|
-
|
|
5237
|
-
|
|
5500
|
+
nullObj[col] = null;
|
|
5501
|
+
}
|
|
5502
|
+
const lTables = leftRow.__tables;
|
|
5503
|
+
if (lTables) {
|
|
5504
|
+
lTables[resolved.alias] = nullObj;
|
|
5505
|
+
if (leftRow.__rowids) leftRow.__rowids[resolved.alias] = null;
|
|
5506
|
+
leftRow.__sources.push(nullObj);
|
|
5507
|
+
this.checkRowCount(nextRows.length + 1);
|
|
5508
|
+
nextRows.push(leftRow);
|
|
5509
|
+
} else {
|
|
5510
|
+
const nullPadded = { ...leftRow };
|
|
5511
|
+
for (const col of resolved.columns) {
|
|
5512
|
+
yield;
|
|
5513
|
+
nullPadded[`${resolved.alias}.${col}`] = null;
|
|
5514
|
+
if (!(col in nullPadded)) {
|
|
5515
|
+
nullPadded[col] = null;
|
|
5516
|
+
}
|
|
5238
5517
|
}
|
|
5518
|
+
this.checkRowCount(nextRows.length + 1);
|
|
5519
|
+
nextRows.push(nullPadded);
|
|
5239
5520
|
}
|
|
5240
|
-
this.checkRowCount(nextRows.length + 1);
|
|
5241
|
-
nextRows.push(nullPadded);
|
|
5242
5521
|
}
|
|
5243
5522
|
}
|
|
5244
5523
|
if (item.joinType === "RIGHT" || item.joinType === "FULL") {
|
|
@@ -5246,18 +5525,44 @@ var SqliteDatabase = class {
|
|
|
5246
5525
|
yield;
|
|
5247
5526
|
if (!rightMatched.has(rIdx)) {
|
|
5248
5527
|
const rightRow = resolved.rows[rIdx];
|
|
5249
|
-
const
|
|
5250
|
-
|
|
5251
|
-
|
|
5252
|
-
|
|
5528
|
+
const rTables = rightRow.__tables;
|
|
5529
|
+
if (rTables) {
|
|
5530
|
+
const tablesMap = {};
|
|
5531
|
+
const rowidsMap = {};
|
|
5532
|
+
const sourcesList = [];
|
|
5533
|
+
for (const s of schema.slice(0, -1)) {
|
|
5534
|
+
const nullLeft = {};
|
|
5535
|
+
for (const col of s.columns) {
|
|
5536
|
+
nullLeft[col] = null;
|
|
5537
|
+
}
|
|
5538
|
+
tablesMap[s.tableAlias] = nullLeft;
|
|
5539
|
+
rowidsMap[s.tableAlias] = null;
|
|
5540
|
+
sourcesList.push(nullLeft);
|
|
5541
|
+
}
|
|
5542
|
+
Object.assign(tablesMap, rTables);
|
|
5543
|
+
if (rightRow.__rowids) Object.assign(rowidsMap, rightRow.__rowids);
|
|
5544
|
+
sourcesList.push(...rightRow.__sources ?? []);
|
|
5545
|
+
this.checkRowCount(nextRows.length + 1);
|
|
5546
|
+
nextRows.push({
|
|
5547
|
+
__rowid: rightRow.__rowid ?? null,
|
|
5548
|
+
__tables: tablesMap,
|
|
5549
|
+
__rowids: rowidsMap,
|
|
5550
|
+
__sources: sourcesList
|
|
5551
|
+
});
|
|
5552
|
+
} else {
|
|
5553
|
+
const nullPadded = {};
|
|
5554
|
+
for (const s of schema.slice(0, -1)) {
|
|
5253
5555
|
yield;
|
|
5254
|
-
|
|
5255
|
-
|
|
5556
|
+
for (const col of s.columns) {
|
|
5557
|
+
yield;
|
|
5558
|
+
nullPadded[`${s.tableAlias}.${col}`] = null;
|
|
5559
|
+
nullPadded[col] = null;
|
|
5560
|
+
}
|
|
5256
5561
|
}
|
|
5562
|
+
Object.assign(nullPadded, rightRow);
|
|
5563
|
+
this.checkRowCount(nextRows.length + 1);
|
|
5564
|
+
nextRows.push(nullPadded);
|
|
5257
5565
|
}
|
|
5258
|
-
Object.assign(nullPadded, rightRow);
|
|
5259
|
-
this.checkRowCount(nextRows.length + 1);
|
|
5260
|
-
nextRows.push(nullPadded);
|
|
5261
5566
|
}
|
|
5262
5567
|
}
|
|
5263
5568
|
}
|
|
@@ -5511,15 +5816,21 @@ var SqliteDatabase = class {
|
|
|
5511
5816
|
cteScope
|
|
5512
5817
|
)) ?? { columns: [], rows: [] };
|
|
5513
5818
|
const cols2 = view.columns && view.columns.length > 0 ? view.columns : res.columns;
|
|
5514
|
-
const
|
|
5819
|
+
const sameViewAlias = alias.toLowerCase() === name.toLowerCase();
|
|
5820
|
+
const rows2 = yield* stepMap(res.rows, function* (r, rIdx) {
|
|
5515
5821
|
yield;
|
|
5516
|
-
|
|
5517
|
-
|
|
5518
|
-
|
|
5519
|
-
|
|
5520
|
-
|
|
5521
|
-
}
|
|
5522
|
-
return
|
|
5822
|
+
res.rows[rIdx] = void 0;
|
|
5823
|
+
const data = {};
|
|
5824
|
+
for (let cIdx = 0; cIdx < cols2.length; cIdx++) {
|
|
5825
|
+
data[cols2[cIdx]] = r[cIdx] ?? null;
|
|
5826
|
+
}
|
|
5827
|
+
const tablesMap = sameViewAlias ? { [alias]: data } : { [alias]: data, [name]: data };
|
|
5828
|
+
return {
|
|
5829
|
+
__rowid: rIdx + 1,
|
|
5830
|
+
__tables: tablesMap,
|
|
5831
|
+
__rowids: sameViewAlias ? { [alias]: rIdx + 1 } : { [alias]: rIdx + 1, [name]: rIdx + 1 },
|
|
5832
|
+
__sources: [data]
|
|
5833
|
+
};
|
|
5523
5834
|
}, this);
|
|
5524
5835
|
return { alias, columns: cols2, rows: rows2 };
|
|
5525
5836
|
}
|
|
@@ -5530,22 +5841,17 @@ var SqliteDatabase = class {
|
|
|
5530
5841
|
const cols = tbl.columns.map((c) => {
|
|
5531
5842
|
return c.name;
|
|
5532
5843
|
});
|
|
5844
|
+
const sameAliasAndName = alias.toLowerCase() === name.toLowerCase();
|
|
5533
5845
|
const rows = yield* stepMap(this.preparing ? [] : tbl.rows, function* (r) {
|
|
5534
|
-
|
|
5535
|
-
|
|
5536
|
-
|
|
5537
|
-
|
|
5538
|
-
|
|
5539
|
-
|
|
5846
|
+
yield;
|
|
5847
|
+
const tablesMap = sameAliasAndName ? { [alias]: r.data } : { [alias]: r.data, [name]: r.data };
|
|
5848
|
+
const rowidsMap = sameAliasAndName ? { [alias]: r.rowid } : { [alias]: r.rowid, [name]: r.rowid };
|
|
5849
|
+
return {
|
|
5850
|
+
__rowid: r.rowid,
|
|
5851
|
+
__tables: tablesMap,
|
|
5852
|
+
__rowids: rowidsMap,
|
|
5853
|
+
__sources: [r.data]
|
|
5540
5854
|
};
|
|
5541
|
-
for (const c of cols) {
|
|
5542
|
-
yield;
|
|
5543
|
-
const val = r.data[c] ?? null;
|
|
5544
|
-
obj[c] = val;
|
|
5545
|
-
obj[`${alias}.${c}`] = val;
|
|
5546
|
-
obj[`${name}.${c}`] = val;
|
|
5547
|
-
}
|
|
5548
|
-
return obj;
|
|
5549
5855
|
}, this);
|
|
5550
5856
|
return { alias, columns: cols, rows };
|
|
5551
5857
|
}
|
|
@@ -6056,31 +6362,150 @@ var SqliteDatabase = class {
|
|
|
6056
6362
|
}
|
|
6057
6363
|
}
|
|
6058
6364
|
lookupColInRow(row, table, name, doubleQuoted = false) {
|
|
6365
|
+
const tables = row.__tables;
|
|
6366
|
+
const sources = row.__sources;
|
|
6367
|
+
const rowids = row.__rowids;
|
|
6368
|
+
const lowerName = name.toLowerCase();
|
|
6369
|
+
if (lowerName === "rowid" || lowerName === "_rowid_" || lowerName === "oid") {
|
|
6370
|
+
if (!table && name in row && !name.startsWith("__")) {
|
|
6371
|
+
return row[name];
|
|
6372
|
+
}
|
|
6373
|
+
if (table) {
|
|
6374
|
+
const exact = `${table}.${name}`;
|
|
6375
|
+
if (exact in row) return row[exact];
|
|
6376
|
+
if (tables) {
|
|
6377
|
+
let td = tables[table];
|
|
6378
|
+
if (!td) {
|
|
6379
|
+
const lt = table.toLowerCase();
|
|
6380
|
+
for (const tk in tables) {
|
|
6381
|
+
if (tk.toLowerCase() === lt) {
|
|
6382
|
+
td = tables[tk];
|
|
6383
|
+
break;
|
|
6384
|
+
}
|
|
6385
|
+
}
|
|
6386
|
+
}
|
|
6387
|
+
if (td) {
|
|
6388
|
+
if (name in td) return td[name];
|
|
6389
|
+
for (const k in td) {
|
|
6390
|
+
if (k.toLowerCase() === lowerName) return td[k];
|
|
6391
|
+
}
|
|
6392
|
+
}
|
|
6393
|
+
}
|
|
6394
|
+
if (rowids) {
|
|
6395
|
+
if (table in rowids) return rowids[table];
|
|
6396
|
+
const lt = table.toLowerCase();
|
|
6397
|
+
for (const tk in rowids) {
|
|
6398
|
+
if (tk.toLowerCase() === lt) return rowids[tk];
|
|
6399
|
+
}
|
|
6400
|
+
}
|
|
6401
|
+
const tableRowidKey = table + ".rowid";
|
|
6402
|
+
if (tableRowidKey in row) return row[tableRowidKey];
|
|
6403
|
+
} else {
|
|
6404
|
+
if (sources) {
|
|
6405
|
+
for (let i = 0; i < sources.length; i++) {
|
|
6406
|
+
const s = sources[i];
|
|
6407
|
+
if (name in s) return s[name];
|
|
6408
|
+
for (const k in s) {
|
|
6409
|
+
if (k.toLowerCase() === lowerName) return s[k];
|
|
6410
|
+
}
|
|
6411
|
+
}
|
|
6412
|
+
}
|
|
6413
|
+
for (const k in row) {
|
|
6414
|
+
if (!k.startsWith("__") && k.toLowerCase() === lowerName) return row[k];
|
|
6415
|
+
}
|
|
6416
|
+
if ("__rowid" in row) return row.__rowid;
|
|
6417
|
+
}
|
|
6418
|
+
}
|
|
6059
6419
|
if (table) {
|
|
6420
|
+
if (tables) {
|
|
6421
|
+
let td = tables[table];
|
|
6422
|
+
if (!td) {
|
|
6423
|
+
const lt = table.toLowerCase();
|
|
6424
|
+
for (const tk in tables) {
|
|
6425
|
+
if (tk.toLowerCase() === lt) {
|
|
6426
|
+
td = tables[tk];
|
|
6427
|
+
break;
|
|
6428
|
+
}
|
|
6429
|
+
}
|
|
6430
|
+
}
|
|
6431
|
+
if (td) {
|
|
6432
|
+
if (name in td) return td[name] ?? null;
|
|
6433
|
+
for (const k in td) {
|
|
6434
|
+
if (k.toLowerCase() === lowerName) return td[k] ?? null;
|
|
6435
|
+
}
|
|
6436
|
+
}
|
|
6437
|
+
}
|
|
6060
6438
|
const exact = `${table}.${name}`;
|
|
6061
6439
|
if (exact in row) {
|
|
6062
6440
|
return row[exact];
|
|
6063
6441
|
}
|
|
6064
6442
|
const lowerExact = exact.toLowerCase();
|
|
6065
|
-
for (const
|
|
6443
|
+
for (const k in row) {
|
|
6444
|
+
if (k.startsWith("__")) continue;
|
|
6066
6445
|
if (k.toLowerCase() === lowerExact) {
|
|
6067
|
-
return
|
|
6446
|
+
return row[k];
|
|
6068
6447
|
}
|
|
6069
6448
|
}
|
|
6070
|
-
}
|
|
6071
|
-
|
|
6072
|
-
|
|
6073
|
-
|
|
6074
|
-
|
|
6075
|
-
|
|
6076
|
-
|
|
6077
|
-
|
|
6449
|
+
} else {
|
|
6450
|
+
if (name in row && !name.startsWith("__")) {
|
|
6451
|
+
return row[name];
|
|
6452
|
+
}
|
|
6453
|
+
if (sources) {
|
|
6454
|
+
let found;
|
|
6455
|
+
for (let i = 0; i < sources.length; i++) {
|
|
6456
|
+
const src = sources[i];
|
|
6457
|
+
if (name in src) {
|
|
6458
|
+
const v = src[name] ?? null;
|
|
6459
|
+
if (found === void 0 || found === null) found = v;
|
|
6460
|
+
if (found !== null && found !== void 0) return found;
|
|
6461
|
+
}
|
|
6462
|
+
}
|
|
6463
|
+
if (found !== void 0) return found;
|
|
6464
|
+
for (let i = 0; i < sources.length; i++) {
|
|
6465
|
+
const src = sources[i];
|
|
6466
|
+
for (const k in src) {
|
|
6467
|
+
if (k.toLowerCase() === lowerName) {
|
|
6468
|
+
const v = src[k] ?? null;
|
|
6469
|
+
if (found === void 0 || found === null) found = v;
|
|
6470
|
+
if (found !== null && found !== void 0) return found;
|
|
6471
|
+
}
|
|
6472
|
+
}
|
|
6473
|
+
}
|
|
6474
|
+
if (found !== void 0) return found;
|
|
6475
|
+
}
|
|
6476
|
+
for (const k in row) {
|
|
6477
|
+
if (k.startsWith("__")) continue;
|
|
6478
|
+
if (k.toLowerCase() === lowerName || k.toLowerCase().endsWith(`.${lowerName}`)) {
|
|
6479
|
+
return row[k];
|
|
6480
|
+
}
|
|
6078
6481
|
}
|
|
6079
6482
|
}
|
|
6080
6483
|
for (let i = this.outerRows.length - 1; i >= 0; i -= 1) {
|
|
6081
6484
|
const outer = this.outerRows[i];
|
|
6485
|
+
const outerTables = outer.__tables;
|
|
6486
|
+
const outerSources = outer.__sources;
|
|
6487
|
+
if (table && outerTables) {
|
|
6488
|
+
const lt = table.toLowerCase();
|
|
6489
|
+
for (const tk in outerTables) {
|
|
6490
|
+
if (tk.toLowerCase() === lt) {
|
|
6491
|
+
const td = outerTables[tk];
|
|
6492
|
+
if (name in td) return td[name] ?? null;
|
|
6493
|
+
for (const k in td) {
|
|
6494
|
+
if (k.toLowerCase() === lowerName) return td[k] ?? null;
|
|
6495
|
+
}
|
|
6496
|
+
}
|
|
6497
|
+
}
|
|
6498
|
+
} else if (!table && outerSources) {
|
|
6499
|
+
for (let s = 0; s < outerSources.length; s++) {
|
|
6500
|
+
const src = outerSources[s];
|
|
6501
|
+
if (name in src) return src[name] ?? null;
|
|
6502
|
+
for (const k in src) {
|
|
6503
|
+
if (k.toLowerCase() === lowerName) return src[k] ?? null;
|
|
6504
|
+
}
|
|
6505
|
+
}
|
|
6506
|
+
}
|
|
6082
6507
|
const key = Object.keys(outer).find(
|
|
6083
|
-
(key2) => table ? key2.toLowerCase() === `${table}.${name}`.toLowerCase() : key2.toLowerCase() === lowerName
|
|
6508
|
+
(key2) => !key2.startsWith("__") && (table ? key2.toLowerCase() === `${table}.${name}`.toLowerCase() : key2.toLowerCase() === lowerName)
|
|
6084
6509
|
);
|
|
6085
6510
|
if (key !== void 0) return outer[key];
|
|
6086
6511
|
}
|
|
@@ -8077,12 +8502,22 @@ Options:
|
|
|
8077
8502
|
await execSingleStmt(createSql);
|
|
8078
8503
|
tbl = db.findTable ? db.findTable(tableArg) : void 0;
|
|
8079
8504
|
}
|
|
8080
|
-
|
|
8081
|
-
|
|
8082
|
-
|
|
8505
|
+
const targetTableName = tbl ? tbl.name : tableArg;
|
|
8506
|
+
if (typeof db.bulkImportRows === "function" && db.bulkImportRows(targetTableName, dataRows)) {
|
|
8507
|
+
state.dirty = true;
|
|
8508
|
+
} else {
|
|
8509
|
+
const batchValues = [];
|
|
8510
|
+
for (const r of dataRows) {
|
|
8511
|
+
if (r.length === 1 && r[0] === "" && colCount > 1) {
|
|
8512
|
+
continue;
|
|
8513
|
+
}
|
|
8514
|
+
const valsSql = Array.from({ length: colCount }, (_, cIdx) => `'${(r[cIdx] ?? "").replace(/'/g, "''")}'`).join(", ");
|
|
8515
|
+
batchValues.push(`(${valsSql})`);
|
|
8516
|
+
}
|
|
8517
|
+
for (let b = 0; b < batchValues.length; b += 500) {
|
|
8518
|
+
const chunk = batchValues.slice(b, b + 500);
|
|
8519
|
+
await execSingleStmt(`INSERT INTO "${targetTableName}" VALUES ${chunk.join(", ")}`);
|
|
8083
8520
|
}
|
|
8084
|
-
const valsSql = Array.from({ length: colCount }, (_, cIdx) => `'${(r[cIdx] ?? "").replace(/'/g, "''")}'`).join(", ");
|
|
8085
|
-
await execSingleStmt(`INSERT INTO "${tbl ? tbl.name : tableArg}" VALUES (${valsSql})`);
|
|
8086
8521
|
}
|
|
8087
8522
|
state.dirty = true;
|
|
8088
8523
|
return;
|
|
@@ -8244,7 +8679,7 @@ Options:
|
|
|
8244
8679
|
}
|
|
8245
8680
|
} else {
|
|
8246
8681
|
sqlBuffer.push(line);
|
|
8247
|
-
if (trimmed.endsWith(";") &&
|
|
8682
|
+
if (trimmed.endsWith(";") && !(/\bCREATE\s+(?:TEMP\s+|TEMPORARY\s+)?TRIGGER\b[\s\S]*\bBEGIN\b/i.test(sqlBuffer.join("\n")) && !/\bEND\s*;\s*$/i.test(sqlBuffer.join("\n")))) {
|
|
8248
8683
|
const ok = await flushSqlBuffer();
|
|
8249
8684
|
if (!ok) {
|
|
8250
8685
|
return false;
|
|
@@ -8664,7 +9099,7 @@ Options:
|
|
|
8664
9099
|
const fileArg = parts[pIdx] ?? "";
|
|
8665
9100
|
const tableArg = parts[pIdx + 1] ?? "";
|
|
8666
9101
|
const fileBytes = readFileSync(fileArg);
|
|
8667
|
-
if (!fileBytes || fileBytes.byteLength >
|
|
9102
|
+
if (!fileBytes || fileBytes.byteLength > 16 * 1024 * 1024) return false;
|
|
8668
9103
|
const content = textDecoder3.decode(fileBytes);
|
|
8669
9104
|
const sep = csvOverride ? "," : state.colSeparator;
|
|
8670
9105
|
const parsedRows = parseCsvContent(content, sep).slice(skipRows);
|
|
@@ -8680,10 +9115,15 @@ Options:
|
|
|
8680
9115
|
db.executeStatement(createSql);
|
|
8681
9116
|
tbl = db.findTable(tableArg);
|
|
8682
9117
|
}
|
|
9118
|
+
const batchValues = [];
|
|
8683
9119
|
for (const r of dataRows) {
|
|
8684
9120
|
if (r.length === 1 && r[0] === "" && colCount > 1) continue;
|
|
8685
9121
|
const valsSql = Array.from({ length: colCount }, (_, cIdx) => `'${(r[cIdx] ?? "").replace(/'/g, "''")}'`).join(", ");
|
|
8686
|
-
|
|
9122
|
+
batchValues.push(`(${valsSql})`);
|
|
9123
|
+
}
|
|
9124
|
+
for (let b = 0; b < batchValues.length; b += 500) {
|
|
9125
|
+
const chunk = batchValues.slice(b, b + 500);
|
|
9126
|
+
db.executeStatement(`INSERT INTO "${tbl ? tbl.name : tableArg}" VALUES ${chunk.join(", ")}`);
|
|
8687
9127
|
}
|
|
8688
9128
|
state.dirty = true;
|
|
8689
9129
|
return true;
|
|
@@ -8731,7 +9171,7 @@ Options:
|
|
|
8731
9171
|
if (state.exitRequested) return true;
|
|
8732
9172
|
} else {
|
|
8733
9173
|
sqlBuffer.push(line);
|
|
8734
|
-
if (trimmed.endsWith(";") &&
|
|
9174
|
+
if (trimmed.endsWith(";") && !(/\bCREATE\s+(?:TEMP\s+|TEMPORARY\s+)?TRIGGER\b[\s\S]*\bBEGIN\b/i.test(sqlBuffer.join("\n")) && !/\bEND\s*;\s*$/i.test(sqlBuffer.join("\n")))) {
|
|
8735
9175
|
if (!flushSqlBuffer()) return false;
|
|
8736
9176
|
if (state.exitRequested) return true;
|
|
8737
9177
|
}
|