@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
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
|
|
5
5
|
// packages/safe-bash-command-bc/src/index.ts
|
|
6
6
|
init_buffer();
|
|
7
|
+
import { Decimal } from "decimal.js";
|
|
7
8
|
import {
|
|
8
9
|
commandRuntimeIdentity,
|
|
9
10
|
readBytes,
|
|
@@ -58,7 +59,8 @@ function settings(options = {}) {
|
|
|
58
59
|
maxSteps: options.limits?.maxSteps ?? options.maxSteps ?? Infinity,
|
|
59
60
|
maxScale: options.limits?.maxScale ?? options.maxScale ?? Infinity,
|
|
60
61
|
maxExponent: options.limits?.maxExponent ?? options.maxExponent ?? Infinity,
|
|
61
|
-
maxRecursionDepth: options.limits?.maxRecursionDepth ?? options.maxRecursionDepth ?? Infinity
|
|
62
|
+
maxRecursionDepth: options.limits?.maxRecursionDepth ?? options.maxRecursionDepth ?? Infinity,
|
|
63
|
+
maxObase: options.limits?.maxObase ?? options.maxObase ?? Infinity
|
|
62
64
|
};
|
|
63
65
|
for (const [name, value] of Object.entries(limits)) {
|
|
64
66
|
if (value !== Infinity && (!Number.isSafeInteger(value) || value < 1)) throw new RangeError(`Invalid bc limit: ${name}`);
|
|
@@ -176,10 +178,7 @@ function parseLiteralInBase(raw, ibase) {
|
|
|
176
178
|
if (code >= 65 && code <= 70) return BigInt(code - 55);
|
|
177
179
|
return 0n;
|
|
178
180
|
};
|
|
179
|
-
if (
|
|
180
|
-
const combined = intPart + fracPart || "0";
|
|
181
|
-
return { coeff: BigInt(combined), scale };
|
|
182
|
-
}
|
|
181
|
+
if (raw.length === 1 && dot < 0) return { coeff: digitVal(raw), scale: 0 };
|
|
183
182
|
let intVal = 0n;
|
|
184
183
|
for (const ch of intPart) {
|
|
185
184
|
const d = digitVal(ch);
|
|
@@ -200,7 +199,7 @@ function formatDecimalInBase(val, obase) {
|
|
|
200
199
|
const neg = val.coeff < 0n;
|
|
201
200
|
const absCoeff = neg ? -val.coeff : val.coeff;
|
|
202
201
|
if (absCoeff === 0n) return "0";
|
|
203
|
-
if (obase ===
|
|
202
|
+
if (obase === 10n) {
|
|
204
203
|
if (val.scale <= 0) {
|
|
205
204
|
return (neg && absCoeff !== 0n ? "-" : "") + absCoeff.toString(10);
|
|
206
205
|
}
|
|
@@ -210,67 +209,84 @@ function formatDecimalInBase(val, obase) {
|
|
|
210
209
|
const prefix = intStr === "0" ? "" : intStr;
|
|
211
210
|
return (neg && absCoeff !== 0n ? "-" : "") + (prefix || (fracStr.length > 0 ? "" : "0")) + "." + fracStr;
|
|
212
211
|
}
|
|
213
|
-
const baseBig = BigInt(obase);
|
|
214
212
|
const scaleFactor = pow10(val.scale);
|
|
215
213
|
let intPart = absCoeff / scaleFactor;
|
|
216
214
|
let rem = absCoeff % scaleFactor;
|
|
217
215
|
const digits = "0123456789ABCDEF";
|
|
216
|
+
const digitWidth = (obase - 1n).toString(10).length;
|
|
218
217
|
let intOut = "";
|
|
219
218
|
if (intPart === 0n) intOut = "0";
|
|
220
219
|
else {
|
|
221
220
|
while (intPart > 0n) {
|
|
222
|
-
const d =
|
|
223
|
-
intOut = (obase <=
|
|
224
|
-
intPart /=
|
|
221
|
+
const d = intPart % obase;
|
|
222
|
+
intOut = (obase <= 16n ? digits[Number(d)] : ` ${d.toString(10).padStart(digitWidth, "0")}`) + intOut;
|
|
223
|
+
intPart /= obase;
|
|
225
224
|
}
|
|
226
225
|
}
|
|
227
226
|
if (val.scale <= 0) {
|
|
228
|
-
return (neg && absCoeff !== 0n ? "-" : "") + intOut
|
|
227
|
+
return (neg && absCoeff !== 0n ? "-" : "") + intOut;
|
|
229
228
|
}
|
|
230
229
|
let fracOut = "";
|
|
231
|
-
for (let
|
|
232
|
-
rem *=
|
|
233
|
-
const d =
|
|
230
|
+
for (let place = 1n; place < scaleFactor; place *= obase) {
|
|
231
|
+
rem *= obase;
|
|
232
|
+
const d = rem / scaleFactor;
|
|
234
233
|
rem %= scaleFactor;
|
|
235
|
-
fracOut += obase <=
|
|
234
|
+
fracOut += obase <= 16n ? digits[Number(d)] : `${fracOut ? " " : ""}${d.toString(10).padStart(digitWidth, "0")}`;
|
|
236
235
|
}
|
|
237
236
|
return (neg && absCoeff !== 0n ? "-" : "") + (intOut === "0" ? "" : intOut) + "." + fracOut;
|
|
238
237
|
}
|
|
239
|
-
function
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
const
|
|
243
|
-
const
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
238
|
+
async function mathValue(name, args, scale, tick) {
|
|
239
|
+
if (!["s", "c", "a", "l", "e", "j"].includes(name)) return void 0;
|
|
240
|
+
const decimal = (value) => `${value.coeff}e-${value.scale}`;
|
|
241
|
+
const raw = args[name === "j" ? 1 : 0] ?? ZERO;
|
|
242
|
+
const magnitude = new Decimal(decimal(raw)).abs();
|
|
243
|
+
const extra = name === "e" || name === "j" ? magnitude.ceil().toNumber() : Math.max(0, magnitude.e + 1);
|
|
244
|
+
const D = Decimal.clone({ precision: scale + extra + 32, rounding: Decimal.ROUND_DOWN });
|
|
245
|
+
const x = new D(decimal(raw));
|
|
246
|
+
let result;
|
|
247
|
+
switch (name) {
|
|
248
|
+
case "s":
|
|
249
|
+
result = x.sin();
|
|
250
|
+
break;
|
|
251
|
+
case "c":
|
|
252
|
+
result = x.cos();
|
|
253
|
+
break;
|
|
254
|
+
case "a":
|
|
255
|
+
result = x.atan();
|
|
256
|
+
break;
|
|
257
|
+
case "l":
|
|
258
|
+
if (x.lte(0)) throw new Error("Runtime error: l(x) domain error");
|
|
259
|
+
result = x.ln();
|
|
260
|
+
break;
|
|
261
|
+
case "e":
|
|
262
|
+
result = x.exp();
|
|
263
|
+
break;
|
|
264
|
+
default: {
|
|
265
|
+
const n = truncToInt(args[0] ?? ZERO);
|
|
266
|
+
const order = n < 0n ? -n : n;
|
|
267
|
+
const half = x.div(2);
|
|
268
|
+
let term = new D(1);
|
|
269
|
+
for (let i = 1n; i <= order; i++) {
|
|
270
|
+
const pending = tick();
|
|
271
|
+
if (pending) await pending;
|
|
272
|
+
term = term.mul(half).div(i.toString());
|
|
273
|
+
}
|
|
274
|
+
result = term;
|
|
275
|
+
const factor = half.mul(half).neg();
|
|
276
|
+
const epsilon = new D(10).pow(-scale - 16);
|
|
277
|
+
for (let k = 1n; !term.isZero(); k++) {
|
|
278
|
+
const pending = tick();
|
|
279
|
+
if (pending) await pending;
|
|
280
|
+
term = term.mul(factor).div((k * (order + k)).toString());
|
|
281
|
+
result = result.add(term);
|
|
282
|
+
if (term.abs().lt(epsilon) && new D((k * (order + k)).toString()).gt(factor.abs())) break;
|
|
283
|
+
}
|
|
284
|
+
if (n < 0n && order % 2n === 1n) result = result.neg();
|
|
285
|
+
}
|
|
252
286
|
}
|
|
253
|
-
if (
|
|
254
|
-
|
|
255
|
-
}
|
|
256
|
-
function fromNumber(num, scale) {
|
|
257
|
-
if (!Number.isFinite(num)) throw new Error("math domain/range error");
|
|
258
|
-
const clampedScale = Math.min(scale, 30);
|
|
259
|
-
const fixed = num.toFixed(Math.min(clampedScale + 4, 20));
|
|
260
|
-
const dot = fixed.indexOf(".");
|
|
261
|
-
const neg = fixed.startsWith("-");
|
|
262
|
-
const clean = neg ? fixed.slice(1) : fixed;
|
|
263
|
-
const cleanDot = clean.indexOf(".");
|
|
264
|
-
const intPart = cleanDot >= 0 ? clean.slice(0, cleanDot) : clean;
|
|
265
|
-
let fracPart = cleanDot >= 0 ? clean.slice(cleanDot + 1) : "";
|
|
266
|
-
if (fracPart.length < scale) fracPart = fracPart.padEnd(scale, "0");
|
|
267
|
-
else if (fracPart.length > scale) fracPart = fracPart.slice(0, scale);
|
|
268
|
-
void dot;
|
|
269
|
-
const coeff = BigInt(intPart + fracPart || "0");
|
|
270
|
-
return { coeff: neg ? -coeff : coeff, scale };
|
|
271
|
-
}
|
|
272
|
-
function toNumber(val) {
|
|
273
|
-
return Number(formatDecimalInBase(val, 10));
|
|
287
|
+
if (!result.isFinite()) throw new Error("math domain/range error");
|
|
288
|
+
const fixed = result.toFixed(scale, Decimal.ROUND_DOWN);
|
|
289
|
+
return { coeff: BigInt(fixed.split(".").join("")), scale };
|
|
274
290
|
}
|
|
275
291
|
function tokenizeBc(source) {
|
|
276
292
|
const clean = source.replace(/\\\r?\n/gu, "");
|
|
@@ -455,10 +471,9 @@ var BcParser = class {
|
|
|
455
471
|
while (true) {
|
|
456
472
|
const p = this.next();
|
|
457
473
|
if (p?.type !== "id") throw new Error("expected variable name in auto");
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
}
|
|
461
|
-
names.push(p.name ?? "");
|
|
474
|
+
const array = this.matchPunct("[");
|
|
475
|
+
if (array && !this.matchPunct("]")) throw new Error("expected ']' in auto");
|
|
476
|
+
names.push({ name: p.name ?? "", array });
|
|
462
477
|
if (!this.matchPunct(",")) break;
|
|
463
478
|
}
|
|
464
479
|
return { kind: "auto", names };
|
|
@@ -616,7 +631,7 @@ var BcParser = class {
|
|
|
616
631
|
if (t.type === "punct" && (t.value ?? "") === "(") {
|
|
617
632
|
const expr = this.parseExpr();
|
|
618
633
|
if (!this.matchPunct(")")) throw new Error("expected ')'");
|
|
619
|
-
return expr;
|
|
634
|
+
return expr.kind === "assign" ? { ...expr, parenthesized: true } : expr;
|
|
620
635
|
}
|
|
621
636
|
if (t.type === "id") {
|
|
622
637
|
if (this.matchPunct("(")) {
|
|
@@ -658,6 +673,7 @@ function createBcCommand(options = {}) {
|
|
|
658
673
|
description: "Arbitrary-precision calculator language",
|
|
659
674
|
runtimeIdentity: commandRuntimeIdentity,
|
|
660
675
|
async execute(context) {
|
|
676
|
+
context.signal.throwIfAborted();
|
|
661
677
|
try {
|
|
662
678
|
let mathlib = false;
|
|
663
679
|
const files = [];
|
|
@@ -712,6 +728,7 @@ function createBcCommand(options = {}) {
|
|
|
712
728
|
sources.push(decoder.decode(await collectSourceBytes(context.stdin, context.signal, maxInputBytes)));
|
|
713
729
|
} else {
|
|
714
730
|
const raw = await context.fs.readFile(pathPosix.resolve(context.cwd, file));
|
|
731
|
+
context.signal.throwIfAborted();
|
|
715
732
|
if (raw.byteLength > maxInputBytes) throw new Error(`bc program exceeds maximum input size (${maxInputBytes} bytes)`);
|
|
716
733
|
sources.push(decoder.decode(raw));
|
|
717
734
|
}
|
|
@@ -724,7 +741,7 @@ function createBcCommand(options = {}) {
|
|
|
724
741
|
const stmts = new BcParser(tokenizeBc(fullProgram)).parseProgram();
|
|
725
742
|
let scale = mathlib ? 20 : 0;
|
|
726
743
|
let ibase = 10;
|
|
727
|
-
let obase =
|
|
744
|
+
let obase = 10n;
|
|
728
745
|
let last = ZERO;
|
|
729
746
|
const globals = /* @__PURE__ */ new Map();
|
|
730
747
|
const arrays = /* @__PURE__ */ new Map();
|
|
@@ -732,25 +749,48 @@ function createBcCommand(options = {}) {
|
|
|
732
749
|
const callStack = [];
|
|
733
750
|
let steps = 0;
|
|
734
751
|
let outBuffer = "";
|
|
752
|
+
let outputBytes = 0;
|
|
753
|
+
const appendOutput = (text) => {
|
|
754
|
+
if (limits.maxOutputBytes !== Infinity) {
|
|
755
|
+
outputBytes += encoder.encode(text).byteLength;
|
|
756
|
+
if (outputBytes > limits.maxOutputBytes) {
|
|
757
|
+
throw new Error(`output exceeds maximum size (${limits.maxOutputBytes} bytes)`);
|
|
758
|
+
}
|
|
759
|
+
}
|
|
760
|
+
outBuffer += text;
|
|
761
|
+
};
|
|
735
762
|
const tick = () => {
|
|
763
|
+
context.signal.throwIfAborted();
|
|
736
764
|
if (++steps > maxSteps) throw new Error(`bc execution exceeded maximum step limit (${maxSteps})`);
|
|
737
765
|
if ((steps & 4095) === 0) {
|
|
738
766
|
return yieldTurn(context.signal);
|
|
739
767
|
}
|
|
740
768
|
return void 0;
|
|
741
769
|
};
|
|
770
|
+
const getArray = (name) => {
|
|
771
|
+
for (let i = callStack.length - 1; i >= 0; i--) {
|
|
772
|
+
const local = callStack[i].arrays.get(name);
|
|
773
|
+
if (local) return local;
|
|
774
|
+
}
|
|
775
|
+
let array = arrays.get(name);
|
|
776
|
+
if (!array) {
|
|
777
|
+
array = /* @__PURE__ */ new Map();
|
|
778
|
+
arrays.set(name, array);
|
|
779
|
+
}
|
|
780
|
+
return array;
|
|
781
|
+
};
|
|
742
782
|
const getVar = async (name, indexExpr) => {
|
|
743
783
|
if (indexExpr) {
|
|
744
784
|
const idxVal = await evalExpr(indexExpr);
|
|
745
785
|
const key = truncToInt(idxVal).toString(10);
|
|
746
|
-
return
|
|
786
|
+
return getArray(name).get(key) ?? ZERO;
|
|
747
787
|
}
|
|
748
788
|
if (name === "scale") return { coeff: BigInt(scale), scale: 0 };
|
|
749
789
|
if (name === "ibase") return { coeff: BigInt(ibase), scale: 0 };
|
|
750
|
-
if (name === "obase") return { coeff:
|
|
790
|
+
if (name === "obase") return { coeff: obase, scale: 0 };
|
|
751
791
|
if (name === "last") return last;
|
|
752
792
|
for (let i = callStack.length - 1; i >= 0; i--) {
|
|
753
|
-
const frame = callStack[i];
|
|
793
|
+
const frame = callStack[i].scalars;
|
|
754
794
|
if (frame.has(name)) return frame.get(name);
|
|
755
795
|
}
|
|
756
796
|
return globals.get(name) ?? ZERO;
|
|
@@ -759,12 +799,7 @@ function createBcCommand(options = {}) {
|
|
|
759
799
|
if (indexExpr) {
|
|
760
800
|
const idxVal = await evalExpr(indexExpr);
|
|
761
801
|
const key = truncToInt(idxVal).toString(10);
|
|
762
|
-
|
|
763
|
-
if (!map) {
|
|
764
|
-
map = /* @__PURE__ */ new Map();
|
|
765
|
-
arrays.set(name, map);
|
|
766
|
-
}
|
|
767
|
-
map.set(key, val);
|
|
802
|
+
getArray(name).set(key, val);
|
|
768
803
|
return val;
|
|
769
804
|
}
|
|
770
805
|
if (name === "scale") {
|
|
@@ -780,17 +815,19 @@ function createBcCommand(options = {}) {
|
|
|
780
815
|
return { coeff: BigInt(ibase), scale: 0 };
|
|
781
816
|
}
|
|
782
817
|
if (name === "obase") {
|
|
783
|
-
const b =
|
|
784
|
-
if (b <
|
|
818
|
+
const b = truncToInt(val);
|
|
819
|
+
if (b < 2n || limits.maxObase !== Infinity && b > BigInt(limits.maxObase)) {
|
|
820
|
+
throw new Error(`obase (${b}) out of bounds [2, ${limits.maxObase}]`);
|
|
821
|
+
}
|
|
785
822
|
obase = b;
|
|
786
|
-
return { coeff:
|
|
823
|
+
return { coeff: obase, scale: 0 };
|
|
787
824
|
}
|
|
788
825
|
if (name === "last") {
|
|
789
826
|
last = val;
|
|
790
827
|
return val;
|
|
791
828
|
}
|
|
792
829
|
for (let i = callStack.length - 1; i >= 0; i--) {
|
|
793
|
-
const frame = callStack[i];
|
|
830
|
+
const frame = callStack[i].scalars;
|
|
794
831
|
if (frame.has(name)) {
|
|
795
832
|
frame.set(name, val);
|
|
796
833
|
return val;
|
|
@@ -808,7 +845,7 @@ function createBcCommand(options = {}) {
|
|
|
808
845
|
case "num":
|
|
809
846
|
return parseLiteralInBase(expr.raw, ibase);
|
|
810
847
|
case "str":
|
|
811
|
-
|
|
848
|
+
appendOutput(expr.value);
|
|
812
849
|
return ZERO;
|
|
813
850
|
case "var":
|
|
814
851
|
return getVar(expr.name, expr.index);
|
|
@@ -891,21 +928,8 @@ function createBcCommand(options = {}) {
|
|
|
891
928
|
if (expr.name === "length") return lengthDec(arg0);
|
|
892
929
|
if (expr.name === "abs") return { coeff: arg0.coeff < 0n ? -arg0.coeff : arg0.coeff, scale: arg0.scale };
|
|
893
930
|
if (mathlib) {
|
|
894
|
-
|
|
895
|
-
if (
|
|
896
|
-
if (expr.name === "a") return fromNumber(Math.atan(toNumber(arg0)), scale);
|
|
897
|
-
if (expr.name === "l") {
|
|
898
|
-
const x = toNumber(arg0);
|
|
899
|
-
if (x <= 0) throw new Error("Runtime error: l(x) domain error");
|
|
900
|
-
return fromNumber(Math.log(x), scale);
|
|
901
|
-
}
|
|
902
|
-
if (expr.name === "e") return fromNumber(Math.exp(toNumber(arg0)), scale);
|
|
903
|
-
if (expr.name === "j") {
|
|
904
|
-
const nVal = Math.trunc(toNumber(arg0));
|
|
905
|
-
const xVal = toNumber(args[1] ?? ZERO);
|
|
906
|
-
if (xVal === 0) return nVal === 0 ? fromNumber(1, scale) : { coeff: 0n, scale };
|
|
907
|
-
return fromNumber(besselJ(nVal, xVal), scale);
|
|
908
|
-
}
|
|
931
|
+
const result = await mathValue(expr.name, args, scale, tick);
|
|
932
|
+
if (result) return result;
|
|
909
933
|
}
|
|
910
934
|
const fn = funcs.get(expr.name);
|
|
911
935
|
if (!fn) throw new Error(`Function ${expr.name} not defined.`);
|
|
@@ -914,7 +938,7 @@ function createBcCommand(options = {}) {
|
|
|
914
938
|
for (let i = 0; i < fn.params.length; i++) {
|
|
915
939
|
frame.set(fn.params[i], args[i] ?? ZERO);
|
|
916
940
|
}
|
|
917
|
-
callStack.push(frame);
|
|
941
|
+
callStack.push({ scalars: frame, arrays: /* @__PURE__ */ new Map() });
|
|
918
942
|
try {
|
|
919
943
|
await execStmt(fn.body);
|
|
920
944
|
return ZERO;
|
|
@@ -941,8 +965,10 @@ function createBcCommand(options = {}) {
|
|
|
941
965
|
case "auto": {
|
|
942
966
|
const frame = callStack.at(-1);
|
|
943
967
|
if (frame) {
|
|
944
|
-
for (const name of stmt.names) {
|
|
945
|
-
if (
|
|
968
|
+
for (const { name, array } of stmt.names) {
|
|
969
|
+
if (array) {
|
|
970
|
+
if (!frame.arrays.has(name)) frame.arrays.set(name, /* @__PURE__ */ new Map());
|
|
971
|
+
} else if (!frame.scalars.has(name)) frame.scalars.set(name, ZERO);
|
|
946
972
|
}
|
|
947
973
|
}
|
|
948
974
|
return;
|
|
@@ -991,11 +1017,11 @@ function createBcCommand(options = {}) {
|
|
|
991
1017
|
case "print":
|
|
992
1018
|
for (const item of stmt.items) {
|
|
993
1019
|
if (item.kind === "str") {
|
|
994
|
-
|
|
1020
|
+
appendOutput(item.value);
|
|
995
1021
|
} else {
|
|
996
1022
|
const v = await evalExpr(item);
|
|
997
1023
|
last = v;
|
|
998
|
-
|
|
1024
|
+
appendOutput(formatDecimalInBase(v, obase));
|
|
999
1025
|
}
|
|
1000
1026
|
}
|
|
1001
1027
|
return;
|
|
@@ -1009,13 +1035,13 @@ function createBcCommand(options = {}) {
|
|
|
1009
1035
|
throw new FlowSignal("halt");
|
|
1010
1036
|
case "expr": {
|
|
1011
1037
|
if (stmt.expr.kind === "str") {
|
|
1012
|
-
|
|
1038
|
+
appendOutput(stmt.expr.value);
|
|
1013
1039
|
return;
|
|
1014
1040
|
}
|
|
1015
1041
|
const val = await evalExpr(stmt.expr);
|
|
1016
|
-
if (stmt.expr.kind !== "assign") {
|
|
1042
|
+
if (stmt.expr.kind !== "assign" || stmt.expr.parenthesized) {
|
|
1017
1043
|
last = val;
|
|
1018
|
-
|
|
1044
|
+
appendOutput(formatDecimalInBase(val, obase) + "\n");
|
|
1019
1045
|
}
|
|
1020
1046
|
return;
|
|
1021
1047
|
}
|
|
@@ -1030,15 +1056,20 @@ function createBcCommand(options = {}) {
|
|
|
1030
1056
|
throw sig;
|
|
1031
1057
|
}
|
|
1032
1058
|
}
|
|
1059
|
+
context.signal.throwIfAborted();
|
|
1033
1060
|
if (outBuffer.length > 0) {
|
|
1034
1061
|
await writeText(context.stdout, outBuffer);
|
|
1062
|
+
context.signal.throwIfAborted();
|
|
1035
1063
|
}
|
|
1036
1064
|
return { exitCode: 0 };
|
|
1037
1065
|
} catch (err) {
|
|
1066
|
+
context.signal.throwIfAborted();
|
|
1067
|
+
if (err instanceof Error && err.name === "AbortError") throw err;
|
|
1038
1068
|
const msg = err instanceof Error ? err.message : String(err);
|
|
1039
1069
|
const code = err instanceof UsageError ? 2 : 1;
|
|
1040
1070
|
await writeText(context.stderr, `bc: ${msg}
|
|
1041
1071
|
`);
|
|
1072
|
+
context.signal.throwIfAborted();
|
|
1042
1073
|
return { exitCode: code };
|
|
1043
1074
|
}
|
|
1044
1075
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createColumnCommand
|
|
3
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
4
|
-
import "../safe-bash/command-chunks/chunk-
|
|
5
|
-
import "../safe-bash/command-chunks/chunk-
|
|
6
|
-
import "../safe-bash/command-chunks/chunk-
|
|
3
|
+
} from "../safe-bash/command-chunks/chunk-FZTK4MFI.js";
|
|
4
|
+
import "../safe-bash/command-chunks/chunk-LAOM65EE.js";
|
|
5
|
+
import "../safe-bash/command-chunks/chunk-4OOUQTQO.js";
|
|
6
|
+
import "../safe-bash/command-chunks/chunk-G66QUHIZ.js";
|
|
7
7
|
import "../safe-bash/command-chunks/chunk-AHEQ2THG.js";
|
|
8
|
-
import "../safe-bash/command-chunks/chunk-
|
|
8
|
+
import "../safe-bash/command-chunks/chunk-MTQH74CF.js";
|
|
9
9
|
import "../safe-bash/command-chunks/chunk-HX3SHTCE.js";
|
|
10
10
|
export {
|
|
11
11
|
createColumnCommand
|
|
@@ -8,4 +8,4 @@ export declare function widthOf(point: number): number;
|
|
|
8
8
|
export declare function validateScalar(character: string, allowTab?: boolean): void;
|
|
9
9
|
export declare function cell(text: string, budget: ColumnBudget): Cell | Promise<Cell>;
|
|
10
10
|
export declare function decode(bytes: Uint8Array): string;
|
|
11
|
-
export declare function fields(text: string, separator: Set<string> | undefined, budget: ColumnBudget, remainingCells: number, columnLimit?: number, outputSeparatorBytes?: number):
|
|
11
|
+
export declare function fields(text: string, separator: Set<string> | undefined, budget: ColumnBudget, remainingCells: number, columnLimit?: number, outputSeparatorBytes?: number): Promise<string[]>;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createColumnCommand
|
|
3
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
4
|
-
import "../safe-bash/command-chunks/chunk-
|
|
5
|
-
import "../safe-bash/command-chunks/chunk-
|
|
6
|
-
import "../safe-bash/command-chunks/chunk-
|
|
3
|
+
} from "../safe-bash/command-chunks/chunk-FZTK4MFI.js";
|
|
4
|
+
import "../safe-bash/command-chunks/chunk-LAOM65EE.js";
|
|
5
|
+
import "../safe-bash/command-chunks/chunk-4OOUQTQO.js";
|
|
6
|
+
import "../safe-bash/command-chunks/chunk-G66QUHIZ.js";
|
|
7
7
|
import "../safe-bash/command-chunks/chunk-AHEQ2THG.js";
|
|
8
|
-
import "../safe-bash/command-chunks/chunk-
|
|
8
|
+
import "../safe-bash/command-chunks/chunk-MTQH74CF.js";
|
|
9
9
|
import {
|
|
10
10
|
init_buffer
|
|
11
11
|
} from "../safe-bash/command-chunks/chunk-HX3SHTCE.js";
|
|
@@ -10,8 +10,6 @@ export declare class ColumnBudget extends Budget {
|
|
|
10
10
|
private emittedBytes;
|
|
11
11
|
private retainedBytes;
|
|
12
12
|
private projectedBytes;
|
|
13
|
-
private aborted;
|
|
14
|
-
private readonly pollSignal;
|
|
15
13
|
constructor(context: CommandContext, columnLimits: ColumnLimits);
|
|
16
14
|
check(value: number, maximum: number, label: string): void;
|
|
17
15
|
step(): void | Promise<void>;
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
ColumnBudget,
|
|
3
3
|
ColumnInputs,
|
|
4
4
|
diagnostics
|
|
5
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
5
|
+
} from "../safe-bash/command-chunks/chunk-G66QUHIZ.js";
|
|
6
6
|
import "../safe-bash/command-chunks/chunk-AHEQ2THG.js";
|
|
7
7
|
import "../safe-bash/command-chunks/chunk-HX3SHTCE.js";
|
|
8
8
|
export {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
configuredTable
|
|
3
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
4
|
-
import "../safe-bash/command-chunks/chunk-
|
|
5
|
-
import "../safe-bash/command-chunks/chunk-
|
|
3
|
+
} from "../safe-bash/command-chunks/chunk-LAOM65EE.js";
|
|
4
|
+
import "../safe-bash/command-chunks/chunk-4OOUQTQO.js";
|
|
5
|
+
import "../safe-bash/command-chunks/chunk-G66QUHIZ.js";
|
|
6
6
|
import "../safe-bash/command-chunks/chunk-AHEQ2THG.js";
|
|
7
|
-
import "../safe-bash/command-chunks/chunk-
|
|
7
|
+
import "../safe-bash/command-chunks/chunk-MTQH74CF.js";
|
|
8
8
|
import "../safe-bash/command-chunks/chunk-HX3SHTCE.js";
|
|
9
9
|
export {
|
|
10
10
|
configuredTable
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
jsonOutput,
|
|
3
3
|
tableOutput
|
|
4
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
5
|
-
import "../safe-bash/command-chunks/chunk-
|
|
4
|
+
} from "../safe-bash/command-chunks/chunk-4OOUQTQO.js";
|
|
5
|
+
import "../safe-bash/command-chunks/chunk-G66QUHIZ.js";
|
|
6
6
|
import "../safe-bash/command-chunks/chunk-AHEQ2THG.js";
|
|
7
7
|
import "../safe-bash/command-chunks/chunk-HX3SHTCE.js";
|
|
8
8
|
export {
|
|
@@ -3,3 +3,4 @@ export { cutCsv, type CsvcutOptions, type CsvcutRunOptions } from "./behavior.js
|
|
|
3
3
|
export { CsvBudget, CsvParser, CsvError, defaultCsvLimits, resolveColumns, serializeRow, generatedHeaders, type CsvLimits, type CsvDialect, type CsvRow, type CsvSelection } from "../safe-bash-csv-engine/index.js";
|
|
4
4
|
export { csvcut, csvcutCommand, createCsvcutCommand, csvcutCommands, parseCsvcutArguments, type CsvcutInvocation, type CsvcutCommandOptions, type CsvcutResult } from "./command.js";
|
|
5
5
|
export { createCsvcutCommands, type CsvcutCommandsOptions } from "./command.js";
|
|
6
|
+
export type { CsvLimits as CsvcutLimits } from "../safe-bash-csv-engine/index.js";
|
|
@@ -190,6 +190,7 @@ function cutCsv(source, options, configuration) {
|
|
|
190
190
|
const output = [];
|
|
191
191
|
let pendingBatch = "";
|
|
192
192
|
const chargeEncoded = (text) => {
|
|
193
|
+
b.charge("work", text.length);
|
|
193
194
|
let length = 0;
|
|
194
195
|
for (let i = 0; i < text.length; i++) {
|
|
195
196
|
const code = text.charCodeAt(i);
|
|
@@ -2,3 +2,4 @@ export { csvgrep, csvgrepCommand, createCsvgrepCommand, csvgrepCommands, parseCs
|
|
|
2
2
|
export { createMatcher, matchesRow, type MatchOptions } from "./match.js";
|
|
3
3
|
export { CsvBudget, CsvError, CsvParser, generatedHeaders, selectColumns, serializeRow, type CsvLimits, type CsvDialect, type CsvRow } from "../safe-bash-csv-engine/index.js";
|
|
4
4
|
export { createCsvgrepCommands, type CsvgrepCommandsOptions } from "./command.js";
|
|
5
|
+
export type { CsvLimits as CsvgrepLimits } from "../safe-bash-csv-engine/index.js";
|
|
@@ -525,7 +525,7 @@ async function csvgrep(context, invocation, configuration = {}) {
|
|
|
525
525
|
let stdoutWrites = 0;
|
|
526
526
|
const flushStdout = async () => {
|
|
527
527
|
if (outBatchUsed > 0) {
|
|
528
|
-
const slice = outBatch.
|
|
528
|
+
const slice = outBatch.slice(0, outBatchUsed);
|
|
529
529
|
outBatchUsed = 0;
|
|
530
530
|
stdoutWrites++;
|
|
531
531
|
await writeBytes(stdout.output, slice, signal);
|
|
@@ -778,8 +778,8 @@ async function csvgrep(context, invocation, configuration = {}) {
|
|
|
778
778
|
await flushStdout();
|
|
779
779
|
return { exitCode: 0, accounting: Object.freeze({ ...b.accounting, retainedBytes: 0 }) };
|
|
780
780
|
} catch (error) {
|
|
781
|
-
outBatchUsed = 0;
|
|
782
781
|
signal.throwIfAborted();
|
|
782
|
+
await flushStdout();
|
|
783
783
|
if (!(error instanceof CsvError2) && !(error instanceof FsError)) throw error;
|
|
784
784
|
await write(`error: ${error.message}
|
|
785
785
|
`, true);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "../safe-bash/command-chunks/chunk-
|
|
2
|
-
import "../safe-bash/command-chunks/chunk-
|
|
1
|
+
import "../safe-bash/command-chunks/chunk-DZCY63VJ.js";
|
|
2
|
+
import "../safe-bash/command-chunks/chunk-75OFBY5R.js";
|
|
3
3
|
import "../safe-bash/command-chunks/chunk-6X2OX6IJ.js";
|
|
4
4
|
import {
|
|
5
5
|
BiffStrings,
|
|
@@ -8,17 +8,17 @@ import {
|
|
|
8
8
|
isCfb,
|
|
9
9
|
readBiffRecords,
|
|
10
10
|
readCfb
|
|
11
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
12
|
-
import "../safe-bash/command-chunks/chunk-
|
|
13
|
-
import "../safe-bash/command-chunks/chunk-
|
|
11
|
+
} from "../safe-bash/command-chunks/chunk-6ZVI7LUY.js";
|
|
12
|
+
import "../safe-bash/command-chunks/chunk-RO62EWX6.js";
|
|
13
|
+
import "../safe-bash/command-chunks/chunk-3NV3HYT2.js";
|
|
14
14
|
import "../safe-bash/command-chunks/chunk-KOM3FNCE.js";
|
|
15
|
-
import "../safe-bash/command-chunks/chunk-
|
|
16
|
-
import "../safe-bash/command-chunks/chunk-
|
|
15
|
+
import "../safe-bash/command-chunks/chunk-VA5ZHYYA.js";
|
|
16
|
+
import "../safe-bash/command-chunks/chunk-JV7LBUTP.js";
|
|
17
17
|
import {
|
|
18
18
|
SsconvertError,
|
|
19
19
|
formatA1,
|
|
20
20
|
parseA1
|
|
21
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
21
|
+
} from "../safe-bash/command-chunks/chunk-CCRHMAU5.js";
|
|
22
22
|
import {
|
|
23
23
|
normalizeEncoding,
|
|
24
24
|
pythonCodecAliases,
|
|
@@ -63,7 +63,7 @@ import {
|
|
|
63
63
|
upperText,
|
|
64
64
|
warningText,
|
|
65
65
|
writeCsvRow
|
|
66
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
66
|
+
} from "../safe-bash/command-chunks/chunk-5UBXNSFZ.js";
|
|
67
67
|
import {
|
|
68
68
|
PythonException
|
|
69
69
|
} from "../safe-bash/command-chunks/chunk-JLZPB7NB.js";
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
readCsv,
|
|
10
10
|
sniff,
|
|
11
11
|
writeCsvRow
|
|
12
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
12
|
+
} from "../safe-bash/command-chunks/chunk-5UBXNSFZ.js";
|
|
13
13
|
import "../safe-bash/command-chunks/chunk-JLZPB7NB.js";
|
|
14
14
|
import "../safe-bash/command-chunks/chunk-LVCOWETH.js";
|
|
15
15
|
import "../safe-bash/command-chunks/chunk-2Z22PHMV.js";
|
|
@@ -552,6 +552,8 @@ export function createDdCommands(options = {}) {
|
|
|
552
552
|
export function ddCommands(options = {}) {
|
|
553
553
|
const command = createDdCommand(options);
|
|
554
554
|
return { name: "dd-commands", setup(host) {
|
|
555
|
+
if (!options.replace && host.commands.has(command.name))
|
|
556
|
+
throw new Error(`Command already registered: ${command.name}`);
|
|
555
557
|
host.commands.register(command, { replace: options.replace ?? false });
|
|
556
558
|
} };
|
|
557
559
|
}
|