@poe-platform/safe-bash 0.1.818 → 0.1.819

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1058) hide show
  1. package/dist/office-xml/retained-xml-document.d.ts +2 -2
  2. package/dist/pdf-ast/cos/compact-number.d.ts +19 -0
  3. package/dist/pdf-ast/cos/mutable-object-store.d.ts +2 -1
  4. package/dist/pdf-ast/cos/retained-node-writer.d.ts +9 -0
  5. package/dist/pdf-ast/cos/text-store.d.ts +27 -0
  6. package/dist/pdf-ast/edit/retained-bookmarks.d.ts +2 -2
  7. package/dist/pdf-ast/edit/retained-info-updates.d.ts +3 -3
  8. package/dist/pdf-ast/edit/retained-merge-outlines.d.ts +43 -0
  9. package/dist/pdf-ast/edit/retained-page-copy.d.ts +2 -0
  10. package/dist/pdf-ast/image.js +1 -1
  11. package/dist/pdf-ast/index.d.ts +3 -0
  12. package/dist/pdf-ast/index.js +7 -1
  13. package/dist/pdf-ast/retained-document.d.ts +7 -0
  14. package/dist/pdf-ast/retained-reader.d.ts +4 -0
  15. package/dist/safe-bash/ast-grep.js +1 -1
  16. package/dist/safe-bash/audio-ast.js +1 -1
  17. package/dist/safe-bash/byte-encoding.js +1 -1
  18. package/dist/safe-bash/chunks/{chunk-HD6DWOAC.js → chunk-67QE3JLU.js} +1 -1
  19. package/dist/safe-bash/chunks/{chunk-HPQE675Q.js → chunk-ESH5MDQR.js} +1 -1
  20. package/dist/safe-bash/chunks/chunk-HNT2MR4W.js +45 -0
  21. package/dist/safe-bash/chunks/{chunk-SXSEF5E2.js → chunk-IRJS54AA.js} +1 -1
  22. package/dist/safe-bash/chunks/{chunk-AXGI5JVL.js → chunk-NAETSXBW.js} +2 -2
  23. package/dist/safe-bash/chunks/{chunk-WW7QPLH2.js → chunk-PSD2RSOS.js} +2 -1
  24. package/dist/safe-bash/chunks/{chunk-FQRI5AS5.js → chunk-VF3Q2V3E.js} +1 -1
  25. package/dist/safe-bash/chunks/{pdfinfo-KQIQEDOF.js → pdfinfo-G7BGZXBN.js} +2 -12
  26. package/dist/safe-bash/command-chunks/{chunk-CEHICGP6.js → chunk-22D6Q6SW.js} +5 -5
  27. package/dist/safe-bash/command-chunks/{chunk-RYOHOS2I.js → chunk-2E53ZL5D.js} +11 -9
  28. package/dist/safe-bash/command-chunks/{chunk-EJ4UP7DA.js → chunk-2ESK2YIE.js} +27 -5
  29. package/dist/safe-bash/command-chunks/{chunk-X6KFCAWZ.js → chunk-2GU2UU2Z.js} +6 -6
  30. package/dist/safe-bash/command-chunks/{chunk-L2VLASZ4.js → chunk-2GUI3ZKE.js} +3 -3
  31. package/dist/safe-bash/command-chunks/chunk-2H6RJPCQ.js +721 -0
  32. package/dist/safe-bash/command-chunks/{chunk-DRHONH2C.js → chunk-2IGH6JIP.js} +1 -1
  33. package/dist/safe-bash/command-chunks/{chunk-45GTHPL5.js → chunk-2V6EUWE3.js} +1 -1
  34. package/dist/safe-bash/command-chunks/{chunk-QNLX3CZH.js → chunk-2VSNIHIW.js} +19 -19
  35. package/dist/safe-bash/command-chunks/{chunk-PX6E5MHY.js → chunk-3DID6MQY.js} +15 -5
  36. package/dist/safe-bash/command-chunks/{chunk-5VO534FR.js → chunk-3K5FCRUG.js} +1 -0
  37. package/dist/safe-bash/command-chunks/{chunk-BSTABZIK.js → chunk-3LMUKOP2.js} +1 -1
  38. package/dist/safe-bash/command-chunks/{chunk-FDRE535F.js → chunk-3MFYCMQU.js} +35 -35
  39. package/dist/safe-bash/command-chunks/chunk-3PO534WJ.js +37 -0
  40. package/dist/safe-bash/command-chunks/{chunk-VUJCVXD4.js → chunk-3RDEX4AF.js} +4 -4
  41. package/dist/safe-bash/command-chunks/{chunk-3B6554G6.js → chunk-3TXPZLFI.js} +6 -6
  42. package/dist/safe-bash/command-chunks/{chunk-YW7WU7W2.js → chunk-4HJEZGYN.js} +8 -8
  43. package/dist/safe-bash/command-chunks/{chunk-V3NKL42J.js → chunk-4Q3HP33O.js} +1 -1
  44. package/dist/safe-bash/command-chunks/{chunk-EBX5RKKT.js → chunk-4XYGJB24.js} +4 -4
  45. package/dist/safe-bash/command-chunks/{chunk-D7UFAIBS.js → chunk-4ZQYBCB2.js} +15 -15
  46. package/dist/safe-bash/command-chunks/{chunk-TG2RVQLP.js → chunk-5KWEZV5H.js} +2 -2
  47. package/dist/safe-bash/command-chunks/{chunk-4Z7PBIMP.js → chunk-5P5SF75H.js} +79 -30
  48. package/dist/safe-bash/command-chunks/{chunk-HOBXZX23.js → chunk-5PJ6VT2O.js} +4 -4
  49. package/dist/safe-bash/command-chunks/{chunk-CODJMTSA.js → chunk-5QR4LTAK.js} +7 -7
  50. package/dist/safe-bash/command-chunks/{chunk-2WTDP3TP.js → chunk-5XIJYTQU.js} +5 -5
  51. package/dist/safe-bash/command-chunks/{chunk-MTWFSBNG.js → chunk-63WEASJ7.js} +1 -1
  52. package/dist/safe-bash/command-chunks/{chunk-NZF56C25.js → chunk-64L57DEI.js} +16 -16
  53. package/dist/safe-bash/command-chunks/{chunk-GPLN6JV2.js → chunk-6PDXNY3T.js} +9 -9
  54. package/dist/safe-bash/command-chunks/{chunk-BJL7AGA5.js → chunk-6RE4MZYM.js} +4 -4
  55. package/dist/safe-bash/command-chunks/{chunk-4OHTYYNU.js → chunk-6REH56FL.js} +11 -9
  56. package/dist/safe-bash/command-chunks/{chunk-XFIDOCYH.js → chunk-6ZHNKHQQ.js} +2 -2
  57. package/dist/safe-bash/command-chunks/{chunk-ZSF2T5D4.js → chunk-75OUKYCM.js} +2 -2
  58. package/dist/safe-bash/command-chunks/{chunk-QCN7MRRU.js → chunk-772WNCU6.js} +6 -6
  59. package/dist/safe-bash/command-chunks/{chunk-XVEI4HZL.js → chunk-7JTJQKIV.js} +1 -1
  60. package/dist/safe-bash/command-chunks/{chunk-3ZVK2OAY.js → chunk-A4GYNM2E.js} +6 -5
  61. package/dist/safe-bash/command-chunks/chunk-AC4FFCRL.js +3820 -0
  62. package/dist/safe-bash/command-chunks/{chunk-SQBWAFUI.js → chunk-ADN7BU5X.js} +58 -26
  63. package/dist/safe-bash/command-chunks/{chunk-XLFOLLUZ.js → chunk-AEHEOKI2.js} +5 -5
  64. package/dist/safe-bash/command-chunks/{chunk-IKU7ZBF3.js → chunk-AH3ZEPAN.js} +10 -7
  65. package/dist/safe-bash/command-chunks/{chunk-F2JUB7JI.js → chunk-AR65HNNX.js} +3 -3
  66. package/dist/safe-bash/command-chunks/{chunk-UZZ2WJQV.js → chunk-ARA57PMC.js} +5 -5
  67. package/dist/safe-bash/command-chunks/{chunk-HX7QQNWS.js → chunk-AXUHORS3.js} +1 -1
  68. package/dist/safe-bash/command-chunks/chunk-B6NAEWHC.js +53 -0
  69. package/dist/safe-bash/command-chunks/{chunk-2ZWRW6UQ.js → chunk-B74LVFAN.js} +1 -1
  70. package/dist/safe-bash/command-chunks/{chunk-E4TF5W6O.js → chunk-BBOYR6LV.js} +5 -5
  71. package/dist/safe-bash/command-chunks/{chunk-GNT3SCF3.js → chunk-BOMCPF7N.js} +1 -1
  72. package/dist/safe-bash/command-chunks/{chunk-R6X63VAO.js → chunk-BSLXS4PE.js} +2 -2
  73. package/dist/safe-bash/command-chunks/{chunk-N6TG44VG.js → chunk-BTDSUATE.js} +1 -1
  74. package/dist/safe-bash/command-chunks/{chunk-VZJRFHMZ.js → chunk-BXDNFBKZ.js} +26 -2
  75. package/dist/safe-bash/command-chunks/chunk-BZLLQWRK.js +296 -0
  76. package/dist/safe-bash/command-chunks/{chunk-Z33YS3DW.js → chunk-C3FERGHU.js} +4 -4
  77. package/dist/safe-bash/command-chunks/chunk-C5SLY3RB.js +279 -0
  78. package/dist/safe-bash/command-chunks/{chunk-X4TWJNW7.js → chunk-CI6KHUFK.js} +4 -4
  79. package/dist/safe-bash/command-chunks/chunk-CJIFJ45R.js +203 -0
  80. package/dist/safe-bash/command-chunks/{chunk-OTEHQQU7.js → chunk-CKQ5SXOO.js} +8 -59
  81. package/dist/safe-bash/command-chunks/{chunk-UBX5I5HY.js → chunk-CPCXE2TM.js} +7 -7
  82. package/dist/safe-bash/command-chunks/{chunk-WPEIOUJN.js → chunk-CXOAMPOV.js} +14 -12
  83. package/dist/safe-bash/command-chunks/{chunk-4SFX6YGC.js → chunk-D3WMD32B.js} +14 -14
  84. package/dist/safe-bash/command-chunks/{chunk-SF56V6QK.js → chunk-D54L2IOZ.js} +10 -10
  85. package/dist/safe-bash/command-chunks/{chunk-RNIFPFGC.js → chunk-DBYY7IDI.js} +18 -16
  86. package/dist/safe-bash/command-chunks/{chunk-DGCJVZW6.js → chunk-DGFMOT4O.js} +4 -4
  87. package/dist/safe-bash/command-chunks/{chunk-N5J3IZZK.js → chunk-DQVOBGI2.js} +12414 -8140
  88. package/dist/safe-bash/command-chunks/{chunk-IFBLXBBM.js → chunk-DTLIBRCQ.js} +6 -6
  89. package/dist/safe-bash/command-chunks/{chunk-4PMMJ45F.js → chunk-DZTT5SLG.js} +7 -7
  90. package/dist/safe-bash/command-chunks/{chunk-77NXQZGK.js → chunk-DZY7V74W.js} +3 -1
  91. package/dist/safe-bash/command-chunks/chunk-E47FFS5M.js +52 -0
  92. package/dist/safe-bash/command-chunks/{chunk-LNKZVU5V.js → chunk-E76WK7OQ.js} +1 -1
  93. package/dist/safe-bash/command-chunks/{chunk-TTVJJZOM.js → chunk-EBMKGNKF.js} +8 -8
  94. package/dist/safe-bash/command-chunks/{chunk-LNHTLWIL.js → chunk-EG7VVDV3.js} +7 -7
  95. package/dist/safe-bash/command-chunks/{chunk-GZNX5SS4.js → chunk-EIZFAUUD.js} +5 -5
  96. package/dist/safe-bash/command-chunks/{chunk-5UGQGB5Y.js → chunk-ESIEU4E4.js} +5 -5
  97. package/dist/safe-bash/command-chunks/{chunk-QJZJWL2X.js → chunk-ET3CPTJT.js} +38 -25
  98. package/dist/safe-bash/command-chunks/{chunk-XQFEP43Y.js → chunk-ETS4BINB.js} +8 -8
  99. package/dist/safe-bash/command-chunks/{chunk-WJSU2UVG.js → chunk-EU5SR3LS.js} +3 -3
  100. package/dist/safe-bash/command-chunks/{chunk-WRCYZJNO.js → chunk-FCGMSOF6.js} +8 -8
  101. package/dist/safe-bash/command-chunks/{chunk-XB5ZZHFD.js → chunk-FGK6HLSY.js} +8 -8
  102. package/dist/safe-bash/command-chunks/{chunk-7ADQE64C.js → chunk-FMGNXOMV.js} +1 -1
  103. package/dist/safe-bash/command-chunks/{chunk-QLE6JUR7.js → chunk-FX54I4AC.js} +2 -2
  104. package/dist/safe-bash/command-chunks/{chunk-MRBX4KEP.js → chunk-GAYTDZPP.js} +5 -5
  105. package/dist/safe-bash/command-chunks/chunk-GCSKS22X.js +15 -0
  106. package/dist/safe-bash/command-chunks/{chunk-UVZJAV2S.js → chunk-GNPPPYDF.js} +1 -78
  107. package/dist/safe-bash/command-chunks/{chunk-B6XTAKKQ.js → chunk-GNVAW6NL.js} +1 -1
  108. package/dist/safe-bash/command-chunks/chunk-GQV5RWMN.js +27 -0
  109. package/dist/safe-bash/command-chunks/{chunk-PWHIVWQT.js → chunk-GVDVRC7J.js} +15 -19
  110. package/dist/safe-bash/command-chunks/{chunk-KXM3HTAF.js → chunk-GYKQ3IOV.js} +27 -14
  111. package/dist/safe-bash/command-chunks/{chunk-BFRSYJUC.js → chunk-HBR5PWX4.js} +3 -3
  112. package/dist/safe-bash/command-chunks/{chunk-ZOEKSH3R.js → chunk-HCPEYQKT.js} +5 -4
  113. package/dist/safe-bash/command-chunks/{chunk-TTTNFKT6.js → chunk-HCZITM4C.js} +8 -8
  114. package/dist/safe-bash/command-chunks/{chunk-4SISSPIH.js → chunk-HLRLMFMS.js} +1 -1
  115. package/dist/safe-bash/command-chunks/chunk-HNEWGADJ.js +43 -0
  116. package/dist/safe-bash/command-chunks/{chunk-GQ7BD75U.js → chunk-HQFX5XKV.js} +7 -7
  117. package/dist/safe-bash/command-chunks/{chunk-V6NZVM7C.js → chunk-HSB55ED5.js} +6 -6
  118. package/dist/safe-bash/command-chunks/{chunk-G3FK5VVG.js → chunk-HTBUIRTH.js} +1 -1
  119. package/dist/safe-bash/command-chunks/{chunk-QCIAX6HZ.js → chunk-HUAQZFON.js} +1 -1
  120. package/dist/safe-bash/command-chunks/{chunk-JNRX5EFF.js → chunk-HVLF3Y4B.js} +8 -8
  121. package/dist/safe-bash/command-chunks/{chunk-M5BFAMXD.js → chunk-I6CQDCIP.js} +5 -5
  122. package/dist/safe-bash/command-chunks/chunk-I7MEH76L.js +276 -0
  123. package/dist/safe-bash/command-chunks/{chunk-E3BL7W5C.js → chunk-IAHYG67O.js} +152 -80
  124. package/dist/safe-bash/command-chunks/{chunk-EAGIJ4VW.js → chunk-IC5XC4TO.js} +118 -118
  125. package/dist/safe-bash/command-chunks/{chunk-YN3OEJAZ.js → chunk-IGZOQT2L.js} +6 -6
  126. package/dist/safe-bash/command-chunks/{chunk-FJLSYX5P.js → chunk-ITJDLFPW.js} +3 -3
  127. package/dist/safe-bash/command-chunks/{chunk-LSKA4IR4.js → chunk-IYEAS7TU.js} +5 -5
  128. package/dist/safe-bash/command-chunks/{chunk-P57V45F2.js → chunk-J3ISXTYB.js} +5 -5
  129. package/dist/safe-bash/command-chunks/{chunk-5WS6DXYE.js → chunk-J3VS55K4.js} +3142 -2489
  130. package/dist/safe-bash/command-chunks/chunk-J4I7KCQQ.js +495 -0
  131. package/dist/safe-bash/command-chunks/{chunk-HQEYSSZV.js → chunk-JLS6XKAR.js} +1 -1
  132. package/dist/safe-bash/command-chunks/{chunk-IJE65P52.js → chunk-JMUB5A26.js} +27 -8
  133. package/dist/safe-bash/command-chunks/{chunk-IJZUUXLL.js → chunk-JQPDVCBU.js} +6 -6
  134. package/dist/safe-bash/command-chunks/{chunk-EBKKYRQJ.js → chunk-JSW6YH6T.js} +7 -7
  135. package/dist/safe-bash/command-chunks/{chunk-YJ5IA5YQ.js → chunk-K576GZED.js} +3 -3
  136. package/dist/safe-bash/command-chunks/{chunk-C2QUG7IP.js → chunk-K6J3KFQ2.js} +17 -122
  137. package/dist/safe-bash/command-chunks/{chunk-5PMLTSQ5.js → chunk-KQE2D7PX.js} +8 -8
  138. package/dist/safe-bash/command-chunks/{chunk-Q65GWGQR.js → chunk-KVTZJBLM.js} +5 -5
  139. package/dist/safe-bash/command-chunks/chunk-L365UGC7.js +250 -0
  140. package/dist/safe-bash/command-chunks/{chunk-5VY5O37W.js → chunk-LBBJ5S3W.js} +1 -1
  141. package/dist/safe-bash/command-chunks/{chunk-WHZ6XK7Y.js → chunk-LBILRPVR.js} +1 -1
  142. package/dist/safe-bash/command-chunks/{chunk-NTXRKJPZ.js → chunk-LDR3PPM3.js} +5 -5
  143. package/dist/safe-bash/command-chunks/{chunk-Y7XL6CWB.js → chunk-LJLB7TBN.js} +19 -15
  144. package/dist/safe-bash/command-chunks/{chunk-3ZGO24WG.js → chunk-LZHFVNEV.js} +17 -107
  145. package/dist/safe-bash/command-chunks/{chunk-KFFV7HBL.js → chunk-M7MQTU77.js} +4 -4
  146. package/dist/safe-bash/command-chunks/chunk-MCUDSE4H.js +77 -0
  147. package/dist/safe-bash/command-chunks/{chunk-JT656DKZ.js → chunk-MD5ZSARP.js} +5 -5
  148. package/dist/safe-bash/command-chunks/chunk-MEST2HID.js +112 -0
  149. package/dist/safe-bash/command-chunks/{chunk-YS5ZKMRJ.js → chunk-MLMFFBOU.js} +2 -2
  150. package/dist/safe-bash/command-chunks/{chunk-NFWLZDMY.js → chunk-MQCLG2CT.js} +1 -1
  151. package/dist/safe-bash/command-chunks/{chunk-4WHTTCKY.js → chunk-N5Y7WWO6.js} +8 -8
  152. package/dist/safe-bash/command-chunks/{chunk-MZYQKH26.js → chunk-NA6YAGAH.js} +3 -3
  153. package/dist/safe-bash/command-chunks/{chunk-BB7HBO56.js → chunk-NDJPULBE.js} +4 -4
  154. package/dist/safe-bash/command-chunks/{chunk-WI5NEHPD.js → chunk-NN6OWOJG.js} +6 -6
  155. package/dist/safe-bash/command-chunks/{chunk-OL75SBZL.js → chunk-NNYOPI7K.js} +8 -8
  156. package/dist/safe-bash/command-chunks/{chunk-ZBXUAM34.js → chunk-NR7POLKP.js} +2 -2
  157. package/dist/safe-bash/command-chunks/{chunk-57SKL76U.js → chunk-NWA7ZJDV.js} +5 -5
  158. package/dist/safe-bash/command-chunks/{chunk-CSS5KXQC.js → chunk-O3FTKLWR.js} +94 -61
  159. package/dist/safe-bash/command-chunks/{chunk-6KJDTKE4.js → chunk-O4H7HPMP.js} +35 -393
  160. package/dist/safe-bash/command-chunks/{chunk-5GP4A3TD.js → chunk-OLNV5MI6.js} +1 -1
  161. package/dist/safe-bash/command-chunks/{chunk-BBEAO5N7.js → chunk-OLXMWQJ5.js} +1 -1
  162. package/dist/safe-bash/command-chunks/{chunk-QWX5IERU.js → chunk-OMD45J52.js} +23 -19
  163. package/dist/safe-bash/command-chunks/{chunk-AXI7VMLG.js → chunk-OOYVZAWL.js} +3 -41
  164. package/dist/safe-bash/command-chunks/{chunk-GNORF6RY.js → chunk-OPKLIF5P.js} +12 -12
  165. package/dist/safe-bash/command-chunks/{chunk-E3DF7RTE.js → chunk-OT75C5YS.js} +2 -2
  166. package/dist/safe-bash/command-chunks/{chunk-X6KO7D6R.js → chunk-OVCSXD7N.js} +6 -6
  167. package/dist/safe-bash/command-chunks/chunk-P3LHQOX7.js +371 -0
  168. package/dist/safe-bash/command-chunks/{chunk-M7DZ7COK.js → chunk-P3TV5GIG.js} +6 -6
  169. package/dist/safe-bash/command-chunks/{chunk-CCNOZKAK.js → chunk-P5UFNPRE.js} +5 -5
  170. package/dist/safe-bash/command-chunks/{chunk-VW67MA53.js → chunk-PAEAEFK3.js} +122 -12
  171. package/dist/safe-bash/command-chunks/{chunk-5RDS6CNQ.js → chunk-PH722HK2.js} +6 -6
  172. package/dist/safe-bash/command-chunks/{chunk-OU4VE5CR.js → chunk-PKH57OIC.js} +8 -6
  173. package/dist/safe-bash/command-chunks/{chunk-GTOMW4VV.js → chunk-PNOXBL2B.js} +1 -1
  174. package/dist/safe-bash/command-chunks/{chunk-L4XSOULP.js → chunk-PPNPXNM6.js} +38 -2
  175. package/dist/safe-bash/command-chunks/{chunk-UH4CQIU3.js → chunk-PVKSBXHB.js} +11 -9
  176. package/dist/safe-bash/command-chunks/{chunk-6LOAJOWK.js → chunk-PYYAX5FB.js} +23 -23
  177. package/dist/safe-bash/command-chunks/{chunk-MOUCMZZP.js → chunk-PZVFNPRC.js} +1 -1
  178. package/dist/safe-bash/command-chunks/{chunk-37KBCKDF.js → chunk-QCCRQU44.js} +10 -10
  179. package/dist/safe-bash/command-chunks/{chunk-C34RLMAC.js → chunk-QEVSG6HQ.js} +4 -4
  180. package/dist/safe-bash/command-chunks/{chunk-YOYK2I4N.js → chunk-QGSY4ZAU.js} +8 -8
  181. package/dist/safe-bash/command-chunks/{chunk-4YFTJS5U.js → chunk-QMXOKYMJ.js} +2 -2
  182. package/dist/safe-bash/command-chunks/{chunk-PFUZPAXQ.js → chunk-QPHI7Y7Z.js} +4 -4
  183. package/dist/safe-bash/command-chunks/{chunk-HNY7LZ5P.js → chunk-QWQHLMDX.js} +7 -7
  184. package/dist/safe-bash/command-chunks/chunk-QX3WKBLI.js +58 -0
  185. package/dist/safe-bash/command-chunks/{chunk-V6OWCRHN.js → chunk-QZPSGPN5.js} +1 -1
  186. package/dist/safe-bash/command-chunks/chunk-R36PDP3L.js +106 -0
  187. package/dist/safe-bash/command-chunks/{chunk-L6X4EEN6.js → chunk-R43WEA4C.js} +9 -9
  188. package/dist/safe-bash/command-chunks/{chunk-JSX5CFZY.js → chunk-R6VXFTYL.js} +44 -44
  189. package/dist/safe-bash/command-chunks/{chunk-OVUY46QF.js → chunk-RC4TNFNF.js} +1 -1
  190. package/dist/safe-bash/command-chunks/{chunk-PU5DMQGG.js → chunk-RESJSUHH.js} +1 -1
  191. package/dist/safe-bash/command-chunks/{chunk-CVMHDJ7J.js → chunk-RHXV2KG5.js} +520 -6
  192. package/dist/safe-bash/command-chunks/{chunk-7B2MHKIW.js → chunk-RKON2TGI.js} +1 -1
  193. package/dist/safe-bash/command-chunks/{chunk-ITXSHOLP.js → chunk-RQTFK7AV.js} +2 -2
  194. package/dist/safe-bash/command-chunks/{chunk-CFMJXJS5.js → chunk-RTUDDAAY.js} +9 -4
  195. package/dist/safe-bash/command-chunks/{chunk-FAU2KL6I.js → chunk-S5MBHFLB.js} +2 -2
  196. package/dist/safe-bash/command-chunks/{chunk-B6T2526I.js → chunk-S6223MIG.js} +1 -1
  197. package/dist/safe-bash/command-chunks/{chunk-N6VNHC3B.js → chunk-SKDJCMGI.js} +10 -8
  198. package/dist/safe-bash/command-chunks/{chunk-3W3HLPCX.js → chunk-SKF6PGA5.js} +10 -10
  199. package/dist/safe-bash/command-chunks/{chunk-2FEMMALH.js → chunk-SLD5A7IL.js} +8 -8
  200. package/dist/safe-bash/command-chunks/{chunk-FVAFISPY.js → chunk-T2LZWXWF.js} +8 -8
  201. package/dist/safe-bash/command-chunks/{chunk-ATHU53C2.js → chunk-TMJG745A.js} +6 -6
  202. package/dist/safe-bash/command-chunks/{chunk-FQ2WRT4Q.js → chunk-TP5MZHCB.js} +6 -6
  203. package/dist/safe-bash/command-chunks/{chunk-EV3DPRWE.js → chunk-TPSRY72Q.js} +2 -2
  204. package/dist/safe-bash/command-chunks/{chunk-73KY3MZ3.js → chunk-TTPT3OME.js} +7 -7
  205. package/dist/safe-bash/command-chunks/{chunk-424NYO35.js → chunk-U6VSRO6E.js} +6 -6
  206. package/dist/safe-bash/command-chunks/{chunk-5VF2EA7Z.js → chunk-U7J3R7HX.js} +6 -1
  207. package/dist/safe-bash/command-chunks/{chunk-A32PUWYE.js → chunk-UDRJKA3P.js} +11 -11
  208. package/dist/safe-bash/command-chunks/{chunk-3B444A5G.js → chunk-UI5AS3FS.js} +10 -2
  209. package/dist/safe-bash/command-chunks/{chunk-YKEMSPJZ.js → chunk-UMOQHHSV.js} +7 -7
  210. package/dist/safe-bash/command-chunks/{chunk-D5XSGHXN.js → chunk-UNI6QG45.js} +5 -5
  211. package/dist/safe-bash/command-chunks/{chunk-77WBFVZQ.js → chunk-UTSN7AKE.js} +6 -6
  212. package/dist/safe-bash/command-chunks/{chunk-F5QYUK2E.js → chunk-UWIDPTOB.js} +2 -2
  213. package/dist/safe-bash/command-chunks/{chunk-F42WV2YO.js → chunk-V2J6AC6S.js} +4 -4
  214. package/dist/safe-bash/command-chunks/{chunk-ZZ27QNBY.js → chunk-V2PJO6JL.js} +29 -60
  215. package/dist/safe-bash/command-chunks/{chunk-EDBNI7WE.js → chunk-VAMBWXDV.js} +60 -9
  216. package/dist/safe-bash/command-chunks/{chunk-KM2SMMXZ.js → chunk-VJQ5OWS5.js} +80 -2
  217. package/dist/safe-bash/command-chunks/{chunk-MI2WY75O.js → chunk-VWBNUCUP.js} +28 -11
  218. package/dist/safe-bash/command-chunks/{chunk-232N24HE.js → chunk-W4BC2YGQ.js} +11 -11
  219. package/dist/safe-bash/command-chunks/{chunk-Y3ZRIZL7.js → chunk-W5LH7D23.js} +26 -13
  220. package/dist/safe-bash/command-chunks/{chunk-K6E56LND.js → chunk-W6L4Z2VX.js} +7 -7
  221. package/dist/safe-bash/command-chunks/{chunk-MURNTGDL.js → chunk-WEXEZRMH.js} +5 -5
  222. package/dist/safe-bash/command-chunks/chunk-WIUEM7HP.js +58 -0
  223. package/dist/safe-bash/command-chunks/{chunk-AQ3XOOPQ.js → chunk-WKS2PAZL.js} +2 -2
  224. package/dist/safe-bash/command-chunks/{chunk-MMSKDYK6.js → chunk-WOECEZAC.js} +336 -74
  225. package/dist/safe-bash/command-chunks/{chunk-5OS4Q3AX.js → chunk-WOO3YO2X.js} +7 -7
  226. package/dist/safe-bash/command-chunks/{chunk-7YDJ7LDO.js → chunk-WOT2YXBT.js} +8 -223
  227. package/dist/safe-bash/command-chunks/{chunk-OVQSILY3.js → chunk-WV3C6BRD.js} +12 -12
  228. package/dist/safe-bash/command-chunks/{chunk-N3MAYM6Y.js → chunk-X3EDCCXU.js} +5 -5
  229. package/dist/safe-bash/command-chunks/{chunk-6PE2L522.js → chunk-XE75H5ZZ.js} +13 -13
  230. package/dist/safe-bash/command-chunks/{chunk-LF7YJ5VQ.js → chunk-XMNPE6RN.js} +5 -5
  231. package/dist/safe-bash/command-chunks/{chunk-DCKAY6HV.js → chunk-XNVL6AOV.js} +14 -14
  232. package/dist/safe-bash/command-chunks/{chunk-MOJQT6RW.js → chunk-XPUYA7YU.js} +6 -6
  233. package/dist/safe-bash/command-chunks/{chunk-HW3IOXT6.js → chunk-XXUMECE4.js} +20 -18
  234. package/dist/safe-bash/command-chunks/{chunk-OAM2SUUI.js → chunk-YB5TNDY6.js} +1 -1
  235. package/dist/safe-bash/command-chunks/{chunk-VEZULAIA.js → chunk-YJMS5Q4Y.js} +12 -12
  236. package/dist/safe-bash/command-chunks/{chunk-KADQKXZE.js → chunk-YJTP4ROI.js} +11 -11
  237. package/dist/safe-bash/command-chunks/{chunk-7ITPO2V6.js → chunk-YNFQ5AXM.js} +80 -45
  238. package/dist/safe-bash/command-chunks/{chunk-7PYDVQPB.js → chunk-YWP62BAZ.js} +2 -2
  239. package/dist/safe-bash/command-chunks/chunk-YXIJOYT6.js +416 -0
  240. package/dist/safe-bash/command-chunks/{chunk-NQL3WNFI.js → chunk-YYRVGXJH.js} +44 -5
  241. package/dist/safe-bash/command-chunks/{chunk-7ZEGARPB.js → chunk-Z7UPCDTU.js} +1 -1
  242. package/dist/safe-bash/command-chunks/{chunk-O2XP6HQN.js → chunk-ZBGP6XEG.js} +1 -1
  243. package/dist/safe-bash/command-chunks/{chunk-VWRHPDCD.js → chunk-ZIDESNHW.js} +3 -3
  244. package/dist/safe-bash/command-chunks/{chunk-D2ZT2UUT.js → chunk-ZLMCWAAU.js} +9 -9
  245. package/dist/safe-bash/command-chunks/{chunk-UE34SQET.js → chunk-ZODGWV3Y.js} +5 -5
  246. package/dist/safe-bash/command-chunks/{chunk-DIRK47GT.js → chunk-ZPBL7TYJ.js} +3 -3
  247. package/dist/safe-bash/command-chunks/{chunk-OA4MEWTN.js → chunk-ZQ4NQ24M.js} +10 -10
  248. package/dist/safe-bash/command-chunks/{chunk-4IDV763L.js → chunk-ZS4J5B6Y.js} +2 -2
  249. package/dist/safe-bash/command-chunks/chunk-ZTW2E5OT.js +1016 -0
  250. package/dist/safe-bash/command-chunks/{chunk-MN7EEK6Y.js → chunk-ZUOID3FA.js} +10 -10
  251. package/dist/safe-bash/command-chunks/chunk-ZWGERYLT.js +192 -0
  252. package/dist/safe-bash/command-chunks/{chunk-F2NF6FHV.js → chunk-ZXIOTUXC.js} +2 -2
  253. package/dist/safe-bash/command-chunks/{chunk-DJB5RB6U.js → chunk-ZZ6EIACJ.js} +21 -68
  254. package/dist/safe-bash/command-chunks/{chunk-XMRQ6UP2.js → chunk-ZZO3GYEZ.js} +1 -11
  255. package/dist/safe-bash/command-chunks/{command-engine-PFYHL7GS.js → command-engine-B6X6WAMX.js} +375 -114
  256. package/dist/safe-bash/command-chunks/{engine-5AVSKFBI-D7Q5VPUN.js → engine-UPLVIV72-IGXUDNO5.js} +1 -1
  257. package/dist/safe-bash/command-chunks/{model-store-IIWQHSEZ.js → model-store-RGLCVIML.js} +9 -9
  258. package/dist/safe-bash/command-chunks/paradox-BHPRIGXX-RQN37FHB.js +370 -0
  259. package/dist/safe-bash/command-chunks/prompt-tool-debug-ERJKK3XZ.js +171 -0
  260. package/dist/safe-bash/commands/alias/index.js +1 -1
  261. package/dist/safe-bash/commands/apply-patch/index.js +1 -1
  262. package/dist/safe-bash/commands/archive/create.js +1 -1
  263. package/dist/safe-bash/commands/archive/extract.js +1 -1
  264. package/dist/safe-bash/commands/archive/format.js +1 -1
  265. package/dist/safe-bash/commands/archive/index.js +1 -1
  266. package/dist/safe-bash/commands/archive/internal.js +1 -1
  267. package/dist/safe-bash/commands/archive/listing.js +1 -1
  268. package/dist/safe-bash/commands/archive/modes.js +1 -1
  269. package/dist/safe-bash/commands/archive/options.js +1 -1
  270. package/dist/safe-bash/commands/archive/stream.js +1 -1
  271. package/dist/safe-bash/commands/archive/transform.js +1 -1
  272. package/dist/safe-bash/commands/archive/unzip/safety.js +1 -1
  273. package/dist/safe-bash/commands/archive/unzip.js +1 -1
  274. package/dist/safe-bash/commands/archive/zip/aes.js +1 -1
  275. package/dist/safe-bash/commands/archive/zip/comments.js +1 -1
  276. package/dist/safe-bash/commands/archive/zip/crc.js +1 -1
  277. package/dist/safe-bash/commands/archive/zip/crypto.js +1 -1
  278. package/dist/safe-bash/commands/archive/zip/dates.js +1 -1
  279. package/dist/safe-bash/commands/archive/zip/environment.js +1 -1
  280. package/dist/safe-bash/commands/archive/zip/grow.js +1 -1
  281. package/dist/safe-bash/commands/archive/zip/help.js +1 -1
  282. package/dist/safe-bash/commands/archive/zip/line-endings.js +1 -1
  283. package/dist/safe-bash/commands/archive/zip/log.js +1 -1
  284. package/dist/safe-bash/commands/archive/zip/lzma.js +1 -1
  285. package/dist/safe-bash/commands/archive/zip/move.js +1 -1
  286. package/dist/safe-bash/commands/archive/zip/names.js +1 -1
  287. package/dist/safe-bash/commands/archive/zip/options.js +1 -1
  288. package/dist/safe-bash/commands/archive/zip/repair.js +1 -1
  289. package/dist/safe-bash/commands/archive/zip/safety.js +1 -1
  290. package/dist/safe-bash/commands/archive/zip/sfx.js +1 -1
  291. package/dist/safe-bash/commands/archive/zip/test-command.js +1 -1
  292. package/dist/safe-bash/commands/archive/zip/volumes.js +1 -1
  293. package/dist/safe-bash/commands/archive/zip/zip64.js +1 -1
  294. package/dist/safe-bash/commands/archive/zip-format.js +1 -1
  295. package/dist/safe-bash/commands/archive/zip.js +1 -1
  296. package/dist/safe-bash/commands/ast-grep/index.js +1 -1
  297. package/dist/safe-bash/commands/audio/index.browser.js +2 -8
  298. package/dist/safe-bash/commands/audio/index.js +1 -1
  299. package/dist/safe-bash/commands/awk/index.js +1 -1
  300. package/dist/safe-bash/commands/base32/index.js +1 -1
  301. package/dist/safe-bash/commands/base64/index.js +1 -1
  302. package/dist/safe-bash/commands/bc/index.browser.js +1 -1
  303. package/dist/safe-bash/commands/bc/index.js +1 -1
  304. package/dist/safe-bash/commands/bytes/checksums/sm3.js +1 -1
  305. package/dist/safe-bash/commands/bytes/compression/bounded-codec.js +1 -1
  306. package/dist/safe-bash/commands/bytes/compression/codec-loader.js +1 -1
  307. package/dist/safe-bash/commands/bytes/compression/codec.js +1 -1
  308. package/dist/safe-bash/commands/bytes/compression/errors.js +1 -1
  309. package/dist/safe-bash/commands/bytes/compression/file-operation.js +1 -1
  310. package/dist/safe-bash/commands/bytes/compression/files.js +1 -1
  311. package/dist/safe-bash/commands/bytes/compression/gunzip.js +1 -1
  312. package/dist/safe-bash/commands/bytes/compression/stream.js +1 -1
  313. package/dist/safe-bash/commands/bytes/compression/xz-list.js +1 -1
  314. package/dist/safe-bash/commands/bytes/compression/zstd-decode.js +1 -1
  315. package/dist/safe-bash/commands/bytes/encoding/base.js +1 -1
  316. package/dist/safe-bash/commands/bytes/encoding/shared.js +1 -1
  317. package/dist/safe-bash/commands/bytes/input-budget.js +1 -1
  318. package/dist/safe-bash/commands/bzip2/index.js +1 -1
  319. package/dist/safe-bash/commands/cal/index.js +1 -1
  320. package/dist/safe-bash/commands/caller/index.js +1 -1
  321. package/dist/safe-bash/commands/canonicalize-existing-parent.js +1 -1
  322. package/dist/safe-bash/commands/chmod/index.js +1 -1
  323. package/dist/safe-bash/commands/column/index.js +1 -1
  324. package/dist/safe-bash/commands/comm/index.js +1 -1
  325. package/dist/safe-bash/commands/copy-backup.js +1 -1
  326. package/dist/safe-bash/commands/copy-preserve.js +1 -1
  327. package/dist/safe-bash/commands/copy-source.js +1 -1
  328. package/dist/safe-bash/commands/cp/index.js +1 -1
  329. package/dist/safe-bash/commands/csplit/index.js +1 -1
  330. package/dist/safe-bash/commands/csvcut/index.js +1 -1
  331. package/dist/safe-bash/commands/csvgrep/index.js +1 -1
  332. package/dist/safe-bash/commands/csvkit/index.js +1 -1
  333. package/dist/safe-bash/commands/curl/index.js +1 -1
  334. package/dist/safe-bash/commands/date/index.js +1 -1
  335. package/dist/safe-bash/commands/df/index.js +1 -1
  336. package/dist/safe-bash/commands/diff/index.js +1 -1
  337. package/dist/safe-bash/commands/diff-patch/diff-format.js +1 -1
  338. package/dist/safe-bash/commands/diff-patch/diff-options.js +1 -1
  339. package/dist/safe-bash/commands/diff-patch/diff-output.js +1 -1
  340. package/dist/safe-bash/commands/diff-patch/diff.js +1 -1
  341. package/dist/safe-bash/commands/diff-patch/index.js +2 -2
  342. package/dist/safe-bash/commands/diff-patch/patch-envelope.js +1 -1
  343. package/dist/safe-bash/commands/diff-patch/patch-formats.js +1 -1
  344. package/dist/safe-bash/commands/diff-patch/patch-gnu-paths.js +1 -1
  345. package/dist/safe-bash/commands/diff-patch/patch-gnu-reject.js +1 -1
  346. package/dist/safe-bash/commands/diff-patch/patch-path.js +1 -1
  347. package/dist/safe-bash/commands/diff-patch/patch-publication.js +1 -1
  348. package/dist/safe-bash/commands/diff-patch/patch.js +1 -1
  349. package/dist/safe-bash/commands/diff-patch/shared.js +1 -1
  350. package/dist/safe-bash/commands/diff-patch/unified.js +1 -1
  351. package/dist/safe-bash/commands/diff3/index.js +1 -1
  352. package/dist/safe-bash/commands/diffpdf/index.js +1 -1
  353. package/dist/safe-bash/commands/directory-admission.js +1 -1
  354. package/dist/safe-bash/commands/docx/index.js +1 -1
  355. package/dist/safe-bash/commands/docx/io.js +1 -1
  356. package/dist/safe-bash/commands/dos2unix/index.js +1 -1
  357. package/dist/safe-bash/commands/dot/index.js +1 -1
  358. package/dist/safe-bash/commands/du/index.js +1 -1
  359. package/dist/safe-bash/commands/egrep/index.js +1 -1
  360. package/dist/safe-bash/commands/env/index.js +1 -1
  361. package/dist/safe-bash/commands/env-split.js +1 -1
  362. package/dist/safe-bash/commands/exiftool/index.js +1 -1
  363. package/dist/safe-bash/commands/expand/index.js +1 -1
  364. package/dist/safe-bash/commands/expr/index.js +1 -1
  365. package/dist/safe-bash/commands/factor/index.js +1 -1
  366. package/dist/safe-bash/commands/fd/index.js +1 -1
  367. package/dist/safe-bash/commands/ffmpeg/index.js +1 -1
  368. package/dist/safe-bash/commands/ffprobe/index.js +1 -1
  369. package/dist/safe-bash/commands/fgrep/index.js +1 -1
  370. package/dist/safe-bash/commands/file/index.js +1 -1
  371. package/dist/safe-bash/commands/filesystem-requirements.js +1 -1
  372. package/dist/safe-bash/commands/find/index.js +1 -1
  373. package/dist/safe-bash/commands/find-format.js +1 -1
  374. package/dist/safe-bash/commands/find.js +1 -1
  375. package/dist/safe-bash/commands/fmt/index.js +1 -1
  376. package/dist/safe-bash/commands/fold/index.js +1 -1
  377. package/dist/safe-bash/commands/getconf/index.js +1 -1
  378. package/dist/safe-bash/commands/getopt/index.js +1 -1
  379. package/dist/safe-bash/commands/gnu-information.js +1 -1
  380. package/dist/safe-bash/commands/gpg/index.js +1 -1
  381. package/dist/safe-bash/commands/graphviz/index.js +3 -3
  382. package/dist/safe-bash/commands/grep/index.js +1 -1
  383. package/dist/safe-bash/commands/grep-aliases/aliases.js +1 -1
  384. package/dist/safe-bash/commands/grep.js +1 -1
  385. package/dist/safe-bash/commands/gzip/index.js +1 -1
  386. package/dist/safe-bash/commands/hexdump/index.js +1 -1
  387. package/dist/safe-bash/commands/hostname/index.js +1 -1
  388. package/dist/safe-bash/commands/html-to-markdown/index.js +1 -1
  389. package/dist/safe-bash/commands/htmlq/index.js +1 -1
  390. package/dist/safe-bash/commands/iconv/index.js +1 -1
  391. package/dist/safe-bash/commands/id/index.js +1 -1
  392. package/dist/safe-bash/commands/imagemagick/index.js +1 -1
  393. package/dist/safe-bash/commands/internal.js +1 -1
  394. package/dist/safe-bash/commands/join/index.js +1 -1
  395. package/dist/safe-bash/commands/jq/index.js +1 -1
  396. package/dist/safe-bash/commands/less/index.js +1 -1
  397. package/dist/safe-bash/commands/line-endings/index.js +1 -1
  398. package/dist/safe-bash/commands/llm/collections.js +1 -1
  399. package/dist/safe-bash/commands/llm/command.js +1 -1
  400. package/dist/safe-bash/commands/llm/elevenlabs-stream.js +1 -1
  401. package/dist/safe-bash/commands/llm/elevenlabs.js +1 -1
  402. package/dist/safe-bash/commands/llm/index.browser.js +21 -1
  403. package/dist/safe-bash/commands/llm/index.js +1 -1
  404. package/dist/safe-bash/commands/llm/mime.js +1 -1
  405. package/dist/safe-bash/commands/llm/openai-http.js +1 -1
  406. package/dist/safe-bash/commands/llm/openai-sse.js +1 -1
  407. package/dist/safe-bash/commands/llm/openai.js +1 -1
  408. package/dist/safe-bash/commands/llm/providers/elevenlabs.js +1 -1
  409. package/dist/safe-bash/commands/llm/providers/index.js +1 -1
  410. package/dist/safe-bash/commands/llm/providers/openai.js +1 -1
  411. package/dist/safe-bash/commands/llm/providers/shared.js +1 -1
  412. package/dist/safe-bash/commands/llm/service.js +1 -1
  413. package/dist/safe-bash/commands/locale/index.js +1 -1
  414. package/dist/safe-bash/commands/md5sum/index.js +1 -1
  415. package/dist/safe-bash/commands/mdq/index.js +1 -1
  416. package/dist/safe-bash/commands/media/index.js +1 -1
  417. package/dist/safe-bash/commands/media/plugin.js +1 -1
  418. package/dist/safe-bash/commands/media/remote.js +1 -1
  419. package/dist/safe-bash/commands/media/settings.js +1 -1
  420. package/dist/safe-bash/commands/metadata/chmod.js +1 -1
  421. package/dist/safe-bash/commands/metadata/internal.js +1 -1
  422. package/dist/safe-bash/commands/metadata/mktemp.js +1 -1
  423. package/dist/safe-bash/commands/metadata/stat.js +1 -1
  424. package/dist/safe-bash/commands/mktemp/index.js +1 -1
  425. package/dist/safe-bash/commands/mmdc/index.js +1 -1
  426. package/dist/safe-bash/commands/more/index.js +1 -1
  427. package/dist/safe-bash/commands/neato/index.js +1 -1
  428. package/dist/safe-bash/commands/network/aggregate.js +1 -1
  429. package/dist/safe-bash/commands/network/args.js +1 -1
  430. package/dist/safe-bash/commands/network/authorizer.js +1 -1
  431. package/dist/safe-bash/commands/network/body.js +1 -1
  432. package/dist/safe-bash/commands/network/curl.js +1 -1
  433. package/dist/safe-bash/commands/network/deadline.js +1 -1
  434. package/dist/safe-bash/commands/network/decode.js +1 -1
  435. package/dist/safe-bash/commands/network/fetch-transport.js +1 -1
  436. package/dist/safe-bash/commands/network/form-content-type.js +1 -1
  437. package/dist/safe-bash/commands/network/form-headers.js +1 -1
  438. package/dist/safe-bash/commands/network/glob.js +1 -1
  439. package/dist/safe-bash/commands/network/input.js +1 -1
  440. package/dist/safe-bash/commands/network/output.js +1 -1
  441. package/dist/safe-bash/commands/network/platform-portable.js +1 -1
  442. package/dist/safe-bash/commands/network/platform.js +1 -1
  443. package/dist/safe-bash/commands/network/private-address.js +1 -1
  444. package/dist/safe-bash/commands/network/shared.js +1 -1
  445. package/dist/safe-bash/commands/network/types.js +1 -1
  446. package/dist/safe-bash/commands/network/url.js +1 -1
  447. package/dist/safe-bash/commands/network/wget.js +1 -1
  448. package/dist/safe-bash/commands/nl/index.js +1 -1
  449. package/dist/safe-bash/commands/node/browser.js +1 -1
  450. package/dist/safe-bash/commands/node/buffer.js +1 -1
  451. package/dist/safe-bash/commands/node/default-runtime.js +1 -1
  452. package/dist/safe-bash/commands/node/filesystem.js +1 -1
  453. package/dist/safe-bash/commands/node/path.js +1 -1
  454. package/dist/safe-bash/commands/node/safejs.js +1 -1
  455. package/dist/safe-bash/commands/node/source-maps.js +1 -1
  456. package/dist/safe-bash/commands/node/timers.js +1 -1
  457. package/dist/safe-bash/commands/node/types.js +1 -1
  458. package/dist/safe-bash/commands/node/worker-types.js +1 -1
  459. package/dist/safe-bash/commands/nproc/index.js +1 -1
  460. package/dist/safe-bash/commands/numfmt/index.js +1 -1
  461. package/dist/safe-bash/commands/od/index.js +1 -1
  462. package/dist/safe-bash/commands/op/index.js +23 -1
  463. package/dist/safe-bash/commands/openssl/index.js +1 -1
  464. package/dist/safe-bash/commands/pandoc/index.browser.js +1 -1
  465. package/dist/safe-bash/commands/pandoc/index.js +1 -1
  466. package/dist/safe-bash/commands/paste/index.js +1 -1
  467. package/dist/safe-bash/commands/patch/index.js +1 -1
  468. package/dist/safe-bash/commands/pathchk/index.js +1 -1
  469. package/dist/safe-bash/commands/pdfimages/index.js +1 -1
  470. package/dist/safe-bash/commands/pdfinfo/index.js +1 -1
  471. package/dist/safe-bash/commands/pdfseparate/index.js +1 -1
  472. package/dist/safe-bash/commands/pdftk/index.js +1 -1
  473. package/dist/safe-bash/commands/pdftoppm/index.js +1 -1
  474. package/dist/safe-bash/commands/pdftotext/index.js +1 -1
  475. package/dist/safe-bash/commands/pdfunite/index.js +1 -1
  476. package/dist/safe-bash/commands/playwright/index.js +1 -1
  477. package/dist/safe-bash/commands/portable-random.js +1 -1
  478. package/dist/safe-bash/commands/portable-requirements.js +1 -1
  479. package/dist/safe-bash/commands/pptx/index.js +1 -1
  480. package/dist/safe-bash/commands/pr/index.js +1 -1
  481. package/dist/safe-bash/commands/printenv/index.js +1 -1
  482. package/dist/safe-bash/commands/python/executor-pool.js +1 -1
  483. package/dist/safe-bash/commands/python/executor.browser.js +2 -1
  484. package/dist/safe-bash/commands/python/executor.js +1 -1
  485. package/dist/safe-bash/commands/python/host-capabilities.js +1 -1
  486. package/dist/safe-bash/commands/python/index.browser.js +3 -1
  487. package/dist/safe-bash/commands/python/index.js +1 -1
  488. package/dist/safe-bash/commands/python/jspi-assets.js +1 -1
  489. package/dist/safe-bash/commands/python/jspi-trampoline.js +1 -1
  490. package/dist/safe-bash/commands/python/jspi.js +1 -1
  491. package/dist/safe-bash/commands/python/llm-capability.js +1 -1
  492. package/dist/safe-bash/commands/python/llm-dependencies.js +1 -1
  493. package/dist/safe-bash/commands/python/llm-module.js +1 -1
  494. package/dist/safe-bash/commands/python/llm-provider.js +1 -1
  495. package/dist/safe-bash/commands/python/llm-reference-module.js +1 -1
  496. package/dist/safe-bash/commands/python/provisioning.js +1 -1
  497. package/dist/safe-bash/commands/python/shell-capability.js +1 -1
  498. package/dist/safe-bash/commands/python/shell-module.js +1 -1
  499. package/dist/safe-bash/commands/python/worker.js +1 -1
  500. package/dist/safe-bash/commands/qpdf/index.js +1 -1
  501. package/dist/safe-bash/commands/qrencode/index.js +1 -1
  502. package/dist/safe-bash/commands/readlink/index.js +1 -1
  503. package/dist/safe-bash/commands/readlink-missing.js +1 -1
  504. package/dist/safe-bash/commands/realpath/index.js +1 -1
  505. package/dist/safe-bash/commands/record-buffer.js +1 -1
  506. package/dist/safe-bash/commands/regex-execution/ascii.js +1 -1
  507. package/dist/safe-bash/commands/regex-execution/bounded-glob.js +1 -1
  508. package/dist/safe-bash/commands/regex-execution/bounded-provider.js +1 -1
  509. package/dist/safe-bash/commands/regex-execution/ere/errors.js +1 -1
  510. package/dist/safe-bash/commands/regex-execution/ere/limits.js +1 -1
  511. package/dist/safe-bash/commands/regex-execution/ere/matcher.js +1 -1
  512. package/dist/safe-bash/commands/regex-execution/ere/syntax.js +1 -1
  513. package/dist/safe-bash/commands/regex-execution/portable.js +1 -1
  514. package/dist/safe-bash/commands/regex-execution/protocol.js +1 -1
  515. package/dist/safe-bash/commands/regex-execution/utf8.js +1 -1
  516. package/dist/safe-bash/commands/rev/index.js +1 -1
  517. package/dist/safe-bash/commands/rg/index.js +1 -1
  518. package/dist/safe-bash/commands/rgrep/index.js +1 -1
  519. package/dist/safe-bash/commands/rsvg-convert/index.js +1 -1
  520. package/dist/safe-bash/commands/safejs/io.js +1 -1
  521. package/dist/safe-bash/commands/safejs/options.js +1 -1
  522. package/dist/safe-bash/commands/safejs/render.js +1 -1
  523. package/dist/safe-bash/commands/safejs/runtime.js +1 -1
  524. package/dist/safe-bash/commands/safejs/types.js +1 -1
  525. package/dist/safe-bash/commands/search/ergonomic-regex.js +1 -1
  526. package/dist/safe-bash/commands/search/file-types.js +1 -1
  527. package/dist/safe-bash/commands/search/glob.js +1 -1
  528. package/dist/safe-bash/commands/search/grep-files.js +1 -1
  529. package/dist/safe-bash/commands/search/grep.js +1 -1
  530. package/dist/safe-bash/commands/search/matcher.js +1 -1
  531. package/dist/safe-bash/commands/search/options.js +1 -1
  532. package/dist/safe-bash/commands/search/output.js +1 -1
  533. package/dist/safe-bash/commands/search/requirements.js +1 -1
  534. package/dist/safe-bash/commands/search/rg-command.js +1 -1
  535. package/dist/safe-bash/commands/search/shared.js +1 -1
  536. package/dist/safe-bash/commands/search/walk.js +1 -1
  537. package/dist/safe-bash/commands/sed/index.js +1 -1
  538. package/dist/safe-bash/commands/seq/index.js +1 -1
  539. package/dist/safe-bash/commands/sha1sum/index.js +1 -1
  540. package/dist/safe-bash/commands/sha256sum/index.js +1 -1
  541. package/dist/safe-bash/commands/sha512sum/index.js +1 -1
  542. package/dist/safe-bash/commands/sips/index.js +1 -1
  543. package/dist/safe-bash/commands/sleep/index.js +1 -1
  544. package/dist/safe-bash/commands/soffice/index.js +1 -1
  545. package/dist/safe-bash/commands/sort/index.js +1 -1
  546. package/dist/safe-bash/commands/sort-admission.js +1 -1
  547. package/dist/safe-bash/commands/sox/index.js +1 -1
  548. package/dist/safe-bash/commands/soxi/index.js +1 -1
  549. package/dist/safe-bash/commands/split/index.js +1 -1
  550. package/dist/safe-bash/commands/sponge/index.js +1 -1
  551. package/dist/safe-bash/commands/sqlite3/index.js +1 -1
  552. package/dist/safe-bash/commands/ssh/index.js +1 -1
  553. package/dist/safe-bash/commands/stat/index.js +1 -1
  554. package/dist/safe-bash/commands/stream-format/shared.js +1 -1
  555. package/dist/safe-bash/commands/stream-inspection/numeric-options.js +1 -1
  556. package/dist/safe-bash/commands/stream-inspection/shared.js +1 -1
  557. package/dist/safe-bash/commands/stream-inspection/strings-object.js +1 -1
  558. package/dist/safe-bash/commands/strings/index.js +1 -1
  559. package/dist/safe-bash/commands/structured/bytes.js +1 -1
  560. package/dist/safe-bash/commands/structured/capture.js +1 -1
  561. package/dist/safe-bash/commands/structured/dates.js +1 -1
  562. package/dist/safe-bash/commands/structured/delpaths.js +1 -1
  563. package/dist/safe-bash/commands/structured/formats.js +1 -1
  564. package/dist/safe-bash/commands/structured/indices.js +1 -1
  565. package/dist/safe-bash/commands/structured/input.js +1 -1
  566. package/dist/safe-bash/commands/structured/interpreter.js +1 -1
  567. package/dist/safe-bash/commands/structured/jq.js +1 -1
  568. package/dist/safe-bash/commands/structured/limits.js +1 -1
  569. package/dist/safe-bash/commands/structured/numbers.js +1 -1
  570. package/dist/safe-bash/commands/structured/parser.js +1 -1
  571. package/dist/safe-bash/commands/structured/query-core.js +1 -1
  572. package/dist/safe-bash/commands/structured/recurse.js +1 -1
  573. package/dist/safe-bash/commands/structured/regex.js +1 -1
  574. package/dist/safe-bash/commands/structured/split.js +1 -1
  575. package/dist/safe-bash/commands/structured/splits.js +1 -1
  576. package/dist/safe-bash/commands/structured/values.js +1 -1
  577. package/dist/safe-bash/commands/svgo/index.js +1 -1
  578. package/dist/safe-bash/commands/table-text/internal.js +1 -1
  579. package/dist/safe-bash/commands/tac/index.js +1 -1
  580. package/dist/safe-bash/commands/tar/index.js +1 -1
  581. package/dist/safe-bash/commands/text-programs/awk-inspection.js +1 -1
  582. package/dist/safe-bash/commands/text-programs/awk-pipes.js +1 -1
  583. package/dist/safe-bash/commands/text-programs/awk-pretty.js +1 -1
  584. package/dist/safe-bash/commands/text-programs/awk-quote.js +1 -1
  585. package/dist/safe-bash/commands/text-programs/awk-reader.js +1 -1
  586. package/dist/safe-bash/commands/text-programs/awk-retention.js +1 -1
  587. package/dist/safe-bash/commands/text-programs/awk-runtime.js +1 -1
  588. package/dist/safe-bash/commands/text-programs/awk-syntax.js +1 -1
  589. package/dist/safe-bash/commands/text-programs/awk-values.js +1 -1
  590. package/dist/safe-bash/commands/text-programs/awk.js +1 -1
  591. package/dist/safe-bash/commands/text-programs/inplace.js +1 -1
  592. package/dist/safe-bash/commands/text-programs/regex.js +1 -1
  593. package/dist/safe-bash/commands/text-programs/replacement-buffer.js +1 -1
  594. package/dist/safe-bash/commands/text-programs/sed.js +1 -1
  595. package/dist/safe-bash/commands/text-programs/shared.js +1 -1
  596. package/dist/safe-bash/commands/time-env/calendar.js +1 -1
  597. package/dist/safe-bash/commands/time-env/format.js +1 -1
  598. package/dist/safe-bash/commands/time-env/shared.js +1 -1
  599. package/dist/safe-bash/commands/timeout/index.js +1 -1
  600. package/dist/safe-bash/commands/touch/index.js +1 -1
  601. package/dist/safe-bash/commands/touch-target.js +1 -1
  602. package/dist/safe-bash/commands/touch-times.js +1 -1
  603. package/dist/safe-bash/commands/tree/index.js +1 -1
  604. package/dist/safe-bash/commands/tsort/index.js +1 -1
  605. package/dist/safe-bash/commands/unalias/index.js +1 -1
  606. package/dist/safe-bash/commands/uname/index.js +1 -1
  607. package/dist/safe-bash/commands/unexpand/index.js +1 -1
  608. package/dist/safe-bash/commands/unix2dos/index.js +1 -1
  609. package/dist/safe-bash/commands/unrtf/index.js +1 -1
  610. package/dist/safe-bash/commands/unzip/index.js +1 -1
  611. package/dist/safe-bash/commands/wdiff/index.js +1 -1
  612. package/dist/safe-bash/commands/wget/index.js +1 -1
  613. package/dist/safe-bash/commands/which/index.js +1 -1
  614. package/dist/safe-bash/commands/whoami/index.js +1 -1
  615. package/dist/safe-bash/commands/wkhtmltopdf/index.js +1 -1
  616. package/dist/safe-bash/commands/xan/index.js +1 -1
  617. package/dist/safe-bash/commands/xml/index.js +1 -1
  618. package/dist/safe-bash/commands/xmllint/index.js +1 -1
  619. package/dist/safe-bash/commands/xq/index.js +1 -1
  620. package/dist/safe-bash/commands/xxd/index.js +1 -1
  621. package/dist/safe-bash/commands/xz/index.js +1 -1
  622. package/dist/safe-bash/commands/yq/index.js +1 -1
  623. package/dist/safe-bash/commands/zip/index.js +1 -1
  624. package/dist/safe-bash/commands/zstd/index.js +1 -1
  625. package/dist/safe-bash/core.browser.js +2 -2
  626. package/dist/safe-bash/full-core.browser.js +29 -7
  627. package/dist/safe-bash/integrations/safejs/filesystem.js +1 -1
  628. package/dist/safe-bash/integrations/safejs/shell.js +1 -1
  629. package/dist/safe-bash/integrations/safejs/values.js +1 -1
  630. package/dist/safe-bash/playwright/abilities.js +1 -1
  631. package/dist/safe-bash/playwright/ability-execution.js +1 -1
  632. package/dist/safe-bash/playwright/adapter.js +1 -1
  633. package/dist/safe-bash/playwright/builtins.js +1 -1
  634. package/dist/safe-bash/playwright/canonical-locator-parser.js +1 -1
  635. package/dist/safe-bash/playwright/capability-events.js +1 -1
  636. package/dist/safe-bash/playwright/capability-result.js +1 -1
  637. package/dist/safe-bash/playwright/catalog.js +1 -1
  638. package/dist/safe-bash/playwright/checkpoint.js +1 -1
  639. package/dist/safe-bash/playwright/command-budget.js +1 -1
  640. package/dist/safe-bash/playwright/command-reference.js +1 -1
  641. package/dist/safe-bash/playwright/config-ini.js +1 -1
  642. package/dist/safe-bash/playwright/config-json.js +1 -1
  643. package/dist/safe-bash/playwright/controller.js +1 -1
  644. package/dist/safe-bash/playwright/devices.js +1 -1
  645. package/dist/safe-bash/playwright/download-capabilities.js +1 -1
  646. package/dist/safe-bash/playwright/drop-capability.js +1 -1
  647. package/dist/safe-bash/playwright/find.js +1 -1
  648. package/dist/safe-bash/playwright/frame-snapshot.js +1 -1
  649. package/dist/safe-bash/playwright/generated-locator.js +1 -1
  650. package/dist/safe-bash/playwright/help-reference.js +1 -1
  651. package/dist/safe-bash/playwright/help.js +1 -1
  652. package/dist/safe-bash/playwright/highlight.js +1 -1
  653. package/dist/safe-bash/playwright/index.js +1 -1
  654. package/dist/safe-bash/playwright/invocation.js +1 -1
  655. package/dist/safe-bash/playwright/locator-selector.js +1 -1
  656. package/dist/safe-bash/playwright/modal-capabilities.js +1 -1
  657. package/dist/safe-bash/playwright/native-evaluation.js +1 -1
  658. package/dist/safe-bash/playwright/native-json-snapshot.js +1 -1
  659. package/dist/safe-bash/playwright/native-snapshot.js +1 -1
  660. package/dist/safe-bash/playwright/native-storage-realm.js +1 -1
  661. package/dist/safe-bash/playwright/native-storage-replacement.js +1 -1
  662. package/dist/safe-bash/playwright/native-storage-sources.generated.js +1 -1
  663. package/dist/safe-bash/playwright/native-storage-targets.js +1 -1
  664. package/dist/safe-bash/playwright/network-policy.js +1 -1
  665. package/dist/safe-bash/playwright/open-options.js +1 -1
  666. package/dist/safe-bash/playwright/private-target-transport.js +1 -1
  667. package/dist/safe-bash/playwright/profile.js +1 -1
  668. package/dist/safe-bash/playwright/recording-capabilities.js +1 -1
  669. package/dist/safe-bash/playwright/recovery.js +1 -1
  670. package/dist/safe-bash/playwright/resource-limit.js +1 -1
  671. package/dist/safe-bash/playwright/response.js +1 -1
  672. package/dist/safe-bash/playwright/route-capabilities.js +1 -1
  673. package/dist/safe-bash/playwright/route-policy.js +1 -1
  674. package/dist/safe-bash/playwright/screenshot.js +1 -1
  675. package/dist/safe-bash/playwright/session-configuration.js +1 -1
  676. package/dist/safe-bash/playwright/session-runtime.js +1 -1
  677. package/dist/safe-bash/playwright/session-selection.js +1 -1
  678. package/dist/safe-bash/playwright/snapshot-reference-error.js +1 -1
  679. package/dist/safe-bash/playwright/snapshot.js +1 -1
  680. package/dist/safe-bash/playwright/standard-capabilities.js +1 -1
  681. package/dist/safe-bash/playwright/storage-capabilities.js +1 -1
  682. package/dist/safe-bash/playwright/storage-state.js +1 -1
  683. package/dist/safe-bash/playwright/target-screenshot.js +1 -1
  684. package/dist/safe-bash/playwright/targets.js +1 -1
  685. package/dist/safe-bash/playwright/tracing-capabilities.js +1 -1
  686. package/dist/safe-bash/playwright/webmcp-capabilities.js +1 -1
  687. package/dist/safe-bash/playwright/webmcp-params.js +1 -1
  688. package/dist/safe-bash/playwright/workspace-assets.js +1 -1
  689. package/dist/safe-bash/playwright/workspace.js +1 -1
  690. package/dist/safe-bash/plugins/index.browser.js +4 -4
  691. package/dist/safe-bash/registry-entry.browser.js +2 -2
  692. package/dist/safe-bash/search.browser.js +1 -1
  693. package/dist/safe-bash/shell/parser.js +2 -1
  694. package/dist/safe-bash/shell/pattern.js +1 -1
  695. package/dist/safe-bash/shell/string-operations.js +1 -1
  696. package/dist/safe-bash/shell-entry.browser.js +2 -2
  697. package/dist/safe-bash/ts-ast.js +1 -1
  698. package/dist/safe-bash-checksum-engine/index.js +1 -1
  699. package/dist/safe-bash-command-audio/index.js +2 -2
  700. package/dist/safe-bash-command-awk/awk-runtime.js +2 -2
  701. package/dist/safe-bash-command-awk/awk-syntax.js +1 -1
  702. package/dist/safe-bash-command-awk/awk.js +4 -4
  703. package/dist/safe-bash-command-awk/index.js +4 -4
  704. package/dist/safe-bash-command-bc/index.js +13 -14
  705. package/dist/safe-bash-command-cal/index.js +25 -31
  706. package/dist/safe-bash-command-cp/index.js +3 -3
  707. package/dist/safe-bash-command-csvgrep/command.d.ts +1 -0
  708. package/dist/safe-bash-command-csvgrep/index.js +7 -0
  709. package/dist/safe-bash-command-docx/sdk.js +1 -1
  710. package/dist/safe-bash-command-expr/bre-engine.js +1 -1
  711. package/dist/safe-bash-command-factor/command.js +2 -2
  712. package/dist/safe-bash-command-factor/index.js +2 -2
  713. package/dist/safe-bash-command-fd/index.js +4 -3
  714. package/dist/safe-bash-command-ffmpeg/index.js +13 -2
  715. package/dist/safe-bash-command-ffprobe/index.js +2 -2
  716. package/dist/safe-bash-command-ffprobe/media.js +2 -2
  717. package/dist/safe-bash-command-getconf/index.js +11 -4
  718. package/dist/safe-bash-command-git/git_rust.wasm +0 -0
  719. package/dist/safe-bash-command-git/index.js +96 -14
  720. package/dist/safe-bash-command-html-to-markdown/index.js +1 -1
  721. package/dist/safe-bash-command-html-to-markdown/stored-text.d.ts +2 -0
  722. package/dist/safe-bash-command-html-to-markdown/stored-text.js +1 -1
  723. package/dist/safe-bash-command-imagemagick/index.js +18 -4
  724. package/dist/safe-bash-command-jq/index.js +1 -1
  725. package/dist/safe-bash-command-jq/jq.js +1 -1
  726. package/dist/safe-bash-command-llm/collections.js +48 -192
  727. package/dist/safe-bash-command-llm/command.js +14 -6
  728. package/dist/safe-bash-command-llm/elevenlabs.js +2 -2
  729. package/dist/safe-bash-command-llm/fragment-loaders.d.ts +29 -0
  730. package/dist/safe-bash-command-llm/fragments.d.ts +24 -0
  731. package/dist/safe-bash-command-llm/import-json-document.d.ts +5 -2
  732. package/dist/safe-bash-command-llm/index.d.ts +7 -0
  733. package/dist/safe-bash-command-llm/index.js +47 -17
  734. package/dist/safe-bash-command-llm/input-budget.d.ts +2 -0
  735. package/dist/safe-bash-command-llm/openai-sse.d.ts +1 -1
  736. package/dist/safe-bash-command-llm/openai-sse.js +4 -1
  737. package/dist/safe-bash-command-llm/openai.js +11 -7
  738. package/dist/safe-bash-command-llm/providers/elevenlabs.js +2 -2
  739. package/dist/safe-bash-command-llm/providers/index.js +16 -10
  740. package/dist/safe-bash-command-llm/providers/openai.js +11 -7
  741. package/dist/safe-bash-command-llm/providers/shared.d.ts +2 -0
  742. package/dist/safe-bash-command-llm/providers/shared.js +1 -1
  743. package/dist/safe-bash-command-llm/retained-spool.d.ts +4 -0
  744. package/dist/safe-bash-command-llm/service.d.ts +3 -1
  745. package/dist/safe-bash-command-llm/service.js +5 -2
  746. package/dist/safe-bash-command-llm/tool-chain.d.ts +22 -0
  747. package/dist/safe-bash-command-llm/tool-execution.d.ts +55 -0
  748. package/dist/safe-bash-command-llm/tool-registry.d.ts +43 -0
  749. package/dist/safe-bash-command-llm/types.d.ts +39 -11
  750. package/dist/safe-bash-command-llm/url-fragment-source.d.ts +6 -0
  751. package/dist/safe-bash-command-llm/url-source.d.ts +3 -1
  752. package/dist/safe-bash-command-mcp/index.browser.d.ts +1 -0
  753. package/dist/safe-bash-command-mcp/index.browser.js +4 -4
  754. package/dist/safe-bash-command-mcp/index.d.ts +1 -0
  755. package/dist/safe-bash-command-mcp/index.js +28 -7
  756. package/dist/safe-bash-command-mdq/index.js +10 -3
  757. package/dist/safe-bash-command-node/commands/node/quickjs.js +1 -1
  758. package/dist/safe-bash-command-pandoc/command.js +9 -9
  759. package/dist/safe-bash-command-pandoc/index.js +57 -57
  760. package/dist/safe-bash-command-pandoc/lua-filters.js +1 -1
  761. package/dist/safe-bash-command-patch/index.js +5 -5
  762. package/dist/safe-bash-command-patch/patch-publication.js +1 -1
  763. package/dist/safe-bash-command-patch/patch.js +4 -4
  764. package/dist/safe-bash-command-pdfinfo/index.js +2 -2
  765. package/dist/safe-bash-command-pdftk/index.js +550 -137
  766. package/dist/safe-bash-command-pdftoppm/index.js +1 -1
  767. package/dist/safe-bash-command-pdftotext/index.js +29 -15
  768. package/dist/safe-bash-command-playwright-cli/index.js +12 -11
  769. package/dist/safe-bash-command-playwright-cli/playwright/abilities.js +4 -4
  770. package/dist/safe-bash-command-playwright-cli/playwright/controller.js +7 -6
  771. package/dist/safe-bash-command-playwright-cli/playwright/index.js +12 -11
  772. package/dist/safe-bash-command-playwright-cli/playwright/profile.d.ts +1 -1
  773. package/dist/safe-bash-command-playwright-cli/playwright/profile.js +2 -1
  774. package/dist/safe-bash-command-playwright-cli/playwright/standard-capabilities.js +3 -3
  775. package/dist/safe-bash-command-pptx/engine.js +2 -2
  776. package/dist/safe-bash-command-python/executor.d.ts +1 -0
  777. package/dist/safe-bash-command-python/executor.js +16 -14
  778. package/dist/safe-bash-command-python/index.js +16 -14
  779. package/dist/safe-bash-command-python/jspi.js +1 -1
  780. package/dist/safe-bash-command-python/llm-capability.js +1 -1
  781. package/dist/safe-bash-command-python/llm-functions-loader.d.ts +5 -0
  782. package/dist/safe-bash-command-python/llm-packages.js +51 -2
  783. package/dist/safe-bash-command-python/llm-provider.js +1 -1
  784. package/dist/safe-bash-command-rg/glob.d.ts +6 -0
  785. package/dist/safe-bash-command-rg/glob.js +2 -2
  786. package/dist/safe-bash-command-rg/index.js +8 -8
  787. package/dist/safe-bash-command-rg/matcher.d.ts +2 -0
  788. package/dist/safe-bash-command-rg/matcher.js +2 -2
  789. package/dist/safe-bash-command-rg/options.d.ts +2 -0
  790. package/dist/safe-bash-command-rg/options.js +1 -1
  791. package/dist/safe-bash-command-rg/output.js +3 -3
  792. package/dist/safe-bash-command-rg/replacement.js +2 -2
  793. package/dist/safe-bash-command-rg/rg-command.js +8 -8
  794. package/dist/safe-bash-command-rg/shared.d.ts +0 -2
  795. package/dist/safe-bash-command-rg/shared.js +2 -4
  796. package/dist/safe-bash-command-rg/walk.js +4 -4
  797. package/dist/safe-bash-command-safejs/index.js +4 -4
  798. package/dist/safe-bash-command-safejs/runtime.js +2 -2
  799. package/dist/safe-bash-command-soffice/index.js +2 -2
  800. package/dist/safe-bash-command-sqlite3/engine.d.ts +15 -0
  801. package/dist/safe-bash-command-sqlite3/index.js +310 -15
  802. package/dist/safe-bash-command-ssconvert/index.js +2 -2
  803. package/dist/safe-bash-command-tar/create.js +2 -2
  804. package/dist/safe-bash-command-tar/extract.js +2 -2
  805. package/dist/safe-bash-command-tar/index.js +6 -6
  806. package/dist/safe-bash-command-tar/modes.js +4 -4
  807. package/dist/safe-bash-command-unzip/index.js +2 -2
  808. package/dist/safe-bash-command-unzip/unzip.js +2 -2
  809. package/dist/safe-bash-command-yq/parser.js +1 -1
  810. package/dist/safe-bash-command-yq/query.js +1 -1
  811. package/dist/safe-bash-contracts/escaping.js +2 -2
  812. package/dist/safe-bash-contracts/index.js +15 -15
  813. package/dist/safe-bash-csv-engine/index.js +5 -3
  814. package/dist/safe-bash-csv-engine/python-codepages.js +2 -1
  815. package/dist/safe-bash-csv-engine/python-file-codepages.d.ts +1 -0
  816. package/dist/safe-bash-csv-engine/python-file-codepages.js +8 -0
  817. package/dist/safe-bash-csv-engine/python-utf16.js +3 -2
  818. package/dist/safe-bash-csv-engine/text-decoder.js +5 -3
  819. package/dist/safe-bash-docx-engine/ancillary-resources.js +4 -4
  820. package/dist/safe-bash-docx-engine/batch-operations.js +45 -45
  821. package/dist/safe-bash-docx-engine/batch-result-schema.js +52 -52
  822. package/dist/safe-bash-docx-engine/batch.js +52 -52
  823. package/dist/safe-bash-docx-engine/bookmarks.js +10 -10
  824. package/dist/safe-bash-docx-engine/charts.js +5 -5
  825. package/dist/safe-bash-docx-engine/command-option-rules.js +1 -1
  826. package/dist/safe-bash-docx-engine/comments.js +14 -14
  827. package/dist/safe-bash-docx-engine/control-bindings.js +12 -12
  828. package/dist/safe-bash-docx-engine/control-repeat.js +11 -11
  829. package/dist/safe-bash-docx-engine/controls.js +10 -10
  830. package/dist/safe-bash-docx-engine/create.js +4 -4
  831. package/dist/safe-bash-docx-engine/diagrams.js +5 -5
  832. package/dist/safe-bash-docx-engine/diff.js +4 -4
  833. package/dist/safe-bash-docx-engine/document-properties.js +11 -11
  834. package/dist/safe-bash-docx-engine/equations.js +11 -11
  835. package/dist/safe-bash-docx-engine/extract.js +9 -9
  836. package/dist/safe-bash-docx-engine/fields.js +11 -11
  837. package/dist/safe-bash-docx-engine/font-inventory.js +8 -8
  838. package/dist/safe-bash-docx-engine/font-resources.js +1 -1
  839. package/dist/safe-bash-docx-engine/image-batch-operations.js +1 -1
  840. package/dist/safe-bash-docx-engine/image-insertion.js +13 -13
  841. package/dist/safe-bash-docx-engine/image-layout.js +12 -12
  842. package/dist/safe-bash-docx-engine/image-replacement.js +13 -13
  843. package/dist/safe-bash-docx-engine/images.js +12 -12
  844. package/dist/safe-bash-docx-engine/index.js +100 -100
  845. package/dist/safe-bash-docx-engine/inspection.js +11 -11
  846. package/dist/safe-bash-docx-engine/invocation.js +1 -1
  847. package/dist/safe-bash-docx-engine/io.js +1 -1
  848. package/dist/safe-bash-docx-engine/links.js +11 -11
  849. package/dist/safe-bash-docx-engine/lists.js +11 -11
  850. package/dist/safe-bash-docx-engine/locations.js +5 -5
  851. package/dist/safe-bash-docx-engine/notes.js +12 -12
  852. package/dist/safe-bash-docx-engine/objects.js +12 -12
  853. package/dist/safe-bash-docx-engine/pack.js +9 -9
  854. package/dist/safe-bash-docx-engine/package-view-batch-operations.js +8 -8
  855. package/dist/safe-bash-docx-engine/pandoc-adapter.js +9 -9
  856. package/dist/safe-bash-docx-engine/paragraph-edit.js +15 -15
  857. package/dist/safe-bash-docx-engine/publication.js +3 -3
  858. package/dist/safe-bash-docx-engine/removal.js +11 -11
  859. package/dist/safe-bash-docx-engine/revision-decisions.js +13 -13
  860. package/dist/safe-bash-docx-engine/revision-edit.js +10 -10
  861. package/dist/safe-bash-docx-engine/revisions.js +8 -8
  862. package/dist/safe-bash-docx-engine/run-format.js +10 -10
  863. package/dist/safe-bash-docx-engine/sanitize.js +20 -20
  864. package/dist/safe-bash-docx-engine/sections.js +10 -10
  865. package/dist/safe-bash-docx-engine/settings.js +6 -6
  866. package/dist/safe-bash-docx-engine/shape-edit.js +12 -12
  867. package/dist/safe-bash-docx-engine/signatures.js +11 -11
  868. package/dist/safe-bash-docx-engine/stories.js +12 -12
  869. package/dist/safe-bash-docx-engine/structure-model-batch-operations.js +17 -17
  870. package/dist/safe-bash-docx-engine/style-model-batch-operations.js +11 -11
  871. package/dist/safe-bash-docx-engine/style-model-result-schema.js +20 -20
  872. package/dist/safe-bash-docx-engine/styles.js +10 -10
  873. package/dist/safe-bash-docx-engine/table-edit.js +16 -16
  874. package/dist/safe-bash-docx-engine/table-read.js +6 -6
  875. package/dist/safe-bash-docx-engine/template.js +12 -12
  876. package/dist/safe-bash-docx-engine/text-replace.js +10 -10
  877. package/dist/safe-bash-docx-engine/text-resource-read.js +6 -6
  878. package/dist/safe-bash-docx-engine/text.js +6 -6
  879. package/dist/safe-bash-docx-engine/validation.js +1 -1
  880. package/dist/safe-bash-docx-engine/xml-parts.js +14 -14
  881. package/dist/safe-bash-io-engine/commands/text-programs/shared.js +4 -4
  882. package/dist/safe-bash-line-ending-engine/command.js +4 -4
  883. package/dist/safe-bash-line-ending-engine/index.js +4 -4
  884. package/dist/safe-bash-markdown-engine/commonmark-blocks.js +1 -1
  885. package/dist/safe-bash-markdown-engine/index.js +3 -3
  886. package/dist/safe-bash-network-engine/index.js +4 -4
  887. package/dist/safe-bash-pptx-engine/bytes.js +1 -1
  888. package/dist/safe-bash-pptx-engine/index.js +1 -1
  889. package/dist/safe-bash-presentation-engine/accessibility.js +33 -31
  890. package/dist/safe-bash-presentation-engine/animation-editing.js +17 -16
  891. package/dist/safe-bash-presentation-engine/animations.js +17 -16
  892. package/dist/safe-bash-presentation-engine/backgrounds.js +18 -17
  893. package/dist/safe-bash-presentation-engine/bytes.js +4 -4
  894. package/dist/safe-bash-presentation-engine/chart-editing.js +36 -34
  895. package/dist/safe-bash-presentation-engine/chart-object-operations.js +26 -25
  896. package/dist/safe-bash-presentation-engine/charts.js +33 -31
  897. package/dist/safe-bash-presentation-engine/command-placeholder.js +63 -61
  898. package/dist/safe-bash-presentation-engine/comments.js +18 -17
  899. package/dist/safe-bash-presentation-engine/connector-operations.js +34 -32
  900. package/dist/safe-bash-presentation-engine/connectors.js +31 -29
  901. package/dist/safe-bash-presentation-engine/content-types.js +5 -5
  902. package/dist/safe-bash-presentation-engine/creation.js +7 -7
  903. package/dist/safe-bash-presentation-engine/diff.js +40 -38
  904. package/dist/safe-bash-presentation-engine/drawing-format.js +21 -20
  905. package/dist/safe-bash-presentation-engine/drawing-operations.js +33 -31
  906. package/dist/safe-bash-presentation-engine/drawing-schema.js +22 -21
  907. package/dist/safe-bash-presentation-engine/equations.js +18 -17
  908. package/dist/safe-bash-presentation-engine/errors.js +3 -3
  909. package/dist/safe-bash-presentation-engine/fields.js +18 -17
  910. package/dist/safe-bash-presentation-engine/font-metrics.js +4 -4
  911. package/dist/safe-bash-presentation-engine/image-extraction.js +23 -21
  912. package/dist/safe-bash-presentation-engine/image-formatting.js +35 -33
  913. package/dist/safe-bash-presentation-engine/image-insertion.js +20 -19
  914. package/dist/safe-bash-presentation-engine/image-metadata.d.ts +7 -1
  915. package/dist/safe-bash-presentation-engine/image-metadata.js +5 -3
  916. package/dist/safe-bash-presentation-engine/image-replacement.js +24 -22
  917. package/dist/safe-bash-presentation-engine/image-value.js +6 -6
  918. package/dist/safe-bash-presentation-engine/images.d.ts +1 -0
  919. package/dist/safe-bash-presentation-engine/images.js +24 -20
  920. package/dist/safe-bash-presentation-engine/index.js +141 -137
  921. package/dist/safe-bash-presentation-engine/layouts.js +17 -16
  922. package/dist/safe-bash-presentation-engine/length.js +4 -4
  923. package/dist/safe-bash-presentation-engine/links.js +17 -16
  924. package/dist/safe-bash-presentation-engine/masters.js +16 -15
  925. package/dist/safe-bash-presentation-engine/media-editing.js +30 -25
  926. package/dist/safe-bash-presentation-engine/media-extraction.d.ts +4 -0
  927. package/dist/safe-bash-presentation-engine/media-extraction.js +33 -19
  928. package/dist/safe-bash-presentation-engine/media.d.ts +2 -0
  929. package/dist/safe-bash-presentation-engine/media.js +32 -18
  930. package/dist/safe-bash-presentation-engine/memberships.js +19 -17
  931. package/dist/safe-bash-presentation-engine/notes.js +20 -18
  932. package/dist/safe-bash-presentation-engine/ole-enum.js +5 -5
  933. package/dist/safe-bash-presentation-engine/ole-insertion.js +22 -21
  934. package/dist/safe-bash-presentation-engine/opaque-objects.d.ts +4 -0
  935. package/dist/safe-bash-presentation-engine/opaque-objects.js +30 -12
  936. package/dist/safe-bash-presentation-engine/package-reader.js +6 -6
  937. package/dist/safe-bash-presentation-engine/package-tools.js +24 -20
  938. package/dist/safe-bash-presentation-engine/package-uri.js +4 -4
  939. package/dist/safe-bash-presentation-engine/package-writer.js +5 -5
  940. package/dist/safe-bash-presentation-engine/presentation-model.js +62 -60
  941. package/dist/safe-bash-presentation-engine/presentation-settings.js +19 -17
  942. package/dist/safe-bash-presentation-engine/properties.js +21 -19
  943. package/dist/safe-bash-presentation-engine/relationships.js +5 -5
  944. package/dist/safe-bash-presentation-engine/resource-limits.js +2 -2
  945. package/dist/safe-bash-presentation-engine/retained-extraction-output.d.ts +8 -4
  946. package/dist/safe-bash-presentation-engine/retained-fonts.d.ts +26 -0
  947. package/dist/safe-bash-presentation-engine/retained-image-metadata.d.ts +13 -0
  948. package/dist/safe-bash-presentation-engine/retained-inspection.js +16 -14
  949. package/dist/safe-bash-presentation-engine/retained-media-extraction.d.ts +21 -0
  950. package/dist/safe-bash-presentation-engine/retained-media.d.ts +54 -0
  951. package/dist/safe-bash-presentation-engine/retained-object-extraction.d.ts +22 -0
  952. package/dist/safe-bash-presentation-engine/retained-objects.d.ts +25 -0
  953. package/dist/safe-bash-presentation-engine/retained-package.js +6 -6
  954. package/dist/safe-bash-presentation-engine/retained-shape-geometry.d.ts +20 -0
  955. package/dist/safe-bash-presentation-engine/retained-text.js +34 -32
  956. package/dist/safe-bash-presentation-engine/retained-transitions.d.ts +18 -0
  957. package/dist/safe-bash-presentation-engine/sanitize.js +22 -20
  958. package/dist/safe-bash-presentation-engine/selectors.js +11 -11
  959. package/dist/safe-bash-presentation-engine/shape-groups.js +33 -31
  960. package/dist/safe-bash-presentation-engine/shape-operations.js +32 -30
  961. package/dist/safe-bash-presentation-engine/shape-path-operations.js +34 -32
  962. package/dist/safe-bash-presentation-engine/shape-paths.js +17 -16
  963. package/dist/safe-bash-presentation-engine/shape-presets.js +4 -4
  964. package/dist/safe-bash-presentation-engine/shape-selection.js +33 -31
  965. package/dist/safe-bash-presentation-engine/shape-transforms.d.ts +6 -0
  966. package/dist/safe-bash-presentation-engine/shape-transforms.js +26 -20
  967. package/dist/safe-bash-presentation-engine/shapes.js +28 -27
  968. package/dist/safe-bash-presentation-engine/slide-copy.js +21 -19
  969. package/dist/safe-bash-presentation-engine/slide-import.js +19 -18
  970. package/dist/safe-bash-presentation-engine/slide-merge-split.js +21 -20
  971. package/dist/safe-bash-presentation-engine/slide-model.js +46 -44
  972. package/dist/safe-bash-presentation-engine/slide-removal.js +19 -18
  973. package/dist/safe-bash-presentation-engine/slide-transfer-budget.js +10 -10
  974. package/dist/safe-bash-presentation-engine/slides.js +21 -19
  975. package/dist/safe-bash-presentation-engine/table-operations.js +35 -33
  976. package/dist/safe-bash-presentation-engine/table-spans.js +34 -32
  977. package/dist/safe-bash-presentation-engine/tables.js +33 -31
  978. package/dist/safe-bash-presentation-engine/tags.js +20 -18
  979. package/dist/safe-bash-presentation-engine/template-bindings.js +36 -34
  980. package/dist/safe-bash-presentation-engine/template-repeat.js +46 -43
  981. package/dist/safe-bash-presentation-engine/text-fitting.js +28 -27
  982. package/dist/safe-bash-presentation-engine/text-frames.js +28 -27
  983. package/dist/safe-bash-presentation-engine/text-paragraphs.js +28 -27
  984. package/dist/safe-bash-presentation-engine/text-reading.js +12 -12
  985. package/dist/safe-bash-presentation-engine/text-replacement.js +18 -17
  986. package/dist/safe-bash-presentation-engine/text-runs.js +21 -20
  987. package/dist/safe-bash-presentation-engine/themes.js +17 -16
  988. package/dist/safe-bash-presentation-engine/transitions.d.ts +1 -0
  989. package/dist/safe-bash-presentation-engine/transitions.js +24 -16
  990. package/dist/safe-bash-presentation-engine/validation.js +11 -10
  991. package/dist/safe-bash-presentation-engine/xml-parts.js +21 -19
  992. package/dist/safe-bash-presentation-engine/xml-view.js +4 -4
  993. package/dist/safe-bash-presentation-engine/xml.js +4 -4
  994. package/dist/safe-bash-query-engine/capture.js +5 -5
  995. package/dist/safe-bash-query-engine/dates.js +2 -2
  996. package/dist/safe-bash-query-engine/delpaths.js +5 -5
  997. package/dist/safe-bash-query-engine/formats.js +3 -3
  998. package/dist/safe-bash-query-engine/index.js +15 -15
  999. package/dist/safe-bash-query-engine/indices.js +5 -5
  1000. package/dist/safe-bash-query-engine/input.js +2 -2
  1001. package/dist/safe-bash-query-engine/interpreter.d.ts +2 -1
  1002. package/dist/safe-bash-query-engine/interpreter.js +13 -13
  1003. package/dist/safe-bash-query-engine/limits.d.ts +1 -0
  1004. package/dist/safe-bash-query-engine/limits.js +1 -1
  1005. package/dist/safe-bash-query-engine/parser.js +2 -2
  1006. package/dist/safe-bash-query-engine/query-core.js +15 -15
  1007. package/dist/safe-bash-query-engine/recurse.js +2 -2
  1008. package/dist/safe-bash-query-engine/regex.js +6 -6
  1009. package/dist/safe-bash-query-engine/split.js +2 -2
  1010. package/dist/safe-bash-query-engine/splits.js +7 -7
  1011. package/dist/safe-bash-query-engine/values.js +4 -4
  1012. package/dist/safe-bash-regex-engine/ere/matcher.d.ts +1 -1
  1013. package/dist/safe-bash-regex-engine/ere/matcher.js +18 -10
  1014. package/dist/safe-bash-regex-engine/ere/syntax.d.ts +1 -1
  1015. package/dist/safe-bash-regex-engine/ere/syntax.js +1 -1
  1016. package/dist/safe-bash-regex-engine/ere/types.d.ts +1 -0
  1017. package/dist/safe-bash-regex-engine/execution/bounded-provider.js +5 -6
  1018. package/dist/safe-bash-search-engine/ergonomic-regex.d.ts +1 -0
  1019. package/dist/safe-bash-search-engine/ergonomic-regex.js +2 -2
  1020. package/dist/safe-bash-sqlite-engine/sqlite-read-session.d.ts +17 -0
  1021. package/dist/safe-bash-sqlite-engine/storage.d.ts +1 -0
  1022. package/dist/safe-bash-sqlite-engine/storage.js +159 -89
  1023. package/dist/safe-bash-xml-engine/document.js +3 -3
  1024. package/dist/safe-bash-xml-engine/evaluate.js +1 -1
  1025. package/dist/safe-bash-xml-engine/index.js +4 -4
  1026. package/dist/safe-bash-xml-engine/json.js +14 -7
  1027. package/dist/safe-bash-xml-engine/query.js +2 -2
  1028. package/dist/safe-bash-xml-engine/recovery.d.ts +8 -2
  1029. package/dist/safe-bash-xml-engine/stored-document.d.ts +16 -2
  1030. package/dist/safe-bash-xml-engine/stored-document.js +1 -1
  1031. package/dist/safe-bash-xml-engine/stored-evaluate.js +5 -5
  1032. package/dist/safe-bash-xml-engine/stored-map.d.ts +18 -4
  1033. package/dist/safe-playwright-cloudflare/browser-provider.generated.js +11819 -11773
  1034. package/dist/safe-playwright-cloudflare/browser-run-code-guest.generated.js +1 -1
  1035. package/dist/spreadsheet-engine/formulas/functions/python-printf.js +7 -3
  1036. package/package.json +4 -3
  1037. package/dist/safe-bash/chunks/chunk-FL6XE3W4.js +0 -35
  1038. package/dist/safe-bash/command-chunks/chunk-ADVQZLLE.js +0 -260
  1039. package/dist/safe-bash/command-chunks/chunk-AEZU6NZE.js +0 -297
  1040. package/dist/safe-bash/command-chunks/chunk-BQXKO3X7.js +0 -228
  1041. package/dist/safe-bash/command-chunks/chunk-CZSLXQU2.js +0 -107
  1042. package/dist/safe-bash/command-chunks/chunk-KSM5CCHT.js +0 -1850
  1043. package/dist/safe-bash/command-chunks/chunk-R2N3E267.js +0 -144
  1044. package/dist/safe-bash/command-chunks/chunk-UPXFSGQG.js +0 -134
  1045. package/dist/safe-bash/command-chunks/chunk-WKUV62RJ.js +0 -92
  1046. package/dist/safe-bash/command-chunks/chunk-Z3PGWMSQ.js +0 -63
  1047. package/dist/safe-bash/command-chunks/paradox-4FCZE53D-LQPGVMEL.js +0 -365
  1048. package/dist/safe-bash/command-chunks/{biff-AYJZR2YV-JPESBEOO.js → biff-AYJZR2YV-YFF3BK43.js} +5 -5
  1049. package/dist/safe-bash/command-chunks/{chunk-WKU65Z3Q.js → chunk-3NJETNC2.js} +3 -3
  1050. package/dist/safe-bash/command-chunks/{chunk-WRJV7OVO.js → chunk-42OQIFPW.js} +4 -4
  1051. package/dist/safe-bash/command-chunks/{chunk-XLPEPCQC.js → chunk-45QE6QRR.js} +3 -3
  1052. package/dist/safe-bash/command-chunks/{chunk-MWVELMXZ.js → chunk-BFOVQUTF.js} +3 -3
  1053. package/dist/safe-bash/command-chunks/{chunk-ETN25WCR.js → chunk-KD4JUF6R.js} +3 -3
  1054. package/dist/safe-bash/command-chunks/{chunk-LTWX23FS.js → chunk-QQ7ORF2D.js} +3 -3
  1055. package/dist/safe-bash/command-chunks/{chunk-FPNUGKCX.js → chunk-QWHBQBPB.js} +3 -3
  1056. package/dist/safe-bash/command-chunks/{chunk-5MFRN3CB.js → chunk-R64BI5MT.js} +4 -4
  1057. package/dist/safe-bash/command-chunks/{chunk-A32ZROH5.js → chunk-SMCRKN3O.js} +3 -3
  1058. package/dist/safe-bash/command-chunks/{chunk-RXXNLH7A.js → chunk-ZSQCROFE.js} +3 -3
@@ -0,0 +1,276 @@
1
+ import {
2
+ isPythonWhitespace
3
+ } from "./chunk-BZLLQWRK.js";
4
+
5
+ // packages/safe-bash-command-llm/src/import-json-document.ts
6
+ import { jsonValues } from "../../safe-bash-query-engine/input.js";
7
+ import { Budget, resolveJqLimits } from "../../safe-bash-query-engine/limits.js";
8
+ import { Decimal } from "../../safe-bash-query-engine/numbers.js";
9
+
10
+ // packages/safe-bash-command-llm/src/json-document-store.ts
11
+ import { IntegerTable, PagedStorage, PagedStorageCache } from "@poe-platform/safe-fs/storage";
12
+ import { FsError } from "../../safe-bash-contracts/index.js";
13
+ import { yieldTurn } from "../../safe-bash-contracts/yield.js";
14
+ var nodeTypes = ["object", "array", "string", "number", "boolean", "null"];
15
+ var recordBytes = 56;
16
+ var pageBytes = 16384;
17
+ var JsonStorage = class extends PagedStorage {
18
+ constructor(fs, directory, signal, limit, cache) {
19
+ super({ fs, cwd: directory, env: {}, signal }, 4, cache);
20
+ this.limit = limit;
21
+ }
22
+ limit;
23
+ allocate(length) {
24
+ const end = super.allocate(0);
25
+ if (Math.ceil((end + length) / pageBytes) * pageBytes > this.limit) throw new FsError("EFBIG", { message: "JSON staging file byte limit exceeded" });
26
+ return super.allocate(length);
27
+ }
28
+ };
29
+ var JsonDocumentStore = class {
30
+ storage;
31
+ payload;
32
+ keys;
33
+ steps = 0;
34
+ constructor(options) {
35
+ if (!Number.isSafeInteger(options.maxFileBytes) || options.maxFileBytes < 1 || !Number.isSafeInteger(options.maxOpenFiles) || options.maxOpenFiles < 1) throw new RangeError("Invalid JSON staging limits");
36
+ this.signal = options.signal;
37
+ const cache = new PagedStorageCache(4);
38
+ this.storage = new JsonStorage(options.fs, options.directory, options.signal, options.maxFileBytes, cache);
39
+ this.payload = new PagedStorage({ fs: options.fs, cwd: options.directory, env: {}, signal: options.signal }, 4, cache);
40
+ this.keys = new IntegerTable(this.storage, 64);
41
+ }
42
+ signal;
43
+ async step() {
44
+ this.signal.throwIfAborted();
45
+ if (++this.steps % 256 === 0) await yieldTurn(this.signal);
46
+ }
47
+ async number(position) {
48
+ const bytes = await this.storage.read(position, 8);
49
+ return new DataView(bytes.buffer, bytes.byteOffset, 8).getFloat64(0, true);
50
+ }
51
+ async put(position, value) {
52
+ const bytes = new Uint8Array(8);
53
+ new DataView(bytes.buffer).setFloat64(0, value, true);
54
+ await this.storage.write(position, bytes);
55
+ }
56
+ async record(values) {
57
+ const bytes = new Uint8Array(recordBytes), view = new DataView(bytes.buffer);
58
+ for (let index = 0; index < values.length; index++) view.setFloat64(index * 8, values[index], true);
59
+ return this.storage.append(bytes);
60
+ }
61
+ async appendPoints(points, storage = this.payload) {
62
+ for (let offset = 0; offset < points.length; offset += pageBytes / 4) {
63
+ await this.step();
64
+ const count = Math.min(pageBytes / 4, points.length - offset);
65
+ const bytes = new Uint8Array(count * 4), view = new DataView(bytes.buffer);
66
+ for (let index = 0; index < count; index++) view.setUint32(index * 4, points[offset + index], true);
67
+ await storage.append(bytes);
68
+ }
69
+ }
70
+ async equalKey(entry, points) {
71
+ const start = await this.number(entry + 16), end = await this.number(entry + 24);
72
+ if (end - start !== points.length * 4) return false;
73
+ for (let offset = 0; offset < points.length; offset += pageBytes / 4) {
74
+ await this.step();
75
+ const count = Math.min(pageBytes / 4, points.length - offset);
76
+ const bytes = await this.storage.read(start + offset * 4, count * 4);
77
+ const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.length);
78
+ for (let index = 0; index < count; index++) if (view.getUint32(index * 4, true) !== points[offset + index]) return false;
79
+ }
80
+ return true;
81
+ }
82
+ async insert(type, parent, key, keyPoints, token = "") {
83
+ await this.step();
84
+ const id = await this.record([nodeTypes.indexOf(type), parent, 0, 0, 0, 0, 0]);
85
+ if (token) {
86
+ const bytes = new TextEncoder().encode(token);
87
+ const start = await this.storage.append(bytes);
88
+ await this.put(id + 16, start);
89
+ await this.put(id + 24, start + bytes.length);
90
+ }
91
+ if (parent) {
92
+ let hash = 0;
93
+ if (keyPoints) for (const point of keyPoints) hash = Math.imul(hash ^ point, 16777619) >>> 0;
94
+ hash = (hash ^ parent ^ Math.floor(parent / 4294967296)) >>> 0;
95
+ const collision = keyPoints ? Number(await this.keys.get(BigInt(hash)) ?? 0n) : 0;
96
+ let existing = 0;
97
+ for (let entry = collision; entry; entry = await this.number(entry + 8)) {
98
+ await this.step();
99
+ if (await this.number(entry) === parent && await this.equalKey(entry, keyPoints)) {
100
+ existing = entry;
101
+ break;
102
+ }
103
+ }
104
+ if (existing) await this.put(existing + 32, id);
105
+ else {
106
+ const start = this.storage.allocate(0);
107
+ if (keyPoints) await this.appendPoints(keyPoints, this.storage);
108
+ const end = this.storage.allocate(0);
109
+ const entry = await this.record([parent, collision, start, end, id, 0, keyPoints ? -1 : key]);
110
+ const tail = await this.number(parent + 40);
111
+ if (tail) await this.put(tail + 40, entry);
112
+ else await this.put(parent + 32, entry);
113
+ await this.put(parent + 40, entry);
114
+ await this.put(parent + 48, await this.number(parent + 48) + 1);
115
+ if (keyPoints) await this.keys.set(BigInt(hash), BigInt(entry));
116
+ }
117
+ }
118
+ if (type === "string") await this.put(id + 16, this.payload.allocate(0));
119
+ return id;
120
+ }
121
+ async endString(id) {
122
+ await this.put(id + 24, this.payload.allocate(0));
123
+ }
124
+ async parent(id) {
125
+ return this.number(id + 8);
126
+ }
127
+ async node(id) {
128
+ await this.step();
129
+ const type = nodeTypes[await this.number(id)];
130
+ const start = await this.number(id + 16), end = await this.number(id + 24);
131
+ let token = "";
132
+ if (type === "number" || type === "boolean") {
133
+ const decoder = new TextDecoder();
134
+ for (let offset = start; offset < end; offset += pageBytes) {
135
+ await this.step();
136
+ token += decoder.decode(await this.storage.read(offset, Math.min(pageBytes, end - offset)), { stream: true });
137
+ }
138
+ token += decoder.decode();
139
+ }
140
+ return { id, type, start, end, token };
141
+ }
142
+ async *points(node, storage = this.payload) {
143
+ if (node.type !== "string") throw new TypeError("JSON node is not a string");
144
+ for (let offset = node.start; offset < node.end; offset += pageBytes) {
145
+ await this.step();
146
+ const bytes = await storage.read(offset, Math.min(pageBytes, node.end - offset));
147
+ const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.length), points = [];
148
+ for (let index = 0; index < bytes.length; index += 4) points.push(view.getUint32(index, true));
149
+ yield points;
150
+ }
151
+ }
152
+ async child(parent, after = -1) {
153
+ await this.step();
154
+ const entry = after < 0 ? await this.number(parent + 32) : await this.number(after + 40);
155
+ if (!entry) return void 0;
156
+ const node = await this.node(await this.number(entry + 32)), key = await this.number(entry + 48);
157
+ if (key >= 0) return { node, position: entry, key };
158
+ const keyPoints = [];
159
+ let text = "";
160
+ for await (const points of this.points({ id: entry, type: "string", start: await this.number(entry + 16), end: await this.number(entry + 24), token: "" }, this.storage)) {
161
+ keyPoints.push(...points);
162
+ text += String.fromCodePoint(...points);
163
+ }
164
+ return { node, position: entry, key: text, keyPoints };
165
+ }
166
+ async close() {
167
+ const results = await Promise.allSettled([this.storage.close(), this.payload.close()]);
168
+ for (const result of results) if (result.status === "rejected") throw result.reason;
169
+ }
170
+ };
171
+
172
+ // packages/safe-bash-command-llm/src/import-json-document.ts
173
+ var EmptyJsonDocumentError = class extends Error {
174
+ constructor() {
175
+ super("JSON document is empty");
176
+ }
177
+ };
178
+ async function withEmbeddingJsonDocument(options, input, operation) {
179
+ const { signal } = options, store = new JsonDocumentStore(options);
180
+ try {
181
+ let root = 0, parent = 0, stringNode = 0;
182
+ const budget = new Budget(resolveJqLimits({ maxInputBytes: Infinity, maxValueBytes: Infinity, maxCollectionSize: Infinity, maxSteps: Infinity }), signal);
183
+ for await (const event of jsonValues(input, budget, { stream: true, stringChunks: { maxControlBytes: 65536, containers: true, codePoints: true }, profile: "python39" })) {
184
+ signal.throwIfAborted();
185
+ if (!Array.isArray(event) || !Array.isArray(event[0])) throw new Error("Invalid JSON parser event");
186
+ const path = event[0], value = event[1], kind = event[2], metadata = event[3];
187
+ const insert = async (type, token = "") => {
188
+ const node = await store.insert(type, parent, Number(path.at(-1)), metadata.key, token);
189
+ if (!parent) root = node;
190
+ return node;
191
+ };
192
+ if (kind === "open") parent = await insert(value === "{" ? "object" : "array");
193
+ else if (kind === "close") parent = await store.parent(parent);
194
+ else if (typeof kind === "boolean") {
195
+ if (typeof value !== "string") throw new Error("Invalid JSON string event");
196
+ stringNode ||= await insert("string");
197
+ if (!metadata.points) throw new Error("Missing JSON code points");
198
+ await store.appendPoints(metadata.points);
199
+ if (kind) {
200
+ await store.endString(stringNode);
201
+ stringNode = 0;
202
+ }
203
+ } else if (kind === null) {
204
+ if (value instanceof Decimal) await insert("number", value.text);
205
+ else if (typeof value === "number") await insert("number", String(value));
206
+ else if (value === null) await insert("null");
207
+ else if (typeof value === "boolean") await insert("boolean", String(value));
208
+ }
209
+ }
210
+ if (!root) throw new EmptyJsonDocumentError();
211
+ return await operation({ root: await store.node(root), child: store.child.bind(store), points: store.points.bind(store), async *text(node) {
212
+ for await (const points of store.points(node)) yield String.fromCodePoint(...points);
213
+ } });
214
+ } finally {
215
+ await store.close();
216
+ }
217
+ }
218
+
219
+ // packages/safe-bash-command-llm/src/indent-text.ts
220
+ import { yieldTurn as yieldTurn2 } from "../../safe-bash-contracts/yield.js";
221
+ async function* decodeLlmText(source, signal) {
222
+ const decoder = new TextDecoder("utf-8", { fatal: true, ignoreBOM: true });
223
+ let steps = 0;
224
+ for await (const bytes of source) {
225
+ if (++steps % 256 === 0) await yieldTurn2(signal);
226
+ signal.throwIfAborted();
227
+ for (let offset = 0; offset < bytes.length; offset += 2048) {
228
+ if (++steps % 256 === 0) await yieldTurn2(signal);
229
+ signal.throwIfAborted();
230
+ yield decoder.decode(bytes.subarray(offset, offset + 2048), { stream: true });
231
+ }
232
+ }
233
+ yield decoder.decode();
234
+ }
235
+ async function* indentLlmText(source, signal) {
236
+ const replay = decodeLlmText(source, signal)[Symbol.asyncIterator]();
237
+ let pending = "", offset = 0;
238
+ async function* line(length2, nonblank2) {
239
+ if (nonblank2) yield " ";
240
+ while (length2) {
241
+ if (offset === pending.length) {
242
+ const next = await replay.next();
243
+ if (next.done) throw new Error("Stored content changed");
244
+ pending = next.value;
245
+ offset = 0;
246
+ if (!pending.length) continue;
247
+ }
248
+ const count = Math.min(length2, pending.length - offset);
249
+ yield pending.slice(offset, offset + count);
250
+ offset += count;
251
+ length2 -= count;
252
+ }
253
+ }
254
+ let length = 0, nonblank = false;
255
+ try {
256
+ for await (const chunk of decodeLlmText(source, signal)) for (const char of chunk) {
257
+ length += char.length;
258
+ if (!isPythonWhitespace(char)) nonblank = true;
259
+ if (["\n", "\r", "\v", "\f", "", "", "", "\x85", "\u2028", "\u2029"].includes(char)) {
260
+ yield* line(length, nonblank);
261
+ length = 0;
262
+ nonblank = false;
263
+ }
264
+ }
265
+ if (length) yield* line(length, nonblank);
266
+ } finally {
267
+ await replay.return?.();
268
+ }
269
+ }
270
+
271
+ export {
272
+ EmptyJsonDocumentError,
273
+ withEmbeddingJsonDocument,
274
+ decodeLlmText,
275
+ indentLlmText
276
+ };
@@ -1,42 +1,55 @@
1
1
  import {
2
- tokenInteger
3
- } from "./chunk-GDH7OVYK.js";
4
- import {
2
+ OpenAiToolCalls,
3
+ jsonString,
5
4
  openAiChat,
5
+ openAiToolCallsJson,
6
+ openAiTools,
6
7
  openAiUsage
7
- } from "./chunk-WKUV62RJ.js";
8
+ } from "./chunk-CJIFJ45R.js";
9
+ import {
10
+ openAiBytes,
11
+ openAiError,
12
+ openAiJson,
13
+ openAiRecord,
14
+ openAiResponse
15
+ } from "./chunk-UN2RIRCD.js";
8
16
  import {
9
17
  credential,
10
18
  jsonBody,
11
19
  multipart,
12
20
  providerLimits
13
- } from "./chunk-4SISSPIH.js";
21
+ } from "./chunk-HLRLMFMS.js";
14
22
  import {
15
23
  attachmentBytesId,
16
24
  attachmentDigestHex,
17
25
  getLlmAttachmentUrlId
18
- } from "./chunk-2ZWRW6UQ.js";
26
+ } from "./chunk-B74LVFAN.js";
27
+ import {
28
+ tokenInteger
29
+ } from "./chunk-GDH7OVYK.js";
30
+ import {
31
+ base64Stream
32
+ } from "./chunk-GQV5RWMN.js";
19
33
  import {
20
34
  jsonDictionaryKeys,
21
35
  parseLlmNumericOption,
22
- requestAttachments,
36
+ requestAttachments
37
+ } from "./chunk-CKQ5SXOO.js";
38
+ import {
23
39
  validateAttachmentUrl
24
- } from "./chunk-OTEHQQU7.js";
40
+ } from "./chunk-B6NAEWHC.js";
41
+ import {
42
+ referenceJson
43
+ } from "./chunk-E47FFS5M.js";
25
44
  import {
26
- base64Stream,
27
- jsonValue,
28
45
  sourceBytes
29
- } from "./chunk-UVZJAV2S.js";
46
+ } from "./chunk-QX3WKBLI.js";
47
+ import {
48
+ jsonValue
49
+ } from "./chunk-GNPPPYDF.js";
30
50
  import {
31
51
  acceptsMimeType
32
52
  } from "./chunk-VMA3NJXU.js";
33
- import {
34
- openAiBytes,
35
- openAiError,
36
- openAiJson,
37
- openAiRecord,
38
- openAiResponse
39
- } from "./chunk-UN2RIRCD.js";
40
53
 
41
54
  // packages/safe-bash-command-llm/src/openai-attachment.ts
42
55
  function openAiAttachmentKind(mimeType) {
@@ -47,26 +60,6 @@ function openAiAttachmentKind(mimeType) {
47
60
  throw new TypeError(`Unsupported OpenAI attachment type: ${mimeType}`);
48
61
  }
49
62
 
50
- // packages/safe-bash-command-llm/src/json-string.ts
51
- async function* jsonString(source, signal) {
52
- const encoder = new TextEncoder();
53
- const decoder = new TextDecoder("utf-8", { fatal: true });
54
- signal.throwIfAborted();
55
- yield encoder.encode('"');
56
- for await (const input of sourceBytes(source, signal)) {
57
- signal.throwIfAborted();
58
- for (let position = 0; position < input.byteLength; position += 2048) {
59
- signal.throwIfAborted();
60
- const text = decoder.decode(input.subarray(position, position + 2048), { stream: true });
61
- if (text) yield encoder.encode(JSON.stringify(text).slice(1, -1));
62
- }
63
- }
64
- signal.throwIfAborted();
65
- const final = decoder.decode();
66
- if (final) yield encoder.encode(JSON.stringify(final).slice(1, -1));
67
- yield encoder.encode('"');
68
- }
69
-
70
63
  // packages/safe-bash-command-llm/src/embedding-json.ts
71
64
  async function* embeddingJson(request, options, limit) {
72
65
  const encoder = new TextEncoder();
@@ -99,6 +92,9 @@ async function* embeddingJson(request, options, limit) {
99
92
  }
100
93
  }
101
94
 
95
+ // packages/safe-bash-command-llm/src/chat-json.ts
96
+ import { yieldTurn as yieldTurn2 } from "../../safe-bash-contracts/yield.js";
97
+
102
98
  // packages/safe-bash-command-llm/src/pdf-json.ts
103
99
  import { sha256 } from "../../safe-bash-checksum-engine/sha256.js";
104
100
  import { yieldTurn } from "../../safe-bash-contracts/yield.js";
@@ -135,14 +131,14 @@ async function* pdfJson(source, id, signal) {
135
131
  function chatJson(request, limit) {
136
132
  request.signal.throwIfAborted();
137
133
  if (limit !== Infinity && (!Number.isSafeInteger(limit) || limit < 0)) throw new RangeError("Invalid provider request byte limit");
138
- for (const field of ["model", "messages", "stream", "stream_options"]) if (Object.hasOwn(request.options, field)) throw new TypeError(`${field} is controlled by the provider`);
134
+ for (const field of ["model", "messages", "stream", "stream_options", "tools"]) if (Object.hasOwn(request.options, field)) throw new TypeError(`${field} is controlled by the provider`);
139
135
  if (request.schema && Object.hasOwn(request.options, "response_format")) throw new TypeError("schema conflicts with response_format");
140
136
  for (const attachment of requestAttachments(request)) {
141
137
  const kind = openAiAttachmentKind(attachment.mimeType);
142
138
  if (attachment.id !== void 0 && typeof attachment.id !== "string") throw new TypeError("Invalid attachment id");
143
139
  if (attachment.url !== void 0 && kind !== "image") throw new TypeError("Non-image URL attachments require an input source");
144
140
  }
145
- const controls = jsonValue({ ...request.options, ...request.stream !== false ? { stream_options: { include_usage: true } } : {}, ...request.schema ? { response_format: { type: "json_schema", json_schema: { name: "response", schema: request.schema } } } : {}, model: request.model }, request.signal);
141
+ const controls = jsonValue({ ...request.options, ...openAiTools(request.tools), ...request.stream !== false ? { stream_options: { include_usage: true } } : {}, ...request.schema ? { response_format: { type: "json_schema", json_schema: { name: "response", schema: request.schema } } } : {}, model: request.model }, request.signal);
146
142
  const encoder = new TextEncoder();
147
143
  async function* body() {
148
144
  const text = (value) => encoder.encode(value);
@@ -153,37 +149,92 @@ function chatJson(request, limit) {
153
149
  }
154
150
  yield text(',"messages":[');
155
151
  let first = true;
156
- for (const message of [...request.system === void 0 ? [] : [{ role: "system", content: request.system, attachments: [] }], ...request.messages ?? [], { role: "user", content: request.prompt, attachments: request.attachments }]) {
152
+ const current = { role: "user", content: request.prompt, attachments: request.attachments };
153
+ const messages = [...request.system === void 0 ? [] : [{ role: "system", content: request.system, attachments: [] }], ...request.messages ?? [], current];
154
+ const toolContinuation = request.messages?.some((message) => message.role === "tool");
155
+ for (const message of messages) {
157
156
  request.signal.throwIfAborted();
158
- yield text((first ? "" : ",") + '{"role":' + JSON.stringify(message.role) + ',"content":');
159
- first = false;
160
157
  const attachments = message.attachments ?? [];
161
- if (attachments.length) yield text('[{"type":"text","text":');
162
- yield* jsonString(message.content.bytes, request.signal);
163
- if (attachments.length) {
164
- yield text("}");
165
- for (const attachment of attachments) {
166
- request.signal.throwIfAborted();
167
- const kind = openAiAttachmentKind(attachment.mimeType);
168
- if (kind === "pdf" && attachment.source !== void 0) {
169
- yield text(",");
170
- yield* pdfJson(attachment.source, attachment.id, request.signal);
171
- continue;
158
+ const reader = sourceBytes(message.content.bytes, request.signal)[Symbol.asyncIterator]();
159
+ let ended = false, failed = false;
160
+ try {
161
+ let head = await reader.next();
162
+ let emptyChunks = 0;
163
+ while (!head.done && !head.value.length) {
164
+ if (++emptyChunks % 256 === 0) await yieldTurn2(request.signal);
165
+ head = await reader.next();
166
+ }
167
+ ended = head.done === true;
168
+ if (ended && message === current && toolContinuation && !attachments.length) continue;
169
+ yield text((first ? "" : ",") + '{"role":' + JSON.stringify(message.role));
170
+ first = false;
171
+ const textPart = !ended;
172
+ const hasContent = !ended || !message.toolCalls?.length || attachments.length;
173
+ if (hasContent) {
174
+ yield text(',"content":');
175
+ if (attachments.length) {
176
+ yield text("[");
177
+ if (textPart) yield text('{"type":"text","text":');
172
178
  }
173
- if (attachment.url !== void 0) {
174
- validateAttachmentUrl(attachment.url);
175
- yield text(',{"type":"image_url","image_url":{"url":');
176
- yield* jsonValue(attachment.url, request.signal);
177
- yield text("}}");
178
- continue;
179
+ const content = async function* () {
180
+ if (!head.done) yield head.value;
181
+ while (!ended) {
182
+ const next = await reader.next();
183
+ if (next.done) {
184
+ ended = true;
185
+ break;
186
+ }
187
+ yield next.value;
188
+ }
189
+ };
190
+ if (!attachments.length || textPart) yield* jsonString(content(), request.signal);
191
+ }
192
+ if (attachments.length) {
193
+ if (textPart) yield text("}");
194
+ let firstPart = !textPart;
195
+ for (const attachment of attachments) {
196
+ request.signal.throwIfAborted();
197
+ if (!firstPart) yield text(",");
198
+ firstPart = false;
199
+ const kind = openAiAttachmentKind(attachment.mimeType);
200
+ if (kind === "pdf" && attachment.source !== void 0) {
201
+ yield* pdfJson(attachment.source, attachment.id, request.signal);
202
+ continue;
203
+ }
204
+ if (attachment.url !== void 0) {
205
+ validateAttachmentUrl(attachment.url);
206
+ yield text('{"type":"image_url","image_url":{"url":');
207
+ yield* jsonValue(attachment.url, request.signal);
208
+ yield text("}}");
209
+ continue;
210
+ }
211
+ yield text(kind === "image" ? '{"type":"image_url","image_url":{"url":' + JSON.stringify(`data:${attachment.mimeType};base64,`).slice(0, -1) : '{"type":"input_audio","input_audio":{"data":"');
212
+ for await (const part of base64Stream(attachment.source.bytes, request.signal)) yield text(part);
213
+ yield text(kind === "image" ? '"}}' : `","format":"${kind}"}}`);
179
214
  }
180
- yield text(kind === "image" ? ',{"type":"image_url","image_url":{"url":' + JSON.stringify(`data:${attachment.mimeType};base64,`).slice(0, -1) : ',{"type":"input_audio","input_audio":{"data":"');
181
- for await (const part of base64Stream(attachment.source.bytes, request.signal)) yield text(part);
182
- yield text(kind === "image" ? '"}}' : `","format":"${kind}"}}`);
215
+ yield text("]");
216
+ }
217
+ if (message.toolCallId !== void 0) {
218
+ yield text(',"tool_call_id":');
219
+ yield* jsonValue(message.toolCallId, request.signal);
220
+ }
221
+ if (message.toolCalls?.length) {
222
+ yield text(',"tool_calls":');
223
+ yield* openAiToolCallsJson(message.toolCalls, request.signal);
224
+ }
225
+ yield text("}");
226
+ } catch (error) {
227
+ failed = true;
228
+ throw error;
229
+ } finally {
230
+ if (!ended) {
231
+ const closing = Promise.resolve().then(() => reader.return?.());
232
+ if (request.signal.aborted) void closing.catch(() => void 0);
233
+ else await closing.catch((error) => {
234
+ if (!failed) throw error;
235
+ });
183
236
  }
184
- yield text("]");
185
237
  }
186
- yield text("}");
187
238
  }
188
239
  request.signal.throwIfAborted();
189
240
  yield text(`],"stream":${request.stream !== false}}`);
@@ -337,7 +388,7 @@ function job(value, expectedId) {
337
388
  }
338
389
  return { id: value.id, status: value.status };
339
390
  }
340
- function openAiChatJsonResult(value, signal) {
391
+ function openAiChatJsonResult(value, signal, toolLimit) {
341
392
  signal.throwIfAborted();
342
393
  if (value.error != null) throw new Error(`OpenAI: ${openAiError(value.error) ?? "chat completion failed"}`);
343
394
  if (!Array.isArray(value.choices) || value.choices.length === 0) throw new Error("OpenAI chat response has no choices");
@@ -349,7 +400,11 @@ function openAiChatJsonResult(value, signal) {
349
400
  if (typeof value.id === "string") metadata.id = value.id;
350
401
  if (typeof value.model === "string") metadata.model = value.model;
351
402
  if (typeof first.finish_reason === "string") metadata.finish_reason = first.finish_reason;
403
+ const calls = new OpenAiToolCalls(toolLimit);
404
+ calls.add(first.message.tool_calls, false);
405
+ const toolCalls = calls.finish();
352
406
  const details = {
407
+ ...toolCalls ? { toolCalls } : {},
353
408
  ...openAiRecord(value.usage) ? { usage: openAiUsage(value.usage) } : {},
354
409
  ...Object.keys(metadata).length ? { metadata } : {}
355
410
  };
@@ -368,6 +423,7 @@ function createOpenAiProvider(options) {
368
423
  const baseUrl = base.href.endsWith("/") ? base.href.slice(0, -1) : base.href;
369
424
  const configured = options.models.map((model) => Object.freeze({
370
425
  ...model,
426
+ ...model.endpoint === "chat" && model.asyncModel === void 0 ? { asyncModel: {} } : {},
371
427
  inputSources: model.endpoint === "chat",
372
428
  attachmentUrls: model.endpoint === "chat",
373
429
  capabilities: Object.freeze(model.capabilities ?? (model.endpoint === "chat" ? ["messages"] : model.endpoint === "embeddings" ? ["embed"] : [])),
@@ -423,8 +479,10 @@ function createOpenAiProvider(options) {
423
479
  embedSources: embed,
424
480
  async *completeSources(request) {
425
481
  request.signal.throwIfAborted();
426
- const model = byId.get(request.model);
482
+ const registered = byId.get(request.model);
483
+ const model = registered && request.async && registered.asyncModel ? { ...registered, ...registered.asyncModel } : registered;
427
484
  if (!model || model.endpoint !== "chat") throw new Error(`Model ${request.model} does not support streamed inputs`);
485
+ if ((request.tools?.length || request.messages?.some((message) => message.role === "tool" || message.toolCalls?.length)) && !model.capabilities?.includes("tools")) throw new Error(`Model ${model.id} does not support tools`);
428
486
  const body = chatJson({ ...request, options: openAiChatOptions(jsonOptions(request.options, "chat")) }, limits.maxRequestBytes);
429
487
  let details;
430
488
  for await (const response of openAiResponse(transport, {
@@ -435,18 +493,19 @@ function createOpenAiProvider(options) {
435
493
  body
436
494
  }, limits.maxResponseBytes)) {
437
495
  if (request.stream === false) {
438
- const parsed = openAiChatJsonResult(await openAiJson(response, request.signal, limits.maxResponseBytes), request.signal);
496
+ const parsed = openAiChatJsonResult(await openAiJson(response, request.signal, limits.maxResponseBytes), request.signal, limits.maxToolCallBytes);
439
497
  if (parsed.content !== void 0) yield parsed.content;
440
498
  details = parsed.details;
441
499
  } else {
442
- details = yield* openAiChat(response.body, request.signal, limits.maxEventBytes, limits.maxResponseBytes);
500
+ details = yield* openAiChat(response.body, request.signal, limits.maxEventBytes, limits.maxResponseBytes, limits.maxToolCallBytes);
443
501
  }
444
502
  }
445
503
  return details;
446
504
  },
447
505
  async *complete(request) {
448
506
  request.signal.throwIfAborted();
449
- const model = byId.get(request.model);
507
+ const registered = byId.get(request.model);
508
+ const model = registered && request.async && registered.asyncModel ? { ...registered, ...registered.asyncModel } : registered;
450
509
  if (!model) throw new Error(`Unknown model: ${request.model}`);
451
510
  if (model.endpoint === "embeddings") throw new TypeError("Embedding models require embed()");
452
511
  if (model.endpoint !== "chat" && (request.messages?.length || request.schema !== void 0)) throw new TypeError("Messages and schemas require a chat model");
@@ -462,10 +521,11 @@ function createOpenAiProvider(options) {
462
521
  } else attachmentBytes += attachment.bytes.byteLength;
463
522
  if (attachmentBytes > limits.maxRequestBytes) throw new RangeError("Provider request byte limit exceeded");
464
523
  }
524
+ if ((request.tools?.length || request.messages?.some((message) => message.role === "tool" || message.toolCalls?.length)) && (model.endpoint !== "chat" || !model.capabilities?.includes("tools"))) throw new Error(`Model ${model.id} does not support tools`);
465
525
  if (model.endpoint === "videos" && request.attachments.length > 1) throw new Error("OpenAI videos accepts only one input_reference image");
466
526
  if (model.endpoint !== "chat" && request.system !== void 0) throw new TypeError("System prompts are supported only by chat models");
467
527
  if (request.schema !== void 0 && request.options.response_format !== void 0) throw new TypeError("OpenAI option response_format conflicts with request schema");
468
- const reserved = model.endpoint === "chat" ? ["model", "messages", "stream", "stream_options"] : model.endpoint === "images" ? ["model", "prompt", "image", "image[]"] : ["model", "prompt", "input_reference"];
528
+ const reserved = model.endpoint === "chat" ? ["model", "messages", "stream", "stream_options", "tools"] : model.endpoint === "images" ? ["model", "prompt", "image", "image[]"] : ["model", "prompt", "input_reference"];
469
529
  for (const key of Object.keys(request.options)) {
470
530
  if (reserved.includes(key)) throw new Error(`OpenAI option ${key} is controlled by the provider`);
471
531
  }
@@ -479,7 +539,9 @@ function createOpenAiProvider(options) {
479
539
  if (model.endpoint === "chat") {
480
540
  const messages = [];
481
541
  if (request.system !== void 0) messages.push({ role: "system", content: request.system });
482
- for (const message of [...request.messages ?? [], { role: "user", content: request.prompt, attachments: request.attachments }]) {
542
+ const toolContinuation = request.messages?.some((message) => message.role === "tool");
543
+ const current = { role: "user", content: request.prompt, attachments: request.attachments };
544
+ for (const message of [...request.messages ?? [], ...toolContinuation && !request.prompt && !request.attachments.length ? [] : [current]]) {
483
545
  const attachments = message.attachments ?? [];
484
546
  const parts = [];
485
547
  for (const attachment of attachments) {
@@ -489,20 +551,31 @@ function createOpenAiProvider(options) {
489
551
  parts.push({ type: "file", file: { filename: `${id}.pdf`, file_data: `data:application/pdf;base64,${base64(attachment.bytes)}` } });
490
552
  } else parts.push(kind === "image" ? { type: "image_url", image_url: { url: attachment.url ?? `data:${attachment.mimeType};base64,${base64(attachment.bytes)}` } } : { type: "input_audio", input_audio: { data: base64(attachment.bytes), format: kind } });
491
553
  }
492
- messages.push({ role: message.role, content: attachments.length === 0 ? message.content : [
493
- { type: "text", text: message.content },
494
- ...parts
495
- ] });
554
+ const toolCalls = [];
555
+ for (const call of message.toolCalls ?? []) {
556
+ let argumentsText = "";
557
+ for await (const bytes of referenceJson(call.arguments, request.signal)) argumentsText += new TextDecoder().decode(bytes);
558
+ toolCalls.push({ type: "function", id: call.id ?? null, function: { name: call.name, arguments: argumentsText } });
559
+ }
560
+ messages.push({
561
+ role: message.role,
562
+ ...message.toolCallId === void 0 ? {} : { tool_call_id: message.toolCallId },
563
+ ...toolCalls.length ? { tool_calls: toolCalls } : {},
564
+ ...toolCalls.length && !message.content && !attachments.length ? {} : { content: attachments.length === 0 ? message.content : [
565
+ ...message.content ? [{ type: "text", text: message.content }] : [],
566
+ ...parts
567
+ ] }
568
+ });
496
569
  }
497
570
  let details;
498
571
  const stream = request.stream !== false;
499
- for await (const response of send("/chat/completions", "POST", jsonBody({ ...openAiChatOptions(jsonOptions(request.options, "chat")), ...request.schema === void 0 ? {} : { response_format: { type: "json_schema", json_schema: { name: "response", schema: request.schema } } }, model: request.model, messages, stream, ...stream ? { stream_options: { include_usage: true } } : {} }, limits.maxRequestBytes))) {
572
+ for await (const response of send("/chat/completions", "POST", jsonBody({ ...openAiTools(request.tools), ...openAiChatOptions(jsonOptions(request.options, "chat")), ...request.schema === void 0 ? {} : { response_format: { type: "json_schema", json_schema: { name: "response", schema: request.schema } } }, model: request.model, messages, stream, ...stream ? { stream_options: { include_usage: true } } : {} }, limits.maxRequestBytes))) {
500
573
  if (!stream) {
501
- const parsed = openAiChatJsonResult(await openAiJson(response, request.signal, limits.maxResponseBytes), request.signal);
574
+ const parsed = openAiChatJsonResult(await openAiJson(response, request.signal, limits.maxResponseBytes), request.signal, limits.maxToolCallBytes);
502
575
  if (parsed.content !== void 0) yield parsed.content;
503
576
  details = parsed.details;
504
577
  } else {
505
- details = yield* openAiChat(response.body, request.signal, limits.maxEventBytes, limits.maxResponseBytes);
578
+ details = yield* openAiChat(response.body, request.signal, limits.maxEventBytes, limits.maxResponseBytes, limits.maxToolCallBytes);
506
579
  }
507
580
  }
508
581
  return details;
@@ -568,7 +641,6 @@ function createOpenAiProvider(options) {
568
641
  }
569
642
 
570
643
  export {
571
- jsonString,
572
644
  chatJson,
573
645
  openAiChatOptions,
574
646
  createOpenAiProvider