@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
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  jobsExtension
3
- } from "./chunks/chunk-QVSRRNZT.js";
4
- import "./chunks/chunk-I4OAEOP6.js";
5
- import "./chunks/chunk-PYVEAFJM.js";
6
- import "./chunks/chunk-LQHGH25W.js";
3
+ } from "./chunks/chunk-BJA5XNP6.js";
4
+ import "./chunks/chunk-J42RIHHJ.js";
5
+ import "./chunks/chunk-7R5BDCG7.js";
6
+ import "./chunks/chunk-74GHTNJA.js";
7
7
  import {
8
8
  init_platform
9
- } from "./chunks/chunk-YG5WAHK7.js";
9
+ } from "./chunks/chunk-B7TAL7S5.js";
10
10
 
11
11
  // packages/safe-bash/src/jobs.ts
12
12
  init_platform();
@@ -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
  }
@@ -1,5 +1,6 @@
1
1
  export interface ShufCommandsOptions {
2
2
  readonly replace?: boolean;
3
+ readonly limits?: Partial<ShufLimits>;
3
4
  readonly maxInputBytes?: number;
4
5
  readonly maxSampleSize?: number;
5
6
  }
@@ -1,8 +1,6 @@
1
1
  export function settings(options = {}) {
2
- const limits = { maxInputBytes: options.maxInputBytes ?? Infinity, maxSampleSize: options.maxSampleSize ?? Infinity };
3
- for (const [name, value] of Object.entries(options)) {
4
- if (name === "replace")
5
- continue;
2
+ const limits = { maxInputBytes: options.limits?.maxInputBytes ?? options.maxInputBytes ?? Infinity, maxSampleSize: options.limits?.maxSampleSize ?? options.maxSampleSize ?? Infinity };
3
+ for (const [name, value] of Object.entries(limits)) {
6
4
  if (value !== Infinity && (!Number.isSafeInteger(value) || value < 1))
7
5
  throw new RangeError(`Invalid shuf ${name}`);
8
6
  }
@@ -58,6 +58,7 @@ export function createShufCommand(options = {}) {
58
58
  await writeBytes(context.stdout, encoder.encode(parsed.action === "help" ? help : version), context.signal);
59
59
  return { exitCode: 0 };
60
60
  }
61
+ await yieldTurn(context.signal);
61
62
  const lines = [];
62
63
  let totalBytes = 0;
63
64
  let size = parsed.count === 0n ? 0n : parsed.range?.size ?? 0n;
@@ -249,7 +250,7 @@ export function createShufCommand(options = {}) {
249
250
  }
250
251
  },
251
252
  });
252
- if (options.maxInputBytes === undefined && options.maxSampleSize === undefined)
253
+ if (limits.maxInputBytes === Infinity && limits.maxSampleSize === Infinity)
253
254
  builtInDirectContextExecutors.add(command.execute);
254
255
  return command;
255
256
  }
@@ -1,18 +1,15 @@
1
- import {
2
- portableTrapExtension
3
- } from "./chunks/chunk-LUOFIVNI.js";
4
1
  import {
5
2
  signalName
6
- } from "./chunks/chunk-SOZK5JVX.js";
3
+ } from "./chunks/chunk-FBUCWVTE.js";
4
+ import {
5
+ portableTrapExtension
6
+ } from "./chunks/chunk-3NDIFSNM.js";
7
7
  import {
8
8
  ByteInputBudget,
9
9
  compareCopyIdentity,
10
10
  compareObservedEntries,
11
11
  inputRequirements
12
- } from "./chunks/chunk-LLZCZ24K.js";
13
- import {
14
- latin1Text
15
- } from "./chunks/chunk-BHJE5LPZ.js";
12
+ } from "./chunks/chunk-XVOSKJE2.js";
16
13
  import {
17
14
  EreLedger,
18
15
  EreProfileLimitError,
@@ -20,13 +17,16 @@ import {
20
17
  EreUnsupportedError,
21
18
  compileEre,
22
19
  prepareUtf8EreSubject
23
- } from "./chunks/chunk-XB3B7KMM.js";
20
+ } from "./chunks/chunk-6O77NL2S.js";
24
21
  import {
25
22
  jobsExtension
26
- } from "./chunks/chunk-QVSRRNZT.js";
27
- import "./chunks/chunk-I4OAEOP6.js";
28
- import "./chunks/chunk-PYVEAFJM.js";
29
- import "./chunks/chunk-LQHGH25W.js";
23
+ } from "./chunks/chunk-BJA5XNP6.js";
24
+ import "./chunks/chunk-J42RIHHJ.js";
25
+ import "./chunks/chunk-7R5BDCG7.js";
26
+ import {
27
+ latin1Text
28
+ } from "./chunks/chunk-D3ANYGMC.js";
29
+ import "./chunks/chunk-74GHTNJA.js";
30
30
  import {
31
31
  UsageError,
32
32
  builtInDirectContextExecutors,
@@ -40,10 +40,10 @@ import {
40
40
  registerDefaultExecutor,
41
41
  registerDefaultExecutors,
42
42
  syncCommandEvaluators
43
- } from "./chunks/chunk-NLAW7KDI.js";
43
+ } from "./chunks/chunk-E7OYNDGL.js";
44
44
  import {
45
45
  init_platform
46
- } from "./chunks/chunk-YG5WAHK7.js";
46
+ } from "./chunks/chunk-B7TAL7S5.js";
47
47
 
48
48
  // packages/safe-bash/src/optional-host.ts
49
49
  init_platform();
@@ -72,6 +72,7 @@ export interface AgentCommandsOptions {
72
72
  readonly regex?: RegexExecutionOptions;
73
73
  readonly regexExecutor?: BoundedRegexProvider;
74
74
  readonly maxDirectoryEntries?: number;
75
+ readonly maxRecursiveDirectoryDepth?: number;
75
76
  readonly maxTeeTargets?: number;
76
77
  readonly maxTailFollowHandles?: number;
77
78
  readonly text?: Omit<TextProgramOptions, "replace">;
@@ -58,17 +58,12 @@ import { createLocaleCommands } from "../commands/locale/index.js";
58
58
  import { createDfCommands } from "../commands/df/index.js";
59
59
  import { createSqlite3Commands } from "../commands/sqlite3/index.js";
60
60
  import { createMdqCommand } from "../commands/mdq/index.js";
61
- let defaultMuscleMemoryLookup;
62
- function getExtraAgentCommand(name) {
63
- defaultMuscleMemoryLookup ??= new Map(createExtraAgentCommands().map(cmd => [cmd.name, cmd]));
64
- return defaultMuscleMemoryLookup.get(name);
65
- }
66
61
  function createExtraAgentCommands(options) {
67
62
  return [...createBcCommands(options?.bc), ...createSpongeCommands(options?.sponge), ...createOpensslCommands(), ...createSshCommands(), ...createGpgCommands(), ...createFdCommands(options?.fd), ...createLessCommands(options?.less), ...createIdCommands(), ...createWhoamiCommands(), ...createUnameCommands(), ...createHostnameCommands(), ...createNprocCommands(), ...createShufCommands(), ...createYesCommands(), ...createDdCommands(), ...createNumfmtCommands(), ...createEnvsubstCommands(), ...createCalCommands(), ...createPathchkCommands(), ...createGetconfCommands(), ...createLocaleCommands(), ...createDfCommands(), ...createSqlite3Commands(options?.sqlite3)];
68
63
  }
69
64
  export function commandExecutor(lookup) {
70
65
  return async (context) => {
71
- const command = lookup(context.command) ?? getExtraAgentCommand(context.command);
66
+ const command = lookup(context.command);
72
67
  if (command)
73
68
  return command.execute(context);
74
69
  await diagnostic(context, new PublicDiagnostic("command not found"));
@@ -161,7 +156,7 @@ export function composeRawAgentCommands(options, executors, additionalCommands =
161
156
  if (!hasCustomFamilyOptions(options)) {
162
157
  const defaults = getDefaultStatelessFamilies();
163
158
  const aliasesGrep = executors.aliases === executors.grep ? grep[0] : createGrepCommands(executors.aliases, { ergonomicRegex: useErgonomicGrep })[0];
164
- commands.push(...createStandardCommandsWithGrep({ execute: options.execute ?? commandExecutor(name => commands.find(command => command.name === name)), ...(options.execution === undefined ? {} : { execution: options.execution }), ...(options.regex === undefined ? {} : { regex: options.regex }), ...(options.maxDirectoryEntries === undefined ? {} : { maxDirectoryEntries: options.maxDirectoryEntries }), ...(options.maxTeeTargets === undefined ? {} : { maxTeeTargets: options.maxTeeTargets }), ...(options.maxTailFollowHandles === undefined ? {} : { maxTailFollowHandles: options.maxTailFollowHandles }) }, grep), ...defaults.beforeAliases, createRgCommand(executors.search, options.search), ...createGrepAliases(aliasesGrep), ...defaults.beforeExpr, createExprCommandWithExecutor(executors.expr, exprLimits === undefined ? {} : { limits: exprLimits }), ...defaults.beforeCsplit, createCsplitCommandWithExecutor(executors.csplit, csplitLimits === undefined ? {} : { limits: csplitLimits }), ...defaults.afterCsplit);
159
+ commands.push(...createStandardCommandsWithGrep({ execute: options.execute ?? commandExecutor(name => commands.find(command => command.name === name)), ...(options.execution === undefined ? {} : { execution: options.execution }), ...(options.regex === undefined ? {} : { regex: options.regex }), ...(options.maxDirectoryEntries === undefined ? {} : { maxDirectoryEntries: options.maxDirectoryEntries }), ...(options.maxRecursiveDirectoryDepth === undefined ? {} : { maxRecursiveDirectoryDepth: options.maxRecursiveDirectoryDepth }), ...(options.maxTeeTargets === undefined ? {} : { maxTeeTargets: options.maxTeeTargets }), ...(options.maxTailFollowHandles === undefined ? {} : { maxTailFollowHandles: options.maxTailFollowHandles }) }, grep), ...defaults.beforeAliases, createRgCommand(executors.search, options.search), ...createGrepAliases(aliasesGrep), ...defaults.beforeExpr, createExprCommandWithExecutor(executors.expr, exprLimits === undefined ? {} : { limits: exprLimits }), ...defaults.beforeCsplit, createCsplitCommandWithExecutor(executors.csplit, csplitLimits === undefined ? {} : { limits: csplitLimits }), ...defaults.afterCsplit);
165
160
  return commands;
166
161
  }
167
162
  const prOptions = options.pr;
@@ -180,7 +175,7 @@ export function composeRawAgentCommands(options, executors, additionalCommands =
180
175
  const xmlLimits = options.xml?.limits;
181
176
  commands.push(
182
177
  // Explicit muscle-memory registration selects its shuf and numfmt definitions.
183
- ...createStandardCommandsWithGrep({ execute: options.execute ?? commandExecutor(name => commands.find(command => command.name === name)), ...(options.execution === undefined ? {} : { execution: options.execution }), ...(options.regex === undefined ? {} : { regex: options.regex }), ...(options.maxDirectoryEntries === undefined ? {} : { maxDirectoryEntries: options.maxDirectoryEntries }), ...(options.maxTeeTargets === undefined ? {} : { maxTeeTargets: options.maxTeeTargets }), ...(options.maxTailFollowHandles === undefined ? {} : { maxTailFollowHandles: options.maxTailFollowHandles }) }, grep).filter(command => !options.muscleMemory || (command.name !== "shuf" && command.name !== "numfmt")), ...createTextProgramCommands({ ...options.text }), ...createStructuredCommands({ ...options.structured }), createRgCommand(executors.search, options.search), ...createByteCommands(options.bytes), ...createDiffPatchCommands({ ...options.diffPatch }), ...createMetadataCommands({ ...options.metadata }), ...createArchiveCommands({ ...options.archive }), ...createTableTextCommands({ ...options.tableText }), ...createStreamInspectionCommands({ ...options.streamInspection }), ...createStreamFormatCommands({ ...options.streamFormat }), ...createSplitCommands({ ...options.split }), ...createTimeEnvCommands({ ...options.timeEnv }), ...createTreeCommands({ ...options.tree }), ...createFileCommands({ ...options.file }), ...createGrepAliases(createGrepCommands(executors.aliases, { ergonomicRegex: useErgonomicGrep })[0]), ...createColumnCommands({ ...options.column }), ...createHtmlToMarkdownCommands({ ...options.htmlToMarkdown }), ...createDuCommands({ ...options.du }), createExprCommandWithExecutor(executors.expr, exprLimits === undefined ? {} : { limits: exprLimits }), ...createWhichCommands(whichLimits === undefined ? {} : { limits: whichLimits }), ...createTimeoutCommands(timeoutOptions === undefined ? undefined : {
178
+ ...createStandardCommandsWithGrep({ execute: options.execute ?? commandExecutor(name => commands.find(command => command.name === name)), ...(options.execution === undefined ? {} : { execution: options.execution }), ...(options.regex === undefined ? {} : { regex: options.regex }), ...(options.maxDirectoryEntries === undefined ? {} : { maxDirectoryEntries: options.maxDirectoryEntries }), ...(options.maxRecursiveDirectoryDepth === undefined ? {} : { maxRecursiveDirectoryDepth: options.maxRecursiveDirectoryDepth }), ...(options.maxTeeTargets === undefined ? {} : { maxTeeTargets: options.maxTeeTargets }), ...(options.maxTailFollowHandles === undefined ? {} : { maxTailFollowHandles: options.maxTailFollowHandles }) }, grep).filter(command => !options.muscleMemory || (command.name !== "shuf" && command.name !== "numfmt")), ...createTextProgramCommands({ ...options.text }), ...createStructuredCommands({ ...options.structured }), createRgCommand(executors.search, options.search), ...createByteCommands(options.bytes), ...createDiffPatchCommands({ ...options.diffPatch }), ...createMetadataCommands({ ...options.metadata }), ...createArchiveCommands({ ...options.archive }), ...createTableTextCommands({ ...options.tableText }), ...createStreamInspectionCommands({ ...options.streamInspection }), ...createStreamFormatCommands({ ...options.streamFormat }), ...createSplitCommands({ ...options.split }), ...createTimeEnvCommands({ ...options.timeEnv }), ...createTreeCommands({ ...options.tree }), ...createFileCommands({ ...options.file }), ...createGrepAliases(createGrepCommands(executors.aliases, { ergonomicRegex: useErgonomicGrep })[0]), ...createColumnCommands({ ...options.column }), ...createHtmlToMarkdownCommands({ ...options.htmlToMarkdown }), ...createDuCommands({ ...options.du }), createExprCommandWithExecutor(executors.expr, exprLimits === undefined ? {} : { limits: exprLimits }), ...createWhichCommands(whichLimits === undefined ? {} : { limits: whichLimits }), ...createTimeoutCommands(timeoutOptions === undefined ? undefined : {
184
179
  ...timeoutOptions,
185
180
  }), ...createApplyPatchCommands(applyPatchLimits === undefined ? {} : { limits: applyPatchLimits }), ...createXmlCommands(xmlLimits === undefined ? {} : { limits: xmlLimits }), createCsplitCommandWithExecutor(executors.csplit, csplitLimits === undefined ? {} : { limits: csplitLimits }), ...createPrCommands({ ...(prLimits === undefined ? {} : { limits: prLimits }), ...(prClock === undefined ? {} : { clock: prClock }) }), ...createTsortCommands(tsortLimits === undefined ? {} : { limits: tsortLimits }), ...createFactorCommands(factorLimits === undefined ? {} : { limits: factorLimits }), ...createGetoptCommands(getoptLimits === undefined ? {} : { limits: getoptLimits }), ...createHexdumpCommands({ ...(hexdumpLimits === undefined ? {} : { limits: hexdumpLimits }), ...(hexdumpDialect === undefined ? {} : { dialect: hexdumpDialect }) }), ...createIconvCommands(iconvLimits === undefined ? {} : { limits: iconvLimits }), ...createLineEndingCommands(lineEndingLimits === undefined ? {} : { limits: lineEndingLimits }), ...(options.muscleMemory ? createExtraAgentCommands(options) : options.sqlite3 ? createSqlite3Commands(options.sqlite3) : []), createMdqCommand(options.mdq));
186
181
  return commands;
@@ -1,35 +1,49 @@
1
1
  import {
2
2
  agentCommands,
3
3
  createAgentCommands
4
- } from "../chunks/chunk-HHW7MGS2.js";
4
+ } from "../chunks/chunk-GETUOD5D.js";
5
5
  import {
6
6
  baseAgentCommands
7
- } from "../chunks/chunk-KW24TAIU.js";
8
- import "../chunks/chunk-MHZ24KEI.js";
9
- import "../chunks/chunk-M4CFCXHN.js";
10
- import "../chunks/chunk-SOZK5JVX.js";
11
- import "../chunks/chunk-T3JTVIEP.js";
12
- import "../chunks/chunk-K4YMYFRJ.js";
13
- import "../chunks/chunk-U5NUZPCC.js";
14
- import "../chunks/chunk-3L3T6LYV.js";
15
- import "../chunks/chunk-H6JW3E4F.js";
16
- import "../chunks/chunk-4SEW2Q6H.js";
17
- import "../chunks/chunk-PPYM75Z3.js";
18
- import "../chunks/chunk-LLZCZ24K.js";
19
- import "../chunks/chunk-K7IQZE7D.js";
20
- import "../chunks/chunk-TYD7EVUJ.js";
21
- import "../chunks/chunk-BHJE5LPZ.js";
22
- import "../chunks/chunk-F3RV2F72.js";
23
- import "../chunks/chunk-6HZYFL3H.js";
24
- import "../chunks/chunk-I4OAEOP6.js";
25
- import "../chunks/chunk-JJSTTIEZ.js";
26
- import "../chunks/chunk-46UISJCK.js";
27
- import "../chunks/chunk-VYZTG3GV.js";
28
- import "../chunks/chunk-PYVEAFJM.js";
29
- import "../chunks/chunk-LQHGH25W.js";
30
- import "../chunks/chunk-KV7PKOHV.js";
31
- import "../chunks/chunk-NLAW7KDI.js";
32
- import "../chunks/chunk-YG5WAHK7.js";
7
+ } from "../chunks/chunk-NQCM3TYR.js";
8
+ import "../chunks/chunk-AM5ESLPH.js";
9
+ import "../chunks/chunk-CS4MNM6I.js";
10
+ import "../chunks/chunk-FBUCWVTE.js";
11
+ import "../chunks/chunk-6PAVEFT3.js";
12
+ import "../chunks/chunk-VKNVHEX3.js";
13
+ import "../chunks/chunk-HZAMGT5I.js";
14
+ import "../chunks/chunk-3HQU4OJO.js";
15
+ import "../chunks/chunk-XAQMU6OY.js";
16
+ import "../chunks/chunk-44ALJ4QG.js";
17
+ import "../chunks/chunk-MHMMRCYC.js";
18
+ import "../chunks/chunk-AUSNDQTJ.js";
19
+ import "../chunks/chunk-CTVWDACF.js";
20
+ import "../chunks/chunk-3R3AANOR.js";
21
+ import "../chunks/chunk-OV6IHKO6.js";
22
+ import "../chunks/chunk-XVOSKJE2.js";
23
+ import "../chunks/chunk-C5OWC2TL.js";
24
+ import "../chunks/chunk-PH63PLPZ.js";
25
+ import "../chunks/chunk-CHYGPFVM.js";
26
+ import "../chunks/chunk-FZE4HW6G.js";
27
+ import "../chunks/chunk-J42RIHHJ.js";
28
+ import "../chunks/chunk-7R5BDCG7.js";
29
+ import "../chunks/chunk-55YJASTN.js";
30
+ import "../chunks/chunk-4BSJLKNM.js";
31
+ import "../chunks/chunk-DQP3VHSB.js";
32
+ import "../chunks/chunk-GEG3BWGE.js";
33
+ import "../chunks/chunk-VSAJ4OTM.js";
34
+ import "../chunks/chunk-D3ANYGMC.js";
35
+ import "../chunks/chunk-VTH3MLDU.js";
36
+ import "../chunks/chunk-NZQXYWA3.js";
37
+ import "../chunks/chunk-74GHTNJA.js";
38
+ import "../chunks/chunk-QGUV42T5.js";
39
+ import "../chunks/chunk-4D4N7IU2.js";
40
+ import "../chunks/chunk-HBCN24ZA.js";
41
+ import "../chunks/chunk-R3NAKOED.js";
42
+ import "../chunks/chunk-7ZBU7KYV.js";
43
+ import "../chunks/chunk-ZVD5IS4V.js";
44
+ import "../chunks/chunk-E7OYNDGL.js";
45
+ import "../chunks/chunk-IWDICZVK.js";
46
+ import "../chunks/chunk-B7TAL7S5.js";
33
47
  export {
34
48
  agentCommands,
35
49
  baseAgentCommands,
@@ -1,37 +1,51 @@
1
1
  import {
2
2
  baseAgentCommands
3
- } from "./chunks/chunk-KW24TAIU.js";
4
- import "./chunks/chunk-MHZ24KEI.js";
5
- import "./chunks/chunk-M4CFCXHN.js";
6
- import "./chunks/chunk-SOZK5JVX.js";
7
- import "./chunks/chunk-T3JTVIEP.js";
8
- import "./chunks/chunk-K4YMYFRJ.js";
9
- import "./chunks/chunk-U5NUZPCC.js";
10
- import "./chunks/chunk-3L3T6LYV.js";
11
- import "./chunks/chunk-H6JW3E4F.js";
12
- import "./chunks/chunk-4SEW2Q6H.js";
13
- import "./chunks/chunk-PPYM75Z3.js";
14
- import "./chunks/chunk-LLZCZ24K.js";
15
- import "./chunks/chunk-K7IQZE7D.js";
16
- import "./chunks/chunk-TYD7EVUJ.js";
17
- import "./chunks/chunk-BHJE5LPZ.js";
18
- import "./chunks/chunk-F3RV2F72.js";
19
- import "./chunks/chunk-KHMGTPD6.js";
20
- import "./chunks/chunk-XB3B7KMM.js";
3
+ } from "./chunks/chunk-NQCM3TYR.js";
4
+ import "./chunks/chunk-AM5ESLPH.js";
5
+ import "./chunks/chunk-CS4MNM6I.js";
6
+ import "./chunks/chunk-FBUCWVTE.js";
7
+ import "./chunks/chunk-6PAVEFT3.js";
8
+ import "./chunks/chunk-46Z5E5EV.js";
9
+ import "./chunks/chunk-VKNVHEX3.js";
10
+ import "./chunks/chunk-HZAMGT5I.js";
11
+ import "./chunks/chunk-3HQU4OJO.js";
12
+ import "./chunks/chunk-XAQMU6OY.js";
13
+ import "./chunks/chunk-44ALJ4QG.js";
14
+ import "./chunks/chunk-MHMMRCYC.js";
15
+ import "./chunks/chunk-AUSNDQTJ.js";
16
+ import "./chunks/chunk-CTVWDACF.js";
17
+ import "./chunks/chunk-3R3AANOR.js";
18
+ import "./chunks/chunk-OV6IHKO6.js";
19
+ import "./chunks/chunk-XVOSKJE2.js";
20
+ import "./chunks/chunk-C5OWC2TL.js";
21
+ import "./chunks/chunk-PH63PLPZ.js";
22
+ import "./chunks/chunk-CHYGPFVM.js";
23
+ import "./chunks/chunk-6O77NL2S.js";
21
24
  import {
22
25
  createBoundedRegexProvider
23
- } from "./chunks/chunk-6HZYFL3H.js";
24
- import "./chunks/chunk-I4OAEOP6.js";
25
- import "./chunks/chunk-JJSTTIEZ.js";
26
- import "./chunks/chunk-46UISJCK.js";
27
- import "./chunks/chunk-VYZTG3GV.js";
28
- import "./chunks/chunk-PYVEAFJM.js";
29
- import "./chunks/chunk-LQHGH25W.js";
30
- import "./chunks/chunk-KV7PKOHV.js";
31
- import "./chunks/chunk-NLAW7KDI.js";
26
+ } from "./chunks/chunk-FZE4HW6G.js";
27
+ import "./chunks/chunk-J42RIHHJ.js";
28
+ import "./chunks/chunk-7R5BDCG7.js";
29
+ import "./chunks/chunk-55YJASTN.js";
30
+ import "./chunks/chunk-4BSJLKNM.js";
31
+ import "./chunks/chunk-DQP3VHSB.js";
32
+ import "./chunks/chunk-GEG3BWGE.js";
33
+ import "./chunks/chunk-VSAJ4OTM.js";
34
+ import "./chunks/chunk-D3ANYGMC.js";
35
+ import "./chunks/chunk-VTH3MLDU.js";
36
+ import "./chunks/chunk-NZQXYWA3.js";
37
+ import "./chunks/chunk-74GHTNJA.js";
38
+ import "./chunks/chunk-QGUV42T5.js";
39
+ import "./chunks/chunk-4D4N7IU2.js";
40
+ import "./chunks/chunk-HBCN24ZA.js";
41
+ import "./chunks/chunk-R3NAKOED.js";
42
+ import "./chunks/chunk-7ZBU7KYV.js";
43
+ import "./chunks/chunk-ZVD5IS4V.js";
44
+ import "./chunks/chunk-E7OYNDGL.js";
45
+ import "./chunks/chunk-IWDICZVK.js";
32
46
  import {
33
47
  init_platform
34
- } from "./chunks/chunk-YG5WAHK7.js";
48
+ } from "./chunks/chunk-B7TAL7S5.js";
35
49
 
36
50
  // packages/safe-bash/src/registry-entry.ts
37
51
  init_platform();
@@ -0,0 +1,48 @@
1
+ import {
2
+ Shell,
3
+ createSearchCommands
4
+ } from "./chunks/chunk-SHEMU2Z7.js";
5
+ import "./chunks/chunk-TFIBK2GI.js";
6
+ import "./chunks/chunk-3NDIFSNM.js";
7
+ import "./chunks/chunk-44ALJ4QG.js";
8
+ import "./chunks/chunk-MHMMRCYC.js";
9
+ import "./chunks/chunk-AUSNDQTJ.js";
10
+ import "./chunks/chunk-CTVWDACF.js";
11
+ import "./chunks/chunk-3R3AANOR.js";
12
+ import "./chunks/chunk-OV6IHKO6.js";
13
+ import "./chunks/chunk-XVOSKJE2.js";
14
+ import "./chunks/chunk-C5OWC2TL.js";
15
+ import "./chunks/chunk-PH63PLPZ.js";
16
+ import "./chunks/chunk-CHYGPFVM.js";
17
+ import "./chunks/chunk-6O77NL2S.js";
18
+ import {
19
+ createBoundedRegexProvider
20
+ } from "./chunks/chunk-FZE4HW6G.js";
21
+ import "./chunks/chunk-BJA5XNP6.js";
22
+ import "./chunks/chunk-J42RIHHJ.js";
23
+ import "./chunks/chunk-I5HZ4FGE.js";
24
+ import "./chunks/chunk-7R5BDCG7.js";
25
+ import "./chunks/chunk-55YJASTN.js";
26
+ import "./chunks/chunk-4BSJLKNM.js";
27
+ import "./chunks/chunk-DQP3VHSB.js";
28
+ import "./chunks/chunk-GEG3BWGE.js";
29
+ import "./chunks/chunk-VSAJ4OTM.js";
30
+ import "./chunks/chunk-D3ANYGMC.js";
31
+ import "./chunks/chunk-VTH3MLDU.js";
32
+ import "./chunks/chunk-NZQXYWA3.js";
33
+ import "./chunks/chunk-74GHTNJA.js";
34
+ import "./chunks/chunk-QGUV42T5.js";
35
+ import "./chunks/chunk-ZVD5IS4V.js";
36
+ import "./chunks/chunk-E7OYNDGL.js";
37
+ import "./chunks/chunk-IWDICZVK.js";
38
+ import {
39
+ init_platform
40
+ } from "./chunks/chunk-B7TAL7S5.js";
41
+
42
+ // packages/safe-bash/src/search.ts
43
+ init_platform();
44
+ export {
45
+ Shell,
46
+ createBoundedRegexProvider,
47
+ createSearchCommands
48
+ };
@@ -2,7 +2,7 @@ import { bytesToHex } from "../../byte-encoding.js";
2
2
  import { Admission, ArrayFailure, ArrayOwner, exactSum } from "./ledger.js";
3
3
  import { shellValueByteLength, shellValueBytes, shellValueFromBytes, shellValueRetainedBytes, shellValueText } from "../../contracts/value.js";
4
4
  export const controlNames = new Set([
5
- "PATH", "PWD", "OLDPWD", "HOME", "CDPATH", "IFS", "OPTIND", "OPTERR", "OPTARG", "REPLY", "LANG", "LC_ALL", "LC_CTYPE",
5
+ "PATH", "PWD", "OLDPWD", "HOME", "CDPATH", "IFS", "OPTIND", "OPTERR", "OPTARG", "REPLY", "LANG", "LC_ALL", "LC_CTYPE", "RANDOM", "SECONDS", "LINENO",
6
6
  ]);
7
7
  export class OwnedText {
8
8
  shellValue;
@@ -1,3 +1,4 @@
1
+ import { writeDynamicVariable } from "../dynamic-variables.js";
1
2
  import { ArrayFailure, ArrayLedger, ArrayOwner } from "./ledger.js";
2
3
  import { BindingStore, IndexedBinding, OwnedText, textToken } from "./bindings.js";
3
4
  import { ValueArena, ValueStore } from "../value-state.js";
@@ -493,6 +494,7 @@ export class StateMonitor {
493
494
  publishStringVariable(name, value) {
494
495
  const tickets = this.mutation(name);
495
496
  this.values.publishString(name, value, this.raw.variables);
497
+ writeDynamicVariable(this.raw, name, value);
496
498
  this.finish(tickets, name);
497
499
  }
498
500
  publish(tickets, name, action) {
@@ -673,6 +675,8 @@ class StateProxyHandler {
673
675
  const name = this.named ? String(key) : undefined;
674
676
  const tickets = this.monitor.mutation(name);
675
677
  const result = Reflect.set(target, key, entry);
678
+ if (result && this.field === "variables" && typeof key === "string" && typeof entry === "string")
679
+ writeDynamicVariable(this.monitor.raw, key, entry);
676
680
  if (result)
677
681
  this.monitor.changedValue(target, this.field, key);
678
682
  this.monitor.finish(tickets, name);
@@ -75,7 +75,7 @@ export function tryFastExpandBraceRange(word, budget, reserveBytes) {
75
75
  continue;
76
76
  const c = text.charCodeAt(i);
77
77
  if (c === 123 || c === 125 || c === 44 || c === 92 || c === 126 ||
78
- c === 42 || c === 63 || c === 91 || c === 32 || c === 9 || c === 10) {
78
+ c === 40 || c === 42 || c === 63 || c === 91 || c === 32 || c === 9 || c === 10) {
79
79
  braceRangeWordCache.set(word, null);
80
80
  return undefined;
81
81
  }
@@ -0,0 +1,10 @@
1
+ /** Primitive fields keep dynamic bindings independent when shell state is forked. */
2
+ export interface DynamicVariableState {
3
+ randomSeed?: number;
4
+ randomDisabled?: boolean;
5
+ secondsOrigin?: number;
6
+ secondsDisabled?: boolean;
7
+ }
8
+ export declare function writeDynamicVariable(state: DynamicVariableState, name: string, value: string): void;
9
+ export declare function readDynamicVariable(state: DynamicVariableState, name: string): string | undefined;
10
+ //# sourceMappingURL=dynamic-variables.d.ts.map
@@ -0,0 +1,25 @@
1
+ export function writeDynamicVariable(state, name, value) {
2
+ if (name !== "RANDOM" && name !== "SECONDS")
3
+ return;
4
+ const number = Number.parseInt(value, 10) || 0;
5
+ if (name === "RANDOM" && !state.randomDisabled) {
6
+ state.randomSeed = (number >>> 0) % 2147483647 || 1;
7
+ }
8
+ else if (name === "SECONDS" && !state.secondsDisabled) {
9
+ state.secondsOrigin = Date.now() - number * 1000;
10
+ }
11
+ }
12
+ export function readDynamicVariable(state, name) {
13
+ if (name === "RANDOM" && !state.randomDisabled) {
14
+ // Park–Miller's bounded integer state gives repeatable seeded sequences.
15
+ const seed = ((state.randomSeed ?? 1) * 16807) % 2147483647;
16
+ state.randomSeed = seed;
17
+ return String((seed ^ (seed >>> 16)) & 32767);
18
+ }
19
+ if (name === "SECONDS" && !state.secondsDisabled) {
20
+ state.secondsOrigin ??= Date.now();
21
+ return String(Math.floor((Date.now() - state.secondsOrigin) / 1000));
22
+ }
23
+ return undefined;
24
+ }
25
+ //# sourceMappingURL=dynamic-variables.js.map
@@ -601,6 +601,7 @@ class Lexer {
601
601
  const unprinted = this.unprintedWords;
602
602
  const parts = [];
603
603
  let parentheses = 0;
604
+ let brackets = 0;
604
605
  let conditionals = 0;
605
606
  let patternParentheses = 0;
606
607
  let regexBracket = false;
@@ -683,7 +684,13 @@ class Lexer {
683
684
  break;
684
685
  }
685
686
  else if (terminator) {
686
- if (terminator.includes(current) && (!arithmetic || current !== ":" || parentheses === 0 && conditionals === 0))
687
+ if (terminator.includes("]") && current === "[") {
688
+ if (++brackets > this.budget.maxSyntaxDepth)
689
+ this.error(`Subscript syntax nesting exceeds ${this.budget.maxSyntaxDepth}`);
690
+ }
691
+ else if (current === "]" && brackets > 0)
692
+ brackets--;
693
+ else if (terminator.includes(current) && (!arithmetic || current !== ":" || parentheses === 0 && conditionals === 0))
687
694
  break;
688
695
  }
689
696
  else if (!this.braceReplay) {
@@ -19,6 +19,7 @@ import type { GetoptsState } from "./getopts.js";
19
19
  import type { CancellationAdmissionSnapshot, CancellationBoundary, CancellationReport, CancellationSelection } from "./cancellation.js";
20
20
  import type { ArrayAssignment } from "./arrays/syntax.js";
21
21
  import { ArrayOwner } from "./arrays/ledger.js";
22
+ import { type DynamicVariableState } from "./dynamic-variables.js";
22
23
  import { PathLookup } from "./path-lookup.js";
23
24
  type ResolvedShellLimits = Required<Omit<ShellLimits, "commandLimits">> & Pick<ShellLimits, "commandLimits">;
24
25
  export declare const defaultLimits: ResolvedShellLimits;
@@ -128,7 +129,7 @@ export declare class Capture implements ByteSink {
128
129
  signal: AbortSignal | undefined;
129
130
  file?: NonNullable<CommandContext["stdoutFile"]> | undefined;
130
131
  constructor(budget?: Budget, signal?: AbortSignal);
131
- enableScratchBuffer(isStderr?: boolean): void;
132
+ enableScratchBuffer(): void;
132
133
  get self(): ByteSink;
133
134
  get chunks(): Uint8Array[];
134
135
  writeSync(chunk: Uint8Array): boolean;
@@ -154,7 +155,7 @@ interface SavedVariable {
154
155
  superseded?: boolean;
155
156
  }
156
157
  declare const valueScope: unique symbol;
157
- export interface State {
158
+ export interface State extends DynamicVariableState {
158
159
  variableAttributes?: Map<string, string>;
159
160
  namerefVariables?: Set<string> | undefined;
160
161
  umask?: number;
@@ -470,15 +471,6 @@ export declare class Runtime {
470
471
  finishShell(state: State, io: IO, status: number): Promise<number>;
471
472
  private releaseExtensions;
472
473
  private finishReturn;
473
- tryRunFastConstEchoBatch<T extends {
474
- unit: {
475
- script: Script;
476
- next: number;
477
- };
478
- nextCached?: T | undefined;
479
- locale: boolean;
480
- unitsCharged: number;
481
- }>(entryCachedUnit: T, sourceLength: number, state: State, io: IO): T | undefined;
482
474
  private tryRunCachedSyncForScript;
483
475
  runUnit(script: Script, state: State, io: IO): {
484
476
  exitCode: number;
@@ -619,8 +611,6 @@ export declare class Runtime {
619
611
  internalDiscovery(name: string, state: State, bypassFunctions?: boolean): Discovery[];
620
612
  private tryResolveSyncDiscovery;
621
613
  firstInternalDiscovery(name: string, state: State, bypassFunctions?: boolean): Discovery["kind"] | undefined;
622
- private getExternalCommand;
623
- private hasExternalCommand;
624
614
  discoveryBuiltin(context: CommandContext, state: State, io: IO, assignments: Map<string, SavedVariable>, inheritedDefaultPath?: boolean): Promise<number>;
625
615
  searchPaths(name: string, state: State, all?: boolean, discovery?: boolean, defaultPath?: boolean): Promise<string[]>;
626
616
  processState(context: CommandContext, state: State, io: IO, arg0: ShellValue, args: readonly string[]): State;
@@ -784,6 +774,7 @@ export declare class RootShellState implements State {
784
774
  _locals: Map<string, SavedVariable>[] | undefined;
785
775
  pipefail: boolean;
786
776
  profile: "bash";
777
+ secondsOrigin: number;
787
778
  constructor(cwd: string, variables: Record<string, string>, exported: Set<string> | undefined, extensions: ShellExtensionState | undefined);
788
779
  get exported(): Set<string>;
789
780
  set exported(value: Set<string>);