@poe-platform/safe-bash 0.1.817 → 0.1.819

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1179) hide show
  1. package/dist/image-ast/index.js +2 -2
  2. package/dist/mp4-ast/index.d.ts +2 -1
  3. package/dist/mp4-ast/mp4-metadata-source.d.ts +10 -0
  4. package/dist/mp4-ast/mp4-packets-source.d.ts +8 -1
  5. package/dist/mp4-ast/types.d.ts +21 -3
  6. package/dist/office-xml/retained-xml-document.d.ts +2 -2
  7. package/dist/pdf-ast/ast.d.ts +2 -0
  8. package/dist/pdf-ast/content/evaluator.d.ts +7 -0
  9. package/dist/pdf-ast/content/retained-evaluator.d.ts +2 -2
  10. package/dist/pdf-ast/content/retained-page.d.ts +2 -2
  11. package/dist/pdf-ast/cos/compact-number.d.ts +19 -0
  12. package/dist/pdf-ast/cos/mutable-object-store.d.ts +2 -1
  13. package/dist/pdf-ast/cos/retained-node-writer.d.ts +9 -0
  14. package/dist/pdf-ast/cos/text-store.d.ts +27 -0
  15. package/dist/pdf-ast/edit/retained-bookmarks.d.ts +2 -2
  16. package/dist/pdf-ast/edit/retained-info-updates.d.ts +3 -3
  17. package/dist/pdf-ast/edit/retained-merge-outlines.d.ts +43 -0
  18. package/dist/pdf-ast/edit/retained-page-copy.d.ts +2 -0
  19. package/dist/pdf-ast/extract/html-text-stream.d.ts +14 -0
  20. package/dist/pdf-ast/extract/logical-text-stream.d.ts +14 -0
  21. package/dist/pdf-ast/extract/raw-text-index.d.ts +18 -4
  22. package/dist/pdf-ast/extract/retained-color.d.ts +6 -6
  23. package/dist/pdf-ast/extract/retained-decoded-image.d.ts +2 -2
  24. package/dist/pdf-ast/extract/stored-text-glyphs.d.ts +8 -0
  25. package/dist/pdf-ast/fonts/retained.d.ts +2 -2
  26. package/dist/pdf-ast/image.d.ts +2 -0
  27. package/dist/pdf-ast/image.js +19 -0
  28. package/dist/pdf-ast/index.d.ts +6 -0
  29. package/dist/pdf-ast/index.js +270 -66852
  30. package/dist/pdf-ast/render/postscript.d.ts +6 -0
  31. package/dist/pdf-ast/render/raster.d.ts +21 -1
  32. package/dist/pdf-ast/retained-document.d.ts +23 -95
  33. package/dist/pdf-ast/retained-reader.d.ts +113 -0
  34. package/dist/safe-bash/ast-grep.js +1 -1
  35. package/dist/safe-bash/audio-ast.js +1 -1
  36. package/dist/safe-bash/byte-encoding.js +1 -1
  37. package/dist/safe-bash/chunks/{chunk-HD6DWOAC.js → chunk-67QE3JLU.js} +1 -1
  38. package/dist/safe-bash/chunks/{chunk-HPQE675Q.js → chunk-ESH5MDQR.js} +1 -1
  39. package/dist/safe-bash/chunks/chunk-HNT2MR4W.js +45 -0
  40. package/dist/safe-bash/chunks/{chunk-SXSEF5E2.js → chunk-IRJS54AA.js} +1 -1
  41. package/dist/safe-bash/chunks/{chunk-AXGI5JVL.js → chunk-NAETSXBW.js} +2 -2
  42. package/dist/safe-bash/chunks/{chunk-WW7QPLH2.js → chunk-PSD2RSOS.js} +2 -1
  43. package/dist/safe-bash/chunks/{chunk-FQRI5AS5.js → chunk-VF3Q2V3E.js} +1 -1
  44. package/dist/safe-bash/chunks/{pdfinfo-KQIQEDOF.js → pdfinfo-G7BGZXBN.js} +2 -12
  45. package/dist/safe-bash/command-chunks/biff-AYJZR2YV-YFF3BK43.js +5741 -0
  46. package/dist/safe-bash/command-chunks/{chunk-FEBTT5NH.js → chunk-22D6Q6SW.js} +5 -5
  47. package/dist/safe-bash/command-chunks/{chunk-ALD53QFL.js → chunk-2C4QMQQD.js} +42 -12
  48. package/dist/safe-bash/command-chunks/{chunk-ZHHALBM7.js → chunk-2E53ZL5D.js} +11 -9
  49. package/dist/safe-bash/command-chunks/{chunk-EJ4UP7DA.js → chunk-2ESK2YIE.js} +27 -5
  50. package/dist/safe-bash/command-chunks/{chunk-CKA7ZROU.js → chunk-2GU2UU2Z.js} +9 -9
  51. package/dist/safe-bash/command-chunks/{chunk-L2VLASZ4.js → chunk-2GUI3ZKE.js} +3 -3
  52. package/dist/safe-bash/command-chunks/chunk-2H6RJPCQ.js +721 -0
  53. package/dist/safe-bash/command-chunks/{chunk-DRHONH2C.js → chunk-2IGH6JIP.js} +1 -1
  54. package/dist/safe-bash/command-chunks/{chunk-QDV2NIFR.js → chunk-2TMTGVJR.js} +1 -1
  55. package/dist/safe-bash/command-chunks/{chunk-MQE77MEQ.js → chunk-2V6EUWE3.js} +3 -3
  56. package/dist/safe-bash/command-chunks/{chunk-BIJW6QWB.js → chunk-2VSNIHIW.js} +21 -21
  57. package/dist/safe-bash/command-chunks/{chunk-FSG6UC2N.js → chunk-2XR7B6DY.js} +420 -167
  58. package/dist/safe-bash/command-chunks/{chunk-EY3UE26F.js → chunk-2YC6MWQB.js} +1 -1
  59. package/dist/safe-bash/command-chunks/{chunk-NLCUQD7Y.js → chunk-3DID6MQY.js} +21 -11
  60. package/dist/safe-bash/command-chunks/{chunk-5VO534FR.js → chunk-3K5FCRUG.js} +1 -0
  61. package/dist/safe-bash/command-chunks/{chunk-BSTABZIK.js → chunk-3LMUKOP2.js} +1 -1
  62. package/dist/safe-bash/command-chunks/{chunk-XBWD6SI3.js → chunk-3MFYCMQU.js} +37 -37
  63. package/dist/safe-bash/command-chunks/chunk-3PO534WJ.js +37 -0
  64. package/dist/safe-bash/command-chunks/{chunk-UFLMOU3B.js → chunk-3RDEX4AF.js} +4 -4
  65. package/dist/safe-bash/command-chunks/{chunk-DOVWHVHI.js → chunk-3TXPZLFI.js} +6 -6
  66. package/dist/safe-bash/command-chunks/{chunk-TID5TSQW.js → chunk-42OQIFPW.js} +5 -5
  67. package/dist/safe-bash/command-chunks/{chunk-UJYXSLM6.js → chunk-45QE6QRR.js} +4 -4
  68. package/dist/safe-bash/command-chunks/{chunk-LMLBQSAM.js → chunk-4HJEZGYN.js} +8 -8
  69. package/dist/safe-bash/command-chunks/{chunk-5QXRIZSS.js → chunk-4Q3HP33O.js} +4 -4
  70. package/dist/safe-bash/command-chunks/{chunk-EBX5RKKT.js → chunk-4XYGJB24.js} +4 -4
  71. package/dist/safe-bash/command-chunks/{chunk-NDALIHKK.js → chunk-4ZQYBCB2.js} +22 -22
  72. package/dist/safe-bash/command-chunks/{chunk-OFONWWEZ.js → chunk-5IHJWBDR.js} +2 -2
  73. package/dist/safe-bash/command-chunks/{chunk-TG2RVQLP.js → chunk-5KWEZV5H.js} +2 -2
  74. package/dist/safe-bash/command-chunks/{chunk-UYZ6EFZE.js → chunk-5P5SF75H.js} +83 -34
  75. package/dist/safe-bash/command-chunks/{chunk-P462JTNT.js → chunk-5PJ6VT2O.js} +7 -7
  76. package/dist/safe-bash/command-chunks/{chunk-SICTBSLW.js → chunk-5QR4LTAK.js} +7 -7
  77. package/dist/safe-bash/command-chunks/{chunk-ARE267HR.js → chunk-5XIJYTQU.js} +7 -7
  78. package/dist/safe-bash/command-chunks/chunk-63WEASJ7.js +137 -0
  79. package/dist/safe-bash/command-chunks/{chunk-3K5CVXUV.js → chunk-64L57DEI.js} +19 -19
  80. package/dist/safe-bash/command-chunks/{chunk-2ALHVXEM.js → chunk-6EK76ERE.js} +2 -2
  81. package/dist/safe-bash/command-chunks/{chunk-4772DJKS.js → chunk-6GCK2KSL.js} +61 -26
  82. package/dist/safe-bash/command-chunks/{chunk-T5OQ53XS.js → chunk-6IID5HTY.js} +1 -1
  83. package/dist/safe-bash/command-chunks/{chunk-ABL2DPJI.js → chunk-6PDXNY3T.js} +13 -13
  84. package/dist/safe-bash/command-chunks/{chunk-X42MJT2J.js → chunk-6RE4MZYM.js} +4 -4
  85. package/dist/safe-bash/command-chunks/{chunk-AF2IO57Q.js → chunk-6REH56FL.js} +14 -140
  86. package/dist/safe-bash/command-chunks/{chunk-XFIDOCYH.js → chunk-6ZHNKHQQ.js} +2 -2
  87. package/dist/safe-bash/command-chunks/{chunk-6JGICYHP.js → chunk-75OUKYCM.js} +2 -2
  88. package/dist/safe-bash/command-chunks/{chunk-POGVOCOB.js → chunk-772WNCU6.js} +10 -10
  89. package/dist/safe-bash/command-chunks/{chunk-3DWFXESW.js → chunk-7GJJDM2F.js} +2 -2
  90. package/dist/safe-bash/command-chunks/{chunk-XVEI4HZL.js → chunk-7JTJQKIV.js} +1 -1
  91. package/dist/safe-bash/command-chunks/{chunk-WIW3KDBS.js → chunk-7NFICYRU.js} +2 -2
  92. package/dist/safe-bash/command-chunks/{chunk-3ZVK2OAY.js → chunk-A4GYNM2E.js} +6 -5
  93. package/dist/safe-bash/command-chunks/chunk-AC4FFCRL.js +3820 -0
  94. package/dist/safe-bash/command-chunks/{chunk-SQBWAFUI.js → chunk-ADN7BU5X.js} +58 -26
  95. package/dist/safe-bash/command-chunks/{chunk-FHQOFEQK.js → chunk-AEHEOKI2.js} +10 -10
  96. package/dist/safe-bash/command-chunks/{chunk-BZRWZ6GO.js → chunk-AH3ZEPAN.js} +12 -9
  97. package/dist/safe-bash/command-chunks/{chunk-3MUFXGA2.js → chunk-AR65HNNX.js} +3 -3
  98. package/dist/safe-bash/command-chunks/{chunk-VNNNVT4C.js → chunk-ARA57PMC.js} +5 -5
  99. package/dist/safe-bash/command-chunks/{chunk-3VGQTLO6.js → chunk-AXUHORS3.js} +4 -4
  100. package/dist/safe-bash/command-chunks/chunk-B6NAEWHC.js +53 -0
  101. package/dist/safe-bash/command-chunks/{chunk-2ZWRW6UQ.js → chunk-B74LVFAN.js} +1 -1
  102. package/dist/safe-bash/command-chunks/{chunk-E4TF5W6O.js → chunk-BBOYR6LV.js} +5 -5
  103. package/dist/safe-bash/command-chunks/{chunk-ZM7HMBAJ.js → chunk-BDGNKRY4.js} +7 -7
  104. package/dist/safe-bash/command-chunks/{chunk-KDBU5Q2N.js → chunk-BFOVQUTF.js} +8 -8
  105. package/dist/safe-bash/command-chunks/{chunk-GNT3SCF3.js → chunk-BOMCPF7N.js} +1 -1
  106. package/dist/safe-bash/command-chunks/{chunk-ZNCPIZCN.js → chunk-BSLXS4PE.js} +2 -2
  107. package/dist/safe-bash/command-chunks/{chunk-N6TG44VG.js → chunk-BTDSUATE.js} +1 -1
  108. package/dist/safe-bash/command-chunks/{chunk-VZJRFHMZ.js → chunk-BXDNFBKZ.js} +26 -2
  109. package/dist/safe-bash/command-chunks/chunk-BZLLQWRK.js +296 -0
  110. package/dist/safe-bash/command-chunks/{chunk-YXR4JE4U.js → chunk-C3FERGHU.js} +4 -4
  111. package/dist/safe-bash/command-chunks/chunk-C5SLY3RB.js +279 -0
  112. package/dist/safe-bash/command-chunks/{chunk-5O45KGW5.js → chunk-C5VUJOUQ.js} +1 -1
  113. package/dist/safe-bash/command-chunks/{chunk-T4SEQU66.js → chunk-CI6KHUFK.js} +5 -5
  114. package/dist/safe-bash/command-chunks/chunk-CJIFJ45R.js +203 -0
  115. package/dist/safe-bash/command-chunks/{chunk-OTEHQQU7.js → chunk-CKQ5SXOO.js} +8 -59
  116. package/dist/safe-bash/command-chunks/{chunk-LJ3UYESS.js → chunk-CP5EO5TT.js} +1 -1
  117. package/dist/safe-bash/command-chunks/{chunk-TY7JXEWI.js → chunk-CPCXE2TM.js} +13 -13
  118. package/dist/safe-bash/command-chunks/{chunk-VVWHFNHD.js → chunk-CXOAMPOV.js} +420 -28
  119. package/dist/safe-bash/command-chunks/{chunk-57PK2QFX.js → chunk-D3WMD32B.js} +16 -16
  120. package/dist/safe-bash/command-chunks/{chunk-LECGQSQW.js → chunk-D54L2IOZ.js} +12 -12
  121. package/dist/safe-bash/command-chunks/{chunk-FGARVKAX.js → chunk-DBYY7IDI.js} +24 -20
  122. package/dist/safe-bash/command-chunks/{chunk-LNAZ3E4Q.js → chunk-DGFMOT4O.js} +4 -4
  123. package/dist/safe-bash/command-chunks/{chunk-N5J3IZZK.js → chunk-DQVOBGI2.js} +12414 -8140
  124. package/dist/safe-bash/command-chunks/{chunk-OHEZQ4QA.js → chunk-DTLIBRCQ.js} +11 -11
  125. package/dist/safe-bash/command-chunks/{chunk-FGHSE3RZ.js → chunk-DZ4ELL34.js} +1 -1
  126. package/dist/safe-bash/command-chunks/{chunk-ICJH6A73.js → chunk-DZTT5SLG.js} +7 -7
  127. package/dist/safe-bash/command-chunks/{chunk-77NXQZGK.js → chunk-DZY7V74W.js} +3 -1
  128. package/dist/safe-bash/command-chunks/chunk-E47FFS5M.js +52 -0
  129. package/dist/safe-bash/command-chunks/{chunk-LNKZVU5V.js → chunk-E76WK7OQ.js} +1 -1
  130. package/dist/safe-bash/command-chunks/{chunk-EWC56JNI.js → chunk-EBMKGNKF.js} +9 -9
  131. package/dist/safe-bash/command-chunks/{chunk-5GDF5FAS.js → chunk-EEJ3YXVO.js} +1 -1
  132. package/dist/safe-bash/command-chunks/{chunk-GMBUOYTN.js → chunk-EG7VVDV3.js} +8 -8
  133. package/dist/safe-bash/command-chunks/{chunk-N32AP43V.js → chunk-EIZFAUUD.js} +9 -9
  134. package/dist/safe-bash/command-chunks/{chunk-FR63MJSO.js → chunk-ESIEU4E4.js} +9 -9
  135. package/dist/safe-bash/command-chunks/{chunk-QJZJWL2X.js → chunk-ET3CPTJT.js} +38 -25
  136. package/dist/safe-bash/command-chunks/{chunk-UT5X6QRU.js → chunk-ETS4BINB.js} +9 -9
  137. package/dist/safe-bash/command-chunks/{chunk-SBXS4S6Y.js → chunk-EU5SR3LS.js} +3 -3
  138. package/dist/safe-bash/command-chunks/{chunk-FTZFCMVI.js → chunk-FAVWWMFW.js} +12 -12
  139. package/dist/safe-bash/command-chunks/{chunk-YKODRSGT.js → chunk-FCGMSOF6.js} +8 -8
  140. package/dist/safe-bash/command-chunks/{chunk-S5ER73EA.js → chunk-FGK6HLSY.js} +8 -8
  141. package/dist/safe-bash/command-chunks/{chunk-WMV5224N.js → chunk-FILE5PBI.js} +3 -3
  142. package/dist/safe-bash/command-chunks/{chunk-7ADQE64C.js → chunk-FMGNXOMV.js} +1 -1
  143. package/dist/safe-bash/command-chunks/{chunk-XPQUUFQD.js → chunk-FPOM47UA.js} +2 -2
  144. package/dist/safe-bash/command-chunks/{chunk-ZZERSKAR.js → chunk-FX54I4AC.js} +5 -5
  145. package/dist/safe-bash/command-chunks/{chunk-CORUUCS2.js → chunk-GAYTDZPP.js} +5 -5
  146. package/dist/safe-bash/command-chunks/chunk-GCSKS22X.js +15 -0
  147. package/dist/safe-bash/command-chunks/{chunk-2QZUAZTH.js → chunk-GIQUIF6E.js} +1 -1
  148. package/dist/safe-bash/command-chunks/{chunk-UVZJAV2S.js → chunk-GNPPPYDF.js} +1 -78
  149. package/dist/safe-bash/command-chunks/{chunk-B6XTAKKQ.js → chunk-GNVAW6NL.js} +1 -1
  150. package/dist/safe-bash/command-chunks/chunk-GQV5RWMN.js +27 -0
  151. package/dist/safe-bash/command-chunks/{chunk-PWHIVWQT.js → chunk-GVDVRC7J.js} +15 -19
  152. package/dist/safe-bash/command-chunks/{chunk-N4HWOLGZ.js → chunk-GY2C555A.js} +2 -2
  153. package/dist/safe-bash/command-chunks/{chunk-KXM3HTAF.js → chunk-GYKQ3IOV.js} +27 -14
  154. package/dist/safe-bash/command-chunks/{chunk-VMZIAFVJ.js → chunk-HBR5PWX4.js} +8 -8
  155. package/dist/safe-bash/command-chunks/{chunk-YPG55QTP.js → chunk-HCJWEB6P.js} +1 -1
  156. package/dist/safe-bash/command-chunks/{chunk-ZOEKSH3R.js → chunk-HCPEYQKT.js} +5 -4
  157. package/dist/safe-bash/command-chunks/{chunk-U42WHQRH.js → chunk-HCZITM4C.js} +8 -8
  158. package/dist/safe-bash/command-chunks/{chunk-4SISSPIH.js → chunk-HLRLMFMS.js} +1 -1
  159. package/dist/safe-bash/command-chunks/chunk-HNEWGADJ.js +43 -0
  160. package/dist/safe-bash/command-chunks/{chunk-DZOKH5BL.js → chunk-HQFX5XKV.js} +7 -7
  161. package/dist/safe-bash/command-chunks/{chunk-QNX5LZBK.js → chunk-HSB55ED5.js} +9 -9
  162. package/dist/safe-bash/command-chunks/{chunk-G3FK5VVG.js → chunk-HTBUIRTH.js} +1 -1
  163. package/dist/safe-bash/command-chunks/{chunk-QCIAX6HZ.js → chunk-HUAQZFON.js} +1 -1
  164. package/dist/safe-bash/command-chunks/{chunk-6M3JTPKE.js → chunk-HVLF3Y4B.js} +8 -8
  165. package/dist/safe-bash/command-chunks/{chunk-AYQPJQJR.js → chunk-I6CQDCIP.js} +8 -8
  166. package/dist/safe-bash/command-chunks/chunk-I7MEH76L.js +276 -0
  167. package/dist/safe-bash/command-chunks/{chunk-E3BL7W5C.js → chunk-IAHYG67O.js} +152 -80
  168. package/dist/safe-bash/command-chunks/{chunk-TXWDR2P4.js → chunk-IBT3OWXB.js} +1 -1
  169. package/dist/safe-bash/command-chunks/{chunk-EAGIJ4VW.js → chunk-IC5XC4TO.js} +118 -118
  170. package/dist/safe-bash/command-chunks/{chunk-ERWIJYCS.js → chunk-IGZOQT2L.js} +10 -10
  171. package/dist/safe-bash/command-chunks/{chunk-CKIXC7AO.js → chunk-IPKYPADE.js} +3 -3
  172. package/dist/safe-bash/command-chunks/{chunk-FJLSYX5P.js → chunk-ITJDLFPW.js} +3 -3
  173. package/dist/safe-bash/command-chunks/{chunk-MUTARE5I.js → chunk-IYEAS7TU.js} +8 -8
  174. package/dist/safe-bash/command-chunks/{chunk-WDVPHDBH.js → chunk-J3ISXTYB.js} +5 -5
  175. package/dist/safe-bash/command-chunks/chunk-J3VS55K4.js +69097 -0
  176. package/dist/safe-bash/command-chunks/chunk-J4I7KCQQ.js +495 -0
  177. package/dist/safe-bash/command-chunks/{chunk-IWVANZWH.js → chunk-JLPBGKVC.js} +3 -3
  178. package/dist/safe-bash/command-chunks/{chunk-HQEYSSZV.js → chunk-JLS6XKAR.js} +1 -1
  179. package/dist/safe-bash/command-chunks/{chunk-IJE65P52.js → chunk-JMUB5A26.js} +27 -8
  180. package/dist/safe-bash/command-chunks/{chunk-HOJ7WDTS.js → chunk-JQPDVCBU.js} +6 -6
  181. package/dist/safe-bash/command-chunks/{chunk-LQX7RAF7.js → chunk-JSW6YH6T.js} +7 -7
  182. package/dist/safe-bash/command-chunks/{chunk-DM5WURQL.js → chunk-JY2T3KV2.js} +2 -2
  183. package/dist/safe-bash/command-chunks/{chunk-IZ3SD5S2.js → chunk-K2NV6H7E.js} +4 -4
  184. package/dist/safe-bash/command-chunks/{chunk-YJ5IA5YQ.js → chunk-K576GZED.js} +3 -3
  185. package/dist/safe-bash/command-chunks/{chunk-VZTVR3JI.js → chunk-K6J3KFQ2.js} +17 -122
  186. package/dist/safe-bash/command-chunks/{chunk-RTHYAGKI.js → chunk-KD4JUF6R.js} +4 -4
  187. package/dist/safe-bash/command-chunks/{chunk-FUYZUETI.js → chunk-KQE2D7PX.js} +8 -8
  188. package/dist/safe-bash/command-chunks/{chunk-Q65GWGQR.js → chunk-KVTZJBLM.js} +5 -5
  189. package/dist/safe-bash/command-chunks/{chunk-ONQP4FNV.js → chunk-KZICRCQ7.js} +1 -1
  190. package/dist/safe-bash/command-chunks/chunk-L365UGC7.js +250 -0
  191. package/dist/safe-bash/command-chunks/{chunk-UKAGRRLZ.js → chunk-LBBJ5S3W.js} +1 -1
  192. package/dist/safe-bash/command-chunks/{chunk-WHZ6XK7Y.js → chunk-LBILRPVR.js} +1 -1
  193. package/dist/safe-bash/command-chunks/{chunk-ENMJHB2C.js → chunk-LDR3PPM3.js} +5 -5
  194. package/dist/safe-bash/command-chunks/chunk-LJLB7TBN.js +775 -0
  195. package/dist/safe-bash/command-chunks/{chunk-A6OTPNNI.js → chunk-LPKMNCC5.js} +3 -3
  196. package/dist/safe-bash/command-chunks/{chunk-JA36YOZI.js → chunk-LUJUYUOG.js} +1 -1
  197. package/dist/safe-bash/command-chunks/{chunk-FB2WPI3M.js → chunk-LZHFVNEV.js} +17 -107
  198. package/dist/safe-bash/command-chunks/{chunk-4X2MPZXW.js → chunk-M42GCI5F.js} +2 -2
  199. package/dist/safe-bash/command-chunks/{chunk-URQSUMMJ.js → chunk-M7MQTU77.js} +6 -6
  200. package/dist/safe-bash/command-chunks/chunk-MCUDSE4H.js +77 -0
  201. package/dist/safe-bash/command-chunks/{chunk-V6JPIZUW.js → chunk-MD5ZSARP.js} +9 -9
  202. package/dist/safe-bash/command-chunks/chunk-MEST2HID.js +112 -0
  203. package/dist/safe-bash/command-chunks/{chunk-26JE5JEB.js → chunk-MLMFFBOU.js} +4 -4
  204. package/dist/safe-bash/command-chunks/{chunk-HOKPYTHQ.js → chunk-MPRUGL4W.js} +2 -2
  205. package/dist/safe-bash/command-chunks/{chunk-E22EAYJN.js → chunk-MQCLG2CT.js} +177 -34
  206. package/dist/safe-bash/command-chunks/{chunk-G3LUT475.js → chunk-N5Y7WWO6.js} +10 -10
  207. package/dist/safe-bash/command-chunks/{chunk-MZYQKH26.js → chunk-NA6YAGAH.js} +3 -3
  208. package/dist/safe-bash/command-chunks/{chunk-PPN53PX3.js → chunk-NDJPULBE.js} +4 -4
  209. package/dist/safe-bash/command-chunks/{chunk-2IMIKROX.js → chunk-NN6OWOJG.js} +6 -6
  210. package/dist/safe-bash/command-chunks/{chunk-SWIF6BBY.js → chunk-NNYOPI7K.js} +8 -8
  211. package/dist/safe-bash/command-chunks/{chunk-GAROGIVU.js → chunk-NP2QXF2X.js} +1 -1
  212. package/dist/safe-bash/command-chunks/{chunk-SNA2LVBX.js → chunk-NPVOYY2A.js} +1 -1
  213. package/dist/safe-bash/command-chunks/{chunk-T2FRXSQT.js → chunk-NR7POLKP.js} +2 -2
  214. package/dist/safe-bash/command-chunks/{chunk-A4P37F3P.js → chunk-NWA7ZJDV.js} +5 -5
  215. package/dist/safe-bash/command-chunks/{chunk-45DKGZYO.js → chunk-O3FTKLWR.js} +423 -213
  216. package/dist/safe-bash/command-chunks/{chunk-6KJDTKE4.js → chunk-O4H7HPMP.js} +35 -393
  217. package/dist/safe-bash/command-chunks/{chunk-J6FNSVHT.js → chunk-OLNV5MI6.js} +5 -5
  218. package/dist/safe-bash/command-chunks/{chunk-BBEAO5N7.js → chunk-OLXMWQJ5.js} +1 -1
  219. package/dist/safe-bash/command-chunks/{chunk-MDFNUNK5.js → chunk-OMD45J52.js} +25 -21
  220. package/dist/safe-bash/command-chunks/{chunk-AXI7VMLG.js → chunk-OOYVZAWL.js} +3 -41
  221. package/dist/safe-bash/command-chunks/{chunk-2TWXRJPB.js → chunk-OPKLIF5P.js} +17 -17
  222. package/dist/safe-bash/command-chunks/{chunk-E3DF7RTE.js → chunk-OT75C5YS.js} +2 -2
  223. package/dist/safe-bash/command-chunks/{chunk-ROQ3VNVX.js → chunk-OVCSXD7N.js} +10 -10
  224. package/dist/safe-bash/command-chunks/chunk-P3LHQOX7.js +371 -0
  225. package/dist/safe-bash/command-chunks/{chunk-OFDJJRAD.js → chunk-P3TV5GIG.js} +11 -11
  226. package/dist/safe-bash/command-chunks/{chunk-LQDANF2B.js → chunk-P5UFNPRE.js} +10 -10
  227. package/dist/safe-bash/command-chunks/{chunk-5V7WIQ2D.js → chunk-PAEAEFK3.js} +122 -12
  228. package/dist/safe-bash/command-chunks/{chunk-OWCBX5M2.js → chunk-PAY4ULWY.js} +1 -1
  229. package/dist/safe-bash/command-chunks/{chunk-TXU7MMHN.js → chunk-PH722HK2.js} +16 -16
  230. package/dist/safe-bash/command-chunks/{chunk-OU4VE5CR.js → chunk-PKH57OIC.js} +8 -6
  231. package/dist/safe-bash/command-chunks/{chunk-GTOMW4VV.js → chunk-PNOXBL2B.js} +1 -1
  232. package/dist/safe-bash/command-chunks/{chunk-L4XSOULP.js → chunk-PPNPXNM6.js} +38 -2
  233. package/dist/safe-bash/command-chunks/{chunk-DXOXUKQB.js → chunk-PVKSBXHB.js} +11 -9
  234. package/dist/safe-bash/command-chunks/{chunk-EZDWPTYB.js → chunk-PYYAX5FB.js} +23 -23
  235. package/dist/safe-bash/command-chunks/{chunk-MOUCMZZP.js → chunk-PZVFNPRC.js} +1 -1
  236. package/dist/safe-bash/command-chunks/{chunk-UPWLHHZ2.js → chunk-QCCRQU44.js} +18 -18
  237. package/dist/safe-bash/command-chunks/{chunk-IVKAFEPO.js → chunk-QEVSG6HQ.js} +9 -9
  238. package/dist/safe-bash/command-chunks/{chunk-6YF2QADH.js → chunk-QGSY4ZAU.js} +8 -8
  239. package/dist/safe-bash/command-chunks/{chunk-LZY46GYY.js → chunk-QMWBKR4C.js} +5 -5
  240. package/dist/safe-bash/command-chunks/{chunk-4YFTJS5U.js → chunk-QMXOKYMJ.js} +2 -2
  241. package/dist/safe-bash/command-chunks/{chunk-CHZE6FNT.js → chunk-QPHI7Y7Z.js} +4 -4
  242. package/dist/safe-bash/command-chunks/{chunk-N3ZH4YYH.js → chunk-QQ7ORF2D.js} +5 -5
  243. package/dist/safe-bash/command-chunks/{chunk-4ABR3KGK.js → chunk-QWQHLMDX.js} +7 -7
  244. package/dist/safe-bash/command-chunks/chunk-QX3WKBLI.js +58 -0
  245. package/dist/safe-bash/command-chunks/{chunk-V6OWCRHN.js → chunk-QZPSGPN5.js} +1 -1
  246. package/dist/safe-bash/command-chunks/chunk-R36PDP3L.js +106 -0
  247. package/dist/safe-bash/command-chunks/{chunk-N35IJXBK.js → chunk-R43WEA4C.js} +14 -14
  248. package/dist/safe-bash/command-chunks/{chunk-5YL453ZF.js → chunk-R6VXFTYL.js} +47 -47
  249. package/dist/safe-bash/command-chunks/{chunk-OVUY46QF.js → chunk-RC4TNFNF.js} +1 -1
  250. package/dist/safe-bash/command-chunks/{chunk-PU5DMQGG.js → chunk-RESJSUHH.js} +1 -1
  251. package/dist/safe-bash/command-chunks/{chunk-OCOJMKDP.js → chunk-RHXV2KG5.js} +522 -8
  252. package/dist/safe-bash/command-chunks/{chunk-7B2MHKIW.js → chunk-RKON2TGI.js} +1 -1
  253. package/dist/safe-bash/command-chunks/{chunk-OIHQXURE.js → chunk-ROE6KD4C.js} +1 -1
  254. package/dist/safe-bash/command-chunks/{chunk-ITXSHOLP.js → chunk-RQTFK7AV.js} +2 -2
  255. package/dist/safe-bash/command-chunks/{chunk-BKK4MS3V.js → chunk-RR6XG2I6.js} +1 -1
  256. package/dist/safe-bash/command-chunks/{chunk-CFMJXJS5.js → chunk-RTUDDAAY.js} +9 -4
  257. package/dist/safe-bash/command-chunks/{chunk-FAU2KL6I.js → chunk-S5MBHFLB.js} +2 -2
  258. package/dist/safe-bash/command-chunks/{chunk-R7LF4XQV.js → chunk-S6223MIG.js} +2 -2
  259. package/dist/safe-bash/command-chunks/{chunk-6W4RMBFH.js → chunk-SKDJCMGI.js} +12 -10
  260. package/dist/safe-bash/command-chunks/{chunk-NCNHJRIY.js → chunk-SKF6PGA5.js} +12 -12
  261. package/dist/safe-bash/command-chunks/{chunk-3PM46VWH.js → chunk-SLD5A7IL.js} +11 -11
  262. package/dist/safe-bash/command-chunks/{chunk-KYIGYYEY.js → chunk-SMCRKN3O.js} +5 -5
  263. package/dist/safe-bash/command-chunks/{chunk-H56BSMFQ.js → chunk-T2LZWXWF.js} +8 -8
  264. package/dist/safe-bash/command-chunks/{chunk-KDDXLHN7.js → chunk-TMJG745A.js} +6 -6
  265. package/dist/safe-bash/command-chunks/{chunk-QMBMZSJF.js → chunk-TP5MZHCB.js} +6 -6
  266. package/dist/safe-bash/command-chunks/{chunk-ET6LMDEX.js → chunk-TPSRY72Q.js} +9 -9
  267. package/dist/safe-bash/command-chunks/{chunk-ZAYTFXUX.js → chunk-TTPT3OME.js} +7 -7
  268. package/dist/safe-bash/command-chunks/{chunk-GR4ONCQ5.js → chunk-U6VSRO6E.js} +9 -9
  269. package/dist/safe-bash/command-chunks/{chunk-5VF2EA7Z.js → chunk-U7J3R7HX.js} +6 -1
  270. package/dist/safe-bash/command-chunks/{chunk-A5SPMSKD.js → chunk-UDRJKA3P.js} +11 -11
  271. package/dist/safe-bash/command-chunks/{chunk-3B444A5G.js → chunk-UI5AS3FS.js} +10 -2
  272. package/dist/safe-bash/command-chunks/{chunk-RVWIEXR7.js → chunk-UMOQHHSV.js} +9 -9
  273. package/dist/safe-bash/command-chunks/{chunk-WH624PKJ.js → chunk-UNI6QG45.js} +5 -5
  274. package/dist/safe-bash/command-chunks/{chunk-BOVDUJ3A.js → chunk-UTSN7AKE.js} +9 -9
  275. package/dist/safe-bash/command-chunks/{chunk-F5QYUK2E.js → chunk-UWIDPTOB.js} +2 -2
  276. package/dist/safe-bash/command-chunks/{chunk-345YBIHP.js → chunk-V2J6AC6S.js} +19 -19
  277. package/dist/safe-bash/command-chunks/{chunk-ZZ27QNBY.js → chunk-V2PJO6JL.js} +29 -60
  278. package/dist/safe-bash/command-chunks/{chunk-QNETPOMH.js → chunk-VAMBWXDV.js} +72 -21
  279. package/dist/safe-bash/command-chunks/{chunk-KM2SMMXZ.js → chunk-VJQ5OWS5.js} +80 -2
  280. package/dist/safe-bash/command-chunks/{chunk-OCV5ZU35.js → chunk-VSTAHYCV.js} +3 -3
  281. package/dist/safe-bash/command-chunks/{chunk-MI2WY75O.js → chunk-VWBNUCUP.js} +28 -11
  282. package/dist/safe-bash/command-chunks/{chunk-SL4LD25A.js → chunk-W4BC2YGQ.js} +15 -15
  283. package/dist/safe-bash/command-chunks/{chunk-Y3ZRIZL7.js → chunk-W5LH7D23.js} +26 -13
  284. package/dist/safe-bash/command-chunks/{chunk-62RG3GHF.js → chunk-W6L4Z2VX.js} +10 -10
  285. package/dist/safe-bash/command-chunks/{chunk-RRAQII52.js → chunk-WEXEZRMH.js} +7 -7
  286. package/dist/safe-bash/command-chunks/chunk-WIUEM7HP.js +58 -0
  287. package/dist/safe-bash/command-chunks/{chunk-AQ3XOOPQ.js → chunk-WKS2PAZL.js} +2 -2
  288. package/dist/safe-bash/command-chunks/chunk-WOECEZAC.js +921 -0
  289. package/dist/safe-bash/command-chunks/{chunk-A2L3U7DW.js → chunk-WOO3YO2X.js} +7 -7
  290. package/dist/safe-bash/command-chunks/{chunk-7YDJ7LDO.js → chunk-WOT2YXBT.js} +8 -223
  291. package/dist/safe-bash/command-chunks/{chunk-LT2YCGC5.js → chunk-WV3C6BRD.js} +14 -14
  292. package/dist/safe-bash/command-chunks/{chunk-PRO7JOIH.js → chunk-X3EDCCXU.js} +10 -10
  293. package/dist/safe-bash/command-chunks/{chunk-WMBELKPP.js → chunk-XE75H5ZZ.js} +15 -15
  294. package/dist/safe-bash/command-chunks/{chunk-SHLT5R64.js → chunk-XMNPE6RN.js} +11 -11
  295. package/dist/safe-bash/command-chunks/{chunk-ISFGPCED.js → chunk-XNVL6AOV.js} +16 -16
  296. package/dist/safe-bash/command-chunks/{chunk-OBIXFO25.js → chunk-XPUYA7YU.js} +10 -10
  297. package/dist/safe-bash/command-chunks/{chunk-5KZMR6AJ.js → chunk-XXUMECE4.js} +22 -20
  298. package/dist/safe-bash/command-chunks/{chunk-OAM2SUUI.js → chunk-YB5TNDY6.js} +1 -1
  299. package/dist/safe-bash/command-chunks/{chunk-KLAC2MIZ.js → chunk-YJMS5Q4Y.js} +12 -12
  300. package/dist/safe-bash/command-chunks/{chunk-FLSXHLJG.js → chunk-YJTP4ROI.js} +15 -15
  301. package/dist/safe-bash/command-chunks/{chunk-7ITPO2V6.js → chunk-YNFQ5AXM.js} +80 -45
  302. package/dist/safe-bash/command-chunks/{chunk-7PYDVQPB.js → chunk-YWP62BAZ.js} +2 -2
  303. package/dist/safe-bash/command-chunks/chunk-YXIJOYT6.js +416 -0
  304. package/dist/safe-bash/command-chunks/{chunk-NQL3WNFI.js → chunk-YYRVGXJH.js} +44 -5
  305. package/dist/safe-bash/command-chunks/{chunk-35DU6I2M.js → chunk-Z7UPCDTU.js} +5 -5
  306. package/dist/safe-bash/command-chunks/{chunk-O2XP6HQN.js → chunk-ZBGP6XEG.js} +1 -1
  307. package/dist/safe-bash/command-chunks/{chunk-VWRHPDCD.js → chunk-ZIDESNHW.js} +3 -3
  308. package/dist/safe-bash/command-chunks/{chunk-VVV45NLY.js → chunk-ZJUU5IAS.js} +1 -1
  309. package/dist/safe-bash/command-chunks/{chunk-3ZWFE4CK.js → chunk-ZLMCWAAU.js} +9 -9
  310. package/dist/safe-bash/command-chunks/{chunk-7OCTMVYJ.js → chunk-ZNABMTV3.js} +1 -1
  311. package/dist/safe-bash/command-chunks/{chunk-QOKFSYD5.js → chunk-ZODGWV3Y.js} +11 -11
  312. package/dist/safe-bash/command-chunks/{chunk-DIRK47GT.js → chunk-ZPBL7TYJ.js} +3 -3
  313. package/dist/safe-bash/command-chunks/{chunk-5MNQTHED.js → chunk-ZQ4NQ24M.js} +10 -10
  314. package/dist/safe-bash/command-chunks/{chunk-4IDV763L.js → chunk-ZS4J5B6Y.js} +2 -2
  315. package/dist/safe-bash/command-chunks/chunk-ZTW2E5OT.js +1016 -0
  316. package/dist/safe-bash/command-chunks/{chunk-NKK76B4V.js → chunk-ZUOID3FA.js} +14 -14
  317. package/dist/safe-bash/command-chunks/chunk-ZWGERYLT.js +192 -0
  318. package/dist/safe-bash/command-chunks/{chunk-F2NF6FHV.js → chunk-ZXIOTUXC.js} +2 -2
  319. package/dist/safe-bash/command-chunks/{chunk-LFSWLJPR.js → chunk-ZZ6EIACJ.js} +250 -41
  320. package/dist/safe-bash/command-chunks/{chunk-XMRQ6UP2.js → chunk-ZZO3GYEZ.js} +1 -11
  321. package/dist/safe-bash/command-chunks/{command-engine-2QXVRRH3.js → command-engine-B6X6WAMX.js} +381 -114
  322. package/dist/safe-bash/command-chunks/{engine-T4GP6QOK-ECFKMR5V.js → engine-UPLVIV72-IGXUDNO5.js} +1 -1
  323. package/dist/safe-bash/command-chunks/model-store-RGLCVIML.js +54 -0
  324. package/dist/safe-bash/command-chunks/paradox-BHPRIGXX-RQN37FHB.js +370 -0
  325. package/dist/safe-bash/command-chunks/prompt-tool-debug-ERJKK3XZ.js +171 -0
  326. package/dist/safe-bash/commands/alias/index.js +1 -1
  327. package/dist/safe-bash/commands/apply-patch/index.js +1 -1
  328. package/dist/safe-bash/commands/archive/create.js +1 -1
  329. package/dist/safe-bash/commands/archive/extract.js +1 -1
  330. package/dist/safe-bash/commands/archive/format.js +1 -1
  331. package/dist/safe-bash/commands/archive/index.js +1 -1
  332. package/dist/safe-bash/commands/archive/internal.js +1 -1
  333. package/dist/safe-bash/commands/archive/listing.js +1 -1
  334. package/dist/safe-bash/commands/archive/modes.js +1 -1
  335. package/dist/safe-bash/commands/archive/options.js +1 -1
  336. package/dist/safe-bash/commands/archive/stream.js +1 -1
  337. package/dist/safe-bash/commands/archive/transform.js +1 -1
  338. package/dist/safe-bash/commands/archive/unzip/safety.js +1 -1
  339. package/dist/safe-bash/commands/archive/unzip.js +1 -1
  340. package/dist/safe-bash/commands/archive/zip/aes.js +1 -1
  341. package/dist/safe-bash/commands/archive/zip/comments.js +1 -1
  342. package/dist/safe-bash/commands/archive/zip/crc.js +1 -1
  343. package/dist/safe-bash/commands/archive/zip/crypto.js +1 -1
  344. package/dist/safe-bash/commands/archive/zip/dates.js +1 -1
  345. package/dist/safe-bash/commands/archive/zip/environment.js +1 -1
  346. package/dist/safe-bash/commands/archive/zip/grow.js +1 -1
  347. package/dist/safe-bash/commands/archive/zip/help.js +1 -1
  348. package/dist/safe-bash/commands/archive/zip/line-endings.js +1 -1
  349. package/dist/safe-bash/commands/archive/zip/log.js +1 -1
  350. package/dist/safe-bash/commands/archive/zip/lzma.js +1 -1
  351. package/dist/safe-bash/commands/archive/zip/move.js +1 -1
  352. package/dist/safe-bash/commands/archive/zip/names.js +1 -1
  353. package/dist/safe-bash/commands/archive/zip/options.js +1 -1
  354. package/dist/safe-bash/commands/archive/zip/repair.js +1 -1
  355. package/dist/safe-bash/commands/archive/zip/safety.js +1 -1
  356. package/dist/safe-bash/commands/archive/zip/sfx.js +1 -1
  357. package/dist/safe-bash/commands/archive/zip/test-command.js +1 -1
  358. package/dist/safe-bash/commands/archive/zip/volumes.js +1 -1
  359. package/dist/safe-bash/commands/archive/zip/zip64.js +1 -1
  360. package/dist/safe-bash/commands/archive/zip-format.js +1 -1
  361. package/dist/safe-bash/commands/archive/zip.js +1 -1
  362. package/dist/safe-bash/commands/ast-grep/index.js +1 -1
  363. package/dist/safe-bash/commands/audio/index.browser.js +2 -8
  364. package/dist/safe-bash/commands/audio/index.js +1 -1
  365. package/dist/safe-bash/commands/awk/index.js +1 -1
  366. package/dist/safe-bash/commands/base32/index.js +1 -1
  367. package/dist/safe-bash/commands/base64/index.js +1 -1
  368. package/dist/safe-bash/commands/bc/index.browser.js +1 -1
  369. package/dist/safe-bash/commands/bc/index.js +1 -1
  370. package/dist/safe-bash/commands/bytes/checksums/sm3.js +1 -1
  371. package/dist/safe-bash/commands/bytes/compression/bounded-codec.js +1 -1
  372. package/dist/safe-bash/commands/bytes/compression/codec-loader.js +1 -1
  373. package/dist/safe-bash/commands/bytes/compression/codec.js +1 -1
  374. package/dist/safe-bash/commands/bytes/compression/errors.js +1 -1
  375. package/dist/safe-bash/commands/bytes/compression/file-operation.js +1 -1
  376. package/dist/safe-bash/commands/bytes/compression/files.js +1 -1
  377. package/dist/safe-bash/commands/bytes/compression/gunzip.js +1 -1
  378. package/dist/safe-bash/commands/bytes/compression/stream.js +1 -1
  379. package/dist/safe-bash/commands/bytes/compression/xz-list.js +1 -1
  380. package/dist/safe-bash/commands/bytes/compression/zstd-decode.js +1 -1
  381. package/dist/safe-bash/commands/bytes/encoding/base.js +1 -1
  382. package/dist/safe-bash/commands/bytes/encoding/shared.js +1 -1
  383. package/dist/safe-bash/commands/bytes/input-budget.js +1 -1
  384. package/dist/safe-bash/commands/bzip2/index.js +1 -1
  385. package/dist/safe-bash/commands/cal/index.js +1 -1
  386. package/dist/safe-bash/commands/caller/index.js +1 -1
  387. package/dist/safe-bash/commands/canonicalize-existing-parent.js +1 -1
  388. package/dist/safe-bash/commands/chmod/index.js +1 -1
  389. package/dist/safe-bash/commands/column/index.js +1 -1
  390. package/dist/safe-bash/commands/comm/index.js +1 -1
  391. package/dist/safe-bash/commands/copy-backup.js +1 -1
  392. package/dist/safe-bash/commands/copy-preserve.js +1 -1
  393. package/dist/safe-bash/commands/copy-source.js +1 -1
  394. package/dist/safe-bash/commands/cp/index.js +1 -1
  395. package/dist/safe-bash/commands/csplit/index.js +1 -1
  396. package/dist/safe-bash/commands/csvcut/index.js +1 -1
  397. package/dist/safe-bash/commands/csvgrep/index.js +1 -1
  398. package/dist/safe-bash/commands/csvkit/index.js +1 -1
  399. package/dist/safe-bash/commands/curl/index.js +1 -1
  400. package/dist/safe-bash/commands/date/index.js +1 -1
  401. package/dist/safe-bash/commands/df/index.js +1 -1
  402. package/dist/safe-bash/commands/diff/index.js +1 -1
  403. package/dist/safe-bash/commands/diff-patch/diff-format.js +1 -1
  404. package/dist/safe-bash/commands/diff-patch/diff-options.js +1 -1
  405. package/dist/safe-bash/commands/diff-patch/diff-output.js +1 -1
  406. package/dist/safe-bash/commands/diff-patch/diff.js +1 -1
  407. package/dist/safe-bash/commands/diff-patch/index.js +2 -2
  408. package/dist/safe-bash/commands/diff-patch/patch-envelope.js +1 -1
  409. package/dist/safe-bash/commands/diff-patch/patch-formats.js +1 -1
  410. package/dist/safe-bash/commands/diff-patch/patch-gnu-paths.js +1 -1
  411. package/dist/safe-bash/commands/diff-patch/patch-gnu-reject.js +1 -1
  412. package/dist/safe-bash/commands/diff-patch/patch-path.js +1 -1
  413. package/dist/safe-bash/commands/diff-patch/patch-publication.js +1 -1
  414. package/dist/safe-bash/commands/diff-patch/patch.js +1 -1
  415. package/dist/safe-bash/commands/diff-patch/shared.js +1 -1
  416. package/dist/safe-bash/commands/diff-patch/unified.js +1 -1
  417. package/dist/safe-bash/commands/diff3/index.js +1 -1
  418. package/dist/safe-bash/commands/diffpdf/index.js +1 -1
  419. package/dist/safe-bash/commands/directory-admission.js +1 -1
  420. package/dist/safe-bash/commands/docx/index.js +1 -1
  421. package/dist/safe-bash/commands/docx/io.js +1 -1
  422. package/dist/safe-bash/commands/dos2unix/index.js +1 -1
  423. package/dist/safe-bash/commands/dot/index.js +1 -1
  424. package/dist/safe-bash/commands/du/index.js +1 -1
  425. package/dist/safe-bash/commands/egrep/index.js +1 -1
  426. package/dist/safe-bash/commands/env/index.js +1 -1
  427. package/dist/safe-bash/commands/env-split.js +1 -1
  428. package/dist/safe-bash/commands/exiftool/index.js +1 -1
  429. package/dist/safe-bash/commands/expand/index.js +1 -1
  430. package/dist/safe-bash/commands/expr/index.js +1 -1
  431. package/dist/safe-bash/commands/factor/index.js +1 -1
  432. package/dist/safe-bash/commands/fd/index.js +1 -1
  433. package/dist/safe-bash/commands/ffmpeg/index.js +1 -1
  434. package/dist/safe-bash/commands/ffprobe/index.js +1 -1
  435. package/dist/safe-bash/commands/fgrep/index.js +1 -1
  436. package/dist/safe-bash/commands/file/index.js +1 -1
  437. package/dist/safe-bash/commands/filesystem-requirements.js +1 -1
  438. package/dist/safe-bash/commands/find/index.js +1 -1
  439. package/dist/safe-bash/commands/find-format.js +1 -1
  440. package/dist/safe-bash/commands/find.js +1 -1
  441. package/dist/safe-bash/commands/fmt/index.js +1 -1
  442. package/dist/safe-bash/commands/fold/index.js +1 -1
  443. package/dist/safe-bash/commands/getconf/index.js +1 -1
  444. package/dist/safe-bash/commands/getopt/index.js +1 -1
  445. package/dist/safe-bash/commands/gnu-information.js +1 -1
  446. package/dist/safe-bash/commands/gpg/index.js +1 -1
  447. package/dist/safe-bash/commands/graphviz/index.js +3 -3
  448. package/dist/safe-bash/commands/grep/index.js +1 -1
  449. package/dist/safe-bash/commands/grep-aliases/aliases.js +1 -1
  450. package/dist/safe-bash/commands/grep.js +1 -1
  451. package/dist/safe-bash/commands/gzip/index.js +1 -1
  452. package/dist/safe-bash/commands/hexdump/index.js +1 -1
  453. package/dist/safe-bash/commands/hostname/index.js +1 -1
  454. package/dist/safe-bash/commands/html-to-markdown/index.js +1 -1
  455. package/dist/safe-bash/commands/htmlq/index.js +1 -1
  456. package/dist/safe-bash/commands/iconv/index.js +1 -1
  457. package/dist/safe-bash/commands/id/index.js +1 -1
  458. package/dist/safe-bash/commands/imagemagick/index.js +1 -1
  459. package/dist/safe-bash/commands/internal.js +1 -1
  460. package/dist/safe-bash/commands/join/index.js +1 -1
  461. package/dist/safe-bash/commands/jq/index.js +1 -1
  462. package/dist/safe-bash/commands/less/index.js +1 -1
  463. package/dist/safe-bash/commands/line-endings/index.js +1 -1
  464. package/dist/safe-bash/commands/llm/collections.js +1 -1
  465. package/dist/safe-bash/commands/llm/command.js +1 -1
  466. package/dist/safe-bash/commands/llm/elevenlabs-stream.js +1 -1
  467. package/dist/safe-bash/commands/llm/elevenlabs.js +1 -1
  468. package/dist/safe-bash/commands/llm/index.browser.js +21 -1
  469. package/dist/safe-bash/commands/llm/index.js +1 -1
  470. package/dist/safe-bash/commands/llm/mime.js +1 -1
  471. package/dist/safe-bash/commands/llm/openai-http.js +1 -1
  472. package/dist/safe-bash/commands/llm/openai-sse.js +1 -1
  473. package/dist/safe-bash/commands/llm/openai.js +1 -1
  474. package/dist/safe-bash/commands/llm/providers/elevenlabs.js +1 -1
  475. package/dist/safe-bash/commands/llm/providers/index.js +1 -1
  476. package/dist/safe-bash/commands/llm/providers/openai.js +1 -1
  477. package/dist/safe-bash/commands/llm/providers/shared.js +1 -1
  478. package/dist/safe-bash/commands/llm/service.js +1 -1
  479. package/dist/safe-bash/commands/locale/index.js +1 -1
  480. package/dist/safe-bash/commands/md5sum/index.js +1 -1
  481. package/dist/safe-bash/commands/mdq/index.js +1 -1
  482. package/dist/safe-bash/commands/media/index.js +1 -1
  483. package/dist/safe-bash/commands/media/plugin.js +1 -1
  484. package/dist/safe-bash/commands/media/remote.js +1 -1
  485. package/dist/safe-bash/commands/media/settings.js +1 -1
  486. package/dist/safe-bash/commands/metadata/chmod.js +1 -1
  487. package/dist/safe-bash/commands/metadata/internal.js +1 -1
  488. package/dist/safe-bash/commands/metadata/mktemp.js +1 -1
  489. package/dist/safe-bash/commands/metadata/stat.js +1 -1
  490. package/dist/safe-bash/commands/mktemp/index.js +1 -1
  491. package/dist/safe-bash/commands/mmdc/index.js +1 -1
  492. package/dist/safe-bash/commands/more/index.js +1 -1
  493. package/dist/safe-bash/commands/neato/index.js +1 -1
  494. package/dist/safe-bash/commands/network/aggregate.js +1 -1
  495. package/dist/safe-bash/commands/network/args.js +1 -1
  496. package/dist/safe-bash/commands/network/authorizer.js +1 -1
  497. package/dist/safe-bash/commands/network/body.js +1 -1
  498. package/dist/safe-bash/commands/network/curl.js +1 -1
  499. package/dist/safe-bash/commands/network/deadline.js +1 -1
  500. package/dist/safe-bash/commands/network/decode.js +1 -1
  501. package/dist/safe-bash/commands/network/fetch-transport.js +1 -1
  502. package/dist/safe-bash/commands/network/form-content-type.js +1 -1
  503. package/dist/safe-bash/commands/network/form-headers.js +1 -1
  504. package/dist/safe-bash/commands/network/glob.js +1 -1
  505. package/dist/safe-bash/commands/network/input.js +1 -1
  506. package/dist/safe-bash/commands/network/output.js +1 -1
  507. package/dist/safe-bash/commands/network/platform-portable.js +1 -1
  508. package/dist/safe-bash/commands/network/platform.js +1 -1
  509. package/dist/safe-bash/commands/network/private-address.js +1 -1
  510. package/dist/safe-bash/commands/network/shared.js +1 -1
  511. package/dist/safe-bash/commands/network/types.js +1 -1
  512. package/dist/safe-bash/commands/network/url.js +1 -1
  513. package/dist/safe-bash/commands/network/wget.js +1 -1
  514. package/dist/safe-bash/commands/nl/index.js +1 -1
  515. package/dist/safe-bash/commands/node/browser.js +1 -1
  516. package/dist/safe-bash/commands/node/buffer.js +1 -1
  517. package/dist/safe-bash/commands/node/default-runtime.js +1 -1
  518. package/dist/safe-bash/commands/node/filesystem.js +1 -1
  519. package/dist/safe-bash/commands/node/path.js +1 -1
  520. package/dist/safe-bash/commands/node/safejs.js +1 -1
  521. package/dist/safe-bash/commands/node/source-maps.js +1 -1
  522. package/dist/safe-bash/commands/node/timers.js +1 -1
  523. package/dist/safe-bash/commands/node/types.js +1 -1
  524. package/dist/safe-bash/commands/node/worker-types.js +1 -1
  525. package/dist/safe-bash/commands/nproc/index.js +1 -1
  526. package/dist/safe-bash/commands/numfmt/index.js +1 -1
  527. package/dist/safe-bash/commands/od/index.js +1 -1
  528. package/dist/safe-bash/commands/op/index.js +23 -1
  529. package/dist/safe-bash/commands/openssl/index.js +1 -1
  530. package/dist/safe-bash/commands/pandoc/index.browser.js +1 -1
  531. package/dist/safe-bash/commands/pandoc/index.js +1 -1
  532. package/dist/safe-bash/commands/paste/index.js +1 -1
  533. package/dist/safe-bash/commands/patch/index.js +1 -1
  534. package/dist/safe-bash/commands/pathchk/index.js +1 -1
  535. package/dist/safe-bash/commands/pdfimages/index.js +1 -1
  536. package/dist/safe-bash/commands/pdfinfo/index.js +1 -1
  537. package/dist/safe-bash/commands/pdfseparate/index.js +1 -1
  538. package/dist/safe-bash/commands/pdftk/index.js +1 -1
  539. package/dist/safe-bash/commands/pdftoppm/index.js +1 -1
  540. package/dist/safe-bash/commands/pdftotext/index.js +1 -1
  541. package/dist/safe-bash/commands/pdfunite/index.js +1 -1
  542. package/dist/safe-bash/commands/playwright/index.js +1 -1
  543. package/dist/safe-bash/commands/portable-random.js +1 -1
  544. package/dist/safe-bash/commands/portable-requirements.js +1 -1
  545. package/dist/safe-bash/commands/pptx/index.js +1 -1
  546. package/dist/safe-bash/commands/pr/index.js +1 -1
  547. package/dist/safe-bash/commands/printenv/index.js +1 -1
  548. package/dist/safe-bash/commands/python/executor-pool.js +1 -1
  549. package/dist/safe-bash/commands/python/executor.browser.js +2 -1
  550. package/dist/safe-bash/commands/python/executor.js +1 -1
  551. package/dist/safe-bash/commands/python/host-capabilities.js +1 -1
  552. package/dist/safe-bash/commands/python/index.browser.js +3 -1
  553. package/dist/safe-bash/commands/python/index.js +1 -1
  554. package/dist/safe-bash/commands/python/jspi-assets.js +1 -1
  555. package/dist/safe-bash/commands/python/jspi-trampoline.js +1 -1
  556. package/dist/safe-bash/commands/python/jspi.js +1 -1
  557. package/dist/safe-bash/commands/python/llm-capability.js +1 -1
  558. package/dist/safe-bash/commands/python/llm-dependencies.js +1 -1
  559. package/dist/safe-bash/commands/python/llm-module.js +1 -1
  560. package/dist/safe-bash/commands/python/llm-provider.js +1 -1
  561. package/dist/safe-bash/commands/python/llm-reference-module.js +1 -1
  562. package/dist/safe-bash/commands/python/provisioning.js +1 -1
  563. package/dist/safe-bash/commands/python/shell-capability.js +1 -1
  564. package/dist/safe-bash/commands/python/shell-module.js +1 -1
  565. package/dist/safe-bash/commands/python/worker.js +1 -1
  566. package/dist/safe-bash/commands/qpdf/index.js +1 -1
  567. package/dist/safe-bash/commands/qrencode/index.js +1 -1
  568. package/dist/safe-bash/commands/readlink/index.js +1 -1
  569. package/dist/safe-bash/commands/readlink-missing.js +1 -1
  570. package/dist/safe-bash/commands/realpath/index.js +1 -1
  571. package/dist/safe-bash/commands/record-buffer.js +1 -1
  572. package/dist/safe-bash/commands/regex-execution/ascii.js +1 -1
  573. package/dist/safe-bash/commands/regex-execution/bounded-glob.js +1 -1
  574. package/dist/safe-bash/commands/regex-execution/bounded-provider.js +1 -1
  575. package/dist/safe-bash/commands/regex-execution/ere/errors.js +1 -1
  576. package/dist/safe-bash/commands/regex-execution/ere/limits.js +1 -1
  577. package/dist/safe-bash/commands/regex-execution/ere/matcher.js +1 -1
  578. package/dist/safe-bash/commands/regex-execution/ere/syntax.js +1 -1
  579. package/dist/safe-bash/commands/regex-execution/portable.js +1 -1
  580. package/dist/safe-bash/commands/regex-execution/protocol.js +1 -1
  581. package/dist/safe-bash/commands/regex-execution/utf8.js +1 -1
  582. package/dist/safe-bash/commands/rev/index.js +1 -1
  583. package/dist/safe-bash/commands/rg/index.js +1 -1
  584. package/dist/safe-bash/commands/rgrep/index.js +1 -1
  585. package/dist/safe-bash/commands/rsvg-convert/index.js +1 -1
  586. package/dist/safe-bash/commands/safejs/io.js +1 -1
  587. package/dist/safe-bash/commands/safejs/options.js +1 -1
  588. package/dist/safe-bash/commands/safejs/render.js +1 -1
  589. package/dist/safe-bash/commands/safejs/runtime.js +1 -1
  590. package/dist/safe-bash/commands/safejs/types.js +1 -1
  591. package/dist/safe-bash/commands/search/ergonomic-regex.js +1 -1
  592. package/dist/safe-bash/commands/search/file-types.js +1 -1
  593. package/dist/safe-bash/commands/search/glob.js +1 -1
  594. package/dist/safe-bash/commands/search/grep-files.js +1 -1
  595. package/dist/safe-bash/commands/search/grep.js +1 -1
  596. package/dist/safe-bash/commands/search/matcher.js +1 -1
  597. package/dist/safe-bash/commands/search/options.js +1 -1
  598. package/dist/safe-bash/commands/search/output.js +1 -1
  599. package/dist/safe-bash/commands/search/requirements.js +1 -1
  600. package/dist/safe-bash/commands/search/rg-command.js +1 -1
  601. package/dist/safe-bash/commands/search/shared.js +1 -1
  602. package/dist/safe-bash/commands/search/walk.js +1 -1
  603. package/dist/safe-bash/commands/sed/index.js +1 -1
  604. package/dist/safe-bash/commands/seq/index.js +1 -1
  605. package/dist/safe-bash/commands/sha1sum/index.js +1 -1
  606. package/dist/safe-bash/commands/sha256sum/index.js +1 -1
  607. package/dist/safe-bash/commands/sha512sum/index.js +1 -1
  608. package/dist/safe-bash/commands/sips/index.js +1 -1
  609. package/dist/safe-bash/commands/sleep/index.js +1 -1
  610. package/dist/safe-bash/commands/soffice/index.js +1 -1
  611. package/dist/safe-bash/commands/sort/index.js +1 -1
  612. package/dist/safe-bash/commands/sort-admission.js +1 -1
  613. package/dist/safe-bash/commands/sox/index.js +1 -1
  614. package/dist/safe-bash/commands/soxi/index.js +1 -1
  615. package/dist/safe-bash/commands/split/index.js +1 -1
  616. package/dist/safe-bash/commands/sponge/index.js +1 -1
  617. package/dist/safe-bash/commands/sqlite3/index.js +1 -1
  618. package/dist/safe-bash/commands/ssh/index.js +1 -1
  619. package/dist/safe-bash/commands/stat/index.js +1 -1
  620. package/dist/safe-bash/commands/stream-format/shared.js +1 -1
  621. package/dist/safe-bash/commands/stream-inspection/numeric-options.js +1 -1
  622. package/dist/safe-bash/commands/stream-inspection/shared.js +1 -1
  623. package/dist/safe-bash/commands/stream-inspection/strings-object.js +1 -1
  624. package/dist/safe-bash/commands/strings/index.js +1 -1
  625. package/dist/safe-bash/commands/structured/bytes.js +1 -1
  626. package/dist/safe-bash/commands/structured/capture.js +1 -1
  627. package/dist/safe-bash/commands/structured/dates.js +1 -1
  628. package/dist/safe-bash/commands/structured/delpaths.js +1 -1
  629. package/dist/safe-bash/commands/structured/formats.js +1 -1
  630. package/dist/safe-bash/commands/structured/indices.js +1 -1
  631. package/dist/safe-bash/commands/structured/input.js +1 -1
  632. package/dist/safe-bash/commands/structured/interpreter.js +1 -1
  633. package/dist/safe-bash/commands/structured/jq.js +1 -1
  634. package/dist/safe-bash/commands/structured/limits.js +1 -1
  635. package/dist/safe-bash/commands/structured/numbers.js +1 -1
  636. package/dist/safe-bash/commands/structured/parser.js +1 -1
  637. package/dist/safe-bash/commands/structured/query-core.js +1 -1
  638. package/dist/safe-bash/commands/structured/recurse.js +1 -1
  639. package/dist/safe-bash/commands/structured/regex.js +1 -1
  640. package/dist/safe-bash/commands/structured/split.js +1 -1
  641. package/dist/safe-bash/commands/structured/splits.js +1 -1
  642. package/dist/safe-bash/commands/structured/values.js +1 -1
  643. package/dist/safe-bash/commands/svgo/index.js +1 -1
  644. package/dist/safe-bash/commands/table-text/internal.js +1 -1
  645. package/dist/safe-bash/commands/tac/index.js +1 -1
  646. package/dist/safe-bash/commands/tar/index.js +1 -1
  647. package/dist/safe-bash/commands/text-programs/awk-inspection.js +1 -1
  648. package/dist/safe-bash/commands/text-programs/awk-pipes.js +1 -1
  649. package/dist/safe-bash/commands/text-programs/awk-pretty.js +1 -1
  650. package/dist/safe-bash/commands/text-programs/awk-quote.js +1 -1
  651. package/dist/safe-bash/commands/text-programs/awk-reader.js +1 -1
  652. package/dist/safe-bash/commands/text-programs/awk-retention.js +1 -1
  653. package/dist/safe-bash/commands/text-programs/awk-runtime.js +1 -1
  654. package/dist/safe-bash/commands/text-programs/awk-syntax.js +1 -1
  655. package/dist/safe-bash/commands/text-programs/awk-values.js +1 -1
  656. package/dist/safe-bash/commands/text-programs/awk.js +1 -1
  657. package/dist/safe-bash/commands/text-programs/inplace.js +1 -1
  658. package/dist/safe-bash/commands/text-programs/regex.js +1 -1
  659. package/dist/safe-bash/commands/text-programs/replacement-buffer.js +1 -1
  660. package/dist/safe-bash/commands/text-programs/sed.js +1 -1
  661. package/dist/safe-bash/commands/text-programs/shared.js +1 -1
  662. package/dist/safe-bash/commands/time-env/calendar.js +1 -1
  663. package/dist/safe-bash/commands/time-env/format.js +1 -1
  664. package/dist/safe-bash/commands/time-env/shared.js +1 -1
  665. package/dist/safe-bash/commands/timeout/index.js +1 -1
  666. package/dist/safe-bash/commands/touch/index.js +1 -1
  667. package/dist/safe-bash/commands/touch-target.js +1 -1
  668. package/dist/safe-bash/commands/touch-times.js +1 -1
  669. package/dist/safe-bash/commands/tree/index.js +1 -1
  670. package/dist/safe-bash/commands/tsort/index.js +1 -1
  671. package/dist/safe-bash/commands/unalias/index.js +1 -1
  672. package/dist/safe-bash/commands/uname/index.js +1 -1
  673. package/dist/safe-bash/commands/unexpand/index.js +1 -1
  674. package/dist/safe-bash/commands/unix2dos/index.js +1 -1
  675. package/dist/safe-bash/commands/unrtf/index.js +1 -1
  676. package/dist/safe-bash/commands/unzip/index.js +1 -1
  677. package/dist/safe-bash/commands/wdiff/index.js +1 -1
  678. package/dist/safe-bash/commands/wget/index.js +1 -1
  679. package/dist/safe-bash/commands/which/index.js +1 -1
  680. package/dist/safe-bash/commands/whoami/index.js +1 -1
  681. package/dist/safe-bash/commands/wkhtmltopdf/index.js +1 -1
  682. package/dist/safe-bash/commands/xan/index.js +1 -1
  683. package/dist/safe-bash/commands/xml/index.js +1 -1
  684. package/dist/safe-bash/commands/xmllint/index.js +1 -1
  685. package/dist/safe-bash/commands/xq/index.js +1 -1
  686. package/dist/safe-bash/commands/xxd/index.js +1 -1
  687. package/dist/safe-bash/commands/xz/index.js +1 -1
  688. package/dist/safe-bash/commands/yq/index.js +1 -1
  689. package/dist/safe-bash/commands/zip/index.js +1 -1
  690. package/dist/safe-bash/commands/zstd/index.js +1 -1
  691. package/dist/safe-bash/core.browser.js +2 -2
  692. package/dist/safe-bash/full-core.browser.js +29 -7
  693. package/dist/safe-bash/integrations/safejs/filesystem.js +1 -1
  694. package/dist/safe-bash/integrations/safejs/shell.js +1 -1
  695. package/dist/safe-bash/integrations/safejs/values.js +1 -1
  696. package/dist/safe-bash/playwright/abilities.js +1 -1
  697. package/dist/safe-bash/playwright/ability-execution.js +1 -1
  698. package/dist/safe-bash/playwright/adapter.js +1 -1
  699. package/dist/safe-bash/playwright/builtins.js +1 -1
  700. package/dist/safe-bash/playwright/canonical-locator-parser.js +1 -1
  701. package/dist/safe-bash/playwright/capability-events.js +1 -1
  702. package/dist/safe-bash/playwright/capability-result.js +1 -1
  703. package/dist/safe-bash/playwright/catalog.js +1 -1
  704. package/dist/safe-bash/playwright/checkpoint.js +1 -1
  705. package/dist/safe-bash/playwright/command-budget.js +1 -1
  706. package/dist/safe-bash/playwright/command-reference.js +1 -1
  707. package/dist/safe-bash/playwright/config-ini.js +1 -1
  708. package/dist/safe-bash/playwright/config-json.js +1 -1
  709. package/dist/safe-bash/playwright/controller.js +1 -1
  710. package/dist/safe-bash/playwright/devices.js +1 -1
  711. package/dist/safe-bash/playwright/download-capabilities.js +1 -1
  712. package/dist/safe-bash/playwright/drop-capability.js +1 -1
  713. package/dist/safe-bash/playwright/find.js +1 -1
  714. package/dist/safe-bash/playwright/frame-snapshot.js +1 -1
  715. package/dist/safe-bash/playwright/generated-locator.js +1 -1
  716. package/dist/safe-bash/playwright/help-reference.js +1 -1
  717. package/dist/safe-bash/playwright/help.js +1 -1
  718. package/dist/safe-bash/playwright/highlight.js +1 -1
  719. package/dist/safe-bash/playwright/index.js +1 -1
  720. package/dist/safe-bash/playwright/invocation.js +1 -1
  721. package/dist/safe-bash/playwright/locator-selector.js +1 -1
  722. package/dist/safe-bash/playwright/modal-capabilities.js +1 -1
  723. package/dist/safe-bash/playwright/native-evaluation.js +1 -1
  724. package/dist/safe-bash/playwright/native-json-snapshot.js +1 -1
  725. package/dist/safe-bash/playwright/native-snapshot.js +1 -1
  726. package/dist/safe-bash/playwright/native-storage-realm.js +1 -1
  727. package/dist/safe-bash/playwright/native-storage-replacement.js +1 -1
  728. package/dist/safe-bash/playwright/native-storage-sources.generated.js +1 -1
  729. package/dist/safe-bash/playwright/native-storage-targets.js +1 -1
  730. package/dist/safe-bash/playwright/network-policy.js +1 -1
  731. package/dist/safe-bash/playwright/open-options.js +1 -1
  732. package/dist/safe-bash/playwright/private-target-transport.js +1 -1
  733. package/dist/safe-bash/playwright/profile.js +1 -1
  734. package/dist/safe-bash/playwright/recording-capabilities.js +1 -1
  735. package/dist/safe-bash/playwright/recovery.js +1 -1
  736. package/dist/safe-bash/playwright/resource-limit.js +1 -1
  737. package/dist/safe-bash/playwright/response.js +1 -1
  738. package/dist/safe-bash/playwright/route-capabilities.js +1 -1
  739. package/dist/safe-bash/playwright/route-policy.js +1 -1
  740. package/dist/safe-bash/playwright/screenshot.js +1 -1
  741. package/dist/safe-bash/playwright/session-configuration.js +1 -1
  742. package/dist/safe-bash/playwright/session-runtime.js +1 -1
  743. package/dist/safe-bash/playwright/session-selection.js +1 -1
  744. package/dist/safe-bash/playwright/snapshot-reference-error.js +1 -1
  745. package/dist/safe-bash/playwright/snapshot.js +1 -1
  746. package/dist/safe-bash/playwright/standard-capabilities.js +1 -1
  747. package/dist/safe-bash/playwright/storage-capabilities.js +1 -1
  748. package/dist/safe-bash/playwright/storage-state.js +1 -1
  749. package/dist/safe-bash/playwright/target-screenshot.js +1 -1
  750. package/dist/safe-bash/playwright/targets.js +1 -1
  751. package/dist/safe-bash/playwright/tracing-capabilities.js +1 -1
  752. package/dist/safe-bash/playwright/webmcp-capabilities.js +1 -1
  753. package/dist/safe-bash/playwright/webmcp-params.js +1 -1
  754. package/dist/safe-bash/playwright/workspace-assets.js +1 -1
  755. package/dist/safe-bash/playwright/workspace.js +1 -1
  756. package/dist/safe-bash/plugins/index.browser.js +4 -4
  757. package/dist/safe-bash/registry-entry.browser.js +2 -2
  758. package/dist/safe-bash/search.browser.js +1 -1
  759. package/dist/safe-bash/shell/parser.js +2 -1
  760. package/dist/safe-bash/shell/pattern.js +1 -1
  761. package/dist/safe-bash/shell/string-operations.js +1 -1
  762. package/dist/safe-bash/shell-entry.browser.js +2 -2
  763. package/dist/safe-bash/ts-ast.js +1 -1
  764. package/dist/safe-bash-checksum-engine/index.js +1 -1
  765. package/dist/safe-bash-command-audio/index.js +2 -2
  766. package/dist/safe-bash-command-awk/awk-inspection.js +2 -2
  767. package/dist/safe-bash-command-awk/awk-runtime.js +2 -2
  768. package/dist/safe-bash-command-awk/awk-syntax.js +1 -1
  769. package/dist/safe-bash-command-awk/awk.js +6 -6
  770. package/dist/safe-bash-command-awk/index.js +6 -6
  771. package/dist/safe-bash-command-bc/index.js +13 -14
  772. package/dist/safe-bash-command-cal/index.js +25 -31
  773. package/dist/safe-bash-command-cp/index.js +3 -3
  774. package/dist/safe-bash-command-csvgrep/command.d.ts +1 -0
  775. package/dist/safe-bash-command-csvgrep/index.js +7 -0
  776. package/dist/safe-bash-command-diff/diff.js +2 -2
  777. package/dist/safe-bash-command-diff/index.js +2 -2
  778. package/dist/safe-bash-command-docx/sdk.js +1 -1
  779. package/dist/safe-bash-command-expr/bre-engine.js +1 -1
  780. package/dist/safe-bash-command-factor/command.js +2 -2
  781. package/dist/safe-bash-command-factor/index.js +2 -2
  782. package/dist/safe-bash-command-fd/index.js +4 -3
  783. package/dist/safe-bash-command-ffmpeg/index.js +13 -2
  784. package/dist/safe-bash-command-ffprobe/index.js +2 -2
  785. package/dist/safe-bash-command-ffprobe/media.js +2 -2
  786. package/dist/safe-bash-command-getconf/index.js +11 -4
  787. package/dist/safe-bash-command-git/git_rust.wasm +0 -0
  788. package/dist/safe-bash-command-git/index.js +96 -14
  789. package/dist/safe-bash-command-html-to-markdown/index.js +1 -1
  790. package/dist/safe-bash-command-html-to-markdown/stored-text.d.ts +2 -0
  791. package/dist/safe-bash-command-html-to-markdown/stored-text.js +1 -1
  792. package/dist/safe-bash-command-imagemagick/index.js +18 -4
  793. package/dist/safe-bash-command-jq/index.js +1 -1
  794. package/dist/safe-bash-command-jq/jq.js +1 -1
  795. package/dist/safe-bash-command-llm/collections.js +48 -192
  796. package/dist/safe-bash-command-llm/command.js +14 -6
  797. package/dist/safe-bash-command-llm/elevenlabs.js +2 -2
  798. package/dist/safe-bash-command-llm/fragment-loaders.d.ts +29 -0
  799. package/dist/safe-bash-command-llm/fragments.d.ts +24 -0
  800. package/dist/safe-bash-command-llm/import-json-document.d.ts +5 -2
  801. package/dist/safe-bash-command-llm/index.d.ts +7 -0
  802. package/dist/safe-bash-command-llm/index.js +47 -17
  803. package/dist/safe-bash-command-llm/input-budget.d.ts +2 -0
  804. package/dist/safe-bash-command-llm/openai-sse.d.ts +1 -1
  805. package/dist/safe-bash-command-llm/openai-sse.js +4 -1
  806. package/dist/safe-bash-command-llm/openai.js +11 -7
  807. package/dist/safe-bash-command-llm/providers/elevenlabs.js +2 -2
  808. package/dist/safe-bash-command-llm/providers/index.js +16 -10
  809. package/dist/safe-bash-command-llm/providers/openai.js +11 -7
  810. package/dist/safe-bash-command-llm/providers/shared.d.ts +2 -0
  811. package/dist/safe-bash-command-llm/providers/shared.js +1 -1
  812. package/dist/safe-bash-command-llm/retained-spool.d.ts +4 -0
  813. package/dist/safe-bash-command-llm/service.d.ts +3 -1
  814. package/dist/safe-bash-command-llm/service.js +5 -2
  815. package/dist/safe-bash-command-llm/tool-chain.d.ts +22 -0
  816. package/dist/safe-bash-command-llm/tool-execution.d.ts +55 -0
  817. package/dist/safe-bash-command-llm/tool-registry.d.ts +43 -0
  818. package/dist/safe-bash-command-llm/types.d.ts +39 -11
  819. package/dist/safe-bash-command-llm/url-fragment-source.d.ts +6 -0
  820. package/dist/safe-bash-command-llm/url-source.d.ts +3 -1
  821. package/dist/safe-bash-command-mcp/index.browser.d.ts +1 -0
  822. package/dist/safe-bash-command-mcp/index.browser.js +4 -4
  823. package/dist/safe-bash-command-mcp/index.d.ts +1 -0
  824. package/dist/safe-bash-command-mcp/index.js +28 -7
  825. package/dist/safe-bash-command-mdq/index.js +10 -3
  826. package/dist/safe-bash-command-node/commands/node/browser.js +6 -6
  827. package/dist/safe-bash-command-node/commands/node/default-runtime.js +6 -6
  828. package/dist/safe-bash-command-node/commands/node/filesystem.js +2 -2
  829. package/dist/safe-bash-command-node/commands/node/quickjs.js +1 -1
  830. package/dist/safe-bash-command-node/commands/node/safejs.js +6 -6
  831. package/dist/safe-bash-command-node/commands/node/timers.js +2 -2
  832. package/dist/safe-bash-command-pandoc/command.js +9 -9
  833. package/dist/safe-bash-command-pandoc/index.js +57 -57
  834. package/dist/safe-bash-command-pandoc/lua-filters.js +1 -1
  835. package/dist/safe-bash-command-patch/index.js +6 -6
  836. package/dist/safe-bash-command-patch/patch-formats.js +2 -2
  837. package/dist/safe-bash-command-patch/patch-publication.js +1 -1
  838. package/dist/safe-bash-command-patch/patch.js +5 -5
  839. package/dist/safe-bash-command-patch/unified.js +1 -1
  840. package/dist/safe-bash-command-pdfinfo/index.js +2 -2
  841. package/dist/safe-bash-command-pdftk/index.js +550 -137
  842. package/dist/safe-bash-command-pdftoppm/index.js +89 -124
  843. package/dist/safe-bash-command-pdftotext/index.d.ts +1 -1
  844. package/dist/safe-bash-command-pdftotext/index.js +554 -381
  845. package/dist/safe-bash-command-playwright-cli/index.js +26 -25
  846. package/dist/safe-bash-command-playwright-cli/playwright/abilities.js +7 -7
  847. package/dist/safe-bash-command-playwright-cli/playwright/adapter.js +3 -3
  848. package/dist/safe-bash-command-playwright-cli/playwright/controller.js +16 -15
  849. package/dist/safe-bash-command-playwright-cli/playwright/index.js +26 -25
  850. package/dist/safe-bash-command-playwright-cli/playwright/native-storage-replacement.js +2 -2
  851. package/dist/safe-bash-command-playwright-cli/playwright/open-options.js +2 -2
  852. package/dist/safe-bash-command-playwright-cli/playwright/profile.d.ts +1 -1
  853. package/dist/safe-bash-command-playwright-cli/playwright/profile.js +6 -5
  854. package/dist/safe-bash-command-playwright-cli/playwright/standard-capabilities.js +5 -5
  855. package/dist/safe-bash-command-playwright-cli/playwright/storage-capabilities.js +3 -3
  856. package/dist/safe-bash-command-pptx/engine.js +2 -2
  857. package/dist/safe-bash-command-python/executor.d.ts +1 -0
  858. package/dist/safe-bash-command-python/executor.js +24 -22
  859. package/dist/safe-bash-command-python/index.js +24 -22
  860. package/dist/safe-bash-command-python/jspi.js +2 -2
  861. package/dist/safe-bash-command-python/llm-capability.js +1 -1
  862. package/dist/safe-bash-command-python/llm-functions-loader.d.ts +5 -0
  863. package/dist/safe-bash-command-python/llm-packages.js +51 -2
  864. package/dist/safe-bash-command-python/llm-provider.js +1 -1
  865. package/dist/safe-bash-command-rg/glob.d.ts +6 -0
  866. package/dist/safe-bash-command-rg/glob.js +2 -2
  867. package/dist/safe-bash-command-rg/index.js +8 -8
  868. package/dist/safe-bash-command-rg/matcher.d.ts +2 -0
  869. package/dist/safe-bash-command-rg/matcher.js +2 -2
  870. package/dist/safe-bash-command-rg/options.d.ts +2 -0
  871. package/dist/safe-bash-command-rg/options.js +1 -1
  872. package/dist/safe-bash-command-rg/output.js +3 -3
  873. package/dist/safe-bash-command-rg/replacement.js +2 -2
  874. package/dist/safe-bash-command-rg/rg-command.js +8 -8
  875. package/dist/safe-bash-command-rg/shared.d.ts +0 -2
  876. package/dist/safe-bash-command-rg/shared.js +2 -4
  877. package/dist/safe-bash-command-rg/walk.js +4 -4
  878. package/dist/safe-bash-command-safejs/index.js +5 -5
  879. package/dist/safe-bash-command-safejs/runtime.js +3 -3
  880. package/dist/safe-bash-command-soffice/index.js +2 -2
  881. package/dist/safe-bash-command-sqlite3/engine.d.ts +15 -0
  882. package/dist/safe-bash-command-sqlite3/index.js +310 -15
  883. package/dist/safe-bash-command-ssconvert/index.js +13 -13
  884. package/dist/safe-bash-command-tar/create.js +2 -2
  885. package/dist/safe-bash-command-tar/extract.js +2 -2
  886. package/dist/safe-bash-command-tar/index.js +6 -6
  887. package/dist/safe-bash-command-tar/modes.js +4 -4
  888. package/dist/safe-bash-command-unzip/index.js +5 -5
  889. package/dist/safe-bash-command-unzip/unzip.js +2 -2
  890. package/dist/safe-bash-command-yq/parser.js +1 -1
  891. package/dist/safe-bash-command-yq/query.js +1 -1
  892. package/dist/safe-bash-contracts/escaping.js +2 -2
  893. package/dist/safe-bash-contracts/index.js +15 -15
  894. package/dist/safe-bash-csv-engine/index.js +5 -3
  895. package/dist/safe-bash-csv-engine/python-codepages.js +2 -1
  896. package/dist/safe-bash-csv-engine/python-file-codepages.d.ts +1 -0
  897. package/dist/safe-bash-csv-engine/python-file-codepages.js +8 -0
  898. package/dist/safe-bash-csv-engine/python-utf16.js +3 -2
  899. package/dist/safe-bash-csv-engine/text-decoder.js +5 -3
  900. package/dist/safe-bash-docx-engine/ancillary-resources.js +10 -10
  901. package/dist/safe-bash-docx-engine/batch-operations.js +68 -68
  902. package/dist/safe-bash-docx-engine/batch-result-schema.js +80 -80
  903. package/dist/safe-bash-docx-engine/batch.js +79 -79
  904. package/dist/safe-bash-docx-engine/bookmarks.js +18 -18
  905. package/dist/safe-bash-docx-engine/charts.js +11 -11
  906. package/dist/safe-bash-docx-engine/command-option-rules.js +5 -5
  907. package/dist/safe-bash-docx-engine/command-properties.js +3 -3
  908. package/dist/safe-bash-docx-engine/comments.js +27 -27
  909. package/dist/safe-bash-docx-engine/control-bindings.js +22 -22
  910. package/dist/safe-bash-docx-engine/control-repeat.js +21 -21
  911. package/dist/safe-bash-docx-engine/controls.js +19 -19
  912. package/dist/safe-bash-docx-engine/create.js +10 -10
  913. package/dist/safe-bash-docx-engine/diagrams.js +11 -11
  914. package/dist/safe-bash-docx-engine/diff.js +13 -13
  915. package/dist/safe-bash-docx-engine/document-properties.js +17 -17
  916. package/dist/safe-bash-docx-engine/equations.js +18 -18
  917. package/dist/safe-bash-docx-engine/extract.js +14 -14
  918. package/dist/safe-bash-docx-engine/fields.js +23 -23
  919. package/dist/safe-bash-docx-engine/font-inventory.js +18 -18
  920. package/dist/safe-bash-docx-engine/font-resources.js +5 -5
  921. package/dist/safe-bash-docx-engine/image-batch-operations.js +13 -13
  922. package/dist/safe-bash-docx-engine/image-insertion.js +22 -22
  923. package/dist/safe-bash-docx-engine/image-layout.js +20 -20
  924. package/dist/safe-bash-docx-engine/image-replacement.js +23 -23
  925. package/dist/safe-bash-docx-engine/images.js +20 -20
  926. package/dist/safe-bash-docx-engine/index.js +138 -138
  927. package/dist/safe-bash-docx-engine/inspection.js +21 -21
  928. package/dist/safe-bash-docx-engine/invocation.js +8 -8
  929. package/dist/safe-bash-docx-engine/io.js +8 -8
  930. package/dist/safe-bash-docx-engine/links.js +21 -21
  931. package/dist/safe-bash-docx-engine/lists.js +20 -20
  932. package/dist/safe-bash-docx-engine/locations.js +15 -15
  933. package/dist/safe-bash-docx-engine/notes.js +22 -22
  934. package/dist/safe-bash-docx-engine/objects.js +20 -20
  935. package/dist/safe-bash-docx-engine/operation-json-schema.js +3 -3
  936. package/dist/safe-bash-docx-engine/operation-schema.js +2 -2
  937. package/dist/safe-bash-docx-engine/pack.js +14 -14
  938. package/dist/safe-bash-docx-engine/package-view-batch-operations.js +21 -21
  939. package/dist/safe-bash-docx-engine/pandoc-adapter.js +29 -29
  940. package/dist/safe-bash-docx-engine/paragraph-edit.js +26 -26
  941. package/dist/safe-bash-docx-engine/part-provider.js +3 -3
  942. package/dist/safe-bash-docx-engine/property-values.js +3 -3
  943. package/dist/safe-bash-docx-engine/publication.js +8 -8
  944. package/dist/safe-bash-docx-engine/removal.js +21 -21
  945. package/dist/safe-bash-docx-engine/revision-decisions.js +23 -23
  946. package/dist/safe-bash-docx-engine/revision-edit.js +20 -20
  947. package/dist/safe-bash-docx-engine/revisions.js +18 -18
  948. package/dist/safe-bash-docx-engine/run-format.js +20 -20
  949. package/dist/safe-bash-docx-engine/sanitize.js +35 -35
  950. package/dist/safe-bash-docx-engine/sections.js +19 -19
  951. package/dist/safe-bash-docx-engine/settings.js +12 -12
  952. package/dist/safe-bash-docx-engine/shape-edit.js +22 -22
  953. package/dist/safe-bash-docx-engine/signatures.js +16 -16
  954. package/dist/safe-bash-docx-engine/stories.js +22 -22
  955. package/dist/safe-bash-docx-engine/structure-model-batch-operations.js +38 -38
  956. package/dist/safe-bash-docx-engine/style-model-batch-operations.js +26 -26
  957. package/dist/safe-bash-docx-engine/style-model-result-schema.js +44 -44
  958. package/dist/safe-bash-docx-engine/styles.js +18 -18
  959. package/dist/safe-bash-docx-engine/table-edit.js +28 -28
  960. package/dist/safe-bash-docx-engine/table-read.js +16 -16
  961. package/dist/safe-bash-docx-engine/template.js +22 -22
  962. package/dist/safe-bash-docx-engine/text-replace.js +20 -20
  963. package/dist/safe-bash-docx-engine/text-resource-read.js +16 -16
  964. package/dist/safe-bash-docx-engine/text.js +16 -16
  965. package/dist/safe-bash-docx-engine/validation.js +6 -6
  966. package/dist/safe-bash-docx-engine/xml-parts.js +23 -23
  967. package/dist/safe-bash-io-engine/commands/text-programs/shared.js +4 -4
  968. package/dist/safe-bash-line-ending-engine/command.js +4 -4
  969. package/dist/safe-bash-line-ending-engine/index.js +4 -4
  970. package/dist/safe-bash-markdown-engine/commonmark-blocks.js +1 -1
  971. package/dist/safe-bash-markdown-engine/index.js +3 -3
  972. package/dist/safe-bash-network-engine/transfer.js +12 -12
  973. package/dist/safe-bash-pptx-engine/bytes.js +1 -1
  974. package/dist/safe-bash-pptx-engine/index.js +1 -1
  975. package/dist/safe-bash-presentation-engine/accessibility.js +33 -31
  976. package/dist/safe-bash-presentation-engine/animation-editing.js +17 -16
  977. package/dist/safe-bash-presentation-engine/animations.js +17 -16
  978. package/dist/safe-bash-presentation-engine/backgrounds.js +18 -17
  979. package/dist/safe-bash-presentation-engine/bytes.js +4 -4
  980. package/dist/safe-bash-presentation-engine/chart-editing.js +36 -34
  981. package/dist/safe-bash-presentation-engine/chart-object-operations.js +26 -25
  982. package/dist/safe-bash-presentation-engine/charts.js +33 -31
  983. package/dist/safe-bash-presentation-engine/command-placeholder.js +63 -60
  984. package/dist/safe-bash-presentation-engine/comments.js +18 -17
  985. package/dist/safe-bash-presentation-engine/connector-operations.js +34 -32
  986. package/dist/safe-bash-presentation-engine/connectors.js +31 -29
  987. package/dist/safe-bash-presentation-engine/content-types.js +5 -5
  988. package/dist/safe-bash-presentation-engine/creation.js +7 -7
  989. package/dist/safe-bash-presentation-engine/diff.js +40 -37
  990. package/dist/safe-bash-presentation-engine/drawing-format.js +21 -20
  991. package/dist/safe-bash-presentation-engine/drawing-operations.js +33 -31
  992. package/dist/safe-bash-presentation-engine/drawing-schema.js +22 -21
  993. package/dist/safe-bash-presentation-engine/equations.js +18 -17
  994. package/dist/safe-bash-presentation-engine/errors.js +3 -3
  995. package/dist/safe-bash-presentation-engine/fields.js +18 -17
  996. package/dist/safe-bash-presentation-engine/font-metrics.js +4 -4
  997. package/dist/safe-bash-presentation-engine/image-extraction.js +23 -21
  998. package/dist/safe-bash-presentation-engine/image-formatting.js +35 -33
  999. package/dist/safe-bash-presentation-engine/image-insertion.js +20 -19
  1000. package/dist/safe-bash-presentation-engine/image-metadata.d.ts +7 -1
  1001. package/dist/safe-bash-presentation-engine/image-metadata.js +5 -3
  1002. package/dist/safe-bash-presentation-engine/image-replacement.js +24 -22
  1003. package/dist/safe-bash-presentation-engine/image-value.js +6 -6
  1004. package/dist/safe-bash-presentation-engine/images.d.ts +1 -0
  1005. package/dist/safe-bash-presentation-engine/images.js +24 -20
  1006. package/dist/safe-bash-presentation-engine/index.js +151 -146
  1007. package/dist/safe-bash-presentation-engine/layouts.js +17 -16
  1008. package/dist/safe-bash-presentation-engine/length.js +4 -4
  1009. package/dist/safe-bash-presentation-engine/links.js +17 -16
  1010. package/dist/safe-bash-presentation-engine/masters.js +16 -15
  1011. package/dist/safe-bash-presentation-engine/media-editing.js +30 -25
  1012. package/dist/safe-bash-presentation-engine/media-extraction.d.ts +4 -0
  1013. package/dist/safe-bash-presentation-engine/media-extraction.js +33 -19
  1014. package/dist/safe-bash-presentation-engine/media.d.ts +2 -0
  1015. package/dist/safe-bash-presentation-engine/media.js +32 -18
  1016. package/dist/safe-bash-presentation-engine/memberships.d.ts +1 -0
  1017. package/dist/safe-bash-presentation-engine/memberships.js +25 -17
  1018. package/dist/safe-bash-presentation-engine/notes.js +20 -18
  1019. package/dist/safe-bash-presentation-engine/ole-enum.js +5 -5
  1020. package/dist/safe-bash-presentation-engine/ole-insertion.js +22 -21
  1021. package/dist/safe-bash-presentation-engine/opaque-objects.d.ts +4 -0
  1022. package/dist/safe-bash-presentation-engine/opaque-objects.js +30 -12
  1023. package/dist/safe-bash-presentation-engine/package-reader.js +6 -6
  1024. package/dist/safe-bash-presentation-engine/package-tools.js +24 -20
  1025. package/dist/safe-bash-presentation-engine/package-uri.js +4 -4
  1026. package/dist/safe-bash-presentation-engine/package-writer.js +5 -5
  1027. package/dist/safe-bash-presentation-engine/presentation-model.js +62 -59
  1028. package/dist/safe-bash-presentation-engine/presentation-settings.d.ts +1 -0
  1029. package/dist/safe-bash-presentation-engine/presentation-settings.js +25 -16
  1030. package/dist/safe-bash-presentation-engine/properties.js +21 -18
  1031. package/dist/safe-bash-presentation-engine/relationships.js +5 -5
  1032. package/dist/safe-bash-presentation-engine/resource-limits.js +2 -2
  1033. package/dist/safe-bash-presentation-engine/retained-extraction-output.d.ts +8 -4
  1034. package/dist/safe-bash-presentation-engine/retained-fonts.d.ts +26 -0
  1035. package/dist/safe-bash-presentation-engine/retained-image-metadata.d.ts +13 -0
  1036. package/dist/safe-bash-presentation-engine/retained-inspection.js +16 -14
  1037. package/dist/safe-bash-presentation-engine/retained-media-extraction.d.ts +21 -0
  1038. package/dist/safe-bash-presentation-engine/retained-media.d.ts +54 -0
  1039. package/dist/safe-bash-presentation-engine/retained-memberships.d.ts +25 -0
  1040. package/dist/safe-bash-presentation-engine/retained-object-extraction.d.ts +22 -0
  1041. package/dist/safe-bash-presentation-engine/retained-objects.d.ts +25 -0
  1042. package/dist/safe-bash-presentation-engine/retained-package.js +6 -6
  1043. package/dist/safe-bash-presentation-engine/retained-presentation-settings.d.ts +25 -0
  1044. package/dist/safe-bash-presentation-engine/retained-shape-geometry.d.ts +20 -0
  1045. package/dist/safe-bash-presentation-engine/retained-text.d.ts +24 -4
  1046. package/dist/safe-bash-presentation-engine/retained-text.js +35 -31
  1047. package/dist/safe-bash-presentation-engine/retained-transitions.d.ts +18 -0
  1048. package/dist/safe-bash-presentation-engine/sanitize.js +22 -19
  1049. package/dist/safe-bash-presentation-engine/selectors.js +11 -11
  1050. package/dist/safe-bash-presentation-engine/shape-groups.js +33 -31
  1051. package/dist/safe-bash-presentation-engine/shape-operations.js +32 -30
  1052. package/dist/safe-bash-presentation-engine/shape-path-operations.js +34 -32
  1053. package/dist/safe-bash-presentation-engine/shape-paths.js +17 -16
  1054. package/dist/safe-bash-presentation-engine/shape-presets.js +4 -4
  1055. package/dist/safe-bash-presentation-engine/shape-selection.js +33 -31
  1056. package/dist/safe-bash-presentation-engine/shape-transforms.d.ts +6 -0
  1057. package/dist/safe-bash-presentation-engine/shape-transforms.js +26 -20
  1058. package/dist/safe-bash-presentation-engine/shapes.js +28 -27
  1059. package/dist/safe-bash-presentation-engine/slide-copy.js +21 -17
  1060. package/dist/safe-bash-presentation-engine/slide-import.js +19 -18
  1061. package/dist/safe-bash-presentation-engine/slide-merge-split.js +21 -20
  1062. package/dist/safe-bash-presentation-engine/slide-model.js +46 -44
  1063. package/dist/safe-bash-presentation-engine/slide-removal.js +19 -18
  1064. package/dist/safe-bash-presentation-engine/slide-transfer-budget.js +10 -10
  1065. package/dist/safe-bash-presentation-engine/slides.js +21 -19
  1066. package/dist/safe-bash-presentation-engine/table-operations.js +35 -33
  1067. package/dist/safe-bash-presentation-engine/table-spans.js +34 -32
  1068. package/dist/safe-bash-presentation-engine/tables.js +33 -31
  1069. package/dist/safe-bash-presentation-engine/tags.js +20 -18
  1070. package/dist/safe-bash-presentation-engine/template-bindings.js +36 -34
  1071. package/dist/safe-bash-presentation-engine/template-repeat.js +46 -41
  1072. package/dist/safe-bash-presentation-engine/text-fitting.js +28 -27
  1073. package/dist/safe-bash-presentation-engine/text-frames.js +28 -27
  1074. package/dist/safe-bash-presentation-engine/text-paragraphs.js +28 -27
  1075. package/dist/safe-bash-presentation-engine/text-reading.js +12 -12
  1076. package/dist/safe-bash-presentation-engine/text-replacement.js +18 -17
  1077. package/dist/safe-bash-presentation-engine/text-runs.js +21 -20
  1078. package/dist/safe-bash-presentation-engine/themes.js +17 -16
  1079. package/dist/safe-bash-presentation-engine/transitions.d.ts +1 -0
  1080. package/dist/safe-bash-presentation-engine/transitions.js +24 -16
  1081. package/dist/safe-bash-presentation-engine/validation.js +11 -10
  1082. package/dist/safe-bash-presentation-engine/xml-parts.js +21 -19
  1083. package/dist/safe-bash-presentation-engine/xml-view.js +4 -4
  1084. package/dist/safe-bash-presentation-engine/xml.js +4 -4
  1085. package/dist/safe-bash-query-engine/capture.js +5 -5
  1086. package/dist/safe-bash-query-engine/dates.js +2 -2
  1087. package/dist/safe-bash-query-engine/delpaths.js +5 -5
  1088. package/dist/safe-bash-query-engine/formats.js +3 -3
  1089. package/dist/safe-bash-query-engine/index.js +15 -15
  1090. package/dist/safe-bash-query-engine/indices.js +5 -5
  1091. package/dist/safe-bash-query-engine/input.js +2 -2
  1092. package/dist/safe-bash-query-engine/interpreter.d.ts +2 -1
  1093. package/dist/safe-bash-query-engine/interpreter.js +13 -13
  1094. package/dist/safe-bash-query-engine/limits.d.ts +1 -0
  1095. package/dist/safe-bash-query-engine/limits.js +1 -1
  1096. package/dist/safe-bash-query-engine/parser.js +2 -2
  1097. package/dist/safe-bash-query-engine/query-core.js +15 -15
  1098. package/dist/safe-bash-query-engine/recurse.js +2 -2
  1099. package/dist/safe-bash-query-engine/regex.js +6 -6
  1100. package/dist/safe-bash-query-engine/split.js +2 -2
  1101. package/dist/safe-bash-query-engine/splits.js +7 -7
  1102. package/dist/safe-bash-query-engine/values.js +4 -4
  1103. package/dist/safe-bash-regex-engine/ere/matcher.d.ts +1 -1
  1104. package/dist/safe-bash-regex-engine/ere/matcher.js +18 -10
  1105. package/dist/safe-bash-regex-engine/ere/syntax.d.ts +1 -1
  1106. package/dist/safe-bash-regex-engine/ere/syntax.js +1 -1
  1107. package/dist/safe-bash-regex-engine/ere/types.d.ts +1 -0
  1108. package/dist/safe-bash-regex-engine/execution/bounded-provider.js +5 -6
  1109. package/dist/safe-bash-search-engine/ergonomic-regex.d.ts +1 -0
  1110. package/dist/safe-bash-search-engine/ergonomic-regex.js +2 -2
  1111. package/dist/safe-bash-sqlite-engine/sqlite-read-session.d.ts +17 -0
  1112. package/dist/safe-bash-sqlite-engine/storage.d.ts +1 -0
  1113. package/dist/safe-bash-sqlite-engine/storage.js +159 -89
  1114. package/dist/safe-bash-xml-engine/document.js +3 -3
  1115. package/dist/safe-bash-xml-engine/evaluate.js +1 -1
  1116. package/dist/safe-bash-xml-engine/index.js +4 -4
  1117. package/dist/safe-bash-xml-engine/json.js +14 -7
  1118. package/dist/safe-bash-xml-engine/query.js +2 -2
  1119. package/dist/safe-bash-xml-engine/recovery.d.ts +13 -3
  1120. package/dist/safe-bash-xml-engine/stored-document.d.ts +18 -3
  1121. package/dist/safe-bash-xml-engine/stored-document.js +1 -1
  1122. package/dist/safe-bash-xml-engine/stored-evaluate.js +5 -5
  1123. package/dist/safe-bash-xml-engine/stored-map.d.ts +35 -0
  1124. package/dist/safe-bash-zip-engine/index.js +3 -3
  1125. package/dist/safe-bash-zip-engine/zip/repair.js +3 -3
  1126. package/dist/safe-bash-zip-engine/zip/sfx.js +3 -3
  1127. package/dist/safe-bash-zip-engine/zip-format.js +3 -3
  1128. package/dist/safe-playwright-cloudflare/browser-provider.generated.js +11819 -11773
  1129. package/dist/safe-playwright-cloudflare/browser-run-code-guest.generated.js +1 -1
  1130. package/dist/spreadsheet-engine/formatting/cell-text.js +1 -1
  1131. package/dist/spreadsheet-engine/{rendering/print → formatting}/general-number.js +3 -3
  1132. package/dist/spreadsheet-engine/formulas/functions/python-printf.js +16 -10
  1133. package/dist/spreadsheet-engine/solver/program.js +3 -2
  1134. package/dist/spreadsheet-engine/solver/run.js +8 -2
  1135. package/dist/spreadsheet-engine/solver/sensitivity.d.ts +4 -2
  1136. package/dist/spreadsheet-engine/solver/sensitivity.js +80 -42
  1137. package/dist/spreadsheet-format-xls/biff-properties-merge.d.ts +2 -1
  1138. package/dist/spreadsheet-format-xls/biff-properties-merge.js +35 -29
  1139. package/dist/spreadsheet-format-xls/biff-properties-write.js +16 -7
  1140. package/dist/spreadsheet-format-xls/biff-property-names.d.ts +3 -0
  1141. package/dist/spreadsheet-format-xls/biff-property-names.js +44 -1
  1142. package/dist/spreadsheet-format-xls/biff-property-observations.d.ts +33 -0
  1143. package/dist/spreadsheet-format-xls/biff-property-observations.js +160 -0
  1144. package/package.json +8 -5
  1145. package/third-party/pdf-ast/THIRD_PARTY_NOTICES.md +15 -0
  1146. package/third-party/pdf-ast/licenses/PYTHON-PSF.txt +254 -0
  1147. package/third-party/pdf-ast/licenses/V8-BSD.txt +61 -0
  1148. package/dist/safe-bash/chunks/chunk-FL6XE3W4.js +0 -35
  1149. package/dist/safe-bash/command-chunks/biff-KLS4T7FP-UO3CXFFF.js +0 -5581
  1150. package/dist/safe-bash/command-chunks/chunk-6EZWG56T.js +0 -455
  1151. package/dist/safe-bash/command-chunks/chunk-6RLWPB44.js +0 -107
  1152. package/dist/safe-bash/command-chunks/chunk-CGJ7GMHO.js +0 -297
  1153. package/dist/safe-bash/command-chunks/chunk-E64ZI2YB.js +0 -550
  1154. package/dist/safe-bash/command-chunks/chunk-IOXMGD2H.js +0 -260
  1155. package/dist/safe-bash/command-chunks/chunk-KSM5CCHT.js +0 -1850
  1156. package/dist/safe-bash/command-chunks/chunk-P4OWVKMD.js +0 -228
  1157. package/dist/safe-bash/command-chunks/chunk-UPXFSGQG.js +0 -134
  1158. package/dist/safe-bash/command-chunks/chunk-WKUV62RJ.js +0 -92
  1159. package/dist/safe-bash/command-chunks/chunk-WOL3LBXE.js +0 -144
  1160. package/dist/safe-bash/command-chunks/chunk-Z3PGWMSQ.js +0 -63
  1161. package/dist/safe-bash/command-chunks/model-store-I7YAWL5V.js +0 -54
  1162. package/dist/safe-bash/command-chunks/paradox-4FCZE53D-LQPGVMEL.js +0 -365
  1163. package/dist/safe-bash-xml-engine/stored-namespaces.d.ts +0 -21
  1164. package/dist/safe-bash/command-chunks/{chunk-WKU65Z3Q.js → chunk-3NJETNC2.js} +3 -3
  1165. package/dist/safe-bash/command-chunks/{chunk-SRXARACJ.js → chunk-3TP4SSPS.js} +3 -3
  1166. package/dist/safe-bash/command-chunks/{chunk-AV6N7DDA.js → chunk-DDYPQAXN.js} +3 -3
  1167. package/dist/safe-bash/command-chunks/{chunk-FEKECRJP.js → chunk-EBTKM7KX.js} +3 -3
  1168. package/dist/safe-bash/command-chunks/{chunk-M3OXQXCU.js → chunk-NBRXQUK7.js} +3 -3
  1169. package/dist/safe-bash/command-chunks/{chunk-WVD5WZXD.js → chunk-QWHBQBPB.js} +5 -5
  1170. package/dist/safe-bash/command-chunks/{chunk-5MFRN3CB.js → chunk-R64BI5MT.js} +4 -4
  1171. package/dist/safe-bash/command-chunks/{chunk-2ANW3FXH.js → chunk-U33GIOUY.js} +3 -3
  1172. package/dist/safe-bash/command-chunks/{chunk-OEKLEUUW.js → chunk-YZE7BKHC.js} +3 -3
  1173. package/dist/safe-bash/command-chunks/{chunk-WXW665TV.js → chunk-ZSHXZ3XG.js} +6 -6
  1174. package/dist/safe-bash/command-chunks/{chunk-RXXNLH7A.js → chunk-ZSQCROFE.js} +3 -3
  1175. package/dist/safe-bash/command-chunks/{dif-BXKPQOCO-4KB3RC6G.js → dif-BXKPQOCO-FVJYYGYB.js} +4 -4
  1176. package/dist/safe-bash/command-chunks/{pln-DFS7VLVS-OVOBS4QX.js → pln-DFS7VLVS-JATX6FS7.js} +3 -3
  1177. package/dist/safe-bash/command-chunks/{psion-YBI6JEQI-GY4S6ZLC.js → psion-YBI6JEQI-6OMC2PGC.js} +3 -3
  1178. package/dist/safe-bash/command-chunks/{sylk-25D7TL2Y-RU6ANKGT.js → sylk-25D7TL2Y-NJKBZZTF.js} +4 -4
  1179. /package/dist/spreadsheet-engine/{rendering/print → formatting}/general-number.d.ts +0 -0
@@ -7,6 +7,13 @@ function encodeUtf8(text) {
7
7
  function decodeUtf8(bytes) {
8
8
  return TEXT_DECODER.decode(bytes);
9
9
  }
10
+ function decodeLatin1(bytes) {
11
+ let out = "";
12
+ for (let i = 0; i < bytes.length; i++) {
13
+ out += String.fromCharCode(bytes[i]);
14
+ }
15
+ return out;
16
+ }
10
17
  function decodeFourCC(bytes, offset = 0) {
11
18
  return String.fromCharCode(
12
19
  bytes[offset] ?? 32,
@@ -332968,6 +332975,122 @@ function probeSampleFormat(type, codecName) {
332968
332975
  }[codecName] ?? "fltp";
332969
332976
  }
332970
332977
 
332978
+ // packages/mp4-ast/src/probe-stream.ts
332979
+ var CODEC_LONG_NAMES = {
332980
+ h264: "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
332981
+ hevc: "H.265 / HEVC (High Efficiency Video Coding)",
332982
+ av1: "Alliance for Open Media AV1",
332983
+ vp8: "On2 VP8",
332984
+ vp9: "Google VP9",
332985
+ mpeg4: "MPEG-4 part 2",
332986
+ mjpeg: "Motion JPEG",
332987
+ png: "PNG (Portable Network Graphics) image",
332988
+ gif: "GIF (Graphics Interchange Format)",
332989
+ webp: "WebP image",
332990
+ rawvideo: "raw video",
332991
+ aac: "AAC (Advanced Audio Coding)",
332992
+ mp3: "MP3 (MPEG audio layer 3)",
332993
+ opus: "Opus (Opus Interactive Audio Codec)",
332994
+ vorbis: "Vorbis",
332995
+ flac: "FLAC (Free Lossless Audio Codec)",
332996
+ alac: "ALAC (Apple Lossless Audio Codec)",
332997
+ pcm_s16le: "PCM signed 16-bit little-endian",
332998
+ pcm_s16be: "PCM signed 16-bit big-endian",
332999
+ mov_text: "3GPP Timed Text subtitle",
333000
+ webvtt: "WebVTT subtitle",
333001
+ subrip: "SubRip subtitle"
333002
+ };
333003
+ function buildProbeStream(track, desc, stats, idx, containerFormat) {
333004
+ const codecName = desc?.codecName ?? (track.type === "video" ? "h264" : "aac");
333005
+ const codecLongName = CODEC_LONG_NAMES[codecName] ?? codecName;
333006
+ const rawTag = desc?.formatFourCC ?? (track.type === "video" ? "avc1" : "mp4a");
333007
+ const tagFourCC = Array.from(rawTag).map((c) => c.charCodeAt(0) < 32 ? `[${c.charCodeAt(0)}]` : c).join("");
333008
+ const sampleFormat = probeSampleFormat(track.type, codecName);
333009
+ const tagHex = containerFormat === "wav" ? "0x" + (rawTag.charCodeAt(0) | rawTag.charCodeAt(1) << 8).toString(16).padStart(4, "0") : "0x" + Array.from(rawTag.padEnd(4, " ").slice(0, 4)).map((c) => c.charCodeAt(0).toString(16).padStart(2, "0")).join("");
333010
+ const durationSec = track.duration / Math.max(1, track.timescale);
333011
+ const totalBytes = stats.totalBytes;
333012
+ const bitRate = durationSec > 0 ? String(Math.round(totalBytes * 8 / durationSec)) : "0";
333013
+ const nbFrames = stats.count;
333014
+ const sampleTicks = stats.ticks;
333015
+ const fpsNum = nbFrames * track.timescale;
333016
+ const fpsGcd = gcd(fpsNum, sampleTicks || 1);
333017
+ const avgFrameRate = track.type === "video" && sampleTicks > 0 ? `${fpsNum / fpsGcd}/${sampleTicks / fpsGcd}` : "0/0";
333018
+ const w = track.width ?? desc?.width;
333019
+ const h = track.height ?? desc?.height;
333020
+ const darGcd = w && h ? gcd(w, h) : 1;
333021
+ const streamTags = {
333022
+ language: track.language || "und"
333023
+ };
333024
+ if (track.handlerName) streamTags.handler_name = track.handlerName;
333025
+ if (track.rotation) streamTags.rotate = String(track.rotation);
333026
+ return {
333027
+ index: idx,
333028
+ id: `0x${track.id.toString(16)}`,
333029
+ codec_name: codecName,
333030
+ codec_long_name: codecLongName,
333031
+ profile: desc?.profile,
333032
+ codec_type: track.type,
333033
+ codec_tag_string: tagFourCC,
333034
+ codec_tag: tagHex,
333035
+ width: w,
333036
+ height: h,
333037
+ coded_width: w ? Math.ceil(w / 16) * 16 : void 0,
333038
+ coded_height: h ? Math.ceil(h / 16) * 16 : void 0,
333039
+ has_b_frames: track.type === "video" ? stats.hasCts ? 1 : 0 : void 0,
333040
+ sample_aspect_ratio: track.type === "video" ? `${desc?.sarWidth ?? 1}:${desc?.sarHeight ?? 1}` : void 0,
333041
+ display_aspect_ratio: track.type === "video" && w && h ? `${w / darGcd}:${h / darGcd}` : void 0,
333042
+ pix_fmt: track.type === "video" ? desc?.pixFmt ?? "yuv420p" : void 0,
333043
+ level: desc?.level,
333044
+ color_range: track.type === "video" ? "tv" : void 0,
333045
+ color_space: track.type === "video" ? "bt709" : void 0,
333046
+ sample_fmt: sampleFormat,
333047
+ sample_rate: track.type === "audio" ? String(desc?.sampleRate ?? track.timescale) : void 0,
333048
+ channels: track.type === "audio" ? desc?.channels ?? 2 : void 0,
333049
+ channel_layout: track.type === "audio" ? (desc?.channels ?? 2) === 1 ? "mono" : "stereo" : void 0,
333050
+ bits_per_sample: track.type === "audio" ? desc?.bitsPerSample ?? 16 : void 0,
333051
+ r_frame_rate: avgFrameRate,
333052
+ avg_frame_rate: avgFrameRate,
333053
+ time_base: `1/${track.timescale}`,
333054
+ start_pts: stats.firstPts,
333055
+ start_time: (stats.firstPts / Math.max(1, track.timescale)).toFixed(6),
333056
+ duration_ts: track.duration,
333057
+ duration: durationSec.toFixed(6),
333058
+ bit_rate: bitRate,
333059
+ nb_frames: String(nbFrames),
333060
+ disposition: {
333061
+ default: track.enabled ? 1 : 0,
333062
+ dub: 0,
333063
+ original: 0,
333064
+ comment: 0,
333065
+ lyrics: 0,
333066
+ karaoke: 0,
333067
+ forced: 0,
333068
+ hearing_impaired: 0,
333069
+ visual_impaired: 0,
333070
+ clean_effects: 0,
333071
+ attached_pic: 0,
333072
+ timed_thumbnails: 0
333073
+ },
333074
+ tags: streamTags,
333075
+ side_data_list: track.rotation ? [{ side_data_type: "Display Matrix", rotation: -track.rotation }] : void 0
333076
+ };
333077
+ }
333078
+
333079
+ // packages/mp4-ast/src/mp4-metadata.ts
333080
+ var mp4TextMetadataKeys = {
333081
+ "\xA9nam": "title",
333082
+ "\xA9ART": "artist",
333083
+ aART: "albumArtist",
333084
+ "\xA9alb": "album",
333085
+ "\xA9day": "date",
333086
+ "\xA9cmt": "comment",
333087
+ "\xA9gen": "genre",
333088
+ "\xA9too": "encoder",
333089
+ desc: "description",
333090
+ cprt: "copyright"
333091
+ };
333092
+ var mp4ProbeMetadataKeys = ["title", "artist", "album", "date", "comment", "genre", "encoder"];
333093
+
332971
333094
  // packages/mp4-ast/src/mp4-box-layout.ts
332972
333095
  var containers = /* @__PURE__ */ new Set([
332973
333096
  "moov",
@@ -333426,41 +333549,9 @@ function parseMetadataTags(moov) {
333426
333549
  }
333427
333550
  const text = decodeUtf8(valueBytes).replace(/\0+$/, "");
333428
333551
  if (!text) continue;
333429
- switch (item.type) {
333430
- case "\xA9nam":
333431
- tags.title = text;
333432
- break;
333433
- case "\xA9ART":
333434
- tags.artist = text;
333435
- break;
333436
- case "aART":
333437
- tags.albumArtist = text;
333438
- break;
333439
- case "\xA9alb":
333440
- tags.album = text;
333441
- break;
333442
- case "\xA9day":
333443
- tags.date = text;
333444
- break;
333445
- case "\xA9cmt":
333446
- tags.comment = text;
333447
- break;
333448
- case "\xA9gen":
333449
- tags.genre = text;
333450
- break;
333451
- case "\xA9too":
333452
- tags.encoder = text;
333453
- break;
333454
- case "desc":
333455
- tags.description = text;
333456
- break;
333457
- case "cprt":
333458
- tags.copyright = text;
333459
- break;
333460
- default:
333461
- tags.custom[item.type] = text;
333462
- break;
333463
- }
333552
+ const key = mp4TextMetadataKeys[item.type];
333553
+ if (key) tags[key] = text;
333554
+ else tags.custom[item.type] = text;
333464
333555
  }
333465
333556
  return tags;
333466
333557
  }
@@ -334840,30 +334931,6 @@ function* muxMp4Steps(sources, options = {}) {
334840
334931
  function muxMp4(sources, options = {}) {
334841
334932
  return drainWork(muxMp4Steps(sources, options));
334842
334933
  }
334843
- var CODEC_LONG_NAMES = {
334844
- h264: "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
334845
- hevc: "H.265 / HEVC (High Efficiency Video Coding)",
334846
- av1: "Alliance for Open Media AV1",
334847
- vp8: "On2 VP8",
334848
- vp9: "Google VP9",
334849
- mpeg4: "MPEG-4 part 2",
334850
- mjpeg: "Motion JPEG",
334851
- png: "PNG (Portable Network Graphics) image",
334852
- gif: "GIF (Graphics Interchange Format)",
334853
- webp: "WebP image",
334854
- rawvideo: "raw video",
334855
- aac: "AAC (Advanced Audio Coding)",
334856
- mp3: "MP3 (MPEG audio layer 3)",
334857
- opus: "Opus (Opus Interactive Audio Codec)",
334858
- vorbis: "Vorbis",
334859
- flac: "FLAC (Free Lossless Audio Codec)",
334860
- alac: "ALAC (Apple Lossless Audio Codec)",
334861
- pcm_s16le: "PCM signed 16-bit little-endian",
334862
- pcm_s16be: "PCM signed 16-bit big-endian",
334863
- mov_text: "3GPP Timed Text subtitle",
334864
- webvtt: "WebVTT subtitle",
334865
- subrip: "SubRip subtitle"
334866
- };
334867
334934
  function buildProbeResultFromDoc(doc, byteLength, filename = "input.mp4", options = {}) {
334868
334935
  const streams = [];
334869
334936
  const packets = [];
@@ -334872,79 +334939,15 @@ function buildProbeResultFromDoc(doc, byteLength, filename = "input.mp4", option
334872
334939
  const track = doc.tracks[idx];
334873
334940
  const materialized = materializeTrackSamples(track);
334874
334941
  const desc = materialized.codecDescriptions[0];
334875
- const codecName = desc?.codecName ?? (track.type === "video" ? "h264" : "aac");
334876
- const codecLongName = CODEC_LONG_NAMES[codecName] ?? codecName;
334877
- const rawTag = desc?.formatFourCC ?? (track.type === "video" ? "avc1" : "mp4a");
334878
- const tagFourCC = Array.from(rawTag).map((c) => c.charCodeAt(0) < 32 ? `[${c.charCodeAt(0)}]` : c).join("");
334879
- const sampleFormat = probeSampleFormat(track.type, codecName);
334880
- const tagHex = doc.containerFormat === "wav" ? "0x" + (rawTag.charCodeAt(0) | rawTag.charCodeAt(1) << 8).toString(16).padStart(4, "0") : "0x" + Array.from(rawTag.padEnd(4, " ").slice(0, 4)).map((c) => c.charCodeAt(0).toString(16).padStart(2, "0")).join("");
334881
- const durationSec = track.duration / Math.max(1, track.timescale);
334882
- const totalBytes = materialized.samples.reduce((acc, s) => acc + s.size, 0);
334883
- const bitRate = durationSec > 0 ? String(Math.round(totalBytes * 8 / durationSec)) : "0";
334884
- const nbFrames = materialized.samples.length;
334885
- const sampleTicks = materialized.samples.reduce((total, sample) => total + sample.duration, 0);
334886
- const fpsNum = nbFrames * track.timescale;
334887
- const fpsGcd = gcd(fpsNum, sampleTicks || 1);
334888
- const avgFrameRate = track.type === "video" && sampleTicks > 0 ? `${fpsNum / fpsGcd}/${sampleTicks / fpsGcd}` : "0/0";
334889
- const w = track.width ?? desc?.width;
334890
- const h = track.height ?? desc?.height;
334891
- const darGcd = w && h ? gcd(w, h) : 1;
334892
- const streamTags = {
334893
- language: track.language || "und"
334894
- };
334895
- if (track.handlerName) streamTags.handler_name = track.handlerName;
334896
- if (track.rotation) streamTags.rotate = String(track.rotation);
334897
- streams.push({
334898
- index: idx,
334899
- id: `0x${track.id.toString(16)}`,
334900
- codec_name: codecName,
334901
- codec_long_name: codecLongName,
334902
- profile: desc?.profile,
334903
- codec_type: track.type,
334904
- codec_tag_string: tagFourCC,
334905
- codec_tag: tagHex,
334906
- width: w,
334907
- height: h,
334908
- coded_width: w ? Math.ceil(w / 16) * 16 : void 0,
334909
- coded_height: h ? Math.ceil(h / 16) * 16 : void 0,
334910
- has_b_frames: track.type === "video" ? materialized.samples.some((s) => s.cts !== 0) ? 1 : 0 : void 0,
334911
- sample_aspect_ratio: track.type === "video" ? `${desc?.sarWidth ?? 1}:${desc?.sarHeight ?? 1}` : void 0,
334912
- display_aspect_ratio: track.type === "video" && w && h ? `${w / darGcd}:${h / darGcd}` : void 0,
334913
- pix_fmt: track.type === "video" ? desc?.pixFmt ?? "yuv420p" : void 0,
334914
- level: desc?.level,
334915
- color_range: track.type === "video" ? "tv" : void 0,
334916
- color_space: track.type === "video" ? "bt709" : void 0,
334917
- sample_fmt: sampleFormat,
334918
- sample_rate: track.type === "audio" ? String(desc?.sampleRate ?? track.timescale) : void 0,
334919
- channels: track.type === "audio" ? desc?.channels ?? 2 : void 0,
334920
- channel_layout: track.type === "audio" ? (desc?.channels ?? 2) === 1 ? "mono" : "stereo" : void 0,
334921
- bits_per_sample: track.type === "audio" ? desc?.bitsPerSample ?? 16 : void 0,
334922
- r_frame_rate: avgFrameRate,
334923
- avg_frame_rate: avgFrameRate,
334924
- time_base: `1/${track.timescale}`,
334925
- start_pts: materialized.samples[0]?.pts ?? 0,
334926
- start_time: ((materialized.samples[0]?.pts ?? 0) / Math.max(1, track.timescale)).toFixed(6),
334927
- duration_ts: track.duration,
334928
- duration: durationSec.toFixed(6),
334929
- bit_rate: bitRate,
334930
- nb_frames: String(nbFrames),
334931
- disposition: {
334932
- default: track.enabled ? 1 : 0,
334933
- dub: 0,
334934
- original: 0,
334935
- comment: 0,
334936
- lyrics: 0,
334937
- karaoke: 0,
334938
- forced: 0,
334939
- hearing_impaired: 0,
334940
- visual_impaired: 0,
334941
- clean_effects: 0,
334942
- attached_pic: 0,
334943
- timed_thumbnails: 0
334944
- },
334945
- tags: streamTags,
334946
- side_data_list: track.rotation ? [{ side_data_type: "Display Matrix", rotation: -track.rotation }] : void 0
334947
- });
334942
+ const stream = buildProbeStream(track, desc, {
334943
+ totalBytes: materialized.samples.reduce((total, sample) => total + sample.size, 0),
334944
+ count: materialized.samples.length,
334945
+ ticks: materialized.samples.reduce((total, sample) => total + sample.duration, 0),
334946
+ firstPts: materialized.samples[0]?.pts ?? 0,
334947
+ hasCts: materialized.samples.some((sample) => sample.cts !== 0)
334948
+ }, idx, doc.containerFormat);
334949
+ streams.push(stream);
334950
+ const w = stream.width, h = stream.height, sampleFormat = stream.sample_fmt;
334948
334951
  if (options.showPackets || options.showFrames) {
334949
334952
  let bytePos = 0;
334950
334953
  for (const s of materialized.samples) {
@@ -334999,13 +335002,10 @@ function buildProbeResultFromDoc(doc, byteLength, filename = "input.mp4", option
334999
335002
  if (doc.compatibleBrands && doc.compatibleBrands.length > 0) {
335000
335003
  formatTags.compatible_brands = doc.compatibleBrands.join("");
335001
335004
  }
335002
- if (doc.metadata.title) formatTags.title = doc.metadata.title;
335003
- if (doc.metadata.artist) formatTags.artist = doc.metadata.artist;
335004
- if (doc.metadata.album) formatTags.album = doc.metadata.album;
335005
- if (doc.metadata.date) formatTags.date = doc.metadata.date;
335006
- if (doc.metadata.comment) formatTags.comment = doc.metadata.comment;
335007
- if (doc.metadata.genre) formatTags.genre = doc.metadata.genre;
335008
- if (doc.metadata.encoder) formatTags.encoder = doc.metadata.encoder;
335005
+ for (const key of mp4ProbeMetadataKeys) {
335006
+ const value = doc.metadata[key];
335007
+ if (value) formatTags[key] = value;
335008
+ }
335009
335009
  const overallBitRate = doc.durationSeconds > 0 ? String(Math.round(byteLength * 8 / doc.durationSeconds)) : "0";
335010
335010
  return {
335011
335011
  streams,
@@ -338866,6 +338866,38 @@ function makeRgbaImage(width, height, data) {
338866
338866
  hasAlpha: true
338867
338867
  };
338868
338868
  }
338869
+ function gifPackets(bytes) {
338870
+ let at = 13 + (bytes[10] & 128 ? 3 * (1 << (bytes[10] & 7) + 1) : 0);
338871
+ let start = 0;
338872
+ const packets = [];
338873
+ while (at < bytes.length) {
338874
+ const marker = bytes[at++];
338875
+ if (marker === 59) break;
338876
+ if (marker === 33) {
338877
+ at++;
338878
+ } else if (marker === 44) {
338879
+ if (at + 9 > bytes.length) throw new Error("Truncated GIF image descriptor");
338880
+ const flags = bytes[at + 8];
338881
+ at += 9 + (flags & 128 ? 3 * (1 << (flags & 7) + 1) : 0);
338882
+ at++;
338883
+ } else {
338884
+ throw new Error("Invalid GIF block");
338885
+ }
338886
+ while (true) {
338887
+ if (at >= bytes.length) throw new Error("Truncated GIF data block");
338888
+ const size = bytes[at++];
338889
+ if (at + size > bytes.length) throw new Error("Truncated GIF data block");
338890
+ at += size;
338891
+ if (size === 0) break;
338892
+ }
338893
+ if (marker === 44) {
338894
+ packets.push(bytes.subarray(start, at));
338895
+ start = at;
338896
+ }
338897
+ }
338898
+ if (packets.length && start < bytes.length) packets[packets.length - 1] = bytes.subarray(start - packets[packets.length - 1].length);
338899
+ return packets;
338900
+ }
338869
338901
  function gifAst() {
338870
338902
  return {
338871
338903
  id: "gif",
@@ -338883,77 +338915,78 @@ function gifAst() {
338883
338915
  return false;
338884
338916
  },
338885
338917
  parse(bytes) {
338886
- let width = 64;
338887
- let height = 64;
338888
- let rgba = new Uint8Array(64 * 64 * 4).fill(200);
338889
- try {
338890
- const img = decodeImage(bytes);
338891
- width = img.width;
338892
- height = img.height;
338893
- rgba = img.data;
338894
- } catch {
338895
- const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
338896
- width = bytes.byteLength >= 10 ? view.getUint16(6, true) || 64 : 64;
338897
- height = bytes.byteLength >= 10 ? view.getUint16(8, true) || 64 : 64;
338898
- rgba = new Uint8Array(width * height * 4).fill(200);
338918
+ const image = decodeImage(bytes, { animated: true });
338919
+ const width = image.width, height = image.pageHeight ?? image.height;
338920
+ const frameSize = width * height * 4;
338921
+ const frames = [];
338922
+ const samples = [];
338923
+ const packets = gifPackets(bytes);
338924
+ let duration = 0;
338925
+ for (let index = 0; index < (image.pages ?? 1); index++) {
338926
+ const ticks = Math.round((image.delay?.[index] ?? 100) / 10);
338927
+ frames.push({
338928
+ width,
338929
+ height,
338930
+ data: image.data.subarray(index * frameSize, (index + 1) * frameSize),
338931
+ ptsSeconds: duration / 100,
338932
+ durationSeconds: ticks / 100,
338933
+ keyframe: true
338934
+ });
338935
+ const packet = packets[index];
338936
+ samples.push({
338937
+ data: packet,
338938
+ dts: duration,
338939
+ pts: duration,
338940
+ cts: 0,
338941
+ duration: ticks,
338942
+ size: packet.byteLength,
338943
+ isKeyframe: index === 0,
338944
+ sampleDescriptionIndex: 1
338945
+ });
338946
+ duration += ticks;
338899
338947
  }
338900
338948
  return {
338901
338949
  containerFormat: "gif",
338902
338950
  timescale: 100,
338903
- duration: 100,
338904
- durationSeconds: 1,
338905
- tracks: [
338906
- {
338907
- id: 1,
338908
- type: "video",
338909
- handlerType: "vide",
338910
- timescale: 100,
338911
- duration: 100,
338912
- language: "und",
338913
- enabled: true,
338914
- width,
338915
- height,
338916
- codecDescriptions: [
338917
- {
338918
- formatFourCC: "gif ",
338919
- codecName: "gif",
338920
- width,
338921
- height,
338922
- pixFmt: "rgb8"
338923
- }
338924
- ],
338925
- samples: [
338926
- {
338927
- data: bytes,
338928
- dts: 0,
338929
- pts: 0,
338930
- cts: 0,
338931
- duration: 100,
338932
- size: bytes.byteLength,
338933
- isKeyframe: true,
338934
- sampleDescriptionIndex: 1
338935
- }
338936
- ],
338937
- decodedVideoFrames: [
338938
- {
338939
- width,
338940
- height,
338941
- data: rgba,
338942
- ptsSeconds: 0,
338943
- durationSeconds: 1,
338944
- keyframe: true
338945
- }
338946
- ]
338947
- }
338948
- ],
338951
+ duration,
338952
+ durationSeconds: duration / 100,
338953
+ tracks: [{
338954
+ id: 1,
338955
+ type: "video",
338956
+ handlerType: "vide",
338957
+ timescale: 100,
338958
+ duration,
338959
+ language: "und",
338960
+ enabled: true,
338961
+ width,
338962
+ height,
338963
+ codecDescriptions: [{ formatFourCC: "gif ", codecName: "gif", width, height, pixFmt: "rgb8" }],
338964
+ samples,
338965
+ decodedVideoFrames: frames
338966
+ }],
338949
338967
  metadata: {},
338950
338968
  byteLength: bytes.byteLength
338951
338969
  };
338952
338970
  },
338953
338971
  serialize(doc) {
338954
338972
  const { frames, width, height } = extractVideoFramesFromDoc(doc);
338955
- const first = frames[0]?.data ?? new Uint8Array(width * height * 4);
338956
- return encodeImage(makeRgbaImage(width, height, first), { format: "gif" }).data;
338973
+ const count = Math.max(1, frames.length), frameSize = width * height * 4;
338974
+ const data = new Uint8Array(frameSize * count);
338975
+ const delays = [];
338976
+ let elapsed = 0, previousTicks = 0;
338977
+ for (let index = 0; index < frames.length; index++) {
338978
+ const frame = frames[index];
338979
+ data.set(frame.data, index * frameSize);
338980
+ elapsed += frame.durationSeconds;
338981
+ const ticks = Math.round(elapsed * 100);
338982
+ delays.push((ticks - previousTicks) * 10);
338983
+ previousTicks = ticks;
338984
+ }
338985
+ return encodeImage(makeRgbaImage(width, height * count, data), {
338986
+ format: "gif",
338987
+ pageHeight: height,
338988
+ delay: delays
338989
+ }).data;
338957
338990
  },
338958
338991
  probe(bytes, options) {
338959
338992
  const doc = this.parse(bytes, options);
@@ -339594,6 +339627,112 @@ function createMediaAstRegistry(plugins) {
339594
339627
  };
339595
339628
  }
339596
339629
 
339630
+ // packages/mp4-ast/src/mp4-metadata-source.ts
339631
+ async function probeMp4MetadataSource(source, durationSeconds2, options = {}) {
339632
+ const work = { ...options, budget: options.budget ?? new MediaBudgetTracker() };
339633
+ work.signal?.throwIfAborted();
339634
+ work.budget.checkInputBytes(source.size);
339635
+ async function read(offset, length) {
339636
+ work.budget.checkCpu();
339637
+ return readMp4SampleRange(source, offset, length, work);
339638
+ }
339639
+ async function first(parent, type) {
339640
+ if (parent?.children) {
339641
+ for await (const box of scanMp4Boxes(source, { ...parent.children, ...work })) if (box.type === type) return box;
339642
+ }
339643
+ }
339644
+ let moov, ftyp, styp;
339645
+ for await (const box of scanMp4Boxes(source, work)) {
339646
+ if (box.type === "moov") moov ??= box;
339647
+ else if (box.type === "ftyp") ftyp ??= box;
339648
+ else if (box.type === "styp") styp ??= box;
339649
+ }
339650
+ if (!moov) throw new Error("Invalid MP4/ISOBMFF file: missing 'moov' atom");
339651
+ const tags = { major_brand: "isom", minor_version: "512" }, brands = ftyp ?? styp;
339652
+ if (brands && brands.payloadSize >= 8) {
339653
+ const prefix = new BinaryReader(await read(brands.payloadOffset, 8));
339654
+ tags.major_brand = prefix.readFourCC();
339655
+ tags.minor_version = String(prefix.readU32BE());
339656
+ const length = Math.floor((brands.payloadSize - 8) / 4) * 4;
339657
+ if (length) tags.compatible_brands = mp4SourceText(source, brands.payloadOffset + 8, length, work, true);
339658
+ }
339659
+ const udta = await first(moov, "udta"), meta = await first(udta, "meta") ?? await first(moov, "meta"), ilst = await first(meta, "ilst");
339660
+ const values = {};
339661
+ if (ilst?.children) for await (const item of scanMp4Boxes(source, { ...ilst.children, ...work })) {
339662
+ const key = mp4TextMetadataKeys[item.type];
339663
+ if (!key || !mp4ProbeMetadataKeys.some((name) => name === key)) continue;
339664
+ let data;
339665
+ for await (const box of scanMp4Boxes(source, { offset: item.payloadOffset, length: item.payloadSize, ...work })) if (box.type === "data") {
339666
+ data = box;
339667
+ break;
339668
+ }
339669
+ if (!data && item.payloadSize < 8) continue;
339670
+ const value = data ?? item, skip = data && data.payloadSize >= 8 ? 8 : 0;
339671
+ const offset = value.payloadOffset + skip;
339672
+ let length = value.payloadSize - skip;
339673
+ while (length) {
339674
+ const size = Math.min(16384, length), suffix = await read(offset + length - size, size);
339675
+ let end = suffix.length;
339676
+ while (end && suffix[end - 1] === 0) end--;
339677
+ length -= size - end;
339678
+ if (end) break;
339679
+ }
339680
+ if (!length) continue;
339681
+ if (length === 3) {
339682
+ const prefix = await read(offset, 3);
339683
+ if (prefix[0] === 239 && prefix[1] === 187 && prefix[2] === 191) continue;
339684
+ }
339685
+ values[key] = mp4SourceText(source, offset, length, work);
339686
+ }
339687
+ for (const key of mp4ProbeMetadataKeys) if (values[key]) tags[key] = values[key];
339688
+ const chpl = await first(udta, "chpl");
339689
+ async function* chapters() {
339690
+ work.signal?.throwIfAborted();
339691
+ if (!chpl || chpl.payloadSize < 9) return;
339692
+ const end = chpl.payloadOffset + chpl.payloadSize;
339693
+ let at = chpl.payloadOffset + 9, count = (await read(chpl.payloadOffset + 8, 1))[0];
339694
+ if (!count && end - at >= 4) {
339695
+ count = new BinaryReader(await read(at, 4)).readU32BE();
339696
+ at += 4;
339697
+ }
339698
+ let previous;
339699
+ const row = (chapter, finish) => ({ id: chapter.id, time_base: "1/1000", start: Math.round(chapter.start * 1e3), start_time: chapter.start.toFixed(6), end: Math.round(finish * 1e3), end_time: finish.toFixed(6), tags: { title: chapter.title } });
339700
+ for (let id = 0; id < count && end - at >= 9; id++) {
339701
+ const prefix = new BinaryReader(await read(at, 9));
339702
+ at += 9;
339703
+ const start = prefix.readU64BE() / 1e7, length = Math.min(prefix.readU8(), end - at);
339704
+ const title = decodeUtf8(await read(at, length));
339705
+ at += length;
339706
+ if (previous) yield row(previous, start);
339707
+ previous = { id, start, title };
339708
+ }
339709
+ if (previous) yield row(previous, Math.max(previous.start, durationSeconds2));
339710
+ }
339711
+ return { tags, chapters: { [Symbol.asyncIterator]: chapters } };
339712
+ }
339713
+ function mp4SourceText(source, offset, length, work, latin1 = false) {
339714
+ return { kind: "text", async *chunks() {
339715
+ work.signal?.throwIfAborted();
339716
+ work.budget?.allocateMemory(Math.min(length, 16384));
339717
+ try {
339718
+ const decoder = new TextDecoder();
339719
+ for (let used = 0; used < length; ) {
339720
+ work.budget?.checkCpu();
339721
+ const bytes = await readMp4SampleRange(source, offset + used, Math.min(16384, length - used), work);
339722
+ used += bytes.length;
339723
+ const chunk = latin1 ? decodeLatin1(bytes) : decoder.decode(bytes, { stream: true });
339724
+ if (chunk) yield chunk;
339725
+ }
339726
+ if (!latin1) {
339727
+ const tail = decoder.decode();
339728
+ if (tail) yield tail;
339729
+ }
339730
+ } finally {
339731
+ work.budget?.releaseMemory(Math.min(length, 16384));
339732
+ }
339733
+ } };
339734
+ }
339735
+
339597
339736
  // packages/mp4-ast/src/esds-source.ts
339598
339737
  async function probeEsdsSource(source, range, options = {}) {
339599
339738
  options.signal?.throwIfAborted();
@@ -339664,13 +339803,17 @@ async function* scanMp4CodecDescriptions(source, range, options = {}) {
339664
339803
 
339665
339804
  // packages/mp4-ast/src/mp4-packets-source.ts
339666
339805
  async function* scanMp4Packets(source, options = {}) {
339667
- for await (const { sample, track, bytePos } of scanProbeSamples(source, options, false)) {
339806
+ for await (const record of scanProbeRecords(source, options, "packets")) {
339807
+ if (!("sample" in record)) continue;
339808
+ const { sample, track, bytePos } = record;
339668
339809
  const scale = Math.max(1, track.timescale);
339669
339810
  yield { codec_type: track.type, stream_index: track.index, pts: sample.pts, pts_time: (sample.pts / scale).toFixed(6), dts: sample.dts, dts_time: (sample.dts / scale).toFixed(6), duration: sample.duration, duration_time: (sample.duration / scale).toFixed(6), size: String(sample.size), pos: String(bytePos), flags: sample.isKeyframe ? "K_" : "__" };
339670
339811
  }
339671
339812
  }
339672
339813
  async function* scanMp4Frames(source, options = {}) {
339673
- for await (const { sample, track } of scanProbeSamples(source, options, true)) {
339814
+ for await (const record of scanProbeRecords(source, options, "frames")) {
339815
+ if (!("sample" in record)) continue;
339816
+ const { sample, track } = record;
339674
339817
  const scale = Math.max(1, track.timescale), ptsTime = (sample.pts / scale).toFixed(6);
339675
339818
  yield {
339676
339819
  media_type: track.type,
@@ -339695,8 +339838,9 @@ async function* scanMp4Frames(source, options = {}) {
339695
339838
  };
339696
339839
  }
339697
339840
  }
339698
- async function* scanProbeSamples(source, options, withCodec) {
339841
+ async function* scanProbeRecords(source, options, mode) {
339699
339842
  options.signal?.throwIfAborted();
339843
+ const withCodec = mode === "frames" || mode === "streams";
339700
339844
  const budget = options.budget ?? new MediaBudgetTracker(options.limits), work = { budget, ...options.signal ? { signal: options.signal } : {}, ...options.checkpoint ? { checkpoint: options.checkpoint } : {} };
339701
339845
  budget.checkInputBytes(source.size);
339702
339846
  const read = async (box, length) => new BinaryReader(box ? await readMp4SampleRange(source, box.payloadOffset, Math.min(length, box.payloadSize), work) : new Uint8Array());
@@ -339725,27 +339869,31 @@ async function* scanProbeSamples(source, options, withCodec) {
339725
339869
  const index = trackIndex++;
339726
339870
  budget.checkStreams(trackIndex);
339727
339871
  const tkhd = await first(trak, "tkhd"), header = await read(tkhd, withCodec ? 96 : 36);
339728
- let id = index + 1, headerDuration = 0, width, height;
339872
+ let id = index + 1, headerDuration = 0, width, height, enabled = true, rotation = 0;
339729
339873
  if ((tkhd?.payloadSize ?? 0) >= 24) {
339730
339874
  const version = header.readU8();
339731
- header.skip(3 + (version === 1 ? 16 : 8));
339875
+ enabled = (header.readU24BE() & 1) !== 0;
339876
+ header.skip(version === 1 ? 16 : 8);
339732
339877
  id = header.readU32BE() || id;
339733
339878
  header.skip(4);
339734
339879
  headerDuration = version === 1 ? header.readU64BE() : header.readU32BE();
339735
339880
  if (withCodec) {
339736
- header.skip(52);
339881
+ header.skip(16);
339882
+ const matrix = Array.from({ length: 9 }, () => header.readI32BE());
339883
+ rotation = rotationFromMatrix(matrix);
339737
339884
  const w = Math.round(header.readFixed16_16()), h = Math.round(header.readFixed16_16());
339738
339885
  if (w > 0) width = w;
339739
339886
  if (h > 0) height = h;
339740
339887
  }
339741
339888
  }
339742
- const mdia = await first(trak, "mdia"), mdhd = await first(mdia, "mdhd"), media = await read(mdhd, 32);
339743
- let timescale = movieTimescale, declaredDuration = 0;
339889
+ const mdia = await first(trak, "mdia"), mdhd = await first(mdia, "mdhd"), media = await read(mdhd, 34);
339890
+ let timescale = movieTimescale, declaredDuration = 0, language = "und";
339744
339891
  if ((mdhd?.payloadSize ?? 0) >= 20) {
339745
339892
  const version = media.readU8();
339746
339893
  media.skip(3 + (version === 1 ? 16 : 8));
339747
339894
  timescale = media.readU32BE() || 1e3;
339748
339895
  declaredDuration = version === 1 ? media.readU64BE() : media.readU32BE();
339896
+ language = unpackIsoLanguage(media.readU16BE());
339749
339897
  }
339750
339898
  const hdlr = await first(mdia, "hdlr"), handler = await read(hdlr, 12);
339751
339899
  handler.skip(8);
@@ -339766,7 +339914,26 @@ async function* scanProbeSamples(source, options, withCodec) {
339766
339914
  break;
339767
339915
  }
339768
339916
  }
339769
- const track = { index, type, timescale, width: width ?? codec?.width, height: height ?? codec?.height, codec };
339917
+ let handlerName;
339918
+ if (mode === "streams" && hdlr && hdlr.payloadSize > 24) {
339919
+ const offset = hdlr.payloadOffset + 24;
339920
+ let length = hdlr.payloadSize - 24;
339921
+ for (let used = 0; used < length; ) {
339922
+ const bytes = await readMp4SampleRange(source, offset + used, Math.min(16384, length - used), work), nul = bytes.indexOf(0);
339923
+ budget.checkCpu();
339924
+ if (nul >= 0) {
339925
+ length = used + nul;
339926
+ break;
339927
+ }
339928
+ used += bytes.length;
339929
+ }
339930
+ const text = mp4SourceText(source, offset, length, work);
339931
+ for await (const chunk of text.chunks()) if (chunk) {
339932
+ handlerName = text;
339933
+ break;
339934
+ }
339935
+ }
339936
+ const track = { index, id, type, timescale, width: width ?? codec?.width, height: height ?? codec?.height, codec, enabled, rotation, language, handlerName };
339770
339937
  let defaults = { defaultSampleDescriptionIndex: 1, defaultSampleDuration: type === "video" ? 3e3 : 1024, defaultSampleSize: 0, defaultSampleFlags: 0 };
339771
339938
  if (mvex?.children) for await (const box of scanMp4Boxes(source, { ...mvex.children, ...work })) {
339772
339939
  if (box.type !== "trex" || box.payloadSize < 24) continue;
@@ -339822,28 +339989,70 @@ async function* scanProbeSamples(source, options, withCodec) {
339822
339989
  const trackDuration = result.value ?? (duration || declaredDuration || Math.round(headerDuration / Math.max(1, movieTimescale) * timescale));
339823
339990
  maxDuration = Math.max(maxDuration, trackDuration / Math.max(1, timescale));
339824
339991
  budget.checkDuration(maxDuration);
339992
+ if (mode === "summary") continue;
339825
339993
  let bytePos = 0, cursor = 0;
339994
+ const stats = { totalBytes: 0, count: 0, ticks: 0, firstPts: 0, hasCts: false };
339826
339995
  const packet = (sample) => {
339996
+ if (mode === "streams") {
339997
+ if (!stats.count) stats.firstPts = sample.pts;
339998
+ stats.count++;
339999
+ stats.totalBytes += sample.size;
340000
+ stats.ticks += sample.duration;
340001
+ stats.hasCts ||= sample.pts !== sample.dts;
340002
+ }
339827
340003
  const record = { sample, track, bytePos };
339828
340004
  bytePos += sample.size;
339829
340005
  return record;
339830
340006
  };
339831
340007
  for await (const sample of samples()) {
339832
340008
  if (type !== "subtitle" || !count || allPacked) {
339833
- yield packet(sample);
340009
+ const row2 = packet(sample);
340010
+ if (mode !== "streams") yield row2;
339834
340011
  continue;
339835
340012
  }
339836
340013
  const start = Math.max(cursor, Math.round(sample.pts));
339837
340014
  if (start > cursor) {
339838
- yield packet({ pts: cursor, dts: cursor, duration: start - cursor, size: 2, isKeyframe: true });
340015
+ const row2 = packet({ pts: cursor, dts: cursor, duration: start - cursor, size: 2, isKeyframe: true });
340016
+ if (mode !== "streams") yield row2;
339839
340017
  cursor = start;
339840
340018
  }
339841
340019
  const duration2 = Math.max(1, Math.round(sample.duration));
339842
- yield packet({ pts: cursor, dts: cursor, duration: duration2, size: sample.size + 2, isKeyframe: true });
340020
+ const row = packet({ pts: cursor, dts: cursor, duration: duration2, size: sample.size + 2, isKeyframe: true });
340021
+ if (mode !== "streams") yield row;
339843
340022
  cursor += duration2;
339844
340023
  }
340024
+ if (mode === "streams") yield buildProbeStream({ ...track, duration: trackDuration }, codec, stats, index, "mp4");
339845
340025
  }
339846
340026
  budget.checkDuration(maxDuration);
340027
+ return { duration: maxDuration, tracks: trackIndex };
340028
+ }
340029
+ async function probeMp4Source(source, options = {}) {
340030
+ const work = { ...options, budget: options.budget ?? new MediaBudgetTracker(options.limits) };
340031
+ const scan = scanProbeRecords(source, work, "summary"), summary = await scan.next();
340032
+ if (!summary.done) throw new Error("Unexpected MP4 summary row");
340033
+ const { duration, tracks } = summary.value, metadata = await probeMp4MetadataSource(source, duration, work);
340034
+ async function* streams() {
340035
+ for await (const row of scanProbeRecords(source, work, "streams")) if (!("sample" in row)) yield row;
340036
+ }
340037
+ return {
340038
+ streams: { [Symbol.asyncIterator]: streams },
340039
+ format: {
340040
+ filename: options.filename ?? "input.mp4",
340041
+ nb_streams: tracks,
340042
+ nb_programs: 0,
340043
+ format_name: "mov,mp4,m4a,3gp,3g2,mj2",
340044
+ format_long_name: "QuickTime / MOV",
340045
+ start_time: "0.000000",
340046
+ duration: duration.toFixed(6),
340047
+ size: String(source.size),
340048
+ bit_rate: duration > 0 ? String(Math.round(source.size * 8 / duration)) : "0",
340049
+ probe_score: 100,
340050
+ tags: metadata.tags
340051
+ },
340052
+ chapters: metadata.chapters,
340053
+ packets: options.showPackets ? scanMp4Packets(source, work) : void 0,
340054
+ frames: options.showFrames ? scanMp4Frames(source, work) : void 0
340055
+ };
339847
340056
  }
339848
340057
 
339849
340058
  export {
@@ -339872,7 +340081,8 @@ export {
339872
340081
  allMediaAsts,
339873
340082
  createMediaAstRegistry,
339874
340083
  scanMp4Packets,
339875
- scanMp4Frames
340084
+ scanMp4Frames,
340085
+ probeMp4Source
339876
340086
  };
339877
340087
  /*!
339878
340088
  Generated portable media codecs.