@poe-platform/safe-bash 0.1.800 → 0.1.801
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -5
- package/dist/image-ast/index.browser.js +119 -75
- package/dist/image-ast/index.js +119 -75
- package/dist/pdf-ast/index.js +4 -3
- package/dist/safe-bash/chunks/{chunk-LUOFIVNI.js → chunk-3NDIFSNM.js} +3 -3
- package/dist/safe-bash/chunks/{chunk-4SEW2Q6H.js → chunk-3R3AANOR.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-HHW7MGS2.js → chunk-45PK3NWI.js} +4 -4
- package/dist/safe-bash/chunks/{chunk-KHMGTPD6.js → chunk-46Z5E5EV.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-XB3B7KMM.js → chunk-6O77NL2S.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-T3JTVIEP.js → chunk-6PAVEFT3.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-PYVEAFJM.js → chunk-74GHTNJA.js} +3 -2
- package/dist/safe-bash/chunks/{chunk-LQHGH25W.js → chunk-7R5BDCG7.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-RMWLWH7Q.js → chunk-7VNF5BFF.js} +300 -737
- package/dist/safe-bash/chunks/{chunk-QVSRRNZT.js → chunk-A7XEHALN.js} +4 -4
- package/dist/safe-bash/chunks/{chunk-MHZ24KEI.js → chunk-AM5ESLPH.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-3L3T6LYV.js → chunk-AUSNDQTJ.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-YG5WAHK7.js → chunk-B7TAL7S5.js} +1 -3
- package/dist/safe-bash/chunks/{chunk-K7IQZE7D.js → chunk-C5OWC2TL.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-F3RV2F72.js → chunk-CHYGPFVM.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-M4CFCXHN.js → chunk-CS4MNM6I.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-H6JW3E4F.js → chunk-CTVWDACF.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-BHJE5LPZ.js → chunk-D3ANYGMC.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-NLAW7KDI.js → chunk-E7OYNDGL.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-SOZK5JVX.js → chunk-FBUCWVTE.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-RKKRJ54E.js → chunk-FNDNHAGE.js} +30 -23
- package/dist/safe-bash/chunks/{chunk-KCVSVD65.js → chunk-I5HZ4FGE.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-JJSTTIEZ.js → chunk-ICFDYV64.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-TYD7EVUJ.js → chunk-IVRQ4BXL.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-KV7PKOHV.js → chunk-IWDICZVK.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-I4OAEOP6.js → chunk-J42RIHHJ.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-K2VCOJ2B.js → chunk-K6VCD7IY.js} +7 -12
- package/dist/safe-bash/chunks/{chunk-63FXVDGF.js → chunk-LVOBFF4D.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-U5NUZPCC.js → chunk-MHMMRCYC.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-6HZYFL3H.js → chunk-NR3EM4LS.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-VYZTG3GV.js → chunk-NZQXYWA3.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-TFGRKY43.js → chunk-OQRVVGR6.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-PPYM75Z3.js → chunk-OV6IHKO6.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-KW24TAIU.js → chunk-PQRAK7HU.js} +920 -432
- package/dist/safe-bash/chunks/{chunk-K4YMYFRJ.js → chunk-SZH7EJLD.js} +116 -697
- package/dist/safe-bash/chunks/{chunk-7YSRXFEG.js → chunk-TFIBK2GI.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-I7L3G3NX.js → chunk-UE5KZDEK.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-QU3BVQ53.js → chunk-UTBUUFDM.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-JTLSUJ7V.js → chunk-VQDD3G76.js} +42 -25
- package/dist/safe-bash/chunks/{chunk-46UISJCK.js → chunk-VTH3MLDU.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-LLZCZ24K.js → chunk-XVOSKJE2.js} +1 -1
- package/dist/safe-bash/chunks/{csvkit-QGP3GAOB.js → csvkit-TACDU7FC.js} +3 -3
- package/dist/safe-bash/chunks/{ffmpeg-JTVH26MK.js → ffmpeg-WTC3TEFI.js} +2 -2
- package/dist/safe-bash/chunks/{gh-I7QX7N5C.js → gh-6WU6PXL4.js} +2 -2
- package/dist/safe-bash/chunks/{git-MA7NKYVP.js → git-EFZIGJW4.js} +2 -2
- package/dist/safe-bash/chunks/{imagemagick-Y4NPWX2Q.js → imagemagick-EIEYGWPF.js} +2 -2
- package/dist/safe-bash/chunks/{implementation-BWDKOVQJ.js → implementation-MLFHUQ5M.js} +2 -2
- package/dist/safe-bash/chunks/{mmdc-44PELHDG.js → mmdc-ROQJT5HQ.js} +2 -2
- package/dist/safe-bash/chunks/{pdfimages-635TRW4Q.js → pdfimages-DW7LWXFI.js} +2 -2
- package/dist/safe-bash/chunks/{pdfinfo-FSDAA2KY.js → pdfinfo-TIP6XLUQ.js} +2 -2
- package/dist/safe-bash/chunks/{pdftk-GQ5UH3VG.js → pdftk-DMG22ITZ.js} +2 -2
- package/dist/safe-bash/chunks/{pdftoppm-YTXQCAYT.js → pdftoppm-WNDYR72T.js} +2 -2
- package/dist/safe-bash/chunks/{pdftotext-CVA2G7FY.js → pdftotext-5IPZ4NI7.js} +2 -2
- package/dist/safe-bash/chunks/{qpdf-HZMIFG4A.js → qpdf-TTX2DIUA.js} +2 -2
- package/dist/safe-bash/chunks/{sips-E7UBDP33.js → sips-XYS46JPJ.js} +2 -2
- package/dist/safe-bash/chunks/{soffice-ELASUWUK.js → soffice-TU73E5KL.js} +2 -2
- package/dist/safe-bash/chunks/{wkhtmltopdf-EPO6YCMG.js → wkhtmltopdf-FSZ2CHGE.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-QBGA56UH.js → chunk-2ELYGJDD.js} +7 -7
- package/dist/safe-bash/command-chunks/{chunk-52PCQXD2.js → chunk-2NHI5F5S.js} +2 -1
- package/dist/safe-bash/command-chunks/{chunk-HDKVO47G.js → chunk-2SQEIUGJ.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-5LSGEIZY.js → chunk-3HHCU5YU.js} +4 -3
- package/dist/safe-bash/command-chunks/{chunk-TF6OA2GK.js → chunk-3NV3HYT2.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-2QHG43WJ.js → chunk-4BB2SWJ5.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-IEXHHNOF.js → chunk-4J5CZ2DP.js} +2 -7
- package/dist/safe-bash/command-chunks/{chunk-WDHI3S6Y.js → chunk-4OOUQTQO.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-YMONDXET.js → chunk-4ZQWGOZB.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-L6DVEBW3.js → chunk-5BSTFCXG.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-Q3DII3Q7.js → chunk-5PWJG2UK.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-JMPP4TCW.js → chunk-5UBXNSFZ.js} +3 -2
- package/dist/safe-bash/command-chunks/{chunk-3NG75MOB.js → chunk-67GQA75T.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-L6SU4S26.js → chunk-6B7WQIKB.js} +0 -7
- package/dist/safe-bash/command-chunks/{chunk-V6MSPQLA.js → chunk-6BNTBWIK.js} +4 -39
- package/dist/safe-bash/command-chunks/{chunk-JN7WIP6S.js → chunk-6KJ3LPI2.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-HLDTOR7M.js → chunk-6ZVI7LUY.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-X6NJC3IC.js → chunk-75OFBY5R.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-MRW5HD2D.js → chunk-7O3E4LPT.js} +4 -22
- package/dist/safe-bash/command-chunks/{chunk-TEVJJPTC.js → chunk-7U7EXOXX.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-6CYTRQ24.js → chunk-7VTKQUA5.js} +20 -17
- package/dist/safe-bash/command-chunks/{chunk-BZPAWTUL.js → chunk-AEF5BA3D.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-63R3FEZJ.js → chunk-AIV5BF5W.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-AYUTO323.js → chunk-AKJG2XD3.js} +2 -18
- package/dist/safe-bash/command-chunks/{chunk-J34TZVMW.js → chunk-ALDC4XP4.js} +0 -5
- package/dist/safe-bash/command-chunks/{chunk-CKXV2CLD.js → chunk-ARBYOQUZ.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-44AHAB5O.js → chunk-BDSMROQZ.js} +1 -4
- package/dist/safe-bash/command-chunks/{chunk-53P53XFM.js → chunk-BPE5INLI.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-OT4LZMLB.js → chunk-BR73BIOW.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-WB5SVIG7.js → chunk-C5YYCQHW.js} +498 -88
- package/dist/safe-bash/command-chunks/{chunk-EUSPTFAX.js → chunk-CAP7ZJSY.js} +7 -7
- package/dist/safe-bash/command-chunks/{chunk-DWFLVJC6.js → chunk-CCRHMAU5.js} +2 -1
- package/dist/safe-bash/command-chunks/{chunk-GI4CJED2.js → chunk-CQTRW45K.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-N2F74VRO.js → chunk-CZ7EN3JG.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-KKG4BAFZ.js → chunk-DIEPXUM4.js} +6 -0
- package/dist/safe-bash/command-chunks/{chunk-QJAFJP2G.js → chunk-DZCY63VJ.js} +12 -10
- package/dist/safe-bash/command-chunks/{chunk-QUENU6GM.js → chunk-E55UKBIE.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-HLGKIZ25.js → chunk-F6OYH562.js} +2 -0
- package/dist/safe-bash/command-chunks/{chunk-MC3VWLIZ.js → chunk-FDBUV4HJ.js} +28 -19
- package/dist/safe-bash/command-chunks/{chunk-7FKUC34S.js → chunk-FPVUD6TH.js} +6 -3
- package/dist/safe-bash/command-chunks/{chunk-E2LB7FRT.js → chunk-FXOA7RBK.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-QWIDNAAK.js → chunk-FZTK4MFI.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-K543PB3I.js → chunk-G66QUHIZ.js} +6 -35
- package/dist/safe-bash/command-chunks/{chunk-YJDV76GL.js → chunk-GFQZCKO6.js} +29 -19
- package/dist/safe-bash/command-chunks/{chunk-FKKB5X5V.js → chunk-GOB777HR.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-IYPAQ7PH.js → chunk-GRBWW4SG.js} +6 -0
- package/dist/safe-bash/command-chunks/{chunk-PPNBNFAU.js → chunk-GYQ2HAKQ.js} +8 -8
- package/dist/safe-bash/command-chunks/{chunk-PJJUYO3R.js → chunk-II77KPZN.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-VL67NWNS.js → chunk-JDYXY44P.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-4QJOYXVB.js → chunk-JV7LBUTP.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-IKS2YXZQ.js → chunk-K67MWWWH.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-BKCNF5U3.js → chunk-KQLD3AED.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-UMDIOL3O.js → chunk-KXU3IRUO.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-QZF3SINC.js → chunk-LAOM65EE.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-HFII3QYO.js → chunk-LWS62ISU.js} +46 -32
- package/dist/safe-bash/command-chunks/{chunk-BZDDAPSV.js → chunk-LWSBAWLT.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-U6G67N23.js → chunk-MIXBO6U7.js} +18 -5
- package/dist/safe-bash/command-chunks/{chunk-JQ74HC37.js → chunk-MQFIPHIQ.js} +23 -50
- package/dist/safe-bash/command-chunks/{chunk-ZJBR5Q5I.js → chunk-MSFXC3OC.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-NI7MKJPN.js → chunk-MTQH74CF.js} +3 -55
- package/dist/safe-bash/command-chunks/chunk-MWUZZWXK.js +354 -0
- package/dist/safe-bash/command-chunks/{chunk-RVLO4DYT.js → chunk-N4PFUSRM.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-D4OP2BR3.js → chunk-NKFYQSES.js} +1 -2
- package/dist/safe-bash/command-chunks/{chunk-NGWB2YBL.js → chunk-O4JQSB7O.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-7L24L4UO.js → chunk-OQU6UT6X.js} +2 -20
- package/dist/safe-bash/command-chunks/{chunk-TYCGMRLM.js → chunk-OYYV7ZAF.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-SVULUDOP.js → chunk-P2N33UMN.js} +20 -81
- package/dist/safe-bash/command-chunks/{chunk-Q7Q5GM5S.js → chunk-P5APDEFB.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-SAMH7SQE.js → chunk-PCEFOYA3.js} +237 -145
- package/dist/safe-bash/command-chunks/{chunk-3HXDA5PT.js → chunk-PMBFZXTK.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-4Y3WVMK4.js → chunk-PV66YWHB.js} +1 -0
- package/dist/safe-bash/command-chunks/{chunk-AXK3H4PX.js → chunk-QJ33BHI4.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-3LSOYLNV.js → chunk-QKFSRZGQ.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-JZSNU2MY.js → chunk-QKJLP53H.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-LC2MFKT4.js → chunk-RMWQAAO5.js} +24 -25
- package/dist/safe-bash/command-chunks/{chunk-QDTBMSBE.js → chunk-RO62EWX6.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-4C6QI5BQ.js → chunk-RZZI24ZE.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-PFAADCB5.js → chunk-SDNBCQ3X.js} +10 -24
- package/dist/safe-bash/command-chunks/{chunk-36O5OT7E.js → chunk-T35Y7YQD.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-6HMX4CQS.js → chunk-TGSNCQSR.js} +44 -16
- package/dist/safe-bash/command-chunks/{chunk-5T7CRJHW.js → chunk-TIOCQVUQ.js} +4 -7
- package/dist/safe-bash/command-chunks/{chunk-T5H5UJQ3.js → chunk-TNOA7FCQ.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-GN2TKLE7.js → chunk-TS65BJHG.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-7RGB363W.js → chunk-TSCGT46G.js} +3 -2
- package/dist/safe-bash/command-chunks/{chunk-KBEURXFF.js → chunk-UN6WS55J.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-SX2X3IH4.js → chunk-V2V5OCL3.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-ERYJLO6G.js → chunk-V7A7DRTU.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-5SHGJ7NO.js → chunk-VA5ZHYYA.js} +73 -33
- package/dist/safe-bash/command-chunks/{chunk-XETLEHZP.js → chunk-VPR5LQYX.js} +3 -2
- package/dist/safe-bash/command-chunks/{chunk-3DT2YOGW.js → chunk-VSRGNQCP.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-J5SN3PZ3.js → chunk-VXSLJH7G.js} +53 -3
- package/dist/safe-bash/command-chunks/{chunk-PXYOWWMV.js → chunk-W7RAD4EW.js} +4 -3
- package/dist/safe-bash/command-chunks/{chunk-YGC6OS5O.js → chunk-WECIOOQB.js} +5 -8
- package/dist/safe-bash/command-chunks/{chunk-HHP343KT.js → chunk-WTECBRU4.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-AO6Z5EQ7.js → chunk-WVE64WM2.js} +6 -5
- package/dist/safe-bash/command-chunks/{chunk-Z7RVSD5K.js → chunk-WVHONVZ4.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-QNIMV57G.js → chunk-XNLFHHOC.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-XAFSZDY2.js → chunk-XS72HTMA.js} +11 -0
- package/dist/safe-bash/command-chunks/{chunk-KYSPGS33.js → chunk-YIQACGEW.js} +2 -0
- package/dist/safe-bash/command-chunks/{chunk-NAY27PXB.js → chunk-YOFC45RK.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-QI7LGHJJ.js → chunk-Z45N42QC.js} +21 -6
- package/dist/safe-bash/command-chunks/{chunk-67IQF5GC.js → chunk-ZYHTWNAE.js} +23 -9
- package/dist/safe-bash/command-chunks/{chunk-STC3LEWJ.js → chunk-ZYXH3B66.js} +5 -3
- package/dist/safe-bash/commands/bytes/compression/index.js +3 -2
- package/dist/safe-bash/commands/copy-preserve.d.ts +1 -0
- package/dist/safe-bash/commands/csplit/index.browser.js +2 -2
- package/dist/safe-bash/commands/docx/index.browser.js +1 -1
- package/dist/safe-bash/commands/execution.js +19 -13
- package/dist/safe-bash/commands/factor/index.browser.js +2 -2
- package/dist/safe-bash/commands/filesystem.d.ts +1 -1
- package/dist/safe-bash/commands/filesystem.js +17 -13
- package/dist/safe-bash/commands/getopt/index.browser.js +2 -2
- package/dist/safe-bash/commands/hexdump/index.browser.js +2 -2
- package/dist/safe-bash/commands/htmlq/index.d.ts +1 -1
- package/dist/safe-bash/commands/iconv/index.browser.js +2 -2
- package/dist/safe-bash/commands/line-endings/index.browser.js +2 -2
- package/dist/safe-bash/commands/llm/index.browser.js +2 -2
- package/dist/safe-bash/commands/llm/providers/index.browser.js +1 -1
- package/dist/safe-bash/commands/mdq/index.browser.js +3 -3
- package/dist/safe-bash/commands/media/index.browser.js +1 -1
- package/dist/safe-bash/commands/network/curl.d.ts +1 -1
- package/dist/safe-bash/commands/network/curl.js +1 -3
- package/dist/safe-bash/commands/network/index.browser.js +4 -4
- package/dist/safe-bash/commands/network/platform-portable.d.ts +1 -5
- package/dist/safe-bash/commands/network/platform-portable.js +1 -26
- package/dist/safe-bash/commands/network/public.d.ts +2 -2
- package/dist/safe-bash/commands/network/public.js +2 -2
- package/dist/safe-bash/commands/network/transport.js +2 -2
- package/dist/safe-bash/commands/network/wget.d.ts +1 -1
- package/dist/safe-bash/commands/network/wget.js +1 -3
- package/dist/safe-bash/commands/node/filesystem.js +3 -2
- package/dist/safe-bash/commands/node/index.browser.js +8 -8
- package/dist/safe-bash/commands/node/types.js +1 -1
- package/dist/safe-bash/commands/op/index.browser.js +3 -3
- package/dist/safe-bash/commands/pr/index.browser.js +2 -2
- package/dist/safe-bash/commands/python/host-capabilities.js +31 -14
- package/dist/safe-bash/commands/python/index.browser.js +11 -11
- package/dist/safe-bash/commands/python/manifest.d.ts +1 -0
- package/dist/safe-bash/commands/python/manifest.js +6 -3
- package/dist/safe-bash/commands/python/shell-capability.d.ts +1 -0
- package/dist/safe-bash/commands/python/shell-capability.js +3 -2
- package/dist/safe-bash/commands/python/worker.browser.js +3 -3
- package/dist/safe-bash/commands/regex-execution/public.browser.js +4 -4
- package/dist/safe-bash/commands/safejs/runtime.js +16 -7
- package/dist/safe-bash/commands/standard.d.ts +1 -0
- package/dist/safe-bash/commands/standard.js +2 -1
- package/dist/safe-bash/commands/streams.js +6 -24
- package/dist/safe-bash/commands/text.js +268 -364
- package/dist/safe-bash/commands/tsort/index.browser.js +2 -2
- package/dist/safe-bash/commands/xml/index.browser.js +2 -2
- package/dist/safe-bash/commands/yq/index.browser.js +2 -2
- package/dist/safe-bash/core.browser.js +1 -1
- package/dist/safe-bash/core.d.ts +6 -1
- package/dist/safe-bash/core.js +1 -1
- package/dist/safe-bash/full-core.browser.js +108 -104
- package/dist/safe-bash/jobs.browser.js +5 -5
- package/dist/safe-bash/opt-in/commands/dd/index.js +2 -0
- package/dist/safe-bash/opt-in/optional/commands/shuf/options.d.ts +1 -0
- package/dist/safe-bash/opt-in/optional/commands/shuf/options.js +2 -4
- package/dist/safe-bash/opt-in/optional/commands/shuf/shuf.js +2 -1
- package/dist/safe-bash/optional-host.browser.js +11 -11
- package/dist/safe-bash/plugins/composition.d.ts +1 -0
- package/dist/safe-bash/plugins/composition.js +3 -8
- package/dist/safe-bash/plugins/index.browser.js +27 -27
- package/dist/safe-bash/registry-entry.browser.js +28 -28
- package/dist/safe-bash/shell/arrays/bindings.js +1 -1
- package/dist/safe-bash/shell/arrays/state.js +4 -0
- package/dist/safe-bash/shell/brace-expansion.js +1 -1
- package/dist/safe-bash/shell/dynamic-variables.d.ts +10 -0
- package/dist/safe-bash/shell/dynamic-variables.js +25 -0
- package/dist/safe-bash/shell/parser.js +8 -1
- package/dist/safe-bash/shell/runtime.d.ts +4 -4
- package/dist/safe-bash/shell/runtime.js +291 -741
- package/dist/safe-bash/shell/shell.js +2 -31
- package/dist/safe-bash/shell-entry.browser.js +25 -25
- package/dist/safe-bash/trap.browser.js +4 -4
- package/dist/safe-bash/yq-browser/index.js +1 -1
- package/dist/safe-bash-base-encoding-engine/base.js +2 -2
- package/dist/safe-bash-base-encoding-engine/shared.js +1 -1
- package/dist/safe-bash-byte-input-engine/index.d.ts +3 -2
- package/dist/safe-bash-byte-input-engine/index.js +4 -1
- package/dist/safe-bash-checksum-engine/index.js +13 -6
- package/dist/safe-bash-command-apply-patch/apply.d.ts +1 -1
- package/dist/safe-bash-command-apply-patch/apply.js +4 -3
- package/dist/safe-bash-command-apply-patch/index.js +3 -3
- package/dist/safe-bash-command-apply-patch/matcher.js +1 -1
- package/dist/safe-bash-command-apply-patch/parser.js +1 -1
- package/dist/safe-bash-command-awk/awk-inspection.js +2 -2
- package/dist/safe-bash-command-awk/awk-runtime.js +3 -3
- package/dist/safe-bash-command-awk/awk-syntax.d.ts +1 -1
- package/dist/safe-bash-command-awk/awk-syntax.js +2 -2
- package/dist/safe-bash-command-awk/awk-values.js +1 -1
- package/dist/safe-bash-command-awk/awk.js +5 -5
- package/dist/safe-bash-command-awk/index.js +5 -5
- package/dist/safe-bash-command-bc/index.d.ts +2 -0
- package/dist/safe-bash-command-bc/index.js +123 -92
- package/dist/safe-bash-command-column/column.js +5 -5
- package/dist/safe-bash-command-column/display.d.ts +1 -1
- package/dist/safe-bash-command-column/display.js +1 -1
- package/dist/safe-bash-command-column/index.js +5 -5
- package/dist/safe-bash-command-column/internal.d.ts +0 -2
- package/dist/safe-bash-command-column/internal.js +1 -1
- package/dist/safe-bash-command-column/layout.js +4 -4
- package/dist/safe-bash-command-column/table.js +2 -2
- package/dist/safe-bash-command-comm/comm.js +1 -1
- package/dist/safe-bash-command-comm/index.js +1 -1
- package/dist/safe-bash-command-csvcut/index.d.ts +1 -0
- package/dist/safe-bash-command-csvcut/index.js +1 -0
- package/dist/safe-bash-command-csvgrep/index.d.ts +1 -0
- package/dist/safe-bash-command-csvgrep/index.js +2 -2
- package/dist/safe-bash-command-csvkit/index.js +9 -9
- package/dist/safe-bash-command-csvkit/sync-support.js +1 -1
- package/dist/safe-bash-command-curl/curl.js +1 -1
- package/dist/safe-bash-command-curl/index.js +1 -1
- package/dist/safe-bash-command-dd/index.js +2 -0
- package/dist/safe-bash-command-diff/diff.js +1 -1
- package/dist/safe-bash-command-diff/index.js +1 -1
- package/dist/safe-bash-command-exiftool/index.d.ts +1 -0
- package/dist/safe-bash-command-fd/index.js +9 -9
- package/dist/safe-bash-command-ffmpeg/index.js +31 -8
- package/dist/safe-bash-command-file/index.js +1 -1
- package/dist/safe-bash-command-file/shared.js +1 -1
- package/dist/safe-bash-command-find/find.js +1 -1
- package/dist/safe-bash-command-find/index.js +1 -1
- package/dist/safe-bash-command-gzip/index.js +3 -2
- package/dist/safe-bash-command-hexdump/command.js +4 -4
- package/dist/safe-bash-command-hexdump/custom.d.ts +24 -0
- package/dist/safe-bash-command-hexdump/index.js +4 -4
- package/dist/safe-bash-command-hexdump/internal.d.ts +2 -0
- package/dist/safe-bash-command-hexdump/internal.js +1 -1
- package/dist/safe-bash-command-hexdump/io.js +2 -2
- package/dist/safe-bash-command-hexdump/options.d.ts +3 -0
- package/dist/safe-bash-command-hexdump/options.js +2 -2
- package/dist/safe-bash-command-hostname/index.js +1 -1
- package/dist/safe-bash-command-html-to-markdown/budget.js +1 -1
- package/dist/safe-bash-command-html-to-markdown/entities.js +3 -3
- package/dist/safe-bash-command-html-to-markdown/index.js +6 -6
- package/dist/safe-bash-command-html-to-markdown/input.js +5 -5
- package/dist/safe-bash-command-html-to-markdown/parser.d.ts +1 -0
- package/dist/safe-bash-command-html-to-markdown/parser.js +4 -4
- package/dist/safe-bash-command-html-to-markdown/render.js +5 -5
- package/dist/safe-bash-command-html-to-markdown/text.js +2 -2
- package/dist/safe-bash-command-htmlq/index.d.ts +1 -0
- package/dist/safe-bash-command-htmlq/index.js +27 -9
- package/dist/safe-bash-command-iconv/codec.js +1 -1
- package/dist/safe-bash-command-iconv/command.js +2 -2
- package/dist/safe-bash-command-iconv/index.js +2 -2
- package/dist/safe-bash-command-imagemagick/index.js +24 -6
- package/dist/safe-bash-command-join/index.js +1 -1
- package/dist/safe-bash-command-join/join.js +1 -1
- package/dist/safe-bash-command-jq/index.js +1 -1
- package/dist/safe-bash-command-jq/jq.js +1 -1
- package/dist/safe-bash-command-less/index.js +43 -28
- package/dist/safe-bash-command-mmdc/index.d.ts +1 -0
- package/dist/safe-bash-command-numfmt/index.js +0 -11
- package/dist/safe-bash-command-od/index.js +101 -68
- package/dist/safe-bash-command-pandoc/command.js +1 -1
- package/dist/safe-bash-command-pandoc/index.js +1 -1
- package/dist/safe-bash-command-paste/index.js +1 -1
- package/dist/safe-bash-command-paste/paste.js +1 -1
- package/dist/safe-bash-command-pathchk/index.js +3 -13
- package/dist/safe-bash-command-pdfimages/index.js +27 -11
- package/dist/safe-bash-command-pdfinfo/index.js +19 -10
- package/dist/safe-bash-command-pdftk/index.js +3 -3
- package/dist/safe-bash-command-pdftoppm/index.js +26 -10
- package/dist/safe-bash-command-pdftotext/index.js +27 -13
- package/dist/safe-bash-command-qpdf/index.js +5 -5
- package/dist/safe-bash-command-sed/index.js +1 -1
- package/dist/safe-bash-command-sed/sed.js +1 -1
- package/dist/safe-bash-command-shuf/options.d.ts +1 -0
- package/dist/safe-bash-command-shuf/options.js +2 -4
- package/dist/safe-bash-command-shuf/shuf.js +2 -1
- package/dist/safe-bash-command-soffice/index.js +20 -16
- package/dist/safe-bash-command-split/index.js +3 -3
- package/dist/safe-bash-command-split/io.js +1 -1
- package/dist/safe-bash-command-split/outputs.js +2 -2
- package/dist/safe-bash-command-split/split.js +3 -3
- package/dist/safe-bash-command-sqlite3/btree.d.ts +1 -0
- package/dist/safe-bash-command-sqlite3/engine.d.ts +6 -0
- package/dist/safe-bash-command-sqlite3/index.js +284 -85
- package/dist/safe-bash-command-ssconvert/commands.js +9 -9
- package/dist/safe-bash-command-ssconvert/core.js +8 -8
- package/dist/safe-bash-command-ssconvert/formats/csv.js +9 -9
- package/dist/safe-bash-command-ssconvert/formats/ods.js +8 -8
- package/dist/safe-bash-command-ssconvert/formats/spreadsheetml.js +2 -2
- package/dist/safe-bash-command-ssconvert/formats/xls.js +9 -9
- package/dist/safe-bash-command-ssconvert/formats/xlsx.js +8 -8
- package/dist/safe-bash-command-ssconvert/index.js +20 -20
- package/dist/safe-bash-command-tar/extract.js +1 -1
- package/dist/safe-bash-command-tar/index.js +5 -4
- package/dist/safe-bash-command-tar/modes.js +2 -2
- package/dist/safe-bash-command-tree/arguments.js +3 -3
- package/dist/safe-bash-command-tree/charset.js +1 -1
- package/dist/safe-bash-command-tree/index.js +4 -4
- package/dist/safe-bash-command-tree/io.js +1 -1
- package/dist/safe-bash-command-tree/pattern.js +2 -2
- package/dist/safe-bash-command-tree/tree.js +4 -4
- package/dist/safe-bash-command-unrtf/index.js +14 -7
- package/dist/safe-bash-command-unzip/index.js +1 -1
- package/dist/safe-bash-command-unzip/unzip.js +1 -1
- package/dist/safe-bash-command-wget/index.js +1 -1
- package/dist/safe-bash-command-wget/wget.js +1 -1
- package/dist/safe-bash-command-xan/argv.d.ts +1 -1
- package/dist/safe-bash-command-xan/argv.js +1 -1
- package/dist/safe-bash-command-xan/commands.js +5 -3
- package/dist/safe-bash-command-xan/csv.d.ts +1 -1
- package/dist/safe-bash-command-xan/csv.js +1 -1
- package/dist/safe-bash-command-xan/index.js +7 -7
- package/dist/safe-bash-command-xan/io.js +3 -3
- package/dist/safe-bash-command-xmllint/index.js +1 -1
- package/dist/safe-bash-command-xxd/index.js +105 -91
- package/dist/safe-bash-command-xz/command.d.ts +2 -0
- package/dist/safe-bash-command-xz/index.d.ts +1 -1
- package/dist/safe-bash-command-xz/index.js +8 -0
- package/dist/safe-bash-command-yq/query.js +1 -1
- package/dist/safe-bash-command-zip/index.js +1 -1
- package/dist/safe-bash-command-zip/zip.js +1 -1
- package/dist/safe-bash-contracts/escaping.js +3 -3
- package/dist/safe-bash-contracts/filesystem-output.js +2 -2
- package/dist/safe-bash-contracts/index.d.ts +1 -0
- package/dist/safe-bash-contracts/index.js +7 -3
- package/dist/safe-bash-contracts/io.d.ts +4 -1
- package/dist/safe-bash-contracts/io.js +3 -1
- package/dist/safe-bash-contracts/managed-abort.d.ts +10 -0
- package/dist/safe-bash-contracts/output.js +2 -2
- package/dist/safe-bash-diff-engine/index.js +1 -1
- package/dist/safe-bash-diff-engine/shared.d.ts +3 -2
- package/dist/safe-bash-diff-engine/shared.js +1 -1
- package/dist/safe-bash-io-engine/commands/archive/internal.js +5 -23
- package/dist/safe-bash-io-engine/commands/search/requirements.js +2 -2
- package/dist/safe-bash-io-engine/commands/text-programs/shared.js +33 -44
- package/dist/safe-bash-io-engine/internal.js +1 -1
- package/dist/safe-bash-io-engine/shell/pattern.js +1 -1
- package/dist/safe-bash-io-engine/shell/string-operations.js +1 -1
- package/dist/safe-bash-mcp/index.browser.d.ts +155 -35
- package/dist/safe-bash-mcp/index.browser.js +416 -0
- package/dist/safe-bash-mcp/index.d.ts +54 -2
- package/dist/safe-bash-mcp/index.js +283 -89
- package/dist/safe-bash-network-engine/aggregate.js +2 -2
- package/dist/safe-bash-network-engine/args.js +4 -4
- package/dist/safe-bash-network-engine/authorizer.js +1 -1
- package/dist/safe-bash-network-engine/body.js +6 -6
- package/dist/safe-bash-network-engine/decode.d.ts +1 -1
- package/dist/safe-bash-network-engine/decode.js +3 -4
- package/dist/safe-bash-network-engine/fetch-transport.js +3 -3
- package/dist/safe-bash-network-engine/form-content-type.js +2 -2
- package/dist/safe-bash-network-engine/form-headers.js +2 -2
- package/dist/safe-bash-network-engine/glob.js +1 -1
- package/dist/safe-bash-network-engine/index.js +4 -4
- package/dist/safe-bash-network-engine/input.js +6 -6
- package/dist/safe-bash-network-engine/output.js +2 -2
- package/dist/safe-bash-network-engine/platform-portable.js +3 -3
- package/dist/safe-bash-network-engine/shared.js +2 -2
- package/dist/safe-bash-network-engine/types.d.ts +7 -2
- package/dist/safe-bash-network-engine/types.js +1 -1
- package/dist/safe-bash-network-engine/url.js +2 -2
- package/dist/safe-bash-query-engine/capture.js +3 -3
- package/dist/safe-bash-query-engine/delpaths.js +3 -3
- package/dist/safe-bash-query-engine/formats.js +2 -2
- package/dist/safe-bash-query-engine/index.js +11 -11
- package/dist/safe-bash-query-engine/indices.js +3 -3
- package/dist/safe-bash-query-engine/input.js +1 -1
- package/dist/safe-bash-query-engine/interpreter.js +9 -9
- package/dist/safe-bash-query-engine/parser.js +1 -1
- package/dist/safe-bash-query-engine/query-core.js +11 -11
- package/dist/safe-bash-query-engine/regex.js +4 -4
- package/dist/safe-bash-query-engine/splits.js +5 -5
- package/dist/safe-bash-query-engine/values.js +2 -2
- package/dist/safe-bash-regex-engine/ere/matcher.js +102 -30
- package/dist/safe-bash-regex-engine/execution/bounded-provider.js +55 -67
- package/dist/safe-bash-regex-engine/execution/portable.d.ts +0 -1
- package/dist/safe-bash-regex-engine/execution/portable.js +6 -10
- package/dist/safe-bash-regex-engine/execution/protocol.d.ts +0 -5
- package/dist/safe-bash-regex-engine/execution/protocol.js +1 -3
- package/dist/safe-bash-regex-engine/index.js +6 -4
- package/dist/safe-bash-regex-engine/text/budget.d.ts +1 -0
- package/dist/safe-bash-regex-engine/text/budget.js +1 -1
- package/dist/safe-bash-regex-engine/text/regex.d.ts +14 -0
- package/dist/safe-bash-regex-engine/text/regex.js +6 -4
- package/dist/safe-bash-regex-engine/text/replacement-buffer.js +2 -2
- package/dist/safe-bash-regex-engine/text/rust-syntax.js +2 -2
- package/dist/safe-bash-search-engine/grep.js +189 -227
- package/dist/safe-bash-table-text-engine/table-text/internal.d.ts +7 -5
- package/dist/safe-bash-table-text-engine/table-text/internal.js +39 -21
- package/dist/safe-playwright-cloudflare/browser-trace-budget.js +6 -2
- package/dist/spreadsheet-engine/codecs/odf-hyperlinks.js +8 -2
- package/dist/spreadsheet-engine/formulas/functions/captured-bessel-phase.js +2 -2
- package/dist/spreadsheet-engine/formulas/label-references.js +54 -33
- package/dist/spreadsheet-engine/formulas/parser.js +3 -1
- package/dist/spreadsheet-engine/formulas/rewriting.js +13 -3
- package/dist/spreadsheet-format-xls/biff-data-tables.js +4 -6
- package/dist/spreadsheet-format-xls/biff-formulas.js +3 -0
- package/dist/spreadsheet-format-xls/biff-label-ranges.js +9 -6
- package/dist/spreadsheet-format-xls/biff.js +1 -1
- package/dist/xlsx-ast/xlsx.js +8 -5
- package/package.json +9 -8
- package/dist/safe-bash/command-chunks/chunk-KAGBORIC.js +0 -88
- /package/dist/safe-bash/command-chunks/{chunk-BWNXWI33.js → chunk-2LMZVE3I.js} +0 -0
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
cellValueFormat,
|
|
3
3
|
functionDescriptors,
|
|
4
4
|
parseNamedExpression
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-JV7LBUTP.js";
|
|
6
6
|
import {
|
|
7
7
|
DEFAULT_SHEET_SIZE,
|
|
8
8
|
MAX_SHEET_SIZE,
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
statisticsFunctionDescriptors,
|
|
28
28
|
sylkGrammar,
|
|
29
29
|
validSheetSize
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-CCRHMAU5.js";
|
|
31
31
|
import {
|
|
32
32
|
init_buffer
|
|
33
33
|
} from "./chunk-HX3SHTCE.js";
|
|
@@ -69,8 +69,14 @@ function rewriteReferences(document, edit) {
|
|
|
69
69
|
if (id === void 0) return { row: { value: -1, relative: false }, column: { value: 0, relative: false } };
|
|
70
70
|
next = { ...ref, sheet: document.sheetNames[id] };
|
|
71
71
|
}
|
|
72
|
-
if (edit.translation === "move" && target.sheet !== document.position.sheet && ref.workbook === void 0 && ref.sheet === void 0)
|
|
73
|
-
|
|
72
|
+
if (edit.translation === "move" && target.sheet !== document.position.sheet && ref.workbook === void 0 && ref.sheet === void 0) {
|
|
73
|
+
const { sheetOffset: ignoredOffset, ...anchored } = ref;
|
|
74
|
+
next = {
|
|
75
|
+
...anchored,
|
|
76
|
+
sheet: document.sheetNames?.[document.position.sheet] ?? document.position.sheet,
|
|
77
|
+
...ref.sheetRelative === void 0 ? {} : { sheetRelative: false }
|
|
78
|
+
};
|
|
79
|
+
}
|
|
74
80
|
const renamed = next.workbook === void 0 && next.sheet ? renamedSheet(next.sheet) : void 0;
|
|
75
81
|
if (renamed !== void 0) next = { ...next, sheet: renamed };
|
|
76
82
|
if (edit.translation === "move") for (const kind of ["row", "column"]) {
|
|
@@ -99,7 +105,12 @@ function rewriteReferences(document, edit) {
|
|
|
99
105
|
if (JSON.stringify(comparable) !== JSON.stringify(ref)) unchanged = false;
|
|
100
106
|
return next;
|
|
101
107
|
};
|
|
102
|
-
const first = rewrite(node.first)
|
|
108
|
+
const first = rewrite(node.first);
|
|
109
|
+
let last = node.last ? rewrite(node.last) : void 0;
|
|
110
|
+
if (document.grammar.bracketReferences && node.first.sheet === void 0 && node.last?.sheet === void 0 && first.sheet !== void 0 && last?.sheet === first.sheet && last.sheetRelative === first.sheetRelative) {
|
|
111
|
+
const { sheet: ignoredSheet, ...inherited } = last;
|
|
112
|
+
last = inherited;
|
|
113
|
+
}
|
|
103
114
|
if (node.label?.kind === "radical") {
|
|
104
115
|
if (node.label.data) absorbedReferences.add(node.label.data);
|
|
105
116
|
for (const ref of node.label.preceding ?? []) absorbedReferences.add(ref);
|
|
@@ -486,7 +497,16 @@ function createOdfXml(context, extended) {
|
|
|
486
497
|
|
|
487
498
|
// packages/spreadsheet-engine/src/codecs/odf-hyperlinks.ts
|
|
488
499
|
init_buffer();
|
|
489
|
-
var linkGrammar = {
|
|
500
|
+
var linkGrammar = {
|
|
501
|
+
...excelGrammar,
|
|
502
|
+
id: "odf-hyperlink",
|
|
503
|
+
sheetSeparator: ".",
|
|
504
|
+
absoluteSheetReferences: true,
|
|
505
|
+
quoteSheetName(name) {
|
|
506
|
+
const letter = (c3) => c3 >= "A" && c3 <= "Z" || c3 >= "a" && c3 <= "z" || c3 === "_";
|
|
507
|
+
return name.length > 0 && letter(name[0]) && [...name].every((c3) => letter(c3) || c3 >= "0" && c3 <= "9") ? name : quoteFormulaString(name, "'", excelGrammar);
|
|
508
|
+
}
|
|
509
|
+
};
|
|
490
510
|
function decodeFragment(source, charge) {
|
|
491
511
|
let result2 = "";
|
|
492
512
|
for (let at = 0; at < source.length; ) {
|
|
@@ -1679,9 +1699,11 @@ function resolveLabelReference(book, node, position, read, tick, anchorOnly = fa
|
|
|
1679
1699
|
const coordinate = value && value.value + (value.relative ? position[axis] : 0);
|
|
1680
1700
|
if (coordinate === void 0 || coordinate < 0 || coordinate >= (axis === "row" ? size.rows : size.columns)) return error("#REF!");
|
|
1681
1701
|
}
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
if (
|
|
1702
|
+
const rowLabel = range.firstRow === range.lastRow && row === range.firstRow && (column === range.firstColumn - 1 || column === range.lastColumn + 1);
|
|
1703
|
+
const columnLabel2 = range.firstColumn === range.lastColumn && column === range.firstColumn && (row === range.firstRow - 1 || row === range.lastRow + 1);
|
|
1704
|
+
if (rowLabel === columnLabel2 || label.preceding && !columnLabel2) return error("#REF!");
|
|
1705
|
+
if (!label.scalar) return { kind: "range", ...range };
|
|
1706
|
+
if (rowLabel) return position.column < range.firstColumn || position.column > range.lastColumn ? error("#REF!") : { kind: "range", ...range, firstColumn: position.column, lastColumn: position.column };
|
|
1685
1707
|
return position.row < range.firstRow || position.row > range.lastRow ? error("#REF!") : { kind: "range", ...range, firstRow: position.row, lastRow: position.row };
|
|
1686
1708
|
}
|
|
1687
1709
|
const pairs = (sheet.labelRanges ?? []).filter((pair) => {
|
|
@@ -1695,7 +1717,7 @@ function resolveLabelReference(book, node, position, read, tick, anchorOnly = fa
|
|
|
1695
1717
|
const columnLabel = label.axis === "column";
|
|
1696
1718
|
const maximum = (columnLabel ? size.rows : size.columns) - 1;
|
|
1697
1719
|
const ownAxis = columnLabel ? position.row : position.column;
|
|
1698
|
-
const sameAxis = columnLabel ? position.column === column : position.row === row;
|
|
1720
|
+
const sameAxis = position.sheet === sheet.id && (columnLabel ? position.column === column : position.row === row);
|
|
1699
1721
|
let start, end;
|
|
1700
1722
|
if (!declared && label.semantics === "openformula") {
|
|
1701
1723
|
if (!book.automaticLabelLookup) return error("#NAME?");
|
|
@@ -1751,10 +1773,10 @@ function resolveLabelReference(book, node, position, read, tick, anchorOnly = fa
|
|
|
1751
1773
|
if (!book.automaticLabelLookup) return error("#NAME?");
|
|
1752
1774
|
const value = read(sheet, row, column);
|
|
1753
1775
|
if (value.kind !== "string" && value.kind !== "blank") return error("#NAME?");
|
|
1754
|
-
start =
|
|
1776
|
+
start = (columnLabel ? row : column) + 1;
|
|
1755
1777
|
end = maximum;
|
|
1756
1778
|
if (sameAxis) {
|
|
1757
|
-
if (ownAxis === start) start
|
|
1779
|
+
if (ownAxis === start) start++;
|
|
1758
1780
|
else if (ownAxis > start) end = ownAxis - 1;
|
|
1759
1781
|
}
|
|
1760
1782
|
for (const owner of [...book.sheets, ...book.detachedSheets ?? []]) {
|
|
@@ -1769,39 +1791,57 @@ function resolveLabelReference(book, node, position, read, tick, anchorOnly = fa
|
|
|
1769
1791
|
}
|
|
1770
1792
|
}
|
|
1771
1793
|
}
|
|
1772
|
-
if (start
|
|
1794
|
+
if (start > end) return error("#REF!");
|
|
1795
|
+
if (label.scalar) {
|
|
1773
1796
|
if (ownAxis < start || ownAxis > end) return error("#REF!");
|
|
1774
1797
|
start = end = ownAxis;
|
|
1775
1798
|
} else if (!declared && start !== end) {
|
|
1799
|
+
const rows = /* @__PURE__ */ new Map(), columns = /* @__PURE__ */ new Map();
|
|
1800
|
+
for (const cell of sheet.cells) {
|
|
1801
|
+
tick();
|
|
1802
|
+
if (cell.value.kind === "blank" && !cell.formula) continue;
|
|
1803
|
+
const rowCells = rows.get(cell.row) ?? [], columnCells = columns.get(cell.column) ?? [];
|
|
1804
|
+
rowCells.push(cell.column);
|
|
1805
|
+
columnCells.push(cell.row);
|
|
1806
|
+
rows.set(cell.row, rowCells);
|
|
1807
|
+
columns.set(cell.column, columnCells);
|
|
1808
|
+
}
|
|
1809
|
+
for (const index of [rows, columns]) for (const coordinates of index.values()) {
|
|
1810
|
+
tick();
|
|
1811
|
+
coordinates.sort((a2, b2) => {
|
|
1812
|
+
tick();
|
|
1813
|
+
return a2 - b2;
|
|
1814
|
+
});
|
|
1815
|
+
}
|
|
1816
|
+
const occupied = (index, axis, low, high) => {
|
|
1817
|
+
tick();
|
|
1818
|
+
const coordinates = index.get(axis);
|
|
1819
|
+
if (!coordinates) return false;
|
|
1820
|
+
let first = 0, last = coordinates.length;
|
|
1821
|
+
while (first < last) {
|
|
1822
|
+
tick();
|
|
1823
|
+
const middle = Math.floor((first + last) / 2);
|
|
1824
|
+
if (coordinates[middle] < low) first = middle + 1;
|
|
1825
|
+
else last = middle;
|
|
1826
|
+
}
|
|
1827
|
+
return first < coordinates.length && coordinates[first] <= high;
|
|
1828
|
+
};
|
|
1776
1829
|
let left = columnLabel ? column : start, right = left;
|
|
1777
1830
|
let top = columnLabel ? start : row, bottom = top;
|
|
1778
1831
|
for (; ; ) {
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
tick();
|
|
1782
|
-
if (cell.value.kind === "blank" && !cell.formula) continue;
|
|
1783
|
-
if (cell.row >= top - 1 && cell.row <= bottom + 1) {
|
|
1784
|
-
if (cell.column === left - 1) extendLeft = true;
|
|
1785
|
-
if (cell.column === right + 1) extendRight = true;
|
|
1786
|
-
}
|
|
1787
|
-
}
|
|
1832
|
+
const extendLeft = occupied(columns, left - 1, top - 1, bottom + 1);
|
|
1833
|
+
const extendRight = occupied(columns, right + 1, top - 1, bottom + 1);
|
|
1788
1834
|
if (extendLeft) left--;
|
|
1789
1835
|
if (extendRight) right++;
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
if (cell.value.kind === "blank" && !cell.formula) continue;
|
|
1793
|
-
if (cell.column >= left && cell.column <= right) {
|
|
1794
|
-
if (cell.row === top - 1) extendTop = true;
|
|
1795
|
-
if (cell.row === bottom + 1) extendBottom = true;
|
|
1796
|
-
}
|
|
1797
|
-
}
|
|
1836
|
+
const extendTop = occupied(rows, top - 1, left, right);
|
|
1837
|
+
const extendBottom = occupied(rows, bottom + 1, left, right);
|
|
1798
1838
|
if (extendTop) top--;
|
|
1799
1839
|
if (extendBottom) bottom++;
|
|
1800
1840
|
if (!extendLeft && !extendRight && !extendTop && !extendBottom) break;
|
|
1801
1841
|
}
|
|
1802
1842
|
end = Math.min(end, columnLabel ? bottom : right);
|
|
1803
1843
|
if (sameAxis && ownAxis >= start && ownAxis <= end) {
|
|
1804
|
-
if (ownAxis === start) start
|
|
1844
|
+
if (ownAxis === start) start++;
|
|
1805
1845
|
else end = ownAxis - 1;
|
|
1806
1846
|
}
|
|
1807
1847
|
}
|
|
@@ -17472,7 +17512,8 @@ function besselPhaseDomain(x, order) {
|
|
|
17472
17512
|
function capturedBesselPhase(x, order, secondKind, host) {
|
|
17473
17513
|
let sum2 = 1, term = 1;
|
|
17474
17514
|
const x2 = x * x, n2 = order * order;
|
|
17475
|
-
|
|
17515
|
+
const inverse2 = divide3([1, 0], product2(x, x)), square = product2(order, order);
|
|
17516
|
+
if (!Number.isFinite(x2) || !Number.isFinite(n2) || !Number.isFinite(inverse2[0] + inverse2[1]) || !Number.isFinite(square[0] + square[1])) {
|
|
17476
17517
|
if (x > 1 / Number.EPSILON) host.diagnostic?.({ code: "numeric-warning", severity: "warning", message: "Reduced accuracy for very large trigonometric arguments" });
|
|
17477
17518
|
return NaN;
|
|
17478
17519
|
}
|
|
@@ -17485,7 +17526,6 @@ function capturedBesselPhase(x, order, secondKind, host) {
|
|
|
17485
17526
|
if (Math.abs(term) < Number.EPSILON * Math.abs(sum2)) break;
|
|
17486
17527
|
}
|
|
17487
17528
|
const amplitude2 = Math.sqrt(sum2 / (x * (Math.PI / 2)));
|
|
17488
|
-
const inverse2 = divide3([1, 0], product2(x, x)), square = product2(order, order);
|
|
17489
17529
|
const t = [[1, 0]], s = [[1, 0]];
|
|
17490
17530
|
let phase = [0, 0], last = Number.MAX_VALUE;
|
|
17491
17531
|
for (let n = 1; n < 400; n++) {
|
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
|
|
5
5
|
// packages/safe-bash-command-zip/src/zip.ts
|
|
6
6
|
init_buffer();
|
|
7
|
+
import { withInputByteBudget } from "../../safe-bash-contracts/index.js";
|
|
7
8
|
import { collectBytes, dirname, getCommandArguments, writeBytes } from "../../safe-bash-contracts/index.js";
|
|
8
9
|
import { publicDiagnosticMessage } from "../../safe-bash-contracts/diagnostics.js";
|
|
9
10
|
import { escapeText } from "../../safe-bash-contracts/escaping.js";
|
|
@@ -1046,7 +1047,7 @@ ${warning}` : ""} ${dots ? `${dots} ` : ""}(${entry.method === 14 ? `lzma ${perc
|
|
|
1046
1047
|
}
|
|
1047
1048
|
function createZipCommand(options = {}) {
|
|
1048
1049
|
const configured = settings(options);
|
|
1049
|
-
return { name: "zip", description: "Create or update bounded ZIP archives in the virtual filesystem", async
|
|
1050
|
+
return { name: "zip", description: "Create or update bounded ZIP archives in the virtual filesystem", execute: withInputByteBudget(async (original) => {
|
|
1050
1051
|
const limits = invocationLimits(configured, original);
|
|
1051
1052
|
original.signal.throwIfAborted();
|
|
1052
1053
|
const scope = new ZipScope(original, limits);
|
|
@@ -1219,7 +1220,7 @@ zip error: ${error.label} (${zipPublicText(error.message)})
|
|
|
1219
1220
|
original.signal.throwIfAborted();
|
|
1220
1221
|
}
|
|
1221
1222
|
}
|
|
1222
|
-
} };
|
|
1223
|
+
}) };
|
|
1223
1224
|
}
|
|
1224
1225
|
|
|
1225
1226
|
export {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
regexError,
|
|
3
3
|
regexFlags
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-KQLD3AED.js";
|
|
5
5
|
import {
|
|
6
6
|
extendedPattern
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-CQTRW45K.js";
|
|
8
8
|
import {
|
|
9
9
|
describe
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-KXU3IRUO.js";
|
|
11
11
|
import {
|
|
12
12
|
JqError
|
|
13
13
|
} from "./chunk-QP4R6GLA.js";
|
|
@@ -55,6 +55,32 @@ function notifyManagedAbortWaiters(signal) {
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
+
var abortSubscriptions = /* @__PURE__ */ new WeakMap();
|
|
59
|
+
function subscribeAbort(signal, callback) {
|
|
60
|
+
signal.throwIfAborted();
|
|
61
|
+
let entry = abortSubscriptions.get(signal);
|
|
62
|
+
if (!entry) {
|
|
63
|
+
const waiters = /* @__PURE__ */ new Set();
|
|
64
|
+
const listener = () => {
|
|
65
|
+
abortSubscriptions.delete(signal);
|
|
66
|
+
signal.removeEventListener("abort", listener);
|
|
67
|
+
const pending = [...waiters];
|
|
68
|
+
waiters.clear();
|
|
69
|
+
for (const waiter of pending) waiter();
|
|
70
|
+
};
|
|
71
|
+
entry = { waiters, listener };
|
|
72
|
+
abortSubscriptions.set(signal, entry);
|
|
73
|
+
signal.addEventListener("abort", listener, { once: true });
|
|
74
|
+
}
|
|
75
|
+
entry.waiters.add(callback);
|
|
76
|
+
return () => {
|
|
77
|
+
entry.waiters.delete(callback);
|
|
78
|
+
if (entry.waiters.size === 0 && abortSubscriptions.get(signal) === entry) {
|
|
79
|
+
abortSubscriptions.delete(signal);
|
|
80
|
+
signal.removeEventListener("abort", entry.listener);
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
}
|
|
58
84
|
|
|
59
85
|
// packages/safe-bash-contracts/src/io.ts
|
|
60
86
|
var outputFailure = /* @__PURE__ */ Symbol("output failure");
|
|
@@ -816,11 +842,13 @@ function createLegacyWritable(pipe) {
|
|
|
816
842
|
};
|
|
817
843
|
}
|
|
818
844
|
var InputByteBudget = class _InputByteBudget {
|
|
819
|
-
constructor(maximum = Infinity) {
|
|
845
|
+
constructor(maximum = Infinity, host) {
|
|
820
846
|
this.maximum = maximum;
|
|
847
|
+
this.host = host;
|
|
821
848
|
_InputByteBudget.limit(maximum);
|
|
822
849
|
}
|
|
823
850
|
maximum;
|
|
851
|
+
host;
|
|
824
852
|
#used = 0;
|
|
825
853
|
#failure;
|
|
826
854
|
static limit(value = Infinity) {
|
|
@@ -839,6 +867,7 @@ var InputByteBudget = class _InputByteBudget {
|
|
|
839
867
|
this.#failure = new FsError("EFBIG", { message: "command input byte limit exceeded" });
|
|
840
868
|
throw this.#failure;
|
|
841
869
|
}
|
|
870
|
+
this.host?.check(this.#used + bytes);
|
|
842
871
|
this.#used += bytes;
|
|
843
872
|
}
|
|
844
873
|
async run(context, execute) {
|
|
@@ -847,13 +876,29 @@ var InputByteBudget = class _InputByteBudget {
|
|
|
847
876
|
...context,
|
|
848
877
|
stdin: this.read(context.stdin, context.signal),
|
|
849
878
|
fs: Object.create(fs, {
|
|
850
|
-
readFile: { value: async (...args) => {
|
|
879
|
+
readFile: { configurable: true, value: async (...args) => {
|
|
851
880
|
this.assertOpen();
|
|
852
881
|
const bytes = await fs.readFile(...args);
|
|
853
882
|
this.charge(bytes.byteLength);
|
|
854
883
|
return bytes;
|
|
855
884
|
} },
|
|
856
|
-
...fs.
|
|
885
|
+
...fs.openReadFile ? { openReadFile: { configurable: true, value: async (...args) => {
|
|
886
|
+
this.assertOpen();
|
|
887
|
+
const handle = await fs.openReadFile(...args);
|
|
888
|
+
return new Proxy(Object.create(handle), {
|
|
889
|
+
get: (_target, key) => {
|
|
890
|
+
if (key === "read") return async (...readArgs) => {
|
|
891
|
+
this.assertOpen();
|
|
892
|
+
const bytes = await handle.read(...readArgs);
|
|
893
|
+
this.charge(bytes.byteLength);
|
|
894
|
+
return bytes;
|
|
895
|
+
};
|
|
896
|
+
const value = Reflect.get(handle, key, handle);
|
|
897
|
+
return typeof value === "function" ? value.bind(handle) : value;
|
|
898
|
+
}
|
|
899
|
+
});
|
|
900
|
+
} } } : {},
|
|
901
|
+
...fs.readStream ? { readStream: { configurable: true, value: (...args) => {
|
|
857
902
|
this.assertOpen();
|
|
858
903
|
return this.read(fs.readStream(...args), context.signal);
|
|
859
904
|
} } } : {}
|
|
@@ -886,12 +931,16 @@ var InputByteBudget = class _InputByteBudget {
|
|
|
886
931
|
signal.throwIfAborted();
|
|
887
932
|
}
|
|
888
933
|
};
|
|
934
|
+
function withInputByteBudget(execute) {
|
|
935
|
+
return (context) => context.inputBudget ? new InputByteBudget(Infinity, context.inputBudget).run(context, execute) : execute(context);
|
|
936
|
+
}
|
|
889
937
|
|
|
890
938
|
export {
|
|
891
939
|
managedSignalSymbol,
|
|
892
940
|
addManagedAbortWaiter,
|
|
893
941
|
removeManagedAbortWaiter,
|
|
894
942
|
notifyManagedAbortWaiters,
|
|
943
|
+
subscribeAbort,
|
|
895
944
|
outputFailure,
|
|
896
945
|
createBufferedOutput,
|
|
897
946
|
createBytePipe,
|
|
@@ -900,6 +949,7 @@ export {
|
|
|
900
949
|
pipeBytes,
|
|
901
950
|
collectText,
|
|
902
951
|
InputByteBudget,
|
|
952
|
+
withInputByteBudget,
|
|
903
953
|
collectBytes2 as collectBytes,
|
|
904
954
|
readBytes2 as readBytes,
|
|
905
955
|
toByteSource
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
// packages/safe-bash-command-paste/src/paste.ts
|
|
6
6
|
init_buffer();
|
|
7
7
|
import { diagnostic } from "../../safe-bash-io-engine/internal.js";
|
|
8
|
-
import { argument,
|
|
8
|
+
import { argument, command, empty, encode, fail, Inputs, settings } from "../../safe-bash-table-text-engine/table-text/internal.js";
|
|
9
9
|
function delimiters(text) {
|
|
10
10
|
const characters = Array.from(text), result = [];
|
|
11
11
|
const escapes = { b: "\b", f: "\f", n: "\n", r: "\r", t: " ", v: "\v" };
|
|
@@ -26,8 +26,8 @@ function delimiters(text) {
|
|
|
26
26
|
}
|
|
27
27
|
function createPasteCommand(options = {}) {
|
|
28
28
|
const limits = settings(options);
|
|
29
|
-
return command("paste", async (context) => {
|
|
30
|
-
const
|
|
29
|
+
return command("paste", limits, async (context, budget) => {
|
|
30
|
+
const files = [];
|
|
31
31
|
let serial = false, separator = 10, list = [Uint8Array.of(9)], literal = false;
|
|
32
32
|
for (let index = 0; index < context.args.length; index++) {
|
|
33
33
|
const token = context.args[index];
|
|
@@ -78,6 +78,7 @@ function createPasteCommand(options = {}) {
|
|
|
78
78
|
reader = await inputs.open(file);
|
|
79
79
|
} catch (error) {
|
|
80
80
|
context.signal.throwIfAborted();
|
|
81
|
+
if (budget.hasPendingOutput()) await budget.flushOutput();
|
|
81
82
|
await diagnostic(context, error);
|
|
82
83
|
status = 1;
|
|
83
84
|
continue;
|
|
@@ -879,14 +879,11 @@ function tryProcessFlatSelectProjectChunkSync(rawChunk, budget, condKey, outKeys
|
|
|
879
879
|
if (rawChunk[0] !== 123 || rawChunk[len - 1] !== 10) return -1;
|
|
880
880
|
const totalAfter = budget.inputBytes + len;
|
|
881
881
|
if (totalAfter > budget.maxInputBytesSmi && totalAfter > budget.limits.maxInputBytes) return -1;
|
|
882
|
-
|
|
883
|
-
if (
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
if (!plan) return -1;
|
|
888
|
-
if (planHolder) planHolder.cachedSchemaPlan = plan;
|
|
889
|
-
}
|
|
882
|
+
const firstNl = rawChunk.indexOf(10, 0);
|
|
883
|
+
if (firstNl < 2 || firstNl > 16384) return -1;
|
|
884
|
+
const plan = getOrCreateFlatSchemaPlan(rawChunk, firstNl, condKey, outKeys, srcKeys);
|
|
885
|
+
if (planHolder) planHolder.cachedSchemaPlan = plan;
|
|
886
|
+
if (!plan) return -1;
|
|
890
887
|
let pos = 0;
|
|
891
888
|
let outPos = 0;
|
|
892
889
|
let lineCount = 0;
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
|
|
5
5
|
// packages/safe-bash-command-join/src/join.ts
|
|
6
6
|
init_buffer();
|
|
7
|
-
import { argument,
|
|
7
|
+
import { argument, command, compare, empty, encode, fail, Inputs, OrderCheck, settings } from "../../safe-bash-table-text-engine/table-text/internal.js";
|
|
8
8
|
function number(value, label) {
|
|
9
9
|
if (!/^\+?[0-9]+$/u.test(value) || !Number.isSafeInteger(Number(value)) || Number(value) < 1) fail(`invalid ${label}: ${value}`);
|
|
10
10
|
return Number(value);
|
|
@@ -167,9 +167,9 @@ function split(bytes, options, budget) {
|
|
|
167
167
|
}
|
|
168
168
|
function createJoinCommand(factory = {}) {
|
|
169
169
|
const limits = settings(factory);
|
|
170
|
-
return command("join", async (context) => {
|
|
171
|
-
const
|
|
172
|
-
const inputs = new Inputs(context, budget, options.separator), order = new OrderCheck(options.order, context);
|
|
170
|
+
return command("join", limits, async (context, budget) => {
|
|
171
|
+
const options = parse(context, budget);
|
|
172
|
+
const inputs = new Inputs(context, budget, options.separator), order = new OrderCheck(options.order, context, budget);
|
|
173
173
|
const terminator = Uint8Array.of(options.separator), delimiter = Uint8Array.of(options.delimiter ?? 32);
|
|
174
174
|
try {
|
|
175
175
|
const readers = [await inputs.open(options.files[0]), await inputs.open(options.files[1])];
|
|
@@ -283,13 +283,13 @@ function createJoinCommand(factory = {}) {
|
|
|
283
283
|
}
|
|
284
284
|
const comparison = compare(rows[0].key, rows[1].key, options.fold);
|
|
285
285
|
if (comparison !== 0) {
|
|
286
|
+
await order.markUnpaired();
|
|
286
287
|
const file = comparison < 0 ? 0 : 1;
|
|
287
288
|
if (options.unpaired.has(file)) await emit(file === 0 ? rows[file] : void 0, file === 1 ? rows[file] : void 0);
|
|
288
289
|
{
|
|
289
290
|
const nr = next(file);
|
|
290
291
|
rows[file] = nr instanceof Promise ? await nr : nr;
|
|
291
292
|
}
|
|
292
|
-
order.unpaired = true;
|
|
293
293
|
continue;
|
|
294
294
|
}
|
|
295
295
|
const key = rows[0].key, groups = [[], []];
|
|
@@ -325,6 +325,7 @@ function createJoinCommand(factory = {}) {
|
|
|
325
325
|
}
|
|
326
326
|
for (let file = 0; file < 2; file++) {
|
|
327
327
|
if (!options.unpaired.has(file) && options.order === "none") continue;
|
|
328
|
+
if (rows[file]) await order.markUnpaired();
|
|
328
329
|
while (rows[file]) {
|
|
329
330
|
if (options.unpaired.has(file)) await emit(file === 0 ? rows[file] : void 0, file === 1 ? rows[file] : void 0);
|
|
330
331
|
rows[file] = await next(file);
|
|
@@ -404,7 +404,7 @@ async function run(context, budget) {
|
|
|
404
404
|
}
|
|
405
405
|
let oldText = oldBytes, newText = newBytes;
|
|
406
406
|
encoding = "latin1";
|
|
407
|
-
|
|
407
|
+
{
|
|
408
408
|
const decoder = new TextDecoder("utf-8", { fatal: true, ignoreBOM: true });
|
|
409
409
|
try {
|
|
410
410
|
const oldDecoded = decoder.decode(encodeBytes(oldBytes, "latin1"));
|
|
@@ -245,6 +245,17 @@ function input(context, name = "-") {
|
|
|
245
245
|
}
|
|
246
246
|
return readBytes(context.stdin, context.signal);
|
|
247
247
|
}
|
|
248
|
+
const budget = context.inputBudget;
|
|
249
|
+
if (budget && Number.isFinite(budget.maxBytes)) {
|
|
250
|
+
return (async function* () {
|
|
251
|
+
let total = 0;
|
|
252
|
+
for await (const bytes of inputFileSlow(context, name)) {
|
|
253
|
+
total += bytes.byteLength;
|
|
254
|
+
budget.check(total);
|
|
255
|
+
yield bytes;
|
|
256
|
+
}
|
|
257
|
+
})();
|
|
258
|
+
}
|
|
248
259
|
const backing = getRuntimeBackingFileSystem(context.fs);
|
|
249
260
|
if (!context.signal.aborted && backing !== void 0 && backing.capabilitiesFor === void 0 && context.fs.readStream && context.fs.capabilities.streamingRead !== false && context.fs.capabilities.read !== false && Object.getPrototypeOf(backing)?.constructor?.name === "MemoryFileSystem" && !Object.prototype.hasOwnProperty.call(backing, "readStream")) {
|
|
250
261
|
const resolvedPath = pathOf(context, name);
|
|
@@ -27,6 +27,8 @@ function createOriginAuthorizer(allowlist = "*", options = {}) {
|
|
|
27
27
|
}
|
|
28
28
|
return (request) => {
|
|
29
29
|
const url = new URL(request.url);
|
|
30
|
+
const hostHeaders = request.headers?.filter(([name]) => name.toLowerCase() === "host") ?? [];
|
|
31
|
+
if (hostHeaders.length > 1 || hostHeaders.some(([, value]) => value.toLowerCase() !== url.host.toLowerCase())) return false;
|
|
30
32
|
const hostname = url.hostname.toLowerCase().replace(/\.$/u, "");
|
|
31
33
|
if (denyPrivateNetworks) {
|
|
32
34
|
request.requirePrivateNetworkDeny?.();
|
|
@@ -51,6 +51,11 @@ function inferDelimiter(path) {
|
|
|
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
53
|
var extraShort = {
|
|
54
|
+
dedup: { s: "select", l: "keep-last", S: "sorted" },
|
|
55
|
+
enum: { c: "column-name", S: "start" },
|
|
56
|
+
from: { f: "format" },
|
|
57
|
+
cat: { p: "pad" },
|
|
58
|
+
split: { S: "size", O: "out-dir", f: "filename", c: "chunks" },
|
|
54
59
|
head: { l: "limit" },
|
|
55
60
|
tail: { l: "limit" },
|
|
56
61
|
sort: { s: "select", N: "numeric", R: "reverse", u: "uniq" },
|
|
@@ -61,9 +66,18 @@ var extraShort = {
|
|
|
61
66
|
freq: { s: "select", l: "limit", A: "all", N: "no-extra" },
|
|
62
67
|
join: { i: "ignore-case" }
|
|
63
68
|
};
|
|
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);
|
|
69
|
+
for (const name of ["keep-last", "sorted", "keep-duplicates", "pad", "sort-keys", "single-object", "omit", "numeric", "reverse", "uniq", "exact", "ignore-case", "invert-match", "every-column", "all", "no-extra", "inner", "left", "right", "full", "semi", "anti", "cross", "nulls"]) switches.add(name);
|
|
65
70
|
var common = ["help", "output", "delimiter"];
|
|
66
71
|
var allowed = {
|
|
72
|
+
dedup: /* @__PURE__ */ new Set([...common, "no-headers", "select", "keep-last", "sorted", "keep-duplicates"]),
|
|
73
|
+
enum: /* @__PURE__ */ new Set([...common, "no-headers", "column-name", "start"]),
|
|
74
|
+
transpose: new Set(common),
|
|
75
|
+
agg: /* @__PURE__ */ new Set([...common, "no-headers"]),
|
|
76
|
+
groupby: /* @__PURE__ */ new Set([...common, "no-headers"]),
|
|
77
|
+
to: /* @__PURE__ */ new Set([...common, "no-headers", "nulls", "omit"]),
|
|
78
|
+
from: /* @__PURE__ */ new Set([...common, "format", "sort-keys", "single-object", "column-name"]),
|
|
79
|
+
cat: /* @__PURE__ */ new Set([...common, "no-headers", "pad"]),
|
|
80
|
+
split: /* @__PURE__ */ new Set(["help", "delimiter", "no-headers", "size", "out-dir", "filename", "chunks"]),
|
|
67
81
|
head: /* @__PURE__ */ new Set([...common, "no-headers", "limit"]),
|
|
68
82
|
tail: /* @__PURE__ */ new Set([...common, "no-headers", "limit"]),
|
|
69
83
|
sort: /* @__PURE__ */ new Set([...common, "no-headers", "select", "numeric", "reverse", "uniq"]),
|
|
@@ -149,7 +163,8 @@ async function parseArguments(args, cwd, budget) {
|
|
|
149
163
|
if (values.has("evaluate") && values.has("evaluate-file")) throw new XanError("conflicting expression modes");
|
|
150
164
|
let rightSelection;
|
|
151
165
|
let operand;
|
|
152
|
-
if (
|
|
166
|
+
if (command === "groupby") rightSelection = operands.shift();
|
|
167
|
+
if (["search", "filter", "rename", "agg", "groupby", "to", "cat"].includes(command)) {
|
|
153
168
|
operand = operands.shift();
|
|
154
169
|
if (operand === void 0 && !help) throw new XanError(`${command} requires an argument`);
|
|
155
170
|
}
|
|
@@ -168,16 +183,16 @@ async function parseArguments(args, cwd, budget) {
|
|
|
168
183
|
}
|
|
169
184
|
if (values.has("limit")) await unsigned(values.get("limit"), "--limit", budget);
|
|
170
185
|
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.");
|
|
171
|
-
if (command !== "headers" && command !== "join" && operands.length > 1) throw new XanError("too many input files");
|
|
186
|
+
if (command !== "headers" && command !== "join" && command !== "cat" && operands.length > 1) throw new XanError("too many input files");
|
|
172
187
|
if (operands.filter((path2) => path2 === "-").length > 1) throw new XanError("stdin may appear only once");
|
|
173
188
|
if (!operands.length) operands.push("-");
|
|
174
189
|
budget.bound("maxInputFiles", operands.length);
|
|
175
|
-
const path = (value) => {
|
|
190
|
+
const path = (value, input = false) => {
|
|
176
191
|
if (!value || value.includes("\0")) throw new XanError("invalid path");
|
|
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}`);
|
|
192
|
+
if (input && command !== "from" && /\.(gz|zst|cdx|ndjson|jsonl|vcf|gtf|gff2|sam|bed)$/u.test(value)) throw new XanError(`unsupported in bounded CSV profile: format ${value}`);
|
|
178
193
|
return value === "-" ? value : resolvePath(cwd, value);
|
|
179
194
|
};
|
|
180
|
-
for (const operand2 of operands) path(operand2);
|
|
195
|
+
for (const operand2 of operands) path(operand2, true);
|
|
181
196
|
const output = values.get("output");
|
|
182
197
|
if (output !== void 0) path(output);
|
|
183
198
|
let delimiter;
|
|
@@ -3,21 +3,21 @@ import {
|
|
|
3
3
|
} from "./chunk-PTT3I223.js";
|
|
4
4
|
import {
|
|
5
5
|
splitRegex
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-VSRGNQCP.js";
|
|
7
7
|
import {
|
|
8
8
|
matchRegex,
|
|
9
9
|
scanRegex,
|
|
10
10
|
substituteRegex
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-KQLD3AED.js";
|
|
12
12
|
import {
|
|
13
13
|
formatValue
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-BPE5INLI.js";
|
|
15
15
|
import {
|
|
16
16
|
indices
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-4BB2SWJ5.js";
|
|
18
18
|
import {
|
|
19
19
|
capture
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-CQTRW45K.js";
|
|
21
21
|
import {
|
|
22
22
|
fromDateIso8601,
|
|
23
23
|
gmtime,
|
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
} from "./chunk-GMIHJYDG.js";
|
|
29
29
|
import {
|
|
30
30
|
delpaths
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-OYYV7ZAF.js";
|
|
32
32
|
import {
|
|
33
33
|
binary,
|
|
34
34
|
compare,
|
|
@@ -42,7 +42,7 @@ import {
|
|
|
42
42
|
sortedKeys,
|
|
43
43
|
stableSort,
|
|
44
44
|
type
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-KXU3IRUO.js";
|
|
46
46
|
import {
|
|
47
47
|
splitString
|
|
48
48
|
} from "./chunk-HMOZ6XVJ.js";
|
|
@@ -51,7 +51,7 @@ import {
|
|
|
51
51
|
measureValue,
|
|
52
52
|
parseJson,
|
|
53
53
|
stringify
|
|
54
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-WECIOOQB.js";
|
|
55
55
|
import {
|
|
56
56
|
JqError,
|
|
57
57
|
JqHalt,
|
|
@@ -1810,7 +1810,21 @@ var Interpreter = class _Interpreter {
|
|
|
1810
1810
|
}
|
|
1811
1811
|
if (name === "split") {
|
|
1812
1812
|
for await (const separator of this.run(args[0], input)) {
|
|
1813
|
-
|
|
1813
|
+
if (!args[1]) {
|
|
1814
|
+
yield await splitString(input, separator, budget);
|
|
1815
|
+
continue;
|
|
1816
|
+
}
|
|
1817
|
+
for await (const flags of this.run(args[1], input)) {
|
|
1818
|
+
const parts = [];
|
|
1819
|
+
let bytes = 2;
|
|
1820
|
+
for await (const part of splitRegex(input, separator, budget, flags)) {
|
|
1821
|
+
budget.collection(parts.length + 1);
|
|
1822
|
+
bytes += budget.value(part) + (parts.length ? 1 : 0);
|
|
1823
|
+
if (bytes > budget.limits.maxValueBytes) throw new JqLimitError("maxValueBytes");
|
|
1824
|
+
parts.push(part);
|
|
1825
|
+
}
|
|
1826
|
+
yield parts;
|
|
1827
|
+
}
|
|
1814
1828
|
}
|
|
1815
1829
|
return;
|
|
1816
1830
|
}
|