@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
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  init_platform
3
- } from "./chunk-YG5WAHK7.js";
3
+ } from "./chunk-B7TAL7S5.js";
4
4
 
5
5
  // packages/safe-bash/src/commands/yq/index.ts
6
6
  init_platform();
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  builtInDirectContextExecutors,
3
3
  syncCommandEvaluators
4
- } from "./chunk-NLAW7KDI.js";
4
+ } from "./chunk-E7OYNDGL.js";
5
5
  import {
6
6
  init_platform
7
- } from "./chunk-YG5WAHK7.js";
7
+ } from "./chunk-B7TAL7S5.js";
8
8
 
9
9
  // packages/safe-bash/src/commands/op/index.ts
10
10
  init_platform();
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  init_platform
3
- } from "./chunk-YG5WAHK7.js";
3
+ } from "./chunk-B7TAL7S5.js";
4
4
 
5
5
  // packages/safe-bash/src/commands/csplit/index.ts
6
6
  init_platform();
@@ -1,26 +1,26 @@
1
1
  import {
2
2
  openCommandFile
3
- } from "./chunk-KCVSVD65.js";
3
+ } from "./chunk-I5HZ4FGE.js";
4
4
  import {
5
5
  createOutputOperation,
6
6
  sha256
7
- } from "./chunk-JJSTTIEZ.js";
7
+ } from "./chunk-ICFDYV64.js";
8
8
  import {
9
9
  FsError
10
- } from "./chunk-46UISJCK.js";
10
+ } from "./chunk-VTH3MLDU.js";
11
11
  import {
12
12
  dirname,
13
13
  inheritYieldCheckpoint,
14
14
  resolvePath,
15
15
  yieldTurn
16
- } from "./chunk-VYZTG3GV.js";
16
+ } from "./chunk-NZQXYWA3.js";
17
17
  import {
18
18
  readBytes,
19
19
  writeBytes
20
- } from "./chunk-PYVEAFJM.js";
20
+ } from "./chunk-74GHTNJA.js";
21
21
  import {
22
22
  validateExitCode
23
- } from "./chunk-LQHGH25W.js";
23
+ } from "./chunk-7R5BDCG7.js";
24
24
  import {
25
25
  PythonFailure,
26
26
  PythonInvocationError,
@@ -33,13 +33,13 @@ import {
33
33
  pythonStatProjection,
34
34
  pythonTreeCleanup,
35
35
  reportPythonFailure
36
- } from "./chunk-63FXVDGF.js";
36
+ } from "./chunk-LVOBFF4D.js";
37
37
  import {
38
38
  pathOf
39
- } from "./chunk-NLAW7KDI.js";
39
+ } from "./chunk-E7OYNDGL.js";
40
40
  import {
41
41
  init_platform
42
- } from "./chunk-YG5WAHK7.js";
42
+ } from "./chunk-B7TAL7S5.js";
43
43
 
44
44
  // packages/safe-bash/src/commands/python/index.ts
45
45
  init_platform();
@@ -210,19 +210,21 @@ var PythonPackageConflictError = class extends Error {
210
210
  function createPythonPackageManifestStore(options = {}) {
211
211
  const maxBytes = options.maxBytes ?? Infinity;
212
212
  const maxEntries = options.maxEntries ?? Infinity;
213
- for (const [name, value] of Object.entries({ maxBytes, maxEntries })) {
213
+ const maxScopeLength = options.maxScopeLength ?? Infinity;
214
+ for (const [name, value] of Object.entries({ maxBytes, maxEntries, maxScopeLength })) {
214
215
  if (value !== Infinity && (!Number.isSafeInteger(value) || value < 1)) {
215
216
  throw new RangeError(`Python manifest ${name} must be a positive safe integer or Infinity`);
216
217
  }
217
218
  }
218
219
  const manifests = /* @__PURE__ */ new Map();
219
220
  let retainedBytes = 0;
220
- let revision = 0;
221
+ let revision = 0n;
221
222
  let disposed = false;
222
223
  const check = (scope, signal) => {
223
224
  signal.throwIfAborted();
224
225
  if (disposed) throw new Error("Python manifest store is disposed");
225
226
  if (typeof scope !== "string" || !scope) throw new TypeError("Invalid Python manifest scope");
227
+ if (scope.length > maxScopeLength) throw new RangeError("Python manifest scope budget exhausted");
226
228
  };
227
229
  return {
228
230
  async get(scope, { signal }) {
@@ -236,7 +238,7 @@ function createPythonPackageManifestStore(options = {}) {
236
238
  if (current?.revision !== expected) return false;
237
239
  if (!(bytes instanceof Uint8Array)) throw new TypeError("Python manifest must contain bytes");
238
240
  const nextBytes = retainedBytes - (current?.bytes.length ?? 0) + bytes.length;
239
- if (nextBytes > maxBytes || !current && manifests.size >= maxEntries || revision >= Number.MAX_SAFE_INTEGER) {
241
+ if (nextBytes > maxBytes || !current && manifests.size >= maxEntries) {
240
242
  throw new RangeError("Python manifest store budget exhausted");
241
243
  }
242
244
  manifests.set(scope, { revision: String(++revision), bytes: Uint8Array.from(bytes) });
@@ -651,6 +653,7 @@ function createPythonHostBridge(capabilities, options) {
651
653
  const pending = /* @__PURE__ */ new Set();
652
654
  const streams = /* @__PURE__ */ new Map();
653
655
  const jobs = /* @__PURE__ */ new Map();
656
+ const activeCalls = /* @__PURE__ */ new Set();
654
657
  const cleanupFailures = [];
655
658
  const jobWork = /* @__PURE__ */ new Set();
656
659
  let nextJob = 1;
@@ -705,14 +708,17 @@ function createPythonHostBridge(capabilities, options) {
705
708
  const release = async (handle, cancel = true) => {
706
709
  const stream = streams.get(handle);
707
710
  if (!stream) throw new Error("Unknown Python host stream");
708
- streams.delete(handle);
709
- if (cancel) stream.controller.abort(new Error("Python host stream released"));
710
- try {
711
- await stream.iterator.return?.();
712
- } catch (error) {
713
- cleanupFailures.push(error);
714
- throw error;
711
+ if (!stream.closing) {
712
+ stream.closing = Promise.resolve().then(async () => {
713
+ if (cancel) stream.controller.abort(new Error("Python host stream released"));
714
+ await stream.iterator.return?.();
715
+ streams.delete(handle);
716
+ }).catch((error) => {
717
+ cleanupFailures.push(error);
718
+ throw error;
719
+ });
715
720
  }
721
+ await stream.closing;
716
722
  };
717
723
  const pull = async (handle) => {
718
724
  const stream = streams.get(handle);
@@ -743,6 +749,7 @@ function createPythonHostBridge(capabilities, options) {
743
749
  if (pending.size >= maxConcurrentCalls) throw new Error("Python host call concurrency limit exceeded");
744
750
  const payload = data(incoming);
745
751
  if (!payload || Array.isArray(payload) || typeof payload !== "object" || payload.version !== 1) throw new TypeError("Unsupported Python host protocol");
752
+ let reservation;
746
753
  const operation = Promise.resolve().then(async () => {
747
754
  assertLive();
748
755
  if (payload.operation === "poll" || payload.operation === "cancel") {
@@ -752,21 +759,25 @@ function createPythonHostBridge(capabilities, options) {
752
759
  if (!job) throw new Error("Unknown Python host job");
753
760
  if (payload.operation === "cancel") {
754
761
  jobs.delete(handle);
762
+ if (job.settled) activeCalls.delete(job.reservation);
755
763
  job.controller.abort(new Error("Python guest cancelled host operation"));
756
764
  return null;
757
765
  }
758
766
  if (job.result === void 0 && !job.failed) return { done: false };
759
767
  jobs.delete(handle);
768
+ if (job.settled) activeCalls.delete(job.reservation);
760
769
  return job.failed ? { done: true, error: "Python host operation failed", errorCode: job.failed } : { done: true, value: job.result };
761
770
  }
762
- if (Math.max(jobWork.size, jobs.size) >= maxConcurrentCalls) throw new Error("Python host call concurrency limit exceeded");
771
+ if (activeCalls.size >= maxConcurrentCalls) throw new Error("Python host call concurrency limit exceeded");
772
+ reservation = {};
773
+ activeCalls.add(reservation);
763
774
  if (payload.operation === "begin" || payload.operation === "begin-next") {
764
775
  let work;
765
776
  let child;
766
777
  let reservedStream;
767
778
  if (payload.operation === "begin-next") {
768
779
  const stream = typeof payload.handle === "number" ? streams.get(payload.handle) : void 0;
769
- if (!stream || stream.busy) throw new Error("Unknown or busy Python host stream");
780
+ if (!stream || stream.busy || stream.closing) throw new Error("Unknown or busy Python host stream");
770
781
  reservedStream = stream;
771
782
  stream.busy = true;
772
783
  child = stream.controller;
@@ -778,8 +789,9 @@ function createPythonHostBridge(capabilities, options) {
778
789
  work = (childSignal) => capability2.call(payload.value ?? null, { signal: childSignal });
779
790
  }
780
791
  const handle = nextJob++;
781
- const job = { controller: child };
792
+ const job = { controller: child, reservation, settled: false };
782
793
  jobs.set(handle, job);
794
+ reservation = void 0;
783
795
  const task = Promise.resolve().then(() => {
784
796
  const childSignal = AbortSignal.any([signal, child.signal]);
785
797
  childSignal.throwIfAborted();
@@ -791,6 +803,8 @@ function createPythonHostBridge(capabilities, options) {
791
803
  }).catch((error) => {
792
804
  job.failed = pythonHostFailureCode(error);
793
805
  }).finally(() => {
806
+ job.settled = true;
807
+ if (!jobs.has(handle)) activeCalls.delete(job.reservation);
794
808
  if (reservedStream) reservedStream.busy = false;
795
809
  jobWork.delete(task);
796
810
  });
@@ -802,7 +816,7 @@ function createPythonHostBridge(capabilities, options) {
802
816
  if (typeof handle !== "number" || !Number.isSafeInteger(handle)) throw new TypeError("Invalid Python host stream handle");
803
817
  const stream = streams.get(handle);
804
818
  if (!stream) throw new Error("Unknown Python host stream");
805
- if (stream.busy) throw new Error("Python host stream already pulling");
819
+ if (stream.busy || stream.closing) throw new Error("Python host stream already pulling or closing");
806
820
  if (payload.operation === "release") {
807
821
  await release(handle);
808
822
  return null;
@@ -837,6 +851,7 @@ function createPythonHostBridge(capabilities, options) {
837
851
  return await operation;
838
852
  } finally {
839
853
  pending.delete(operation);
854
+ if (reservation) activeCalls.delete(reservation);
840
855
  }
841
856
  };
842
857
  const close = () => {
@@ -847,6 +862,7 @@ function createPythonHostBridge(capabilities, options) {
847
862
  for (const job of jobs.values()) job.controller.abort(controller.signal.reason);
848
863
  await Promise.allSettled([...pending, ...jobWork]);
849
864
  jobs.clear();
865
+ activeCalls.clear();
850
866
  const results = await Promise.allSettled([...streams.keys()].map((handle) => release(handle)));
851
867
  registry.clear();
852
868
  for (const result of results) if (result.status === "rejected") throw result.reason;
@@ -867,8 +883,9 @@ function createPythonShellCapability(context, options = {}) {
867
883
  if (!context.invoke || !context.executionScope) throw new TypeError("Python shell capability requires a parent shell invocation");
868
884
  const maxInputBytes = options.maxInputBytes ?? Infinity;
869
885
  const maxOutputBytes = options.maxOutputBytes ?? Infinity;
886
+ const maxBufferedOutputBytes = options.maxBufferedOutputBytes ?? Infinity;
870
887
  const maxConcurrentCalls = options.maxConcurrentCalls ?? Infinity;
871
- for (const limit of [maxInputBytes, maxOutputBytes, maxConcurrentCalls]) if (limit !== Infinity && (!Number.isSafeInteger(limit) || limit < 1)) throw new RangeError("Invalid Python shell limit");
888
+ for (const limit of [maxInputBytes, maxOutputBytes, maxBufferedOutputBytes, maxConcurrentCalls]) if (limit !== Infinity && (!Number.isSafeInteger(limit) || limit < 1)) throw new RangeError("Invalid Python shell limit");
872
889
  const chunkBytes = options.maxStreamChunkBytes ?? 16384;
873
890
  if (!Number.isSafeInteger(chunkBytes) || chunkBytes < 1) throw new RangeError("Invalid Python shell stream chunk limit");
874
891
  const scope = context.executionScope;
@@ -881,7 +898,7 @@ function createPythonShellCapability(context, options = {}) {
881
898
  const request = value;
882
899
  const requestedOutput = request.maxOutputBytes;
883
900
  if (requestedOutput !== void 0 && (typeof requestedOutput !== "number" || requestedOutput !== Infinity && (!Number.isSafeInteger(requestedOutput) || requestedOutput < 0))) throw new RangeError("Invalid Python shell output limit");
884
- const outputLimit = Math.min(maxOutputBytes, typeof requestedOutput === "number" ? requestedOutput : maxOutputBytes);
901
+ const outputLimit = Math.min(maxOutputBytes, publish ? Infinity : maxBufferedOutputBytes, typeof requestedOutput === "number" ? requestedOutput : Infinity);
885
902
  const timeoutMs = request.timeoutMs;
886
903
  if (timeoutMs !== void 0 && (typeof timeoutMs !== "number" || !Number.isSafeInteger(timeoutMs) || timeoutMs < 1 || timeoutMs > 2147483647)) throw new RangeError("Invalid Python shell timeout");
887
904
  const childSignal = typeof timeoutMs === "number" ? AbortSignal.any([signal, AbortSignal.timeout(timeoutMs)]) : signal;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  init_platform
3
- } from "./chunk-YG5WAHK7.js";
3
+ } from "./chunk-B7TAL7S5.js";
4
4
 
5
5
  // packages/safe-bash/src/contracts/errors.ts
6
6
  init_platform();
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  init_platform
3
- } from "./chunk-YG5WAHK7.js";
3
+ } from "./chunk-B7TAL7S5.js";
4
4
 
5
5
  // packages/safe-bash/src/commands/portable-requirements.ts
6
6
  init_platform();
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  inflateRaw
3
- } from "./chunk-U5NUZPCC.js";
3
+ } from "./chunk-MHMMRCYC.js";
4
4
  import {
5
5
  builtInDirectContextExecutors,
6
6
  syncCommandEvaluators
7
- } from "./chunk-NLAW7KDI.js";
7
+ } from "./chunk-E7OYNDGL.js";
8
8
  import {
9
9
  init_platform
10
- } from "./chunk-YG5WAHK7.js";
10
+ } from "./chunk-B7TAL7S5.js";
11
11
 
12
12
  // packages/safe-bash/src/commands/csvkit/index.ts
13
13
  init_platform();
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  builtInDirectContextExecutors,
3
3
  syncCommandEvaluators
4
- } from "./chunk-NLAW7KDI.js";
4
+ } from "./chunk-E7OYNDGL.js";
5
5
  import {
6
6
  init_platform
7
- } from "./chunk-YG5WAHK7.js";
7
+ } from "./chunk-B7TAL7S5.js";
8
8
 
9
9
  // packages/safe-bash/src/commands/ffmpeg/index.ts
10
10
  init_platform();
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  builtInDirectContextExecutors,
3
3
  syncCommandEvaluators
4
- } from "./chunk-NLAW7KDI.js";
4
+ } from "./chunk-E7OYNDGL.js";
5
5
  import {
6
6
  init_platform
7
- } from "./chunk-YG5WAHK7.js";
7
+ } from "./chunk-B7TAL7S5.js";
8
8
 
9
9
  // packages/safe-bash/src/commands/gh/index.ts
10
10
  init_platform();
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  builtInDirectContextExecutors,
3
3
  syncCommandEvaluators
4
- } from "./chunk-NLAW7KDI.js";
4
+ } from "./chunk-E7OYNDGL.js";
5
5
  import {
6
6
  init_platform
7
- } from "./chunk-YG5WAHK7.js";
7
+ } from "./chunk-B7TAL7S5.js";
8
8
 
9
9
  // packages/safe-bash/src/commands/git/index.ts
10
10
  init_platform();
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  builtInDirectContextExecutors,
3
3
  syncCommandEvaluators
4
- } from "./chunk-NLAW7KDI.js";
4
+ } from "./chunk-E7OYNDGL.js";
5
5
  import {
6
6
  init_platform
7
- } from "./chunk-YG5WAHK7.js";
7
+ } from "./chunk-B7TAL7S5.js";
8
8
 
9
9
  // packages/safe-bash/src/commands/imagemagick/index.ts
10
10
  init_platform();
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  builtInDirectContextExecutors,
3
3
  syncCommandEvaluators
4
- } from "./chunk-NLAW7KDI.js";
4
+ } from "./chunk-E7OYNDGL.js";
5
5
  import {
6
6
  init_platform
7
- } from "./chunk-YG5WAHK7.js";
7
+ } from "./chunk-B7TAL7S5.js";
8
8
 
9
9
  // packages/safe-bash/src/commands/pandoc/implementation.ts
10
10
  init_platform();
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  builtInDirectContextExecutors,
3
3
  syncCommandEvaluators
4
- } from "./chunk-NLAW7KDI.js";
4
+ } from "./chunk-E7OYNDGL.js";
5
5
  import {
6
6
  init_platform
7
- } from "./chunk-YG5WAHK7.js";
7
+ } from "./chunk-B7TAL7S5.js";
8
8
 
9
9
  // packages/safe-bash/src/commands/mmdc/index.ts
10
10
  init_platform();
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  builtInDirectContextExecutors,
3
3
  syncCommandEvaluators
4
- } from "./chunk-NLAW7KDI.js";
4
+ } from "./chunk-E7OYNDGL.js";
5
5
  import {
6
6
  init_platform
7
- } from "./chunk-YG5WAHK7.js";
7
+ } from "./chunk-B7TAL7S5.js";
8
8
 
9
9
  // packages/safe-bash/src/commands/pdfimages/index.ts
10
10
  init_platform();
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  builtInDirectContextExecutors,
3
3
  syncCommandEvaluators
4
- } from "./chunk-NLAW7KDI.js";
4
+ } from "./chunk-E7OYNDGL.js";
5
5
  import {
6
6
  init_platform
7
- } from "./chunk-YG5WAHK7.js";
7
+ } from "./chunk-B7TAL7S5.js";
8
8
 
9
9
  // packages/safe-bash/src/commands/pdfinfo/index.ts
10
10
  init_platform();
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  builtInDirectContextExecutors,
3
3
  syncCommandEvaluators
4
- } from "./chunk-NLAW7KDI.js";
4
+ } from "./chunk-E7OYNDGL.js";
5
5
  import {
6
6
  init_platform
7
- } from "./chunk-YG5WAHK7.js";
7
+ } from "./chunk-B7TAL7S5.js";
8
8
 
9
9
  // packages/safe-bash/src/commands/pdftk/index.ts
10
10
  init_platform();
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  builtInDirectContextExecutors,
3
3
  syncCommandEvaluators
4
- } from "./chunk-NLAW7KDI.js";
4
+ } from "./chunk-E7OYNDGL.js";
5
5
  import {
6
6
  init_platform
7
- } from "./chunk-YG5WAHK7.js";
7
+ } from "./chunk-B7TAL7S5.js";
8
8
 
9
9
  // packages/safe-bash/src/commands/pdftoppm/index.ts
10
10
  init_platform();
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  builtInDirectContextExecutors,
3
3
  syncCommandEvaluators
4
- } from "./chunk-NLAW7KDI.js";
4
+ } from "./chunk-E7OYNDGL.js";
5
5
  import {
6
6
  init_platform
7
- } from "./chunk-YG5WAHK7.js";
7
+ } from "./chunk-B7TAL7S5.js";
8
8
 
9
9
  // packages/safe-bash/src/commands/pdftotext/index.ts
10
10
  init_platform();
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  builtInDirectContextExecutors,
3
3
  syncCommandEvaluators
4
- } from "./chunk-NLAW7KDI.js";
4
+ } from "./chunk-E7OYNDGL.js";
5
5
  import {
6
6
  init_platform
7
- } from "./chunk-YG5WAHK7.js";
7
+ } from "./chunk-B7TAL7S5.js";
8
8
 
9
9
  // packages/safe-bash/src/commands/qpdf/index.ts
10
10
  init_platform();
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  builtInDirectContextExecutors,
3
3
  syncCommandEvaluators
4
- } from "./chunk-NLAW7KDI.js";
4
+ } from "./chunk-E7OYNDGL.js";
5
5
  import {
6
6
  init_platform
7
- } from "./chunk-YG5WAHK7.js";
7
+ } from "./chunk-B7TAL7S5.js";
8
8
 
9
9
  // packages/safe-bash/src/commands/sips/index.ts
10
10
  init_platform();
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  builtInDirectContextExecutors,
3
3
  syncCommandEvaluators
4
- } from "./chunk-NLAW7KDI.js";
4
+ } from "./chunk-E7OYNDGL.js";
5
5
  import {
6
6
  init_platform
7
- } from "./chunk-YG5WAHK7.js";
7
+ } from "./chunk-B7TAL7S5.js";
8
8
 
9
9
  // packages/safe-bash/src/commands/soffice/index.ts
10
10
  init_platform();
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  builtInDirectContextExecutors,
3
3
  syncCommandEvaluators
4
- } from "./chunk-NLAW7KDI.js";
4
+ } from "./chunk-E7OYNDGL.js";
5
5
  import {
6
6
  init_platform
7
- } from "./chunk-YG5WAHK7.js";
7
+ } from "./chunk-B7TAL7S5.js";
8
8
 
9
9
  // packages/safe-bash/src/commands/wkhtmltopdf/index.ts
10
10
  init_platform();
@@ -6,16 +6,16 @@ import {
6
6
  parseRangePrefix,
7
7
  relocateFormula,
8
8
  resourceUri
9
- } from "./chunk-YMONDXET.js";
9
+ } from "./chunk-4ZQWGOZB.js";
10
10
  import {
11
11
  createFormattingCapability
12
- } from "./chunk-KBEURXFF.js";
12
+ } from "./chunk-UN6WS55J.js";
13
13
  import {
14
14
  CodecWriteFailure
15
- } from "./chunk-NGWB2YBL.js";
15
+ } from "./chunk-O4JQSB7O.js";
16
16
  import {
17
17
  exportOptionPairs
18
- } from "./chunk-OT4LZMLB.js";
18
+ } from "./chunk-BR73BIOW.js";
19
19
  import {
20
20
  FinancialGoalSeek,
21
21
  WORK_QUANTUM,
@@ -38,11 +38,11 @@ import {
38
38
  serialDate,
39
39
  shiftMonths,
40
40
  snapshotRuntimeFunctions
41
- } from "./chunk-5SHGJ7NO.js";
41
+ } from "./chunk-VA5ZHYYA.js";
42
42
  import {
43
43
  converterLocale,
44
44
  runtimeEnvironment
45
- } from "./chunk-4QJOYXVB.js";
45
+ } from "./chunk-JV7LBUTP.js";
46
46
  import {
47
47
  DEFAULT_SHEET_SIZE,
48
48
  SsconvertError,
@@ -55,7 +55,7 @@ import {
55
55
  snapshotWorkbook,
56
56
  updateWorkbook,
57
57
  validSheetSize
58
- } from "./chunk-DWFLVJC6.js";
58
+ } from "./chunk-CCRHMAU5.js";
59
59
  import {
60
60
  init_buffer
61
61
  } from "./chunk-HX3SHTCE.js";
@@ -9,8 +9,9 @@ function stringCheckpoint(work, units = 1) {
9
9
  work.signal.throwIfAborted();
10
10
  work.remaining -= units;
11
11
  if (work.remaining < 0) work.exhausted();
12
+ const first = work.steps === void 0;
12
13
  work.steps = (work.steps ?? 0) + units;
13
- if (work.steps < 128) return void 0;
14
+ if (!first && work.steps < 128) return void 0;
14
15
  work.steps %= 128;
15
16
  return yieldTurn(work.signal);
16
17
  }
@@ -3,16 +3,16 @@ import {
3
3
  } from "./chunk-IDR3WWKI.js";
4
4
  import {
5
5
  TextConverterUnavailable
6
- } from "./chunk-NGWB2YBL.js";
6
+ } from "./chunk-O4JQSB7O.js";
7
7
  import {
8
8
  singleByteTables
9
9
  } from "./chunk-KOM3FNCE.js";
10
10
  import {
11
11
  converterLocale
12
- } from "./chunk-4QJOYXVB.js";
12
+ } from "./chunk-JV7LBUTP.js";
13
13
  import {
14
14
  SsconvertError
15
- } from "./chunk-DWFLVJC6.js";
15
+ } from "./chunk-CCRHMAU5.js";
16
16
  import {
17
17
  init_buffer
18
18
  } from "./chunk-HX3SHTCE.js";
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-5XY4DTNG.js";
5
5
  import {
6
6
  CurlError
7
- } from "./chunk-IYPAQ7PH.js";
7
+ } from "./chunk-GRBWW4SG.js";
8
8
  import {
9
9
  init_buffer
10
10
  } from "./chunk-HX3SHTCE.js";
@@ -136,7 +136,7 @@ function validateRequestHeader(name, value) {
136
136
  } catch {
137
137
  throw new CurlError(2, "Invalid HTTP header");
138
138
  }
139
- if (["host", "content-length", "transfer-encoding", "connection", "proxy-authorization", "upgrade", "expect"].includes(name.toLowerCase())) {
139
+ if (["content-length", "transfer-encoding", "proxy-authorization", "upgrade"].includes(name.toLowerCase())) {
140
140
  throw new CurlError(2, "Transport-controlled HTTP header is not supported");
141
141
  }
142
142
  }
@@ -231,7 +231,8 @@ function parseArguments(args, limits) {
231
231
  result.range = value;
232
232
  break;
233
233
  case "user-agent":
234
- addHeader(result, `User-Agent: ${value}`);
234
+ validateRequestHeader("User-Agent", value);
235
+ result.agent = value;
235
236
  break;
236
237
  case "referer": {
237
238
  validateRequestHeader("Referer", value);
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SsconvertError
3
- } from "./chunk-DWFLVJC6.js";
3
+ } from "./chunk-CCRHMAU5.js";
4
4
  import {
5
5
  init_buffer
6
6
  } from "./chunk-HX3SHTCE.js";
@@ -2,7 +2,7 @@ import {
2
2
  equal,
3
3
  indexValue,
4
4
  sliceValue
5
- } from "./chunk-UMDIOL3O.js";
5
+ } from "./chunk-KXU3IRUO.js";
6
6
  import {
7
7
  JqError,
8
8
  JqLimitError,