@poe-platform/safe-bash 0.1.818 → 0.1.819

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 (1058) hide show
  1. package/dist/office-xml/retained-xml-document.d.ts +2 -2
  2. package/dist/pdf-ast/cos/compact-number.d.ts +19 -0
  3. package/dist/pdf-ast/cos/mutable-object-store.d.ts +2 -1
  4. package/dist/pdf-ast/cos/retained-node-writer.d.ts +9 -0
  5. package/dist/pdf-ast/cos/text-store.d.ts +27 -0
  6. package/dist/pdf-ast/edit/retained-bookmarks.d.ts +2 -2
  7. package/dist/pdf-ast/edit/retained-info-updates.d.ts +3 -3
  8. package/dist/pdf-ast/edit/retained-merge-outlines.d.ts +43 -0
  9. package/dist/pdf-ast/edit/retained-page-copy.d.ts +2 -0
  10. package/dist/pdf-ast/image.js +1 -1
  11. package/dist/pdf-ast/index.d.ts +3 -0
  12. package/dist/pdf-ast/index.js +7 -1
  13. package/dist/pdf-ast/retained-document.d.ts +7 -0
  14. package/dist/pdf-ast/retained-reader.d.ts +4 -0
  15. package/dist/safe-bash/ast-grep.js +1 -1
  16. package/dist/safe-bash/audio-ast.js +1 -1
  17. package/dist/safe-bash/byte-encoding.js +1 -1
  18. package/dist/safe-bash/chunks/{chunk-HD6DWOAC.js → chunk-67QE3JLU.js} +1 -1
  19. package/dist/safe-bash/chunks/{chunk-HPQE675Q.js → chunk-ESH5MDQR.js} +1 -1
  20. package/dist/safe-bash/chunks/chunk-HNT2MR4W.js +45 -0
  21. package/dist/safe-bash/chunks/{chunk-SXSEF5E2.js → chunk-IRJS54AA.js} +1 -1
  22. package/dist/safe-bash/chunks/{chunk-AXGI5JVL.js → chunk-NAETSXBW.js} +2 -2
  23. package/dist/safe-bash/chunks/{chunk-WW7QPLH2.js → chunk-PSD2RSOS.js} +2 -1
  24. package/dist/safe-bash/chunks/{chunk-FQRI5AS5.js → chunk-VF3Q2V3E.js} +1 -1
  25. package/dist/safe-bash/chunks/{pdfinfo-KQIQEDOF.js → pdfinfo-G7BGZXBN.js} +2 -12
  26. package/dist/safe-bash/command-chunks/{chunk-CEHICGP6.js → chunk-22D6Q6SW.js} +5 -5
  27. package/dist/safe-bash/command-chunks/{chunk-RYOHOS2I.js → chunk-2E53ZL5D.js} +11 -9
  28. package/dist/safe-bash/command-chunks/{chunk-EJ4UP7DA.js → chunk-2ESK2YIE.js} +27 -5
  29. package/dist/safe-bash/command-chunks/{chunk-X6KFCAWZ.js → chunk-2GU2UU2Z.js} +6 -6
  30. package/dist/safe-bash/command-chunks/{chunk-L2VLASZ4.js → chunk-2GUI3ZKE.js} +3 -3
  31. package/dist/safe-bash/command-chunks/chunk-2H6RJPCQ.js +721 -0
  32. package/dist/safe-bash/command-chunks/{chunk-DRHONH2C.js → chunk-2IGH6JIP.js} +1 -1
  33. package/dist/safe-bash/command-chunks/{chunk-45GTHPL5.js → chunk-2V6EUWE3.js} +1 -1
  34. package/dist/safe-bash/command-chunks/{chunk-QNLX3CZH.js → chunk-2VSNIHIW.js} +19 -19
  35. package/dist/safe-bash/command-chunks/{chunk-PX6E5MHY.js → chunk-3DID6MQY.js} +15 -5
  36. package/dist/safe-bash/command-chunks/{chunk-5VO534FR.js → chunk-3K5FCRUG.js} +1 -0
  37. package/dist/safe-bash/command-chunks/{chunk-BSTABZIK.js → chunk-3LMUKOP2.js} +1 -1
  38. package/dist/safe-bash/command-chunks/{chunk-FDRE535F.js → chunk-3MFYCMQU.js} +35 -35
  39. package/dist/safe-bash/command-chunks/chunk-3PO534WJ.js +37 -0
  40. package/dist/safe-bash/command-chunks/{chunk-VUJCVXD4.js → chunk-3RDEX4AF.js} +4 -4
  41. package/dist/safe-bash/command-chunks/{chunk-3B6554G6.js → chunk-3TXPZLFI.js} +6 -6
  42. package/dist/safe-bash/command-chunks/{chunk-YW7WU7W2.js → chunk-4HJEZGYN.js} +8 -8
  43. package/dist/safe-bash/command-chunks/{chunk-V3NKL42J.js → chunk-4Q3HP33O.js} +1 -1
  44. package/dist/safe-bash/command-chunks/{chunk-EBX5RKKT.js → chunk-4XYGJB24.js} +4 -4
  45. package/dist/safe-bash/command-chunks/{chunk-D7UFAIBS.js → chunk-4ZQYBCB2.js} +15 -15
  46. package/dist/safe-bash/command-chunks/{chunk-TG2RVQLP.js → chunk-5KWEZV5H.js} +2 -2
  47. package/dist/safe-bash/command-chunks/{chunk-4Z7PBIMP.js → chunk-5P5SF75H.js} +79 -30
  48. package/dist/safe-bash/command-chunks/{chunk-HOBXZX23.js → chunk-5PJ6VT2O.js} +4 -4
  49. package/dist/safe-bash/command-chunks/{chunk-CODJMTSA.js → chunk-5QR4LTAK.js} +7 -7
  50. package/dist/safe-bash/command-chunks/{chunk-2WTDP3TP.js → chunk-5XIJYTQU.js} +5 -5
  51. package/dist/safe-bash/command-chunks/{chunk-MTWFSBNG.js → chunk-63WEASJ7.js} +1 -1
  52. package/dist/safe-bash/command-chunks/{chunk-NZF56C25.js → chunk-64L57DEI.js} +16 -16
  53. package/dist/safe-bash/command-chunks/{chunk-GPLN6JV2.js → chunk-6PDXNY3T.js} +9 -9
  54. package/dist/safe-bash/command-chunks/{chunk-BJL7AGA5.js → chunk-6RE4MZYM.js} +4 -4
  55. package/dist/safe-bash/command-chunks/{chunk-4OHTYYNU.js → chunk-6REH56FL.js} +11 -9
  56. package/dist/safe-bash/command-chunks/{chunk-XFIDOCYH.js → chunk-6ZHNKHQQ.js} +2 -2
  57. package/dist/safe-bash/command-chunks/{chunk-ZSF2T5D4.js → chunk-75OUKYCM.js} +2 -2
  58. package/dist/safe-bash/command-chunks/{chunk-QCN7MRRU.js → chunk-772WNCU6.js} +6 -6
  59. package/dist/safe-bash/command-chunks/{chunk-XVEI4HZL.js → chunk-7JTJQKIV.js} +1 -1
  60. package/dist/safe-bash/command-chunks/{chunk-3ZVK2OAY.js → chunk-A4GYNM2E.js} +6 -5
  61. package/dist/safe-bash/command-chunks/chunk-AC4FFCRL.js +3820 -0
  62. package/dist/safe-bash/command-chunks/{chunk-SQBWAFUI.js → chunk-ADN7BU5X.js} +58 -26
  63. package/dist/safe-bash/command-chunks/{chunk-XLFOLLUZ.js → chunk-AEHEOKI2.js} +5 -5
  64. package/dist/safe-bash/command-chunks/{chunk-IKU7ZBF3.js → chunk-AH3ZEPAN.js} +10 -7
  65. package/dist/safe-bash/command-chunks/{chunk-F2JUB7JI.js → chunk-AR65HNNX.js} +3 -3
  66. package/dist/safe-bash/command-chunks/{chunk-UZZ2WJQV.js → chunk-ARA57PMC.js} +5 -5
  67. package/dist/safe-bash/command-chunks/{chunk-HX7QQNWS.js → chunk-AXUHORS3.js} +1 -1
  68. package/dist/safe-bash/command-chunks/chunk-B6NAEWHC.js +53 -0
  69. package/dist/safe-bash/command-chunks/{chunk-2ZWRW6UQ.js → chunk-B74LVFAN.js} +1 -1
  70. package/dist/safe-bash/command-chunks/{chunk-E4TF5W6O.js → chunk-BBOYR6LV.js} +5 -5
  71. package/dist/safe-bash/command-chunks/{chunk-GNT3SCF3.js → chunk-BOMCPF7N.js} +1 -1
  72. package/dist/safe-bash/command-chunks/{chunk-R6X63VAO.js → chunk-BSLXS4PE.js} +2 -2
  73. package/dist/safe-bash/command-chunks/{chunk-N6TG44VG.js → chunk-BTDSUATE.js} +1 -1
  74. package/dist/safe-bash/command-chunks/{chunk-VZJRFHMZ.js → chunk-BXDNFBKZ.js} +26 -2
  75. package/dist/safe-bash/command-chunks/chunk-BZLLQWRK.js +296 -0
  76. package/dist/safe-bash/command-chunks/{chunk-Z33YS3DW.js → chunk-C3FERGHU.js} +4 -4
  77. package/dist/safe-bash/command-chunks/chunk-C5SLY3RB.js +279 -0
  78. package/dist/safe-bash/command-chunks/{chunk-X4TWJNW7.js → chunk-CI6KHUFK.js} +4 -4
  79. package/dist/safe-bash/command-chunks/chunk-CJIFJ45R.js +203 -0
  80. package/dist/safe-bash/command-chunks/{chunk-OTEHQQU7.js → chunk-CKQ5SXOO.js} +8 -59
  81. package/dist/safe-bash/command-chunks/{chunk-UBX5I5HY.js → chunk-CPCXE2TM.js} +7 -7
  82. package/dist/safe-bash/command-chunks/{chunk-WPEIOUJN.js → chunk-CXOAMPOV.js} +14 -12
  83. package/dist/safe-bash/command-chunks/{chunk-4SFX6YGC.js → chunk-D3WMD32B.js} +14 -14
  84. package/dist/safe-bash/command-chunks/{chunk-SF56V6QK.js → chunk-D54L2IOZ.js} +10 -10
  85. package/dist/safe-bash/command-chunks/{chunk-RNIFPFGC.js → chunk-DBYY7IDI.js} +18 -16
  86. package/dist/safe-bash/command-chunks/{chunk-DGCJVZW6.js → chunk-DGFMOT4O.js} +4 -4
  87. package/dist/safe-bash/command-chunks/{chunk-N5J3IZZK.js → chunk-DQVOBGI2.js} +12414 -8140
  88. package/dist/safe-bash/command-chunks/{chunk-IFBLXBBM.js → chunk-DTLIBRCQ.js} +6 -6
  89. package/dist/safe-bash/command-chunks/{chunk-4PMMJ45F.js → chunk-DZTT5SLG.js} +7 -7
  90. package/dist/safe-bash/command-chunks/{chunk-77NXQZGK.js → chunk-DZY7V74W.js} +3 -1
  91. package/dist/safe-bash/command-chunks/chunk-E47FFS5M.js +52 -0
  92. package/dist/safe-bash/command-chunks/{chunk-LNKZVU5V.js → chunk-E76WK7OQ.js} +1 -1
  93. package/dist/safe-bash/command-chunks/{chunk-TTVJJZOM.js → chunk-EBMKGNKF.js} +8 -8
  94. package/dist/safe-bash/command-chunks/{chunk-LNHTLWIL.js → chunk-EG7VVDV3.js} +7 -7
  95. package/dist/safe-bash/command-chunks/{chunk-GZNX5SS4.js → chunk-EIZFAUUD.js} +5 -5
  96. package/dist/safe-bash/command-chunks/{chunk-5UGQGB5Y.js → chunk-ESIEU4E4.js} +5 -5
  97. package/dist/safe-bash/command-chunks/{chunk-QJZJWL2X.js → chunk-ET3CPTJT.js} +38 -25
  98. package/dist/safe-bash/command-chunks/{chunk-XQFEP43Y.js → chunk-ETS4BINB.js} +8 -8
  99. package/dist/safe-bash/command-chunks/{chunk-WJSU2UVG.js → chunk-EU5SR3LS.js} +3 -3
  100. package/dist/safe-bash/command-chunks/{chunk-WRCYZJNO.js → chunk-FCGMSOF6.js} +8 -8
  101. package/dist/safe-bash/command-chunks/{chunk-XB5ZZHFD.js → chunk-FGK6HLSY.js} +8 -8
  102. package/dist/safe-bash/command-chunks/{chunk-7ADQE64C.js → chunk-FMGNXOMV.js} +1 -1
  103. package/dist/safe-bash/command-chunks/{chunk-QLE6JUR7.js → chunk-FX54I4AC.js} +2 -2
  104. package/dist/safe-bash/command-chunks/{chunk-MRBX4KEP.js → chunk-GAYTDZPP.js} +5 -5
  105. package/dist/safe-bash/command-chunks/chunk-GCSKS22X.js +15 -0
  106. package/dist/safe-bash/command-chunks/{chunk-UVZJAV2S.js → chunk-GNPPPYDF.js} +1 -78
  107. package/dist/safe-bash/command-chunks/{chunk-B6XTAKKQ.js → chunk-GNVAW6NL.js} +1 -1
  108. package/dist/safe-bash/command-chunks/chunk-GQV5RWMN.js +27 -0
  109. package/dist/safe-bash/command-chunks/{chunk-PWHIVWQT.js → chunk-GVDVRC7J.js} +15 -19
  110. package/dist/safe-bash/command-chunks/{chunk-KXM3HTAF.js → chunk-GYKQ3IOV.js} +27 -14
  111. package/dist/safe-bash/command-chunks/{chunk-BFRSYJUC.js → chunk-HBR5PWX4.js} +3 -3
  112. package/dist/safe-bash/command-chunks/{chunk-ZOEKSH3R.js → chunk-HCPEYQKT.js} +5 -4
  113. package/dist/safe-bash/command-chunks/{chunk-TTTNFKT6.js → chunk-HCZITM4C.js} +8 -8
  114. package/dist/safe-bash/command-chunks/{chunk-4SISSPIH.js → chunk-HLRLMFMS.js} +1 -1
  115. package/dist/safe-bash/command-chunks/chunk-HNEWGADJ.js +43 -0
  116. package/dist/safe-bash/command-chunks/{chunk-GQ7BD75U.js → chunk-HQFX5XKV.js} +7 -7
  117. package/dist/safe-bash/command-chunks/{chunk-V6NZVM7C.js → chunk-HSB55ED5.js} +6 -6
  118. package/dist/safe-bash/command-chunks/{chunk-G3FK5VVG.js → chunk-HTBUIRTH.js} +1 -1
  119. package/dist/safe-bash/command-chunks/{chunk-QCIAX6HZ.js → chunk-HUAQZFON.js} +1 -1
  120. package/dist/safe-bash/command-chunks/{chunk-JNRX5EFF.js → chunk-HVLF3Y4B.js} +8 -8
  121. package/dist/safe-bash/command-chunks/{chunk-M5BFAMXD.js → chunk-I6CQDCIP.js} +5 -5
  122. package/dist/safe-bash/command-chunks/chunk-I7MEH76L.js +276 -0
  123. package/dist/safe-bash/command-chunks/{chunk-E3BL7W5C.js → chunk-IAHYG67O.js} +152 -80
  124. package/dist/safe-bash/command-chunks/{chunk-EAGIJ4VW.js → chunk-IC5XC4TO.js} +118 -118
  125. package/dist/safe-bash/command-chunks/{chunk-YN3OEJAZ.js → chunk-IGZOQT2L.js} +6 -6
  126. package/dist/safe-bash/command-chunks/{chunk-FJLSYX5P.js → chunk-ITJDLFPW.js} +3 -3
  127. package/dist/safe-bash/command-chunks/{chunk-LSKA4IR4.js → chunk-IYEAS7TU.js} +5 -5
  128. package/dist/safe-bash/command-chunks/{chunk-P57V45F2.js → chunk-J3ISXTYB.js} +5 -5
  129. package/dist/safe-bash/command-chunks/{chunk-5WS6DXYE.js → chunk-J3VS55K4.js} +3142 -2489
  130. package/dist/safe-bash/command-chunks/chunk-J4I7KCQQ.js +495 -0
  131. package/dist/safe-bash/command-chunks/{chunk-HQEYSSZV.js → chunk-JLS6XKAR.js} +1 -1
  132. package/dist/safe-bash/command-chunks/{chunk-IJE65P52.js → chunk-JMUB5A26.js} +27 -8
  133. package/dist/safe-bash/command-chunks/{chunk-IJZUUXLL.js → chunk-JQPDVCBU.js} +6 -6
  134. package/dist/safe-bash/command-chunks/{chunk-EBKKYRQJ.js → chunk-JSW6YH6T.js} +7 -7
  135. package/dist/safe-bash/command-chunks/{chunk-YJ5IA5YQ.js → chunk-K576GZED.js} +3 -3
  136. package/dist/safe-bash/command-chunks/{chunk-C2QUG7IP.js → chunk-K6J3KFQ2.js} +17 -122
  137. package/dist/safe-bash/command-chunks/{chunk-5PMLTSQ5.js → chunk-KQE2D7PX.js} +8 -8
  138. package/dist/safe-bash/command-chunks/{chunk-Q65GWGQR.js → chunk-KVTZJBLM.js} +5 -5
  139. package/dist/safe-bash/command-chunks/chunk-L365UGC7.js +250 -0
  140. package/dist/safe-bash/command-chunks/{chunk-5VY5O37W.js → chunk-LBBJ5S3W.js} +1 -1
  141. package/dist/safe-bash/command-chunks/{chunk-WHZ6XK7Y.js → chunk-LBILRPVR.js} +1 -1
  142. package/dist/safe-bash/command-chunks/{chunk-NTXRKJPZ.js → chunk-LDR3PPM3.js} +5 -5
  143. package/dist/safe-bash/command-chunks/{chunk-Y7XL6CWB.js → chunk-LJLB7TBN.js} +19 -15
  144. package/dist/safe-bash/command-chunks/{chunk-3ZGO24WG.js → chunk-LZHFVNEV.js} +17 -107
  145. package/dist/safe-bash/command-chunks/{chunk-KFFV7HBL.js → chunk-M7MQTU77.js} +4 -4
  146. package/dist/safe-bash/command-chunks/chunk-MCUDSE4H.js +77 -0
  147. package/dist/safe-bash/command-chunks/{chunk-JT656DKZ.js → chunk-MD5ZSARP.js} +5 -5
  148. package/dist/safe-bash/command-chunks/chunk-MEST2HID.js +112 -0
  149. package/dist/safe-bash/command-chunks/{chunk-YS5ZKMRJ.js → chunk-MLMFFBOU.js} +2 -2
  150. package/dist/safe-bash/command-chunks/{chunk-NFWLZDMY.js → chunk-MQCLG2CT.js} +1 -1
  151. package/dist/safe-bash/command-chunks/{chunk-4WHTTCKY.js → chunk-N5Y7WWO6.js} +8 -8
  152. package/dist/safe-bash/command-chunks/{chunk-MZYQKH26.js → chunk-NA6YAGAH.js} +3 -3
  153. package/dist/safe-bash/command-chunks/{chunk-BB7HBO56.js → chunk-NDJPULBE.js} +4 -4
  154. package/dist/safe-bash/command-chunks/{chunk-WI5NEHPD.js → chunk-NN6OWOJG.js} +6 -6
  155. package/dist/safe-bash/command-chunks/{chunk-OL75SBZL.js → chunk-NNYOPI7K.js} +8 -8
  156. package/dist/safe-bash/command-chunks/{chunk-ZBXUAM34.js → chunk-NR7POLKP.js} +2 -2
  157. package/dist/safe-bash/command-chunks/{chunk-57SKL76U.js → chunk-NWA7ZJDV.js} +5 -5
  158. package/dist/safe-bash/command-chunks/{chunk-CSS5KXQC.js → chunk-O3FTKLWR.js} +94 -61
  159. package/dist/safe-bash/command-chunks/{chunk-6KJDTKE4.js → chunk-O4H7HPMP.js} +35 -393
  160. package/dist/safe-bash/command-chunks/{chunk-5GP4A3TD.js → chunk-OLNV5MI6.js} +1 -1
  161. package/dist/safe-bash/command-chunks/{chunk-BBEAO5N7.js → chunk-OLXMWQJ5.js} +1 -1
  162. package/dist/safe-bash/command-chunks/{chunk-QWX5IERU.js → chunk-OMD45J52.js} +23 -19
  163. package/dist/safe-bash/command-chunks/{chunk-AXI7VMLG.js → chunk-OOYVZAWL.js} +3 -41
  164. package/dist/safe-bash/command-chunks/{chunk-GNORF6RY.js → chunk-OPKLIF5P.js} +12 -12
  165. package/dist/safe-bash/command-chunks/{chunk-E3DF7RTE.js → chunk-OT75C5YS.js} +2 -2
  166. package/dist/safe-bash/command-chunks/{chunk-X6KO7D6R.js → chunk-OVCSXD7N.js} +6 -6
  167. package/dist/safe-bash/command-chunks/chunk-P3LHQOX7.js +371 -0
  168. package/dist/safe-bash/command-chunks/{chunk-M7DZ7COK.js → chunk-P3TV5GIG.js} +6 -6
  169. package/dist/safe-bash/command-chunks/{chunk-CCNOZKAK.js → chunk-P5UFNPRE.js} +5 -5
  170. package/dist/safe-bash/command-chunks/{chunk-VW67MA53.js → chunk-PAEAEFK3.js} +122 -12
  171. package/dist/safe-bash/command-chunks/{chunk-5RDS6CNQ.js → chunk-PH722HK2.js} +6 -6
  172. package/dist/safe-bash/command-chunks/{chunk-OU4VE5CR.js → chunk-PKH57OIC.js} +8 -6
  173. package/dist/safe-bash/command-chunks/{chunk-GTOMW4VV.js → chunk-PNOXBL2B.js} +1 -1
  174. package/dist/safe-bash/command-chunks/{chunk-L4XSOULP.js → chunk-PPNPXNM6.js} +38 -2
  175. package/dist/safe-bash/command-chunks/{chunk-UH4CQIU3.js → chunk-PVKSBXHB.js} +11 -9
  176. package/dist/safe-bash/command-chunks/{chunk-6LOAJOWK.js → chunk-PYYAX5FB.js} +23 -23
  177. package/dist/safe-bash/command-chunks/{chunk-MOUCMZZP.js → chunk-PZVFNPRC.js} +1 -1
  178. package/dist/safe-bash/command-chunks/{chunk-37KBCKDF.js → chunk-QCCRQU44.js} +10 -10
  179. package/dist/safe-bash/command-chunks/{chunk-C34RLMAC.js → chunk-QEVSG6HQ.js} +4 -4
  180. package/dist/safe-bash/command-chunks/{chunk-YOYK2I4N.js → chunk-QGSY4ZAU.js} +8 -8
  181. package/dist/safe-bash/command-chunks/{chunk-4YFTJS5U.js → chunk-QMXOKYMJ.js} +2 -2
  182. package/dist/safe-bash/command-chunks/{chunk-PFUZPAXQ.js → chunk-QPHI7Y7Z.js} +4 -4
  183. package/dist/safe-bash/command-chunks/{chunk-HNY7LZ5P.js → chunk-QWQHLMDX.js} +7 -7
  184. package/dist/safe-bash/command-chunks/chunk-QX3WKBLI.js +58 -0
  185. package/dist/safe-bash/command-chunks/{chunk-V6OWCRHN.js → chunk-QZPSGPN5.js} +1 -1
  186. package/dist/safe-bash/command-chunks/chunk-R36PDP3L.js +106 -0
  187. package/dist/safe-bash/command-chunks/{chunk-L6X4EEN6.js → chunk-R43WEA4C.js} +9 -9
  188. package/dist/safe-bash/command-chunks/{chunk-JSX5CFZY.js → chunk-R6VXFTYL.js} +44 -44
  189. package/dist/safe-bash/command-chunks/{chunk-OVUY46QF.js → chunk-RC4TNFNF.js} +1 -1
  190. package/dist/safe-bash/command-chunks/{chunk-PU5DMQGG.js → chunk-RESJSUHH.js} +1 -1
  191. package/dist/safe-bash/command-chunks/{chunk-CVMHDJ7J.js → chunk-RHXV2KG5.js} +520 -6
  192. package/dist/safe-bash/command-chunks/{chunk-7B2MHKIW.js → chunk-RKON2TGI.js} +1 -1
  193. package/dist/safe-bash/command-chunks/{chunk-ITXSHOLP.js → chunk-RQTFK7AV.js} +2 -2
  194. package/dist/safe-bash/command-chunks/{chunk-CFMJXJS5.js → chunk-RTUDDAAY.js} +9 -4
  195. package/dist/safe-bash/command-chunks/{chunk-FAU2KL6I.js → chunk-S5MBHFLB.js} +2 -2
  196. package/dist/safe-bash/command-chunks/{chunk-B6T2526I.js → chunk-S6223MIG.js} +1 -1
  197. package/dist/safe-bash/command-chunks/{chunk-N6VNHC3B.js → chunk-SKDJCMGI.js} +10 -8
  198. package/dist/safe-bash/command-chunks/{chunk-3W3HLPCX.js → chunk-SKF6PGA5.js} +10 -10
  199. package/dist/safe-bash/command-chunks/{chunk-2FEMMALH.js → chunk-SLD5A7IL.js} +8 -8
  200. package/dist/safe-bash/command-chunks/{chunk-FVAFISPY.js → chunk-T2LZWXWF.js} +8 -8
  201. package/dist/safe-bash/command-chunks/{chunk-ATHU53C2.js → chunk-TMJG745A.js} +6 -6
  202. package/dist/safe-bash/command-chunks/{chunk-FQ2WRT4Q.js → chunk-TP5MZHCB.js} +6 -6
  203. package/dist/safe-bash/command-chunks/{chunk-EV3DPRWE.js → chunk-TPSRY72Q.js} +2 -2
  204. package/dist/safe-bash/command-chunks/{chunk-73KY3MZ3.js → chunk-TTPT3OME.js} +7 -7
  205. package/dist/safe-bash/command-chunks/{chunk-424NYO35.js → chunk-U6VSRO6E.js} +6 -6
  206. package/dist/safe-bash/command-chunks/{chunk-5VF2EA7Z.js → chunk-U7J3R7HX.js} +6 -1
  207. package/dist/safe-bash/command-chunks/{chunk-A32PUWYE.js → chunk-UDRJKA3P.js} +11 -11
  208. package/dist/safe-bash/command-chunks/{chunk-3B444A5G.js → chunk-UI5AS3FS.js} +10 -2
  209. package/dist/safe-bash/command-chunks/{chunk-YKEMSPJZ.js → chunk-UMOQHHSV.js} +7 -7
  210. package/dist/safe-bash/command-chunks/{chunk-D5XSGHXN.js → chunk-UNI6QG45.js} +5 -5
  211. package/dist/safe-bash/command-chunks/{chunk-77WBFVZQ.js → chunk-UTSN7AKE.js} +6 -6
  212. package/dist/safe-bash/command-chunks/{chunk-F5QYUK2E.js → chunk-UWIDPTOB.js} +2 -2
  213. package/dist/safe-bash/command-chunks/{chunk-F42WV2YO.js → chunk-V2J6AC6S.js} +4 -4
  214. package/dist/safe-bash/command-chunks/{chunk-ZZ27QNBY.js → chunk-V2PJO6JL.js} +29 -60
  215. package/dist/safe-bash/command-chunks/{chunk-EDBNI7WE.js → chunk-VAMBWXDV.js} +60 -9
  216. package/dist/safe-bash/command-chunks/{chunk-KM2SMMXZ.js → chunk-VJQ5OWS5.js} +80 -2
  217. package/dist/safe-bash/command-chunks/{chunk-MI2WY75O.js → chunk-VWBNUCUP.js} +28 -11
  218. package/dist/safe-bash/command-chunks/{chunk-232N24HE.js → chunk-W4BC2YGQ.js} +11 -11
  219. package/dist/safe-bash/command-chunks/{chunk-Y3ZRIZL7.js → chunk-W5LH7D23.js} +26 -13
  220. package/dist/safe-bash/command-chunks/{chunk-K6E56LND.js → chunk-W6L4Z2VX.js} +7 -7
  221. package/dist/safe-bash/command-chunks/{chunk-MURNTGDL.js → chunk-WEXEZRMH.js} +5 -5
  222. package/dist/safe-bash/command-chunks/chunk-WIUEM7HP.js +58 -0
  223. package/dist/safe-bash/command-chunks/{chunk-AQ3XOOPQ.js → chunk-WKS2PAZL.js} +2 -2
  224. package/dist/safe-bash/command-chunks/{chunk-MMSKDYK6.js → chunk-WOECEZAC.js} +336 -74
  225. package/dist/safe-bash/command-chunks/{chunk-5OS4Q3AX.js → chunk-WOO3YO2X.js} +7 -7
  226. package/dist/safe-bash/command-chunks/{chunk-7YDJ7LDO.js → chunk-WOT2YXBT.js} +8 -223
  227. package/dist/safe-bash/command-chunks/{chunk-OVQSILY3.js → chunk-WV3C6BRD.js} +12 -12
  228. package/dist/safe-bash/command-chunks/{chunk-N3MAYM6Y.js → chunk-X3EDCCXU.js} +5 -5
  229. package/dist/safe-bash/command-chunks/{chunk-6PE2L522.js → chunk-XE75H5ZZ.js} +13 -13
  230. package/dist/safe-bash/command-chunks/{chunk-LF7YJ5VQ.js → chunk-XMNPE6RN.js} +5 -5
  231. package/dist/safe-bash/command-chunks/{chunk-DCKAY6HV.js → chunk-XNVL6AOV.js} +14 -14
  232. package/dist/safe-bash/command-chunks/{chunk-MOJQT6RW.js → chunk-XPUYA7YU.js} +6 -6
  233. package/dist/safe-bash/command-chunks/{chunk-HW3IOXT6.js → chunk-XXUMECE4.js} +20 -18
  234. package/dist/safe-bash/command-chunks/{chunk-OAM2SUUI.js → chunk-YB5TNDY6.js} +1 -1
  235. package/dist/safe-bash/command-chunks/{chunk-VEZULAIA.js → chunk-YJMS5Q4Y.js} +12 -12
  236. package/dist/safe-bash/command-chunks/{chunk-KADQKXZE.js → chunk-YJTP4ROI.js} +11 -11
  237. package/dist/safe-bash/command-chunks/{chunk-7ITPO2V6.js → chunk-YNFQ5AXM.js} +80 -45
  238. package/dist/safe-bash/command-chunks/{chunk-7PYDVQPB.js → chunk-YWP62BAZ.js} +2 -2
  239. package/dist/safe-bash/command-chunks/chunk-YXIJOYT6.js +416 -0
  240. package/dist/safe-bash/command-chunks/{chunk-NQL3WNFI.js → chunk-YYRVGXJH.js} +44 -5
  241. package/dist/safe-bash/command-chunks/{chunk-7ZEGARPB.js → chunk-Z7UPCDTU.js} +1 -1
  242. package/dist/safe-bash/command-chunks/{chunk-O2XP6HQN.js → chunk-ZBGP6XEG.js} +1 -1
  243. package/dist/safe-bash/command-chunks/{chunk-VWRHPDCD.js → chunk-ZIDESNHW.js} +3 -3
  244. package/dist/safe-bash/command-chunks/{chunk-D2ZT2UUT.js → chunk-ZLMCWAAU.js} +9 -9
  245. package/dist/safe-bash/command-chunks/{chunk-UE34SQET.js → chunk-ZODGWV3Y.js} +5 -5
  246. package/dist/safe-bash/command-chunks/{chunk-DIRK47GT.js → chunk-ZPBL7TYJ.js} +3 -3
  247. package/dist/safe-bash/command-chunks/{chunk-OA4MEWTN.js → chunk-ZQ4NQ24M.js} +10 -10
  248. package/dist/safe-bash/command-chunks/{chunk-4IDV763L.js → chunk-ZS4J5B6Y.js} +2 -2
  249. package/dist/safe-bash/command-chunks/chunk-ZTW2E5OT.js +1016 -0
  250. package/dist/safe-bash/command-chunks/{chunk-MN7EEK6Y.js → chunk-ZUOID3FA.js} +10 -10
  251. package/dist/safe-bash/command-chunks/chunk-ZWGERYLT.js +192 -0
  252. package/dist/safe-bash/command-chunks/{chunk-F2NF6FHV.js → chunk-ZXIOTUXC.js} +2 -2
  253. package/dist/safe-bash/command-chunks/{chunk-DJB5RB6U.js → chunk-ZZ6EIACJ.js} +21 -68
  254. package/dist/safe-bash/command-chunks/{chunk-XMRQ6UP2.js → chunk-ZZO3GYEZ.js} +1 -11
  255. package/dist/safe-bash/command-chunks/{command-engine-PFYHL7GS.js → command-engine-B6X6WAMX.js} +375 -114
  256. package/dist/safe-bash/command-chunks/{engine-5AVSKFBI-D7Q5VPUN.js → engine-UPLVIV72-IGXUDNO5.js} +1 -1
  257. package/dist/safe-bash/command-chunks/{model-store-IIWQHSEZ.js → model-store-RGLCVIML.js} +9 -9
  258. package/dist/safe-bash/command-chunks/paradox-BHPRIGXX-RQN37FHB.js +370 -0
  259. package/dist/safe-bash/command-chunks/prompt-tool-debug-ERJKK3XZ.js +171 -0
  260. package/dist/safe-bash/commands/alias/index.js +1 -1
  261. package/dist/safe-bash/commands/apply-patch/index.js +1 -1
  262. package/dist/safe-bash/commands/archive/create.js +1 -1
  263. package/dist/safe-bash/commands/archive/extract.js +1 -1
  264. package/dist/safe-bash/commands/archive/format.js +1 -1
  265. package/dist/safe-bash/commands/archive/index.js +1 -1
  266. package/dist/safe-bash/commands/archive/internal.js +1 -1
  267. package/dist/safe-bash/commands/archive/listing.js +1 -1
  268. package/dist/safe-bash/commands/archive/modes.js +1 -1
  269. package/dist/safe-bash/commands/archive/options.js +1 -1
  270. package/dist/safe-bash/commands/archive/stream.js +1 -1
  271. package/dist/safe-bash/commands/archive/transform.js +1 -1
  272. package/dist/safe-bash/commands/archive/unzip/safety.js +1 -1
  273. package/dist/safe-bash/commands/archive/unzip.js +1 -1
  274. package/dist/safe-bash/commands/archive/zip/aes.js +1 -1
  275. package/dist/safe-bash/commands/archive/zip/comments.js +1 -1
  276. package/dist/safe-bash/commands/archive/zip/crc.js +1 -1
  277. package/dist/safe-bash/commands/archive/zip/crypto.js +1 -1
  278. package/dist/safe-bash/commands/archive/zip/dates.js +1 -1
  279. package/dist/safe-bash/commands/archive/zip/environment.js +1 -1
  280. package/dist/safe-bash/commands/archive/zip/grow.js +1 -1
  281. package/dist/safe-bash/commands/archive/zip/help.js +1 -1
  282. package/dist/safe-bash/commands/archive/zip/line-endings.js +1 -1
  283. package/dist/safe-bash/commands/archive/zip/log.js +1 -1
  284. package/dist/safe-bash/commands/archive/zip/lzma.js +1 -1
  285. package/dist/safe-bash/commands/archive/zip/move.js +1 -1
  286. package/dist/safe-bash/commands/archive/zip/names.js +1 -1
  287. package/dist/safe-bash/commands/archive/zip/options.js +1 -1
  288. package/dist/safe-bash/commands/archive/zip/repair.js +1 -1
  289. package/dist/safe-bash/commands/archive/zip/safety.js +1 -1
  290. package/dist/safe-bash/commands/archive/zip/sfx.js +1 -1
  291. package/dist/safe-bash/commands/archive/zip/test-command.js +1 -1
  292. package/dist/safe-bash/commands/archive/zip/volumes.js +1 -1
  293. package/dist/safe-bash/commands/archive/zip/zip64.js +1 -1
  294. package/dist/safe-bash/commands/archive/zip-format.js +1 -1
  295. package/dist/safe-bash/commands/archive/zip.js +1 -1
  296. package/dist/safe-bash/commands/ast-grep/index.js +1 -1
  297. package/dist/safe-bash/commands/audio/index.browser.js +2 -8
  298. package/dist/safe-bash/commands/audio/index.js +1 -1
  299. package/dist/safe-bash/commands/awk/index.js +1 -1
  300. package/dist/safe-bash/commands/base32/index.js +1 -1
  301. package/dist/safe-bash/commands/base64/index.js +1 -1
  302. package/dist/safe-bash/commands/bc/index.browser.js +1 -1
  303. package/dist/safe-bash/commands/bc/index.js +1 -1
  304. package/dist/safe-bash/commands/bytes/checksums/sm3.js +1 -1
  305. package/dist/safe-bash/commands/bytes/compression/bounded-codec.js +1 -1
  306. package/dist/safe-bash/commands/bytes/compression/codec-loader.js +1 -1
  307. package/dist/safe-bash/commands/bytes/compression/codec.js +1 -1
  308. package/dist/safe-bash/commands/bytes/compression/errors.js +1 -1
  309. package/dist/safe-bash/commands/bytes/compression/file-operation.js +1 -1
  310. package/dist/safe-bash/commands/bytes/compression/files.js +1 -1
  311. package/dist/safe-bash/commands/bytes/compression/gunzip.js +1 -1
  312. package/dist/safe-bash/commands/bytes/compression/stream.js +1 -1
  313. package/dist/safe-bash/commands/bytes/compression/xz-list.js +1 -1
  314. package/dist/safe-bash/commands/bytes/compression/zstd-decode.js +1 -1
  315. package/dist/safe-bash/commands/bytes/encoding/base.js +1 -1
  316. package/dist/safe-bash/commands/bytes/encoding/shared.js +1 -1
  317. package/dist/safe-bash/commands/bytes/input-budget.js +1 -1
  318. package/dist/safe-bash/commands/bzip2/index.js +1 -1
  319. package/dist/safe-bash/commands/cal/index.js +1 -1
  320. package/dist/safe-bash/commands/caller/index.js +1 -1
  321. package/dist/safe-bash/commands/canonicalize-existing-parent.js +1 -1
  322. package/dist/safe-bash/commands/chmod/index.js +1 -1
  323. package/dist/safe-bash/commands/column/index.js +1 -1
  324. package/dist/safe-bash/commands/comm/index.js +1 -1
  325. package/dist/safe-bash/commands/copy-backup.js +1 -1
  326. package/dist/safe-bash/commands/copy-preserve.js +1 -1
  327. package/dist/safe-bash/commands/copy-source.js +1 -1
  328. package/dist/safe-bash/commands/cp/index.js +1 -1
  329. package/dist/safe-bash/commands/csplit/index.js +1 -1
  330. package/dist/safe-bash/commands/csvcut/index.js +1 -1
  331. package/dist/safe-bash/commands/csvgrep/index.js +1 -1
  332. package/dist/safe-bash/commands/csvkit/index.js +1 -1
  333. package/dist/safe-bash/commands/curl/index.js +1 -1
  334. package/dist/safe-bash/commands/date/index.js +1 -1
  335. package/dist/safe-bash/commands/df/index.js +1 -1
  336. package/dist/safe-bash/commands/diff/index.js +1 -1
  337. package/dist/safe-bash/commands/diff-patch/diff-format.js +1 -1
  338. package/dist/safe-bash/commands/diff-patch/diff-options.js +1 -1
  339. package/dist/safe-bash/commands/diff-patch/diff-output.js +1 -1
  340. package/dist/safe-bash/commands/diff-patch/diff.js +1 -1
  341. package/dist/safe-bash/commands/diff-patch/index.js +2 -2
  342. package/dist/safe-bash/commands/diff-patch/patch-envelope.js +1 -1
  343. package/dist/safe-bash/commands/diff-patch/patch-formats.js +1 -1
  344. package/dist/safe-bash/commands/diff-patch/patch-gnu-paths.js +1 -1
  345. package/dist/safe-bash/commands/diff-patch/patch-gnu-reject.js +1 -1
  346. package/dist/safe-bash/commands/diff-patch/patch-path.js +1 -1
  347. package/dist/safe-bash/commands/diff-patch/patch-publication.js +1 -1
  348. package/dist/safe-bash/commands/diff-patch/patch.js +1 -1
  349. package/dist/safe-bash/commands/diff-patch/shared.js +1 -1
  350. package/dist/safe-bash/commands/diff-patch/unified.js +1 -1
  351. package/dist/safe-bash/commands/diff3/index.js +1 -1
  352. package/dist/safe-bash/commands/diffpdf/index.js +1 -1
  353. package/dist/safe-bash/commands/directory-admission.js +1 -1
  354. package/dist/safe-bash/commands/docx/index.js +1 -1
  355. package/dist/safe-bash/commands/docx/io.js +1 -1
  356. package/dist/safe-bash/commands/dos2unix/index.js +1 -1
  357. package/dist/safe-bash/commands/dot/index.js +1 -1
  358. package/dist/safe-bash/commands/du/index.js +1 -1
  359. package/dist/safe-bash/commands/egrep/index.js +1 -1
  360. package/dist/safe-bash/commands/env/index.js +1 -1
  361. package/dist/safe-bash/commands/env-split.js +1 -1
  362. package/dist/safe-bash/commands/exiftool/index.js +1 -1
  363. package/dist/safe-bash/commands/expand/index.js +1 -1
  364. package/dist/safe-bash/commands/expr/index.js +1 -1
  365. package/dist/safe-bash/commands/factor/index.js +1 -1
  366. package/dist/safe-bash/commands/fd/index.js +1 -1
  367. package/dist/safe-bash/commands/ffmpeg/index.js +1 -1
  368. package/dist/safe-bash/commands/ffprobe/index.js +1 -1
  369. package/dist/safe-bash/commands/fgrep/index.js +1 -1
  370. package/dist/safe-bash/commands/file/index.js +1 -1
  371. package/dist/safe-bash/commands/filesystem-requirements.js +1 -1
  372. package/dist/safe-bash/commands/find/index.js +1 -1
  373. package/dist/safe-bash/commands/find-format.js +1 -1
  374. package/dist/safe-bash/commands/find.js +1 -1
  375. package/dist/safe-bash/commands/fmt/index.js +1 -1
  376. package/dist/safe-bash/commands/fold/index.js +1 -1
  377. package/dist/safe-bash/commands/getconf/index.js +1 -1
  378. package/dist/safe-bash/commands/getopt/index.js +1 -1
  379. package/dist/safe-bash/commands/gnu-information.js +1 -1
  380. package/dist/safe-bash/commands/gpg/index.js +1 -1
  381. package/dist/safe-bash/commands/graphviz/index.js +3 -3
  382. package/dist/safe-bash/commands/grep/index.js +1 -1
  383. package/dist/safe-bash/commands/grep-aliases/aliases.js +1 -1
  384. package/dist/safe-bash/commands/grep.js +1 -1
  385. package/dist/safe-bash/commands/gzip/index.js +1 -1
  386. package/dist/safe-bash/commands/hexdump/index.js +1 -1
  387. package/dist/safe-bash/commands/hostname/index.js +1 -1
  388. package/dist/safe-bash/commands/html-to-markdown/index.js +1 -1
  389. package/dist/safe-bash/commands/htmlq/index.js +1 -1
  390. package/dist/safe-bash/commands/iconv/index.js +1 -1
  391. package/dist/safe-bash/commands/id/index.js +1 -1
  392. package/dist/safe-bash/commands/imagemagick/index.js +1 -1
  393. package/dist/safe-bash/commands/internal.js +1 -1
  394. package/dist/safe-bash/commands/join/index.js +1 -1
  395. package/dist/safe-bash/commands/jq/index.js +1 -1
  396. package/dist/safe-bash/commands/less/index.js +1 -1
  397. package/dist/safe-bash/commands/line-endings/index.js +1 -1
  398. package/dist/safe-bash/commands/llm/collections.js +1 -1
  399. package/dist/safe-bash/commands/llm/command.js +1 -1
  400. package/dist/safe-bash/commands/llm/elevenlabs-stream.js +1 -1
  401. package/dist/safe-bash/commands/llm/elevenlabs.js +1 -1
  402. package/dist/safe-bash/commands/llm/index.browser.js +21 -1
  403. package/dist/safe-bash/commands/llm/index.js +1 -1
  404. package/dist/safe-bash/commands/llm/mime.js +1 -1
  405. package/dist/safe-bash/commands/llm/openai-http.js +1 -1
  406. package/dist/safe-bash/commands/llm/openai-sse.js +1 -1
  407. package/dist/safe-bash/commands/llm/openai.js +1 -1
  408. package/dist/safe-bash/commands/llm/providers/elevenlabs.js +1 -1
  409. package/dist/safe-bash/commands/llm/providers/index.js +1 -1
  410. package/dist/safe-bash/commands/llm/providers/openai.js +1 -1
  411. package/dist/safe-bash/commands/llm/providers/shared.js +1 -1
  412. package/dist/safe-bash/commands/llm/service.js +1 -1
  413. package/dist/safe-bash/commands/locale/index.js +1 -1
  414. package/dist/safe-bash/commands/md5sum/index.js +1 -1
  415. package/dist/safe-bash/commands/mdq/index.js +1 -1
  416. package/dist/safe-bash/commands/media/index.js +1 -1
  417. package/dist/safe-bash/commands/media/plugin.js +1 -1
  418. package/dist/safe-bash/commands/media/remote.js +1 -1
  419. package/dist/safe-bash/commands/media/settings.js +1 -1
  420. package/dist/safe-bash/commands/metadata/chmod.js +1 -1
  421. package/dist/safe-bash/commands/metadata/internal.js +1 -1
  422. package/dist/safe-bash/commands/metadata/mktemp.js +1 -1
  423. package/dist/safe-bash/commands/metadata/stat.js +1 -1
  424. package/dist/safe-bash/commands/mktemp/index.js +1 -1
  425. package/dist/safe-bash/commands/mmdc/index.js +1 -1
  426. package/dist/safe-bash/commands/more/index.js +1 -1
  427. package/dist/safe-bash/commands/neato/index.js +1 -1
  428. package/dist/safe-bash/commands/network/aggregate.js +1 -1
  429. package/dist/safe-bash/commands/network/args.js +1 -1
  430. package/dist/safe-bash/commands/network/authorizer.js +1 -1
  431. package/dist/safe-bash/commands/network/body.js +1 -1
  432. package/dist/safe-bash/commands/network/curl.js +1 -1
  433. package/dist/safe-bash/commands/network/deadline.js +1 -1
  434. package/dist/safe-bash/commands/network/decode.js +1 -1
  435. package/dist/safe-bash/commands/network/fetch-transport.js +1 -1
  436. package/dist/safe-bash/commands/network/form-content-type.js +1 -1
  437. package/dist/safe-bash/commands/network/form-headers.js +1 -1
  438. package/dist/safe-bash/commands/network/glob.js +1 -1
  439. package/dist/safe-bash/commands/network/input.js +1 -1
  440. package/dist/safe-bash/commands/network/output.js +1 -1
  441. package/dist/safe-bash/commands/network/platform-portable.js +1 -1
  442. package/dist/safe-bash/commands/network/platform.js +1 -1
  443. package/dist/safe-bash/commands/network/private-address.js +1 -1
  444. package/dist/safe-bash/commands/network/shared.js +1 -1
  445. package/dist/safe-bash/commands/network/types.js +1 -1
  446. package/dist/safe-bash/commands/network/url.js +1 -1
  447. package/dist/safe-bash/commands/network/wget.js +1 -1
  448. package/dist/safe-bash/commands/nl/index.js +1 -1
  449. package/dist/safe-bash/commands/node/browser.js +1 -1
  450. package/dist/safe-bash/commands/node/buffer.js +1 -1
  451. package/dist/safe-bash/commands/node/default-runtime.js +1 -1
  452. package/dist/safe-bash/commands/node/filesystem.js +1 -1
  453. package/dist/safe-bash/commands/node/path.js +1 -1
  454. package/dist/safe-bash/commands/node/safejs.js +1 -1
  455. package/dist/safe-bash/commands/node/source-maps.js +1 -1
  456. package/dist/safe-bash/commands/node/timers.js +1 -1
  457. package/dist/safe-bash/commands/node/types.js +1 -1
  458. package/dist/safe-bash/commands/node/worker-types.js +1 -1
  459. package/dist/safe-bash/commands/nproc/index.js +1 -1
  460. package/dist/safe-bash/commands/numfmt/index.js +1 -1
  461. package/dist/safe-bash/commands/od/index.js +1 -1
  462. package/dist/safe-bash/commands/op/index.js +23 -1
  463. package/dist/safe-bash/commands/openssl/index.js +1 -1
  464. package/dist/safe-bash/commands/pandoc/index.browser.js +1 -1
  465. package/dist/safe-bash/commands/pandoc/index.js +1 -1
  466. package/dist/safe-bash/commands/paste/index.js +1 -1
  467. package/dist/safe-bash/commands/patch/index.js +1 -1
  468. package/dist/safe-bash/commands/pathchk/index.js +1 -1
  469. package/dist/safe-bash/commands/pdfimages/index.js +1 -1
  470. package/dist/safe-bash/commands/pdfinfo/index.js +1 -1
  471. package/dist/safe-bash/commands/pdfseparate/index.js +1 -1
  472. package/dist/safe-bash/commands/pdftk/index.js +1 -1
  473. package/dist/safe-bash/commands/pdftoppm/index.js +1 -1
  474. package/dist/safe-bash/commands/pdftotext/index.js +1 -1
  475. package/dist/safe-bash/commands/pdfunite/index.js +1 -1
  476. package/dist/safe-bash/commands/playwright/index.js +1 -1
  477. package/dist/safe-bash/commands/portable-random.js +1 -1
  478. package/dist/safe-bash/commands/portable-requirements.js +1 -1
  479. package/dist/safe-bash/commands/pptx/index.js +1 -1
  480. package/dist/safe-bash/commands/pr/index.js +1 -1
  481. package/dist/safe-bash/commands/printenv/index.js +1 -1
  482. package/dist/safe-bash/commands/python/executor-pool.js +1 -1
  483. package/dist/safe-bash/commands/python/executor.browser.js +2 -1
  484. package/dist/safe-bash/commands/python/executor.js +1 -1
  485. package/dist/safe-bash/commands/python/host-capabilities.js +1 -1
  486. package/dist/safe-bash/commands/python/index.browser.js +3 -1
  487. package/dist/safe-bash/commands/python/index.js +1 -1
  488. package/dist/safe-bash/commands/python/jspi-assets.js +1 -1
  489. package/dist/safe-bash/commands/python/jspi-trampoline.js +1 -1
  490. package/dist/safe-bash/commands/python/jspi.js +1 -1
  491. package/dist/safe-bash/commands/python/llm-capability.js +1 -1
  492. package/dist/safe-bash/commands/python/llm-dependencies.js +1 -1
  493. package/dist/safe-bash/commands/python/llm-module.js +1 -1
  494. package/dist/safe-bash/commands/python/llm-provider.js +1 -1
  495. package/dist/safe-bash/commands/python/llm-reference-module.js +1 -1
  496. package/dist/safe-bash/commands/python/provisioning.js +1 -1
  497. package/dist/safe-bash/commands/python/shell-capability.js +1 -1
  498. package/dist/safe-bash/commands/python/shell-module.js +1 -1
  499. package/dist/safe-bash/commands/python/worker.js +1 -1
  500. package/dist/safe-bash/commands/qpdf/index.js +1 -1
  501. package/dist/safe-bash/commands/qrencode/index.js +1 -1
  502. package/dist/safe-bash/commands/readlink/index.js +1 -1
  503. package/dist/safe-bash/commands/readlink-missing.js +1 -1
  504. package/dist/safe-bash/commands/realpath/index.js +1 -1
  505. package/dist/safe-bash/commands/record-buffer.js +1 -1
  506. package/dist/safe-bash/commands/regex-execution/ascii.js +1 -1
  507. package/dist/safe-bash/commands/regex-execution/bounded-glob.js +1 -1
  508. package/dist/safe-bash/commands/regex-execution/bounded-provider.js +1 -1
  509. package/dist/safe-bash/commands/regex-execution/ere/errors.js +1 -1
  510. package/dist/safe-bash/commands/regex-execution/ere/limits.js +1 -1
  511. package/dist/safe-bash/commands/regex-execution/ere/matcher.js +1 -1
  512. package/dist/safe-bash/commands/regex-execution/ere/syntax.js +1 -1
  513. package/dist/safe-bash/commands/regex-execution/portable.js +1 -1
  514. package/dist/safe-bash/commands/regex-execution/protocol.js +1 -1
  515. package/dist/safe-bash/commands/regex-execution/utf8.js +1 -1
  516. package/dist/safe-bash/commands/rev/index.js +1 -1
  517. package/dist/safe-bash/commands/rg/index.js +1 -1
  518. package/dist/safe-bash/commands/rgrep/index.js +1 -1
  519. package/dist/safe-bash/commands/rsvg-convert/index.js +1 -1
  520. package/dist/safe-bash/commands/safejs/io.js +1 -1
  521. package/dist/safe-bash/commands/safejs/options.js +1 -1
  522. package/dist/safe-bash/commands/safejs/render.js +1 -1
  523. package/dist/safe-bash/commands/safejs/runtime.js +1 -1
  524. package/dist/safe-bash/commands/safejs/types.js +1 -1
  525. package/dist/safe-bash/commands/search/ergonomic-regex.js +1 -1
  526. package/dist/safe-bash/commands/search/file-types.js +1 -1
  527. package/dist/safe-bash/commands/search/glob.js +1 -1
  528. package/dist/safe-bash/commands/search/grep-files.js +1 -1
  529. package/dist/safe-bash/commands/search/grep.js +1 -1
  530. package/dist/safe-bash/commands/search/matcher.js +1 -1
  531. package/dist/safe-bash/commands/search/options.js +1 -1
  532. package/dist/safe-bash/commands/search/output.js +1 -1
  533. package/dist/safe-bash/commands/search/requirements.js +1 -1
  534. package/dist/safe-bash/commands/search/rg-command.js +1 -1
  535. package/dist/safe-bash/commands/search/shared.js +1 -1
  536. package/dist/safe-bash/commands/search/walk.js +1 -1
  537. package/dist/safe-bash/commands/sed/index.js +1 -1
  538. package/dist/safe-bash/commands/seq/index.js +1 -1
  539. package/dist/safe-bash/commands/sha1sum/index.js +1 -1
  540. package/dist/safe-bash/commands/sha256sum/index.js +1 -1
  541. package/dist/safe-bash/commands/sha512sum/index.js +1 -1
  542. package/dist/safe-bash/commands/sips/index.js +1 -1
  543. package/dist/safe-bash/commands/sleep/index.js +1 -1
  544. package/dist/safe-bash/commands/soffice/index.js +1 -1
  545. package/dist/safe-bash/commands/sort/index.js +1 -1
  546. package/dist/safe-bash/commands/sort-admission.js +1 -1
  547. package/dist/safe-bash/commands/sox/index.js +1 -1
  548. package/dist/safe-bash/commands/soxi/index.js +1 -1
  549. package/dist/safe-bash/commands/split/index.js +1 -1
  550. package/dist/safe-bash/commands/sponge/index.js +1 -1
  551. package/dist/safe-bash/commands/sqlite3/index.js +1 -1
  552. package/dist/safe-bash/commands/ssh/index.js +1 -1
  553. package/dist/safe-bash/commands/stat/index.js +1 -1
  554. package/dist/safe-bash/commands/stream-format/shared.js +1 -1
  555. package/dist/safe-bash/commands/stream-inspection/numeric-options.js +1 -1
  556. package/dist/safe-bash/commands/stream-inspection/shared.js +1 -1
  557. package/dist/safe-bash/commands/stream-inspection/strings-object.js +1 -1
  558. package/dist/safe-bash/commands/strings/index.js +1 -1
  559. package/dist/safe-bash/commands/structured/bytes.js +1 -1
  560. package/dist/safe-bash/commands/structured/capture.js +1 -1
  561. package/dist/safe-bash/commands/structured/dates.js +1 -1
  562. package/dist/safe-bash/commands/structured/delpaths.js +1 -1
  563. package/dist/safe-bash/commands/structured/formats.js +1 -1
  564. package/dist/safe-bash/commands/structured/indices.js +1 -1
  565. package/dist/safe-bash/commands/structured/input.js +1 -1
  566. package/dist/safe-bash/commands/structured/interpreter.js +1 -1
  567. package/dist/safe-bash/commands/structured/jq.js +1 -1
  568. package/dist/safe-bash/commands/structured/limits.js +1 -1
  569. package/dist/safe-bash/commands/structured/numbers.js +1 -1
  570. package/dist/safe-bash/commands/structured/parser.js +1 -1
  571. package/dist/safe-bash/commands/structured/query-core.js +1 -1
  572. package/dist/safe-bash/commands/structured/recurse.js +1 -1
  573. package/dist/safe-bash/commands/structured/regex.js +1 -1
  574. package/dist/safe-bash/commands/structured/split.js +1 -1
  575. package/dist/safe-bash/commands/structured/splits.js +1 -1
  576. package/dist/safe-bash/commands/structured/values.js +1 -1
  577. package/dist/safe-bash/commands/svgo/index.js +1 -1
  578. package/dist/safe-bash/commands/table-text/internal.js +1 -1
  579. package/dist/safe-bash/commands/tac/index.js +1 -1
  580. package/dist/safe-bash/commands/tar/index.js +1 -1
  581. package/dist/safe-bash/commands/text-programs/awk-inspection.js +1 -1
  582. package/dist/safe-bash/commands/text-programs/awk-pipes.js +1 -1
  583. package/dist/safe-bash/commands/text-programs/awk-pretty.js +1 -1
  584. package/dist/safe-bash/commands/text-programs/awk-quote.js +1 -1
  585. package/dist/safe-bash/commands/text-programs/awk-reader.js +1 -1
  586. package/dist/safe-bash/commands/text-programs/awk-retention.js +1 -1
  587. package/dist/safe-bash/commands/text-programs/awk-runtime.js +1 -1
  588. package/dist/safe-bash/commands/text-programs/awk-syntax.js +1 -1
  589. package/dist/safe-bash/commands/text-programs/awk-values.js +1 -1
  590. package/dist/safe-bash/commands/text-programs/awk.js +1 -1
  591. package/dist/safe-bash/commands/text-programs/inplace.js +1 -1
  592. package/dist/safe-bash/commands/text-programs/regex.js +1 -1
  593. package/dist/safe-bash/commands/text-programs/replacement-buffer.js +1 -1
  594. package/dist/safe-bash/commands/text-programs/sed.js +1 -1
  595. package/dist/safe-bash/commands/text-programs/shared.js +1 -1
  596. package/dist/safe-bash/commands/time-env/calendar.js +1 -1
  597. package/dist/safe-bash/commands/time-env/format.js +1 -1
  598. package/dist/safe-bash/commands/time-env/shared.js +1 -1
  599. package/dist/safe-bash/commands/timeout/index.js +1 -1
  600. package/dist/safe-bash/commands/touch/index.js +1 -1
  601. package/dist/safe-bash/commands/touch-target.js +1 -1
  602. package/dist/safe-bash/commands/touch-times.js +1 -1
  603. package/dist/safe-bash/commands/tree/index.js +1 -1
  604. package/dist/safe-bash/commands/tsort/index.js +1 -1
  605. package/dist/safe-bash/commands/unalias/index.js +1 -1
  606. package/dist/safe-bash/commands/uname/index.js +1 -1
  607. package/dist/safe-bash/commands/unexpand/index.js +1 -1
  608. package/dist/safe-bash/commands/unix2dos/index.js +1 -1
  609. package/dist/safe-bash/commands/unrtf/index.js +1 -1
  610. package/dist/safe-bash/commands/unzip/index.js +1 -1
  611. package/dist/safe-bash/commands/wdiff/index.js +1 -1
  612. package/dist/safe-bash/commands/wget/index.js +1 -1
  613. package/dist/safe-bash/commands/which/index.js +1 -1
  614. package/dist/safe-bash/commands/whoami/index.js +1 -1
  615. package/dist/safe-bash/commands/wkhtmltopdf/index.js +1 -1
  616. package/dist/safe-bash/commands/xan/index.js +1 -1
  617. package/dist/safe-bash/commands/xml/index.js +1 -1
  618. package/dist/safe-bash/commands/xmllint/index.js +1 -1
  619. package/dist/safe-bash/commands/xq/index.js +1 -1
  620. package/dist/safe-bash/commands/xxd/index.js +1 -1
  621. package/dist/safe-bash/commands/xz/index.js +1 -1
  622. package/dist/safe-bash/commands/yq/index.js +1 -1
  623. package/dist/safe-bash/commands/zip/index.js +1 -1
  624. package/dist/safe-bash/commands/zstd/index.js +1 -1
  625. package/dist/safe-bash/core.browser.js +2 -2
  626. package/dist/safe-bash/full-core.browser.js +29 -7
  627. package/dist/safe-bash/integrations/safejs/filesystem.js +1 -1
  628. package/dist/safe-bash/integrations/safejs/shell.js +1 -1
  629. package/dist/safe-bash/integrations/safejs/values.js +1 -1
  630. package/dist/safe-bash/playwright/abilities.js +1 -1
  631. package/dist/safe-bash/playwright/ability-execution.js +1 -1
  632. package/dist/safe-bash/playwright/adapter.js +1 -1
  633. package/dist/safe-bash/playwright/builtins.js +1 -1
  634. package/dist/safe-bash/playwright/canonical-locator-parser.js +1 -1
  635. package/dist/safe-bash/playwright/capability-events.js +1 -1
  636. package/dist/safe-bash/playwright/capability-result.js +1 -1
  637. package/dist/safe-bash/playwright/catalog.js +1 -1
  638. package/dist/safe-bash/playwright/checkpoint.js +1 -1
  639. package/dist/safe-bash/playwright/command-budget.js +1 -1
  640. package/dist/safe-bash/playwright/command-reference.js +1 -1
  641. package/dist/safe-bash/playwright/config-ini.js +1 -1
  642. package/dist/safe-bash/playwright/config-json.js +1 -1
  643. package/dist/safe-bash/playwright/controller.js +1 -1
  644. package/dist/safe-bash/playwright/devices.js +1 -1
  645. package/dist/safe-bash/playwright/download-capabilities.js +1 -1
  646. package/dist/safe-bash/playwright/drop-capability.js +1 -1
  647. package/dist/safe-bash/playwright/find.js +1 -1
  648. package/dist/safe-bash/playwright/frame-snapshot.js +1 -1
  649. package/dist/safe-bash/playwright/generated-locator.js +1 -1
  650. package/dist/safe-bash/playwright/help-reference.js +1 -1
  651. package/dist/safe-bash/playwright/help.js +1 -1
  652. package/dist/safe-bash/playwright/highlight.js +1 -1
  653. package/dist/safe-bash/playwright/index.js +1 -1
  654. package/dist/safe-bash/playwright/invocation.js +1 -1
  655. package/dist/safe-bash/playwright/locator-selector.js +1 -1
  656. package/dist/safe-bash/playwright/modal-capabilities.js +1 -1
  657. package/dist/safe-bash/playwright/native-evaluation.js +1 -1
  658. package/dist/safe-bash/playwright/native-json-snapshot.js +1 -1
  659. package/dist/safe-bash/playwright/native-snapshot.js +1 -1
  660. package/dist/safe-bash/playwright/native-storage-realm.js +1 -1
  661. package/dist/safe-bash/playwright/native-storage-replacement.js +1 -1
  662. package/dist/safe-bash/playwright/native-storage-sources.generated.js +1 -1
  663. package/dist/safe-bash/playwright/native-storage-targets.js +1 -1
  664. package/dist/safe-bash/playwright/network-policy.js +1 -1
  665. package/dist/safe-bash/playwright/open-options.js +1 -1
  666. package/dist/safe-bash/playwright/private-target-transport.js +1 -1
  667. package/dist/safe-bash/playwright/profile.js +1 -1
  668. package/dist/safe-bash/playwright/recording-capabilities.js +1 -1
  669. package/dist/safe-bash/playwright/recovery.js +1 -1
  670. package/dist/safe-bash/playwright/resource-limit.js +1 -1
  671. package/dist/safe-bash/playwright/response.js +1 -1
  672. package/dist/safe-bash/playwright/route-capabilities.js +1 -1
  673. package/dist/safe-bash/playwright/route-policy.js +1 -1
  674. package/dist/safe-bash/playwright/screenshot.js +1 -1
  675. package/dist/safe-bash/playwright/session-configuration.js +1 -1
  676. package/dist/safe-bash/playwright/session-runtime.js +1 -1
  677. package/dist/safe-bash/playwright/session-selection.js +1 -1
  678. package/dist/safe-bash/playwright/snapshot-reference-error.js +1 -1
  679. package/dist/safe-bash/playwright/snapshot.js +1 -1
  680. package/dist/safe-bash/playwright/standard-capabilities.js +1 -1
  681. package/dist/safe-bash/playwright/storage-capabilities.js +1 -1
  682. package/dist/safe-bash/playwright/storage-state.js +1 -1
  683. package/dist/safe-bash/playwright/target-screenshot.js +1 -1
  684. package/dist/safe-bash/playwright/targets.js +1 -1
  685. package/dist/safe-bash/playwright/tracing-capabilities.js +1 -1
  686. package/dist/safe-bash/playwright/webmcp-capabilities.js +1 -1
  687. package/dist/safe-bash/playwright/webmcp-params.js +1 -1
  688. package/dist/safe-bash/playwright/workspace-assets.js +1 -1
  689. package/dist/safe-bash/playwright/workspace.js +1 -1
  690. package/dist/safe-bash/plugins/index.browser.js +4 -4
  691. package/dist/safe-bash/registry-entry.browser.js +2 -2
  692. package/dist/safe-bash/search.browser.js +1 -1
  693. package/dist/safe-bash/shell/parser.js +2 -1
  694. package/dist/safe-bash/shell/pattern.js +1 -1
  695. package/dist/safe-bash/shell/string-operations.js +1 -1
  696. package/dist/safe-bash/shell-entry.browser.js +2 -2
  697. package/dist/safe-bash/ts-ast.js +1 -1
  698. package/dist/safe-bash-checksum-engine/index.js +1 -1
  699. package/dist/safe-bash-command-audio/index.js +2 -2
  700. package/dist/safe-bash-command-awk/awk-runtime.js +2 -2
  701. package/dist/safe-bash-command-awk/awk-syntax.js +1 -1
  702. package/dist/safe-bash-command-awk/awk.js +4 -4
  703. package/dist/safe-bash-command-awk/index.js +4 -4
  704. package/dist/safe-bash-command-bc/index.js +13 -14
  705. package/dist/safe-bash-command-cal/index.js +25 -31
  706. package/dist/safe-bash-command-cp/index.js +3 -3
  707. package/dist/safe-bash-command-csvgrep/command.d.ts +1 -0
  708. package/dist/safe-bash-command-csvgrep/index.js +7 -0
  709. package/dist/safe-bash-command-docx/sdk.js +1 -1
  710. package/dist/safe-bash-command-expr/bre-engine.js +1 -1
  711. package/dist/safe-bash-command-factor/command.js +2 -2
  712. package/dist/safe-bash-command-factor/index.js +2 -2
  713. package/dist/safe-bash-command-fd/index.js +4 -3
  714. package/dist/safe-bash-command-ffmpeg/index.js +13 -2
  715. package/dist/safe-bash-command-ffprobe/index.js +2 -2
  716. package/dist/safe-bash-command-ffprobe/media.js +2 -2
  717. package/dist/safe-bash-command-getconf/index.js +11 -4
  718. package/dist/safe-bash-command-git/git_rust.wasm +0 -0
  719. package/dist/safe-bash-command-git/index.js +96 -14
  720. package/dist/safe-bash-command-html-to-markdown/index.js +1 -1
  721. package/dist/safe-bash-command-html-to-markdown/stored-text.d.ts +2 -0
  722. package/dist/safe-bash-command-html-to-markdown/stored-text.js +1 -1
  723. package/dist/safe-bash-command-imagemagick/index.js +18 -4
  724. package/dist/safe-bash-command-jq/index.js +1 -1
  725. package/dist/safe-bash-command-jq/jq.js +1 -1
  726. package/dist/safe-bash-command-llm/collections.js +48 -192
  727. package/dist/safe-bash-command-llm/command.js +14 -6
  728. package/dist/safe-bash-command-llm/elevenlabs.js +2 -2
  729. package/dist/safe-bash-command-llm/fragment-loaders.d.ts +29 -0
  730. package/dist/safe-bash-command-llm/fragments.d.ts +24 -0
  731. package/dist/safe-bash-command-llm/import-json-document.d.ts +5 -2
  732. package/dist/safe-bash-command-llm/index.d.ts +7 -0
  733. package/dist/safe-bash-command-llm/index.js +47 -17
  734. package/dist/safe-bash-command-llm/input-budget.d.ts +2 -0
  735. package/dist/safe-bash-command-llm/openai-sse.d.ts +1 -1
  736. package/dist/safe-bash-command-llm/openai-sse.js +4 -1
  737. package/dist/safe-bash-command-llm/openai.js +11 -7
  738. package/dist/safe-bash-command-llm/providers/elevenlabs.js +2 -2
  739. package/dist/safe-bash-command-llm/providers/index.js +16 -10
  740. package/dist/safe-bash-command-llm/providers/openai.js +11 -7
  741. package/dist/safe-bash-command-llm/providers/shared.d.ts +2 -0
  742. package/dist/safe-bash-command-llm/providers/shared.js +1 -1
  743. package/dist/safe-bash-command-llm/retained-spool.d.ts +4 -0
  744. package/dist/safe-bash-command-llm/service.d.ts +3 -1
  745. package/dist/safe-bash-command-llm/service.js +5 -2
  746. package/dist/safe-bash-command-llm/tool-chain.d.ts +22 -0
  747. package/dist/safe-bash-command-llm/tool-execution.d.ts +55 -0
  748. package/dist/safe-bash-command-llm/tool-registry.d.ts +43 -0
  749. package/dist/safe-bash-command-llm/types.d.ts +39 -11
  750. package/dist/safe-bash-command-llm/url-fragment-source.d.ts +6 -0
  751. package/dist/safe-bash-command-llm/url-source.d.ts +3 -1
  752. package/dist/safe-bash-command-mcp/index.browser.d.ts +1 -0
  753. package/dist/safe-bash-command-mcp/index.browser.js +4 -4
  754. package/dist/safe-bash-command-mcp/index.d.ts +1 -0
  755. package/dist/safe-bash-command-mcp/index.js +28 -7
  756. package/dist/safe-bash-command-mdq/index.js +10 -3
  757. package/dist/safe-bash-command-node/commands/node/quickjs.js +1 -1
  758. package/dist/safe-bash-command-pandoc/command.js +9 -9
  759. package/dist/safe-bash-command-pandoc/index.js +57 -57
  760. package/dist/safe-bash-command-pandoc/lua-filters.js +1 -1
  761. package/dist/safe-bash-command-patch/index.js +5 -5
  762. package/dist/safe-bash-command-patch/patch-publication.js +1 -1
  763. package/dist/safe-bash-command-patch/patch.js +4 -4
  764. package/dist/safe-bash-command-pdfinfo/index.js +2 -2
  765. package/dist/safe-bash-command-pdftk/index.js +550 -137
  766. package/dist/safe-bash-command-pdftoppm/index.js +1 -1
  767. package/dist/safe-bash-command-pdftotext/index.js +29 -15
  768. package/dist/safe-bash-command-playwright-cli/index.js +12 -11
  769. package/dist/safe-bash-command-playwright-cli/playwright/abilities.js +4 -4
  770. package/dist/safe-bash-command-playwright-cli/playwright/controller.js +7 -6
  771. package/dist/safe-bash-command-playwright-cli/playwright/index.js +12 -11
  772. package/dist/safe-bash-command-playwright-cli/playwright/profile.d.ts +1 -1
  773. package/dist/safe-bash-command-playwright-cli/playwright/profile.js +2 -1
  774. package/dist/safe-bash-command-playwright-cli/playwright/standard-capabilities.js +3 -3
  775. package/dist/safe-bash-command-pptx/engine.js +2 -2
  776. package/dist/safe-bash-command-python/executor.d.ts +1 -0
  777. package/dist/safe-bash-command-python/executor.js +16 -14
  778. package/dist/safe-bash-command-python/index.js +16 -14
  779. package/dist/safe-bash-command-python/jspi.js +1 -1
  780. package/dist/safe-bash-command-python/llm-capability.js +1 -1
  781. package/dist/safe-bash-command-python/llm-functions-loader.d.ts +5 -0
  782. package/dist/safe-bash-command-python/llm-packages.js +51 -2
  783. package/dist/safe-bash-command-python/llm-provider.js +1 -1
  784. package/dist/safe-bash-command-rg/glob.d.ts +6 -0
  785. package/dist/safe-bash-command-rg/glob.js +2 -2
  786. package/dist/safe-bash-command-rg/index.js +8 -8
  787. package/dist/safe-bash-command-rg/matcher.d.ts +2 -0
  788. package/dist/safe-bash-command-rg/matcher.js +2 -2
  789. package/dist/safe-bash-command-rg/options.d.ts +2 -0
  790. package/dist/safe-bash-command-rg/options.js +1 -1
  791. package/dist/safe-bash-command-rg/output.js +3 -3
  792. package/dist/safe-bash-command-rg/replacement.js +2 -2
  793. package/dist/safe-bash-command-rg/rg-command.js +8 -8
  794. package/dist/safe-bash-command-rg/shared.d.ts +0 -2
  795. package/dist/safe-bash-command-rg/shared.js +2 -4
  796. package/dist/safe-bash-command-rg/walk.js +4 -4
  797. package/dist/safe-bash-command-safejs/index.js +4 -4
  798. package/dist/safe-bash-command-safejs/runtime.js +2 -2
  799. package/dist/safe-bash-command-soffice/index.js +2 -2
  800. package/dist/safe-bash-command-sqlite3/engine.d.ts +15 -0
  801. package/dist/safe-bash-command-sqlite3/index.js +310 -15
  802. package/dist/safe-bash-command-ssconvert/index.js +2 -2
  803. package/dist/safe-bash-command-tar/create.js +2 -2
  804. package/dist/safe-bash-command-tar/extract.js +2 -2
  805. package/dist/safe-bash-command-tar/index.js +6 -6
  806. package/dist/safe-bash-command-tar/modes.js +4 -4
  807. package/dist/safe-bash-command-unzip/index.js +2 -2
  808. package/dist/safe-bash-command-unzip/unzip.js +2 -2
  809. package/dist/safe-bash-command-yq/parser.js +1 -1
  810. package/dist/safe-bash-command-yq/query.js +1 -1
  811. package/dist/safe-bash-contracts/escaping.js +2 -2
  812. package/dist/safe-bash-contracts/index.js +15 -15
  813. package/dist/safe-bash-csv-engine/index.js +5 -3
  814. package/dist/safe-bash-csv-engine/python-codepages.js +2 -1
  815. package/dist/safe-bash-csv-engine/python-file-codepages.d.ts +1 -0
  816. package/dist/safe-bash-csv-engine/python-file-codepages.js +8 -0
  817. package/dist/safe-bash-csv-engine/python-utf16.js +3 -2
  818. package/dist/safe-bash-csv-engine/text-decoder.js +5 -3
  819. package/dist/safe-bash-docx-engine/ancillary-resources.js +4 -4
  820. package/dist/safe-bash-docx-engine/batch-operations.js +45 -45
  821. package/dist/safe-bash-docx-engine/batch-result-schema.js +52 -52
  822. package/dist/safe-bash-docx-engine/batch.js +52 -52
  823. package/dist/safe-bash-docx-engine/bookmarks.js +10 -10
  824. package/dist/safe-bash-docx-engine/charts.js +5 -5
  825. package/dist/safe-bash-docx-engine/command-option-rules.js +1 -1
  826. package/dist/safe-bash-docx-engine/comments.js +14 -14
  827. package/dist/safe-bash-docx-engine/control-bindings.js +12 -12
  828. package/dist/safe-bash-docx-engine/control-repeat.js +11 -11
  829. package/dist/safe-bash-docx-engine/controls.js +10 -10
  830. package/dist/safe-bash-docx-engine/create.js +4 -4
  831. package/dist/safe-bash-docx-engine/diagrams.js +5 -5
  832. package/dist/safe-bash-docx-engine/diff.js +4 -4
  833. package/dist/safe-bash-docx-engine/document-properties.js +11 -11
  834. package/dist/safe-bash-docx-engine/equations.js +11 -11
  835. package/dist/safe-bash-docx-engine/extract.js +9 -9
  836. package/dist/safe-bash-docx-engine/fields.js +11 -11
  837. package/dist/safe-bash-docx-engine/font-inventory.js +8 -8
  838. package/dist/safe-bash-docx-engine/font-resources.js +1 -1
  839. package/dist/safe-bash-docx-engine/image-batch-operations.js +1 -1
  840. package/dist/safe-bash-docx-engine/image-insertion.js +13 -13
  841. package/dist/safe-bash-docx-engine/image-layout.js +12 -12
  842. package/dist/safe-bash-docx-engine/image-replacement.js +13 -13
  843. package/dist/safe-bash-docx-engine/images.js +12 -12
  844. package/dist/safe-bash-docx-engine/index.js +100 -100
  845. package/dist/safe-bash-docx-engine/inspection.js +11 -11
  846. package/dist/safe-bash-docx-engine/invocation.js +1 -1
  847. package/dist/safe-bash-docx-engine/io.js +1 -1
  848. package/dist/safe-bash-docx-engine/links.js +11 -11
  849. package/dist/safe-bash-docx-engine/lists.js +11 -11
  850. package/dist/safe-bash-docx-engine/locations.js +5 -5
  851. package/dist/safe-bash-docx-engine/notes.js +12 -12
  852. package/dist/safe-bash-docx-engine/objects.js +12 -12
  853. package/dist/safe-bash-docx-engine/pack.js +9 -9
  854. package/dist/safe-bash-docx-engine/package-view-batch-operations.js +8 -8
  855. package/dist/safe-bash-docx-engine/pandoc-adapter.js +9 -9
  856. package/dist/safe-bash-docx-engine/paragraph-edit.js +15 -15
  857. package/dist/safe-bash-docx-engine/publication.js +3 -3
  858. package/dist/safe-bash-docx-engine/removal.js +11 -11
  859. package/dist/safe-bash-docx-engine/revision-decisions.js +13 -13
  860. package/dist/safe-bash-docx-engine/revision-edit.js +10 -10
  861. package/dist/safe-bash-docx-engine/revisions.js +8 -8
  862. package/dist/safe-bash-docx-engine/run-format.js +10 -10
  863. package/dist/safe-bash-docx-engine/sanitize.js +20 -20
  864. package/dist/safe-bash-docx-engine/sections.js +10 -10
  865. package/dist/safe-bash-docx-engine/settings.js +6 -6
  866. package/dist/safe-bash-docx-engine/shape-edit.js +12 -12
  867. package/dist/safe-bash-docx-engine/signatures.js +11 -11
  868. package/dist/safe-bash-docx-engine/stories.js +12 -12
  869. package/dist/safe-bash-docx-engine/structure-model-batch-operations.js +17 -17
  870. package/dist/safe-bash-docx-engine/style-model-batch-operations.js +11 -11
  871. package/dist/safe-bash-docx-engine/style-model-result-schema.js +20 -20
  872. package/dist/safe-bash-docx-engine/styles.js +10 -10
  873. package/dist/safe-bash-docx-engine/table-edit.js +16 -16
  874. package/dist/safe-bash-docx-engine/table-read.js +6 -6
  875. package/dist/safe-bash-docx-engine/template.js +12 -12
  876. package/dist/safe-bash-docx-engine/text-replace.js +10 -10
  877. package/dist/safe-bash-docx-engine/text-resource-read.js +6 -6
  878. package/dist/safe-bash-docx-engine/text.js +6 -6
  879. package/dist/safe-bash-docx-engine/validation.js +1 -1
  880. package/dist/safe-bash-docx-engine/xml-parts.js +14 -14
  881. package/dist/safe-bash-io-engine/commands/text-programs/shared.js +4 -4
  882. package/dist/safe-bash-line-ending-engine/command.js +4 -4
  883. package/dist/safe-bash-line-ending-engine/index.js +4 -4
  884. package/dist/safe-bash-markdown-engine/commonmark-blocks.js +1 -1
  885. package/dist/safe-bash-markdown-engine/index.js +3 -3
  886. package/dist/safe-bash-network-engine/index.js +4 -4
  887. package/dist/safe-bash-pptx-engine/bytes.js +1 -1
  888. package/dist/safe-bash-pptx-engine/index.js +1 -1
  889. package/dist/safe-bash-presentation-engine/accessibility.js +33 -31
  890. package/dist/safe-bash-presentation-engine/animation-editing.js +17 -16
  891. package/dist/safe-bash-presentation-engine/animations.js +17 -16
  892. package/dist/safe-bash-presentation-engine/backgrounds.js +18 -17
  893. package/dist/safe-bash-presentation-engine/bytes.js +4 -4
  894. package/dist/safe-bash-presentation-engine/chart-editing.js +36 -34
  895. package/dist/safe-bash-presentation-engine/chart-object-operations.js +26 -25
  896. package/dist/safe-bash-presentation-engine/charts.js +33 -31
  897. package/dist/safe-bash-presentation-engine/command-placeholder.js +63 -61
  898. package/dist/safe-bash-presentation-engine/comments.js +18 -17
  899. package/dist/safe-bash-presentation-engine/connector-operations.js +34 -32
  900. package/dist/safe-bash-presentation-engine/connectors.js +31 -29
  901. package/dist/safe-bash-presentation-engine/content-types.js +5 -5
  902. package/dist/safe-bash-presentation-engine/creation.js +7 -7
  903. package/dist/safe-bash-presentation-engine/diff.js +40 -38
  904. package/dist/safe-bash-presentation-engine/drawing-format.js +21 -20
  905. package/dist/safe-bash-presentation-engine/drawing-operations.js +33 -31
  906. package/dist/safe-bash-presentation-engine/drawing-schema.js +22 -21
  907. package/dist/safe-bash-presentation-engine/equations.js +18 -17
  908. package/dist/safe-bash-presentation-engine/errors.js +3 -3
  909. package/dist/safe-bash-presentation-engine/fields.js +18 -17
  910. package/dist/safe-bash-presentation-engine/font-metrics.js +4 -4
  911. package/dist/safe-bash-presentation-engine/image-extraction.js +23 -21
  912. package/dist/safe-bash-presentation-engine/image-formatting.js +35 -33
  913. package/dist/safe-bash-presentation-engine/image-insertion.js +20 -19
  914. package/dist/safe-bash-presentation-engine/image-metadata.d.ts +7 -1
  915. package/dist/safe-bash-presentation-engine/image-metadata.js +5 -3
  916. package/dist/safe-bash-presentation-engine/image-replacement.js +24 -22
  917. package/dist/safe-bash-presentation-engine/image-value.js +6 -6
  918. package/dist/safe-bash-presentation-engine/images.d.ts +1 -0
  919. package/dist/safe-bash-presentation-engine/images.js +24 -20
  920. package/dist/safe-bash-presentation-engine/index.js +141 -137
  921. package/dist/safe-bash-presentation-engine/layouts.js +17 -16
  922. package/dist/safe-bash-presentation-engine/length.js +4 -4
  923. package/dist/safe-bash-presentation-engine/links.js +17 -16
  924. package/dist/safe-bash-presentation-engine/masters.js +16 -15
  925. package/dist/safe-bash-presentation-engine/media-editing.js +30 -25
  926. package/dist/safe-bash-presentation-engine/media-extraction.d.ts +4 -0
  927. package/dist/safe-bash-presentation-engine/media-extraction.js +33 -19
  928. package/dist/safe-bash-presentation-engine/media.d.ts +2 -0
  929. package/dist/safe-bash-presentation-engine/media.js +32 -18
  930. package/dist/safe-bash-presentation-engine/memberships.js +19 -17
  931. package/dist/safe-bash-presentation-engine/notes.js +20 -18
  932. package/dist/safe-bash-presentation-engine/ole-enum.js +5 -5
  933. package/dist/safe-bash-presentation-engine/ole-insertion.js +22 -21
  934. package/dist/safe-bash-presentation-engine/opaque-objects.d.ts +4 -0
  935. package/dist/safe-bash-presentation-engine/opaque-objects.js +30 -12
  936. package/dist/safe-bash-presentation-engine/package-reader.js +6 -6
  937. package/dist/safe-bash-presentation-engine/package-tools.js +24 -20
  938. package/dist/safe-bash-presentation-engine/package-uri.js +4 -4
  939. package/dist/safe-bash-presentation-engine/package-writer.js +5 -5
  940. package/dist/safe-bash-presentation-engine/presentation-model.js +62 -60
  941. package/dist/safe-bash-presentation-engine/presentation-settings.js +19 -17
  942. package/dist/safe-bash-presentation-engine/properties.js +21 -19
  943. package/dist/safe-bash-presentation-engine/relationships.js +5 -5
  944. package/dist/safe-bash-presentation-engine/resource-limits.js +2 -2
  945. package/dist/safe-bash-presentation-engine/retained-extraction-output.d.ts +8 -4
  946. package/dist/safe-bash-presentation-engine/retained-fonts.d.ts +26 -0
  947. package/dist/safe-bash-presentation-engine/retained-image-metadata.d.ts +13 -0
  948. package/dist/safe-bash-presentation-engine/retained-inspection.js +16 -14
  949. package/dist/safe-bash-presentation-engine/retained-media-extraction.d.ts +21 -0
  950. package/dist/safe-bash-presentation-engine/retained-media.d.ts +54 -0
  951. package/dist/safe-bash-presentation-engine/retained-object-extraction.d.ts +22 -0
  952. package/dist/safe-bash-presentation-engine/retained-objects.d.ts +25 -0
  953. package/dist/safe-bash-presentation-engine/retained-package.js +6 -6
  954. package/dist/safe-bash-presentation-engine/retained-shape-geometry.d.ts +20 -0
  955. package/dist/safe-bash-presentation-engine/retained-text.js +34 -32
  956. package/dist/safe-bash-presentation-engine/retained-transitions.d.ts +18 -0
  957. package/dist/safe-bash-presentation-engine/sanitize.js +22 -20
  958. package/dist/safe-bash-presentation-engine/selectors.js +11 -11
  959. package/dist/safe-bash-presentation-engine/shape-groups.js +33 -31
  960. package/dist/safe-bash-presentation-engine/shape-operations.js +32 -30
  961. package/dist/safe-bash-presentation-engine/shape-path-operations.js +34 -32
  962. package/dist/safe-bash-presentation-engine/shape-paths.js +17 -16
  963. package/dist/safe-bash-presentation-engine/shape-presets.js +4 -4
  964. package/dist/safe-bash-presentation-engine/shape-selection.js +33 -31
  965. package/dist/safe-bash-presentation-engine/shape-transforms.d.ts +6 -0
  966. package/dist/safe-bash-presentation-engine/shape-transforms.js +26 -20
  967. package/dist/safe-bash-presentation-engine/shapes.js +28 -27
  968. package/dist/safe-bash-presentation-engine/slide-copy.js +21 -19
  969. package/dist/safe-bash-presentation-engine/slide-import.js +19 -18
  970. package/dist/safe-bash-presentation-engine/slide-merge-split.js +21 -20
  971. package/dist/safe-bash-presentation-engine/slide-model.js +46 -44
  972. package/dist/safe-bash-presentation-engine/slide-removal.js +19 -18
  973. package/dist/safe-bash-presentation-engine/slide-transfer-budget.js +10 -10
  974. package/dist/safe-bash-presentation-engine/slides.js +21 -19
  975. package/dist/safe-bash-presentation-engine/table-operations.js +35 -33
  976. package/dist/safe-bash-presentation-engine/table-spans.js +34 -32
  977. package/dist/safe-bash-presentation-engine/tables.js +33 -31
  978. package/dist/safe-bash-presentation-engine/tags.js +20 -18
  979. package/dist/safe-bash-presentation-engine/template-bindings.js +36 -34
  980. package/dist/safe-bash-presentation-engine/template-repeat.js +46 -43
  981. package/dist/safe-bash-presentation-engine/text-fitting.js +28 -27
  982. package/dist/safe-bash-presentation-engine/text-frames.js +28 -27
  983. package/dist/safe-bash-presentation-engine/text-paragraphs.js +28 -27
  984. package/dist/safe-bash-presentation-engine/text-reading.js +12 -12
  985. package/dist/safe-bash-presentation-engine/text-replacement.js +18 -17
  986. package/dist/safe-bash-presentation-engine/text-runs.js +21 -20
  987. package/dist/safe-bash-presentation-engine/themes.js +17 -16
  988. package/dist/safe-bash-presentation-engine/transitions.d.ts +1 -0
  989. package/dist/safe-bash-presentation-engine/transitions.js +24 -16
  990. package/dist/safe-bash-presentation-engine/validation.js +11 -10
  991. package/dist/safe-bash-presentation-engine/xml-parts.js +21 -19
  992. package/dist/safe-bash-presentation-engine/xml-view.js +4 -4
  993. package/dist/safe-bash-presentation-engine/xml.js +4 -4
  994. package/dist/safe-bash-query-engine/capture.js +5 -5
  995. package/dist/safe-bash-query-engine/dates.js +2 -2
  996. package/dist/safe-bash-query-engine/delpaths.js +5 -5
  997. package/dist/safe-bash-query-engine/formats.js +3 -3
  998. package/dist/safe-bash-query-engine/index.js +15 -15
  999. package/dist/safe-bash-query-engine/indices.js +5 -5
  1000. package/dist/safe-bash-query-engine/input.js +2 -2
  1001. package/dist/safe-bash-query-engine/interpreter.d.ts +2 -1
  1002. package/dist/safe-bash-query-engine/interpreter.js +13 -13
  1003. package/dist/safe-bash-query-engine/limits.d.ts +1 -0
  1004. package/dist/safe-bash-query-engine/limits.js +1 -1
  1005. package/dist/safe-bash-query-engine/parser.js +2 -2
  1006. package/dist/safe-bash-query-engine/query-core.js +15 -15
  1007. package/dist/safe-bash-query-engine/recurse.js +2 -2
  1008. package/dist/safe-bash-query-engine/regex.js +6 -6
  1009. package/dist/safe-bash-query-engine/split.js +2 -2
  1010. package/dist/safe-bash-query-engine/splits.js +7 -7
  1011. package/dist/safe-bash-query-engine/values.js +4 -4
  1012. package/dist/safe-bash-regex-engine/ere/matcher.d.ts +1 -1
  1013. package/dist/safe-bash-regex-engine/ere/matcher.js +18 -10
  1014. package/dist/safe-bash-regex-engine/ere/syntax.d.ts +1 -1
  1015. package/dist/safe-bash-regex-engine/ere/syntax.js +1 -1
  1016. package/dist/safe-bash-regex-engine/ere/types.d.ts +1 -0
  1017. package/dist/safe-bash-regex-engine/execution/bounded-provider.js +5 -6
  1018. package/dist/safe-bash-search-engine/ergonomic-regex.d.ts +1 -0
  1019. package/dist/safe-bash-search-engine/ergonomic-regex.js +2 -2
  1020. package/dist/safe-bash-sqlite-engine/sqlite-read-session.d.ts +17 -0
  1021. package/dist/safe-bash-sqlite-engine/storage.d.ts +1 -0
  1022. package/dist/safe-bash-sqlite-engine/storage.js +159 -89
  1023. package/dist/safe-bash-xml-engine/document.js +3 -3
  1024. package/dist/safe-bash-xml-engine/evaluate.js +1 -1
  1025. package/dist/safe-bash-xml-engine/index.js +4 -4
  1026. package/dist/safe-bash-xml-engine/json.js +14 -7
  1027. package/dist/safe-bash-xml-engine/query.js +2 -2
  1028. package/dist/safe-bash-xml-engine/recovery.d.ts +8 -2
  1029. package/dist/safe-bash-xml-engine/stored-document.d.ts +16 -2
  1030. package/dist/safe-bash-xml-engine/stored-document.js +1 -1
  1031. package/dist/safe-bash-xml-engine/stored-evaluate.js +5 -5
  1032. package/dist/safe-bash-xml-engine/stored-map.d.ts +18 -4
  1033. package/dist/safe-playwright-cloudflare/browser-provider.generated.js +11819 -11773
  1034. package/dist/safe-playwright-cloudflare/browser-run-code-guest.generated.js +1 -1
  1035. package/dist/spreadsheet-engine/formulas/functions/python-printf.js +7 -3
  1036. package/package.json +4 -3
  1037. package/dist/safe-bash/chunks/chunk-FL6XE3W4.js +0 -35
  1038. package/dist/safe-bash/command-chunks/chunk-ADVQZLLE.js +0 -260
  1039. package/dist/safe-bash/command-chunks/chunk-AEZU6NZE.js +0 -297
  1040. package/dist/safe-bash/command-chunks/chunk-BQXKO3X7.js +0 -228
  1041. package/dist/safe-bash/command-chunks/chunk-CZSLXQU2.js +0 -107
  1042. package/dist/safe-bash/command-chunks/chunk-KSM5CCHT.js +0 -1850
  1043. package/dist/safe-bash/command-chunks/chunk-R2N3E267.js +0 -144
  1044. package/dist/safe-bash/command-chunks/chunk-UPXFSGQG.js +0 -134
  1045. package/dist/safe-bash/command-chunks/chunk-WKUV62RJ.js +0 -92
  1046. package/dist/safe-bash/command-chunks/chunk-Z3PGWMSQ.js +0 -63
  1047. package/dist/safe-bash/command-chunks/paradox-4FCZE53D-LQPGVMEL.js +0 -365
  1048. package/dist/safe-bash/command-chunks/{biff-AYJZR2YV-JPESBEOO.js → biff-AYJZR2YV-YFF3BK43.js} +5 -5
  1049. package/dist/safe-bash/command-chunks/{chunk-WKU65Z3Q.js → chunk-3NJETNC2.js} +3 -3
  1050. package/dist/safe-bash/command-chunks/{chunk-WRJV7OVO.js → chunk-42OQIFPW.js} +4 -4
  1051. package/dist/safe-bash/command-chunks/{chunk-XLPEPCQC.js → chunk-45QE6QRR.js} +3 -3
  1052. package/dist/safe-bash/command-chunks/{chunk-MWVELMXZ.js → chunk-BFOVQUTF.js} +3 -3
  1053. package/dist/safe-bash/command-chunks/{chunk-ETN25WCR.js → chunk-KD4JUF6R.js} +3 -3
  1054. package/dist/safe-bash/command-chunks/{chunk-LTWX23FS.js → chunk-QQ7ORF2D.js} +3 -3
  1055. package/dist/safe-bash/command-chunks/{chunk-FPNUGKCX.js → chunk-QWHBQBPB.js} +3 -3
  1056. package/dist/safe-bash/command-chunks/{chunk-5MFRN3CB.js → chunk-R64BI5MT.js} +4 -4
  1057. package/dist/safe-bash/command-chunks/{chunk-A32ZROH5.js → chunk-SMCRKN3O.js} +3 -3
  1058. package/dist/safe-bash/command-chunks/{chunk-RXXNLH7A.js → chunk-ZSQCROFE.js} +3 -3
@@ -11,7 +11,196 @@ import {
11
11
  } from "./chunk-NUGQQDGE.js";
12
12
  import "./chunk-65DS4IOB.js";
13
13
 
14
+ // packages/safe-bash-command-pptx/src/command-media-extraction-streaming.ts
15
+ import {
16
+ RetainedMediaSelectionError,
17
+ stageRetainedMediaSelectionError
18
+ } from "../../safe-bash-presentation-engine/media.js";
19
+ import { sha256 } from "@noble/hashes/sha2.js";
20
+ import {
21
+ openRetainedMediaExtraction,
22
+ stageRetainedExtractionOutput
23
+ } from "../../safe-bash-presentation-engine/media-extraction.js";
24
+ import { openPackageArchive } from "../../safe-bash-presentation-engine/retained-package.js";
25
+ async function prepareRetainedMediaExtraction(args, request, options2) {
26
+ const { streaming, signal } = request, context = { ...options2.context, signal, workingStorage: streaming.workingStorage };
27
+ const input = await streaming.openInput(
28
+ args.input,
29
+ Math.min(context.limits.maxBytes, context.archiveLimits.maxArchiveBytes)
30
+ ), hash = sha256.create();
31
+ for await (const bytes of input.stream()) {
32
+ signal.throwIfAborted();
33
+ hash.update(bytes);
34
+ }
35
+ const fingerprint = Array.from(hash.digest(), (b) => b.toString(16).padStart(2, "0")).join(""), archive = await openPackageArchive(input, context);
36
+ let diagnostic;
37
+ let extraction, response, closing;
38
+ const close = () => closing ??= (async () => {
39
+ const results = await Promise.allSettled([
40
+ diagnostic?.close(),
41
+ response?.close(),
42
+ extraction?.close(),
43
+ archive.close()
44
+ ]);
45
+ for (const result of results) if (result.status === "rejected") throw result.reason;
46
+ })();
47
+ try {
48
+ extraction = await openRetainedMediaExtraction(
49
+ archive,
50
+ fingerprint,
51
+ {
52
+ ...args.scope === void 0 ? {} : { scope: args.scope },
53
+ ...args.slide === void 0 ? {} : { slide: args.slide },
54
+ ...args.shape === void 0 ? {} : { shape: args.shape },
55
+ ...args.token === void 0 ? {} : { select: args.token },
56
+ ...args.deduplicate === void 0 ? {} : { deduplicate: args.deduplicate },
57
+ maxOutputBytes: options2.maxOutputBytes,
58
+ maxOutputs: args.limits?.maxOutputs ?? context.archiveLimits.maxMembers
59
+ },
60
+ context
61
+ );
62
+ if (!request.publishOutputStreams && (!args.allowPartialOutput || !request.publishOutput))
63
+ throw Object.assign(
64
+ new Error("Media extraction requires atomic publication or explicit partial output."),
65
+ { code: "publication-unsupported" }
66
+ );
67
+ response = await stageRetainedExtractionOutput(extraction, context, {
68
+ directory: args.outputDir,
69
+ json: args.json,
70
+ maxOutputBytes: options2.maxOutputBytes,
71
+ allowPartialOutput: args.allowPartialOutput ?? false,
72
+ operation: "media.extract"
73
+ });
74
+ async function* publications(dryRun) {
75
+ for await (const member of extraction.members()) {
76
+ signal.throwIfAborted();
77
+ yield {
78
+ inputPath: args.input,
79
+ outputPath: response.path(member.name),
80
+ bytes: member.bytes(),
81
+ originalBytes: input,
82
+ inPlace: false,
83
+ force: args.force ?? false,
84
+ dryRun
85
+ };
86
+ }
87
+ }
88
+ return {
89
+ close,
90
+ async publish() {
91
+ let published = 0, code;
92
+ try {
93
+ for await (const item of publications(true)) {
94
+ if (request.preflightOutputStream) await request.preflightOutputStream(item);
95
+ else if (request.publishOutput) await request.publishOutput(item);
96
+ }
97
+ if (request.publishOutputStreams) await request.publishOutputStreams(publications(false));
98
+ else
99
+ for await (const item of publications(false)) {
100
+ await request.publishOutput(item);
101
+ published++;
102
+ }
103
+ } catch (error) {
104
+ const raw = error && typeof error === "object" && "code" in error ? error.code : void 0;
105
+ code = signal.aborted ? "cancelled" : typeof raw === "string" && ["resource-limit", "stale-input", "publication-unsupported"].includes(raw) ? raw : "io-failure";
106
+ }
107
+ await response.write(
108
+ !code || args.json ? streaming.stdout : streaming.stderr,
109
+ code ? { code, published } : void 0
110
+ );
111
+ return {
112
+ exitCode: !code ? 0 : code === "cancelled" ? 130 : code === "resource-limit" ? 4 : code === "stale-input" ? 1 : 3,
113
+ stdout: new Uint8Array(),
114
+ stderr: new Uint8Array()
115
+ };
116
+ }
117
+ };
118
+ } catch (error) {
119
+ if (error instanceof RetainedMediaSelectionError) {
120
+ try {
121
+ diagnostic = await stageRetainedMediaSelectionError(error, context, {
122
+ operation: "media.extract",
123
+ json: args.json,
124
+ maxOutputBytes: options2.maxOutputBytes
125
+ });
126
+ await archive.close();
127
+ return {
128
+ close,
129
+ async publish() {
130
+ await diagnostic.write(args.json ? streaming.stdout : streaming.stderr);
131
+ return { exitCode: 1, stdout: new Uint8Array(), stderr: new Uint8Array() };
132
+ }
133
+ };
134
+ } catch (failure) {
135
+ await close().catch(() => {
136
+ });
137
+ throw failure;
138
+ }
139
+ }
140
+ await close().catch(() => {
141
+ });
142
+ throw error;
143
+ }
144
+ }
145
+
146
+ // packages/safe-bash-command-pptx/src/command-engine.ts
147
+ import { stageRetainedMedia } from "../../safe-bash-presentation-engine/media.js";
148
+
149
+ // packages/safe-bash-command-pptx/src/command-object-extraction-streaming.ts
150
+ import { openRetainedObjectExtraction, stageRetainedExtractionOutput as stageRetainedExtractionOutput2 } from "../../safe-bash-presentation-engine/opaque-objects.js";
151
+ import { openPackageArchive as openPackageArchive2 } from "../../safe-bash-presentation-engine/retained-package.js";
152
+ import { OfficeError } from "../../safe-bash-presentation-engine/errors.js";
153
+ async function prepareRetainedObjectExtraction(args, request, options2) {
154
+ const { streaming, signal } = request, context = { ...options2.context, signal, workingStorage: streaming.workingStorage };
155
+ const input = await streaming.openInput(args.input, Math.min(context.limits.maxBytes, context.archiveLimits.maxArchiveBytes));
156
+ const archive = await openPackageArchive2(input, context);
157
+ let extraction, response, closing;
158
+ const close = () => closing ??= (async () => {
159
+ const results = await Promise.allSettled([response?.close(), extraction?.close(), archive.close()]);
160
+ for (const result of results) if (result.status === "rejected") throw result.reason;
161
+ })();
162
+ try {
163
+ extraction = await openRetainedObjectExtraction(archive, { part: args.part }, context);
164
+ if (extraction.count > (args.limits?.maxOutputs ?? context.archiveLimits.maxMembers)) throw new OfficeError("resource-limit", "Opaque output count exceeds limit.", "validate-intent");
165
+ if (!args.dryRun && !request.publishOutputStreams && (!args.allowPartialOutput || !request.publishOutput)) throw Object.assign(new Error("Object extraction requires atomic publication or explicit partial output."), { code: "publication-unsupported" });
166
+ response = await stageRetainedExtractionOutput2(extraction, context, { directory: args.outputDir ?? "", json: args.json, maxOutputBytes: options2.maxOutputBytes, allowPartialOutput: args.allowPartialOutput ?? false, operation: "objects.extract", dryRun: args.dryRun ?? false });
167
+ async function* publications(dryRun) {
168
+ if (args.outputDir) for await (const member of extraction.members()) {
169
+ signal.throwIfAborted();
170
+ yield { inputPath: args.input, outputPath: response.path(member.name), bytes: member.bytes(), originalBytes: input, inPlace: false, force: args.force ?? false, dryRun };
171
+ }
172
+ }
173
+ return { close, async publish() {
174
+ let published = 0, code;
175
+ try {
176
+ for await (const item of publications(true)) {
177
+ if (request.preflightOutputStream) await request.preflightOutputStream(item);
178
+ else if (request.publishOutput) await request.publishOutput(item);
179
+ }
180
+ if (!args.dryRun) {
181
+ if (request.publishOutputStreams) await request.publishOutputStreams(publications(false));
182
+ else for await (const item of publications(false)) {
183
+ await request.publishOutput(item);
184
+ published++;
185
+ }
186
+ }
187
+ } catch (error) {
188
+ const raw = error && typeof error === "object" && "code" in error ? error.code : void 0;
189
+ code = signal.aborted ? "cancelled" : typeof raw === "string" && ["resource-limit", "stale-input", "publication-unsupported"].includes(raw) ? raw : "io-failure";
190
+ }
191
+ await response.write(!code || args.json ? streaming.stdout : streaming.stderr, code ? { code, published } : void 0);
192
+ return { exitCode: !code ? 0 : code === "cancelled" ? 130 : code === "resource-limit" ? 4 : code === "stale-input" ? 1 : 3, stdout: new Uint8Array(), stderr: new Uint8Array() };
193
+ } };
194
+ } catch (error) {
195
+ await close().catch(() => {
196
+ });
197
+ throw error;
198
+ }
199
+ }
200
+
14
201
  // packages/safe-bash-command-pptx/src/command-engine.ts
202
+ import { stageRetainedObjects, stageRetainedFonts } from "../../safe-bash-presentation-engine/opaque-objects.js";
203
+ import { stageRetainedTransitions } from "../../safe-bash-presentation-engine/transitions.js";
15
204
  import { stageRetainedMemberships } from "../../safe-bash-presentation-engine/memberships.js";
16
205
  import { stageRetainedPresentationSettings } from "../../safe-bash-presentation-engine/presentation-settings.js";
17
206
  import { stageRetainedTags } from "../../safe-bash-presentation-engine/tags.js";
@@ -21,13 +210,13 @@ import { stageRetainedNotes } from "../../safe-bash-presentation-engine/notes.js
21
210
  // packages/safe-bash-command-pptx/src/retained-pack-manifest.ts
22
211
  import { PagedStorage } from "@poe-platform/safe-fs/storage";
23
212
  import { resourceContext } from "../../safe-bash-presentation-engine/resource-limits.js";
24
- import { OfficeError as OfficeError2 } from "../../safe-bash-presentation-engine/errors.js";
213
+ import { OfficeError as OfficeError3 } from "../../safe-bash-presentation-engine/errors.js";
25
214
  import { asciiKey, partName } from "../../safe-bash-presentation-engine/package-uri.js";
26
215
 
27
216
  // packages/safe-bash-command-pptx/src/command-package-path.ts
28
- import { OfficeError } from "../../safe-bash-presentation-engine/errors.js";
217
+ import { OfficeError as OfficeError2 } from "../../safe-bash-presentation-engine/errors.js";
29
218
  function usage(message) {
30
- throw new OfficeError("invalid-value", message, "usage");
219
+ throw new OfficeError2("invalid-value", message, "usage");
31
220
  }
32
221
  function scopedPackagePath(manifest, path) {
33
222
  if (path === "-") return path;
@@ -51,22 +240,22 @@ async function openRetainedPackManifest(source3, settings, options2) {
51
240
  const context = resourceContext(settings), signal = context.signal ?? new AbortController().signal;
52
241
  const working = { ...settings.workingStorage }, cacheBytes = working.cacheBytes ?? 1024 * 1024;
53
242
  if (!working.fs || typeof working.directory !== "string" || !working.directory.startsWith("/") || !Number.isSafeInteger(cacheBytes) || cacheBytes < 16384 || cacheBytes % 16384)
54
- throw new OfficeError2("invalid-value", "Explicit manifest storage and a valid cache budget are required.", "usage");
243
+ throw new OfficeError3("invalid-value", "Explicit manifest storage and a valid cache budget are required.", "usage");
55
244
  const manifestPath = options2.manifest, outputPath = options2.output;
56
245
  const pages = new PagedStorage({ fs: working.fs, cwd: working.directory, env: {}, signal }, cacheBytes / 16384);
57
246
  const index = new PagedStorage({ fs: working.fs, cwd: working.directory, env: {}, signal }, cacheBytes / 16384);
58
247
  let closed = false, closing, count = 0, parts = 0;
59
248
  const check = () => {
60
- if (closed) throw new OfficeError2("invalid-handle", "Manifest is closed.", "admit");
61
- if (signal.aborted) throw new OfficeError2("cancelled", "Operation cancelled.", "admit");
249
+ if (closed) throw new OfficeError3("invalid-handle", "Manifest is closed.", "admit");
250
+ if (signal.aborted) throw new OfficeError3("cancelled", "Operation cancelled.", "admit");
62
251
  };
63
252
  const usage14 = () => {
64
- throw new OfficeError2("invalid-value", "Manifest requires unique canonical parts, hashes and explicit scoped files.", "usage");
253
+ throw new OfficeError3("invalid-value", "Manifest requires unique canonical parts, hashes and explicit scoped files.", "usage");
65
254
  };
66
255
  const limit = () => {
67
- throw new OfficeError2("resource-limit", "Manifest exceeds input limits.", "admit");
256
+ throw new OfficeError3("resource-limit", "Manifest exceeds input limits.", "admit");
68
257
  };
69
- const failure = (error) => error instanceof OfficeError2 ? error : new OfficeError2(signal.aborted ? "cancelled" : error && typeof error === "object" && "code" in error && error.code === "EFBIG" ? "resource-limit" : "io-failure", "Manifest input or storage failed.", "admit");
258
+ const failure = (error) => error instanceof OfficeError3 ? error : new OfficeError3(signal.aborted ? "cancelled" : error && typeof error === "object" && "code" in error && error.code === "EFBIG" ? "resource-limit" : "io-failure", "Manifest input or storage failed.", "admit");
70
259
  const close = () => {
71
260
  closed = true;
72
261
  return closing ??= (async () => {
@@ -112,10 +301,10 @@ async function openRetainedPackManifest(source3, settings, options2) {
112
301
  }
113
302
  async function member(row) {
114
303
  const fields3 = { part: await tree.property(row, "part"), sha256: await tree.property(row, "sha256") };
115
- const part = await tree.smallText(fields3.part, 65535), sha2565 = await tree.smallText(fields3.sha256, 64);
304
+ const part = await tree.smallText(fields3.part, 65535), sha2566 = await tree.smallText(fields3.sha256, 64);
116
305
  if (part === void 0) return limit();
117
- if (sha2565 === void 0) return usage14();
118
- return { part, sha256: sha2565 };
306
+ if (sha2566 === void 0) return usage14();
307
+ return { part, sha256: sha2566 };
119
308
  }
120
309
  async function pathAt(row) {
121
310
  const file = await tree.property(row, "file"), path = await tree.property(file, "vfsPath");
@@ -141,7 +330,7 @@ async function openRetainedPackManifest(source3, settings, options2) {
141
330
  if (tail) yield tail;
142
331
  return;
143
332
  }
144
- if (!(item.value instanceof Uint8Array)) throw new OfficeError2("invalid-type", "Manifest source returned invalid bytes.", "admit");
333
+ if (!(item.value instanceof Uint8Array)) throw new OfficeError3("invalid-type", "Manifest source returned invalid bytes.", "admit");
145
334
  size += item.value.length;
146
335
  if (!Number.isSafeInteger(size) || size > Math.min(context.limits.maxBytes, context.xmlLimits.maxBytes)) limit();
147
336
  for (let offset = 0; offset < item.value.length; offset += 16384) {
@@ -215,7 +404,7 @@ async function openRetainedPackManifest(source3, settings, options2) {
215
404
  try {
216
405
  check();
217
406
  const row = await names.get(asciiKey(part));
218
- if (row === void 0) throw new OfficeError2("missing-binding", "Manifest member is absent.", "admit");
407
+ if (row === void 0) throw new OfficeError3("missing-binding", "Manifest member is absent.", "admit");
219
408
  return await pathAt(row);
220
409
  } catch (error) {
221
410
  throw failure(error);
@@ -247,8 +436,8 @@ async function openRetainedPackManifest(source3, settings, options2) {
247
436
  import { stageRetainedPackage } from "../../safe-bash-presentation-engine/package-tools.js";
248
437
 
249
438
  // packages/safe-bash-command-pptx/src/command-extract-streaming.ts
250
- import { openRetainedPackageExtraction, stageRetainedExtractionOutput } from "../../safe-bash-presentation-engine/package-tools.js";
251
- import { OfficeError as OfficeError3 } from "../../safe-bash-presentation-engine/errors.js";
439
+ import { openRetainedPackageExtraction, stageRetainedExtractionOutput as stageRetainedExtractionOutput3 } from "../../safe-bash-presentation-engine/package-tools.js";
440
+ import { OfficeError as OfficeError4 } from "../../safe-bash-presentation-engine/errors.js";
252
441
  async function prepareRetainedExtraction(args, request, options2) {
253
442
  const { streaming, signal } = request, context = { ...options2.context, signal, workingStorage: streaming.workingStorage };
254
443
  const input = await streaming.openInput(args.input, Math.min(context.limits.maxBytes, context.archiveLimits.maxArchiveBytes));
@@ -262,9 +451,9 @@ async function prepareRetainedExtraction(args, request, options2) {
262
451
  let total = 0;
263
452
  for await (const member of extraction.members()) total += member.size;
264
453
  if (extraction.count > (args.limits?.maxOutputs ?? context.archiveLimits.maxMembers) || !Number.isSafeInteger(total) || total > options2.maxOutputBytes)
265
- throw new OfficeError3("resource-limit", "Package extraction exceeds output limits.", "validate-intent");
454
+ throw new OfficeError4("resource-limit", "Package extraction exceeds output limits.", "validate-intent");
266
455
  if (!request.publishOutputStreams && (!args.allowPartialOutput || !request.publishOutput)) throw Object.assign(new Error("Extraction requires a publication capability."), { code: "publication-unsupported" });
267
- response = await stageRetainedExtractionOutput(extraction, context, { directory: args.outputDir, json: args.json, maxOutputBytes: options2.maxOutputBytes, allowPartialOutput: args.allowPartialOutput ?? false });
456
+ response = await stageRetainedExtractionOutput3(extraction, context, { directory: args.outputDir, json: args.json, maxOutputBytes: options2.maxOutputBytes, allowPartialOutput: args.allowPartialOutput ?? false });
268
457
  async function* publications(dryRun) {
269
458
  for await (const member of extraction.members()) {
270
459
  signal.throwIfAborted();
@@ -300,11 +489,11 @@ async function prepareRetainedExtraction(args, request, options2) {
300
489
  // packages/safe-bash-command-pptx/src/command-engine.ts
301
490
  import { stageRetainedText } from "../../safe-bash-presentation-engine/retained-text.js";
302
491
  import { stageRetainedInspection } from "../../safe-bash-presentation-engine/retained-inspection.js";
303
- import { openPackageArchive } from "../../safe-bash-presentation-engine/retained-package.js";
492
+ import { openPackageArchive as openPackageArchive3 } from "../../safe-bash-presentation-engine/retained-package.js";
304
493
 
305
494
  // packages/safe-bash-command-pptx/src/capabilities-discovery.ts
306
495
  import { parseContentTypes } from "../../safe-bash-presentation-engine/content-types.js";
307
- import { OfficeError as OfficeError4 } from "../../safe-bash-presentation-engine/errors.js";
496
+ import { OfficeError as OfficeError5 } from "../../safe-bash-presentation-engine/errors.js";
308
497
  import { readRelationshipGraph } from "../../safe-bash-presentation-engine/relationships.js";
309
498
  import { readPackage } from "../../safe-bash-presentation-engine/package-reader.js";
310
499
  import { parseXmlPart } from "../../safe-bash-presentation-engine/xml.js";
@@ -341,7 +530,7 @@ function declaredFeatureCapabilities(features, operations) {
341
530
  Object.entries(features).map(([name, feature]) => {
342
531
  const paths = feature.operations ?? (feature.operation ? [feature.operation] : featureOperations[name]);
343
532
  if (!paths?.length || paths.some((path) => !Object.hasOwn(operations, path))) {
344
- throw new OfficeError4(
533
+ throw new OfficeError5(
345
534
  "invalid-value",
346
535
  "Capability references an undeclared operation.",
347
536
  "usage"
@@ -391,7 +580,7 @@ async function assessCapabilities(input, context) {
391
580
  try {
392
581
  contentType = types.get(part);
393
582
  } catch (error) {
394
- if (!(error instanceof OfficeError4) || error.code !== "missing-binding") throw error;
583
+ if (!(error instanceof OfficeError5) || error.code !== "missing-binding") throw error;
395
584
  }
396
585
  }
397
586
  const type = contentType?.split(";", 1)[0].trim().toLowerCase();
@@ -406,7 +595,7 @@ async function assessCapabilities(input, context) {
406
595
  const data = reader.get(part);
407
596
  xmlBytes += data.length;
408
597
  if (xmlBytes > context.xmlLimits.maxBytes || nodes >= context.xmlLimits.maxNodes)
409
- throw new OfficeError4(
598
+ throw new OfficeError5(
410
599
  "resource-limit",
411
600
  "Capability XML inspection limit exceeded.",
412
601
  "index"
@@ -417,7 +606,7 @@ async function assessCapabilities(input, context) {
417
606
  });
418
607
  nodes += xml.nodeCount;
419
608
  if (nodes > context.xmlLimits.maxNodes)
420
- throw new OfficeError4("resource-limit", "Capability XML node limit exceeded.", "index");
609
+ throw new OfficeError5("resource-limit", "Capability XML node limit exceeded.", "index");
421
610
  const pending = [xml.root];
422
611
  let visited = 0;
423
612
  while (pending.length) {
@@ -3756,7 +3945,7 @@ var discoverySchemas = Object.fromEntries([
3756
3945
  }]));
3757
3946
 
3758
3947
  // packages/safe-bash-command-pptx/src/command-objects-add.ts
3759
- import { OfficeError as OfficeError5 } from "../../safe-bash-presentation-engine/errors.js";
3948
+ import { OfficeError as OfficeError6 } from "../../safe-bash-presentation-engine/errors.js";
3760
3949
  import { addOleObject } from "../../safe-bash-presentation-engine/ole-insertion.js";
3761
3950
  var objectsAddUsage = "Usage: pptx objects add INPUT --slide N --file PATH --icon PATH (--program-id TEXT | --program DOCX|PPTX|XLSX) [--icon-content-type TYPE]\n --left LENGTH --top LENGTH --width LENGTH --height LENGTH --icon-width LENGTH --icon-height LENGTH --name TEXT\n --output PATH|--in-place|--dry-run [--force] [--json] [--limit NAME=VALUE]\nEmbed explicit inert bytes with an explicit icon. No activation or recursive payload parsing.\n";
3762
3951
  var length = {
@@ -3864,7 +4053,7 @@ var objectsAddSchema = {
3864
4053
  }
3865
4054
  };
3866
4055
  function usage2(message) {
3867
- throw new OfficeError5("invalid-value", message, "usage");
4056
+ throw new OfficeError6("invalid-value", message, "usage");
3868
4057
  }
3869
4058
  function validateObjectsAddCommand(args, positionals, seen) {
3870
4059
  const allowed = Object.keys(objectsAddSchema.options.properties).map(
@@ -4094,7 +4283,7 @@ var packageToolsSchemas = Object.fromEntries(
4094
4283
  );
4095
4284
 
4096
4285
  // packages/safe-bash-command-pptx/src/command-engine-values.ts
4097
- import { OfficeError as OfficeError6 } from "../../safe-bash-presentation-engine/errors.js";
4286
+ import { OfficeError as OfficeError7 } from "../../safe-bash-presentation-engine/errors.js";
4098
4287
  function commandLength(value, minimum = 1) {
4099
4288
  const units = { emu: 1, in: 914400, cm: 36e4, mm: 36e3, pt: 12700 };
4100
4289
  const unit = Object.keys(units).find((candidate) => value.endsWith(candidate));
@@ -4103,7 +4292,7 @@ function commandLength(value, minimum = 1) {
4103
4292
  if (!unit || pieces.length > 2 || !pieces[0] || pieces.some(
4104
4293
  (piece) => !piece || [...piece].some((character) => character < "0" || character > "9")
4105
4294
  ))
4106
- throw new OfficeError6(
4295
+ throw new OfficeError7(
4107
4296
  "invalid-value",
4108
4297
  "Lengths require a decimal and emu, in, cm, mm or pt unit.",
4109
4298
  "usage"
@@ -4111,13 +4300,13 @@ function commandLength(value, minimum = 1) {
4111
4300
  const raw = Number(digits) * units[unit];
4112
4301
  const result = Math.sign(raw) * Math.round(Math.abs(raw));
4113
4302
  if (!Number.isFinite(raw) || Math.abs(raw) > Number.MAX_SAFE_INTEGER || !Number.isSafeInteger(result) || result < minimum)
4114
- throw new OfficeError6("invalid-value", "Length is outside the supported range.", "usage");
4303
+ throw new OfficeError7("invalid-value", "Length is outside the supported range.", "usage");
4115
4304
  return result;
4116
4305
  }
4117
4306
  function commandTimestamp(value) {
4118
4307
  const date = new Date(value);
4119
4308
  if (!Number.isFinite(date.getTime()) || !value.endsWith("Z") || date.toISOString() !== value && date.toISOString() !== value.slice(0, -1) + ".000Z")
4120
- throw new OfficeError6(
4309
+ throw new OfficeError7(
4121
4310
  "invalid-value",
4122
4311
  "Timestamp requires a valid UTC date with seconds and Z suffix.",
4123
4312
  "usage"
@@ -4151,7 +4340,7 @@ function commandJson(value) {
4151
4340
  }
4152
4341
  return JSON.parse(value);
4153
4342
  } catch {
4154
- throw new OfficeError6(
4343
+ throw new OfficeError7(
4155
4344
  "invalid-value",
4156
4345
  "Structured slides require valid JSON without duplicate keys, at most 32 levels deep.",
4157
4346
  "usage"
@@ -4160,12 +4349,12 @@ function commandJson(value) {
4160
4349
  }
4161
4350
 
4162
4351
  // packages/safe-bash-command-pptx/src/command-package-tools.ts
4163
- import { sha256 } from "@noble/hashes/sha2.js";
4164
- import { OfficeError as OfficeError7 } from "../../safe-bash-presentation-engine/errors.js";
4352
+ import { sha256 as sha2562 } from "@noble/hashes/sha2.js";
4353
+ import { OfficeError as OfficeError8 } from "../../safe-bash-presentation-engine/errors.js";
4165
4354
  import { asciiKey as asciiKey2, partName as partName2 } from "../../safe-bash-presentation-engine/package-uri.js";
4166
4355
  import { extractPackage, packPackage } from "../../safe-bash-presentation-engine/package-tools.js";
4167
4356
  function usage3(message) {
4168
- throw new OfficeError7("invalid-value", message, "usage");
4357
+ throw new OfficeError8("invalid-value", message, "usage");
4169
4358
  }
4170
4359
  function canonical(part) {
4171
4360
  try {
@@ -4216,7 +4405,7 @@ async function executePackageCommand(args, request, options2) {
4216
4405
  );
4217
4406
  const files = await extractPackage(bytes2, context, args.parts ? { parts: args.parts } : {});
4218
4407
  if (files.length > (args.limits?.maxOutputs ?? context.archiveLimits.maxMembers) || files.reduce((sum, file) => sum + file.bytes.length, 0) > options2.maxOutputBytes)
4219
- throw new OfficeError7(
4408
+ throw new OfficeError8(
4220
4409
  "resource-limit",
4221
4410
  "Package extraction exceeds output limits.",
4222
4411
  "validate-intent"
@@ -4248,7 +4437,7 @@ async function executePackageCommand(args, request, options2) {
4248
4437
  };
4249
4438
  }
4250
4439
  if (args.creation?.author !== void 0 || args.creation?.timestamp !== void 0)
4251
- throw new OfficeError7(
4440
+ throw new OfficeError8(
4252
4441
  "unsupported-edit",
4253
4442
  "Pack metadata overrides are unavailable; source properties are preserved.",
4254
4443
  "validate-intent"
@@ -4258,7 +4447,7 @@ async function executePackageCommand(args, request, options2) {
4258
4447
  Math.min(context.limits.maxBytes, context.xmlLimits.maxBytes)
4259
4448
  );
4260
4449
  if (encoded.length > Math.min(context.limits.maxBytes, context.xmlLimits.maxBytes))
4261
- throw new OfficeError7("resource-limit", "Manifest exceeds byte limit.", "admit");
4450
+ throw new OfficeError8("resource-limit", "Manifest exceeds byte limit.", "admit");
4262
4451
  let value;
4263
4452
  try {
4264
4453
  value = commandJson(new TextDecoder("utf-8", { fatal: true }).decode(encoded));
@@ -4268,7 +4457,7 @@ async function executePackageCommand(args, request, options2) {
4268
4457
  if (!value || typeof value !== "object" || Array.isArray(value) || Object.keys(value).some((key) => key !== "parts") || !("parts" in value) || !Array.isArray(value.parts) || !value.parts.length)
4269
4458
  usage3("Manifest requires a nonempty parts array.");
4270
4459
  if (value.parts.length > context.archiveLimits.maxMembers)
4271
- throw new OfficeError7("resource-limit", "Manifest exceeds member limit.", "admit");
4460
+ throw new OfficeError8("resource-limit", "Manifest exceeds member limit.", "admit");
4272
4461
  const parts = value.parts;
4273
4462
  for (const item of parts)
4274
4463
  if (!item || typeof item !== "object" || Object.keys(item).some((key) => !["part", "sha256", "file"].includes(key)) || !canonical(item.part) || typeof item.sha256 !== "string" || item.sha256.length !== 64 || [...item.sha256].some((c) => !"0123456789abcdef".includes(c)) || !item.file || typeof item.file !== "object" || Object.keys(item.file).length !== 1 || typeof item.file.vfsPath !== "string" || !item.file.vfsPath.length)
@@ -4290,7 +4479,7 @@ async function executePackageCommand(args, request, options2) {
4290
4479
  );
4291
4480
  total += bytes2.length;
4292
4481
  if (bytes2.length > context.archiveLimits.maxEntryBytes || total > context.archiveLimits.maxTotalBytes)
4293
- throw new OfficeError7("resource-limit", "Manifest contents exceed byte limit.", "admit");
4482
+ throw new OfficeError8("resource-limit", "Manifest contents exceed byte limit.", "admit");
4294
4483
  members.push({ part: item.part, sha256: item.sha256, bytes: bytes2 });
4295
4484
  }
4296
4485
  const bytes = await packPackage(
@@ -4299,9 +4488,9 @@ async function executePackageCommand(args, request, options2) {
4299
4488
  args.creation?.kind ? { kind: args.creation.kind } : {}
4300
4489
  );
4301
4490
  if (bytes.length > options2.maxOutputBytes)
4302
- throw new OfficeError7("resource-limit", "Packed output exceeds byte limit.", "validate-intent");
4491
+ throw new OfficeError8("resource-limit", "Packed output exceeds byte limit.", "validate-intent");
4303
4492
  const dryRun = args.dryRun ?? false;
4304
- const fingerprint = [...sha256(bytes)].map((byte) => byte.toString(16).padStart(2, "0")).join("");
4493
+ const fingerprint = [...sha2562(bytes)].map((byte) => byte.toString(16).padStart(2, "0")).join("");
4305
4494
  if (args.output && args.output !== "-" && !request.publishOutput)
4306
4495
  throw Object.assign(new Error("Output publication unavailable."), {
4307
4496
  code: "publication-unsupported"
@@ -4335,7 +4524,7 @@ async function executePackageCommand(args, request, options2) {
4335
4524
  }
4336
4525
 
4337
4526
  // packages/safe-bash-command-pptx/src/command-diff.ts
4338
- import { OfficeError as OfficeError8 } from "../../safe-bash-presentation-engine/errors.js";
4527
+ import { OfficeError as OfficeError9 } from "../../safe-bash-presentation-engine/errors.js";
4339
4528
  import { comparePresentations, stageRetainedDiff } from "../../safe-bash-presentation-engine/diff.js";
4340
4529
 
4341
4530
  // packages/safe-bash-command-pptx/src/diff-schema.ts
@@ -4442,7 +4631,7 @@ async function executeDiffCommand(request, options2) {
4442
4631
  let exitCode = 0;
4443
4632
  let staged;
4444
4633
  const failure = (error) => {
4445
- const office = error instanceof OfficeError8 ? error : void 0;
4634
+ const office = error instanceof OfficeError9 ? error : void 0;
4446
4635
  const code = request.signal.aborted ? "cancelled" : office?.code ?? (error && typeof error === "object" && "code" in error && error.code === "resource-limit" ? "resource-limit" : "io-failure");
4447
4636
  exitCode = code === "cancelled" ? 130 : 2;
4448
4637
  const message = office?.message ?? (code === "cancelled" ? "Comparison cancelled." : "Comparison input could not be read.");
@@ -4460,7 +4649,7 @@ async function executeDiffCommand(request, options2) {
4460
4649
  };
4461
4650
  };
4462
4651
  const usage14 = (message) => {
4463
- throw new OfficeError8("invalid-value", message, "usage");
4652
+ throw new OfficeError9("invalid-value", message, "usage");
4464
4653
  };
4465
4654
  try {
4466
4655
  let byteCount = 0;
@@ -4468,7 +4657,7 @@ async function executeDiffCommand(request, options2) {
4468
4657
  if (!(bytes2 instanceof Uint8Array)) usage14("Arguments must be byte arrays.");
4469
4658
  byteCount += bytes2.byteLength;
4470
4659
  if (byteCount > options2.maxArgumentBytes)
4471
- throw new OfficeError8("resource-limit", "Argument limit exceeded.", "admit");
4660
+ throw new OfficeError9("resource-limit", "Argument limit exceeded.", "admit");
4472
4661
  try {
4473
4662
  return new TextDecoder("utf-8", { fatal: true }).decode(bytes2);
4474
4663
  } catch {
@@ -4546,7 +4735,7 @@ async function executeDiffCommand(request, options2) {
4546
4735
  }
4547
4736
  };
4548
4737
  if (mode === "effective-formatting")
4549
- throw new OfficeError8(
4738
+ throw new OfficeError9(
4550
4739
  "unsupported-profile",
4551
4740
  "Effective formatting comparison is not supported.",
4552
4741
  "usage"
@@ -4559,7 +4748,7 @@ async function executeDiffCommand(request, options2) {
4559
4748
  try {
4560
4749
  staged = await stageRetainedDiff(left, right, { mode, json, maxOutputBytes }, { ...context, workingStorage: request.streaming.workingStorage });
4561
4750
  } catch (error) {
4562
- if (error instanceof OfficeError8 && error.code === "resource-limit" && error.phase === "publish") throw new OfficeError8("resource-limit", "Comparison output limit exceeded.", "admit");
4751
+ if (error instanceof OfficeError9 && error.code === "resource-limit" && error.phase === "publish") throw new OfficeError9("resource-limit", "Comparison output limit exceeded.", "admit");
4563
4752
  throw error;
4564
4753
  }
4565
4754
  exitCode = staged.equal ? 0 : 1;
@@ -4611,7 +4800,7 @@ async function executeDiffCommand(request, options2) {
4611
4800
  let bytes = encoder.encode(json ? JSON.stringify(result) + "\n" : human);
4612
4801
  if (bytes.length > maxOutputBytes) {
4613
4802
  result = failure(
4614
- new OfficeError8("resource-limit", "Comparison output limit exceeded.", "admit")
4803
+ new OfficeError9("resource-limit", "Comparison output limit exceeded.", "admit")
4615
4804
  );
4616
4805
  bytes = encoder.encode(json ? JSON.stringify(result) + "\n" : human);
4617
4806
  }
@@ -4730,8 +4919,8 @@ var templateSchema = {
4730
4919
  };
4731
4920
 
4732
4921
  // packages/safe-bash-command-pptx/src/command-template.ts
4733
- import { sha256 as sha2562 } from "@noble/hashes/sha2.js";
4734
- import { OfficeError as OfficeError9 } from "../../safe-bash-presentation-engine/errors.js";
4922
+ import { sha256 as sha2563 } from "@noble/hashes/sha2.js";
4923
+ import { OfficeError as OfficeError10 } from "../../safe-bash-presentation-engine/errors.js";
4735
4924
  import {
4736
4925
  applyTemplateBindings,
4737
4926
  validateTemplateBindings
@@ -4745,7 +4934,7 @@ function validateTemplateData(value) {
4745
4934
  else validateTemplateRepeat(value);
4746
4935
  }
4747
4936
  function usage4(message) {
4748
- throw new OfficeError9("invalid-value", message, "usage");
4937
+ throw new OfficeError10("invalid-value", message, "usage");
4749
4938
  }
4750
4939
  function validateTemplateCommand(args, positionals, seen) {
4751
4940
  if ([...seen].some(
@@ -4809,7 +4998,7 @@ async function executeTemplateCommand(args, request, options2) {
4809
4998
  code: "publication-unsupported"
4810
4999
  });
4811
5000
  const fingerprint = Array.from(
4812
- sha2562(mutation2.bytes),
5001
+ sha2563(mutation2.bytes),
4813
5002
  (byte) => byte.toString(16).padStart(2, "0")
4814
5003
  ).join("");
4815
5004
  const repeat = Array.isArray(bindings) ? void 0 : bindings;
@@ -5097,11 +5286,11 @@ var commentSchemas = Object.fromEntries(
5097
5286
  );
5098
5287
 
5099
5288
  // packages/safe-bash-command-pptx/src/command-comments.ts
5100
- import { OfficeError as OfficeError10 } from "../../safe-bash-presentation-engine/errors.js";
5289
+ import { OfficeError as OfficeError11 } from "../../safe-bash-presentation-engine/errors.js";
5101
5290
  import { mutateComments, readComments, readCommentAuthors } from "../../safe-bash-presentation-engine/comments.js";
5102
5291
  import { SelectionError } from "../../safe-bash-presentation-engine/selectors.js";
5103
5292
  function usage5(message) {
5104
- throw new OfficeError10("invalid-value", message, "usage");
5293
+ throw new OfficeError11("invalid-value", message, "usage");
5105
5294
  }
5106
5295
  function validateCommentsCommand(args, positionals, seen) {
5107
5296
  const allowed = Object.keys(commentSchemas[args.operation].options.properties).map(
@@ -5603,7 +5792,7 @@ var accessibilitySchemas = Object.fromEntries(
5603
5792
  );
5604
5793
 
5605
5794
  // packages/safe-bash-command-pptx/src/command-accessibility.ts
5606
- import { OfficeError as OfficeError11 } from "../../safe-bash-presentation-engine/errors.js";
5795
+ import { OfficeError as OfficeError12 } from "../../safe-bash-presentation-engine/errors.js";
5607
5796
  import {
5608
5797
  readAccessibility,
5609
5798
  mutateAccessibility,
@@ -5611,7 +5800,7 @@ import {
5611
5800
  } from "../../safe-bash-presentation-engine/accessibility.js";
5612
5801
  import { SelectionError as SelectionError2 } from "../../safe-bash-presentation-engine/selectors.js";
5613
5802
  function usage6(message) {
5614
- throw new OfficeError11("invalid-value", message, "usage");
5803
+ throw new OfficeError12("invalid-value", message, "usage");
5615
5804
  }
5616
5805
  function validateAccessibilityCommand(args, positionals, seen) {
5617
5806
  const allowed = Object.keys(accessibilitySchemas[args.operation].options.properties).map(
@@ -5721,13 +5910,13 @@ async function executeAccessibilityCommand(args, request, options2) {
5721
5910
  }
5722
5911
 
5723
5912
  // packages/safe-bash-command-pptx/src/command-metadata.ts
5724
- import { OfficeError as OfficeError12 } from "../../safe-bash-presentation-engine/errors.js";
5913
+ import { OfficeError as OfficeError13 } from "../../safe-bash-presentation-engine/errors.js";
5725
5914
  import { coreDefinition, mutateProperty, readProperties } from "../../safe-bash-presentation-engine/properties.js";
5726
5915
  import { sanitize as sanitizePresentation } from "../../safe-bash-presentation-engine/sanitize.js";
5727
5916
  import { mutateTags, readTags } from "../../safe-bash-presentation-engine/tags.js";
5728
5917
  import { SelectionError as SelectionError3 } from "../../safe-bash-presentation-engine/selectors.js";
5729
5918
  function usage7(message) {
5730
- throw new OfficeError12("invalid-value", message, "usage");
5919
+ throw new OfficeError13("invalid-value", message, "usage");
5731
5920
  }
5732
5921
  function removalCategories(value) {
5733
5922
  const categories = ["notes", "comments", "properties", "links", "objects"];
@@ -5829,11 +6018,11 @@ ${sanitization.retained.map((entry) => `Retained ${entry.category} ${entry.kind}
5829
6018
  }
5830
6019
 
5831
6020
  // packages/safe-bash-command-pptx/src/command-notes.ts
5832
- import { OfficeError as OfficeError13 } from "../../safe-bash-presentation-engine/errors.js";
6021
+ import { OfficeError as OfficeError14 } from "../../safe-bash-presentation-engine/errors.js";
5833
6022
  import { mutateNotes, readNotes, validateNotesOptions } from "../../safe-bash-presentation-engine/notes.js";
5834
6023
  import { readSelectionIndex, SelectionError as SelectionError4 } from "../../safe-bash-presentation-engine/selectors.js";
5835
6024
  function usage8(message) {
5836
- throw new OfficeError13("invalid-value", message, "usage");
6025
+ throw new OfficeError14("invalid-value", message, "usage");
5837
6026
  }
5838
6027
  function validateNotesCommand(args, positionals, seen) {
5839
6028
  const allowed = Object.keys(noteSchemas[args.operation].options.properties).map(
@@ -6115,12 +6304,12 @@ var linkSchemas = Object.fromEntries(
6115
6304
  // packages/safe-bash-command-pptx/src/command-links.ts
6116
6305
  import { readPackage as readPackage2 } from "../../safe-bash-presentation-engine/package-reader.js";
6117
6306
  import { parseXmlPart as parseXmlPart2 } from "../../safe-bash-presentation-engine/xml.js";
6118
- import { OfficeError as OfficeError14 } from "../../safe-bash-presentation-engine/errors.js";
6307
+ import { OfficeError as OfficeError15 } from "../../safe-bash-presentation-engine/errors.js";
6119
6308
  import { listLinks, setLink, removeLink, isOrdinaryLinkUrl } from "../../safe-bash-presentation-engine/links.js";
6120
6309
  import { readShapes } from "../../safe-bash-presentation-engine/shape-operations.js";
6121
6310
  import { SelectionError as SelectionError5 } from "../../safe-bash-presentation-engine/selectors.js";
6122
6311
  function usage9(message) {
6123
- throw new OfficeError14("invalid-value", message, "usage");
6312
+ throw new OfficeError15("invalid-value", message, "usage");
6124
6313
  }
6125
6314
  function validateLinkCommand(args, positionals, seen) {
6126
6315
  const allowed = Object.keys(linkSchemas[args.operation].options.properties).map(
@@ -6258,7 +6447,7 @@ async function executeLinkCommand(args, request, options2) {
6258
6447
  if (args.operation === "links.add" && selectedLinks.some(
6259
6448
  (link) => link.part === selection.owner && link.shapeId === selection.id && (path ? link.path.length === path.length + 1 && path.every((position, i) => link.path[i] === position) : existingShapeLinks.has(JSON.stringify([link.part, link.shapeId])))
6260
6449
  ))
6261
- throw new OfficeError14(
6450
+ throw new OfficeError15(
6262
6451
  "unsupported-edit",
6263
6452
  "Selected trigger already contains a link.",
6264
6453
  "validate-intent"
@@ -7285,11 +7474,11 @@ import { readAnimations } from "../../safe-bash-presentation-engine/animations.j
7285
7474
  import { mutateAnimations, mutateAnimationsBatch, validateAnimationOptions as validateAnimationOptions2 } from "../../safe-bash-presentation-engine/animation-editing.js";
7286
7475
 
7287
7476
  // packages/safe-bash-command-pptx/src/animation-batch-command.ts
7288
- import { OfficeError as OfficeError15 } from "../../safe-bash-presentation-engine/errors.js";
7477
+ import { OfficeError as OfficeError16 } from "../../safe-bash-presentation-engine/errors.js";
7289
7478
  import { validateAnimationOptions } from "../../safe-bash-presentation-engine/animation-editing.js";
7290
7479
  import { decodeSelectionToken, SelectionError as SelectionError6 } from "../../safe-bash-presentation-engine/selectors.js";
7291
7480
  function invalid(message) {
7292
- throw new OfficeError15("invalid-value", message, "usage");
7481
+ throw new OfficeError16("invalid-value", message, "usage");
7293
7482
  }
7294
7483
  function record(value, keys) {
7295
7484
  if (!value || typeof value !== "object" || Array.isArray(value) || Object.keys(value).some((key) => !keys.includes(key))) invalid("Invalid animation batch fields.");
@@ -7497,11 +7686,11 @@ var equationSchemas = Object.fromEntries(["list", "get", "add"].map((action) =>
7497
7686
  }));
7498
7687
 
7499
7688
  // packages/safe-bash-command-pptx/src/command-equations.ts
7500
- import { OfficeError as OfficeError16 } from "../../safe-bash-presentation-engine/errors.js";
7689
+ import { OfficeError as OfficeError17 } from "../../safe-bash-presentation-engine/errors.js";
7501
7690
  import { readEquations, mutateEquations } from "../../safe-bash-presentation-engine/equations.js";
7502
7691
  import { SelectionError as SelectionError7 } from "../../safe-bash-presentation-engine/selectors.js";
7503
7692
  function usage10(message) {
7504
- throw new OfficeError16("invalid-value", message, "usage");
7693
+ throw new OfficeError17("invalid-value", message, "usage");
7505
7694
  }
7506
7695
  function validateEquationCommand(args, positionals, seen) {
7507
7696
  const schema = equationSchemas[args.operation];
@@ -7651,12 +7840,12 @@ var opaqueSchemas = Object.fromEntries(["objects.list", "objects.extract", "font
7651
7840
  }));
7652
7841
 
7653
7842
  // packages/safe-bash-command-pptx/src/command-opaque.ts
7654
- import { sha256 as sha2563 } from "@noble/hashes/sha2.js";
7655
- import { OfficeError as OfficeError17 } from "../../safe-bash-presentation-engine/errors.js";
7843
+ import { sha256 as sha2564 } from "@noble/hashes/sha2.js";
7844
+ import { OfficeError as OfficeError18 } from "../../safe-bash-presentation-engine/errors.js";
7656
7845
  import { extractObject, readFonts, readObjects } from "../../safe-bash-presentation-engine/opaque-objects.js";
7657
7846
  import { partName as partName3 } from "../../safe-bash-presentation-engine/package-uri.js";
7658
7847
  function usage11(message) {
7659
- throw new OfficeError17("invalid-value", message, "usage");
7848
+ throw new OfficeError18("invalid-value", message, "usage");
7660
7849
  }
7661
7850
  function validateOpaqueCommand(args, positionals, seen) {
7662
7851
  const schema = opaqueSchemas[args.operation];
@@ -7693,7 +7882,7 @@ async function executeOpaqueCommand(args, request, options2) {
7693
7882
  }
7694
7883
  const extracted = await extractObject(bytes, { part: args.part }, context);
7695
7884
  const files = [{ part: extracted.part, name: extracted.name, bytes: extracted.bytes }, ...extracted.dependencies];
7696
- if (files.length > (args.limits?.maxOutputs ?? context.archiveLimits.maxMembers)) throw new OfficeError17("resource-limit", "Opaque output count exceeds limit.", "validate-intent");
7885
+ if (files.length > (args.limits?.maxOutputs ?? context.archiveLimits.maxMembers)) throw new OfficeError18("resource-limit", "Opaque output count exceeds limit.", "validate-intent");
7697
7886
  const dryRun = args.dryRun ?? false;
7698
7887
  const allowPartialOutput = args.allowPartialOutput ?? false;
7699
7888
  if (!dryRun && !request.publishOutputs && (!allowPartialOutput || !request.publishOutput)) throw Object.assign(new Error("Object extraction requires atomic publication or explicit partial output."), { code: "publication-unsupported" });
@@ -7701,7 +7890,7 @@ async function executeOpaqueCommand(args, request, options2) {
7701
7890
  part: file.part,
7702
7891
  name: file.name,
7703
7892
  path: `${args.outputDir ?? ""}${!args.outputDir || args.outputDir.endsWith("/") ? "" : "/"}${file.name}`,
7704
- sha256: [...sha2563(file.bytes)].map((byte) => byte.toString(16).padStart(2, "0")).join(""),
7893
+ sha256: [...sha2564(file.bytes)].map((byte) => byte.toString(16).padStart(2, "0")).join(""),
7705
7894
  bytes: file.bytes.length
7706
7895
  }));
7707
7896
  const publications = args.outputDir ? files.map((file, index) => ({ inputPath: args.input, outputPath: opaqueManifest[index].path, bytes: file.bytes, originalBytes: bytes, inPlace: false, force: args.force ?? false, dryRun })) : void 0;
@@ -7725,7 +7914,7 @@ import { readMedia } from "../../safe-bash-presentation-engine/media.js";
7725
7914
  import { extractMedia } from "../../safe-bash-presentation-engine/media-extraction.js";
7726
7915
 
7727
7916
  // packages/safe-bash-command-pptx/src/command-media-editing.ts
7728
- import { OfficeError as OfficeError18 } from "../../safe-bash-presentation-engine/errors.js";
7917
+ import { OfficeError as OfficeError19 } from "../../safe-bash-presentation-engine/errors.js";
7729
7918
  import { addMedia, replaceMedia } from "../../safe-bash-presentation-engine/media-editing.js";
7730
7919
 
7731
7920
  // packages/safe-bash-command-pptx/src/media-schema.ts
@@ -7975,7 +8164,7 @@ for (const action of ["add", "replace", "extract"]) {
7975
8164
 
7976
8165
  // packages/safe-bash-command-pptx/src/command-media-editing.ts
7977
8166
  function usage12(message) {
7978
- throw new OfficeError18("invalid-value", message, "usage");
8167
+ throw new OfficeError19("invalid-value", message, "usage");
7979
8168
  }
7980
8169
  function validateMediaEditingCommand(args, positionals, seen) {
7981
8170
  const allowed = Object.keys(mediaSchemas[args.operation].options.properties).map(
@@ -9069,8 +9258,8 @@ import {
9069
9258
  import { readBackgrounds, mutateBackground } from "../../safe-bash-presentation-engine/backgrounds.js";
9070
9259
  import { replacePresentationText } from "../../safe-bash-presentation-engine/text-replacement.js";
9071
9260
  import { readPresentationText } from "../../safe-bash-presentation-engine/text-reading.js";
9072
- import { OfficeError as OfficeError19 } from "../../safe-bash-presentation-engine/errors.js";
9073
- import { sha256 as sha2564 } from "@noble/hashes/sha2.js";
9261
+ import { OfficeError as OfficeError20 } from "../../safe-bash-presentation-engine/errors.js";
9262
+ import { sha256 as sha2565 } from "@noble/hashes/sha2.js";
9074
9263
  import { packageUri, partName as partName4 } from "../../safe-bash-presentation-engine/package-uri.js";
9075
9264
  import {
9076
9265
  SelectionError as SelectionError8,
@@ -9271,7 +9460,7 @@ Slides add requires an exact layout name or part URI; position defaults to appen
9271
9460
  Title/body match placeholder types; indexed bindings use --placeholders-json.
9272
9461
  `;
9273
9462
  function usage13(message) {
9274
- throw new OfficeError19("invalid-value", message, "usage");
9463
+ throw new OfficeError20("invalid-value", message, "usage");
9275
9464
  }
9276
9465
  function paragraphTabLength(length4) {
9277
9466
  if (Object.keys(length4).some((key) => !["value", "unit"].includes(key)) || typeof length4.value !== "number" || !Number.isFinite(length4.value) || length4.value < 0 || typeof length4.unit !== "string")
@@ -9530,7 +9719,7 @@ function parse(raw, maximum, output3) {
9530
9719
  size += bytes.length + 1;
9531
9720
  if (size > maximum) {
9532
9721
  if (invalidUtf8) usage13("Arguments must be UTF-8.");
9533
- throw new OfficeError19("resource-limit", "Argument limit exceeded.", "usage");
9722
+ throw new OfficeError20("resource-limit", "Argument limit exceeded.", "usage");
9534
9723
  }
9535
9724
  try {
9536
9725
  args.push(decoder.decode(bytes));
@@ -10182,7 +10371,7 @@ function parse(raw, maximum, output3) {
10182
10371
  try {
10183
10372
  parsed = admitFontMetrics(JSON.parse(value));
10184
10373
  } catch (error) {
10185
- if (error instanceof OfficeError19) throw error;
10374
+ if (error instanceof OfficeError20) throw error;
10186
10375
  usage13("Metrics require a valid JSON metric object.");
10187
10376
  }
10188
10377
  } else if (["bold", "italic", "wrap"].includes(key)) {
@@ -11908,10 +12097,10 @@ async function transferLocations(bytes, budget) {
11908
12097
  (edge) => relationshipNamespaces.some((namespace) => edge.type === `${namespace}/officeDocument`)
11909
12098
  );
11910
12099
  const root = roots.length === 1 ? roots[0].targetPart : void 0;
11911
- if (!root) throw new OfficeError19("invalid-opc", "Presentation part is missing.", "index");
12100
+ if (!root) throw new OfficeError20("invalid-opc", "Presentation part is missing.", "index");
11912
12101
  const relationshipNamespace = roots[0].type.slice(0, -"/officeDocument".length);
11913
12102
  const xml = budget.xml(reader.get(root));
11914
- const fingerprint = Array.from(sha2564(bytes), (byte) => byte.toString(16).padStart(2, "0")).join(
12103
+ const fingerprint = Array.from(sha2565(bytes), (byte) => byte.toString(16).padStart(2, "0")).join(
11915
12104
  ""
11916
12105
  );
11917
12106
  const locations = xml.root.children.filter(
@@ -11927,7 +12116,7 @@ async function transferLocations(bytes, budget) {
11927
12116
  (edge) => edge.id === reference && edge.type === `${relationshipNamespace}/slide`
11928
12117
  )?.targetPart;
11929
12118
  if (!id || !owner || !reader.has(owner))
11930
- throw new OfficeError19("invalid-opc", "Referenced slide is missing.", "index");
12119
+ throw new OfficeError20("invalid-opc", "Referenced slide is missing.", "index");
11931
12120
  return {
11932
12121
  fingerprint,
11933
12122
  scope: "slides",
@@ -12037,7 +12226,7 @@ async function executeRequest(request, options2, owned) {
12037
12226
  output3.operation = args.operation;
12038
12227
  const operation2 = args.operation;
12039
12228
  if (args.operation === "pack" && request.streaming) {
12040
- if (args.creation?.author !== void 0 || args.creation?.timestamp !== void 0) throw new OfficeError19("unsupported-edit", "Pack metadata overrides are unavailable; source properties are preserved.", "validate-intent");
12229
+ if (args.creation?.author !== void 0 || args.creation?.timestamp !== void 0) throw new OfficeError20("unsupported-edit", "Pack metadata overrides are unavailable; source properties are preserved.", "validate-intent");
12041
12230
  const streaming = request.streaming, context = { ...options2.context, signal: request.signal, workingStorage: streaming.workingStorage };
12042
12231
  const input = await streaming.openInput(args.manifest, Math.min(context.limits.maxBytes, context.xmlLimits.maxBytes));
12043
12232
  const manifest = await openRetainedPackManifest(input.stream(), context, { manifest: args.manifest, ...args.output === void 0 ? {} : { output: args.output } });
@@ -12049,7 +12238,7 @@ async function executeRequest(request, options2, owned) {
12049
12238
  yield* source3.stream();
12050
12239
  }, context, args.creation?.kind ? { kind: args.creation.kind } : {});
12051
12240
  owned.push(packed);
12052
- if (packed.size > options2.maxOutputBytes) throw new OfficeError19("resource-limit", "Packed output exceeds byte limit.", "validate-intent");
12241
+ if (packed.size > options2.maxOutputBytes) throw new OfficeError20("resource-limit", "Packed output exceeds byte limit.", "validate-intent");
12053
12242
  const dryRun = args.dryRun ?? false;
12054
12243
  result = {
12055
12244
  version: 1,
@@ -12069,6 +12258,14 @@ async function executeRequest(request, options2, owned) {
12069
12258
  } else if (args.output === "-" && !dryRun) stagedOutput = { close: packed.close, async write(sink) {
12070
12259
  for await (const bytes of packed.bytes()) await sink.write(bytes);
12071
12260
  } };
12261
+ } else if (args.operation === "media.extract" && request.streaming && (!request.publishOutputs || request.publishOutputStreams) && (!request.preflightOutput || request.preflightOutputStream)) {
12262
+ retainedExtraction = await prepareRetainedMediaExtraction(args, request, options2);
12263
+ owned.push(retainedExtraction);
12264
+ result = success(operation2, null);
12265
+ } else if (args.operation === "objects.extract" && request.streaming && (!request.publishOutputs || request.publishOutputStreams) && (!request.preflightOutput || request.preflightOutputStream)) {
12266
+ retainedExtraction = await prepareRetainedObjectExtraction(args, request, options2);
12267
+ owned.push(retainedExtraction);
12268
+ result = success(operation2, null);
12072
12269
  } else if (args.operation === "extract" && request.streaming && (!request.publishOutputs || request.publishOutputStreams) && (!request.preflightOutput || request.preflightOutputStream)) {
12073
12270
  retainedExtraction = await prepareRetainedExtraction(args, request, options2);
12074
12271
  owned.push(retainedExtraction);
@@ -12076,7 +12273,7 @@ async function executeRequest(request, options2, owned) {
12076
12273
  } else if (args.operation === "xml.set" && request.streaming) {
12077
12274
  if (args.token) decodeSelectionToken2(args.token);
12078
12275
  const streaming = request.streaming, context = { ...options2.context, signal: request.signal, workingStorage: streaming.workingStorage };
12079
- if (!context.validationLimits) throw new OfficeError19("invalid-value", "XML operations require explicit validation limits.", "usage");
12276
+ if (!context.validationLimits) throw new OfficeError20("invalid-value", "XML operations require explicit validation limits.", "usage");
12080
12277
  const input = await streaming.openInput(args.input, Math.min(context.limits.maxBytes, context.archiveLimits.maxArchiveBytes));
12081
12278
  const maxReplacementBytes = Math.min(context.validationLimits.maxBytes, context.archiveLimits.maxEntryBytes), file = args.file;
12082
12279
  async function* replacement() {
@@ -12099,6 +12296,65 @@ async function executeRequest(request, options2, owned) {
12099
12296
  publication = { inputPath: args.input, outputPath: destination, bytes: staged.bytes(), originalBytes: input, inPlace: args.inPlace ?? false, force: args.force ?? false, dryRun };
12100
12297
  }
12101
12298
  result = success(operation2, null);
12299
+ } else if ((args.operation === "media.list" || args.operation === "media.get") && request.streaming) {
12300
+ const context = { ...options2.context, signal: request.signal, workingStorage: request.streaming.workingStorage };
12301
+ const input = await request.streaming.openInput(args.input, Math.min(context.limits.maxBytes, context.archiveLimits.maxArchiveBytes));
12302
+ const hash = sha2565.create();
12303
+ for await (const bytes of input.stream()) {
12304
+ request.signal.throwIfAborted();
12305
+ hash.update(bytes);
12306
+ }
12307
+ const fingerprint = Array.from(hash.digest(), (byte) => byte.toString(16).padStart(2, "0")).join("");
12308
+ const archive = await openPackageArchive3(input, context);
12309
+ let failed = false;
12310
+ try {
12311
+ const staged = await stageRetainedMedia(archive, fingerprint, {
12312
+ ...args.scope === void 0 ? {} : { scope: args.scope },
12313
+ ...args.slide === void 0 ? {} : { slide: args.slide },
12314
+ ...args.shape === void 0 ? {} : { shape: args.shape },
12315
+ ...args.token === void 0 ? {} : { select: args.token }
12316
+ }, context, { operation: args.operation, json: args.json, maxOutputBytes: options2.maxOutputBytes });
12317
+ stagedOutput = staged.output;
12318
+ exitCode = staged.ok ? 0 : 1;
12319
+ } catch (error) {
12320
+ failed = true;
12321
+ throw error;
12322
+ } finally {
12323
+ try {
12324
+ await archive.close();
12325
+ } catch (error) {
12326
+ if (!failed) {
12327
+ await stagedOutput?.close().catch(() => {
12328
+ });
12329
+ await Promise.reject(error);
12330
+ }
12331
+ }
12332
+ }
12333
+ owned.push(stagedOutput);
12334
+ result = success(operation2, null);
12335
+ } else if ((args.operation === "objects.list" || args.operation === "fonts.list") && request.streaming) {
12336
+ const context = { ...options2.context, signal: request.signal, workingStorage: request.streaming.workingStorage };
12337
+ const input = await request.streaming.openInput(args.input, Math.min(context.limits.maxBytes, context.archiveLimits.maxArchiveBytes));
12338
+ const archive = await openPackageArchive3(input, context);
12339
+ let failed = false;
12340
+ try {
12341
+ stagedOutput = await (args.operation === "fonts.list" ? stageRetainedFonts : stageRetainedObjects)(archive, context, { json: args.json, maxOutputBytes: options2.maxOutputBytes });
12342
+ } catch (error) {
12343
+ failed = true;
12344
+ throw error;
12345
+ } finally {
12346
+ try {
12347
+ await archive.close();
12348
+ } catch (error) {
12349
+ if (!failed) {
12350
+ await stagedOutput?.close().catch(() => {
12351
+ });
12352
+ await Promise.reject(error);
12353
+ }
12354
+ }
12355
+ }
12356
+ owned.push(stagedOutput);
12357
+ result = success(operation2, null);
12102
12358
  } else if (args.operation === "slides.set" && request.streaming) {
12103
12359
  if (args.token) decodeSelectionToken2(args.token);
12104
12360
  const input = await request.streaming.openInput(args.input, Math.min(options2.context.limits.maxBytes, options2.context.archiveLimits.maxArchiveBytes));
@@ -12116,21 +12372,26 @@ async function executeRequest(request, options2, owned) {
12116
12372
  publication = { inputPath: args.input, outputPath: destination, bytes: staged.bytes(), originalBytes: input, inPlace: args.inPlace ?? false, force: args.force ?? false, dryRun };
12117
12373
  }
12118
12374
  result = success(operation2, null);
12119
- } else if ((args.operation === "inspect" || args.operation === "text.get" || args.operation === "fields.list" || args.operation === "fields.get" || args.operation === "text.frames.list" || args.operation === "text.frames.get" || args.operation === "text.runs.list" || args.operation === "text.runs.get" || args.operation === "text.paragraphs.list" || args.operation === "text.paragraphs.get" || args.operation === "notes.list" || args.operation === "notes.get" || args.operation === "properties.list" || args.operation === "properties.get" || args.operation === "tags.list" || args.operation === "tags.get" || args.operation === "settings.list" || args.operation === "settings.get" || args.operation === "sections.list" || args.operation === "sections.get" || args.operation === "shows.list" || args.operation === "shows.get" || args.operation === "xml.get") && request.streaming) {
12120
- if (args.token && args.operation !== "notes.list" && args.operation !== "notes.get" && args.operation !== "tags.list" && args.operation !== "tags.get" && !["sections.list", "sections.get", "shows.list", "shows.get"].includes(args.operation)) decodeSelectionToken2(args.token);
12375
+ } else if ((args.operation === "inspect" || args.operation === "text.get" || args.operation === "fields.list" || args.operation === "fields.get" || args.operation === "text.frames.list" || args.operation === "text.frames.get" || args.operation === "text.runs.list" || args.operation === "text.runs.get" || args.operation === "text.paragraphs.list" || args.operation === "text.paragraphs.get" || args.operation === "notes.list" || args.operation === "notes.get" || args.operation === "properties.list" || args.operation === "properties.get" || args.operation === "tags.list" || args.operation === "tags.get" || args.operation === "settings.list" || args.operation === "settings.get" || args.operation === "sections.list" || args.operation === "sections.get" || args.operation === "shows.list" || args.operation === "shows.get" || args.operation === "transitions.list" || args.operation === "transitions.get" || args.operation === "xml.get") && request.streaming) {
12376
+ if (args.token && args.operation !== "notes.list" && args.operation !== "notes.get" && args.operation !== "tags.list" && args.operation !== "tags.get" && !["sections.list", "sections.get", "shows.list", "shows.get", "transitions.list", "transitions.get"].includes(args.operation)) decodeSelectionToken2(args.token);
12121
12377
  const input = await request.streaming.openInput(args.input, Math.min(options2.context.limits.maxBytes, options2.context.archiveLimits.maxArchiveBytes));
12122
- const hash = sha2564.create();
12378
+ const hash = sha2565.create();
12123
12379
  for await (const bytes of input.stream()) {
12124
12380
  request.signal.throwIfAborted();
12125
12381
  hash.update(bytes);
12126
12382
  }
12127
12383
  const fingerprint = Array.from(hash.digest(), (byte) => byte.toString(16).padStart(2, "0")).join("");
12128
12384
  const context = { ...options2.context, signal: request.signal, workingStorage: request.streaming.workingStorage };
12129
- const archive = await openPackageArchive(input, context);
12385
+ const archive = await openPackageArchive3(input, context);
12130
12386
  let failed = false;
12131
12387
  try {
12132
- const scope = args.operation === "notes.list" || args.operation === "notes.get" || args.operation === "tags.list" || args.operation === "tags.get" || args.operation === "sections.list" || args.operation === "sections.get" || args.operation === "shows.list" || args.operation === "shows.get" ? void 0 : args.token ? decodeSelectionToken2(args.token).scope : args.scope;
12133
- stagedOutput = args.operation === "sections.list" || args.operation === "sections.get" || args.operation === "shows.list" || args.operation === "shows.get" ? await stageRetainedMemberships(archive, fingerprint, args.operation.startsWith("sections.") ? "sections" : "shows", {
12388
+ const scope = args.operation === "notes.list" || args.operation === "notes.get" || args.operation === "tags.list" || args.operation === "tags.get" || args.operation === "sections.list" || args.operation === "sections.get" || args.operation === "shows.list" || args.operation === "shows.get" || args.operation === "transitions.list" || args.operation === "transitions.get" ? void 0 : args.token ? decodeSelectionToken2(args.token).scope : args.scope;
12389
+ stagedOutput = args.operation === "transitions.list" || args.operation === "transitions.get" ? await stageRetainedTransitions(archive, fingerprint, args.operation === "transitions.list" && !args.token && args.slide === void 0 ? {} : { selection: args.token ? { token: args.token } : {
12390
+ kind: "slide",
12391
+ scope: "slides",
12392
+ ...args.slide === void 0 ? {} : { position: { coordinateSystem: "one-based", value: args.slide } },
12393
+ ...args.all ? { all: true } : {}
12394
+ } }, context, { operation: args.operation, json: args.json, maxOutputBytes: options2.maxOutputBytes }) : args.operation === "sections.list" || args.operation === "sections.get" || args.operation === "shows.list" || args.operation === "shows.get" ? await stageRetainedMemberships(archive, fingerprint, args.operation.startsWith("sections.") ? "sections" : "shows", {
12134
12395
  ...args.token === void 0 ? {} : { token: args.token },
12135
12396
  ...args.slide === void 0 ? {} : { slide: args.slide }
12136
12397
  }, context, { operation: args.operation, json: args.json, maxOutputBytes: options2.maxOutputBytes }) : args.operation === "settings.list" || args.operation === "settings.get" ? await stageRetainedPresentationSettings(archive, fingerprint, context, { operation: args.operation, json: args.json, maxOutputBytes: options2.maxOutputBytes }) : args.operation === "tags.list" || args.operation === "tags.get" ? await stageRetainedTags(archive, fingerprint, {
@@ -12163,7 +12424,7 @@ async function executeRequest(request, options2, owned) {
12163
12424
  }, context, { json: args.json, maxOutputBytes: options2.maxOutputBytes });
12164
12425
  } catch (error) {
12165
12426
  failed = true;
12166
- if (error instanceof OfficeError19 && error.code === "resource-limit" && error.phase === "publish") return outputLimitFailure(operation2, args.json);
12427
+ if (error instanceof OfficeError20 && error.code === "resource-limit" && error.phase === "publish") return outputLimitFailure(operation2, args.json);
12167
12428
  throw error;
12168
12429
  } finally {
12169
12430
  try {
@@ -12183,12 +12444,12 @@ async function executeRequest(request, options2, owned) {
12183
12444
  if (request.streaming) {
12184
12445
  const input = await request.streaming.openInput(args.input, maxBytes);
12185
12446
  const context = { ...options2.context, signal: request.signal, workingStorage: request.streaming.workingStorage };
12186
- const archive = await openPackageArchive(input, context);
12447
+ const archive = await openPackageArchive3(input, context);
12187
12448
  let validation;
12188
12449
  let failed = false;
12189
12450
  try {
12190
12451
  validation = await openRetainedPresentationValidation(archive, context, limits);
12191
- if (!validation.valid) throw new OfficeError19("invalid-opc", "Presentation semantic validation failed.", "index");
12452
+ if (!validation.valid) throw new OfficeError20("invalid-opc", "Presentation semantic validation failed.", "index");
12192
12453
  result = success(operation2, { valid: true, schema: validation.schema, rules: validation.rules, issues: [] });
12193
12454
  } catch (error) {
12194
12455
  failed = true;
@@ -12203,7 +12464,7 @@ async function executeRequest(request, options2, owned) {
12203
12464
  const bytes = await request.readInput(args.input, maxBytes);
12204
12465
  const reader = await readPackage3(bytes, { ...options2.context, signal: request.signal });
12205
12466
  const validation = validatePresentation(reader, limits);
12206
- if (!validation.valid) throw new OfficeError19("invalid-opc", "Presentation semantic validation failed.", "index");
12467
+ if (!validation.valid) throw new OfficeError20("invalid-opc", "Presentation semantic validation failed.", "index");
12207
12468
  result = success(operation2, validation);
12208
12469
  }
12209
12470
  human = "Presentation is semantically valid; XML schema validation not checked.\n";
@@ -12570,7 +12831,7 @@ ${JSON.stringify(result.data, null, 2)}
12570
12831
  const changed = await mutateAnimationsBatch(bytes, resolveAnimationBatch(items, index), context);
12571
12832
  const dryRun = args.dryRun ?? false;
12572
12833
  const destination = args.inPlace ? args.input : args.output;
12573
- const fingerprint = Array.from(sha2564(changed.bytes), (byte) => byte.toString(16).padStart(2, "0")).join("");
12834
+ const fingerprint = Array.from(sha2565(changed.bytes), (byte) => byte.toString(16).padStart(2, "0")).join("");
12574
12835
  result = { ...success(operation2, {
12575
12836
  results: changed.results.map((entry, i) => ({ ...success(items[i].operation, {
12576
12837
  effects: entry.locations.map((location3) => ({ location: location3, action: items[i].operation.slice(11), feature: "F46" })),
@@ -12610,7 +12871,7 @@ ${JSON.stringify(result.data, null, 2)}
12610
12871
  const locations = changed.locations;
12611
12872
  const dryRun = args.dryRun ?? false;
12612
12873
  const destination = args.inPlace ? args.input : args.output;
12613
- const fingerprint = Array.from(sha2564(changed.bytes), (byte) => byte.toString(16).padStart(2, "0")).join("");
12874
+ const fingerprint = Array.from(sha2565(changed.bytes), (byte) => byte.toString(16).padStart(2, "0")).join("");
12614
12875
  result = { ...success(operation2, {
12615
12876
  effects: locations.map((location3) => ({ location: location3, action, feature: "F46" })),
12616
12877
  outputs: dryRun || !locations.length ? [] : [{ path: destination, sha256: fingerprint, bytes: changed.bytes.length }],
@@ -12668,7 +12929,7 @@ ${JSON.stringify(result.data, null, 2)}
12668
12929
  const locations = records.filter((record3) => changed.affectedSlides.includes(record3.slide)).map((record3) => record3.location);
12669
12930
  const dryRun = args.dryRun ?? false;
12670
12931
  const destination = args.inPlace ? args.input : args.output;
12671
- const fingerprint = Array.from(sha2564(changed.bytes), (byte) => byte.toString(16).padStart(2, "0")).join("");
12932
+ const fingerprint = Array.from(sha2565(changed.bytes), (byte) => byte.toString(16).padStart(2, "0")).join("");
12672
12933
  result = { ...success(operation2, {
12673
12934
  effects: locations.map((location3) => ({ location: location3, action, feature: "F44" })),
12674
12935
  outputs: dryRun || !locations.length ? [] : [{ path: destination, sha256: fingerprint, bytes: changed.bytes.length }],
@@ -12812,14 +13073,14 @@ ${JSON.stringify(result.data, null, 2)}
12812
13073
  {
12813
13074
  path: args.inPlace ? args.input : args.output,
12814
13075
  sha256: Array.from(
12815
- sha2564(changed.bytes),
13076
+ sha2565(changed.bytes),
12816
13077
  (byte) => byte.toString(16).padStart(2, "0")
12817
13078
  ).join(""),
12818
13079
  bytes: changed.bytes.length
12819
13080
  }
12820
13081
  ],
12821
13082
  fingerprint: dryRun ? null : Array.from(
12822
- sha2564(changed.bytes),
13083
+ sha2565(changed.bytes),
12823
13084
  (byte) => byte.toString(16).padStart(2, "0")
12824
13085
  ).join("")
12825
13086
  } : args.operation === "text.fit" ? { frames: changed.affected, sizes: "sizes" in changed ? changed.sizes : [], dryRun } : args.operation === "text.frames.set" ? { frames: changed.affected, dryRun } : args.operation === "text.paragraphs.set" ? { paragraphs: changed.affected, dryRun } : args.operation === "text.runs.set" ? { runs: changed.affected, dryRun } : { replacements: changed.affected, dryRun }
@@ -13799,13 +14060,13 @@ ${item.parts.map((part) => ` ${part}
13799
14060
  const inputs = [];
13800
14061
  for (const path of [args.input, ...args.sources ?? []]) {
13801
14062
  if (remaining < 1)
13802
- throw new OfficeError19("resource-limit", "Combined input limit exceeded.", "admit");
14063
+ throw new OfficeError20("resource-limit", "Combined input limit exceeded.", "admit");
13803
14064
  const bytes = await request.readInput(
13804
14065
  path,
13805
14066
  Math.min(remaining, context.archiveLimits.maxArchiveBytes)
13806
14067
  );
13807
14068
  if (bytes.length > remaining || bytes.length > context.archiveLimits.maxArchiveBytes)
13808
- throw new OfficeError19("resource-limit", "Combined input limit exceeded.", "admit");
14069
+ throw new OfficeError20("resource-limit", "Combined input limit exceeded.", "admit");
13809
14070
  remaining -= bytes.length;
13810
14071
  inputs.push(await budget.read(bytes));
13811
14072
  }
@@ -13866,7 +14127,7 @@ ${item.parts.map((part) => ` ${part}
13866
14127
  );
13867
14128
  splitManifest2 = decks.map((deck) => ({
13868
14129
  path: `${args.outputDir ?? ""}${args.outputDir?.endsWith("/") || !args.outputDir ? "" : "/"}${deck.name}`,
13869
- sha256: Array.from(sha2564(deck.bytes), (byte) => byte.toString(16).padStart(2, "0")).join(
14130
+ sha256: Array.from(sha2565(deck.bytes), (byte) => byte.toString(16).padStart(2, "0")).join(
13870
14131
  ""
13871
14132
  ),
13872
14133
  bytes: deck.bytes.length,
@@ -13891,7 +14152,7 @@ ${item.parts.map((part) => ` ${part}
13891
14152
  }));
13892
14153
  result = {
13893
14154
  ...success(operation2, {
13894
- outputs: dryRun ? [] : splitManifest2.map(({ path, sha256: sha2565, bytes }) => ({ path, sha256: sha2565, bytes })),
14155
+ outputs: dryRun ? [] : splitManifest2.map(({ path, sha256: sha2566, bytes }) => ({ path, sha256: sha2566, bytes })),
13895
14156
  sources: splitManifest2.map(({ sourceSlide, sourceLocation }) => ({
13896
14157
  sourceSlide,
13897
14158
  sourceLocation
@@ -13906,7 +14167,7 @@ ${JSON.stringify(result.data, null, 2)}
13906
14167
  }
13907
14168
  } else if (args.operation === "create") {
13908
14169
  if (args.template)
13909
- throw new OfficeError19(
14170
+ throw new OfficeError20(
13910
14171
  "unsupported-profile",
13911
14172
  "Template-based creation is unavailable.",
13912
14173
  "validate-intent"
@@ -13958,7 +14219,7 @@ ${JSON.stringify(result.data, null, 2)}
13958
14219
  );
13959
14220
  } catch (error) {
13960
14221
  if (error && typeof error === "object" && "code" in error && error.code === "resource-limit")
13961
- throw new OfficeError19("resource-limit", "Input limit exceeded.", "admit");
14222
+ throw new OfficeError20("resource-limit", "Input limit exceeded.", "admit");
13962
14223
  throw error;
13963
14224
  }
13964
14225
  const index = await readSelectionIndex2(bytes, { ...options2.context, signal: request.signal });
@@ -14103,7 +14364,7 @@ ${JSON.stringify(result.data, null, 2)}
14103
14364
  const part = metadata2 ?? records[0].part;
14104
14365
  const validationLimits = options2.context.validationLimits;
14105
14366
  if (!validationLimits)
14106
- throw new OfficeError19(
14367
+ throw new OfficeError20(
14107
14368
  "invalid-value",
14108
14369
  "XML operations require explicit validation limits.",
14109
14370
  "usage"
@@ -14179,10 +14440,10 @@ ${xml.xml}
14179
14440
  await stagedOutput?.close().catch(() => {
14180
14441
  });
14181
14442
  stagedOutput = void 0;
14182
- if (error instanceof OfficeError19 && error.code === "resource-limit" && error.phase === "publish") return outputLimitFailure(output3.operation, output3.json);
14443
+ if (error instanceof OfficeError20 && error.code === "resource-limit" && error.phase === "publish") return outputLimitFailure(output3.operation, output3.json);
14183
14444
  if (request.signal.aborted)
14184
14445
  return { exitCode: 130, stdout: new Uint8Array(), stderr: new Uint8Array() };
14185
- const office = error instanceof OfficeError19 ? error : void 0;
14446
+ const office = error instanceof OfficeError20 ? error : void 0;
14186
14447
  const capabilityCode = error && typeof error === "object" && "code" in error ? error.code : void 0;
14187
14448
  const limit = office?.code === "resource-limit" || capabilityCode === "resource-limit";
14188
14449
  const unsupported = capabilityCode === "publication-unsupported";
@@ -14224,7 +14485,7 @@ ${xml.xml}
14224
14485
  affected: allowPartialOutput ? published : 0,
14225
14486
  locations: allowPartialOutput ? opaqueManifest || mediaManifest ? [] : imageManifest ? imageManifest.slice(0, published).flatMap((item) => item.occurrences.map((occurrence) => occurrence.location)) : splitManifest2.slice(0, published).map((item) => item.sourceLocation) : [],
14226
14487
  data: allowPartialOutput && published > 0 ? opaqueManifest ? { ...result.data, outputs: opaqueManifest.slice(0, published), dryRun: false } : mediaManifest ? { outputs: mediaManifest.slice(0, published), dryRun: false } : imageManifest ? { outputs: imageManifest.slice(0, published), dryRun: false } : {
14227
- outputs: splitManifest2.slice(0, published).map(({ path, sha256: sha2565, bytes }) => ({ path, sha256: sha2565, bytes })),
14488
+ outputs: splitManifest2.slice(0, published).map(({ path, sha256: sha2566, bytes }) => ({ path, sha256: sha2566, bytes })),
14228
14489
  sources: splitManifest2.slice(0, published).map(({ sourceSlide, sourceLocation }) => ({ sourceSlide, sourceLocation }))
14229
14490
  } : null,
14230
14491
  errors: [{ code, message: "Output could not be published.", context: { phase } }]
@@ -14236,7 +14497,7 @@ ${xml.xml}
14236
14497
  (item) => item.occurrences.map((occurrence) => occurrence.location)
14237
14498
  ) : splitManifest2.map((item) => item.sourceLocation),
14238
14499
  data: opaqueManifest ? { ...result.data, outputs: opaqueManifest, dryRun: false } : mediaManifest ? { outputs: mediaManifest, dryRun: false } : imageManifest ? { outputs: imageManifest, dryRun: false } : {
14239
- outputs: splitManifest2.map(({ path, sha256: sha2565, bytes }) => ({ path, sha256: sha2565, bytes })),
14500
+ outputs: splitManifest2.map(({ path, sha256: sha2566, bytes }) => ({ path, sha256: sha2566, bytes })),
14240
14501
  sources: splitManifest2.map(({ sourceSlide, sourceLocation }) => ({
14241
14502
  sourceSlide,
14242
14503
  sourceLocation
@@ -14285,7 +14546,7 @@ ${JSON.stringify(failure.data)}
14285
14546
  } catch (error) {
14286
14547
  if (request.signal.aborted)
14287
14548
  return { exitCode: 130, stdout: new Uint8Array(), stderr: new Uint8Array() };
14288
- const office = error instanceof OfficeError19 ? error : void 0;
14549
+ const office = error instanceof OfficeError20 ? error : void 0;
14289
14550
  const rawCode = error && typeof error === "object" && "code" in error ? error.code : void 0;
14290
14551
  const code = typeof rawCode === "string" && [
14291
14552
  "resource-limit",
@@ -14324,7 +14585,7 @@ ${JSON.stringify(failure.data)}
14324
14585
  if (stagedOutput) {
14325
14586
  let failed = false;
14326
14587
  try {
14327
- await stagedOutput.write(request.streaming.stdout);
14588
+ await stagedOutput.write(exitCode && !json ? request.streaming.stderr : request.streaming.stdout);
14328
14589
  } catch (error) {
14329
14590
  failed = true;
14330
14591
  throw error;
@@ -14335,7 +14596,7 @@ ${JSON.stringify(failure.data)}
14335
14596
  if (!failed) await Promise.reject(error);
14336
14597
  }
14337
14598
  }
14338
- return { exitCode: 0, stdout: new Uint8Array(), stderr: new Uint8Array() };
14599
+ return { exitCode, stdout: new Uint8Array(), stderr: new Uint8Array() };
14339
14600
  }
14340
14601
  if (operation === "validate" && request.streaming) {
14341
14602
  request.signal.throwIfAborted();