@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
|
@@ -35,6 +35,7 @@ import {
|
|
|
35
35
|
|
|
36
36
|
// packages/safe-bash-command-imagemagick/src/index.ts
|
|
37
37
|
init_buffer();
|
|
38
|
+
import { resolvePath } from "../safe-bash-contracts/path.js";
|
|
38
39
|
import { yieldTurn, drainCooperativeSteps as drainSteps } from "../safe-bash-contracts/yield.js";
|
|
39
40
|
import { InputByteBudget } from "../safe-bash-contracts/io.js";
|
|
40
41
|
import { writeFileOutput } from "../safe-bash-contracts/filesystem-output-budget.js";
|
|
@@ -3323,10 +3324,22 @@ function parseMagickIndexSpec(spec, length) {
|
|
|
3323
3324
|
function* evaluatePipelineTokensSteps(tokens, files, state, parentStack = [], stdinBytes, signal) {
|
|
3324
3325
|
let cooperativeWork = 63;
|
|
3325
3326
|
let stack = [];
|
|
3327
|
+
let operandsOnly = false;
|
|
3326
3328
|
let i = 0;
|
|
3327
3329
|
while (i < tokens.length) {
|
|
3328
3330
|
yield;
|
|
3329
3331
|
const t = tokens[i];
|
|
3332
|
+
if (!operandsOnly && t === "--") {
|
|
3333
|
+
operandsOnly = true;
|
|
3334
|
+
i++;
|
|
3335
|
+
continue;
|
|
3336
|
+
}
|
|
3337
|
+
if (operandsOnly) {
|
|
3338
|
+
const loaded = yield* parseInputOperandsSteps(t, files, state, stdinBytes);
|
|
3339
|
+
if (loaded) stack.push(...loaded);
|
|
3340
|
+
i++;
|
|
3341
|
+
continue;
|
|
3342
|
+
}
|
|
3330
3343
|
if (t === "(") {
|
|
3331
3344
|
let depth = 1;
|
|
3332
3345
|
let j = i + 1;
|
|
@@ -4269,14 +4282,15 @@ function* evaluatePipelineTokensSteps(tokens, files, state, parentStack = [], st
|
|
|
4269
4282
|
}
|
|
4270
4283
|
function* runConvertCliSteps(argv, files, stdinBytes, signal) {
|
|
4271
4284
|
let cooperativeWork = 63;
|
|
4272
|
-
|
|
4285
|
+
const optionArgs = argv.slice(0, argv.indexOf("--") < 0 ? argv.length : argv.indexOf("--"));
|
|
4286
|
+
if (argv.length === 0 || optionArgs.includes("--help") || optionArgs.includes("-help") || optionArgs.includes("-h")) {
|
|
4273
4287
|
return {
|
|
4274
4288
|
exitCode: 0,
|
|
4275
4289
|
stdout: "Usage: magick [input-options] input-file [operators] output-file\n",
|
|
4276
4290
|
stderr: ""
|
|
4277
4291
|
};
|
|
4278
4292
|
}
|
|
4279
|
-
if (
|
|
4293
|
+
if (optionArgs.includes("--version") || optionArgs.includes("-version")) {
|
|
4280
4294
|
return {
|
|
4281
4295
|
exitCode: 0,
|
|
4282
4296
|
stdout: "Version: ImageMagick 7.1.1-safe-bash (@poe-code/image-ast)\n",
|
|
@@ -5040,7 +5054,6 @@ async function executeVfsMagickTool(context, runner, maxInputBytes) {
|
|
|
5040
5054
|
const carrier = getCommandArguments(context);
|
|
5041
5055
|
const argv = [...carrier.args];
|
|
5042
5056
|
const vfsFiles = /* @__PURE__ */ new Map();
|
|
5043
|
-
const resolveVfsPath = (p) => p.startsWith("/") ? p : `${context.cwd === "/" ? "" : context.cwd}/${p}`;
|
|
5044
5057
|
const budget = new InputByteBudget(maxInputBytes);
|
|
5045
5058
|
let accountedBytes = 0;
|
|
5046
5059
|
const chargeInput = (bytes) => {
|
|
@@ -5050,13 +5063,18 @@ async function executeVfsMagickTool(context, runner, maxInputBytes) {
|
|
|
5050
5063
|
};
|
|
5051
5064
|
let needsStdin = false;
|
|
5052
5065
|
const hasOutputOperand = runner !== runIdentifyCli && !(runner === runMagickCli && argv[0] === "identify");
|
|
5066
|
+
let operandsOnly = false;
|
|
5053
5067
|
for (const [index, token] of argv.entries()) {
|
|
5054
5068
|
if (++cooperativeWork % 64 === 0) await yieldTurn(context.signal);
|
|
5069
|
+
if (!operandsOnly && token === "--") {
|
|
5070
|
+
operandsOnly = true;
|
|
5071
|
+
continue;
|
|
5072
|
+
}
|
|
5055
5073
|
if (token === "-" || token.endsWith(":-")) {
|
|
5056
5074
|
if (!hasOutputOperand || index < argv.length - 1) needsStdin = true;
|
|
5057
5075
|
continue;
|
|
5058
5076
|
}
|
|
5059
|
-
if (token.startsWith("-") || token.startsWith("+") || token === "(" || token === ")") continue;
|
|
5077
|
+
if (!operandsOnly && (token.startsWith("-") || token.startsWith("+") || token === "(" || token === ")")) continue;
|
|
5060
5078
|
let candidate = token.toLowerCase().startsWith("tile:") ? token.slice(5) : token;
|
|
5061
5079
|
const prefixMatch = /^([a-zA-Z0-9]+):(.*)$/.exec(candidate);
|
|
5062
5080
|
if (prefixMatch && extToImageFormat(prefixMatch[1])) {
|
|
@@ -5068,7 +5086,7 @@ async function executeVfsMagickTool(context, runner, maxInputBytes) {
|
|
|
5068
5086
|
}
|
|
5069
5087
|
let bytes;
|
|
5070
5088
|
try {
|
|
5071
|
-
bytes = await context.fs.readFile(
|
|
5089
|
+
bytes = await context.fs.readFile(resolvePath(context.cwd, candidate), {
|
|
5072
5090
|
signal: invocation.signal
|
|
5073
5091
|
});
|
|
5074
5092
|
} catch {
|
|
@@ -5111,7 +5129,7 @@ async function executeVfsMagickTool(context, runner, maxInputBytes) {
|
|
|
5111
5129
|
for (const [key, val] of vfsFiles.entries()) {
|
|
5112
5130
|
if (++cooperativeWork % 64 === 0) await yieldTurn(context.signal);
|
|
5113
5131
|
if (existingSnap.get(key) !== val) {
|
|
5114
|
-
const abs =
|
|
5132
|
+
const abs = resolvePath(context.cwd, key);
|
|
5115
5133
|
await writeFileOutput(context, val, (data) => context.fs.writeFile(abs, data, { signal: invocation.signal }));
|
|
5116
5134
|
}
|
|
5117
5135
|
}
|
|
@@ -4,6 +4,8 @@ import {
|
|
|
4
4
|
|
|
5
5
|
// packages/safe-bash-command-less/src/index.ts
|
|
6
6
|
init_buffer();
|
|
7
|
+
import { Pattern } from "../safe-bash-regex-engine/index.js";
|
|
8
|
+
import { Budget } from "../safe-bash-regex-engine/text/budget.js";
|
|
7
9
|
import { FsError } from "../safe-bash-contracts/index.js";
|
|
8
10
|
import { PublicDiagnostic } from "../safe-bash-contracts/diagnostics.js";
|
|
9
11
|
import { yieldTurn } from "../safe-bash-contracts/yield.js";
|
|
@@ -89,6 +91,7 @@ function createPagerCommand(name, options = {}) {
|
|
|
89
91
|
const args = getCommandArguments(context).args;
|
|
90
92
|
let lineNumbers = false;
|
|
91
93
|
let squeezeBlank = false;
|
|
94
|
+
let ignoreCase = false;
|
|
92
95
|
let startLine = 1;
|
|
93
96
|
let startSearch;
|
|
94
97
|
const files = [];
|
|
@@ -121,6 +124,8 @@ function createPagerCommand(name, options = {}) {
|
|
|
121
124
|
if (!endOfOptions && arg.startsWith("--")) {
|
|
122
125
|
if (arg === "--LINE-NUMBERS" || arg === "--line-numbers") lineNumbers = true;
|
|
123
126
|
else if (arg === "--squeeze-blank-lines") squeezeBlank = true;
|
|
127
|
+
else if (arg === "--ignore-case" || arg === "--IGNORE-CASE") ignoreCase = true;
|
|
128
|
+
else if (arg === "--pattern" || arg.startsWith("--pattern=")) startSearch = arg === "--pattern" ? args[++i] ?? "" : arg.slice(10);
|
|
124
129
|
continue;
|
|
125
130
|
}
|
|
126
131
|
if (!endOfOptions && arg.startsWith("-") && arg.length > 1) {
|
|
@@ -129,12 +134,16 @@ function createPagerCommand(name, options = {}) {
|
|
|
129
134
|
if (ch === "N") lineNumbers = true;
|
|
130
135
|
else if (ch === "n") lineNumbers = false;
|
|
131
136
|
else if (ch === "s") squeezeBlank = true;
|
|
137
|
+
else if (ch === "i" || ch === "I") ignoreCase = true;
|
|
132
138
|
else if (ch === "p") {
|
|
133
139
|
startSearch = j < arg.length - 1 ? arg.slice(j + 1) : args[++i] ?? "";
|
|
134
140
|
break;
|
|
135
141
|
} else if ("Pxz".includes(ch)) {
|
|
136
|
-
|
|
137
|
-
|
|
142
|
+
const value = j < arg.length - 1 ? arg.slice(j + 1) : args[++i];
|
|
143
|
+
if (value === void 0 || ch !== "P" && !(ch === "x" ? /^\d+(,\d+)*$/u : /^[+-]?\d+$/u).test(value)) {
|
|
144
|
+
await writeText(context.stderr, `${name}: numeric value required after -${ch}
|
|
145
|
+
`);
|
|
146
|
+
return { exitCode: 1 };
|
|
138
147
|
}
|
|
139
148
|
break;
|
|
140
149
|
}
|
|
@@ -166,6 +175,7 @@ function createPagerCommand(name, options = {}) {
|
|
|
166
175
|
return { exitCode: 0 };
|
|
167
176
|
}
|
|
168
177
|
try {
|
|
178
|
+
const passThrough = !lineNumbers && !squeezeBlank && startLine === 1 && !startSearch;
|
|
169
179
|
const texts = [];
|
|
170
180
|
let exitCode = 0;
|
|
171
181
|
if (files.length === 0) {
|
|
@@ -173,7 +183,15 @@ function createPagerCommand(name, options = {}) {
|
|
|
173
183
|
} else {
|
|
174
184
|
for (const file of files) {
|
|
175
185
|
if (file === "-") {
|
|
176
|
-
|
|
186
|
+
if (passThrough) {
|
|
187
|
+
let total = 0;
|
|
188
|
+
for await (const chunk of readBytes(context.stdin, context.signal)) {
|
|
189
|
+
total += chunk.byteLength;
|
|
190
|
+
if (total > maxBytes) throw new PublicDiagnostic(`input exceeds maximum size of ${maxBytes} bytes`);
|
|
191
|
+
await writeBytes(context.stdout, chunk, context.signal);
|
|
192
|
+
await yieldTurn(context.signal);
|
|
193
|
+
}
|
|
194
|
+
} else texts.push(await readSourceText(context.stdin, maxBytes, context.signal));
|
|
177
195
|
} else {
|
|
178
196
|
try {
|
|
179
197
|
const targetPath = pathPosix.resolve(context.cwd, file);
|
|
@@ -184,7 +202,8 @@ function createPagerCommand(name, options = {}) {
|
|
|
184
202
|
`);
|
|
185
203
|
return { exitCode: 1 };
|
|
186
204
|
}
|
|
187
|
-
|
|
205
|
+
if (passThrough) await writeBytes(context.stdout, raw, context.signal);
|
|
206
|
+
else texts.push(new TextDecoder("utf-8", { fatal: false }).decode(raw));
|
|
188
207
|
} catch (err) {
|
|
189
208
|
context.signal.throwIfAborted();
|
|
190
209
|
if (!(err instanceof FsError)) throw err;
|
|
@@ -203,11 +222,13 @@ function createPagerCommand(name, options = {}) {
|
|
|
203
222
|
if (hasTrailingNewline) rawLines.pop();
|
|
204
223
|
let startIdx = Math.max(0, startLine - 1);
|
|
205
224
|
if (startSearch) {
|
|
225
|
+
const pattern = new Pattern(startSearch, true, ignoreCase);
|
|
226
|
+
const budget = new Budget(context, { maxSteps: Infinity, maxBufferBytes: Infinity });
|
|
206
227
|
let found = -1;
|
|
207
228
|
for (let index = 0; index < rawLines.length; index++) {
|
|
208
229
|
context.signal.throwIfAborted();
|
|
209
230
|
if ((index & 127) === 0) await yieldTurn(context.signal);
|
|
210
|
-
if (rawLines[index]
|
|
231
|
+
if (await pattern.find(rawLines[index], budget) !== void 0) {
|
|
211
232
|
found = index;
|
|
212
233
|
break;
|
|
213
234
|
}
|
|
@@ -267,12 +288,11 @@ function lessCommands(options = {}) {
|
|
|
267
288
|
};
|
|
268
289
|
}
|
|
269
290
|
var pagerCommands = lessCommands;
|
|
270
|
-
var syncLessDecoder = new TextDecoder("utf-8", { fatal:
|
|
291
|
+
var syncLessDecoder = new TextDecoder("utf-8", { fatal: true, ignoreBOM: true });
|
|
271
292
|
var SYNC_LESS_SIMPLE_FLAGS = /* @__PURE__ */ new Set(["N", "s", "F", "R", "X", "S", "i", "I", "q", "Q", "e", "E", "m", "M", "w", "W", "c", "d", "f", "u", "n", "G", "g", "J", "K", "L", "r", "U", "V"]);
|
|
272
293
|
function evalSyncLess(stdinBytes, args, readFile) {
|
|
273
294
|
let lineNumbers = false;
|
|
274
295
|
let squeezeBlank = false;
|
|
275
|
-
let ignoreCase = false;
|
|
276
296
|
let startLine = 1;
|
|
277
297
|
let startSearch;
|
|
278
298
|
const files = [];
|
|
@@ -297,7 +317,7 @@ function evalSyncLess(stdinBytes, args, readFile) {
|
|
|
297
317
|
if (parsingFlags && arg.startsWith("--")) {
|
|
298
318
|
if (arg === "--LINE-NUMBERS" || arg === "--line-numbers") lineNumbers = true;
|
|
299
319
|
else if (arg === "--squeeze-blank-lines") squeezeBlank = true;
|
|
300
|
-
else if (arg === "--ignore-case" || arg === "--IGNORE-CASE")
|
|
320
|
+
else if (arg === "--ignore-case" || arg === "--IGNORE-CASE") continue;
|
|
301
321
|
else if (arg === "--pattern" || arg.startsWith("--pattern=")) {
|
|
302
322
|
const pat = arg === "--pattern" ? args[++i] : arg.slice(10);
|
|
303
323
|
if (pat === void 0) return void 0;
|
|
@@ -316,17 +336,15 @@ function evalSyncLess(stdinBytes, args, readFile) {
|
|
|
316
336
|
break;
|
|
317
337
|
}
|
|
318
338
|
if ("Pxz".includes(ch)) {
|
|
319
|
-
|
|
339
|
+
const value = j < arg.length - 1 ? arg.slice(j + 1) : args[++i];
|
|
340
|
+
if (value === void 0 || ch !== "P" && !(ch === "x" ? /^\d+(,\d+)*$/u : /^[+-]?\d+$/u).test(value)) return void 0;
|
|
320
341
|
break;
|
|
321
342
|
}
|
|
322
343
|
if (ch === "n") {
|
|
323
344
|
lineNumbers = false;
|
|
324
345
|
continue;
|
|
325
346
|
}
|
|
326
|
-
if (ch === "i" || ch === "I")
|
|
327
|
-
ignoreCase = true;
|
|
328
|
-
continue;
|
|
329
|
-
}
|
|
347
|
+
if (ch === "i" || ch === "I") continue;
|
|
330
348
|
if (!SYNC_LESS_SIMPLE_FLAGS.has(ch) || ch === "V") return void 0;
|
|
331
349
|
if (ch === "N") lineNumbers = true;
|
|
332
350
|
else if (ch === "s") squeezeBlank = true;
|
|
@@ -335,16 +353,25 @@ function evalSyncLess(stdinBytes, args, readFile) {
|
|
|
335
353
|
}
|
|
336
354
|
files.push(arg);
|
|
337
355
|
}
|
|
356
|
+
if (startSearch) return void 0;
|
|
338
357
|
const chunks = [];
|
|
339
358
|
if (files.length === 0) {
|
|
340
359
|
if (!stdinBytes) return void 0;
|
|
341
|
-
|
|
360
|
+
try {
|
|
361
|
+
chunks.push(syncLessDecoder.decode(stdinBytes));
|
|
362
|
+
} catch {
|
|
363
|
+
return void 0;
|
|
364
|
+
}
|
|
342
365
|
} else {
|
|
343
366
|
for (let i = 0; i < files.length; i++) {
|
|
344
367
|
const f = files[i];
|
|
345
368
|
const b = f === "-" ? stdinBytes : readFile ? readFile(f) : void 0;
|
|
346
369
|
if (!b) return void 0;
|
|
347
|
-
|
|
370
|
+
try {
|
|
371
|
+
chunks.push(syncLessDecoder.decode(b));
|
|
372
|
+
} catch {
|
|
373
|
+
return void 0;
|
|
374
|
+
}
|
|
348
375
|
}
|
|
349
376
|
}
|
|
350
377
|
const combined = chunks.join("");
|
|
@@ -355,19 +382,7 @@ function evalSyncLess(stdinBytes, args, readFile) {
|
|
|
355
382
|
const hasTrailingNewline = combined.endsWith("\n");
|
|
356
383
|
const rawLines = combined.split("\n");
|
|
357
384
|
if (hasTrailingNewline) rawLines.pop();
|
|
358
|
-
|
|
359
|
-
if (startSearch) {
|
|
360
|
-
let found = -1;
|
|
361
|
-
const needle = ignoreCase ? startSearch.toLowerCase() : startSearch;
|
|
362
|
-
for (let idx = 0; idx < rawLines.length; idx++) {
|
|
363
|
-
const hay = ignoreCase ? rawLines[idx].toLowerCase() : rawLines[idx];
|
|
364
|
-
if (hay.includes(needle)) {
|
|
365
|
-
found = idx;
|
|
366
|
-
break;
|
|
367
|
-
}
|
|
368
|
-
}
|
|
369
|
-
if (found >= 0) startIdx = found;
|
|
370
|
-
}
|
|
385
|
+
const startIdx = Math.max(0, startLine - 1);
|
|
371
386
|
let out = "";
|
|
372
387
|
let prevBlank = false;
|
|
373
388
|
for (let idx = startIdx; idx < rawLines.length; idx++) {
|
|
@@ -11,3 +11,4 @@ export { serializeSceneToSvg } from "./svg.js";
|
|
|
11
11
|
export { measureLineWidth, measureTextBlock, normalizeLabelText } from "./text.js";
|
|
12
12
|
export { darkThemeTokens, lightThemeTokens, parseCssColor, resolveMermaidTheme } from "./theme.js";
|
|
13
13
|
export { createMmdcCommands, type MmdcCommandsOptions } from "./command.js";
|
|
14
|
+
export type { MermaidLimits as MmdcLimits } from "./contracts.js";
|
|
@@ -2319,17 +2319,6 @@ var Converter = class {
|
|
|
2319
2319
|
lineOut += text;
|
|
2320
2320
|
}
|
|
2321
2321
|
if (end >= line.length) break;
|
|
2322
|
-
if (onlyFirstField && field === 1n) {
|
|
2323
|
-
if (settings2.delimiter !== void 0) {
|
|
2324
|
-
if (this.tick((settings2.fields?.length ?? 0) + 1)) return bail();
|
|
2325
|
-
lineOut += line.slice(end);
|
|
2326
|
-
break;
|
|
2327
|
-
} else if (line[end] === " " && !/[\t\n]| {2}| $/.test(line.slice(end))) {
|
|
2328
|
-
if (this.tick((settings2.fields?.length ?? 0) + 1)) return bail();
|
|
2329
|
-
lineOut += line.slice(end);
|
|
2330
|
-
break;
|
|
2331
|
-
}
|
|
2332
|
-
}
|
|
2333
2322
|
lineOut += settings2.delimiter ?? " ";
|
|
2334
2323
|
start = end + 1;
|
|
2335
2324
|
}
|
|
@@ -163,42 +163,48 @@ var ByteInputBudget = class {
|
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
165
|
};
|
|
166
|
-
async function* sources(context, operands, maxInputBytes) {
|
|
166
|
+
async function* sources(context, operands, maxInputBytes, onFileError) {
|
|
167
167
|
const budget = new ByteInputBudget(maxInputBytes);
|
|
168
168
|
let usedStdin = false;
|
|
169
169
|
let emptyChunks = 0;
|
|
170
170
|
for (const operand of operands.length ? operands : ["-"]) {
|
|
171
171
|
budget.assertOpen(context.signal);
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
if (
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
const path = pathOf(context, operand);
|
|
179
|
-
if (context.fs.readStream && context.fs.capabilities?.streamingRead !== false) {
|
|
180
|
-
source = context.fs.readStream(path, { signal: context.signal, chunkSize: blockSize });
|
|
172
|
+
try {
|
|
173
|
+
let source;
|
|
174
|
+
if (operand === "-") {
|
|
175
|
+
if (usedStdin) continue;
|
|
176
|
+
usedStdin = true;
|
|
177
|
+
source = context.stdin;
|
|
181
178
|
} else {
|
|
182
|
-
const
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
await yieldTurn();
|
|
192
|
-
context.signal.throwIfAborted();
|
|
179
|
+
const path = pathOf(context, operand);
|
|
180
|
+
if (context.fs.readStream && context.fs.capabilities?.streamingRead !== false) {
|
|
181
|
+
source = context.fs.readStream(path, { signal: context.signal, chunkSize: blockSize });
|
|
182
|
+
} else {
|
|
183
|
+
const bytes = await context.fs.readFile(path, { signal: context.signal });
|
|
184
|
+
source = (async function* () {
|
|
185
|
+
yield bytes;
|
|
186
|
+
})();
|
|
187
|
+
}
|
|
193
188
|
}
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
189
|
+
let slicesSinceYield = 0;
|
|
190
|
+
for await (const chunk of budget.read(source, context.signal)) {
|
|
191
|
+
if (chunk.length === 0 && ++emptyChunks % 64 === 0) {
|
|
197
192
|
await yieldTurn();
|
|
193
|
+
context.signal.throwIfAborted();
|
|
194
|
+
}
|
|
195
|
+
for (let offset = 0; offset < chunk.length; offset += blockSize) {
|
|
196
|
+
if (++slicesSinceYield >= 32) {
|
|
197
|
+
slicesSinceYield = 0;
|
|
198
|
+
await yieldTurn();
|
|
199
|
+
}
|
|
200
|
+
context.signal.throwIfAborted();
|
|
201
|
+
yield chunk.subarray(offset, offset + blockSize);
|
|
198
202
|
}
|
|
199
|
-
context.signal.throwIfAborted();
|
|
200
|
-
yield chunk.subarray(offset, offset + blockSize);
|
|
201
203
|
}
|
|
204
|
+
} catch (error) {
|
|
205
|
+
context.signal.throwIfAborted();
|
|
206
|
+
if (operand === "-" || !(error instanceof FsError) || !["ENOENT", "EACCES", "EISDIR", "ENOTDIR", "EIO"].includes(error.code)) throw error;
|
|
207
|
+
await onFileError(error);
|
|
202
208
|
}
|
|
203
209
|
}
|
|
204
210
|
}
|
|
@@ -426,22 +432,36 @@ var OD_NAMES = [
|
|
|
426
432
|
];
|
|
427
433
|
var OD_HEX1_TABLE = Array.from({ length: 256 }, (_, i) => " " + i.toString(16).padStart(2, "0"));
|
|
428
434
|
var OD_OCT1_TABLE = Array.from({ length: 256 }, (_, i) => " " + i.toString(8).padStart(3, "0"));
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
435
|
+
function fieldWidth(format) {
|
|
436
|
+
const bits = format.size * 8;
|
|
437
|
+
switch (format.kind) {
|
|
438
|
+
case "a":
|
|
439
|
+
case "c":
|
|
440
|
+
return 3;
|
|
441
|
+
case "f":
|
|
442
|
+
return format.size === 4 ? 15 : 24;
|
|
443
|
+
case "o":
|
|
444
|
+
return Math.ceil(bits / 3);
|
|
445
|
+
case "x":
|
|
446
|
+
return bits / 4;
|
|
447
|
+
case "d":
|
|
448
|
+
return (1n << BigInt(bits - 1)).toString().length + 1;
|
|
449
|
+
default:
|
|
450
|
+
return ((1n << BigInt(bits)) - 1n).toString().length;
|
|
441
451
|
}
|
|
452
|
+
}
|
|
453
|
+
function formatRow(row, format, bigEndian, rowWidth, charsPerByte) {
|
|
454
|
+
let text = "";
|
|
442
455
|
const escapes = OD_ESCAPES;
|
|
443
456
|
const names = OD_NAMES;
|
|
457
|
+
const width = fieldWidth(format);
|
|
444
458
|
for (let offset = 0; offset < row.length; offset += format.size) {
|
|
459
|
+
const columnWidth = Math.ceil((offset + format.size) * charsPerByte) - Math.ceil(offset * charsPerByte);
|
|
460
|
+
text += " ".repeat(columnWidth - width - 1);
|
|
461
|
+
if (format.size === 1 && (format.kind === "x" || format.kind === "o")) {
|
|
462
|
+
text += (format.kind === "x" ? OD_HEX1_TABLE : OD_OCT1_TABLE)[row[offset]];
|
|
463
|
+
continue;
|
|
464
|
+
}
|
|
445
465
|
if (format.kind === "a") {
|
|
446
466
|
const byte = row[offset] & 127;
|
|
447
467
|
text += ` ${(names[byte] ?? (byte === 127 ? "del" : String.fromCharCode(byte))).padStart(3)}`;
|
|
@@ -470,13 +490,12 @@ function formatRow(row, format, bigEndian) {
|
|
|
470
490
|
const bits = format.size * 8;
|
|
471
491
|
if (format.kind === "d" && number >= 1n << BigInt(bits - 1)) number -= 1n << BigInt(bits);
|
|
472
492
|
const base = format.kind === "o" ? 8 : format.kind === "x" ? 16 : 10;
|
|
473
|
-
const width = format.kind === "o" ? Math.ceil(bits / 3) : format.kind === "x" ? bits / 4 : format.kind === "d" ? (1n << BigInt(bits - 1)).toString().length + 1 : ((1n << BigInt(bits)) - 1n).toString().length;
|
|
474
493
|
text += ` ${number.toString(base).padStart(width, base === 10 ? " " : "0")}`;
|
|
475
494
|
}
|
|
476
495
|
if (format.printable) {
|
|
477
496
|
let ascii = "";
|
|
478
497
|
for (const byte of row) ascii += byte >= 32 && byte <= 126 ? String.fromCharCode(byte) : ".";
|
|
479
|
-
text
|
|
498
|
+
text = text.padEnd(Math.ceil(rowWidth * charsPerByte)) + ` >${ascii}<`;
|
|
480
499
|
}
|
|
481
500
|
return text;
|
|
482
501
|
}
|
|
@@ -505,6 +524,12 @@ function defineOdCommand(handler) {
|
|
|
505
524
|
function createOdCommand(optionsOrMaxBytes) {
|
|
506
525
|
const maxInputBytes = resolveMaxInputBytes(optionsOrMaxBytes);
|
|
507
526
|
return defineOdCommand(async (context) => {
|
|
527
|
+
let exitCode = 0;
|
|
528
|
+
const onFileError = async (error) => {
|
|
529
|
+
exitCode = 1;
|
|
530
|
+
await writeDiagnostic(context.stderr, `${context.command}: ${error.message}
|
|
531
|
+
`, context.signal);
|
|
532
|
+
};
|
|
508
533
|
const aliases = {
|
|
509
534
|
a: "a",
|
|
510
535
|
b: "o1",
|
|
@@ -624,6 +649,10 @@ function createOdCommand(optionsOrMaxBytes) {
|
|
|
624
649
|
);
|
|
625
650
|
const skip = validatedOption(parsed, "j", (text) => numeric(text, true), 0);
|
|
626
651
|
const count = validatedOption(parsed, "N", (text) => numeric(text, true), Infinity);
|
|
652
|
+
if (count === 0 && skip === 0 && parsed.operands[0] && parsed.operands[0] !== "-") {
|
|
653
|
+
await context.fs.stat(pathOf(context, parsed.operands[0]), { signal: context.signal });
|
|
654
|
+
}
|
|
655
|
+
const charsPerByte = Math.max(...selected.map((format) => (fieldWidth(format) + 1) / format.size));
|
|
627
656
|
const minimumStringLength = validatedOption(
|
|
628
657
|
parsed,
|
|
629
658
|
"S",
|
|
@@ -642,7 +671,7 @@ function createOdCommand(optionsOrMaxBytes) {
|
|
|
642
671
|
let text = "";
|
|
643
672
|
let length = 0;
|
|
644
673
|
let start = "";
|
|
645
|
-
for await (const chunk of range(sources(context, parsed.operands, maxInputBytes), skip, count)) {
|
|
674
|
+
for await (const chunk of range(sources(context, parsed.operands, maxInputBytes, onFileError), skip, count)) {
|
|
646
675
|
for (const byte of chunk) {
|
|
647
676
|
if (byte >= 32 && byte <= 126) {
|
|
648
677
|
if (!length) start = address();
|
|
@@ -657,7 +686,7 @@ function createOdCommand(optionsOrMaxBytes) {
|
|
|
657
686
|
offset = addOffset(offset, 1);
|
|
658
687
|
}
|
|
659
688
|
}
|
|
660
|
-
return { exitCode
|
|
689
|
+
return { exitCode };
|
|
661
690
|
}
|
|
662
691
|
const verbose = parsed.flags.has("v");
|
|
663
692
|
const isBigEndian = endian === "big";
|
|
@@ -675,42 +704,46 @@ function createOdCommand(optionsOrMaxBytes) {
|
|
|
675
704
|
outBuf += text;
|
|
676
705
|
if (!flushedFirst || outBuf.length >= 16384) await flushOut();
|
|
677
706
|
};
|
|
678
|
-
|
|
679
|
-
for (
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
707
|
+
try {
|
|
708
|
+
for await (const batch of rows(range(sources(context, parsed.operands, maxInputBytes, onFileError), skip, count), width)) {
|
|
709
|
+
for (let rowStart = 0; rowStart < batch.length; rowStart += width) {
|
|
710
|
+
const row = batch.subarray(rowStart, Math.min(batch.length, rowStart + width));
|
|
711
|
+
let same = false;
|
|
712
|
+
if (!verbose && previous !== void 0 && previous.length === row.length) {
|
|
713
|
+
same = true;
|
|
714
|
+
for (let i = 0; i < row.length; i++) {
|
|
715
|
+
if (previous[i] !== row[i]) {
|
|
716
|
+
same = false;
|
|
717
|
+
break;
|
|
718
|
+
}
|
|
688
719
|
}
|
|
689
720
|
}
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
outBuf += `${prefix}${formatRow(row, selected[index], isBigEndian)}
|
|
721
|
+
if (same) {
|
|
722
|
+
if (!suppressed) outBuf += "*\n";
|
|
723
|
+
suppressed = true;
|
|
724
|
+
} else {
|
|
725
|
+
const addr = address();
|
|
726
|
+
const pad = selected.length > 1 ? " ".repeat(addr.length) : "";
|
|
727
|
+
for (let index = 0; index < selected.length; index++) {
|
|
728
|
+
const prefix = index === 0 ? addr : pad;
|
|
729
|
+
outBuf += `${prefix}${formatRow(row, selected[index], isBigEndian, width, charsPerByte)}
|
|
700
730
|
`;
|
|
731
|
+
}
|
|
732
|
+
if (previous === void 0 || previous.length !== row.length) previous = row.slice();
|
|
733
|
+
else previous.set(row);
|
|
734
|
+
suppressed = false;
|
|
701
735
|
}
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
suppressed = false;
|
|
736
|
+
offset = addOffset(offset, row.length);
|
|
737
|
+
if (!flushedFirst && outBuf || outBuf.length >= 16384) await flushOut();
|
|
705
738
|
}
|
|
706
|
-
offset = addOffset(offset, row.length);
|
|
707
|
-
if (!flushedFirst && outBuf || outBuf.length >= 16384) await flushOut();
|
|
708
739
|
}
|
|
740
|
+
} finally {
|
|
741
|
+
await flushOut();
|
|
709
742
|
}
|
|
710
743
|
if (radix !== "n") await writeOut(`${address()}
|
|
711
744
|
`);
|
|
712
745
|
if (outBuf) await output(context, outBuf);
|
|
713
|
-
return { exitCode
|
|
746
|
+
return { exitCode };
|
|
714
747
|
});
|
|
715
748
|
}
|
|
716
749
|
function createOdCommands(options = {}) {
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
createPandocCommand,
|
|
3
3
|
createPandocCommands,
|
|
4
4
|
pandocCommands
|
|
5
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
5
|
+
} from "../safe-bash/command-chunks/chunk-TGSNCQSR.js";
|
|
6
6
|
import "../safe-bash/command-chunks/chunk-BAXU7B5Z.js";
|
|
7
7
|
import "../safe-bash/command-chunks/chunk-QRRYN2KO.js";
|
|
8
8
|
import "../safe-bash/command-chunks/chunk-5LU4UCBR.js";
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
readDocument,
|
|
22
22
|
resolveConversionArgs,
|
|
23
23
|
writeDocument
|
|
24
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
24
|
+
} from "../safe-bash/command-chunks/chunk-TGSNCQSR.js";
|
|
25
25
|
import "../safe-bash/command-chunks/chunk-BAXU7B5Z.js";
|
|
26
26
|
import "../safe-bash/command-chunks/chunk-QRRYN2KO.js";
|
|
27
27
|
import "../safe-bash/command-chunks/chunk-5LU4UCBR.js";
|