@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
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createArchive,
|
|
3
|
+
manifest
|
|
4
|
+
} from "./chunk-WNE7FPVR.js";
|
|
5
|
+
import {
|
|
6
|
+
readArchive
|
|
7
|
+
} from "./chunk-5T7CRJHW.js";
|
|
8
|
+
import {
|
|
9
|
+
Reader,
|
|
10
|
+
autodetected,
|
|
11
|
+
compressed,
|
|
12
|
+
recordPadding,
|
|
13
|
+
recorded
|
|
14
|
+
} from "./chunk-BNOU5YQS.js";
|
|
15
|
+
import {
|
|
16
|
+
quoteName
|
|
17
|
+
} from "./chunk-C7I25AAL.js";
|
|
18
|
+
import {
|
|
19
|
+
init_buffer
|
|
20
|
+
} from "./chunk-HX3SHTCE.js";
|
|
21
|
+
|
|
22
|
+
// packages/safe-bash-command-tar/src/modes.ts
|
|
23
|
+
init_buffer();
|
|
24
|
+
import { collectBytes, resolvePath } from "../../safe-bash-contracts/index.js";
|
|
25
|
+
import { decodeBytes, encodeBytes, equalBytes } from "../../safe-bash-io-engine/byte-encoding.js";
|
|
26
|
+
import { bounded, display, fail, fileSource, hasIdentity, maybeStat, operation, publish, sameIdentity, vfsPath } from "../../safe-bash-io-engine/commands/archive/internal.js";
|
|
27
|
+
async function compareArchive(context, options, budget) {
|
|
28
|
+
let different = false;
|
|
29
|
+
const input = bounded(options.archive === "-" ? context.stdin : fileSource(context, vfsPath(context.cwd, options.archive), budget.limits), budget.limits.maxArchiveBytes, context.signal, budget.limits.chunkSize);
|
|
30
|
+
const source = options.compression ? compressed(input, true, context.signal, budget.limits, options.compression) : autodetected(input, context.signal, budget.limits);
|
|
31
|
+
await readArchive(context, source, options, budget, { async member(entry, reader, selected, root) {
|
|
32
|
+
const difference = async (message) => {
|
|
33
|
+
different = true;
|
|
34
|
+
await budget.output(`${display(entry.name)}: ${message}
|
|
35
|
+
`);
|
|
36
|
+
};
|
|
37
|
+
if (!selected) {
|
|
38
|
+
await reader.discard(entry.size);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
if (entry.name.split("/").includes("..")) fail(`unsafe parent component in member: ${display(entry.name)}`);
|
|
42
|
+
const path = resolvePath(root, entry.name);
|
|
43
|
+
const stat = await maybeStat(context, path);
|
|
44
|
+
if (!stat) {
|
|
45
|
+
await difference("File is missing");
|
|
46
|
+
await reader.discard(entry.size);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const wanted = entry.type === "5" ? "directory" : entry.type === "2" ? "symlink" : "file";
|
|
50
|
+
if (stat.type !== wanted) {
|
|
51
|
+
await difference("File type differs");
|
|
52
|
+
await reader.discard(entry.size);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const capabilities = await operation(context, () => context.fs.capabilitiesFor?.(path, { signal: context.signal }) ?? context.fs.capabilities);
|
|
56
|
+
if (capabilities.permissions === false || capabilities.timestamps === false) fail("filesystem lacks metadata required for archive comparison");
|
|
57
|
+
if ((stat.mode & 4095) !== entry.mode) await difference("Mode differs");
|
|
58
|
+
if (entry.uid !== void 0) {
|
|
59
|
+
if (stat.uid === void 0) fail("filesystem lacks ownership required for archive comparison");
|
|
60
|
+
if (stat.uid !== entry.uid) await difference("Uid differs");
|
|
61
|
+
}
|
|
62
|
+
if (entry.gid !== void 0) {
|
|
63
|
+
if (stat.gid === void 0) fail("filesystem lacks ownership required for archive comparison");
|
|
64
|
+
if (stat.gid !== entry.gid) await difference("Gid differs");
|
|
65
|
+
}
|
|
66
|
+
if (entry.type !== "2" && entry.mtime !== void 0 && Math.floor(stat.mtimeMs / 1e3) !== Math.floor(entry.mtime)) await difference("Mod time differs");
|
|
67
|
+
if (entry.type === "2") {
|
|
68
|
+
if (!context.fs.readlink) fail("filesystem lacks readlink required for archive comparison");
|
|
69
|
+
if (await operation(context, () => context.fs.readlink(path, { signal: context.signal })) !== entry.linkname) await difference("Symlink differs");
|
|
70
|
+
} else if (entry.type === "1") {
|
|
71
|
+
if (entry.linkname.split("/").includes("..")) fail("unsafe hardlink target in archive comparison");
|
|
72
|
+
const target = await maybeStat(context, resolvePath(root, entry.linkname));
|
|
73
|
+
if (!hasIdentity(stat) || target && !hasIdentity(target)) fail("filesystem lacks identity required for hardlink comparison");
|
|
74
|
+
if (!target || !sameIdentity(stat, target)) await difference("Not linked to archive target");
|
|
75
|
+
} else if (entry.type === "0") {
|
|
76
|
+
if (stat.size !== entry.size) {
|
|
77
|
+
await difference("Size differs");
|
|
78
|
+
await reader.discard(entry.size);
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
const actual = new Reader(fileSource(context, path, budget.limits), context.signal);
|
|
82
|
+
let equal = true;
|
|
83
|
+
try {
|
|
84
|
+
for await (const chunk of reader.body(entry.size)) {
|
|
85
|
+
const bytes = await actual.exact(chunk.length);
|
|
86
|
+
if (!equalBytes(encodeBytes(chunk), bytes)) equal = false;
|
|
87
|
+
}
|
|
88
|
+
if (await actual.take(1)) equal = false;
|
|
89
|
+
} finally {
|
|
90
|
+
await actual.close();
|
|
91
|
+
}
|
|
92
|
+
if (!equal) await difference("Contents differ");
|
|
93
|
+
if (options.verbose) await budget.output(`${quoteName(entry.name, options.quotingStyle)}
|
|
94
|
+
`);
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
await reader.discard(entry.size);
|
|
98
|
+
} });
|
|
99
|
+
return different ? 1 : 0;
|
|
100
|
+
}
|
|
101
|
+
async function mutateArchive(context, options, budget) {
|
|
102
|
+
if (options.archive === "-") fail("archive mutation requires a named archive");
|
|
103
|
+
if (options.compression) fail("cannot modify compressed archives");
|
|
104
|
+
const path = vfsPath(context.cwd, options.archive);
|
|
105
|
+
const stat = await maybeStat(context, path);
|
|
106
|
+
if (!stat || stat.type !== "file") fail("archive mutation requires an existing regular file");
|
|
107
|
+
if (!hasIdentity(stat)) fail("cannot safely replace an archive with unknown backing identity");
|
|
108
|
+
const parts = [];
|
|
109
|
+
let changed = false;
|
|
110
|
+
let bytes = 1024;
|
|
111
|
+
const add = (part) => {
|
|
112
|
+
if (part.length > budget.limits.maxArchiveBytes - bytes) fail("archive byte limit exceeded");
|
|
113
|
+
bytes += part.length;
|
|
114
|
+
parts.push(part);
|
|
115
|
+
};
|
|
116
|
+
const times = /* @__PURE__ */ new Map();
|
|
117
|
+
const scan = async (inputPath, deleting) => {
|
|
118
|
+
const data = await collectBytes(fileSource(context, inputPath, budget.limits), { ...Number.isFinite(budget.limits.maxArchiveBytes) ? { maxBytes: budget.limits.maxArchiveBytes } : {}, signal: context.signal });
|
|
119
|
+
const prefix = data.subarray(0, 6);
|
|
120
|
+
if (prefix[0] === 31 && prefix[1] === 139 || decodeBytes(encodeBytes(prefix.subarray(0, 3))) === "BZh" || [253, 55, 122, 88, 90, 0].every((value, index) => prefix[index] === value)) fail("cannot modify compressed archives");
|
|
121
|
+
await readArchive(context, (async function* () {
|
|
122
|
+
yield data;
|
|
123
|
+
})(), deleting ? options : { ...options, mode: "t", operands: [], excludes: [] }, budget, {
|
|
124
|
+
rejectGlobal: true,
|
|
125
|
+
async member(entry, reader, selected, _root, start) {
|
|
126
|
+
const end = reader.position + entry.size + (512 - entry.size % 512) % 512;
|
|
127
|
+
if (!deleting || !selected) add(data.subarray(start, end));
|
|
128
|
+
else changed = true;
|
|
129
|
+
const name = entry.name.endsWith("/") ? entry.name.slice(0, -1) : entry.name;
|
|
130
|
+
const prior = times.get(name);
|
|
131
|
+
if (!times.has(name) || entry.mtime === void 0 || prior !== void 0 && entry.mtime > prior) times.set(name, entry.mtime);
|
|
132
|
+
await reader.discard(entry.size);
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
};
|
|
136
|
+
await scan(path, options.mode === "delete");
|
|
137
|
+
if (options.mode === "A") {
|
|
138
|
+
for (const operand of options.operands) {
|
|
139
|
+
const inputPath = vfsPath(operand.cwd, operand.name);
|
|
140
|
+
const inputStat = await maybeStat(context, inputPath);
|
|
141
|
+
if (!inputStat || inputStat.type !== "file") fail("concatenation source must be a regular archive");
|
|
142
|
+
if (!hasIdentity(inputStat)) fail("concatenation source has unknown backing identity");
|
|
143
|
+
if (sameIdentity(stat, inputStat)) fail("cannot concatenate an archive to itself");
|
|
144
|
+
await scan(inputPath, false);
|
|
145
|
+
changed = true;
|
|
146
|
+
}
|
|
147
|
+
} else if (options.mode === "r" || options.mode === "u") {
|
|
148
|
+
const prepared = await manifest(context, options, budget);
|
|
149
|
+
const entries = options.mode === "u" ? prepared.entries.filter((source) => {
|
|
150
|
+
const name = source.entry.name.endsWith("/") ? source.entry.name.slice(0, -1) : source.entry.name;
|
|
151
|
+
if (!times.has(name)) return true;
|
|
152
|
+
const archived = times.get(name);
|
|
153
|
+
if (archived === void 0) fail("archive lacks mtime required for update");
|
|
154
|
+
return source.stat.mtimeMs / 1e3 > archived;
|
|
155
|
+
}) : prepared.entries;
|
|
156
|
+
const created = await collectBytes(createArchive(context, entries, options, budget), { ...Number.isFinite(budget.limits.maxArchiveBytes - bytes + 1024) ? { maxBytes: budget.limits.maxArchiveBytes - bytes + 1024 } : {}, signal: context.signal });
|
|
157
|
+
add(created.subarray(0, created.length - 1024));
|
|
158
|
+
changed = entries.length > 0;
|
|
159
|
+
}
|
|
160
|
+
if (!changed) return;
|
|
161
|
+
recordPadding(bytes, options.recordSize, budget.limits.maxArchiveBytes);
|
|
162
|
+
parts.push(new Uint8Array(1024));
|
|
163
|
+
const current = await maybeStat(context, path);
|
|
164
|
+
if (!current || !sameIdentity(stat, current) || current.size !== stat.size || current.mtimeMs !== stat.mtimeMs || current.ctimeMs !== stat.ctimeMs) fail("archive changed during preparation");
|
|
165
|
+
await operation(context, () => context.fs.rm(path, { signal: context.signal }));
|
|
166
|
+
await publish(context, path, recorded((async function* () {
|
|
167
|
+
yield* parts;
|
|
168
|
+
})(), options, budget), stat.mode & 4095);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
export {
|
|
172
|
+
compareArchive,
|
|
173
|
+
mutateArchive
|
|
174
|
+
};
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import {
|
|
2
|
+
init_buffer
|
|
3
|
+
} from "./chunk-HX3SHTCE.js";
|
|
4
|
+
|
|
5
|
+
// packages/safe-bash-zip-engine/src/zip/options.ts
|
|
6
|
+
init_buffer();
|
|
7
|
+
var ZipFailure = class extends Error {
|
|
8
|
+
constructor(status, label, detail) {
|
|
9
|
+
super(detail);
|
|
10
|
+
this.status = status;
|
|
11
|
+
this.label = label;
|
|
12
|
+
}
|
|
13
|
+
status;
|
|
14
|
+
label;
|
|
15
|
+
};
|
|
16
|
+
var reservedZipShortOptions = /* @__PURE__ */ new Set(["mm"]);
|
|
17
|
+
var zipLongOptions = {
|
|
18
|
+
"adjust-sfx": "A",
|
|
19
|
+
fix: "F",
|
|
20
|
+
fixfix: "FF",
|
|
21
|
+
"split-size": "s",
|
|
22
|
+
"split-pause": "sp",
|
|
23
|
+
"split-verbose": "sv",
|
|
24
|
+
"split-bell": "sb",
|
|
25
|
+
fifo: "FI",
|
|
26
|
+
"DOS-names": "k",
|
|
27
|
+
regex: "RE",
|
|
28
|
+
password: "P",
|
|
29
|
+
encrypt: "e",
|
|
30
|
+
"difference-archive": "DF",
|
|
31
|
+
grow: "g",
|
|
32
|
+
"temp-path": "b",
|
|
33
|
+
"junk-sfx": "J",
|
|
34
|
+
"logfile-path": "lf",
|
|
35
|
+
"log-append": "la",
|
|
36
|
+
"log-info": "li",
|
|
37
|
+
"unzip-command": "TT",
|
|
38
|
+
verbose: "v",
|
|
39
|
+
version: "version",
|
|
40
|
+
license: "L",
|
|
41
|
+
"show-command": "sc",
|
|
42
|
+
"show-debug": "sd",
|
|
43
|
+
"show-files": "sf",
|
|
44
|
+
"show-options": "so",
|
|
45
|
+
"display-bytes": "db",
|
|
46
|
+
"display-counts": "dc",
|
|
47
|
+
"display-dots": "dd",
|
|
48
|
+
"display-globaldots": "dg",
|
|
49
|
+
"dot-size": "ds",
|
|
50
|
+
"display-usize": "du",
|
|
51
|
+
"display-volume": "dv",
|
|
52
|
+
"recurse-paths": "r",
|
|
53
|
+
quiet: "q",
|
|
54
|
+
"junk-paths": "j",
|
|
55
|
+
paths: "p",
|
|
56
|
+
help: "h",
|
|
57
|
+
"more-help": "h2",
|
|
58
|
+
"no-dir-entries": "D",
|
|
59
|
+
symlinks: "y",
|
|
60
|
+
test: "T",
|
|
61
|
+
"names-stdin": "@",
|
|
62
|
+
update: "u",
|
|
63
|
+
freshen: "f",
|
|
64
|
+
filesync: "FS",
|
|
65
|
+
"archive-comment": "z",
|
|
66
|
+
"entry-comments": "c",
|
|
67
|
+
"latest-time": "o",
|
|
68
|
+
move: "m",
|
|
69
|
+
"to-crlf": "l",
|
|
70
|
+
"from-crlf": "ll",
|
|
71
|
+
delete: "d",
|
|
72
|
+
include: "i",
|
|
73
|
+
exclude: "x",
|
|
74
|
+
suffixes: "n",
|
|
75
|
+
store: "0",
|
|
76
|
+
"compression-method": "Z",
|
|
77
|
+
"compress-1": "1",
|
|
78
|
+
"compress-2": "2",
|
|
79
|
+
"compress-3": "3",
|
|
80
|
+
"compress-4": "4",
|
|
81
|
+
"compress-5": "5",
|
|
82
|
+
"compress-6": "6",
|
|
83
|
+
"compress-7": "7",
|
|
84
|
+
"compress-8": "8",
|
|
85
|
+
"compress-9": "9",
|
|
86
|
+
"force-zip64": "fz",
|
|
87
|
+
"strip-extra": "X",
|
|
88
|
+
"force-descriptors": "fd",
|
|
89
|
+
"no-wild": "nw",
|
|
90
|
+
"wild-stop-dirs": "ws",
|
|
91
|
+
"recurse-patterns": "R",
|
|
92
|
+
"from-date": "t",
|
|
93
|
+
"before-date": "tt",
|
|
94
|
+
"copy-entries": "U",
|
|
95
|
+
"output-file": "O",
|
|
96
|
+
"must-match": "MM"
|
|
97
|
+
};
|
|
98
|
+
var reservedOptions = [
|
|
99
|
+
"show-unicode",
|
|
100
|
+
"show-just-unicode"
|
|
101
|
+
];
|
|
102
|
+
function normalizeZipOption(argument) {
|
|
103
|
+
if (!argument.startsWith("--") || argument === "--") return argument;
|
|
104
|
+
const equal = argument.indexOf("=");
|
|
105
|
+
const rawName = argument.slice(2, equal < 0 ? void 0 : equal);
|
|
106
|
+
const negate = rawName.endsWith("-");
|
|
107
|
+
const name = negate ? rawName.slice(0, -1) : rawName;
|
|
108
|
+
const names = [...Object.keys(zipLongOptions), ...reservedOptions];
|
|
109
|
+
const matches = names.includes(name) ? [name] : names.filter((option) => option.startsWith(name));
|
|
110
|
+
if (matches.length > 1) throw new ZipFailure(16, "Invalid command arguments", `long option '${name}' ambiguous`);
|
|
111
|
+
const matched = matches[0];
|
|
112
|
+
const short = matched === void 0 ? void 0 : zipLongOptions[matched];
|
|
113
|
+
if (!short) throw new ZipFailure(16, "Invalid command arguments", `unsupported option: --${name}`);
|
|
114
|
+
if (negate && !zipNegatableOptions.has(short)) throw new ZipFailure(16, "Invalid command arguments", `option ${matched} is not negatable`);
|
|
115
|
+
if (equal >= 0 && short !== "s" && short !== "P" && short !== "i" && short !== "x" && short !== "n" && short !== "Z" && short !== "t" && short !== "tt" && short !== "O" && short !== "ds" && short !== "b" && short !== "lf" && short !== "TT") {
|
|
116
|
+
throw new ZipFailure(16, "Invalid command arguments", `option '${matched}' does not allow a value`);
|
|
117
|
+
}
|
|
118
|
+
if (short === "version") return "--version";
|
|
119
|
+
return `-${short}${negate ? "-" : ""}${equal < 0 ? "" : argument.slice(equal)}`;
|
|
120
|
+
}
|
|
121
|
+
var zipNegatableOptions = /* @__PURE__ */ new Set(["FI", "fz", "X", "db", "dc", "dd", "dg", "du", "dv", "sf"]);
|
|
122
|
+
function parseZipDotSize(value) {
|
|
123
|
+
if (!value) return 10 * 1024 * 1024;
|
|
124
|
+
let end = 0;
|
|
125
|
+
while (end < value.length && value[end] >= "0" && value[end] <= "9") end++;
|
|
126
|
+
const unit = value.slice(end).toLowerCase();
|
|
127
|
+
const multiplier = { "": 1, k: 1024, m: 1024 ** 2, g: 1024 ** 3, t: 1024 ** 4 }[unit];
|
|
128
|
+
const size = Number(value.slice(0, end)) * (multiplier ?? 0);
|
|
129
|
+
if (!end || value.length > 8 || multiplier === void 0 || !Number.isSafeInteger(size)) {
|
|
130
|
+
throw new ZipFailure(16, "Invalid command arguments", "option -ds (--dot-size) has bad size");
|
|
131
|
+
}
|
|
132
|
+
if (size >= 1024 && size < 32 * 1024) throw new ZipFailure(16, "Invalid command arguments", "dot size must be at least 32 KB");
|
|
133
|
+
return size < 1024 ? size * 1024 ** 2 : size;
|
|
134
|
+
}
|
|
135
|
+
function zipDisplaySize(size) {
|
|
136
|
+
let unit = 0;
|
|
137
|
+
while (size >= 10240) {
|
|
138
|
+
size = Math.floor(size / 1024);
|
|
139
|
+
unit++;
|
|
140
|
+
}
|
|
141
|
+
const number = size >= 1e3 ? (Math.floor(size * 10 / 1024) / 10).toFixed(1) : String(size);
|
|
142
|
+
if (size >= 1e3) unit++;
|
|
143
|
+
return `${number}${["", "K", "M", "G", "T"][unit] ?? "T"}`;
|
|
144
|
+
}
|
|
145
|
+
function zipPasswordArgument(value) {
|
|
146
|
+
if (value.startsWith("--")) {
|
|
147
|
+
const equal = value.indexOf("=");
|
|
148
|
+
const name = value.slice(2, equal < 0 ? void 0 : equal);
|
|
149
|
+
if (name.length >= 3 && "password".startsWith(name)) return equal < 0 ? "separate" : "attached";
|
|
150
|
+
} else if (value.startsWith("-")) {
|
|
151
|
+
const password = value.indexOf("P", 1);
|
|
152
|
+
if (password >= 0) return password === value.length - 1 ? "separate" : "attached";
|
|
153
|
+
}
|
|
154
|
+
return void 0;
|
|
155
|
+
}
|
|
156
|
+
function zipPublicText(value) {
|
|
157
|
+
const lower = value.toLowerCase();
|
|
158
|
+
if (zipPasswordArgument(value) || lower.includes("password") || lower.includes("token=") || lower.includes("secret=")) return "[redacted]";
|
|
159
|
+
if (value.includes("://") || ["http:", "https:", "ftp:", "ws:", "wss:"].some((scheme) => lower.includes(scheme))) {
|
|
160
|
+
try {
|
|
161
|
+
const url = new URL(value);
|
|
162
|
+
if (!value.startsWith(`${url.protocol}//`)) return "[redacted URL]";
|
|
163
|
+
url.username = "";
|
|
164
|
+
url.password = "";
|
|
165
|
+
url.search = "";
|
|
166
|
+
url.hash = "";
|
|
167
|
+
return url.toString();
|
|
168
|
+
} catch {
|
|
169
|
+
return "[redacted URL]";
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
return value;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
export {
|
|
176
|
+
ZipFailure,
|
|
177
|
+
reservedZipShortOptions,
|
|
178
|
+
zipLongOptions,
|
|
179
|
+
normalizeZipOption,
|
|
180
|
+
zipNegatableOptions,
|
|
181
|
+
parseZipDotSize,
|
|
182
|
+
zipDisplaySize,
|
|
183
|
+
zipPasswordArgument,
|
|
184
|
+
zipPublicText
|
|
185
|
+
};
|
|
@@ -50,8 +50,31 @@ function inferDelimiter(path) {
|
|
|
50
50
|
}
|
|
51
51
|
var shortOptions = { B: "byte-offset", S: "start-condition", E: "end-condition", H: "human-readable", c: "check-alignment", a: "approx", p: "parallel", t: "threads", h: "help", o: "output", d: "delimiter", n: "no-headers", j: "just-names", s: "start", e: "end", l: "len", i: "index", I: "indices", L: "last" };
|
|
52
52
|
var switches = /* @__PURE__ */ new Set(["help", "no-headers", "just-names", "csv", "human-readable", "check-alignment", "approx", "parallel", "raw", "evaluate", "evaluate-file"]);
|
|
53
|
+
var extraShort = {
|
|
54
|
+
head: { l: "limit" },
|
|
55
|
+
tail: { l: "limit" },
|
|
56
|
+
sort: { s: "select", N: "numeric", R: "reverse", u: "uniq" },
|
|
57
|
+
search: { s: "select", e: "exact", i: "ignore-case", v: "invert-match", l: "limit" },
|
|
58
|
+
filter: { v: "invert-match" },
|
|
59
|
+
rename: { s: "select" },
|
|
60
|
+
stats: { s: "select" },
|
|
61
|
+
freq: { s: "select", l: "limit", A: "all", N: "no-extra" },
|
|
62
|
+
join: { i: "ignore-case" }
|
|
63
|
+
};
|
|
64
|
+
for (const name of ["numeric", "reverse", "uniq", "exact", "ignore-case", "invert-match", "every-column", "all", "no-extra", "inner", "left", "right", "full", "semi", "anti", "cross", "nulls"]) switches.add(name);
|
|
53
65
|
var common = ["help", "output", "delimiter"];
|
|
54
66
|
var allowed = {
|
|
67
|
+
head: /* @__PURE__ */ new Set([...common, "no-headers", "limit"]),
|
|
68
|
+
tail: /* @__PURE__ */ new Set([...common, "no-headers", "limit"]),
|
|
69
|
+
sort: /* @__PURE__ */ new Set([...common, "no-headers", "select", "numeric", "reverse", "uniq"]),
|
|
70
|
+
search: /* @__PURE__ */ new Set([...common, "no-headers", "select", "exact", "ignore-case", "invert-match", "every-column", "limit"]),
|
|
71
|
+
filter: /* @__PURE__ */ new Set([...common, "no-headers", "invert-match"]),
|
|
72
|
+
reverse: /* @__PURE__ */ new Set([...common, "no-headers"]),
|
|
73
|
+
rename: /* @__PURE__ */ new Set([...common, "no-headers", "select"]),
|
|
74
|
+
drop: /* @__PURE__ */ new Set([...common, "no-headers"]),
|
|
75
|
+
stats: /* @__PURE__ */ new Set([...common, "no-headers", "select", "nulls"]),
|
|
76
|
+
freq: /* @__PURE__ */ new Set([...common, "no-headers", "select", "limit", "all", "no-extra"]),
|
|
77
|
+
join: /* @__PURE__ */ new Set([...common, "no-headers", "inner", "left", "right", "full", "semi", "anti", "cross", "nulls", "ignore-case", "drop-key"]),
|
|
55
78
|
headers: /* @__PURE__ */ new Set([...common, "just-names", "csv", "start", "color"]),
|
|
56
79
|
count: /* @__PURE__ */ new Set([...common, "no-headers", "human-readable", "check-alignment", "approx", "parallel", "threads"]),
|
|
57
80
|
select: /* @__PURE__ */ new Set([...common, "no-headers", "evaluate", "evaluate-file"]),
|
|
@@ -63,12 +86,12 @@ async function parseArguments(args, cwd, budget) {
|
|
|
63
86
|
const size = await budget.textSize(arg);
|
|
64
87
|
budget.add("maxArgumentBytes", size);
|
|
65
88
|
}
|
|
66
|
-
const first = args[0] === "h" ? "headers" : args[0];
|
|
89
|
+
const first = args[0] === "h" ? "headers" : args[0] === "frequency" ? "freq" : args[0];
|
|
67
90
|
if (first === "--help" || first === "-h") {
|
|
68
91
|
if (args.length !== 1) throw new XanError("unexpected argument after help");
|
|
69
92
|
return { command: "headers", inputs: [], noHeaders: false, justNames: false, csv: false, help: true, selection: "", start: 0n };
|
|
70
93
|
}
|
|
71
|
-
if (!first || !Object.hasOwn(allowed, first)) throw new XanError("expected
|
|
94
|
+
if (!first || !Object.hasOwn(allowed, first)) throw new XanError("expected a CSV subcommand (use xan --help)");
|
|
72
95
|
const command = first;
|
|
73
96
|
const values = /* @__PURE__ */ new Map();
|
|
74
97
|
const operands = [];
|
|
@@ -101,7 +124,7 @@ async function parseArguments(args, cwd, budget) {
|
|
|
101
124
|
} else if (!positional && arg.startsWith("-") && arg !== "-") {
|
|
102
125
|
for (let position = 1; position < arg.length; position++) {
|
|
103
126
|
const letter = arg[position];
|
|
104
|
-
const name = command === "select" && letter === "e" ? "evaluate" : command === "select" && letter === "f" ? "evaluate-file" : shortOptions[letter];
|
|
127
|
+
const name = extraShort[command]?.[letter] ?? (command === "select" && letter === "e" ? "evaluate" : command === "select" && letter === "f" ? "evaluate-file" : shortOptions[letter]);
|
|
105
128
|
if (command === "headers" && letter === "n") throw new UsageError(`${headersUsage}Unknown flag: '-n' Use the -h/--help flag for more information.`);
|
|
106
129
|
if (!name || !allowed[command].has(name)) throw new XanError(`unsupported in bounded CSV profile: -${letter}`);
|
|
107
130
|
if (switches.has(name)) put(name, "true");
|
|
@@ -124,9 +147,28 @@ async function parseArguments(args, cwd, budget) {
|
|
|
124
147
|
const help = values.has("help");
|
|
125
148
|
if (!help && (parallel || values.has("approx")) && (!operands.length || operands[0] === "-")) throw new XanError("count execution options require a file path");
|
|
126
149
|
if (values.has("evaluate") && values.has("evaluate-file")) throw new XanError("conflicting expression modes");
|
|
127
|
-
|
|
150
|
+
let rightSelection;
|
|
151
|
+
let operand;
|
|
152
|
+
if (["search", "filter", "rename"].includes(command)) {
|
|
153
|
+
operand = operands.shift();
|
|
154
|
+
if (operand === void 0 && !help) throw new XanError(`${command} requires an argument`);
|
|
155
|
+
}
|
|
156
|
+
let selection = command === "select" || command === "drop" ? operands.shift() : values.get("select") ?? "";
|
|
157
|
+
if (command === "join" && !help) {
|
|
158
|
+
const modes = ["inner", "left", "right", "full", "semi", "anti", "cross"].filter((name) => values.has(name));
|
|
159
|
+
if (modes.length > 1) throw new XanError("conflicting join modes");
|
|
160
|
+
if (values.has("cross")) {
|
|
161
|
+
if (operands.length !== 2) throw new XanError("cross join requires two inputs");
|
|
162
|
+
} else {
|
|
163
|
+
if (operands.length !== 3 && operands.length !== 4) throw new XanError("join requires columns and two inputs");
|
|
164
|
+
selection = operands.shift();
|
|
165
|
+
rightSelection = operands.length === 3 ? operands.splice(1, 1)[0] : selection;
|
|
166
|
+
}
|
|
167
|
+
if (values.has("drop-key") && !["none", "left", "right", "both"].includes(values.get("drop-key"))) throw new XanError("invalid --drop-key mode");
|
|
168
|
+
}
|
|
169
|
+
if (values.has("limit")) await unsigned(values.get("limit"), "--limit", budget);
|
|
128
170
|
if (selection === void 0 && !help) throw new UsageError("Usage:\n xan select [options] [--] <selection> [<input>]\n xan select --help\n\nInvalid subcommand or arguments! Use the -h/--help flag for more information.");
|
|
129
|
-
if (command !== "headers" && operands.length > 1) throw new XanError("too many input files");
|
|
171
|
+
if (command !== "headers" && command !== "join" && operands.length > 1) throw new XanError("too many input files");
|
|
130
172
|
if (operands.filter((path2) => path2 === "-").length > 1) throw new XanError("stdin may appear only once");
|
|
131
173
|
if (!operands.length) operands.push("-");
|
|
132
174
|
budget.bound("maxInputFiles", operands.length);
|
|
@@ -135,7 +177,7 @@ async function parseArguments(args, cwd, budget) {
|
|
|
135
177
|
if (/\.(gz|zst|cdx|ndjson|jsonl|vcf|gtf|gff2|sam|bed)$/u.test(value)) throw new XanError(`unsupported in bounded CSV profile: format ${value}`);
|
|
136
178
|
return value === "-" ? value : resolvePath(cwd, value);
|
|
137
179
|
};
|
|
138
|
-
for (const
|
|
180
|
+
for (const operand2 of operands) path(operand2);
|
|
139
181
|
const output = values.get("output");
|
|
140
182
|
if (output !== void 0) path(output);
|
|
141
183
|
let delimiter;
|
|
@@ -168,8 +210,8 @@ async function parseArguments(args, cwd, budget) {
|
|
|
168
210
|
let last;
|
|
169
211
|
if (numbers.has("last")) {
|
|
170
212
|
const value = numbers.get("last");
|
|
171
|
-
if (value > BigInt(budget.limits.maxLastRows)) budget.bound("maxLastRows", budget.limits.maxLastRows + 1);
|
|
172
213
|
last = Number(value);
|
|
214
|
+
budget.bound("maxLastRows", last);
|
|
173
215
|
}
|
|
174
216
|
let indices;
|
|
175
217
|
if (values.has("indices")) {
|
|
@@ -199,9 +241,16 @@ async function parseArguments(args, cwd, budget) {
|
|
|
199
241
|
budget.release((indices.length - count) * 8);
|
|
200
242
|
indices.length = count;
|
|
201
243
|
}
|
|
202
|
-
|
|
244
|
+
if (command === "head") end = await unsigned(values.get("limit") ?? "10", "--limit", budget);
|
|
245
|
+
if (command === "tail") {
|
|
246
|
+
last = Number(await unsigned(values.get("limit") ?? "10", "--limit", budget));
|
|
247
|
+
budget.bound("maxLastRows", last);
|
|
248
|
+
}
|
|
203
249
|
return {
|
|
204
|
-
command,
|
|
250
|
+
command: command === "head" || command === "tail" ? "slice" : command,
|
|
251
|
+
options: values,
|
|
252
|
+
...operand !== void 0 ? { operand } : {},
|
|
253
|
+
...rightSelection !== void 0 ? { rightSelection } : {},
|
|
205
254
|
raw: values.has("raw"),
|
|
206
255
|
...byteOffset !== void 0 ? { byteOffset } : {},
|
|
207
256
|
...endByte !== void 0 ? { endByte } : {},
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AwkArray
|
|
3
|
+
} from "./chunk-V6MSPQLA.js";
|
|
4
|
+
import {
|
|
5
|
+
quoteAwk
|
|
6
|
+
} from "./chunk-EQ4HV54N.js";
|
|
7
|
+
import {
|
|
8
|
+
init_buffer
|
|
9
|
+
} from "./chunk-HX3SHTCE.js";
|
|
10
|
+
|
|
11
|
+
// packages/safe-bash-command-awk/src/awk-inspection.ts
|
|
12
|
+
init_buffer();
|
|
13
|
+
import { writeBytes } from "../../safe-bash-contracts/index.js";
|
|
14
|
+
import { writeFileOutput } from "../../safe-bash-contracts/filesystem-output.js";
|
|
15
|
+
import { ProgramError, bytes, virtualPath } from "../../safe-bash-io-engine/commands/text-programs/shared.js";
|
|
16
|
+
var AwkInspection = class {
|
|
17
|
+
constructor(context, budget, options) {
|
|
18
|
+
this.context = context;
|
|
19
|
+
this.budget = budget;
|
|
20
|
+
this.options = options;
|
|
21
|
+
}
|
|
22
|
+
context;
|
|
23
|
+
budget;
|
|
24
|
+
options;
|
|
25
|
+
counts = /* @__PURE__ */ new Map();
|
|
26
|
+
async observe(statement, phase) {
|
|
27
|
+
if (this.options.profile !== void 0) this.counts.set(statement.kind, (this.counts.get(statement.kind) ?? 0) + 1);
|
|
28
|
+
if (this.options.trace) {
|
|
29
|
+
const entry = `+ safe-bash awk ${phase} ${statement.kind}
|
|
30
|
+
`;
|
|
31
|
+
await writeBytes(this.context.stderr, bytes(this.budget.check(entry)), this.context.signal);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async publish(variables) {
|
|
35
|
+
if (this.options.dump !== void 0) {
|
|
36
|
+
let output = "";
|
|
37
|
+
for (const name of [...variables.keys()].sort()) {
|
|
38
|
+
this.budget.step();
|
|
39
|
+
const value = variables.get(name);
|
|
40
|
+
const display = value instanceof AwkArray ? `array, ${value.entries.size} elements` : value.kind === "number" ? String(value.number) : value.kind === "unset" ? '""' : quoteAwk(value.text, this.budget);
|
|
41
|
+
const entry = `${name}: ${display}
|
|
42
|
+
`;
|
|
43
|
+
if (output.length + entry.length > this.budget.maxBufferBytes) throw new ProgramError("text buffer limit exceeded");
|
|
44
|
+
output += entry;
|
|
45
|
+
}
|
|
46
|
+
await this.save(this.options.dump, output);
|
|
47
|
+
}
|
|
48
|
+
if (this.options.profile !== void 0) {
|
|
49
|
+
let output = "# safe-bash awk statement profile (aggregate execution counts)\n";
|
|
50
|
+
for (const [kind, count] of this.counts) output = this.budget.check(output + `${count} ${kind}
|
|
51
|
+
`);
|
|
52
|
+
await this.save(this.options.profile, this.budget.check(output));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
async save(destination, output) {
|
|
56
|
+
const path = virtualPath(this.context, destination);
|
|
57
|
+
await writeFileOutput(this.context, bytes(output), (chunk) => this.context.fs.writeFile(path, chunk, { signal: this.context.signal }));
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
export {
|
|
62
|
+
AwkInspection
|
|
63
|
+
};
|
|
@@ -195,11 +195,13 @@ var Budget = class {
|
|
|
195
195
|
return this.visitValue(value, 0, 0);
|
|
196
196
|
}
|
|
197
197
|
visitValue(current, depth, bytes) {
|
|
198
|
+
const startSteps = this.steps;
|
|
198
199
|
this.step();
|
|
199
200
|
if (depth > this.limits.maxDepth) throw new JqLimitError("maxDepth");
|
|
200
201
|
if (current !== null && typeof current === "object" && !(current instanceof Decimal)) {
|
|
201
202
|
const cached = cachedValueMetrics.get(current);
|
|
202
203
|
if (cached !== void 0) {
|
|
204
|
+
this.step(cached.steps - 1);
|
|
203
205
|
if (depth + cached.maxRelDepth > this.limits.maxDepth) throw new JqLimitError("maxDepth");
|
|
204
206
|
this.collection(cached.maxCol);
|
|
205
207
|
const total = bytes + cached.bytes;
|
|
@@ -269,7 +271,7 @@ var Budget = class {
|
|
|
269
271
|
bytes += 2;
|
|
270
272
|
}
|
|
271
273
|
}
|
|
272
|
-
cachedValueMetrics.set(current, { bytes: bytes - startBytes, maxRelDepth, maxCol });
|
|
274
|
+
cachedValueMetrics.set(current, { bytes: bytes - startBytes, maxRelDepth, maxCol, steps: this.steps - startSteps });
|
|
273
275
|
} else {
|
|
274
276
|
if (typeof current === "string") {
|
|
275
277
|
this.step(current.length);
|
|
@@ -304,6 +306,7 @@ function objectSize(value) {
|
|
|
304
306
|
return keyOrders.get(value)?.length ?? Object.keys(value).length;
|
|
305
307
|
}
|
|
306
308
|
function put(value, key, item) {
|
|
309
|
+
invalidateCachedValueMetrics(value);
|
|
307
310
|
const existing = Object.hasOwn(value, key);
|
|
308
311
|
let keys = keyOrders.get(value);
|
|
309
312
|
if (keys !== void 0) {
|
|
@@ -324,6 +327,7 @@ function put(value, key, item) {
|
|
|
324
327
|
}
|
|
325
328
|
function remove(value, key) {
|
|
326
329
|
if (!Object.hasOwn(value, key)) return;
|
|
330
|
+
invalidateCachedValueMetrics(value);
|
|
327
331
|
let keys = keyOrders.get(value);
|
|
328
332
|
if (!keys) {
|
|
329
333
|
keys = Object.keys(value);
|
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
configuredTable
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import {
|
|
5
|
-
cell,
|
|
6
|
-
decode,
|
|
7
|
-
fields,
|
|
8
|
-
validateScalar,
|
|
9
|
-
whitespace
|
|
10
|
-
} from "./chunk-NI7MKJPN.js";
|
|
3
|
+
} from "./chunk-QZF3SINC.js";
|
|
11
4
|
import {
|
|
12
5
|
ColumnInputs,
|
|
13
6
|
diagnostics
|
|
@@ -18,6 +11,13 @@ import {
|
|
|
18
11
|
settings,
|
|
19
12
|
usage
|
|
20
13
|
} from "./chunk-AHEQ2THG.js";
|
|
14
|
+
import {
|
|
15
|
+
cell,
|
|
16
|
+
decode,
|
|
17
|
+
fields,
|
|
18
|
+
validateScalar,
|
|
19
|
+
whitespace
|
|
20
|
+
} from "./chunk-NI7MKJPN.js";
|
|
21
21
|
import {
|
|
22
22
|
init_buffer
|
|
23
23
|
} from "./chunk-HX3SHTCE.js";
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CurlError
|
|
3
|
+
} from "./chunk-IYPAQ7PH.js";
|
|
4
|
+
import {
|
|
5
|
+
init_buffer
|
|
6
|
+
} from "./chunk-HX3SHTCE.js";
|
|
7
|
+
|
|
8
|
+
// packages/safe-bash-network-engine/src/url.ts
|
|
9
|
+
init_buffer();
|
|
10
|
+
function curlRequestTarget(text) {
|
|
11
|
+
const scheme = text.indexOf("://");
|
|
12
|
+
if (scheme < 0) throw new CurlError(3, "Malformed URL; explicit HTTP(S) scheme required");
|
|
13
|
+
let start = scheme + 3;
|
|
14
|
+
while (start < text.length && !"/?#".includes(text[start])) {
|
|
15
|
+
if (text[start] === "\\") throw new CurlError(3, "Malformed URL authority");
|
|
16
|
+
start++;
|
|
17
|
+
}
|
|
18
|
+
const fragment = text.indexOf("#", start);
|
|
19
|
+
const target = text.slice(start, fragment < 0 ? void 0 : fragment);
|
|
20
|
+
const queryIndex = target.indexOf("?");
|
|
21
|
+
const path = queryIndex < 0 ? target : target.slice(0, queryIndex);
|
|
22
|
+
const query = queryIndex < 0 ? "" : target.slice(queryIndex);
|
|
23
|
+
const segments = [];
|
|
24
|
+
for (const segment of (path || "/").split("/")) {
|
|
25
|
+
if (segment === "..") {
|
|
26
|
+
if (segments.length > 1) segments.pop();
|
|
27
|
+
} else if (segment !== ".") segments.push(segment);
|
|
28
|
+
}
|
|
29
|
+
if (path.endsWith("/.") || path.endsWith("/..")) segments.push("");
|
|
30
|
+
return (segments.join("/") || "/") + query;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export {
|
|
34
|
+
curlRequestTarget
|
|
35
|
+
};
|