@poe-platform/safe-bash 0.1.802 → 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 (748) hide show
  1. package/README.md +60 -33
  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 -8355
  7. package/dist/image-ast/index.js +692 -8355
  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-NZQXYWA3.js → chunk-62BOHHJT.js} +1 -2
  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-44ALJ4QG.js → chunk-AW5KIT6V.js} +3549 -84
  23. package/dist/safe-bash/chunks/{chunk-RSTHLAF3.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-KDNSPLII.js → chunk-CTXNARJH.js} +2 -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-IOHH2GTI.js +56 -0
  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-NQCM3TYR.js → chunk-LPOVNKNB.js} +225 -176
  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-WDLGKIHD.js → chunk-S4RFUUXO.js} +841 -26
  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-SHEMU2Z7.js → chunk-W2IYOVHK.js} +839 -1211
  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-BJA5XNP6.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-4R5ADJM5.js +178 -0
  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-WPYIOKE3.js → chunk-6GKYHPJG.js} +2 -2
  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-A7MU7762.js +200 -0
  108. package/dist/safe-bash/command-chunks/{chunk-ORYGZYKW.js → chunk-ARZMP2L2.js} +3 -3
  109. package/dist/safe-bash/command-chunks/{chunk-OQKC5ZU2.js → chunk-BAKFZ477.js} +62 -20
  110. package/dist/safe-bash/command-chunks/{chunk-QRRYN2KO.js → chunk-BC7BK6R6.js} +0 -2424
  111. package/dist/safe-bash/command-chunks/{chunk-F4TEEZTL.js → chunk-BOEOJS2Q.js} +1 -1
  112. package/dist/safe-bash/command-chunks/{chunk-XS72HTMA.js → chunk-BWGGLYEB.js} +5 -22
  113. package/dist/safe-bash/command-chunks/{chunk-PMBFZXTK.js → chunk-C5ZZKP7V.js} +1 -1
  114. package/dist/safe-bash/command-chunks/{chunk-LHIOAFWW.js → chunk-C7SEB6WU.js} +1 -1
  115. package/dist/safe-bash/command-chunks/{chunk-XPT2UGBF.js → chunk-CHJKFRT7.js} +1 -1
  116. package/dist/safe-bash/command-chunks/{chunk-TIOCQVUQ.js → chunk-CON26Q2O.js} +1 -1
  117. package/dist/safe-bash/command-chunks/{chunk-E55UKBIE.js → chunk-DBAT3IK2.js} +1 -1
  118. package/dist/safe-bash/command-chunks/{chunk-Z45N42QC.js → chunk-DPAYAVMS.js} +15 -1
  119. package/dist/safe-bash/command-chunks/chunk-DS3NXVUM.js +368 -0
  120. package/dist/safe-bash/command-chunks/{chunk-5ZMZ573Q.js → chunk-DSJ3VRL3.js} +16 -4
  121. package/dist/safe-bash/command-chunks/{chunk-K2GDEMEU.js → chunk-EFRCFWVR.js} +4 -4
  122. package/dist/safe-bash/command-chunks/{chunk-DZCY63VJ.js → chunk-EV6HIJ5H.js} +6 -5
  123. package/dist/safe-bash/command-chunks/{chunk-JDYXY44P.js → chunk-FJURV46Y.js} +3 -3
  124. package/dist/safe-bash/command-chunks/{chunk-TZZ4WUKH.js → chunk-FZAWGKSE.js} +6 -4
  125. package/dist/safe-bash/command-chunks/{chunk-YHFXOX6U.js → chunk-GOCFQ6XV.js} +4 -4
  126. package/dist/safe-bash/command-chunks/{chunk-YOFC45RK.js → chunk-HH5O7DJI.js} +1 -1
  127. package/dist/safe-bash/command-chunks/{chunk-3HHCU5YU.js → chunk-HK7F5SDC.js} +13 -0
  128. package/dist/safe-bash/command-chunks/{chunk-JNZ3CVAE.js → chunk-HQBXIZC7.js} +8 -3
  129. package/dist/safe-bash/command-chunks/{chunk-2JRBIDAD.js → chunk-I63DBZXZ.js} +2 -2
  130. package/dist/safe-bash/command-chunks/{chunk-WNE7FPVR.js → chunk-I64TLTIW.js} +24 -16
  131. package/dist/safe-bash/command-chunks/{chunk-QKFSRZGQ.js → chunk-ICANWOXH.js} +7 -31
  132. package/dist/safe-bash/command-chunks/{chunk-SQRQW3CT.js → chunk-IJ6LGLXM.js} +1 -1
  133. package/dist/safe-bash/command-chunks/{chunk-5E4WAO4O.js → chunk-JD5QNRNO.js} +3 -3
  134. package/dist/safe-bash/command-chunks/{chunk-KJIMDLBB.js → chunk-JNANXVJV.js} +1 -1
  135. package/dist/safe-bash/command-chunks/{chunk-TGSNCQSR.js → chunk-JT4RYCA6.js} +1771 -1663
  136. package/dist/safe-bash/command-chunks/{chunk-II77KPZN.js → chunk-JWW6FYBN.js} +2 -2
  137. package/dist/safe-bash/command-chunks/{chunk-ZYXH3B66.js → chunk-LCJWKTCJ.js} +250 -203
  138. package/dist/safe-bash/command-chunks/{chunk-I237SNW5.js → chunk-LFJJQQND.js} +1 -1
  139. package/dist/safe-bash/command-chunks/chunk-LU4HBPP2.js +97 -0
  140. package/dist/safe-bash/command-chunks/{chunk-XJXU3VVH.js → chunk-LWOE65OE.js} +20 -5
  141. package/dist/safe-bash/command-chunks/{chunk-GMIHJYDG.js → chunk-M32HFSX7.js} +22 -6
  142. package/dist/safe-bash/command-chunks/{chunk-YG4EPFWC.js → chunk-M3NINRDU.js} +2880 -172
  143. package/dist/safe-bash/command-chunks/chunk-MQREDAL6.js +164 -0
  144. package/dist/safe-bash/command-chunks/{chunk-LWS62ISU.js → chunk-N6DIASO2.js} +1 -1
  145. package/dist/safe-bash/command-chunks/chunk-NGL7YK7O.js +188 -0
  146. package/dist/safe-bash/command-chunks/{chunk-PEF7K3UQ.js → chunk-NJYHWKIL.js} +40 -10
  147. package/dist/safe-bash/command-chunks/{chunk-VXSLJH7G.js → chunk-OJQRSCBP.js} +27 -7
  148. package/dist/safe-bash/command-chunks/{chunk-OQU6UT6X.js → chunk-OV3XREFN.js} +11 -0
  149. package/dist/safe-bash/command-chunks/{chunk-MIXBO6U7.js → chunk-PTZLF456.js} +2 -2
  150. package/dist/safe-bash/command-chunks/{chunk-ALDC4XP4.js → chunk-QILLRNES.js} +34 -10
  151. package/dist/safe-bash/command-chunks/{chunk-L22T3H7L.js → chunk-QR25JLKO.js} +1 -1
  152. package/dist/safe-bash/command-chunks/{chunk-7U7EXOXX.js → chunk-R7C4MGZ5.js} +17 -223
  153. package/dist/safe-bash/command-chunks/{chunk-LCF3OB7P.js → chunk-RBME3JEH.js} +1 -1
  154. package/dist/safe-bash/command-chunks/{chunk-2KG2QLJE.js → chunk-RFWGYT7G.js} +3 -0
  155. package/dist/safe-bash/command-chunks/{chunk-5TBUOBDE.js → chunk-RZMVRT26.js} +27 -13
  156. package/dist/safe-bash/command-chunks/chunk-TFR6B3WB.js +44 -0
  157. package/dist/safe-bash/command-chunks/chunk-TOH3OF3O.js +179 -0
  158. package/dist/safe-bash/command-chunks/{chunk-VGG2DL5Q.js → chunk-TRR4MYWF.js} +4 -0
  159. package/dist/safe-bash/command-chunks/chunk-TT4DAFBT.js +13621 -0
  160. package/dist/safe-bash/command-chunks/{chunk-LWSBAWLT.js → chunk-TXI64OAG.js} +1 -1
  161. package/dist/safe-bash/command-chunks/chunk-TZRI7BJZ.js +496 -0
  162. package/dist/safe-bash/command-chunks/{chunk-QOKBZFFD.js → chunk-U3MMODA5.js} +2 -7
  163. package/dist/safe-bash/command-chunks/{chunk-ZYHTWNAE.js → chunk-UAW423ZL.js} +11 -11
  164. package/dist/safe-bash/command-chunks/{chunk-C5YYCQHW.js → chunk-UXEEUGOV.js} +222 -12
  165. package/dist/safe-bash/command-chunks/{chunk-GY3BWK7K.js → chunk-VOZPMJRX.js} +87 -80
  166. package/dist/safe-bash/command-chunks/{chunk-MQFIPHIQ.js → chunk-WPANOB4A.js} +38 -35
  167. package/dist/safe-bash/command-chunks/{chunk-Y2WBSJG6.js → chunk-X4QZQI5Q.js} +65 -64
  168. package/dist/safe-bash/command-chunks/{chunk-FPVUD6TH.js → chunk-XGI57GCN.js} +10 -8
  169. package/dist/safe-bash/command-chunks/{chunk-5UBXNSFZ.js → chunk-XUCU7QQT.js} +1281 -1278
  170. package/dist/safe-bash/command-chunks/chunk-Y22VXJBD.js +296 -0
  171. package/dist/safe-bash/command-chunks/{chunk-WVHONVZ4.js → chunk-YMFUUPDX.js} +5 -3
  172. package/dist/safe-bash/command-chunks/{chunk-IR2BY7EL.js → chunk-YYGIBXFZ.js} +2 -2
  173. package/dist/safe-bash/command-chunks/{chunk-MSFXC3OC.js → chunk-Z4FO6OHE.js} +2 -2
  174. package/dist/safe-bash/command-chunks/{chunk-6GWJUQAV.js → chunk-Z5ZZVDUD.js} +181 -133
  175. package/dist/safe-bash/command-chunks/{chunk-W5DNF4JH.js → chunk-ZHN3QDCI.js} +1 -1
  176. package/dist/safe-bash/commands/alias/index.d.ts +2 -0
  177. package/dist/safe-bash/commands/alias/index.js +2 -0
  178. package/dist/safe-bash/commands/apply-patch/index.browser.js +2 -3
  179. package/dist/safe-bash/commands/apply-patch/index.d.ts +0 -1
  180. package/dist/safe-bash/commands/apply-patch/index.js +0 -1
  181. package/dist/safe-bash/commands/archive/index.browser.js +2 -3
  182. package/dist/safe-bash/commands/archive/index.d.ts +0 -1
  183. package/dist/safe-bash/commands/archive/index.js +0 -1
  184. package/dist/safe-bash/commands/bytes/compression/index.js +54 -51
  185. package/dist/safe-bash/commands/bytes/index.js +2 -1
  186. package/dist/safe-bash/commands/chmod/index.browser.js +14 -0
  187. package/dist/safe-bash/commands/chmod/index.d.ts +2 -0
  188. package/dist/safe-bash/commands/chmod/index.js +2 -0
  189. package/dist/safe-bash/commands/column/index.browser.js +2 -3
  190. package/dist/safe-bash/commands/column/index.d.ts +0 -1
  191. package/dist/safe-bash/commands/column/index.js +0 -1
  192. package/dist/safe-bash/commands/copy-source.js +1 -0
  193. package/dist/safe-bash/commands/csplit/index.browser.js +2 -2
  194. package/dist/safe-bash/commands/csvkit/index.browser.js +72 -0
  195. package/dist/safe-bash/commands/csvkit/index.d.ts +0 -5
  196. package/dist/safe-bash/commands/csvkit/index.js +0 -50
  197. package/dist/safe-bash/commands/docx/index.browser.js +5 -7
  198. package/dist/safe-bash/commands/du/index.browser.js +2 -3
  199. package/dist/safe-bash/commands/du/index.d.ts +0 -1
  200. package/dist/safe-bash/commands/du/index.js +0 -1
  201. package/dist/safe-bash/commands/expr/index.browser.js +2 -3
  202. package/dist/safe-bash/commands/expr/index.d.ts +0 -1
  203. package/dist/safe-bash/commands/expr/index.js +0 -1
  204. package/dist/safe-bash/commands/factor/index.browser.js +2 -2
  205. package/dist/safe-bash/commands/file/index.browser.js +2 -3
  206. package/dist/safe-bash/commands/file/index.d.ts +0 -1
  207. package/dist/safe-bash/commands/file/index.js +0 -1
  208. package/dist/safe-bash/commands/filesystem.js +1 -1
  209. package/dist/safe-bash/commands/getopt/index.browser.js +2 -2
  210. package/dist/safe-bash/commands/grep-aliases/index.browser.js +3 -3
  211. package/dist/safe-bash/commands/hexdump/index.browser.js +2 -2
  212. package/dist/safe-bash/commands/html-to-markdown/index.browser.js +2 -3
  213. package/dist/safe-bash/commands/html-to-markdown/index.d.ts +0 -1
  214. package/dist/safe-bash/commands/html-to-markdown/index.js +0 -1
  215. package/dist/safe-bash/commands/htmlq/index.d.ts +1 -5
  216. package/dist/safe-bash/commands/htmlq/index.js +1 -143
  217. package/dist/safe-bash/commands/iconv/index.browser.js +2 -2
  218. package/dist/safe-bash/commands/line-endings/index.browser.js +2 -2
  219. package/dist/safe-bash/commands/llm/index.browser.js +2 -2
  220. package/dist/safe-bash/commands/llm/providers/index.browser.js +1 -1
  221. package/dist/safe-bash/commands/mdq/index.browser.js +3 -3
  222. package/dist/safe-bash/commands/media/index.browser.js +4 -16314
  223. package/dist/safe-bash/commands/media/index.d.ts +1 -5
  224. package/dist/safe-bash/commands/media/index.js +1 -3
  225. package/dist/safe-bash/commands/media/plugin.d.ts +1 -18
  226. package/dist/safe-bash/commands/media/plugin.js +1 -90
  227. package/dist/safe-bash/commands/media/remote.d.ts +1 -63
  228. package/dist/safe-bash/commands/media/remote.js +1 -405
  229. package/dist/safe-bash/commands/media/settings.d.ts +1 -4
  230. package/dist/safe-bash/commands/media/settings.js +1 -26
  231. package/dist/safe-bash/commands/metadata/chmod.d.ts +1 -7
  232. package/dist/safe-bash/commands/metadata/chmod.js +1 -204
  233. package/dist/safe-bash/commands/metadata/index.browser.js +3 -8
  234. package/dist/safe-bash/commands/metadata/index.d.ts +0 -1
  235. package/dist/safe-bash/commands/metadata/index.js +2 -2
  236. package/dist/safe-bash/commands/metadata/internal.d.ts +1 -30
  237. package/dist/safe-bash/commands/metadata/internal.js +1 -76
  238. package/dist/safe-bash/commands/metadata/mktemp.d.ts +1 -3
  239. package/dist/safe-bash/commands/metadata/mktemp.js +1 -202
  240. package/dist/safe-bash/commands/metadata/stat.d.ts +1 -7
  241. package/dist/safe-bash/commands/metadata/stat.js +1 -530
  242. package/dist/safe-bash/commands/mktemp/index.browser.js +13 -0
  243. package/dist/safe-bash/commands/mktemp/index.d.ts +2 -0
  244. package/dist/safe-bash/commands/mktemp/index.js +2 -0
  245. package/dist/safe-bash/commands/network/curl.js +1 -3
  246. package/dist/safe-bash/commands/network/index.browser.js +3 -4
  247. package/dist/safe-bash/commands/network/public.d.ts +0 -1
  248. package/dist/safe-bash/commands/network/public.js +0 -1
  249. package/dist/safe-bash/commands/network/transport.js +2 -1
  250. package/dist/safe-bash/commands/network/wget.js +1 -3
  251. package/dist/safe-bash/commands/node/browser.d.ts +0 -1
  252. package/dist/safe-bash/commands/node/browser.js +0 -1
  253. package/dist/safe-bash/commands/node/default-runtime.d.ts +3 -0
  254. package/dist/safe-bash/commands/node/default-runtime.js +15 -0
  255. package/dist/safe-bash/commands/node/index.browser.js +7 -8
  256. package/dist/safe-bash/commands/node/index.js +3 -3
  257. package/dist/safe-bash/commands/node/path.js +1 -1
  258. package/dist/safe-bash/commands/node/preload.d.ts +1 -1
  259. package/dist/safe-bash/commands/node/preload.js +4 -1
  260. package/dist/safe-bash/commands/node/quickjs.d.ts +2 -0
  261. package/dist/safe-bash/commands/node/quickjs.js +2 -0
  262. package/dist/safe-bash/commands/node/safejs.js +26 -12
  263. package/dist/safe-bash/commands/op/index.browser.js +2 -3
  264. package/dist/safe-bash/commands/op/index.d.ts +0 -11
  265. package/dist/safe-bash/commands/op/index.js +0 -84
  266. package/dist/safe-bash/commands/pandoc/index.browser.js +44 -0
  267. package/dist/safe-bash/commands/pandoc/index.d.ts +0 -1
  268. package/dist/safe-bash/commands/pandoc/index.js +0 -1
  269. package/dist/safe-bash/commands/portable-random.d.ts +1 -1
  270. package/dist/safe-bash/commands/portable-random.js +1 -12
  271. package/dist/safe-bash/commands/pr/index.browser.js +2 -2
  272. package/dist/safe-bash/commands/python/docker-runner.js +4 -3
  273. package/dist/safe-bash/commands/python/docker.d.ts +1 -0
  274. package/dist/safe-bash/commands/python/docker.js +5 -2
  275. package/dist/safe-bash/commands/python/index.browser.js +17 -13
  276. package/dist/safe-bash/commands/python/index.d.ts +2 -1
  277. package/dist/safe-bash/commands/python/index.js +10 -8
  278. package/dist/safe-bash/commands/python/llm-capability.js +65 -2
  279. package/dist/safe-bash/commands/python/llm-dependencies.d.ts +27 -0
  280. package/dist/safe-bash/commands/python/llm-dependencies.js +66 -0
  281. package/dist/safe-bash/commands/python/llm-module.js +6 -4
  282. package/dist/safe-bash/commands/python/llm-reference-module.d.ts +3 -0
  283. package/dist/safe-bash/commands/python/llm-reference-module.js +690 -0
  284. package/dist/safe-bash/commands/python/worker.browser.js +2 -3
  285. package/dist/safe-bash/commands/python/worker.d.ts +0 -1
  286. package/dist/safe-bash/commands/python/worker.js +0 -1
  287. package/dist/safe-bash/commands/regex-execution/ere/transport/wire-engine.d.ts +1 -1
  288. package/dist/safe-bash/commands/regex-execution/ere/transport/wire-engine.js +3 -3
  289. package/dist/safe-bash/commands/regex-execution/public.browser.js +7 -7
  290. package/dist/safe-bash/commands/safejs/options.js +5 -1
  291. package/dist/safe-bash/commands/safejs/runtime.d.ts +1 -0
  292. package/dist/safe-bash/commands/safejs/runtime.js +1 -1
  293. package/dist/safe-bash/commands/split/index.browser.js +2 -3
  294. package/dist/safe-bash/commands/split/index.d.ts +0 -1
  295. package/dist/safe-bash/commands/split/index.js +0 -1
  296. package/dist/safe-bash/commands/ssconvert/index.browser.js +98 -0
  297. package/dist/safe-bash/commands/stat/index.browser.js +13 -0
  298. package/dist/safe-bash/commands/stat/index.d.ts +2 -0
  299. package/dist/safe-bash/commands/stat/index.js +2 -0
  300. package/dist/safe-bash/commands/stream-format/index.browser.js +3 -4
  301. package/dist/safe-bash/commands/stream-format/index.d.ts +0 -1
  302. package/dist/safe-bash/commands/stream-format/index.js +0 -1
  303. package/dist/safe-bash/commands/stream-inspection/index.browser.js +3 -4
  304. package/dist/safe-bash/commands/stream-inspection/index.d.ts +0 -1
  305. package/dist/safe-bash/commands/stream-inspection/index.js +0 -1
  306. package/dist/safe-bash/commands/streams.js +2 -1
  307. package/dist/safe-bash/commands/table-text/index.browser.js +3 -4
  308. package/dist/safe-bash/commands/table-text/index.d.ts +0 -1
  309. package/dist/safe-bash/commands/table-text/index.js +0 -1
  310. package/dist/safe-bash/commands/text.js +74 -34
  311. package/dist/safe-bash/commands/time-env/index.browser.js +3 -4
  312. package/dist/safe-bash/commands/time-env/index.d.ts +0 -1
  313. package/dist/safe-bash/commands/time-env/index.js +0 -1
  314. package/dist/safe-bash/commands/tree/index.browser.js +2 -3
  315. package/dist/safe-bash/commands/tree/index.d.ts +0 -1
  316. package/dist/safe-bash/commands/tree/index.js +0 -1
  317. package/dist/safe-bash/commands/tsort/index.browser.js +2 -2
  318. package/dist/safe-bash/commands/unalias/index.d.ts +2 -0
  319. package/dist/safe-bash/commands/unalias/index.js +2 -0
  320. package/dist/safe-bash/commands/xml/index.browser.js +2 -2
  321. package/dist/safe-bash/commands/yq/index.browser.js +2 -2
  322. package/dist/safe-bash/core.browser.js +2 -2
  323. package/dist/safe-bash/core.d.ts +7 -1
  324. package/dist/safe-bash/core.js +7 -1
  325. package/dist/safe-bash/execution-runtime.js +2 -1
  326. package/dist/safe-bash/fs/s3/http/index.d.ts +2 -2
  327. package/dist/safe-bash/fs/s3/http/index.js +1 -1
  328. package/dist/safe-bash/full-core.browser.js +254 -916
  329. package/dist/safe-bash/internal/op/types.d.ts +1 -0
  330. package/dist/safe-bash/jobs.browser.js +5 -5
  331. package/dist/safe-bash/lazy-optional.d.ts +3 -3
  332. package/dist/safe-bash/lazy-optional.js +1 -1
  333. package/dist/safe-bash/opt-in/commands/cmp/index.js +7 -6
  334. package/dist/safe-bash/opt-in/commands/dd/index.js +1 -1
  335. package/dist/safe-bash/opt-in/commands/dd/io.js +51 -5
  336. package/dist/safe-bash/opt-in/commands/truncate/index.js +2 -2
  337. package/dist/safe-bash/opt-in/commands/yq/native-work.js +3 -0
  338. package/dist/safe-bash/opt-in/optional/commands/shuf/input.js +2 -1
  339. package/dist/safe-bash/opt-in/optional/commands/shuf/shuf.js +4 -2
  340. package/dist/safe-bash/opt-in/optional.d.ts +1 -1
  341. package/dist/safe-bash/opt-in/optional.js +1 -1
  342. package/dist/safe-bash/opt-in/shell/extensions/read/index.js +2 -344
  343. package/dist/safe-bash/optional-host.browser.js +19 -14
  344. package/dist/safe-bash/optional-host.d.ts +1 -0
  345. package/dist/safe-bash/optional-host.js +1 -0
  346. package/dist/safe-bash/playwright/controller.js +41 -3
  347. package/dist/safe-bash/playwright/native-storage-targets.js +4 -2
  348. package/dist/safe-bash/plugins/base.d.ts +1 -1
  349. package/dist/safe-bash/plugins/base.js +3 -3
  350. package/dist/safe-bash/plugins/composition.d.ts +5 -2
  351. package/dist/safe-bash/plugins/composition.js +10 -7
  352. package/dist/safe-bash/plugins/index.browser.js +44 -41
  353. package/dist/safe-bash/plugins/index.js +3 -2
  354. package/dist/safe-bash/plugins/portable-commands.d.ts +3 -0
  355. package/dist/safe-bash/plugins/portable-commands.js +31 -0
  356. package/dist/safe-bash/registry-entry.browser.js +41 -42
  357. package/dist/safe-bash/search.browser.js +32 -33
  358. package/dist/safe-bash/shell/arithmetic.js +19 -6
  359. package/dist/safe-bash/shell/arrays/state.js +1 -1
  360. package/dist/safe-bash/shell/arrays/syntax.js +4 -3
  361. package/dist/safe-bash/shell/index.d.ts +0 -1
  362. package/dist/safe-bash/shell/index.js +0 -1
  363. package/dist/safe-bash/shell/parser.d.ts +2 -2
  364. package/dist/safe-bash/shell/parser.js +268 -64
  365. package/dist/safe-bash/shell/read-builtin.d.ts +3 -0
  366. package/dist/safe-bash/shell/read-builtin.js +344 -0
  367. package/dist/safe-bash/shell/runtime.d.ts +24 -4
  368. package/dist/safe-bash/shell/runtime.js +392 -414
  369. package/dist/safe-bash/shell/session-state.js +25 -0
  370. package/dist/safe-bash/shell/shell.js +76 -154
  371. package/dist/safe-bash/shell/tilde-expansion.d.ts +1 -1
  372. package/dist/safe-bash/shell/tilde-expansion.js +2 -2
  373. package/dist/safe-bash/shell/types.d.ts +7 -0
  374. package/dist/safe-bash/shell/value-state.js +1 -1
  375. package/dist/safe-bash/shell/worker-limits.js +1 -0
  376. package/dist/safe-bash/shell-entry.browser.js +32 -33
  377. package/dist/safe-bash/trap.browser.js +4 -4
  378. package/dist/safe-bash/worker/host.js +1 -1
  379. package/dist/safe-bash/yq-browser/index.js +1 -1
  380. package/dist/safe-bash-calendar-engine/time-env/calendar.d.ts +1 -1
  381. package/dist/safe-bash-calendar-engine/time-env/calendar.js +1 -1
  382. package/dist/safe-bash-calendar-engine/time-env/format.js +1 -1
  383. package/dist/safe-bash-command-alias/index.d.ts +13 -0
  384. package/dist/safe-bash-command-alias/index.js +88 -0
  385. package/dist/safe-bash-command-apply-patch/apply.js +3 -3
  386. package/dist/safe-bash-command-apply-patch/index.js +3 -3
  387. package/dist/safe-bash-command-apply-patch/matcher.js +1 -1
  388. package/dist/safe-bash-command-apply-patch/parser.js +1 -1
  389. package/dist/safe-bash-command-awk/awk-pipes.js +2 -2
  390. package/dist/safe-bash-command-awk/awk-reader.js +1 -1
  391. package/dist/safe-bash-command-awk/awk-runtime.js +3 -3
  392. package/dist/safe-bash-command-awk/awk.js +5 -5
  393. package/dist/safe-bash-command-awk/index.js +5 -5
  394. package/dist/safe-bash-command-bc/index.js +218 -65
  395. package/dist/safe-bash-command-bzip2/index.js +4 -3
  396. package/dist/safe-bash-command-chmod/LICENSE +21 -0
  397. package/dist/safe-bash-command-chmod/command.d.ts +7 -0
  398. package/dist/safe-bash-command-chmod/command.js +11 -0
  399. package/dist/safe-bash-command-chmod/index.d.ts +6 -0
  400. package/dist/safe-bash-command-chmod/index.js +27 -0
  401. package/dist/safe-bash-command-cmp/index.js +7 -6
  402. package/dist/safe-bash-command-column/column.js +3 -3
  403. package/dist/safe-bash-command-column/index.js +3 -3
  404. package/dist/safe-bash-command-column/layout.js +2 -2
  405. package/dist/safe-bash-command-csvkit/index.d.ts +1 -0
  406. package/dist/safe-bash-command-csvkit/index.js +1505 -7
  407. package/dist/safe-bash-command-csvkit/sync-support.js +2 -7
  408. package/dist/safe-bash-command-curl/curl.js +1 -1
  409. package/dist/safe-bash-command-curl/index.js +1 -1
  410. package/dist/safe-bash-command-date/date.js +1 -1
  411. package/dist/safe-bash-command-date/index.js +1 -1
  412. package/dist/safe-bash-command-dd/index.js +1 -1
  413. package/dist/safe-bash-command-dd/io.js +51 -5
  414. package/dist/safe-bash-command-diff/diff.js +1 -1
  415. package/dist/safe-bash-command-diff/index.js +1 -1
  416. package/dist/safe-bash-command-diff3/index.js +10 -13
  417. package/dist/safe-bash-command-exiftool/index.js +283 -55
  418. package/dist/safe-bash-command-exiftool/registry.d.ts +4 -2
  419. package/dist/safe-bash-command-factor/command.js +2 -2
  420. package/dist/safe-bash-command-factor/index.js +2 -2
  421. package/dist/safe-bash-command-fd/arguments.d.ts +2 -0
  422. package/dist/safe-bash-command-fd/index.js +42 -12
  423. package/dist/safe-bash-command-ffmpeg/index.js +356 -66
  424. package/dist/safe-bash-command-find/find-format.d.ts +3 -0
  425. package/dist/safe-bash-command-find/find-format.js +1 -1
  426. package/dist/safe-bash-command-find/find.js +2 -2
  427. package/dist/safe-bash-command-find/index.js +2 -2
  428. package/dist/safe-bash-command-fmt/index.js +10 -6
  429. package/dist/safe-bash-command-fold/engine.d.ts +1 -1
  430. package/dist/safe-bash-command-fold/family.js +2 -2
  431. package/dist/safe-bash-command-fold/index.js +1 -1
  432. package/dist/safe-bash-command-gzip/index.js +45 -42
  433. package/dist/safe-bash-command-hexdump/command.js +2 -2
  434. package/dist/safe-bash-command-hexdump/index.js +2 -2
  435. package/dist/safe-bash-command-html-to-markdown/entities.js +1 -1
  436. package/dist/safe-bash-command-html-to-markdown/index.js +4 -4
  437. package/dist/safe-bash-command-html-to-markdown/input.js +3 -3
  438. package/dist/safe-bash-command-html-to-markdown/parser.js +2 -2
  439. package/dist/safe-bash-command-html-to-markdown/render.js +3 -3
  440. package/dist/safe-bash-command-htmlq/contracts.d.ts +5 -2
  441. package/dist/safe-bash-command-htmlq/index.d.ts +2 -1
  442. package/dist/safe-bash-command-htmlq/index.js +175 -49
  443. package/dist/safe-bash-command-htmlq/sync.d.ts +1 -0
  444. package/dist/safe-bash-command-imagemagick/index.js +59 -7
  445. package/dist/safe-bash-command-install/arguments.d.ts +27 -0
  446. package/dist/safe-bash-command-install/arguments.js +224 -0
  447. package/dist/safe-bash-command-install/index.d.ts +7 -0
  448. package/dist/safe-bash-command-install/index.js +942 -0
  449. package/dist/safe-bash-command-install/mode.d.ts +6 -0
  450. package/dist/safe-bash-command-install/mode.js +71 -0
  451. package/dist/safe-bash-command-install/options.d.ts +40 -0
  452. package/dist/safe-bash-command-install/options.js +27 -0
  453. package/dist/safe-bash-command-jq/index.js +1 -1
  454. package/dist/safe-bash-command-jq/jq.js +1 -1
  455. package/dist/safe-bash-command-less/index.js +42 -57
  456. package/dist/safe-bash-command-llm/command.js +1 -1
  457. package/dist/safe-bash-command-llm/elevenlabs.js +2 -2
  458. package/dist/safe-bash-command-llm/index.js +4 -4
  459. package/dist/safe-bash-command-llm/openai.js +2 -2
  460. package/dist/safe-bash-command-llm/providers/elevenlabs.js +2 -2
  461. package/dist/safe-bash-command-llm/providers/index.js +3 -3
  462. package/dist/safe-bash-command-llm/providers/openai.js +2 -2
  463. package/dist/safe-bash-command-llm/providers/shared.js +1 -1
  464. package/dist/{safe-bash-mcp → safe-bash-command-mcp}/index.browser.d.ts +463 -46
  465. package/dist/safe-bash-command-mcp/index.browser.js +19308 -0
  466. package/dist/{safe-bash-mcp → safe-bash-command-mcp}/index.d.ts +15 -6
  467. package/dist/{safe-bash-mcp → safe-bash-command-mcp}/index.js +2835 -2783
  468. package/dist/safe-bash-command-media/LICENSE +21 -0
  469. package/dist/safe-bash-command-media/index.d.ts +6 -0
  470. package/dist/safe-bash-command-media/index.js +30 -0
  471. package/dist/safe-bash-command-media/plugin.d.ts +18 -0
  472. package/dist/safe-bash-command-media/plugin.js +11 -0
  473. package/dist/safe-bash-command-media/remote.d.ts +63 -0
  474. package/dist/safe-bash-command-media/remote.js +11 -0
  475. package/dist/safe-bash-command-media/settings.d.ts +4 -0
  476. package/dist/safe-bash-command-media/settings.js +41 -0
  477. package/dist/safe-bash-command-mktemp/LICENSE +21 -0
  478. package/dist/safe-bash-command-mktemp/command.d.ts +3 -0
  479. package/dist/safe-bash-command-mktemp/command.js +9 -0
  480. package/dist/safe-bash-command-mktemp/index.d.ts +6 -0
  481. package/dist/safe-bash-command-mktemp/index.js +25 -0
  482. package/dist/safe-bash-command-mmdc/arguments.d.ts +1 -0
  483. package/dist/safe-bash-command-mmdc/command.d.ts +2 -0
  484. package/dist/safe-bash-command-mmdc/contracts.d.ts +8 -1
  485. package/dist/safe-bash-command-mmdc/index.js +359 -7
  486. package/dist/safe-bash-command-nl/index.js +1 -1
  487. package/dist/safe-bash-command-nl/nl.js +1 -1
  488. package/dist/safe-bash-command-node/LICENSE +21 -0
  489. package/dist/safe-bash-command-node/index.d.ts +17 -0
  490. package/dist/safe-bash-command-node/index.js +328 -0
  491. package/dist/safe-bash-command-numfmt/index.js +1 -0
  492. package/dist/safe-bash-command-od/index.js +16 -8
  493. package/dist/safe-bash-command-op/index.js +62 -36
  494. package/dist/safe-bash-command-op/types.d.ts +1 -0
  495. package/dist/safe-bash-command-pandoc/command.js +3 -3
  496. package/dist/safe-bash-command-pandoc/index.d.ts +1 -0
  497. package/dist/safe-bash-command-pandoc/index.js +5 -3
  498. package/dist/safe-bash-command-pandoc/sync.d.ts +1 -0
  499. package/dist/safe-bash-command-patch/index.js +4 -4
  500. package/dist/safe-bash-command-patch/patch.js +4 -4
  501. package/dist/safe-bash-command-pdfimages/index.js +1 -1
  502. package/dist/safe-bash-command-pdfinfo/index.js +30 -5
  503. package/dist/safe-bash-command-pdftk/index.js +21 -23
  504. package/dist/safe-bash-command-pdftoppm/index.js +17 -4
  505. package/dist/safe-bash-command-pdftotext/index.js +11 -14
  506. package/dist/safe-bash-command-qpdf/index.d.ts +1 -0
  507. package/dist/safe-bash-command-qpdf/index.js +9 -6
  508. package/dist/safe-bash-command-rg/index.js +1 -1
  509. package/dist/safe-bash-command-rg/rg-command.js +1 -1
  510. package/dist/safe-bash-command-sed/index.js +1 -1
  511. package/dist/safe-bash-command-sed/sed.js +1 -1
  512. package/dist/safe-bash-command-shuf/input.d.ts +2 -2
  513. package/dist/safe-bash-command-shuf/input.js +2 -1
  514. package/dist/safe-bash-command-shuf/shuf.js +4 -2
  515. package/dist/safe-bash-command-sips/index.js +15 -7
  516. package/dist/safe-bash-command-soffice/index.js +97 -12
  517. package/dist/safe-bash-command-sponge/index.js +13 -3
  518. package/dist/safe-bash-command-sqlite3/engine.d.ts +1 -0
  519. package/dist/safe-bash-command-sqlite3/index.js +510 -70
  520. package/dist/safe-bash-command-ssconvert/formats/xlsx.js +2 -2
  521. package/dist/safe-bash-command-ssconvert/index.js +44 -22
  522. package/dist/safe-bash-command-stat/LICENSE +21 -0
  523. package/dist/safe-bash-command-stat/command.d.ts +7 -0
  524. package/dist/safe-bash-command-stat/command.js +9 -0
  525. package/dist/safe-bash-command-stat/index.d.ts +6 -0
  526. package/dist/safe-bash-command-stat/index.js +25 -0
  527. package/dist/safe-bash-command-tar/create.d.ts +1 -0
  528. package/dist/safe-bash-command-tar/create.js +2 -2
  529. package/dist/safe-bash-command-tar/extract.js +2 -2
  530. package/dist/safe-bash-command-tar/index.js +4 -4
  531. package/dist/safe-bash-command-tar/modes.js +4 -4
  532. package/dist/safe-bash-command-tar/options.js +1 -1
  533. package/dist/safe-bash-command-truncate/index.js +2 -2
  534. package/dist/safe-bash-command-tsort/command.js +2 -2
  535. package/dist/safe-bash-command-tsort/index.js +2 -2
  536. package/dist/safe-bash-command-unalias/index.d.ts +12 -0
  537. package/dist/safe-bash-command-unalias/index.js +67 -0
  538. package/dist/safe-bash-command-unrtf/index.js +37 -5
  539. package/dist/safe-bash-command-xan/argv.d.ts +1 -1
  540. package/dist/safe-bash-command-xan/argv.js +2 -2
  541. package/dist/safe-bash-command-xan/budget.d.ts +0 -1
  542. package/dist/safe-bash-command-xan/budget.js +1 -1
  543. package/dist/safe-bash-command-xan/commands.js +6 -6
  544. package/dist/safe-bash-command-xan/csv.js +2 -2
  545. package/dist/safe-bash-command-xan/index.js +8 -9
  546. package/dist/safe-bash-command-xan/io.js +4 -4
  547. package/dist/safe-bash-command-xan/options.js +1 -1
  548. package/dist/safe-bash-command-xan/selector.js +2 -2
  549. package/dist/safe-bash-command-xmllint/index.js +45 -23
  550. package/dist/safe-bash-command-xxd/index.js +47 -12
  551. package/dist/safe-bash-command-xz/command.d.ts +1 -1
  552. package/dist/safe-bash-command-xz/index.js +3 -2
  553. package/dist/safe-bash-command-yq/accounting.js +1 -1
  554. package/dist/safe-bash-command-yq/index.js +4 -2
  555. package/dist/safe-bash-command-yq/native-work.js +3 -0
  556. package/dist/safe-bash-command-yq/parser.js +2 -2
  557. package/dist/safe-bash-command-yq/query.js +8 -5
  558. package/dist/safe-bash-command-yq/toml.js +2 -2
  559. package/dist/safe-bash-command-zip/index.js +3 -3
  560. package/dist/safe-bash-compression-engine/bounded-codec.js +3 -3
  561. package/dist/safe-bash-compression-engine/codec-loader.js +2 -2
  562. package/dist/safe-bash-compression-engine/files.js +6 -6
  563. package/dist/safe-bash-compression-engine/index.js +5 -5
  564. package/dist/safe-bash-compression-engine/operand.js +6 -6
  565. package/dist/safe-bash-compression-engine/options.js +1 -1
  566. package/dist/safe-bash-compression-engine/stream.js +5 -5
  567. package/dist/safe-bash-compression-engine/zstd-decode.js +4 -4
  568. package/dist/safe-bash-contracts/command.js +3 -3
  569. package/dist/safe-bash-contracts/default-executor.js +2 -2
  570. package/dist/safe-bash-contracts/diagnostics.js +3 -3
  571. package/dist/safe-bash-contracts/escaping.js +6 -6
  572. package/dist/safe-bash-contracts/filesystem-descriptor.js +3 -3
  573. package/dist/safe-bash-contracts/filesystem-output.js +5 -5
  574. package/dist/safe-bash-contracts/http.d.ts +7 -0
  575. package/dist/safe-bash-contracts/index.js +8 -8
  576. package/dist/safe-bash-contracts/io.d.ts +2 -0
  577. package/dist/safe-bash-contracts/io.js +2 -2
  578. package/dist/safe-bash-contracts/output.js +3 -3
  579. package/dist/safe-bash-contracts/runtime-control.d.ts +2 -2
  580. package/dist/safe-bash-contracts/runtime-control.js +4 -2
  581. package/dist/safe-bash-contracts/signals.d.ts +2 -0
  582. package/dist/safe-bash-contracts/signals.js +3 -1
  583. package/dist/safe-bash-contracts/yield.js +1 -1
  584. package/dist/safe-bash-csv-engine/index.d.ts +2 -1
  585. package/dist/safe-bash-csv-engine/index.js +21 -15
  586. package/dist/safe-bash-io-engine/commands/search/requirements.js +2 -2
  587. package/dist/safe-bash-io-engine/commands/text-programs/shared.js +6 -6
  588. package/dist/safe-bash-io-engine/internal.js +1 -1
  589. package/dist/safe-bash-io-engine/shell/pattern.js +38 -18
  590. package/dist/safe-bash-line-ending-engine/convert.js +9 -204
  591. package/dist/safe-bash-line-ending-engine/encoding.js +9 -42
  592. package/dist/safe-bash-line-ending-engine/index.js +48 -0
  593. package/dist/safe-bash-line-ending-engine/info.js +9 -90
  594. package/dist/safe-bash-line-ending-engine/internal.js +15 -160
  595. package/dist/safe-bash-line-ending-engine/io.js +12 -289
  596. package/dist/safe-bash-line-ending-engine/stage.js +10 -160
  597. package/dist/safe-bash-markdown-engine/index.js +3 -3
  598. package/dist/safe-bash-metadata-engine/LICENSE +21 -0
  599. package/dist/safe-bash-metadata-engine/index.d.ts +30 -0
  600. package/dist/safe-bash-metadata-engine/index.js +82 -0
  601. package/dist/safe-bash-metadata-engine/random.d.ts +1 -0
  602. package/dist/safe-bash-metadata-engine/random.js +21 -0
  603. package/dist/safe-bash-network-engine/args.d.ts +6 -0
  604. package/dist/safe-bash-network-engine/args.js +4 -2
  605. package/dist/safe-bash-network-engine/body.js +1 -1
  606. package/dist/safe-bash-network-engine/fetch-transport.js +3 -1
  607. package/dist/safe-bash-network-engine/index.js +3 -1
  608. package/dist/safe-bash-network-engine/input.js +2 -2
  609. package/dist/safe-bash-network-engine/platform-portable.js +3 -1
  610. package/dist/safe-bash-query-engine/dates.d.ts +1 -1
  611. package/dist/safe-bash-query-engine/dates.js +1 -1
  612. package/dist/safe-bash-query-engine/index.js +6 -6
  613. package/dist/safe-bash-query-engine/interpreter.js +4 -4
  614. package/dist/safe-bash-query-engine/parser.js +1 -1
  615. package/dist/safe-bash-query-engine/query-core.js +6 -6
  616. package/dist/safe-bash-regex-engine/execution/bounded-provider.js +10 -0
  617. package/dist/safe-bash-regex-engine/index.js +1 -1
  618. package/dist/safe-bash-regex-engine/text/regex.d.ts +1 -1
  619. package/dist/safe-bash-regex-engine/text/regex.js +1 -1
  620. package/dist/safe-bash-search-engine/ergonomic-regex.d.ts +1 -0
  621. package/dist/safe-bash-search-engine/ergonomic-regex.js +2 -2
  622. package/dist/safe-bash-search-engine/glob.js +2 -2
  623. package/dist/safe-bash-search-engine/grep.js +17 -10
  624. package/dist/safe-bash-search-engine/matcher.d.ts +2 -2
  625. package/dist/safe-bash-search-engine/matcher.js +13 -9
  626. package/dist/safe-bash-search-engine/options.d.ts +2 -0
  627. package/dist/safe-bash-search-engine/options.js +1 -1
  628. package/dist/safe-bash-search-engine/output.js +1 -1
  629. package/dist/safe-bash-search-engine/shared.js +2 -2
  630. package/dist/safe-bash-search-engine/walk.js +15 -3
  631. package/dist/safe-bash-text-stream-engine/stream-format/shared.d.ts +1 -1
  632. package/dist/safe-bash-text-stream-engine/stream-format/shared.js +2 -1
  633. package/dist/safe-bash-xml-engine/document.js +3 -3
  634. package/dist/safe-bash-xml-engine/evaluate.js +2 -2
  635. package/dist/safe-bash-xml-engine/index.js +4 -4
  636. package/dist/safe-bash-xml-engine/io.js +7 -2
  637. package/dist/safe-bash-xml-engine/limits.d.ts +0 -2
  638. package/dist/safe-bash-xml-engine/limits.js +1 -1
  639. package/dist/safe-bash-xml-engine/query.js +3 -3
  640. package/dist/safe-bash-zip-engine/index.js +3 -3
  641. package/dist/safe-bash-zip-engine/zip/repair.js +3 -3
  642. package/dist/safe-bash-zip-engine/zip/safety.js +1 -1
  643. package/dist/safe-bash-zip-engine/zip/sfx.js +3 -3
  644. package/dist/safe-bash-zip-engine/zip/volumes.js +1 -1
  645. package/dist/safe-bash-zip-engine/zip-format.js +3 -3
  646. package/dist/safe-playwright-cloudflare/browser-snapshot-json.js +2 -2
  647. package/dist/safe-playwright-cloudflare/browser-snapshot-references.js +1 -1
  648. package/dist/safe-playwright-cloudflare/browser-socket-closure.js +18 -3
  649. package/dist/safe-playwright-cloudflare/shell-browser-resource.js +1 -1
  650. package/dist/xlsx-ast/xlsx.js +6 -5
  651. package/package.json +112 -98
  652. package/dist/media-cli/bytes.d.ts +0 -8
  653. package/dist/media-cli/bytes.js +0 -40
  654. package/dist/media-cli/concat.d.ts +0 -30
  655. package/dist/media-cli/concat.js +0 -197
  656. package/dist/media-cli/content.js +0 -66
  657. package/dist/media-cli/dependency-grammars.d.ts +0 -12
  658. package/dist/media-cli/dependency-grammars.js +0 -557
  659. package/dist/media-cli/discover.js +0 -286
  660. package/dist/media-cli/engine.js +0 -190
  661. package/dist/media-cli/filename-expression.js +0 -147
  662. package/dist/media-cli/filesystem.js +0 -35
  663. package/dist/media-cli/frontend-contract.js +0 -8
  664. package/dist/media-cli/frontend-issues.d.ts +0 -6
  665. package/dist/media-cli/frontend-issues.js +0 -9
  666. package/dist/media-cli/imagemagick-operand.d.ts +0 -42
  667. package/dist/media-cli/imagemagick-operand.js +0 -229
  668. package/dist/media-cli/imagemagick-references.d.ts +0 -7
  669. package/dist/media-cli/imagemagick-references.js +0 -42
  670. package/dist/media-cli/imagemagick.generated.js +0 -3254
  671. package/dist/media-cli/imagemagick.js +0 -615
  672. package/dist/media-cli/index.js +0 -12
  673. package/dist/media-cli/mvg.d.ts +0 -10
  674. package/dist/media-cli/mvg.js +0 -102
  675. package/dist/media-cli/network.js +0 -78
  676. package/dist/media-cli/options.generated.js +0 -3312
  677. package/dist/media-cli/preset.d.ts +0 -11
  678. package/dist/media-cli/preset.js +0 -57
  679. package/dist/media-cli/resolution-path.d.ts +0 -23
  680. package/dist/media-cli/resolution-path.js +0 -217
  681. package/dist/media-cli/resolver.js +0 -494
  682. package/dist/media-cli/resources.d.ts +0 -16
  683. package/dist/media-cli/resources.js +0 -187
  684. package/dist/media-cli/shim.js +0 -52
  685. package/dist/media-cli/tee.d.ts +0 -6
  686. package/dist/media-cli/tee.js +0 -38
  687. package/dist/office-package/zip-sync.js +0 -111
  688. package/dist/remote-execution/binary.js +0 -178
  689. package/dist/remote-execution/callback-result.js +0 -26
  690. package/dist/remote-execution/canonical-capabilities.d.ts +0 -5
  691. package/dist/remote-execution/canonical-capabilities.js +0 -45
  692. package/dist/remote-execution/canonical-metadata.d.ts +0 -4
  693. package/dist/remote-execution/canonical-metadata.js +0 -32
  694. package/dist/remote-execution/client.js +0 -824
  695. package/dist/remote-execution/deployment.js +0 -131
  696. package/dist/remote-execution/descriptors.js +0 -267
  697. package/dist/remote-execution/effects.js +0 -357
  698. package/dist/remote-execution/endpoint.js +0 -224
  699. package/dist/remote-execution/files.js +0 -291
  700. package/dist/remote-execution/hosting-operation.js +0 -26
  701. package/dist/remote-execution/hosting-request.d.ts +0 -4
  702. package/dist/remote-execution/hosting-request.js +0 -12
  703. package/dist/remote-execution/hosting-stream.d.ts +0 -8
  704. package/dist/remote-execution/hosting-stream.js +0 -64
  705. package/dist/remote-execution/index.js +0 -18
  706. package/dist/remote-execution/invocation-admission.d.ts +0 -3
  707. package/dist/remote-execution/invocation-admission.js +0 -17
  708. package/dist/remote-execution/job-binding.js +0 -1269
  709. package/dist/remote-execution/materializations.js +0 -284
  710. package/dist/remote-execution/modal-driver.js +0 -90
  711. package/dist/remote-execution/native-result.d.ts +0 -3
  712. package/dist/remote-execution/native-result.js +0 -16
  713. package/dist/remote-execution/output-freshness.d.ts +0 -4
  714. package/dist/remote-execution/output-freshness.js +0 -19
  715. package/dist/remote-execution/output-retrieval.js +0 -474
  716. package/dist/remote-execution/process-http.js +0 -607
  717. package/dist/remote-execution/process.js +0 -577
  718. package/dist/remote-execution/protocol.js +0 -208
  719. package/dist/remote-execution/relay.js +0 -91
  720. package/dist/remote-execution/rest-driver.js +0 -93
  721. package/dist/remote-execution/upload-descriptor.js +0 -201
  722. package/dist/remote-execution/upload-protocol.js +0 -62
  723. package/dist/remote-execution/uploads.js +0 -324
  724. package/dist/remote-execution/wire-json.d.ts +0 -4
  725. package/dist/remote-execution/wire-json.js +0 -44
  726. package/dist/remote-execution/wire-validation.js +0 -131
  727. package/dist/remote-execution/wire.generated.js +0 -4224
  728. package/dist/safe-bash/chunks/chunk-GETUOD5D.js +0 -161
  729. package/dist/safe-bash/chunks/chunk-IWDICZVK.js +0 -20
  730. package/dist/safe-bash/chunks/chunk-MHMMRCYC.js +0 -3464
  731. package/dist/safe-bash/chunks/chunk-UE5KZDEK.js +0 -77
  732. package/dist/safe-bash/chunks/chunk-VSAJ4OTM.js +0 -962
  733. package/dist/safe-bash/chunks/csvkit-TACDU7FC.js +0 -1618
  734. package/dist/safe-bash/chunks/implementation-MLFHUQ5M.js +0 -133
  735. package/dist/safe-bash/commands/csvkit/sync.js +0 -1639
  736. package/dist/safe-bash/commands/node/unconfigured.d.ts +0 -3
  737. package/dist/safe-bash/commands/node/unconfigured.js +0 -10
  738. package/dist/safe-bash/commands/pandoc/implementation.d.ts +0 -8
  739. package/dist/safe-bash/commands/pandoc/implementation.js +0 -94
  740. package/dist/safe-bash-mcp/index.browser.js +0 -9157
  741. package/dist/safe-bash/command-chunks/{chunk-ZRRBXU3M.js → chunk-GIN5GUDP.js} +4 -4
  742. package/dist/safe-bash/command-chunks/{chunk-LAOM65EE.js → chunk-IEO4XVN6.js} +3 -3
  743. package/dist/safe-bash/command-chunks/{chunk-364TMWBT.js → chunk-MWREVL44.js} +6 -6
  744. package/dist/safe-bash/command-chunks/{chunk-464RVBGB.js → chunk-Q5TDKFHK.js} +3 -3
  745. package/dist/safe-bash/command-chunks/{chunk-AJR3AQYA.js → chunk-UKX3LZHR.js} +0 -0
  746. package/dist/safe-bash/command-chunks/{chunk-XIIBTGC5.js → chunk-XPXEQKRW.js} +9 -9
  747. package/dist/safe-bash/command-chunks/{chunk-FDBUV4HJ.js → chunk-Y4HGTG3E.js} +3 -3
  748. /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-W5DNF4JH.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";