@poe-platform/safe-bash 0.1.800 → 0.1.801

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (459) hide show
  1. package/README.md +16 -5
  2. package/dist/image-ast/index.browser.js +119 -75
  3. package/dist/image-ast/index.js +119 -75
  4. package/dist/pdf-ast/index.js +4 -3
  5. package/dist/safe-bash/chunks/{chunk-LUOFIVNI.js → chunk-3NDIFSNM.js} +3 -3
  6. package/dist/safe-bash/chunks/{chunk-4SEW2Q6H.js → chunk-3R3AANOR.js} +1 -1
  7. package/dist/safe-bash/chunks/{chunk-HHW7MGS2.js → chunk-45PK3NWI.js} +4 -4
  8. package/dist/safe-bash/chunks/{chunk-KHMGTPD6.js → chunk-46Z5E5EV.js} +2 -2
  9. package/dist/safe-bash/chunks/{chunk-XB3B7KMM.js → chunk-6O77NL2S.js} +1 -1
  10. package/dist/safe-bash/chunks/{chunk-T3JTVIEP.js → chunk-6PAVEFT3.js} +1 -1
  11. package/dist/safe-bash/chunks/{chunk-PYVEAFJM.js → chunk-74GHTNJA.js} +3 -2
  12. package/dist/safe-bash/chunks/{chunk-LQHGH25W.js → chunk-7R5BDCG7.js} +1 -1
  13. package/dist/safe-bash/chunks/{chunk-RMWLWH7Q.js → chunk-7VNF5BFF.js} +300 -737
  14. package/dist/safe-bash/chunks/{chunk-QVSRRNZT.js → chunk-A7XEHALN.js} +4 -4
  15. package/dist/safe-bash/chunks/{chunk-MHZ24KEI.js → chunk-AM5ESLPH.js} +1 -1
  16. package/dist/safe-bash/chunks/{chunk-3L3T6LYV.js → chunk-AUSNDQTJ.js} +1 -1
  17. package/dist/safe-bash/chunks/{chunk-YG5WAHK7.js → chunk-B7TAL7S5.js} +1 -3
  18. package/dist/safe-bash/chunks/{chunk-K7IQZE7D.js → chunk-C5OWC2TL.js} +1 -1
  19. package/dist/safe-bash/chunks/{chunk-F3RV2F72.js → chunk-CHYGPFVM.js} +1 -1
  20. package/dist/safe-bash/chunks/{chunk-M4CFCXHN.js → chunk-CS4MNM6I.js} +1 -1
  21. package/dist/safe-bash/chunks/{chunk-H6JW3E4F.js → chunk-CTVWDACF.js} +1 -1
  22. package/dist/safe-bash/chunks/{chunk-BHJE5LPZ.js → chunk-D3ANYGMC.js} +1 -1
  23. package/dist/safe-bash/chunks/{chunk-NLAW7KDI.js → chunk-E7OYNDGL.js} +1 -1
  24. package/dist/safe-bash/chunks/{chunk-SOZK5JVX.js → chunk-FBUCWVTE.js} +1 -1
  25. package/dist/safe-bash/chunks/{chunk-RKKRJ54E.js → chunk-FNDNHAGE.js} +30 -23
  26. package/dist/safe-bash/chunks/{chunk-KCVSVD65.js → chunk-I5HZ4FGE.js} +1 -1
  27. package/dist/safe-bash/chunks/{chunk-JJSTTIEZ.js → chunk-ICFDYV64.js} +1 -1
  28. package/dist/safe-bash/chunks/{chunk-TYD7EVUJ.js → chunk-IVRQ4BXL.js} +1 -1
  29. package/dist/safe-bash/chunks/{chunk-KV7PKOHV.js → chunk-IWDICZVK.js} +1 -1
  30. package/dist/safe-bash/chunks/{chunk-I4OAEOP6.js → chunk-J42RIHHJ.js} +1 -1
  31. package/dist/safe-bash/chunks/{chunk-K2VCOJ2B.js → chunk-K6VCD7IY.js} +7 -12
  32. package/dist/safe-bash/chunks/{chunk-63FXVDGF.js → chunk-LVOBFF4D.js} +1 -1
  33. package/dist/safe-bash/chunks/{chunk-U5NUZPCC.js → chunk-MHMMRCYC.js} +1 -1
  34. package/dist/safe-bash/chunks/{chunk-6HZYFL3H.js → chunk-NR3EM4LS.js} +1 -1
  35. package/dist/safe-bash/chunks/{chunk-VYZTG3GV.js → chunk-NZQXYWA3.js} +1 -1
  36. package/dist/safe-bash/chunks/{chunk-TFGRKY43.js → chunk-OQRVVGR6.js} +1 -1
  37. package/dist/safe-bash/chunks/{chunk-PPYM75Z3.js → chunk-OV6IHKO6.js} +2 -2
  38. package/dist/safe-bash/chunks/{chunk-KW24TAIU.js → chunk-PQRAK7HU.js} +920 -432
  39. package/dist/safe-bash/chunks/{chunk-K4YMYFRJ.js → chunk-SZH7EJLD.js} +116 -697
  40. package/dist/safe-bash/chunks/{chunk-7YSRXFEG.js → chunk-TFIBK2GI.js} +1 -1
  41. package/dist/safe-bash/chunks/{chunk-I7L3G3NX.js → chunk-UE5KZDEK.js} +2 -2
  42. package/dist/safe-bash/chunks/{chunk-QU3BVQ53.js → chunk-UTBUUFDM.js} +1 -1
  43. package/dist/safe-bash/chunks/{chunk-JTLSUJ7V.js → chunk-VQDD3G76.js} +42 -25
  44. package/dist/safe-bash/chunks/{chunk-46UISJCK.js → chunk-VTH3MLDU.js} +1 -1
  45. package/dist/safe-bash/chunks/{chunk-LLZCZ24K.js → chunk-XVOSKJE2.js} +1 -1
  46. package/dist/safe-bash/chunks/{csvkit-QGP3GAOB.js → csvkit-TACDU7FC.js} +3 -3
  47. package/dist/safe-bash/chunks/{ffmpeg-JTVH26MK.js → ffmpeg-WTC3TEFI.js} +2 -2
  48. package/dist/safe-bash/chunks/{gh-I7QX7N5C.js → gh-6WU6PXL4.js} +2 -2
  49. package/dist/safe-bash/chunks/{git-MA7NKYVP.js → git-EFZIGJW4.js} +2 -2
  50. package/dist/safe-bash/chunks/{imagemagick-Y4NPWX2Q.js → imagemagick-EIEYGWPF.js} +2 -2
  51. package/dist/safe-bash/chunks/{implementation-BWDKOVQJ.js → implementation-MLFHUQ5M.js} +2 -2
  52. package/dist/safe-bash/chunks/{mmdc-44PELHDG.js → mmdc-ROQJT5HQ.js} +2 -2
  53. package/dist/safe-bash/chunks/{pdfimages-635TRW4Q.js → pdfimages-DW7LWXFI.js} +2 -2
  54. package/dist/safe-bash/chunks/{pdfinfo-FSDAA2KY.js → pdfinfo-TIP6XLUQ.js} +2 -2
  55. package/dist/safe-bash/chunks/{pdftk-GQ5UH3VG.js → pdftk-DMG22ITZ.js} +2 -2
  56. package/dist/safe-bash/chunks/{pdftoppm-YTXQCAYT.js → pdftoppm-WNDYR72T.js} +2 -2
  57. package/dist/safe-bash/chunks/{pdftotext-CVA2G7FY.js → pdftotext-5IPZ4NI7.js} +2 -2
  58. package/dist/safe-bash/chunks/{qpdf-HZMIFG4A.js → qpdf-TTX2DIUA.js} +2 -2
  59. package/dist/safe-bash/chunks/{sips-E7UBDP33.js → sips-XYS46JPJ.js} +2 -2
  60. package/dist/safe-bash/chunks/{soffice-ELASUWUK.js → soffice-TU73E5KL.js} +2 -2
  61. package/dist/safe-bash/chunks/{wkhtmltopdf-EPO6YCMG.js → wkhtmltopdf-FSZ2CHGE.js} +2 -2
  62. package/dist/safe-bash/command-chunks/{chunk-QBGA56UH.js → chunk-2ELYGJDD.js} +7 -7
  63. package/dist/safe-bash/command-chunks/{chunk-52PCQXD2.js → chunk-2NHI5F5S.js} +2 -1
  64. package/dist/safe-bash/command-chunks/{chunk-HDKVO47G.js → chunk-2SQEIUGJ.js} +3 -3
  65. package/dist/safe-bash/command-chunks/{chunk-5LSGEIZY.js → chunk-3HHCU5YU.js} +4 -3
  66. package/dist/safe-bash/command-chunks/{chunk-TF6OA2GK.js → chunk-3NV3HYT2.js} +1 -1
  67. package/dist/safe-bash/command-chunks/{chunk-2QHG43WJ.js → chunk-4BB2SWJ5.js} +1 -1
  68. package/dist/safe-bash/command-chunks/{chunk-IEXHHNOF.js → chunk-4J5CZ2DP.js} +2 -7
  69. package/dist/safe-bash/command-chunks/{chunk-WDHI3S6Y.js → chunk-4OOUQTQO.js} +1 -1
  70. package/dist/safe-bash/command-chunks/{chunk-YMONDXET.js → chunk-4ZQWGOZB.js} +2 -2
  71. package/dist/safe-bash/command-chunks/{chunk-L6DVEBW3.js → chunk-5BSTFCXG.js} +2 -2
  72. package/dist/safe-bash/command-chunks/{chunk-Q3DII3Q7.js → chunk-5PWJG2UK.js} +1 -1
  73. package/dist/safe-bash/command-chunks/{chunk-JMPP4TCW.js → chunk-5UBXNSFZ.js} +3 -2
  74. package/dist/safe-bash/command-chunks/{chunk-3NG75MOB.js → chunk-67GQA75T.js} +1 -1
  75. package/dist/safe-bash/command-chunks/{chunk-L6SU4S26.js → chunk-6B7WQIKB.js} +0 -7
  76. package/dist/safe-bash/command-chunks/{chunk-V6MSPQLA.js → chunk-6BNTBWIK.js} +4 -39
  77. package/dist/safe-bash/command-chunks/{chunk-JN7WIP6S.js → chunk-6KJ3LPI2.js} +2 -2
  78. package/dist/safe-bash/command-chunks/{chunk-HLDTOR7M.js → chunk-6ZVI7LUY.js} +1 -1
  79. package/dist/safe-bash/command-chunks/{chunk-X6NJC3IC.js → chunk-75OFBY5R.js} +1 -1
  80. package/dist/safe-bash/command-chunks/{chunk-MRW5HD2D.js → chunk-7O3E4LPT.js} +4 -22
  81. package/dist/safe-bash/command-chunks/{chunk-TEVJJPTC.js → chunk-7U7EXOXX.js} +1 -1
  82. package/dist/safe-bash/command-chunks/{chunk-6CYTRQ24.js → chunk-7VTKQUA5.js} +20 -17
  83. package/dist/safe-bash/command-chunks/{chunk-BZPAWTUL.js → chunk-AEF5BA3D.js} +1 -1
  84. package/dist/safe-bash/command-chunks/{chunk-63R3FEZJ.js → chunk-AIV5BF5W.js} +1 -1
  85. package/dist/safe-bash/command-chunks/{chunk-AYUTO323.js → chunk-AKJG2XD3.js} +2 -18
  86. package/dist/safe-bash/command-chunks/{chunk-J34TZVMW.js → chunk-ALDC4XP4.js} +0 -5
  87. package/dist/safe-bash/command-chunks/{chunk-CKXV2CLD.js → chunk-ARBYOQUZ.js} +1 -1
  88. package/dist/safe-bash/command-chunks/{chunk-44AHAB5O.js → chunk-BDSMROQZ.js} +1 -4
  89. package/dist/safe-bash/command-chunks/{chunk-53P53XFM.js → chunk-BPE5INLI.js} +1 -1
  90. package/dist/safe-bash/command-chunks/{chunk-OT4LZMLB.js → chunk-BR73BIOW.js} +1 -1
  91. package/dist/safe-bash/command-chunks/{chunk-WB5SVIG7.js → chunk-C5YYCQHW.js} +498 -88
  92. package/dist/safe-bash/command-chunks/{chunk-EUSPTFAX.js → chunk-CAP7ZJSY.js} +7 -7
  93. package/dist/safe-bash/command-chunks/{chunk-DWFLVJC6.js → chunk-CCRHMAU5.js} +2 -1
  94. package/dist/safe-bash/command-chunks/{chunk-GI4CJED2.js → chunk-CQTRW45K.js} +1 -1
  95. package/dist/safe-bash/command-chunks/{chunk-N2F74VRO.js → chunk-CZ7EN3JG.js} +1 -1
  96. package/dist/safe-bash/command-chunks/{chunk-KKG4BAFZ.js → chunk-DIEPXUM4.js} +6 -0
  97. package/dist/safe-bash/command-chunks/{chunk-QJAFJP2G.js → chunk-DZCY63VJ.js} +12 -10
  98. package/dist/safe-bash/command-chunks/{chunk-QUENU6GM.js → chunk-E55UKBIE.js} +3 -3
  99. package/dist/safe-bash/command-chunks/{chunk-HLGKIZ25.js → chunk-F6OYH562.js} +2 -0
  100. package/dist/safe-bash/command-chunks/{chunk-MC3VWLIZ.js → chunk-FDBUV4HJ.js} +28 -19
  101. package/dist/safe-bash/command-chunks/{chunk-7FKUC34S.js → chunk-FPVUD6TH.js} +6 -3
  102. package/dist/safe-bash/command-chunks/{chunk-E2LB7FRT.js → chunk-FXOA7RBK.js} +1 -1
  103. package/dist/safe-bash/command-chunks/{chunk-QWIDNAAK.js → chunk-FZTK4MFI.js} +3 -3
  104. package/dist/safe-bash/command-chunks/{chunk-K543PB3I.js → chunk-G66QUHIZ.js} +6 -35
  105. package/dist/safe-bash/command-chunks/{chunk-YJDV76GL.js → chunk-GFQZCKO6.js} +29 -19
  106. package/dist/safe-bash/command-chunks/{chunk-FKKB5X5V.js → chunk-GOB777HR.js} +1 -1
  107. package/dist/safe-bash/command-chunks/{chunk-IYPAQ7PH.js → chunk-GRBWW4SG.js} +6 -0
  108. package/dist/safe-bash/command-chunks/{chunk-PPNBNFAU.js → chunk-GYQ2HAKQ.js} +8 -8
  109. package/dist/safe-bash/command-chunks/{chunk-PJJUYO3R.js → chunk-II77KPZN.js} +2 -2
  110. package/dist/safe-bash/command-chunks/{chunk-VL67NWNS.js → chunk-JDYXY44P.js} +2 -2
  111. package/dist/safe-bash/command-chunks/{chunk-4QJOYXVB.js → chunk-JV7LBUTP.js} +1 -1
  112. package/dist/safe-bash/command-chunks/{chunk-IKS2YXZQ.js → chunk-K67MWWWH.js} +3 -3
  113. package/dist/safe-bash/command-chunks/{chunk-BKCNF5U3.js → chunk-KQLD3AED.js} +2 -2
  114. package/dist/safe-bash/command-chunks/{chunk-UMDIOL3O.js → chunk-KXU3IRUO.js} +1 -1
  115. package/dist/safe-bash/command-chunks/{chunk-QZF3SINC.js → chunk-LAOM65EE.js} +2 -2
  116. package/dist/safe-bash/command-chunks/{chunk-HFII3QYO.js → chunk-LWS62ISU.js} +46 -32
  117. package/dist/safe-bash/command-chunks/{chunk-BZDDAPSV.js → chunk-LWSBAWLT.js} +1 -1
  118. package/dist/safe-bash/command-chunks/{chunk-U6G67N23.js → chunk-MIXBO6U7.js} +18 -5
  119. package/dist/safe-bash/command-chunks/{chunk-JQ74HC37.js → chunk-MQFIPHIQ.js} +23 -50
  120. package/dist/safe-bash/command-chunks/{chunk-ZJBR5Q5I.js → chunk-MSFXC3OC.js} +4 -4
  121. package/dist/safe-bash/command-chunks/{chunk-NI7MKJPN.js → chunk-MTQH74CF.js} +3 -55
  122. package/dist/safe-bash/command-chunks/chunk-MWUZZWXK.js +354 -0
  123. package/dist/safe-bash/command-chunks/{chunk-RVLO4DYT.js → chunk-N4PFUSRM.js} +1 -1
  124. package/dist/safe-bash/command-chunks/{chunk-D4OP2BR3.js → chunk-NKFYQSES.js} +1 -2
  125. package/dist/safe-bash/command-chunks/{chunk-NGWB2YBL.js → chunk-O4JQSB7O.js} +1 -1
  126. package/dist/safe-bash/command-chunks/{chunk-7L24L4UO.js → chunk-OQU6UT6X.js} +2 -20
  127. package/dist/safe-bash/command-chunks/{chunk-TYCGMRLM.js → chunk-OYYV7ZAF.js} +1 -1
  128. package/dist/safe-bash/command-chunks/{chunk-SVULUDOP.js → chunk-P2N33UMN.js} +20 -81
  129. package/dist/safe-bash/command-chunks/{chunk-Q7Q5GM5S.js → chunk-P5APDEFB.js} +2 -2
  130. package/dist/safe-bash/command-chunks/{chunk-SAMH7SQE.js → chunk-PCEFOYA3.js} +237 -145
  131. package/dist/safe-bash/command-chunks/{chunk-3HXDA5PT.js → chunk-PMBFZXTK.js} +1 -1
  132. package/dist/safe-bash/command-chunks/{chunk-4Y3WVMK4.js → chunk-PV66YWHB.js} +1 -0
  133. package/dist/safe-bash/command-chunks/{chunk-AXK3H4PX.js → chunk-QJ33BHI4.js} +1 -1
  134. package/dist/safe-bash/command-chunks/{chunk-3LSOYLNV.js → chunk-QKFSRZGQ.js} +2 -2
  135. package/dist/safe-bash/command-chunks/{chunk-JZSNU2MY.js → chunk-QKJLP53H.js} +2 -2
  136. package/dist/safe-bash/command-chunks/{chunk-LC2MFKT4.js → chunk-RMWQAAO5.js} +24 -25
  137. package/dist/safe-bash/command-chunks/{chunk-QDTBMSBE.js → chunk-RO62EWX6.js} +2 -2
  138. package/dist/safe-bash/command-chunks/{chunk-4C6QI5BQ.js → chunk-RZZI24ZE.js} +4 -4
  139. package/dist/safe-bash/command-chunks/{chunk-PFAADCB5.js → chunk-SDNBCQ3X.js} +10 -24
  140. package/dist/safe-bash/command-chunks/{chunk-36O5OT7E.js → chunk-T35Y7YQD.js} +1 -1
  141. package/dist/safe-bash/command-chunks/{chunk-6HMX4CQS.js → chunk-TGSNCQSR.js} +44 -16
  142. package/dist/safe-bash/command-chunks/{chunk-5T7CRJHW.js → chunk-TIOCQVUQ.js} +4 -7
  143. package/dist/safe-bash/command-chunks/{chunk-T5H5UJQ3.js → chunk-TNOA7FCQ.js} +1 -1
  144. package/dist/safe-bash/command-chunks/{chunk-GN2TKLE7.js → chunk-TS65BJHG.js} +5 -5
  145. package/dist/safe-bash/command-chunks/{chunk-7RGB363W.js → chunk-TSCGT46G.js} +3 -2
  146. package/dist/safe-bash/command-chunks/{chunk-KBEURXFF.js → chunk-UN6WS55J.js} +3 -3
  147. package/dist/safe-bash/command-chunks/{chunk-SX2X3IH4.js → chunk-V2V5OCL3.js} +1 -1
  148. package/dist/safe-bash/command-chunks/{chunk-ERYJLO6G.js → chunk-V7A7DRTU.js} +1 -1
  149. package/dist/safe-bash/command-chunks/{chunk-5SHGJ7NO.js → chunk-VA5ZHYYA.js} +73 -33
  150. package/dist/safe-bash/command-chunks/{chunk-XETLEHZP.js → chunk-VPR5LQYX.js} +3 -2
  151. package/dist/safe-bash/command-chunks/{chunk-3DT2YOGW.js → chunk-VSRGNQCP.js} +3 -3
  152. package/dist/safe-bash/command-chunks/{chunk-J5SN3PZ3.js → chunk-VXSLJH7G.js} +53 -3
  153. package/dist/safe-bash/command-chunks/{chunk-PXYOWWMV.js → chunk-W7RAD4EW.js} +4 -3
  154. package/dist/safe-bash/command-chunks/{chunk-YGC6OS5O.js → chunk-WECIOOQB.js} +5 -8
  155. package/dist/safe-bash/command-chunks/{chunk-HHP343KT.js → chunk-WTECBRU4.js} +1 -1
  156. package/dist/safe-bash/command-chunks/{chunk-AO6Z5EQ7.js → chunk-WVE64WM2.js} +6 -5
  157. package/dist/safe-bash/command-chunks/{chunk-Z7RVSD5K.js → chunk-WVHONVZ4.js} +1 -1
  158. package/dist/safe-bash/command-chunks/{chunk-QNIMV57G.js → chunk-XNLFHHOC.js} +1 -1
  159. package/dist/safe-bash/command-chunks/{chunk-XAFSZDY2.js → chunk-XS72HTMA.js} +11 -0
  160. package/dist/safe-bash/command-chunks/{chunk-KYSPGS33.js → chunk-YIQACGEW.js} +2 -0
  161. package/dist/safe-bash/command-chunks/{chunk-NAY27PXB.js → chunk-YOFC45RK.js} +1 -1
  162. package/dist/safe-bash/command-chunks/{chunk-QI7LGHJJ.js → chunk-Z45N42QC.js} +21 -6
  163. package/dist/safe-bash/command-chunks/{chunk-67IQF5GC.js → chunk-ZYHTWNAE.js} +23 -9
  164. package/dist/safe-bash/command-chunks/{chunk-STC3LEWJ.js → chunk-ZYXH3B66.js} +5 -3
  165. package/dist/safe-bash/commands/bytes/compression/index.js +3 -2
  166. package/dist/safe-bash/commands/copy-preserve.d.ts +1 -0
  167. package/dist/safe-bash/commands/csplit/index.browser.js +2 -2
  168. package/dist/safe-bash/commands/docx/index.browser.js +1 -1
  169. package/dist/safe-bash/commands/execution.js +19 -13
  170. package/dist/safe-bash/commands/factor/index.browser.js +2 -2
  171. package/dist/safe-bash/commands/filesystem.d.ts +1 -1
  172. package/dist/safe-bash/commands/filesystem.js +17 -13
  173. package/dist/safe-bash/commands/getopt/index.browser.js +2 -2
  174. package/dist/safe-bash/commands/hexdump/index.browser.js +2 -2
  175. package/dist/safe-bash/commands/htmlq/index.d.ts +1 -1
  176. package/dist/safe-bash/commands/iconv/index.browser.js +2 -2
  177. package/dist/safe-bash/commands/line-endings/index.browser.js +2 -2
  178. package/dist/safe-bash/commands/llm/index.browser.js +2 -2
  179. package/dist/safe-bash/commands/llm/providers/index.browser.js +1 -1
  180. package/dist/safe-bash/commands/mdq/index.browser.js +3 -3
  181. package/dist/safe-bash/commands/media/index.browser.js +1 -1
  182. package/dist/safe-bash/commands/network/curl.d.ts +1 -1
  183. package/dist/safe-bash/commands/network/curl.js +1 -3
  184. package/dist/safe-bash/commands/network/index.browser.js +4 -4
  185. package/dist/safe-bash/commands/network/platform-portable.d.ts +1 -5
  186. package/dist/safe-bash/commands/network/platform-portable.js +1 -26
  187. package/dist/safe-bash/commands/network/public.d.ts +2 -2
  188. package/dist/safe-bash/commands/network/public.js +2 -2
  189. package/dist/safe-bash/commands/network/transport.js +2 -2
  190. package/dist/safe-bash/commands/network/wget.d.ts +1 -1
  191. package/dist/safe-bash/commands/network/wget.js +1 -3
  192. package/dist/safe-bash/commands/node/filesystem.js +3 -2
  193. package/dist/safe-bash/commands/node/index.browser.js +8 -8
  194. package/dist/safe-bash/commands/node/types.js +1 -1
  195. package/dist/safe-bash/commands/op/index.browser.js +3 -3
  196. package/dist/safe-bash/commands/pr/index.browser.js +2 -2
  197. package/dist/safe-bash/commands/python/host-capabilities.js +31 -14
  198. package/dist/safe-bash/commands/python/index.browser.js +11 -11
  199. package/dist/safe-bash/commands/python/manifest.d.ts +1 -0
  200. package/dist/safe-bash/commands/python/manifest.js +6 -3
  201. package/dist/safe-bash/commands/python/shell-capability.d.ts +1 -0
  202. package/dist/safe-bash/commands/python/shell-capability.js +3 -2
  203. package/dist/safe-bash/commands/python/worker.browser.js +3 -3
  204. package/dist/safe-bash/commands/regex-execution/public.browser.js +4 -4
  205. package/dist/safe-bash/commands/safejs/runtime.js +16 -7
  206. package/dist/safe-bash/commands/standard.d.ts +1 -0
  207. package/dist/safe-bash/commands/standard.js +2 -1
  208. package/dist/safe-bash/commands/streams.js +6 -24
  209. package/dist/safe-bash/commands/text.js +268 -364
  210. package/dist/safe-bash/commands/tsort/index.browser.js +2 -2
  211. package/dist/safe-bash/commands/xml/index.browser.js +2 -2
  212. package/dist/safe-bash/commands/yq/index.browser.js +2 -2
  213. package/dist/safe-bash/core.browser.js +1 -1
  214. package/dist/safe-bash/core.d.ts +6 -1
  215. package/dist/safe-bash/core.js +1 -1
  216. package/dist/safe-bash/full-core.browser.js +108 -104
  217. package/dist/safe-bash/jobs.browser.js +5 -5
  218. package/dist/safe-bash/opt-in/commands/dd/index.js +2 -0
  219. package/dist/safe-bash/opt-in/optional/commands/shuf/options.d.ts +1 -0
  220. package/dist/safe-bash/opt-in/optional/commands/shuf/options.js +2 -4
  221. package/dist/safe-bash/opt-in/optional/commands/shuf/shuf.js +2 -1
  222. package/dist/safe-bash/optional-host.browser.js +11 -11
  223. package/dist/safe-bash/plugins/composition.d.ts +1 -0
  224. package/dist/safe-bash/plugins/composition.js +3 -8
  225. package/dist/safe-bash/plugins/index.browser.js +27 -27
  226. package/dist/safe-bash/registry-entry.browser.js +28 -28
  227. package/dist/safe-bash/shell/arrays/bindings.js +1 -1
  228. package/dist/safe-bash/shell/arrays/state.js +4 -0
  229. package/dist/safe-bash/shell/brace-expansion.js +1 -1
  230. package/dist/safe-bash/shell/dynamic-variables.d.ts +10 -0
  231. package/dist/safe-bash/shell/dynamic-variables.js +25 -0
  232. package/dist/safe-bash/shell/parser.js +8 -1
  233. package/dist/safe-bash/shell/runtime.d.ts +4 -4
  234. package/dist/safe-bash/shell/runtime.js +291 -741
  235. package/dist/safe-bash/shell/shell.js +2 -31
  236. package/dist/safe-bash/shell-entry.browser.js +25 -25
  237. package/dist/safe-bash/trap.browser.js +4 -4
  238. package/dist/safe-bash/yq-browser/index.js +1 -1
  239. package/dist/safe-bash-base-encoding-engine/base.js +2 -2
  240. package/dist/safe-bash-base-encoding-engine/shared.js +1 -1
  241. package/dist/safe-bash-byte-input-engine/index.d.ts +3 -2
  242. package/dist/safe-bash-byte-input-engine/index.js +4 -1
  243. package/dist/safe-bash-checksum-engine/index.js +13 -6
  244. package/dist/safe-bash-command-apply-patch/apply.d.ts +1 -1
  245. package/dist/safe-bash-command-apply-patch/apply.js +4 -3
  246. package/dist/safe-bash-command-apply-patch/index.js +3 -3
  247. package/dist/safe-bash-command-apply-patch/matcher.js +1 -1
  248. package/dist/safe-bash-command-apply-patch/parser.js +1 -1
  249. package/dist/safe-bash-command-awk/awk-inspection.js +2 -2
  250. package/dist/safe-bash-command-awk/awk-runtime.js +3 -3
  251. package/dist/safe-bash-command-awk/awk-syntax.d.ts +1 -1
  252. package/dist/safe-bash-command-awk/awk-syntax.js +2 -2
  253. package/dist/safe-bash-command-awk/awk-values.js +1 -1
  254. package/dist/safe-bash-command-awk/awk.js +5 -5
  255. package/dist/safe-bash-command-awk/index.js +5 -5
  256. package/dist/safe-bash-command-bc/index.d.ts +2 -0
  257. package/dist/safe-bash-command-bc/index.js +123 -92
  258. package/dist/safe-bash-command-column/column.js +5 -5
  259. package/dist/safe-bash-command-column/display.d.ts +1 -1
  260. package/dist/safe-bash-command-column/display.js +1 -1
  261. package/dist/safe-bash-command-column/index.js +5 -5
  262. package/dist/safe-bash-command-column/internal.d.ts +0 -2
  263. package/dist/safe-bash-command-column/internal.js +1 -1
  264. package/dist/safe-bash-command-column/layout.js +4 -4
  265. package/dist/safe-bash-command-column/table.js +2 -2
  266. package/dist/safe-bash-command-comm/comm.js +1 -1
  267. package/dist/safe-bash-command-comm/index.js +1 -1
  268. package/dist/safe-bash-command-csvcut/index.d.ts +1 -0
  269. package/dist/safe-bash-command-csvcut/index.js +1 -0
  270. package/dist/safe-bash-command-csvgrep/index.d.ts +1 -0
  271. package/dist/safe-bash-command-csvgrep/index.js +2 -2
  272. package/dist/safe-bash-command-csvkit/index.js +9 -9
  273. package/dist/safe-bash-command-csvkit/sync-support.js +1 -1
  274. package/dist/safe-bash-command-curl/curl.js +1 -1
  275. package/dist/safe-bash-command-curl/index.js +1 -1
  276. package/dist/safe-bash-command-dd/index.js +2 -0
  277. package/dist/safe-bash-command-diff/diff.js +1 -1
  278. package/dist/safe-bash-command-diff/index.js +1 -1
  279. package/dist/safe-bash-command-exiftool/index.d.ts +1 -0
  280. package/dist/safe-bash-command-fd/index.js +9 -9
  281. package/dist/safe-bash-command-ffmpeg/index.js +31 -8
  282. package/dist/safe-bash-command-file/index.js +1 -1
  283. package/dist/safe-bash-command-file/shared.js +1 -1
  284. package/dist/safe-bash-command-find/find.js +1 -1
  285. package/dist/safe-bash-command-find/index.js +1 -1
  286. package/dist/safe-bash-command-gzip/index.js +3 -2
  287. package/dist/safe-bash-command-hexdump/command.js +4 -4
  288. package/dist/safe-bash-command-hexdump/custom.d.ts +24 -0
  289. package/dist/safe-bash-command-hexdump/index.js +4 -4
  290. package/dist/safe-bash-command-hexdump/internal.d.ts +2 -0
  291. package/dist/safe-bash-command-hexdump/internal.js +1 -1
  292. package/dist/safe-bash-command-hexdump/io.js +2 -2
  293. package/dist/safe-bash-command-hexdump/options.d.ts +3 -0
  294. package/dist/safe-bash-command-hexdump/options.js +2 -2
  295. package/dist/safe-bash-command-hostname/index.js +1 -1
  296. package/dist/safe-bash-command-html-to-markdown/budget.js +1 -1
  297. package/dist/safe-bash-command-html-to-markdown/entities.js +3 -3
  298. package/dist/safe-bash-command-html-to-markdown/index.js +6 -6
  299. package/dist/safe-bash-command-html-to-markdown/input.js +5 -5
  300. package/dist/safe-bash-command-html-to-markdown/parser.d.ts +1 -0
  301. package/dist/safe-bash-command-html-to-markdown/parser.js +4 -4
  302. package/dist/safe-bash-command-html-to-markdown/render.js +5 -5
  303. package/dist/safe-bash-command-html-to-markdown/text.js +2 -2
  304. package/dist/safe-bash-command-htmlq/index.d.ts +1 -0
  305. package/dist/safe-bash-command-htmlq/index.js +27 -9
  306. package/dist/safe-bash-command-iconv/codec.js +1 -1
  307. package/dist/safe-bash-command-iconv/command.js +2 -2
  308. package/dist/safe-bash-command-iconv/index.js +2 -2
  309. package/dist/safe-bash-command-imagemagick/index.js +24 -6
  310. package/dist/safe-bash-command-join/index.js +1 -1
  311. package/dist/safe-bash-command-join/join.js +1 -1
  312. package/dist/safe-bash-command-jq/index.js +1 -1
  313. package/dist/safe-bash-command-jq/jq.js +1 -1
  314. package/dist/safe-bash-command-less/index.js +43 -28
  315. package/dist/safe-bash-command-mmdc/index.d.ts +1 -0
  316. package/dist/safe-bash-command-numfmt/index.js +0 -11
  317. package/dist/safe-bash-command-od/index.js +101 -68
  318. package/dist/safe-bash-command-pandoc/command.js +1 -1
  319. package/dist/safe-bash-command-pandoc/index.js +1 -1
  320. package/dist/safe-bash-command-paste/index.js +1 -1
  321. package/dist/safe-bash-command-paste/paste.js +1 -1
  322. package/dist/safe-bash-command-pathchk/index.js +3 -13
  323. package/dist/safe-bash-command-pdfimages/index.js +27 -11
  324. package/dist/safe-bash-command-pdfinfo/index.js +19 -10
  325. package/dist/safe-bash-command-pdftk/index.js +3 -3
  326. package/dist/safe-bash-command-pdftoppm/index.js +26 -10
  327. package/dist/safe-bash-command-pdftotext/index.js +27 -13
  328. package/dist/safe-bash-command-qpdf/index.js +5 -5
  329. package/dist/safe-bash-command-sed/index.js +1 -1
  330. package/dist/safe-bash-command-sed/sed.js +1 -1
  331. package/dist/safe-bash-command-shuf/options.d.ts +1 -0
  332. package/dist/safe-bash-command-shuf/options.js +2 -4
  333. package/dist/safe-bash-command-shuf/shuf.js +2 -1
  334. package/dist/safe-bash-command-soffice/index.js +20 -16
  335. package/dist/safe-bash-command-split/index.js +3 -3
  336. package/dist/safe-bash-command-split/io.js +1 -1
  337. package/dist/safe-bash-command-split/outputs.js +2 -2
  338. package/dist/safe-bash-command-split/split.js +3 -3
  339. package/dist/safe-bash-command-sqlite3/btree.d.ts +1 -0
  340. package/dist/safe-bash-command-sqlite3/engine.d.ts +6 -0
  341. package/dist/safe-bash-command-sqlite3/index.js +284 -85
  342. package/dist/safe-bash-command-ssconvert/commands.js +9 -9
  343. package/dist/safe-bash-command-ssconvert/core.js +8 -8
  344. package/dist/safe-bash-command-ssconvert/formats/csv.js +9 -9
  345. package/dist/safe-bash-command-ssconvert/formats/ods.js +8 -8
  346. package/dist/safe-bash-command-ssconvert/formats/spreadsheetml.js +2 -2
  347. package/dist/safe-bash-command-ssconvert/formats/xls.js +9 -9
  348. package/dist/safe-bash-command-ssconvert/formats/xlsx.js +8 -8
  349. package/dist/safe-bash-command-ssconvert/index.js +20 -20
  350. package/dist/safe-bash-command-tar/extract.js +1 -1
  351. package/dist/safe-bash-command-tar/index.js +5 -4
  352. package/dist/safe-bash-command-tar/modes.js +2 -2
  353. package/dist/safe-bash-command-tree/arguments.js +3 -3
  354. package/dist/safe-bash-command-tree/charset.js +1 -1
  355. package/dist/safe-bash-command-tree/index.js +4 -4
  356. package/dist/safe-bash-command-tree/io.js +1 -1
  357. package/dist/safe-bash-command-tree/pattern.js +2 -2
  358. package/dist/safe-bash-command-tree/tree.js +4 -4
  359. package/dist/safe-bash-command-unrtf/index.js +14 -7
  360. package/dist/safe-bash-command-unzip/index.js +1 -1
  361. package/dist/safe-bash-command-unzip/unzip.js +1 -1
  362. package/dist/safe-bash-command-wget/index.js +1 -1
  363. package/dist/safe-bash-command-wget/wget.js +1 -1
  364. package/dist/safe-bash-command-xan/argv.d.ts +1 -1
  365. package/dist/safe-bash-command-xan/argv.js +1 -1
  366. package/dist/safe-bash-command-xan/commands.js +5 -3
  367. package/dist/safe-bash-command-xan/csv.d.ts +1 -1
  368. package/dist/safe-bash-command-xan/csv.js +1 -1
  369. package/dist/safe-bash-command-xan/index.js +7 -7
  370. package/dist/safe-bash-command-xan/io.js +3 -3
  371. package/dist/safe-bash-command-xmllint/index.js +1 -1
  372. package/dist/safe-bash-command-xxd/index.js +105 -91
  373. package/dist/safe-bash-command-xz/command.d.ts +2 -0
  374. package/dist/safe-bash-command-xz/index.d.ts +1 -1
  375. package/dist/safe-bash-command-xz/index.js +8 -0
  376. package/dist/safe-bash-command-yq/query.js +1 -1
  377. package/dist/safe-bash-command-zip/index.js +1 -1
  378. package/dist/safe-bash-command-zip/zip.js +1 -1
  379. package/dist/safe-bash-contracts/escaping.js +3 -3
  380. package/dist/safe-bash-contracts/filesystem-output.js +2 -2
  381. package/dist/safe-bash-contracts/index.d.ts +1 -0
  382. package/dist/safe-bash-contracts/index.js +7 -3
  383. package/dist/safe-bash-contracts/io.d.ts +4 -1
  384. package/dist/safe-bash-contracts/io.js +3 -1
  385. package/dist/safe-bash-contracts/managed-abort.d.ts +10 -0
  386. package/dist/safe-bash-contracts/output.js +2 -2
  387. package/dist/safe-bash-diff-engine/index.js +1 -1
  388. package/dist/safe-bash-diff-engine/shared.d.ts +3 -2
  389. package/dist/safe-bash-diff-engine/shared.js +1 -1
  390. package/dist/safe-bash-io-engine/commands/archive/internal.js +5 -23
  391. package/dist/safe-bash-io-engine/commands/search/requirements.js +2 -2
  392. package/dist/safe-bash-io-engine/commands/text-programs/shared.js +33 -44
  393. package/dist/safe-bash-io-engine/internal.js +1 -1
  394. package/dist/safe-bash-io-engine/shell/pattern.js +1 -1
  395. package/dist/safe-bash-io-engine/shell/string-operations.js +1 -1
  396. package/dist/safe-bash-mcp/index.browser.d.ts +155 -35
  397. package/dist/safe-bash-mcp/index.browser.js +416 -0
  398. package/dist/safe-bash-mcp/index.d.ts +54 -2
  399. package/dist/safe-bash-mcp/index.js +283 -89
  400. package/dist/safe-bash-network-engine/aggregate.js +2 -2
  401. package/dist/safe-bash-network-engine/args.js +4 -4
  402. package/dist/safe-bash-network-engine/authorizer.js +1 -1
  403. package/dist/safe-bash-network-engine/body.js +6 -6
  404. package/dist/safe-bash-network-engine/decode.d.ts +1 -1
  405. package/dist/safe-bash-network-engine/decode.js +3 -4
  406. package/dist/safe-bash-network-engine/fetch-transport.js +3 -3
  407. package/dist/safe-bash-network-engine/form-content-type.js +2 -2
  408. package/dist/safe-bash-network-engine/form-headers.js +2 -2
  409. package/dist/safe-bash-network-engine/glob.js +1 -1
  410. package/dist/safe-bash-network-engine/index.js +4 -4
  411. package/dist/safe-bash-network-engine/input.js +6 -6
  412. package/dist/safe-bash-network-engine/output.js +2 -2
  413. package/dist/safe-bash-network-engine/platform-portable.js +3 -3
  414. package/dist/safe-bash-network-engine/shared.js +2 -2
  415. package/dist/safe-bash-network-engine/types.d.ts +7 -2
  416. package/dist/safe-bash-network-engine/types.js +1 -1
  417. package/dist/safe-bash-network-engine/url.js +2 -2
  418. package/dist/safe-bash-query-engine/capture.js +3 -3
  419. package/dist/safe-bash-query-engine/delpaths.js +3 -3
  420. package/dist/safe-bash-query-engine/formats.js +2 -2
  421. package/dist/safe-bash-query-engine/index.js +11 -11
  422. package/dist/safe-bash-query-engine/indices.js +3 -3
  423. package/dist/safe-bash-query-engine/input.js +1 -1
  424. package/dist/safe-bash-query-engine/interpreter.js +9 -9
  425. package/dist/safe-bash-query-engine/parser.js +1 -1
  426. package/dist/safe-bash-query-engine/query-core.js +11 -11
  427. package/dist/safe-bash-query-engine/regex.js +4 -4
  428. package/dist/safe-bash-query-engine/splits.js +5 -5
  429. package/dist/safe-bash-query-engine/values.js +2 -2
  430. package/dist/safe-bash-regex-engine/ere/matcher.js +102 -30
  431. package/dist/safe-bash-regex-engine/execution/bounded-provider.js +55 -67
  432. package/dist/safe-bash-regex-engine/execution/portable.d.ts +0 -1
  433. package/dist/safe-bash-regex-engine/execution/portable.js +6 -10
  434. package/dist/safe-bash-regex-engine/execution/protocol.d.ts +0 -5
  435. package/dist/safe-bash-regex-engine/execution/protocol.js +1 -3
  436. package/dist/safe-bash-regex-engine/index.js +6 -4
  437. package/dist/safe-bash-regex-engine/text/budget.d.ts +1 -0
  438. package/dist/safe-bash-regex-engine/text/budget.js +1 -1
  439. package/dist/safe-bash-regex-engine/text/regex.d.ts +14 -0
  440. package/dist/safe-bash-regex-engine/text/regex.js +6 -4
  441. package/dist/safe-bash-regex-engine/text/replacement-buffer.js +2 -2
  442. package/dist/safe-bash-regex-engine/text/rust-syntax.js +2 -2
  443. package/dist/safe-bash-search-engine/grep.js +189 -227
  444. package/dist/safe-bash-table-text-engine/table-text/internal.d.ts +7 -5
  445. package/dist/safe-bash-table-text-engine/table-text/internal.js +39 -21
  446. package/dist/safe-playwright-cloudflare/browser-trace-budget.js +6 -2
  447. package/dist/spreadsheet-engine/codecs/odf-hyperlinks.js +8 -2
  448. package/dist/spreadsheet-engine/formulas/functions/captured-bessel-phase.js +2 -2
  449. package/dist/spreadsheet-engine/formulas/label-references.js +54 -33
  450. package/dist/spreadsheet-engine/formulas/parser.js +3 -1
  451. package/dist/spreadsheet-engine/formulas/rewriting.js +13 -3
  452. package/dist/spreadsheet-format-xls/biff-data-tables.js +4 -6
  453. package/dist/spreadsheet-format-xls/biff-formulas.js +3 -0
  454. package/dist/spreadsheet-format-xls/biff-label-ranges.js +9 -6
  455. package/dist/spreadsheet-format-xls/biff.js +1 -1
  456. package/dist/xlsx-ast/xlsx.js +8 -5
  457. package/package.json +9 -8
  458. package/dist/safe-bash/command-chunks/chunk-KAGBORIC.js +0 -88
  459. /package/dist/safe-bash/command-chunks/{chunk-BWNXWI33.js → chunk-2LMZVE3I.js} +0 -0
@@ -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,18 @@
1
1
  import {
2
2
  portableTrapExtension
3
- } from "./chunks/chunk-LUOFIVNI.js";
3
+ } from "./chunks/chunk-3NDIFSNM.js";
4
4
  import {
5
5
  signalName
6
- } from "./chunks/chunk-SOZK5JVX.js";
6
+ } from "./chunks/chunk-FBUCWVTE.js";
7
7
  import {
8
8
  ByteInputBudget,
9
9
  compareCopyIdentity,
10
10
  compareObservedEntries,
11
11
  inputRequirements
12
- } from "./chunks/chunk-LLZCZ24K.js";
12
+ } from "./chunks/chunk-XVOSKJE2.js";
13
13
  import {
14
14
  latin1Text
15
- } from "./chunks/chunk-BHJE5LPZ.js";
15
+ } from "./chunks/chunk-D3ANYGMC.js";
16
16
  import {
17
17
  EreLedger,
18
18
  EreProfileLimitError,
@@ -20,13 +20,13 @@ import {
20
20
  EreUnsupportedError,
21
21
  compileEre,
22
22
  prepareUtf8EreSubject
23
- } from "./chunks/chunk-XB3B7KMM.js";
23
+ } from "./chunks/chunk-6O77NL2S.js";
24
24
  import {
25
25
  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";
26
+ } from "./chunks/chunk-A7XEHALN.js";
27
+ import "./chunks/chunk-J42RIHHJ.js";
28
+ import "./chunks/chunk-74GHTNJA.js";
29
+ import "./chunks/chunk-7R5BDCG7.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,35 @@
1
1
  import {
2
2
  agentCommands,
3
3
  createAgentCommands
4
- } from "../chunks/chunk-HHW7MGS2.js";
4
+ } from "../chunks/chunk-45PK3NWI.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-PQRAK7HU.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-SZH7EJLD.js";
13
+ import "../chunks/chunk-MHMMRCYC.js";
14
+ import "../chunks/chunk-AUSNDQTJ.js";
15
+ import "../chunks/chunk-CTVWDACF.js";
16
+ import "../chunks/chunk-3R3AANOR.js";
17
+ import "../chunks/chunk-OV6IHKO6.js";
18
+ import "../chunks/chunk-XVOSKJE2.js";
19
+ import "../chunks/chunk-C5OWC2TL.js";
20
+ import "../chunks/chunk-IVRQ4BXL.js";
21
+ import "../chunks/chunk-D3ANYGMC.js";
22
+ import "../chunks/chunk-CHYGPFVM.js";
23
+ import "../chunks/chunk-NR3EM4LS.js";
24
+ import "../chunks/chunk-J42RIHHJ.js";
25
+ import "../chunks/chunk-ICFDYV64.js";
26
+ import "../chunks/chunk-VTH3MLDU.js";
27
+ import "../chunks/chunk-NZQXYWA3.js";
28
+ import "../chunks/chunk-74GHTNJA.js";
29
+ import "../chunks/chunk-7R5BDCG7.js";
30
+ import "../chunks/chunk-IWDICZVK.js";
31
+ import "../chunks/chunk-E7OYNDGL.js";
32
+ import "../chunks/chunk-B7TAL7S5.js";
33
33
  export {
34
34
  agentCommands,
35
35
  baseAgentCommands,
@@ -1,37 +1,37 @@
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-PQRAK7HU.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-SZH7EJLD.js";
9
+ import "./chunks/chunk-MHMMRCYC.js";
10
+ import "./chunks/chunk-AUSNDQTJ.js";
11
+ import "./chunks/chunk-CTVWDACF.js";
12
+ import "./chunks/chunk-3R3AANOR.js";
13
+ import "./chunks/chunk-OV6IHKO6.js";
14
+ import "./chunks/chunk-XVOSKJE2.js";
15
+ import "./chunks/chunk-C5OWC2TL.js";
16
+ import "./chunks/chunk-IVRQ4BXL.js";
17
+ import "./chunks/chunk-D3ANYGMC.js";
18
+ import "./chunks/chunk-CHYGPFVM.js";
19
+ import "./chunks/chunk-46Z5E5EV.js";
20
+ import "./chunks/chunk-6O77NL2S.js";
21
21
  import {
22
22
  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";
23
+ } from "./chunks/chunk-NR3EM4LS.js";
24
+ import "./chunks/chunk-J42RIHHJ.js";
25
+ import "./chunks/chunk-ICFDYV64.js";
26
+ import "./chunks/chunk-VTH3MLDU.js";
27
+ import "./chunks/chunk-NZQXYWA3.js";
28
+ import "./chunks/chunk-74GHTNJA.js";
29
+ import "./chunks/chunk-7R5BDCG7.js";
30
+ import "./chunks/chunk-IWDICZVK.js";
31
+ import "./chunks/chunk-E7OYNDGL.js";
32
32
  import {
33
33
  init_platform
34
- } from "./chunks/chunk-YG5WAHK7.js";
34
+ } from "./chunks/chunk-B7TAL7S5.js";
35
35
 
36
36
  // packages/safe-bash/src/registry-entry.ts
37
37
  init_platform();
@@ -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;
@@ -619,8 +620,6 @@ export declare class Runtime {
619
620
  internalDiscovery(name: string, state: State, bypassFunctions?: boolean): Discovery[];
620
621
  private tryResolveSyncDiscovery;
621
622
  firstInternalDiscovery(name: string, state: State, bypassFunctions?: boolean): Discovery["kind"] | undefined;
622
- private getExternalCommand;
623
- private hasExternalCommand;
624
623
  discoveryBuiltin(context: CommandContext, state: State, io: IO, assignments: Map<string, SavedVariable>, inheritedDefaultPath?: boolean): Promise<number>;
625
624
  searchPaths(name: string, state: State, all?: boolean, discovery?: boolean, defaultPath?: boolean): Promise<string[]>;
626
625
  processState(context: CommandContext, state: State, io: IO, arg0: ShellValue, args: readonly string[]): State;
@@ -784,6 +783,7 @@ export declare class RootShellState implements State {
784
783
  _locals: Map<string, SavedVariable>[] | undefined;
785
784
  pipefail: boolean;
786
785
  profile: "bash";
786
+ secondsOrigin: number;
787
787
  constructor(cwd: string, variables: Record<string, string>, exported: Set<string> | undefined, extensions: ShellExtensionState | undefined);
788
788
  get exported(): Set<string>;
789
789
  set exported(value: Set<string>);