@poe-platform/safe-bash 0.1.800 → 0.1.802

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.
Files changed (502) hide show
  1. package/README.md +16 -5
  2. package/dist/image-ast/index.browser.js +122 -76
  3. package/dist/image-ast/index.js +122 -76
  4. package/dist/pdf-ast/index.js +4 -3
  5. package/dist/safe-bash/chunks/chunk-3HQU4OJO.js +13 -0
  6. package/dist/safe-bash/chunks/{chunk-LUOFIVNI.js → chunk-3NDIFSNM.js} +3 -3
  7. package/dist/safe-bash/chunks/{chunk-4SEW2Q6H.js → chunk-3R3AANOR.js} +1 -1
  8. package/dist/safe-bash/chunks/{chunk-K4YMYFRJ.js → chunk-44ALJ4QG.js} +5809 -7424
  9. package/dist/safe-bash/chunks/{chunk-KHMGTPD6.js → chunk-46Z5E5EV.js} +2 -2
  10. package/dist/safe-bash/chunks/chunk-4BSJLKNM.js +14 -0
  11. package/dist/safe-bash/chunks/chunk-4D4N7IU2.js +47 -0
  12. package/dist/safe-bash/chunks/chunk-55YJASTN.js +14 -0
  13. package/dist/safe-bash/chunks/{chunk-XB3B7KMM.js → chunk-6O77NL2S.js} +1 -1
  14. package/dist/safe-bash/chunks/{chunk-T3JTVIEP.js → chunk-6PAVEFT3.js} +1 -1
  15. package/dist/safe-bash/chunks/{chunk-PYVEAFJM.js → chunk-74GHTNJA.js} +3 -2
  16. package/dist/safe-bash/chunks/{chunk-LQHGH25W.js → chunk-7R5BDCG7.js} +1 -1
  17. package/dist/safe-bash/chunks/chunk-7ZBU7KYV.js +14 -0
  18. package/dist/safe-bash/chunks/{chunk-MHZ24KEI.js → chunk-AM5ESLPH.js} +1 -1
  19. package/dist/safe-bash/chunks/{chunk-3L3T6LYV.js → chunk-AUSNDQTJ.js} +1 -1
  20. package/dist/safe-bash/chunks/{chunk-YG5WAHK7.js → chunk-B7TAL7S5.js} +1 -3
  21. package/dist/safe-bash/chunks/{chunk-QVSRRNZT.js → chunk-BJA5XNP6.js} +6 -6
  22. package/dist/safe-bash/chunks/{chunk-K7IQZE7D.js → chunk-C5OWC2TL.js} +1 -1
  23. package/dist/safe-bash/chunks/{chunk-F3RV2F72.js → chunk-CHYGPFVM.js} +1 -1
  24. package/dist/safe-bash/chunks/{chunk-M4CFCXHN.js → chunk-CS4MNM6I.js} +1 -1
  25. package/dist/safe-bash/chunks/{chunk-H6JW3E4F.js → chunk-CTVWDACF.js} +1 -1
  26. package/dist/safe-bash/chunks/{chunk-BHJE5LPZ.js → chunk-D3ANYGMC.js} +1 -1
  27. package/dist/safe-bash/chunks/chunk-DQP3VHSB.js +15 -0
  28. package/dist/safe-bash/chunks/{chunk-NLAW7KDI.js → chunk-E7OYNDGL.js} +1 -1
  29. package/dist/safe-bash/chunks/{chunk-SOZK5JVX.js → chunk-FBUCWVTE.js} +1 -1
  30. package/dist/safe-bash/chunks/chunk-FZE4HW6G.js +11 -0
  31. package/dist/safe-bash/chunks/chunk-GEG3BWGE.js +14 -0
  32. package/dist/safe-bash/chunks/{chunk-HHW7MGS2.js → chunk-GETUOD5D.js} +4 -4
  33. package/dist/safe-bash/chunks/chunk-HBCN24ZA.js +50 -0
  34. package/dist/safe-bash/chunks/chunk-HZ7BWKQ3.js +13 -0
  35. package/dist/safe-bash/chunks/{chunk-JJSTTIEZ.js → chunk-HZAMGT5I.js} +3 -3
  36. package/dist/safe-bash/chunks/{chunk-KCVSVD65.js → chunk-I5HZ4FGE.js} +1 -1
  37. package/dist/safe-bash/chunks/{chunk-KV7PKOHV.js → chunk-IWDICZVK.js} +1 -1
  38. package/dist/safe-bash/chunks/{chunk-I4OAEOP6.js → chunk-J42RIHHJ.js} +1 -1
  39. package/dist/safe-bash/chunks/{chunk-K2VCOJ2B.js → chunk-K6VCD7IY.js} +7 -12
  40. package/dist/safe-bash/chunks/chunk-KDNSPLII.js +83 -0
  41. package/dist/safe-bash/chunks/{chunk-63FXVDGF.js → chunk-LVOBFF4D.js} +1 -1
  42. package/dist/safe-bash/chunks/{chunk-U5NUZPCC.js → chunk-MHMMRCYC.js} +1 -1
  43. package/dist/safe-bash/chunks/{chunk-KW24TAIU.js → chunk-NQCM3TYR.js} +922 -658
  44. package/dist/safe-bash/chunks/{chunk-VYZTG3GV.js → chunk-NZQXYWA3.js} +1 -1
  45. package/dist/safe-bash/chunks/{chunk-TFGRKY43.js → chunk-OQRVVGR6.js} +1 -1
  46. package/dist/safe-bash/chunks/{chunk-PPYM75Z3.js → chunk-OV6IHKO6.js} +2 -2
  47. package/dist/safe-bash/chunks/{chunk-TYD7EVUJ.js → chunk-PH63PLPZ.js} +8 -8
  48. package/dist/safe-bash/chunks/chunk-QGUV42T5.js +44 -0
  49. package/dist/safe-bash/chunks/chunk-R3NAKOED.js +51 -0
  50. package/dist/safe-bash/chunks/chunk-RRR7AQ24.js +38 -0
  51. package/dist/safe-bash/chunks/{chunk-RKKRJ54E.js → chunk-RSTHLAF3.js} +30 -23
  52. package/dist/safe-bash/chunks/{chunk-RMWLWH7Q.js → chunk-SHEMU2Z7.js} +378 -1148
  53. package/dist/safe-bash/chunks/{chunk-7YSRXFEG.js → chunk-TFIBK2GI.js} +1 -1
  54. package/dist/safe-bash/chunks/{chunk-I7L3G3NX.js → chunk-UE5KZDEK.js} +2 -2
  55. package/dist/safe-bash/chunks/{chunk-QU3BVQ53.js → chunk-UTBUUFDM.js} +1 -1
  56. package/dist/safe-bash/chunks/{chunk-6HZYFL3H.js → chunk-VKNVHEX3.js} +2 -7
  57. package/dist/safe-bash/chunks/chunk-VSAJ4OTM.js +962 -0
  58. package/dist/safe-bash/chunks/{chunk-46UISJCK.js → chunk-VTH3MLDU.js} +1 -1
  59. package/dist/safe-bash/chunks/{chunk-JTLSUJ7V.js → chunk-WDLGKIHD.js} +56 -39
  60. package/dist/safe-bash/chunks/chunk-XAQMU6OY.js +14 -0
  61. package/dist/safe-bash/chunks/{chunk-LLZCZ24K.js → chunk-XVOSKJE2.js} +1 -1
  62. package/dist/safe-bash/chunks/chunk-ZVD5IS4V.js +49 -0
  63. package/dist/safe-bash/chunks/{csvkit-QGP3GAOB.js → csvkit-TACDU7FC.js} +3 -3
  64. package/dist/safe-bash/chunks/{ffmpeg-JTVH26MK.js → ffmpeg-WTC3TEFI.js} +2 -2
  65. package/dist/safe-bash/chunks/{gh-I7QX7N5C.js → gh-6WU6PXL4.js} +2 -2
  66. package/dist/safe-bash/chunks/{git-MA7NKYVP.js → git-EFZIGJW4.js} +2 -2
  67. package/dist/safe-bash/chunks/{imagemagick-Y4NPWX2Q.js → imagemagick-EIEYGWPF.js} +2 -2
  68. package/dist/safe-bash/chunks/{implementation-BWDKOVQJ.js → implementation-MLFHUQ5M.js} +2 -2
  69. package/dist/safe-bash/chunks/{mmdc-44PELHDG.js → mmdc-ROQJT5HQ.js} +2 -2
  70. package/dist/safe-bash/chunks/{pdfimages-635TRW4Q.js → pdfimages-DW7LWXFI.js} +2 -2
  71. package/dist/safe-bash/chunks/{pdfinfo-FSDAA2KY.js → pdfinfo-TIP6XLUQ.js} +2 -2
  72. package/dist/safe-bash/chunks/{pdftk-GQ5UH3VG.js → pdftk-DMG22ITZ.js} +2 -2
  73. package/dist/safe-bash/chunks/{pdftoppm-YTXQCAYT.js → pdftoppm-WNDYR72T.js} +2 -2
  74. package/dist/safe-bash/chunks/{pdftotext-CVA2G7FY.js → pdftotext-5IPZ4NI7.js} +2 -2
  75. package/dist/safe-bash/chunks/{qpdf-HZMIFG4A.js → qpdf-TTX2DIUA.js} +2 -2
  76. package/dist/safe-bash/chunks/{sips-E7UBDP33.js → sips-XYS46JPJ.js} +2 -2
  77. package/dist/safe-bash/chunks/{soffice-ELASUWUK.js → soffice-TU73E5KL.js} +2 -2
  78. package/dist/safe-bash/chunks/{wkhtmltopdf-EPO6YCMG.js → wkhtmltopdf-FSZ2CHGE.js} +2 -2
  79. package/dist/safe-bash/command-chunks/{chunk-QBGA56UH.js → chunk-2ELYGJDD.js} +7 -7
  80. package/dist/safe-bash/command-chunks/{chunk-52PCQXD2.js → chunk-2NHI5F5S.js} +2 -1
  81. package/dist/safe-bash/command-chunks/{chunk-HDKVO47G.js → chunk-2SQEIUGJ.js} +3 -3
  82. package/dist/safe-bash/command-chunks/{chunk-5LSGEIZY.js → chunk-3HHCU5YU.js} +4 -3
  83. package/dist/safe-bash/command-chunks/{chunk-TF6OA2GK.js → chunk-3NV3HYT2.js} +1 -1
  84. package/dist/safe-bash/command-chunks/{chunk-2QHG43WJ.js → chunk-4BB2SWJ5.js} +1 -1
  85. package/dist/safe-bash/command-chunks/{chunk-IEXHHNOF.js → chunk-4J5CZ2DP.js} +2 -7
  86. package/dist/safe-bash/command-chunks/{chunk-WDHI3S6Y.js → chunk-4OOUQTQO.js} +1 -1
  87. package/dist/safe-bash/command-chunks/{chunk-YMONDXET.js → chunk-4ZQWGOZB.js} +2 -2
  88. package/dist/safe-bash/command-chunks/{chunk-L6DVEBW3.js → chunk-5BSTFCXG.js} +2 -2
  89. package/dist/safe-bash/command-chunks/{chunk-Q3DII3Q7.js → chunk-5PWJG2UK.js} +1 -1
  90. package/dist/safe-bash/command-chunks/{chunk-JMPP4TCW.js → chunk-5UBXNSFZ.js} +3 -2
  91. package/dist/safe-bash/command-chunks/{chunk-3NG75MOB.js → chunk-67GQA75T.js} +1 -1
  92. package/dist/safe-bash/command-chunks/{chunk-L6SU4S26.js → chunk-6B7WQIKB.js} +0 -7
  93. package/dist/safe-bash/command-chunks/{chunk-V6MSPQLA.js → chunk-6BNTBWIK.js} +4 -39
  94. package/dist/safe-bash/command-chunks/{chunk-SAMH7SQE.js → chunk-6GWJUQAV.js} +237 -145
  95. package/dist/safe-bash/command-chunks/{chunk-JN7WIP6S.js → chunk-6KJ3LPI2.js} +2 -2
  96. package/dist/safe-bash/command-chunks/{chunk-HLDTOR7M.js → chunk-6ZVI7LUY.js} +1 -1
  97. package/dist/safe-bash/command-chunks/{chunk-X6NJC3IC.js → chunk-75OFBY5R.js} +1 -1
  98. package/dist/safe-bash/command-chunks/{chunk-MRW5HD2D.js → chunk-7O3E4LPT.js} +4 -22
  99. package/dist/safe-bash/command-chunks/{chunk-TEVJJPTC.js → chunk-7U7EXOXX.js} +1 -1
  100. package/dist/safe-bash/command-chunks/{chunk-6CYTRQ24.js → chunk-7VTKQUA5.js} +20 -17
  101. package/dist/safe-bash/command-chunks/{chunk-BZPAWTUL.js → chunk-AEF5BA3D.js} +1 -1
  102. package/dist/safe-bash/command-chunks/{chunk-63R3FEZJ.js → chunk-AIV5BF5W.js} +1 -1
  103. package/dist/safe-bash/command-chunks/{chunk-AYUTO323.js → chunk-AKJG2XD3.js} +2 -18
  104. package/dist/safe-bash/command-chunks/{chunk-J34TZVMW.js → chunk-ALDC4XP4.js} +0 -5
  105. package/dist/safe-bash/command-chunks/{chunk-CKXV2CLD.js → chunk-ARBYOQUZ.js} +1 -1
  106. package/dist/safe-bash/command-chunks/{chunk-44AHAB5O.js → chunk-BDSMROQZ.js} +1 -4
  107. package/dist/safe-bash/command-chunks/{chunk-53P53XFM.js → chunk-BPE5INLI.js} +1 -1
  108. package/dist/safe-bash/command-chunks/{chunk-OT4LZMLB.js → chunk-BR73BIOW.js} +1 -1
  109. package/dist/safe-bash/command-chunks/{chunk-WB5SVIG7.js → chunk-C5YYCQHW.js} +498 -88
  110. package/dist/safe-bash/command-chunks/{chunk-EUSPTFAX.js → chunk-CAP7ZJSY.js} +7 -7
  111. package/dist/safe-bash/command-chunks/{chunk-DWFLVJC6.js → chunk-CCRHMAU5.js} +2 -1
  112. package/dist/safe-bash/command-chunks/{chunk-GI4CJED2.js → chunk-CQTRW45K.js} +1 -1
  113. package/dist/safe-bash/command-chunks/{chunk-KKG4BAFZ.js → chunk-DIEPXUM4.js} +6 -0
  114. package/dist/safe-bash/command-chunks/{chunk-QJAFJP2G.js → chunk-DZCY63VJ.js} +12 -10
  115. package/dist/safe-bash/command-chunks/{chunk-QUENU6GM.js → chunk-E55UKBIE.js} +3 -3
  116. package/dist/safe-bash/command-chunks/{chunk-MC3VWLIZ.js → chunk-FDBUV4HJ.js} +28 -19
  117. package/dist/safe-bash/command-chunks/{chunk-7FKUC34S.js → chunk-FPVUD6TH.js} +6 -3
  118. package/dist/safe-bash/command-chunks/{chunk-E2LB7FRT.js → chunk-FXOA7RBK.js} +1 -1
  119. package/dist/safe-bash/command-chunks/{chunk-QWIDNAAK.js → chunk-FZTK4MFI.js} +3 -3
  120. package/dist/safe-bash/command-chunks/{chunk-K543PB3I.js → chunk-G66QUHIZ.js} +6 -35
  121. package/dist/safe-bash/command-chunks/{chunk-YJDV76GL.js → chunk-GFQZCKO6.js} +29 -19
  122. package/dist/safe-bash/command-chunks/{chunk-FKKB5X5V.js → chunk-GOB777HR.js} +1 -1
  123. package/dist/safe-bash/command-chunks/{chunk-IYPAQ7PH.js → chunk-GRBWW4SG.js} +6 -0
  124. package/dist/safe-bash/command-chunks/{chunk-EFANWIHL.js → chunk-GY3BWK7K.js} +1 -0
  125. package/dist/safe-bash/command-chunks/{chunk-PPNBNFAU.js → chunk-GYQ2HAKQ.js} +8 -8
  126. package/dist/safe-bash/command-chunks/{chunk-PJJUYO3R.js → chunk-II77KPZN.js} +2 -2
  127. package/dist/safe-bash/command-chunks/{chunk-VL67NWNS.js → chunk-JDYXY44P.js} +2 -2
  128. package/dist/safe-bash/command-chunks/{chunk-4QJOYXVB.js → chunk-JV7LBUTP.js} +1 -1
  129. package/dist/safe-bash/command-chunks/{chunk-IKS2YXZQ.js → chunk-K67MWWWH.js} +3 -3
  130. package/dist/safe-bash/command-chunks/{chunk-BKCNF5U3.js → chunk-KQLD3AED.js} +2 -2
  131. package/dist/safe-bash/command-chunks/{chunk-UMDIOL3O.js → chunk-KXU3IRUO.js} +1 -1
  132. package/dist/safe-bash/command-chunks/{chunk-QZF3SINC.js → chunk-LAOM65EE.js} +2 -2
  133. package/dist/safe-bash/command-chunks/{chunk-HFII3QYO.js → chunk-LWS62ISU.js} +46 -32
  134. package/dist/safe-bash/command-chunks/{chunk-BZDDAPSV.js → chunk-LWSBAWLT.js} +1 -1
  135. package/dist/safe-bash/command-chunks/{chunk-U6G67N23.js → chunk-MIXBO6U7.js} +18 -5
  136. package/dist/safe-bash/command-chunks/{chunk-JQ74HC37.js → chunk-MQFIPHIQ.js} +23 -50
  137. package/dist/safe-bash/command-chunks/{chunk-ZJBR5Q5I.js → chunk-MSFXC3OC.js} +4 -4
  138. package/dist/safe-bash/command-chunks/{chunk-NI7MKJPN.js → chunk-MTQH74CF.js} +3 -55
  139. package/dist/safe-bash/command-chunks/chunk-MWUZZWXK.js +354 -0
  140. package/dist/safe-bash/command-chunks/{chunk-RVLO4DYT.js → chunk-N4PFUSRM.js} +1 -1
  141. package/dist/safe-bash/command-chunks/{chunk-WBNZ4PRE.js → chunk-NGG2XL56.js} +7 -4
  142. package/dist/safe-bash/command-chunks/{chunk-D4OP2BR3.js → chunk-NKFYQSES.js} +1 -2
  143. package/dist/safe-bash/command-chunks/{chunk-NGWB2YBL.js → chunk-O4JQSB7O.js} +1 -1
  144. package/dist/safe-bash/command-chunks/{chunk-GLOZX57Y.js → chunk-OQKC5ZU2.js} +23 -114
  145. package/dist/safe-bash/command-chunks/{chunk-7L24L4UO.js → chunk-OQU6UT6X.js} +2 -20
  146. package/dist/safe-bash/command-chunks/{chunk-TYCGMRLM.js → chunk-OYYV7ZAF.js} +1 -1
  147. package/dist/safe-bash/command-chunks/{chunk-SVULUDOP.js → chunk-P2N33UMN.js} +20 -81
  148. package/dist/safe-bash/command-chunks/{chunk-Q7Q5GM5S.js → chunk-P5APDEFB.js} +2 -2
  149. package/dist/safe-bash/command-chunks/{chunk-3HXDA5PT.js → chunk-PMBFZXTK.js} +1 -1
  150. package/dist/safe-bash/command-chunks/{chunk-4Y3WVMK4.js → chunk-PV66YWHB.js} +1 -0
  151. package/dist/safe-bash/command-chunks/{chunk-AXK3H4PX.js → chunk-QJ33BHI4.js} +1 -1
  152. package/dist/safe-bash/command-chunks/{chunk-3LSOYLNV.js → chunk-QKFSRZGQ.js} +2 -2
  153. package/dist/safe-bash/command-chunks/{chunk-JZSNU2MY.js → chunk-QKJLP53H.js} +2 -2
  154. package/dist/safe-bash/command-chunks/{chunk-LC2MFKT4.js → chunk-RMWQAAO5.js} +24 -25
  155. package/dist/safe-bash/command-chunks/{chunk-QDTBMSBE.js → chunk-RO62EWX6.js} +2 -2
  156. package/dist/safe-bash/command-chunks/{chunk-4C6QI5BQ.js → chunk-RZZI24ZE.js} +4 -4
  157. package/dist/safe-bash/command-chunks/{chunk-PFAADCB5.js → chunk-SDNBCQ3X.js} +10 -24
  158. package/dist/safe-bash/command-chunks/{chunk-36O5OT7E.js → chunk-T35Y7YQD.js} +1 -1
  159. package/dist/safe-bash/command-chunks/{chunk-6HMX4CQS.js → chunk-TGSNCQSR.js} +44 -16
  160. package/dist/safe-bash/command-chunks/{chunk-5T7CRJHW.js → chunk-TIOCQVUQ.js} +4 -7
  161. package/dist/safe-bash/command-chunks/{chunk-GN2TKLE7.js → chunk-TS65BJHG.js} +5 -5
  162. package/dist/safe-bash/command-chunks/{chunk-7RGB363W.js → chunk-TSCGT46G.js} +3 -2
  163. package/dist/safe-bash/command-chunks/{chunk-KBEURXFF.js → chunk-UN6WS55J.js} +3 -3
  164. package/dist/safe-bash/command-chunks/{chunk-SX2X3IH4.js → chunk-V2V5OCL3.js} +1 -1
  165. package/dist/safe-bash/command-chunks/{chunk-ERYJLO6G.js → chunk-V7A7DRTU.js} +1 -1
  166. package/dist/safe-bash/command-chunks/{chunk-5SHGJ7NO.js → chunk-VA5ZHYYA.js} +73 -33
  167. package/dist/safe-bash/command-chunks/{chunk-XETLEHZP.js → chunk-VPR5LQYX.js} +3 -2
  168. package/dist/safe-bash/command-chunks/{chunk-3DT2YOGW.js → chunk-VSRGNQCP.js} +3 -3
  169. package/dist/safe-bash/command-chunks/{chunk-N2F74VRO.js → chunk-VT6MJBEI.js} +1 -1
  170. package/dist/safe-bash/command-chunks/{chunk-J5SN3PZ3.js → chunk-VXSLJH7G.js} +53 -3
  171. package/dist/safe-bash/command-chunks/{chunk-PXYOWWMV.js → chunk-W7RAD4EW.js} +4 -3
  172. package/dist/safe-bash/command-chunks/{chunk-YGC6OS5O.js → chunk-WECIOOQB.js} +5 -8
  173. package/dist/safe-bash/command-chunks/{chunk-HHP343KT.js → chunk-WTECBRU4.js} +1 -1
  174. package/dist/safe-bash/command-chunks/{chunk-AO6Z5EQ7.js → chunk-WVE64WM2.js} +6 -5
  175. package/dist/safe-bash/command-chunks/{chunk-Z7RVSD5K.js → chunk-WVHONVZ4.js} +1 -1
  176. package/dist/safe-bash/command-chunks/{chunk-HLGKIZ25.js → chunk-X54L3DBL.js} +6 -9
  177. package/dist/safe-bash/command-chunks/{chunk-QNIMV57G.js → chunk-XNLFHHOC.js} +1 -1
  178. package/dist/safe-bash/command-chunks/{chunk-XAFSZDY2.js → chunk-XS72HTMA.js} +11 -0
  179. package/dist/safe-bash/command-chunks/{chunk-KYSPGS33.js → chunk-YIQACGEW.js} +2 -0
  180. package/dist/safe-bash/command-chunks/{chunk-NAY27PXB.js → chunk-YOFC45RK.js} +1 -1
  181. package/dist/safe-bash/command-chunks/{chunk-T5H5UJQ3.js → chunk-YVNGTIJO.js} +1 -1
  182. package/dist/safe-bash/command-chunks/{chunk-QI7LGHJJ.js → chunk-Z45N42QC.js} +21 -6
  183. package/dist/safe-bash/command-chunks/{chunk-67IQF5GC.js → chunk-ZYHTWNAE.js} +23 -9
  184. package/dist/safe-bash/command-chunks/{chunk-STC3LEWJ.js → chunk-ZYXH3B66.js} +5 -3
  185. package/dist/safe-bash/commands/apply-patch/index.browser.js +14 -0
  186. package/dist/safe-bash/commands/archive/index.browser.js +36 -0
  187. package/dist/safe-bash/commands/bytes/compression/index.js +3 -2
  188. package/dist/safe-bash/commands/column/index.browser.js +12 -0
  189. package/dist/safe-bash/commands/copy-preserve.d.ts +1 -0
  190. package/dist/safe-bash/commands/csplit/index.browser.js +2 -2
  191. package/dist/safe-bash/commands/docx/index.browser.js +1 -1
  192. package/dist/safe-bash/commands/du/index.browser.js +14 -0
  193. package/dist/safe-bash/commands/execution.js +19 -13
  194. package/dist/safe-bash/commands/expr/index.browser.js +12 -0
  195. package/dist/safe-bash/commands/factor/index.browser.js +2 -2
  196. package/dist/safe-bash/commands/file/index.browser.js +14 -0
  197. package/dist/safe-bash/commands/filesystem.d.ts +1 -1
  198. package/dist/safe-bash/commands/filesystem.js +26 -15
  199. package/dist/safe-bash/commands/getopt/index.browser.js +2 -2
  200. package/dist/safe-bash/commands/grep-aliases/index.browser.js +14 -0
  201. package/dist/safe-bash/commands/hexdump/index.browser.js +2 -2
  202. package/dist/safe-bash/commands/html-to-markdown/index.browser.js +16 -0
  203. package/dist/safe-bash/commands/htmlq/index.d.ts +1 -1
  204. package/dist/safe-bash/commands/iconv/index.browser.js +2 -2
  205. package/dist/safe-bash/commands/line-endings/index.browser.js +2 -2
  206. package/dist/safe-bash/commands/llm/index.browser.js +2 -2
  207. package/dist/safe-bash/commands/llm/providers/index.browser.js +1 -1
  208. package/dist/safe-bash/commands/mdq/index.browser.js +3 -3
  209. package/dist/safe-bash/commands/media/index.browser.js +1 -1
  210. package/dist/safe-bash/commands/metadata/index.browser.js +21 -0
  211. package/dist/safe-bash/commands/network/curl.d.ts +1 -1
  212. package/dist/safe-bash/commands/network/curl.js +1 -3
  213. package/dist/safe-bash/commands/network/index.browser.js +4 -4
  214. package/dist/safe-bash/commands/network/platform-portable.d.ts +1 -5
  215. package/dist/safe-bash/commands/network/platform-portable.js +1 -26
  216. package/dist/safe-bash/commands/network/public.d.ts +2 -2
  217. package/dist/safe-bash/commands/network/public.js +2 -2
  218. package/dist/safe-bash/commands/network/transport.js +2 -2
  219. package/dist/safe-bash/commands/network/wget.d.ts +1 -1
  220. package/dist/safe-bash/commands/network/wget.js +1 -3
  221. package/dist/safe-bash/commands/node/filesystem.js +3 -2
  222. package/dist/safe-bash/commands/node/index.browser.js +8 -8
  223. package/dist/safe-bash/commands/node/types.js +1 -1
  224. package/dist/safe-bash/commands/op/index.browser.js +3 -3
  225. package/dist/safe-bash/commands/pr/index.browser.js +2 -2
  226. package/dist/safe-bash/commands/python/host-capabilities.js +31 -14
  227. package/dist/safe-bash/commands/python/index.browser.js +11 -11
  228. package/dist/safe-bash/commands/python/manifest.d.ts +1 -0
  229. package/dist/safe-bash/commands/python/manifest.js +6 -3
  230. package/dist/safe-bash/commands/python/shell-capability.d.ts +1 -0
  231. package/dist/safe-bash/commands/python/shell-capability.js +3 -2
  232. package/dist/safe-bash/commands/python/worker.browser.js +3 -3
  233. package/dist/safe-bash/commands/regex-execution/public.browser.js +8 -6
  234. package/dist/safe-bash/commands/safejs/runtime.js +16 -7
  235. package/dist/safe-bash/commands/split/index.browser.js +14 -0
  236. package/dist/safe-bash/commands/standard.d.ts +1 -0
  237. package/dist/safe-bash/commands/standard.js +2 -1
  238. package/dist/safe-bash/commands/stream-format/index.browser.js +11 -0
  239. package/dist/safe-bash/commands/stream-inspection/index.browser.js +11 -0
  240. package/dist/safe-bash/commands/streams.js +11 -29
  241. package/dist/safe-bash/commands/table-text/index.browser.js +11 -0
  242. package/dist/safe-bash/commands/text.js +269 -496
  243. package/dist/safe-bash/commands/time-env/index.browser.js +15 -0
  244. package/dist/safe-bash/commands/tree/index.browser.js +14 -0
  245. package/dist/safe-bash/commands/tsort/index.browser.js +2 -2
  246. package/dist/safe-bash/commands/xml/index.browser.js +2 -2
  247. package/dist/safe-bash/commands/yq/index.browser.js +2 -2
  248. package/dist/safe-bash/core.browser.js +1 -1
  249. package/dist/safe-bash/core.d.ts +6 -1
  250. package/dist/safe-bash/core.js +1 -1
  251. package/dist/safe-bash/full-core.browser.js +308 -295
  252. package/dist/safe-bash/jobs.browser.js +5 -5
  253. package/dist/safe-bash/opt-in/commands/dd/index.js +2 -0
  254. package/dist/safe-bash/opt-in/optional/commands/shuf/options.d.ts +1 -0
  255. package/dist/safe-bash/opt-in/optional/commands/shuf/options.js +2 -4
  256. package/dist/safe-bash/opt-in/optional/commands/shuf/shuf.js +2 -1
  257. package/dist/safe-bash/optional-host.browser.js +15 -15
  258. package/dist/safe-bash/plugins/composition.d.ts +1 -0
  259. package/dist/safe-bash/plugins/composition.js +3 -8
  260. package/dist/safe-bash/plugins/index.browser.js +41 -27
  261. package/dist/safe-bash/registry-entry.browser.js +42 -28
  262. package/dist/safe-bash/search.browser.js +48 -0
  263. package/dist/safe-bash/shell/arrays/bindings.js +1 -1
  264. package/dist/safe-bash/shell/arrays/state.js +4 -0
  265. package/dist/safe-bash/shell/brace-expansion.js +1 -1
  266. package/dist/safe-bash/shell/dynamic-variables.d.ts +10 -0
  267. package/dist/safe-bash/shell/dynamic-variables.js +25 -0
  268. package/dist/safe-bash/shell/parser.js +8 -1
  269. package/dist/safe-bash/shell/runtime.d.ts +4 -13
  270. package/dist/safe-bash/shell/runtime.js +334 -1049
  271. package/dist/safe-bash/shell/shell.js +2 -54
  272. package/dist/safe-bash/shell-entry.browser.js +35 -26
  273. package/dist/safe-bash/trap.browser.js +4 -4
  274. package/dist/safe-bash/yq-browser/index.js +1 -1
  275. package/dist/safe-bash-base-encoding-engine/base.js +2 -2
  276. package/dist/safe-bash-base-encoding-engine/shared.js +1 -1
  277. package/dist/safe-bash-byte-input-engine/index.d.ts +3 -2
  278. package/dist/safe-bash-byte-input-engine/index.js +4 -1
  279. package/dist/safe-bash-checksum-engine/index.js +13 -6
  280. package/dist/safe-bash-command-apply-patch/apply.d.ts +1 -1
  281. package/dist/safe-bash-command-apply-patch/apply.js +4 -3
  282. package/dist/safe-bash-command-apply-patch/index.js +3 -3
  283. package/dist/safe-bash-command-apply-patch/matcher.js +1 -1
  284. package/dist/safe-bash-command-apply-patch/parser.js +1 -1
  285. package/dist/safe-bash-command-awk/awk-inspection.js +2 -2
  286. package/dist/safe-bash-command-awk/awk-runtime.js +3 -3
  287. package/dist/safe-bash-command-awk/awk-syntax.d.ts +1 -1
  288. package/dist/safe-bash-command-awk/awk-syntax.js +2 -2
  289. package/dist/safe-bash-command-awk/awk-values.js +1 -1
  290. package/dist/safe-bash-command-awk/awk.js +5 -5
  291. package/dist/safe-bash-command-awk/index.js +5 -5
  292. package/dist/safe-bash-command-bc/index.d.ts +2 -0
  293. package/dist/safe-bash-command-bc/index.js +123 -92
  294. package/dist/safe-bash-command-column/column.js +5 -5
  295. package/dist/safe-bash-command-column/display.d.ts +1 -1
  296. package/dist/safe-bash-command-column/display.js +1 -1
  297. package/dist/safe-bash-command-column/index.js +5 -5
  298. package/dist/safe-bash-command-column/internal.d.ts +0 -2
  299. package/dist/safe-bash-command-column/internal.js +1 -1
  300. package/dist/safe-bash-command-column/layout.js +4 -4
  301. package/dist/safe-bash-command-column/table.js +2 -2
  302. package/dist/safe-bash-command-comm/comm.js +1 -1
  303. package/dist/safe-bash-command-comm/index.js +1 -1
  304. package/dist/safe-bash-command-csvcut/index.d.ts +1 -0
  305. package/dist/safe-bash-command-csvcut/index.js +1 -0
  306. package/dist/safe-bash-command-csvgrep/index.d.ts +1 -0
  307. package/dist/safe-bash-command-csvgrep/index.js +2 -2
  308. package/dist/safe-bash-command-csvkit/index.js +9 -9
  309. package/dist/safe-bash-command-csvkit/sync-support.js +1 -1
  310. package/dist/safe-bash-command-curl/curl.js +1 -1
  311. package/dist/safe-bash-command-curl/index.js +1 -1
  312. package/dist/safe-bash-command-dd/index.js +2 -0
  313. package/dist/safe-bash-command-diff/diff.js +1 -1
  314. package/dist/safe-bash-command-diff/index.js +1 -1
  315. package/dist/safe-bash-command-exiftool/index.d.ts +1 -0
  316. package/dist/safe-bash-command-fd/index.js +9 -9
  317. package/dist/safe-bash-command-ffmpeg/index.js +31 -8
  318. package/dist/safe-bash-command-file/index.js +1 -1
  319. package/dist/safe-bash-command-file/shared.js +1 -1
  320. package/dist/safe-bash-command-find/find.js +1 -1
  321. package/dist/safe-bash-command-find/index.js +1 -1
  322. package/dist/safe-bash-command-gzip/index.js +3 -2
  323. package/dist/safe-bash-command-hexdump/command.js +4 -4
  324. package/dist/safe-bash-command-hexdump/custom.d.ts +24 -0
  325. package/dist/safe-bash-command-hexdump/index.js +4 -4
  326. package/dist/safe-bash-command-hexdump/internal.d.ts +2 -0
  327. package/dist/safe-bash-command-hexdump/internal.js +1 -1
  328. package/dist/safe-bash-command-hexdump/io.js +2 -2
  329. package/dist/safe-bash-command-hexdump/options.d.ts +3 -0
  330. package/dist/safe-bash-command-hexdump/options.js +2 -2
  331. package/dist/safe-bash-command-hostname/index.js +1 -1
  332. package/dist/safe-bash-command-html-to-markdown/budget.js +1 -1
  333. package/dist/safe-bash-command-html-to-markdown/entities.js +3 -3
  334. package/dist/safe-bash-command-html-to-markdown/index.js +6 -6
  335. package/dist/safe-bash-command-html-to-markdown/input.js +5 -5
  336. package/dist/safe-bash-command-html-to-markdown/parser.d.ts +1 -0
  337. package/dist/safe-bash-command-html-to-markdown/parser.js +4 -4
  338. package/dist/safe-bash-command-html-to-markdown/render.js +5 -5
  339. package/dist/safe-bash-command-html-to-markdown/text.js +2 -2
  340. package/dist/safe-bash-command-htmlq/index.d.ts +1 -0
  341. package/dist/safe-bash-command-htmlq/index.js +27 -9
  342. package/dist/safe-bash-command-iconv/codec.js +1 -1
  343. package/dist/safe-bash-command-iconv/command.js +2 -2
  344. package/dist/safe-bash-command-iconv/index.js +2 -2
  345. package/dist/safe-bash-command-imagemagick/index.js +24 -6
  346. package/dist/safe-bash-command-join/index.js +1 -1
  347. package/dist/safe-bash-command-join/join.js +1 -1
  348. package/dist/safe-bash-command-jq/index.js +1 -1
  349. package/dist/safe-bash-command-jq/jq.js +1 -1
  350. package/dist/safe-bash-command-less/index.js +43 -28
  351. package/dist/safe-bash-command-mmdc/index.d.ts +1 -0
  352. package/dist/safe-bash-command-nl/index.js +1 -1
  353. package/dist/safe-bash-command-nl/nl.js +1 -1
  354. package/dist/safe-bash-command-numfmt/index.js +0 -11
  355. package/dist/safe-bash-command-od/index.js +101 -68
  356. package/dist/safe-bash-command-pandoc/command.js +1 -1
  357. package/dist/safe-bash-command-pandoc/index.js +1 -1
  358. package/dist/safe-bash-command-paste/index.js +1 -1
  359. package/dist/safe-bash-command-paste/paste.js +1 -1
  360. package/dist/safe-bash-command-pathchk/index.js +3 -13
  361. package/dist/safe-bash-command-pdfimages/index.js +27 -11
  362. package/dist/safe-bash-command-pdfinfo/index.js +19 -10
  363. package/dist/safe-bash-command-pdftk/index.js +3 -3
  364. package/dist/safe-bash-command-pdftoppm/index.js +26 -10
  365. package/dist/safe-bash-command-pdftotext/index.js +27 -13
  366. package/dist/safe-bash-command-qpdf/index.js +5 -5
  367. package/dist/safe-bash-command-rg/index.js +1 -1
  368. package/dist/safe-bash-command-rg/rg-command.d.ts +0 -1
  369. package/dist/safe-bash-command-rg/rg-command.js +3 -5
  370. package/dist/safe-bash-command-sed/index.js +1 -1
  371. package/dist/safe-bash-command-sed/sed.js +1 -1
  372. package/dist/safe-bash-command-shuf/options.d.ts +1 -0
  373. package/dist/safe-bash-command-shuf/options.js +2 -4
  374. package/dist/safe-bash-command-shuf/shuf.js +2 -1
  375. package/dist/safe-bash-command-soffice/index.js +20 -16
  376. package/dist/safe-bash-command-split/index.js +3 -3
  377. package/dist/safe-bash-command-split/io.js +1 -1
  378. package/dist/safe-bash-command-split/outputs.js +2 -2
  379. package/dist/safe-bash-command-split/split.js +3 -3
  380. package/dist/safe-bash-command-sqlite3/btree.d.ts +1 -0
  381. package/dist/safe-bash-command-sqlite3/engine.d.ts +6 -0
  382. package/dist/safe-bash-command-sqlite3/index.js +284 -85
  383. package/dist/safe-bash-command-ssconvert/commands.js +9 -9
  384. package/dist/safe-bash-command-ssconvert/core.js +8 -8
  385. package/dist/safe-bash-command-ssconvert/formats/csv.js +9 -9
  386. package/dist/safe-bash-command-ssconvert/formats/ods.js +8 -8
  387. package/dist/safe-bash-command-ssconvert/formats/spreadsheetml.js +2 -2
  388. package/dist/safe-bash-command-ssconvert/formats/xls.js +9 -9
  389. package/dist/safe-bash-command-ssconvert/formats/xlsx.js +8 -8
  390. package/dist/safe-bash-command-ssconvert/index.js +20 -20
  391. package/dist/safe-bash-command-tar/extract.js +1 -1
  392. package/dist/safe-bash-command-tar/index.js +5 -4
  393. package/dist/safe-bash-command-tar/modes.js +2 -2
  394. package/dist/safe-bash-command-tree/arguments.js +3 -3
  395. package/dist/safe-bash-command-tree/charset.js +1 -1
  396. package/dist/safe-bash-command-tree/index.js +4 -4
  397. package/dist/safe-bash-command-tree/io.js +1 -1
  398. package/dist/safe-bash-command-tree/pattern.js +2 -2
  399. package/dist/safe-bash-command-tree/tree.js +4 -4
  400. package/dist/safe-bash-command-unexpand/index.js +1 -1
  401. package/dist/safe-bash-command-unexpand/unexpand.js +1 -1
  402. package/dist/safe-bash-command-unrtf/index.js +14 -7
  403. package/dist/safe-bash-command-unzip/index.js +1 -1
  404. package/dist/safe-bash-command-unzip/unzip.js +1 -1
  405. package/dist/safe-bash-command-wget/index.js +1 -1
  406. package/dist/safe-bash-command-wget/wget.js +1 -1
  407. package/dist/safe-bash-command-xan/argv.d.ts +1 -1
  408. package/dist/safe-bash-command-xan/argv.js +1 -1
  409. package/dist/safe-bash-command-xan/commands.js +5 -3
  410. package/dist/safe-bash-command-xan/csv.d.ts +1 -1
  411. package/dist/safe-bash-command-xan/csv.js +1 -1
  412. package/dist/safe-bash-command-xan/index.js +7 -7
  413. package/dist/safe-bash-command-xan/io.js +3 -3
  414. package/dist/safe-bash-command-xmllint/index.js +1 -1
  415. package/dist/safe-bash-command-xxd/index.js +105 -91
  416. package/dist/safe-bash-command-xz/command.d.ts +2 -0
  417. package/dist/safe-bash-command-xz/index.d.ts +1 -1
  418. package/dist/safe-bash-command-xz/index.js +8 -0
  419. package/dist/safe-bash-command-yq/query.js +1 -1
  420. package/dist/safe-bash-command-zip/index.js +1 -1
  421. package/dist/safe-bash-command-zip/zip.js +1 -1
  422. package/dist/safe-bash-contracts/escaping.js +3 -3
  423. package/dist/safe-bash-contracts/filesystem-output.js +2 -2
  424. package/dist/safe-bash-contracts/index.d.ts +1 -0
  425. package/dist/safe-bash-contracts/index.js +7 -3
  426. package/dist/safe-bash-contracts/io.d.ts +4 -1
  427. package/dist/safe-bash-contracts/io.js +3 -1
  428. package/dist/safe-bash-contracts/managed-abort.d.ts +10 -0
  429. package/dist/safe-bash-contracts/output.js +2 -2
  430. package/dist/safe-bash-diff-engine/index.js +1 -1
  431. package/dist/safe-bash-diff-engine/shared.d.ts +3 -2
  432. package/dist/safe-bash-diff-engine/shared.js +1 -1
  433. package/dist/safe-bash-io-engine/commands/archive/internal.js +5 -23
  434. package/dist/safe-bash-io-engine/commands/search/requirements.js +2 -2
  435. package/dist/safe-bash-io-engine/commands/text-programs/shared.js +33 -44
  436. package/dist/safe-bash-io-engine/internal.js +1 -1
  437. package/dist/safe-bash-io-engine/shell/pattern.js +1 -1
  438. package/dist/safe-bash-io-engine/shell/string-operations.js +1 -1
  439. package/dist/safe-bash-mcp/index.browser.d.ts +155 -35
  440. package/dist/safe-bash-mcp/index.browser.js +416 -0
  441. package/dist/safe-bash-mcp/index.d.ts +54 -2
  442. package/dist/safe-bash-mcp/index.js +286 -90
  443. package/dist/safe-bash-network-engine/aggregate.js +2 -2
  444. package/dist/safe-bash-network-engine/args.js +4 -4
  445. package/dist/safe-bash-network-engine/authorizer.js +1 -1
  446. package/dist/safe-bash-network-engine/body.js +6 -6
  447. package/dist/safe-bash-network-engine/decode.d.ts +1 -1
  448. package/dist/safe-bash-network-engine/decode.js +3 -4
  449. package/dist/safe-bash-network-engine/fetch-transport.js +3 -3
  450. package/dist/safe-bash-network-engine/form-content-type.js +2 -2
  451. package/dist/safe-bash-network-engine/form-headers.js +2 -2
  452. package/dist/safe-bash-network-engine/glob.js +1 -1
  453. package/dist/safe-bash-network-engine/index.js +4 -4
  454. package/dist/safe-bash-network-engine/input.js +6 -6
  455. package/dist/safe-bash-network-engine/output.js +2 -2
  456. package/dist/safe-bash-network-engine/platform-portable.js +3 -3
  457. package/dist/safe-bash-network-engine/shared.js +2 -2
  458. package/dist/safe-bash-network-engine/types.d.ts +7 -2
  459. package/dist/safe-bash-network-engine/types.js +1 -1
  460. package/dist/safe-bash-network-engine/url.js +2 -2
  461. package/dist/safe-bash-query-engine/capture.js +3 -3
  462. package/dist/safe-bash-query-engine/delpaths.js +3 -3
  463. package/dist/safe-bash-query-engine/formats.js +2 -2
  464. package/dist/safe-bash-query-engine/index.js +11 -11
  465. package/dist/safe-bash-query-engine/indices.js +3 -3
  466. package/dist/safe-bash-query-engine/input.js +1 -1
  467. package/dist/safe-bash-query-engine/interpreter.js +9 -9
  468. package/dist/safe-bash-query-engine/parser.js +1 -1
  469. package/dist/safe-bash-query-engine/query-core.js +11 -11
  470. package/dist/safe-bash-query-engine/regex.js +4 -4
  471. package/dist/safe-bash-query-engine/splits.js +5 -5
  472. package/dist/safe-bash-query-engine/values.js +2 -2
  473. package/dist/safe-bash-regex-engine/ere/matcher.js +102 -30
  474. package/dist/safe-bash-regex-engine/execution/bounded-provider.js +55 -67
  475. package/dist/safe-bash-regex-engine/execution/portable.d.ts +0 -1
  476. package/dist/safe-bash-regex-engine/execution/portable.js +6 -10
  477. package/dist/safe-bash-regex-engine/execution/protocol.d.ts +0 -5
  478. package/dist/safe-bash-regex-engine/execution/protocol.js +1 -3
  479. package/dist/safe-bash-regex-engine/index.js +6 -4
  480. package/dist/safe-bash-regex-engine/text/budget.d.ts +1 -1
  481. package/dist/safe-bash-regex-engine/text/budget.js +1 -1
  482. package/dist/safe-bash-regex-engine/text/regex.d.ts +14 -0
  483. package/dist/safe-bash-regex-engine/text/regex.js +6 -4
  484. package/dist/safe-bash-regex-engine/text/replacement-buffer.js +2 -2
  485. package/dist/safe-bash-regex-engine/text/rust-syntax.js +2 -2
  486. package/dist/safe-bash-search-engine/grep.js +189 -227
  487. package/dist/safe-bash-table-text-engine/table-text/internal.d.ts +7 -5
  488. package/dist/safe-bash-table-text-engine/table-text/internal.js +39 -21
  489. package/dist/safe-playwright-cloudflare/browser-trace-budget.js +6 -2
  490. package/dist/spreadsheet-engine/codecs/odf-hyperlinks.js +8 -2
  491. package/dist/spreadsheet-engine/formulas/functions/captured-bessel-phase.js +2 -2
  492. package/dist/spreadsheet-engine/formulas/label-references.js +54 -33
  493. package/dist/spreadsheet-engine/formulas/parser.js +3 -1
  494. package/dist/spreadsheet-engine/formulas/rewriting.js +13 -3
  495. package/dist/spreadsheet-format-xls/biff-data-tables.js +4 -6
  496. package/dist/spreadsheet-format-xls/biff-formulas.js +3 -0
  497. package/dist/spreadsheet-format-xls/biff-label-ranges.js +9 -6
  498. package/dist/spreadsheet-format-xls/biff.js +1 -1
  499. package/dist/xlsx-ast/xlsx.js +8 -5
  500. package/package.json +68 -12
  501. package/dist/safe-bash/command-chunks/chunk-KAGBORIC.js +0 -88
  502. /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 (ibase === 10) {
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 === 10) {
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 = Number(intPart % baseBig);
223
- intOut = (obase <= 16 ? digits[d] : ` ${d.toString(10).padStart(2, "0")}`) + intOut;
224
- intPart /= baseBig;
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.trimStart();
227
+ return (neg && absCoeff !== 0n ? "-" : "") + intOut;
229
228
  }
230
229
  let fracOut = "";
231
- for (let i = 0; i < val.scale; i++) {
232
- rem *= baseBig;
233
- const d = Number(rem / scaleFactor);
230
+ for (let place = 1n; place < scaleFactor; place *= obase) {
231
+ rem *= obase;
232
+ const d = rem / scaleFactor;
234
233
  rem %= scaleFactor;
235
- fracOut += obase <= 16 ? digits[d] : ` ${d.toString(10).padStart(2, "0")}`;
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 besselJ(nInt, x) {
240
- const n = Math.trunc(nInt);
241
- if (x === 0) return n === 0 ? 1 : 0;
242
- const m = Math.abs(n);
243
- const halfX = x / 2;
244
- let term = 1;
245
- for (let i = 1; i <= m; i++) term *= halfX / i;
246
- let sum = term;
247
- const minusQuarterX2 = -(halfX * halfX);
248
- for (let k = 1; k <= 80; k++) {
249
- term *= minusQuarterX2 / (k * (m + k));
250
- sum += term;
251
- if (Math.abs(term) < 1e-18 * Math.abs(sum)) break;
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 (n < 0 && (m & 1) === 1) sum = -sum;
254
- return sum;
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
- if (this.matchPunct("[")) {
459
- this.matchPunct("]");
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 = 10;
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 arrays.get(name)?.get(key) ?? ZERO;
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: BigInt(obase), scale: 0 };
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
- let map = arrays.get(name);
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 = Number(truncToInt(val));
784
- if (b < 2 || b > 1e3) throw new Error(`obase (${b}) out of bounds`);
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: BigInt(obase), scale: 0 };
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
- outBuffer += expr.value;
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
- if (expr.name === "s") return fromNumber(Math.sin(toNumber(arg0)), scale);
895
- if (expr.name === "c") return fromNumber(Math.cos(toNumber(arg0)), scale);
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 (!frame.has(name)) frame.set(name, ZERO);
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
- outBuffer += item.value;
1020
+ appendOutput(item.value);
995
1021
  } else {
996
1022
  const v = await evalExpr(item);
997
1023
  last = v;
998
- outBuffer += formatDecimalInBase(v, obase);
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
- outBuffer += stmt.expr.value;
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
- outBuffer += formatDecimalInBase(val, obase) + "\n";
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-QWIDNAAK.js";
4
- import "../safe-bash/command-chunks/chunk-QZF3SINC.js";
5
- import "../safe-bash/command-chunks/chunk-WDHI3S6Y.js";
6
- import "../safe-bash/command-chunks/chunk-K543PB3I.js";
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-NI7MKJPN.js";
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): string[] | Promise<string[]>;
11
+ export declare function fields(text: string, separator: Set<string> | undefined, budget: ColumnBudget, remainingCells: number, columnLimit?: number, outputSeparatorBytes?: number): Promise<string[]>;
@@ -5,7 +5,7 @@ import {
5
5
  validateScalar,
6
6
  whitespace,
7
7
  widthOf
8
- } from "../safe-bash/command-chunks/chunk-NI7MKJPN.js";
8
+ } from "../safe-bash/command-chunks/chunk-MTQH74CF.js";
9
9
  import "../safe-bash/command-chunks/chunk-HX3SHTCE.js";
10
10
  export {
11
11
  cell,
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  createColumnCommand
3
- } from "../safe-bash/command-chunks/chunk-QWIDNAAK.js";
4
- import "../safe-bash/command-chunks/chunk-QZF3SINC.js";
5
- import "../safe-bash/command-chunks/chunk-WDHI3S6Y.js";
6
- import "../safe-bash/command-chunks/chunk-K543PB3I.js";
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-NI7MKJPN.js";
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-K543PB3I.js";
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-QZF3SINC.js";
4
- import "../safe-bash/command-chunks/chunk-WDHI3S6Y.js";
5
- import "../safe-bash/command-chunks/chunk-K543PB3I.js";
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-NI7MKJPN.js";
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-WDHI3S6Y.js";
5
- import "../safe-bash/command-chunks/chunk-K543PB3I.js";
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 {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createCommCommand
3
- } from "../safe-bash/command-chunks/chunk-GN2TKLE7.js";
3
+ } from "../safe-bash/command-chunks/chunk-TS65BJHG.js";
4
4
  import "../safe-bash/command-chunks/chunk-HX3SHTCE.js";
5
5
  export {
6
6
  createCommCommand
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createCommCommand
3
- } from "../safe-bash/command-chunks/chunk-GN2TKLE7.js";
3
+ } from "../safe-bash/command-chunks/chunk-TS65BJHG.js";
4
4
  import {
5
5
  init_buffer
6
6
  } from "../safe-bash/command-chunks/chunk-HX3SHTCE.js";
@@ -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.subarray(0, outBatchUsed);
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-QJAFJP2G.js";
2
- import "../safe-bash/command-chunks/chunk-X6NJC3IC.js";
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-HLDTOR7M.js";
12
- import "../safe-bash/command-chunks/chunk-QDTBMSBE.js";
13
- import "../safe-bash/command-chunks/chunk-TF6OA2GK.js";
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-5SHGJ7NO.js";
16
- import "../safe-bash/command-chunks/chunk-4QJOYXVB.js";
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-DWFLVJC6.js";
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-JMPP4TCW.js";
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-JMPP4TCW.js";
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";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createCurlCommand,
3
3
  createTransferCommand
4
- } from "../safe-bash/command-chunks/chunk-STC3LEWJ.js";
4
+ } from "../safe-bash/command-chunks/chunk-ZYXH3B66.js";
5
5
  import "../safe-bash/command-chunks/chunk-HX3SHTCE.js";
6
6
  export {
7
7
  createCurlCommand,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createCurlCommand
3
- } from "../safe-bash/command-chunks/chunk-STC3LEWJ.js";
3
+ } from "../safe-bash/command-chunks/chunk-ZYXH3B66.js";
4
4
  import {
5
5
  init_buffer
6
6
  } from "../safe-bash/command-chunks/chunk-HX3SHTCE.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
  }