@poe-platform/safe-bash 0.1.817 → 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 (1179) hide show
  1. package/dist/image-ast/index.js +2 -2
  2. package/dist/mp4-ast/index.d.ts +2 -1
  3. package/dist/mp4-ast/mp4-metadata-source.d.ts +10 -0
  4. package/dist/mp4-ast/mp4-packets-source.d.ts +8 -1
  5. package/dist/mp4-ast/types.d.ts +21 -3
  6. package/dist/office-xml/retained-xml-document.d.ts +2 -2
  7. package/dist/pdf-ast/ast.d.ts +2 -0
  8. package/dist/pdf-ast/content/evaluator.d.ts +7 -0
  9. package/dist/pdf-ast/content/retained-evaluator.d.ts +2 -2
  10. package/dist/pdf-ast/content/retained-page.d.ts +2 -2
  11. package/dist/pdf-ast/cos/compact-number.d.ts +19 -0
  12. package/dist/pdf-ast/cos/mutable-object-store.d.ts +2 -1
  13. package/dist/pdf-ast/cos/retained-node-writer.d.ts +9 -0
  14. package/dist/pdf-ast/cos/text-store.d.ts +27 -0
  15. package/dist/pdf-ast/edit/retained-bookmarks.d.ts +2 -2
  16. package/dist/pdf-ast/edit/retained-info-updates.d.ts +3 -3
  17. package/dist/pdf-ast/edit/retained-merge-outlines.d.ts +43 -0
  18. package/dist/pdf-ast/edit/retained-page-copy.d.ts +2 -0
  19. package/dist/pdf-ast/extract/html-text-stream.d.ts +14 -0
  20. package/dist/pdf-ast/extract/logical-text-stream.d.ts +14 -0
  21. package/dist/pdf-ast/extract/raw-text-index.d.ts +18 -4
  22. package/dist/pdf-ast/extract/retained-color.d.ts +6 -6
  23. package/dist/pdf-ast/extract/retained-decoded-image.d.ts +2 -2
  24. package/dist/pdf-ast/extract/stored-text-glyphs.d.ts +8 -0
  25. package/dist/pdf-ast/fonts/retained.d.ts +2 -2
  26. package/dist/pdf-ast/image.d.ts +2 -0
  27. package/dist/pdf-ast/image.js +19 -0
  28. package/dist/pdf-ast/index.d.ts +6 -0
  29. package/dist/pdf-ast/index.js +270 -66852
  30. package/dist/pdf-ast/render/postscript.d.ts +6 -0
  31. package/dist/pdf-ast/render/raster.d.ts +21 -1
  32. package/dist/pdf-ast/retained-document.d.ts +23 -95
  33. package/dist/pdf-ast/retained-reader.d.ts +113 -0
  34. package/dist/safe-bash/ast-grep.js +1 -1
  35. package/dist/safe-bash/audio-ast.js +1 -1
  36. package/dist/safe-bash/byte-encoding.js +1 -1
  37. package/dist/safe-bash/chunks/{chunk-HD6DWOAC.js → chunk-67QE3JLU.js} +1 -1
  38. package/dist/safe-bash/chunks/{chunk-HPQE675Q.js → chunk-ESH5MDQR.js} +1 -1
  39. package/dist/safe-bash/chunks/chunk-HNT2MR4W.js +45 -0
  40. package/dist/safe-bash/chunks/{chunk-SXSEF5E2.js → chunk-IRJS54AA.js} +1 -1
  41. package/dist/safe-bash/chunks/{chunk-AXGI5JVL.js → chunk-NAETSXBW.js} +2 -2
  42. package/dist/safe-bash/chunks/{chunk-WW7QPLH2.js → chunk-PSD2RSOS.js} +2 -1
  43. package/dist/safe-bash/chunks/{chunk-FQRI5AS5.js → chunk-VF3Q2V3E.js} +1 -1
  44. package/dist/safe-bash/chunks/{pdfinfo-KQIQEDOF.js → pdfinfo-G7BGZXBN.js} +2 -12
  45. package/dist/safe-bash/command-chunks/biff-AYJZR2YV-YFF3BK43.js +5741 -0
  46. package/dist/safe-bash/command-chunks/{chunk-FEBTT5NH.js → chunk-22D6Q6SW.js} +5 -5
  47. package/dist/safe-bash/command-chunks/{chunk-ALD53QFL.js → chunk-2C4QMQQD.js} +42 -12
  48. package/dist/safe-bash/command-chunks/{chunk-ZHHALBM7.js → chunk-2E53ZL5D.js} +11 -9
  49. package/dist/safe-bash/command-chunks/{chunk-EJ4UP7DA.js → chunk-2ESK2YIE.js} +27 -5
  50. package/dist/safe-bash/command-chunks/{chunk-CKA7ZROU.js → chunk-2GU2UU2Z.js} +9 -9
  51. package/dist/safe-bash/command-chunks/{chunk-L2VLASZ4.js → chunk-2GUI3ZKE.js} +3 -3
  52. package/dist/safe-bash/command-chunks/chunk-2H6RJPCQ.js +721 -0
  53. package/dist/safe-bash/command-chunks/{chunk-DRHONH2C.js → chunk-2IGH6JIP.js} +1 -1
  54. package/dist/safe-bash/command-chunks/{chunk-QDV2NIFR.js → chunk-2TMTGVJR.js} +1 -1
  55. package/dist/safe-bash/command-chunks/{chunk-MQE77MEQ.js → chunk-2V6EUWE3.js} +3 -3
  56. package/dist/safe-bash/command-chunks/{chunk-BIJW6QWB.js → chunk-2VSNIHIW.js} +21 -21
  57. package/dist/safe-bash/command-chunks/{chunk-FSG6UC2N.js → chunk-2XR7B6DY.js} +420 -167
  58. package/dist/safe-bash/command-chunks/{chunk-EY3UE26F.js → chunk-2YC6MWQB.js} +1 -1
  59. package/dist/safe-bash/command-chunks/{chunk-NLCUQD7Y.js → chunk-3DID6MQY.js} +21 -11
  60. package/dist/safe-bash/command-chunks/{chunk-5VO534FR.js → chunk-3K5FCRUG.js} +1 -0
  61. package/dist/safe-bash/command-chunks/{chunk-BSTABZIK.js → chunk-3LMUKOP2.js} +1 -1
  62. package/dist/safe-bash/command-chunks/{chunk-XBWD6SI3.js → chunk-3MFYCMQU.js} +37 -37
  63. package/dist/safe-bash/command-chunks/chunk-3PO534WJ.js +37 -0
  64. package/dist/safe-bash/command-chunks/{chunk-UFLMOU3B.js → chunk-3RDEX4AF.js} +4 -4
  65. package/dist/safe-bash/command-chunks/{chunk-DOVWHVHI.js → chunk-3TXPZLFI.js} +6 -6
  66. package/dist/safe-bash/command-chunks/{chunk-TID5TSQW.js → chunk-42OQIFPW.js} +5 -5
  67. package/dist/safe-bash/command-chunks/{chunk-UJYXSLM6.js → chunk-45QE6QRR.js} +4 -4
  68. package/dist/safe-bash/command-chunks/{chunk-LMLBQSAM.js → chunk-4HJEZGYN.js} +8 -8
  69. package/dist/safe-bash/command-chunks/{chunk-5QXRIZSS.js → chunk-4Q3HP33O.js} +4 -4
  70. package/dist/safe-bash/command-chunks/{chunk-EBX5RKKT.js → chunk-4XYGJB24.js} +4 -4
  71. package/dist/safe-bash/command-chunks/{chunk-NDALIHKK.js → chunk-4ZQYBCB2.js} +22 -22
  72. package/dist/safe-bash/command-chunks/{chunk-OFONWWEZ.js → chunk-5IHJWBDR.js} +2 -2
  73. package/dist/safe-bash/command-chunks/{chunk-TG2RVQLP.js → chunk-5KWEZV5H.js} +2 -2
  74. package/dist/safe-bash/command-chunks/{chunk-UYZ6EFZE.js → chunk-5P5SF75H.js} +83 -34
  75. package/dist/safe-bash/command-chunks/{chunk-P462JTNT.js → chunk-5PJ6VT2O.js} +7 -7
  76. package/dist/safe-bash/command-chunks/{chunk-SICTBSLW.js → chunk-5QR4LTAK.js} +7 -7
  77. package/dist/safe-bash/command-chunks/{chunk-ARE267HR.js → chunk-5XIJYTQU.js} +7 -7
  78. package/dist/safe-bash/command-chunks/chunk-63WEASJ7.js +137 -0
  79. package/dist/safe-bash/command-chunks/{chunk-3K5CVXUV.js → chunk-64L57DEI.js} +19 -19
  80. package/dist/safe-bash/command-chunks/{chunk-2ALHVXEM.js → chunk-6EK76ERE.js} +2 -2
  81. package/dist/safe-bash/command-chunks/{chunk-4772DJKS.js → chunk-6GCK2KSL.js} +61 -26
  82. package/dist/safe-bash/command-chunks/{chunk-T5OQ53XS.js → chunk-6IID5HTY.js} +1 -1
  83. package/dist/safe-bash/command-chunks/{chunk-ABL2DPJI.js → chunk-6PDXNY3T.js} +13 -13
  84. package/dist/safe-bash/command-chunks/{chunk-X42MJT2J.js → chunk-6RE4MZYM.js} +4 -4
  85. package/dist/safe-bash/command-chunks/{chunk-AF2IO57Q.js → chunk-6REH56FL.js} +14 -140
  86. package/dist/safe-bash/command-chunks/{chunk-XFIDOCYH.js → chunk-6ZHNKHQQ.js} +2 -2
  87. package/dist/safe-bash/command-chunks/{chunk-6JGICYHP.js → chunk-75OUKYCM.js} +2 -2
  88. package/dist/safe-bash/command-chunks/{chunk-POGVOCOB.js → chunk-772WNCU6.js} +10 -10
  89. package/dist/safe-bash/command-chunks/{chunk-3DWFXESW.js → chunk-7GJJDM2F.js} +2 -2
  90. package/dist/safe-bash/command-chunks/{chunk-XVEI4HZL.js → chunk-7JTJQKIV.js} +1 -1
  91. package/dist/safe-bash/command-chunks/{chunk-WIW3KDBS.js → chunk-7NFICYRU.js} +2 -2
  92. package/dist/safe-bash/command-chunks/{chunk-3ZVK2OAY.js → chunk-A4GYNM2E.js} +6 -5
  93. package/dist/safe-bash/command-chunks/chunk-AC4FFCRL.js +3820 -0
  94. package/dist/safe-bash/command-chunks/{chunk-SQBWAFUI.js → chunk-ADN7BU5X.js} +58 -26
  95. package/dist/safe-bash/command-chunks/{chunk-FHQOFEQK.js → chunk-AEHEOKI2.js} +10 -10
  96. package/dist/safe-bash/command-chunks/{chunk-BZRWZ6GO.js → chunk-AH3ZEPAN.js} +12 -9
  97. package/dist/safe-bash/command-chunks/{chunk-3MUFXGA2.js → chunk-AR65HNNX.js} +3 -3
  98. package/dist/safe-bash/command-chunks/{chunk-VNNNVT4C.js → chunk-ARA57PMC.js} +5 -5
  99. package/dist/safe-bash/command-chunks/{chunk-3VGQTLO6.js → chunk-AXUHORS3.js} +4 -4
  100. package/dist/safe-bash/command-chunks/chunk-B6NAEWHC.js +53 -0
  101. package/dist/safe-bash/command-chunks/{chunk-2ZWRW6UQ.js → chunk-B74LVFAN.js} +1 -1
  102. package/dist/safe-bash/command-chunks/{chunk-E4TF5W6O.js → chunk-BBOYR6LV.js} +5 -5
  103. package/dist/safe-bash/command-chunks/{chunk-ZM7HMBAJ.js → chunk-BDGNKRY4.js} +7 -7
  104. package/dist/safe-bash/command-chunks/{chunk-KDBU5Q2N.js → chunk-BFOVQUTF.js} +8 -8
  105. package/dist/safe-bash/command-chunks/{chunk-GNT3SCF3.js → chunk-BOMCPF7N.js} +1 -1
  106. package/dist/safe-bash/command-chunks/{chunk-ZNCPIZCN.js → chunk-BSLXS4PE.js} +2 -2
  107. package/dist/safe-bash/command-chunks/{chunk-N6TG44VG.js → chunk-BTDSUATE.js} +1 -1
  108. package/dist/safe-bash/command-chunks/{chunk-VZJRFHMZ.js → chunk-BXDNFBKZ.js} +26 -2
  109. package/dist/safe-bash/command-chunks/chunk-BZLLQWRK.js +296 -0
  110. package/dist/safe-bash/command-chunks/{chunk-YXR4JE4U.js → chunk-C3FERGHU.js} +4 -4
  111. package/dist/safe-bash/command-chunks/chunk-C5SLY3RB.js +279 -0
  112. package/dist/safe-bash/command-chunks/{chunk-5O45KGW5.js → chunk-C5VUJOUQ.js} +1 -1
  113. package/dist/safe-bash/command-chunks/{chunk-T4SEQU66.js → chunk-CI6KHUFK.js} +5 -5
  114. package/dist/safe-bash/command-chunks/chunk-CJIFJ45R.js +203 -0
  115. package/dist/safe-bash/command-chunks/{chunk-OTEHQQU7.js → chunk-CKQ5SXOO.js} +8 -59
  116. package/dist/safe-bash/command-chunks/{chunk-LJ3UYESS.js → chunk-CP5EO5TT.js} +1 -1
  117. package/dist/safe-bash/command-chunks/{chunk-TY7JXEWI.js → chunk-CPCXE2TM.js} +13 -13
  118. package/dist/safe-bash/command-chunks/{chunk-VVWHFNHD.js → chunk-CXOAMPOV.js} +420 -28
  119. package/dist/safe-bash/command-chunks/{chunk-57PK2QFX.js → chunk-D3WMD32B.js} +16 -16
  120. package/dist/safe-bash/command-chunks/{chunk-LECGQSQW.js → chunk-D54L2IOZ.js} +12 -12
  121. package/dist/safe-bash/command-chunks/{chunk-FGARVKAX.js → chunk-DBYY7IDI.js} +24 -20
  122. package/dist/safe-bash/command-chunks/{chunk-LNAZ3E4Q.js → chunk-DGFMOT4O.js} +4 -4
  123. package/dist/safe-bash/command-chunks/{chunk-N5J3IZZK.js → chunk-DQVOBGI2.js} +12414 -8140
  124. package/dist/safe-bash/command-chunks/{chunk-OHEZQ4QA.js → chunk-DTLIBRCQ.js} +11 -11
  125. package/dist/safe-bash/command-chunks/{chunk-FGHSE3RZ.js → chunk-DZ4ELL34.js} +1 -1
  126. package/dist/safe-bash/command-chunks/{chunk-ICJH6A73.js → chunk-DZTT5SLG.js} +7 -7
  127. package/dist/safe-bash/command-chunks/{chunk-77NXQZGK.js → chunk-DZY7V74W.js} +3 -1
  128. package/dist/safe-bash/command-chunks/chunk-E47FFS5M.js +52 -0
  129. package/dist/safe-bash/command-chunks/{chunk-LNKZVU5V.js → chunk-E76WK7OQ.js} +1 -1
  130. package/dist/safe-bash/command-chunks/{chunk-EWC56JNI.js → chunk-EBMKGNKF.js} +9 -9
  131. package/dist/safe-bash/command-chunks/{chunk-5GDF5FAS.js → chunk-EEJ3YXVO.js} +1 -1
  132. package/dist/safe-bash/command-chunks/{chunk-GMBUOYTN.js → chunk-EG7VVDV3.js} +8 -8
  133. package/dist/safe-bash/command-chunks/{chunk-N32AP43V.js → chunk-EIZFAUUD.js} +9 -9
  134. package/dist/safe-bash/command-chunks/{chunk-FR63MJSO.js → chunk-ESIEU4E4.js} +9 -9
  135. package/dist/safe-bash/command-chunks/{chunk-QJZJWL2X.js → chunk-ET3CPTJT.js} +38 -25
  136. package/dist/safe-bash/command-chunks/{chunk-UT5X6QRU.js → chunk-ETS4BINB.js} +9 -9
  137. package/dist/safe-bash/command-chunks/{chunk-SBXS4S6Y.js → chunk-EU5SR3LS.js} +3 -3
  138. package/dist/safe-bash/command-chunks/{chunk-FTZFCMVI.js → chunk-FAVWWMFW.js} +12 -12
  139. package/dist/safe-bash/command-chunks/{chunk-YKODRSGT.js → chunk-FCGMSOF6.js} +8 -8
  140. package/dist/safe-bash/command-chunks/{chunk-S5ER73EA.js → chunk-FGK6HLSY.js} +8 -8
  141. package/dist/safe-bash/command-chunks/{chunk-WMV5224N.js → chunk-FILE5PBI.js} +3 -3
  142. package/dist/safe-bash/command-chunks/{chunk-7ADQE64C.js → chunk-FMGNXOMV.js} +1 -1
  143. package/dist/safe-bash/command-chunks/{chunk-XPQUUFQD.js → chunk-FPOM47UA.js} +2 -2
  144. package/dist/safe-bash/command-chunks/{chunk-ZZERSKAR.js → chunk-FX54I4AC.js} +5 -5
  145. package/dist/safe-bash/command-chunks/{chunk-CORUUCS2.js → chunk-GAYTDZPP.js} +5 -5
  146. package/dist/safe-bash/command-chunks/chunk-GCSKS22X.js +15 -0
  147. package/dist/safe-bash/command-chunks/{chunk-2QZUAZTH.js → chunk-GIQUIF6E.js} +1 -1
  148. package/dist/safe-bash/command-chunks/{chunk-UVZJAV2S.js → chunk-GNPPPYDF.js} +1 -78
  149. package/dist/safe-bash/command-chunks/{chunk-B6XTAKKQ.js → chunk-GNVAW6NL.js} +1 -1
  150. package/dist/safe-bash/command-chunks/chunk-GQV5RWMN.js +27 -0
  151. package/dist/safe-bash/command-chunks/{chunk-PWHIVWQT.js → chunk-GVDVRC7J.js} +15 -19
  152. package/dist/safe-bash/command-chunks/{chunk-N4HWOLGZ.js → chunk-GY2C555A.js} +2 -2
  153. package/dist/safe-bash/command-chunks/{chunk-KXM3HTAF.js → chunk-GYKQ3IOV.js} +27 -14
  154. package/dist/safe-bash/command-chunks/{chunk-VMZIAFVJ.js → chunk-HBR5PWX4.js} +8 -8
  155. package/dist/safe-bash/command-chunks/{chunk-YPG55QTP.js → chunk-HCJWEB6P.js} +1 -1
  156. package/dist/safe-bash/command-chunks/{chunk-ZOEKSH3R.js → chunk-HCPEYQKT.js} +5 -4
  157. package/dist/safe-bash/command-chunks/{chunk-U42WHQRH.js → chunk-HCZITM4C.js} +8 -8
  158. package/dist/safe-bash/command-chunks/{chunk-4SISSPIH.js → chunk-HLRLMFMS.js} +1 -1
  159. package/dist/safe-bash/command-chunks/chunk-HNEWGADJ.js +43 -0
  160. package/dist/safe-bash/command-chunks/{chunk-DZOKH5BL.js → chunk-HQFX5XKV.js} +7 -7
  161. package/dist/safe-bash/command-chunks/{chunk-QNX5LZBK.js → chunk-HSB55ED5.js} +9 -9
  162. package/dist/safe-bash/command-chunks/{chunk-G3FK5VVG.js → chunk-HTBUIRTH.js} +1 -1
  163. package/dist/safe-bash/command-chunks/{chunk-QCIAX6HZ.js → chunk-HUAQZFON.js} +1 -1
  164. package/dist/safe-bash/command-chunks/{chunk-6M3JTPKE.js → chunk-HVLF3Y4B.js} +8 -8
  165. package/dist/safe-bash/command-chunks/{chunk-AYQPJQJR.js → chunk-I6CQDCIP.js} +8 -8
  166. package/dist/safe-bash/command-chunks/chunk-I7MEH76L.js +276 -0
  167. package/dist/safe-bash/command-chunks/{chunk-E3BL7W5C.js → chunk-IAHYG67O.js} +152 -80
  168. package/dist/safe-bash/command-chunks/{chunk-TXWDR2P4.js → chunk-IBT3OWXB.js} +1 -1
  169. package/dist/safe-bash/command-chunks/{chunk-EAGIJ4VW.js → chunk-IC5XC4TO.js} +118 -118
  170. package/dist/safe-bash/command-chunks/{chunk-ERWIJYCS.js → chunk-IGZOQT2L.js} +10 -10
  171. package/dist/safe-bash/command-chunks/{chunk-CKIXC7AO.js → chunk-IPKYPADE.js} +3 -3
  172. package/dist/safe-bash/command-chunks/{chunk-FJLSYX5P.js → chunk-ITJDLFPW.js} +3 -3
  173. package/dist/safe-bash/command-chunks/{chunk-MUTARE5I.js → chunk-IYEAS7TU.js} +8 -8
  174. package/dist/safe-bash/command-chunks/{chunk-WDVPHDBH.js → chunk-J3ISXTYB.js} +5 -5
  175. package/dist/safe-bash/command-chunks/chunk-J3VS55K4.js +69097 -0
  176. package/dist/safe-bash/command-chunks/chunk-J4I7KCQQ.js +495 -0
  177. package/dist/safe-bash/command-chunks/{chunk-IWVANZWH.js → chunk-JLPBGKVC.js} +3 -3
  178. package/dist/safe-bash/command-chunks/{chunk-HQEYSSZV.js → chunk-JLS6XKAR.js} +1 -1
  179. package/dist/safe-bash/command-chunks/{chunk-IJE65P52.js → chunk-JMUB5A26.js} +27 -8
  180. package/dist/safe-bash/command-chunks/{chunk-HOJ7WDTS.js → chunk-JQPDVCBU.js} +6 -6
  181. package/dist/safe-bash/command-chunks/{chunk-LQX7RAF7.js → chunk-JSW6YH6T.js} +7 -7
  182. package/dist/safe-bash/command-chunks/{chunk-DM5WURQL.js → chunk-JY2T3KV2.js} +2 -2
  183. package/dist/safe-bash/command-chunks/{chunk-IZ3SD5S2.js → chunk-K2NV6H7E.js} +4 -4
  184. package/dist/safe-bash/command-chunks/{chunk-YJ5IA5YQ.js → chunk-K576GZED.js} +3 -3
  185. package/dist/safe-bash/command-chunks/{chunk-VZTVR3JI.js → chunk-K6J3KFQ2.js} +17 -122
  186. package/dist/safe-bash/command-chunks/{chunk-RTHYAGKI.js → chunk-KD4JUF6R.js} +4 -4
  187. package/dist/safe-bash/command-chunks/{chunk-FUYZUETI.js → chunk-KQE2D7PX.js} +8 -8
  188. package/dist/safe-bash/command-chunks/{chunk-Q65GWGQR.js → chunk-KVTZJBLM.js} +5 -5
  189. package/dist/safe-bash/command-chunks/{chunk-ONQP4FNV.js → chunk-KZICRCQ7.js} +1 -1
  190. package/dist/safe-bash/command-chunks/chunk-L365UGC7.js +250 -0
  191. package/dist/safe-bash/command-chunks/{chunk-UKAGRRLZ.js → chunk-LBBJ5S3W.js} +1 -1
  192. package/dist/safe-bash/command-chunks/{chunk-WHZ6XK7Y.js → chunk-LBILRPVR.js} +1 -1
  193. package/dist/safe-bash/command-chunks/{chunk-ENMJHB2C.js → chunk-LDR3PPM3.js} +5 -5
  194. package/dist/safe-bash/command-chunks/chunk-LJLB7TBN.js +775 -0
  195. package/dist/safe-bash/command-chunks/{chunk-A6OTPNNI.js → chunk-LPKMNCC5.js} +3 -3
  196. package/dist/safe-bash/command-chunks/{chunk-JA36YOZI.js → chunk-LUJUYUOG.js} +1 -1
  197. package/dist/safe-bash/command-chunks/{chunk-FB2WPI3M.js → chunk-LZHFVNEV.js} +17 -107
  198. package/dist/safe-bash/command-chunks/{chunk-4X2MPZXW.js → chunk-M42GCI5F.js} +2 -2
  199. package/dist/safe-bash/command-chunks/{chunk-URQSUMMJ.js → chunk-M7MQTU77.js} +6 -6
  200. package/dist/safe-bash/command-chunks/chunk-MCUDSE4H.js +77 -0
  201. package/dist/safe-bash/command-chunks/{chunk-V6JPIZUW.js → chunk-MD5ZSARP.js} +9 -9
  202. package/dist/safe-bash/command-chunks/chunk-MEST2HID.js +112 -0
  203. package/dist/safe-bash/command-chunks/{chunk-26JE5JEB.js → chunk-MLMFFBOU.js} +4 -4
  204. package/dist/safe-bash/command-chunks/{chunk-HOKPYTHQ.js → chunk-MPRUGL4W.js} +2 -2
  205. package/dist/safe-bash/command-chunks/{chunk-E22EAYJN.js → chunk-MQCLG2CT.js} +177 -34
  206. package/dist/safe-bash/command-chunks/{chunk-G3LUT475.js → chunk-N5Y7WWO6.js} +10 -10
  207. package/dist/safe-bash/command-chunks/{chunk-MZYQKH26.js → chunk-NA6YAGAH.js} +3 -3
  208. package/dist/safe-bash/command-chunks/{chunk-PPN53PX3.js → chunk-NDJPULBE.js} +4 -4
  209. package/dist/safe-bash/command-chunks/{chunk-2IMIKROX.js → chunk-NN6OWOJG.js} +6 -6
  210. package/dist/safe-bash/command-chunks/{chunk-SWIF6BBY.js → chunk-NNYOPI7K.js} +8 -8
  211. package/dist/safe-bash/command-chunks/{chunk-GAROGIVU.js → chunk-NP2QXF2X.js} +1 -1
  212. package/dist/safe-bash/command-chunks/{chunk-SNA2LVBX.js → chunk-NPVOYY2A.js} +1 -1
  213. package/dist/safe-bash/command-chunks/{chunk-T2FRXSQT.js → chunk-NR7POLKP.js} +2 -2
  214. package/dist/safe-bash/command-chunks/{chunk-A4P37F3P.js → chunk-NWA7ZJDV.js} +5 -5
  215. package/dist/safe-bash/command-chunks/{chunk-45DKGZYO.js → chunk-O3FTKLWR.js} +423 -213
  216. package/dist/safe-bash/command-chunks/{chunk-6KJDTKE4.js → chunk-O4H7HPMP.js} +35 -393
  217. package/dist/safe-bash/command-chunks/{chunk-J6FNSVHT.js → chunk-OLNV5MI6.js} +5 -5
  218. package/dist/safe-bash/command-chunks/{chunk-BBEAO5N7.js → chunk-OLXMWQJ5.js} +1 -1
  219. package/dist/safe-bash/command-chunks/{chunk-MDFNUNK5.js → chunk-OMD45J52.js} +25 -21
  220. package/dist/safe-bash/command-chunks/{chunk-AXI7VMLG.js → chunk-OOYVZAWL.js} +3 -41
  221. package/dist/safe-bash/command-chunks/{chunk-2TWXRJPB.js → chunk-OPKLIF5P.js} +17 -17
  222. package/dist/safe-bash/command-chunks/{chunk-E3DF7RTE.js → chunk-OT75C5YS.js} +2 -2
  223. package/dist/safe-bash/command-chunks/{chunk-ROQ3VNVX.js → chunk-OVCSXD7N.js} +10 -10
  224. package/dist/safe-bash/command-chunks/chunk-P3LHQOX7.js +371 -0
  225. package/dist/safe-bash/command-chunks/{chunk-OFDJJRAD.js → chunk-P3TV5GIG.js} +11 -11
  226. package/dist/safe-bash/command-chunks/{chunk-LQDANF2B.js → chunk-P5UFNPRE.js} +10 -10
  227. package/dist/safe-bash/command-chunks/{chunk-5V7WIQ2D.js → chunk-PAEAEFK3.js} +122 -12
  228. package/dist/safe-bash/command-chunks/{chunk-OWCBX5M2.js → chunk-PAY4ULWY.js} +1 -1
  229. package/dist/safe-bash/command-chunks/{chunk-TXU7MMHN.js → chunk-PH722HK2.js} +16 -16
  230. package/dist/safe-bash/command-chunks/{chunk-OU4VE5CR.js → chunk-PKH57OIC.js} +8 -6
  231. package/dist/safe-bash/command-chunks/{chunk-GTOMW4VV.js → chunk-PNOXBL2B.js} +1 -1
  232. package/dist/safe-bash/command-chunks/{chunk-L4XSOULP.js → chunk-PPNPXNM6.js} +38 -2
  233. package/dist/safe-bash/command-chunks/{chunk-DXOXUKQB.js → chunk-PVKSBXHB.js} +11 -9
  234. package/dist/safe-bash/command-chunks/{chunk-EZDWPTYB.js → chunk-PYYAX5FB.js} +23 -23
  235. package/dist/safe-bash/command-chunks/{chunk-MOUCMZZP.js → chunk-PZVFNPRC.js} +1 -1
  236. package/dist/safe-bash/command-chunks/{chunk-UPWLHHZ2.js → chunk-QCCRQU44.js} +18 -18
  237. package/dist/safe-bash/command-chunks/{chunk-IVKAFEPO.js → chunk-QEVSG6HQ.js} +9 -9
  238. package/dist/safe-bash/command-chunks/{chunk-6YF2QADH.js → chunk-QGSY4ZAU.js} +8 -8
  239. package/dist/safe-bash/command-chunks/{chunk-LZY46GYY.js → chunk-QMWBKR4C.js} +5 -5
  240. package/dist/safe-bash/command-chunks/{chunk-4YFTJS5U.js → chunk-QMXOKYMJ.js} +2 -2
  241. package/dist/safe-bash/command-chunks/{chunk-CHZE6FNT.js → chunk-QPHI7Y7Z.js} +4 -4
  242. package/dist/safe-bash/command-chunks/{chunk-N3ZH4YYH.js → chunk-QQ7ORF2D.js} +5 -5
  243. package/dist/safe-bash/command-chunks/{chunk-4ABR3KGK.js → chunk-QWQHLMDX.js} +7 -7
  244. package/dist/safe-bash/command-chunks/chunk-QX3WKBLI.js +58 -0
  245. package/dist/safe-bash/command-chunks/{chunk-V6OWCRHN.js → chunk-QZPSGPN5.js} +1 -1
  246. package/dist/safe-bash/command-chunks/chunk-R36PDP3L.js +106 -0
  247. package/dist/safe-bash/command-chunks/{chunk-N35IJXBK.js → chunk-R43WEA4C.js} +14 -14
  248. package/dist/safe-bash/command-chunks/{chunk-5YL453ZF.js → chunk-R6VXFTYL.js} +47 -47
  249. package/dist/safe-bash/command-chunks/{chunk-OVUY46QF.js → chunk-RC4TNFNF.js} +1 -1
  250. package/dist/safe-bash/command-chunks/{chunk-PU5DMQGG.js → chunk-RESJSUHH.js} +1 -1
  251. package/dist/safe-bash/command-chunks/{chunk-OCOJMKDP.js → chunk-RHXV2KG5.js} +522 -8
  252. package/dist/safe-bash/command-chunks/{chunk-7B2MHKIW.js → chunk-RKON2TGI.js} +1 -1
  253. package/dist/safe-bash/command-chunks/{chunk-OIHQXURE.js → chunk-ROE6KD4C.js} +1 -1
  254. package/dist/safe-bash/command-chunks/{chunk-ITXSHOLP.js → chunk-RQTFK7AV.js} +2 -2
  255. package/dist/safe-bash/command-chunks/{chunk-BKK4MS3V.js → chunk-RR6XG2I6.js} +1 -1
  256. package/dist/safe-bash/command-chunks/{chunk-CFMJXJS5.js → chunk-RTUDDAAY.js} +9 -4
  257. package/dist/safe-bash/command-chunks/{chunk-FAU2KL6I.js → chunk-S5MBHFLB.js} +2 -2
  258. package/dist/safe-bash/command-chunks/{chunk-R7LF4XQV.js → chunk-S6223MIG.js} +2 -2
  259. package/dist/safe-bash/command-chunks/{chunk-6W4RMBFH.js → chunk-SKDJCMGI.js} +12 -10
  260. package/dist/safe-bash/command-chunks/{chunk-NCNHJRIY.js → chunk-SKF6PGA5.js} +12 -12
  261. package/dist/safe-bash/command-chunks/{chunk-3PM46VWH.js → chunk-SLD5A7IL.js} +11 -11
  262. package/dist/safe-bash/command-chunks/{chunk-KYIGYYEY.js → chunk-SMCRKN3O.js} +5 -5
  263. package/dist/safe-bash/command-chunks/{chunk-H56BSMFQ.js → chunk-T2LZWXWF.js} +8 -8
  264. package/dist/safe-bash/command-chunks/{chunk-KDDXLHN7.js → chunk-TMJG745A.js} +6 -6
  265. package/dist/safe-bash/command-chunks/{chunk-QMBMZSJF.js → chunk-TP5MZHCB.js} +6 -6
  266. package/dist/safe-bash/command-chunks/{chunk-ET6LMDEX.js → chunk-TPSRY72Q.js} +9 -9
  267. package/dist/safe-bash/command-chunks/{chunk-ZAYTFXUX.js → chunk-TTPT3OME.js} +7 -7
  268. package/dist/safe-bash/command-chunks/{chunk-GR4ONCQ5.js → chunk-U6VSRO6E.js} +9 -9
  269. package/dist/safe-bash/command-chunks/{chunk-5VF2EA7Z.js → chunk-U7J3R7HX.js} +6 -1
  270. package/dist/safe-bash/command-chunks/{chunk-A5SPMSKD.js → chunk-UDRJKA3P.js} +11 -11
  271. package/dist/safe-bash/command-chunks/{chunk-3B444A5G.js → chunk-UI5AS3FS.js} +10 -2
  272. package/dist/safe-bash/command-chunks/{chunk-RVWIEXR7.js → chunk-UMOQHHSV.js} +9 -9
  273. package/dist/safe-bash/command-chunks/{chunk-WH624PKJ.js → chunk-UNI6QG45.js} +5 -5
  274. package/dist/safe-bash/command-chunks/{chunk-BOVDUJ3A.js → chunk-UTSN7AKE.js} +9 -9
  275. package/dist/safe-bash/command-chunks/{chunk-F5QYUK2E.js → chunk-UWIDPTOB.js} +2 -2
  276. package/dist/safe-bash/command-chunks/{chunk-345YBIHP.js → chunk-V2J6AC6S.js} +19 -19
  277. package/dist/safe-bash/command-chunks/{chunk-ZZ27QNBY.js → chunk-V2PJO6JL.js} +29 -60
  278. package/dist/safe-bash/command-chunks/{chunk-QNETPOMH.js → chunk-VAMBWXDV.js} +72 -21
  279. package/dist/safe-bash/command-chunks/{chunk-KM2SMMXZ.js → chunk-VJQ5OWS5.js} +80 -2
  280. package/dist/safe-bash/command-chunks/{chunk-OCV5ZU35.js → chunk-VSTAHYCV.js} +3 -3
  281. package/dist/safe-bash/command-chunks/{chunk-MI2WY75O.js → chunk-VWBNUCUP.js} +28 -11
  282. package/dist/safe-bash/command-chunks/{chunk-SL4LD25A.js → chunk-W4BC2YGQ.js} +15 -15
  283. package/dist/safe-bash/command-chunks/{chunk-Y3ZRIZL7.js → chunk-W5LH7D23.js} +26 -13
  284. package/dist/safe-bash/command-chunks/{chunk-62RG3GHF.js → chunk-W6L4Z2VX.js} +10 -10
  285. package/dist/safe-bash/command-chunks/{chunk-RRAQII52.js → chunk-WEXEZRMH.js} +7 -7
  286. package/dist/safe-bash/command-chunks/chunk-WIUEM7HP.js +58 -0
  287. package/dist/safe-bash/command-chunks/{chunk-AQ3XOOPQ.js → chunk-WKS2PAZL.js} +2 -2
  288. package/dist/safe-bash/command-chunks/chunk-WOECEZAC.js +921 -0
  289. package/dist/safe-bash/command-chunks/{chunk-A2L3U7DW.js → chunk-WOO3YO2X.js} +7 -7
  290. package/dist/safe-bash/command-chunks/{chunk-7YDJ7LDO.js → chunk-WOT2YXBT.js} +8 -223
  291. package/dist/safe-bash/command-chunks/{chunk-LT2YCGC5.js → chunk-WV3C6BRD.js} +14 -14
  292. package/dist/safe-bash/command-chunks/{chunk-PRO7JOIH.js → chunk-X3EDCCXU.js} +10 -10
  293. package/dist/safe-bash/command-chunks/{chunk-WMBELKPP.js → chunk-XE75H5ZZ.js} +15 -15
  294. package/dist/safe-bash/command-chunks/{chunk-SHLT5R64.js → chunk-XMNPE6RN.js} +11 -11
  295. package/dist/safe-bash/command-chunks/{chunk-ISFGPCED.js → chunk-XNVL6AOV.js} +16 -16
  296. package/dist/safe-bash/command-chunks/{chunk-OBIXFO25.js → chunk-XPUYA7YU.js} +10 -10
  297. package/dist/safe-bash/command-chunks/{chunk-5KZMR6AJ.js → chunk-XXUMECE4.js} +22 -20
  298. package/dist/safe-bash/command-chunks/{chunk-OAM2SUUI.js → chunk-YB5TNDY6.js} +1 -1
  299. package/dist/safe-bash/command-chunks/{chunk-KLAC2MIZ.js → chunk-YJMS5Q4Y.js} +12 -12
  300. package/dist/safe-bash/command-chunks/{chunk-FLSXHLJG.js → chunk-YJTP4ROI.js} +15 -15
  301. package/dist/safe-bash/command-chunks/{chunk-7ITPO2V6.js → chunk-YNFQ5AXM.js} +80 -45
  302. package/dist/safe-bash/command-chunks/{chunk-7PYDVQPB.js → chunk-YWP62BAZ.js} +2 -2
  303. package/dist/safe-bash/command-chunks/chunk-YXIJOYT6.js +416 -0
  304. package/dist/safe-bash/command-chunks/{chunk-NQL3WNFI.js → chunk-YYRVGXJH.js} +44 -5
  305. package/dist/safe-bash/command-chunks/{chunk-35DU6I2M.js → chunk-Z7UPCDTU.js} +5 -5
  306. package/dist/safe-bash/command-chunks/{chunk-O2XP6HQN.js → chunk-ZBGP6XEG.js} +1 -1
  307. package/dist/safe-bash/command-chunks/{chunk-VWRHPDCD.js → chunk-ZIDESNHW.js} +3 -3
  308. package/dist/safe-bash/command-chunks/{chunk-VVV45NLY.js → chunk-ZJUU5IAS.js} +1 -1
  309. package/dist/safe-bash/command-chunks/{chunk-3ZWFE4CK.js → chunk-ZLMCWAAU.js} +9 -9
  310. package/dist/safe-bash/command-chunks/{chunk-7OCTMVYJ.js → chunk-ZNABMTV3.js} +1 -1
  311. package/dist/safe-bash/command-chunks/{chunk-QOKFSYD5.js → chunk-ZODGWV3Y.js} +11 -11
  312. package/dist/safe-bash/command-chunks/{chunk-DIRK47GT.js → chunk-ZPBL7TYJ.js} +3 -3
  313. package/dist/safe-bash/command-chunks/{chunk-5MNQTHED.js → chunk-ZQ4NQ24M.js} +10 -10
  314. package/dist/safe-bash/command-chunks/{chunk-4IDV763L.js → chunk-ZS4J5B6Y.js} +2 -2
  315. package/dist/safe-bash/command-chunks/chunk-ZTW2E5OT.js +1016 -0
  316. package/dist/safe-bash/command-chunks/{chunk-NKK76B4V.js → chunk-ZUOID3FA.js} +14 -14
  317. package/dist/safe-bash/command-chunks/chunk-ZWGERYLT.js +192 -0
  318. package/dist/safe-bash/command-chunks/{chunk-F2NF6FHV.js → chunk-ZXIOTUXC.js} +2 -2
  319. package/dist/safe-bash/command-chunks/{chunk-LFSWLJPR.js → chunk-ZZ6EIACJ.js} +250 -41
  320. package/dist/safe-bash/command-chunks/{chunk-XMRQ6UP2.js → chunk-ZZO3GYEZ.js} +1 -11
  321. package/dist/safe-bash/command-chunks/{command-engine-2QXVRRH3.js → command-engine-B6X6WAMX.js} +381 -114
  322. package/dist/safe-bash/command-chunks/{engine-T4GP6QOK-ECFKMR5V.js → engine-UPLVIV72-IGXUDNO5.js} +1 -1
  323. package/dist/safe-bash/command-chunks/model-store-RGLCVIML.js +54 -0
  324. package/dist/safe-bash/command-chunks/paradox-BHPRIGXX-RQN37FHB.js +370 -0
  325. package/dist/safe-bash/command-chunks/prompt-tool-debug-ERJKK3XZ.js +171 -0
  326. package/dist/safe-bash/commands/alias/index.js +1 -1
  327. package/dist/safe-bash/commands/apply-patch/index.js +1 -1
  328. package/dist/safe-bash/commands/archive/create.js +1 -1
  329. package/dist/safe-bash/commands/archive/extract.js +1 -1
  330. package/dist/safe-bash/commands/archive/format.js +1 -1
  331. package/dist/safe-bash/commands/archive/index.js +1 -1
  332. package/dist/safe-bash/commands/archive/internal.js +1 -1
  333. package/dist/safe-bash/commands/archive/listing.js +1 -1
  334. package/dist/safe-bash/commands/archive/modes.js +1 -1
  335. package/dist/safe-bash/commands/archive/options.js +1 -1
  336. package/dist/safe-bash/commands/archive/stream.js +1 -1
  337. package/dist/safe-bash/commands/archive/transform.js +1 -1
  338. package/dist/safe-bash/commands/archive/unzip/safety.js +1 -1
  339. package/dist/safe-bash/commands/archive/unzip.js +1 -1
  340. package/dist/safe-bash/commands/archive/zip/aes.js +1 -1
  341. package/dist/safe-bash/commands/archive/zip/comments.js +1 -1
  342. package/dist/safe-bash/commands/archive/zip/crc.js +1 -1
  343. package/dist/safe-bash/commands/archive/zip/crypto.js +1 -1
  344. package/dist/safe-bash/commands/archive/zip/dates.js +1 -1
  345. package/dist/safe-bash/commands/archive/zip/environment.js +1 -1
  346. package/dist/safe-bash/commands/archive/zip/grow.js +1 -1
  347. package/dist/safe-bash/commands/archive/zip/help.js +1 -1
  348. package/dist/safe-bash/commands/archive/zip/line-endings.js +1 -1
  349. package/dist/safe-bash/commands/archive/zip/log.js +1 -1
  350. package/dist/safe-bash/commands/archive/zip/lzma.js +1 -1
  351. package/dist/safe-bash/commands/archive/zip/move.js +1 -1
  352. package/dist/safe-bash/commands/archive/zip/names.js +1 -1
  353. package/dist/safe-bash/commands/archive/zip/options.js +1 -1
  354. package/dist/safe-bash/commands/archive/zip/repair.js +1 -1
  355. package/dist/safe-bash/commands/archive/zip/safety.js +1 -1
  356. package/dist/safe-bash/commands/archive/zip/sfx.js +1 -1
  357. package/dist/safe-bash/commands/archive/zip/test-command.js +1 -1
  358. package/dist/safe-bash/commands/archive/zip/volumes.js +1 -1
  359. package/dist/safe-bash/commands/archive/zip/zip64.js +1 -1
  360. package/dist/safe-bash/commands/archive/zip-format.js +1 -1
  361. package/dist/safe-bash/commands/archive/zip.js +1 -1
  362. package/dist/safe-bash/commands/ast-grep/index.js +1 -1
  363. package/dist/safe-bash/commands/audio/index.browser.js +2 -8
  364. package/dist/safe-bash/commands/audio/index.js +1 -1
  365. package/dist/safe-bash/commands/awk/index.js +1 -1
  366. package/dist/safe-bash/commands/base32/index.js +1 -1
  367. package/dist/safe-bash/commands/base64/index.js +1 -1
  368. package/dist/safe-bash/commands/bc/index.browser.js +1 -1
  369. package/dist/safe-bash/commands/bc/index.js +1 -1
  370. package/dist/safe-bash/commands/bytes/checksums/sm3.js +1 -1
  371. package/dist/safe-bash/commands/bytes/compression/bounded-codec.js +1 -1
  372. package/dist/safe-bash/commands/bytes/compression/codec-loader.js +1 -1
  373. package/dist/safe-bash/commands/bytes/compression/codec.js +1 -1
  374. package/dist/safe-bash/commands/bytes/compression/errors.js +1 -1
  375. package/dist/safe-bash/commands/bytes/compression/file-operation.js +1 -1
  376. package/dist/safe-bash/commands/bytes/compression/files.js +1 -1
  377. package/dist/safe-bash/commands/bytes/compression/gunzip.js +1 -1
  378. package/dist/safe-bash/commands/bytes/compression/stream.js +1 -1
  379. package/dist/safe-bash/commands/bytes/compression/xz-list.js +1 -1
  380. package/dist/safe-bash/commands/bytes/compression/zstd-decode.js +1 -1
  381. package/dist/safe-bash/commands/bytes/encoding/base.js +1 -1
  382. package/dist/safe-bash/commands/bytes/encoding/shared.js +1 -1
  383. package/dist/safe-bash/commands/bytes/input-budget.js +1 -1
  384. package/dist/safe-bash/commands/bzip2/index.js +1 -1
  385. package/dist/safe-bash/commands/cal/index.js +1 -1
  386. package/dist/safe-bash/commands/caller/index.js +1 -1
  387. package/dist/safe-bash/commands/canonicalize-existing-parent.js +1 -1
  388. package/dist/safe-bash/commands/chmod/index.js +1 -1
  389. package/dist/safe-bash/commands/column/index.js +1 -1
  390. package/dist/safe-bash/commands/comm/index.js +1 -1
  391. package/dist/safe-bash/commands/copy-backup.js +1 -1
  392. package/dist/safe-bash/commands/copy-preserve.js +1 -1
  393. package/dist/safe-bash/commands/copy-source.js +1 -1
  394. package/dist/safe-bash/commands/cp/index.js +1 -1
  395. package/dist/safe-bash/commands/csplit/index.js +1 -1
  396. package/dist/safe-bash/commands/csvcut/index.js +1 -1
  397. package/dist/safe-bash/commands/csvgrep/index.js +1 -1
  398. package/dist/safe-bash/commands/csvkit/index.js +1 -1
  399. package/dist/safe-bash/commands/curl/index.js +1 -1
  400. package/dist/safe-bash/commands/date/index.js +1 -1
  401. package/dist/safe-bash/commands/df/index.js +1 -1
  402. package/dist/safe-bash/commands/diff/index.js +1 -1
  403. package/dist/safe-bash/commands/diff-patch/diff-format.js +1 -1
  404. package/dist/safe-bash/commands/diff-patch/diff-options.js +1 -1
  405. package/dist/safe-bash/commands/diff-patch/diff-output.js +1 -1
  406. package/dist/safe-bash/commands/diff-patch/diff.js +1 -1
  407. package/dist/safe-bash/commands/diff-patch/index.js +2 -2
  408. package/dist/safe-bash/commands/diff-patch/patch-envelope.js +1 -1
  409. package/dist/safe-bash/commands/diff-patch/patch-formats.js +1 -1
  410. package/dist/safe-bash/commands/diff-patch/patch-gnu-paths.js +1 -1
  411. package/dist/safe-bash/commands/diff-patch/patch-gnu-reject.js +1 -1
  412. package/dist/safe-bash/commands/diff-patch/patch-path.js +1 -1
  413. package/dist/safe-bash/commands/diff-patch/patch-publication.js +1 -1
  414. package/dist/safe-bash/commands/diff-patch/patch.js +1 -1
  415. package/dist/safe-bash/commands/diff-patch/shared.js +1 -1
  416. package/dist/safe-bash/commands/diff-patch/unified.js +1 -1
  417. package/dist/safe-bash/commands/diff3/index.js +1 -1
  418. package/dist/safe-bash/commands/diffpdf/index.js +1 -1
  419. package/dist/safe-bash/commands/directory-admission.js +1 -1
  420. package/dist/safe-bash/commands/docx/index.js +1 -1
  421. package/dist/safe-bash/commands/docx/io.js +1 -1
  422. package/dist/safe-bash/commands/dos2unix/index.js +1 -1
  423. package/dist/safe-bash/commands/dot/index.js +1 -1
  424. package/dist/safe-bash/commands/du/index.js +1 -1
  425. package/dist/safe-bash/commands/egrep/index.js +1 -1
  426. package/dist/safe-bash/commands/env/index.js +1 -1
  427. package/dist/safe-bash/commands/env-split.js +1 -1
  428. package/dist/safe-bash/commands/exiftool/index.js +1 -1
  429. package/dist/safe-bash/commands/expand/index.js +1 -1
  430. package/dist/safe-bash/commands/expr/index.js +1 -1
  431. package/dist/safe-bash/commands/factor/index.js +1 -1
  432. package/dist/safe-bash/commands/fd/index.js +1 -1
  433. package/dist/safe-bash/commands/ffmpeg/index.js +1 -1
  434. package/dist/safe-bash/commands/ffprobe/index.js +1 -1
  435. package/dist/safe-bash/commands/fgrep/index.js +1 -1
  436. package/dist/safe-bash/commands/file/index.js +1 -1
  437. package/dist/safe-bash/commands/filesystem-requirements.js +1 -1
  438. package/dist/safe-bash/commands/find/index.js +1 -1
  439. package/dist/safe-bash/commands/find-format.js +1 -1
  440. package/dist/safe-bash/commands/find.js +1 -1
  441. package/dist/safe-bash/commands/fmt/index.js +1 -1
  442. package/dist/safe-bash/commands/fold/index.js +1 -1
  443. package/dist/safe-bash/commands/getconf/index.js +1 -1
  444. package/dist/safe-bash/commands/getopt/index.js +1 -1
  445. package/dist/safe-bash/commands/gnu-information.js +1 -1
  446. package/dist/safe-bash/commands/gpg/index.js +1 -1
  447. package/dist/safe-bash/commands/graphviz/index.js +3 -3
  448. package/dist/safe-bash/commands/grep/index.js +1 -1
  449. package/dist/safe-bash/commands/grep-aliases/aliases.js +1 -1
  450. package/dist/safe-bash/commands/grep.js +1 -1
  451. package/dist/safe-bash/commands/gzip/index.js +1 -1
  452. package/dist/safe-bash/commands/hexdump/index.js +1 -1
  453. package/dist/safe-bash/commands/hostname/index.js +1 -1
  454. package/dist/safe-bash/commands/html-to-markdown/index.js +1 -1
  455. package/dist/safe-bash/commands/htmlq/index.js +1 -1
  456. package/dist/safe-bash/commands/iconv/index.js +1 -1
  457. package/dist/safe-bash/commands/id/index.js +1 -1
  458. package/dist/safe-bash/commands/imagemagick/index.js +1 -1
  459. package/dist/safe-bash/commands/internal.js +1 -1
  460. package/dist/safe-bash/commands/join/index.js +1 -1
  461. package/dist/safe-bash/commands/jq/index.js +1 -1
  462. package/dist/safe-bash/commands/less/index.js +1 -1
  463. package/dist/safe-bash/commands/line-endings/index.js +1 -1
  464. package/dist/safe-bash/commands/llm/collections.js +1 -1
  465. package/dist/safe-bash/commands/llm/command.js +1 -1
  466. package/dist/safe-bash/commands/llm/elevenlabs-stream.js +1 -1
  467. package/dist/safe-bash/commands/llm/elevenlabs.js +1 -1
  468. package/dist/safe-bash/commands/llm/index.browser.js +21 -1
  469. package/dist/safe-bash/commands/llm/index.js +1 -1
  470. package/dist/safe-bash/commands/llm/mime.js +1 -1
  471. package/dist/safe-bash/commands/llm/openai-http.js +1 -1
  472. package/dist/safe-bash/commands/llm/openai-sse.js +1 -1
  473. package/dist/safe-bash/commands/llm/openai.js +1 -1
  474. package/dist/safe-bash/commands/llm/providers/elevenlabs.js +1 -1
  475. package/dist/safe-bash/commands/llm/providers/index.js +1 -1
  476. package/dist/safe-bash/commands/llm/providers/openai.js +1 -1
  477. package/dist/safe-bash/commands/llm/providers/shared.js +1 -1
  478. package/dist/safe-bash/commands/llm/service.js +1 -1
  479. package/dist/safe-bash/commands/locale/index.js +1 -1
  480. package/dist/safe-bash/commands/md5sum/index.js +1 -1
  481. package/dist/safe-bash/commands/mdq/index.js +1 -1
  482. package/dist/safe-bash/commands/media/index.js +1 -1
  483. package/dist/safe-bash/commands/media/plugin.js +1 -1
  484. package/dist/safe-bash/commands/media/remote.js +1 -1
  485. package/dist/safe-bash/commands/media/settings.js +1 -1
  486. package/dist/safe-bash/commands/metadata/chmod.js +1 -1
  487. package/dist/safe-bash/commands/metadata/internal.js +1 -1
  488. package/dist/safe-bash/commands/metadata/mktemp.js +1 -1
  489. package/dist/safe-bash/commands/metadata/stat.js +1 -1
  490. package/dist/safe-bash/commands/mktemp/index.js +1 -1
  491. package/dist/safe-bash/commands/mmdc/index.js +1 -1
  492. package/dist/safe-bash/commands/more/index.js +1 -1
  493. package/dist/safe-bash/commands/neato/index.js +1 -1
  494. package/dist/safe-bash/commands/network/aggregate.js +1 -1
  495. package/dist/safe-bash/commands/network/args.js +1 -1
  496. package/dist/safe-bash/commands/network/authorizer.js +1 -1
  497. package/dist/safe-bash/commands/network/body.js +1 -1
  498. package/dist/safe-bash/commands/network/curl.js +1 -1
  499. package/dist/safe-bash/commands/network/deadline.js +1 -1
  500. package/dist/safe-bash/commands/network/decode.js +1 -1
  501. package/dist/safe-bash/commands/network/fetch-transport.js +1 -1
  502. package/dist/safe-bash/commands/network/form-content-type.js +1 -1
  503. package/dist/safe-bash/commands/network/form-headers.js +1 -1
  504. package/dist/safe-bash/commands/network/glob.js +1 -1
  505. package/dist/safe-bash/commands/network/input.js +1 -1
  506. package/dist/safe-bash/commands/network/output.js +1 -1
  507. package/dist/safe-bash/commands/network/platform-portable.js +1 -1
  508. package/dist/safe-bash/commands/network/platform.js +1 -1
  509. package/dist/safe-bash/commands/network/private-address.js +1 -1
  510. package/dist/safe-bash/commands/network/shared.js +1 -1
  511. package/dist/safe-bash/commands/network/types.js +1 -1
  512. package/dist/safe-bash/commands/network/url.js +1 -1
  513. package/dist/safe-bash/commands/network/wget.js +1 -1
  514. package/dist/safe-bash/commands/nl/index.js +1 -1
  515. package/dist/safe-bash/commands/node/browser.js +1 -1
  516. package/dist/safe-bash/commands/node/buffer.js +1 -1
  517. package/dist/safe-bash/commands/node/default-runtime.js +1 -1
  518. package/dist/safe-bash/commands/node/filesystem.js +1 -1
  519. package/dist/safe-bash/commands/node/path.js +1 -1
  520. package/dist/safe-bash/commands/node/safejs.js +1 -1
  521. package/dist/safe-bash/commands/node/source-maps.js +1 -1
  522. package/dist/safe-bash/commands/node/timers.js +1 -1
  523. package/dist/safe-bash/commands/node/types.js +1 -1
  524. package/dist/safe-bash/commands/node/worker-types.js +1 -1
  525. package/dist/safe-bash/commands/nproc/index.js +1 -1
  526. package/dist/safe-bash/commands/numfmt/index.js +1 -1
  527. package/dist/safe-bash/commands/od/index.js +1 -1
  528. package/dist/safe-bash/commands/op/index.js +23 -1
  529. package/dist/safe-bash/commands/openssl/index.js +1 -1
  530. package/dist/safe-bash/commands/pandoc/index.browser.js +1 -1
  531. package/dist/safe-bash/commands/pandoc/index.js +1 -1
  532. package/dist/safe-bash/commands/paste/index.js +1 -1
  533. package/dist/safe-bash/commands/patch/index.js +1 -1
  534. package/dist/safe-bash/commands/pathchk/index.js +1 -1
  535. package/dist/safe-bash/commands/pdfimages/index.js +1 -1
  536. package/dist/safe-bash/commands/pdfinfo/index.js +1 -1
  537. package/dist/safe-bash/commands/pdfseparate/index.js +1 -1
  538. package/dist/safe-bash/commands/pdftk/index.js +1 -1
  539. package/dist/safe-bash/commands/pdftoppm/index.js +1 -1
  540. package/dist/safe-bash/commands/pdftotext/index.js +1 -1
  541. package/dist/safe-bash/commands/pdfunite/index.js +1 -1
  542. package/dist/safe-bash/commands/playwright/index.js +1 -1
  543. package/dist/safe-bash/commands/portable-random.js +1 -1
  544. package/dist/safe-bash/commands/portable-requirements.js +1 -1
  545. package/dist/safe-bash/commands/pptx/index.js +1 -1
  546. package/dist/safe-bash/commands/pr/index.js +1 -1
  547. package/dist/safe-bash/commands/printenv/index.js +1 -1
  548. package/dist/safe-bash/commands/python/executor-pool.js +1 -1
  549. package/dist/safe-bash/commands/python/executor.browser.js +2 -1
  550. package/dist/safe-bash/commands/python/executor.js +1 -1
  551. package/dist/safe-bash/commands/python/host-capabilities.js +1 -1
  552. package/dist/safe-bash/commands/python/index.browser.js +3 -1
  553. package/dist/safe-bash/commands/python/index.js +1 -1
  554. package/dist/safe-bash/commands/python/jspi-assets.js +1 -1
  555. package/dist/safe-bash/commands/python/jspi-trampoline.js +1 -1
  556. package/dist/safe-bash/commands/python/jspi.js +1 -1
  557. package/dist/safe-bash/commands/python/llm-capability.js +1 -1
  558. package/dist/safe-bash/commands/python/llm-dependencies.js +1 -1
  559. package/dist/safe-bash/commands/python/llm-module.js +1 -1
  560. package/dist/safe-bash/commands/python/llm-provider.js +1 -1
  561. package/dist/safe-bash/commands/python/llm-reference-module.js +1 -1
  562. package/dist/safe-bash/commands/python/provisioning.js +1 -1
  563. package/dist/safe-bash/commands/python/shell-capability.js +1 -1
  564. package/dist/safe-bash/commands/python/shell-module.js +1 -1
  565. package/dist/safe-bash/commands/python/worker.js +1 -1
  566. package/dist/safe-bash/commands/qpdf/index.js +1 -1
  567. package/dist/safe-bash/commands/qrencode/index.js +1 -1
  568. package/dist/safe-bash/commands/readlink/index.js +1 -1
  569. package/dist/safe-bash/commands/readlink-missing.js +1 -1
  570. package/dist/safe-bash/commands/realpath/index.js +1 -1
  571. package/dist/safe-bash/commands/record-buffer.js +1 -1
  572. package/dist/safe-bash/commands/regex-execution/ascii.js +1 -1
  573. package/dist/safe-bash/commands/regex-execution/bounded-glob.js +1 -1
  574. package/dist/safe-bash/commands/regex-execution/bounded-provider.js +1 -1
  575. package/dist/safe-bash/commands/regex-execution/ere/errors.js +1 -1
  576. package/dist/safe-bash/commands/regex-execution/ere/limits.js +1 -1
  577. package/dist/safe-bash/commands/regex-execution/ere/matcher.js +1 -1
  578. package/dist/safe-bash/commands/regex-execution/ere/syntax.js +1 -1
  579. package/dist/safe-bash/commands/regex-execution/portable.js +1 -1
  580. package/dist/safe-bash/commands/regex-execution/protocol.js +1 -1
  581. package/dist/safe-bash/commands/regex-execution/utf8.js +1 -1
  582. package/dist/safe-bash/commands/rev/index.js +1 -1
  583. package/dist/safe-bash/commands/rg/index.js +1 -1
  584. package/dist/safe-bash/commands/rgrep/index.js +1 -1
  585. package/dist/safe-bash/commands/rsvg-convert/index.js +1 -1
  586. package/dist/safe-bash/commands/safejs/io.js +1 -1
  587. package/dist/safe-bash/commands/safejs/options.js +1 -1
  588. package/dist/safe-bash/commands/safejs/render.js +1 -1
  589. package/dist/safe-bash/commands/safejs/runtime.js +1 -1
  590. package/dist/safe-bash/commands/safejs/types.js +1 -1
  591. package/dist/safe-bash/commands/search/ergonomic-regex.js +1 -1
  592. package/dist/safe-bash/commands/search/file-types.js +1 -1
  593. package/dist/safe-bash/commands/search/glob.js +1 -1
  594. package/dist/safe-bash/commands/search/grep-files.js +1 -1
  595. package/dist/safe-bash/commands/search/grep.js +1 -1
  596. package/dist/safe-bash/commands/search/matcher.js +1 -1
  597. package/dist/safe-bash/commands/search/options.js +1 -1
  598. package/dist/safe-bash/commands/search/output.js +1 -1
  599. package/dist/safe-bash/commands/search/requirements.js +1 -1
  600. package/dist/safe-bash/commands/search/rg-command.js +1 -1
  601. package/dist/safe-bash/commands/search/shared.js +1 -1
  602. package/dist/safe-bash/commands/search/walk.js +1 -1
  603. package/dist/safe-bash/commands/sed/index.js +1 -1
  604. package/dist/safe-bash/commands/seq/index.js +1 -1
  605. package/dist/safe-bash/commands/sha1sum/index.js +1 -1
  606. package/dist/safe-bash/commands/sha256sum/index.js +1 -1
  607. package/dist/safe-bash/commands/sha512sum/index.js +1 -1
  608. package/dist/safe-bash/commands/sips/index.js +1 -1
  609. package/dist/safe-bash/commands/sleep/index.js +1 -1
  610. package/dist/safe-bash/commands/soffice/index.js +1 -1
  611. package/dist/safe-bash/commands/sort/index.js +1 -1
  612. package/dist/safe-bash/commands/sort-admission.js +1 -1
  613. package/dist/safe-bash/commands/sox/index.js +1 -1
  614. package/dist/safe-bash/commands/soxi/index.js +1 -1
  615. package/dist/safe-bash/commands/split/index.js +1 -1
  616. package/dist/safe-bash/commands/sponge/index.js +1 -1
  617. package/dist/safe-bash/commands/sqlite3/index.js +1 -1
  618. package/dist/safe-bash/commands/ssh/index.js +1 -1
  619. package/dist/safe-bash/commands/stat/index.js +1 -1
  620. package/dist/safe-bash/commands/stream-format/shared.js +1 -1
  621. package/dist/safe-bash/commands/stream-inspection/numeric-options.js +1 -1
  622. package/dist/safe-bash/commands/stream-inspection/shared.js +1 -1
  623. package/dist/safe-bash/commands/stream-inspection/strings-object.js +1 -1
  624. package/dist/safe-bash/commands/strings/index.js +1 -1
  625. package/dist/safe-bash/commands/structured/bytes.js +1 -1
  626. package/dist/safe-bash/commands/structured/capture.js +1 -1
  627. package/dist/safe-bash/commands/structured/dates.js +1 -1
  628. package/dist/safe-bash/commands/structured/delpaths.js +1 -1
  629. package/dist/safe-bash/commands/structured/formats.js +1 -1
  630. package/dist/safe-bash/commands/structured/indices.js +1 -1
  631. package/dist/safe-bash/commands/structured/input.js +1 -1
  632. package/dist/safe-bash/commands/structured/interpreter.js +1 -1
  633. package/dist/safe-bash/commands/structured/jq.js +1 -1
  634. package/dist/safe-bash/commands/structured/limits.js +1 -1
  635. package/dist/safe-bash/commands/structured/numbers.js +1 -1
  636. package/dist/safe-bash/commands/structured/parser.js +1 -1
  637. package/dist/safe-bash/commands/structured/query-core.js +1 -1
  638. package/dist/safe-bash/commands/structured/recurse.js +1 -1
  639. package/dist/safe-bash/commands/structured/regex.js +1 -1
  640. package/dist/safe-bash/commands/structured/split.js +1 -1
  641. package/dist/safe-bash/commands/structured/splits.js +1 -1
  642. package/dist/safe-bash/commands/structured/values.js +1 -1
  643. package/dist/safe-bash/commands/svgo/index.js +1 -1
  644. package/dist/safe-bash/commands/table-text/internal.js +1 -1
  645. package/dist/safe-bash/commands/tac/index.js +1 -1
  646. package/dist/safe-bash/commands/tar/index.js +1 -1
  647. package/dist/safe-bash/commands/text-programs/awk-inspection.js +1 -1
  648. package/dist/safe-bash/commands/text-programs/awk-pipes.js +1 -1
  649. package/dist/safe-bash/commands/text-programs/awk-pretty.js +1 -1
  650. package/dist/safe-bash/commands/text-programs/awk-quote.js +1 -1
  651. package/dist/safe-bash/commands/text-programs/awk-reader.js +1 -1
  652. package/dist/safe-bash/commands/text-programs/awk-retention.js +1 -1
  653. package/dist/safe-bash/commands/text-programs/awk-runtime.js +1 -1
  654. package/dist/safe-bash/commands/text-programs/awk-syntax.js +1 -1
  655. package/dist/safe-bash/commands/text-programs/awk-values.js +1 -1
  656. package/dist/safe-bash/commands/text-programs/awk.js +1 -1
  657. package/dist/safe-bash/commands/text-programs/inplace.js +1 -1
  658. package/dist/safe-bash/commands/text-programs/regex.js +1 -1
  659. package/dist/safe-bash/commands/text-programs/replacement-buffer.js +1 -1
  660. package/dist/safe-bash/commands/text-programs/sed.js +1 -1
  661. package/dist/safe-bash/commands/text-programs/shared.js +1 -1
  662. package/dist/safe-bash/commands/time-env/calendar.js +1 -1
  663. package/dist/safe-bash/commands/time-env/format.js +1 -1
  664. package/dist/safe-bash/commands/time-env/shared.js +1 -1
  665. package/dist/safe-bash/commands/timeout/index.js +1 -1
  666. package/dist/safe-bash/commands/touch/index.js +1 -1
  667. package/dist/safe-bash/commands/touch-target.js +1 -1
  668. package/dist/safe-bash/commands/touch-times.js +1 -1
  669. package/dist/safe-bash/commands/tree/index.js +1 -1
  670. package/dist/safe-bash/commands/tsort/index.js +1 -1
  671. package/dist/safe-bash/commands/unalias/index.js +1 -1
  672. package/dist/safe-bash/commands/uname/index.js +1 -1
  673. package/dist/safe-bash/commands/unexpand/index.js +1 -1
  674. package/dist/safe-bash/commands/unix2dos/index.js +1 -1
  675. package/dist/safe-bash/commands/unrtf/index.js +1 -1
  676. package/dist/safe-bash/commands/unzip/index.js +1 -1
  677. package/dist/safe-bash/commands/wdiff/index.js +1 -1
  678. package/dist/safe-bash/commands/wget/index.js +1 -1
  679. package/dist/safe-bash/commands/which/index.js +1 -1
  680. package/dist/safe-bash/commands/whoami/index.js +1 -1
  681. package/dist/safe-bash/commands/wkhtmltopdf/index.js +1 -1
  682. package/dist/safe-bash/commands/xan/index.js +1 -1
  683. package/dist/safe-bash/commands/xml/index.js +1 -1
  684. package/dist/safe-bash/commands/xmllint/index.js +1 -1
  685. package/dist/safe-bash/commands/xq/index.js +1 -1
  686. package/dist/safe-bash/commands/xxd/index.js +1 -1
  687. package/dist/safe-bash/commands/xz/index.js +1 -1
  688. package/dist/safe-bash/commands/yq/index.js +1 -1
  689. package/dist/safe-bash/commands/zip/index.js +1 -1
  690. package/dist/safe-bash/commands/zstd/index.js +1 -1
  691. package/dist/safe-bash/core.browser.js +2 -2
  692. package/dist/safe-bash/full-core.browser.js +29 -7
  693. package/dist/safe-bash/integrations/safejs/filesystem.js +1 -1
  694. package/dist/safe-bash/integrations/safejs/shell.js +1 -1
  695. package/dist/safe-bash/integrations/safejs/values.js +1 -1
  696. package/dist/safe-bash/playwright/abilities.js +1 -1
  697. package/dist/safe-bash/playwright/ability-execution.js +1 -1
  698. package/dist/safe-bash/playwright/adapter.js +1 -1
  699. package/dist/safe-bash/playwright/builtins.js +1 -1
  700. package/dist/safe-bash/playwright/canonical-locator-parser.js +1 -1
  701. package/dist/safe-bash/playwright/capability-events.js +1 -1
  702. package/dist/safe-bash/playwright/capability-result.js +1 -1
  703. package/dist/safe-bash/playwright/catalog.js +1 -1
  704. package/dist/safe-bash/playwright/checkpoint.js +1 -1
  705. package/dist/safe-bash/playwright/command-budget.js +1 -1
  706. package/dist/safe-bash/playwright/command-reference.js +1 -1
  707. package/dist/safe-bash/playwright/config-ini.js +1 -1
  708. package/dist/safe-bash/playwright/config-json.js +1 -1
  709. package/dist/safe-bash/playwright/controller.js +1 -1
  710. package/dist/safe-bash/playwright/devices.js +1 -1
  711. package/dist/safe-bash/playwright/download-capabilities.js +1 -1
  712. package/dist/safe-bash/playwright/drop-capability.js +1 -1
  713. package/dist/safe-bash/playwright/find.js +1 -1
  714. package/dist/safe-bash/playwright/frame-snapshot.js +1 -1
  715. package/dist/safe-bash/playwright/generated-locator.js +1 -1
  716. package/dist/safe-bash/playwright/help-reference.js +1 -1
  717. package/dist/safe-bash/playwright/help.js +1 -1
  718. package/dist/safe-bash/playwright/highlight.js +1 -1
  719. package/dist/safe-bash/playwright/index.js +1 -1
  720. package/dist/safe-bash/playwright/invocation.js +1 -1
  721. package/dist/safe-bash/playwright/locator-selector.js +1 -1
  722. package/dist/safe-bash/playwright/modal-capabilities.js +1 -1
  723. package/dist/safe-bash/playwright/native-evaluation.js +1 -1
  724. package/dist/safe-bash/playwright/native-json-snapshot.js +1 -1
  725. package/dist/safe-bash/playwright/native-snapshot.js +1 -1
  726. package/dist/safe-bash/playwright/native-storage-realm.js +1 -1
  727. package/dist/safe-bash/playwright/native-storage-replacement.js +1 -1
  728. package/dist/safe-bash/playwright/native-storage-sources.generated.js +1 -1
  729. package/dist/safe-bash/playwright/native-storage-targets.js +1 -1
  730. package/dist/safe-bash/playwright/network-policy.js +1 -1
  731. package/dist/safe-bash/playwright/open-options.js +1 -1
  732. package/dist/safe-bash/playwright/private-target-transport.js +1 -1
  733. package/dist/safe-bash/playwright/profile.js +1 -1
  734. package/dist/safe-bash/playwright/recording-capabilities.js +1 -1
  735. package/dist/safe-bash/playwright/recovery.js +1 -1
  736. package/dist/safe-bash/playwright/resource-limit.js +1 -1
  737. package/dist/safe-bash/playwright/response.js +1 -1
  738. package/dist/safe-bash/playwright/route-capabilities.js +1 -1
  739. package/dist/safe-bash/playwright/route-policy.js +1 -1
  740. package/dist/safe-bash/playwright/screenshot.js +1 -1
  741. package/dist/safe-bash/playwright/session-configuration.js +1 -1
  742. package/dist/safe-bash/playwright/session-runtime.js +1 -1
  743. package/dist/safe-bash/playwright/session-selection.js +1 -1
  744. package/dist/safe-bash/playwright/snapshot-reference-error.js +1 -1
  745. package/dist/safe-bash/playwright/snapshot.js +1 -1
  746. package/dist/safe-bash/playwright/standard-capabilities.js +1 -1
  747. package/dist/safe-bash/playwright/storage-capabilities.js +1 -1
  748. package/dist/safe-bash/playwright/storage-state.js +1 -1
  749. package/dist/safe-bash/playwright/target-screenshot.js +1 -1
  750. package/dist/safe-bash/playwright/targets.js +1 -1
  751. package/dist/safe-bash/playwright/tracing-capabilities.js +1 -1
  752. package/dist/safe-bash/playwright/webmcp-capabilities.js +1 -1
  753. package/dist/safe-bash/playwright/webmcp-params.js +1 -1
  754. package/dist/safe-bash/playwright/workspace-assets.js +1 -1
  755. package/dist/safe-bash/playwright/workspace.js +1 -1
  756. package/dist/safe-bash/plugins/index.browser.js +4 -4
  757. package/dist/safe-bash/registry-entry.browser.js +2 -2
  758. package/dist/safe-bash/search.browser.js +1 -1
  759. package/dist/safe-bash/shell/parser.js +2 -1
  760. package/dist/safe-bash/shell/pattern.js +1 -1
  761. package/dist/safe-bash/shell/string-operations.js +1 -1
  762. package/dist/safe-bash/shell-entry.browser.js +2 -2
  763. package/dist/safe-bash/ts-ast.js +1 -1
  764. package/dist/safe-bash-checksum-engine/index.js +1 -1
  765. package/dist/safe-bash-command-audio/index.js +2 -2
  766. package/dist/safe-bash-command-awk/awk-inspection.js +2 -2
  767. package/dist/safe-bash-command-awk/awk-runtime.js +2 -2
  768. package/dist/safe-bash-command-awk/awk-syntax.js +1 -1
  769. package/dist/safe-bash-command-awk/awk.js +6 -6
  770. package/dist/safe-bash-command-awk/index.js +6 -6
  771. package/dist/safe-bash-command-bc/index.js +13 -14
  772. package/dist/safe-bash-command-cal/index.js +25 -31
  773. package/dist/safe-bash-command-cp/index.js +3 -3
  774. package/dist/safe-bash-command-csvgrep/command.d.ts +1 -0
  775. package/dist/safe-bash-command-csvgrep/index.js +7 -0
  776. package/dist/safe-bash-command-diff/diff.js +2 -2
  777. package/dist/safe-bash-command-diff/index.js +2 -2
  778. package/dist/safe-bash-command-docx/sdk.js +1 -1
  779. package/dist/safe-bash-command-expr/bre-engine.js +1 -1
  780. package/dist/safe-bash-command-factor/command.js +2 -2
  781. package/dist/safe-bash-command-factor/index.js +2 -2
  782. package/dist/safe-bash-command-fd/index.js +4 -3
  783. package/dist/safe-bash-command-ffmpeg/index.js +13 -2
  784. package/dist/safe-bash-command-ffprobe/index.js +2 -2
  785. package/dist/safe-bash-command-ffprobe/media.js +2 -2
  786. package/dist/safe-bash-command-getconf/index.js +11 -4
  787. package/dist/safe-bash-command-git/git_rust.wasm +0 -0
  788. package/dist/safe-bash-command-git/index.js +96 -14
  789. package/dist/safe-bash-command-html-to-markdown/index.js +1 -1
  790. package/dist/safe-bash-command-html-to-markdown/stored-text.d.ts +2 -0
  791. package/dist/safe-bash-command-html-to-markdown/stored-text.js +1 -1
  792. package/dist/safe-bash-command-imagemagick/index.js +18 -4
  793. package/dist/safe-bash-command-jq/index.js +1 -1
  794. package/dist/safe-bash-command-jq/jq.js +1 -1
  795. package/dist/safe-bash-command-llm/collections.js +48 -192
  796. package/dist/safe-bash-command-llm/command.js +14 -6
  797. package/dist/safe-bash-command-llm/elevenlabs.js +2 -2
  798. package/dist/safe-bash-command-llm/fragment-loaders.d.ts +29 -0
  799. package/dist/safe-bash-command-llm/fragments.d.ts +24 -0
  800. package/dist/safe-bash-command-llm/import-json-document.d.ts +5 -2
  801. package/dist/safe-bash-command-llm/index.d.ts +7 -0
  802. package/dist/safe-bash-command-llm/index.js +47 -17
  803. package/dist/safe-bash-command-llm/input-budget.d.ts +2 -0
  804. package/dist/safe-bash-command-llm/openai-sse.d.ts +1 -1
  805. package/dist/safe-bash-command-llm/openai-sse.js +4 -1
  806. package/dist/safe-bash-command-llm/openai.js +11 -7
  807. package/dist/safe-bash-command-llm/providers/elevenlabs.js +2 -2
  808. package/dist/safe-bash-command-llm/providers/index.js +16 -10
  809. package/dist/safe-bash-command-llm/providers/openai.js +11 -7
  810. package/dist/safe-bash-command-llm/providers/shared.d.ts +2 -0
  811. package/dist/safe-bash-command-llm/providers/shared.js +1 -1
  812. package/dist/safe-bash-command-llm/retained-spool.d.ts +4 -0
  813. package/dist/safe-bash-command-llm/service.d.ts +3 -1
  814. package/dist/safe-bash-command-llm/service.js +5 -2
  815. package/dist/safe-bash-command-llm/tool-chain.d.ts +22 -0
  816. package/dist/safe-bash-command-llm/tool-execution.d.ts +55 -0
  817. package/dist/safe-bash-command-llm/tool-registry.d.ts +43 -0
  818. package/dist/safe-bash-command-llm/types.d.ts +39 -11
  819. package/dist/safe-bash-command-llm/url-fragment-source.d.ts +6 -0
  820. package/dist/safe-bash-command-llm/url-source.d.ts +3 -1
  821. package/dist/safe-bash-command-mcp/index.browser.d.ts +1 -0
  822. package/dist/safe-bash-command-mcp/index.browser.js +4 -4
  823. package/dist/safe-bash-command-mcp/index.d.ts +1 -0
  824. package/dist/safe-bash-command-mcp/index.js +28 -7
  825. package/dist/safe-bash-command-mdq/index.js +10 -3
  826. package/dist/safe-bash-command-node/commands/node/browser.js +6 -6
  827. package/dist/safe-bash-command-node/commands/node/default-runtime.js +6 -6
  828. package/dist/safe-bash-command-node/commands/node/filesystem.js +2 -2
  829. package/dist/safe-bash-command-node/commands/node/quickjs.js +1 -1
  830. package/dist/safe-bash-command-node/commands/node/safejs.js +6 -6
  831. package/dist/safe-bash-command-node/commands/node/timers.js +2 -2
  832. package/dist/safe-bash-command-pandoc/command.js +9 -9
  833. package/dist/safe-bash-command-pandoc/index.js +57 -57
  834. package/dist/safe-bash-command-pandoc/lua-filters.js +1 -1
  835. package/dist/safe-bash-command-patch/index.js +6 -6
  836. package/dist/safe-bash-command-patch/patch-formats.js +2 -2
  837. package/dist/safe-bash-command-patch/patch-publication.js +1 -1
  838. package/dist/safe-bash-command-patch/patch.js +5 -5
  839. package/dist/safe-bash-command-patch/unified.js +1 -1
  840. package/dist/safe-bash-command-pdfinfo/index.js +2 -2
  841. package/dist/safe-bash-command-pdftk/index.js +550 -137
  842. package/dist/safe-bash-command-pdftoppm/index.js +89 -124
  843. package/dist/safe-bash-command-pdftotext/index.d.ts +1 -1
  844. package/dist/safe-bash-command-pdftotext/index.js +554 -381
  845. package/dist/safe-bash-command-playwright-cli/index.js +26 -25
  846. package/dist/safe-bash-command-playwright-cli/playwright/abilities.js +7 -7
  847. package/dist/safe-bash-command-playwright-cli/playwright/adapter.js +3 -3
  848. package/dist/safe-bash-command-playwright-cli/playwright/controller.js +16 -15
  849. package/dist/safe-bash-command-playwright-cli/playwright/index.js +26 -25
  850. package/dist/safe-bash-command-playwright-cli/playwright/native-storage-replacement.js +2 -2
  851. package/dist/safe-bash-command-playwright-cli/playwright/open-options.js +2 -2
  852. package/dist/safe-bash-command-playwright-cli/playwright/profile.d.ts +1 -1
  853. package/dist/safe-bash-command-playwright-cli/playwright/profile.js +6 -5
  854. package/dist/safe-bash-command-playwright-cli/playwright/standard-capabilities.js +5 -5
  855. package/dist/safe-bash-command-playwright-cli/playwright/storage-capabilities.js +3 -3
  856. package/dist/safe-bash-command-pptx/engine.js +2 -2
  857. package/dist/safe-bash-command-python/executor.d.ts +1 -0
  858. package/dist/safe-bash-command-python/executor.js +24 -22
  859. package/dist/safe-bash-command-python/index.js +24 -22
  860. package/dist/safe-bash-command-python/jspi.js +2 -2
  861. package/dist/safe-bash-command-python/llm-capability.js +1 -1
  862. package/dist/safe-bash-command-python/llm-functions-loader.d.ts +5 -0
  863. package/dist/safe-bash-command-python/llm-packages.js +51 -2
  864. package/dist/safe-bash-command-python/llm-provider.js +1 -1
  865. package/dist/safe-bash-command-rg/glob.d.ts +6 -0
  866. package/dist/safe-bash-command-rg/glob.js +2 -2
  867. package/dist/safe-bash-command-rg/index.js +8 -8
  868. package/dist/safe-bash-command-rg/matcher.d.ts +2 -0
  869. package/dist/safe-bash-command-rg/matcher.js +2 -2
  870. package/dist/safe-bash-command-rg/options.d.ts +2 -0
  871. package/dist/safe-bash-command-rg/options.js +1 -1
  872. package/dist/safe-bash-command-rg/output.js +3 -3
  873. package/dist/safe-bash-command-rg/replacement.js +2 -2
  874. package/dist/safe-bash-command-rg/rg-command.js +8 -8
  875. package/dist/safe-bash-command-rg/shared.d.ts +0 -2
  876. package/dist/safe-bash-command-rg/shared.js +2 -4
  877. package/dist/safe-bash-command-rg/walk.js +4 -4
  878. package/dist/safe-bash-command-safejs/index.js +5 -5
  879. package/dist/safe-bash-command-safejs/runtime.js +3 -3
  880. package/dist/safe-bash-command-soffice/index.js +2 -2
  881. package/dist/safe-bash-command-sqlite3/engine.d.ts +15 -0
  882. package/dist/safe-bash-command-sqlite3/index.js +310 -15
  883. package/dist/safe-bash-command-ssconvert/index.js +13 -13
  884. package/dist/safe-bash-command-tar/create.js +2 -2
  885. package/dist/safe-bash-command-tar/extract.js +2 -2
  886. package/dist/safe-bash-command-tar/index.js +6 -6
  887. package/dist/safe-bash-command-tar/modes.js +4 -4
  888. package/dist/safe-bash-command-unzip/index.js +5 -5
  889. package/dist/safe-bash-command-unzip/unzip.js +2 -2
  890. package/dist/safe-bash-command-yq/parser.js +1 -1
  891. package/dist/safe-bash-command-yq/query.js +1 -1
  892. package/dist/safe-bash-contracts/escaping.js +2 -2
  893. package/dist/safe-bash-contracts/index.js +15 -15
  894. package/dist/safe-bash-csv-engine/index.js +5 -3
  895. package/dist/safe-bash-csv-engine/python-codepages.js +2 -1
  896. package/dist/safe-bash-csv-engine/python-file-codepages.d.ts +1 -0
  897. package/dist/safe-bash-csv-engine/python-file-codepages.js +8 -0
  898. package/dist/safe-bash-csv-engine/python-utf16.js +3 -2
  899. package/dist/safe-bash-csv-engine/text-decoder.js +5 -3
  900. package/dist/safe-bash-docx-engine/ancillary-resources.js +10 -10
  901. package/dist/safe-bash-docx-engine/batch-operations.js +68 -68
  902. package/dist/safe-bash-docx-engine/batch-result-schema.js +80 -80
  903. package/dist/safe-bash-docx-engine/batch.js +79 -79
  904. package/dist/safe-bash-docx-engine/bookmarks.js +18 -18
  905. package/dist/safe-bash-docx-engine/charts.js +11 -11
  906. package/dist/safe-bash-docx-engine/command-option-rules.js +5 -5
  907. package/dist/safe-bash-docx-engine/command-properties.js +3 -3
  908. package/dist/safe-bash-docx-engine/comments.js +27 -27
  909. package/dist/safe-bash-docx-engine/control-bindings.js +22 -22
  910. package/dist/safe-bash-docx-engine/control-repeat.js +21 -21
  911. package/dist/safe-bash-docx-engine/controls.js +19 -19
  912. package/dist/safe-bash-docx-engine/create.js +10 -10
  913. package/dist/safe-bash-docx-engine/diagrams.js +11 -11
  914. package/dist/safe-bash-docx-engine/diff.js +13 -13
  915. package/dist/safe-bash-docx-engine/document-properties.js +17 -17
  916. package/dist/safe-bash-docx-engine/equations.js +18 -18
  917. package/dist/safe-bash-docx-engine/extract.js +14 -14
  918. package/dist/safe-bash-docx-engine/fields.js +23 -23
  919. package/dist/safe-bash-docx-engine/font-inventory.js +18 -18
  920. package/dist/safe-bash-docx-engine/font-resources.js +5 -5
  921. package/dist/safe-bash-docx-engine/image-batch-operations.js +13 -13
  922. package/dist/safe-bash-docx-engine/image-insertion.js +22 -22
  923. package/dist/safe-bash-docx-engine/image-layout.js +20 -20
  924. package/dist/safe-bash-docx-engine/image-replacement.js +23 -23
  925. package/dist/safe-bash-docx-engine/images.js +20 -20
  926. package/dist/safe-bash-docx-engine/index.js +138 -138
  927. package/dist/safe-bash-docx-engine/inspection.js +21 -21
  928. package/dist/safe-bash-docx-engine/invocation.js +8 -8
  929. package/dist/safe-bash-docx-engine/io.js +8 -8
  930. package/dist/safe-bash-docx-engine/links.js +21 -21
  931. package/dist/safe-bash-docx-engine/lists.js +20 -20
  932. package/dist/safe-bash-docx-engine/locations.js +15 -15
  933. package/dist/safe-bash-docx-engine/notes.js +22 -22
  934. package/dist/safe-bash-docx-engine/objects.js +20 -20
  935. package/dist/safe-bash-docx-engine/operation-json-schema.js +3 -3
  936. package/dist/safe-bash-docx-engine/operation-schema.js +2 -2
  937. package/dist/safe-bash-docx-engine/pack.js +14 -14
  938. package/dist/safe-bash-docx-engine/package-view-batch-operations.js +21 -21
  939. package/dist/safe-bash-docx-engine/pandoc-adapter.js +29 -29
  940. package/dist/safe-bash-docx-engine/paragraph-edit.js +26 -26
  941. package/dist/safe-bash-docx-engine/part-provider.js +3 -3
  942. package/dist/safe-bash-docx-engine/property-values.js +3 -3
  943. package/dist/safe-bash-docx-engine/publication.js +8 -8
  944. package/dist/safe-bash-docx-engine/removal.js +21 -21
  945. package/dist/safe-bash-docx-engine/revision-decisions.js +23 -23
  946. package/dist/safe-bash-docx-engine/revision-edit.js +20 -20
  947. package/dist/safe-bash-docx-engine/revisions.js +18 -18
  948. package/dist/safe-bash-docx-engine/run-format.js +20 -20
  949. package/dist/safe-bash-docx-engine/sanitize.js +35 -35
  950. package/dist/safe-bash-docx-engine/sections.js +19 -19
  951. package/dist/safe-bash-docx-engine/settings.js +12 -12
  952. package/dist/safe-bash-docx-engine/shape-edit.js +22 -22
  953. package/dist/safe-bash-docx-engine/signatures.js +16 -16
  954. package/dist/safe-bash-docx-engine/stories.js +22 -22
  955. package/dist/safe-bash-docx-engine/structure-model-batch-operations.js +38 -38
  956. package/dist/safe-bash-docx-engine/style-model-batch-operations.js +26 -26
  957. package/dist/safe-bash-docx-engine/style-model-result-schema.js +44 -44
  958. package/dist/safe-bash-docx-engine/styles.js +18 -18
  959. package/dist/safe-bash-docx-engine/table-edit.js +28 -28
  960. package/dist/safe-bash-docx-engine/table-read.js +16 -16
  961. package/dist/safe-bash-docx-engine/template.js +22 -22
  962. package/dist/safe-bash-docx-engine/text-replace.js +20 -20
  963. package/dist/safe-bash-docx-engine/text-resource-read.js +16 -16
  964. package/dist/safe-bash-docx-engine/text.js +16 -16
  965. package/dist/safe-bash-docx-engine/validation.js +6 -6
  966. package/dist/safe-bash-docx-engine/xml-parts.js +23 -23
  967. package/dist/safe-bash-io-engine/commands/text-programs/shared.js +4 -4
  968. package/dist/safe-bash-line-ending-engine/command.js +4 -4
  969. package/dist/safe-bash-line-ending-engine/index.js +4 -4
  970. package/dist/safe-bash-markdown-engine/commonmark-blocks.js +1 -1
  971. package/dist/safe-bash-markdown-engine/index.js +3 -3
  972. package/dist/safe-bash-network-engine/transfer.js +12 -12
  973. package/dist/safe-bash-pptx-engine/bytes.js +1 -1
  974. package/dist/safe-bash-pptx-engine/index.js +1 -1
  975. package/dist/safe-bash-presentation-engine/accessibility.js +33 -31
  976. package/dist/safe-bash-presentation-engine/animation-editing.js +17 -16
  977. package/dist/safe-bash-presentation-engine/animations.js +17 -16
  978. package/dist/safe-bash-presentation-engine/backgrounds.js +18 -17
  979. package/dist/safe-bash-presentation-engine/bytes.js +4 -4
  980. package/dist/safe-bash-presentation-engine/chart-editing.js +36 -34
  981. package/dist/safe-bash-presentation-engine/chart-object-operations.js +26 -25
  982. package/dist/safe-bash-presentation-engine/charts.js +33 -31
  983. package/dist/safe-bash-presentation-engine/command-placeholder.js +63 -60
  984. package/dist/safe-bash-presentation-engine/comments.js +18 -17
  985. package/dist/safe-bash-presentation-engine/connector-operations.js +34 -32
  986. package/dist/safe-bash-presentation-engine/connectors.js +31 -29
  987. package/dist/safe-bash-presentation-engine/content-types.js +5 -5
  988. package/dist/safe-bash-presentation-engine/creation.js +7 -7
  989. package/dist/safe-bash-presentation-engine/diff.js +40 -37
  990. package/dist/safe-bash-presentation-engine/drawing-format.js +21 -20
  991. package/dist/safe-bash-presentation-engine/drawing-operations.js +33 -31
  992. package/dist/safe-bash-presentation-engine/drawing-schema.js +22 -21
  993. package/dist/safe-bash-presentation-engine/equations.js +18 -17
  994. package/dist/safe-bash-presentation-engine/errors.js +3 -3
  995. package/dist/safe-bash-presentation-engine/fields.js +18 -17
  996. package/dist/safe-bash-presentation-engine/font-metrics.js +4 -4
  997. package/dist/safe-bash-presentation-engine/image-extraction.js +23 -21
  998. package/dist/safe-bash-presentation-engine/image-formatting.js +35 -33
  999. package/dist/safe-bash-presentation-engine/image-insertion.js +20 -19
  1000. package/dist/safe-bash-presentation-engine/image-metadata.d.ts +7 -1
  1001. package/dist/safe-bash-presentation-engine/image-metadata.js +5 -3
  1002. package/dist/safe-bash-presentation-engine/image-replacement.js +24 -22
  1003. package/dist/safe-bash-presentation-engine/image-value.js +6 -6
  1004. package/dist/safe-bash-presentation-engine/images.d.ts +1 -0
  1005. package/dist/safe-bash-presentation-engine/images.js +24 -20
  1006. package/dist/safe-bash-presentation-engine/index.js +151 -146
  1007. package/dist/safe-bash-presentation-engine/layouts.js +17 -16
  1008. package/dist/safe-bash-presentation-engine/length.js +4 -4
  1009. package/dist/safe-bash-presentation-engine/links.js +17 -16
  1010. package/dist/safe-bash-presentation-engine/masters.js +16 -15
  1011. package/dist/safe-bash-presentation-engine/media-editing.js +30 -25
  1012. package/dist/safe-bash-presentation-engine/media-extraction.d.ts +4 -0
  1013. package/dist/safe-bash-presentation-engine/media-extraction.js +33 -19
  1014. package/dist/safe-bash-presentation-engine/media.d.ts +2 -0
  1015. package/dist/safe-bash-presentation-engine/media.js +32 -18
  1016. package/dist/safe-bash-presentation-engine/memberships.d.ts +1 -0
  1017. package/dist/safe-bash-presentation-engine/memberships.js +25 -17
  1018. package/dist/safe-bash-presentation-engine/notes.js +20 -18
  1019. package/dist/safe-bash-presentation-engine/ole-enum.js +5 -5
  1020. package/dist/safe-bash-presentation-engine/ole-insertion.js +22 -21
  1021. package/dist/safe-bash-presentation-engine/opaque-objects.d.ts +4 -0
  1022. package/dist/safe-bash-presentation-engine/opaque-objects.js +30 -12
  1023. package/dist/safe-bash-presentation-engine/package-reader.js +6 -6
  1024. package/dist/safe-bash-presentation-engine/package-tools.js +24 -20
  1025. package/dist/safe-bash-presentation-engine/package-uri.js +4 -4
  1026. package/dist/safe-bash-presentation-engine/package-writer.js +5 -5
  1027. package/dist/safe-bash-presentation-engine/presentation-model.js +62 -59
  1028. package/dist/safe-bash-presentation-engine/presentation-settings.d.ts +1 -0
  1029. package/dist/safe-bash-presentation-engine/presentation-settings.js +25 -16
  1030. package/dist/safe-bash-presentation-engine/properties.js +21 -18
  1031. package/dist/safe-bash-presentation-engine/relationships.js +5 -5
  1032. package/dist/safe-bash-presentation-engine/resource-limits.js +2 -2
  1033. package/dist/safe-bash-presentation-engine/retained-extraction-output.d.ts +8 -4
  1034. package/dist/safe-bash-presentation-engine/retained-fonts.d.ts +26 -0
  1035. package/dist/safe-bash-presentation-engine/retained-image-metadata.d.ts +13 -0
  1036. package/dist/safe-bash-presentation-engine/retained-inspection.js +16 -14
  1037. package/dist/safe-bash-presentation-engine/retained-media-extraction.d.ts +21 -0
  1038. package/dist/safe-bash-presentation-engine/retained-media.d.ts +54 -0
  1039. package/dist/safe-bash-presentation-engine/retained-memberships.d.ts +25 -0
  1040. package/dist/safe-bash-presentation-engine/retained-object-extraction.d.ts +22 -0
  1041. package/dist/safe-bash-presentation-engine/retained-objects.d.ts +25 -0
  1042. package/dist/safe-bash-presentation-engine/retained-package.js +6 -6
  1043. package/dist/safe-bash-presentation-engine/retained-presentation-settings.d.ts +25 -0
  1044. package/dist/safe-bash-presentation-engine/retained-shape-geometry.d.ts +20 -0
  1045. package/dist/safe-bash-presentation-engine/retained-text.d.ts +24 -4
  1046. package/dist/safe-bash-presentation-engine/retained-text.js +35 -31
  1047. package/dist/safe-bash-presentation-engine/retained-transitions.d.ts +18 -0
  1048. package/dist/safe-bash-presentation-engine/sanitize.js +22 -19
  1049. package/dist/safe-bash-presentation-engine/selectors.js +11 -11
  1050. package/dist/safe-bash-presentation-engine/shape-groups.js +33 -31
  1051. package/dist/safe-bash-presentation-engine/shape-operations.js +32 -30
  1052. package/dist/safe-bash-presentation-engine/shape-path-operations.js +34 -32
  1053. package/dist/safe-bash-presentation-engine/shape-paths.js +17 -16
  1054. package/dist/safe-bash-presentation-engine/shape-presets.js +4 -4
  1055. package/dist/safe-bash-presentation-engine/shape-selection.js +33 -31
  1056. package/dist/safe-bash-presentation-engine/shape-transforms.d.ts +6 -0
  1057. package/dist/safe-bash-presentation-engine/shape-transforms.js +26 -20
  1058. package/dist/safe-bash-presentation-engine/shapes.js +28 -27
  1059. package/dist/safe-bash-presentation-engine/slide-copy.js +21 -17
  1060. package/dist/safe-bash-presentation-engine/slide-import.js +19 -18
  1061. package/dist/safe-bash-presentation-engine/slide-merge-split.js +21 -20
  1062. package/dist/safe-bash-presentation-engine/slide-model.js +46 -44
  1063. package/dist/safe-bash-presentation-engine/slide-removal.js +19 -18
  1064. package/dist/safe-bash-presentation-engine/slide-transfer-budget.js +10 -10
  1065. package/dist/safe-bash-presentation-engine/slides.js +21 -19
  1066. package/dist/safe-bash-presentation-engine/table-operations.js +35 -33
  1067. package/dist/safe-bash-presentation-engine/table-spans.js +34 -32
  1068. package/dist/safe-bash-presentation-engine/tables.js +33 -31
  1069. package/dist/safe-bash-presentation-engine/tags.js +20 -18
  1070. package/dist/safe-bash-presentation-engine/template-bindings.js +36 -34
  1071. package/dist/safe-bash-presentation-engine/template-repeat.js +46 -41
  1072. package/dist/safe-bash-presentation-engine/text-fitting.js +28 -27
  1073. package/dist/safe-bash-presentation-engine/text-frames.js +28 -27
  1074. package/dist/safe-bash-presentation-engine/text-paragraphs.js +28 -27
  1075. package/dist/safe-bash-presentation-engine/text-reading.js +12 -12
  1076. package/dist/safe-bash-presentation-engine/text-replacement.js +18 -17
  1077. package/dist/safe-bash-presentation-engine/text-runs.js +21 -20
  1078. package/dist/safe-bash-presentation-engine/themes.js +17 -16
  1079. package/dist/safe-bash-presentation-engine/transitions.d.ts +1 -0
  1080. package/dist/safe-bash-presentation-engine/transitions.js +24 -16
  1081. package/dist/safe-bash-presentation-engine/validation.js +11 -10
  1082. package/dist/safe-bash-presentation-engine/xml-parts.js +21 -19
  1083. package/dist/safe-bash-presentation-engine/xml-view.js +4 -4
  1084. package/dist/safe-bash-presentation-engine/xml.js +4 -4
  1085. package/dist/safe-bash-query-engine/capture.js +5 -5
  1086. package/dist/safe-bash-query-engine/dates.js +2 -2
  1087. package/dist/safe-bash-query-engine/delpaths.js +5 -5
  1088. package/dist/safe-bash-query-engine/formats.js +3 -3
  1089. package/dist/safe-bash-query-engine/index.js +15 -15
  1090. package/dist/safe-bash-query-engine/indices.js +5 -5
  1091. package/dist/safe-bash-query-engine/input.js +2 -2
  1092. package/dist/safe-bash-query-engine/interpreter.d.ts +2 -1
  1093. package/dist/safe-bash-query-engine/interpreter.js +13 -13
  1094. package/dist/safe-bash-query-engine/limits.d.ts +1 -0
  1095. package/dist/safe-bash-query-engine/limits.js +1 -1
  1096. package/dist/safe-bash-query-engine/parser.js +2 -2
  1097. package/dist/safe-bash-query-engine/query-core.js +15 -15
  1098. package/dist/safe-bash-query-engine/recurse.js +2 -2
  1099. package/dist/safe-bash-query-engine/regex.js +6 -6
  1100. package/dist/safe-bash-query-engine/split.js +2 -2
  1101. package/dist/safe-bash-query-engine/splits.js +7 -7
  1102. package/dist/safe-bash-query-engine/values.js +4 -4
  1103. package/dist/safe-bash-regex-engine/ere/matcher.d.ts +1 -1
  1104. package/dist/safe-bash-regex-engine/ere/matcher.js +18 -10
  1105. package/dist/safe-bash-regex-engine/ere/syntax.d.ts +1 -1
  1106. package/dist/safe-bash-regex-engine/ere/syntax.js +1 -1
  1107. package/dist/safe-bash-regex-engine/ere/types.d.ts +1 -0
  1108. package/dist/safe-bash-regex-engine/execution/bounded-provider.js +5 -6
  1109. package/dist/safe-bash-search-engine/ergonomic-regex.d.ts +1 -0
  1110. package/dist/safe-bash-search-engine/ergonomic-regex.js +2 -2
  1111. package/dist/safe-bash-sqlite-engine/sqlite-read-session.d.ts +17 -0
  1112. package/dist/safe-bash-sqlite-engine/storage.d.ts +1 -0
  1113. package/dist/safe-bash-sqlite-engine/storage.js +159 -89
  1114. package/dist/safe-bash-xml-engine/document.js +3 -3
  1115. package/dist/safe-bash-xml-engine/evaluate.js +1 -1
  1116. package/dist/safe-bash-xml-engine/index.js +4 -4
  1117. package/dist/safe-bash-xml-engine/json.js +14 -7
  1118. package/dist/safe-bash-xml-engine/query.js +2 -2
  1119. package/dist/safe-bash-xml-engine/recovery.d.ts +13 -3
  1120. package/dist/safe-bash-xml-engine/stored-document.d.ts +18 -3
  1121. package/dist/safe-bash-xml-engine/stored-document.js +1 -1
  1122. package/dist/safe-bash-xml-engine/stored-evaluate.js +5 -5
  1123. package/dist/safe-bash-xml-engine/stored-map.d.ts +35 -0
  1124. package/dist/safe-bash-zip-engine/index.js +3 -3
  1125. package/dist/safe-bash-zip-engine/zip/repair.js +3 -3
  1126. package/dist/safe-bash-zip-engine/zip/sfx.js +3 -3
  1127. package/dist/safe-bash-zip-engine/zip-format.js +3 -3
  1128. package/dist/safe-playwright-cloudflare/browser-provider.generated.js +11819 -11773
  1129. package/dist/safe-playwright-cloudflare/browser-run-code-guest.generated.js +1 -1
  1130. package/dist/spreadsheet-engine/formatting/cell-text.js +1 -1
  1131. package/dist/spreadsheet-engine/{rendering/print → formatting}/general-number.js +3 -3
  1132. package/dist/spreadsheet-engine/formulas/functions/python-printf.js +16 -10
  1133. package/dist/spreadsheet-engine/solver/program.js +3 -2
  1134. package/dist/spreadsheet-engine/solver/run.js +8 -2
  1135. package/dist/spreadsheet-engine/solver/sensitivity.d.ts +4 -2
  1136. package/dist/spreadsheet-engine/solver/sensitivity.js +80 -42
  1137. package/dist/spreadsheet-format-xls/biff-properties-merge.d.ts +2 -1
  1138. package/dist/spreadsheet-format-xls/biff-properties-merge.js +35 -29
  1139. package/dist/spreadsheet-format-xls/biff-properties-write.js +16 -7
  1140. package/dist/spreadsheet-format-xls/biff-property-names.d.ts +3 -0
  1141. package/dist/spreadsheet-format-xls/biff-property-names.js +44 -1
  1142. package/dist/spreadsheet-format-xls/biff-property-observations.d.ts +33 -0
  1143. package/dist/spreadsheet-format-xls/biff-property-observations.js +160 -0
  1144. package/package.json +8 -5
  1145. package/third-party/pdf-ast/THIRD_PARTY_NOTICES.md +15 -0
  1146. package/third-party/pdf-ast/licenses/PYTHON-PSF.txt +254 -0
  1147. package/third-party/pdf-ast/licenses/V8-BSD.txt +61 -0
  1148. package/dist/safe-bash/chunks/chunk-FL6XE3W4.js +0 -35
  1149. package/dist/safe-bash/command-chunks/biff-KLS4T7FP-UO3CXFFF.js +0 -5581
  1150. package/dist/safe-bash/command-chunks/chunk-6EZWG56T.js +0 -455
  1151. package/dist/safe-bash/command-chunks/chunk-6RLWPB44.js +0 -107
  1152. package/dist/safe-bash/command-chunks/chunk-CGJ7GMHO.js +0 -297
  1153. package/dist/safe-bash/command-chunks/chunk-E64ZI2YB.js +0 -550
  1154. package/dist/safe-bash/command-chunks/chunk-IOXMGD2H.js +0 -260
  1155. package/dist/safe-bash/command-chunks/chunk-KSM5CCHT.js +0 -1850
  1156. package/dist/safe-bash/command-chunks/chunk-P4OWVKMD.js +0 -228
  1157. package/dist/safe-bash/command-chunks/chunk-UPXFSGQG.js +0 -134
  1158. package/dist/safe-bash/command-chunks/chunk-WKUV62RJ.js +0 -92
  1159. package/dist/safe-bash/command-chunks/chunk-WOL3LBXE.js +0 -144
  1160. package/dist/safe-bash/command-chunks/chunk-Z3PGWMSQ.js +0 -63
  1161. package/dist/safe-bash/command-chunks/model-store-I7YAWL5V.js +0 -54
  1162. package/dist/safe-bash/command-chunks/paradox-4FCZE53D-LQPGVMEL.js +0 -365
  1163. package/dist/safe-bash-xml-engine/stored-namespaces.d.ts +0 -21
  1164. package/dist/safe-bash/command-chunks/{chunk-WKU65Z3Q.js → chunk-3NJETNC2.js} +3 -3
  1165. package/dist/safe-bash/command-chunks/{chunk-SRXARACJ.js → chunk-3TP4SSPS.js} +3 -3
  1166. package/dist/safe-bash/command-chunks/{chunk-AV6N7DDA.js → chunk-DDYPQAXN.js} +3 -3
  1167. package/dist/safe-bash/command-chunks/{chunk-FEKECRJP.js → chunk-EBTKM7KX.js} +3 -3
  1168. package/dist/safe-bash/command-chunks/{chunk-M3OXQXCU.js → chunk-NBRXQUK7.js} +3 -3
  1169. package/dist/safe-bash/command-chunks/{chunk-WVD5WZXD.js → chunk-QWHBQBPB.js} +5 -5
  1170. package/dist/safe-bash/command-chunks/{chunk-5MFRN3CB.js → chunk-R64BI5MT.js} +4 -4
  1171. package/dist/safe-bash/command-chunks/{chunk-2ANW3FXH.js → chunk-U33GIOUY.js} +3 -3
  1172. package/dist/safe-bash/command-chunks/{chunk-OEKLEUUW.js → chunk-YZE7BKHC.js} +3 -3
  1173. package/dist/safe-bash/command-chunks/{chunk-WXW665TV.js → chunk-ZSHXZ3XG.js} +6 -6
  1174. package/dist/safe-bash/command-chunks/{chunk-RXXNLH7A.js → chunk-ZSQCROFE.js} +3 -3
  1175. package/dist/safe-bash/command-chunks/{dif-BXKPQOCO-4KB3RC6G.js → dif-BXKPQOCO-FVJYYGYB.js} +4 -4
  1176. package/dist/safe-bash/command-chunks/{pln-DFS7VLVS-OVOBS4QX.js → pln-DFS7VLVS-JATX6FS7.js} +3 -3
  1177. package/dist/safe-bash/command-chunks/{psion-YBI6JEQI-GY4S6ZLC.js → psion-YBI6JEQI-6OMC2PGC.js} +3 -3
  1178. package/dist/safe-bash/command-chunks/{sylk-25D7TL2Y-RU6ANKGT.js → sylk-25D7TL2Y-NJKBZZTF.js} +4 -4
  1179. /package/dist/spreadsheet-engine/{rendering/print → formatting}/general-number.d.ts +0 -0
@@ -2,7 +2,7 @@ import { SsconvertError } from "../contracts.js";
2
2
  import { cellValueFormat } from "../workbook/value-format.js";
3
3
  import { formatText } from "./number-format.js";
4
4
  import { parseFormatSections, selectFormatSection } from "./sections.js";
5
- import { formatGeneralNumber } from "../rendering/print/general-number.js";
5
+ import { formatGeneralNumber } from "./general-number.js";
6
6
  import { scanFormat } from "./numeric.js";
7
7
  import { formattingLocale, localizedValueText } from "./locale.js";
8
8
  function checkedText(text, context) {
@@ -1,6 +1,6 @@
1
- import { SsconvertError } from "../../contracts.js";
2
- import { fixedNumber } from "../../formatting/number-format.js";
3
- import { formattingLocale } from "../../formatting/locale.js";
1
+ import { SsconvertError } from "../contracts.js";
2
+ import { fixedNumber } from "./number-format.js";
3
+ import { formattingLocale } from "./locale.js";
4
4
  /** Native General precision selection, measured in the caller's font units. */
5
5
  export function formatGeneralNumber(value, initial, width, measure, locale, tick, unicodeMinus = true) {
6
6
  const decimal = formattingLocale(locale).decimal;
@@ -37,9 +37,10 @@ function* pythonText(profile, value, repr, ascii, host) {
37
37
  }
38
38
  if (typeof value === "object") {
39
39
  if ("range" in value) {
40
- // Precision may stop before the address, whose native bytes are unstable.
41
- yield* "<RangeRef object at 0x";
42
- throw new SsconvertError("unsupported-feature", "Unsupported ssconvert feature: Python RangeRef object representation");
40
+ // CPython uses a process address. The portable loader uses an opaque,
41
+ // call-local identity for each newly allocated reference wrapper instead.
42
+ yield* "<RangeRef object at 0x" + value.range.toString(16) + ">";
43
+ return;
43
44
  }
44
45
  yield "[";
45
46
  for (let column = 0; column < value.columns.length; column++) {
@@ -82,7 +83,7 @@ function* pythonText(profile, value, repr, ascii, host) {
82
83
  }
83
84
  yield quote;
84
85
  }
85
- function pythonValue(value, host, argument = true) {
86
+ function pythonValue(value, host, references, argument = true) {
86
87
  host.tick();
87
88
  // The node loader evaluates arguments without PERMIT_EMPTY; array children
88
89
  // are converted directly and retain Python None for empty Gnumeric values.
@@ -93,10 +94,10 @@ function pythonValue(value, host, argument = true) {
93
94
  return null;
94
95
  }
95
96
  if (value.kind === "range")
96
- return { range: true };
97
+ return { range: ++references.count };
97
98
  if (value.kind === "matrix" || value.kind === "set") {
98
99
  const rows = host.matrix(value).rows;
99
- return { columns: Array.from({ length: rows[0]?.length ?? 0 }, (_, column) => rows.map(row => pythonValue(row[column], host, false))) };
100
+ return { columns: Array.from({ length: rows[0]?.length ?? 0 }, (_, column) => rows.map(row => pythonValue(row[column], host, references, false))) };
100
101
  }
101
102
  // Both Python C-string acquisition and returned Gnumeric strings stop at NUL.
102
103
  return typeof value.value === "string" ? rendered(value).split("\0", 1)[0] : value.value;
@@ -170,7 +171,8 @@ function decimalFloat(value, kind, precision, alternate, host) {
170
171
  export function pythonPrintf(profile, args, host) {
171
172
  if (!args.length)
172
173
  return { kind: "error", value: "Python exception (<class 'TypeError'>: func_printf() missing 1 required positional argument: 'format')" };
173
- const values = args.map(value => pythonValue(value, host)), format = values[0];
174
+ const references = { count: 0 };
175
+ const values = args.map(value => pythonValue(value, host, references)), format = values[0];
174
176
  // Activated 1.12.61 loaders on CPython 3.12 and 3.14 wrap the sample's
175
177
  // GnumericError rather than recognizing it in py_exc_to_string.
176
178
  if (typeof format !== "string")
@@ -221,7 +223,7 @@ export function pythonPrintf(profile, args, host) {
221
223
  if (flag === "#")
222
224
  alternate = true;
223
225
  }
224
- const operand = () => {
226
+ const operand = (isPrecision = false) => {
225
227
  if (chars[index] === "*") {
226
228
  index++;
227
229
  const value = take();
@@ -233,7 +235,9 @@ export function pythonPrintf(profile, args, host) {
233
235
  while (chars[index] !== undefined && chars[index] >= "0" && chars[index] <= "9") {
234
236
  host.tick();
235
237
  count = count * 10 + Number(chars[index++]);
236
- if (count > limit)
238
+ if (isPrecision && count > 2147483647)
239
+ throw new PythonFormatError("ValueError", "precision too big");
240
+ if (!isPrecision && count > limit)
237
241
  throw new SsconvertError("resource-limit", "ssconvert calculation text limit exceeded");
238
242
  }
239
243
  return count;
@@ -242,7 +246,7 @@ export function pythonPrintf(profile, args, host) {
242
246
  let precision;
243
247
  if (chars[index] === ".") {
244
248
  index++;
245
- precision = operand();
249
+ precision = operand(true);
246
250
  }
247
251
  if (chars[index] !== undefined && "hlL".includes(chars[index]))
248
252
  index++;
@@ -280,6 +284,8 @@ export function pythonPrintf(profile, args, host) {
280
284
  else if ("diuoxXeEfFgG".includes(conversion)) {
281
285
  if (typeof value !== "number" && typeof value !== "boolean" || "oxX".includes(conversion) && typeof value !== "boolean")
282
286
  throw new PythonFormatError("TypeError", "numeric conversion requires a number");
287
+ if (precision !== undefined && precision > limit)
288
+ throw new SsconvertError("resource-limit", "ssconvert calculation text limit exceeded");
283
289
  const number = Number(value), negative = number < 0 || Object.is(number, -0);
284
290
  numeric = true;
285
291
  sign = negative ? "-" : plus ? "+" : space ? " " : "";
@@ -136,9 +136,10 @@ export class SolverProgram {
136
136
  const columns = [];
137
137
  for (let i = 0; i < n; i++) {
138
138
  const lo = this.lower[i], hi = this.upper[i], start = origin[i];
139
- const end = lo === hi ? start : this.model.domains[i] !== 'continuous' && hi - lo === 1 ? hi : start + 1 <= hi ? start + 1 : start - 1 >= hi ? start - 1 : start !== hi ? (start + hi) / 2 : (start + lo) / 2;
139
+ const end = lo === hi ? start : this.model.domains[i] !== 'continuous' && hi - lo === 1 ? hi : start + 1 <= hi ? start + 1 : start - 1 >= lo ? start - 1 : start !== hi ? (start + hi) / 2 : (start + lo) / 2;
140
140
  const dx = end - start;
141
- if (!(dx > 0)) {
141
+ // A finite backward probe carries the same affine slope as a forward probe.
142
+ if (dx === 0) {
142
143
  columns.push(addresses.map(() => 0));
143
144
  continue;
144
145
  }
@@ -4,7 +4,7 @@ import { loadSolverParameters, validateSolverParametersSteps, selectSolverAlgori
4
4
  import { SolverBudget, solveLinearSteps } from "./linear.js";
5
5
  import { SolverProgram } from "./program.js";
6
6
  import { solveNonlinearSteps } from "./nonlinear.js";
7
- import { linearSensitivity } from "./sensitivity.js";
7
+ import { linearSensitivitySteps } from "./sensitivity.js";
8
8
  import { createProgramReport, createSensitivityReport } from "./report.js";
9
9
  export const solverAlgorithms = Object.freeze([
10
10
  Object.freeze({ id: 'glpk', modelType: 'linear', available: true }),
@@ -50,6 +50,12 @@ export async function runSolverValidation(book, context, registry = solverAlgori
50
50
  }
51
51
  const result = await runCooperatively(solveLinearSteps(linear.rows, linear.objective, model.domains, budget), context.signal);
52
52
  solution = result.quality === 'infeasible' || result.quality === 'unbounded' ? undefined : result.solution;
53
+ // Linearization substitutes fixed inputs into the affine constants, leaving
54
+ // zero columns. Restore those coordinates before recalculation and reports.
55
+ if (solution) {
56
+ budget.tick(model.variables.length);
57
+ solution = solution.map((value, i) => program.lower[i] === program.upper[i] ? program.lower[i] : value);
58
+ }
53
59
  if (algorithm.id === 'glpk' && model.options.sensitivityReport && (result.quality === 'infeasible' || result.quality === 'unbounded' || model.domains.some(d => d !== 'continuous'))) {
54
60
  await warning('Solver: Solver ran, but failed');
55
61
  return book;
@@ -65,7 +71,7 @@ export async function runSolverValidation(book, context, registry = solverAlgori
65
71
  else if (result.quality === 'optimal') {
66
72
  quality = algorithm.id === 'glpk' && model.domains.every(d => d === 'continuous') ? 'Feasible' : 'Optimal';
67
73
  if (model.options.sensitivityReport && solution && model.domains.every(d => d === 'continuous'))
68
- sensitivity = linearSensitivity(linear.rows, linear.objective, solution, budget);
74
+ sensitivity = await runCooperatively(linearSensitivitySteps(linear.rows, linear.objective, solution, budget), context.signal);
69
75
  }
70
76
  }
71
77
  }
@@ -1,4 +1,4 @@
1
- import type { LinearRow, SolverBudget } from "./linear.js";
1
+ import { type LinearRow, type SolverBudget } from "./linear.js";
2
2
  export interface SensitivityEntry {
3
3
  readonly low: number;
4
4
  readonly high: number;
@@ -9,4 +9,6 @@ export interface Sensitivity {
9
9
  readonly constraints: readonly SensitivityEntry[];
10
10
  }
11
11
  /** Active-basis sensitivity for continuous linear programs, with shared bounded arithmetic. */
12
- export declare function linearSensitivity(rows: readonly LinearRow[], objective: readonly number[], solution: readonly number[], budget: SolverBudget): Sensitivity;
12
+ export declare function linearSensitivitySteps(rows: readonly LinearRow[], objective: readonly number[], solution: readonly number[], budget: SolverBudget): Generator<void, Sensitivity>;
13
+ /** Synchronous sensitivity inspection; conversions use the cooperative steps. */
14
+ export declare function linearSensitivity(...args: Parameters<typeof linearSensitivitySteps>): Sensitivity;
@@ -1,53 +1,83 @@
1
+ import { simplexSteps } from "./linear.js";
1
2
  /** Active-basis sensitivity for continuous linear programs, with shared bounded arithmetic. */
2
- export function linearSensitivity(rows, objective, solution, budget) {
3
+ export function* linearSensitivitySteps(rows, objective, solution, budget) {
3
4
  const n = objective.length;
4
5
  budget.tick(n * n + rows.length * n);
5
- const basis = [], echelon = [];
6
- for (let i = 0; i < rows.length && basis.length < n; i++) {
7
- const row = rows[i];
8
- const activity = row.coefficients.reduce((sum, v, j) => sum + v * solution[j], 0);
9
- if (Math.abs(activity - row.upper) > 1e-7 * Math.max(1, Math.abs(row.upper)))
10
- continue;
11
- const vector = [...row.coefficients];
12
- for (const b of echelon) {
13
- const pivot = b.findIndex(v => Math.abs(v) > 1e-10), multiplier = vector[pivot];
14
- for (let j = 0; j < n; j++) {
15
- budget.tick();
16
- vector[j] = vector[j] - multiplier * b[j];
17
- }
18
- }
19
- const pivot = vector.findIndex(v => Math.abs(v) > 1e-10);
20
- if (pivot === -1)
21
- continue;
22
- const scale = vector[pivot];
23
- echelon.push(vector.map(v => v / scale));
24
- basis.push(i);
25
- }
26
6
  const missing = () => ({ low: NaN, high: NaN, shadow: NaN });
27
- if (basis.length !== n)
28
- return { variables: objective.map(missing), constraints: rows.map(missing) };
29
- const inverse = basis.map((i, j) => [...rows[i].coefficients, ...objective.map((_, k) => Number(j === k))]);
30
- for (let j = 0; j < n; j++) {
31
- let pivot = j;
32
- for (let i = j + 1; i < n; i++)
33
- if (Math.abs(inverse[i][j]) > Math.abs(inverse[pivot][j]))
34
- pivot = i;
35
- [inverse[j], inverse[pivot]] = [inverse[pivot], inverse[j]];
36
- const divisor = inverse[j][j];
37
- for (let k = 0; k < n * 2; k++) {
38
- budget.tick();
39
- inverse[j][k] = inverse[j][k] / divisor;
40
- }
41
- for (let i = 0; i < n; i++)
42
- if (i !== j) {
43
- const multiplier = inverse[i][j];
44
- for (let k = 0; k < n * 2; k++) {
7
+ const unavailable = () => ({ variables: objective.map(missing), constraints: rows.map(missing) });
8
+ const active = rows.flatMap((row, i) => {
9
+ const activity = row.coefficients.reduce((sum, v, j) => sum + v * solution[j], 0);
10
+ return Math.abs(activity - row.upper) <= 1e-7 * Math.max(1, Math.abs(row.upper)) ? [i] : [];
11
+ });
12
+ const makeBasis = (order) => {
13
+ const basis = [], echelon = [];
14
+ for (const i of order) {
15
+ if (basis.length === n)
16
+ break;
17
+ const vector = [...rows[i].coefficients];
18
+ for (const b of echelon) {
19
+ const pivot = b.findIndex(v => Math.abs(v) > 1e-10), multiplier = vector[pivot];
20
+ for (let j = 0; j < n; j++) {
45
21
  budget.tick();
46
- inverse[i][k] = inverse[i][k] - multiplier * inverse[j][k];
22
+ vector[j] = vector[j] - multiplier * b[j];
47
23
  }
48
24
  }
25
+ const pivot = vector.findIndex(v => Math.abs(v) > 1e-10);
26
+ if (pivot === -1)
27
+ continue;
28
+ const scale = vector[pivot];
29
+ echelon.push(vector.map(v => v / scale));
30
+ basis.push(i);
31
+ }
32
+ if (basis.length !== n)
33
+ return undefined;
34
+ budget.tick(n * n * 2);
35
+ const inverse = basis.map((i, j) => [...rows[i].coefficients, ...objective.map((_, k) => Number(j === k))]);
36
+ for (let j = 0; j < n; j++) {
37
+ let pivot = j;
38
+ for (let i = j + 1; i < n; i++)
39
+ if (Math.abs(inverse[i][j]) > Math.abs(inverse[pivot][j]))
40
+ pivot = i;
41
+ [inverse[j], inverse[pivot]] = [inverse[pivot], inverse[j]];
42
+ const divisor = inverse[j][j];
43
+ for (let k = 0; k < n * 2; k++) {
44
+ budget.tick();
45
+ inverse[j][k] = inverse[j][k] / divisor;
46
+ }
47
+ for (let i = 0; i < n; i++)
48
+ if (i !== j) {
49
+ const multiplier = inverse[i][j];
50
+ for (let k = 0; k < n * 2; k++) {
51
+ budget.tick();
52
+ inverse[i][k] = inverse[i][k] - multiplier * inverse[j][k];
53
+ }
54
+ }
55
+ }
56
+ const dual = basis.map((_, i) => objective.reduce((sum, c, j) => sum + c * inverse[j][n + i], 0));
57
+ return { basis, inverse, dual };
58
+ };
59
+ let selected = makeBasis(active);
60
+ if (!selected)
61
+ return unavailable();
62
+ if (!selected.dual.every(value => Number.isFinite(value) && value >= -1e-10)) {
63
+ // A degenerate vertex can have independent active rows whose dual is
64
+ // infeasible. Find nonnegative multipliers A' * lambda = c, then extend
65
+ // their independent support with zero-multiplier active rows.
66
+ budget.tick(2 * n * active.length);
67
+ const equations = objective.flatMap((value, column) => {
68
+ const coefficients = active.map(i => rows[i].coefficients[column]);
69
+ return [{ coefficients, upper: value }, { coefficients: coefficients.map(v => -v), upper: -value }];
70
+ });
71
+ const feasible = yield* simplexSteps(equations, active.map(() => 0), budget);
72
+ if (feasible.quality !== 'optimal' || !feasible.solution)
73
+ return unavailable();
74
+ const positive = active.filter((_, i) => feasible.solution[i] > 0);
75
+ const zero = active.filter((_, i) => feasible.solution[i] <= 0);
76
+ selected = makeBasis([...positive, ...zero]);
77
+ if (!selected || !selected.dual.every(value => Number.isFinite(value) && value >= -1e-10))
78
+ return unavailable();
49
79
  }
50
- const dual = basis.map((_, i) => objective.reduce((sum, c, j) => sum + c * inverse[j][n + i], 0));
80
+ const { basis, inverse, dual } = selected;
51
81
  const variables = objective.map((c, j) => {
52
82
  let low = -Infinity, high = Infinity;
53
83
  for (let i = 0; i < n; i++) {
@@ -80,3 +110,11 @@ export function linearSensitivity(rows, objective, solution, budget) {
80
110
  });
81
111
  return { variables, constraints };
82
112
  }
113
+ /** Synchronous sensitivity inspection; conversions use the cooperative steps. */
114
+ export function linearSensitivity(...args) {
115
+ const steps = linearSensitivitySteps(...args);
116
+ let result = steps.next();
117
+ while (!result.done)
118
+ result = steps.next();
119
+ return result.value;
120
+ }
@@ -1,3 +1,4 @@
1
+ import { BiffPropertyNames } from './biff-property-names.js';
1
2
  import type { BiffPropertySource } from './biff-encrypted-properties-write.js';
2
3
  import { type CapabilityContext, type RangeSource } from "../spreadsheet-engine/contracts.js";
3
4
  import type { UnsupportedRecord, Workbook } from "../spreadsheet-ast/index.js";
@@ -5,4 +6,4 @@ import type { UnsupportedRecord, Workbook } from "../spreadsheet-ast/index.js";
5
6
  export declare function mergeBiffProperties(book: Workbook, streams: Map<string, Uint8Array | RangeSource>, handled: Set<UnsupportedRecord>, context: CapabilityContext, charge: (amount: number) => void, allocate: (length: number) => Uint8Array, staged?: {
6
7
  sources: Map<string, BiffPropertySource>;
7
8
  reserve: (length: number) => number;
8
- }): Promise<ReadonlySet<string>>;
9
+ }, preserved?: Pick<BiffPropertyNames, "add">): Promise<void>;
@@ -1,3 +1,5 @@
1
+ import { BiffPropertyNames } from './biff-property-names.js';
2
+ import { BiffOriginalProperties } from './biff-property-observations.js';
1
3
  import { BiffMutablePropertyValues } from './biff-property-values.js';
2
4
  import { createBiffPropertyNameEncoder } from "./biff-property-name.js";
3
5
  import { readBiffPropertyText } from "./biff-property-text.js";
@@ -8,10 +10,9 @@ import { Binary, invalidBiff } from "./biff-binary.js";
8
10
  import { biffPropertyFields, biffPropertyFormats, readBiffProperties } from "./biff-properties.js";
9
11
  import { propertyRange, readPropertySectionRanges, withPropertyValueRanges } from "./biff-property-range.js";
10
12
  /** Rebuild offsets around original opaque spans. Never transcode their codepage. */
11
- export async function mergeBiffProperties(book, streams, handled, context, charge, allocate, staged) {
13
+ export async function mergeBiffProperties(book, streams, handled, context, charge, allocate, staged, preserved) {
12
14
  const canonical = (name) => ["\u0005SummaryInformation", "\u0005DocumentSummaryInformation"].find(target => target.toUpperCase() === name.toUpperCase());
13
15
  const snapshots = new Map(), duplicates = new Set();
14
- const preserved = new Set();
15
16
  let nodes = 0, textBytes = 0;
16
17
  const admit = (amount) => {
17
18
  charge(amount);
@@ -85,7 +86,7 @@ export async function mergeBiffProperties(book, streams, handled, context, charg
85
86
  for (const name of duplicates)
86
87
  snapshots.delete(name);
87
88
  if (!snapshots.size)
88
- return preserved;
89
+ return;
89
90
  const parse = async (input) => {
90
91
  const file = propertyRange(input, context), sections = [];
91
92
  for await (const section of readPropertySectionRanges(file, admit, charge, context)) {
@@ -117,12 +118,22 @@ export async function mergeBiffProperties(book, streams, handled, context, charg
117
118
  }
118
119
  return new Binary(bytes);
119
120
  };
120
- const original = new Map(), pending = new Map();
121
- const identity = (property) => `${property.stream}:${property.section}:${property.id}`;
121
+ const same = (a, b) => {
122
+ if (!Array.isArray(a) || !Array.isArray(b))
123
+ return Object.is(a, b);
124
+ charge(a.length + b.length);
125
+ return a.length === b.length && a.every((value, i) => Object.is(value, b[i]));
126
+ };
127
+ const original = new BiffOriginalProperties(context, charge), pending = new Map();
128
+ temporarySources.push(original);
122
129
  const readContext = { ...context, limits: { ...context.limits, inputBytes: context.limits.outputBytes } };
123
130
  // Reuse scalar decoding, but do not create another retained hexadecimal copy.
124
- await readBiffProperties(new Map([...snapshots].map(([name, value]) => [name, value.bytes])), readContext, accountText, charge, undefined, property => { admit(1); original.set(identity(property), property); }, false);
125
- await readBiffProperties(streams, readContext, accountText, charge, undefined, property => { admit(1); pending.set(property.key, property); }, false);
131
+ await readBiffProperties(new Map([...snapshots].map(([name, value]) => [name, value.bytes])), readContext, accountText, charge, undefined, async (property) => {
132
+ admit(1);
133
+ const { stream, section, id, key } = property;
134
+ await original.add({ stream, section, id, key, unchanged: same(property.value, book.properties?.[key]) });
135
+ }, false);
136
+ await readBiffProperties(streams, readContext, accountText, charge, undefined, property => { admit(1); const { stream, section, id, key } = property; pending.set(key, { stream, section, id, key }); }, false);
126
137
  const chunks = async function* (source) {
127
138
  for (let at = 0; at < source.size;) {
128
139
  const bytes = await source.read(at, source.size - at);
@@ -232,48 +243,43 @@ export async function mergeBiffProperties(book, streams, handled, context, charg
232
243
  view.setUint16(8 + i * 2, value.charCodeAt(i), true);
233
244
  return propertyRange(bytes, context);
234
245
  };
235
- const same = (a, b) => {
236
- if (!Array.isArray(a) || !Array.isArray(b))
237
- return Object.is(a, b);
238
- charge(a.length + b.length);
239
- return a.length === b.length && a.every((value, i) => Object.is(value, b[i]));
240
- };
241
246
  for (const [name, snapshot] of snapshots) {
242
- const seen = new Set();
243
- function* modeled() {
247
+ const seen = new BiffPropertyNames(context, charge);
248
+ temporarySources.push(seen);
249
+ async function* modeled() {
244
250
  if (snapshot.modeled) {
245
251
  yield* snapshot.modeled;
246
252
  return;
247
253
  }
248
254
  // SummaryInformation is read first. A legacy document-only snapshot lacks
249
255
  // that earlier stream's ownership decisions: infer only unchanged values.
250
- for (const property of original.values()) {
256
+ for await (const property of original.values()) {
251
257
  charge(1);
252
258
  if (property.stream !== name)
253
259
  continue;
254
260
  if (name === "\u0005SummaryInformation" || snapshots.has("\u0005SummaryInformation") ||
255
- Object.hasOwn(book.properties ?? {}, property.key) && same(property.value, book.properties?.[property.key])) {
261
+ Object.hasOwn(book.properties ?? {}, property.key) && property.unchanged) {
256
262
  admit(1);
257
263
  yield [property.section, property.id, property.key];
258
264
  }
259
265
  }
260
266
  }
261
- for (const entry of modeled()) {
267
+ for await (const entry of modeled()) {
262
268
  admit(1);
263
269
  if (!Array.isArray(entry) || entry.length !== 3 || typeof entry[0] !== "number" || typeof entry[1] !== "number" || typeof entry[2] !== "string")
264
270
  invalidBiff("invalid retained property identity");
265
271
  const [offset, id, key] = entry;
266
- const property = original.get(identity({ stream: name, section: offset, id }));
267
- if (!property || property.key !== key || seen.has(key))
272
+ const property = await original.get(name, offset, id);
273
+ if (!property || property.key !== key || await seen.has(key))
268
274
  invalidBiff("invalid retained property identity");
269
- seen.add(key);
275
+ await seen.add(key);
270
276
  charge(old.get(name).length);
271
277
  const section = old.get(name).find(section => section.offset === offset);
272
- const value = book.properties?.[key], replacement = pending.get(key);
278
+ const replacement = pending.get(key);
273
279
  if (!Object.hasOwn(book.properties ?? {}, key))
274
280
  await remove(section, id);
275
- else if (same(property.value, value)) {
276
- preserved.add(key);
281
+ else if (property.unchanged) {
282
+ await preserved?.add(key);
277
283
  if (replacement)
278
284
  await take(replacement);
279
285
  }
@@ -451,13 +457,14 @@ export async function mergeBiffProperties(book, streams, handled, context, charg
451
457
  if (snapshot)
452
458
  handled.add(snapshot.record);
453
459
  }
454
- const exposed = new Set();
455
- await readBiffProperties(staged?.sources ?? streams, readContext, accountText, charge, undefined, property => {
460
+ const exposed = new BiffPropertyNames(context, charge);
461
+ temporarySources.push(exposed);
462
+ await readBiffProperties(staged?.sources ?? streams, readContext, accountText, charge, undefined, async (property) => {
456
463
  admit(1);
457
464
  if (!Object.hasOwn(book.properties ?? {}, property.key))
458
- exposed.add(property.key);
465
+ await exposed.add(property.key);
459
466
  }, false);
460
- for (const key of exposed)
467
+ for await (const key of exposed.values())
461
468
  await warn(key, "opaque property exposes a field absent from the model");
462
469
  }
463
470
  catch (error) {
@@ -470,5 +477,4 @@ export async function mergeBiffProperties(book, streams, handled, context, charg
470
477
  throw error;
471
478
  }
472
479
  await closeTemporary();
473
- return preserved;
474
480
  }
@@ -1,3 +1,4 @@
1
+ import { BiffPropertyNames } from "./biff-property-names.js";
1
2
  import { propertyChunks, stagePropertyBytes } from "./biff-property-bytes.js";
2
3
  import { SsconvertError } from "../spreadsheet-engine/contracts.js";
3
4
  import { biffPropertyFields, biffPropertyFormats, isBiffKeywordSpace } from "./biff-properties.js";
@@ -6,7 +7,7 @@ const fieldByName = new Map([...biffPropertyFields].flatMap(([guid, fields]) =>
6
7
  const maximumFileTime = 0xffffffffffffffffn;
7
8
  /** Only discard a generic loss report when every XML field has been handled.
8
9
  * Keep the original record on the caller's workbook, including unknown content. */
9
- function handledPropertyRecord(record, keys, charge) {
10
+ function handledPropertyRecord(record, properties, charge) {
10
11
  if (record.disposition !== "retained" || record.source !== "Gnumeric_XmlIO:sax" || record.kind !== "document-meta")
11
12
  return false;
12
13
  const office = "urn:oasis:names:tc:opendocument:xmlns:office:1.0", meta = "urn:oasis:names:tc:opendocument:xmlns:meta:1.0";
@@ -85,7 +86,7 @@ function handledPropertyRecord(record, keys, charge) {
85
86
  return false;
86
87
  }
87
88
  const keyword = field.namespace === meta && field.name === "keyword";
88
- if (key === undefined || !keys.has(key) || seen.has(key) && !(keyword && seen.get(key)))
89
+ if (key === undefined || !Object.prototype.propertyIsEnumerable.call(properties ?? {}, key) || seen.has(key) && !(keyword && seen.get(key)))
89
90
  return false;
90
91
  seen.set(key, keyword);
91
92
  }
@@ -141,7 +142,6 @@ function durationTicks(text) {
141
142
  }
142
143
  export async function writeBiffProperties(book, context, staged = false) {
143
144
  const planned = new Map(), sections = new Map();
144
- const handledKeys = new Set();
145
145
  const unsupportedKeys = [];
146
146
  let work = 0, textBytes = 0, nodes = 0, payloadBytes = 0;
147
147
  const charge = (amount) => {
@@ -275,7 +275,6 @@ export async function writeBiffProperties(book, context, staged = false) {
275
275
  if (++nodes > (context.limits.workbookNodes ?? context.limits.outputBytes))
276
276
  throw new SsconvertError("resource-limit", "ssconvert BIFF property node limit exceeded");
277
277
  const field = fieldByName.get(key);
278
- handledKeys.add(key);
279
278
  let source = book.properties[key];
280
279
  if (key === "dc:keywords" && Array.isArray(source)) {
281
280
  charge(source.length);
@@ -318,7 +317,7 @@ export async function writeBiffProperties(book, context, staged = false) {
318
317
  const handledMetadata = new Set();
319
318
  for (const record of book.unsupportedRecords ?? []) {
320
319
  charge(1);
321
- if (handledPropertyRecord(record, handledKeys, charge))
320
+ if (handledPropertyRecord(record, book.properties, charge))
322
321
  handledMetadata.add(record);
323
322
  }
324
323
  if (names.length) {
@@ -399,6 +398,7 @@ export async function writeBiffProperties(book, context, staged = false) {
399
398
  const snapshots = (book.unsupportedRecords ?? []).some(record => record.source === "biff" && record.kind === "ole-properties" && record.disposition === "retained");
400
399
  const streams = new Map(), inputs = [];
401
400
  const sources = new Map();
401
+ let preserved;
402
402
  const close = async () => {
403
403
  const errors = [];
404
404
  for (const source of [...sources.values(), ...inputs])
@@ -408,6 +408,12 @@ export async function writeBiffProperties(book, context, staged = false) {
408
408
  catch (error) {
409
409
  errors.push(error);
410
410
  }
411
+ try {
412
+ await preserved?.close();
413
+ }
414
+ catch (error) {
415
+ errors.push(error);
416
+ }
411
417
  if (errors.length === 1)
412
418
  throw errors[0];
413
419
  if (errors.length)
@@ -431,10 +437,13 @@ export async function writeBiffProperties(book, context, staged = false) {
431
437
  streams.set(name, bytes);
432
438
  }
433
439
  }
434
- const preserved = await mergeBiffProperties(book, streams, handledMetadata, context, charge, allocate, staged ? { sources, reserve } : undefined);
440
+ if (snapshots && unsupportedKeys.length)
441
+ preserved = new BiffPropertyNames(context, charge);
442
+ await mergeBiffProperties(book, streams, handledMetadata, context, charge, allocate, staged ? { sources, reserve } : undefined, preserved);
435
443
  for (const key of unsupportedKeys)
436
- if (!preserved.has(key))
444
+ if (!await preserved?.has(key))
437
445
  await context.diagnostic?.({ code: "biff-loss-warning", severity: "warning", message: `Unsupported Excel BIFF document property: ${key}` });
446
+ await preserved?.close();
438
447
  if (!staged)
439
448
  return { streams, handledMetadata, async close() { } };
440
449
  for (const [name, value] of snapshots ? streams : planned)
@@ -8,6 +8,8 @@ export declare class BiffPropertyNames {
8
8
  private readonly index;
9
9
  private readonly fallback;
10
10
  private initialized;
11
+ private first;
12
+ private last;
11
13
  private pending;
12
14
  private closed;
13
15
  private closing;
@@ -20,5 +22,6 @@ export declare class BiffPropertyNames {
20
22
  private contains;
21
23
  has(name: string): Promise<boolean>;
22
24
  add(name: string): Promise<void>;
25
+ values(): AsyncIterable<string>;
23
26
  close(): Promise<void>;
24
27
  }
@@ -10,6 +10,8 @@ export class BiffPropertyNames {
10
10
  index;
11
11
  fallback;
12
12
  initialized = false;
13
+ first = 0;
14
+ last = 0;
13
15
  pending = Promise.resolve();
14
16
  closed = false;
15
17
  closing;
@@ -145,7 +147,7 @@ export class BiffPropertyNames {
145
147
  finally {
146
148
  buffer.fill(0);
147
149
  }
148
- const record = new Uint8Array(24), descriptor = new DataView(record.buffer);
150
+ const record = new Uint8Array(32), descriptor = new DataView(record.buffer);
149
151
  descriptor.setFloat64(0, Number(head ?? 0n), true);
150
152
  descriptor.setFloat64(8, name.length, true);
151
153
  descriptor.setFloat64(16, start, true);
@@ -158,6 +160,47 @@ export class BiffPropertyNames {
158
160
  }
159
161
  await this.index.set(key, BigInt(position));
160
162
  this.check();
163
+ if (this.last) {
164
+ const link = new Uint8Array(8);
165
+ new DataView(link.buffer).setFloat64(0, position, true);
166
+ try {
167
+ await this.io(() => this.storage.write(this.last + 24, link));
168
+ }
169
+ finally {
170
+ link.fill(0);
171
+ }
172
+ }
173
+ else
174
+ this.first = position;
175
+ this.last = position;
176
+ }
177
+ async *values() {
178
+ this.check();
179
+ if (this.fallback) {
180
+ for (const name of this.fallback) {
181
+ this.check();
182
+ yield name;
183
+ }
184
+ return;
185
+ }
186
+ let position = this.first;
187
+ while (position) {
188
+ const record = new DataView((await this.read(position, 32)).buffer);
189
+ const length = record.getFloat64(8, true), start = record.getFloat64(16, true);
190
+ position = record.getFloat64(24, true);
191
+ this.charge(length + 1);
192
+ let name = '';
193
+ for (let at = 0; at < length;) {
194
+ const count = Math.min(8192, length - at), bytes = await this.read(start + at * 2, count * 2);
195
+ const view = new DataView(bytes.buffer), units = new Uint16Array(count);
196
+ for (let i = 0; i < count; i++)
197
+ units[i] = view.getUint16(i * 2, true);
198
+ name += String.fromCharCode(...units);
199
+ at += count;
200
+ }
201
+ yield name;
202
+ }
203
+ this.check();
161
204
  }
162
205
  close() {
163
206
  this.closed = true;