@poe-platform/safe-bash 0.1.799 → 0.1.800

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 (847) hide show
  1. package/README.md +32 -17
  2. package/dist/image-ast/index.browser.js +1384 -23
  3. package/dist/image-ast/index.js +1384 -23
  4. package/dist/mp4-ast/types.d.ts +1 -0
  5. package/dist/office-package/zip.d.ts +2 -0
  6. package/dist/office-package/zip.js +1 -1
  7. package/dist/pdf-ast/index.js +1 -1
  8. package/dist/safe-bash/chunks/{chunk-IUTD5FH5.js → chunk-46UISJCK.js} +1 -6
  9. package/dist/safe-bash/chunks/chunk-4SEW2Q6H.js +26 -0
  10. package/dist/safe-bash/chunks/{chunk-AKC46AF6.js → chunk-7YSRXFEG.js} +7 -40
  11. package/dist/safe-bash/chunks/{chunk-KTGR4U57.js → chunk-BHJE5LPZ.js} +1 -2
  12. package/dist/safe-bash/chunks/{chunk-TRVGCN3U.js → chunk-HHW7MGS2.js} +2 -2
  13. package/dist/safe-bash/chunks/{chunk-ZNAFMYIA.js → chunk-I7L3G3NX.js} +1 -1
  14. package/dist/safe-bash/chunks/{chunk-KMH2DF3I.js → chunk-JJSTTIEZ.js} +6 -1
  15. package/dist/safe-bash/chunks/{chunk-6IBTC4YL.js → chunk-JTLSUJ7V.js} +57 -20
  16. package/dist/safe-bash/chunks/chunk-K2VCOJ2B.js +111 -0
  17. package/dist/safe-bash/chunks/chunk-K4YMYFRJ.js +9802 -0
  18. package/dist/safe-bash/chunks/{chunk-SPYL72GN.js → chunk-KW24TAIU.js} +446 -5519
  19. package/dist/safe-bash/chunks/{chunk-ENR3HB2B.js → chunk-NLAW7KDI.js} +0 -1
  20. package/dist/safe-bash/chunks/{chunk-B3DDEDH2.js → chunk-PPYM75Z3.js} +1 -1
  21. package/dist/safe-bash/chunks/{chunk-NX2SQVON.js → chunk-RKKRJ54E.js} +19 -7
  22. package/dist/safe-bash/chunks/{chunk-WUNK5NXJ.js → chunk-RMWLWH7Q.js} +870 -953
  23. package/dist/safe-bash/chunks/{chunk-JSVX4VIA.js → chunk-TFGRKY43.js} +2 -1
  24. package/dist/safe-bash/chunks/{chunk-T5KKDMYB.js → chunk-TYD7EVUJ.js} +6 -0
  25. package/dist/safe-bash/chunks/{csvkit-W2UEKH6P.js → csvkit-QGP3GAOB.js} +1 -1
  26. package/dist/safe-bash/chunks/{ffmpeg-42CGASMV.js → ffmpeg-JTVH26MK.js} +1 -1
  27. package/dist/safe-bash/chunks/{gh-26GYLH6D.js → gh-I7QX7N5C.js} +1 -1
  28. package/dist/safe-bash/chunks/{git-YREKMUVD.js → git-MA7NKYVP.js} +1 -1
  29. package/dist/safe-bash/chunks/{imagemagick-3YIX4XO2.js → imagemagick-Y4NPWX2Q.js} +1 -1
  30. package/dist/safe-bash/chunks/{implementation-E3YMKU3Z.js → implementation-BWDKOVQJ.js} +1 -1
  31. package/dist/safe-bash/chunks/mmdc-44PELHDG.js +118 -0
  32. package/dist/safe-bash/chunks/{pdfimages-UE2UISP2.js → pdfimages-635TRW4Q.js} +1 -1
  33. package/dist/safe-bash/chunks/{pdfinfo-RGARKLI5.js → pdfinfo-FSDAA2KY.js} +3 -11
  34. package/dist/safe-bash/chunks/{pdftk-JY3WVCCC.js → pdftk-GQ5UH3VG.js} +1 -1
  35. package/dist/safe-bash/chunks/{pdftoppm-GPD3BMPY.js → pdftoppm-YTXQCAYT.js} +1 -1
  36. package/dist/safe-bash/chunks/{pdftotext-K7GQ2QJZ.js → pdftotext-CVA2G7FY.js} +1 -1
  37. package/dist/safe-bash/chunks/{qpdf-F4U7WUSU.js → qpdf-HZMIFG4A.js} +1 -1
  38. package/dist/safe-bash/chunks/{sips-RWENS7X5.js → sips-E7UBDP33.js} +1 -1
  39. package/dist/safe-bash/chunks/{soffice-IT6W2C5F.js → soffice-ELASUWUK.js} +1 -1
  40. package/dist/safe-bash/chunks/{wkhtmltopdf-JYNDAHIZ.js → wkhtmltopdf-EPO6YCMG.js} +1 -1
  41. package/dist/safe-bash/command-chunks/chunk-2FGJYFWZ.js +44 -0
  42. package/dist/safe-bash/command-chunks/chunk-2H4JTFIL.js +53 -0
  43. package/dist/safe-bash/command-chunks/{chunk-LLCXZKZ6.js → chunk-2QHG43WJ.js} +2 -2
  44. package/dist/safe-bash/command-chunks/chunk-364TMWBT.js +946 -0
  45. package/dist/safe-bash/command-chunks/{chunk-EIVW3X3N.js → chunk-3DT2YOGW.js} +11 -6
  46. package/dist/safe-bash/command-chunks/chunk-3E2OIS2J.js +7037 -0
  47. package/dist/safe-bash/command-chunks/{chunk-AIRGA2SU.js → chunk-3HXDA5PT.js} +1 -1
  48. package/dist/safe-bash/command-chunks/chunk-3LSOYLNV.js +1091 -0
  49. package/dist/safe-bash/command-chunks/chunk-4B7Y7S6E.js +61 -0
  50. package/dist/safe-bash/command-chunks/{chunk-HRLIAMXC.js → chunk-4C6QI5BQ.js} +3 -2
  51. package/dist/safe-bash/command-chunks/chunk-4ZHMW6F5.js +104 -0
  52. package/dist/safe-bash/command-chunks/{chunk-4ZALPDBV.js → chunk-53P53XFM.js} +2 -2
  53. package/dist/safe-bash/command-chunks/chunk-5LSGEIZY.js +379 -0
  54. package/dist/safe-bash/command-chunks/{chunk-MKQVQMXO.js → chunk-5LU4UCBR.js} +1 -1
  55. package/dist/safe-bash/command-chunks/chunk-5T7CRJHW.js +560 -0
  56. package/dist/safe-bash/command-chunks/chunk-5TBUOBDE.js +346 -0
  57. package/dist/safe-bash/command-chunks/chunk-5XY4DTNG.js +34 -0
  58. package/dist/safe-bash/command-chunks/chunk-5ZMZ573Q.js +140 -0
  59. package/dist/safe-bash/command-chunks/{chunk-OPUJSTHS.js → chunk-67IQF5GC.js} +200 -66
  60. package/dist/safe-bash/command-chunks/chunk-67QKREJK.js +347 -0
  61. package/dist/safe-bash/command-chunks/chunk-6EPHJGGF.js +23 -0
  62. package/dist/safe-bash/command-chunks/chunk-6F4XCVON.js +266 -0
  63. package/dist/safe-bash/command-chunks/{chunk-ESMCX3YV.js → chunk-6HMX4CQS.js} +669 -130
  64. package/dist/safe-bash/command-chunks/chunk-7K6JYKPJ.js +422 -0
  65. package/dist/safe-bash/command-chunks/chunk-7N2LI2KO.js +206 -0
  66. package/dist/safe-bash/command-chunks/chunk-7RGB363W.js +362 -0
  67. package/dist/safe-bash/command-chunks/{pptx-GBPNWNEP-7EQEVXV5.js → chunk-AI5JAXQF.js} +34820 -18029
  68. package/dist/safe-bash/command-chunks/chunk-AMO3THU4.js +105 -0
  69. package/dist/safe-bash/command-chunks/chunk-BAGCY35S.js +231 -0
  70. package/dist/safe-bash/command-chunks/chunk-BAXU7B5Z.js +101 -0
  71. package/dist/safe-bash/command-chunks/{chunk-KMCZ6P4O.js → chunk-BKCNF5U3.js} +68 -7
  72. package/dist/safe-bash/command-chunks/chunk-BNOU5YQS.js +182 -0
  73. package/dist/safe-bash/command-chunks/chunk-C7I25AAL.js +25 -0
  74. package/dist/safe-bash/command-chunks/chunk-CKXV2CLD.js +65 -0
  75. package/dist/safe-bash/command-chunks/chunk-CQ5YGOGB.js +150 -0
  76. package/dist/safe-bash/command-chunks/{chunk-I3K5RYU4.js → chunk-D4OP2BR3.js} +72 -24
  77. package/dist/safe-bash/command-chunks/chunk-DB453IE6.js +122 -0
  78. package/dist/safe-bash/command-chunks/chunk-DOKKNRRM.js +87 -0
  79. package/dist/safe-bash/command-chunks/{chunk-2PX5B7T5.js → chunk-DQAVUDDX.js} +2 -2
  80. package/dist/safe-bash/command-chunks/chunk-DT7BCTWY.js +249 -0
  81. package/dist/safe-bash/command-chunks/chunk-E2LB7FRT.js +42 -0
  82. package/dist/safe-bash/command-chunks/chunk-EK6YNAXT.js +343 -0
  83. package/dist/safe-bash/command-chunks/chunk-EQ4HV54N.js +22 -0
  84. package/dist/safe-bash/command-chunks/chunk-ERYJLO6G.js +293 -0
  85. package/dist/safe-bash/command-chunks/{chunk-4ONEXMD3.js → chunk-EUSPTFAX.js} +1 -1
  86. package/dist/safe-bash/command-chunks/chunk-FKKB5X5V.js +97 -0
  87. package/dist/safe-bash/command-chunks/chunk-FXELCPFX.js +195 -0
  88. package/dist/safe-bash/command-chunks/{chunk-JCNNOMBV.js → chunk-GI4CJED2.js} +3 -2
  89. package/dist/safe-bash/command-chunks/{chunk-CU5RLO62.js → chunk-GLOZX57Y.js} +92 -18
  90. package/dist/safe-bash/command-chunks/chunk-GMIHJYDG.js +331 -0
  91. package/dist/safe-bash/command-chunks/chunk-H622NS6Z.js +11 -0
  92. package/dist/safe-bash/command-chunks/{chunk-UI32HWGS.js → chunk-HMOZ6XVJ.js} +1 -1
  93. package/dist/safe-bash/command-chunks/{chunk-AVSPNLWV.js → chunk-I237SNW5.js} +1 -1
  94. package/dist/safe-bash/command-chunks/{chunk-ZS3QPNUL.js → chunk-IR2BY7EL.js} +21 -6
  95. package/dist/safe-bash/command-chunks/chunk-IYPAQ7PH.js +42 -0
  96. package/dist/safe-bash/command-chunks/chunk-JN7WIP6S.js +94 -0
  97. package/dist/safe-bash/command-chunks/chunk-JNZ3CVAE.js +147 -0
  98. package/dist/safe-bash/command-chunks/{chunk-HLBX5IRS.js → chunk-JQ74HC37.js} +24 -32
  99. package/dist/safe-bash/command-chunks/chunk-KFVV7ZJO.js +216 -0
  100. package/dist/safe-bash/command-chunks/{chunk-G4PNVO6Z.js → chunk-KP7AO66M.js} +1 -1
  101. package/dist/safe-bash/command-chunks/chunk-KWESKQHR.js +25 -0
  102. package/dist/safe-bash/command-chunks/chunk-KYSPGS33.js +41 -0
  103. package/dist/safe-bash/command-chunks/{chunk-C7IHMJEW.js → chunk-KZC5UWFF.js} +2 -2
  104. package/dist/safe-bash/command-chunks/chunk-L6DVEBW3.js +553 -0
  105. package/dist/safe-bash/command-chunks/chunk-LC2MFKT4.js +2489 -0
  106. package/dist/safe-bash/command-chunks/chunk-LE5LZNHE.js +204 -0
  107. package/dist/safe-bash/command-chunks/chunk-MDH5T4OS.js +41 -0
  108. package/dist/safe-bash/command-chunks/chunk-MM6HU6CX.js +20 -0
  109. package/dist/safe-bash/command-chunks/{chunk-MYJAZ3U2.js → chunk-MPL2466A.js} +2 -2
  110. package/dist/safe-bash/command-chunks/{chunk-VZHRZMS7.js → chunk-NAY27PXB.js} +1 -1
  111. package/dist/safe-bash/command-chunks/chunk-NCD7PEWH.js +298 -0
  112. package/dist/safe-bash/command-chunks/chunk-NFGI5IGF.js +266 -0
  113. package/dist/safe-bash/command-chunks/{chunk-KVFCSLKK.js → chunk-NXEQ3ESQ.js} +6 -0
  114. package/dist/safe-bash/command-chunks/{chunk-3VGGYEDH.js → chunk-ORYGZYKW.js} +4 -3
  115. package/dist/safe-bash/command-chunks/{chunk-OLQG7ZCN.js → chunk-PEF7K3UQ.js} +136 -75
  116. package/dist/safe-bash/command-chunks/chunk-PII4YEZW.js +123 -0
  117. package/dist/safe-bash/command-chunks/{chunk-43GSSUAY.js → chunk-PJJUYO3R.js} +5 -5
  118. package/dist/safe-bash/command-chunks/{chunk-ZT4KSS2V.js → chunk-PTT3I223.js} +1 -1
  119. package/dist/safe-bash/command-chunks/chunk-Q3DII3Q7.js +174 -0
  120. package/dist/safe-bash/command-chunks/chunk-Q3EWDEUQ.js +185 -0
  121. package/dist/safe-bash/command-chunks/{chunk-2FUAW6GO.js → chunk-QI7LGHJJ.js} +58 -9
  122. package/dist/safe-bash/command-chunks/{chunk-6BETHLXZ.js → chunk-QJAFJP2G.js} +1 -1
  123. package/dist/safe-bash/command-chunks/chunk-QNIMV57G.js +63 -0
  124. package/dist/safe-bash/command-chunks/{chunk-VVI4Z73I.js → chunk-QP4R6GLA.js} +5 -1
  125. package/dist/safe-bash/command-chunks/{chunk-LPORMIZS.js → chunk-QWIDNAAK.js} +8 -8
  126. package/dist/safe-bash/command-chunks/chunk-RVLO4DYT.js +35 -0
  127. package/dist/safe-bash/command-chunks/{chunk-X2YQLGKS.js → chunk-SAMH7SQE.js} +4 -4
  128. package/dist/safe-bash/command-chunks/chunk-SEM36PG5.js +11 -0
  129. package/dist/safe-bash/command-chunks/chunk-STC3LEWJ.js +634 -0
  130. package/dist/safe-bash/command-chunks/chunk-SVULUDOP.js +331 -0
  131. package/dist/safe-bash/command-chunks/chunk-TEVJJPTC.js +1392 -0
  132. package/dist/safe-bash/command-chunks/{chunk-ZXKW7SJ2.js → chunk-TYCGMRLM.js} +2 -2
  133. package/dist/safe-bash/command-chunks/chunk-UG7SMZFF.js +178 -0
  134. package/dist/safe-bash/command-chunks/{chunk-YZ5SVZFD.js → chunk-UMDIOL3O.js} +3 -3
  135. package/dist/safe-bash/command-chunks/chunk-UXSR5BZH.js +136 -0
  136. package/dist/safe-bash/command-chunks/chunk-V6BEDRMQ.js +112 -0
  137. package/dist/safe-bash/command-chunks/chunk-V6MSPQLA.js +362 -0
  138. package/dist/safe-bash/command-chunks/{chunk-J4PEQWSF.js → chunk-VGG2DL5Q.js} +0 -1
  139. package/dist/safe-bash/command-chunks/{chunk-SG424QWS.js → chunk-VL67NWNS.js} +1 -1
  140. package/dist/safe-bash/command-chunks/chunk-WB5SVIG7.js +1034 -0
  141. package/dist/safe-bash/command-chunks/{src-UJOWAS2S.js → chunk-WD3ERGRY.js} +77 -277
  142. package/dist/safe-bash/command-chunks/{chunk-YFSDDFGV.js → chunk-WH627NJL.js} +446 -53
  143. package/dist/safe-bash/command-chunks/chunk-WNE7FPVR.js +236 -0
  144. package/dist/safe-bash/command-chunks/{chunk-UKS2XJZI.js → chunk-WPYIOKE3.js} +4 -4
  145. package/dist/safe-bash/command-chunks/chunk-XETLEHZP.js +1227 -0
  146. package/dist/safe-bash/command-chunks/chunk-XIIBTGC5.js +580 -0
  147. package/dist/safe-bash/command-chunks/chunk-XJXU3VVH.js +737 -0
  148. package/dist/safe-bash/command-chunks/chunk-Y5INTD6S.js +220 -0
  149. package/dist/safe-bash/command-chunks/{chunk-5ZSM4UFN.js → chunk-YGC6OS5O.js} +3 -56
  150. package/dist/safe-bash/command-chunks/chunk-YJDV76GL.js +262 -0
  151. package/dist/safe-bash/command-chunks/chunk-YOF7R4OY.js +80 -0
  152. package/dist/safe-bash/command-chunks/chunk-Z7RVSD5K.js +594 -0
  153. package/dist/safe-bash/command-chunks/chunk-ZHUWOUWB.js +618 -0
  154. package/dist/safe-bash/command-chunks/{model-store-L35QTZMJ.js → model-store-WPKMRPV4.js} +2 -2
  155. package/dist/safe-bash/command-chunks/pptx-7G52EJ6L-4JACH5FB.js +625 -0
  156. package/dist/safe-bash/command-chunks/python-worker-source-TYOFJMCW.js +4 -0
  157. package/dist/safe-bash/command-chunks/src-ICMQISAA.js +501 -0
  158. package/dist/safe-bash/commands/archive/create.d.ts +1 -17
  159. package/dist/safe-bash/commands/archive/create.js +1 -252
  160. package/dist/safe-bash/commands/archive/extract.d.ts +1 -11
  161. package/dist/safe-bash/commands/archive/extract.js +1 -640
  162. package/dist/safe-bash/commands/archive/format.d.ts +1 -32
  163. package/dist/safe-bash/commands/archive/format.js +1 -225
  164. package/dist/safe-bash/commands/archive/index.d.ts +5 -10
  165. package/dist/safe-bash/commands/archive/index.js +6 -931
  166. package/dist/safe-bash/commands/archive/listing.d.ts +1 -2
  167. package/dist/safe-bash/commands/archive/listing.js +1 -21
  168. package/dist/safe-bash/commands/archive/modes.d.ts +1 -5
  169. package/dist/safe-bash/commands/archive/modes.js +1 -182
  170. package/dist/safe-bash/commands/archive/options.d.ts +1 -53
  171. package/dist/safe-bash/commands/archive/options.js +1 -462
  172. package/dist/safe-bash/commands/archive/stream.d.ts +1 -22
  173. package/dist/safe-bash/commands/archive/stream.js +1 -188
  174. package/dist/safe-bash/commands/archive/transform.d.ts +1 -16
  175. package/dist/safe-bash/commands/archive/transform.js +1 -85
  176. package/dist/safe-bash/commands/archive/unzip/arguments.d.ts +1 -53
  177. package/dist/safe-bash/commands/archive/unzip/arguments.js +1 -322
  178. package/dist/safe-bash/commands/archive/unzip/safety.d.ts +1 -32
  179. package/dist/safe-bash/commands/archive/unzip/safety.js +1 -295
  180. package/dist/safe-bash/commands/archive/unzip.d.ts +1 -3
  181. package/dist/safe-bash/commands/archive/unzip.js +1 -398
  182. package/dist/safe-bash/commands/archive/zip/aes.d.ts +1 -17
  183. package/dist/safe-bash/commands/archive/zip/aes.js +1 -156
  184. package/dist/safe-bash/commands/archive/zip/comments.d.ts +1 -17
  185. package/dist/safe-bash/commands/archive/zip/comments.js +1 -83
  186. package/dist/safe-bash/commands/archive/zip/crc.d.ts +1 -1
  187. package/dist/safe-bash/commands/archive/zip/crc.js +1 -1
  188. package/dist/safe-bash/commands/archive/zip/crypto.d.ts +1 -19
  189. package/dist/safe-bash/commands/archive/zip/crypto.js +1 -118
  190. package/dist/safe-bash/commands/archive/zip/dates.d.ts +1 -4
  191. package/dist/safe-bash/commands/archive/zip/dates.js +1 -66
  192. package/dist/safe-bash/commands/archive/zip/environment.d.ts +1 -2
  193. package/dist/safe-bash/commands/archive/zip/environment.js +1 -62
  194. package/dist/safe-bash/commands/archive/zip/grow.d.ts +1 -3
  195. package/dist/safe-bash/commands/archive/zip/grow.js +1 -2
  196. package/dist/safe-bash/commands/archive/zip/help.d.ts +1 -4
  197. package/dist/safe-bash/commands/archive/zip/help.js +1 -182
  198. package/dist/safe-bash/commands/archive/zip/line-endings.d.ts +1 -2
  199. package/dist/safe-bash/commands/archive/zip/line-endings.js +1 -194
  200. package/dist/safe-bash/commands/archive/zip/log.d.ts +1 -22
  201. package/dist/safe-bash/commands/archive/zip/log.js +1 -159
  202. package/dist/safe-bash/commands/archive/zip/lzma.d.ts +1 -9
  203. package/dist/safe-bash/commands/archive/zip/lzma.js +1 -40
  204. package/dist/safe-bash/commands/archive/zip/move.d.ts +1 -11
  205. package/dist/safe-bash/commands/archive/zip/move.js +1 -59
  206. package/dist/safe-bash/commands/archive/zip/names.d.ts +1 -2
  207. package/dist/safe-bash/commands/archive/zip/names.js +1 -33
  208. package/dist/safe-bash/commands/archive/zip/options.d.ts +1 -13
  209. package/dist/safe-bash/commands/archive/zip/options.js +1 -124
  210. package/dist/safe-bash/commands/archive/zip/repair.d.ts +1 -10
  211. package/dist/safe-bash/commands/archive/zip/repair.js +1 -392
  212. package/dist/safe-bash/commands/archive/zip/safety.d.ts +1 -54
  213. package/dist/safe-bash/commands/archive/zip/safety.js +1 -360
  214. package/dist/safe-bash/commands/archive/zip/sfx.d.ts +1 -4
  215. package/dist/safe-bash/commands/archive/zip/sfx.js +1 -52
  216. package/dist/safe-bash/commands/archive/zip/test-command.d.ts +1 -5
  217. package/dist/safe-bash/commands/archive/zip/test-command.js +1 -101
  218. package/dist/safe-bash/commands/archive/zip/volumes.d.ts +1 -21
  219. package/dist/safe-bash/commands/archive/zip/volumes.js +1 -281
  220. package/dist/safe-bash/commands/archive/zip/zip64.d.ts +1 -30
  221. package/dist/safe-bash/commands/archive/zip/zip64.js +1 -227
  222. package/dist/safe-bash/commands/archive/zip-format.d.ts +1 -68
  223. package/dist/safe-bash/commands/archive/zip-format.js +1 -1075
  224. package/dist/safe-bash/commands/archive/zip.d.ts +1 -3
  225. package/dist/safe-bash/commands/archive/zip.js +1 -1523
  226. package/dist/safe-bash/commands/awk/index.d.ts +2 -0
  227. package/dist/safe-bash/commands/awk/index.js +2 -0
  228. package/dist/safe-bash/commands/bytes/compression/index.js +2 -1
  229. package/dist/safe-bash/commands/curl/index.d.ts +2 -0
  230. package/dist/safe-bash/commands/curl/index.js +2 -0
  231. package/dist/safe-bash/commands/diff/index.d.ts +2 -0
  232. package/dist/safe-bash/commands/diff/index.js +2 -0
  233. package/dist/safe-bash/commands/diff-patch/diff-format.d.ts +1 -10
  234. package/dist/safe-bash/commands/diff-patch/diff-format.js +1 -237
  235. package/dist/safe-bash/commands/diff-patch/diff-options.d.ts +1 -38
  236. package/dist/safe-bash/commands/diff-patch/diff-options.js +1 -261
  237. package/dist/safe-bash/commands/diff-patch/diff-output.d.ts +1 -20
  238. package/dist/safe-bash/commands/diff-patch/diff-output.js +1 -290
  239. package/dist/safe-bash/commands/diff-patch/diff.d.ts +1 -2
  240. package/dist/safe-bash/commands/diff-patch/diff.js +1 -656
  241. package/dist/safe-bash/commands/diff-patch/index.d.ts +4 -5
  242. package/dist/safe-bash/commands/diff-patch/index.js +8 -333
  243. package/dist/safe-bash/commands/diff-patch/patch-envelope.d.ts +1 -2
  244. package/dist/safe-bash/commands/diff-patch/patch-envelope.js +1 -63
  245. package/dist/safe-bash/commands/diff-patch/patch-formats.d.ts +1 -7
  246. package/dist/safe-bash/commands/diff-patch/patch-formats.js +1 -264
  247. package/dist/safe-bash/commands/diff-patch/patch-gnu-paths.d.ts +1 -41
  248. package/dist/safe-bash/commands/diff-patch/patch-gnu-paths.js +1 -263
  249. package/dist/safe-bash/commands/diff-patch/patch-gnu-reject.d.ts +1 -3
  250. package/dist/safe-bash/commands/diff-patch/patch-gnu-reject.js +1 -100
  251. package/dist/safe-bash/commands/diff-patch/patch-path.d.ts +1 -3
  252. package/dist/safe-bash/commands/diff-patch/patch-path.js +1 -91
  253. package/dist/safe-bash/commands/diff-patch/patch-publication.d.ts +1 -13
  254. package/dist/safe-bash/commands/diff-patch/patch-publication.js +1 -107
  255. package/dist/safe-bash/commands/diff-patch/patch.d.ts +1 -2
  256. package/dist/safe-bash/commands/diff-patch/patch.js +1 -653
  257. package/dist/safe-bash/commands/diff-patch/shared.d.ts +1 -53
  258. package/dist/safe-bash/commands/diff-patch/shared.js +1 -267
  259. package/dist/safe-bash/commands/diff-patch/unified.d.ts +1 -52
  260. package/dist/safe-bash/commands/diff-patch/unified.js +1 -385
  261. package/dist/safe-bash/commands/directory-admission.d.ts +1 -3
  262. package/dist/safe-bash/commands/directory-admission.js +1 -26
  263. package/dist/safe-bash/commands/find/index.d.ts +2 -0
  264. package/dist/safe-bash/commands/find/index.js +2 -0
  265. package/dist/safe-bash/commands/find-format.d.ts +1 -20
  266. package/dist/safe-bash/commands/find-format.js +1 -161
  267. package/dist/safe-bash/commands/find.d.ts +2 -18
  268. package/dist/safe-bash/commands/find.js +2 -1236
  269. package/dist/safe-bash/commands/gzip/index.d.ts +2 -0
  270. package/dist/safe-bash/commands/gzip/index.js +2 -0
  271. package/dist/safe-bash/commands/line-endings/index.browser.js +1 -1
  272. package/dist/safe-bash/commands/line-endings/index.d.ts +1 -1
  273. package/dist/safe-bash/commands/line-endings/index.js +1 -262
  274. package/dist/safe-bash/commands/llm/index.browser.js +3 -1
  275. package/dist/safe-bash/commands/mdq/index.browser.js +2 -2
  276. package/dist/safe-bash/commands/metadata/chmod.d.ts +1 -4
  277. package/dist/safe-bash/commands/metadata/chmod.js +2 -63
  278. package/dist/safe-bash/commands/network/aggregate.d.ts +1 -4
  279. package/dist/safe-bash/commands/network/aggregate.js +1 -23
  280. package/dist/safe-bash/commands/network/args.d.ts +1 -68
  281. package/dist/safe-bash/commands/network/args.js +1 -321
  282. package/dist/safe-bash/commands/network/authorizer.d.ts +1 -6
  283. package/dist/safe-bash/commands/network/authorizer.js +1 -33
  284. package/dist/safe-bash/commands/network/body.d.ts +1 -9
  285. package/dist/safe-bash/commands/network/body.js +1 -393
  286. package/dist/safe-bash/commands/network/curl.d.ts +3 -13
  287. package/dist/safe-bash/commands/network/curl.js +6 -693
  288. package/dist/safe-bash/commands/network/deadline.d.ts +1 -2
  289. package/dist/safe-bash/commands/network/deadline.js +1 -14
  290. package/dist/safe-bash/commands/network/decode.d.ts +1 -2
  291. package/dist/safe-bash/commands/network/decode.js +1 -79
  292. package/dist/safe-bash/commands/network/fetch-transport.d.ts +1 -7
  293. package/dist/safe-bash/commands/network/fetch-transport.js +1 -94
  294. package/dist/safe-bash/commands/network/form-content-type.d.ts +1 -5
  295. package/dist/safe-bash/commands/network/form-content-type.js +1 -63
  296. package/dist/safe-bash/commands/network/form-headers.d.ts +1 -2
  297. package/dist/safe-bash/commands/network/form-headers.js +1 -35
  298. package/dist/safe-bash/commands/network/glob.d.ts +1 -7
  299. package/dist/safe-bash/commands/network/glob.js +1 -134
  300. package/dist/safe-bash/commands/network/index.browser.js +2 -10
  301. package/dist/safe-bash/commands/network/input.d.ts +1 -5
  302. package/dist/safe-bash/commands/network/input.js +1 -276
  303. package/dist/safe-bash/commands/network/output.d.ts +1 -6
  304. package/dist/safe-bash/commands/network/output.js +1 -131
  305. package/dist/safe-bash/commands/network/private-address.d.ts +1 -1
  306. package/dist/safe-bash/commands/network/private-address.js +1 -44
  307. package/dist/safe-bash/commands/network/shared.d.ts +1 -14
  308. package/dist/safe-bash/commands/network/shared.js +1 -71
  309. package/dist/safe-bash/commands/network/types.d.ts +1 -37
  310. package/dist/safe-bash/commands/network/types.js +1 -31
  311. package/dist/safe-bash/commands/network/url.d.ts +1 -2
  312. package/dist/safe-bash/commands/network/url.js +1 -30
  313. package/dist/safe-bash/commands/network/wget.d.ts +3 -3
  314. package/dist/safe-bash/commands/network/wget.js +10 -331
  315. package/dist/safe-bash/commands/node/index.browser.js +4 -5
  316. package/dist/safe-bash/commands/node/index.d.ts +3 -3
  317. package/dist/safe-bash/commands/node/index.js +5 -0
  318. package/dist/safe-bash/commands/node/safejs.d.ts +3 -3
  319. package/dist/safe-bash/commands/node/safejs.js +6 -1
  320. package/dist/safe-bash/commands/node/types.d.ts +1 -1
  321. package/dist/safe-bash/commands/node/unconfigured.d.ts +3 -0
  322. package/dist/safe-bash/commands/node/unconfigured.js +10 -0
  323. package/dist/safe-bash/commands/op/index.browser.js +2 -2
  324. package/dist/safe-bash/commands/patch/index.d.ts +2 -0
  325. package/dist/safe-bash/commands/patch/index.js +2 -0
  326. package/dist/safe-bash/commands/pdfinfo/index.js +2 -1
  327. package/dist/safe-bash/commands/predicates.js +3 -4
  328. package/dist/safe-bash/commands/python/index.browser.js +5 -5
  329. package/dist/safe-bash/commands/python/llm-capability.d.ts +1 -0
  330. package/dist/safe-bash/commands/python/llm-capability.js +27 -7
  331. package/dist/safe-bash/commands/python/llm-module.js +11 -0
  332. package/dist/safe-bash/commands/python/manifest.d.ts +1 -0
  333. package/dist/safe-bash/commands/python/manifest.js +9 -5
  334. package/dist/safe-bash/commands/python/provisioning.js +1 -1
  335. package/dist/safe-bash/commands/regex-execution/matching.js +1 -2
  336. package/dist/safe-bash/commands/regex-execution/public.browser.js +5 -5
  337. package/dist/safe-bash/commands/search/index.d.ts +1 -1
  338. package/dist/safe-bash/commands/search/index.js +1 -347
  339. package/dist/safe-bash/commands/search/portable.d.ts +2 -2
  340. package/dist/safe-bash/commands/search/portable.js +3 -2
  341. package/dist/safe-bash/commands/sed/index.d.ts +2 -0
  342. package/dist/safe-bash/commands/sed/index.js +2 -0
  343. package/dist/safe-bash/commands/tar/index.d.ts +2 -0
  344. package/dist/safe-bash/commands/tar/index.js +2 -0
  345. package/dist/safe-bash/commands/text-programs/awk-inspection.d.ts +1 -19
  346. package/dist/safe-bash/commands/text-programs/awk-inspection.js +1 -50
  347. package/dist/safe-bash/commands/text-programs/awk-pipes.d.ts +2 -0
  348. package/dist/safe-bash/commands/text-programs/awk-pipes.js +2 -0
  349. package/dist/safe-bash/commands/text-programs/awk-pretty.d.ts +1 -3
  350. package/dist/safe-bash/commands/text-programs/awk-pretty.js +1 -197
  351. package/dist/safe-bash/commands/text-programs/awk-quote.d.ts +1 -2
  352. package/dist/safe-bash/commands/text-programs/awk-quote.js +1 -15
  353. package/dist/safe-bash/commands/text-programs/awk-reader.d.ts +1 -42
  354. package/dist/safe-bash/commands/text-programs/awk-reader.js +1 -449
  355. package/dist/safe-bash/commands/text-programs/awk-retention.d.ts +1 -13
  356. package/dist/safe-bash/commands/text-programs/awk-retention.js +1 -51
  357. package/dist/safe-bash/commands/text-programs/awk-runtime.d.ts +1 -150
  358. package/dist/safe-bash/commands/text-programs/awk-runtime.js +1 -2627
  359. package/dist/safe-bash/commands/text-programs/awk-syntax.d.ts +1 -142
  360. package/dist/safe-bash/commands/text-programs/awk-syntax.js +1 -509
  361. package/dist/safe-bash/commands/text-programs/awk-values.d.ts +1 -32
  362. package/dist/safe-bash/commands/text-programs/awk-values.js +1 -386
  363. package/dist/safe-bash/commands/text-programs/awk.d.ts +1 -3
  364. package/dist/safe-bash/commands/text-programs/awk.js +1 -361
  365. package/dist/safe-bash/commands/text-programs/inplace.d.ts +1 -16
  366. package/dist/safe-bash/commands/text-programs/inplace.js +1 -155
  367. package/dist/safe-bash/commands/text-programs/sed.d.ts +1 -3
  368. package/dist/safe-bash/commands/text-programs/sed.js +1 -1647
  369. package/dist/safe-bash/commands/unzip/index.d.ts +2 -0
  370. package/dist/safe-bash/commands/unzip/index.js +2 -0
  371. package/dist/safe-bash/commands/wget/index.d.ts +2 -0
  372. package/dist/safe-bash/commands/wget/index.js +2 -0
  373. package/dist/safe-bash/commands/yq/index.browser.js +7 -2
  374. package/dist/safe-bash/commands/yq/index.d.ts +1 -6
  375. package/dist/safe-bash/commands/yq/index.js +1 -36
  376. package/dist/safe-bash/commands/zip/index.d.ts +2 -0
  377. package/dist/safe-bash/commands/zip/index.js +2 -0
  378. package/dist/safe-bash/core.browser.js +1 -1
  379. package/dist/safe-bash/core.d.ts +8 -1
  380. package/dist/safe-bash/core.js +7 -1
  381. package/dist/safe-bash/fs/s3/index.d.ts +2 -2
  382. package/dist/safe-bash/fs/s3/index.js +1 -1
  383. package/dist/safe-bash/full-core.browser.js +254 -223
  384. package/dist/safe-bash/jobs.browser.js +2 -2
  385. package/dist/safe-bash/lazy-mmdc.d.ts +6 -0
  386. package/dist/safe-bash/lazy-mmdc.js +23 -0
  387. package/dist/safe-bash/opt-in/commands/yq/mike.js +6 -13
  388. package/dist/safe-bash/opt-in/commands/yq/native-work.d.ts +1 -0
  389. package/dist/safe-bash/opt-in/commands/yq/native-work.js +17 -0
  390. package/dist/safe-bash/optional-host.browser.js +8 -4
  391. package/dist/safe-bash/optional-host.d.ts +1 -1
  392. package/dist/safe-bash/optional-host.js +1 -1
  393. package/dist/safe-bash/playwright/ability-execution.js +3 -2
  394. package/dist/safe-bash/playwright/adapter.js +1 -1
  395. package/dist/safe-bash/playwright/controller.js +9 -8
  396. package/dist/safe-bash/playwright/modal-capabilities.js +2 -1
  397. package/dist/safe-bash/playwright/native-json-snapshot.js +4 -3
  398. package/dist/safe-bash/playwright/native-snapshot.js +5 -4
  399. package/dist/safe-bash/playwright/open-options.js +3 -3
  400. package/dist/safe-bash/playwright/resource-limit.d.ts +2 -0
  401. package/dist/safe-bash/playwright/resource-limit.js +4 -0
  402. package/dist/safe-bash/playwright/session-configuration.js +8 -3
  403. package/dist/safe-bash/playwright/snapshot.js +8 -7
  404. package/dist/safe-bash/playwright/standard-capabilities.js +5 -4
  405. package/dist/safe-bash/plugins/index.browser.js +14 -16
  406. package/dist/safe-bash/registry-entry.browser.js +14 -16
  407. package/dist/safe-bash/shell/arrays/bindings.d.ts +3 -5
  408. package/dist/safe-bash/shell/arrays/bindings.js +6 -2
  409. package/dist/safe-bash/shell/input.js +16 -14
  410. package/dist/safe-bash/shell/runtime.d.ts +3 -0
  411. package/dist/safe-bash/shell/runtime.js +316 -64
  412. package/dist/safe-bash/shell/types.d.ts +2 -0
  413. package/dist/safe-bash/shell/value-state.js +17 -2
  414. package/dist/safe-bash/shell/worker-limits.js +1 -0
  415. package/dist/safe-bash/shell-entry.browser.js +13 -15
  416. package/dist/safe-bash/trap.browser.d.ts +3 -0
  417. package/dist/safe-bash/trap.browser.js +14 -0
  418. package/dist/safe-bash/worker/host.js +1 -1
  419. package/dist/safe-bash-command-apply-patch/apply.js +2 -2
  420. package/dist/safe-bash-command-apply-patch/index.js +3 -3
  421. package/dist/safe-bash-command-awk/LICENSE +21 -0
  422. package/dist/safe-bash-command-awk/awk-inspection.d.ts +19 -0
  423. package/dist/safe-bash-command-awk/awk-inspection.js +9 -0
  424. package/dist/safe-bash-command-awk/awk-pipes.d.ts +19 -0
  425. package/dist/safe-bash-command-awk/awk-pipes.js +8 -0
  426. package/dist/safe-bash-command-awk/awk-pretty.d.ts +3 -0
  427. package/dist/safe-bash-command-awk/awk-pretty.js +8 -0
  428. package/dist/safe-bash-command-awk/awk-quote.d.ts +2 -0
  429. package/dist/safe-bash-command-awk/awk-quote.js +7 -0
  430. package/dist/safe-bash-command-awk/awk-reader.d.ts +42 -0
  431. package/dist/safe-bash-command-awk/awk-reader.js +9 -0
  432. package/dist/safe-bash-command-awk/awk-retention.d.ts +13 -0
  433. package/dist/safe-bash-command-awk/awk-retention.js +7 -0
  434. package/dist/safe-bash-command-awk/awk-runtime.d.ts +151 -0
  435. package/dist/safe-bash-command-awk/awk-runtime.js +11 -0
  436. package/dist/safe-bash-command-awk/awk-syntax.d.ts +144 -0
  437. package/dist/safe-bash-command-awk/awk-syntax.js +14 -0
  438. package/dist/safe-bash-command-awk/awk-values.d.ts +32 -0
  439. package/dist/safe-bash-command-awk/awk-values.js +35 -0
  440. package/dist/safe-bash-command-awk/awk.d.ts +3 -0
  441. package/dist/safe-bash-command-awk/awk.js +16 -0
  442. package/dist/safe-bash-command-awk/index.d.ts +7 -0
  443. package/dist/safe-bash-command-awk/index.js +36 -0
  444. package/dist/safe-bash-command-bc/index.d.ts +4 -0
  445. package/dist/safe-bash-command-bc/index.js +15 -176
  446. package/dist/safe-bash-command-column/column.js +3 -3
  447. package/dist/safe-bash-command-column/index.js +3 -3
  448. package/dist/safe-bash-command-column/layout.js +2 -2
  449. package/dist/safe-bash-command-csplit/command.js +2 -2
  450. package/dist/safe-bash-command-csplit/index.js +2 -2
  451. package/dist/safe-bash-command-csvkit/contracts.d.ts +1 -0
  452. package/dist/safe-bash-command-csvkit/csvpy-interpreter.d.ts +2 -1
  453. package/dist/safe-bash-command-csvkit/default-csvpy.d.ts +11 -0
  454. package/dist/safe-bash-command-csvkit/errors.js +22 -0
  455. package/dist/safe-bash-command-csvkit/index.d.ts +1 -0
  456. package/dist/safe-bash-command-csvkit/index.js +172 -4
  457. package/dist/safe-bash-command-csvkit/python-worker-browser.d.ts +3 -0
  458. package/dist/safe-bash-command-csvkit/python-worker-browser.js +16 -0
  459. package/dist/safe-bash-command-csvkit/python-worker-contract.d.ts +20 -0
  460. package/dist/safe-bash-command-csvkit/python-worker-node.d.ts +3 -0
  461. package/dist/safe-bash-command-csvkit/python-worker-node.js +9 -0
  462. package/dist/safe-bash-command-csvkit/runtime.d.ts +1 -0
  463. package/dist/safe-bash-command-curl/LICENSE +21 -0
  464. package/dist/safe-bash-command-curl/curl.d.ts +13 -0
  465. package/dist/safe-bash-command-curl/curl.js +9 -0
  466. package/dist/safe-bash-command-curl/index.d.ts +6 -0
  467. package/dist/safe-bash-command-curl/index.js +26 -0
  468. package/dist/safe-bash-command-diff/LICENSE +21 -0
  469. package/dist/safe-bash-command-diff/diff-format.d.ts +10 -0
  470. package/dist/safe-bash-command-diff/diff-format.js +10 -0
  471. package/dist/safe-bash-command-diff/diff-options.d.ts +38 -0
  472. package/dist/safe-bash-command-diff/diff-options.js +7 -0
  473. package/dist/safe-bash-command-diff/diff-output.d.ts +20 -0
  474. package/dist/safe-bash-command-diff/diff-output.js +19 -0
  475. package/dist/safe-bash-command-diff/diff.d.ts +2 -0
  476. package/dist/safe-bash-command-diff/diff.js +10 -0
  477. package/dist/safe-bash-command-diff/index.d.ts +8 -0
  478. package/dist/safe-bash-command-diff/index.js +34 -0
  479. package/dist/safe-bash-command-diff/sync.d.ts +2 -0
  480. package/dist/safe-bash-command-diff/sync.js +9 -0
  481. package/dist/safe-bash-command-diff3/index.js +5 -5
  482. package/dist/safe-bash-command-docx/index.d.ts +4 -4
  483. package/dist/safe-bash-command-docx/index.js +12 -5
  484. package/dist/safe-bash-command-dos2unix/index.d.ts +1 -0
  485. package/dist/safe-bash-command-dos2unix/index.js +225 -1
  486. package/dist/safe-bash-command-dos2unix/sync.d.ts +1 -0
  487. package/dist/safe-bash-command-exiftool/index.js +2 -2
  488. package/dist/safe-bash-command-factor/command.js +2 -2
  489. package/dist/safe-bash-command-factor/index.js +2 -2
  490. package/dist/safe-bash-command-ffmpeg/index.js +86 -94
  491. package/dist/safe-bash-command-file/index.js +3 -3
  492. package/dist/safe-bash-command-find/LICENSE +21 -0
  493. package/dist/safe-bash-command-find/find-format.d.ts +20 -0
  494. package/dist/safe-bash-command-find/find-format.js +9 -0
  495. package/dist/safe-bash-command-find/find.d.ts +18 -0
  496. package/dist/safe-bash-command-find/find.js +10 -0
  497. package/dist/safe-bash-command-find/index.d.ts +13 -0
  498. package/dist/safe-bash-command-find/index.js +45 -0
  499. package/dist/safe-bash-command-fmt/index.js +7 -4
  500. package/dist/safe-bash-command-git/git_rust.wasm +0 -0
  501. package/dist/safe-bash-command-git/index.js +5 -7
  502. package/dist/safe-bash-command-git/wasm.generated.js +1 -1
  503. package/dist/safe-bash-command-gzip/LICENSE +21 -0
  504. package/dist/safe-bash-command-gzip/index.d.ts +11 -0
  505. package/dist/safe-bash-command-gzip/index.js +94 -0
  506. package/dist/safe-bash-command-html-to-markdown/index.js +5 -5
  507. package/dist/safe-bash-command-htmlq/index.js +12 -8
  508. package/dist/safe-bash-command-imagemagick/index.js +22 -30
  509. package/dist/safe-bash-command-jq/index.js +1 -1
  510. package/dist/safe-bash-command-jq/jq.js +1 -1
  511. package/dist/safe-bash-command-llm/command.js +1 -1
  512. package/dist/safe-bash-command-llm/index.d.ts +1 -0
  513. package/dist/safe-bash-command-llm/index.js +16 -14
  514. package/dist/safe-bash-command-llm/openai.js +3 -3
  515. package/dist/safe-bash-command-llm/providers/index.js +3 -3
  516. package/dist/safe-bash-command-llm/providers/openai.js +3 -3
  517. package/dist/safe-bash-command-llm/stored-schema.d.ts +10 -0
  518. package/dist/safe-bash-command-mmdc/index.js +13 -604
  519. package/dist/safe-bash-command-mmdc/settings.d.ts +2 -0
  520. package/dist/safe-bash-command-mmdc/settings.js +7 -0
  521. package/dist/safe-bash-command-pandoc/command.js +4 -3
  522. package/dist/safe-bash-command-pandoc/defaults.d.ts +1 -0
  523. package/dist/safe-bash-command-pandoc/index.js +4 -3
  524. package/dist/safe-bash-command-pandoc/lua-filters.js +1 -1
  525. package/dist/safe-bash-command-pandoc/types.d.ts +3 -1
  526. package/dist/safe-bash-command-patch/LICENSE +21 -0
  527. package/dist/safe-bash-command-patch/index.d.ts +8 -0
  528. package/dist/safe-bash-command-patch/index.js +38 -0
  529. package/dist/safe-bash-command-patch/patch-envelope.d.ts +2 -0
  530. package/dist/safe-bash-command-patch/patch-envelope.js +7 -0
  531. package/dist/safe-bash-command-patch/patch-formats.d.ts +7 -0
  532. package/dist/safe-bash-command-patch/patch-formats.js +9 -0
  533. package/dist/safe-bash-command-patch/patch-gnu-paths.d.ts +41 -0
  534. package/dist/safe-bash-command-patch/patch-gnu-paths.js +26 -0
  535. package/dist/safe-bash-command-patch/patch-gnu-reject.d.ts +3 -0
  536. package/dist/safe-bash-command-patch/patch-gnu-reject.js +7 -0
  537. package/dist/safe-bash-command-patch/patch-path.d.ts +3 -0
  538. package/dist/safe-bash-command-patch/patch-path.js +11 -0
  539. package/dist/safe-bash-command-patch/patch-publication.d.ts +13 -0
  540. package/dist/safe-bash-command-patch/patch-publication.js +7 -0
  541. package/dist/safe-bash-command-patch/patch.d.ts +2 -0
  542. package/dist/safe-bash-command-patch/patch.js +14 -0
  543. package/dist/safe-bash-command-patch/sync.d.ts +2 -0
  544. package/dist/safe-bash-command-patch/sync.js +7 -0
  545. package/dist/safe-bash-command-patch/unified.d.ts +52 -0
  546. package/dist/safe-bash-command-patch/unified.js +16 -0
  547. package/dist/safe-bash-command-pdfimages/index.js +37 -16
  548. package/dist/safe-bash-command-pdfinfo/index.d.ts +0 -23
  549. package/dist/safe-bash-command-pdfinfo/index.js +20 -772
  550. package/dist/safe-bash-command-pdftk/index.js +37 -9
  551. package/dist/safe-bash-command-pdftoppm/index.js +50 -20
  552. package/dist/safe-bash-command-pdftotext/index.js +10 -2
  553. package/dist/safe-bash-command-pptx/index.d.ts +4 -4
  554. package/dist/safe-bash-command-pptx/index.js +11 -5
  555. package/dist/safe-bash-command-pr/command.js +2 -2
  556. package/dist/safe-bash-command-pr/index.js +4 -4
  557. package/dist/safe-bash-command-qpdf/index.js +26 -13
  558. package/dist/safe-bash-command-rg/index.d.ts +1 -0
  559. package/dist/safe-bash-command-rg/index.js +222 -1
  560. package/dist/safe-bash-command-rg/rg-command.js +1 -1
  561. package/dist/safe-bash-command-rg/sync.d.ts +1 -0
  562. package/dist/safe-bash-command-sed/LICENSE +21 -0
  563. package/dist/safe-bash-command-sed/index.d.ts +7 -0
  564. package/dist/safe-bash-command-sed/index.js +28 -0
  565. package/dist/safe-bash-command-sed/inplace.d.ts +16 -0
  566. package/dist/safe-bash-command-sed/inplace.js +9 -0
  567. package/dist/safe-bash-command-sed/sed.d.ts +3 -0
  568. package/dist/safe-bash-command-sed/sed.js +8 -0
  569. package/dist/safe-bash-command-sips/index.js +111 -35
  570. package/dist/safe-bash-command-soffice/index.js +4 -4
  571. package/dist/safe-bash-command-sqlite3/engine.d.ts +1 -2
  572. package/dist/safe-bash-command-sqlite3/index.js +152 -452
  573. package/dist/safe-bash-command-ssconvert/commands.js +1 -1
  574. package/dist/safe-bash-command-ssconvert/formats/ods.js +2 -2
  575. package/dist/safe-bash-command-ssconvert/formats/xlsx.js +3 -3
  576. package/dist/safe-bash-command-ssconvert/index.js +5 -5
  577. package/dist/safe-bash-command-tar/LICENSE +21 -0
  578. package/dist/safe-bash-command-tar/create.d.ts +17 -0
  579. package/dist/safe-bash-command-tar/create.js +14 -0
  580. package/dist/safe-bash-command-tar/extract.d.ts +11 -0
  581. package/dist/safe-bash-command-tar/extract.js +14 -0
  582. package/dist/safe-bash-command-tar/format.d.ts +32 -0
  583. package/dist/safe-bash-command-tar/format.js +19 -0
  584. package/dist/safe-bash-command-tar/index.d.ts +8 -0
  585. package/dist/safe-bash-command-tar/index.js +550 -0
  586. package/dist/safe-bash-command-tar/listing.d.ts +2 -0
  587. package/dist/safe-bash-command-tar/listing.js +7 -0
  588. package/dist/safe-bash-command-tar/modes.d.ts +5 -0
  589. package/dist/safe-bash-command-tar/modes.js +16 -0
  590. package/dist/safe-bash-command-tar/options.d.ts +53 -0
  591. package/dist/safe-bash-command-tar/options.js +10 -0
  592. package/dist/safe-bash-command-tar/stream.d.ts +22 -0
  593. package/dist/safe-bash-command-tar/stream.js +15 -0
  594. package/dist/safe-bash-command-tar/transform.d.ts +16 -0
  595. package/dist/safe-bash-command-tar/transform.js +9 -0
  596. package/dist/safe-bash-command-unzip/LICENSE +21 -0
  597. package/dist/safe-bash-command-unzip/index.d.ts +7 -0
  598. package/dist/safe-bash-command-unzip/index.js +39 -0
  599. package/dist/safe-bash-command-unzip/sync.d.ts +3 -0
  600. package/dist/safe-bash-command-unzip/sync.js +9 -0
  601. package/dist/safe-bash-command-unzip/unzip/safety.d.ts +32 -0
  602. package/dist/safe-bash-command-unzip/unzip/safety.js +7 -0
  603. package/dist/safe-bash-command-unzip/unzip.d.ts +3 -0
  604. package/dist/safe-bash-command-unzip/unzip.js +8 -0
  605. package/dist/safe-bash-command-wget/LICENSE +21 -0
  606. package/dist/safe-bash-command-wget/index.d.ts +6 -0
  607. package/dist/safe-bash-command-wget/index.js +26 -0
  608. package/dist/safe-bash-command-wget/wget.d.ts +3 -0
  609. package/dist/safe-bash-command-wget/wget.js +7 -0
  610. package/dist/safe-bash-command-xan/argv.d.ts +4 -1
  611. package/dist/safe-bash-command-xan/argv.js +1 -1
  612. package/dist/safe-bash-command-xan/commands.js +4 -3
  613. package/dist/safe-bash-command-xan/index.js +15 -14
  614. package/dist/safe-bash-command-xan/io.js +2 -2
  615. package/dist/safe-bash-command-xmllint/index.js +189 -49
  616. package/dist/safe-bash-command-xz/index.js +3 -2
  617. package/dist/safe-bash-command-xz/options.d.ts +9 -1
  618. package/dist/safe-bash-command-xz/options.js +3 -1
  619. package/dist/safe-bash-command-yq/index.d.ts +4 -11
  620. package/dist/safe-bash-command-yq/index.js +3367 -670
  621. package/dist/safe-bash-command-yq/mike.js +6 -13
  622. package/dist/safe-bash-command-yq/native-work.d.ts +1 -0
  623. package/dist/safe-bash-command-yq/native-work.js +17 -0
  624. package/dist/safe-bash-command-yq/query.d.ts +11 -0
  625. package/dist/safe-bash-command-yq/query.js +735 -0
  626. package/dist/safe-bash-command-zip/LICENSE +21 -0
  627. package/dist/safe-bash-command-zip/index.d.ts +7 -0
  628. package/dist/safe-bash-command-zip/index.js +38 -0
  629. package/dist/safe-bash-command-zip/sync.d.ts +3 -0
  630. package/dist/safe-bash-command-zip/sync.js +9 -0
  631. package/dist/safe-bash-command-zip/zip.d.ts +3 -0
  632. package/dist/safe-bash-command-zip/zip.js +7 -0
  633. package/dist/safe-bash-compression-engine/files.js +4 -4
  634. package/dist/safe-bash-compression-engine/index.js +2 -2
  635. package/dist/safe-bash-compression-engine/operand.js +6 -6
  636. package/dist/safe-bash-compression-engine/stream.js +2 -2
  637. package/dist/safe-bash-compression-engine/zstd-decode.js +1 -1
  638. package/dist/safe-bash-contracts/command.js +1 -1
  639. package/dist/safe-bash-contracts/diagnostics.js +4 -4
  640. package/dist/safe-bash-contracts/escaping.js +11 -11
  641. package/dist/safe-bash-contracts/filesystem-descriptor.js +1 -1
  642. package/dist/safe-bash-contracts/filesystem-output.js +8 -8
  643. package/dist/safe-bash-contracts/index.js +34 -34
  644. package/dist/safe-bash-contracts/io.js +2 -2
  645. package/dist/safe-bash-contracts/output.js +3 -3
  646. package/dist/safe-bash-diff-engine/LICENSE +21 -0
  647. package/dist/safe-bash-diff-engine/index.d.ts +1 -0
  648. package/dist/safe-bash-diff-engine/index.js +24 -0
  649. package/dist/safe-bash-diff-engine/shared.d.ts +53 -0
  650. package/dist/safe-bash-diff-engine/shared.js +19 -0
  651. package/dist/safe-bash-io-engine/commands/directory-admission.d.ts +3 -0
  652. package/dist/safe-bash-io-engine/commands/directory-admission.js +34 -0
  653. package/dist/safe-bash-io-engine/commands/mode-change.d.ts +4 -0
  654. package/dist/safe-bash-io-engine/commands/mode-change.js +60 -0
  655. package/dist/safe-bash-io-engine/commands/text-programs/shared.js +20 -31
  656. package/dist/safe-bash-io-engine/shell/pattern.js +7 -12
  657. package/dist/safe-bash-markdown-engine/commonmark-blocks.js +4 -4
  658. package/dist/safe-bash-markdown-engine/commonmark-inlines.js +4 -4
  659. package/dist/safe-bash-markdown-engine/commonmark-syntax.js +2 -2
  660. package/dist/safe-bash-markdown-engine/gfm-syntax.js +3 -3
  661. package/dist/safe-bash-markdown-engine/index.js +7 -7
  662. package/dist/safe-bash-mcp/index.browser.d.ts +6 -0
  663. package/dist/safe-bash-mcp/index.browser.js +1 -0
  664. package/dist/safe-bash-mcp/index.d.ts +12 -0
  665. package/dist/safe-bash-mcp/index.js +1558 -36
  666. package/dist/safe-bash-network-engine/LICENSE +21 -0
  667. package/dist/safe-bash-network-engine/aggregate.d.ts +4 -0
  668. package/dist/safe-bash-network-engine/aggregate.js +37 -0
  669. package/dist/safe-bash-network-engine/args.d.ts +68 -0
  670. package/dist/safe-bash-network-engine/args.js +19 -0
  671. package/dist/safe-bash-network-engine/authorizer.d.ts +6 -0
  672. package/dist/safe-bash-network-engine/authorizer.js +8 -0
  673. package/dist/safe-bash-network-engine/body.d.ts +9 -0
  674. package/dist/safe-bash-network-engine/body.js +374 -0
  675. package/dist/safe-bash-network-engine/deadline.d.ts +2 -0
  676. package/dist/safe-bash-network-engine/deadline.js +7 -0
  677. package/dist/safe-bash-network-engine/decode.d.ts +2 -0
  678. package/dist/safe-bash-network-engine/decode.js +81 -0
  679. package/dist/safe-bash-network-engine/fetch-transport.d.ts +7 -0
  680. package/dist/safe-bash-network-engine/fetch-transport.js +9 -0
  681. package/dist/safe-bash-network-engine/form-content-type.d.ts +5 -0
  682. package/dist/safe-bash-network-engine/form-content-type.js +8 -0
  683. package/dist/safe-bash-network-engine/form-headers.d.ts +2 -0
  684. package/dist/safe-bash-network-engine/form-headers.js +10 -0
  685. package/dist/safe-bash-network-engine/glob.d.ts +7 -0
  686. package/dist/safe-bash-network-engine/glob.js +124 -0
  687. package/dist/safe-bash-network-engine/index.d.ts +3 -0
  688. package/dist/safe-bash-network-engine/index.js +26 -0
  689. package/dist/safe-bash-network-engine/input.d.ts +5 -0
  690. package/dist/safe-bash-network-engine/input.js +255 -0
  691. package/dist/safe-bash-network-engine/output.d.ts +6 -0
  692. package/dist/safe-bash-network-engine/output.js +132 -0
  693. package/dist/safe-bash-network-engine/platform-portable.d.ts +5 -0
  694. package/dist/safe-bash-network-engine/platform-portable.js +19 -0
  695. package/dist/safe-bash-network-engine/private-address.d.ts +1 -0
  696. package/dist/safe-bash-network-engine/private-address.js +7 -0
  697. package/dist/safe-bash-network-engine/shared.d.ts +14 -0
  698. package/dist/safe-bash-network-engine/shared.js +23 -0
  699. package/dist/safe-bash-network-engine/types.d.ts +37 -0
  700. package/dist/safe-bash-network-engine/types.js +11 -0
  701. package/dist/safe-bash-network-engine/url.d.ts +2 -0
  702. package/dist/safe-bash-network-engine/url.js +8 -0
  703. package/dist/safe-bash-query-engine/capture.d.ts +1 -0
  704. package/dist/safe-bash-query-engine/capture.js +9 -7
  705. package/dist/safe-bash-query-engine/dates.d.ts +5 -1
  706. package/dist/safe-bash-query-engine/dates.js +10 -2
  707. package/dist/safe-bash-query-engine/delpaths.js +5 -5
  708. package/dist/safe-bash-query-engine/formats.js +3 -3
  709. package/dist/safe-bash-query-engine/index.js +15 -15
  710. package/dist/safe-bash-query-engine/indices.js +5 -5
  711. package/dist/safe-bash-query-engine/input.d.ts +1 -2
  712. package/dist/safe-bash-query-engine/input.js +2 -4
  713. package/dist/safe-bash-query-engine/interpreter.d.ts +5 -0
  714. package/dist/safe-bash-query-engine/interpreter.js +13 -13
  715. package/dist/safe-bash-query-engine/limits.js +1 -1
  716. package/dist/safe-bash-query-engine/parser.d.ts +8 -1
  717. package/dist/safe-bash-query-engine/parser.js +2 -2
  718. package/dist/safe-bash-query-engine/query-core.js +15 -15
  719. package/dist/safe-bash-query-engine/recurse.js +2 -2
  720. package/dist/safe-bash-query-engine/regex.d.ts +4 -2
  721. package/dist/safe-bash-query-engine/regex.js +10 -5
  722. package/dist/safe-bash-query-engine/split.js +2 -2
  723. package/dist/safe-bash-query-engine/splits.d.ts +1 -1
  724. package/dist/safe-bash-query-engine/splits.js +7 -6
  725. package/dist/safe-bash-query-engine/values.js +4 -4
  726. package/dist/safe-bash-regex-engine/ere/matcher.js +4 -4
  727. package/dist/safe-bash-regex-engine/index.js +2 -2
  728. package/dist/safe-bash-regex-engine/text/regex.d.ts +1 -0
  729. package/dist/safe-bash-regex-engine/text/regex.js +2 -2
  730. package/dist/safe-bash-search-engine/ergonomic-regex.d.ts +12 -2
  731. package/dist/safe-bash-search-engine/ergonomic-regex.js +2 -2
  732. package/dist/safe-bash-search-engine/glob.js +2 -2
  733. package/dist/safe-bash-search-engine/grep.js +2 -2
  734. package/dist/safe-bash-search-engine/matcher.d.ts +6 -2
  735. package/dist/safe-bash-search-engine/matcher.js +30 -8
  736. package/dist/safe-bash-search-engine/options.js +1 -1
  737. package/dist/safe-bash-search-engine/output.d.ts +3 -2
  738. package/dist/safe-bash-search-engine/output.js +111 -30
  739. package/dist/safe-bash-search-engine/shared.d.ts +2 -0
  740. package/dist/safe-bash-search-engine/shared.js +2 -2
  741. package/dist/safe-bash-search-engine/walk.js +11 -10
  742. package/dist/safe-bash-xml-engine/document.d.ts +1 -1
  743. package/dist/safe-bash-xml-engine/document.js +3 -3
  744. package/dist/safe-bash-xml-engine/evaluate.d.ts +1 -0
  745. package/dist/safe-bash-xml-engine/evaluate.js +4 -1
  746. package/dist/safe-bash-xml-engine/index.js +8 -6
  747. package/dist/safe-bash-xml-engine/io.js +1 -1
  748. package/dist/safe-bash-xml-engine/limits.d.ts +2 -0
  749. package/dist/safe-bash-xml-engine/limits.js +1 -1
  750. package/dist/safe-bash-xml-engine/predicate.d.ts +57 -0
  751. package/dist/safe-bash-xml-engine/query.d.ts +3 -15
  752. package/dist/safe-bash-xml-engine/query.js +3 -2
  753. package/dist/safe-bash-zip-engine/LICENSE +21 -0
  754. package/dist/safe-bash-zip-engine/index.d.ts +1 -0
  755. package/dist/safe-bash-zip-engine/index.js +32 -0
  756. package/dist/safe-bash-zip-engine/unzip/arguments.d.ts +53 -0
  757. package/dist/safe-bash-zip-engine/unzip/arguments.js +270 -0
  758. package/dist/safe-bash-zip-engine/zip/aes.d.ts +17 -0
  759. package/dist/safe-bash-zip-engine/zip/aes.js +15 -0
  760. package/dist/safe-bash-zip-engine/zip/comments.d.ts +17 -0
  761. package/dist/safe-bash-zip-engine/zip/comments.js +77 -0
  762. package/dist/safe-bash-zip-engine/zip/crc.d.ts +1 -0
  763. package/dist/safe-bash-zip-engine/zip/crc.js +7 -0
  764. package/dist/safe-bash-zip-engine/zip/crypto.d.ts +19 -0
  765. package/dist/safe-bash-zip-engine/zip/crypto.js +16 -0
  766. package/dist/safe-bash-zip-engine/zip/dates.d.ts +4 -0
  767. package/dist/safe-bash-zip-engine/zip/dates.js +68 -0
  768. package/dist/safe-bash-zip-engine/zip/environment.d.ts +2 -0
  769. package/dist/safe-bash-zip-engine/zip/environment.js +60 -0
  770. package/dist/safe-bash-zip-engine/zip/grow.d.ts +3 -0
  771. package/dist/safe-bash-zip-engine/zip/grow.js +7 -0
  772. package/dist/safe-bash-zip-engine/zip/help.d.ts +4 -0
  773. package/dist/safe-bash-zip-engine/zip/help.js +194 -0
  774. package/dist/safe-bash-zip-engine/zip/line-endings.d.ts +2 -0
  775. package/dist/safe-bash-zip-engine/zip/line-endings.js +165 -0
  776. package/dist/safe-bash-zip-engine/zip/log.d.ts +22 -0
  777. package/dist/safe-bash-zip-engine/zip/log.js +153 -0
  778. package/dist/safe-bash-zip-engine/zip/lzma.d.ts +9 -0
  779. package/dist/safe-bash-zip-engine/zip/lzma.js +7 -0
  780. package/dist/safe-bash-zip-engine/zip/move.d.ts +11 -0
  781. package/dist/safe-bash-zip-engine/zip/move.js +57 -0
  782. package/dist/safe-bash-zip-engine/zip/names.d.ts +2 -0
  783. package/dist/safe-bash-zip-engine/zip/names.js +37 -0
  784. package/dist/safe-bash-zip-engine/zip/options.d.ts +13 -0
  785. package/dist/safe-bash-zip-engine/zip/options.js +23 -0
  786. package/dist/safe-bash-zip-engine/zip/repair.d.ts +10 -0
  787. package/dist/safe-bash-zip-engine/zip/repair.js +348 -0
  788. package/dist/safe-bash-zip-engine/zip/safety.d.ts +54 -0
  789. package/dist/safe-bash-zip-engine/zip/safety.js +19 -0
  790. package/dist/safe-bash-zip-engine/zip/sfx.d.ts +4 -0
  791. package/dist/safe-bash-zip-engine/zip/sfx.js +58 -0
  792. package/dist/safe-bash-zip-engine/zip/test-command.d.ts +5 -0
  793. package/dist/safe-bash-zip-engine/zip/test-command.js +98 -0
  794. package/dist/safe-bash-zip-engine/zip/volumes.d.ts +21 -0
  795. package/dist/safe-bash-zip-engine/zip/volumes.js +255 -0
  796. package/dist/safe-bash-zip-engine/zip/zip64.d.ts +30 -0
  797. package/dist/safe-bash-zip-engine/zip/zip64.js +25 -0
  798. package/dist/safe-bash-zip-engine/zip-format.d.ts +68 -0
  799. package/dist/safe-bash-zip-engine/zip-format.js +27 -0
  800. package/dist/safe-playwright-cloudflare/browser-codegen.generated.d.ts +7 -7
  801. package/dist/safe-playwright-cloudflare/browser-codegen.generated.js +866 -8069
  802. package/dist/safe-playwright-cloudflare/browser-run-code-budget.d.ts +0 -1
  803. package/dist/safe-playwright-cloudflare/browser-run-code-budget.js +0 -2
  804. package/dist/safe-playwright-cloudflare/browser-trace-archive.d.ts +5 -1
  805. package/dist/safe-playwright-cloudflare/browser-trace-archive.js +2 -1
  806. package/dist/safe-playwright-cloudflare/browser-trace-budget.js +2 -2
  807. package/dist/safe-playwright-cloudflare/shell-browser-resource.d.ts +2 -0
  808. package/dist/safe-playwright-cloudflare/shell-browser-resource.js +3 -11
  809. package/dist/safe-playwright-cloudflare/shell-playwright.d.ts +2 -0
  810. package/dist/safe-playwright-cloudflare/shell-playwright.js +1 -1
  811. package/dist/spreadsheet-engine/io/publication.d.ts +1 -0
  812. package/package.json +163 -14
  813. package/dist/safe-bash/chunks/chunk-AZAJJVFX.js +0 -23017
  814. package/dist/safe-bash/chunks/chunk-O4ZUCRGN.js +0 -13
  815. package/dist/safe-bash/chunks/chunk-S264DZO2.js +0 -243
  816. package/dist/safe-bash/chunks/chunk-WVG5SHHQ.js +0 -12
  817. package/dist/safe-bash/chunks/chunk-ZW6K2J7P.js +0 -2652
  818. package/dist/safe-bash/command-chunks/chunk-5MPOQ6V3.js +0 -181
  819. package/dist/safe-bash/command-chunks/chunk-BIXLZ3OG.js +0 -14342
  820. package/dist/safe-bash/command-chunks/chunk-DUYJE2HY.js +0 -14
  821. package/dist/safe-bash/command-chunks/chunk-NETECMOF.js +0 -40
  822. package/dist/safe-bash/command-chunks/chunk-XS3PGJU2.js +0 -343
  823. package/dist/safe-bash/command-chunks/chunk-XTZALMLR.js +0 -488
  824. package/dist/safe-bash/commands/archive/zip/aes-primitives-unavailable.d.ts +0 -2
  825. package/dist/safe-bash/commands/archive/zip/aes-primitives-unavailable.js +0 -3
  826. package/dist/safe-bash/commands/archive/zip/aes-primitives.d.ts +0 -2
  827. package/dist/safe-bash/commands/archive/zip/aes-primitives.js +0 -3
  828. package/dist/safe-bash/commands/xml/document.d.ts +0 -2
  829. package/dist/safe-bash/commands/xml/document.js +0 -2
  830. package/dist/safe-bash/commands/xml/evaluate.d.ts +0 -2
  831. package/dist/safe-bash/commands/xml/evaluate.js +0 -2
  832. package/dist/safe-bash/commands/xml/json.d.ts +0 -2
  833. package/dist/safe-bash/commands/xml/json.js +0 -2
  834. package/dist/safe-bash/commands/xml/limits.d.ts +0 -2
  835. package/dist/safe-bash/commands/xml/limits.js +0 -2
  836. package/dist/safe-bash/commands/xml/query.d.ts +0 -2
  837. package/dist/safe-bash/commands/xml/query.js +0 -2
  838. package/dist/safe-bash/chunks/{chunk-NHOXKQNE.js → chunk-QVSRRNZT.js} +3 -3
  839. package/dist/safe-bash/command-chunks/{chunk-FIUFIDAO.js → chunk-2JRBIDAD.js} +3 -3
  840. package/dist/safe-bash/command-chunks/{chunk-B5BKA5WH.js → chunk-B5TAOCKD.js} +3 -3
  841. package/dist/safe-bash/command-chunks/{chunk-TYVCKQDH.js → chunk-J5SN3PZ3.js} +3 -3
  842. package/dist/safe-bash/command-chunks/{chunk-2ENZ6JGA.js → chunk-KEV7C3KH.js} +3 -3
  843. package/dist/safe-bash/command-chunks/{chunk-S62HELHU.js → chunk-PL6O4K6W.js} +3 -3
  844. package/dist/safe-bash/command-chunks/{chunk-2WRTLCGK.js → chunk-QZF3SINC.js} +4 -4
  845. package/dist/safe-bash/command-chunks/{chunk-X7TM3AKW.js → chunk-U6G67N23.js} +3 -3
  846. package/dist/safe-bash/command-chunks/{chunk-DDLQ5YDB.js → chunk-YHFXOX6U.js} +9 -9
  847. package/dist/safe-bash/command-chunks/{chunk-DQMOM72Z.js → chunk-ZRRBXU3M.js} +4 -4
@@ -2396,7 +2396,7 @@ function parseMp4(bytes, options = {}) {
2396
2396
  }
2397
2397
  }
2398
2398
  }
2399
- const computedDuration = samples.reduce((acc, s) => acc + s.duration, 0) || trackDuration || Math.round(tkhdDuration / Math.max(1, movieTimescale) * timescale);
2399
+ const computedDuration = editList.length > 0 ? Math.round(editList.reduce((total, edit) => total + edit.segmentDuration, 0) * timescale / movieTimescale) : samples.reduce((acc, s) => acc + s.duration, 0) || trackDuration || Math.round(tkhdDuration / Math.max(1, movieTimescale) * timescale);
2400
2400
  let decodedVideoFrames;
2401
2401
  if (options.decodeFrames && type === "video" && width && height) {
2402
2402
  const lengthSize = (firstCodec?.avcC?.lengthSizeMinusOne ?? 3) + 1;
@@ -2758,10 +2758,8 @@ function buildTrakBox(track, movieTimescale, sampleOffsets, fragmented = false)
2758
2758
  const materialized = materializeTrackSamples(track);
2759
2759
  const samples = fragmented ? [] : materialized.samples;
2760
2760
  const codecDescriptions = materialized.codecDescriptions;
2761
- const totalSampleDuration = samples.reduce((acc, s) => acc + s.duration, 0) || track.duration || track.timescale;
2762
- const durationInMovieTimescale = Math.round(
2763
- totalSampleDuration / Math.max(1, track.timescale) * movieTimescale
2764
- );
2761
+ const totalSampleDuration = samples.reduce((acc, s) => acc + s.duration, 0) || track.duration;
2762
+ const durationInMovieTimescale = track.editList?.length ? track.editList.reduce((total, edit) => total + edit.segmentDuration, 0) : Math.round(totalSampleDuration / Math.max(1, track.timescale) * movieTimescale);
2765
2763
  const tkhdWriter = new BinaryWriter(92);
2766
2764
  tkhdWriter.writeU32BE(0);
2767
2765
  tkhdWriter.writeU32BE(0);
@@ -2963,7 +2961,7 @@ function serializeMp4(doc, options = {}) {
2963
2961
  let maxDurationSeconds = 0;
2964
2962
  for (const mt of materializedTracks) {
2965
2963
  const durTicks = mt.samples.reduce((acc, s) => acc + s.duration, 0) || mt.track.duration;
2966
- const sec = durTicks / Math.max(1, mt.track.timescale);
2964
+ const sec = mt.track.editList?.length ? mt.track.editList.reduce((total, edit) => total + edit.segmentDuration, 0) / movieTimescale : durTicks / Math.max(1, mt.track.timescale);
2967
2965
  if (sec > maxDurationSeconds) maxDurationSeconds = sec;
2968
2966
  }
2969
2967
  const movieDuration = Math.round(maxDurationSeconds * movieTimescale);
@@ -3266,50 +3264,43 @@ function* sliceMp4Steps(doc, options = {}) {
3266
3264
  let work = 0;
3267
3265
  const startSec = Math.max(0, options.startSeconds ?? 0);
3268
3266
  const endSec = options.endSeconds !== void 0 ? options.endSeconds : options.durationSeconds !== void 0 ? startSec + options.durationSeconds : doc.durationSeconds;
3267
+ const useEditList = options.useEditList ?? true;
3269
3268
  const movieTimescale = doc.timescale || 1e3;
3270
3269
  const slicedTracks = [];
3271
3270
  for (const track of doc.tracks) {
3272
3271
  if (++work % 256 === 0) yield;
3273
3272
  const materialized = materializeTrackSamples(track);
3274
3273
  const ts = track.timescale || 1e3;
3275
- const startTick = Math.round(startSec * ts);
3276
- const endTick = Math.round(endSec * ts);
3274
+ const sourceOrigin = Math.max(0, track.editList?.[0]?.mediaTime ?? 0);
3275
+ const startTick = sourceOrigin + Math.round(startSec * ts);
3276
+ const endTick = sourceOrigin + Math.round(Math.min(endSec, track.duration / ts) * ts);
3277
3277
  let firstIdx = materialized.samples.length;
3278
3278
  for (let i = 0; i < materialized.samples.length; i++) {
3279
3279
  if (++work % 256 === 0) yield;
3280
3280
  const s = materialized.samples[i];
3281
- if (s.dts + s.duration > startTick) {
3281
+ if (endTick > startTick && s.dts < endTick && s.dts + s.duration > startTick) {
3282
3282
  firstIdx = i;
3283
3283
  break;
3284
3284
  }
3285
3285
  }
3286
- let keyframeIdx = firstIdx;
3287
- if (options.useEditList && track.type === "video") {
3286
+ let actualStartIdx = firstIdx;
3287
+ if (useEditList && track.type === "video" && firstIdx < materialized.samples.length) {
3288
3288
  for (let i = firstIdx; i >= 0; i--) {
3289
3289
  if (++work % 256 === 0) yield;
3290
3290
  if (materialized.samples[i].isKeyframe) {
3291
- keyframeIdx = i;
3291
+ actualStartIdx = i;
3292
3292
  break;
3293
3293
  }
3294
3294
  }
3295
- } else if (track.type === "video" && !materialized.samples[firstIdx]?.isKeyframe) {
3296
- for (let i = firstIdx; i >= 0; i--) {
3297
- if (++work % 256 === 0) yield;
3298
- if (materialized.samples[i].isKeyframe) {
3299
- keyframeIdx = i;
3300
- break;
3301
- }
3302
- }
3303
- firstIdx = keyframeIdx;
3304
3295
  }
3305
- const actualStartIdx = options.useEditList ? keyframeIdx : firstIdx;
3306
3296
  const slicedSamples = [];
3307
3297
  let runningDts = 0;
3308
3298
  for (let i = actualStartIdx; i < materialized.samples.length; i++) {
3309
3299
  if (++work % 256 === 0) yield;
3310
3300
  const s = materialized.samples[i];
3311
- if (s.dts >= endTick && slicedSamples.length > 0) break;
3312
- const clippedDuration = s.dts + s.duration > endTick ? Math.max(1, endTick - s.dts) : s.duration;
3301
+ if (s.dts >= endTick) break;
3302
+ const sampleStart = useEditList ? s.dts : Math.max(startTick, s.dts);
3303
+ const clippedDuration = Math.max(0, Math.min(s.dts + s.duration, endTick) - sampleStart);
3313
3304
  slicedSamples.push({
3314
3305
  ...s,
3315
3306
  dts: runningDts,
@@ -3319,9 +3310,9 @@ function* sliceMp4Steps(doc, options = {}) {
3319
3310
  runningDts += clippedDuration;
3320
3311
  }
3321
3312
  let editList;
3322
- if (options.useEditList && actualStartIdx < firstIdx && materialized.samples[actualStartIdx]) {
3313
+ if (useEditList && slicedSamples.length > 0 && materialized.samples[actualStartIdx].dts < startTick) {
3323
3314
  const mediaSkipTicks = Math.max(0, startTick - materialized.samples[actualStartIdx].dts);
3324
- const segmentDurMovie = Math.round(Math.max(0, endSec - startSec) * movieTimescale);
3315
+ const segmentDurMovie = Math.round(Math.max(0, Math.min(endTick, materialized.samples[actualStartIdx].dts + runningDts) - startTick) / ts * movieTimescale);
3325
3316
  editList = [
3326
3317
  {
3327
3318
  segmentDuration: segmentDurMovie,
@@ -3340,7 +3331,7 @@ function* sliceMp4Steps(doc, options = {}) {
3340
3331
  }
3341
3332
  slicedTracks.push({
3342
3333
  ...track,
3343
- duration: runningDts,
3334
+ duration: editList ? Math.round(editList[0].segmentDuration * ts / movieTimescale) : runningDts,
3344
3335
  codecDescriptions: materialized.codecDescriptions,
3345
3336
  editList,
3346
3337
  samples: slicedSamples,
@@ -3784,9 +3775,9 @@ function movAst() {
3784
3775
 
3785
3776
  // packages/mp4-ast/src/containers/mkv.ts
3786
3777
  init_buffer();
3787
- function isMkvSignature(bytes) {
3788
- return bytes.byteLength >= 4 && bytes[0] === 26 && bytes[1] === 69 && bytes[2] === 223 && bytes[3] === 163;
3789
- }
3778
+
3779
+ // packages/mp4-ast/src/containers/ebml.ts
3780
+ init_buffer();
3790
3781
  function readVint(bytes, offset, stripMarker) {
3791
3782
  if (offset >= bytes.byteLength) return null;
3792
3783
  const first = bytes[offset];
@@ -3799,31 +3790,30 @@ function readVint(bytes, offset, stripMarker) {
3799
3790
  }
3800
3791
  if (length > 8 || offset + length > bytes.byteLength) return null;
3801
3792
  let value = stripMarker ? first & mask - 1 : first;
3793
+ let unknownSize = stripMarker && value === mask - 1;
3802
3794
  for (let i = 1; i < length; i++) {
3795
+ unknownSize = unknownSize && bytes[offset + i] === 255;
3803
3796
  value = value * 256 + bytes[offset + i];
3804
3797
  }
3805
- return { value, length };
3798
+ return { value, length, unknownSize };
3806
3799
  }
3807
3800
  function writeVintSize(size) {
3808
- if (size < 127) {
3809
- return new Uint8Array([128 | size]);
3810
- }
3811
- if (size < 16383) {
3812
- return new Uint8Array([64 | size >>> 8 & 63, size & 255]);
3813
- }
3814
- if (size < 2097151) {
3815
- return new Uint8Array([
3816
- 32 | size >>> 16 & 31,
3817
- size >>> 8 & 255,
3818
- size & 255
3819
- ]);
3801
+ if (!Number.isSafeInteger(size) || size < 0) throw new Error("Invalid EBML size");
3802
+ let length = 1;
3803
+ while (size >= 2 ** (7 * length) - 1 && length < 8) length++;
3804
+ const bytes = new Uint8Array(length);
3805
+ let remaining = size;
3806
+ for (let i = length - 1; i >= 0; i--) {
3807
+ bytes[i] = remaining % 256;
3808
+ remaining = Math.floor(remaining / 256);
3820
3809
  }
3821
- return new Uint8Array([
3822
- 16 | size >>> 24 & 15,
3823
- size >>> 16 & 255,
3824
- size >>> 8 & 255,
3825
- size & 255
3826
- ]);
3810
+ bytes[0] = bytes[0] | 1 << 8 - length;
3811
+ return bytes;
3812
+ }
3813
+
3814
+ // packages/mp4-ast/src/containers/mkv.ts
3815
+ function isMkvSignature(bytes) {
3816
+ return bytes.byteLength >= 4 && bytes[0] === 26 && bytes[1] === 69 && bytes[2] === 223 && bytes[3] === 163;
3827
3817
  }
3828
3818
  function writeEbmlId(id) {
3829
3819
  if (id <= 255) return new Uint8Array([id]);
@@ -3903,8 +3893,7 @@ function parseMkv(bytes, options = {}) {
3903
3893
  const sizeVint = readVint(bytes, pos, true);
3904
3894
  if (!sizeVint) break;
3905
3895
  pos += sizeVint.length;
3906
- const isUnknownSize = sizeVint.length === 1 && sizeVint.value === 127 || sizeVint.length === 2 && sizeVint.value === 16383 || sizeVint.length === 4 && sizeVint.value === 268435455 || sizeVint.length === 8 && sizeVint.value >= 281474976710655;
3907
- const elemEnd = isUnknownSize ? end : Math.min(end, pos + sizeVint.value);
3896
+ const elemEnd = sizeVint.unknownSize ? end : Math.min(end, pos + sizeVint.value);
3908
3897
  const payload = bytes.subarray(pos, elemEnd);
3909
3898
  switch (idVint.value) {
3910
3899
  case 440786851:
@@ -3973,6 +3962,7 @@ function parseMkv(bytes, options = {}) {
3973
3962
  const tEnd = Math.min(elemEnd, tPos + tsz.value);
3974
3963
  const tPay = bytes.subarray(tPos, tEnd);
3975
3964
  if (tid.value === 215) info.trackNumber = readEbmlUint(tPay);
3965
+ else if (tid.value === 2352003) info.defaultDuration = readEbmlUint(tPay);
3976
3966
  else if (tid.value === 131) info.trackType = readEbmlUint(tPay);
3977
3967
  else if (tid.value === 134) info.codecId = decodeUtf8(tPay).replace(/\0+$/, "");
3978
3968
  else if (tid.value === 25506) info.codecPrivate = tPay;
@@ -4031,6 +4021,7 @@ function parseMkv(bytes, options = {}) {
4031
4021
  clusterTimecode = readEbmlUint(cPay);
4032
4022
  } else if (cid.value === 163 || cid.value === 160) {
4033
4023
  let blockPay = cPay;
4024
+ let blockDuration = 0;
4034
4025
  if (cid.value === 160) {
4035
4026
  let bgPos = cPos;
4036
4027
  while (bgPos < cEnd) {
@@ -4042,7 +4033,8 @@ function parseMkv(bytes, options = {}) {
4042
4033
  bgPos += bsz.length;
4043
4034
  if (bid.value === 161) {
4044
4035
  blockPay = bytes.subarray(bgPos, Math.min(cEnd, bgPos + bsz.value));
4045
- break;
4036
+ } else if (bid.value === 155) {
4037
+ blockDuration = readEbmlUint(bytes.subarray(bgPos, Math.min(cEnd, bgPos + bsz.value)));
4046
4038
  }
4047
4039
  bgPos += bsz.value;
4048
4040
  }
@@ -4069,8 +4061,7 @@ function parseMkv(bytes, options = {}) {
4069
4061
  dts: ptsMs,
4070
4062
  pts: ptsMs,
4071
4063
  cts: 0,
4072
- duration: 33,
4073
- // recalculated below
4064
+ duration: blockDuration,
4074
4065
  size: frameData.byteLength,
4075
4066
  isKeyframe,
4076
4067
  sampleDescriptionIndex: 1
@@ -4095,7 +4086,10 @@ function parseMkv(bytes, options = {}) {
4095
4086
  for (let i = 0; i < rawSamples.length; i++) {
4096
4087
  const cur = rawSamples[i];
4097
4088
  const next = rawSamples[i + 1];
4098
- const dur = cur.duration > 0 ? cur.duration : next ? Math.max(1, next.dts - cur.dts) : info.trackType === 1 ? 33 : 23;
4089
+ const defaultTicks = (info.defaultDuration ?? 0) / timecodeScale;
4090
+ const previous = rawSamples[i - 1];
4091
+ const inferred = next && next.dts > cur.dts ? next.dts - cur.dts : defaultTicks || previous?.duration || Math.max(1, timescale / (info.trackType === 1 ? 30 : 44100 / 1024));
4092
+ const dur = cur.duration > 0 ? cur.duration : defaultTicks || inferred;
4099
4093
  rawSamples[i] = { ...cur, duration: dur };
4100
4094
  }
4101
4095
  const type = info.trackType === 1 ? "video" : info.trackType === 2 ? "audio" : "subtitle";
@@ -4159,7 +4153,7 @@ function parseMkv(bytes, options = {}) {
4159
4153
  codecName = info.codecId.includes("WEBVTT") ? "webvtt" : "subrip";
4160
4154
  formatFourCC = codecName === "webvtt" ? "wvtt" : "tx3g";
4161
4155
  }
4162
- const totalTrackDur = rawSamples.reduce((acc, s) => acc + s.duration, 0) || Math.round(segmentDurationTicks * timecodeScale / 1e6);
4156
+ const totalTrackDur = rawSamples.reduce((end, s) => Math.max(end, s.dts + s.duration), 0) || segmentDurationTicks;
4163
4157
  let decodedVideoFrames;
4164
4158
  if (options.decodeFrames && type === "video" && width && height) {
4165
4159
  const lengthSize = (avcC?.lengthSizeMinusOne ?? 3) + 1;
@@ -4218,7 +4212,7 @@ function parseMkv(bytes, options = {}) {
4218
4212
  let maxDurationSec = segmentDurationTicks * timecodeScale / 1e9;
4219
4213
  for (const t of tracks) {
4220
4214
  const sec = t.duration / Math.max(1, t.timescale);
4221
- if (sec > maxDurationSec) maxDurationSec = sec;
4215
+ if (segmentDurationTicks <= 0 && sec > maxDurationSec) maxDurationSec = sec;
4222
4216
  }
4223
4217
  const metadata = {
4224
4218
  title: title ?? tagsRecord.TITLE,
@@ -9620,42 +9614,27 @@ function createFfmpegCommand(options = {}) {
9620
9614
  if (cleanedComplex) vfFilters.push(cleanedComplex);
9621
9615
  }
9622
9616
  } else if (maps.length > 0) {
9623
- const selectedTracks = [];
9624
- const excludedTrackKeys = /* @__PURE__ */ new Set();
9625
- for (const m of maps) {
9626
- if (m.startsWith("-")) {
9627
- excludedTrackKeys.add(m.slice(1).replace(/\?$/, ""));
9628
- continue;
9629
- }
9630
- const clean = m.replace(/\?$/, "");
9617
+ let selectedTracks = [];
9618
+ for (const map of maps) {
9619
+ const exclude = map.startsWith("-");
9620
+ let clean = exclude ? map.slice(1) : map;
9621
+ if (clean.endsWith("?")) clean = clean.slice(0, -1);
9631
9622
  if (clean.startsWith("[")) continue;
9632
- const parts = clean.split(":");
9633
- const inputIdx = parseInt(parts[0] ?? "0", 10) || 0;
9623
+ const [input, selector, ordinal] = clean.split(":");
9624
+ const inputIdx = Number(input);
9634
9625
  const srcDoc = loadedDocs[inputIdx];
9635
9626
  if (!srcDoc) continue;
9636
- if (parts.length === 1) {
9637
- for (let tIdx = 0; tIdx < srcDoc.tracks.length; tIdx++) {
9638
- selectedTracks.push(srcDoc.tracks[tIdx]);
9639
- }
9640
- } else if (parts[1] === "v" || parts[1] === "a" || parts[1] === "s") {
9641
- const wantType = parts[1] === "v" ? "video" : parts[1] === "a" ? "audio" : "subtitle";
9642
- const typeMatches = srcDoc.tracks.filter((t) => t.type === wantType);
9643
- if (parts[2] !== void 0) {
9644
- const ord = parseInt(parts[2], 10) || 0;
9645
- if (typeMatches[ord]) selectedTracks.push(typeMatches[ord]);
9646
- } else {
9647
- selectedTracks.push(...typeMatches);
9648
- }
9649
- } else if (/^\d+$/.test(parts[1])) {
9650
- const tIdx = parseInt(parts[1], 10);
9651
- if (srcDoc.tracks[tIdx]) selectedTracks.push(srcDoc.tracks[tIdx]);
9627
+ const type = selector === "v" ? "video" : selector === "a" ? "audio" : selector === "s" ? "subtitle" : void 0;
9628
+ let matches = type ? srcDoc.tracks.filter((t) => t.type === type) : srcDoc.tracks;
9629
+ const index = type ? ordinal : selector;
9630
+ if (index !== void 0) matches = matches.filter((_, i) => i === Number(index));
9631
+ if (exclude) {
9632
+ selectedTracks = selectedTracks.filter((entry) => entry.input !== inputIdx || !matches.includes(entry.track));
9633
+ } else {
9634
+ selectedTracks.push(...matches.map((track) => ({ input: inputIdx, track })));
9652
9635
  }
9653
9636
  }
9654
- const filteredTracks = selectedTracks.filter((t) => {
9655
- if (excludedTrackKeys.has("0:a") && t.type === "audio") return false;
9656
- if (excludedTrackKeys.has("0:v") && t.type === "video") return false;
9657
- return true;
9658
- });
9637
+ const filteredTracks = selectedTracks.map((entry) => entry.track);
9659
9638
  workingDoc = await muxMp4Cooperatively(
9660
9639
  [{ ...loadedDocs[0], tracks: filteredTracks }],
9661
9640
  { stripAudio, stripVideo, stripSubtitles, shortest, rotation },
@@ -9868,18 +9847,31 @@ function createFfmpegCommand(options = {}) {
9868
9847
  vTrk ? vTrk.duration / Math.max(1, vTrk.timescale) : workingDoc.durationSeconds || 1
9869
9848
  );
9870
9849
  const segDur = Math.max(0.2, hlsTime);
9871
- const numSegs = Math.max(1, Math.ceil((totalSec - 1e-6) / segDur));
9850
+ const boundaries = [0];
9851
+ if (vTrk?.samples.length) {
9852
+ for (const sample of vTrk.samples) {
9853
+ const seconds = sample.dts / vTrk.timescale;
9854
+ if (sample.isKeyframe && seconds >= boundaries[boundaries.length - 1] + segDur - 1e-6 && seconds < totalSec) {
9855
+ boundaries.push(seconds);
9856
+ }
9857
+ }
9858
+ } else {
9859
+ for (let seconds = segDur; seconds < totalSec - 1e-6; seconds += segDur) boundaries.push(seconds);
9860
+ }
9861
+ boundaries.push(totalSec);
9862
+ let targetDuration = 0;
9863
+ for (let i = 1; i < boundaries.length; i++) targetDuration = Math.max(targetDuration, boundaries[i] - boundaries[i - 1]);
9872
9864
  const playlistLines = [
9873
9865
  "#EXTM3U",
9874
9866
  "#EXT-X-VERSION:3",
9875
- `#EXT-X-TARGETDURATION:${Math.ceil(segDur)}`,
9867
+ `#EXT-X-TARGETDURATION:${Math.ceil(targetDuration)}`,
9876
9868
  "#EXT-X-MEDIA-SEQUENCE:0"
9877
9869
  ];
9878
- for (let sIdx = 0; sIdx < numSegs; sIdx++) {
9879
- const st = sIdx * segDur;
9880
- const en = Math.min(totalSec, (sIdx + 1) * segDur);
9870
+ for (let sIdx = 0; sIdx < boundaries.length - 1; sIdx++) {
9871
+ const st = boundaries[sIdx];
9872
+ const en = boundaries[sIdx + 1];
9881
9873
  const actualDur = Math.max(0.04, en - st);
9882
- const sliced = sliceMp4(workingDoc, { startSeconds: st, endSeconds: en });
9874
+ const sliced = sliceMp4(workingDoc, { startSeconds: st, endSeconds: en, useEditList: false });
9883
9875
  const segBytes = segPlugin.serialize(sliced, {
9884
9876
  fragmented: isFmp4,
9885
9877
  limits: options.limits,
@@ -1,3 +1,6 @@
1
+ import {
2
+ classify
3
+ } from "../safe-bash/command-chunks/chunk-NIEIGZ2T.js";
1
4
  import {
2
5
  FileFailure,
3
6
  FileLimitError,
@@ -5,9 +8,6 @@ import {
5
8
  limitMessage,
6
9
  settings
7
10
  } from "../safe-bash/command-chunks/chunk-AYUTO323.js";
8
- import {
9
- classify
10
- } from "../safe-bash/command-chunks/chunk-NIEIGZ2T.js";
11
11
  import {
12
12
  init_buffer
13
13
  } from "../safe-bash/command-chunks/chunk-HX3SHTCE.js";
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Poe Platform
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,20 @@
1
+ import { type CommandContext, type FileStat } from "../safe-bash-contracts/index.js";
2
+ import { type ShellValue } from "../safe-bash-contracts/value.js";
3
+ export interface FindFormatEntry {
4
+ readonly display: string;
5
+ readonly root: string;
6
+ readonly relative: string;
7
+ readonly depth: number;
8
+ readonly stat: FileStat;
9
+ }
10
+ /** Cooperative formatting and bounded output batches across all matched entries. */
11
+ export declare class FindFormatBudget {
12
+ readonly context: CommandContext;
13
+ private untilYield;
14
+ constructor(context: CommandContext);
15
+ step(count?: number): void | Promise<void>;
16
+ write(bytes: Uint8Array): Promise<void>;
17
+ text(text: string): Promise<void>;
18
+ }
19
+ /** Linear scan in admitted format bytes; no native formatting or regexp engine. */
20
+ export declare function compileFindFormat(value: ShellValue, budget: FindFormatBudget): Promise<(entry: FindFormatEntry) => Promise<void>>;
@@ -0,0 +1,9 @@
1
+ import {
2
+ FindFormatBudget,
3
+ compileFindFormat
4
+ } from "../safe-bash/command-chunks/chunk-5ZMZ573Q.js";
5
+ import "../safe-bash/command-chunks/chunk-HX3SHTCE.js";
6
+ export {
7
+ FindFormatBudget,
8
+ compileFindFormat
9
+ };
@@ -0,0 +1,18 @@
1
+ import { type CommandDefinition, type CommandHandler } from "../safe-bash-contracts/index.js";
2
+ export declare function createFindDefinitions(execute: CommandHandler, maxDirectoryEntries?: number): CommandDefinition[];
3
+ export interface SyncFindNodeInfo {
4
+ type: "file" | "directory" | "symlink";
5
+ size: number;
6
+ mode: number;
7
+ ino?: number;
8
+ nlink?: number;
9
+ children?: Array<{
10
+ name: string;
11
+ type: "file" | "directory" | "symlink";
12
+ size: number;
13
+ mode: number;
14
+ ino?: number;
15
+ target?: string;
16
+ }>;
17
+ }
18
+ export declare function evalSyncFind(rawArgs: readonly string[], cwd: string, inspectNode: (path: string, followFinal: boolean) => SyncFindNodeInfo | undefined, allowNullBytes?: boolean): string | undefined;
@@ -0,0 +1,10 @@
1
+ import {
2
+ createFindDefinitions,
3
+ evalSyncFind
4
+ } from "../safe-bash/command-chunks/chunk-3LSOYLNV.js";
5
+ import "../safe-bash/command-chunks/chunk-5ZMZ573Q.js";
6
+ import "../safe-bash/command-chunks/chunk-HX3SHTCE.js";
7
+ export {
8
+ createFindDefinitions,
9
+ evalSyncFind
10
+ };
@@ -0,0 +1,13 @@
1
+ import type { CommandDefinition, CommandHandler, VirtualShellPlugin } from "../safe-bash-contracts/index.js";
2
+ export interface FindLimits {
3
+ readonly maxDirectoryEntries: number;
4
+ }
5
+ export interface FindCommandsOptions {
6
+ readonly replace?: boolean;
7
+ readonly limits?: Partial<FindLimits>;
8
+ readonly execute?: CommandHandler;
9
+ }
10
+ export declare function createFindCommands(options?: FindCommandsOptions): readonly CommandDefinition[];
11
+ export declare function createFindCommand(options?: FindCommandsOptions): CommandDefinition;
12
+ export declare function findCommands(options?: FindCommandsOptions): VirtualShellPlugin;
13
+ export { evalSyncFind } from "./find.js";
@@ -0,0 +1,45 @@
1
+ import {
2
+ createFindDefinitions,
3
+ evalSyncFind
4
+ } from "../safe-bash/command-chunks/chunk-3LSOYLNV.js";
5
+ import "../safe-bash/command-chunks/chunk-5ZMZ573Q.js";
6
+ import {
7
+ init_buffer
8
+ } from "../safe-bash/command-chunks/chunk-HX3SHTCE.js";
9
+
10
+ // packages/safe-bash-command-find/src/index.ts
11
+ init_buffer();
12
+ import { FsError } from "../safe-bash-contracts/index.js";
13
+ function createFindCommands(options = {}) {
14
+ return createFindDefinitions(options.execute ?? ((context) => {
15
+ if (!context.invoke) throw new FsError("ENOTSUP", { syscall: "find", message: "find -exec requires command invocation" });
16
+ return context.invoke(context.command, context.args, {
17
+ ...context.argumentValues === void 0 ? {} : { argumentValues: context.argumentValues },
18
+ signal: context.signal,
19
+ stdin: context.stdin,
20
+ stdout: context.stdout,
21
+ stderr: context.stderr,
22
+ cwd: context.cwd,
23
+ env: context.env,
24
+ replaceEnv: true
25
+ });
26
+ }), options.limits?.maxDirectoryEntries);
27
+ }
28
+ function createFindCommand(options = {}) {
29
+ return createFindCommands(options)[0];
30
+ }
31
+ function findCommands(options = {}) {
32
+ const commands = createFindCommands(options);
33
+ return { name: "find-commands", setup(host) {
34
+ if (!options.replace) {
35
+ for (const command of commands) if (host.commands.has(command.name)) throw new Error(`Command already registered: ${command.name}`);
36
+ }
37
+ for (const command of commands) host.commands.register(command, { replace: options.replace ?? false });
38
+ } };
39
+ }
40
+ export {
41
+ createFindCommand,
42
+ createFindCommands,
43
+ evalSyncFind,
44
+ findCommands
45
+ };
@@ -1436,7 +1436,7 @@ function widthValue(text, maximum, unicode, profile, goal = false) {
1436
1436
  const start = offset;
1437
1437
  let number = 0;
1438
1438
  while (text.charCodeAt(offset) >= 48 && text.charCodeAt(offset) <= 57) {
1439
- number = Math.min(1073741824, number * 10 + text.charCodeAt(offset++) - 48);
1439
+ number = number * 10 + text.charCodeAt(offset++) - 48;
1440
1440
  }
1441
1441
  if (offset === start || offset !== text.length || number > maximum) {
1442
1442
  const range = offset === text.length && offset !== start && number > maximum;
@@ -1760,7 +1760,8 @@ var Formatter = class {
1760
1760
  }
1761
1761
  *lineStart() {
1762
1762
  this.column = 0;
1763
- if (this.settings.prefix.length === 0 && this.offset < this.chunkUsed && this.chunk[this.offset] !== 32 && this.chunk[this.offset] !== 9 && !this.budget.tick()) {
1763
+ if (this.settings.prefix.length === 0 && this.offset < this.chunkUsed && this.chunk[this.offset] !== 32 && this.chunk[this.offset] !== 9) {
1764
+ if (this.budget.tick()) yield* this.budget.checkpoint();
1764
1765
  this.nextPrefix = 0;
1765
1766
  return this.chunk[this.offset++];
1766
1767
  }
@@ -1773,7 +1774,8 @@ var Formatter = class {
1773
1774
  this.column++;
1774
1775
  byte = this.offset < this.chunkUsed && !this.budget.tick() ? this.chunk[this.offset++] : yield* this.readSlow(this.offset < this.chunkUsed);
1775
1776
  }
1776
- if (byte === 32 && this.offset < this.chunkUsed && this.chunk[this.offset] !== 32 && this.chunk[this.offset] !== 9 && !this.budget.tick()) {
1777
+ if (byte === 32 && this.offset < this.chunkUsed && this.chunk[this.offset] !== 32 && this.chunk[this.offset] !== 9) {
1778
+ if (this.budget.tick()) yield* this.budget.checkpoint();
1777
1779
  this.column = this.budget.exact(this.column + 1);
1778
1780
  byte = this.chunk[this.offset++];
1779
1781
  } else byte = yield* this.whitespace(byte);
@@ -1981,7 +1983,8 @@ var Formatter = class {
1981
1983
  word.period = pb === 0 || pb === 46 || pb === 63 || pb === 33;
1982
1984
  }
1983
1985
  const before = this.column;
1984
- if (byte === 32 && this.offset < this.chunkUsed && this.chunk[this.offset] !== 32 && this.chunk[this.offset] !== 9 && !this.budget.tick()) {
1986
+ if (byte === 32 && this.offset < this.chunkUsed && this.chunk[this.offset] !== 32 && this.chunk[this.offset] !== 9) {
1987
+ if (this.budget.tick()) yield* this.budget.checkpoint();
1985
1988
  this.column = this.budget.exact(this.column + 1);
1986
1989
  byte = this.chunk[this.offset++];
1987
1990
  } else byte = yield* this.whitespace(byte);
@@ -63,10 +63,7 @@ async function publish(fs, before, after, signal) {
63
63
  if (e.kind === "directory") {
64
64
  if (!fs.rmdir) throw new Error("Git requires rmdir");
65
65
  await fs.rmdir(e.path, { signal });
66
- } else {
67
- if (!fs.unlink) throw new Error("Git requires unlink");
68
- await fs.unlink(e.path, { signal });
69
- }
66
+ } else await fs.rm(e.path, { signal });
70
67
  }
71
68
  for (const e of after.filter((e2) => e2.kind === "directory").sort((a, b) => a.path.length - b.path.length)) {
72
69
  if (prior.get(e.path)?.kind !== "directory") await fs.mkdir(e.path, { recursive: true, signal });
@@ -76,8 +73,8 @@ async function publish(fs, before, after, signal) {
76
73
  const old = prior.get(e.path);
77
74
  if (old?.data === e.data && old.kind === e.kind && (old.mode & 511) === (e.mode & 511)) continue;
78
75
  if (e.kind === "symlink") {
79
- if (!fs.symlink || !fs.unlink) throw new Error("Git requires symlink support");
80
- if (old?.kind === e.kind) await fs.unlink(e.path, { signal });
76
+ if (!fs.symlink) throw new Error("Git requires symlink support");
77
+ if (old?.kind === e.kind) await fs.rm(e.path, { signal });
81
78
  await fs.symlink(decoder.decode(decode(e.data)), e.path, { signal });
82
79
  } else {
83
80
  await fs.writeFile(e.path, decode(e.data), { signal, mode: e.mode & 511 });
@@ -91,6 +88,7 @@ function createGitCommand(options = {}) {
91
88
  const def = { name: "git", runtimeIdentity: commandRuntimeIdentity, description: "Git repositories in the virtual filesystem", async execute(context) {
92
89
  try {
93
90
  let stdin;
91
+ const env = { ...context.env, POE_GIT_TIMESTAMP: String(Math.floor(Date.now() / 1e3)) };
94
92
  const before = await snapshot(context.fs, limits, context.signal);
95
93
  const exports = options.wasmModule ? new globalThis.WebAssembly.Instance(options.wasmModule).exports : createDefaultGitExports();
96
94
  const responses = [];
@@ -98,7 +96,7 @@ function createGitCommand(options = {}) {
98
96
  let result;
99
97
  for (; ; ) {
100
98
  context.signal.throwIfAborted();
101
- const input = encoder.encode(JSON.stringify({ cwd: context.cwd, args: context.args, env: context.env, entries: before, responses, stdin }));
99
+ const input = encoder.encode(JSON.stringify({ cwd: context.cwd, args: context.args, env, entries: before, responses, stdin }));
102
100
  const ptr = exports.git_alloc(input.length);
103
101
  try {
104
102
  new Uint8Array(exports.memory.buffer, ptr, input.length).set(input);