@poe-platform/safe-bash 0.1.799 → 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 +32 -17
- 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-TRVGCN3U.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-SPYL72GN.js → chunk-KW24TAIU.js} +446 -5519
- 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-WUNK5NXJ.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-LLCXZKZ6.js → chunk-2QHG43WJ.js} +2 -2
- package/dist/safe-bash/command-chunks/chunk-364TMWBT.js +946 -0
- package/dist/safe-bash/command-chunks/{chunk-EIVW3X3N.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-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-4ZHMW6F5.js +104 -0
- package/dist/safe-bash/command-chunks/{chunk-4ZALPDBV.js → chunk-53P53XFM.js} +2 -2
- 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-5XY4DTNG.js +34 -0
- package/dist/safe-bash/command-chunks/chunk-5ZMZ573Q.js +140 -0
- package/dist/safe-bash/command-chunks/{chunk-OPUJSTHS.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-7K6JYKPJ.js +422 -0
- 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/{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-BAGCY35S.js +231 -0
- package/dist/safe-bash/command-chunks/chunk-BAXU7B5Z.js +101 -0
- package/dist/safe-bash/command-chunks/{chunk-KMCZ6P4O.js → chunk-BKCNF5U3.js} +68 -7
- package/dist/safe-bash/command-chunks/chunk-BNOU5YQS.js +182 -0
- 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-CQ5YGOGB.js +150 -0
- package/dist/safe-bash/command-chunks/{chunk-I3K5RYU4.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-JCNNOMBV.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-UI32HWGS.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-ZS3QPNUL.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-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-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-KVFCSLKK.js → chunk-NXEQ3ESQ.js} +6 -0
- 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-PII4YEZW.js +123 -0
- package/dist/safe-bash/command-chunks/{chunk-43GSSUAY.js → chunk-PJJUYO3R.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-ZT4KSS2V.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-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-VVI4Z73I.js → chunk-QP4R6GLA.js} +5 -1
- 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-TEVJJPTC.js +1392 -0
- package/dist/safe-bash/command-chunks/{chunk-ZXKW7SJ2.js → chunk-TYCGMRLM.js} +2 -2
- package/dist/safe-bash/command-chunks/chunk-UG7SMZFF.js +178 -0
- package/dist/safe-bash/command-chunks/{chunk-YZ5SVZFD.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-Y5INTD6S.js +220 -0
- package/dist/safe-bash/command-chunks/{chunk-5ZSM4UFN.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/{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 -53
- package/dist/safe-bash/commands/diff-patch/shared.js +1 -267
- 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/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/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 +17 -0
- 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-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-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 +3 -3
- 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 +7 -4
- 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/index.js +5 -5
- package/dist/safe-bash-command-htmlq/index.js +12 -8
- 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-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 +2 -2
- package/dist/safe-bash-command-pr/index.js +4 -4
- 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-sips/index.js +111 -35
- package/dist/safe-bash-command-soffice/index.js +4 -4
- 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-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 +17 -0
- 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/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 +7 -12
- 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/matcher.js +4 -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-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 -0
- 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-AZAJJVFX.js +0 -23017
- 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-ZW6K2J7P.js +0 -2652
- package/dist/safe-bash/command-chunks/chunk-5MPOQ6V3.js +0 -181
- 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-NETECMOF.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-B5BKA5WH.js → chunk-B5TAOCKD.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
|
@@ -1,166 +1,7 @@
|
|
|
1
1
|
import "../../portable-buffer.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { builtInDirectContextExecutors } from "../internal.js";
|
|
6
|
-
import { readBytes, writeBytes } from "../../contracts/index.js";
|
|
7
|
-
import { escapeText } from "../../escaping.js";
|
|
8
|
-
import { createArchive, manifest } from "./create.js";
|
|
9
|
-
import { extractionInput, readArchive } from "./extract.js";
|
|
10
|
-
import { Budget, bounded, display, fail, invocationLimits, maybeStat, operation, publish, sameIdentity, settings, vfsPath } from "./internal.js";
|
|
11
|
-
import { parseOptions } from "./options.js";
|
|
12
|
-
import { compareArchive, mutateArchive } from "./modes.js";
|
|
13
|
-
import { autodetected, compressed, recorded } from "./stream.js";
|
|
14
|
-
import { createZipCommand as createBaseZipCommand } from "./zip.js";
|
|
15
|
-
import { createUnzipCommand as createBaseUnzipCommand } from "./unzip.js";
|
|
16
|
-
import { zipHelp, zipExtendedHelp, zipVersion, zipLicense } from "./zip/help.js";
|
|
17
|
-
import { parseHeader, parsePax, applyPax } from "./format.js";
|
|
18
|
-
import { quoteName } from "./listing.js";
|
|
19
|
-
import { crc32 } from "./zip-format.js";
|
|
20
|
-
export { DEFAULT_ARCHIVE_LIMITS } from "./internal.js";
|
|
21
|
-
export function createZipCommand(options = {}) {
|
|
22
|
-
const def = createBaseZipCommand(options);
|
|
23
|
-
if (options.limits === undefined && options.zipHost === undefined)
|
|
24
|
-
builtInDirectContextExecutors.add(def.execute);
|
|
25
|
-
return def;
|
|
26
|
-
}
|
|
27
|
-
export function createUnzipCommand(options = {}) {
|
|
28
|
-
const def = createBaseUnzipCommand(options);
|
|
29
|
-
if (options.limits === undefined && options.zipHost === undefined)
|
|
30
|
-
builtInDirectContextExecutors.add(def.execute);
|
|
31
|
-
return def;
|
|
32
|
-
}
|
|
33
|
-
export function createTarCommand(options = {}) {
|
|
34
|
-
const configured = settings(options);
|
|
35
|
-
const def = { name: "tar", description: "Stream USTAR/PAX archives through the virtual filesystem", async execute(original) {
|
|
36
|
-
const limits = invocationLimits(configured, original);
|
|
37
|
-
original.signal.throwIfAborted();
|
|
38
|
-
const controller = new AbortController();
|
|
39
|
-
const signal = AbortSignal.any([original.signal, controller.signal]);
|
|
40
|
-
const context = { ...original, signal };
|
|
41
|
-
try {
|
|
42
|
-
const parsed = await parseOptions(context, limits);
|
|
43
|
-
if (parsed === "help") {
|
|
44
|
-
await writeBytes(context.stdout, encodeBytes(`Usage: tar [OPTION]... [FILE]...
|
|
45
|
-
Create, read or modify USTAR/PAX archives in the virtual filesystem.
|
|
46
|
-
|
|
47
|
-
-c, --create Create an archive
|
|
48
|
-
-t, --list List archive members
|
|
49
|
-
-x, --extract, --get Extract archive members
|
|
50
|
-
-O, --to-stdout Extract file contents to standard output
|
|
51
|
-
-r, --append Append files to an uncompressed archive
|
|
52
|
-
-u, --update Append files newer than archived members
|
|
53
|
-
-d, --compare, --diff Compare archive members with filesystem entries
|
|
54
|
-
--delete Delete selected archive members
|
|
55
|
-
-A, --catenate, --concatenate Append archives to an uncompressed archive
|
|
56
|
-
-f, --file=ARCHIVE Use ARCHIVE (default - for standard input/output)
|
|
57
|
-
-z, --gzip Use gzip compression
|
|
58
|
-
-j, --bzip2 Use bzip2 compression
|
|
59
|
-
-J, --xz Use xz compression
|
|
60
|
-
-a, --auto-compress Select output compression by archive suffix
|
|
61
|
-
-b, --blocking-factor=N Use N 512-byte blocks per output record
|
|
62
|
-
--record-size=SIZE Set output record bytes (multiple of 512; K/M/G suffixes)
|
|
63
|
-
-B, --read-full-records Join short reads (always enabled for VFS streams)
|
|
64
|
-
-i, --ignore-zeros Read past zero blocks, including concatenated archives
|
|
65
|
-
-n, --seek Accept seekable input; VFS reads remain sequential
|
|
66
|
-
--no-seek Read sequentially
|
|
67
|
-
--force-local Treat archive names as local VFS paths (always enabled)
|
|
68
|
-
--utc Show UTC timestamps; implies verbose listing
|
|
69
|
-
--quoting-style=STYLE Display literal, escape (default), or c filenames
|
|
70
|
-
--totals Report archive bytes read or written to stderr
|
|
71
|
-
-v, --verbose List processed members
|
|
72
|
-
-C, --directory=DIR Change directory for subsequent operands
|
|
73
|
-
-T, --files-from=FILE Read filenames from FILE (- for standard input)
|
|
74
|
-
--null Read NUL-delimited filenames; implies verbatim names
|
|
75
|
-
--no-null Read newline-delimited filenames
|
|
76
|
-
--verbatim-files-from Treat file-list entries as literal filenames
|
|
77
|
-
--no-verbatim-files-from Enable supported file-list directory options
|
|
78
|
-
--exclude=PATTERN Exclude paths (place before source operands)
|
|
79
|
-
--exclude-caches Keep cache directories and tags, omit other contents
|
|
80
|
-
--sort=ORDER Order directory children by name or none (default)
|
|
81
|
-
-h, --dereference Archive symbolic-link targets during creation
|
|
82
|
-
-X, --exclude-from=FILE Read newline-delimited exclusion patterns
|
|
83
|
-
--wildcards Select archive members with anchored glob patterns
|
|
84
|
-
--no-wildcards Select literal member names (default)
|
|
85
|
-
--occurrence[=NUM] Select only occurrence NUM of each operand (default 1)
|
|
86
|
-
--strip-components=NUM Remove leading components when reading archives
|
|
87
|
-
--transform=EXPR Substitute member names when listing (s/old/new/[gix])
|
|
88
|
-
--show-transformed-names Display transformed names in archive listings
|
|
89
|
-
--format=FORMAT Create pax (default), posix or ustar archives
|
|
90
|
-
--mtime=DATE Override creation mtime (@seconds or ISO/RFC date)
|
|
91
|
-
--owner=ID Override numeric creation owner
|
|
92
|
-
--group=ID Override numeric creation group
|
|
93
|
-
--mode=OCTAL Override creation permission bits
|
|
94
|
-
--numeric-owner Use numeric ownership IDs
|
|
95
|
-
--full-time Show full UTC timestamps in verbose listings
|
|
96
|
-
-m, --touch Retain current extraction timestamps
|
|
97
|
-
-p, --same-permissions Restore ordinary archive permission bits
|
|
98
|
-
--no-same-permissions Apply virtual 022 mask to ordinary permissions
|
|
99
|
-
--no-same-owner Retain filesystem-assigned ownership
|
|
100
|
-
--atime-preserve[=replace] Restore source access times after creation
|
|
101
|
-
--delay-directory-restore Restore directory metadata at archive end
|
|
102
|
-
--no-delay-directory-restore Restore after leaving each directory subtree
|
|
103
|
-
-k, --keep-old-files Keep existing files and report conflicts as errors
|
|
104
|
-
--skip-old-files Skip existing files without reporting errors
|
|
105
|
-
--overwrite Replace existing entries using safe extraction checks
|
|
106
|
-
--help Display this help and exit
|
|
107
|
-
-- End options; remaining arguments are filenames
|
|
108
|
-
|
|
109
|
-
Exactly one of -c, -t, -x, -r, -u, -d, --delete or -A is required.
|
|
110
|
-
When reading, gzip, bzip2 and xz compression is detected from archive bytes.
|
|
111
|
-
Examples: tar cf archive.tar file; tar tf archive.tar; tar xf archive.tar -C directory
|
|
112
|
-
`), signal);
|
|
113
|
-
return { exitCode: 0 };
|
|
114
|
-
}
|
|
115
|
-
const budget = new Budget(context, limits);
|
|
116
|
-
if (parsed.mode === "d")
|
|
117
|
-
return { exitCode: await compareArchive(context, parsed, budget) };
|
|
118
|
-
if (parsed.mode === "r" || parsed.mode === "u" || parsed.mode === "delete" || parsed.mode === "A") {
|
|
119
|
-
await mutateArchive(context, parsed, budget);
|
|
120
|
-
return { exitCode: 0 };
|
|
121
|
-
}
|
|
122
|
-
if (parsed.mode === "c") {
|
|
123
|
-
const prepared = await manifest(context, parsed, budget);
|
|
124
|
-
let source = bounded(recorded(createArchive(context, prepared.entries, parsed, budget), parsed, budget), limits.maxArchiveBytes, signal, limits.chunkSize);
|
|
125
|
-
if (parsed.compression)
|
|
126
|
-
source = compressed(source, false, signal, limits, parsed.compression);
|
|
127
|
-
if (prepared.output) {
|
|
128
|
-
const existing = await maybeStat(context, prepared.output);
|
|
129
|
-
if (existing && existing.type !== "file")
|
|
130
|
-
fail("output archive changed to a non-file");
|
|
131
|
-
if (existing && (!prepared.outputStat || !sameIdentity(existing, prepared.outputStat)))
|
|
132
|
-
fail("output archive backing entry changed during preparation");
|
|
133
|
-
if (existing)
|
|
134
|
-
await operation(context, () => context.fs.rm(prepared.output, { signal }));
|
|
135
|
-
await publish(context, prepared.output, source);
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
for await (const chunk of readBytes(source, signal))
|
|
139
|
-
await writeBytes(context.stdout, chunk, signal);
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
else {
|
|
143
|
-
let source = bounded(parsed.archive === "-" ? context.stdin : extractionInput(context, vfsPath(context.cwd, parsed.archive), limits), limits.maxArchiveBytes, signal, limits.chunkSize);
|
|
144
|
-
source = parsed.compression ? compressed(source, true, signal, limits, parsed.compression) : autodetected(source, signal, limits);
|
|
145
|
-
await readArchive(context, source, parsed, budget);
|
|
146
|
-
}
|
|
147
|
-
return { exitCode: 0 };
|
|
148
|
-
}
|
|
149
|
-
catch (error) {
|
|
150
|
-
controller.abort(error);
|
|
151
|
-
original.signal.throwIfAborted();
|
|
152
|
-
const message = escapeText(display((publicDiagnosticMessage(error, original.onInternalError)).slice(0, 1024)), "diagnostic");
|
|
153
|
-
await writeBytes(original.stderr, encodeBytes(`tar: ${message}\n`).subarray(0, limits.maxDiagnosticBytes), original.signal);
|
|
154
|
-
return { exitCode: 2 };
|
|
155
|
-
}
|
|
156
|
-
finally {
|
|
157
|
-
controller.abort(new Error("tar command finished"));
|
|
158
|
-
}
|
|
159
|
-
} };
|
|
160
|
-
if (options.limits === undefined && options.zipHost === undefined)
|
|
161
|
-
builtInDirectContextExecutors.add(def.execute);
|
|
162
|
-
return def;
|
|
163
|
-
}
|
|
2
|
+
import { createTarCommand } from "../../../safe-bash-command-tar/index.js";
|
|
3
|
+
import { createZipCommand } from "../../../safe-bash-command-zip/index.js";
|
|
4
|
+
import { createUnzipCommand } from "../../../safe-bash-command-unzip/index.js";
|
|
164
5
|
export function createArchiveCommands(options = {}) {
|
|
165
6
|
return [createTarCommand(options), createZipCommand(options), createUnzipCommand(options)];
|
|
166
7
|
}
|
|
@@ -177,773 +18,7 @@ export function archiveCommands(options = {}) {
|
|
|
177
18
|
host.commands.register(command, { replace: options.replace ?? false });
|
|
178
19
|
} };
|
|
179
20
|
}
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
-c, --create Create a new archive
|
|
184
|
-
-t, --list List the contents of an archive
|
|
185
|
-
-x, --extract, --get Extract files from an archive
|
|
186
|
-
-r, --append Append files to the end of an archive
|
|
187
|
-
-u, --update Only append files newer than copy in archive
|
|
188
|
-
-d, --diff, --compare Find differences between archive and file system
|
|
189
|
-
--delete Delete from the archive
|
|
190
|
-
-A, --catenate, --concatenate Append tar files to an archive
|
|
191
|
-
-f, --file=ARCHIVE Use archive file or - for stdio (default -)
|
|
192
|
-
-C, --directory=DIR Change to DIR before subsequent operations
|
|
193
|
-
-v, --verbose Verbosely list files processed
|
|
194
|
-
-z, --gzip, --gunzip Filter the archive through gzip
|
|
195
|
-
-j, --bzip2 Filter the archive through bzip2
|
|
196
|
-
-J, --xz Filter the archive through xz
|
|
197
|
-
-O, --to-stdout Extract files to standard output
|
|
198
|
-
--exclude=PATTERN Exclude files matching PATTERN
|
|
199
|
-
-T, --files-from=FILE Get names to extract or create from FILE
|
|
200
|
-
-X, --exclude-from=FILE Exclude patterns listed in FILE
|
|
201
|
-
--null -T reads NUL-terminated verbatim names
|
|
202
|
-
--no-null Undo a previous --null option
|
|
203
|
-
--recursion Recurse into directories (default)
|
|
204
|
-
--no-recursion Avoid descending automatically in directories
|
|
205
|
-
--wildcards Select archive members with anchored glob patterns
|
|
206
|
-
--no-wildcards Select literal member names (default)
|
|
207
|
-
--occurrence[=NUM] Select only occurrence NUM of each operand (default 1)
|
|
208
|
-
--strip-components=NUM Remove leading components when reading archives
|
|
209
|
-
--transform=EXPR Substitute member names when listing (s/old/new/[gix])
|
|
210
|
-
--show-transformed-names Display transformed names in archive listings
|
|
211
|
-
--format=FORMAT Create pax (default), posix or ustar archives
|
|
212
|
-
--mtime=DATE Override creation mtime (@seconds or ISO/RFC date)
|
|
213
|
-
--owner=ID Override numeric creation owner
|
|
214
|
-
--group=ID Override numeric creation group
|
|
215
|
-
--mode=OCTAL Override creation permission bits
|
|
216
|
-
--numeric-owner Use numeric ownership IDs
|
|
217
|
-
--full-time Show full UTC timestamps in verbose listings
|
|
218
|
-
-m, --touch Retain current extraction timestamps
|
|
219
|
-
-p, --same-permissions Restore ordinary archive permission bits
|
|
220
|
-
--no-same-permissions Apply virtual 022 mask to ordinary permissions
|
|
221
|
-
--no-same-owner Retain filesystem-assigned ownership
|
|
222
|
-
--atime-preserve[=replace] Restore source access times after creation
|
|
223
|
-
--delay-directory-restore Restore directory metadata at archive end
|
|
224
|
-
--no-delay-directory-restore Restore after leaving each directory subtree
|
|
225
|
-
-k, --keep-old-files Keep existing files and report conflicts as errors
|
|
226
|
-
--skip-old-files Skip existing files without reporting errors
|
|
227
|
-
--overwrite Replace existing entries using safe extraction checks
|
|
228
|
-
--help Display this help and exit
|
|
229
|
-
-- End options; remaining arguments are filenames
|
|
230
|
-
|
|
231
|
-
Exactly one of -c, -t, -x, -r, -u, -d, --delete or -A is required.
|
|
232
|
-
When reading, gzip, bzip2 and xz compression is detected from archive bytes.
|
|
233
|
-
Examples: tar cf archive.tar file; tar tf archive.tar; tar xf archive.tar -C directory
|
|
234
|
-
`;
|
|
235
|
-
const syncTextDecoder = new TextDecoder();
|
|
236
|
-
export function evalSyncZip(args) {
|
|
237
|
-
if (args.length === 1) {
|
|
238
|
-
const a = args[0];
|
|
239
|
-
if (a === "-h" || a === "--help" || a === "-?")
|
|
240
|
-
return zipHelp;
|
|
241
|
-
if (a === "-h2" || a === "--more-help")
|
|
242
|
-
return zipExtendedHelp;
|
|
243
|
-
if (a === "-v" || a === "--version")
|
|
244
|
-
return zipVersion;
|
|
245
|
-
if (a === "-L" || a === "--license")
|
|
246
|
-
return zipLicense;
|
|
247
|
-
}
|
|
248
|
-
return undefined;
|
|
249
|
-
}
|
|
250
|
-
export function evalSyncTar(stdinBytes, args, readFile, writeFile, mkdir) {
|
|
251
|
-
if (args.length === 1 && args[0] === "--help") {
|
|
252
|
-
return TAR_HELP_TEXT;
|
|
253
|
-
}
|
|
254
|
-
if (args.length === 0)
|
|
255
|
-
return undefined;
|
|
256
|
-
let mode;
|
|
257
|
-
let toStdout = false;
|
|
258
|
-
let verbose = false;
|
|
259
|
-
let gzip = false;
|
|
260
|
-
let wildcards = false;
|
|
261
|
-
let stripComponents = 0;
|
|
262
|
-
let targetDir = "";
|
|
263
|
-
let archive = "-";
|
|
264
|
-
const excludes = [];
|
|
265
|
-
const operands = [];
|
|
266
|
-
const globToRe = (pat) => {
|
|
267
|
-
let re = "^";
|
|
268
|
-
for (let idx = 0; idx < pat.length; idx++) {
|
|
269
|
-
const ch = pat[idx];
|
|
270
|
-
if (ch === "*")
|
|
271
|
-
re += ".*";
|
|
272
|
-
else if (ch === "?")
|
|
273
|
-
re += ".";
|
|
274
|
-
else if (ch === "[") {
|
|
275
|
-
const close = pat.indexOf("]", idx + 1);
|
|
276
|
-
if (close > idx + 1) {
|
|
277
|
-
re += pat.slice(idx, close + 1);
|
|
278
|
-
idx = close;
|
|
279
|
-
}
|
|
280
|
-
else
|
|
281
|
-
re += "\\[";
|
|
282
|
-
}
|
|
283
|
-
else
|
|
284
|
-
re += ch.replace(/[.+^$(){}|\\]/g, "\\$&");
|
|
285
|
-
}
|
|
286
|
-
return new RegExp(re + "$", "u");
|
|
287
|
-
};
|
|
288
|
-
let i = 0;
|
|
289
|
-
let bundledHandled = false;
|
|
290
|
-
while (i < args.length) {
|
|
291
|
-
const a = args[i];
|
|
292
|
-
if (i === 0 && !a.startsWith("-") && a.length > 0) {
|
|
293
|
-
bundledHandled = true;
|
|
294
|
-
for (let c = 0; c < a.length; c++) {
|
|
295
|
-
const ch = a[c];
|
|
296
|
-
if (ch === "t") {
|
|
297
|
-
if (mode)
|
|
298
|
-
return undefined;
|
|
299
|
-
mode = "t";
|
|
300
|
-
}
|
|
301
|
-
else if (ch === "x") {
|
|
302
|
-
if (mode)
|
|
303
|
-
return undefined;
|
|
304
|
-
mode = "x";
|
|
305
|
-
}
|
|
306
|
-
else if (ch === "O")
|
|
307
|
-
toStdout = true;
|
|
308
|
-
else if (ch === "v")
|
|
309
|
-
verbose = true;
|
|
310
|
-
else if (ch === "z")
|
|
311
|
-
gzip = true;
|
|
312
|
-
else if (ch === "C") {
|
|
313
|
-
const next = args[++i];
|
|
314
|
-
if (!next)
|
|
315
|
-
return undefined;
|
|
316
|
-
targetDir = next;
|
|
317
|
-
}
|
|
318
|
-
else if (ch === "f") {
|
|
319
|
-
const next = args[++i];
|
|
320
|
-
if (!next)
|
|
321
|
-
return undefined;
|
|
322
|
-
archive = next;
|
|
323
|
-
}
|
|
324
|
-
else
|
|
325
|
-
return undefined;
|
|
326
|
-
}
|
|
327
|
-
i++;
|
|
328
|
-
continue;
|
|
329
|
-
}
|
|
330
|
-
if (a === "--") {
|
|
331
|
-
operands.push(...args.slice(i + 1));
|
|
332
|
-
break;
|
|
333
|
-
}
|
|
334
|
-
if (a === "--list") {
|
|
335
|
-
if (mode)
|
|
336
|
-
return undefined;
|
|
337
|
-
mode = "t";
|
|
338
|
-
i++;
|
|
339
|
-
continue;
|
|
340
|
-
}
|
|
341
|
-
if (a === "--extract" || a === "--get") {
|
|
342
|
-
if (mode)
|
|
343
|
-
return undefined;
|
|
344
|
-
mode = "x";
|
|
345
|
-
i++;
|
|
346
|
-
continue;
|
|
347
|
-
}
|
|
348
|
-
if (a === "--to-stdout") {
|
|
349
|
-
toStdout = true;
|
|
350
|
-
i++;
|
|
351
|
-
continue;
|
|
352
|
-
}
|
|
353
|
-
if (a === "--verbose") {
|
|
354
|
-
verbose = true;
|
|
355
|
-
i++;
|
|
356
|
-
continue;
|
|
357
|
-
}
|
|
358
|
-
if (a === "--directory" || a.startsWith("--directory=")) {
|
|
359
|
-
const d = a === "--directory" ? args[++i] : a.slice(12);
|
|
360
|
-
if (!d)
|
|
361
|
-
return undefined;
|
|
362
|
-
targetDir = d;
|
|
363
|
-
i++;
|
|
364
|
-
continue;
|
|
365
|
-
}
|
|
366
|
-
if (a === "--gzip" || a === "--gunzip") {
|
|
367
|
-
gzip = true;
|
|
368
|
-
i++;
|
|
369
|
-
continue;
|
|
370
|
-
}
|
|
371
|
-
if (a === "--wildcards") {
|
|
372
|
-
wildcards = true;
|
|
373
|
-
i++;
|
|
374
|
-
continue;
|
|
375
|
-
}
|
|
376
|
-
if (a === "--exclude" || a.startsWith("--exclude=")) {
|
|
377
|
-
const ex = a === "--exclude" ? args[++i] : a.slice(10);
|
|
378
|
-
if (!ex)
|
|
379
|
-
return undefined;
|
|
380
|
-
excludes.push(ex);
|
|
381
|
-
i++;
|
|
382
|
-
continue;
|
|
383
|
-
}
|
|
384
|
-
if (a === "--strip-components" || a.startsWith("--strip-components=") || a.startsWith("--strip=")) {
|
|
385
|
-
const raw = a === "--strip-components" ? args[++i] : a.slice(a.indexOf("=") + 1);
|
|
386
|
-
const v = Number(raw);
|
|
387
|
-
if (!raw || !Number.isSafeInteger(v) || v < 0)
|
|
388
|
-
return undefined;
|
|
389
|
-
stripComponents = v;
|
|
390
|
-
i++;
|
|
391
|
-
continue;
|
|
392
|
-
}
|
|
393
|
-
if (a.startsWith("--file=")) {
|
|
394
|
-
archive = a.slice(7);
|
|
395
|
-
i++;
|
|
396
|
-
continue;
|
|
397
|
-
}
|
|
398
|
-
if (a.startsWith("-") && a !== "-") {
|
|
399
|
-
if (a.startsWith("--"))
|
|
400
|
-
return undefined;
|
|
401
|
-
for (let c = 1; c < a.length; c++) {
|
|
402
|
-
const ch = a[c];
|
|
403
|
-
if (ch === "t") {
|
|
404
|
-
if (mode)
|
|
405
|
-
return undefined;
|
|
406
|
-
mode = "t";
|
|
407
|
-
}
|
|
408
|
-
else if (ch === "x") {
|
|
409
|
-
if (mode)
|
|
410
|
-
return undefined;
|
|
411
|
-
mode = "x";
|
|
412
|
-
}
|
|
413
|
-
else if (ch === "O")
|
|
414
|
-
toStdout = true;
|
|
415
|
-
else if (ch === "v")
|
|
416
|
-
verbose = true;
|
|
417
|
-
else if (ch === "z")
|
|
418
|
-
gzip = true;
|
|
419
|
-
else if (ch === "C") {
|
|
420
|
-
const rest = a.slice(c + 1);
|
|
421
|
-
if (rest) {
|
|
422
|
-
targetDir = rest;
|
|
423
|
-
break;
|
|
424
|
-
}
|
|
425
|
-
const next = args[++i];
|
|
426
|
-
if (!next)
|
|
427
|
-
return undefined;
|
|
428
|
-
targetDir = next;
|
|
429
|
-
break;
|
|
430
|
-
}
|
|
431
|
-
else if (ch === "f") {
|
|
432
|
-
const rest = a.slice(c + 1);
|
|
433
|
-
if (rest) {
|
|
434
|
-
archive = rest;
|
|
435
|
-
break;
|
|
436
|
-
}
|
|
437
|
-
const next = args[++i];
|
|
438
|
-
if (!next)
|
|
439
|
-
return undefined;
|
|
440
|
-
archive = next;
|
|
441
|
-
break;
|
|
442
|
-
}
|
|
443
|
-
else
|
|
444
|
-
return undefined;
|
|
445
|
-
}
|
|
446
|
-
i++;
|
|
447
|
-
continue;
|
|
448
|
-
}
|
|
449
|
-
operands.push(a);
|
|
450
|
-
i++;
|
|
451
|
-
}
|
|
452
|
-
void bundledHandled;
|
|
453
|
-
if (!mode)
|
|
454
|
-
return undefined;
|
|
455
|
-
if (mode === "t" && verbose)
|
|
456
|
-
return undefined;
|
|
457
|
-
if (mode === "x" && !toStdout && (!writeFile || !mkdir))
|
|
458
|
-
return undefined;
|
|
459
|
-
let raw;
|
|
460
|
-
if (archive === "-") {
|
|
461
|
-
raw = stdinBytes;
|
|
462
|
-
}
|
|
463
|
-
else {
|
|
464
|
-
if (!readFile)
|
|
465
|
-
return undefined;
|
|
466
|
-
raw = readFile(archive);
|
|
467
|
-
}
|
|
468
|
-
if (!raw || raw.byteLength === 0)
|
|
469
|
-
return undefined;
|
|
470
|
-
try {
|
|
471
|
-
let tarBytes = raw;
|
|
472
|
-
const isGzipMagic = raw.byteLength >= 2 && raw[0] === 0x1f && raw[1] === 0x8b;
|
|
473
|
-
if (gzip || isGzipMagic) {
|
|
474
|
-
tarBytes = new Uint8Array(gunzipSync(raw));
|
|
475
|
-
}
|
|
476
|
-
else if ((raw.byteLength >= 3 && raw[0] === 0x42 && raw[1] === 0x5a && raw[2] === 0x68) ||
|
|
477
|
-
(raw.byteLength >= 6 && raw[0] === 0xfd && raw[1] === 0x37 && raw[2] === 0x7a && raw[3] === 0x58 && raw[4] === 0x5a && raw[5] === 0x00)) {
|
|
478
|
-
return undefined;
|
|
479
|
-
}
|
|
480
|
-
const globalPax = new Map();
|
|
481
|
-
let localPax = new Map();
|
|
482
|
-
let longName;
|
|
483
|
-
let longLink;
|
|
484
|
-
const matchedOperands = new Set();
|
|
485
|
-
const extractActions = [];
|
|
486
|
-
let out = "";
|
|
487
|
-
let offset = 0;
|
|
488
|
-
while (offset + 512 <= tarBytes.byteLength) {
|
|
489
|
-
const headerSlice = tarBytes.subarray(offset, offset + 512);
|
|
490
|
-
offset += 512;
|
|
491
|
-
let allZero = true;
|
|
492
|
-
for (let k = 0; k < 512; k++) {
|
|
493
|
-
if (headerSlice[k] !== 0) {
|
|
494
|
-
allZero = false;
|
|
495
|
-
break;
|
|
496
|
-
}
|
|
497
|
-
}
|
|
498
|
-
if (allZero)
|
|
499
|
-
break;
|
|
500
|
-
const header = parseHeader(headerSlice);
|
|
501
|
-
const tempEntry = applyPax(header, new Map(), new Map());
|
|
502
|
-
const payloadEnd = offset + tempEntry.size;
|
|
503
|
-
if (payloadEnd > tarBytes.byteLength)
|
|
504
|
-
return undefined;
|
|
505
|
-
const payload = tarBytes.subarray(offset, payloadEnd);
|
|
506
|
-
offset += Math.ceil(tempEntry.size / 512) * 512;
|
|
507
|
-
if (header.type === "g") {
|
|
508
|
-
for (const [k, v] of parsePax(payload))
|
|
509
|
-
globalPax.set(k, v);
|
|
510
|
-
continue;
|
|
511
|
-
}
|
|
512
|
-
if (header.type === "x") {
|
|
513
|
-
localPax = parsePax(payload);
|
|
514
|
-
continue;
|
|
515
|
-
}
|
|
516
|
-
if (header.type === "L") {
|
|
517
|
-
const nul = payload.indexOf(0);
|
|
518
|
-
longName = syncTextDecoder.decode(nul === -1 ? payload : payload.subarray(0, nul));
|
|
519
|
-
continue;
|
|
520
|
-
}
|
|
521
|
-
if (header.type === "K") {
|
|
522
|
-
const nul = payload.indexOf(0);
|
|
523
|
-
longLink = syncTextDecoder.decode(nul === -1 ? payload : payload.subarray(0, nul));
|
|
524
|
-
continue;
|
|
525
|
-
}
|
|
526
|
-
const entry = applyPax(header, globalPax, localPax, longName, longLink);
|
|
527
|
-
localPax = new Map();
|
|
528
|
-
longName = undefined;
|
|
529
|
-
longLink = undefined;
|
|
530
|
-
if (entry.name.startsWith("/"))
|
|
531
|
-
return undefined;
|
|
532
|
-
const cleanEntry = entry.name.replace(/\/+$/u, "");
|
|
533
|
-
if (excludes.length > 0) {
|
|
534
|
-
const baseName = cleanEntry.slice(cleanEntry.lastIndexOf("/") + 1);
|
|
535
|
-
let isExcluded = false;
|
|
536
|
-
for (const ex of excludes) {
|
|
537
|
-
const exRe = globToRe(ex.replace(/\/+$/u, ""));
|
|
538
|
-
if (exRe.test(cleanEntry) || exRe.test(baseName)) {
|
|
539
|
-
isExcluded = true;
|
|
540
|
-
break;
|
|
541
|
-
}
|
|
542
|
-
}
|
|
543
|
-
if (isExcluded)
|
|
544
|
-
continue;
|
|
545
|
-
}
|
|
546
|
-
let selected = operands.length === 0;
|
|
547
|
-
if (!selected) {
|
|
548
|
-
for (let opIdx = 0; opIdx < operands.length; opIdx++) {
|
|
549
|
-
const cleanOp = operands[opIdx].replace(/\/+$/u, "");
|
|
550
|
-
if (wildcards && (cleanOp.includes("*") || cleanOp.includes("?") || cleanOp.includes("["))) {
|
|
551
|
-
const opRe = globToRe(cleanOp);
|
|
552
|
-
if (opRe.test(cleanEntry) || opRe.test(cleanEntry.slice(cleanEntry.lastIndexOf("/") + 1))) {
|
|
553
|
-
selected = true;
|
|
554
|
-
matchedOperands.add(opIdx);
|
|
555
|
-
}
|
|
556
|
-
}
|
|
557
|
-
else if (cleanEntry === cleanOp || cleanEntry.startsWith(cleanOp + "/")) {
|
|
558
|
-
selected = true;
|
|
559
|
-
matchedOperands.add(opIdx);
|
|
560
|
-
}
|
|
561
|
-
}
|
|
562
|
-
}
|
|
563
|
-
if (!selected)
|
|
564
|
-
continue;
|
|
565
|
-
let displayEntryName = entry.name;
|
|
566
|
-
if (stripComponents > 0) {
|
|
567
|
-
const hasTrailingSlash = displayEntryName.endsWith("/");
|
|
568
|
-
const segs = cleanEntry.split("/").filter(Boolean);
|
|
569
|
-
if (segs.length <= stripComponents)
|
|
570
|
-
continue;
|
|
571
|
-
displayEntryName = segs.slice(stripComponents).join("/") + (hasTrailingSlash ? "/" : "");
|
|
572
|
-
}
|
|
573
|
-
if (mode === "t") {
|
|
574
|
-
out += `${quoteName(displayEntryName, "escape")}\n`;
|
|
575
|
-
}
|
|
576
|
-
else if (mode === "x" && toStdout) {
|
|
577
|
-
if (entry.type === "0") {
|
|
578
|
-
out += syncTextDecoder.decode(payload);
|
|
579
|
-
}
|
|
580
|
-
}
|
|
581
|
-
else if (mode === "x") {
|
|
582
|
-
const relClean = displayEntryName.replace(/\/+$/u, "");
|
|
583
|
-
if (!relClean || relClean.split("/").includes(".."))
|
|
584
|
-
return undefined;
|
|
585
|
-
const destPath = targetDir ? `${targetDir.replace(/\/+$/u, "")}/${relClean}` : relClean;
|
|
586
|
-
if (entry.type === "5") {
|
|
587
|
-
extractActions.push({ isDir: true, path: destPath, bytes: new Uint8Array(0), mode: entry.mode || 0o755 });
|
|
588
|
-
}
|
|
589
|
-
else if (entry.type === "0") {
|
|
590
|
-
extractActions.push({ isDir: false, path: destPath, bytes: payload.slice(), mode: entry.mode || 0o644 });
|
|
591
|
-
}
|
|
592
|
-
else {
|
|
593
|
-
return undefined;
|
|
594
|
-
}
|
|
595
|
-
if (verbose)
|
|
596
|
-
out += `${quoteName(displayEntryName, "escape")}\n`;
|
|
597
|
-
}
|
|
598
|
-
}
|
|
599
|
-
if (operands.length > 0 && matchedOperands.size !== operands.length) {
|
|
600
|
-
return undefined;
|
|
601
|
-
}
|
|
602
|
-
if (mode === "x" && !toStdout) {
|
|
603
|
-
for (const act of extractActions) {
|
|
604
|
-
if (act.isDir) {
|
|
605
|
-
if (!mkdir(act.path, act.mode))
|
|
606
|
-
return undefined;
|
|
607
|
-
}
|
|
608
|
-
else {
|
|
609
|
-
const slash = act.path.lastIndexOf("/");
|
|
610
|
-
if (slash > 0 && !mkdir(act.path.slice(0, slash), 0o755))
|
|
611
|
-
return undefined;
|
|
612
|
-
if (!writeFile(act.path, act.bytes, act.mode))
|
|
613
|
-
return undefined;
|
|
614
|
-
}
|
|
615
|
-
}
|
|
616
|
-
}
|
|
617
|
-
return out;
|
|
618
|
-
}
|
|
619
|
-
catch {
|
|
620
|
-
return undefined;
|
|
621
|
-
}
|
|
622
|
-
}
|
|
623
|
-
function filteredZipName(name) {
|
|
624
|
-
let output = "";
|
|
625
|
-
for (const character of name) {
|
|
626
|
-
const code = character.charCodeAt(0);
|
|
627
|
-
output += code < 32 ? `^${String.fromCharCode(code + 64)}` : character;
|
|
628
|
-
}
|
|
629
|
-
return output;
|
|
630
|
-
}
|
|
631
|
-
export function evalSyncUnzip(args, readFile, writeFile, mkdir) {
|
|
632
|
-
if (!readFile || args.length === 0)
|
|
633
|
-
return undefined;
|
|
634
|
-
let zipinfoNames = false;
|
|
635
|
-
let pipe = false;
|
|
636
|
-
let list = false;
|
|
637
|
-
let testMode = false;
|
|
638
|
-
let caseInsensitive = false;
|
|
639
|
-
let overwrite = false;
|
|
640
|
-
let destDir;
|
|
641
|
-
let quiet = 0;
|
|
642
|
-
let archive;
|
|
643
|
-
const patterns = [];
|
|
644
|
-
const excludePatterns = [];
|
|
645
|
-
let inExclude = false;
|
|
646
|
-
let ended = false;
|
|
647
|
-
const zipGlobToRe = (pat) => {
|
|
648
|
-
let re = "^";
|
|
649
|
-
for (let idx = 0; idx < pat.length; idx++) {
|
|
650
|
-
const ch = pat[idx];
|
|
651
|
-
if (ch === "*")
|
|
652
|
-
re += ".*";
|
|
653
|
-
else if (ch === "?")
|
|
654
|
-
re += ".";
|
|
655
|
-
else if (ch === "[") {
|
|
656
|
-
const close = pat.indexOf("]", idx + 1);
|
|
657
|
-
if (close > idx + 1) {
|
|
658
|
-
re += pat.slice(idx, close + 1);
|
|
659
|
-
idx = close;
|
|
660
|
-
}
|
|
661
|
-
else
|
|
662
|
-
re += "\\[";
|
|
663
|
-
}
|
|
664
|
-
else
|
|
665
|
-
re += ch.replace(/[.+^$(){}|\\]/g, "\\$&");
|
|
666
|
-
}
|
|
667
|
-
return new RegExp(re + "$", caseInsensitive ? "iu" : "u");
|
|
668
|
-
};
|
|
669
|
-
for (let i = 0; i < args.length; i++) {
|
|
670
|
-
const a = args[i];
|
|
671
|
-
if (!ended && a === "--") {
|
|
672
|
-
ended = true;
|
|
673
|
-
continue;
|
|
674
|
-
}
|
|
675
|
-
if (!ended && archive !== undefined && a === "-x") {
|
|
676
|
-
inExclude = true;
|
|
677
|
-
continue;
|
|
678
|
-
}
|
|
679
|
-
if (!ended && (a === "-d" || a.startsWith("-d"))) {
|
|
680
|
-
const d = a === "-d" ? args[++i] : a.slice(2);
|
|
681
|
-
if (!d)
|
|
682
|
-
return undefined;
|
|
683
|
-
destDir = d;
|
|
684
|
-
continue;
|
|
685
|
-
}
|
|
686
|
-
if (!ended && archive === undefined && a.startsWith("-") && a !== "-") {
|
|
687
|
-
if (a === "-Z1" && i === 0) {
|
|
688
|
-
zipinfoNames = true;
|
|
689
|
-
continue;
|
|
690
|
-
}
|
|
691
|
-
for (let c = 1; c < a.length; c++) {
|
|
692
|
-
const ch = a[c];
|
|
693
|
-
if (ch === "p")
|
|
694
|
-
pipe = true;
|
|
695
|
-
else if (ch === "l")
|
|
696
|
-
list = true;
|
|
697
|
-
else if (ch === "t")
|
|
698
|
-
testMode = true;
|
|
699
|
-
else if (ch === "C")
|
|
700
|
-
caseInsensitive = true;
|
|
701
|
-
else if (ch === "o")
|
|
702
|
-
overwrite = true;
|
|
703
|
-
else if (ch === "q")
|
|
704
|
-
quiet++;
|
|
705
|
-
else
|
|
706
|
-
return undefined;
|
|
707
|
-
}
|
|
708
|
-
}
|
|
709
|
-
else if (archive === undefined) {
|
|
710
|
-
archive = a;
|
|
711
|
-
}
|
|
712
|
-
else if (inExclude) {
|
|
713
|
-
excludePatterns.push(a);
|
|
714
|
-
}
|
|
715
|
-
else {
|
|
716
|
-
patterns.push(a);
|
|
717
|
-
}
|
|
718
|
-
}
|
|
719
|
-
void overwrite;
|
|
720
|
-
if (!archive)
|
|
721
|
-
return undefined;
|
|
722
|
-
const modeCount = (zipinfoNames ? 1 : 0) + (pipe ? 1 : 0) + (list ? 1 : 0) + (testMode ? 1 : 0);
|
|
723
|
-
if (modeCount > 1)
|
|
724
|
-
return undefined;
|
|
725
|
-
const extractMode = modeCount === 0;
|
|
726
|
-
if (extractMode && (!writeFile || !mkdir))
|
|
727
|
-
return undefined;
|
|
728
|
-
let chosenArchive = archive;
|
|
729
|
-
let bytes = readFile(archive);
|
|
730
|
-
if (!bytes) {
|
|
731
|
-
bytes = readFile(archive + ".zip");
|
|
732
|
-
if (bytes)
|
|
733
|
-
chosenArchive = archive + ".zip";
|
|
734
|
-
}
|
|
735
|
-
if (!bytes) {
|
|
736
|
-
bytes = readFile(archive + ".ZIP");
|
|
737
|
-
if (bytes)
|
|
738
|
-
chosenArchive = archive + ".ZIP";
|
|
739
|
-
}
|
|
740
|
-
if (!bytes || bytes.byteLength < 22)
|
|
741
|
-
return undefined;
|
|
742
|
-
try {
|
|
743
|
-
const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
744
|
-
let eocdOffset = -1;
|
|
745
|
-
const lower = Math.max(0, bytes.byteLength - 22 - 65535);
|
|
746
|
-
for (let off = bytes.byteLength - 22; off >= lower; off--) {
|
|
747
|
-
if (view.getUint32(off, true) === 0x06054b50 && off + 22 + view.getUint16(off + 20, true) === bytes.byteLength) {
|
|
748
|
-
eocdOffset = off;
|
|
749
|
-
break;
|
|
750
|
-
}
|
|
751
|
-
}
|
|
752
|
-
if (eocdOffset === -1)
|
|
753
|
-
return undefined;
|
|
754
|
-
const diskNum = view.getUint16(eocdOffset + 4, true);
|
|
755
|
-
const cdDisk = view.getUint16(eocdOffset + 6, true);
|
|
756
|
-
const totalEntries = view.getUint16(eocdOffset + 10, true);
|
|
757
|
-
const cdSize = view.getUint32(eocdOffset + 12, true);
|
|
758
|
-
const cdOffset = view.getUint32(eocdOffset + 16, true);
|
|
759
|
-
const commentLen = view.getUint16(eocdOffset + 20, true);
|
|
760
|
-
if (diskNum !== 0 || cdDisk !== 0 || totalEntries === 0 || totalEntries === 0xffff || cdSize === 0xffffffff || cdOffset === 0xffffffff || commentLen !== 0) {
|
|
761
|
-
return undefined;
|
|
762
|
-
}
|
|
763
|
-
if (cdOffset + cdSize > eocdOffset)
|
|
764
|
-
return undefined;
|
|
765
|
-
const members = [];
|
|
766
|
-
let ptr = cdOffset;
|
|
767
|
-
for (let idx = 0; idx < totalEntries; idx++) {
|
|
768
|
-
if (ptr + 46 > eocdOffset || view.getUint32(ptr, true) !== 0x02014b50)
|
|
769
|
-
return undefined;
|
|
770
|
-
const flags = view.getUint16(ptr + 8, true);
|
|
771
|
-
if (flags & 1)
|
|
772
|
-
return undefined;
|
|
773
|
-
const method = view.getUint16(ptr + 10, true);
|
|
774
|
-
const dosTime = view.getUint16(ptr + 12, true);
|
|
775
|
-
const dosDate = view.getUint16(ptr + 14, true);
|
|
776
|
-
const crc = view.getUint32(ptr + 16, true);
|
|
777
|
-
const compSize = view.getUint32(ptr + 20, true);
|
|
778
|
-
const uncompSize = view.getUint32(ptr + 24, true);
|
|
779
|
-
const nameLen = view.getUint16(ptr + 28, true);
|
|
780
|
-
const extraLen = view.getUint16(ptr + 30, true);
|
|
781
|
-
const entryCommentLen = view.getUint16(ptr + 32, true);
|
|
782
|
-
const localOffset = view.getUint32(ptr + 42, true);
|
|
783
|
-
if (entryCommentLen !== 0 || compSize === 0xffffffff || uncompSize === 0xffffffff || localOffset === 0xffffffff)
|
|
784
|
-
return undefined;
|
|
785
|
-
if (ptr + 46 + nameLen + extraLen > eocdOffset)
|
|
786
|
-
return undefined;
|
|
787
|
-
const nameBytes = bytes.subarray(ptr + 46, ptr + 46 + nameLen);
|
|
788
|
-
const name = syncTextDecoder.decode(nameBytes);
|
|
789
|
-
members.push({ name, method, flags, crc, compSize, uncompSize, dosTime, dosDate, localOffset, extraLen });
|
|
790
|
-
ptr += 46 + nameLen + extraLen + entryCommentLen;
|
|
791
|
-
}
|
|
792
|
-
const matchedPatterns = new Set();
|
|
793
|
-
const patRegexes = patterns.map(zipGlobToRe);
|
|
794
|
-
const exRegexes = excludePatterns.map(zipGlobToRe);
|
|
795
|
-
const selectedMembers = [];
|
|
796
|
-
for (const m of members) {
|
|
797
|
-
if (exRegexes.some(re => re.test(m.name)))
|
|
798
|
-
continue;
|
|
799
|
-
if (patterns.length === 0) {
|
|
800
|
-
selectedMembers.push(m);
|
|
801
|
-
}
|
|
802
|
-
else {
|
|
803
|
-
let hit = false;
|
|
804
|
-
for (let pIdx = 0; pIdx < patRegexes.length; pIdx++) {
|
|
805
|
-
if (patRegexes[pIdx].test(m.name)) {
|
|
806
|
-
hit = true;
|
|
807
|
-
matchedPatterns.add(pIdx);
|
|
808
|
-
}
|
|
809
|
-
}
|
|
810
|
-
if (hit)
|
|
811
|
-
selectedMembers.push(m);
|
|
812
|
-
}
|
|
813
|
-
}
|
|
814
|
-
if (selectedMembers.length === 0 || (patterns.length > 0 && matchedPatterns.size !== patterns.length)) {
|
|
815
|
-
return undefined;
|
|
816
|
-
}
|
|
817
|
-
if (zipinfoNames) {
|
|
818
|
-
let out = "";
|
|
819
|
-
for (const m of selectedMembers) {
|
|
820
|
-
out += `${filteredZipName(m.name)}\n`;
|
|
821
|
-
}
|
|
822
|
-
return out;
|
|
823
|
-
}
|
|
824
|
-
if (list) {
|
|
825
|
-
for (const m of selectedMembers) {
|
|
826
|
-
if (m.extraLen !== 0)
|
|
827
|
-
return undefined;
|
|
828
|
-
}
|
|
829
|
-
let out = quiet === 0 ? `Archive: ${filteredZipName(chosenArchive)}\n` : "";
|
|
830
|
-
out += " Length Date Time Name\n--------- ---------- ----- ----\n";
|
|
831
|
-
let totalSize = 0;
|
|
832
|
-
const pad2 = (v) => String(v).padStart(2, "0");
|
|
833
|
-
for (const m of selectedMembers) {
|
|
834
|
-
totalSize += m.uncompSize;
|
|
835
|
-
const year = ((m.dosDate >> 9) & 0x7f) + 1980;
|
|
836
|
-
const month = (m.dosDate >> 5) & 0x0f;
|
|
837
|
-
const day = m.dosDate & 0x1f;
|
|
838
|
-
const hour = (m.dosTime >> 11) & 0x1f;
|
|
839
|
-
const minute = (m.dosTime >> 5) & 0x3f;
|
|
840
|
-
const dStr = `${year}-${pad2(month)}-${pad2(day)} ${pad2(hour)}:${pad2(minute)}`;
|
|
841
|
-
out += `${String(m.uncompSize).padStart(9)} ${dStr} ${filteredZipName(m.name)}\n`;
|
|
842
|
-
}
|
|
843
|
-
out += `--------- -------\n${String(totalSize).padStart(9)} ${selectedMembers.length} file${selectedMembers.length === 1 ? "" : "s"}\n`;
|
|
844
|
-
return out;
|
|
845
|
-
}
|
|
846
|
-
if (testMode || extractMode) {
|
|
847
|
-
let out = quiet === 0 ? `Archive: ${filteredZipName(chosenArchive)}\n` : "";
|
|
848
|
-
const staged = [];
|
|
849
|
-
for (const m of selectedMembers) {
|
|
850
|
-
if (m.localOffset + 30 > bytes.byteLength || view.getUint32(m.localOffset, true) !== 0x04034b50)
|
|
851
|
-
return undefined;
|
|
852
|
-
const lNameLen = view.getUint16(m.localOffset + 26, true);
|
|
853
|
-
const lExtraLen = view.getUint16(m.localOffset + 28, true);
|
|
854
|
-
const dataStart = m.localOffset + 30 + lNameLen + lExtraLen;
|
|
855
|
-
const dataEnd = dataStart + m.compSize;
|
|
856
|
-
if (dataEnd > bytes.byteLength)
|
|
857
|
-
return undefined;
|
|
858
|
-
const compSlice = bytes.subarray(dataStart, dataEnd);
|
|
859
|
-
let decoded;
|
|
860
|
-
if (m.method === 0) {
|
|
861
|
-
decoded = compSlice;
|
|
862
|
-
}
|
|
863
|
-
else if (m.method === 8) {
|
|
864
|
-
decoded = inflateRawSync(compSlice);
|
|
865
|
-
}
|
|
866
|
-
else {
|
|
867
|
-
return undefined;
|
|
868
|
-
}
|
|
869
|
-
if (decoded.byteLength !== m.uncompSize || crc32(decoded) !== m.crc)
|
|
870
|
-
return undefined;
|
|
871
|
-
if (testMode) {
|
|
872
|
-
if (quiet === 0) {
|
|
873
|
-
const fn = filteredZipName(m.name);
|
|
874
|
-
const pad = fn + " ".repeat(Math.max(0, 22 - new TextEncoder().encode(fn).byteLength));
|
|
875
|
-
out += ` testing: ${pad} OK\n`;
|
|
876
|
-
}
|
|
877
|
-
}
|
|
878
|
-
else {
|
|
879
|
-
const isDir = m.name.endsWith("/");
|
|
880
|
-
const clean = m.name.replace(/\/+$/u, "");
|
|
881
|
-
if (!clean || clean.startsWith("/") || clean.split("/").includes(".."))
|
|
882
|
-
return undefined;
|
|
883
|
-
const targetPath = destDir ? `${destDir.replace(/\/+$/u, "")}/${clean}` : clean;
|
|
884
|
-
const shown = destDir === undefined ? m.name : `${destDir.endsWith("/") ? destDir : `${destDir}/`}${m.name}`;
|
|
885
|
-
staged.push({ isDir, path: targetPath, shown, method: m.method, bytes: decoded });
|
|
886
|
-
}
|
|
887
|
-
}
|
|
888
|
-
if (testMode) {
|
|
889
|
-
if (quiet < 2)
|
|
890
|
-
out += `No errors detected in compressed data of ${filteredZipName(chosenArchive)}.\n`;
|
|
891
|
-
return out;
|
|
892
|
-
}
|
|
893
|
-
for (const item of staged) {
|
|
894
|
-
if (item.isDir) {
|
|
895
|
-
if (!mkdir(item.path, 0o755))
|
|
896
|
-
return undefined;
|
|
897
|
-
if (quiet === 0)
|
|
898
|
-
out += ` creating: ${filteredZipName(item.shown)}\n`;
|
|
899
|
-
}
|
|
900
|
-
else {
|
|
901
|
-
const slash = item.path.lastIndexOf("/");
|
|
902
|
-
if (slash > 0 && !mkdir(item.path.slice(0, slash), 0o755))
|
|
903
|
-
return undefined;
|
|
904
|
-
if (!writeFile(item.path, item.bytes, 0o644))
|
|
905
|
-
return undefined;
|
|
906
|
-
if (quiet === 0) {
|
|
907
|
-
const fn = filteredZipName(item.shown);
|
|
908
|
-
const pad = fn + " ".repeat(Math.max(0, 22 - new TextEncoder().encode(fn).byteLength));
|
|
909
|
-
out += `${item.method === 0 ? " extracting" : " inflating"}: ${pad} \n`;
|
|
910
|
-
}
|
|
911
|
-
}
|
|
912
|
-
}
|
|
913
|
-
return out;
|
|
914
|
-
}
|
|
915
|
-
if (pipe) {
|
|
916
|
-
let out = "";
|
|
917
|
-
for (const m of selectedMembers) {
|
|
918
|
-
if (m.localOffset + 30 > bytes.byteLength || view.getUint32(m.localOffset, true) !== 0x04034b50)
|
|
919
|
-
return undefined;
|
|
920
|
-
const lNameLen = view.getUint16(m.localOffset + 26, true);
|
|
921
|
-
const lExtraLen = view.getUint16(m.localOffset + 28, true);
|
|
922
|
-
const dataStart = m.localOffset + 30 + lNameLen + lExtraLen;
|
|
923
|
-
const dataEnd = dataStart + m.compSize;
|
|
924
|
-
if (dataEnd > bytes.byteLength)
|
|
925
|
-
return undefined;
|
|
926
|
-
const compSlice = bytes.subarray(dataStart, dataEnd);
|
|
927
|
-
let decoded;
|
|
928
|
-
if (m.method === 0) {
|
|
929
|
-
decoded = compSlice;
|
|
930
|
-
}
|
|
931
|
-
else if (m.method === 8) {
|
|
932
|
-
decoded = new Uint8Array(inflateRawSync(compSlice));
|
|
933
|
-
}
|
|
934
|
-
else {
|
|
935
|
-
return undefined;
|
|
936
|
-
}
|
|
937
|
-
if (decoded.byteLength !== m.uncompSize || crc32(decoded) !== m.crc)
|
|
938
|
-
return undefined;
|
|
939
|
-
out += syncTextDecoder.decode(decoded);
|
|
940
|
-
}
|
|
941
|
-
return out;
|
|
942
|
-
}
|
|
943
|
-
return undefined;
|
|
944
|
-
}
|
|
945
|
-
catch {
|
|
946
|
-
return undefined;
|
|
947
|
-
}
|
|
948
|
-
}
|
|
21
|
+
export * from "../../../safe-bash-command-tar/index.js";
|
|
22
|
+
export { createZipCommand, createZipCommands, zipCommands, evalSyncZip } from "../../../safe-bash-command-zip/index.js";
|
|
23
|
+
export { createUnzipCommand, createUnzipCommands, unzipCommands, evalSyncUnzip } from "../../../safe-bash-command-unzip/index.js";
|
|
949
24
|
//# sourceMappingURL=index.js.map
|