@poe-platform/safe-bash 0.1.803 → 0.1.804

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 (696) hide show
  1. package/README.md +56 -31
  2. package/dist/image-ast/ast.d.ts +1 -0
  3. package/dist/image-ast/browser/ast.d.ts +1 -0
  4. package/dist/image-ast/browser/codecs/jpeg.d.ts +2 -2
  5. package/dist/image-ast/codecs/jpeg.d.ts +2 -2
  6. package/dist/image-ast/index.browser.js +692 -8364
  7. package/dist/image-ast/index.js +692 -8364
  8. package/dist/mp4-ast/codecs.d.ts +7 -2
  9. package/dist/safe-bash/chunks/{chunk-CHYGPFVM.js → chunk-22SX3F2R.js} +1 -1
  10. package/dist/safe-bash/chunks/{chunk-FBUCWVTE.js → chunk-2IVBJTBD.js} +1 -1
  11. package/dist/safe-bash/chunks/chunk-2POETUMB.js +190 -0
  12. package/dist/safe-bash/chunks/{chunk-XVOSKJE2.js → chunk-47D7WBJK.js} +1 -1
  13. package/dist/safe-bash/chunks/{chunk-VKNVHEX3.js → chunk-4ESI236Y.js} +1 -1
  14. package/dist/safe-bash/chunks/{chunk-74GHTNJA.js → chunk-4KTMKD5W.js} +1 -1
  15. package/dist/safe-bash/chunks/{chunk-55YJASTN.js → chunk-4T53AERN.js} +1 -1
  16. package/dist/safe-bash/chunks/{chunk-DQP3VHSB.js → chunk-5XIFJVOO.js} +1 -1
  17. package/dist/safe-bash/chunks/{chunk-5OHX7C2V.js → chunk-62BOHHJT.js} +1 -1
  18. package/dist/safe-bash/chunks/{chunk-HZAMGT5I.js → chunk-67WIFM3N.js} +17 -6
  19. package/dist/safe-bash/chunks/{chunk-4D4N7IU2.js → chunk-6LNFRPW5.js} +2 -2
  20. package/dist/safe-bash/chunks/{chunk-6O77NL2S.js → chunk-6SMICPI3.js} +1 -1
  21. package/dist/safe-bash/chunks/{chunk-4BSJLKNM.js → chunk-7O76UFQD.js} +1 -1
  22. package/dist/safe-bash/chunks/{chunk-PNBBUWSM.js → chunk-AW5KIT6V.js} +3488 -39
  23. package/dist/safe-bash/chunks/{chunk-JMMEIDPF.js → chunk-B2Z73HTZ.js} +52 -28
  24. package/dist/safe-bash/chunks/chunk-B3ZMOJVM.js +319 -0
  25. package/dist/safe-bash/chunks/{chunk-7ZBU7KYV.js → chunk-CFAWS3O4.js} +1 -1
  26. package/dist/safe-bash/chunks/{chunk-I5HZ4FGE.js → chunk-CL2FCTTO.js} +1 -1
  27. package/dist/safe-bash/chunks/{chunk-2LSAMQER.js → chunk-CTXNARJH.js} +1 -1
  28. package/dist/safe-bash/chunks/{chunk-TFIBK2GI.js → chunk-D5Q7NFWI.js} +1 -1
  29. package/dist/safe-bash/chunks/{chunk-OQRVVGR6.js → chunk-DSOOVZ6Q.js} +1 -1
  30. package/dist/safe-bash/chunks/{chunk-VTH3MLDU.js → chunk-DUTAG6ZD.js} +1 -1
  31. package/dist/safe-bash/chunks/{chunk-XAQMU6OY.js → chunk-EE5YGFIZ.js} +1 -1
  32. package/dist/safe-bash/chunks/{chunk-FZE4HW6G.js → chunk-EJOYT2ME.js} +1 -1
  33. package/dist/safe-bash/chunks/chunk-FAAIR6EJ.js +887 -0
  34. package/dist/safe-bash/chunks/{chunk-OV6IHKO6.js → chunk-FOB2FZR4.js} +2 -2
  35. package/dist/safe-bash/chunks/chunk-G6V4RRSQ.js +14 -0
  36. package/dist/safe-bash/chunks/{chunk-UTBUUFDM.js → chunk-GGQAGQXQ.js} +1 -1
  37. package/dist/safe-bash/chunks/{chunk-K6VCD7IY.js → chunk-HIIYIJ5G.js} +2 -4
  38. package/dist/safe-bash/chunks/{chunk-VBTDHOWC.js → chunk-IOHH2GTI.js} +4 -3
  39. package/dist/safe-bash/chunks/{chunk-CTVWDACF.js → chunk-IQW34XQT.js} +1 -1
  40. package/dist/safe-bash/chunks/{chunk-HZ7BWKQ3.js → chunk-IS572AAT.js} +1 -1
  41. package/dist/safe-bash/chunks/{chunk-AUSNDQTJ.js → chunk-JPSUHHOA.js} +1 -1
  42. package/dist/safe-bash/chunks/{chunk-ZVD5IS4V.js → chunk-KBZ4UB2O.js} +2 -2
  43. package/dist/safe-bash/chunks/{chunk-AM5ESLPH.js → chunk-KU5CVWKA.js} +1 -1
  44. package/dist/safe-bash/chunks/{chunk-RYFQ3LZG.js → chunk-LPOVNKNB.js} +173 -153
  45. package/dist/safe-bash/chunks/{chunk-46Z5E5EV.js → chunk-MBOC3LZ4.js} +1 -1
  46. package/dist/safe-bash/chunks/{chunk-6PAVEFT3.js → chunk-N4BQFD3P.js} +1 -1
  47. package/dist/safe-bash/chunks/{chunk-CS4MNM6I.js → chunk-NGKCVNWS.js} +1 -1
  48. package/dist/safe-bash/chunks/{chunk-7R5BDCG7.js → chunk-OHML2BEU.js} +1 -1
  49. package/dist/safe-bash/chunks/{chunk-C5OWC2TL.js → chunk-OQ3AGYCZ.js} +1 -1
  50. package/dist/safe-bash/chunks/{chunk-B7TAL7S5.js → chunk-PTAEWLSE.js} +0 -2
  51. package/dist/safe-bash/chunks/{chunk-LVOBFF4D.js → chunk-Q4FNLOTI.js} +1 -1
  52. package/dist/safe-bash/chunks/chunk-Q5XO3NAS.js +1036 -0
  53. package/dist/safe-bash/chunks/{chunk-GEG3BWGE.js → chunk-RHFRJIWQ.js} +1 -1
  54. package/dist/safe-bash/chunks/chunk-RUR6J33T.js +11 -0
  55. package/dist/safe-bash/chunks/{chunk-EEEWOYEG.js → chunk-S4RFUUXO.js} +839 -24
  56. package/dist/safe-bash/chunks/{chunk-RRR7AQ24.js → chunk-SD2ISU5L.js} +1 -1
  57. package/dist/safe-bash/chunks/{chunk-3NDIFSNM.js → chunk-SUJ3NTMH.js} +3 -3
  58. package/dist/safe-bash/chunks/{chunk-R3NAKOED.js → chunk-SZRUU5HS.js} +2 -2
  59. package/dist/safe-bash/chunks/{chunk-PH63PLPZ.js → chunk-TC3F4UFF.js} +1 -1
  60. package/dist/safe-bash/chunks/{chunk-3R3AANOR.js → chunk-TCKYOLUE.js} +1 -1
  61. package/dist/safe-bash/chunks/{chunk-D3ANYGMC.js → chunk-UV4X32QU.js} +1 -1
  62. package/dist/safe-bash/chunks/{chunk-E7OYNDGL.js → chunk-V7QT2RWC.js} +1 -1
  63. package/dist/safe-bash/chunks/{chunk-B7PIL77G.js → chunk-W2IYOVHK.js} +804 -1195
  64. package/dist/safe-bash/chunks/{chunk-3HQU4OJO.js → chunk-XNGVOSGI.js} +1 -1
  65. package/dist/safe-bash/chunks/{chunk-J42RIHHJ.js → chunk-XQWCQSRN.js} +1 -1
  66. package/dist/safe-bash/chunks/{chunk-A7XEHALN.js → chunk-Y7FW6GLT.js} +6 -6
  67. package/dist/safe-bash/chunks/{chunk-QGUV42T5.js → chunk-YL3GBUG4.js} +1 -1
  68. package/dist/safe-bash/chunks/chunk-YOXUCJER.js +389 -0
  69. package/dist/safe-bash/chunks/{chunk-HBCN24ZA.js → chunk-Z2AAYYJN.js} +2 -2
  70. package/dist/safe-bash/chunks/chunk-ZKYKJCZZ.js +30 -0
  71. package/dist/safe-bash/chunks/core-IE3AFIDX.js +85806 -0
  72. package/dist/safe-bash/chunks/{ffmpeg-WTC3TEFI.js → ffmpeg-YANDK6HU.js} +2 -2
  73. package/dist/safe-bash/chunks/{gh-6WU6PXL4.js → gh-4MBJ2S5V.js} +2 -2
  74. package/dist/safe-bash/chunks/{git-EFZIGJW4.js → git-2QONJNRQ.js} +2 -2
  75. package/dist/safe-bash/chunks/{imagemagick-EIEYGWPF.js → imagemagick-JLEHGYSN.js} +2 -2
  76. package/dist/safe-bash/chunks/{mmdc-ROQJT5HQ.js → mmdc-6LD7A6ND.js} +2 -2
  77. package/dist/safe-bash/chunks/{pdfimages-DW7LWXFI.js → pdfimages-RSHL7LOP.js} +2 -2
  78. package/dist/safe-bash/chunks/{pdfinfo-TIP6XLUQ.js → pdfinfo-L3SGWPNG.js} +2 -2
  79. package/dist/safe-bash/chunks/{pdftk-DMG22ITZ.js → pdftk-LFBJNU5A.js} +2 -2
  80. package/dist/safe-bash/chunks/{pdftoppm-WNDYR72T.js → pdftoppm-NXXFUIHG.js} +2 -2
  81. package/dist/safe-bash/chunks/{pdftotext-5IPZ4NI7.js → pdftotext-4IHNWT6F.js} +2 -2
  82. package/dist/safe-bash/chunks/{qpdf-TTX2DIUA.js → qpdf-ZEIREV63.js} +2 -2
  83. package/dist/safe-bash/chunks/read-builtin-A4QKAT45.js +9 -0
  84. package/dist/safe-bash/chunks/{sips-XYS46JPJ.js → sips-D5YBG2V3.js} +2 -2
  85. package/dist/safe-bash/chunks/{soffice-TU73E5KL.js → soffice-RAJU3JUT.js} +2 -2
  86. package/dist/safe-bash/chunks/source-files-3XWRRHFA.js +7 -0
  87. package/dist/safe-bash/chunks/{wkhtmltopdf-FSZ2CHGE.js → wkhtmltopdf-7UE4FORZ.js} +2 -2
  88. package/dist/safe-bash/command-chunks/{chunk-7KWZXKY6.js → chunk-26RTBV2I.js} +1 -0
  89. package/dist/safe-bash/command-chunks/{chunk-AQJ2ROJO.js → chunk-2WYNMZR2.js} +10 -8
  90. package/dist/safe-bash/command-chunks/{chunk-BDSMROQZ.js → chunk-36GFRF2N.js} +2 -1
  91. package/dist/safe-bash/command-chunks/{chunk-GC5TJZOF.js → chunk-3VIA2IA7.js} +114 -31
  92. package/dist/safe-bash/command-chunks/{chunk-NKFYQSES.js → chunk-4CTI3ZTX.js} +1 -0
  93. package/dist/safe-bash/command-chunks/{chunk-WH627NJL.js → chunk-4MYP2FX4.js} +2 -1
  94. package/dist/safe-bash/command-chunks/{chunk-ZDN7MJE6.js → chunk-4R5ADJM5.js} +11 -1
  95. package/dist/safe-bash/command-chunks/{chunk-P2N33UMN.js → chunk-5MIKM54M.js} +4 -4
  96. package/dist/safe-bash/command-chunks/{chunk-DB453IE6.js → chunk-6FZQUOSJ.js} +1 -1
  97. package/dist/safe-bash/command-chunks/{chunk-PICVQ6B5.js → chunk-6GKYHPJG.js} +1 -1
  98. package/dist/safe-bash/command-chunks/{chunk-7K6JYKPJ.js → chunk-6M2ELGEN.js} +17 -15
  99. package/dist/safe-bash/command-chunks/{chunk-PXEIT2O4.js → chunk-6UR7V3ET.js} +8 -1
  100. package/dist/safe-bash/command-chunks/{chunk-6KJ3LPI2.js → chunk-6XBS5B46.js} +26 -3
  101. package/dist/safe-bash/command-chunks/{chunk-5PWJG2UK.js → chunk-6YXLZX7L.js} +2 -2
  102. package/dist/safe-bash/command-chunks/{chunk-EK6YNAXT.js → chunk-753YOR54.js} +31 -5
  103. package/dist/safe-bash/command-chunks/{chunk-RMWQAAO5.js → chunk-7IR4NRNE.js} +2 -2
  104. package/dist/safe-bash/command-chunks/{chunk-FZTK4MFI.js → chunk-7NM73SVK.js} +8 -8
  105. package/dist/safe-bash/command-chunks/{chunk-NXEQ3ESQ.js → chunk-7QD5YY4F.js} +6 -11
  106. package/dist/safe-bash/command-chunks/{chunk-EMPU65ZK.js → chunk-A5LBSJGH.js} +1 -0
  107. package/dist/safe-bash/command-chunks/{chunk-4FEVBOL5.js → chunk-ARZMP2L2.js} +2 -2
  108. package/dist/safe-bash/command-chunks/{chunk-NKIELG7Y.js → chunk-BAKFZ477.js} +40 -19
  109. package/dist/safe-bash/command-chunks/{chunk-QRRYN2KO.js → chunk-BC7BK6R6.js} +0 -2424
  110. package/dist/safe-bash/command-chunks/{chunk-CQHP3I66.js → chunk-BOEOJS2Q.js} +1 -1
  111. package/dist/safe-bash/command-chunks/{chunk-XS72HTMA.js → chunk-BWGGLYEB.js} +5 -22
  112. package/dist/safe-bash/command-chunks/{chunk-PMBFZXTK.js → chunk-C5ZZKP7V.js} +1 -1
  113. package/dist/safe-bash/command-chunks/{chunk-LHIOAFWW.js → chunk-C7SEB6WU.js} +1 -1
  114. package/dist/safe-bash/command-chunks/{chunk-XPT2UGBF.js → chunk-CHJKFRT7.js} +1 -1
  115. package/dist/safe-bash/command-chunks/{chunk-TIOCQVUQ.js → chunk-CON26Q2O.js} +1 -1
  116. package/dist/safe-bash/command-chunks/{chunk-E55UKBIE.js → chunk-DBAT3IK2.js} +1 -1
  117. package/dist/safe-bash/command-chunks/{chunk-Z45N42QC.js → chunk-DPAYAVMS.js} +15 -1
  118. package/dist/safe-bash/command-chunks/chunk-DS3NXVUM.js +368 -0
  119. package/dist/safe-bash/command-chunks/{chunk-5ZMZ573Q.js → chunk-DSJ3VRL3.js} +16 -4
  120. package/dist/safe-bash/command-chunks/{chunk-K2GDEMEU.js → chunk-EFRCFWVR.js} +4 -4
  121. package/dist/safe-bash/command-chunks/{chunk-DZCY63VJ.js → chunk-EV6HIJ5H.js} +6 -5
  122. package/dist/safe-bash/command-chunks/{chunk-JDYXY44P.js → chunk-FJURV46Y.js} +3 -3
  123. package/dist/safe-bash/command-chunks/{chunk-TZZ4WUKH.js → chunk-FZAWGKSE.js} +6 -4
  124. package/dist/safe-bash/command-chunks/{chunk-YHFXOX6U.js → chunk-GOCFQ6XV.js} +4 -4
  125. package/dist/safe-bash/command-chunks/{chunk-QVOS4YXL.js → chunk-HH5O7DJI.js} +1 -1
  126. package/dist/safe-bash/command-chunks/{chunk-3HHCU5YU.js → chunk-HK7F5SDC.js} +13 -0
  127. package/dist/safe-bash/command-chunks/{chunk-JNZ3CVAE.js → chunk-HQBXIZC7.js} +8 -3
  128. package/dist/safe-bash/command-chunks/{chunk-V4K2JDYU.js → chunk-I63DBZXZ.js} +2 -2
  129. package/dist/safe-bash/command-chunks/{chunk-WNE7FPVR.js → chunk-I64TLTIW.js} +24 -16
  130. package/dist/safe-bash/command-chunks/{chunk-GFC2NTDG.js → chunk-ICANWOXH.js} +5 -29
  131. package/dist/safe-bash/command-chunks/{chunk-SQRQW3CT.js → chunk-IJ6LGLXM.js} +1 -1
  132. package/dist/safe-bash/command-chunks/{chunk-TGSNCQSR.js → chunk-JT4RYCA6.js} +1771 -1663
  133. package/dist/safe-bash/command-chunks/{chunk-II77KPZN.js → chunk-JWW6FYBN.js} +2 -2
  134. package/dist/safe-bash/command-chunks/{chunk-ZYXH3B66.js → chunk-LCJWKTCJ.js} +250 -203
  135. package/dist/safe-bash/command-chunks/chunk-LU4HBPP2.js +97 -0
  136. package/dist/safe-bash/command-chunks/{chunk-XJXU3VVH.js → chunk-LWOE65OE.js} +20 -5
  137. package/dist/safe-bash/command-chunks/{chunk-GMIHJYDG.js → chunk-M32HFSX7.js} +22 -6
  138. package/dist/safe-bash/command-chunks/{chunk-YG4EPFWC.js → chunk-M3NINRDU.js} +2880 -172
  139. package/dist/safe-bash/command-chunks/chunk-MQREDAL6.js +164 -0
  140. package/dist/safe-bash/command-chunks/{chunk-LWS62ISU.js → chunk-N6DIASO2.js} +1 -1
  141. package/dist/safe-bash/command-chunks/chunk-NGL7YK7O.js +188 -0
  142. package/dist/safe-bash/command-chunks/{chunk-EARHPPPJ.js → chunk-NJYHWKIL.js} +39 -9
  143. package/dist/safe-bash/command-chunks/{chunk-6JSIFWYT.js → chunk-OJQRSCBP.js} +1 -1
  144. package/dist/safe-bash/command-chunks/{chunk-OQU6UT6X.js → chunk-OV3XREFN.js} +11 -0
  145. package/dist/safe-bash/command-chunks/{chunk-MIXBO6U7.js → chunk-PTZLF456.js} +2 -2
  146. package/dist/safe-bash/command-chunks/{chunk-ALDC4XP4.js → chunk-QILLRNES.js} +34 -10
  147. package/dist/safe-bash/command-chunks/{chunk-L22T3H7L.js → chunk-QR25JLKO.js} +1 -1
  148. package/dist/safe-bash/command-chunks/{chunk-NASVPT6F.js → chunk-R7C4MGZ5.js} +17 -224
  149. package/dist/safe-bash/command-chunks/{chunk-LCF3OB7P.js → chunk-RBME3JEH.js} +1 -1
  150. package/dist/safe-bash/command-chunks/{chunk-2KG2QLJE.js → chunk-RFWGYT7G.js} +3 -0
  151. package/dist/safe-bash/command-chunks/{chunk-5TBUOBDE.js → chunk-RZMVRT26.js} +27 -13
  152. package/dist/safe-bash/command-chunks/chunk-TFR6B3WB.js +44 -0
  153. package/dist/safe-bash/command-chunks/chunk-TOH3OF3O.js +179 -0
  154. package/dist/safe-bash/command-chunks/chunk-TT4DAFBT.js +13621 -0
  155. package/dist/safe-bash/command-chunks/{chunk-LWSBAWLT.js → chunk-TXI64OAG.js} +1 -1
  156. package/dist/safe-bash/command-chunks/{chunk-GIRNFXP3.js → chunk-TZRI7BJZ.js} +45 -15
  157. package/dist/safe-bash/command-chunks/{chunk-QOKBZFFD.js → chunk-U3MMODA5.js} +2 -7
  158. package/dist/safe-bash/command-chunks/{chunk-ZYHTWNAE.js → chunk-UAW423ZL.js} +11 -11
  159. package/dist/safe-bash/command-chunks/{chunk-C5YYCQHW.js → chunk-UXEEUGOV.js} +222 -12
  160. package/dist/safe-bash/command-chunks/{chunk-GY3BWK7K.js → chunk-VOZPMJRX.js} +87 -80
  161. package/dist/safe-bash/command-chunks/{chunk-ILX2NOLF.js → chunk-WPANOB4A.js} +20 -20
  162. package/dist/safe-bash/command-chunks/{chunk-Y2WBSJG6.js → chunk-X4QZQI5Q.js} +65 -64
  163. package/dist/safe-bash/command-chunks/{chunk-HDCNKOIX.js → chunk-XGI57GCN.js} +1 -1
  164. package/dist/safe-bash/command-chunks/{chunk-5UBXNSFZ.js → chunk-XUCU7QQT.js} +1281 -1278
  165. package/dist/safe-bash/command-chunks/chunk-Y22VXJBD.js +296 -0
  166. package/dist/safe-bash/command-chunks/{chunk-WVHONVZ4.js → chunk-YMFUUPDX.js} +5 -3
  167. package/dist/safe-bash/command-chunks/{chunk-IR2BY7EL.js → chunk-YYGIBXFZ.js} +2 -2
  168. package/dist/safe-bash/command-chunks/{chunk-MSFXC3OC.js → chunk-Z4FO6OHE.js} +2 -2
  169. package/dist/safe-bash/command-chunks/{chunk-WWIBP2ET.js → chunk-Z5ZZVDUD.js} +143 -22
  170. package/dist/safe-bash/command-chunks/{chunk-LOICUCHG.js → chunk-ZHN3QDCI.js} +1 -1
  171. package/dist/safe-bash/commands/alias/index.d.ts +2 -0
  172. package/dist/safe-bash/commands/alias/index.js +2 -0
  173. package/dist/safe-bash/commands/apply-patch/index.browser.js +2 -3
  174. package/dist/safe-bash/commands/apply-patch/index.d.ts +0 -1
  175. package/dist/safe-bash/commands/apply-patch/index.js +0 -1
  176. package/dist/safe-bash/commands/archive/index.browser.js +2 -3
  177. package/dist/safe-bash/commands/archive/index.d.ts +0 -1
  178. package/dist/safe-bash/commands/archive/index.js +0 -1
  179. package/dist/safe-bash/commands/bytes/index.js +2 -1
  180. package/dist/safe-bash/commands/chmod/index.browser.js +1 -1
  181. package/dist/safe-bash/commands/column/index.browser.js +2 -3
  182. package/dist/safe-bash/commands/column/index.d.ts +0 -1
  183. package/dist/safe-bash/commands/column/index.js +0 -1
  184. package/dist/safe-bash/commands/copy-source.js +1 -0
  185. package/dist/safe-bash/commands/csplit/index.browser.js +2 -2
  186. package/dist/safe-bash/commands/csvkit/index.browser.js +72 -0
  187. package/dist/safe-bash/commands/csvkit/index.d.ts +0 -5
  188. package/dist/safe-bash/commands/csvkit/index.js +0 -50
  189. package/dist/safe-bash/commands/docx/index.browser.js +5 -7
  190. package/dist/safe-bash/commands/du/index.browser.js +2 -3
  191. package/dist/safe-bash/commands/du/index.d.ts +0 -1
  192. package/dist/safe-bash/commands/du/index.js +0 -1
  193. package/dist/safe-bash/commands/expr/index.browser.js +2 -3
  194. package/dist/safe-bash/commands/expr/index.d.ts +0 -1
  195. package/dist/safe-bash/commands/expr/index.js +0 -1
  196. package/dist/safe-bash/commands/factor/index.browser.js +2 -2
  197. package/dist/safe-bash/commands/file/index.browser.js +2 -3
  198. package/dist/safe-bash/commands/file/index.d.ts +0 -1
  199. package/dist/safe-bash/commands/file/index.js +0 -1
  200. package/dist/safe-bash/commands/filesystem.js +1 -1
  201. package/dist/safe-bash/commands/getopt/index.browser.js +2 -2
  202. package/dist/safe-bash/commands/grep-aliases/index.browser.js +3 -3
  203. package/dist/safe-bash/commands/hexdump/index.browser.js +2 -2
  204. package/dist/safe-bash/commands/html-to-markdown/index.browser.js +2 -3
  205. package/dist/safe-bash/commands/html-to-markdown/index.d.ts +0 -1
  206. package/dist/safe-bash/commands/html-to-markdown/index.js +0 -1
  207. package/dist/safe-bash/commands/htmlq/index.d.ts +1 -5
  208. package/dist/safe-bash/commands/htmlq/index.js +1 -143
  209. package/dist/safe-bash/commands/iconv/index.browser.js +2 -2
  210. package/dist/safe-bash/commands/line-endings/index.browser.js +2 -2
  211. package/dist/safe-bash/commands/llm/index.browser.js +2 -2
  212. package/dist/safe-bash/commands/llm/providers/index.browser.js +1 -1
  213. package/dist/safe-bash/commands/mdq/index.browser.js +3 -3
  214. package/dist/safe-bash/commands/media/index.browser.js +4 -16314
  215. package/dist/safe-bash/commands/media/index.d.ts +1 -5
  216. package/dist/safe-bash/commands/media/index.js +1 -3
  217. package/dist/safe-bash/commands/media/plugin.d.ts +1 -18
  218. package/dist/safe-bash/commands/media/plugin.js +1 -90
  219. package/dist/safe-bash/commands/media/remote.d.ts +1 -63
  220. package/dist/safe-bash/commands/media/remote.js +1 -405
  221. package/dist/safe-bash/commands/media/settings.d.ts +1 -4
  222. package/dist/safe-bash/commands/media/settings.js +1 -26
  223. package/dist/safe-bash/commands/metadata/index.browser.js +3 -4
  224. package/dist/safe-bash/commands/metadata/index.d.ts +0 -1
  225. package/dist/safe-bash/commands/metadata/index.js +2 -2
  226. package/dist/safe-bash/commands/mktemp/index.browser.js +1 -1
  227. package/dist/safe-bash/commands/network/curl.js +1 -3
  228. package/dist/safe-bash/commands/network/index.browser.js +3 -4
  229. package/dist/safe-bash/commands/network/public.d.ts +0 -1
  230. package/dist/safe-bash/commands/network/public.js +0 -1
  231. package/dist/safe-bash/commands/network/transport.js +2 -1
  232. package/dist/safe-bash/commands/network/wget.js +1 -3
  233. package/dist/safe-bash/commands/node/browser.d.ts +0 -1
  234. package/dist/safe-bash/commands/node/browser.js +0 -1
  235. package/dist/safe-bash/commands/node/default-runtime.d.ts +3 -0
  236. package/dist/safe-bash/commands/node/default-runtime.js +15 -0
  237. package/dist/safe-bash/commands/node/index.browser.js +7 -8
  238. package/dist/safe-bash/commands/node/index.js +3 -3
  239. package/dist/safe-bash/commands/node/path.js +1 -1
  240. package/dist/safe-bash/commands/node/preload.d.ts +1 -1
  241. package/dist/safe-bash/commands/node/preload.js +4 -1
  242. package/dist/safe-bash/commands/node/quickjs.d.ts +2 -0
  243. package/dist/safe-bash/commands/node/quickjs.js +2 -0
  244. package/dist/safe-bash/commands/node/safejs.js +26 -12
  245. package/dist/safe-bash/commands/op/index.browser.js +2 -3
  246. package/dist/safe-bash/commands/op/index.d.ts +0 -11
  247. package/dist/safe-bash/commands/op/index.js +0 -84
  248. package/dist/safe-bash/commands/pandoc/index.browser.js +44 -0
  249. package/dist/safe-bash/commands/pandoc/index.d.ts +0 -1
  250. package/dist/safe-bash/commands/pandoc/index.js +0 -1
  251. package/dist/safe-bash/commands/pr/index.browser.js +2 -2
  252. package/dist/safe-bash/commands/python/docker-runner.js +4 -3
  253. package/dist/safe-bash/commands/python/docker.d.ts +1 -0
  254. package/dist/safe-bash/commands/python/docker.js +5 -2
  255. package/dist/safe-bash/commands/python/index.browser.js +17 -13
  256. package/dist/safe-bash/commands/python/index.d.ts +2 -1
  257. package/dist/safe-bash/commands/python/index.js +10 -8
  258. package/dist/safe-bash/commands/python/llm-capability.js +65 -2
  259. package/dist/safe-bash/commands/python/llm-dependencies.d.ts +27 -0
  260. package/dist/safe-bash/commands/python/llm-dependencies.js +66 -0
  261. package/dist/safe-bash/commands/python/llm-module.js +6 -4
  262. package/dist/safe-bash/commands/python/llm-reference-module.d.ts +3 -0
  263. package/dist/safe-bash/commands/python/llm-reference-module.js +690 -0
  264. package/dist/safe-bash/commands/python/worker.browser.js +2 -3
  265. package/dist/safe-bash/commands/python/worker.d.ts +0 -1
  266. package/dist/safe-bash/commands/python/worker.js +0 -1
  267. package/dist/safe-bash/commands/regex-execution/ere/transport/wire-engine.d.ts +1 -1
  268. package/dist/safe-bash/commands/regex-execution/ere/transport/wire-engine.js +3 -3
  269. package/dist/safe-bash/commands/regex-execution/public.browser.js +7 -7
  270. package/dist/safe-bash/commands/safejs/options.js +5 -1
  271. package/dist/safe-bash/commands/safejs/runtime.d.ts +1 -0
  272. package/dist/safe-bash/commands/safejs/runtime.js +1 -1
  273. package/dist/safe-bash/commands/split/index.browser.js +2 -3
  274. package/dist/safe-bash/commands/split/index.d.ts +0 -1
  275. package/dist/safe-bash/commands/split/index.js +0 -1
  276. package/dist/safe-bash/commands/ssconvert/index.browser.js +98 -0
  277. package/dist/safe-bash/commands/stat/index.browser.js +1 -1
  278. package/dist/safe-bash/commands/stream-format/index.browser.js +3 -4
  279. package/dist/safe-bash/commands/stream-format/index.d.ts +0 -1
  280. package/dist/safe-bash/commands/stream-format/index.js +0 -1
  281. package/dist/safe-bash/commands/stream-inspection/index.browser.js +3 -4
  282. package/dist/safe-bash/commands/stream-inspection/index.d.ts +0 -1
  283. package/dist/safe-bash/commands/stream-inspection/index.js +0 -1
  284. package/dist/safe-bash/commands/streams.js +2 -1
  285. package/dist/safe-bash/commands/table-text/index.browser.js +3 -4
  286. package/dist/safe-bash/commands/table-text/index.d.ts +0 -1
  287. package/dist/safe-bash/commands/table-text/index.js +0 -1
  288. package/dist/safe-bash/commands/text.js +28 -24
  289. package/dist/safe-bash/commands/time-env/index.browser.js +3 -4
  290. package/dist/safe-bash/commands/time-env/index.d.ts +0 -1
  291. package/dist/safe-bash/commands/time-env/index.js +0 -1
  292. package/dist/safe-bash/commands/tree/index.browser.js +2 -3
  293. package/dist/safe-bash/commands/tree/index.d.ts +0 -1
  294. package/dist/safe-bash/commands/tree/index.js +0 -1
  295. package/dist/safe-bash/commands/tsort/index.browser.js +2 -2
  296. package/dist/safe-bash/commands/unalias/index.d.ts +2 -0
  297. package/dist/safe-bash/commands/unalias/index.js +2 -0
  298. package/dist/safe-bash/commands/xml/index.browser.js +2 -2
  299. package/dist/safe-bash/commands/yq/index.browser.js +2 -2
  300. package/dist/safe-bash/core.browser.js +2 -2
  301. package/dist/safe-bash/core.d.ts +7 -1
  302. package/dist/safe-bash/core.js +7 -1
  303. package/dist/safe-bash/execution-runtime.js +2 -1
  304. package/dist/safe-bash/fs/s3/http/index.d.ts +2 -2
  305. package/dist/safe-bash/fs/s3/http/index.js +1 -1
  306. package/dist/safe-bash/full-core.browser.js +283 -945
  307. package/dist/safe-bash/internal/op/types.d.ts +1 -0
  308. package/dist/safe-bash/jobs.browser.js +5 -5
  309. package/dist/safe-bash/lazy-optional.d.ts +3 -3
  310. package/dist/safe-bash/lazy-optional.js +1 -1
  311. package/dist/safe-bash/opt-in/commands/cmp/index.js +7 -6
  312. package/dist/safe-bash/opt-in/commands/dd/index.js +1 -1
  313. package/dist/safe-bash/opt-in/commands/dd/io.js +51 -5
  314. package/dist/safe-bash/opt-in/commands/truncate/index.js +2 -2
  315. package/dist/safe-bash/opt-in/commands/yq/native-work.js +2 -0
  316. package/dist/safe-bash/opt-in/optional/commands/shuf/input.js +2 -1
  317. package/dist/safe-bash/opt-in/optional/commands/shuf/shuf.js +4 -2
  318. package/dist/safe-bash/opt-in/optional.d.ts +1 -1
  319. package/dist/safe-bash/opt-in/optional.js +1 -1
  320. package/dist/safe-bash/opt-in/shell/extensions/read/index.js +2 -344
  321. package/dist/safe-bash/optional-host.browser.js +23 -18
  322. package/dist/safe-bash/optional-host.d.ts +1 -0
  323. package/dist/safe-bash/optional-host.js +1 -0
  324. package/dist/safe-bash/playwright/controller.js +41 -3
  325. package/dist/safe-bash/playwright/native-storage-targets.js +4 -2
  326. package/dist/safe-bash/plugins/base.d.ts +1 -1
  327. package/dist/safe-bash/plugins/base.js +3 -3
  328. package/dist/safe-bash/plugins/composition.d.ts +5 -2
  329. package/dist/safe-bash/plugins/composition.js +10 -7
  330. package/dist/safe-bash/plugins/index.browser.js +44 -41
  331. package/dist/safe-bash/plugins/index.js +3 -2
  332. package/dist/safe-bash/plugins/portable-commands.d.ts +3 -0
  333. package/dist/safe-bash/plugins/portable-commands.js +31 -0
  334. package/dist/safe-bash/registry-entry.browser.js +41 -42
  335. package/dist/safe-bash/search.browser.js +32 -33
  336. package/dist/safe-bash/shell/arithmetic.js +19 -6
  337. package/dist/safe-bash/shell/arrays/state.js +1 -1
  338. package/dist/safe-bash/shell/arrays/syntax.js +4 -3
  339. package/dist/safe-bash/shell/index.d.ts +0 -1
  340. package/dist/safe-bash/shell/index.js +0 -1
  341. package/dist/safe-bash/shell/parser.d.ts +2 -2
  342. package/dist/safe-bash/shell/parser.js +268 -64
  343. package/dist/safe-bash/shell/read-builtin.d.ts +3 -0
  344. package/dist/safe-bash/shell/read-builtin.js +344 -0
  345. package/dist/safe-bash/shell/runtime.d.ts +21 -4
  346. package/dist/safe-bash/shell/runtime.js +373 -412
  347. package/dist/safe-bash/shell/session-state.js +25 -0
  348. package/dist/safe-bash/shell/shell.js +76 -154
  349. package/dist/safe-bash/shell/tilde-expansion.d.ts +1 -1
  350. package/dist/safe-bash/shell/tilde-expansion.js +2 -2
  351. package/dist/safe-bash/shell/types.d.ts +5 -0
  352. package/dist/safe-bash/shell/value-state.js +1 -1
  353. package/dist/safe-bash/shell-entry.browser.js +32 -33
  354. package/dist/safe-bash/trap.browser.js +4 -4
  355. package/dist/safe-bash/yq-browser/index.js +1 -1
  356. package/dist/safe-bash-calendar-engine/time-env/calendar.d.ts +1 -1
  357. package/dist/safe-bash-calendar-engine/time-env/calendar.js +1 -1
  358. package/dist/safe-bash-calendar-engine/time-env/format.js +1 -1
  359. package/dist/safe-bash-command-alias/index.d.ts +13 -0
  360. package/dist/safe-bash-command-alias/index.js +88 -0
  361. package/dist/safe-bash-command-apply-patch/apply.js +3 -3
  362. package/dist/safe-bash-command-apply-patch/index.js +3 -3
  363. package/dist/safe-bash-command-apply-patch/matcher.js +1 -1
  364. package/dist/safe-bash-command-apply-patch/parser.js +1 -1
  365. package/dist/safe-bash-command-awk/awk-pipes.js +2 -2
  366. package/dist/safe-bash-command-awk/awk-reader.js +1 -1
  367. package/dist/safe-bash-command-awk/awk-runtime.js +3 -3
  368. package/dist/safe-bash-command-awk/awk.js +5 -5
  369. package/dist/safe-bash-command-awk/index.js +5 -5
  370. package/dist/safe-bash-command-bc/index.js +206 -60
  371. package/dist/safe-bash-command-cmp/index.js +7 -6
  372. package/dist/safe-bash-command-column/column.js +3 -3
  373. package/dist/safe-bash-command-column/index.js +3 -3
  374. package/dist/safe-bash-command-column/layout.js +2 -2
  375. package/dist/safe-bash-command-csvkit/index.d.ts +1 -0
  376. package/dist/safe-bash-command-csvkit/index.js +1505 -7
  377. package/dist/safe-bash-command-csvkit/sync-support.js +2 -7
  378. package/dist/safe-bash-command-curl/curl.js +1 -1
  379. package/dist/safe-bash-command-curl/index.js +1 -1
  380. package/dist/safe-bash-command-date/date.js +1 -1
  381. package/dist/safe-bash-command-date/index.js +1 -1
  382. package/dist/safe-bash-command-dd/index.js +1 -1
  383. package/dist/safe-bash-command-dd/io.js +51 -5
  384. package/dist/safe-bash-command-diff/diff.js +1 -1
  385. package/dist/safe-bash-command-diff/index.js +1 -1
  386. package/dist/safe-bash-command-diff3/index.js +10 -13
  387. package/dist/safe-bash-command-exiftool/index.js +278 -50
  388. package/dist/safe-bash-command-exiftool/registry.d.ts +4 -2
  389. package/dist/safe-bash-command-factor/command.js +2 -2
  390. package/dist/safe-bash-command-factor/index.js +2 -2
  391. package/dist/safe-bash-command-fd/arguments.d.ts +2 -0
  392. package/dist/safe-bash-command-fd/index.js +42 -12
  393. package/dist/safe-bash-command-ffmpeg/index.js +356 -66
  394. package/dist/safe-bash-command-find/find-format.d.ts +3 -0
  395. package/dist/safe-bash-command-find/find-format.js +1 -1
  396. package/dist/safe-bash-command-find/find.js +2 -2
  397. package/dist/safe-bash-command-find/index.js +2 -2
  398. package/dist/safe-bash-command-fmt/index.js +1 -4
  399. package/dist/safe-bash-command-fold/engine.d.ts +1 -1
  400. package/dist/safe-bash-command-fold/family.js +2 -2
  401. package/dist/safe-bash-command-fold/index.js +1 -1
  402. package/dist/safe-bash-command-hexdump/command.js +2 -2
  403. package/dist/safe-bash-command-hexdump/index.js +2 -2
  404. package/dist/safe-bash-command-html-to-markdown/entities.js +1 -1
  405. package/dist/safe-bash-command-html-to-markdown/index.js +4 -4
  406. package/dist/safe-bash-command-html-to-markdown/input.js +3 -3
  407. package/dist/safe-bash-command-html-to-markdown/parser.js +2 -2
  408. package/dist/safe-bash-command-html-to-markdown/render.js +3 -3
  409. package/dist/safe-bash-command-htmlq/contracts.d.ts +5 -2
  410. package/dist/safe-bash-command-htmlq/index.d.ts +2 -1
  411. package/dist/safe-bash-command-htmlq/index.js +175 -49
  412. package/dist/safe-bash-command-htmlq/sync.d.ts +1 -0
  413. package/dist/safe-bash-command-imagemagick/index.js +56 -6
  414. package/dist/safe-bash-command-install/arguments.d.ts +27 -0
  415. package/dist/safe-bash-command-install/arguments.js +224 -0
  416. package/dist/safe-bash-command-install/index.d.ts +7 -0
  417. package/dist/safe-bash-command-install/index.js +942 -0
  418. package/dist/safe-bash-command-install/mode.d.ts +6 -0
  419. package/dist/safe-bash-command-install/mode.js +71 -0
  420. package/dist/safe-bash-command-install/options.d.ts +40 -0
  421. package/dist/safe-bash-command-install/options.js +27 -0
  422. package/dist/safe-bash-command-jq/index.js +1 -1
  423. package/dist/safe-bash-command-jq/jq.js +1 -1
  424. package/dist/safe-bash-command-less/index.js +37 -61
  425. package/dist/safe-bash-command-llm/command.js +1 -1
  426. package/dist/safe-bash-command-llm/elevenlabs.js +2 -2
  427. package/dist/safe-bash-command-llm/index.js +4 -4
  428. package/dist/safe-bash-command-llm/openai.js +2 -2
  429. package/dist/safe-bash-command-llm/providers/elevenlabs.js +2 -2
  430. package/dist/safe-bash-command-llm/providers/index.js +3 -3
  431. package/dist/safe-bash-command-llm/providers/openai.js +2 -2
  432. package/dist/safe-bash-command-llm/providers/shared.js +1 -1
  433. package/dist/{safe-bash-mcp → safe-bash-command-mcp}/index.browser.d.ts +463 -46
  434. package/dist/safe-bash-command-mcp/index.browser.js +19308 -0
  435. package/dist/{safe-bash-mcp → safe-bash-command-mcp}/index.d.ts +15 -6
  436. package/dist/{safe-bash-mcp → safe-bash-command-mcp}/index.js +2804 -2771
  437. package/dist/safe-bash-command-media/LICENSE +21 -0
  438. package/dist/safe-bash-command-media/index.d.ts +6 -0
  439. package/dist/safe-bash-command-media/index.js +30 -0
  440. package/dist/safe-bash-command-media/plugin.d.ts +18 -0
  441. package/dist/safe-bash-command-media/plugin.js +11 -0
  442. package/dist/safe-bash-command-media/remote.d.ts +63 -0
  443. package/dist/safe-bash-command-media/remote.js +11 -0
  444. package/dist/safe-bash-command-media/settings.d.ts +4 -0
  445. package/dist/safe-bash-command-media/settings.js +41 -0
  446. package/dist/safe-bash-command-mktemp/command.js +1 -1
  447. package/dist/safe-bash-command-mktemp/index.js +1 -1
  448. package/dist/safe-bash-command-mmdc/arguments.d.ts +1 -0
  449. package/dist/safe-bash-command-mmdc/command.d.ts +2 -0
  450. package/dist/safe-bash-command-mmdc/contracts.d.ts +8 -1
  451. package/dist/safe-bash-command-mmdc/index.js +359 -7
  452. package/dist/safe-bash-command-nl/index.js +1 -1
  453. package/dist/safe-bash-command-nl/nl.js +1 -1
  454. package/dist/safe-bash-command-node/LICENSE +21 -0
  455. package/dist/safe-bash-command-node/index.d.ts +17 -0
  456. package/dist/safe-bash-command-node/index.js +328 -0
  457. package/dist/safe-bash-command-numfmt/index.js +1 -0
  458. package/dist/safe-bash-command-od/index.js +10 -6
  459. package/dist/safe-bash-command-op/index.js +39 -32
  460. package/dist/safe-bash-command-op/types.d.ts +1 -0
  461. package/dist/safe-bash-command-pandoc/command.js +3 -3
  462. package/dist/safe-bash-command-pandoc/index.d.ts +1 -0
  463. package/dist/safe-bash-command-pandoc/index.js +5 -3
  464. package/dist/safe-bash-command-pandoc/sync.d.ts +1 -0
  465. package/dist/safe-bash-command-patch/index.js +4 -4
  466. package/dist/safe-bash-command-patch/patch.js +4 -4
  467. package/dist/safe-bash-command-pdfimages/index.js +1 -1
  468. package/dist/safe-bash-command-pdfinfo/index.js +30 -5
  469. package/dist/safe-bash-command-pdftk/index.js +21 -23
  470. package/dist/safe-bash-command-pdftoppm/index.js +17 -4
  471. package/dist/safe-bash-command-pdftotext/index.js +11 -14
  472. package/dist/safe-bash-command-qpdf/index.d.ts +1 -0
  473. package/dist/safe-bash-command-qpdf/index.js +9 -6
  474. package/dist/safe-bash-command-rg/index.js +1 -1
  475. package/dist/safe-bash-command-rg/rg-command.js +1 -1
  476. package/dist/safe-bash-command-sed/index.js +1 -1
  477. package/dist/safe-bash-command-sed/sed.js +1 -1
  478. package/dist/safe-bash-command-shuf/input.d.ts +2 -2
  479. package/dist/safe-bash-command-shuf/input.js +2 -1
  480. package/dist/safe-bash-command-shuf/shuf.js +4 -2
  481. package/dist/safe-bash-command-sips/index.js +2 -2
  482. package/dist/safe-bash-command-soffice/index.js +97 -12
  483. package/dist/safe-bash-command-sponge/index.js +4 -1
  484. package/dist/safe-bash-command-sqlite3/engine.d.ts +1 -0
  485. package/dist/safe-bash-command-sqlite3/index.js +510 -70
  486. package/dist/safe-bash-command-ssconvert/formats/xlsx.js +2 -2
  487. package/dist/safe-bash-command-ssconvert/index.js +44 -22
  488. package/dist/safe-bash-command-stat/command.js +1 -1
  489. package/dist/safe-bash-command-stat/index.js +1 -1
  490. package/dist/safe-bash-command-tar/create.d.ts +1 -0
  491. package/dist/safe-bash-command-tar/create.js +2 -2
  492. package/dist/safe-bash-command-tar/extract.js +2 -2
  493. package/dist/safe-bash-command-tar/index.js +4 -4
  494. package/dist/safe-bash-command-tar/modes.js +4 -4
  495. package/dist/safe-bash-command-tar/options.js +1 -1
  496. package/dist/safe-bash-command-truncate/index.js +2 -2
  497. package/dist/safe-bash-command-tsort/command.js +2 -2
  498. package/dist/safe-bash-command-tsort/index.js +2 -2
  499. package/dist/safe-bash-command-unalias/index.d.ts +12 -0
  500. package/dist/safe-bash-command-unalias/index.js +67 -0
  501. package/dist/safe-bash-command-unrtf/index.js +26 -4
  502. package/dist/safe-bash-command-xan/argv.d.ts +1 -1
  503. package/dist/safe-bash-command-xan/argv.js +2 -2
  504. package/dist/safe-bash-command-xan/budget.d.ts +0 -1
  505. package/dist/safe-bash-command-xan/budget.js +1 -1
  506. package/dist/safe-bash-command-xan/commands.js +6 -6
  507. package/dist/safe-bash-command-xan/csv.js +2 -2
  508. package/dist/safe-bash-command-xan/index.js +8 -9
  509. package/dist/safe-bash-command-xan/io.js +4 -4
  510. package/dist/safe-bash-command-xan/options.js +1 -1
  511. package/dist/safe-bash-command-xan/selector.js +2 -2
  512. package/dist/safe-bash-command-xmllint/index.js +45 -23
  513. package/dist/safe-bash-command-xxd/index.js +41 -10
  514. package/dist/safe-bash-command-yq/accounting.js +1 -1
  515. package/dist/safe-bash-command-yq/index.js +3 -2
  516. package/dist/safe-bash-command-yq/native-work.js +2 -0
  517. package/dist/safe-bash-command-yq/parser.js +2 -2
  518. package/dist/safe-bash-command-yq/query.js +5 -5
  519. package/dist/safe-bash-command-yq/toml.js +2 -2
  520. package/dist/safe-bash-command-zip/index.js +3 -3
  521. package/dist/safe-bash-compression-engine/bounded-codec.js +2 -2
  522. package/dist/safe-bash-compression-engine/codec-loader.js +1 -1
  523. package/dist/safe-bash-compression-engine/files.js +5 -5
  524. package/dist/safe-bash-compression-engine/index.js +4 -4
  525. package/dist/safe-bash-compression-engine/operand.js +5 -5
  526. package/dist/safe-bash-compression-engine/stream.js +4 -4
  527. package/dist/safe-bash-compression-engine/zstd-decode.js +3 -3
  528. package/dist/safe-bash-contracts/command.js +3 -3
  529. package/dist/safe-bash-contracts/default-executor.js +2 -2
  530. package/dist/safe-bash-contracts/diagnostics.js +3 -3
  531. package/dist/safe-bash-contracts/escaping.js +6 -6
  532. package/dist/safe-bash-contracts/filesystem-descriptor.js +3 -3
  533. package/dist/safe-bash-contracts/filesystem-output.js +5 -5
  534. package/dist/safe-bash-contracts/http.d.ts +7 -0
  535. package/dist/safe-bash-contracts/index.js +8 -8
  536. package/dist/safe-bash-contracts/io.js +2 -2
  537. package/dist/safe-bash-contracts/output.js +3 -3
  538. package/dist/safe-bash-contracts/runtime-control.d.ts +2 -2
  539. package/dist/safe-bash-contracts/runtime-control.js +4 -2
  540. package/dist/safe-bash-contracts/signals.d.ts +2 -0
  541. package/dist/safe-bash-contracts/signals.js +3 -1
  542. package/dist/safe-bash-contracts/yield.js +1 -1
  543. package/dist/safe-bash-csv-engine/index.d.ts +2 -1
  544. package/dist/safe-bash-csv-engine/index.js +21 -15
  545. package/dist/safe-bash-io-engine/commands/search/requirements.js +2 -2
  546. package/dist/safe-bash-io-engine/commands/text-programs/shared.js +6 -6
  547. package/dist/safe-bash-io-engine/internal.js +1 -1
  548. package/dist/safe-bash-io-engine/shell/pattern.js +38 -18
  549. package/dist/safe-bash-line-ending-engine/convert.js +9 -204
  550. package/dist/safe-bash-line-ending-engine/encoding.js +9 -42
  551. package/dist/safe-bash-line-ending-engine/index.js +48 -0
  552. package/dist/safe-bash-line-ending-engine/info.js +9 -90
  553. package/dist/safe-bash-line-ending-engine/internal.js +15 -160
  554. package/dist/safe-bash-line-ending-engine/io.js +12 -289
  555. package/dist/safe-bash-line-ending-engine/stage.js +10 -160
  556. package/dist/safe-bash-markdown-engine/index.js +3 -3
  557. package/dist/safe-bash-network-engine/args.d.ts +6 -0
  558. package/dist/safe-bash-network-engine/args.js +4 -2
  559. package/dist/safe-bash-network-engine/body.js +1 -1
  560. package/dist/safe-bash-network-engine/fetch-transport.js +3 -1
  561. package/dist/safe-bash-network-engine/index.js +3 -1
  562. package/dist/safe-bash-network-engine/input.js +2 -2
  563. package/dist/safe-bash-network-engine/platform-portable.js +3 -1
  564. package/dist/safe-bash-query-engine/dates.d.ts +1 -1
  565. package/dist/safe-bash-query-engine/dates.js +1 -1
  566. package/dist/safe-bash-query-engine/index.js +6 -6
  567. package/dist/safe-bash-query-engine/interpreter.js +4 -4
  568. package/dist/safe-bash-query-engine/parser.js +1 -1
  569. package/dist/safe-bash-query-engine/query-core.js +6 -6
  570. package/dist/safe-bash-regex-engine/execution/bounded-provider.js +10 -0
  571. package/dist/safe-bash-regex-engine/index.js +1 -1
  572. package/dist/safe-bash-regex-engine/text/regex.d.ts +1 -1
  573. package/dist/safe-bash-regex-engine/text/regex.js +1 -1
  574. package/dist/safe-bash-search-engine/ergonomic-regex.d.ts +1 -0
  575. package/dist/safe-bash-search-engine/ergonomic-regex.js +1 -1
  576. package/dist/safe-bash-search-engine/grep.js +16 -9
  577. package/dist/safe-bash-search-engine/matcher.d.ts +2 -2
  578. package/dist/safe-bash-search-engine/matcher.js +12 -8
  579. package/dist/safe-bash-search-engine/shared.js +1 -1
  580. package/dist/safe-bash-search-engine/walk.js +13 -1
  581. package/dist/safe-bash-text-stream-engine/stream-format/shared.d.ts +1 -1
  582. package/dist/safe-bash-text-stream-engine/stream-format/shared.js +2 -1
  583. package/dist/safe-bash-xml-engine/document.js +3 -3
  584. package/dist/safe-bash-xml-engine/evaluate.js +2 -2
  585. package/dist/safe-bash-xml-engine/index.js +4 -4
  586. package/dist/safe-bash-xml-engine/io.js +7 -2
  587. package/dist/safe-bash-xml-engine/limits.d.ts +0 -2
  588. package/dist/safe-bash-xml-engine/limits.js +1 -1
  589. package/dist/safe-bash-xml-engine/query.js +3 -3
  590. package/dist/safe-bash-zip-engine/index.js +3 -3
  591. package/dist/safe-bash-zip-engine/zip/repair.js +3 -3
  592. package/dist/safe-bash-zip-engine/zip/safety.js +1 -1
  593. package/dist/safe-bash-zip-engine/zip/sfx.js +3 -3
  594. package/dist/safe-bash-zip-engine/zip/volumes.js +1 -1
  595. package/dist/safe-bash-zip-engine/zip-format.js +3 -3
  596. package/dist/safe-playwright-cloudflare/browser-socket-closure.js +18 -3
  597. package/dist/safe-playwright-cloudflare/shell-browser-resource.js +1 -1
  598. package/dist/xlsx-ast/xlsx.js +6 -5
  599. package/package.json +86 -98
  600. package/dist/media-cli/bytes.d.ts +0 -8
  601. package/dist/media-cli/bytes.js +0 -40
  602. package/dist/media-cli/concat.d.ts +0 -30
  603. package/dist/media-cli/concat.js +0 -197
  604. package/dist/media-cli/content.js +0 -66
  605. package/dist/media-cli/dependency-grammars.d.ts +0 -12
  606. package/dist/media-cli/dependency-grammars.js +0 -557
  607. package/dist/media-cli/discover.js +0 -286
  608. package/dist/media-cli/engine.js +0 -190
  609. package/dist/media-cli/filename-expression.js +0 -147
  610. package/dist/media-cli/filesystem.js +0 -35
  611. package/dist/media-cli/frontend-contract.js +0 -8
  612. package/dist/media-cli/frontend-issues.d.ts +0 -6
  613. package/dist/media-cli/frontend-issues.js +0 -9
  614. package/dist/media-cli/imagemagick-operand.d.ts +0 -42
  615. package/dist/media-cli/imagemagick-operand.js +0 -229
  616. package/dist/media-cli/imagemagick-references.d.ts +0 -7
  617. package/dist/media-cli/imagemagick-references.js +0 -42
  618. package/dist/media-cli/imagemagick.generated.js +0 -3254
  619. package/dist/media-cli/imagemagick.js +0 -615
  620. package/dist/media-cli/index.js +0 -12
  621. package/dist/media-cli/mvg.d.ts +0 -10
  622. package/dist/media-cli/mvg.js +0 -102
  623. package/dist/media-cli/network.js +0 -78
  624. package/dist/media-cli/options.generated.js +0 -3312
  625. package/dist/media-cli/preset.d.ts +0 -11
  626. package/dist/media-cli/preset.js +0 -57
  627. package/dist/media-cli/resolution-path.d.ts +0 -23
  628. package/dist/media-cli/resolution-path.js +0 -217
  629. package/dist/media-cli/resolver.js +0 -494
  630. package/dist/media-cli/resources.d.ts +0 -16
  631. package/dist/media-cli/resources.js +0 -187
  632. package/dist/media-cli/shim.js +0 -52
  633. package/dist/media-cli/tee.d.ts +0 -6
  634. package/dist/media-cli/tee.js +0 -38
  635. package/dist/office-package/zip-sync.js +0 -111
  636. package/dist/remote-execution/binary.js +0 -178
  637. package/dist/remote-execution/callback-result.js +0 -26
  638. package/dist/remote-execution/canonical-capabilities.d.ts +0 -5
  639. package/dist/remote-execution/canonical-capabilities.js +0 -45
  640. package/dist/remote-execution/canonical-metadata.d.ts +0 -4
  641. package/dist/remote-execution/canonical-metadata.js +0 -32
  642. package/dist/remote-execution/client.js +0 -824
  643. package/dist/remote-execution/deployment.js +0 -131
  644. package/dist/remote-execution/descriptors.js +0 -267
  645. package/dist/remote-execution/effects.js +0 -357
  646. package/dist/remote-execution/endpoint.js +0 -224
  647. package/dist/remote-execution/files.js +0 -291
  648. package/dist/remote-execution/hosting-operation.js +0 -26
  649. package/dist/remote-execution/hosting-request.d.ts +0 -4
  650. package/dist/remote-execution/hosting-request.js +0 -12
  651. package/dist/remote-execution/hosting-stream.d.ts +0 -8
  652. package/dist/remote-execution/hosting-stream.js +0 -64
  653. package/dist/remote-execution/index.js +0 -18
  654. package/dist/remote-execution/invocation-admission.d.ts +0 -3
  655. package/dist/remote-execution/invocation-admission.js +0 -17
  656. package/dist/remote-execution/job-binding.js +0 -1269
  657. package/dist/remote-execution/materializations.js +0 -284
  658. package/dist/remote-execution/modal-driver.js +0 -90
  659. package/dist/remote-execution/native-result.d.ts +0 -3
  660. package/dist/remote-execution/native-result.js +0 -16
  661. package/dist/remote-execution/output-freshness.d.ts +0 -4
  662. package/dist/remote-execution/output-freshness.js +0 -19
  663. package/dist/remote-execution/output-retrieval.js +0 -474
  664. package/dist/remote-execution/process-http.js +0 -607
  665. package/dist/remote-execution/process.js +0 -577
  666. package/dist/remote-execution/protocol.js +0 -208
  667. package/dist/remote-execution/relay.js +0 -91
  668. package/dist/remote-execution/rest-driver.js +0 -93
  669. package/dist/remote-execution/upload-descriptor.js +0 -201
  670. package/dist/remote-execution/upload-protocol.js +0 -62
  671. package/dist/remote-execution/uploads.js +0 -324
  672. package/dist/remote-execution/wire-json.d.ts +0 -4
  673. package/dist/remote-execution/wire-json.js +0 -44
  674. package/dist/remote-execution/wire-validation.js +0 -131
  675. package/dist/remote-execution/wire.generated.js +0 -4224
  676. package/dist/safe-bash/chunks/chunk-GDYNCWRV.js +0 -161
  677. package/dist/safe-bash/chunks/chunk-IWDICZVK.js +0 -20
  678. package/dist/safe-bash/chunks/chunk-MHMMRCYC.js +0 -3464
  679. package/dist/safe-bash/chunks/chunk-UE5KZDEK.js +0 -77
  680. package/dist/safe-bash/chunks/csvkit-TACDU7FC.js +0 -1618
  681. package/dist/safe-bash/chunks/implementation-MLFHUQ5M.js +0 -133
  682. package/dist/safe-bash/commands/csvkit/sync.js +0 -1639
  683. package/dist/safe-bash/commands/node/unconfigured.d.ts +0 -3
  684. package/dist/safe-bash/commands/node/unconfigured.js +0 -10
  685. package/dist/safe-bash/commands/pandoc/implementation.d.ts +0 -8
  686. package/dist/safe-bash/commands/pandoc/implementation.js +0 -94
  687. package/dist/safe-bash-mcp/index.browser.js +0 -9167
  688. package/dist/safe-bash/command-chunks/{chunk-ZRRBXU3M.js → chunk-GIN5GUDP.js} +4 -4
  689. package/dist/safe-bash/command-chunks/{chunk-LAOM65EE.js → chunk-IEO4XVN6.js} +3 -3
  690. package/dist/safe-bash/command-chunks/{chunk-BXCXRYVU.js → chunk-JNANXVJV.js} +0 -0
  691. package/dist/safe-bash/command-chunks/{chunk-364TMWBT.js → chunk-MWREVL44.js} +6 -6
  692. package/dist/safe-bash/command-chunks/{chunk-464RVBGB.js → chunk-Q5TDKFHK.js} +3 -3
  693. package/dist/safe-bash/command-chunks/{chunk-AJR3AQYA.js → chunk-UKX3LZHR.js} +0 -0
  694. package/dist/safe-bash/command-chunks/{chunk-XIIBTGC5.js → chunk-XPXEQKRW.js} +9 -9
  695. package/dist/safe-bash/command-chunks/{chunk-FDBUV4HJ.js → chunk-Y4HGTG3E.js} +3 -3
  696. /package/dist/{safe-bash/commands/csvkit → safe-bash-command-csvkit}/sync.d.ts +0 -0
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-Z6UEDK5T.js";
4
4
  import {
5
5
  boundedCodec
6
- } from "./chunk-LOICUCHG.js";
6
+ } from "./chunk-ZHN3QDCI.js";
7
7
  import {
8
8
  init_buffer
9
9
  } from "./chunk-HX3SHTCE.js";
@@ -36,8 +36,6 @@ import { syncCommandEvaluators as syncCommandEvaluators2 } from "../../safe-bash
36
36
  import { UsageError as UsageError2 } from "../../safe-bash-contracts/diagnostics.js";
37
37
  import { pathOf as pathOf2 } from "../../safe-bash-query-engine/path.js";
38
38
  var syncResolved = /* @__PURE__ */ Symbol.for("safe-bash.syncResolved");
39
- var sharedSmallOutputBuf = new Uint8Array(64);
40
- var sharedSmallOutputViews = Array.from({ length: 65 }, (_, i) => sharedSmallOutputBuf.subarray(0, i));
41
39
  var resolvedVoid = Object.defineProperty(
42
40
  Promise.resolve(),
43
41
  syncResolved,
@@ -156,34 +154,19 @@ function outputRange(context, src, len) {
156
154
  if (typeof stdout.writeRangeSync === "function" && stdout.writeRangeSync(src, len) !== false) {
157
155
  return resolvedVoid;
158
156
  }
159
- if (typeof stdout.writeSync === "function" && stdout.writeSync(src.subarray(0, len)) !== false) {
157
+ if (typeof stdout.writeSync === "function" && stdout.writeSync(new Uint8Array(src.subarray(0, len))) !== false) {
160
158
  return resolvedVoid;
161
159
  }
162
160
  }
163
- return writeBytes(context.stdout, stdout.isPipeStage ? src.subarray(0, len) : src.slice(0, len), context.signal);
161
+ return writeBytes(context.stdout, stdout.isPipeStage ? src.subarray(0, len) : new Uint8Array(src.subarray(0, len)), context.signal);
164
162
  }
165
163
  function output(context, text) {
166
164
  context.signal.throwIfAborted();
167
165
  const stdout = context.stdout;
168
- if (typeof text === "string" && !stdout.isPipeStage) {
169
- const len = text.length;
170
- if (len <= 64 && (typeof stdout.writeRangeSync === "function" || typeof stdout.writeSync === "function")) {
171
- let ascii = true;
172
- for (let i = 0; i < len; i++) {
173
- const code = text.charCodeAt(i);
174
- if (code >= 128) {
175
- ascii = false;
176
- break;
177
- }
178
- sharedSmallOutputBuf[i] = code;
179
- }
180
- if (ascii) {
181
- const ok = typeof stdout.writeRangeSync === "function" ? stdout.writeRangeSync(sharedSmallOutputBuf, len) : stdout.writeSync(sharedSmallOutputViews[len]);
182
- if (ok !== false) return resolvedVoid;
183
- }
184
- }
185
- }
186
166
  const bytes = typeof text === "string" ? encoder.encode(text) : text;
167
+ if (typeof text === "string" && !stdout.isPipeStage && typeof stdout.writeRangeSync === "function" && stdout.writeRangeSync(bytes, bytes.length) !== false) {
168
+ return resolvedVoid;
169
+ }
187
170
  if (!stdout.isPipeStage && typeof stdout.writeSync === "function" && stdout.writeSync(bytes) !== false) {
188
171
  return resolvedVoid;
189
172
  }
@@ -2,7 +2,7 @@ import {
2
2
  createXlsxWriter,
3
3
  probeXlsx,
4
4
  readXlsx
5
- } from "./chunk-DZCY63VJ.js";
5
+ } from "./chunk-EV6HIJ5H.js";
6
6
  import {
7
7
  init_buffer
8
8
  } from "./chunk-HX3SHTCE.js";
@@ -2,7 +2,7 @@ import {
2
2
  aliasFailure,
3
3
  copyAlias,
4
4
  yqCaps
5
- } from "./chunk-EMPU65ZK.js";
5
+ } from "./chunk-A5LBSJGH.js";
6
6
  import {
7
7
  YqError,
8
8
  limit
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  builtInDirectContextExecutors
3
- } from "./chunk-TZZ4WUKH.js";
3
+ } from "./chunk-FZAWGKSE.js";
4
4
  import {
5
5
  concatShellValues,
6
6
  shellValueBytes,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Exclusions
3
- } from "./chunk-5TBUOBDE.js";
3
+ } from "./chunk-RZMVRT26.js";
4
4
  import {
5
5
  Reader
6
6
  } from "./chunk-BNOU5YQS.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Bytes,
3
3
  XanError
4
- } from "./chunk-QOKBZFFD.js";
4
+ } from "./chunk-U3MMODA5.js";
5
5
  import {
6
6
  init_buffer
7
7
  } from "./chunk-HX3SHTCE.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-HEYKESED.js";
4
4
  import {
5
5
  XanError
6
- } from "./chunk-QOKBZFFD.js";
6
+ } from "./chunk-U3MMODA5.js";
7
7
  import {
8
8
  init_buffer
9
9
  } from "./chunk-HX3SHTCE.js";
@@ -51,6 +51,8 @@ function inferDelimiter(path) {
51
51
  var shortOptions = { B: "byte-offset", S: "start-condition", E: "end-condition", H: "human-readable", c: "check-alignment", a: "approx", p: "parallel", t: "threads", h: "help", o: "output", d: "delimiter", n: "no-headers", j: "just-names", s: "start", e: "end", l: "len", i: "index", I: "indices", L: "last" };
52
52
  var switches = /* @__PURE__ */ new Set(["help", "no-headers", "just-names", "csv", "human-readable", "check-alignment", "approx", "parallel", "raw", "evaluate", "evaluate-file"]);
53
53
  var extraShort = {
54
+ top: { l: "limit", R: "reverse" },
55
+ table: { s: "select" },
54
56
  dedup: { s: "select", l: "keep-last", S: "sorted" },
55
57
  enum: { c: "column-name", S: "start" },
56
58
  from: { f: "format" },
@@ -69,6 +71,9 @@ var extraShort = {
69
71
  for (const name of ["keep-last", "sorted", "keep-duplicates", "pad", "sort-keys", "single-object", "omit", "numeric", "reverse", "uniq", "exact", "ignore-case", "invert-match", "every-column", "all", "no-extra", "inner", "left", "right", "full", "semi", "anti", "cross", "nulls"]) switches.add(name);
70
72
  var common = ["help", "output", "delimiter"];
71
73
  var allowed = {
74
+ map: /* @__PURE__ */ new Set([...common, "no-headers"]),
75
+ top: /* @__PURE__ */ new Set([...common, "no-headers", "limit", "reverse"]),
76
+ table: /* @__PURE__ */ new Set([...common, "no-headers", "select"]),
72
77
  dedup: /* @__PURE__ */ new Set([...common, "no-headers", "select", "keep-last", "sorted", "keep-duplicates"]),
73
78
  enum: /* @__PURE__ */ new Set([...common, "no-headers", "column-name", "start"]),
74
79
  transpose: new Set(common),
@@ -163,12 +168,21 @@ async function parseArguments(args, cwd, budget) {
163
168
  if (values.has("evaluate") && values.has("evaluate-file")) throw new XanError("conflicting expression modes");
164
169
  let rightSelection;
165
170
  let operand;
171
+ if (command === "map") {
172
+ operand = operands.shift();
173
+ rightSelection = operands.shift();
174
+ if ((!operand || !rightSelection) && !help) throw new XanError("map requires an expression and a new column name");
175
+ }
166
176
  if (command === "groupby") rightSelection = operands.shift();
167
177
  if (["search", "filter", "rename", "agg", "groupby", "to", "cat"].includes(command)) {
168
178
  operand = operands.shift();
169
179
  if (operand === void 0 && !help) throw new XanError(`${command} requires an argument`);
170
180
  }
171
181
  let selection = command === "select" || command === "drop" ? operands.shift() : values.get("select") ?? "";
182
+ if (command === "top") {
183
+ selection = operands.shift();
184
+ if (!selection && !help) throw new XanError("top requires a column selection");
185
+ }
172
186
  if (command === "join" && !help) {
173
187
  const modes = ["inner", "left", "right", "full", "semi", "anti", "cross"].filter((name) => values.has(name));
174
188
  if (modes.length > 1) throw new XanError("conflicting join modes");
@@ -0,0 +1,368 @@
1
+ import {
2
+ createClient,
3
+ grammarRevision,
4
+ imageMagickGrammarRevision,
5
+ imageMagickReference,
6
+ mediaCommands,
7
+ mediaFrontendContract,
8
+ nativeReference,
9
+ validateCallbackResult
10
+ } from "./chunk-TT4DAFBT.js";
11
+ import {
12
+ init_buffer
13
+ } from "./chunk-HX3SHTCE.js";
14
+
15
+ // packages/safe-bash-command-media/src/remote.ts
16
+ init_buffer();
17
+ import { readBytes } from "@poe-platform/safe-fs/core";
18
+ function createRemoteMediaCommands(options) {
19
+ if (!options.service || !options.authToken || !options.buildDigest || !options.resource) throw new TypeError("Explicit media service/auth/build/resource configuration required");
20
+ options = {
21
+ ...options,
22
+ resource: structuredClone(options.resource),
23
+ ...options.provider ? { provider: structuredClone(options.provider) } : {},
24
+ ...options.limits ? { limits: structuredClone(options.limits) } : {},
25
+ ...options.grants ? { grants: structuredClone(options.grants) } : {},
26
+ ...options.descriptors ? { descriptors: structuredClone(options.descriptors) } : {},
27
+ ...options.stdin ? { stdin: structuredClone(options.stdin) } : {}
28
+ };
29
+ const resource = structuredClone(options.resource);
30
+ let provider;
31
+ const transport = async (input, init) => {
32
+ if (!options.provider) return (options.fetch ?? globalThis.fetch)(input, init);
33
+ provider ??= import(options.provider.module).then(async (module) => {
34
+ if (typeof module.createMediaProvider !== "function") throw new TypeError("Media provider must export createMediaProvider(settings)");
35
+ const { provider: configuration, ...settings } = options;
36
+ const runtime = await module.createMediaProvider({ ...settings, providerOptions: configuration.options });
37
+ if (!runtime || typeof runtime.fetch !== "function" || runtime.execute !== void 0 && typeof runtime.execute !== "function") throw new TypeError("Media provider must return a Fetch transport and optional remote engine");
38
+ return runtime;
39
+ });
40
+ return (await provider).fetch(input, init);
41
+ };
42
+ async function run(invocation) {
43
+ const client = createClient({
44
+ baseUrl: options.service,
45
+ token: async () => options.authToken,
46
+ fetch: transport,
47
+ maxConcurrentUploads: 3
48
+ });
49
+ const context = invocation.context;
50
+ const controller = new AbortController();
51
+ const signal = AbortSignal.any([context.signal, controller.signal]);
52
+ const inputController = new AbortController();
53
+ const inputSignal = AbortSignal.any([signal, inputController.signal]);
54
+ let session;
55
+ let job;
56
+ let cleanup;
57
+ let acquisition;
58
+ let processExited = false;
59
+ let primaryFailed = false;
60
+ let finalization;
61
+ let unsubscribe;
62
+ let cleanupAdmission = true;
63
+ const ownedCleanups = [];
64
+ const leases = /* @__PURE__ */ new Map();
65
+ const work = /* @__PURE__ */ new Set();
66
+ const close = () => cleanup ??= (async () => {
67
+ cleanupAdmission = false;
68
+ controller.abort(new Error("Media invocation finalized"));
69
+ await acquisition?.catch(() => {
70
+ });
71
+ const retirement = Promise.resolve().then(() => unsubscribe?.());
72
+ const retired = Promise.allSettled(ownedCleanups.map((close2) => Promise.resolve().then(close2)));
73
+ const results = await Promise.allSettled([...work, retirement]);
74
+ const failures = (await retired).filter((result) => result.status === "rejected").map((result) => result.reason);
75
+ if (job && session) {
76
+ try {
77
+ const canceled = await client.cancelJob(session, job.jobId, { reason: "Media invocation finalized" }, crypto.randomUUID());
78
+ if (canceled.outcome?.kind === "unknown" || canceled.cleanup === "unknown") throw new Error("Remote termination could not be confirmed");
79
+ } catch (cause) {
80
+ failures.push(cause);
81
+ }
82
+ }
83
+ const releases = await Promise.allSettled([
84
+ ...Array.from(leases.values(), (lease) => Promise.resolve().then(() => lease.close())),
85
+ ...session ? [client.closeSession(session, crypto.randomUUID())] : [],
86
+ retirement
87
+ ]);
88
+ for (const result of releases) if (result.status === "rejected") failures.push(result.reason);
89
+ if (failures.length === 1) throw failures[0];
90
+ if (failures.length) throw new AggregateError(failures, "Media invocation cleanup failed");
91
+ void results;
92
+ })();
93
+ const finalize = () => finalization ??= (async () => {
94
+ try {
95
+ await close();
96
+ } catch (cause) {
97
+ if (!primaryFailed) throw cause;
98
+ try {
99
+ await context.onInternalError?.(cause);
100
+ } catch {
101
+ }
102
+ }
103
+ })();
104
+ context.registerCleanup?.(finalize);
105
+ try {
106
+ const capabilities = await client.capabilities(signal);
107
+ const build = capabilities.builds.find((build2) => build2.digest === options.buildDigest);
108
+ if (!build || build.grammarRevision !== mediaFrontendContract.grammarRevision || build.sourceRevision !== mediaFrontendContract.sourceRevision || !Object.hasOwn(build.executables, invocation.tool)) throw new Error("Remote build does not match the pinned media frontend");
109
+ const byteArgv = capabilities.features.includes("byte-argv");
110
+ if (!byteArgv && !capabilities.features.includes("utf8-argv")) throw new Error("Remote media requires byte argv or lossless UTF-8 argv capabilities");
111
+ const limits = options.limits ?? capabilities.limits;
112
+ if (!Number.isSafeInteger(limits.maxArgvBytes) || limits.maxArgvBytes < 1) throw new TypeError("Invalid remote argv byte bound");
113
+ let argvBytes = 0;
114
+ for (const arg of invocation.argv) {
115
+ argvBytes += arg.length + 1;
116
+ if (argvBytes > limits.maxArgvBytes) throw new TypeError("Remote argv byte bound");
117
+ }
118
+ for (const arg of invocation.argv) {
119
+ if (arg.includes(0)) throw new TypeError("NUL in native argv");
120
+ if (!byteArgv) {
121
+ try {
122
+ new TextDecoder("utf-8", { fatal: true, ignoreBOM: true }).decode(arg);
123
+ } catch {
124
+ throw new TypeError("Remote UTF-8 launcher cannot preserve these argv bytes");
125
+ }
126
+ }
127
+ }
128
+ if (!capabilities.features.includes("live-files") || resource.profile !== "live") throw new Error("Remote media requires admitted live resource capabilities");
129
+ const backend = await provider;
130
+ if (backend?.execute) {
131
+ const execution = Promise.resolve().then(() => {
132
+ signal.throwIfAborted();
133
+ return backend.execute({
134
+ ...context,
135
+ command: invocation.tool,
136
+ args: invocation.argv,
137
+ discovery: invocation.discovery,
138
+ signal,
139
+ registerCleanup(close2) {
140
+ if (!cleanupAdmission) throw new Error("Media invocation cleanup admission closed");
141
+ if (typeof close2 !== "function") throw new TypeError("Invalid media invocation cleanup");
142
+ ownedCleanups.push(close2);
143
+ }
144
+ });
145
+ });
146
+ work.add(execution);
147
+ return await execution;
148
+ }
149
+ const input = context.stdinInput;
150
+ if ((input?.seek || input?.stat?.type === "file") && !options.stdin?.seekable) throw new Error("Explicit remote descriptor bindings required for seekable native stdin");
151
+ const sinks = /* @__PURE__ */ new Map([[2, context.stdout], [3, context.stderr]]);
152
+ const descriptors = options.descriptors ?? [];
153
+ if (descriptors.length > limits.maxHandles || new Set(descriptors.map((descriptor) => descriptor.fd)).size !== descriptors.length || descriptors.some((descriptor) => !Number.isSafeInteger(descriptor.fd) || descriptor.fd < 3 || descriptor.fd > limits.maxHandles + 2)) throw new TypeError("Remote descriptor count or mapping exceeds admission");
154
+ const streamedDescriptors = (options.descriptors ?? []).filter((descriptor) => !descriptor.seekable && descriptor.rights.some((right) => right === "read" || right === "write"));
155
+ if (streamedDescriptors.length && (!capabilities.features.includes("descriptors") || !context.admittedHandles)) throw new Error("Remote descriptors require admitted host leases and server capabilities");
156
+ for (const descriptor of streamedDescriptors) {
157
+ const rights = descriptor.rights.filter((right) => right === "read" || right === "write");
158
+ const acquiring = context.admittedHandles.acquire(descriptor.fd, rights, signal).then((lease2) => {
159
+ leases.set(descriptor.fd, lease2);
160
+ return lease2;
161
+ });
162
+ work.add(acquiring);
163
+ const lease = await acquiring;
164
+ if (rights.includes("read") && !lease.read || rights.includes("write") && !lease.write) throw new TypeError("Host descriptor lease lacks requested operations");
165
+ if (rights.includes("write")) sinks.set(descriptor.fd + 1, { async write(bytes) {
166
+ let offset = 0;
167
+ while (offset < bytes.length) {
168
+ signal.throwIfAborted();
169
+ lease.consumerClosed?.throwIfAborted();
170
+ const remaining = Math.min(bytes.length - offset, 65536);
171
+ const count = await lease.write(bytes.subarray(offset, offset + remaining), signal);
172
+ if (!Number.isSafeInteger(count) || count < 1 || count > remaining) throw new TypeError("Invalid admitted descriptor write count");
173
+ offset += count;
174
+ }
175
+ } });
176
+ }
177
+ acquisition = client.openSession({ buildDigest: build.digest, bindings: [resource], limits }, crypto.randomUUID(), signal).then((value) => {
178
+ session = value;
179
+ });
180
+ await acquisition;
181
+ acquisition = client.submitJob(session, {
182
+ buildDigest: build.digest,
183
+ toolId: invocation.tool,
184
+ args: invocation.argv.map((arg) => Array.from(arg)),
185
+ namespaceId: resource.namespaceId,
186
+ materializationRevision: null,
187
+ cwd: context.cwd,
188
+ env: { ...context.env },
189
+ stdin: options.stdin ?? { kind: "stream", seekable: false },
190
+ descriptors: [...options.descriptors ?? []],
191
+ grants: [...options.grants ?? []],
192
+ freshness: "live",
193
+ limits,
194
+ frontendContract: mediaFrontendContract
195
+ }, crypto.randomUUID(), signal).then((value) => {
196
+ job = value;
197
+ });
198
+ await acquisition;
199
+ const identity = session;
200
+ const nativeJob = job;
201
+ unsubscribe = context.processSignals?.subscribe(async (event) => {
202
+ signal.throwIfAborted();
203
+ if (event.target !== "process-group") throw new TypeError("Remote signals require process-group authority");
204
+ const operation = client.signalJob(identity, nativeJob.jobId, event.name, `signal:${nativeJob.jobId}:${event.sequence}`, signal);
205
+ work.add(operation);
206
+ try {
207
+ await operation;
208
+ return { sequence: event.sequence };
209
+ } finally {
210
+ work.delete(operation);
211
+ }
212
+ });
213
+ const output = await client.attach(identity, nativeJob.jobId, { direction: "output", consumerId: crypto.randomUUID() }, crypto.randomUUID(), signal);
214
+ const binaryLimits = { maxFrameBytes: output.maxFrameBytes, maxControlBytes: output.maxFrameBytes, channels: [...sinks.keys()], maxChannels: limits.maxHandles + 2 };
215
+ const cursor = { ...identity, jobId: nativeJob.jobId, laneId: output.laneId, nextSequence: BigInt(output.floorSequence), offsets: new Map([...sinks.keys()].map((channel) => [channel, 0n])), endedChannels: /* @__PURE__ */ new Set() };
216
+ const download = client.resumeStream(cursor, binaryLimits, async (frame) => {
217
+ if (frame.kind === "data") {
218
+ const sink = sinks.get(frame.channelId);
219
+ if (!sink) throw new Error("Remote channel requires an explicit host control binding");
220
+ signal.throwIfAborted();
221
+ sink.ownedOutput?.consumerClosed.throwIfAborted();
222
+ await (sink.ownedOutput ?? sink).write(frame.payload);
223
+ await options.onProgress?.({ direction: "download", bytes: frame.payload.length });
224
+ } else if (frame.kind === "control") {
225
+ const control = JSON.parse(new TextDecoder("utf-8", { fatal: true }).decode(frame.payload));
226
+ if (control.type === "ChannelOpen" && control.direction === "write") {
227
+ if (control.seekable || !options.onOutputChannel) throw new Error("Remote output channel requires an explicit host stream binding");
228
+ const sink = await options.onOutputChannel(control, context);
229
+ if (!sink || typeof sink.write !== "function") throw new TypeError("Remote output channel requires a writable host sink");
230
+ sinks.set(control.channelId, sink);
231
+ } else if (control.type === "Callback" || control.type === "CanonicalCallback" || control.type === "ChannelOpen") {
232
+ if (!options.onControl) throw new Error("Remote resource callback requires an explicit host control binding");
233
+ const callback = structuredClone(control);
234
+ const remote = { signal, async respond(result) {
235
+ signal.throwIfAborted();
236
+ if (callback.type !== "Callback" || callback.epoch !== identity.epoch || callback.namespaceId !== resource.namespaceId || callback.owner.kind !== "job" || callback.owner.id !== nativeJob.jobId || Date.parse(callback.expiresAt) <= Date.now() || !options.grants?.some((grant) => grant.grantId === callback.grantId && grant.operations.includes(callback.operation.op))) throw new Error("Unauthorized remote callback response");
237
+ const owned = structuredClone(result);
238
+ if (owned.callbackId !== callback.callbackId || owned.operationId !== callback.operationId)
239
+ throw new Error("Remote callback response belongs to another operation");
240
+ validateCallbackResult(callback.operation, owned);
241
+ const response = client.answerCallback(identity, nativeJob.jobId, owned, crypto.randomUUID(), signal);
242
+ work.add(response);
243
+ try {
244
+ const receipt = await response;
245
+ if (receipt.callbackId !== callback.callbackId || receipt.operationId !== callback.operationId)
246
+ throw new Error("Remote callback acknowledgement belongs to another operation");
247
+ return receipt;
248
+ } finally {
249
+ work.delete(response);
250
+ }
251
+ } };
252
+ await options.onControl(control, context, remote);
253
+ } else if (control.type === "Failure") throw new Error(control.error.message);
254
+ else if (control.type === "JobState" && (control.job.processOutcome || control.job.state === "terminal")) {
255
+ processExited = true;
256
+ inputController.abort(new Error("Native process exited"));
257
+ }
258
+ }
259
+ }, signal);
260
+ work.add(download);
261
+ void download.catch(() => controller.abort(new Error("Remote output failed")));
262
+ const upload = (async () => {
263
+ let receiptFailed = false;
264
+ let inputFailure;
265
+ try {
266
+ let send2 = function(channelId, kind, payload) {
267
+ const operation = tail.then(async () => {
268
+ inputSignal.throwIfAborted();
269
+ const offset = offsets.get(channelId);
270
+ try {
271
+ await client.sendFrames(identity, nativeJob.jobId, input2.laneId, [{ kind, channelId, sequence, offset, correlationId: 0n, payload }], { maxFrameBytes: input2.maxFrameBytes, maxControlBytes: input2.maxFrameBytes, channels }, crypto.randomUUID(), signal);
272
+ } catch (cause) {
273
+ receiptFailed = true;
274
+ throw cause;
275
+ }
276
+ sequence++;
277
+ offsets.set(channelId, offset + BigInt(payload.length));
278
+ });
279
+ tail = operation;
280
+ return operation;
281
+ };
282
+ var send = send2;
283
+ const reads = streamedDescriptors.filter((descriptor) => descriptor.rights.includes("read"));
284
+ const streamStdin = !options.stdin || options.stdin.kind === "stream";
285
+ if (!streamStdin && !reads.length) return;
286
+ const input2 = await client.attach(identity, nativeJob.jobId, { direction: "input", consumerId: crypto.randomUUID() }, crypto.randomUUID(), inputSignal);
287
+ const channels = [...streamStdin ? [1] : [], ...reads.map((descriptor) => descriptor.fd + 1)];
288
+ const offsets = new Map(channels.map((channel) => [channel, 0n]));
289
+ let sequence = BigInt(input2.nextSequence);
290
+ let tail = Promise.resolve();
291
+ const byteLength = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Uint8Array.prototype), "byteLength").get;
292
+ async function* readInput(read, description) {
293
+ for (; ; ) {
294
+ const count = Math.min(input2.maxFrameBytes, 65536);
295
+ const next = await read(count, inputSignal);
296
+ if (!next || typeof next !== "object" || Array.isArray(next)) throw new TypeError("Invalid process input read result");
297
+ const done = next.done;
298
+ if (done === true) return;
299
+ if (done !== false && done !== void 0) throw new TypeError("Invalid process input read result");
300
+ const fragment = next.value;
301
+ if (!(fragment instanceof Uint8Array) || byteLength.call(fragment) > count) throw new TypeError(`Invalid ${description} read size`);
302
+ yield fragment;
303
+ }
304
+ }
305
+ const stdinRead = context.stdinInput?.read.bind(context.stdinInput);
306
+ const stdin = stdinRead ? { [Symbol.asyncIterator]: () => readInput(stdinRead, "stdinInput") } : context.stdin;
307
+ const sources = streamStdin ? [[1, readBytes(stdin, inputSignal)]] : [];
308
+ for (const descriptor of reads) {
309
+ const lease = leases.get(descriptor.fd);
310
+ const read = lease.read.bind(lease);
311
+ sources.push([descriptor.fd + 1, readBytes({ [Symbol.asyncIterator]: () => readInput(read, "admitted descriptor") }, inputSignal)]);
312
+ }
313
+ const producers = sources.map(async ([channel, source]) => {
314
+ for await (const incoming of source) {
315
+ for (let start = 0; start < incoming.length; start += input2.maxFrameBytes) {
316
+ const bytes = Uint8Array.from(incoming.subarray(start, start + input2.maxFrameBytes));
317
+ await send2(channel, "data", bytes);
318
+ await options.onProgress?.({ direction: "upload", bytes: bytes.length });
319
+ }
320
+ }
321
+ await send2(channel, "end", new Uint8Array());
322
+ });
323
+ for (const producer of producers) void producer.catch((cause) => {
324
+ if (!(processExited && !receiptFailed && inputSignal.aborted && cause === inputSignal.reason)) inputFailure ??= { cause };
325
+ inputController.abort(new Error("Remote descriptor input failed"));
326
+ });
327
+ const results = await Promise.allSettled(producers);
328
+ if (inputFailure) throw inputFailure.cause;
329
+ const failure = results.find((result) => result.status === "rejected");
330
+ if (failure?.status === "rejected") throw failure.reason;
331
+ } catch (cause) {
332
+ if (!receiptFailed && processExited && !signal.aborted && cause === inputSignal.reason) return;
333
+ throw cause;
334
+ }
335
+ })();
336
+ work.add(upload);
337
+ void upload.catch(() => controller.abort(new Error("Remote input failed")));
338
+ await Promise.all([download, upload]);
339
+ const settled = await client.waitJob(identity, nativeJob.jobId, signal);
340
+ if (!settled.outputComplete || settled.cleanup !== "complete") throw new Error("Remote media cleanup or output is incomplete");
341
+ if (settled.outcome?.kind === "exited") return { exitCode: settled.outcome.exitCode };
342
+ if (settled.outcome?.kind === "signaled" && options.signalStatus) {
343
+ const exitCode = options.signalStatus(settled.outcome.signal, settled.outcome.signalNumber);
344
+ if (!Number.isInteger(exitCode) || exitCode < 0 || exitCode > 255) throw new TypeError("Invalid shell signal status");
345
+ return { exitCode };
346
+ }
347
+ throw new Error(`Remote media outcome: ${settled.outcome?.kind ?? "unknown"}`);
348
+ } catch (cause) {
349
+ primaryFailed = true;
350
+ throw cause;
351
+ } finally {
352
+ await finalize();
353
+ }
354
+ }
355
+ const plugin = mediaCommands({
356
+ ...options.replace !== void 0 ? { replace: options.replace } : {},
357
+ ffmpeg: { build: nativeReference.id, grammarRevision, argv: "bytes", lateAccess: "complete", effects: "live", run },
358
+ imageMagick: { build: imageMagickReference.id, grammarRevision: imageMagickGrammarRevision, argv: "bytes", lateAccess: "complete", effects: "live", run }
359
+ });
360
+ return { ...plugin, async dispose() {
361
+ const runtime = await provider?.catch(() => void 0);
362
+ await runtime?.dispose?.();
363
+ } };
364
+ }
365
+
366
+ export {
367
+ createRemoteMediaCommands
368
+ };
@@ -15,6 +15,8 @@ var FindFormatBudget = class {
15
15
  }
16
16
  context;
17
17
  untilYield = 4096;
18
+ pending = new Uint8Array(4096);
19
+ used = 0;
18
20
  step(count = 1) {
19
21
  this.context.signal.throwIfAborted();
20
22
  this.untilYield -= count;
@@ -22,14 +24,23 @@ var FindFormatBudget = class {
22
24
  this.untilYield = 4096;
23
25
  return yieldTurn(this.context.signal);
24
26
  }
27
+ async flush() {
28
+ if (this.used === 0) return;
29
+ const chunk = this.pending.slice(0, this.used);
30
+ this.used = 0;
31
+ await output(this.context, chunk);
32
+ }
25
33
  async write(bytes) {
26
- for (let offset = 0; offset < bytes.length; offset += 4096) {
27
- const chunk = bytes.subarray(offset, offset + 4096);
34
+ for (let offset = 0; offset < bytes.length; ) {
35
+ const length = Math.min(bytes.length - offset, this.pending.length - this.used);
28
36
  {
29
- const s = this.step(chunk.length);
37
+ const s = this.step(length);
30
38
  if (s) await s;
31
39
  }
32
- await output(this.context, chunk);
40
+ this.pending.set(bytes.subarray(offset, offset + length), this.used);
41
+ this.used += length;
42
+ offset += length;
43
+ if (this.used === this.pending.length) await this.flush();
33
44
  }
34
45
  }
35
46
  async text(text) {
@@ -131,6 +142,7 @@ async function compileFindFormat(value, budget) {
131
142
  else if ("byte" in part) await budget.write(Uint8Array.of(part.byte));
132
143
  else await budget.write(source.subarray(part.start, part.end));
133
144
  }
145
+ await budget.flush();
134
146
  };
135
147
  }
136
148
 
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  streamElevenLabs
3
3
  } from "./chunk-LPZXFCTC.js";
4
+ import {
5
+ acceptsMimeType
6
+ } from "./chunk-PHFOL7T3.js";
4
7
  import {
5
8
  credential,
6
9
  jsonBody,
7
10
  providerLimits
8
- } from "./chunk-2KG2QLJE.js";
9
- import {
10
- acceptsMimeType
11
- } from "./chunk-PHFOL7T3.js";
11
+ } from "./chunk-RFWGYT7G.js";
12
12
  import {
13
13
  init_buffer
14
14
  } from "./chunk-HX3SHTCE.js";
@@ -3644,8 +3644,9 @@ async function readXlsx(bytes, context) {
3644
3644
  if (importedName.startsWith("_xlnm.") && name === "Print_Area" && node.text === "!#REF!") continue;
3645
3645
  const sheetIndex = attr(node, "localSheetId"), sheet = sheetIndex === void 0 ? void 0 : sheets[integer(sheetIndex)];
3646
3646
  const position = { sheet: sheet?.id ?? sheets[0]?.id ?? "sheet-1", row: 0, column: 0 };
3647
- if (node.text && !parseExpression("=" + node.text, { maximumDepth: context.limits.formulaDepth, grammar: excelGrammar, position, signal: context.signal }).ok) {
3648
- const message = `At A1: '${node.text}' Invalid expression
3647
+ const expression = decodeXlsxString(node.text);
3648
+ if (expression && !parseExpression("=" + expression, { maximumDepth: context.limits.formulaDepth, grammar: excelGrammar, position, signal: context.signal }).ok) {
3649
+ const message = `At A1: '${expression}' Invalid expression
3649
3650
  `;
3650
3651
  await context.diagnostic?.({
3651
3652
  code: "xlsx-name-expression",
@@ -3657,7 +3658,7 @@ async function readXlsx(bytes, context) {
3657
3658
  }
3658
3659
  const semantics = readFormulaSemantics(node);
3659
3660
  const openFormula = readOpenFormula(node);
3660
- const imported = { name, ...openFormula?.position ? { position: { ...openFormula.position, sheet: sheets.find((s) => s.name === openFormula.position.sheet)?.id ?? openFormula.position.sheet } } : {}, expression: openFormula?.source ?? (node.text ? formula(node.text, position.sheet, 0, 0, context, semantics.arrayStringLiterals) : "=#REF!"), ...semantics, ...sheet ? { sheet: sheet.id } : {} };
3661
+ const imported = { name, ...openFormula?.position ? { position: { ...openFormula.position, sheet: sheets.find((s) => s.name === openFormula.position.sheet)?.id ?? openFormula.position.sheet } } : {}, expression: openFormula?.source ?? (expression ? formula(expression, position.sheet, 0, 0, context, semantics.arrayStringLiterals) : "=#REF!"), ...semantics, ...sheet ? { sheet: sheet.id } : {} };
3661
3662
  opc.charge(names.length);
3662
3663
  const existing = names.findIndex((n) => n.name === name && n.sheet === sheet?.id);
3663
3664
  if (existing < 0) names.push(imported);
@@ -4034,13 +4035,13 @@ function createXlsxWriter(edition) {
4034
4035
  localSheetId: index < 0 ? void 0 : index,
4035
4036
  ...formulaSemanticsAttributes(name.arrayStringLiterals, true, name.expression, name.position ? { ...name.position, sheet: book.sheets.find((s) => s.id === name.position.sheet)?.name ?? name.position.sheet } : void 0)
4036
4037
  },
4037
- escapeXlsx(exportXlsxFormula(book, name.expression, sheet, name.position?.row ?? 0, name.position?.column ?? 0, context, name.arrayStringLiterals))
4038
+ escapeXlsx(encodeXlsxString(exportXlsxFormula(book, name.expression, sheet, name.position?.row ?? 0, name.position?.column ?? 0, context, name.arrayStringLiterals)))
4038
4039
  );
4039
4040
  }
4040
4041
  for (const [index, sheet] of book.sheets.entries()) {
4041
4042
  for (const [name, expression] of [["Sheet_Title", '"' + sheet.name.split('"').join('""') + '"'], ["Print_Area", "#REF!"]])
4042
4043
  if (!book.names?.some((n) => n.name === name && n.sheet === sheet.id))
4043
- names += xml("definedName", { name: "_xlnm." + name, localSheetId: index }, escapeXlsx(expression));
4044
+ names += xml("definedName", { name: "_xlnm." + name, localSheetId: index }, escapeXlsx(encodeXlsxString(expression)));
4044
4045
  }
4045
4046
  await add("xl/workbook.xml", xml(
4046
4047
  "workbook",
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  inferDelimiter
3
- } from "./chunk-Z45N42QC.js";
3
+ } from "./chunk-DPAYAVMS.js";
4
4
  import {
5
5
  Scanner
6
- } from "./chunk-E55UKBIE.js";
6
+ } from "./chunk-DBAT3IK2.js";
7
7
  import {
8
8
  Bytes,
9
9
  XanError
10
- } from "./chunk-QOKBZFFD.js";
10
+ } from "./chunk-U3MMODA5.js";
11
11
  import {
12
12
  init_buffer
13
13
  } from "./chunk-HX3SHTCE.js";