@poe-platform/safe-bash 0.1.800 → 0.1.802
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 +16 -5
- package/dist/image-ast/index.browser.js +122 -76
- package/dist/image-ast/index.js +122 -76
- package/dist/pdf-ast/index.js +4 -3
- package/dist/safe-bash/chunks/chunk-3HQU4OJO.js +13 -0
- package/dist/safe-bash/chunks/{chunk-LUOFIVNI.js → chunk-3NDIFSNM.js} +3 -3
- package/dist/safe-bash/chunks/{chunk-4SEW2Q6H.js → chunk-3R3AANOR.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-K4YMYFRJ.js → chunk-44ALJ4QG.js} +5809 -7424
- package/dist/safe-bash/chunks/{chunk-KHMGTPD6.js → chunk-46Z5E5EV.js} +2 -2
- package/dist/safe-bash/chunks/chunk-4BSJLKNM.js +14 -0
- package/dist/safe-bash/chunks/chunk-4D4N7IU2.js +47 -0
- package/dist/safe-bash/chunks/chunk-55YJASTN.js +14 -0
- package/dist/safe-bash/chunks/{chunk-XB3B7KMM.js → chunk-6O77NL2S.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-T3JTVIEP.js → chunk-6PAVEFT3.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-PYVEAFJM.js → chunk-74GHTNJA.js} +3 -2
- package/dist/safe-bash/chunks/{chunk-LQHGH25W.js → chunk-7R5BDCG7.js} +1 -1
- package/dist/safe-bash/chunks/chunk-7ZBU7KYV.js +14 -0
- package/dist/safe-bash/chunks/{chunk-MHZ24KEI.js → chunk-AM5ESLPH.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-3L3T6LYV.js → chunk-AUSNDQTJ.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-YG5WAHK7.js → chunk-B7TAL7S5.js} +1 -3
- package/dist/safe-bash/chunks/{chunk-QVSRRNZT.js → chunk-BJA5XNP6.js} +6 -6
- package/dist/safe-bash/chunks/{chunk-K7IQZE7D.js → chunk-C5OWC2TL.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-F3RV2F72.js → chunk-CHYGPFVM.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-M4CFCXHN.js → chunk-CS4MNM6I.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-H6JW3E4F.js → chunk-CTVWDACF.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-BHJE5LPZ.js → chunk-D3ANYGMC.js} +1 -1
- package/dist/safe-bash/chunks/chunk-DQP3VHSB.js +15 -0
- package/dist/safe-bash/chunks/{chunk-NLAW7KDI.js → chunk-E7OYNDGL.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-SOZK5JVX.js → chunk-FBUCWVTE.js} +1 -1
- package/dist/safe-bash/chunks/chunk-FZE4HW6G.js +11 -0
- package/dist/safe-bash/chunks/chunk-GEG3BWGE.js +14 -0
- package/dist/safe-bash/chunks/{chunk-HHW7MGS2.js → chunk-GETUOD5D.js} +4 -4
- package/dist/safe-bash/chunks/chunk-HBCN24ZA.js +50 -0
- package/dist/safe-bash/chunks/chunk-HZ7BWKQ3.js +13 -0
- package/dist/safe-bash/chunks/{chunk-JJSTTIEZ.js → chunk-HZAMGT5I.js} +3 -3
- package/dist/safe-bash/chunks/{chunk-KCVSVD65.js → chunk-I5HZ4FGE.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-KV7PKOHV.js → chunk-IWDICZVK.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-I4OAEOP6.js → chunk-J42RIHHJ.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-K2VCOJ2B.js → chunk-K6VCD7IY.js} +7 -12
- package/dist/safe-bash/chunks/chunk-KDNSPLII.js +83 -0
- package/dist/safe-bash/chunks/{chunk-63FXVDGF.js → chunk-LVOBFF4D.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-U5NUZPCC.js → chunk-MHMMRCYC.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-KW24TAIU.js → chunk-NQCM3TYR.js} +922 -658
- package/dist/safe-bash/chunks/{chunk-VYZTG3GV.js → chunk-NZQXYWA3.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-TFGRKY43.js → chunk-OQRVVGR6.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-PPYM75Z3.js → chunk-OV6IHKO6.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-TYD7EVUJ.js → chunk-PH63PLPZ.js} +8 -8
- package/dist/safe-bash/chunks/chunk-QGUV42T5.js +44 -0
- package/dist/safe-bash/chunks/chunk-R3NAKOED.js +51 -0
- package/dist/safe-bash/chunks/chunk-RRR7AQ24.js +38 -0
- package/dist/safe-bash/chunks/{chunk-RKKRJ54E.js → chunk-RSTHLAF3.js} +30 -23
- package/dist/safe-bash/chunks/{chunk-RMWLWH7Q.js → chunk-SHEMU2Z7.js} +378 -1148
- package/dist/safe-bash/chunks/{chunk-7YSRXFEG.js → chunk-TFIBK2GI.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-I7L3G3NX.js → chunk-UE5KZDEK.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-QU3BVQ53.js → chunk-UTBUUFDM.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-6HZYFL3H.js → chunk-VKNVHEX3.js} +2 -7
- package/dist/safe-bash/chunks/chunk-VSAJ4OTM.js +962 -0
- package/dist/safe-bash/chunks/{chunk-46UISJCK.js → chunk-VTH3MLDU.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-JTLSUJ7V.js → chunk-WDLGKIHD.js} +56 -39
- package/dist/safe-bash/chunks/chunk-XAQMU6OY.js +14 -0
- package/dist/safe-bash/chunks/{chunk-LLZCZ24K.js → chunk-XVOSKJE2.js} +1 -1
- package/dist/safe-bash/chunks/chunk-ZVD5IS4V.js +49 -0
- package/dist/safe-bash/chunks/{csvkit-QGP3GAOB.js → csvkit-TACDU7FC.js} +3 -3
- package/dist/safe-bash/chunks/{ffmpeg-JTVH26MK.js → ffmpeg-WTC3TEFI.js} +2 -2
- package/dist/safe-bash/chunks/{gh-I7QX7N5C.js → gh-6WU6PXL4.js} +2 -2
- package/dist/safe-bash/chunks/{git-MA7NKYVP.js → git-EFZIGJW4.js} +2 -2
- package/dist/safe-bash/chunks/{imagemagick-Y4NPWX2Q.js → imagemagick-EIEYGWPF.js} +2 -2
- package/dist/safe-bash/chunks/{implementation-BWDKOVQJ.js → implementation-MLFHUQ5M.js} +2 -2
- package/dist/safe-bash/chunks/{mmdc-44PELHDG.js → mmdc-ROQJT5HQ.js} +2 -2
- package/dist/safe-bash/chunks/{pdfimages-635TRW4Q.js → pdfimages-DW7LWXFI.js} +2 -2
- package/dist/safe-bash/chunks/{pdfinfo-FSDAA2KY.js → pdfinfo-TIP6XLUQ.js} +2 -2
- package/dist/safe-bash/chunks/{pdftk-GQ5UH3VG.js → pdftk-DMG22ITZ.js} +2 -2
- package/dist/safe-bash/chunks/{pdftoppm-YTXQCAYT.js → pdftoppm-WNDYR72T.js} +2 -2
- package/dist/safe-bash/chunks/{pdftotext-CVA2G7FY.js → pdftotext-5IPZ4NI7.js} +2 -2
- package/dist/safe-bash/chunks/{qpdf-HZMIFG4A.js → qpdf-TTX2DIUA.js} +2 -2
- package/dist/safe-bash/chunks/{sips-E7UBDP33.js → sips-XYS46JPJ.js} +2 -2
- package/dist/safe-bash/chunks/{soffice-ELASUWUK.js → soffice-TU73E5KL.js} +2 -2
- package/dist/safe-bash/chunks/{wkhtmltopdf-EPO6YCMG.js → wkhtmltopdf-FSZ2CHGE.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-QBGA56UH.js → chunk-2ELYGJDD.js} +7 -7
- package/dist/safe-bash/command-chunks/{chunk-52PCQXD2.js → chunk-2NHI5F5S.js} +2 -1
- package/dist/safe-bash/command-chunks/{chunk-HDKVO47G.js → chunk-2SQEIUGJ.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-5LSGEIZY.js → chunk-3HHCU5YU.js} +4 -3
- package/dist/safe-bash/command-chunks/{chunk-TF6OA2GK.js → chunk-3NV3HYT2.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-2QHG43WJ.js → chunk-4BB2SWJ5.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-IEXHHNOF.js → chunk-4J5CZ2DP.js} +2 -7
- package/dist/safe-bash/command-chunks/{chunk-WDHI3S6Y.js → chunk-4OOUQTQO.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-YMONDXET.js → chunk-4ZQWGOZB.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-L6DVEBW3.js → chunk-5BSTFCXG.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-Q3DII3Q7.js → chunk-5PWJG2UK.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-JMPP4TCW.js → chunk-5UBXNSFZ.js} +3 -2
- package/dist/safe-bash/command-chunks/{chunk-3NG75MOB.js → chunk-67GQA75T.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-L6SU4S26.js → chunk-6B7WQIKB.js} +0 -7
- package/dist/safe-bash/command-chunks/{chunk-V6MSPQLA.js → chunk-6BNTBWIK.js} +4 -39
- package/dist/safe-bash/command-chunks/{chunk-SAMH7SQE.js → chunk-6GWJUQAV.js} +237 -145
- package/dist/safe-bash/command-chunks/{chunk-JN7WIP6S.js → chunk-6KJ3LPI2.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-HLDTOR7M.js → chunk-6ZVI7LUY.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-X6NJC3IC.js → chunk-75OFBY5R.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-MRW5HD2D.js → chunk-7O3E4LPT.js} +4 -22
- package/dist/safe-bash/command-chunks/{chunk-TEVJJPTC.js → chunk-7U7EXOXX.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-6CYTRQ24.js → chunk-7VTKQUA5.js} +20 -17
- package/dist/safe-bash/command-chunks/{chunk-BZPAWTUL.js → chunk-AEF5BA3D.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-63R3FEZJ.js → chunk-AIV5BF5W.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-AYUTO323.js → chunk-AKJG2XD3.js} +2 -18
- package/dist/safe-bash/command-chunks/{chunk-J34TZVMW.js → chunk-ALDC4XP4.js} +0 -5
- package/dist/safe-bash/command-chunks/{chunk-CKXV2CLD.js → chunk-ARBYOQUZ.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-44AHAB5O.js → chunk-BDSMROQZ.js} +1 -4
- package/dist/safe-bash/command-chunks/{chunk-53P53XFM.js → chunk-BPE5INLI.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-OT4LZMLB.js → chunk-BR73BIOW.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-WB5SVIG7.js → chunk-C5YYCQHW.js} +498 -88
- package/dist/safe-bash/command-chunks/{chunk-EUSPTFAX.js → chunk-CAP7ZJSY.js} +7 -7
- package/dist/safe-bash/command-chunks/{chunk-DWFLVJC6.js → chunk-CCRHMAU5.js} +2 -1
- package/dist/safe-bash/command-chunks/{chunk-GI4CJED2.js → chunk-CQTRW45K.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-KKG4BAFZ.js → chunk-DIEPXUM4.js} +6 -0
- package/dist/safe-bash/command-chunks/{chunk-QJAFJP2G.js → chunk-DZCY63VJ.js} +12 -10
- package/dist/safe-bash/command-chunks/{chunk-QUENU6GM.js → chunk-E55UKBIE.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-MC3VWLIZ.js → chunk-FDBUV4HJ.js} +28 -19
- package/dist/safe-bash/command-chunks/{chunk-7FKUC34S.js → chunk-FPVUD6TH.js} +6 -3
- package/dist/safe-bash/command-chunks/{chunk-E2LB7FRT.js → chunk-FXOA7RBK.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-QWIDNAAK.js → chunk-FZTK4MFI.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-K543PB3I.js → chunk-G66QUHIZ.js} +6 -35
- package/dist/safe-bash/command-chunks/{chunk-YJDV76GL.js → chunk-GFQZCKO6.js} +29 -19
- package/dist/safe-bash/command-chunks/{chunk-FKKB5X5V.js → chunk-GOB777HR.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-IYPAQ7PH.js → chunk-GRBWW4SG.js} +6 -0
- package/dist/safe-bash/command-chunks/{chunk-EFANWIHL.js → chunk-GY3BWK7K.js} +1 -0
- package/dist/safe-bash/command-chunks/{chunk-PPNBNFAU.js → chunk-GYQ2HAKQ.js} +8 -8
- package/dist/safe-bash/command-chunks/{chunk-PJJUYO3R.js → chunk-II77KPZN.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-VL67NWNS.js → chunk-JDYXY44P.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-4QJOYXVB.js → chunk-JV7LBUTP.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-IKS2YXZQ.js → chunk-K67MWWWH.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-BKCNF5U3.js → chunk-KQLD3AED.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-UMDIOL3O.js → chunk-KXU3IRUO.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-QZF3SINC.js → chunk-LAOM65EE.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-HFII3QYO.js → chunk-LWS62ISU.js} +46 -32
- package/dist/safe-bash/command-chunks/{chunk-BZDDAPSV.js → chunk-LWSBAWLT.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-U6G67N23.js → chunk-MIXBO6U7.js} +18 -5
- package/dist/safe-bash/command-chunks/{chunk-JQ74HC37.js → chunk-MQFIPHIQ.js} +23 -50
- package/dist/safe-bash/command-chunks/{chunk-ZJBR5Q5I.js → chunk-MSFXC3OC.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-NI7MKJPN.js → chunk-MTQH74CF.js} +3 -55
- package/dist/safe-bash/command-chunks/chunk-MWUZZWXK.js +354 -0
- package/dist/safe-bash/command-chunks/{chunk-RVLO4DYT.js → chunk-N4PFUSRM.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-WBNZ4PRE.js → chunk-NGG2XL56.js} +7 -4
- package/dist/safe-bash/command-chunks/{chunk-D4OP2BR3.js → chunk-NKFYQSES.js} +1 -2
- package/dist/safe-bash/command-chunks/{chunk-NGWB2YBL.js → chunk-O4JQSB7O.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-GLOZX57Y.js → chunk-OQKC5ZU2.js} +23 -114
- package/dist/safe-bash/command-chunks/{chunk-7L24L4UO.js → chunk-OQU6UT6X.js} +2 -20
- package/dist/safe-bash/command-chunks/{chunk-TYCGMRLM.js → chunk-OYYV7ZAF.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-SVULUDOP.js → chunk-P2N33UMN.js} +20 -81
- package/dist/safe-bash/command-chunks/{chunk-Q7Q5GM5S.js → chunk-P5APDEFB.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-3HXDA5PT.js → chunk-PMBFZXTK.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-4Y3WVMK4.js → chunk-PV66YWHB.js} +1 -0
- package/dist/safe-bash/command-chunks/{chunk-AXK3H4PX.js → chunk-QJ33BHI4.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-3LSOYLNV.js → chunk-QKFSRZGQ.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-JZSNU2MY.js → chunk-QKJLP53H.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-LC2MFKT4.js → chunk-RMWQAAO5.js} +24 -25
- package/dist/safe-bash/command-chunks/{chunk-QDTBMSBE.js → chunk-RO62EWX6.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-4C6QI5BQ.js → chunk-RZZI24ZE.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-PFAADCB5.js → chunk-SDNBCQ3X.js} +10 -24
- package/dist/safe-bash/command-chunks/{chunk-36O5OT7E.js → chunk-T35Y7YQD.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-6HMX4CQS.js → chunk-TGSNCQSR.js} +44 -16
- package/dist/safe-bash/command-chunks/{chunk-5T7CRJHW.js → chunk-TIOCQVUQ.js} +4 -7
- package/dist/safe-bash/command-chunks/{chunk-GN2TKLE7.js → chunk-TS65BJHG.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-7RGB363W.js → chunk-TSCGT46G.js} +3 -2
- package/dist/safe-bash/command-chunks/{chunk-KBEURXFF.js → chunk-UN6WS55J.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-SX2X3IH4.js → chunk-V2V5OCL3.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-ERYJLO6G.js → chunk-V7A7DRTU.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-5SHGJ7NO.js → chunk-VA5ZHYYA.js} +73 -33
- package/dist/safe-bash/command-chunks/{chunk-XETLEHZP.js → chunk-VPR5LQYX.js} +3 -2
- package/dist/safe-bash/command-chunks/{chunk-3DT2YOGW.js → chunk-VSRGNQCP.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-N2F74VRO.js → chunk-VT6MJBEI.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-J5SN3PZ3.js → chunk-VXSLJH7G.js} +53 -3
- package/dist/safe-bash/command-chunks/{chunk-PXYOWWMV.js → chunk-W7RAD4EW.js} +4 -3
- package/dist/safe-bash/command-chunks/{chunk-YGC6OS5O.js → chunk-WECIOOQB.js} +5 -8
- package/dist/safe-bash/command-chunks/{chunk-HHP343KT.js → chunk-WTECBRU4.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-AO6Z5EQ7.js → chunk-WVE64WM2.js} +6 -5
- package/dist/safe-bash/command-chunks/{chunk-Z7RVSD5K.js → chunk-WVHONVZ4.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-HLGKIZ25.js → chunk-X54L3DBL.js} +6 -9
- package/dist/safe-bash/command-chunks/{chunk-QNIMV57G.js → chunk-XNLFHHOC.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-XAFSZDY2.js → chunk-XS72HTMA.js} +11 -0
- package/dist/safe-bash/command-chunks/{chunk-KYSPGS33.js → chunk-YIQACGEW.js} +2 -0
- package/dist/safe-bash/command-chunks/{chunk-NAY27PXB.js → chunk-YOFC45RK.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-T5H5UJQ3.js → chunk-YVNGTIJO.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-QI7LGHJJ.js → chunk-Z45N42QC.js} +21 -6
- package/dist/safe-bash/command-chunks/{chunk-67IQF5GC.js → chunk-ZYHTWNAE.js} +23 -9
- package/dist/safe-bash/command-chunks/{chunk-STC3LEWJ.js → chunk-ZYXH3B66.js} +5 -3
- package/dist/safe-bash/commands/apply-patch/index.browser.js +14 -0
- package/dist/safe-bash/commands/archive/index.browser.js +36 -0
- package/dist/safe-bash/commands/bytes/compression/index.js +3 -2
- package/dist/safe-bash/commands/column/index.browser.js +12 -0
- package/dist/safe-bash/commands/copy-preserve.d.ts +1 -0
- package/dist/safe-bash/commands/csplit/index.browser.js +2 -2
- package/dist/safe-bash/commands/docx/index.browser.js +1 -1
- package/dist/safe-bash/commands/du/index.browser.js +14 -0
- package/dist/safe-bash/commands/execution.js +19 -13
- package/dist/safe-bash/commands/expr/index.browser.js +12 -0
- package/dist/safe-bash/commands/factor/index.browser.js +2 -2
- package/dist/safe-bash/commands/file/index.browser.js +14 -0
- package/dist/safe-bash/commands/filesystem.d.ts +1 -1
- package/dist/safe-bash/commands/filesystem.js +26 -15
- package/dist/safe-bash/commands/getopt/index.browser.js +2 -2
- package/dist/safe-bash/commands/grep-aliases/index.browser.js +14 -0
- package/dist/safe-bash/commands/hexdump/index.browser.js +2 -2
- package/dist/safe-bash/commands/html-to-markdown/index.browser.js +16 -0
- package/dist/safe-bash/commands/htmlq/index.d.ts +1 -1
- 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 +1 -1
- package/dist/safe-bash/commands/metadata/index.browser.js +21 -0
- package/dist/safe-bash/commands/network/curl.d.ts +1 -1
- package/dist/safe-bash/commands/network/curl.js +1 -3
- package/dist/safe-bash/commands/network/index.browser.js +4 -4
- package/dist/safe-bash/commands/network/platform-portable.d.ts +1 -5
- package/dist/safe-bash/commands/network/platform-portable.js +1 -26
- package/dist/safe-bash/commands/network/public.d.ts +2 -2
- package/dist/safe-bash/commands/network/public.js +2 -2
- package/dist/safe-bash/commands/network/transport.js +2 -2
- package/dist/safe-bash/commands/network/wget.d.ts +1 -1
- package/dist/safe-bash/commands/network/wget.js +1 -3
- package/dist/safe-bash/commands/node/filesystem.js +3 -2
- package/dist/safe-bash/commands/node/index.browser.js +8 -8
- package/dist/safe-bash/commands/node/types.js +1 -1
- package/dist/safe-bash/commands/op/index.browser.js +3 -3
- package/dist/safe-bash/commands/pr/index.browser.js +2 -2
- package/dist/safe-bash/commands/python/host-capabilities.js +31 -14
- package/dist/safe-bash/commands/python/index.browser.js +11 -11
- package/dist/safe-bash/commands/python/manifest.d.ts +1 -0
- package/dist/safe-bash/commands/python/manifest.js +6 -3
- package/dist/safe-bash/commands/python/shell-capability.d.ts +1 -0
- package/dist/safe-bash/commands/python/shell-capability.js +3 -2
- package/dist/safe-bash/commands/python/worker.browser.js +3 -3
- package/dist/safe-bash/commands/regex-execution/public.browser.js +8 -6
- package/dist/safe-bash/commands/safejs/runtime.js +16 -7
- package/dist/safe-bash/commands/split/index.browser.js +14 -0
- package/dist/safe-bash/commands/standard.d.ts +1 -0
- package/dist/safe-bash/commands/standard.js +2 -1
- package/dist/safe-bash/commands/stream-format/index.browser.js +11 -0
- package/dist/safe-bash/commands/stream-inspection/index.browser.js +11 -0
- package/dist/safe-bash/commands/streams.js +11 -29
- package/dist/safe-bash/commands/table-text/index.browser.js +11 -0
- package/dist/safe-bash/commands/text.js +269 -496
- package/dist/safe-bash/commands/time-env/index.browser.js +15 -0
- package/dist/safe-bash/commands/tree/index.browser.js +14 -0
- package/dist/safe-bash/commands/tsort/index.browser.js +2 -2
- 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 +1 -1
- package/dist/safe-bash/core.d.ts +6 -1
- package/dist/safe-bash/core.js +1 -1
- package/dist/safe-bash/full-core.browser.js +308 -295
- package/dist/safe-bash/jobs.browser.js +5 -5
- package/dist/safe-bash/opt-in/commands/dd/index.js +2 -0
- package/dist/safe-bash/opt-in/optional/commands/shuf/options.d.ts +1 -0
- package/dist/safe-bash/opt-in/optional/commands/shuf/options.js +2 -4
- package/dist/safe-bash/opt-in/optional/commands/shuf/shuf.js +2 -1
- package/dist/safe-bash/optional-host.browser.js +15 -15
- package/dist/safe-bash/plugins/composition.d.ts +1 -0
- package/dist/safe-bash/plugins/composition.js +3 -8
- package/dist/safe-bash/plugins/index.browser.js +41 -27
- package/dist/safe-bash/registry-entry.browser.js +42 -28
- package/dist/safe-bash/search.browser.js +48 -0
- package/dist/safe-bash/shell/arrays/bindings.js +1 -1
- package/dist/safe-bash/shell/arrays/state.js +4 -0
- package/dist/safe-bash/shell/brace-expansion.js +1 -1
- package/dist/safe-bash/shell/dynamic-variables.d.ts +10 -0
- package/dist/safe-bash/shell/dynamic-variables.js +25 -0
- package/dist/safe-bash/shell/parser.js +8 -1
- package/dist/safe-bash/shell/runtime.d.ts +4 -13
- package/dist/safe-bash/shell/runtime.js +334 -1049
- package/dist/safe-bash/shell/shell.js +2 -54
- package/dist/safe-bash/shell-entry.browser.js +35 -26
- package/dist/safe-bash/trap.browser.js +4 -4
- package/dist/safe-bash/yq-browser/index.js +1 -1
- package/dist/safe-bash-base-encoding-engine/base.js +2 -2
- package/dist/safe-bash-base-encoding-engine/shared.js +1 -1
- package/dist/safe-bash-byte-input-engine/index.d.ts +3 -2
- package/dist/safe-bash-byte-input-engine/index.js +4 -1
- package/dist/safe-bash-checksum-engine/index.js +13 -6
- package/dist/safe-bash-command-apply-patch/apply.d.ts +1 -1
- package/dist/safe-bash-command-apply-patch/apply.js +4 -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-inspection.js +2 -2
- package/dist/safe-bash-command-awk/awk-runtime.js +3 -3
- package/dist/safe-bash-command-awk/awk-syntax.d.ts +1 -1
- package/dist/safe-bash-command-awk/awk-syntax.js +2 -2
- package/dist/safe-bash-command-awk/awk-values.js +1 -1
- 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.d.ts +2 -0
- package/dist/safe-bash-command-bc/index.js +123 -92
- package/dist/safe-bash-command-column/column.js +5 -5
- package/dist/safe-bash-command-column/display.d.ts +1 -1
- package/dist/safe-bash-command-column/display.js +1 -1
- package/dist/safe-bash-command-column/index.js +5 -5
- package/dist/safe-bash-command-column/internal.d.ts +0 -2
- package/dist/safe-bash-command-column/internal.js +1 -1
- package/dist/safe-bash-command-column/layout.js +4 -4
- package/dist/safe-bash-command-column/table.js +2 -2
- package/dist/safe-bash-command-comm/comm.js +1 -1
- package/dist/safe-bash-command-comm/index.js +1 -1
- package/dist/safe-bash-command-csvcut/index.d.ts +1 -0
- package/dist/safe-bash-command-csvcut/index.js +1 -0
- package/dist/safe-bash-command-csvgrep/index.d.ts +1 -0
- package/dist/safe-bash-command-csvgrep/index.js +2 -2
- package/dist/safe-bash-command-csvkit/index.js +9 -9
- package/dist/safe-bash-command-csvkit/sync-support.js +1 -1
- 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-dd/index.js +2 -0
- 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-exiftool/index.d.ts +1 -0
- package/dist/safe-bash-command-fd/index.js +9 -9
- package/dist/safe-bash-command-ffmpeg/index.js +31 -8
- package/dist/safe-bash-command-file/index.js +1 -1
- package/dist/safe-bash-command-file/shared.js +1 -1
- package/dist/safe-bash-command-find/find.js +1 -1
- package/dist/safe-bash-command-find/index.js +1 -1
- package/dist/safe-bash-command-gzip/index.js +3 -2
- package/dist/safe-bash-command-hexdump/command.js +4 -4
- package/dist/safe-bash-command-hexdump/custom.d.ts +24 -0
- package/dist/safe-bash-command-hexdump/index.js +4 -4
- package/dist/safe-bash-command-hexdump/internal.d.ts +2 -0
- package/dist/safe-bash-command-hexdump/internal.js +1 -1
- package/dist/safe-bash-command-hexdump/io.js +2 -2
- package/dist/safe-bash-command-hexdump/options.d.ts +3 -0
- package/dist/safe-bash-command-hexdump/options.js +2 -2
- package/dist/safe-bash-command-hostname/index.js +1 -1
- package/dist/safe-bash-command-html-to-markdown/budget.js +1 -1
- package/dist/safe-bash-command-html-to-markdown/entities.js +3 -3
- package/dist/safe-bash-command-html-to-markdown/index.js +6 -6
- package/dist/safe-bash-command-html-to-markdown/input.js +5 -5
- package/dist/safe-bash-command-html-to-markdown/parser.d.ts +1 -0
- package/dist/safe-bash-command-html-to-markdown/parser.js +4 -4
- package/dist/safe-bash-command-html-to-markdown/render.js +5 -5
- package/dist/safe-bash-command-html-to-markdown/text.js +2 -2
- package/dist/safe-bash-command-htmlq/index.d.ts +1 -0
- package/dist/safe-bash-command-htmlq/index.js +27 -9
- package/dist/safe-bash-command-iconv/codec.js +1 -1
- package/dist/safe-bash-command-iconv/command.js +2 -2
- package/dist/safe-bash-command-iconv/index.js +2 -2
- package/dist/safe-bash-command-imagemagick/index.js +24 -6
- package/dist/safe-bash-command-join/index.js +1 -1
- package/dist/safe-bash-command-join/join.js +1 -1
- 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 +43 -28
- package/dist/safe-bash-command-mmdc/index.d.ts +1 -0
- 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-numfmt/index.js +0 -11
- package/dist/safe-bash-command-od/index.js +101 -68
- package/dist/safe-bash-command-pandoc/command.js +1 -1
- package/dist/safe-bash-command-pandoc/index.js +1 -1
- package/dist/safe-bash-command-paste/index.js +1 -1
- package/dist/safe-bash-command-paste/paste.js +1 -1
- package/dist/safe-bash-command-pathchk/index.js +3 -13
- package/dist/safe-bash-command-pdfimages/index.js +27 -11
- package/dist/safe-bash-command-pdfinfo/index.js +19 -10
- package/dist/safe-bash-command-pdftk/index.js +3 -3
- package/dist/safe-bash-command-pdftoppm/index.js +26 -10
- package/dist/safe-bash-command-pdftotext/index.js +27 -13
- package/dist/safe-bash-command-qpdf/index.js +5 -5
- package/dist/safe-bash-command-rg/index.js +1 -1
- package/dist/safe-bash-command-rg/rg-command.d.ts +0 -1
- package/dist/safe-bash-command-rg/rg-command.js +3 -5
- 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/options.d.ts +1 -0
- package/dist/safe-bash-command-shuf/options.js +2 -4
- package/dist/safe-bash-command-shuf/shuf.js +2 -1
- package/dist/safe-bash-command-soffice/index.js +20 -16
- package/dist/safe-bash-command-split/index.js +3 -3
- package/dist/safe-bash-command-split/io.js +1 -1
- package/dist/safe-bash-command-split/outputs.js +2 -2
- package/dist/safe-bash-command-split/split.js +3 -3
- package/dist/safe-bash-command-sqlite3/btree.d.ts +1 -0
- package/dist/safe-bash-command-sqlite3/engine.d.ts +6 -0
- package/dist/safe-bash-command-sqlite3/index.js +284 -85
- package/dist/safe-bash-command-ssconvert/commands.js +9 -9
- package/dist/safe-bash-command-ssconvert/core.js +8 -8
- package/dist/safe-bash-command-ssconvert/formats/csv.js +9 -9
- package/dist/safe-bash-command-ssconvert/formats/ods.js +8 -8
- package/dist/safe-bash-command-ssconvert/formats/spreadsheetml.js +2 -2
- package/dist/safe-bash-command-ssconvert/formats/xls.js +9 -9
- package/dist/safe-bash-command-ssconvert/formats/xlsx.js +8 -8
- package/dist/safe-bash-command-ssconvert/index.js +20 -20
- package/dist/safe-bash-command-tar/extract.js +1 -1
- package/dist/safe-bash-command-tar/index.js +5 -4
- package/dist/safe-bash-command-tar/modes.js +2 -2
- package/dist/safe-bash-command-tree/arguments.js +3 -3
- package/dist/safe-bash-command-tree/charset.js +1 -1
- package/dist/safe-bash-command-tree/index.js +4 -4
- package/dist/safe-bash-command-tree/io.js +1 -1
- package/dist/safe-bash-command-tree/pattern.js +2 -2
- package/dist/safe-bash-command-tree/tree.js +4 -4
- package/dist/safe-bash-command-unexpand/index.js +1 -1
- package/dist/safe-bash-command-unexpand/unexpand.js +1 -1
- package/dist/safe-bash-command-unrtf/index.js +14 -7
- package/dist/safe-bash-command-unzip/index.js +1 -1
- package/dist/safe-bash-command-unzip/unzip.js +1 -1
- package/dist/safe-bash-command-wget/index.js +1 -1
- package/dist/safe-bash-command-wget/wget.js +1 -1
- package/dist/safe-bash-command-xan/argv.d.ts +1 -1
- package/dist/safe-bash-command-xan/argv.js +1 -1
- package/dist/safe-bash-command-xan/commands.js +5 -3
- package/dist/safe-bash-command-xan/csv.d.ts +1 -1
- package/dist/safe-bash-command-xan/csv.js +1 -1
- package/dist/safe-bash-command-xan/index.js +7 -7
- package/dist/safe-bash-command-xan/io.js +3 -3
- package/dist/safe-bash-command-xmllint/index.js +1 -1
- package/dist/safe-bash-command-xxd/index.js +105 -91
- package/dist/safe-bash-command-xz/command.d.ts +2 -0
- package/dist/safe-bash-command-xz/index.d.ts +1 -1
- package/dist/safe-bash-command-xz/index.js +8 -0
- package/dist/safe-bash-command-yq/query.js +1 -1
- package/dist/safe-bash-command-zip/index.js +1 -1
- package/dist/safe-bash-command-zip/zip.js +1 -1
- package/dist/safe-bash-contracts/escaping.js +3 -3
- package/dist/safe-bash-contracts/filesystem-output.js +2 -2
- package/dist/safe-bash-contracts/index.d.ts +1 -0
- package/dist/safe-bash-contracts/index.js +7 -3
- package/dist/safe-bash-contracts/io.d.ts +4 -1
- package/dist/safe-bash-contracts/io.js +3 -1
- package/dist/safe-bash-contracts/managed-abort.d.ts +10 -0
- package/dist/safe-bash-contracts/output.js +2 -2
- package/dist/safe-bash-diff-engine/index.js +1 -1
- package/dist/safe-bash-diff-engine/shared.d.ts +3 -2
- package/dist/safe-bash-diff-engine/shared.js +1 -1
- package/dist/safe-bash-io-engine/commands/archive/internal.js +5 -23
- package/dist/safe-bash-io-engine/commands/search/requirements.js +2 -2
- package/dist/safe-bash-io-engine/commands/text-programs/shared.js +33 -44
- package/dist/safe-bash-io-engine/internal.js +1 -1
- package/dist/safe-bash-io-engine/shell/pattern.js +1 -1
- package/dist/safe-bash-io-engine/shell/string-operations.js +1 -1
- package/dist/safe-bash-mcp/index.browser.d.ts +155 -35
- package/dist/safe-bash-mcp/index.browser.js +416 -0
- package/dist/safe-bash-mcp/index.d.ts +54 -2
- package/dist/safe-bash-mcp/index.js +286 -90
- package/dist/safe-bash-network-engine/aggregate.js +2 -2
- package/dist/safe-bash-network-engine/args.js +4 -4
- package/dist/safe-bash-network-engine/authorizer.js +1 -1
- package/dist/safe-bash-network-engine/body.js +6 -6
- package/dist/safe-bash-network-engine/decode.d.ts +1 -1
- package/dist/safe-bash-network-engine/decode.js +3 -4
- package/dist/safe-bash-network-engine/fetch-transport.js +3 -3
- package/dist/safe-bash-network-engine/form-content-type.js +2 -2
- package/dist/safe-bash-network-engine/form-headers.js +2 -2
- package/dist/safe-bash-network-engine/glob.js +1 -1
- package/dist/safe-bash-network-engine/index.js +4 -4
- package/dist/safe-bash-network-engine/input.js +6 -6
- package/dist/safe-bash-network-engine/output.js +2 -2
- package/dist/safe-bash-network-engine/platform-portable.js +3 -3
- package/dist/safe-bash-network-engine/shared.js +2 -2
- package/dist/safe-bash-network-engine/types.d.ts +7 -2
- package/dist/safe-bash-network-engine/types.js +1 -1
- package/dist/safe-bash-network-engine/url.js +2 -2
- package/dist/safe-bash-query-engine/capture.js +3 -3
- package/dist/safe-bash-query-engine/delpaths.js +3 -3
- package/dist/safe-bash-query-engine/formats.js +2 -2
- package/dist/safe-bash-query-engine/index.js +11 -11
- package/dist/safe-bash-query-engine/indices.js +3 -3
- package/dist/safe-bash-query-engine/input.js +1 -1
- package/dist/safe-bash-query-engine/interpreter.js +9 -9
- package/dist/safe-bash-query-engine/parser.js +1 -1
- package/dist/safe-bash-query-engine/query-core.js +11 -11
- package/dist/safe-bash-query-engine/regex.js +4 -4
- package/dist/safe-bash-query-engine/splits.js +5 -5
- package/dist/safe-bash-query-engine/values.js +2 -2
- package/dist/safe-bash-regex-engine/ere/matcher.js +102 -30
- package/dist/safe-bash-regex-engine/execution/bounded-provider.js +55 -67
- package/dist/safe-bash-regex-engine/execution/portable.d.ts +0 -1
- package/dist/safe-bash-regex-engine/execution/portable.js +6 -10
- package/dist/safe-bash-regex-engine/execution/protocol.d.ts +0 -5
- package/dist/safe-bash-regex-engine/execution/protocol.js +1 -3
- package/dist/safe-bash-regex-engine/index.js +6 -4
- package/dist/safe-bash-regex-engine/text/budget.d.ts +1 -1
- package/dist/safe-bash-regex-engine/text/budget.js +1 -1
- package/dist/safe-bash-regex-engine/text/regex.d.ts +14 -0
- package/dist/safe-bash-regex-engine/text/regex.js +6 -4
- package/dist/safe-bash-regex-engine/text/replacement-buffer.js +2 -2
- package/dist/safe-bash-regex-engine/text/rust-syntax.js +2 -2
- package/dist/safe-bash-search-engine/grep.js +189 -227
- package/dist/safe-bash-table-text-engine/table-text/internal.d.ts +7 -5
- package/dist/safe-bash-table-text-engine/table-text/internal.js +39 -21
- package/dist/safe-playwright-cloudflare/browser-trace-budget.js +6 -2
- package/dist/spreadsheet-engine/codecs/odf-hyperlinks.js +8 -2
- package/dist/spreadsheet-engine/formulas/functions/captured-bessel-phase.js +2 -2
- package/dist/spreadsheet-engine/formulas/label-references.js +54 -33
- package/dist/spreadsheet-engine/formulas/parser.js +3 -1
- package/dist/spreadsheet-engine/formulas/rewriting.js +13 -3
- package/dist/spreadsheet-format-xls/biff-data-tables.js +4 -6
- package/dist/spreadsheet-format-xls/biff-formulas.js +3 -0
- package/dist/spreadsheet-format-xls/biff-label-ranges.js +9 -6
- package/dist/spreadsheet-format-xls/biff.js +1 -1
- package/dist/xlsx-ast/xlsx.js +8 -5
- package/package.json +68 -12
- package/dist/safe-bash/command-chunks/chunk-KAGBORIC.js +0 -88
- /package/dist/safe-bash/command-chunks/{chunk-BWNXWI33.js → chunk-2LMZVE3I.js} +0 -0
|
@@ -47901,6 +47901,7 @@ function formatExtractedPageText(page, options = {}) {
|
|
|
47901
47901
|
if (Math.abs(dy) > 4) return dy;
|
|
47902
47902
|
return a.bbox[0] - b.bbox[0];
|
|
47903
47903
|
});
|
|
47904
|
+
const leftMargin = allLines.reduce((left, line) => Math.min(left, line.bbox[0]), Infinity);
|
|
47904
47905
|
const rows = [];
|
|
47905
47906
|
for (const l of allLines) {
|
|
47906
47907
|
const lastRow = rows[rows.length - 1];
|
|
@@ -47914,17 +47915,17 @@ function formatExtractedPageText(page, options = {}) {
|
|
|
47914
47915
|
row.sort((a, b) => a.bbox[0] - b.bbox[0]);
|
|
47915
47916
|
const pitch = options.fixedPitch !== void 0 && options.fixedPitch > 0 ? options.fixedPitch : 6;
|
|
47916
47917
|
let lineStr = "";
|
|
47917
|
-
let curX =
|
|
47918
|
+
let curX = leftMargin;
|
|
47918
47919
|
if (options.fixedPitch !== void 0 && options.fixedPitch > 0) {
|
|
47919
47920
|
const words = row.flatMap((seg) => seg.words).sort((a, b) => a.bbox[0] - b.bbox[0]);
|
|
47920
47921
|
for (const w of words) {
|
|
47921
|
-
const spaces = Math.max(
|
|
47922
|
+
const spaces = Math.max(lineStr.length > 0 ? 1 : 0, Math.round((w.bbox[0] - curX) / pitch));
|
|
47922
47923
|
lineStr += " ".repeat(Math.min(spaces, 80)) + w.text;
|
|
47923
47924
|
curX = w.bbox[2];
|
|
47924
47925
|
}
|
|
47925
47926
|
} else {
|
|
47926
47927
|
for (const seg of row) {
|
|
47927
|
-
const spaces = Math.max(
|
|
47928
|
+
const spaces = Math.max(lineStr.length > 0 ? 2 : 0, Math.round((seg.bbox[0] - curX) / pitch));
|
|
47928
47929
|
lineStr += " ".repeat(Math.min(spaces, 40)) + seg.text;
|
|
47929
47930
|
curX = seg.bbox[2];
|
|
47930
47931
|
}
|
|
@@ -57693,16 +57694,31 @@ async function openFileDescriptor(path, options, capabilities, acquire) {
|
|
|
57693
57694
|
}
|
|
57694
57695
|
|
|
57695
57696
|
// ../safe-fs/dist/contracts/virtual-path.js
|
|
57696
|
-
|
|
57697
|
-
|
|
57698
|
-
|
|
57697
|
+
function pathByteLength(path) {
|
|
57698
|
+
let bytes = 0;
|
|
57699
|
+
for (const point of path) {
|
|
57700
|
+
const code = point.codePointAt(0);
|
|
57701
|
+
bytes += code <= 127 ? 1 : code <= 2047 ? 2 : code <= 65535 ? 3 : 4;
|
|
57702
|
+
}
|
|
57703
|
+
return bytes;
|
|
57704
|
+
}
|
|
57705
|
+
function validatePath(path, limits = {}) {
|
|
57706
|
+
const maxBytes = typeof limits === "number" ? Infinity : limits.maxPathBytes ?? Infinity;
|
|
57707
|
+
const maxComponents = typeof limits === "number" ? limits : limits.maxPathComponents ?? Infinity;
|
|
57708
|
+
for (const value of [maxBytes, maxComponents]) {
|
|
57709
|
+
if (value !== Infinity && (!Number.isSafeInteger(value) || value < 0)) {
|
|
57710
|
+
throw new RangeError("Path limits must be nonnegative safe integers or Infinity");
|
|
57711
|
+
}
|
|
57712
|
+
}
|
|
57699
57713
|
if (typeof path !== "string" || path.includes("\0")) {
|
|
57700
57714
|
throw new FsError("EINVAL", { syscall: "resolve", message: "paths must be strings without NUL bytes" });
|
|
57701
57715
|
}
|
|
57702
|
-
if (path
|
|
57716
|
+
if (maxBytes !== Infinity && pathByteLength(path) > maxBytes) {
|
|
57703
57717
|
throw new FsError("ENAMETOOLONG", { syscall: "resolve", path });
|
|
57704
57718
|
}
|
|
57705
|
-
|
|
57719
|
+
if (maxComponents === Infinity)
|
|
57720
|
+
return;
|
|
57721
|
+
const limit = maxComponents;
|
|
57706
57722
|
let components2 = 0;
|
|
57707
57723
|
let inComponent = false;
|
|
57708
57724
|
for (let i = 0; i < path.length; i++) {
|
|
@@ -58351,11 +58367,14 @@ function components(path, signal) {
|
|
|
58351
58367
|
}
|
|
58352
58368
|
return result;
|
|
58353
58369
|
}
|
|
58354
|
-
function resolveMissingTarget(root, path, signal) {
|
|
58370
|
+
function resolveMissingTarget(root, path, signal, limits = {}) {
|
|
58371
|
+
validatePath(path, limits);
|
|
58355
58372
|
const fail3 = (code, failedPath = path) => {
|
|
58356
58373
|
throw new FsError(code, { syscall: "realpath", path: failedPath });
|
|
58357
58374
|
};
|
|
58358
58375
|
const origin = components(path, signal);
|
|
58376
|
+
let remainingBytes = (limits.maxPathBytes ?? Infinity) - pathByteLength(path);
|
|
58377
|
+
let remainingComponents = (limits.maxPathComponents ?? Infinity) - origin.length;
|
|
58359
58378
|
const initial = { node: root, name: "" };
|
|
58360
58379
|
let position = initial;
|
|
58361
58380
|
let links = 0;
|
|
@@ -58408,7 +58427,10 @@ function resolveMissingTarget(root, path, signal) {
|
|
|
58408
58427
|
if (node.type === "symlink") {
|
|
58409
58428
|
if (++links > 40)
|
|
58410
58429
|
return fail3("ELOOP");
|
|
58430
|
+
validatePath(node.target, { maxPathBytes: remainingBytes, maxPathComponents: remainingComponents });
|
|
58411
58431
|
const names2 = components(node.target, signal);
|
|
58432
|
+
remainingBytes -= pathByteLength(node.target);
|
|
58433
|
+
remainingComponents -= names2.length;
|
|
58412
58434
|
if (node.target.endsWith("/"))
|
|
58413
58435
|
names2.push({ name: ".", start: node.target.length });
|
|
58414
58436
|
if (node.target.startsWith("/"))
|
|
@@ -58612,26 +58634,22 @@ function readConfigRecord(value, label, keys) {
|
|
|
58612
58634
|
|
|
58613
58635
|
// ../safe-fs/dist/fs/memory/limits.js
|
|
58614
58636
|
var defaultMemoryFileSystemLimits = Object.freeze({
|
|
58637
|
+
maxPathBytes: Infinity,
|
|
58638
|
+
maxPathComponents: Infinity,
|
|
58615
58639
|
maxFileBytes: Infinity,
|
|
58616
58640
|
maxRetainedBytes: Infinity,
|
|
58617
58641
|
maxMetadataUnits: Infinity
|
|
58618
58642
|
});
|
|
58619
58643
|
function normalizeMemoryFileSystemLimits(options) {
|
|
58620
|
-
const keys = ["maxFileBytes", "maxRetainedBytes", "maxMetadataUnits"];
|
|
58644
|
+
const keys = ["maxPathBytes", "maxPathComponents", "maxFileBytes", "maxRetainedBytes", "maxMetadataUnits"];
|
|
58621
58645
|
const record2 = readConfigRecord(options, "memory option", [...keys, "maxBytes"]);
|
|
58622
58646
|
const limits = { ...defaultMemoryFileSystemLimits };
|
|
58623
|
-
|
|
58624
|
-
if (typeof record2.maxBytes !== "number" || !Number.isSafeInteger(record2.maxBytes) || record2.maxBytes < 0) {
|
|
58625
|
-
throw new RangeError("maxBytes must be a nonnegative safe integer");
|
|
58626
|
-
}
|
|
58627
|
-
limits.maxBytes = record2.maxBytes;
|
|
58628
|
-
}
|
|
58629
|
-
for (const key of keys) {
|
|
58630
|
-
if (!Object.hasOwn(record2, key))
|
|
58631
|
-
continue;
|
|
58647
|
+
for (const key of [...keys, "maxBytes"]) {
|
|
58632
58648
|
const value = record2[key];
|
|
58649
|
+
if (value === void 0 || value === Infinity)
|
|
58650
|
+
continue;
|
|
58633
58651
|
if (typeof value !== "number" || !Number.isSafeInteger(value) || value < (key === "maxMetadataUnits" ? 1 : 0)) {
|
|
58634
|
-
throw new RangeError(`${key} must be a ${key === "maxMetadataUnits" ? "positive" : "nonnegative"} safe integer`);
|
|
58652
|
+
throw new RangeError(`${key} must be a ${key === "maxMetadataUnits" ? "positive" : "nonnegative"} safe integer or Infinity`);
|
|
58635
58653
|
}
|
|
58636
58654
|
limits[key] = value;
|
|
58637
58655
|
}
|
|
@@ -58680,12 +58698,10 @@ var DUMMY_POOL_FILE_NODE = new MemoryFileNode(0, 0, null, 0, DUMMY_POOL_ALLOCATI
|
|
|
58680
58698
|
DUMMY_POOL_FILE_NODE.atimeMs = DUMMY_POOL_FILE_NODE.mtimeMs = DUMMY_POOL_FILE_NODE.ctimeMs = DUMMY_POOL_FILE_NODE.birthtimeMs = 17e11;
|
|
58681
58699
|
var defaultDateNow = Date.now;
|
|
58682
58700
|
var fastWriteCachedNow = Date.now();
|
|
58683
|
-
var lastFastMapMiss = {
|
|
58684
|
-
map: void 0,
|
|
58685
|
-
key: "",
|
|
58686
|
-
slot: -1
|
|
58687
|
-
};
|
|
58688
58701
|
var FastDirectoryEntriesMap = class {
|
|
58702
|
+
// Keep speculative slots local so a failed write cannot pin a tenant globally.
|
|
58703
|
+
_missKey = "";
|
|
58704
|
+
_missSlot = -1;
|
|
58689
58705
|
_table = new Int16Array(128).fill(-1);
|
|
58690
58706
|
_mask = 127;
|
|
58691
58707
|
_keys = new Array(64).fill("");
|
|
@@ -58722,9 +58738,8 @@ var FastDirectoryEntriesMap = class {
|
|
|
58722
58738
|
getForWriteWithHash(k, h) {
|
|
58723
58739
|
let slot = h & this._mask;
|
|
58724
58740
|
if (this.size === 0) {
|
|
58725
|
-
|
|
58726
|
-
|
|
58727
|
-
lastFastMapMiss.slot = slot;
|
|
58741
|
+
this._missKey = k;
|
|
58742
|
+
this._missSlot = slot;
|
|
58728
58743
|
return void 0;
|
|
58729
58744
|
}
|
|
58730
58745
|
const mask = this._mask;
|
|
@@ -58734,9 +58749,8 @@ var FastDirectoryEntriesMap = class {
|
|
|
58734
58749
|
while (true) {
|
|
58735
58750
|
const idx = table[slot];
|
|
58736
58751
|
if (idx === -1) {
|
|
58737
|
-
|
|
58738
|
-
|
|
58739
|
-
lastFastMapMiss.slot = firstDeleted !== -1 ? firstDeleted : slot;
|
|
58752
|
+
this._missKey = k;
|
|
58753
|
+
this._missSlot = firstDeleted !== -1 ? firstDeleted : slot;
|
|
58740
58754
|
return void 0;
|
|
58741
58755
|
}
|
|
58742
58756
|
if (idx === -2) {
|
|
@@ -58785,6 +58799,7 @@ var FastDirectoryEntriesMap = class {
|
|
|
58785
58799
|
return this.get(k) !== void 0;
|
|
58786
58800
|
}
|
|
58787
58801
|
_rebuild(newCap) {
|
|
58802
|
+
this._missKey = "";
|
|
58788
58803
|
const newTableLen = newCap * 2;
|
|
58789
58804
|
const newMask = newTableLen - 1;
|
|
58790
58805
|
const newTable = newCap <= 16384 ? new Int16Array(newTableLen).fill(-1) : new Int32Array(newTableLen).fill(-1);
|
|
@@ -58824,15 +58839,16 @@ var FastDirectoryEntriesMap = class {
|
|
|
58824
58839
|
this._next = writeIdx;
|
|
58825
58840
|
}
|
|
58826
58841
|
set(k, v) {
|
|
58827
|
-
if (
|
|
58842
|
+
if (k === this._missKey && this._next < this._keys.length) {
|
|
58828
58843
|
const entryIdx = this._next++;
|
|
58829
|
-
this._table[
|
|
58844
|
+
this._table[this._missSlot] = entryIdx;
|
|
58830
58845
|
this._keys[entryIdx] = k;
|
|
58831
58846
|
this._vals[entryIdx] = v;
|
|
58832
58847
|
this.size++;
|
|
58833
|
-
|
|
58848
|
+
this._missKey = "";
|
|
58834
58849
|
return this;
|
|
58835
58850
|
}
|
|
58851
|
+
this._missKey = "";
|
|
58836
58852
|
if (this._next >= this._keys.length) {
|
|
58837
58853
|
this._rebuild(this.size * 2 <= this._keys.length ? this._keys.length : this._keys.length * 2);
|
|
58838
58854
|
}
|
|
@@ -58863,6 +58879,7 @@ var FastDirectoryEntriesMap = class {
|
|
|
58863
58879
|
}
|
|
58864
58880
|
}
|
|
58865
58881
|
delete(k) {
|
|
58882
|
+
this._missKey = "";
|
|
58866
58883
|
if (this.size === 0)
|
|
58867
58884
|
return false;
|
|
58868
58885
|
let slot = this._hash(k);
|
|
@@ -58888,6 +58905,7 @@ var FastDirectoryEntriesMap = class {
|
|
|
58888
58905
|
}
|
|
58889
58906
|
}
|
|
58890
58907
|
clear() {
|
|
58908
|
+
this._missKey = "";
|
|
58891
58909
|
if (this._next > 0) {
|
|
58892
58910
|
this._table.fill(-1);
|
|
58893
58911
|
for (let i = 0; i < this._next; i++) {
|
|
@@ -59340,7 +59358,7 @@ var MemoryFileSystem = class _MemoryFileSystem {
|
|
|
59340
59358
|
const owner = ownedStores.get(this);
|
|
59341
59359
|
if (path !== "")
|
|
59342
59360
|
this.validatePath(path, "realpath");
|
|
59343
|
-
return resolveMissingTarget(owner.root, path || ".", options.signal);
|
|
59361
|
+
return resolveMissingTarget(owner.root, path || ".", options.signal, this.ledger.limits);
|
|
59344
59362
|
}
|
|
59345
59363
|
async confineExtraction(roots, options = {}) {
|
|
59346
59364
|
options.signal?.throwIfAborted();
|
|
@@ -59561,6 +59579,7 @@ var MemoryFileSystem = class _MemoryFileSystem {
|
|
|
59561
59579
|
}
|
|
59562
59580
|
replaceData(node, allocation, length = allocation.data.byteLength) {
|
|
59563
59581
|
const previous = node.allocation;
|
|
59582
|
+
node.sourceRef = void 0;
|
|
59564
59583
|
this.totalBytes += length - node.byteLength;
|
|
59565
59584
|
node.byteLength = length;
|
|
59566
59585
|
node.view = length === allocation.data.byteLength ? allocation.data : void 0;
|
|
@@ -59593,6 +59612,8 @@ var MemoryFileSystem = class _MemoryFileSystem {
|
|
|
59593
59612
|
this.fail("EINVAL", syscall, path);
|
|
59594
59613
|
if (path.length === 0)
|
|
59595
59614
|
this.fail("ENOENT", syscall, path);
|
|
59615
|
+
if (this.ledger.limits.maxPathBytes !== Infinity || this.ledger.limits.maxPathComponents !== Infinity)
|
|
59616
|
+
validatePath(path, this.ledger.limits);
|
|
59596
59617
|
}
|
|
59597
59618
|
permission(node, mask, syscall, path) {
|
|
59598
59619
|
if ((node.mode >> 6 & mask) !== mask)
|
|
@@ -59614,6 +59635,8 @@ var MemoryFileSystem = class _MemoryFileSystem {
|
|
|
59614
59635
|
node.mtimeMs = node.ctimeMs = now;
|
|
59615
59636
|
}
|
|
59616
59637
|
resolveNode(path, syscall, followFinal = true) {
|
|
59638
|
+
if (this.ledger.limits.maxPathBytes !== Infinity || this.ledger.limits.maxPathComponents !== Infinity)
|
|
59639
|
+
validatePath(path, this.ledger.limits);
|
|
59617
59640
|
const cache = memoryCaches.get(this.ledger);
|
|
59618
59641
|
if (this.symlinkCount === 0 && isCleanAbsolutePath(path)) {
|
|
59619
59642
|
const fastDir = cache.lastFastDirNode;
|
|
@@ -59698,7 +59721,7 @@ var MemoryFileSystem = class _MemoryFileSystem {
|
|
|
59698
59721
|
start = slash + 1;
|
|
59699
59722
|
}
|
|
59700
59723
|
}
|
|
59701
|
-
let remainingPathUnits =
|
|
59724
|
+
let remainingPathUnits = this.ledger.limits.maxPathBytes - pathByteLength(path);
|
|
59702
59725
|
if (remainingPathUnits < 0)
|
|
59703
59726
|
this.fail("ENAMETOOLONG", syscall, path);
|
|
59704
59727
|
let initialComponents = 0;
|
|
@@ -59708,12 +59731,12 @@ var MemoryFileSystem = class _MemoryFileSystem {
|
|
|
59708
59731
|
inComp = false;
|
|
59709
59732
|
else if (!inComp) {
|
|
59710
59733
|
inComp = true;
|
|
59711
|
-
if (++initialComponents >
|
|
59734
|
+
if (++initialComponents > this.ledger.limits.maxPathComponents)
|
|
59712
59735
|
this.fail("ENAMETOOLONG", syscall, path);
|
|
59713
59736
|
}
|
|
59714
59737
|
}
|
|
59715
|
-
|
|
59716
|
-
let remainingComponents =
|
|
59738
|
+
let pending = path.split("/").filter(Boolean);
|
|
59739
|
+
let remainingComponents = this.ledger.limits.maxPathComponents - pending.length;
|
|
59717
59740
|
if (path.endsWith("/"))
|
|
59718
59741
|
pending.push("");
|
|
59719
59742
|
const stack = [{ node: this.root, name: "" }];
|
|
@@ -59763,9 +59786,9 @@ var MemoryFileSystem = class _MemoryFileSystem {
|
|
|
59763
59786
|
if (node.type === "symlink" && (options.followFinal !== false || pending.length > 0)) {
|
|
59764
59787
|
if (++links > 40)
|
|
59765
59788
|
this.fail("ELOOP", syscall, path);
|
|
59766
|
-
if (node.target
|
|
59789
|
+
if (pathByteLength(node.target) > remainingPathUnits)
|
|
59767
59790
|
this.fail("ENAMETOOLONG", syscall, path);
|
|
59768
|
-
remainingPathUnits -= node.target
|
|
59791
|
+
remainingPathUnits -= pathByteLength(node.target);
|
|
59769
59792
|
const target = node.target.split("/").filter(Boolean);
|
|
59770
59793
|
if (target.length > remainingComponents)
|
|
59771
59794
|
this.fail("ENAMETOOLONG", syscall, path);
|
|
@@ -59774,7 +59797,7 @@ var MemoryFileSystem = class _MemoryFileSystem {
|
|
|
59774
59797
|
target.push("");
|
|
59775
59798
|
if (options.resizeCreate !== void 0 && target.at(-1) === "" && pending[0] === "")
|
|
59776
59799
|
target.pop();
|
|
59777
|
-
pending.
|
|
59800
|
+
pending = target.concat(pending);
|
|
59778
59801
|
if (node.target.startsWith("/"))
|
|
59779
59802
|
stack.splice(1);
|
|
59780
59803
|
continue;
|
|
@@ -59790,6 +59813,8 @@ var MemoryFileSystem = class _MemoryFileSystem {
|
|
|
59790
59813
|
};
|
|
59791
59814
|
}
|
|
59792
59815
|
file(path, syscall) {
|
|
59816
|
+
if (this.ledger.limits.maxPathBytes !== Infinity || this.ledger.limits.maxPathComponents !== Infinity)
|
|
59817
|
+
validatePath(path, this.ledger.limits);
|
|
59793
59818
|
if (this.symlinkCount === 0 && path.charCodeAt(0) === 47 && path.length > 1 && path.indexOf("/", 1) === -1 && !path.includes("\0")) {
|
|
59794
59819
|
const name = path === _lastFileSlice1Path ? _lastFileSlice1Name : (_lastFileSlice1Path = path, _lastFileSlice1Name = path.slice(1));
|
|
59795
59820
|
if (name !== "." && name !== "..") {
|
|
@@ -60064,6 +60089,8 @@ var MemoryFileSystem = class _MemoryFileSystem {
|
|
|
60064
60089
|
}, syscall, path);
|
|
60065
60090
|
}
|
|
60066
60091
|
writeData(path, data, options, syscall) {
|
|
60092
|
+
if (this.ledger.limits.maxPathBytes !== Infinity || this.ledger.limits.maxPathComponents !== Infinity)
|
|
60093
|
+
validatePath(path, this.ledger.limits);
|
|
60067
60094
|
if (!(data instanceof Uint8Array))
|
|
60068
60095
|
throw new TypeError("Memory files require Uint8Array data");
|
|
60069
60096
|
const target = this.prepareWrite(path, options, syscall);
|
|
@@ -60177,12 +60204,15 @@ var MemoryFileSystem = class _MemoryFileSystem {
|
|
|
60177
60204
|
node.byteLength = length;
|
|
60178
60205
|
node.view = length === allocation.data.byteLength ? allocation.data : void 0;
|
|
60179
60206
|
}
|
|
60207
|
+
node.sourceRef = void 0;
|
|
60180
60208
|
this.changed(node, now);
|
|
60181
60209
|
}
|
|
60182
60210
|
writeMemoryFileFast(path, data, append, mode) {
|
|
60211
|
+
if (this.ledger.limits.maxPathBytes !== Infinity || this.ledger.limits.maxPathComponents !== Infinity)
|
|
60212
|
+
validatePath(path, this.ledger.limits);
|
|
60183
60213
|
const cache = memoryCaches.get(this.ledger);
|
|
60184
60214
|
const syscall = append ? "appendFile" : "writeFile";
|
|
60185
|
-
if (append && path === cache.lastFastFilePath && cache.lastFastFileNode !== void 0 && cache.lastFastFileNode.nlink !== 0 && cache.lastFastDirNode !== void 0 && cache.lastFastDirNode.nlink !== 0 && (cache.lastFastDirNode.mode &
|
|
60215
|
+
if (append && path === cache.lastFastFilePath && cache.lastFastFileNode !== void 0 && cache.lastFastFileNode.nlink !== 0 && cache.lastFastDirNode !== void 0 && cache.lastFastDirNode.nlink !== 0 && (cache.lastFastDirNode.mode & 64) !== 0 && (cache.lastFastFileNode.mode & 128) !== 0) {
|
|
60186
60216
|
const current2 = cache.lastFastFileNode;
|
|
60187
60217
|
const length2 = current2.byteLength + data.byteLength;
|
|
60188
60218
|
this.admitSize(current2, length2, syscall, path);
|
|
@@ -60196,7 +60226,7 @@ var MemoryFileSystem = class _MemoryFileSystem {
|
|
|
60196
60226
|
let name = "";
|
|
60197
60227
|
const cachedPrefix = cache.lastFastDirPrefix;
|
|
60198
60228
|
const cachedDir = cache.lastFastDirNode;
|
|
60199
|
-
if (cachedDir !== void 0 && cachedDir.nlink !== 0 && (cachedDir.mode &
|
|
60229
|
+
if (cachedDir !== void 0 && cachedDir.nlink !== 0 && (cachedDir.mode & 64) !== 0 && cachedPrefix.length > 1 && path.startsWith(cachedPrefix) && path.indexOf("/", cachedPrefix.length) === -1) {
|
|
60200
60230
|
parent = cachedDir;
|
|
60201
60231
|
name = path.slice(cachedPrefix.length);
|
|
60202
60232
|
if (exceedsComponentByteLimit2(name))
|
|
@@ -60209,7 +60239,7 @@ var MemoryFileSystem = class _MemoryFileSystem {
|
|
|
60209
60239
|
name = path.slice(start);
|
|
60210
60240
|
if (exceedsComponentByteLimit2(name))
|
|
60211
60241
|
this.fail("ENAMETOOLONG", syscall, path);
|
|
60212
|
-
if (start > 1 && (parent.mode &
|
|
60242
|
+
if (start > 1 && (parent.mode & 64) !== 0) {
|
|
60213
60243
|
cache.lastFastDirPrefix = path.slice(0, start);
|
|
60214
60244
|
cache.lastFastDirNode = parent;
|
|
60215
60245
|
}
|
|
@@ -60329,6 +60359,7 @@ var MemoryFileSystem = class _MemoryFileSystem {
|
|
|
60329
60359
|
let ino = this.nextInode;
|
|
60330
60360
|
this.nextInode = ino + batchCount;
|
|
60331
60361
|
let nextIdx = 1;
|
|
60362
|
+
entries2._missKey = "";
|
|
60332
60363
|
entries2._next = 1 + batchCount;
|
|
60333
60364
|
entries2.size = 1 + batchCount;
|
|
60334
60365
|
const table = entries2._table;
|
|
@@ -60378,12 +60409,15 @@ var MemoryFileSystem = class _MemoryFileSystem {
|
|
|
60378
60409
|
}
|
|
60379
60410
|
}
|
|
60380
60411
|
writeMemoryFileInDirFast(dirPrefix, name, data, append, mode, nameHash) {
|
|
60412
|
+
if (this.ledger.limits.maxPathBytes !== Infinity || this.ledger.limits.maxPathComponents !== Infinity)
|
|
60413
|
+
validatePath(dirPrefix + name, this.ledger.limits);
|
|
60381
60414
|
const cache = this._cache;
|
|
60382
60415
|
if (!append && dirPrefix === cache.lastFastDirPrefix && cache.lastFastDirNode !== void 0 && cache.lastFastDirNode.nlink !== 0 && (cache.lastFastDirNode.mode & 192) === 192 && name.length <= 85 && this.ledger.hasInfiniteRetained && this.ledger.hasInfiniteFileBytes && this.ledger.limits.maxBytes === void 0 && sharedFileNodePoolLen > 0) {
|
|
60383
60416
|
const parent = cache.lastFastDirNode;
|
|
60384
60417
|
const entries2 = parent.entries;
|
|
60385
60418
|
const existing = nameHash !== void 0 ? entries2.getForWriteWithHash(name, nameHash) : entries2.getForWrite(name);
|
|
60386
60419
|
if (existing === void 0 && entries2._next < entries2._keys.length) {
|
|
60420
|
+
this.ledger.reserve(name.length * 2, 2, "writeFile", name);
|
|
60387
60421
|
const now = fastWriteCachedNow;
|
|
60388
60422
|
const length = data.byteLength;
|
|
60389
60423
|
const node = sharedFileNodePool[--sharedFileNodePoolLen];
|
|
@@ -60405,13 +60439,11 @@ var MemoryFileSystem = class _MemoryFileSystem {
|
|
|
60405
60439
|
node.allocation = DUMMY_POOL_ALLOCATION;
|
|
60406
60440
|
node.sourceRef = node.data.subarray(0);
|
|
60407
60441
|
const entryIdx = entries2._next++;
|
|
60408
|
-
entries2._table[
|
|
60442
|
+
entries2._table[entries2._missSlot] = entryIdx;
|
|
60409
60443
|
entries2._keys[entryIdx] = name;
|
|
60410
60444
|
entries2._vals[entryIdx] = node;
|
|
60411
60445
|
entries2.size++;
|
|
60412
|
-
|
|
60413
|
-
lastFastMapMiss.key = "";
|
|
60414
|
-
this.ledger.reserve(name.length * 2, 2, "writeFile", name);
|
|
60446
|
+
entries2._missKey = "";
|
|
60415
60447
|
this.totalBytes += length;
|
|
60416
60448
|
this.mutationTick = this.mutationTick + 1 | 0;
|
|
60417
60449
|
parent.revision = parent.revision < 1073741823 ? parent.revision + 1 | 0 : Math.min(Number.MAX_SAFE_INTEGER + 1, parent.revision + 1);
|
|
@@ -60424,7 +60456,7 @@ var MemoryFileSystem = class _MemoryFileSystem {
|
|
|
60424
60456
|
}
|
|
60425
60457
|
const syscall = append ? "appendFile" : "writeFile";
|
|
60426
60458
|
try {
|
|
60427
|
-
if (append && dirPrefix === cache.lastFastDirPrefix && name === cache.lastFastFileName && cache.lastFastFileNode !== void 0 && cache.lastFastFileNode.nlink !== 0 && cache.lastFastDirNode !== void 0 && cache.lastFastDirNode.nlink !== 0 && (cache.lastFastDirNode.mode &
|
|
60459
|
+
if (append && dirPrefix === cache.lastFastDirPrefix && name === cache.lastFastFileName && cache.lastFastFileNode !== void 0 && cache.lastFastFileNode.nlink !== 0 && cache.lastFastDirNode !== void 0 && cache.lastFastDirNode.nlink !== 0 && (cache.lastFastDirNode.mode & 64) !== 0 && (cache.lastFastFileNode.mode & 128) !== 0) {
|
|
60428
60460
|
const current2 = cache.lastFastFileNode;
|
|
60429
60461
|
const length2 = current2.byteLength + data.byteLength;
|
|
60430
60462
|
this.admitSize(current2, length2, syscall, name);
|
|
@@ -60435,7 +60467,7 @@ var MemoryFileSystem = class _MemoryFileSystem {
|
|
|
60435
60467
|
}
|
|
60436
60468
|
let parent = this.root;
|
|
60437
60469
|
const cachedDir = cache.lastFastDirNode;
|
|
60438
|
-
if (cachedDir !== void 0 && cachedDir.nlink !== 0 && (cachedDir.mode &
|
|
60470
|
+
if (cachedDir !== void 0 && cachedDir.nlink !== 0 && (cachedDir.mode & 64) !== 0 && dirPrefix === cache.lastFastDirPrefix) {
|
|
60439
60471
|
parent = cachedDir;
|
|
60440
60472
|
if (exceedsComponentByteLimit2(name))
|
|
60441
60473
|
this.fail("ENAMETOOLONG", syscall, name);
|
|
@@ -60460,7 +60492,7 @@ var MemoryFileSystem = class _MemoryFileSystem {
|
|
|
60460
60492
|
this.permission(parent, 1, syscall, name);
|
|
60461
60493
|
if (exceedsComponentByteLimit2(name))
|
|
60462
60494
|
this.fail("ENAMETOOLONG", syscall, name);
|
|
60463
|
-
if (dirPrefix.length > 1 && (parent.mode &
|
|
60495
|
+
if (dirPrefix.length > 1 && (parent.mode & 64) !== 0) {
|
|
60464
60496
|
cache.lastFastDirPrefix = dirPrefix;
|
|
60465
60497
|
cache.lastFastDirNode = parent;
|
|
60466
60498
|
}
|
|
@@ -60536,11 +60568,7 @@ var MemoryFileSystem = class _MemoryFileSystem {
|
|
|
60536
60568
|
cache.lastFastFilePath = "";
|
|
60537
60569
|
cache.lastFastFileName = name;
|
|
60538
60570
|
cache.lastFastFileNode = node;
|
|
60539
|
-
lastFastMapMiss.map = void 0;
|
|
60540
|
-
lastFastMapMiss.key = "";
|
|
60541
60571
|
} catch (error) {
|
|
60542
|
-
lastFastMapMiss.map = void 0;
|
|
60543
|
-
lastFastMapMiss.key = "";
|
|
60544
60572
|
this.ledger.release(nameBytes, 2);
|
|
60545
60573
|
throw error;
|
|
60546
60574
|
}
|
|
@@ -62534,27 +62562,42 @@ function* parseXmlSteps(input, limits = {}) {
|
|
|
62534
62562
|
throw new XmlLimitError("maxContentNodes", "XML content node limit exceeded");
|
|
62535
62563
|
};
|
|
62536
62564
|
let pendingWork = 0;
|
|
62537
|
-
const skipWhitespace = ()
|
|
62565
|
+
const skipWhitespace = function* () {
|
|
62538
62566
|
const start2 = offset;
|
|
62539
62567
|
while (offset < source.length) {
|
|
62540
62568
|
const c = source.charCodeAt(offset);
|
|
62541
62569
|
if (c !== 32 && c !== 9 && c !== 10 && c !== 13)
|
|
62542
62570
|
break;
|
|
62543
62571
|
offset++;
|
|
62572
|
+
pendingWork++;
|
|
62573
|
+
if (pendingWork >= 512) {
|
|
62574
|
+
yield 512;
|
|
62575
|
+
pendingWork -= 512;
|
|
62576
|
+
}
|
|
62544
62577
|
}
|
|
62545
62578
|
return offset - start2;
|
|
62546
62579
|
};
|
|
62547
|
-
const scanName = ()
|
|
62580
|
+
const scanName = function* () {
|
|
62548
62581
|
const start2 = offset;
|
|
62549
62582
|
while (offset < source.length) {
|
|
62550
62583
|
const c = source.charCodeAt(offset);
|
|
62551
62584
|
if (c === 32 || c === 9 || c === 13 || c === 10 || c === 47 || c === 61 || c === 62 || c === 63)
|
|
62552
62585
|
break;
|
|
62553
62586
|
offset++;
|
|
62587
|
+
pendingWork++;
|
|
62588
|
+
if (pendingWork >= 512) {
|
|
62589
|
+
yield 512;
|
|
62590
|
+
pendingWork -= 512;
|
|
62591
|
+
}
|
|
62554
62592
|
}
|
|
62555
62593
|
const name = source.slice(start2, offset);
|
|
62594
|
+
pendingWork += offset - start2;
|
|
62595
|
+
while (pendingWork >= 512) {
|
|
62596
|
+
yield 512;
|
|
62597
|
+
pendingWork -= 512;
|
|
62598
|
+
}
|
|
62556
62599
|
const [prefix, localName] = qualifiedNameSync(name, qualifiedNames);
|
|
62557
|
-
return [name, prefix, localName
|
|
62600
|
+
return [name, prefix, localName];
|
|
62558
62601
|
};
|
|
62559
62602
|
while (offset < source.length) {
|
|
62560
62603
|
pendingWork += 1;
|
|
@@ -62591,11 +62634,15 @@ function* parseXmlSteps(input, limits = {}) {
|
|
|
62591
62634
|
}
|
|
62592
62635
|
} else {
|
|
62593
62636
|
for (let index = 0; index < resolved.length; index++) {
|
|
62637
|
+
pendingWork++;
|
|
62638
|
+
if (pendingWork >= 512) {
|
|
62639
|
+
yield 512;
|
|
62640
|
+
pendingWork -= 512;
|
|
62641
|
+
}
|
|
62594
62642
|
const c = resolved.charCodeAt(index);
|
|
62595
62643
|
if (c !== 32 && c !== 9 && c !== 13 && c !== 10)
|
|
62596
62644
|
invalid("text outside the root");
|
|
62597
62645
|
}
|
|
62598
|
-
pendingWork += resolved.length;
|
|
62599
62646
|
while (pendingWork >= 512) {
|
|
62600
62647
|
yield 512;
|
|
62601
62648
|
pendingWork -= 512;
|
|
@@ -62637,8 +62684,7 @@ function* parseXmlSteps(input, limits = {}) {
|
|
|
62637
62684
|
} else if (source.startsWith("<?", offset)) {
|
|
62638
62685
|
const start2 = offset;
|
|
62639
62686
|
offset += 2;
|
|
62640
|
-
const [target
|
|
62641
|
-
pendingWork += wName;
|
|
62687
|
+
const [target] = yield* scanName();
|
|
62642
62688
|
while (pendingWork >= 512) {
|
|
62643
62689
|
yield 512;
|
|
62644
62690
|
pendingWork -= 512;
|
|
@@ -62677,8 +62723,8 @@ function* parseXmlSteps(input, limits = {}) {
|
|
|
62677
62723
|
invalid("DTD and entity declarations are forbidden");
|
|
62678
62724
|
} else if (source.charCodeAt(offset + 1) === 47) {
|
|
62679
62725
|
offset += 2;
|
|
62680
|
-
const [name
|
|
62681
|
-
|
|
62726
|
+
const [name] = yield* scanName();
|
|
62727
|
+
yield* skipWhitespace();
|
|
62682
62728
|
while (pendingWork >= 512) {
|
|
62683
62729
|
yield 512;
|
|
62684
62730
|
pendingWork -= 512;
|
|
@@ -62691,10 +62737,11 @@ function* parseXmlSteps(input, limits = {}) {
|
|
|
62691
62737
|
} else {
|
|
62692
62738
|
offset++;
|
|
62693
62739
|
const repeated = previousEmpty && source.startsWith(previousEmpty.suffix, offset) ? previousEmpty : void 0;
|
|
62694
|
-
const [name, prefix, localName
|
|
62740
|
+
const [name, prefix, localName] = repeated ? [repeated.name, repeated.prefix, repeated.localName] : yield* scanName();
|
|
62695
62741
|
if (repeated)
|
|
62696
62742
|
offset += name.length;
|
|
62697
|
-
|
|
62743
|
+
if (repeated)
|
|
62744
|
+
pendingWork += name.length * 2;
|
|
62698
62745
|
while (pendingWork >= 512) {
|
|
62699
62746
|
yield 512;
|
|
62700
62747
|
pendingWork -= 512;
|
|
@@ -62704,8 +62751,7 @@ function* parseXmlSteps(input, limits = {}) {
|
|
|
62704
62751
|
let namespaces = stack.at(-1)?.namespaces ?? /* @__PURE__ */ new Map([["xml", xmlNamespace]]);
|
|
62705
62752
|
let ownsNamespaces = stack.length === 0;
|
|
62706
62753
|
while (!repeated) {
|
|
62707
|
-
const ws = skipWhitespace();
|
|
62708
|
-
pendingWork += ws;
|
|
62754
|
+
const ws = yield* skipWhitespace();
|
|
62709
62755
|
while (pendingWork >= 512) {
|
|
62710
62756
|
yield 512;
|
|
62711
62757
|
pendingWork -= 512;
|
|
@@ -62715,8 +62761,7 @@ function* parseXmlSteps(input, limits = {}) {
|
|
|
62715
62761
|
break;
|
|
62716
62762
|
if (ws === 0)
|
|
62717
62763
|
invalid("attributes require whitespace");
|
|
62718
|
-
const [attribute, attrPrefix, attrLocal
|
|
62719
|
-
pendingWork += wAttr;
|
|
62764
|
+
const [attribute, attrPrefix, attrLocal] = yield* scanName();
|
|
62720
62765
|
while (pendingWork >= 512) {
|
|
62721
62766
|
yield 512;
|
|
62722
62767
|
pendingWork -= 512;
|
|
@@ -62727,10 +62772,10 @@ function* parseXmlSteps(input, limits = {}) {
|
|
|
62727
62772
|
throw new XmlLimitError("maxAttributes", "XML attribute limit exceeded");
|
|
62728
62773
|
if ((attributes?.size ?? 0) >= maxAttributesPerElement)
|
|
62729
62774
|
throw new XmlLimitError("maxAttributesPerElement", "XML attribute limit exceeded");
|
|
62730
|
-
|
|
62775
|
+
yield* skipWhitespace();
|
|
62731
62776
|
if (source[offset++] !== "=")
|
|
62732
62777
|
invalid("missing attribute equals");
|
|
62733
|
-
|
|
62778
|
+
yield* skipWhitespace();
|
|
62734
62779
|
const quote = source[offset++];
|
|
62735
62780
|
if (quote !== '"' && quote !== "'")
|
|
62736
62781
|
invalid("unquoted attribute");
|
|
@@ -62917,14 +62962,13 @@ function scalar(element) {
|
|
|
62917
62962
|
|
|
62918
62963
|
// ../safe-fs/dist/fs/webdav/webdav.js
|
|
62919
62964
|
var timestampNamespace = "urn:virtual-bash:metadata";
|
|
62920
|
-
|
|
62921
|
-
function preflightTimestamps(property) {
|
|
62965
|
+
function preflightTimestamps(property, maxTimestampPropertyBytes) {
|
|
62922
62966
|
let bytes = 0;
|
|
62923
62967
|
for (const point of property.text) {
|
|
62924
62968
|
const code = point.codePointAt(0);
|
|
62925
62969
|
bytes += code <= 127 ? 1 : code <= 2047 ? 2 : code <= 65535 ? 3 : 4;
|
|
62926
62970
|
if (bytes > maxTimestampPropertyBytes)
|
|
62927
|
-
throw new Error("timestamp property exceeds
|
|
62971
|
+
throw new Error("timestamp property exceeds byte limit");
|
|
62928
62972
|
}
|
|
62929
62973
|
const text = scalar(property);
|
|
62930
62974
|
let offset = 0;
|
|
@@ -63165,6 +63209,7 @@ var WebDavFileSystem = class {
|
|
|
63165
63209
|
headers;
|
|
63166
63210
|
maxResponseBytes;
|
|
63167
63211
|
maxXmlBytes;
|
|
63212
|
+
maxTimestampPropertyBytes;
|
|
63168
63213
|
maxEntries;
|
|
63169
63214
|
xmlLimits;
|
|
63170
63215
|
timeoutMs;
|
|
@@ -63234,6 +63279,7 @@ var WebDavFileSystem = class {
|
|
|
63234
63279
|
streamingAppend: this.requestStreamSupport !== false
|
|
63235
63280
|
});
|
|
63236
63281
|
this.maxResponseBytes = options.maxResponseBytes === void 0 ? Infinity : positive(options.maxResponseBytes, "maxResponseBytes", false, true);
|
|
63282
|
+
this.maxTimestampPropertyBytes = positive(options.maxTimestampPropertyBytes ?? Infinity, "maxTimestampPropertyBytes", true, true);
|
|
63237
63283
|
this.maxXmlBytes = options.maxXmlBytes === void 0 ? Infinity : positive(options.maxXmlBytes, "maxXmlBytes", false, true);
|
|
63238
63284
|
this.xmlLimits = Object.freeze({ ...options.xmlLimits });
|
|
63239
63285
|
for (const [name, value] of Object.entries(this.xmlLimits))
|
|
@@ -63669,7 +63715,7 @@ var WebDavFileSystem = class {
|
|
|
63669
63715
|
let mtimeMs = date("getlastmodified") ?? 0;
|
|
63670
63716
|
let atimeMs = 0;
|
|
63671
63717
|
if (timestampProperty) {
|
|
63672
|
-
const timestamps = JSON.parse(preflightTimestamps(timestampProperty));
|
|
63718
|
+
const timestamps = JSON.parse(preflightTimestamps(timestampProperty, this.maxTimestampPropertyBytes));
|
|
63673
63719
|
if (typeof timestamps !== "object" || timestamps === null || !("version" in timestamps) || timestamps.version !== 1 || !("etag" in timestamps) || typeof timestamps.etag !== "string" || !/^"[\x21\x23-\x7e\x80-\xff]*"$/.test(timestamps.etag) || !("type" in timestamps) || timestamps.type !== "file" && timestamps.type !== "directory" || !("atimeMs" in timestamps) || typeof timestamps.atimeMs !== "number" || !Number.isFinite(timestamps.atimeMs) || Math.abs(timestamps.atimeMs) > 864e13 || !("mtimeMs" in timestamps) || typeof timestamps.mtimeMs !== "number" || !Number.isFinite(timestamps.mtimeMs) || Math.abs(timestamps.mtimeMs) > 864e13)
|
|
63674
63720
|
throw new Error("invalid timestamp property");
|
|
63675
63721
|
if (timestamps.etag === validator && timestamps.type === (directory ? "directory" : "file")) {
|