@poe-platform/safe-bash 0.1.798 → 0.1.800
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 +34 -18
- package/dist/image-ast/index.browser.js +1384 -23
- package/dist/image-ast/index.js +1384 -23
- package/dist/mp4-ast/types.d.ts +1 -0
- package/dist/office-package/zip.d.ts +2 -0
- package/dist/office-package/zip.js +1 -1
- package/dist/pdf-ast/index.js +1 -1
- package/dist/safe-bash/chunks/{chunk-IUTD5FH5.js → chunk-46UISJCK.js} +1 -6
- package/dist/safe-bash/chunks/chunk-4SEW2Q6H.js +26 -0
- package/dist/safe-bash/chunks/{chunk-AKC46AF6.js → chunk-7YSRXFEG.js} +7 -40
- package/dist/safe-bash/chunks/{chunk-KTGR4U57.js → chunk-BHJE5LPZ.js} +1 -2
- package/dist/safe-bash/chunks/{chunk-AMTCC256.js → chunk-HHW7MGS2.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-ZNAFMYIA.js → chunk-I7L3G3NX.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-KMH2DF3I.js → chunk-JJSTTIEZ.js} +6 -1
- package/dist/safe-bash/chunks/{chunk-6IBTC4YL.js → chunk-JTLSUJ7V.js} +57 -20
- package/dist/safe-bash/chunks/chunk-K2VCOJ2B.js +111 -0
- package/dist/safe-bash/chunks/chunk-K4YMYFRJ.js +9802 -0
- package/dist/safe-bash/chunks/{chunk-CSNXID73.js → chunk-KW24TAIU.js} +446 -5543
- package/dist/safe-bash/chunks/{chunk-ENR3HB2B.js → chunk-NLAW7KDI.js} +0 -1
- package/dist/safe-bash/chunks/{chunk-B3DDEDH2.js → chunk-PPYM75Z3.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-NX2SQVON.js → chunk-RKKRJ54E.js} +19 -7
- package/dist/safe-bash/chunks/{chunk-V3VEATEA.js → chunk-RMWLWH7Q.js} +870 -953
- package/dist/safe-bash/chunks/{chunk-JSVX4VIA.js → chunk-TFGRKY43.js} +2 -1
- package/dist/safe-bash/chunks/{chunk-T5KKDMYB.js → chunk-TYD7EVUJ.js} +6 -0
- package/dist/safe-bash/chunks/{csvkit-W2UEKH6P.js → csvkit-QGP3GAOB.js} +1 -1
- package/dist/safe-bash/chunks/{ffmpeg-42CGASMV.js → ffmpeg-JTVH26MK.js} +1 -1
- package/dist/safe-bash/chunks/{gh-26GYLH6D.js → gh-I7QX7N5C.js} +1 -1
- package/dist/safe-bash/chunks/{git-YREKMUVD.js → git-MA7NKYVP.js} +1 -1
- package/dist/safe-bash/chunks/{imagemagick-3YIX4XO2.js → imagemagick-Y4NPWX2Q.js} +1 -1
- package/dist/safe-bash/chunks/{implementation-E3YMKU3Z.js → implementation-BWDKOVQJ.js} +1 -1
- package/dist/safe-bash/chunks/mmdc-44PELHDG.js +118 -0
- package/dist/safe-bash/chunks/{pdfimages-UE2UISP2.js → pdfimages-635TRW4Q.js} +1 -1
- package/dist/safe-bash/chunks/{pdfinfo-RGARKLI5.js → pdfinfo-FSDAA2KY.js} +3 -11
- package/dist/safe-bash/chunks/{pdftk-JY3WVCCC.js → pdftk-GQ5UH3VG.js} +1 -1
- package/dist/safe-bash/chunks/{pdftoppm-GPD3BMPY.js → pdftoppm-YTXQCAYT.js} +1 -1
- package/dist/safe-bash/chunks/{pdftotext-K7GQ2QJZ.js → pdftotext-CVA2G7FY.js} +1 -1
- package/dist/safe-bash/chunks/{qpdf-F4U7WUSU.js → qpdf-HZMIFG4A.js} +1 -1
- package/dist/safe-bash/chunks/{sips-RWENS7X5.js → sips-E7UBDP33.js} +1 -1
- package/dist/safe-bash/chunks/{soffice-IT6W2C5F.js → soffice-ELASUWUK.js} +1 -1
- package/dist/safe-bash/chunks/{wkhtmltopdf-JYNDAHIZ.js → wkhtmltopdf-EPO6YCMG.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-2FGJYFWZ.js +44 -0
- package/dist/safe-bash/command-chunks/chunk-2H4JTFIL.js +53 -0
- package/dist/safe-bash/command-chunks/{chunk-THS4YAKG.js → chunk-2QHG43WJ.js} +2 -2
- package/dist/safe-bash/command-chunks/chunk-364TMWBT.js +946 -0
- package/dist/safe-bash/command-chunks/{chunk-JEPY4UY4.js → chunk-3DT2YOGW.js} +11 -6
- package/dist/safe-bash/command-chunks/chunk-3E2OIS2J.js +7037 -0
- package/dist/safe-bash/command-chunks/{chunk-AIRGA2SU.js → chunk-3HXDA5PT.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-3LSOYLNV.js +1091 -0
- package/dist/safe-bash/command-chunks/{chunk-OAJUAAWH.js → chunk-464RVBGB.js} +3 -3
- package/dist/safe-bash/command-chunks/chunk-4B7Y7S6E.js +61 -0
- package/dist/safe-bash/command-chunks/{chunk-HRLIAMXC.js → chunk-4C6QI5BQ.js} +3 -2
- package/dist/safe-bash/command-chunks/{chunk-25BLI6S6.js → chunk-4Y3WVMK4.js} +1 -14
- package/dist/safe-bash/command-chunks/chunk-4ZHMW6F5.js +104 -0
- package/dist/safe-bash/command-chunks/{chunk-YMQKVEIF.js → chunk-52PCQXD2.js} +2 -13
- package/dist/safe-bash/command-chunks/{chunk-SSBFTMVI.js → chunk-53P53XFM.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-ZCKDQGKY.js → chunk-5HDSFHGW.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-5LSGEIZY.js +379 -0
- package/dist/safe-bash/command-chunks/{chunk-MKQVQMXO.js → chunk-5LU4UCBR.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-5T7CRJHW.js +560 -0
- package/dist/safe-bash/command-chunks/chunk-5TBUOBDE.js +346 -0
- package/dist/safe-bash/command-chunks/{chunk-AUAF5YBT.js → chunk-5WPI42ZW.js} +0 -7
- package/dist/safe-bash/command-chunks/chunk-5XY4DTNG.js +34 -0
- package/dist/safe-bash/command-chunks/chunk-5ZMZ573Q.js +140 -0
- package/dist/safe-bash/command-chunks/{chunk-2Q7UQ7R4.js → chunk-67IQF5GC.js} +200 -66
- package/dist/safe-bash/command-chunks/chunk-67QKREJK.js +347 -0
- package/dist/safe-bash/command-chunks/chunk-6EPHJGGF.js +23 -0
- package/dist/safe-bash/command-chunks/chunk-6F4XCVON.js +266 -0
- package/dist/safe-bash/command-chunks/{chunk-ESMCX3YV.js → chunk-6HMX4CQS.js} +669 -130
- package/dist/safe-bash/command-chunks/{chunk-RECJB2BO.js → chunk-7BS66BXN.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-GRWOVSFK.js → chunk-7D7JRRML.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-7K6JYKPJ.js +422 -0
- package/dist/safe-bash/command-chunks/{chunk-E6IYUYVA.js → chunk-7L24L4UO.js} +2 -2
- package/dist/safe-bash/command-chunks/chunk-7N2LI2KO.js +206 -0
- package/dist/safe-bash/command-chunks/chunk-7RGB363W.js +362 -0
- package/dist/safe-bash/command-chunks/{chunk-HBXQWTJR.js → chunk-A5ZAV6DO.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-LW34AKDM.js → chunk-AB4MXHVS.js} +4 -14
- package/dist/safe-bash/command-chunks/{pptx-GBPNWNEP-7EQEVXV5.js → chunk-AI5JAXQF.js} +34820 -18029
- package/dist/safe-bash/command-chunks/chunk-AMO3THU4.js +105 -0
- package/dist/safe-bash/command-chunks/{chunk-EELNLEEP.js → chunk-AXK3H4PX.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-Y55OCH37.js → chunk-AYUTO323.js} +3 -10
- package/dist/safe-bash/command-chunks/{chunk-DY36FDDC.js → chunk-B5TAOCKD.js} +6 -6
- package/dist/safe-bash/command-chunks/chunk-BAGCY35S.js +231 -0
- package/dist/safe-bash/command-chunks/chunk-BAXU7B5Z.js +101 -0
- package/dist/safe-bash/command-chunks/{chunk-YB6KVU6H.js → chunk-BDBVVZY6.js} +4 -14
- package/dist/safe-bash/command-chunks/{chunk-2HOESGFJ.js → chunk-BKCNF5U3.js} +68 -7
- package/dist/safe-bash/command-chunks/chunk-BNOU5YQS.js +182 -0
- package/dist/safe-bash/command-chunks/{chunk-QAN7KKDZ.js → chunk-BZDDAPSV.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-HZCPWYWA.js → chunk-BZPAWTUL.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-C7I25AAL.js +25 -0
- package/dist/safe-bash/command-chunks/chunk-CKXV2CLD.js +65 -0
- package/dist/safe-bash/command-chunks/{chunk-RT2J5ATD.js → chunk-CPPGTBZF.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-CQ5YGOGB.js +150 -0
- package/dist/safe-bash/command-chunks/{chunk-5UA3BEGA.js → chunk-D4OP2BR3.js} +72 -24
- package/dist/safe-bash/command-chunks/chunk-DB453IE6.js +122 -0
- package/dist/safe-bash/command-chunks/chunk-DOKKNRRM.js +87 -0
- package/dist/safe-bash/command-chunks/{chunk-2PX5B7T5.js → chunk-DQAVUDDX.js} +2 -2
- package/dist/safe-bash/command-chunks/chunk-DT7BCTWY.js +249 -0
- package/dist/safe-bash/command-chunks/chunk-E2LB7FRT.js +42 -0
- package/dist/safe-bash/command-chunks/chunk-EK6YNAXT.js +343 -0
- package/dist/safe-bash/command-chunks/chunk-EQ4HV54N.js +22 -0
- package/dist/safe-bash/command-chunks/chunk-ERYJLO6G.js +293 -0
- package/dist/safe-bash/command-chunks/{chunk-4ONEXMD3.js → chunk-EUSPTFAX.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-FKKB5X5V.js +97 -0
- package/dist/safe-bash/command-chunks/chunk-FXELCPFX.js +195 -0
- package/dist/safe-bash/command-chunks/{chunk-HLMUPSM6.js → chunk-GI4CJED2.js} +3 -2
- package/dist/safe-bash/command-chunks/{chunk-CU5RLO62.js → chunk-GLOZX57Y.js} +92 -18
- package/dist/safe-bash/command-chunks/chunk-GMIHJYDG.js +331 -0
- package/dist/safe-bash/command-chunks/chunk-H622NS6Z.js +11 -0
- package/dist/safe-bash/command-chunks/{chunk-QGVOS3EY.js → chunk-HFII3QYO.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-5EWTQJSC.js → chunk-HHP343KT.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-WBJKOTSP.js → chunk-HMOZ6XVJ.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-AVSPNLWV.js → chunk-I237SNW5.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-4MS5WZJC.js → chunk-IKS2YXZQ.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-CZVBYCB5.js → chunk-IL53SJL4.js} +2 -12
- package/dist/safe-bash/command-chunks/{chunk-VZ64JXHC.js → chunk-IR2BY7EL.js} +21 -6
- package/dist/safe-bash/command-chunks/chunk-IYPAQ7PH.js +42 -0
- package/dist/safe-bash/command-chunks/chunk-JN7WIP6S.js +94 -0
- package/dist/safe-bash/command-chunks/chunk-JNZ3CVAE.js +147 -0
- package/dist/safe-bash/command-chunks/{chunk-HLBX5IRS.js → chunk-JQ74HC37.js} +24 -32
- package/dist/safe-bash/command-chunks/{chunk-2LLZBNLL.js → chunk-JWE54GHQ.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-QLDIP3OP.js → chunk-JZSNU2MY.js} +2 -2
- package/dist/safe-bash/command-chunks/chunk-KFVV7ZJO.js +216 -0
- package/dist/safe-bash/command-chunks/{chunk-G4PNVO6Z.js → chunk-KP7AO66M.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-KWESKQHR.js +25 -0
- package/dist/safe-bash/command-chunks/chunk-KYSPGS33.js +41 -0
- package/dist/safe-bash/command-chunks/{chunk-C7IHMJEW.js → chunk-KZC5UWFF.js} +2 -2
- package/dist/safe-bash/command-chunks/chunk-L6DVEBW3.js +553 -0
- package/dist/safe-bash/command-chunks/chunk-LC2MFKT4.js +2489 -0
- package/dist/safe-bash/command-chunks/chunk-LE5LZNHE.js +204 -0
- package/dist/safe-bash/command-chunks/chunk-MDH5T4OS.js +41 -0
- package/dist/safe-bash/command-chunks/chunk-MM6HU6CX.js +20 -0
- package/dist/safe-bash/command-chunks/{chunk-MYJAZ3U2.js → chunk-MPL2466A.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-3TANKHBX.js → chunk-MRW5HD2D.js} +1 -6
- package/dist/safe-bash/command-chunks/{chunk-3WKA57FA.js → chunk-N5FGCXQJ.js} +1 -9
- package/dist/safe-bash/command-chunks/{chunk-VZHRZMS7.js → chunk-NAY27PXB.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-NCD7PEWH.js +298 -0
- package/dist/safe-bash/command-chunks/chunk-NFGI5IGF.js +266 -0
- package/dist/safe-bash/command-chunks/{chunk-U3ONEICA.js → chunk-NXEQ3ESQ.js} +7 -11
- package/dist/safe-bash/command-chunks/{chunk-3VGGYEDH.js → chunk-ORYGZYKW.js} +4 -3
- package/dist/safe-bash/command-chunks/{chunk-OLQG7ZCN.js → chunk-PEF7K3UQ.js} +136 -75
- package/dist/safe-bash/command-chunks/{chunk-HVI6ALJF.js → chunk-PFAADCB5.js} +2 -4
- package/dist/safe-bash/command-chunks/chunk-PII4YEZW.js +123 -0
- package/dist/safe-bash/command-chunks/{chunk-JG5W2ENK.js → chunk-PJJUYO3R.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-VKQCNX32.js → chunk-PTT3I223.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-Q3DII3Q7.js +174 -0
- package/dist/safe-bash/command-chunks/chunk-Q3EWDEUQ.js +185 -0
- package/dist/safe-bash/command-chunks/{chunk-JXU2N6GN.js → chunk-Q7Q5GM5S.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-Z5TFSVNU.js → chunk-QAKKSRNV.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-2FUAW6GO.js → chunk-QI7LGHJJ.js} +58 -9
- package/dist/safe-bash/command-chunks/{chunk-6BETHLXZ.js → chunk-QJAFJP2G.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-QNIMV57G.js +63 -0
- package/dist/safe-bash/command-chunks/{chunk-KAHH4XOU.js → chunk-QNXI2UP6.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-AC6X7Q4I.js → chunk-QP4R6GLA.js} +6 -9
- package/dist/safe-bash/command-chunks/{chunk-LPORMIZS.js → chunk-QWIDNAAK.js} +8 -8
- package/dist/safe-bash/command-chunks/chunk-RVLO4DYT.js +35 -0
- package/dist/safe-bash/command-chunks/{chunk-X2YQLGKS.js → chunk-SAMH7SQE.js} +4 -4
- package/dist/safe-bash/command-chunks/chunk-SEM36PG5.js +11 -0
- package/dist/safe-bash/command-chunks/chunk-STC3LEWJ.js +634 -0
- package/dist/safe-bash/command-chunks/chunk-SVULUDOP.js +331 -0
- package/dist/safe-bash/command-chunks/{chunk-WYOL5JNT.js → chunk-SX2X3IH4.js} +4 -4
- package/dist/safe-bash/command-chunks/chunk-TEVJJPTC.js +1392 -0
- package/dist/safe-bash/command-chunks/{chunk-6N5V4VBN.js → chunk-TYCGMRLM.js} +2 -2
- package/dist/safe-bash/command-chunks/chunk-UG7SMZFF.js +178 -0
- package/dist/safe-bash/command-chunks/{chunk-PRCT7FKJ.js → chunk-UMDIOL3O.js} +3 -3
- package/dist/safe-bash/command-chunks/chunk-UXSR5BZH.js +136 -0
- package/dist/safe-bash/command-chunks/chunk-V6BEDRMQ.js +112 -0
- package/dist/safe-bash/command-chunks/chunk-V6MSPQLA.js +362 -0
- package/dist/safe-bash/command-chunks/{chunk-J4PEQWSF.js → chunk-VGG2DL5Q.js} +0 -1
- package/dist/safe-bash/command-chunks/{chunk-SG424QWS.js → chunk-VL67NWNS.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-WB5SVIG7.js +1034 -0
- package/dist/safe-bash/command-chunks/{src-UJOWAS2S.js → chunk-WD3ERGRY.js} +77 -277
- package/dist/safe-bash/command-chunks/{chunk-YFSDDFGV.js → chunk-WH627NJL.js} +446 -53
- package/dist/safe-bash/command-chunks/chunk-WNE7FPVR.js +236 -0
- package/dist/safe-bash/command-chunks/{chunk-UKS2XJZI.js → chunk-WPYIOKE3.js} +4 -4
- package/dist/safe-bash/command-chunks/chunk-XETLEHZP.js +1227 -0
- package/dist/safe-bash/command-chunks/chunk-XIIBTGC5.js +580 -0
- package/dist/safe-bash/command-chunks/chunk-XJXU3VVH.js +737 -0
- package/dist/safe-bash/command-chunks/{chunk-JCVXAX2G.js → chunk-XWZBMJ5B.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-Y5INTD6S.js +220 -0
- package/dist/safe-bash/command-chunks/{chunk-23XLM73P.js → chunk-YEOPI5SK.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-PPOIPMY4.js → chunk-YGC6OS5O.js} +3 -56
- package/dist/safe-bash/command-chunks/chunk-YJDV76GL.js +262 -0
- package/dist/safe-bash/command-chunks/chunk-YOF7R4OY.js +80 -0
- package/dist/safe-bash/command-chunks/chunk-Z7RVSD5K.js +594 -0
- package/dist/safe-bash/command-chunks/chunk-ZHUWOUWB.js +618 -0
- package/dist/safe-bash/command-chunks/{chunk-OGUMMTTD.js → chunk-ZJBR5Q5I.js} +4 -4
- package/dist/safe-bash/command-chunks/{model-store-L35QTZMJ.js → model-store-WPKMRPV4.js} +2 -2
- package/dist/safe-bash/command-chunks/pptx-7G52EJ6L-4JACH5FB.js +625 -0
- package/dist/safe-bash/command-chunks/python-worker-source-TYOFJMCW.js +4 -0
- package/dist/safe-bash/command-chunks/src-ICMQISAA.js +501 -0
- package/dist/safe-bash/commands/archive/create.d.ts +1 -17
- package/dist/safe-bash/commands/archive/create.js +1 -252
- package/dist/safe-bash/commands/archive/extract.d.ts +1 -11
- package/dist/safe-bash/commands/archive/extract.js +1 -640
- package/dist/safe-bash/commands/archive/format.d.ts +1 -32
- package/dist/safe-bash/commands/archive/format.js +1 -225
- package/dist/safe-bash/commands/archive/index.d.ts +5 -10
- package/dist/safe-bash/commands/archive/index.js +6 -931
- package/dist/safe-bash/commands/archive/listing.d.ts +1 -2
- package/dist/safe-bash/commands/archive/listing.js +1 -21
- package/dist/safe-bash/commands/archive/modes.d.ts +1 -5
- package/dist/safe-bash/commands/archive/modes.js +1 -182
- package/dist/safe-bash/commands/archive/options.d.ts +1 -53
- package/dist/safe-bash/commands/archive/options.js +1 -462
- package/dist/safe-bash/commands/archive/stream.d.ts +1 -22
- package/dist/safe-bash/commands/archive/stream.js +1 -188
- package/dist/safe-bash/commands/archive/transform.d.ts +1 -16
- package/dist/safe-bash/commands/archive/transform.js +1 -85
- package/dist/safe-bash/commands/archive/unzip/arguments.d.ts +1 -53
- package/dist/safe-bash/commands/archive/unzip/arguments.js +1 -322
- package/dist/safe-bash/commands/archive/unzip/safety.d.ts +1 -32
- package/dist/safe-bash/commands/archive/unzip/safety.js +1 -295
- package/dist/safe-bash/commands/archive/unzip.d.ts +1 -3
- package/dist/safe-bash/commands/archive/unzip.js +1 -398
- package/dist/safe-bash/commands/archive/zip/aes.d.ts +1 -17
- package/dist/safe-bash/commands/archive/zip/aes.js +1 -156
- package/dist/safe-bash/commands/archive/zip/comments.d.ts +1 -17
- package/dist/safe-bash/commands/archive/zip/comments.js +1 -83
- package/dist/safe-bash/commands/archive/zip/crc.d.ts +1 -1
- package/dist/safe-bash/commands/archive/zip/crc.js +1 -1
- package/dist/safe-bash/commands/archive/zip/crypto.d.ts +1 -19
- package/dist/safe-bash/commands/archive/zip/crypto.js +1 -118
- package/dist/safe-bash/commands/archive/zip/dates.d.ts +1 -4
- package/dist/safe-bash/commands/archive/zip/dates.js +1 -66
- package/dist/safe-bash/commands/archive/zip/environment.d.ts +1 -2
- package/dist/safe-bash/commands/archive/zip/environment.js +1 -62
- package/dist/safe-bash/commands/archive/zip/grow.d.ts +1 -3
- package/dist/safe-bash/commands/archive/zip/grow.js +1 -2
- package/dist/safe-bash/commands/archive/zip/help.d.ts +1 -4
- package/dist/safe-bash/commands/archive/zip/help.js +1 -182
- package/dist/safe-bash/commands/archive/zip/line-endings.d.ts +1 -2
- package/dist/safe-bash/commands/archive/zip/line-endings.js +1 -194
- package/dist/safe-bash/commands/archive/zip/log.d.ts +1 -22
- package/dist/safe-bash/commands/archive/zip/log.js +1 -159
- package/dist/safe-bash/commands/archive/zip/lzma.d.ts +1 -9
- package/dist/safe-bash/commands/archive/zip/lzma.js +1 -40
- package/dist/safe-bash/commands/archive/zip/move.d.ts +1 -11
- package/dist/safe-bash/commands/archive/zip/move.js +1 -59
- package/dist/safe-bash/commands/archive/zip/names.d.ts +1 -2
- package/dist/safe-bash/commands/archive/zip/names.js +1 -33
- package/dist/safe-bash/commands/archive/zip/options.d.ts +1 -13
- package/dist/safe-bash/commands/archive/zip/options.js +1 -124
- package/dist/safe-bash/commands/archive/zip/repair.d.ts +1 -10
- package/dist/safe-bash/commands/archive/zip/repair.js +1 -392
- package/dist/safe-bash/commands/archive/zip/safety.d.ts +1 -54
- package/dist/safe-bash/commands/archive/zip/safety.js +1 -360
- package/dist/safe-bash/commands/archive/zip/sfx.d.ts +1 -4
- package/dist/safe-bash/commands/archive/zip/sfx.js +1 -52
- package/dist/safe-bash/commands/archive/zip/test-command.d.ts +1 -5
- package/dist/safe-bash/commands/archive/zip/test-command.js +1 -101
- package/dist/safe-bash/commands/archive/zip/volumes.d.ts +1 -21
- package/dist/safe-bash/commands/archive/zip/volumes.js +1 -281
- package/dist/safe-bash/commands/archive/zip/zip64.d.ts +1 -30
- package/dist/safe-bash/commands/archive/zip/zip64.js +1 -227
- package/dist/safe-bash/commands/archive/zip-format.d.ts +1 -68
- package/dist/safe-bash/commands/archive/zip-format.js +1 -1075
- package/dist/safe-bash/commands/archive/zip.d.ts +1 -3
- package/dist/safe-bash/commands/archive/zip.js +1 -1523
- package/dist/safe-bash/commands/awk/index.d.ts +2 -0
- package/dist/safe-bash/commands/awk/index.js +2 -0
- package/dist/safe-bash/commands/bytes/compression/index.js +2 -1
- package/dist/safe-bash/commands/curl/index.d.ts +2 -0
- package/dist/safe-bash/commands/curl/index.js +2 -0
- package/dist/safe-bash/commands/diff/index.d.ts +2 -0
- package/dist/safe-bash/commands/diff/index.js +2 -0
- package/dist/safe-bash/commands/diff-patch/diff-format.d.ts +1 -10
- package/dist/safe-bash/commands/diff-patch/diff-format.js +1 -237
- package/dist/safe-bash/commands/diff-patch/diff-options.d.ts +1 -38
- package/dist/safe-bash/commands/diff-patch/diff-options.js +1 -261
- package/dist/safe-bash/commands/diff-patch/diff-output.d.ts +1 -20
- package/dist/safe-bash/commands/diff-patch/diff-output.js +1 -290
- package/dist/safe-bash/commands/diff-patch/diff.d.ts +1 -2
- package/dist/safe-bash/commands/diff-patch/diff.js +1 -656
- package/dist/safe-bash/commands/diff-patch/index.d.ts +4 -5
- package/dist/safe-bash/commands/diff-patch/index.js +8 -333
- package/dist/safe-bash/commands/diff-patch/patch-envelope.d.ts +1 -2
- package/dist/safe-bash/commands/diff-patch/patch-envelope.js +1 -63
- package/dist/safe-bash/commands/diff-patch/patch-formats.d.ts +1 -7
- package/dist/safe-bash/commands/diff-patch/patch-formats.js +1 -264
- package/dist/safe-bash/commands/diff-patch/patch-gnu-paths.d.ts +1 -41
- package/dist/safe-bash/commands/diff-patch/patch-gnu-paths.js +1 -263
- package/dist/safe-bash/commands/diff-patch/patch-gnu-reject.d.ts +1 -3
- package/dist/safe-bash/commands/diff-patch/patch-gnu-reject.js +1 -100
- package/dist/safe-bash/commands/diff-patch/patch-path.d.ts +1 -3
- package/dist/safe-bash/commands/diff-patch/patch-path.js +1 -91
- package/dist/safe-bash/commands/diff-patch/patch-publication.d.ts +1 -13
- package/dist/safe-bash/commands/diff-patch/patch-publication.js +1 -107
- package/dist/safe-bash/commands/diff-patch/patch.d.ts +1 -2
- package/dist/safe-bash/commands/diff-patch/patch.js +1 -653
- package/dist/safe-bash/commands/diff-patch/shared.d.ts +1 -55
- package/dist/safe-bash/commands/diff-patch/shared.js +1 -276
- package/dist/safe-bash/commands/diff-patch/unified.d.ts +1 -52
- package/dist/safe-bash/commands/diff-patch/unified.js +1 -385
- package/dist/safe-bash/commands/directory-admission.d.ts +1 -3
- package/dist/safe-bash/commands/directory-admission.js +1 -26
- package/dist/safe-bash/commands/find/index.d.ts +2 -0
- package/dist/safe-bash/commands/find/index.js +2 -0
- package/dist/safe-bash/commands/find-format.d.ts +1 -20
- package/dist/safe-bash/commands/find-format.js +1 -161
- package/dist/safe-bash/commands/find.d.ts +2 -18
- package/dist/safe-bash/commands/find.js +2 -1236
- package/dist/safe-bash/commands/gzip/index.d.ts +2 -0
- package/dist/safe-bash/commands/gzip/index.js +2 -0
- package/dist/safe-bash/commands/line-endings/index.browser.js +1 -1
- package/dist/safe-bash/commands/line-endings/index.d.ts +1 -1
- package/dist/safe-bash/commands/line-endings/index.js +1 -262
- package/dist/safe-bash/commands/llm/index.browser.js +3 -1
- package/dist/safe-bash/commands/mdq/index.browser.js +2 -2
- package/dist/safe-bash/commands/metadata/chmod.d.ts +1 -4
- package/dist/safe-bash/commands/metadata/chmod.js +2 -63
- package/dist/safe-bash/commands/network/aggregate.d.ts +1 -4
- package/dist/safe-bash/commands/network/aggregate.js +1 -23
- package/dist/safe-bash/commands/network/args.d.ts +1 -68
- package/dist/safe-bash/commands/network/args.js +1 -321
- package/dist/safe-bash/commands/network/authorizer.d.ts +1 -6
- package/dist/safe-bash/commands/network/authorizer.js +1 -33
- package/dist/safe-bash/commands/network/body.d.ts +1 -9
- package/dist/safe-bash/commands/network/body.js +1 -393
- package/dist/safe-bash/commands/network/curl.d.ts +3 -13
- package/dist/safe-bash/commands/network/curl.js +6 -693
- package/dist/safe-bash/commands/network/deadline.d.ts +1 -2
- package/dist/safe-bash/commands/network/deadline.js +1 -14
- package/dist/safe-bash/commands/network/decode.d.ts +1 -2
- package/dist/safe-bash/commands/network/decode.js +1 -79
- package/dist/safe-bash/commands/network/fetch-transport.d.ts +1 -7
- package/dist/safe-bash/commands/network/fetch-transport.js +1 -94
- package/dist/safe-bash/commands/network/form-content-type.d.ts +1 -5
- package/dist/safe-bash/commands/network/form-content-type.js +1 -63
- package/dist/safe-bash/commands/network/form-headers.d.ts +1 -2
- package/dist/safe-bash/commands/network/form-headers.js +1 -35
- package/dist/safe-bash/commands/network/glob.d.ts +1 -7
- package/dist/safe-bash/commands/network/glob.js +1 -134
- package/dist/safe-bash/commands/network/index.browser.js +2 -10
- package/dist/safe-bash/commands/network/input.d.ts +1 -5
- package/dist/safe-bash/commands/network/input.js +1 -276
- package/dist/safe-bash/commands/network/output.d.ts +1 -6
- package/dist/safe-bash/commands/network/output.js +1 -131
- package/dist/safe-bash/commands/network/private-address.d.ts +1 -1
- package/dist/safe-bash/commands/network/private-address.js +1 -44
- package/dist/safe-bash/commands/network/shared.d.ts +1 -14
- package/dist/safe-bash/commands/network/shared.js +1 -71
- package/dist/safe-bash/commands/network/types.d.ts +1 -37
- package/dist/safe-bash/commands/network/types.js +1 -31
- package/dist/safe-bash/commands/network/url.d.ts +1 -2
- package/dist/safe-bash/commands/network/url.js +1 -30
- package/dist/safe-bash/commands/network/wget.d.ts +3 -3
- package/dist/safe-bash/commands/network/wget.js +10 -331
- package/dist/safe-bash/commands/node/index.browser.js +4 -5
- package/dist/safe-bash/commands/node/index.d.ts +3 -3
- package/dist/safe-bash/commands/node/index.js +5 -0
- package/dist/safe-bash/commands/node/safejs.d.ts +3 -3
- package/dist/safe-bash/commands/node/safejs.js +6 -1
- package/dist/safe-bash/commands/node/types.d.ts +1 -1
- package/dist/safe-bash/commands/node/unconfigured.d.ts +3 -0
- package/dist/safe-bash/commands/node/unconfigured.js +10 -0
- package/dist/safe-bash/commands/op/index.browser.js +2 -2
- package/dist/safe-bash/commands/patch/index.d.ts +2 -0
- package/dist/safe-bash/commands/patch/index.js +2 -0
- package/dist/safe-bash/commands/pdfinfo/index.js +2 -1
- package/dist/safe-bash/commands/predicates.js +3 -4
- package/dist/safe-bash/commands/python/index.browser.js +5 -5
- package/dist/safe-bash/commands/python/llm-capability.d.ts +1 -0
- package/dist/safe-bash/commands/python/llm-capability.js +27 -7
- package/dist/safe-bash/commands/python/llm-module.js +11 -0
- package/dist/safe-bash/commands/python/manifest.d.ts +1 -0
- package/dist/safe-bash/commands/python/manifest.js +9 -5
- package/dist/safe-bash/commands/python/provisioning.js +1 -1
- package/dist/safe-bash/commands/regex-execution/matching.js +1 -2
- package/dist/safe-bash/commands/regex-execution/public.browser.js +5 -5
- package/dist/safe-bash/commands/search/index.d.ts +1 -1
- package/dist/safe-bash/commands/search/index.js +1 -347
- package/dist/safe-bash/commands/search/portable.d.ts +2 -2
- package/dist/safe-bash/commands/search/portable.js +3 -2
- package/dist/safe-bash/commands/sed/index.d.ts +2 -0
- package/dist/safe-bash/commands/sed/index.js +2 -0
- package/dist/safe-bash/commands/tar/index.d.ts +2 -0
- package/dist/safe-bash/commands/tar/index.js +2 -0
- package/dist/safe-bash/commands/text-programs/awk-inspection.d.ts +1 -19
- package/dist/safe-bash/commands/text-programs/awk-inspection.js +1 -50
- package/dist/safe-bash/commands/text-programs/awk-pipes.d.ts +2 -0
- package/dist/safe-bash/commands/text-programs/awk-pipes.js +2 -0
- package/dist/safe-bash/commands/text-programs/awk-pretty.d.ts +1 -3
- package/dist/safe-bash/commands/text-programs/awk-pretty.js +1 -197
- package/dist/safe-bash/commands/text-programs/awk-quote.d.ts +1 -2
- package/dist/safe-bash/commands/text-programs/awk-quote.js +1 -15
- package/dist/safe-bash/commands/text-programs/awk-reader.d.ts +1 -42
- package/dist/safe-bash/commands/text-programs/awk-reader.js +1 -449
- package/dist/safe-bash/commands/text-programs/awk-retention.d.ts +1 -13
- package/dist/safe-bash/commands/text-programs/awk-retention.js +1 -51
- package/dist/safe-bash/commands/text-programs/awk-runtime.d.ts +1 -150
- package/dist/safe-bash/commands/text-programs/awk-runtime.js +1 -2627
- package/dist/safe-bash/commands/text-programs/awk-syntax.d.ts +1 -142
- package/dist/safe-bash/commands/text-programs/awk-syntax.js +1 -509
- package/dist/safe-bash/commands/text-programs/awk-values.d.ts +1 -32
- package/dist/safe-bash/commands/text-programs/awk-values.js +1 -386
- package/dist/safe-bash/commands/text-programs/awk.d.ts +1 -3
- package/dist/safe-bash/commands/text-programs/awk.js +1 -361
- package/dist/safe-bash/commands/text-programs/inplace.d.ts +1 -16
- package/dist/safe-bash/commands/text-programs/inplace.js +1 -155
- package/dist/safe-bash/commands/text-programs/sed.d.ts +1 -3
- package/dist/safe-bash/commands/text-programs/sed.js +1 -1647
- package/dist/safe-bash/commands/text.js +1 -25
- package/dist/safe-bash/commands/unzip/index.d.ts +2 -0
- package/dist/safe-bash/commands/unzip/index.js +2 -0
- package/dist/safe-bash/commands/wget/index.d.ts +2 -0
- package/dist/safe-bash/commands/wget/index.js +2 -0
- package/dist/safe-bash/commands/yq/index.browser.js +7 -2
- package/dist/safe-bash/commands/yq/index.d.ts +1 -6
- package/dist/safe-bash/commands/yq/index.js +1 -36
- package/dist/safe-bash/commands/zip/index.d.ts +2 -0
- package/dist/safe-bash/commands/zip/index.js +2 -0
- package/dist/safe-bash/core.browser.js +1 -1
- package/dist/safe-bash/core.d.ts +8 -1
- package/dist/safe-bash/core.js +7 -1
- package/dist/safe-bash/fs/s3/index.d.ts +2 -2
- package/dist/safe-bash/fs/s3/index.js +1 -1
- package/dist/safe-bash/full-core.browser.js +254 -223
- package/dist/safe-bash/jobs.browser.js +2 -2
- package/dist/safe-bash/lazy-mmdc.d.ts +6 -0
- package/dist/safe-bash/lazy-mmdc.js +23 -0
- package/dist/safe-bash/opt-in/commands/dd/index.js +4 -13
- package/dist/safe-bash/opt-in/commands/yq/mike.js +6 -13
- package/dist/safe-bash/opt-in/commands/yq/native-work.d.ts +1 -0
- package/dist/safe-bash/opt-in/commands/yq/native-work.js +19 -1
- package/dist/safe-bash/opt-in/optional/commands/shuf/input.js +3 -21
- package/dist/safe-bash/opt-in/optional/commands/shuf/shuf.js +4 -27
- package/dist/safe-bash/optional-host.browser.js +8 -4
- package/dist/safe-bash/optional-host.d.ts +1 -1
- package/dist/safe-bash/optional-host.js +1 -1
- package/dist/safe-bash/playwright/ability-execution.js +3 -2
- package/dist/safe-bash/playwright/adapter.js +1 -1
- package/dist/safe-bash/playwright/controller.js +9 -8
- package/dist/safe-bash/playwright/modal-capabilities.js +2 -1
- package/dist/safe-bash/playwright/native-json-snapshot.js +4 -3
- package/dist/safe-bash/playwright/native-snapshot.js +5 -4
- package/dist/safe-bash/playwright/open-options.js +3 -3
- package/dist/safe-bash/playwright/resource-limit.d.ts +2 -0
- package/dist/safe-bash/playwright/resource-limit.js +4 -0
- package/dist/safe-bash/playwright/session-configuration.js +8 -3
- package/dist/safe-bash/playwright/snapshot.js +8 -7
- package/dist/safe-bash/playwright/standard-capabilities.js +5 -4
- package/dist/safe-bash/plugins/index.browser.js +14 -16
- package/dist/safe-bash/registry-entry.browser.js +14 -16
- package/dist/safe-bash/shell/arrays/bindings.d.ts +3 -5
- package/dist/safe-bash/shell/arrays/bindings.js +6 -2
- package/dist/safe-bash/shell/input.js +16 -14
- package/dist/safe-bash/shell/runtime.d.ts +3 -0
- package/dist/safe-bash/shell/runtime.js +316 -64
- package/dist/safe-bash/shell/types.d.ts +2 -0
- package/dist/safe-bash/shell/value-state.js +17 -2
- package/dist/safe-bash/shell/worker-limits.js +1 -0
- package/dist/safe-bash/shell-entry.browser.js +13 -15
- package/dist/safe-bash/trap.browser.d.ts +3 -0
- package/dist/safe-bash/trap.browser.js +14 -0
- package/dist/safe-bash/worker/host.js +1 -1
- package/dist/safe-bash-command-apply-patch/apply.js +2 -2
- package/dist/safe-bash-command-apply-patch/index.js +3 -3
- package/dist/safe-bash-command-awk/LICENSE +21 -0
- package/dist/safe-bash-command-awk/awk-inspection.d.ts +19 -0
- package/dist/safe-bash-command-awk/awk-inspection.js +9 -0
- package/dist/safe-bash-command-awk/awk-pipes.d.ts +19 -0
- package/dist/safe-bash-command-awk/awk-pipes.js +8 -0
- package/dist/safe-bash-command-awk/awk-pretty.d.ts +3 -0
- package/dist/safe-bash-command-awk/awk-pretty.js +8 -0
- package/dist/safe-bash-command-awk/awk-quote.d.ts +2 -0
- package/dist/safe-bash-command-awk/awk-quote.js +7 -0
- package/dist/safe-bash-command-awk/awk-reader.d.ts +42 -0
- package/dist/safe-bash-command-awk/awk-reader.js +9 -0
- package/dist/safe-bash-command-awk/awk-retention.d.ts +13 -0
- package/dist/safe-bash-command-awk/awk-retention.js +7 -0
- package/dist/safe-bash-command-awk/awk-runtime.d.ts +151 -0
- package/dist/safe-bash-command-awk/awk-runtime.js +11 -0
- package/dist/safe-bash-command-awk/awk-syntax.d.ts +144 -0
- package/dist/safe-bash-command-awk/awk-syntax.js +14 -0
- package/dist/safe-bash-command-awk/awk-values.d.ts +32 -0
- package/dist/safe-bash-command-awk/awk-values.js +35 -0
- package/dist/safe-bash-command-awk/awk.d.ts +3 -0
- package/dist/safe-bash-command-awk/awk.js +16 -0
- package/dist/safe-bash-command-awk/index.d.ts +7 -0
- package/dist/safe-bash-command-awk/index.js +36 -0
- package/dist/safe-bash-command-bc/index.d.ts +4 -0
- package/dist/safe-bash-command-bc/index.js +15 -176
- package/dist/safe-bash-command-column/column.js +3 -3
- package/dist/safe-bash-command-column/index.js +3 -3
- package/dist/safe-bash-command-column/layout.js +2 -2
- package/dist/safe-bash-command-csplit/command.js +2 -2
- package/dist/safe-bash-command-csplit/index.js +2 -2
- package/dist/safe-bash-command-csvkit/contracts.d.ts +1 -0
- package/dist/safe-bash-command-csvkit/csvpy-interpreter.d.ts +2 -1
- package/dist/safe-bash-command-csvkit/default-csvpy.d.ts +11 -0
- package/dist/safe-bash-command-csvkit/errors.js +22 -0
- package/dist/safe-bash-command-csvkit/index.d.ts +1 -0
- package/dist/safe-bash-command-csvkit/index.js +172 -4
- package/dist/safe-bash-command-csvkit/python-worker-browser.d.ts +3 -0
- package/dist/safe-bash-command-csvkit/python-worker-browser.js +16 -0
- package/dist/safe-bash-command-csvkit/python-worker-contract.d.ts +20 -0
- package/dist/safe-bash-command-csvkit/python-worker-node.d.ts +3 -0
- package/dist/safe-bash-command-csvkit/python-worker-node.js +9 -0
- package/dist/safe-bash-command-csvkit/runtime.d.ts +1 -0
- package/dist/safe-bash-command-curl/LICENSE +21 -0
- package/dist/safe-bash-command-curl/curl.d.ts +13 -0
- package/dist/safe-bash-command-curl/curl.js +9 -0
- package/dist/safe-bash-command-curl/index.d.ts +6 -0
- package/dist/safe-bash-command-curl/index.js +26 -0
- package/dist/safe-bash-command-dd/index.js +4 -13
- package/dist/safe-bash-command-diff/LICENSE +21 -0
- package/dist/safe-bash-command-diff/diff-format.d.ts +10 -0
- package/dist/safe-bash-command-diff/diff-format.js +10 -0
- package/dist/safe-bash-command-diff/diff-options.d.ts +38 -0
- package/dist/safe-bash-command-diff/diff-options.js +7 -0
- package/dist/safe-bash-command-diff/diff-output.d.ts +20 -0
- package/dist/safe-bash-command-diff/diff-output.js +19 -0
- package/dist/safe-bash-command-diff/diff.d.ts +2 -0
- package/dist/safe-bash-command-diff/diff.js +10 -0
- package/dist/safe-bash-command-diff/index.d.ts +8 -0
- package/dist/safe-bash-command-diff/index.js +34 -0
- package/dist/safe-bash-command-diff/sync.d.ts +2 -0
- package/dist/safe-bash-command-diff/sync.js +9 -0
- package/dist/safe-bash-command-diff3/index.js +5 -5
- package/dist/safe-bash-command-docx/index.d.ts +4 -4
- package/dist/safe-bash-command-docx/index.js +12 -5
- package/dist/safe-bash-command-dos2unix/index.d.ts +1 -0
- package/dist/safe-bash-command-dos2unix/index.js +225 -1
- package/dist/safe-bash-command-dos2unix/sync.d.ts +1 -0
- package/dist/safe-bash-command-du/budget.d.ts +0 -2
- package/dist/safe-bash-command-du/budget.js +1 -1
- package/dist/safe-bash-command-du/du.js +2 -2
- package/dist/safe-bash-command-du/index.js +2 -2
- package/dist/safe-bash-command-exiftool/index.js +2 -2
- package/dist/safe-bash-command-factor/command.js +2 -2
- package/dist/safe-bash-command-factor/index.js +2 -2
- package/dist/safe-bash-command-ffmpeg/index.js +86 -94
- package/dist/safe-bash-command-file/index.js +4 -4
- package/dist/safe-bash-command-file/shared.d.ts +0 -2
- package/dist/safe-bash-command-file/shared.js +1 -1
- package/dist/safe-bash-command-find/LICENSE +21 -0
- package/dist/safe-bash-command-find/find-format.d.ts +20 -0
- package/dist/safe-bash-command-find/find-format.js +9 -0
- package/dist/safe-bash-command-find/find.d.ts +18 -0
- package/dist/safe-bash-command-find/find.js +10 -0
- package/dist/safe-bash-command-find/index.d.ts +13 -0
- package/dist/safe-bash-command-find/index.js +45 -0
- package/dist/safe-bash-command-fmt/index.js +10 -19
- package/dist/safe-bash-command-git/git_rust.wasm +0 -0
- package/dist/safe-bash-command-git/index.js +5 -7
- package/dist/safe-bash-command-git/wasm.generated.js +1 -1
- package/dist/safe-bash-command-gzip/LICENSE +21 -0
- package/dist/safe-bash-command-gzip/index.d.ts +11 -0
- package/dist/safe-bash-command-gzip/index.js +94 -0
- package/dist/safe-bash-command-html-to-markdown/budget.d.ts +0 -3
- 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 +11 -11
- package/dist/safe-bash-command-html-to-markdown/input.js +5 -5
- 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.js +12 -8
- package/dist/safe-bash-command-iconv/command.js +5 -5
- package/dist/safe-bash-command-iconv/index.js +5 -5
- package/dist/safe-bash-command-iconv/internal.d.ts +0 -2
- package/dist/safe-bash-command-iconv/internal.js +1 -1
- package/dist/safe-bash-command-iconv/lifecycle.js +2 -2
- package/dist/safe-bash-command-iconv/options.js +2 -2
- package/dist/safe-bash-command-iconv/reader.js +2 -2
- package/dist/safe-bash-command-imagemagick/index.js +22 -30
- 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-llm/command.js +1 -1
- package/dist/safe-bash-command-llm/index.d.ts +1 -0
- package/dist/safe-bash-command-llm/index.js +16 -14
- package/dist/safe-bash-command-llm/openai.js +3 -3
- package/dist/safe-bash-command-llm/providers/index.js +3 -3
- package/dist/safe-bash-command-llm/providers/openai.js +3 -3
- package/dist/safe-bash-command-llm/stored-schema.d.ts +10 -0
- package/dist/safe-bash-command-mmdc/index.js +13 -604
- package/dist/safe-bash-command-mmdc/settings.d.ts +2 -0
- package/dist/safe-bash-command-mmdc/settings.js +7 -0
- package/dist/safe-bash-command-numfmt/index.js +4 -18
- package/dist/safe-bash-command-pandoc/command.js +4 -3
- package/dist/safe-bash-command-pandoc/defaults.d.ts +1 -0
- package/dist/safe-bash-command-pandoc/index.js +4 -3
- package/dist/safe-bash-command-pandoc/lua-filters.js +1 -1
- package/dist/safe-bash-command-pandoc/types.d.ts +3 -1
- package/dist/safe-bash-command-patch/LICENSE +21 -0
- package/dist/safe-bash-command-patch/index.d.ts +8 -0
- package/dist/safe-bash-command-patch/index.js +38 -0
- package/dist/safe-bash-command-patch/patch-envelope.d.ts +2 -0
- package/dist/safe-bash-command-patch/patch-envelope.js +7 -0
- package/dist/safe-bash-command-patch/patch-formats.d.ts +7 -0
- package/dist/safe-bash-command-patch/patch-formats.js +9 -0
- package/dist/safe-bash-command-patch/patch-gnu-paths.d.ts +41 -0
- package/dist/safe-bash-command-patch/patch-gnu-paths.js +26 -0
- package/dist/safe-bash-command-patch/patch-gnu-reject.d.ts +3 -0
- package/dist/safe-bash-command-patch/patch-gnu-reject.js +7 -0
- package/dist/safe-bash-command-patch/patch-path.d.ts +3 -0
- package/dist/safe-bash-command-patch/patch-path.js +11 -0
- package/dist/safe-bash-command-patch/patch-publication.d.ts +13 -0
- package/dist/safe-bash-command-patch/patch-publication.js +7 -0
- package/dist/safe-bash-command-patch/patch.d.ts +2 -0
- package/dist/safe-bash-command-patch/patch.js +14 -0
- package/dist/safe-bash-command-patch/sync.d.ts +2 -0
- package/dist/safe-bash-command-patch/sync.js +7 -0
- package/dist/safe-bash-command-patch/unified.d.ts +52 -0
- package/dist/safe-bash-command-patch/unified.js +16 -0
- package/dist/safe-bash-command-pdfimages/index.js +37 -16
- package/dist/safe-bash-command-pdfinfo/index.d.ts +0 -23
- package/dist/safe-bash-command-pdfinfo/index.js +20 -772
- package/dist/safe-bash-command-pdftk/index.js +37 -9
- package/dist/safe-bash-command-pdftoppm/index.js +50 -20
- package/dist/safe-bash-command-pdftotext/index.js +10 -2
- package/dist/safe-bash-command-pptx/index.d.ts +4 -4
- package/dist/safe-bash-command-pptx/index.js +11 -5
- package/dist/safe-bash-command-pr/command.js +5 -5
- package/dist/safe-bash-command-pr/format.js +2 -2
- package/dist/safe-bash-command-pr/index.js +7 -7
- package/dist/safe-bash-command-pr/internal.d.ts +0 -2
- package/dist/safe-bash-command-pr/internal.js +1 -1
- package/dist/safe-bash-command-pr/io.js +2 -2
- package/dist/safe-bash-command-pr/options.js +2 -2
- package/dist/safe-bash-command-qpdf/index.js +26 -13
- package/dist/safe-bash-command-rg/index.d.ts +1 -0
- package/dist/safe-bash-command-rg/index.js +222 -1
- package/dist/safe-bash-command-rg/rg-command.js +1 -1
- package/dist/safe-bash-command-rg/sync.d.ts +1 -0
- package/dist/safe-bash-command-sed/LICENSE +21 -0
- package/dist/safe-bash-command-sed/index.d.ts +7 -0
- package/dist/safe-bash-command-sed/index.js +28 -0
- package/dist/safe-bash-command-sed/inplace.d.ts +16 -0
- package/dist/safe-bash-command-sed/inplace.js +9 -0
- package/dist/safe-bash-command-sed/sed.d.ts +3 -0
- package/dist/safe-bash-command-sed/sed.js +8 -0
- package/dist/safe-bash-command-shuf/input.js +3 -21
- package/dist/safe-bash-command-shuf/shuf.js +4 -27
- package/dist/safe-bash-command-sips/index.js +111 -35
- package/dist/safe-bash-command-soffice/index.js +4 -4
- package/dist/safe-bash-command-split/index.js +3 -3
- package/dist/safe-bash-command-split/io.d.ts +0 -2
- 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/engine.d.ts +1 -2
- package/dist/safe-bash-command-sqlite3/index.js +152 -452
- package/dist/safe-bash-command-ssconvert/commands.js +1 -1
- package/dist/safe-bash-command-ssconvert/formats/ods.js +2 -2
- package/dist/safe-bash-command-ssconvert/formats/xlsx.js +3 -3
- package/dist/safe-bash-command-ssconvert/index.js +5 -5
- package/dist/safe-bash-command-tar/LICENSE +21 -0
- package/dist/safe-bash-command-tar/create.d.ts +17 -0
- package/dist/safe-bash-command-tar/create.js +14 -0
- package/dist/safe-bash-command-tar/extract.d.ts +11 -0
- package/dist/safe-bash-command-tar/extract.js +14 -0
- package/dist/safe-bash-command-tar/format.d.ts +32 -0
- package/dist/safe-bash-command-tar/format.js +19 -0
- package/dist/safe-bash-command-tar/index.d.ts +8 -0
- package/dist/safe-bash-command-tar/index.js +550 -0
- package/dist/safe-bash-command-tar/listing.d.ts +2 -0
- package/dist/safe-bash-command-tar/listing.js +7 -0
- package/dist/safe-bash-command-tar/modes.d.ts +5 -0
- package/dist/safe-bash-command-tar/modes.js +16 -0
- package/dist/safe-bash-command-tar/options.d.ts +53 -0
- package/dist/safe-bash-command-tar/options.js +10 -0
- package/dist/safe-bash-command-tar/stream.d.ts +22 -0
- package/dist/safe-bash-command-tar/stream.js +15 -0
- package/dist/safe-bash-command-tar/transform.d.ts +16 -0
- package/dist/safe-bash-command-tar/transform.js +9 -0
- 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.d.ts +0 -1
- 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-tsort/command.js +4 -4
- package/dist/safe-bash-command-tsort/graph.js +2 -2
- package/dist/safe-bash-command-tsort/index.js +4 -4
- package/dist/safe-bash-command-tsort/internal.d.ts +0 -2
- package/dist/safe-bash-command-tsort/internal.js +1 -1
- package/dist/safe-bash-command-tsort/io.js +2 -2
- package/dist/safe-bash-command-unzip/LICENSE +21 -0
- package/dist/safe-bash-command-unzip/index.d.ts +7 -0
- package/dist/safe-bash-command-unzip/index.js +39 -0
- package/dist/safe-bash-command-unzip/sync.d.ts +3 -0
- package/dist/safe-bash-command-unzip/sync.js +9 -0
- package/dist/safe-bash-command-unzip/unzip/safety.d.ts +32 -0
- package/dist/safe-bash-command-unzip/unzip/safety.js +7 -0
- package/dist/safe-bash-command-unzip/unzip.d.ts +3 -0
- package/dist/safe-bash-command-unzip/unzip.js +8 -0
- package/dist/safe-bash-command-wget/LICENSE +21 -0
- package/dist/safe-bash-command-wget/index.d.ts +6 -0
- package/dist/safe-bash-command-wget/index.js +26 -0
- package/dist/safe-bash-command-wget/wget.d.ts +3 -0
- package/dist/safe-bash-command-wget/wget.js +7 -0
- package/dist/safe-bash-command-xan/argv.d.ts +4 -1
- package/dist/safe-bash-command-xan/argv.js +1 -1
- package/dist/safe-bash-command-xan/commands.js +4 -3
- package/dist/safe-bash-command-xan/index.js +15 -14
- package/dist/safe-bash-command-xan/io.js +2 -2
- package/dist/safe-bash-command-xmllint/index.js +189 -49
- package/dist/safe-bash-command-xz/index.js +3 -2
- package/dist/safe-bash-command-xz/options.d.ts +9 -1
- package/dist/safe-bash-command-xz/options.js +3 -1
- package/dist/safe-bash-command-yq/index.d.ts +4 -11
- package/dist/safe-bash-command-yq/index.js +3367 -670
- package/dist/safe-bash-command-yq/mike.js +6 -13
- package/dist/safe-bash-command-yq/native-work.d.ts +1 -0
- package/dist/safe-bash-command-yq/native-work.js +19 -1
- package/dist/safe-bash-command-yq/query.d.ts +11 -0
- package/dist/safe-bash-command-yq/query.js +735 -0
- package/dist/safe-bash-command-zip/LICENSE +21 -0
- package/dist/safe-bash-command-zip/index.d.ts +7 -0
- package/dist/safe-bash-command-zip/index.js +38 -0
- package/dist/safe-bash-command-zip/sync.d.ts +3 -0
- package/dist/safe-bash-command-zip/sync.js +9 -0
- package/dist/safe-bash-command-zip/zip.d.ts +3 -0
- package/dist/safe-bash-command-zip/zip.js +7 -0
- package/dist/safe-bash-compression-engine/files.js +4 -4
- package/dist/safe-bash-compression-engine/index.js +2 -2
- package/dist/safe-bash-compression-engine/operand.js +6 -6
- package/dist/safe-bash-compression-engine/stream.js +2 -2
- package/dist/safe-bash-compression-engine/zstd-decode.js +1 -1
- package/dist/safe-bash-contracts/command.js +1 -1
- package/dist/safe-bash-contracts/diagnostics.js +4 -4
- package/dist/safe-bash-contracts/escaping.js +11 -11
- package/dist/safe-bash-contracts/filesystem-descriptor.js +1 -1
- package/dist/safe-bash-contracts/filesystem-output.js +8 -8
- package/dist/safe-bash-contracts/index.js +34 -34
- package/dist/safe-bash-contracts/io.js +2 -2
- package/dist/safe-bash-contracts/output.js +3 -3
- package/dist/safe-bash-diff-engine/LICENSE +21 -0
- package/dist/safe-bash-diff-engine/index.d.ts +1 -0
- package/dist/safe-bash-diff-engine/index.js +24 -0
- package/dist/safe-bash-diff-engine/shared.d.ts +53 -0
- package/dist/safe-bash-diff-engine/shared.js +19 -0
- package/dist/safe-bash-io-engine/commands/archive/internal.d.ts +0 -1
- package/dist/safe-bash-io-engine/commands/archive/internal.js +3 -7
- package/dist/safe-bash-io-engine/commands/directory-admission.d.ts +3 -0
- package/dist/safe-bash-io-engine/commands/directory-admission.js +34 -0
- package/dist/safe-bash-io-engine/commands/mode-change.d.ts +4 -0
- package/dist/safe-bash-io-engine/commands/mode-change.js +60 -0
- package/dist/safe-bash-io-engine/commands/text-programs/shared.js +20 -31
- package/dist/safe-bash-io-engine/shell/pattern.js +8 -13
- package/dist/safe-bash-io-engine/shell/string-operations.d.ts +0 -2
- package/dist/safe-bash-io-engine/shell/string-operations.js +1 -1
- package/dist/safe-bash-line-ending-engine/internal.d.ts +0 -2
- package/dist/safe-bash-line-ending-engine/internal.js +1 -9
- package/dist/safe-bash-markdown-engine/commonmark-blocks.js +4 -4
- package/dist/safe-bash-markdown-engine/commonmark-inlines.js +4 -4
- package/dist/safe-bash-markdown-engine/commonmark-syntax.js +2 -2
- package/dist/safe-bash-markdown-engine/gfm-syntax.js +3 -3
- package/dist/safe-bash-markdown-engine/index.js +7 -7
- package/dist/safe-bash-mcp/index.browser.d.ts +6 -0
- package/dist/safe-bash-mcp/index.browser.js +1 -0
- package/dist/safe-bash-mcp/index.d.ts +12 -0
- package/dist/safe-bash-mcp/index.js +1558 -36
- package/dist/safe-bash-network-engine/LICENSE +21 -0
- package/dist/safe-bash-network-engine/aggregate.d.ts +4 -0
- package/dist/safe-bash-network-engine/aggregate.js +37 -0
- package/dist/safe-bash-network-engine/args.d.ts +68 -0
- package/dist/safe-bash-network-engine/args.js +19 -0
- package/dist/safe-bash-network-engine/authorizer.d.ts +6 -0
- package/dist/safe-bash-network-engine/authorizer.js +8 -0
- package/dist/safe-bash-network-engine/body.d.ts +9 -0
- package/dist/safe-bash-network-engine/body.js +374 -0
- package/dist/safe-bash-network-engine/deadline.d.ts +2 -0
- package/dist/safe-bash-network-engine/deadline.js +7 -0
- package/dist/safe-bash-network-engine/decode.d.ts +2 -0
- package/dist/safe-bash-network-engine/decode.js +81 -0
- package/dist/safe-bash-network-engine/fetch-transport.d.ts +7 -0
- package/dist/safe-bash-network-engine/fetch-transport.js +9 -0
- package/dist/safe-bash-network-engine/form-content-type.d.ts +5 -0
- package/dist/safe-bash-network-engine/form-content-type.js +8 -0
- package/dist/safe-bash-network-engine/form-headers.d.ts +2 -0
- package/dist/safe-bash-network-engine/form-headers.js +10 -0
- package/dist/safe-bash-network-engine/glob.d.ts +7 -0
- package/dist/safe-bash-network-engine/glob.js +124 -0
- package/dist/safe-bash-network-engine/index.d.ts +3 -0
- package/dist/safe-bash-network-engine/index.js +26 -0
- package/dist/safe-bash-network-engine/input.d.ts +5 -0
- package/dist/safe-bash-network-engine/input.js +255 -0
- package/dist/safe-bash-network-engine/output.d.ts +6 -0
- package/dist/safe-bash-network-engine/output.js +132 -0
- package/dist/safe-bash-network-engine/platform-portable.d.ts +5 -0
- package/dist/safe-bash-network-engine/platform-portable.js +19 -0
- package/dist/safe-bash-network-engine/private-address.d.ts +1 -0
- package/dist/safe-bash-network-engine/private-address.js +7 -0
- package/dist/safe-bash-network-engine/shared.d.ts +14 -0
- package/dist/safe-bash-network-engine/shared.js +23 -0
- package/dist/safe-bash-network-engine/types.d.ts +37 -0
- package/dist/safe-bash-network-engine/types.js +11 -0
- package/dist/safe-bash-network-engine/url.d.ts +2 -0
- package/dist/safe-bash-network-engine/url.js +8 -0
- package/dist/safe-bash-query-engine/capture.d.ts +1 -0
- package/dist/safe-bash-query-engine/capture.js +9 -7
- package/dist/safe-bash-query-engine/dates.d.ts +5 -1
- package/dist/safe-bash-query-engine/dates.js +10 -2
- package/dist/safe-bash-query-engine/delpaths.js +5 -5
- package/dist/safe-bash-query-engine/formats.js +3 -3
- package/dist/safe-bash-query-engine/index.js +15 -15
- package/dist/safe-bash-query-engine/indices.js +5 -5
- package/dist/safe-bash-query-engine/input.d.ts +1 -2
- package/dist/safe-bash-query-engine/input.js +2 -4
- package/dist/safe-bash-query-engine/interpreter.d.ts +5 -0
- package/dist/safe-bash-query-engine/interpreter.js +13 -13
- package/dist/safe-bash-query-engine/limits.js +1 -1
- package/dist/safe-bash-query-engine/parser.d.ts +8 -1
- package/dist/safe-bash-query-engine/parser.js +2 -2
- package/dist/safe-bash-query-engine/query-core.js +15 -15
- package/dist/safe-bash-query-engine/recurse.js +2 -2
- package/dist/safe-bash-query-engine/regex.d.ts +4 -2
- package/dist/safe-bash-query-engine/regex.js +10 -5
- package/dist/safe-bash-query-engine/split.js +2 -2
- package/dist/safe-bash-query-engine/splits.d.ts +1 -1
- package/dist/safe-bash-query-engine/splits.js +7 -6
- package/dist/safe-bash-query-engine/values.js +4 -4
- package/dist/safe-bash-regex-engine/ere/limits.d.ts +0 -1
- package/dist/safe-bash-regex-engine/ere/limits.js +1 -1
- package/dist/safe-bash-regex-engine/ere/matcher.js +9 -9
- package/dist/safe-bash-regex-engine/ere/syntax.js +2 -2
- package/dist/safe-bash-regex-engine/execution/bounded-provider.js +2 -4
- package/dist/safe-bash-regex-engine/index.js +2 -2
- package/dist/safe-bash-regex-engine/text/regex.d.ts +1 -0
- package/dist/safe-bash-regex-engine/text/regex.js +2 -2
- package/dist/safe-bash-search-engine/ergonomic-regex.d.ts +12 -2
- package/dist/safe-bash-search-engine/ergonomic-regex.js +2 -2
- package/dist/safe-bash-search-engine/glob.js +2 -2
- package/dist/safe-bash-search-engine/grep.js +2 -2
- package/dist/safe-bash-search-engine/matcher.d.ts +6 -2
- package/dist/safe-bash-search-engine/matcher.js +30 -8
- package/dist/safe-bash-search-engine/options.js +1 -1
- package/dist/safe-bash-search-engine/output.d.ts +3 -2
- package/dist/safe-bash-search-engine/output.js +111 -30
- package/dist/safe-bash-search-engine/shared.d.ts +2 -0
- package/dist/safe-bash-search-engine/shared.js +2 -2
- package/dist/safe-bash-search-engine/walk.js +11 -10
- package/dist/safe-bash-text-stream-engine/stream-format/shared.d.ts +0 -2
- package/dist/safe-bash-text-stream-engine/stream-format/shared.js +1 -9
- package/dist/safe-bash-xml-engine/document.d.ts +1 -1
- package/dist/safe-bash-xml-engine/document.js +3 -3
- package/dist/safe-bash-xml-engine/evaluate.d.ts +1 -0
- package/dist/safe-bash-xml-engine/evaluate.js +4 -1
- package/dist/safe-bash-xml-engine/index.js +8 -6
- package/dist/safe-bash-xml-engine/io.js +1 -1
- package/dist/safe-bash-xml-engine/limits.d.ts +2 -2
- package/dist/safe-bash-xml-engine/limits.js +1 -1
- package/dist/safe-bash-xml-engine/predicate.d.ts +57 -0
- package/dist/safe-bash-xml-engine/query.d.ts +3 -15
- package/dist/safe-bash-xml-engine/query.js +3 -2
- package/dist/safe-bash-zip-engine/LICENSE +21 -0
- package/dist/safe-bash-zip-engine/index.d.ts +1 -0
- package/dist/safe-bash-zip-engine/index.js +32 -0
- package/dist/safe-bash-zip-engine/unzip/arguments.d.ts +53 -0
- package/dist/safe-bash-zip-engine/unzip/arguments.js +270 -0
- package/dist/safe-bash-zip-engine/zip/aes.d.ts +17 -0
- package/dist/safe-bash-zip-engine/zip/aes.js +15 -0
- package/dist/safe-bash-zip-engine/zip/comments.d.ts +17 -0
- package/dist/safe-bash-zip-engine/zip/comments.js +77 -0
- package/dist/safe-bash-zip-engine/zip/crc.d.ts +1 -0
- package/dist/safe-bash-zip-engine/zip/crc.js +7 -0
- package/dist/safe-bash-zip-engine/zip/crypto.d.ts +19 -0
- package/dist/safe-bash-zip-engine/zip/crypto.js +16 -0
- package/dist/safe-bash-zip-engine/zip/dates.d.ts +4 -0
- package/dist/safe-bash-zip-engine/zip/dates.js +68 -0
- package/dist/safe-bash-zip-engine/zip/environment.d.ts +2 -0
- package/dist/safe-bash-zip-engine/zip/environment.js +60 -0
- package/dist/safe-bash-zip-engine/zip/grow.d.ts +3 -0
- package/dist/safe-bash-zip-engine/zip/grow.js +7 -0
- package/dist/safe-bash-zip-engine/zip/help.d.ts +4 -0
- package/dist/safe-bash-zip-engine/zip/help.js +194 -0
- package/dist/safe-bash-zip-engine/zip/line-endings.d.ts +2 -0
- package/dist/safe-bash-zip-engine/zip/line-endings.js +165 -0
- package/dist/safe-bash-zip-engine/zip/log.d.ts +22 -0
- package/dist/safe-bash-zip-engine/zip/log.js +153 -0
- package/dist/safe-bash-zip-engine/zip/lzma.d.ts +9 -0
- package/dist/safe-bash-zip-engine/zip/lzma.js +7 -0
- package/dist/safe-bash-zip-engine/zip/move.d.ts +11 -0
- package/dist/safe-bash-zip-engine/zip/move.js +57 -0
- package/dist/safe-bash-zip-engine/zip/names.d.ts +2 -0
- package/dist/safe-bash-zip-engine/zip/names.js +37 -0
- package/dist/safe-bash-zip-engine/zip/options.d.ts +13 -0
- package/dist/safe-bash-zip-engine/zip/options.js +23 -0
- package/dist/safe-bash-zip-engine/zip/repair.d.ts +10 -0
- package/dist/safe-bash-zip-engine/zip/repair.js +348 -0
- package/dist/safe-bash-zip-engine/zip/safety.d.ts +54 -0
- package/dist/safe-bash-zip-engine/zip/safety.js +19 -0
- package/dist/safe-bash-zip-engine/zip/sfx.d.ts +4 -0
- package/dist/safe-bash-zip-engine/zip/sfx.js +58 -0
- package/dist/safe-bash-zip-engine/zip/test-command.d.ts +5 -0
- package/dist/safe-bash-zip-engine/zip/test-command.js +98 -0
- package/dist/safe-bash-zip-engine/zip/volumes.d.ts +21 -0
- package/dist/safe-bash-zip-engine/zip/volumes.js +255 -0
- package/dist/safe-bash-zip-engine/zip/zip64.d.ts +30 -0
- package/dist/safe-bash-zip-engine/zip/zip64.js +25 -0
- package/dist/safe-bash-zip-engine/zip-format.d.ts +68 -0
- package/dist/safe-bash-zip-engine/zip-format.js +27 -0
- package/dist/safe-playwright-cloudflare/browser-codegen.generated.d.ts +7 -7
- package/dist/safe-playwright-cloudflare/browser-codegen.generated.js +866 -8069
- package/dist/safe-playwright-cloudflare/browser-run-code-budget.d.ts +0 -1
- package/dist/safe-playwright-cloudflare/browser-run-code-budget.js +0 -2
- package/dist/safe-playwright-cloudflare/browser-trace-archive.d.ts +5 -1
- package/dist/safe-playwright-cloudflare/browser-trace-archive.js +2 -1
- package/dist/safe-playwright-cloudflare/browser-trace-budget.js +2 -2
- package/dist/safe-playwright-cloudflare/shell-browser-resource.d.ts +2 -0
- package/dist/safe-playwright-cloudflare/shell-browser-resource.js +3 -11
- package/dist/safe-playwright-cloudflare/shell-playwright.d.ts +2 -0
- package/dist/safe-playwright-cloudflare/shell-playwright.js +1 -1
- package/dist/spreadsheet-engine/io/publication.d.ts +1 -0
- package/package.json +163 -14
- package/dist/safe-bash/chunks/chunk-O4ZUCRGN.js +0 -13
- package/dist/safe-bash/chunks/chunk-S264DZO2.js +0 -243
- package/dist/safe-bash/chunks/chunk-WVG5SHHQ.js +0 -12
- package/dist/safe-bash/chunks/chunk-XH26YVGW.js +0 -23027
- package/dist/safe-bash/chunks/chunk-ZW6K2J7P.js +0 -2652
- package/dist/safe-bash/command-chunks/chunk-BIXLZ3OG.js +0 -14342
- package/dist/safe-bash/command-chunks/chunk-DUYJE2HY.js +0 -14
- package/dist/safe-bash/command-chunks/chunk-JHVZYB4R.js +0 -181
- package/dist/safe-bash/command-chunks/chunk-ULZ7HIZP.js +0 -40
- package/dist/safe-bash/command-chunks/chunk-XS3PGJU2.js +0 -343
- package/dist/safe-bash/command-chunks/chunk-XTZALMLR.js +0 -488
- package/dist/safe-bash/commands/archive/zip/aes-primitives-unavailable.d.ts +0 -2
- package/dist/safe-bash/commands/archive/zip/aes-primitives-unavailable.js +0 -3
- package/dist/safe-bash/commands/archive/zip/aes-primitives.d.ts +0 -2
- package/dist/safe-bash/commands/archive/zip/aes-primitives.js +0 -3
- package/dist/safe-bash/commands/xml/document.d.ts +0 -2
- package/dist/safe-bash/commands/xml/document.js +0 -2
- package/dist/safe-bash/commands/xml/evaluate.d.ts +0 -2
- package/dist/safe-bash/commands/xml/evaluate.js +0 -2
- package/dist/safe-bash/commands/xml/json.d.ts +0 -2
- package/dist/safe-bash/commands/xml/json.js +0 -2
- package/dist/safe-bash/commands/xml/limits.d.ts +0 -2
- package/dist/safe-bash/commands/xml/limits.js +0 -2
- package/dist/safe-bash/commands/xml/query.d.ts +0 -2
- package/dist/safe-bash/commands/xml/query.js +0 -2
- package/dist/safe-bash/chunks/{chunk-NHOXKQNE.js → chunk-QVSRRNZT.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-FIUFIDAO.js → chunk-2JRBIDAD.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-TYVCKQDH.js → chunk-J5SN3PZ3.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-2ENZ6JGA.js → chunk-KEV7C3KH.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-S62HELHU.js → chunk-PL6O4K6W.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-2WRTLCGK.js → chunk-QZF3SINC.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-X7TM3AKW.js → chunk-U6G67N23.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-DDLQ5YDB.js → chunk-YHFXOX6U.js} +9 -9
- package/dist/safe-bash/command-chunks/{chunk-DQMOM72Z.js → chunk-ZRRBXU3M.js} +4 -4
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
} from "../safe-bash-contracts/command.js";
|
|
14
14
|
import { readBytes, writeBytes } from "../safe-bash-contracts/io.js";
|
|
15
15
|
import { createOutputOperation } from "../safe-bash-contracts/output.js";
|
|
16
|
-
import { PdfDocument, cosArray, cosDict, cosName, cosNumber, cosStream, dictGet,
|
|
16
|
+
import { PdfDocument, cosArray, cosDict, cosName, cosNumber, cosStream, dictGet, decodePdfString, parseContentStream, resolveDestinationPageIndex } from "../pdf-ast/index.js";
|
|
17
17
|
var SUPPORTED_ENCODINGS = /* @__PURE__ */ new Set([
|
|
18
18
|
"ASCII7",
|
|
19
19
|
"Latin1",
|
|
@@ -1040,530 +1040,6 @@ function createPdfinfoCommand(options = {}) {
|
|
|
1040
1040
|
});
|
|
1041
1041
|
}
|
|
1042
1042
|
var pdfinfoCommand = createPdfinfoCommand();
|
|
1043
|
-
function* runPdftoppmCliSteps(argv, files, signal) {
|
|
1044
|
-
let cooperativeWork = 63;
|
|
1045
|
-
let format = "ppm";
|
|
1046
|
-
let colorMode = "color";
|
|
1047
|
-
let dpi = 150;
|
|
1048
|
-
let dpiX;
|
|
1049
|
-
let dpiY;
|
|
1050
|
-
let scaleTo = 0;
|
|
1051
|
-
let scaleToX = 0;
|
|
1052
|
-
let scaleToY = 0;
|
|
1053
|
-
let cropX = 0;
|
|
1054
|
-
let cropY = 0;
|
|
1055
|
-
let cropW = 0;
|
|
1056
|
-
let cropH = 0;
|
|
1057
|
-
let hasCrop = false;
|
|
1058
|
-
let useCropBox = false;
|
|
1059
|
-
let hideAnnotations = false;
|
|
1060
|
-
let transparent = false;
|
|
1061
|
-
let progress = false;
|
|
1062
|
-
let quiet = false;
|
|
1063
|
-
let jpegQuality = 90;
|
|
1064
|
-
let firstPage = 1;
|
|
1065
|
-
let lastPage = 0;
|
|
1066
|
-
let oddOnly = false;
|
|
1067
|
-
let evenOnly = false;
|
|
1068
|
-
let singleFile = false;
|
|
1069
|
-
let forceNum = false;
|
|
1070
|
-
let sep = "-";
|
|
1071
|
-
let setPageNo;
|
|
1072
|
-
let password = "";
|
|
1073
|
-
const positionals = [];
|
|
1074
|
-
for (let i = 0; i < argv.length; i++) {
|
|
1075
|
-
if (++cooperativeWork % 64 === 0)
|
|
1076
|
-
yield;
|
|
1077
|
-
const arg = argv[i];
|
|
1078
|
-
if (arg === "-v" || arg === "--version") {
|
|
1079
|
-
return { exitCode: 0, stdout: "pdftoppm version 24.08.0\n", stderr: "" };
|
|
1080
|
-
}
|
|
1081
|
-
if (arg === "-h" || arg === "-help" || arg === "--help" || arg === "-?") {
|
|
1082
|
-
return {
|
|
1083
|
-
exitCode: 0,
|
|
1084
|
-
stdout: "Usage: pdftoppm [options] [PDF-file [PPM-file-prefix]]\n -png / -ppm / -gray / -mono / -jpeg / -svg\n -r <dpi> / -rx <dpi> / -ry <dpi> / -scale-to <px> / -f <int> / -l <int> / -singlefile / -cropbox\n",
|
|
1085
|
-
stderr: ""
|
|
1086
|
-
};
|
|
1087
|
-
}
|
|
1088
|
-
if (arg === "-png")
|
|
1089
|
-
format = "png";
|
|
1090
|
-
else if (arg === "-tiff")
|
|
1091
|
-
format = "tif";
|
|
1092
|
-
else if (arg === "-ppm")
|
|
1093
|
-
format = "ppm";
|
|
1094
|
-
else if (arg === "-gray" || arg === "-pgm") {
|
|
1095
|
-
colorMode = "gray";
|
|
1096
|
-
if (format === "ppm")
|
|
1097
|
-
format = "pgm";
|
|
1098
|
-
} else if (arg === "-mono" || arg === "-pbm") {
|
|
1099
|
-
colorMode = "mono";
|
|
1100
|
-
if (format === "ppm")
|
|
1101
|
-
format = "pbm";
|
|
1102
|
-
} else if (arg === "-jpeg" || arg === "-jpg")
|
|
1103
|
-
format = "jpeg";
|
|
1104
|
-
else if (arg === "-svg")
|
|
1105
|
-
format = "svg";
|
|
1106
|
-
else if (arg === "-singlefile")
|
|
1107
|
-
singleFile = true;
|
|
1108
|
-
else if (arg === "-forcenum")
|
|
1109
|
-
forceNum = true;
|
|
1110
|
-
else if (arg === "-o")
|
|
1111
|
-
oddOnly = true;
|
|
1112
|
-
else if (arg === "-e")
|
|
1113
|
-
evenOnly = true;
|
|
1114
|
-
else if (arg === "-cropbox")
|
|
1115
|
-
useCropBox = true;
|
|
1116
|
-
else if (arg === "-hide-annotations")
|
|
1117
|
-
hideAnnotations = true;
|
|
1118
|
-
else if (arg === "-transp")
|
|
1119
|
-
transparent = true;
|
|
1120
|
-
else if (arg === "-overprint") {
|
|
1121
|
-
} else if (arg === "-progress")
|
|
1122
|
-
progress = true;
|
|
1123
|
-
else if (arg === "-q")
|
|
1124
|
-
quiet = true;
|
|
1125
|
-
else if (arg === "-setpageno") {
|
|
1126
|
-
const n = Number.parseInt(argv[++i] ?? "", 10);
|
|
1127
|
-
if (Number.isFinite(n))
|
|
1128
|
-
setPageNo = n;
|
|
1129
|
-
} else if (arg === "-jpegopt") {
|
|
1130
|
-
const optStr = argv[++i] ?? "";
|
|
1131
|
-
for (const part of optStr.split(",")) {
|
|
1132
|
-
if (++cooperativeWork % 64 === 0)
|
|
1133
|
-
yield;
|
|
1134
|
-
const eqIdx = part.indexOf("=");
|
|
1135
|
-
if (eqIdx > 0 && part.slice(0, eqIdx).trim().toLowerCase() === "quality") {
|
|
1136
|
-
const qVal = Number(part.slice(eqIdx + 1).trim());
|
|
1137
|
-
if (Number.isFinite(qVal) && qVal >= 1 && qVal <= 100) {
|
|
1138
|
-
jpegQuality = Math.round(qVal);
|
|
1139
|
-
}
|
|
1140
|
-
}
|
|
1141
|
-
}
|
|
1142
|
-
} else if (arg === "-sep")
|
|
1143
|
-
sep = argv[++i] ?? "-";
|
|
1144
|
-
else if (arg === "-r")
|
|
1145
|
-
dpi = Number(argv[++i] ?? "150") || 150;
|
|
1146
|
-
else if (arg === "-rx")
|
|
1147
|
-
dpiX = Number(argv[++i] ?? "150") || 150;
|
|
1148
|
-
else if (arg === "-ry")
|
|
1149
|
-
dpiY = Number(argv[++i] ?? "150") || 150;
|
|
1150
|
-
else if (arg === "-scale-to")
|
|
1151
|
-
scaleTo = Number(argv[++i] ?? "0") || 0;
|
|
1152
|
-
else if (arg === "-scale-to-x")
|
|
1153
|
-
scaleToX = Number(argv[++i] ?? "0") || 0;
|
|
1154
|
-
else if (arg === "-scale-to-y")
|
|
1155
|
-
scaleToY = Number(argv[++i] ?? "0") || 0;
|
|
1156
|
-
else if (arg === "-x") {
|
|
1157
|
-
cropX = Number(argv[++i] ?? "0") || 0;
|
|
1158
|
-
hasCrop = true;
|
|
1159
|
-
} else if (arg === "-y") {
|
|
1160
|
-
cropY = Number(argv[++i] ?? "0") || 0;
|
|
1161
|
-
hasCrop = true;
|
|
1162
|
-
} else if (arg === "-W") {
|
|
1163
|
-
cropW = Number(argv[++i] ?? "0") || 0;
|
|
1164
|
-
hasCrop = true;
|
|
1165
|
-
} else if (arg === "-H") {
|
|
1166
|
-
cropH = Number(argv[++i] ?? "0") || 0;
|
|
1167
|
-
hasCrop = true;
|
|
1168
|
-
} else if (arg === "-sz") {
|
|
1169
|
-
const sz = Number(argv[++i] ?? "0") || 0;
|
|
1170
|
-
cropW = sz;
|
|
1171
|
-
cropH = sz;
|
|
1172
|
-
hasCrop = true;
|
|
1173
|
-
} else if (arg === "-f")
|
|
1174
|
-
firstPage = Math.max(1, Number(argv[++i] ?? "1") || 1);
|
|
1175
|
-
else if (arg === "-l")
|
|
1176
|
-
lastPage = Math.max(0, Number(argv[++i] ?? "0") || 0);
|
|
1177
|
-
else if (arg === "-upw" || arg === "-opw")
|
|
1178
|
-
password = argv[++i] ?? "";
|
|
1179
|
-
else if (arg === "-tiffcompression" || arg === "-aa" || arg === "-aaVector" || arg === "-thinlinemode" || arg === "-freetype")
|
|
1180
|
-
i++;
|
|
1181
|
-
else if (!arg.startsWith("-") || arg === "-")
|
|
1182
|
-
positionals.push(arg);
|
|
1183
|
-
}
|
|
1184
|
-
const inputPath = positionals[0] ?? (files.has("-") ? "-" : void 0);
|
|
1185
|
-
if (!inputPath) {
|
|
1186
|
-
return { exitCode: 99, stdout: "", stderr: "Usage: pdftoppm [options] [PDF-file [PPM-root]]\n" };
|
|
1187
|
-
}
|
|
1188
|
-
const pdfBytes = files.get(inputPath);
|
|
1189
|
-
if (!pdfBytes) {
|
|
1190
|
-
return { exitCode: 1, stdout: "", stderr: `I/O Error: Couldn't open file '${inputPath}'
|
|
1191
|
-
` };
|
|
1192
|
-
}
|
|
1193
|
-
let doc;
|
|
1194
|
-
try {
|
|
1195
|
-
doc = PdfDocument.load(pdfBytes, password ? { password } : void 0);
|
|
1196
|
-
} catch (err) {
|
|
1197
|
-
return { exitCode: 1, stdout: "", stderr: `PDF Error: ${err.message}
|
|
1198
|
-
` };
|
|
1199
|
-
}
|
|
1200
|
-
const totalPages = Math.max(1, doc.pageCount);
|
|
1201
|
-
const endPage = lastPage > 0 ? Math.min(totalPages, lastPage) : totalPages;
|
|
1202
|
-
const prefix = positionals[1];
|
|
1203
|
-
const ext = format === "jpeg" ? "jpg" : format;
|
|
1204
|
-
const padWidth = Math.max(1, String(totalPages).length);
|
|
1205
|
-
const outChunks = [];
|
|
1206
|
-
const progressLines = [];
|
|
1207
|
-
for (let p = firstPage; p <= endPage; p++) {
|
|
1208
|
-
yield;
|
|
1209
|
-
if (oddOnly && p % 2 === 0)
|
|
1210
|
-
continue;
|
|
1211
|
-
if (evenOnly && p % 2 === 1)
|
|
1212
|
-
continue;
|
|
1213
|
-
const page = doc.getPage(p - 1);
|
|
1214
|
-
let rawSize = page.getSize();
|
|
1215
|
-
let resolvedCropBox;
|
|
1216
|
-
if (useCropBox) {
|
|
1217
|
-
let cur = page.pageDict;
|
|
1218
|
-
const visited = /* @__PURE__ */ new Set();
|
|
1219
|
-
while (cur && !visited.has(cur)) {
|
|
1220
|
-
if (++cooperativeWork % 64 === 0)
|
|
1221
|
-
yield;
|
|
1222
|
-
visited.add(cur);
|
|
1223
|
-
const cb = doc.cos.resolveArray(dictGet(cur, "CropBox"));
|
|
1224
|
-
if (cb && cb.items.length >= 4) {
|
|
1225
|
-
const nums = cb.items.slice(0, 4).map((it) => {
|
|
1226
|
-
const r = doc.cos.resolve(it);
|
|
1227
|
-
return r?.kind === "number" ? r.value : 0;
|
|
1228
|
-
});
|
|
1229
|
-
resolvedCropBox = [nums[0], nums[1], nums[2], nums[3]];
|
|
1230
|
-
rawSize = {
|
|
1231
|
-
width: Math.max(1, Math.abs(nums[2] - nums[0])),
|
|
1232
|
-
height: Math.max(1, Math.abs(nums[3] - nums[1]))
|
|
1233
|
-
};
|
|
1234
|
-
break;
|
|
1235
|
-
}
|
|
1236
|
-
cur = doc.cos.resolveDict(dictGet(cur, "Parent"));
|
|
1237
|
-
}
|
|
1238
|
-
}
|
|
1239
|
-
const rot = page.getRotation();
|
|
1240
|
-
const ptW = Math.max(1, rot === 90 || rot === 270 ? rawSize.height : rawSize.width);
|
|
1241
|
-
const ptH = Math.max(1, rot === 90 || rot === 270 ? rawSize.width : rawSize.height);
|
|
1242
|
-
let effDpiX = dpiX ?? dpi;
|
|
1243
|
-
let effDpiY = dpiY ?? dpi;
|
|
1244
|
-
if (scaleTo > 0) {
|
|
1245
|
-
const s = scaleTo * 72 / Math.max(ptW, ptH);
|
|
1246
|
-
effDpiX = s;
|
|
1247
|
-
effDpiY = s;
|
|
1248
|
-
} else {
|
|
1249
|
-
if (scaleToX > 0) {
|
|
1250
|
-
effDpiX = scaleToX * 72 / ptW;
|
|
1251
|
-
if (scaleToY <= 0)
|
|
1252
|
-
effDpiY = effDpiX;
|
|
1253
|
-
}
|
|
1254
|
-
if (scaleToY > 0) {
|
|
1255
|
-
effDpiY = scaleToY * 72 / ptH;
|
|
1256
|
-
if (scaleToX <= 0)
|
|
1257
|
-
effDpiX = effDpiY;
|
|
1258
|
-
}
|
|
1259
|
-
}
|
|
1260
|
-
let renderedBytes;
|
|
1261
|
-
if (format === "svg") {
|
|
1262
|
-
const fullSz = page.getSize();
|
|
1263
|
-
let svgCropRect = hasCrop ? { x: cropX, y: cropY, width: cropW, height: cropH } : void 0;
|
|
1264
|
-
if (useCropBox && resolvedCropBox) {
|
|
1265
|
-
const sx = effDpiX / 72;
|
|
1266
|
-
const sy = effDpiY / 72;
|
|
1267
|
-
const cbScreenX = Math.min(resolvedCropBox[0], resolvedCropBox[2]) * sx;
|
|
1268
|
-
const cbScreenY = (fullSz.height - Math.max(resolvedCropBox[1], resolvedCropBox[3])) * sy;
|
|
1269
|
-
const cbScreenW = Math.abs(resolvedCropBox[2] - resolvedCropBox[0]) * sx;
|
|
1270
|
-
const cbScreenH = Math.abs(resolvedCropBox[3] - resolvedCropBox[1]) * sy;
|
|
1271
|
-
svgCropRect = svgCropRect ? {
|
|
1272
|
-
x: cbScreenX + svgCropRect.x,
|
|
1273
|
-
y: cbScreenY + svgCropRect.y,
|
|
1274
|
-
width: svgCropRect.width || cbScreenW,
|
|
1275
|
-
height: svgCropRect.height || cbScreenH
|
|
1276
|
-
} : { x: cbScreenX, y: cbScreenY, width: cbScreenW, height: cbScreenH };
|
|
1277
|
-
}
|
|
1278
|
-
const svgText = yield* renderDisplayListToSvgSteps(page.evaluateDisplayList({ hideAnnotations }), {
|
|
1279
|
-
dpi: effDpiX,
|
|
1280
|
-
dpiX: effDpiX,
|
|
1281
|
-
dpiY: effDpiY,
|
|
1282
|
-
useCropBox,
|
|
1283
|
-
cropRect: svgCropRect,
|
|
1284
|
-
hideAnnotations,
|
|
1285
|
-
transparent
|
|
1286
|
-
});
|
|
1287
|
-
renderedBytes = new TextEncoder().encode(svgText);
|
|
1288
|
-
} else {
|
|
1289
|
-
const bitmap = yield* renderPdfPageToBitmapSteps(doc.cos, p - 1, {
|
|
1290
|
-
dpi: effDpiX,
|
|
1291
|
-
dpiX: effDpiX,
|
|
1292
|
-
dpiY: effDpiY,
|
|
1293
|
-
useCropBox,
|
|
1294
|
-
hideAnnotations,
|
|
1295
|
-
transparent,
|
|
1296
|
-
...hasCrop ? { cropRect: { x: cropX, y: cropY, width: cropW, height: cropH } } : {}
|
|
1297
|
-
});
|
|
1298
|
-
if (colorMode !== "color" && (format === "png" || format === "tif" || format === "jpeg")) {
|
|
1299
|
-
for (let px = 0; px < bitmap.data.length; px += 4) {
|
|
1300
|
-
if (++cooperativeWork % 65536 === 0)
|
|
1301
|
-
yield;
|
|
1302
|
-
const r = bitmap.data[px];
|
|
1303
|
-
const g = bitmap.data[px + 1];
|
|
1304
|
-
const b = bitmap.data[px + 2];
|
|
1305
|
-
const lum = Math.round(0.299 * r + 0.587 * g + 0.114 * b);
|
|
1306
|
-
const v = colorMode === "mono" ? lum < 128 ? 0 : 255 : lum;
|
|
1307
|
-
bitmap.data[px] = v;
|
|
1308
|
-
bitmap.data[px + 1] = v;
|
|
1309
|
-
bitmap.data[px + 2] = v;
|
|
1310
|
-
}
|
|
1311
|
-
}
|
|
1312
|
-
if (format === "png")
|
|
1313
|
-
renderedBytes = yield* encodePngSteps(bitmap);
|
|
1314
|
-
else if (format === "tif")
|
|
1315
|
-
renderedBytes = yield* encodeTiffSteps(bitmap, effDpiX);
|
|
1316
|
-
else if (format === "ppm")
|
|
1317
|
-
renderedBytes = yield* encodePpmSteps(bitmap);
|
|
1318
|
-
else if (format === "pgm")
|
|
1319
|
-
renderedBytes = yield* encodePgmSteps(bitmap);
|
|
1320
|
-
else if (format === "pbm")
|
|
1321
|
-
renderedBytes = yield* encodePbmSteps(bitmap);
|
|
1322
|
-
else
|
|
1323
|
-
renderedBytes = yield* encodeJpegSteps(bitmap, jpegQuality);
|
|
1324
|
-
}
|
|
1325
|
-
if (!prefix || prefix === "-") {
|
|
1326
|
-
outChunks.push(renderedBytes);
|
|
1327
|
-
if (progress && !quiet)
|
|
1328
|
-
progressLines.push(`${p} ${endPage} -`);
|
|
1329
|
-
} else {
|
|
1330
|
-
const effectivePageNo = setPageNo !== void 0 ? setPageNo + (p - firstPage) : p;
|
|
1331
|
-
const pageNumStr = String(effectivePageNo).padStart(Math.max(padWidth, String(effectivePageNo).length), "0");
|
|
1332
|
-
const fileName = singleFile && !forceNum ? `${prefix}.${ext}` : `${prefix}${sep}${pageNumStr}.${ext}`;
|
|
1333
|
-
files.set(fileName, renderedBytes);
|
|
1334
|
-
if (progress && !quiet)
|
|
1335
|
-
progressLines.push(`${p} ${endPage} ${fileName}`);
|
|
1336
|
-
}
|
|
1337
|
-
if (singleFile)
|
|
1338
|
-
break;
|
|
1339
|
-
}
|
|
1340
|
-
const stderrText = progressLines.length > 0 ? progressLines.join("\n") + "\n" : "";
|
|
1341
|
-
if (outChunks.length > 0) {
|
|
1342
|
-
const totalLen = outChunks.reduce((s, c) => s + c.byteLength, 0);
|
|
1343
|
-
const merged = new Uint8Array(totalLen);
|
|
1344
|
-
let off = 0;
|
|
1345
|
-
for (const c of outChunks) {
|
|
1346
|
-
if (++cooperativeWork % 64 === 0)
|
|
1347
|
-
yield;
|
|
1348
|
-
merged.set(c, off);
|
|
1349
|
-
off += c.byteLength;
|
|
1350
|
-
}
|
|
1351
|
-
return { exitCode: 0, stdout: "", stderr: stderrText, stdoutBytes: merged };
|
|
1352
|
-
}
|
|
1353
|
-
return { exitCode: 0, stdout: "", stderr: stderrText };
|
|
1354
|
-
}
|
|
1355
|
-
async function runPdftoppmCli(argv, files, signal) {
|
|
1356
|
-
return drainSteps(runPdftoppmCliSteps(argv, files, signal), signal);
|
|
1357
|
-
}
|
|
1358
|
-
function formatPopplerSize(byteLength) {
|
|
1359
|
-
if (byteLength >= 1024 * 1024) {
|
|
1360
|
-
return `${(byteLength / (1024 * 1024)).toFixed(1)}M`;
|
|
1361
|
-
}
|
|
1362
|
-
if (byteLength >= 1024) {
|
|
1363
|
-
return `${(byteLength / 1024).toFixed(1)}K`;
|
|
1364
|
-
}
|
|
1365
|
-
return `${byteLength}B`;
|
|
1366
|
-
}
|
|
1367
|
-
function formatPopplerRatio(byteLength, width, height, components, bpc) {
|
|
1368
|
-
const uncompressedBits = Math.max(1, width * height * components * bpc);
|
|
1369
|
-
const uncompressedBytes = Math.max(1, uncompressedBits / 8);
|
|
1370
|
-
const pct = Math.min(999, Math.max(0.1, byteLength / uncompressedBytes * 100));
|
|
1371
|
-
return `${pct.toFixed(1)}%`;
|
|
1372
|
-
}
|
|
1373
|
-
function* runPdfimagesCliSteps(argv, files, signal) {
|
|
1374
|
-
let cooperativeWork = 63;
|
|
1375
|
-
let listOnly = false;
|
|
1376
|
-
let usePng = false;
|
|
1377
|
-
let useJpeg = false;
|
|
1378
|
-
let useTiff = false;
|
|
1379
|
-
let useJp2 = false;
|
|
1380
|
-
let useJbig2 = false;
|
|
1381
|
-
let useCcitt = false;
|
|
1382
|
-
let firstPage = 1;
|
|
1383
|
-
let lastPage = 0;
|
|
1384
|
-
let includePage = false;
|
|
1385
|
-
let uniqueOnly = false;
|
|
1386
|
-
let printFilenames = false;
|
|
1387
|
-
let quiet = false;
|
|
1388
|
-
let password = "";
|
|
1389
|
-
const positionals = [];
|
|
1390
|
-
for (let i = 0; i < argv.length; i++) {
|
|
1391
|
-
if (++cooperativeWork % 64 === 0)
|
|
1392
|
-
yield;
|
|
1393
|
-
const arg = argv[i];
|
|
1394
|
-
if (arg === "-v" || arg === "--version") {
|
|
1395
|
-
return { exitCode: 0, stdout: "pdfimages version 24.08.0\n", stderr: "" };
|
|
1396
|
-
}
|
|
1397
|
-
if (arg === "-h" || arg === "-help" || arg === "--help" || arg === "-?") {
|
|
1398
|
-
return {
|
|
1399
|
-
exitCode: 0,
|
|
1400
|
-
stdout: "Usage: pdfimages [options] <PDF-file> [<image-root>]\n -list / -png / -j / -all / -f <int> / -l <int> / -p\n",
|
|
1401
|
-
stderr: ""
|
|
1402
|
-
};
|
|
1403
|
-
}
|
|
1404
|
-
if (arg === "-list")
|
|
1405
|
-
listOnly = true;
|
|
1406
|
-
else if (arg === "-png")
|
|
1407
|
-
usePng = true;
|
|
1408
|
-
else if (arg === "-j")
|
|
1409
|
-
useJpeg = true;
|
|
1410
|
-
else if (arg === "-tiff")
|
|
1411
|
-
useTiff = true;
|
|
1412
|
-
else if (arg === "-jp2")
|
|
1413
|
-
useJp2 = true;
|
|
1414
|
-
else if (arg === "-jbig2")
|
|
1415
|
-
useJbig2 = true;
|
|
1416
|
-
else if (arg === "-ccitt")
|
|
1417
|
-
useCcitt = true;
|
|
1418
|
-
else if (arg === "-all") {
|
|
1419
|
-
usePng = true;
|
|
1420
|
-
useJpeg = true;
|
|
1421
|
-
useJp2 = true;
|
|
1422
|
-
useJbig2 = true;
|
|
1423
|
-
useCcitt = true;
|
|
1424
|
-
} else if (arg === "-p")
|
|
1425
|
-
includePage = true;
|
|
1426
|
-
else if (arg === "-u")
|
|
1427
|
-
uniqueOnly = true;
|
|
1428
|
-
else if (arg === "-print-filenames")
|
|
1429
|
-
printFilenames = true;
|
|
1430
|
-
else if (arg === "-q")
|
|
1431
|
-
quiet = true;
|
|
1432
|
-
else if (arg === "-f") {
|
|
1433
|
-
firstPage = Math.max(1, Number.parseInt(argv[++i] ?? "1", 10) || 1);
|
|
1434
|
-
} else if (arg === "-l") {
|
|
1435
|
-
lastPage = Math.max(0, Number.parseInt(argv[++i] ?? "0", 10) || 0);
|
|
1436
|
-
} else if (arg === "-upw" || arg === "-opw") {
|
|
1437
|
-
password = argv[++i] ?? "";
|
|
1438
|
-
} else if (!arg.startsWith("-") || arg === "-") {
|
|
1439
|
-
positionals.push(arg);
|
|
1440
|
-
}
|
|
1441
|
-
}
|
|
1442
|
-
const inputPath = positionals[0] ?? (files.has("-") ? "-" : void 0);
|
|
1443
|
-
if (!inputPath) {
|
|
1444
|
-
return { exitCode: 99, stdout: "", stderr: quiet ? "" : "Usage: pdfimages [options] <PDF-file> [<image-root>]\n" };
|
|
1445
|
-
}
|
|
1446
|
-
const pdfBytes = files.get(inputPath);
|
|
1447
|
-
if (!pdfBytes) {
|
|
1448
|
-
return { exitCode: 1, stdout: "", stderr: quiet ? "" : `I/O Error: Couldn't open file '${inputPath}'
|
|
1449
|
-
` };
|
|
1450
|
-
}
|
|
1451
|
-
let doc;
|
|
1452
|
-
try {
|
|
1453
|
-
doc = PdfDocument.load(pdfBytes, password ? { password } : void 0);
|
|
1454
|
-
} catch (err) {
|
|
1455
|
-
return { exitCode: 1, stdout: "", stderr: quiet ? "" : `PDF Error: ${err.message}
|
|
1456
|
-
` };
|
|
1457
|
-
}
|
|
1458
|
-
const totalPages = Math.max(1, doc.pageCount);
|
|
1459
|
-
const endPage = lastPage > 0 ? Math.min(totalPages, lastPage) : totalPages;
|
|
1460
|
-
if (firstPage > totalPages || firstPage > endPage) {
|
|
1461
|
-
return {
|
|
1462
|
-
exitCode: 99,
|
|
1463
|
-
stdout: "",
|
|
1464
|
-
stderr: quiet ? "" : `Command Line Error: Wrong page range given: the first page (${firstPage}) can not be after the last page (${endPage}).
|
|
1465
|
-
`
|
|
1466
|
-
};
|
|
1467
|
-
}
|
|
1468
|
-
const allExtracted = yield* extractDocumentImagesSteps(doc.cos, {
|
|
1469
|
-
firstPage,
|
|
1470
|
-
...lastPage > 0 ? { lastPage } : {},
|
|
1471
|
-
signal
|
|
1472
|
-
});
|
|
1473
|
-
const seenObjectIds = /* @__PURE__ */ new Set();
|
|
1474
|
-
const extracted = uniqueOnly ? allExtracted.filter((img) => {
|
|
1475
|
-
if (img.inline || !img.objectId)
|
|
1476
|
-
return true;
|
|
1477
|
-
const key = `${img.objectId.objNum}:${img.objectId.genNum}`;
|
|
1478
|
-
if (seenObjectIds.has(key))
|
|
1479
|
-
return false;
|
|
1480
|
-
seenObjectIds.add(key);
|
|
1481
|
-
return true;
|
|
1482
|
-
}) : allExtracted;
|
|
1483
|
-
const listLines = [
|
|
1484
|
-
"page num type width height color comp bpc enc interp object ID x-ppi y-ppi size ratio",
|
|
1485
|
-
"--------------------------------------------------------------------------------------------"
|
|
1486
|
-
];
|
|
1487
|
-
const root = positionals[1] ?? "image";
|
|
1488
|
-
const printedFilenames = [];
|
|
1489
|
-
for (let idx = 0; idx < extracted.length; idx++) {
|
|
1490
|
-
if (++cooperativeWork % 64 === 0)
|
|
1491
|
-
yield;
|
|
1492
|
-
const img = extracted[idx];
|
|
1493
|
-
const numStr = String(idx).padStart(3, "0");
|
|
1494
|
-
const objField = img.inline || !img.objectId ? " [inline]" : `${String(img.objectId.objNum).padStart(6)} ${String(img.objectId.genNum).padStart(2)}`;
|
|
1495
|
-
const sizeStr = formatPopplerSize(img.byteLength).padStart(5);
|
|
1496
|
-
const ratioStr = formatPopplerRatio(img.byteLength, img.width, img.height, img.components, img.bitsPerComponent).padStart(5);
|
|
1497
|
-
const interpStr = (img.interpolate ? "yes" : "no").padStart(6);
|
|
1498
|
-
const colorCol = (img.colorSpaceLabel ?? img.colorSpace).padEnd(5);
|
|
1499
|
-
listLines.push(`${String(img.pageNumber).padStart(4)} ${String(idx).padStart(5)} ${img.type.padEnd(6)} ${String(img.width).padStart(5)} ${String(img.height).padStart(6)} ${colorCol} ${String(img.components).padStart(4)} ${String(img.bitsPerComponent).padStart(3)} ${img.encoding.padEnd(5)} ${interpStr} ${objField} ${String(img.xPpi).padStart(5)} ${String(img.yPpi).padStart(5)} ${sizeStr} ${ratioStr}`);
|
|
1500
|
-
if (!listOnly) {
|
|
1501
|
-
let ext;
|
|
1502
|
-
let outBytes;
|
|
1503
|
-
if (useJpeg && img.encoding === "jpeg" && img.rawJpegBytes) {
|
|
1504
|
-
ext = "jpg";
|
|
1505
|
-
outBytes = img.rawJpegBytes;
|
|
1506
|
-
} else if (useJp2 && img.encoding === "jpx" && img.rawEncodedBytes) {
|
|
1507
|
-
ext = "jp2";
|
|
1508
|
-
outBytes = img.rawEncodedBytes;
|
|
1509
|
-
} else if (useJbig2 && img.encoding === "jbig2" && img.rawEncodedBytes) {
|
|
1510
|
-
ext = "jb2e";
|
|
1511
|
-
outBytes = img.rawEncodedBytes;
|
|
1512
|
-
} else if (useCcitt && img.encoding === "ccitt" && img.rawEncodedBytes) {
|
|
1513
|
-
ext = "ccitt";
|
|
1514
|
-
outBytes = img.rawEncodedBytes;
|
|
1515
|
-
} else if (useTiff) {
|
|
1516
|
-
ext = "tif";
|
|
1517
|
-
outBytes = yield* encodeTiffSteps(img.bitmap, img.xPpi);
|
|
1518
|
-
} else if (usePng) {
|
|
1519
|
-
ext = "png";
|
|
1520
|
-
outBytes = yield* encodePngSteps(img.bitmap);
|
|
1521
|
-
} else if (img.colorSpace === "gray" && img.bitsPerComponent === 1) {
|
|
1522
|
-
ext = "pbm";
|
|
1523
|
-
outBytes = yield* encodePbmSteps(img.bitmap);
|
|
1524
|
-
} else {
|
|
1525
|
-
ext = "ppm";
|
|
1526
|
-
outBytes = yield* encodePpmSteps(img.bitmap);
|
|
1527
|
-
}
|
|
1528
|
-
const outName = includePage ? `${root}-${String(img.pageNumber).padStart(3, "0")}-${numStr}.${ext}` : `${root}-${numStr}.${ext}`;
|
|
1529
|
-
files.set(outName, outBytes);
|
|
1530
|
-
if (ext === "jb2e" && img.jbig2GlobalsBytes) {
|
|
1531
|
-
const jb2gName = includePage ? `${root}-${String(img.pageNumber).padStart(3, "0")}-${numStr}.jb2g` : `${root}-${numStr}.jb2g`;
|
|
1532
|
-
files.set(jb2gName, img.jbig2GlobalsBytes);
|
|
1533
|
-
if (printFilenames)
|
|
1534
|
-
printedFilenames.push(jb2gName);
|
|
1535
|
-
}
|
|
1536
|
-
if (ext === "ccitt") {
|
|
1537
|
-
const paramsBase = includePage ? `${root}-${String(img.pageNumber).padStart(3, "0")}-${numStr}.params` : `${root}-${numStr}.params`;
|
|
1538
|
-
const kVal = img.ccittParams?.k ?? 0;
|
|
1539
|
-
const kFlag = kVal < 0 ? "-4" : kVal > 0 ? "-2" : "-1";
|
|
1540
|
-
const extraFlags = [
|
|
1541
|
-
kFlag,
|
|
1542
|
-
`-x ${img.width}`,
|
|
1543
|
-
`-y ${img.height}`,
|
|
1544
|
-
...img.ccittParams?.blackIs1 ? ["-B"] : [],
|
|
1545
|
-
...img.ccittParams?.byteAlign ? ["-A"] : []
|
|
1546
|
-
].join(" ");
|
|
1547
|
-
files.set(paramsBase, new TextEncoder().encode(`${extraFlags}
|
|
1548
|
-
`));
|
|
1549
|
-
if (printFilenames)
|
|
1550
|
-
printedFilenames.push(paramsBase);
|
|
1551
|
-
}
|
|
1552
|
-
if (printFilenames)
|
|
1553
|
-
printedFilenames.push(outName);
|
|
1554
|
-
}
|
|
1555
|
-
}
|
|
1556
|
-
if (listOnly) {
|
|
1557
|
-
return { exitCode: 0, stdout: listLines.join("\n") + "\n", stderr: "" };
|
|
1558
|
-
}
|
|
1559
|
-
if (printFilenames && printedFilenames.length > 0) {
|
|
1560
|
-
return { exitCode: 0, stdout: printedFilenames.join("\n") + "\n", stderr: "" };
|
|
1561
|
-
}
|
|
1562
|
-
return { exitCode: 0, stdout: "", stderr: "" };
|
|
1563
|
-
}
|
|
1564
|
-
async function runPdfimagesCli(argv, files, signal) {
|
|
1565
|
-
return drainSteps(runPdfimagesCliSteps(argv, files, signal), signal);
|
|
1566
|
-
}
|
|
1567
1043
|
function copyDocumentMetadata(srcDoc, dstDoc) {
|
|
1568
1044
|
const meta = srcDoc.getMetadata();
|
|
1569
1045
|
if (meta.title) dstDoc.setTitle(meta.title);
|
|
@@ -2244,6 +1720,13 @@ function collectEmbeddedAttachments(doc) {
|
|
|
2244
1720
|
}
|
|
2245
1721
|
return results;
|
|
2246
1722
|
}
|
|
1723
|
+
function attachmentBasename(name) {
|
|
1724
|
+
const leaf = name.split("/").at(-1).split("\\").at(-1);
|
|
1725
|
+
if (!leaf || leaf === "." || leaf === ".." || leaf.includes("\0")) {
|
|
1726
|
+
throw new Error("Invalid embedded attachment filename");
|
|
1727
|
+
}
|
|
1728
|
+
return leaf;
|
|
1729
|
+
}
|
|
2247
1730
|
function* runPdfdetachCliSteps(argv, files, signal) {
|
|
2248
1731
|
let cooperativeWork = 63;
|
|
2249
1732
|
let listOnly = false;
|
|
@@ -2327,7 +1810,7 @@ function* runPdfdetachCliSteps(argv, files, signal) {
|
|
|
2327
1810
|
return { exitCode: 1, stdout: "", stderr: `Error: Invalid file index ${saveNumber}
|
|
2328
1811
|
` };
|
|
2329
1812
|
}
|
|
2330
|
-
const dest = outputPath ? outputPath.endsWith("/") ? `${outputPath}${target.name}` : outputPath : target.name;
|
|
1813
|
+
const dest = outputPath ? outputPath.endsWith("/") ? `${outputPath}${attachmentBasename(target.name)}` : outputPath : attachmentBasename(target.name);
|
|
2331
1814
|
files.set(dest, target.data);
|
|
2332
1815
|
return { exitCode: 0, stdout: "", stderr: "" };
|
|
2333
1816
|
}
|
|
@@ -2337,7 +1820,7 @@ function* runPdfdetachCliSteps(argv, files, signal) {
|
|
|
2337
1820
|
return { exitCode: 1, stdout: "", stderr: `Error: Embedded file '${saveFileName}' not found
|
|
2338
1821
|
` };
|
|
2339
1822
|
}
|
|
2340
|
-
const dest = outputPath ? outputPath.endsWith("/") ? `${outputPath}${target.name}` : outputPath : target.name;
|
|
1823
|
+
const dest = outputPath ? outputPath.endsWith("/") ? `${outputPath}${attachmentBasename(target.name)}` : outputPath : attachmentBasename(target.name);
|
|
2341
1824
|
files.set(dest, target.data);
|
|
2342
1825
|
return { exitCode: 0, stdout: "", stderr: "" };
|
|
2343
1826
|
}
|
|
@@ -2346,7 +1829,8 @@ function* runPdfdetachCliSteps(argv, files, signal) {
|
|
|
2346
1829
|
for (const att of attachments) {
|
|
2347
1830
|
if (++cooperativeWork % 64 === 0)
|
|
2348
1831
|
yield;
|
|
2349
|
-
|
|
1832
|
+
const name = attachmentBasename(att.name);
|
|
1833
|
+
files.set(prefix ? `${prefix}/${name}` : name, att.data);
|
|
2350
1834
|
}
|
|
2351
1835
|
}
|
|
2352
1836
|
return { exitCode: 0, stdout: "", stderr: "" };
|
|
@@ -2446,7 +1930,7 @@ async function executePopplerFileTool(context, runner) {
|
|
|
2446
1930
|
vfsFiles.set("-", buf);
|
|
2447
1931
|
}
|
|
2448
1932
|
}
|
|
2449
|
-
for (const token of positionals) {
|
|
1933
|
+
for (const token of new Set(runner === runPdfuniteCli ? positionals.slice(0, -1) : positionals.slice(0, 1))) {
|
|
2450
1934
|
if (++cooperativeWork % 64 === 0) await yieldTurn(context.signal);
|
|
2451
1935
|
if (token === "-") continue;
|
|
2452
1936
|
try {
|
|
@@ -2477,12 +1961,15 @@ async function executePopplerFileTool(context, runner) {
|
|
|
2477
1961
|
if (key !== "-" && existingSnap.get(key) !== val) {
|
|
2478
1962
|
chargeBytes(val.byteLength);
|
|
2479
1963
|
const abs = resolveVfsPath(key);
|
|
2480
|
-
const parentDir = abs.slice(0, abs.lastIndexOf("/")) || "/";
|
|
2481
1964
|
try {
|
|
2482
|
-
await context.fs.
|
|
2483
|
-
} catch {
|
|
1965
|
+
await writeFileOutput(context, val, (data) => context.fs.writeFile(abs, data, { signal: invocation.signal }));
|
|
1966
|
+
} catch (error) {
|
|
1967
|
+
invocation.signal.throwIfAborted();
|
|
1968
|
+
if (!(error instanceof Error) || !("code" in error)) throw error;
|
|
1969
|
+
await writeBytes(context.stderr, new TextEncoder().encode(`I/O Error: ${runner === runPdfdetachCli ? "Error saving embedded file as" : runner === runPdfuniteCli ? "Could not open file" : "Couldn't open file"} '${key}'
|
|
1970
|
+
`), invocation.signal);
|
|
1971
|
+
return { exitCode: runner === runPdfuniteCli ? 255 : runner === runPdfseparateCli ? 99 : 2 };
|
|
2484
1972
|
}
|
|
2485
|
-
await writeFileOutput(context, val, (data) => context.fs.writeFile(abs, data, { signal: invocation.signal }));
|
|
2486
1973
|
}
|
|
2487
1974
|
}
|
|
2488
1975
|
return { exitCode: res.exitCode };
|
|
@@ -2490,34 +1977,6 @@ async function executePopplerFileTool(context, runner) {
|
|
|
2490
1977
|
await invocation.close();
|
|
2491
1978
|
}
|
|
2492
1979
|
}
|
|
2493
|
-
function createPdftoppmCommand(options = {}) {
|
|
2494
|
-
const maxInputBytes = InputByteBudget.limit(options.limits?.maxInputBytes);
|
|
2495
|
-
return Object.freeze({
|
|
2496
|
-
name: "pdftoppm",
|
|
2497
|
-
runtimeIdentity: commandRuntimeIdentity,
|
|
2498
|
-
description: "Render PDF pages to PNG, PPM, PGM, or PBM images via @poe-code/pdf-ast",
|
|
2499
|
-
execute(context) {
|
|
2500
|
-
return new InputByteBudget(maxInputBytes).run(context, async (context2) => {
|
|
2501
|
-
return executePopplerFileTool(context2, runPdftoppmCli);
|
|
2502
|
-
});
|
|
2503
|
-
}
|
|
2504
|
-
});
|
|
2505
|
-
}
|
|
2506
|
-
var pdftoppmCommand = createPdftoppmCommand();
|
|
2507
|
-
function createPdfimagesCommand(options = {}) {
|
|
2508
|
-
const maxInputBytes = InputByteBudget.limit(options.limits?.maxInputBytes);
|
|
2509
|
-
return Object.freeze({
|
|
2510
|
-
name: "pdfimages",
|
|
2511
|
-
runtimeIdentity: commandRuntimeIdentity,
|
|
2512
|
-
description: "List and extract embedded images from PDF pages via @poe-code/pdf-ast",
|
|
2513
|
-
execute(context) {
|
|
2514
|
-
return new InputByteBudget(maxInputBytes).run(context, async (context2) => {
|
|
2515
|
-
return executePopplerFileTool(context2, runPdfimagesCli);
|
|
2516
|
-
});
|
|
2517
|
-
}
|
|
2518
|
-
});
|
|
2519
|
-
}
|
|
2520
|
-
var pdfimagesCommand = createPdfimagesCommand();
|
|
2521
1980
|
function createPdfuniteCommand(options = {}) {
|
|
2522
1981
|
const maxInputBytes = InputByteBudget.limit(options.limits?.maxInputBytes);
|
|
2523
1982
|
return Object.freeze({
|
|
@@ -2574,208 +2033,6 @@ function createPdfdetachCommand(options = {}) {
|
|
|
2574
2033
|
});
|
|
2575
2034
|
}
|
|
2576
2035
|
var pdfdetachCommand = createPdfdetachCommand();
|
|
2577
|
-
function* runPdftocairoCliSteps(argv, files, signal) {
|
|
2578
|
-
let cooperativeWork = 63;
|
|
2579
|
-
let format = "png";
|
|
2580
|
-
let grayMode = false;
|
|
2581
|
-
let monoMode = false;
|
|
2582
|
-
let firstPage = 1;
|
|
2583
|
-
let lastPage = 0;
|
|
2584
|
-
let cropX = 0;
|
|
2585
|
-
let cropY = 0;
|
|
2586
|
-
let cropW = 0;
|
|
2587
|
-
let cropH = 0;
|
|
2588
|
-
let hasCrop = false;
|
|
2589
|
-
const paperW = 0;
|
|
2590
|
-
const paperH = 0;
|
|
2591
|
-
const origPageSizes = false;
|
|
2592
|
-
let password = "";
|
|
2593
|
-
const forwardedArgs = [];
|
|
2594
|
-
const positionals = [];
|
|
2595
|
-
for (let i = 0; i < argv.length; i++) {
|
|
2596
|
-
if (++cooperativeWork % 64 === 0)
|
|
2597
|
-
yield;
|
|
2598
|
-
const arg = argv[i];
|
|
2599
|
-
if (arg === "-v" || arg === "--version") {
|
|
2600
|
-
return { exitCode: 0, stdout: "pdftocairo version 24.08.0\n", stderr: "" };
|
|
2601
|
-
}
|
|
2602
|
-
if (arg === "-h" || arg === "-help" || arg === "--help" || arg === "-?") {
|
|
2603
|
-
return {
|
|
2604
|
-
exitCode: 0,
|
|
2605
|
-
stdout: "Usage: pdftocairo [options] <PDF-file> [<output-file>]\n",
|
|
2606
|
-
stderr: ""
|
|
2607
|
-
};
|
|
2608
|
-
}
|
|
2609
|
-
if (arg === "-png") {
|
|
2610
|
-
format = "png";
|
|
2611
|
-
forwardedArgs.push("-png");
|
|
2612
|
-
} else if (arg === "-jpeg" || arg === "-jpg") {
|
|
2613
|
-
format = "jpg";
|
|
2614
|
-
forwardedArgs.push("-jpeg");
|
|
2615
|
-
} else if (arg === "-tiff") {
|
|
2616
|
-
format = "tif";
|
|
2617
|
-
forwardedArgs.push("-tiff");
|
|
2618
|
-
} else if (arg === "-svg")
|
|
2619
|
-
format = "svg";
|
|
2620
|
-
else if (arg === "-pdf")
|
|
2621
|
-
format = "pdf";
|
|
2622
|
-
else if (arg === "-ps")
|
|
2623
|
-
format = "ps";
|
|
2624
|
-
else if (arg === "-eps")
|
|
2625
|
-
format = "eps";
|
|
2626
|
-
else if (arg === "-gray")
|
|
2627
|
-
grayMode = true;
|
|
2628
|
-
else if (arg === "-mono")
|
|
2629
|
-
monoMode = true;
|
|
2630
|
-
else if (arg === "-antialias") {
|
|
2631
|
-
const m = (argv[++i] ?? "").toLowerCase();
|
|
2632
|
-
if (!["default", "none", "gray", "subpixel", "fast", "good", "best"].includes(m)) {
|
|
2633
|
-
return { exitCode: 99, stdout: "", stderr: "Bad '-antialias' value on command line\n" };
|
|
2634
|
-
}
|
|
2635
|
-
} else if (POPPLER_FILE_TOOL_VALUE_FLAGS.has(arg)) {
|
|
2636
|
-
const v = argv[++i] ?? "";
|
|
2637
|
-
forwardedArgs.push(arg, v);
|
|
2638
|
-
if (arg === "-f")
|
|
2639
|
-
firstPage = Math.max(1, Number.parseInt(v, 10) || 1);
|
|
2640
|
-
else if (arg === "-l")
|
|
2641
|
-
lastPage = Math.max(0, Number.parseInt(v, 10) || 0);
|
|
2642
|
-
else if (arg === "-x") {
|
|
2643
|
-
cropX = Math.max(0, Number.parseInt(v, 10) || 0);
|
|
2644
|
-
hasCrop = true;
|
|
2645
|
-
} else if (arg === "-y") {
|
|
2646
|
-
cropY = Math.max(0, Number.parseInt(v, 10) || 0);
|
|
2647
|
-
hasCrop = true;
|
|
2648
|
-
} else if (arg === "-W") {
|
|
2649
|
-
cropW = Math.max(0, Number.parseInt(v, 10) || 0);
|
|
2650
|
-
hasCrop = true;
|
|
2651
|
-
} else if (arg === "-H") {
|
|
2652
|
-
cropH = Math.max(0, Number.parseInt(v, 10) || 0);
|
|
2653
|
-
hasCrop = true;
|
|
2654
|
-
} else if (arg === "-upw" || arg === "-opw")
|
|
2655
|
-
password = v;
|
|
2656
|
-
} else if (arg.startsWith("-") && arg !== "-") {
|
|
2657
|
-
forwardedArgs.push(arg);
|
|
2658
|
-
} else {
|
|
2659
|
-
positionals.push(arg);
|
|
2660
|
-
}
|
|
2661
|
-
}
|
|
2662
|
-
const inputPath = positionals[0] ?? (files.has("-") ? "-" : void 0);
|
|
2663
|
-
if (!inputPath) {
|
|
2664
|
-
return { exitCode: 99, stdout: "", stderr: "Usage: pdftocairo [options] <PDF-file> [<output-file>]\n" };
|
|
2665
|
-
}
|
|
2666
|
-
const inputStem = inputPath.toLowerCase().endsWith(".pdf") ? inputPath.slice(0, -4) : inputPath;
|
|
2667
|
-
if (format === "svg") {
|
|
2668
|
-
const rawOut = positionals[1] ?? (inputPath === "-" ? "-" : `${inputStem}.svg`);
|
|
2669
|
-
const rootForSvg = rawOut.toLowerCase().endsWith(".svg") ? rawOut.slice(0, -4) : rawOut;
|
|
2670
|
-
return yield* runPdftoppmCliSteps(["-svg", "-singlefile", ...forwardedArgs, inputPath, rootForSvg], files, signal);
|
|
2671
|
-
}
|
|
2672
|
-
if (format === "pdf" || format === "ps" || format === "eps") {
|
|
2673
|
-
const pdfBytes = files.get(inputPath);
|
|
2674
|
-
if (!pdfBytes)
|
|
2675
|
-
return { exitCode: 1, stdout: "", stderr: `I/O Error: Couldn't open file '${inputPath}'
|
|
2676
|
-
` };
|
|
2677
|
-
const doc = PdfDocument.load(pdfBytes, password ? { password } : void 0);
|
|
2678
|
-
const endPage = lastPage > 0 ? Math.min(doc.pageCount, lastPage) : doc.pageCount;
|
|
2679
|
-
if (firstPage > doc.pageCount || firstPage > endPage) {
|
|
2680
|
-
return { exitCode: 99, stdout: "", stderr: "Command Line Error: Wrong page range given\n" };
|
|
2681
|
-
}
|
|
2682
|
-
const rawOut = positionals[1] ?? (inputPath === "-" ? "-" : `${inputStem}.${format}`);
|
|
2683
|
-
const finalOut = rawOut === "-" || rawOut.toLowerCase().endsWith(`.${format}`) ? rawOut : `${rawOut}.${format}`;
|
|
2684
|
-
if (format === "pdf") {
|
|
2685
|
-
const outDoc = PdfDocument.create();
|
|
2686
|
-
for (let p = firstPage; p <= endPage; p++) {
|
|
2687
|
-
yield;
|
|
2688
|
-
const [copied] = outDoc.copyPagesFrom(doc, [p - 1]);
|
|
2689
|
-
if (copied && hasCrop) {
|
|
2690
|
-
const origSize = copied.getSize();
|
|
2691
|
-
const effW = cropW > 0 ? cropW : Math.max(1, origSize.width - cropX);
|
|
2692
|
-
const effH = cropH > 0 ? cropH : Math.max(1, origSize.height - cropY);
|
|
2693
|
-
dictSet(copied.pageDict, "MediaBox", cosArray([cosNumber(0), cosNumber(0), cosNumber(effW), cosNumber(effH)]));
|
|
2694
|
-
dictSet(copied.pageDict, "CropBox", cosArray([cosNumber(0), cosNumber(0), cosNumber(effW), cosNumber(effH)]));
|
|
2695
|
-
}
|
|
2696
|
-
}
|
|
2697
|
-
const outBytes = outDoc.save();
|
|
2698
|
-
if (finalOut === "-")
|
|
2699
|
-
return { exitCode: 0, stdout: "", stderr: "", stdoutBytes: outBytes };
|
|
2700
|
-
files.set(finalOut, outBytes);
|
|
2701
|
-
return { exitCode: 0, stdout: "", stderr: "" };
|
|
2702
|
-
}
|
|
2703
|
-
const firstSize = doc.getPage(firstPage - 1).getSize();
|
|
2704
|
-
const psLines = [
|
|
2705
|
-
format === "eps" ? "%!PS-Adobe-3.0 EPSF-3.0" : "%!PS-Adobe-3.0",
|
|
2706
|
-
`%%BoundingBox: 0 0 ${Math.round(firstSize.width)} ${Math.round(firstSize.height)}`,
|
|
2707
|
-
`%%Pages: ${endPage - firstPage + 1}`,
|
|
2708
|
-
"%%EndComments"
|
|
2709
|
-
];
|
|
2710
|
-
for (let p = firstPage; p <= endPage; p++) {
|
|
2711
|
-
yield;
|
|
2712
|
-
const page = doc.getPage(p - 1);
|
|
2713
|
-
psLines.push(`%%Page: ${p - firstPage + 1} ${p - firstPage + 1}`);
|
|
2714
|
-
for (const b of page.extractPage().blocks) {
|
|
2715
|
-
yield;
|
|
2716
|
-
for (const l of b.lines) {
|
|
2717
|
-
if (++cooperativeWork % 64 === 0)
|
|
2718
|
-
yield;
|
|
2719
|
-
psLines.push(`${Math.round(l.bbox[0])} ${Math.round(l.bbox[1])} moveto (${l.text}) show`);
|
|
2720
|
-
}
|
|
2721
|
-
}
|
|
2722
|
-
psLines.push("showpage");
|
|
2723
|
-
}
|
|
2724
|
-
psLines.push("%%Trailer", "%%EOF", "");
|
|
2725
|
-
const psBytes = new TextEncoder().encode(psLines.join("\n"));
|
|
2726
|
-
if (finalOut === "-")
|
|
2727
|
-
return { exitCode: 0, stdout: "", stderr: "", stdoutBytes: psBytes };
|
|
2728
|
-
files.set(finalOut, psBytes);
|
|
2729
|
-
return { exitCode: 0, stdout: "", stderr: "" };
|
|
2730
|
-
}
|
|
2731
|
-
const rasterPositionals = positionals.length === 1 && inputPath !== "-" ? [inputPath, inputStem] : positionals;
|
|
2732
|
-
const snapBefore = new Map(files);
|
|
2733
|
-
const res = yield* runPdftoppmCliSteps([...forwardedArgs, ...rasterPositionals], files, signal);
|
|
2734
|
-
if (res.exitCode !== 0 || !grayMode && !monoMode) {
|
|
2735
|
-
return res;
|
|
2736
|
-
}
|
|
2737
|
-
const convertRgbaInPlace = (data) => {
|
|
2738
|
-
for (let p = 0; p < data.length; p += 4) {
|
|
2739
|
-
const lum = Math.round(0.299 * data[p] + 0.587 * data[p + 1] + 0.114 * data[p + 2]);
|
|
2740
|
-
const val = monoMode ? lum >= 128 ? 255 : 0 : lum;
|
|
2741
|
-
data[p] = val;
|
|
2742
|
-
data[p + 1] = val;
|
|
2743
|
-
data[p + 2] = val;
|
|
2744
|
-
}
|
|
2745
|
-
};
|
|
2746
|
-
if (res.stdoutBytes && format === "png") {
|
|
2747
|
-
const decoded = yield* decodePngSteps(res.stdoutBytes);
|
|
2748
|
-
convertRgbaInPlace(decoded.data);
|
|
2749
|
-
return { ...res, stdoutBytes: yield* encodePngSteps(decoded) };
|
|
2750
|
-
}
|
|
2751
|
-
for (const [k, v] of files.entries()) {
|
|
2752
|
-
if (++cooperativeWork % 64 === 0)
|
|
2753
|
-
yield;
|
|
2754
|
-
if (snapBefore.get(k) !== v && k.endsWith(".png")) {
|
|
2755
|
-
const decoded = yield* decodePngSteps(v);
|
|
2756
|
-
convertRgbaInPlace(decoded.data);
|
|
2757
|
-
files.set(k, yield* encodePngSteps(decoded));
|
|
2758
|
-
}
|
|
2759
|
-
}
|
|
2760
|
-
return res;
|
|
2761
|
-
}
|
|
2762
|
-
async function runPdftocairoCli(argv, files, signal) {
|
|
2763
|
-
return drainSteps(runPdftocairoCliSteps(argv, files, signal), signal);
|
|
2764
|
-
}
|
|
2765
|
-
function createPdftocairoCommand(options = {}) {
|
|
2766
|
-
const maxInputBytes = InputByteBudget.limit(options.limits?.maxInputBytes);
|
|
2767
|
-
return Object.freeze({
|
|
2768
|
-
name: "pdftocairo",
|
|
2769
|
-
runtimeIdentity: commandRuntimeIdentity,
|
|
2770
|
-
description: "Render PDF pages to PNG, JPEG, TIFF, PDF, PS, EPS, or SVG via @poe-code/pdf-ast",
|
|
2771
|
-
execute(context) {
|
|
2772
|
-
return new InputByteBudget(maxInputBytes).run(context, async (context2) => {
|
|
2773
|
-
return executePopplerFileTool(context2, runPdftocairoCli);
|
|
2774
|
-
});
|
|
2775
|
-
}
|
|
2776
|
-
});
|
|
2777
|
-
}
|
|
2778
|
-
var pdftocairoCommand = createPdftocairoCommand();
|
|
2779
2036
|
function pdfinfoCommands(options = {}) {
|
|
2780
2037
|
const command = createPdfinfoCommand(options);
|
|
2781
2038
|
const uniteCmd = createPdfuniteCommand(options);
|
|
@@ -2800,32 +2057,23 @@ function createPdfinfoCommands(options = {}) {
|
|
|
2800
2057
|
export {
|
|
2801
2058
|
createPdfdetachCommand,
|
|
2802
2059
|
createPdffontsCommand,
|
|
2803
|
-
createPdfimagesCommand,
|
|
2804
2060
|
createPdfinfoCommand,
|
|
2805
2061
|
createPdfinfoCommands,
|
|
2806
2062
|
createPdfseparateCommand,
|
|
2807
|
-
createPdftocairoCommand,
|
|
2808
|
-
createPdftoppmCommand,
|
|
2809
2063
|
createPdfuniteCommand,
|
|
2810
2064
|
inspectPdfBytes,
|
|
2811
2065
|
pdfdetachCommand,
|
|
2812
2066
|
pdffontsCommand,
|
|
2813
|
-
pdfimagesCommand,
|
|
2814
2067
|
pdfinfo,
|
|
2815
2068
|
pdfinfoCommand,
|
|
2816
2069
|
pdfinfoCommands,
|
|
2817
2070
|
pdfseparateCommand,
|
|
2818
|
-
pdftocairoCommand,
|
|
2819
|
-
pdftoppmCommand,
|
|
2820
2071
|
pdfuniteCommand,
|
|
2821
2072
|
runPdfdetachCli,
|
|
2822
2073
|
runPdfdetachCliSync,
|
|
2823
2074
|
runPdffontsCli,
|
|
2824
2075
|
runPdffontsCliSync,
|
|
2825
|
-
runPdfimagesCli,
|
|
2826
2076
|
runPdfinfoCli,
|
|
2827
2077
|
runPdfseparateCli,
|
|
2828
|
-
runPdftocairoCli,
|
|
2829
|
-
runPdftoppmCli,
|
|
2830
2078
|
runPdfuniteCli
|
|
2831
2079
|
};
|