@poe-platform/safe-bash 0.1.803 → 0.1.804

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 (696) hide show
  1. package/README.md +56 -31
  2. package/dist/image-ast/ast.d.ts +1 -0
  3. package/dist/image-ast/browser/ast.d.ts +1 -0
  4. package/dist/image-ast/browser/codecs/jpeg.d.ts +2 -2
  5. package/dist/image-ast/codecs/jpeg.d.ts +2 -2
  6. package/dist/image-ast/index.browser.js +692 -8364
  7. package/dist/image-ast/index.js +692 -8364
  8. package/dist/mp4-ast/codecs.d.ts +7 -2
  9. package/dist/safe-bash/chunks/{chunk-CHYGPFVM.js → chunk-22SX3F2R.js} +1 -1
  10. package/dist/safe-bash/chunks/{chunk-FBUCWVTE.js → chunk-2IVBJTBD.js} +1 -1
  11. package/dist/safe-bash/chunks/chunk-2POETUMB.js +190 -0
  12. package/dist/safe-bash/chunks/{chunk-XVOSKJE2.js → chunk-47D7WBJK.js} +1 -1
  13. package/dist/safe-bash/chunks/{chunk-VKNVHEX3.js → chunk-4ESI236Y.js} +1 -1
  14. package/dist/safe-bash/chunks/{chunk-74GHTNJA.js → chunk-4KTMKD5W.js} +1 -1
  15. package/dist/safe-bash/chunks/{chunk-55YJASTN.js → chunk-4T53AERN.js} +1 -1
  16. package/dist/safe-bash/chunks/{chunk-DQP3VHSB.js → chunk-5XIFJVOO.js} +1 -1
  17. package/dist/safe-bash/chunks/{chunk-5OHX7C2V.js → chunk-62BOHHJT.js} +1 -1
  18. package/dist/safe-bash/chunks/{chunk-HZAMGT5I.js → chunk-67WIFM3N.js} +17 -6
  19. package/dist/safe-bash/chunks/{chunk-4D4N7IU2.js → chunk-6LNFRPW5.js} +2 -2
  20. package/dist/safe-bash/chunks/{chunk-6O77NL2S.js → chunk-6SMICPI3.js} +1 -1
  21. package/dist/safe-bash/chunks/{chunk-4BSJLKNM.js → chunk-7O76UFQD.js} +1 -1
  22. package/dist/safe-bash/chunks/{chunk-PNBBUWSM.js → chunk-AW5KIT6V.js} +3488 -39
  23. package/dist/safe-bash/chunks/{chunk-JMMEIDPF.js → chunk-B2Z73HTZ.js} +52 -28
  24. package/dist/safe-bash/chunks/chunk-B3ZMOJVM.js +319 -0
  25. package/dist/safe-bash/chunks/{chunk-7ZBU7KYV.js → chunk-CFAWS3O4.js} +1 -1
  26. package/dist/safe-bash/chunks/{chunk-I5HZ4FGE.js → chunk-CL2FCTTO.js} +1 -1
  27. package/dist/safe-bash/chunks/{chunk-2LSAMQER.js → chunk-CTXNARJH.js} +1 -1
  28. package/dist/safe-bash/chunks/{chunk-TFIBK2GI.js → chunk-D5Q7NFWI.js} +1 -1
  29. package/dist/safe-bash/chunks/{chunk-OQRVVGR6.js → chunk-DSOOVZ6Q.js} +1 -1
  30. package/dist/safe-bash/chunks/{chunk-VTH3MLDU.js → chunk-DUTAG6ZD.js} +1 -1
  31. package/dist/safe-bash/chunks/{chunk-XAQMU6OY.js → chunk-EE5YGFIZ.js} +1 -1
  32. package/dist/safe-bash/chunks/{chunk-FZE4HW6G.js → chunk-EJOYT2ME.js} +1 -1
  33. package/dist/safe-bash/chunks/chunk-FAAIR6EJ.js +887 -0
  34. package/dist/safe-bash/chunks/{chunk-OV6IHKO6.js → chunk-FOB2FZR4.js} +2 -2
  35. package/dist/safe-bash/chunks/chunk-G6V4RRSQ.js +14 -0
  36. package/dist/safe-bash/chunks/{chunk-UTBUUFDM.js → chunk-GGQAGQXQ.js} +1 -1
  37. package/dist/safe-bash/chunks/{chunk-K6VCD7IY.js → chunk-HIIYIJ5G.js} +2 -4
  38. package/dist/safe-bash/chunks/{chunk-VBTDHOWC.js → chunk-IOHH2GTI.js} +4 -3
  39. package/dist/safe-bash/chunks/{chunk-CTVWDACF.js → chunk-IQW34XQT.js} +1 -1
  40. package/dist/safe-bash/chunks/{chunk-HZ7BWKQ3.js → chunk-IS572AAT.js} +1 -1
  41. package/dist/safe-bash/chunks/{chunk-AUSNDQTJ.js → chunk-JPSUHHOA.js} +1 -1
  42. package/dist/safe-bash/chunks/{chunk-ZVD5IS4V.js → chunk-KBZ4UB2O.js} +2 -2
  43. package/dist/safe-bash/chunks/{chunk-AM5ESLPH.js → chunk-KU5CVWKA.js} +1 -1
  44. package/dist/safe-bash/chunks/{chunk-RYFQ3LZG.js → chunk-LPOVNKNB.js} +173 -153
  45. package/dist/safe-bash/chunks/{chunk-46Z5E5EV.js → chunk-MBOC3LZ4.js} +1 -1
  46. package/dist/safe-bash/chunks/{chunk-6PAVEFT3.js → chunk-N4BQFD3P.js} +1 -1
  47. package/dist/safe-bash/chunks/{chunk-CS4MNM6I.js → chunk-NGKCVNWS.js} +1 -1
  48. package/dist/safe-bash/chunks/{chunk-7R5BDCG7.js → chunk-OHML2BEU.js} +1 -1
  49. package/dist/safe-bash/chunks/{chunk-C5OWC2TL.js → chunk-OQ3AGYCZ.js} +1 -1
  50. package/dist/safe-bash/chunks/{chunk-B7TAL7S5.js → chunk-PTAEWLSE.js} +0 -2
  51. package/dist/safe-bash/chunks/{chunk-LVOBFF4D.js → chunk-Q4FNLOTI.js} +1 -1
  52. package/dist/safe-bash/chunks/chunk-Q5XO3NAS.js +1036 -0
  53. package/dist/safe-bash/chunks/{chunk-GEG3BWGE.js → chunk-RHFRJIWQ.js} +1 -1
  54. package/dist/safe-bash/chunks/chunk-RUR6J33T.js +11 -0
  55. package/dist/safe-bash/chunks/{chunk-EEEWOYEG.js → chunk-S4RFUUXO.js} +839 -24
  56. package/dist/safe-bash/chunks/{chunk-RRR7AQ24.js → chunk-SD2ISU5L.js} +1 -1
  57. package/dist/safe-bash/chunks/{chunk-3NDIFSNM.js → chunk-SUJ3NTMH.js} +3 -3
  58. package/dist/safe-bash/chunks/{chunk-R3NAKOED.js → chunk-SZRUU5HS.js} +2 -2
  59. package/dist/safe-bash/chunks/{chunk-PH63PLPZ.js → chunk-TC3F4UFF.js} +1 -1
  60. package/dist/safe-bash/chunks/{chunk-3R3AANOR.js → chunk-TCKYOLUE.js} +1 -1
  61. package/dist/safe-bash/chunks/{chunk-D3ANYGMC.js → chunk-UV4X32QU.js} +1 -1
  62. package/dist/safe-bash/chunks/{chunk-E7OYNDGL.js → chunk-V7QT2RWC.js} +1 -1
  63. package/dist/safe-bash/chunks/{chunk-B7PIL77G.js → chunk-W2IYOVHK.js} +804 -1195
  64. package/dist/safe-bash/chunks/{chunk-3HQU4OJO.js → chunk-XNGVOSGI.js} +1 -1
  65. package/dist/safe-bash/chunks/{chunk-J42RIHHJ.js → chunk-XQWCQSRN.js} +1 -1
  66. package/dist/safe-bash/chunks/{chunk-A7XEHALN.js → chunk-Y7FW6GLT.js} +6 -6
  67. package/dist/safe-bash/chunks/{chunk-QGUV42T5.js → chunk-YL3GBUG4.js} +1 -1
  68. package/dist/safe-bash/chunks/chunk-YOXUCJER.js +389 -0
  69. package/dist/safe-bash/chunks/{chunk-HBCN24ZA.js → chunk-Z2AAYYJN.js} +2 -2
  70. package/dist/safe-bash/chunks/chunk-ZKYKJCZZ.js +30 -0
  71. package/dist/safe-bash/chunks/core-IE3AFIDX.js +85806 -0
  72. package/dist/safe-bash/chunks/{ffmpeg-WTC3TEFI.js → ffmpeg-YANDK6HU.js} +2 -2
  73. package/dist/safe-bash/chunks/{gh-6WU6PXL4.js → gh-4MBJ2S5V.js} +2 -2
  74. package/dist/safe-bash/chunks/{git-EFZIGJW4.js → git-2QONJNRQ.js} +2 -2
  75. package/dist/safe-bash/chunks/{imagemagick-EIEYGWPF.js → imagemagick-JLEHGYSN.js} +2 -2
  76. package/dist/safe-bash/chunks/{mmdc-ROQJT5HQ.js → mmdc-6LD7A6ND.js} +2 -2
  77. package/dist/safe-bash/chunks/{pdfimages-DW7LWXFI.js → pdfimages-RSHL7LOP.js} +2 -2
  78. package/dist/safe-bash/chunks/{pdfinfo-TIP6XLUQ.js → pdfinfo-L3SGWPNG.js} +2 -2
  79. package/dist/safe-bash/chunks/{pdftk-DMG22ITZ.js → pdftk-LFBJNU5A.js} +2 -2
  80. package/dist/safe-bash/chunks/{pdftoppm-WNDYR72T.js → pdftoppm-NXXFUIHG.js} +2 -2
  81. package/dist/safe-bash/chunks/{pdftotext-5IPZ4NI7.js → pdftotext-4IHNWT6F.js} +2 -2
  82. package/dist/safe-bash/chunks/{qpdf-TTX2DIUA.js → qpdf-ZEIREV63.js} +2 -2
  83. package/dist/safe-bash/chunks/read-builtin-A4QKAT45.js +9 -0
  84. package/dist/safe-bash/chunks/{sips-XYS46JPJ.js → sips-D5YBG2V3.js} +2 -2
  85. package/dist/safe-bash/chunks/{soffice-TU73E5KL.js → soffice-RAJU3JUT.js} +2 -2
  86. package/dist/safe-bash/chunks/source-files-3XWRRHFA.js +7 -0
  87. package/dist/safe-bash/chunks/{wkhtmltopdf-FSZ2CHGE.js → wkhtmltopdf-7UE4FORZ.js} +2 -2
  88. package/dist/safe-bash/command-chunks/{chunk-7KWZXKY6.js → chunk-26RTBV2I.js} +1 -0
  89. package/dist/safe-bash/command-chunks/{chunk-AQJ2ROJO.js → chunk-2WYNMZR2.js} +10 -8
  90. package/dist/safe-bash/command-chunks/{chunk-BDSMROQZ.js → chunk-36GFRF2N.js} +2 -1
  91. package/dist/safe-bash/command-chunks/{chunk-GC5TJZOF.js → chunk-3VIA2IA7.js} +114 -31
  92. package/dist/safe-bash/command-chunks/{chunk-NKFYQSES.js → chunk-4CTI3ZTX.js} +1 -0
  93. package/dist/safe-bash/command-chunks/{chunk-WH627NJL.js → chunk-4MYP2FX4.js} +2 -1
  94. package/dist/safe-bash/command-chunks/{chunk-ZDN7MJE6.js → chunk-4R5ADJM5.js} +11 -1
  95. package/dist/safe-bash/command-chunks/{chunk-P2N33UMN.js → chunk-5MIKM54M.js} +4 -4
  96. package/dist/safe-bash/command-chunks/{chunk-DB453IE6.js → chunk-6FZQUOSJ.js} +1 -1
  97. package/dist/safe-bash/command-chunks/{chunk-PICVQ6B5.js → chunk-6GKYHPJG.js} +1 -1
  98. package/dist/safe-bash/command-chunks/{chunk-7K6JYKPJ.js → chunk-6M2ELGEN.js} +17 -15
  99. package/dist/safe-bash/command-chunks/{chunk-PXEIT2O4.js → chunk-6UR7V3ET.js} +8 -1
  100. package/dist/safe-bash/command-chunks/{chunk-6KJ3LPI2.js → chunk-6XBS5B46.js} +26 -3
  101. package/dist/safe-bash/command-chunks/{chunk-5PWJG2UK.js → chunk-6YXLZX7L.js} +2 -2
  102. package/dist/safe-bash/command-chunks/{chunk-EK6YNAXT.js → chunk-753YOR54.js} +31 -5
  103. package/dist/safe-bash/command-chunks/{chunk-RMWQAAO5.js → chunk-7IR4NRNE.js} +2 -2
  104. package/dist/safe-bash/command-chunks/{chunk-FZTK4MFI.js → chunk-7NM73SVK.js} +8 -8
  105. package/dist/safe-bash/command-chunks/{chunk-NXEQ3ESQ.js → chunk-7QD5YY4F.js} +6 -11
  106. package/dist/safe-bash/command-chunks/{chunk-EMPU65ZK.js → chunk-A5LBSJGH.js} +1 -0
  107. package/dist/safe-bash/command-chunks/{chunk-4FEVBOL5.js → chunk-ARZMP2L2.js} +2 -2
  108. package/dist/safe-bash/command-chunks/{chunk-NKIELG7Y.js → chunk-BAKFZ477.js} +40 -19
  109. package/dist/safe-bash/command-chunks/{chunk-QRRYN2KO.js → chunk-BC7BK6R6.js} +0 -2424
  110. package/dist/safe-bash/command-chunks/{chunk-CQHP3I66.js → chunk-BOEOJS2Q.js} +1 -1
  111. package/dist/safe-bash/command-chunks/{chunk-XS72HTMA.js → chunk-BWGGLYEB.js} +5 -22
  112. package/dist/safe-bash/command-chunks/{chunk-PMBFZXTK.js → chunk-C5ZZKP7V.js} +1 -1
  113. package/dist/safe-bash/command-chunks/{chunk-LHIOAFWW.js → chunk-C7SEB6WU.js} +1 -1
  114. package/dist/safe-bash/command-chunks/{chunk-XPT2UGBF.js → chunk-CHJKFRT7.js} +1 -1
  115. package/dist/safe-bash/command-chunks/{chunk-TIOCQVUQ.js → chunk-CON26Q2O.js} +1 -1
  116. package/dist/safe-bash/command-chunks/{chunk-E55UKBIE.js → chunk-DBAT3IK2.js} +1 -1
  117. package/dist/safe-bash/command-chunks/{chunk-Z45N42QC.js → chunk-DPAYAVMS.js} +15 -1
  118. package/dist/safe-bash/command-chunks/chunk-DS3NXVUM.js +368 -0
  119. package/dist/safe-bash/command-chunks/{chunk-5ZMZ573Q.js → chunk-DSJ3VRL3.js} +16 -4
  120. package/dist/safe-bash/command-chunks/{chunk-K2GDEMEU.js → chunk-EFRCFWVR.js} +4 -4
  121. package/dist/safe-bash/command-chunks/{chunk-DZCY63VJ.js → chunk-EV6HIJ5H.js} +6 -5
  122. package/dist/safe-bash/command-chunks/{chunk-JDYXY44P.js → chunk-FJURV46Y.js} +3 -3
  123. package/dist/safe-bash/command-chunks/{chunk-TZZ4WUKH.js → chunk-FZAWGKSE.js} +6 -4
  124. package/dist/safe-bash/command-chunks/{chunk-YHFXOX6U.js → chunk-GOCFQ6XV.js} +4 -4
  125. package/dist/safe-bash/command-chunks/{chunk-QVOS4YXL.js → chunk-HH5O7DJI.js} +1 -1
  126. package/dist/safe-bash/command-chunks/{chunk-3HHCU5YU.js → chunk-HK7F5SDC.js} +13 -0
  127. package/dist/safe-bash/command-chunks/{chunk-JNZ3CVAE.js → chunk-HQBXIZC7.js} +8 -3
  128. package/dist/safe-bash/command-chunks/{chunk-V4K2JDYU.js → chunk-I63DBZXZ.js} +2 -2
  129. package/dist/safe-bash/command-chunks/{chunk-WNE7FPVR.js → chunk-I64TLTIW.js} +24 -16
  130. package/dist/safe-bash/command-chunks/{chunk-GFC2NTDG.js → chunk-ICANWOXH.js} +5 -29
  131. package/dist/safe-bash/command-chunks/{chunk-SQRQW3CT.js → chunk-IJ6LGLXM.js} +1 -1
  132. package/dist/safe-bash/command-chunks/{chunk-TGSNCQSR.js → chunk-JT4RYCA6.js} +1771 -1663
  133. package/dist/safe-bash/command-chunks/{chunk-II77KPZN.js → chunk-JWW6FYBN.js} +2 -2
  134. package/dist/safe-bash/command-chunks/{chunk-ZYXH3B66.js → chunk-LCJWKTCJ.js} +250 -203
  135. package/dist/safe-bash/command-chunks/chunk-LU4HBPP2.js +97 -0
  136. package/dist/safe-bash/command-chunks/{chunk-XJXU3VVH.js → chunk-LWOE65OE.js} +20 -5
  137. package/dist/safe-bash/command-chunks/{chunk-GMIHJYDG.js → chunk-M32HFSX7.js} +22 -6
  138. package/dist/safe-bash/command-chunks/{chunk-YG4EPFWC.js → chunk-M3NINRDU.js} +2880 -172
  139. package/dist/safe-bash/command-chunks/chunk-MQREDAL6.js +164 -0
  140. package/dist/safe-bash/command-chunks/{chunk-LWS62ISU.js → chunk-N6DIASO2.js} +1 -1
  141. package/dist/safe-bash/command-chunks/chunk-NGL7YK7O.js +188 -0
  142. package/dist/safe-bash/command-chunks/{chunk-EARHPPPJ.js → chunk-NJYHWKIL.js} +39 -9
  143. package/dist/safe-bash/command-chunks/{chunk-6JSIFWYT.js → chunk-OJQRSCBP.js} +1 -1
  144. package/dist/safe-bash/command-chunks/{chunk-OQU6UT6X.js → chunk-OV3XREFN.js} +11 -0
  145. package/dist/safe-bash/command-chunks/{chunk-MIXBO6U7.js → chunk-PTZLF456.js} +2 -2
  146. package/dist/safe-bash/command-chunks/{chunk-ALDC4XP4.js → chunk-QILLRNES.js} +34 -10
  147. package/dist/safe-bash/command-chunks/{chunk-L22T3H7L.js → chunk-QR25JLKO.js} +1 -1
  148. package/dist/safe-bash/command-chunks/{chunk-NASVPT6F.js → chunk-R7C4MGZ5.js} +17 -224
  149. package/dist/safe-bash/command-chunks/{chunk-LCF3OB7P.js → chunk-RBME3JEH.js} +1 -1
  150. package/dist/safe-bash/command-chunks/{chunk-2KG2QLJE.js → chunk-RFWGYT7G.js} +3 -0
  151. package/dist/safe-bash/command-chunks/{chunk-5TBUOBDE.js → chunk-RZMVRT26.js} +27 -13
  152. package/dist/safe-bash/command-chunks/chunk-TFR6B3WB.js +44 -0
  153. package/dist/safe-bash/command-chunks/chunk-TOH3OF3O.js +179 -0
  154. package/dist/safe-bash/command-chunks/chunk-TT4DAFBT.js +13621 -0
  155. package/dist/safe-bash/command-chunks/{chunk-LWSBAWLT.js → chunk-TXI64OAG.js} +1 -1
  156. package/dist/safe-bash/command-chunks/{chunk-GIRNFXP3.js → chunk-TZRI7BJZ.js} +45 -15
  157. package/dist/safe-bash/command-chunks/{chunk-QOKBZFFD.js → chunk-U3MMODA5.js} +2 -7
  158. package/dist/safe-bash/command-chunks/{chunk-ZYHTWNAE.js → chunk-UAW423ZL.js} +11 -11
  159. package/dist/safe-bash/command-chunks/{chunk-C5YYCQHW.js → chunk-UXEEUGOV.js} +222 -12
  160. package/dist/safe-bash/command-chunks/{chunk-GY3BWK7K.js → chunk-VOZPMJRX.js} +87 -80
  161. package/dist/safe-bash/command-chunks/{chunk-ILX2NOLF.js → chunk-WPANOB4A.js} +20 -20
  162. package/dist/safe-bash/command-chunks/{chunk-Y2WBSJG6.js → chunk-X4QZQI5Q.js} +65 -64
  163. package/dist/safe-bash/command-chunks/{chunk-HDCNKOIX.js → chunk-XGI57GCN.js} +1 -1
  164. package/dist/safe-bash/command-chunks/{chunk-5UBXNSFZ.js → chunk-XUCU7QQT.js} +1281 -1278
  165. package/dist/safe-bash/command-chunks/chunk-Y22VXJBD.js +296 -0
  166. package/dist/safe-bash/command-chunks/{chunk-WVHONVZ4.js → chunk-YMFUUPDX.js} +5 -3
  167. package/dist/safe-bash/command-chunks/{chunk-IR2BY7EL.js → chunk-YYGIBXFZ.js} +2 -2
  168. package/dist/safe-bash/command-chunks/{chunk-MSFXC3OC.js → chunk-Z4FO6OHE.js} +2 -2
  169. package/dist/safe-bash/command-chunks/{chunk-WWIBP2ET.js → chunk-Z5ZZVDUD.js} +143 -22
  170. package/dist/safe-bash/command-chunks/{chunk-LOICUCHG.js → chunk-ZHN3QDCI.js} +1 -1
  171. package/dist/safe-bash/commands/alias/index.d.ts +2 -0
  172. package/dist/safe-bash/commands/alias/index.js +2 -0
  173. package/dist/safe-bash/commands/apply-patch/index.browser.js +2 -3
  174. package/dist/safe-bash/commands/apply-patch/index.d.ts +0 -1
  175. package/dist/safe-bash/commands/apply-patch/index.js +0 -1
  176. package/dist/safe-bash/commands/archive/index.browser.js +2 -3
  177. package/dist/safe-bash/commands/archive/index.d.ts +0 -1
  178. package/dist/safe-bash/commands/archive/index.js +0 -1
  179. package/dist/safe-bash/commands/bytes/index.js +2 -1
  180. package/dist/safe-bash/commands/chmod/index.browser.js +1 -1
  181. package/dist/safe-bash/commands/column/index.browser.js +2 -3
  182. package/dist/safe-bash/commands/column/index.d.ts +0 -1
  183. package/dist/safe-bash/commands/column/index.js +0 -1
  184. package/dist/safe-bash/commands/copy-source.js +1 -0
  185. package/dist/safe-bash/commands/csplit/index.browser.js +2 -2
  186. package/dist/safe-bash/commands/csvkit/index.browser.js +72 -0
  187. package/dist/safe-bash/commands/csvkit/index.d.ts +0 -5
  188. package/dist/safe-bash/commands/csvkit/index.js +0 -50
  189. package/dist/safe-bash/commands/docx/index.browser.js +5 -7
  190. package/dist/safe-bash/commands/du/index.browser.js +2 -3
  191. package/dist/safe-bash/commands/du/index.d.ts +0 -1
  192. package/dist/safe-bash/commands/du/index.js +0 -1
  193. package/dist/safe-bash/commands/expr/index.browser.js +2 -3
  194. package/dist/safe-bash/commands/expr/index.d.ts +0 -1
  195. package/dist/safe-bash/commands/expr/index.js +0 -1
  196. package/dist/safe-bash/commands/factor/index.browser.js +2 -2
  197. package/dist/safe-bash/commands/file/index.browser.js +2 -3
  198. package/dist/safe-bash/commands/file/index.d.ts +0 -1
  199. package/dist/safe-bash/commands/file/index.js +0 -1
  200. package/dist/safe-bash/commands/filesystem.js +1 -1
  201. package/dist/safe-bash/commands/getopt/index.browser.js +2 -2
  202. package/dist/safe-bash/commands/grep-aliases/index.browser.js +3 -3
  203. package/dist/safe-bash/commands/hexdump/index.browser.js +2 -2
  204. package/dist/safe-bash/commands/html-to-markdown/index.browser.js +2 -3
  205. package/dist/safe-bash/commands/html-to-markdown/index.d.ts +0 -1
  206. package/dist/safe-bash/commands/html-to-markdown/index.js +0 -1
  207. package/dist/safe-bash/commands/htmlq/index.d.ts +1 -5
  208. package/dist/safe-bash/commands/htmlq/index.js +1 -143
  209. package/dist/safe-bash/commands/iconv/index.browser.js +2 -2
  210. package/dist/safe-bash/commands/line-endings/index.browser.js +2 -2
  211. package/dist/safe-bash/commands/llm/index.browser.js +2 -2
  212. package/dist/safe-bash/commands/llm/providers/index.browser.js +1 -1
  213. package/dist/safe-bash/commands/mdq/index.browser.js +3 -3
  214. package/dist/safe-bash/commands/media/index.browser.js +4 -16314
  215. package/dist/safe-bash/commands/media/index.d.ts +1 -5
  216. package/dist/safe-bash/commands/media/index.js +1 -3
  217. package/dist/safe-bash/commands/media/plugin.d.ts +1 -18
  218. package/dist/safe-bash/commands/media/plugin.js +1 -90
  219. package/dist/safe-bash/commands/media/remote.d.ts +1 -63
  220. package/dist/safe-bash/commands/media/remote.js +1 -405
  221. package/dist/safe-bash/commands/media/settings.d.ts +1 -4
  222. package/dist/safe-bash/commands/media/settings.js +1 -26
  223. package/dist/safe-bash/commands/metadata/index.browser.js +3 -4
  224. package/dist/safe-bash/commands/metadata/index.d.ts +0 -1
  225. package/dist/safe-bash/commands/metadata/index.js +2 -2
  226. package/dist/safe-bash/commands/mktemp/index.browser.js +1 -1
  227. package/dist/safe-bash/commands/network/curl.js +1 -3
  228. package/dist/safe-bash/commands/network/index.browser.js +3 -4
  229. package/dist/safe-bash/commands/network/public.d.ts +0 -1
  230. package/dist/safe-bash/commands/network/public.js +0 -1
  231. package/dist/safe-bash/commands/network/transport.js +2 -1
  232. package/dist/safe-bash/commands/network/wget.js +1 -3
  233. package/dist/safe-bash/commands/node/browser.d.ts +0 -1
  234. package/dist/safe-bash/commands/node/browser.js +0 -1
  235. package/dist/safe-bash/commands/node/default-runtime.d.ts +3 -0
  236. package/dist/safe-bash/commands/node/default-runtime.js +15 -0
  237. package/dist/safe-bash/commands/node/index.browser.js +7 -8
  238. package/dist/safe-bash/commands/node/index.js +3 -3
  239. package/dist/safe-bash/commands/node/path.js +1 -1
  240. package/dist/safe-bash/commands/node/preload.d.ts +1 -1
  241. package/dist/safe-bash/commands/node/preload.js +4 -1
  242. package/dist/safe-bash/commands/node/quickjs.d.ts +2 -0
  243. package/dist/safe-bash/commands/node/quickjs.js +2 -0
  244. package/dist/safe-bash/commands/node/safejs.js +26 -12
  245. package/dist/safe-bash/commands/op/index.browser.js +2 -3
  246. package/dist/safe-bash/commands/op/index.d.ts +0 -11
  247. package/dist/safe-bash/commands/op/index.js +0 -84
  248. package/dist/safe-bash/commands/pandoc/index.browser.js +44 -0
  249. package/dist/safe-bash/commands/pandoc/index.d.ts +0 -1
  250. package/dist/safe-bash/commands/pandoc/index.js +0 -1
  251. package/dist/safe-bash/commands/pr/index.browser.js +2 -2
  252. package/dist/safe-bash/commands/python/docker-runner.js +4 -3
  253. package/dist/safe-bash/commands/python/docker.d.ts +1 -0
  254. package/dist/safe-bash/commands/python/docker.js +5 -2
  255. package/dist/safe-bash/commands/python/index.browser.js +17 -13
  256. package/dist/safe-bash/commands/python/index.d.ts +2 -1
  257. package/dist/safe-bash/commands/python/index.js +10 -8
  258. package/dist/safe-bash/commands/python/llm-capability.js +65 -2
  259. package/dist/safe-bash/commands/python/llm-dependencies.d.ts +27 -0
  260. package/dist/safe-bash/commands/python/llm-dependencies.js +66 -0
  261. package/dist/safe-bash/commands/python/llm-module.js +6 -4
  262. package/dist/safe-bash/commands/python/llm-reference-module.d.ts +3 -0
  263. package/dist/safe-bash/commands/python/llm-reference-module.js +690 -0
  264. package/dist/safe-bash/commands/python/worker.browser.js +2 -3
  265. package/dist/safe-bash/commands/python/worker.d.ts +0 -1
  266. package/dist/safe-bash/commands/python/worker.js +0 -1
  267. package/dist/safe-bash/commands/regex-execution/ere/transport/wire-engine.d.ts +1 -1
  268. package/dist/safe-bash/commands/regex-execution/ere/transport/wire-engine.js +3 -3
  269. package/dist/safe-bash/commands/regex-execution/public.browser.js +7 -7
  270. package/dist/safe-bash/commands/safejs/options.js +5 -1
  271. package/dist/safe-bash/commands/safejs/runtime.d.ts +1 -0
  272. package/dist/safe-bash/commands/safejs/runtime.js +1 -1
  273. package/dist/safe-bash/commands/split/index.browser.js +2 -3
  274. package/dist/safe-bash/commands/split/index.d.ts +0 -1
  275. package/dist/safe-bash/commands/split/index.js +0 -1
  276. package/dist/safe-bash/commands/ssconvert/index.browser.js +98 -0
  277. package/dist/safe-bash/commands/stat/index.browser.js +1 -1
  278. package/dist/safe-bash/commands/stream-format/index.browser.js +3 -4
  279. package/dist/safe-bash/commands/stream-format/index.d.ts +0 -1
  280. package/dist/safe-bash/commands/stream-format/index.js +0 -1
  281. package/dist/safe-bash/commands/stream-inspection/index.browser.js +3 -4
  282. package/dist/safe-bash/commands/stream-inspection/index.d.ts +0 -1
  283. package/dist/safe-bash/commands/stream-inspection/index.js +0 -1
  284. package/dist/safe-bash/commands/streams.js +2 -1
  285. package/dist/safe-bash/commands/table-text/index.browser.js +3 -4
  286. package/dist/safe-bash/commands/table-text/index.d.ts +0 -1
  287. package/dist/safe-bash/commands/table-text/index.js +0 -1
  288. package/dist/safe-bash/commands/text.js +28 -24
  289. package/dist/safe-bash/commands/time-env/index.browser.js +3 -4
  290. package/dist/safe-bash/commands/time-env/index.d.ts +0 -1
  291. package/dist/safe-bash/commands/time-env/index.js +0 -1
  292. package/dist/safe-bash/commands/tree/index.browser.js +2 -3
  293. package/dist/safe-bash/commands/tree/index.d.ts +0 -1
  294. package/dist/safe-bash/commands/tree/index.js +0 -1
  295. package/dist/safe-bash/commands/tsort/index.browser.js +2 -2
  296. package/dist/safe-bash/commands/unalias/index.d.ts +2 -0
  297. package/dist/safe-bash/commands/unalias/index.js +2 -0
  298. package/dist/safe-bash/commands/xml/index.browser.js +2 -2
  299. package/dist/safe-bash/commands/yq/index.browser.js +2 -2
  300. package/dist/safe-bash/core.browser.js +2 -2
  301. package/dist/safe-bash/core.d.ts +7 -1
  302. package/dist/safe-bash/core.js +7 -1
  303. package/dist/safe-bash/execution-runtime.js +2 -1
  304. package/dist/safe-bash/fs/s3/http/index.d.ts +2 -2
  305. package/dist/safe-bash/fs/s3/http/index.js +1 -1
  306. package/dist/safe-bash/full-core.browser.js +283 -945
  307. package/dist/safe-bash/internal/op/types.d.ts +1 -0
  308. package/dist/safe-bash/jobs.browser.js +5 -5
  309. package/dist/safe-bash/lazy-optional.d.ts +3 -3
  310. package/dist/safe-bash/lazy-optional.js +1 -1
  311. package/dist/safe-bash/opt-in/commands/cmp/index.js +7 -6
  312. package/dist/safe-bash/opt-in/commands/dd/index.js +1 -1
  313. package/dist/safe-bash/opt-in/commands/dd/io.js +51 -5
  314. package/dist/safe-bash/opt-in/commands/truncate/index.js +2 -2
  315. package/dist/safe-bash/opt-in/commands/yq/native-work.js +2 -0
  316. package/dist/safe-bash/opt-in/optional/commands/shuf/input.js +2 -1
  317. package/dist/safe-bash/opt-in/optional/commands/shuf/shuf.js +4 -2
  318. package/dist/safe-bash/opt-in/optional.d.ts +1 -1
  319. package/dist/safe-bash/opt-in/optional.js +1 -1
  320. package/dist/safe-bash/opt-in/shell/extensions/read/index.js +2 -344
  321. package/dist/safe-bash/optional-host.browser.js +23 -18
  322. package/dist/safe-bash/optional-host.d.ts +1 -0
  323. package/dist/safe-bash/optional-host.js +1 -0
  324. package/dist/safe-bash/playwright/controller.js +41 -3
  325. package/dist/safe-bash/playwright/native-storage-targets.js +4 -2
  326. package/dist/safe-bash/plugins/base.d.ts +1 -1
  327. package/dist/safe-bash/plugins/base.js +3 -3
  328. package/dist/safe-bash/plugins/composition.d.ts +5 -2
  329. package/dist/safe-bash/plugins/composition.js +10 -7
  330. package/dist/safe-bash/plugins/index.browser.js +44 -41
  331. package/dist/safe-bash/plugins/index.js +3 -2
  332. package/dist/safe-bash/plugins/portable-commands.d.ts +3 -0
  333. package/dist/safe-bash/plugins/portable-commands.js +31 -0
  334. package/dist/safe-bash/registry-entry.browser.js +41 -42
  335. package/dist/safe-bash/search.browser.js +32 -33
  336. package/dist/safe-bash/shell/arithmetic.js +19 -6
  337. package/dist/safe-bash/shell/arrays/state.js +1 -1
  338. package/dist/safe-bash/shell/arrays/syntax.js +4 -3
  339. package/dist/safe-bash/shell/index.d.ts +0 -1
  340. package/dist/safe-bash/shell/index.js +0 -1
  341. package/dist/safe-bash/shell/parser.d.ts +2 -2
  342. package/dist/safe-bash/shell/parser.js +268 -64
  343. package/dist/safe-bash/shell/read-builtin.d.ts +3 -0
  344. package/dist/safe-bash/shell/read-builtin.js +344 -0
  345. package/dist/safe-bash/shell/runtime.d.ts +21 -4
  346. package/dist/safe-bash/shell/runtime.js +373 -412
  347. package/dist/safe-bash/shell/session-state.js +25 -0
  348. package/dist/safe-bash/shell/shell.js +76 -154
  349. package/dist/safe-bash/shell/tilde-expansion.d.ts +1 -1
  350. package/dist/safe-bash/shell/tilde-expansion.js +2 -2
  351. package/dist/safe-bash/shell/types.d.ts +5 -0
  352. package/dist/safe-bash/shell/value-state.js +1 -1
  353. package/dist/safe-bash/shell-entry.browser.js +32 -33
  354. package/dist/safe-bash/trap.browser.js +4 -4
  355. package/dist/safe-bash/yq-browser/index.js +1 -1
  356. package/dist/safe-bash-calendar-engine/time-env/calendar.d.ts +1 -1
  357. package/dist/safe-bash-calendar-engine/time-env/calendar.js +1 -1
  358. package/dist/safe-bash-calendar-engine/time-env/format.js +1 -1
  359. package/dist/safe-bash-command-alias/index.d.ts +13 -0
  360. package/dist/safe-bash-command-alias/index.js +88 -0
  361. package/dist/safe-bash-command-apply-patch/apply.js +3 -3
  362. package/dist/safe-bash-command-apply-patch/index.js +3 -3
  363. package/dist/safe-bash-command-apply-patch/matcher.js +1 -1
  364. package/dist/safe-bash-command-apply-patch/parser.js +1 -1
  365. package/dist/safe-bash-command-awk/awk-pipes.js +2 -2
  366. package/dist/safe-bash-command-awk/awk-reader.js +1 -1
  367. package/dist/safe-bash-command-awk/awk-runtime.js +3 -3
  368. package/dist/safe-bash-command-awk/awk.js +5 -5
  369. package/dist/safe-bash-command-awk/index.js +5 -5
  370. package/dist/safe-bash-command-bc/index.js +206 -60
  371. package/dist/safe-bash-command-cmp/index.js +7 -6
  372. package/dist/safe-bash-command-column/column.js +3 -3
  373. package/dist/safe-bash-command-column/index.js +3 -3
  374. package/dist/safe-bash-command-column/layout.js +2 -2
  375. package/dist/safe-bash-command-csvkit/index.d.ts +1 -0
  376. package/dist/safe-bash-command-csvkit/index.js +1505 -7
  377. package/dist/safe-bash-command-csvkit/sync-support.js +2 -7
  378. package/dist/safe-bash-command-curl/curl.js +1 -1
  379. package/dist/safe-bash-command-curl/index.js +1 -1
  380. package/dist/safe-bash-command-date/date.js +1 -1
  381. package/dist/safe-bash-command-date/index.js +1 -1
  382. package/dist/safe-bash-command-dd/index.js +1 -1
  383. package/dist/safe-bash-command-dd/io.js +51 -5
  384. package/dist/safe-bash-command-diff/diff.js +1 -1
  385. package/dist/safe-bash-command-diff/index.js +1 -1
  386. package/dist/safe-bash-command-diff3/index.js +10 -13
  387. package/dist/safe-bash-command-exiftool/index.js +278 -50
  388. package/dist/safe-bash-command-exiftool/registry.d.ts +4 -2
  389. package/dist/safe-bash-command-factor/command.js +2 -2
  390. package/dist/safe-bash-command-factor/index.js +2 -2
  391. package/dist/safe-bash-command-fd/arguments.d.ts +2 -0
  392. package/dist/safe-bash-command-fd/index.js +42 -12
  393. package/dist/safe-bash-command-ffmpeg/index.js +356 -66
  394. package/dist/safe-bash-command-find/find-format.d.ts +3 -0
  395. package/dist/safe-bash-command-find/find-format.js +1 -1
  396. package/dist/safe-bash-command-find/find.js +2 -2
  397. package/dist/safe-bash-command-find/index.js +2 -2
  398. package/dist/safe-bash-command-fmt/index.js +1 -4
  399. package/dist/safe-bash-command-fold/engine.d.ts +1 -1
  400. package/dist/safe-bash-command-fold/family.js +2 -2
  401. package/dist/safe-bash-command-fold/index.js +1 -1
  402. package/dist/safe-bash-command-hexdump/command.js +2 -2
  403. package/dist/safe-bash-command-hexdump/index.js +2 -2
  404. package/dist/safe-bash-command-html-to-markdown/entities.js +1 -1
  405. package/dist/safe-bash-command-html-to-markdown/index.js +4 -4
  406. package/dist/safe-bash-command-html-to-markdown/input.js +3 -3
  407. package/dist/safe-bash-command-html-to-markdown/parser.js +2 -2
  408. package/dist/safe-bash-command-html-to-markdown/render.js +3 -3
  409. package/dist/safe-bash-command-htmlq/contracts.d.ts +5 -2
  410. package/dist/safe-bash-command-htmlq/index.d.ts +2 -1
  411. package/dist/safe-bash-command-htmlq/index.js +175 -49
  412. package/dist/safe-bash-command-htmlq/sync.d.ts +1 -0
  413. package/dist/safe-bash-command-imagemagick/index.js +56 -6
  414. package/dist/safe-bash-command-install/arguments.d.ts +27 -0
  415. package/dist/safe-bash-command-install/arguments.js +224 -0
  416. package/dist/safe-bash-command-install/index.d.ts +7 -0
  417. package/dist/safe-bash-command-install/index.js +942 -0
  418. package/dist/safe-bash-command-install/mode.d.ts +6 -0
  419. package/dist/safe-bash-command-install/mode.js +71 -0
  420. package/dist/safe-bash-command-install/options.d.ts +40 -0
  421. package/dist/safe-bash-command-install/options.js +27 -0
  422. package/dist/safe-bash-command-jq/index.js +1 -1
  423. package/dist/safe-bash-command-jq/jq.js +1 -1
  424. package/dist/safe-bash-command-less/index.js +37 -61
  425. package/dist/safe-bash-command-llm/command.js +1 -1
  426. package/dist/safe-bash-command-llm/elevenlabs.js +2 -2
  427. package/dist/safe-bash-command-llm/index.js +4 -4
  428. package/dist/safe-bash-command-llm/openai.js +2 -2
  429. package/dist/safe-bash-command-llm/providers/elevenlabs.js +2 -2
  430. package/dist/safe-bash-command-llm/providers/index.js +3 -3
  431. package/dist/safe-bash-command-llm/providers/openai.js +2 -2
  432. package/dist/safe-bash-command-llm/providers/shared.js +1 -1
  433. package/dist/{safe-bash-mcp → safe-bash-command-mcp}/index.browser.d.ts +463 -46
  434. package/dist/safe-bash-command-mcp/index.browser.js +19308 -0
  435. package/dist/{safe-bash-mcp → safe-bash-command-mcp}/index.d.ts +15 -6
  436. package/dist/{safe-bash-mcp → safe-bash-command-mcp}/index.js +2804 -2771
  437. package/dist/safe-bash-command-media/LICENSE +21 -0
  438. package/dist/safe-bash-command-media/index.d.ts +6 -0
  439. package/dist/safe-bash-command-media/index.js +30 -0
  440. package/dist/safe-bash-command-media/plugin.d.ts +18 -0
  441. package/dist/safe-bash-command-media/plugin.js +11 -0
  442. package/dist/safe-bash-command-media/remote.d.ts +63 -0
  443. package/dist/safe-bash-command-media/remote.js +11 -0
  444. package/dist/safe-bash-command-media/settings.d.ts +4 -0
  445. package/dist/safe-bash-command-media/settings.js +41 -0
  446. package/dist/safe-bash-command-mktemp/command.js +1 -1
  447. package/dist/safe-bash-command-mktemp/index.js +1 -1
  448. package/dist/safe-bash-command-mmdc/arguments.d.ts +1 -0
  449. package/dist/safe-bash-command-mmdc/command.d.ts +2 -0
  450. package/dist/safe-bash-command-mmdc/contracts.d.ts +8 -1
  451. package/dist/safe-bash-command-mmdc/index.js +359 -7
  452. package/dist/safe-bash-command-nl/index.js +1 -1
  453. package/dist/safe-bash-command-nl/nl.js +1 -1
  454. package/dist/safe-bash-command-node/LICENSE +21 -0
  455. package/dist/safe-bash-command-node/index.d.ts +17 -0
  456. package/dist/safe-bash-command-node/index.js +328 -0
  457. package/dist/safe-bash-command-numfmt/index.js +1 -0
  458. package/dist/safe-bash-command-od/index.js +10 -6
  459. package/dist/safe-bash-command-op/index.js +39 -32
  460. package/dist/safe-bash-command-op/types.d.ts +1 -0
  461. package/dist/safe-bash-command-pandoc/command.js +3 -3
  462. package/dist/safe-bash-command-pandoc/index.d.ts +1 -0
  463. package/dist/safe-bash-command-pandoc/index.js +5 -3
  464. package/dist/safe-bash-command-pandoc/sync.d.ts +1 -0
  465. package/dist/safe-bash-command-patch/index.js +4 -4
  466. package/dist/safe-bash-command-patch/patch.js +4 -4
  467. package/dist/safe-bash-command-pdfimages/index.js +1 -1
  468. package/dist/safe-bash-command-pdfinfo/index.js +30 -5
  469. package/dist/safe-bash-command-pdftk/index.js +21 -23
  470. package/dist/safe-bash-command-pdftoppm/index.js +17 -4
  471. package/dist/safe-bash-command-pdftotext/index.js +11 -14
  472. package/dist/safe-bash-command-qpdf/index.d.ts +1 -0
  473. package/dist/safe-bash-command-qpdf/index.js +9 -6
  474. package/dist/safe-bash-command-rg/index.js +1 -1
  475. package/dist/safe-bash-command-rg/rg-command.js +1 -1
  476. package/dist/safe-bash-command-sed/index.js +1 -1
  477. package/dist/safe-bash-command-sed/sed.js +1 -1
  478. package/dist/safe-bash-command-shuf/input.d.ts +2 -2
  479. package/dist/safe-bash-command-shuf/input.js +2 -1
  480. package/dist/safe-bash-command-shuf/shuf.js +4 -2
  481. package/dist/safe-bash-command-sips/index.js +2 -2
  482. package/dist/safe-bash-command-soffice/index.js +97 -12
  483. package/dist/safe-bash-command-sponge/index.js +4 -1
  484. package/dist/safe-bash-command-sqlite3/engine.d.ts +1 -0
  485. package/dist/safe-bash-command-sqlite3/index.js +510 -70
  486. package/dist/safe-bash-command-ssconvert/formats/xlsx.js +2 -2
  487. package/dist/safe-bash-command-ssconvert/index.js +44 -22
  488. package/dist/safe-bash-command-stat/command.js +1 -1
  489. package/dist/safe-bash-command-stat/index.js +1 -1
  490. package/dist/safe-bash-command-tar/create.d.ts +1 -0
  491. package/dist/safe-bash-command-tar/create.js +2 -2
  492. package/dist/safe-bash-command-tar/extract.js +2 -2
  493. package/dist/safe-bash-command-tar/index.js +4 -4
  494. package/dist/safe-bash-command-tar/modes.js +4 -4
  495. package/dist/safe-bash-command-tar/options.js +1 -1
  496. package/dist/safe-bash-command-truncate/index.js +2 -2
  497. package/dist/safe-bash-command-tsort/command.js +2 -2
  498. package/dist/safe-bash-command-tsort/index.js +2 -2
  499. package/dist/safe-bash-command-unalias/index.d.ts +12 -0
  500. package/dist/safe-bash-command-unalias/index.js +67 -0
  501. package/dist/safe-bash-command-unrtf/index.js +26 -4
  502. package/dist/safe-bash-command-xan/argv.d.ts +1 -1
  503. package/dist/safe-bash-command-xan/argv.js +2 -2
  504. package/dist/safe-bash-command-xan/budget.d.ts +0 -1
  505. package/dist/safe-bash-command-xan/budget.js +1 -1
  506. package/dist/safe-bash-command-xan/commands.js +6 -6
  507. package/dist/safe-bash-command-xan/csv.js +2 -2
  508. package/dist/safe-bash-command-xan/index.js +8 -9
  509. package/dist/safe-bash-command-xan/io.js +4 -4
  510. package/dist/safe-bash-command-xan/options.js +1 -1
  511. package/dist/safe-bash-command-xan/selector.js +2 -2
  512. package/dist/safe-bash-command-xmllint/index.js +45 -23
  513. package/dist/safe-bash-command-xxd/index.js +41 -10
  514. package/dist/safe-bash-command-yq/accounting.js +1 -1
  515. package/dist/safe-bash-command-yq/index.js +3 -2
  516. package/dist/safe-bash-command-yq/native-work.js +2 -0
  517. package/dist/safe-bash-command-yq/parser.js +2 -2
  518. package/dist/safe-bash-command-yq/query.js +5 -5
  519. package/dist/safe-bash-command-yq/toml.js +2 -2
  520. package/dist/safe-bash-command-zip/index.js +3 -3
  521. package/dist/safe-bash-compression-engine/bounded-codec.js +2 -2
  522. package/dist/safe-bash-compression-engine/codec-loader.js +1 -1
  523. package/dist/safe-bash-compression-engine/files.js +5 -5
  524. package/dist/safe-bash-compression-engine/index.js +4 -4
  525. package/dist/safe-bash-compression-engine/operand.js +5 -5
  526. package/dist/safe-bash-compression-engine/stream.js +4 -4
  527. package/dist/safe-bash-compression-engine/zstd-decode.js +3 -3
  528. package/dist/safe-bash-contracts/command.js +3 -3
  529. package/dist/safe-bash-contracts/default-executor.js +2 -2
  530. package/dist/safe-bash-contracts/diagnostics.js +3 -3
  531. package/dist/safe-bash-contracts/escaping.js +6 -6
  532. package/dist/safe-bash-contracts/filesystem-descriptor.js +3 -3
  533. package/dist/safe-bash-contracts/filesystem-output.js +5 -5
  534. package/dist/safe-bash-contracts/http.d.ts +7 -0
  535. package/dist/safe-bash-contracts/index.js +8 -8
  536. package/dist/safe-bash-contracts/io.js +2 -2
  537. package/dist/safe-bash-contracts/output.js +3 -3
  538. package/dist/safe-bash-contracts/runtime-control.d.ts +2 -2
  539. package/dist/safe-bash-contracts/runtime-control.js +4 -2
  540. package/dist/safe-bash-contracts/signals.d.ts +2 -0
  541. package/dist/safe-bash-contracts/signals.js +3 -1
  542. package/dist/safe-bash-contracts/yield.js +1 -1
  543. package/dist/safe-bash-csv-engine/index.d.ts +2 -1
  544. package/dist/safe-bash-csv-engine/index.js +21 -15
  545. package/dist/safe-bash-io-engine/commands/search/requirements.js +2 -2
  546. package/dist/safe-bash-io-engine/commands/text-programs/shared.js +6 -6
  547. package/dist/safe-bash-io-engine/internal.js +1 -1
  548. package/dist/safe-bash-io-engine/shell/pattern.js +38 -18
  549. package/dist/safe-bash-line-ending-engine/convert.js +9 -204
  550. package/dist/safe-bash-line-ending-engine/encoding.js +9 -42
  551. package/dist/safe-bash-line-ending-engine/index.js +48 -0
  552. package/dist/safe-bash-line-ending-engine/info.js +9 -90
  553. package/dist/safe-bash-line-ending-engine/internal.js +15 -160
  554. package/dist/safe-bash-line-ending-engine/io.js +12 -289
  555. package/dist/safe-bash-line-ending-engine/stage.js +10 -160
  556. package/dist/safe-bash-markdown-engine/index.js +3 -3
  557. package/dist/safe-bash-network-engine/args.d.ts +6 -0
  558. package/dist/safe-bash-network-engine/args.js +4 -2
  559. package/dist/safe-bash-network-engine/body.js +1 -1
  560. package/dist/safe-bash-network-engine/fetch-transport.js +3 -1
  561. package/dist/safe-bash-network-engine/index.js +3 -1
  562. package/dist/safe-bash-network-engine/input.js +2 -2
  563. package/dist/safe-bash-network-engine/platform-portable.js +3 -1
  564. package/dist/safe-bash-query-engine/dates.d.ts +1 -1
  565. package/dist/safe-bash-query-engine/dates.js +1 -1
  566. package/dist/safe-bash-query-engine/index.js +6 -6
  567. package/dist/safe-bash-query-engine/interpreter.js +4 -4
  568. package/dist/safe-bash-query-engine/parser.js +1 -1
  569. package/dist/safe-bash-query-engine/query-core.js +6 -6
  570. package/dist/safe-bash-regex-engine/execution/bounded-provider.js +10 -0
  571. package/dist/safe-bash-regex-engine/index.js +1 -1
  572. package/dist/safe-bash-regex-engine/text/regex.d.ts +1 -1
  573. package/dist/safe-bash-regex-engine/text/regex.js +1 -1
  574. package/dist/safe-bash-search-engine/ergonomic-regex.d.ts +1 -0
  575. package/dist/safe-bash-search-engine/ergonomic-regex.js +1 -1
  576. package/dist/safe-bash-search-engine/grep.js +16 -9
  577. package/dist/safe-bash-search-engine/matcher.d.ts +2 -2
  578. package/dist/safe-bash-search-engine/matcher.js +12 -8
  579. package/dist/safe-bash-search-engine/shared.js +1 -1
  580. package/dist/safe-bash-search-engine/walk.js +13 -1
  581. package/dist/safe-bash-text-stream-engine/stream-format/shared.d.ts +1 -1
  582. package/dist/safe-bash-text-stream-engine/stream-format/shared.js +2 -1
  583. package/dist/safe-bash-xml-engine/document.js +3 -3
  584. package/dist/safe-bash-xml-engine/evaluate.js +2 -2
  585. package/dist/safe-bash-xml-engine/index.js +4 -4
  586. package/dist/safe-bash-xml-engine/io.js +7 -2
  587. package/dist/safe-bash-xml-engine/limits.d.ts +0 -2
  588. package/dist/safe-bash-xml-engine/limits.js +1 -1
  589. package/dist/safe-bash-xml-engine/query.js +3 -3
  590. package/dist/safe-bash-zip-engine/index.js +3 -3
  591. package/dist/safe-bash-zip-engine/zip/repair.js +3 -3
  592. package/dist/safe-bash-zip-engine/zip/safety.js +1 -1
  593. package/dist/safe-bash-zip-engine/zip/sfx.js +3 -3
  594. package/dist/safe-bash-zip-engine/zip/volumes.js +1 -1
  595. package/dist/safe-bash-zip-engine/zip-format.js +3 -3
  596. package/dist/safe-playwright-cloudflare/browser-socket-closure.js +18 -3
  597. package/dist/safe-playwright-cloudflare/shell-browser-resource.js +1 -1
  598. package/dist/xlsx-ast/xlsx.js +6 -5
  599. package/package.json +86 -98
  600. package/dist/media-cli/bytes.d.ts +0 -8
  601. package/dist/media-cli/bytes.js +0 -40
  602. package/dist/media-cli/concat.d.ts +0 -30
  603. package/dist/media-cli/concat.js +0 -197
  604. package/dist/media-cli/content.js +0 -66
  605. package/dist/media-cli/dependency-grammars.d.ts +0 -12
  606. package/dist/media-cli/dependency-grammars.js +0 -557
  607. package/dist/media-cli/discover.js +0 -286
  608. package/dist/media-cli/engine.js +0 -190
  609. package/dist/media-cli/filename-expression.js +0 -147
  610. package/dist/media-cli/filesystem.js +0 -35
  611. package/dist/media-cli/frontend-contract.js +0 -8
  612. package/dist/media-cli/frontend-issues.d.ts +0 -6
  613. package/dist/media-cli/frontend-issues.js +0 -9
  614. package/dist/media-cli/imagemagick-operand.d.ts +0 -42
  615. package/dist/media-cli/imagemagick-operand.js +0 -229
  616. package/dist/media-cli/imagemagick-references.d.ts +0 -7
  617. package/dist/media-cli/imagemagick-references.js +0 -42
  618. package/dist/media-cli/imagemagick.generated.js +0 -3254
  619. package/dist/media-cli/imagemagick.js +0 -615
  620. package/dist/media-cli/index.js +0 -12
  621. package/dist/media-cli/mvg.d.ts +0 -10
  622. package/dist/media-cli/mvg.js +0 -102
  623. package/dist/media-cli/network.js +0 -78
  624. package/dist/media-cli/options.generated.js +0 -3312
  625. package/dist/media-cli/preset.d.ts +0 -11
  626. package/dist/media-cli/preset.js +0 -57
  627. package/dist/media-cli/resolution-path.d.ts +0 -23
  628. package/dist/media-cli/resolution-path.js +0 -217
  629. package/dist/media-cli/resolver.js +0 -494
  630. package/dist/media-cli/resources.d.ts +0 -16
  631. package/dist/media-cli/resources.js +0 -187
  632. package/dist/media-cli/shim.js +0 -52
  633. package/dist/media-cli/tee.d.ts +0 -6
  634. package/dist/media-cli/tee.js +0 -38
  635. package/dist/office-package/zip-sync.js +0 -111
  636. package/dist/remote-execution/binary.js +0 -178
  637. package/dist/remote-execution/callback-result.js +0 -26
  638. package/dist/remote-execution/canonical-capabilities.d.ts +0 -5
  639. package/dist/remote-execution/canonical-capabilities.js +0 -45
  640. package/dist/remote-execution/canonical-metadata.d.ts +0 -4
  641. package/dist/remote-execution/canonical-metadata.js +0 -32
  642. package/dist/remote-execution/client.js +0 -824
  643. package/dist/remote-execution/deployment.js +0 -131
  644. package/dist/remote-execution/descriptors.js +0 -267
  645. package/dist/remote-execution/effects.js +0 -357
  646. package/dist/remote-execution/endpoint.js +0 -224
  647. package/dist/remote-execution/files.js +0 -291
  648. package/dist/remote-execution/hosting-operation.js +0 -26
  649. package/dist/remote-execution/hosting-request.d.ts +0 -4
  650. package/dist/remote-execution/hosting-request.js +0 -12
  651. package/dist/remote-execution/hosting-stream.d.ts +0 -8
  652. package/dist/remote-execution/hosting-stream.js +0 -64
  653. package/dist/remote-execution/index.js +0 -18
  654. package/dist/remote-execution/invocation-admission.d.ts +0 -3
  655. package/dist/remote-execution/invocation-admission.js +0 -17
  656. package/dist/remote-execution/job-binding.js +0 -1269
  657. package/dist/remote-execution/materializations.js +0 -284
  658. package/dist/remote-execution/modal-driver.js +0 -90
  659. package/dist/remote-execution/native-result.d.ts +0 -3
  660. package/dist/remote-execution/native-result.js +0 -16
  661. package/dist/remote-execution/output-freshness.d.ts +0 -4
  662. package/dist/remote-execution/output-freshness.js +0 -19
  663. package/dist/remote-execution/output-retrieval.js +0 -474
  664. package/dist/remote-execution/process-http.js +0 -607
  665. package/dist/remote-execution/process.js +0 -577
  666. package/dist/remote-execution/protocol.js +0 -208
  667. package/dist/remote-execution/relay.js +0 -91
  668. package/dist/remote-execution/rest-driver.js +0 -93
  669. package/dist/remote-execution/upload-descriptor.js +0 -201
  670. package/dist/remote-execution/upload-protocol.js +0 -62
  671. package/dist/remote-execution/uploads.js +0 -324
  672. package/dist/remote-execution/wire-json.d.ts +0 -4
  673. package/dist/remote-execution/wire-json.js +0 -44
  674. package/dist/remote-execution/wire-validation.js +0 -131
  675. package/dist/remote-execution/wire.generated.js +0 -4224
  676. package/dist/safe-bash/chunks/chunk-GDYNCWRV.js +0 -161
  677. package/dist/safe-bash/chunks/chunk-IWDICZVK.js +0 -20
  678. package/dist/safe-bash/chunks/chunk-MHMMRCYC.js +0 -3464
  679. package/dist/safe-bash/chunks/chunk-UE5KZDEK.js +0 -77
  680. package/dist/safe-bash/chunks/csvkit-TACDU7FC.js +0 -1618
  681. package/dist/safe-bash/chunks/implementation-MLFHUQ5M.js +0 -133
  682. package/dist/safe-bash/commands/csvkit/sync.js +0 -1639
  683. package/dist/safe-bash/commands/node/unconfigured.d.ts +0 -3
  684. package/dist/safe-bash/commands/node/unconfigured.js +0 -10
  685. package/dist/safe-bash/commands/pandoc/implementation.d.ts +0 -8
  686. package/dist/safe-bash/commands/pandoc/implementation.js +0 -94
  687. package/dist/safe-bash-mcp/index.browser.js +0 -9167
  688. package/dist/safe-bash/command-chunks/{chunk-ZRRBXU3M.js → chunk-GIN5GUDP.js} +4 -4
  689. package/dist/safe-bash/command-chunks/{chunk-LAOM65EE.js → chunk-IEO4XVN6.js} +3 -3
  690. package/dist/safe-bash/command-chunks/{chunk-BXCXRYVU.js → chunk-JNANXVJV.js} +0 -0
  691. package/dist/safe-bash/command-chunks/{chunk-364TMWBT.js → chunk-MWREVL44.js} +6 -6
  692. package/dist/safe-bash/command-chunks/{chunk-464RVBGB.js → chunk-Q5TDKFHK.js} +3 -3
  693. package/dist/safe-bash/command-chunks/{chunk-AJR3AQYA.js → chunk-UKX3LZHR.js} +0 -0
  694. package/dist/safe-bash/command-chunks/{chunk-XIIBTGC5.js → chunk-XPXEQKRW.js} +9 -9
  695. package/dist/safe-bash/command-chunks/{chunk-FDBUV4HJ.js → chunk-Y4HGTG3E.js} +3 -3
  696. /package/dist/{safe-bash/commands/csvkit → safe-bash-command-csvkit}/sync.d.ts +0 -0
@@ -1,187 +0,0 @@
1
- import { byteText, textBytes, token } from "./bytes.js";
2
- import { classify } from "./resolution-path.js";
3
- import { filterInputMetadata, filterOutputMetadata, filterResourceAliases, filterResourceDefaults } from './options.generated.js';
4
- export function resource(index, value, role, access, stage, literal = role === 'preset', syntax = role === 'option-file' ? 'avio' : 'stdio') {
5
- if (!(value instanceof Uint8Array))
6
- throw new TypeError('Resource classification requires original bytes');
7
- // Classify the same owned bytes that discovery returns. Producer metadata
8
- // must not disguise a native URL as a filesystem dependency.
9
- value = new Uint8Array(value);
10
- const name = byteText(value);
11
- // AVIO opens '-' in the file namespace; only specific callers rewrite it.
12
- literal ||= syntax === 'avio' && name === '-';
13
- const classification = classify(value);
14
- const kind = literal ? 'path' : classification === "descriptor" ? "descriptor"
15
- : classification === "url" ? "url"
16
- : classification === 'file-protocol' ? 'file-protocol'
17
- : name.includes("%") || name.includes("*") ? "pattern" : "path";
18
- return { index, value, role, access, stage, kind, base: "cwd",
19
- ...(literal ? { literal: true } : {}) };
20
- }
21
- // Positional fields and aliases come from the individual registered filter tables.
22
- const filterFiles = {
23
- movie: ["filename"], amovie: ["filename"],
24
- lut1d: ["file"], lut3d: ["file"], haldclut: [], drawtext: ["fontfile", "text", "textfile"],
25
- sendcmd: [], asendcmd: [], convolution: [], afir: [],
26
- };
27
- const filterKeys = {
28
- movie: ["filename"], amovie: ["filename"],
29
- lut1d: ["file"], lut3d: ["file"], drawtext: ["fontfile", "textfile", "font"],
30
- sendcmd: ["filename", "f"], asendcmd: ["filename", "f"],
31
- };
32
- /** Apply a selected AVOption value directly. Loaded buffers are not graph syntax. */
33
- export function filterValueResource(filter, field, value) {
34
- const output = Object.hasOwn(filterOutputMetadata, filter) ? filterOutputMetadata[filter] : undefined;
35
- const input = Object.hasOwn(filterInputMetadata, filter) ? filterInputMetadata[filter] : undefined;
36
- if (field.startsWith('/'))
37
- return { value, literal: byteText(value) === '-', filterReader: { filter, name: field.slice(1) } };
38
- // Child DNN options select backend-specific readers: TensorFlow uses AVIO,
39
- // other libraries own filename reads and can load companion model files.
40
- // Keep this obligation unresolved rather than guessing a transfer namespace.
41
- if (input?.lookups?.includes(field))
42
- return { value, literal: false, kind: 'resource-lookup' };
43
- if (output?.keys.includes(field)) {
44
- if (output.generated && value.length === 0)
45
- return;
46
- return { value, access: 'write', literal: output.literal && (!output.stdout || byteText(value) !== '-'),
47
- ...(output.generated ? { kind: 'resource-lookup' } : {}) };
48
- }
49
- if (input && Object.hasOwn(input.keys, field))
50
- return { value, literal: input.keys[field] || byteText(value) === '-' };
51
- if (Object.hasOwn(filterKeys, filter) && filterKeys[filter].includes(field))
52
- return { value, ...(filter === 'drawtext' && field === 'font' ? { kind: 'resource-lookup' } : {}), literal: field !== 'font' && (byteText(value) === '-' || field !== 'filename' || !['movie', 'amovie', 'subtitles'].includes(filter)) };
53
- }
54
- export function filterResources(value) {
55
- // Native filter graph and AVOption parsers read C strings, even when the
56
- // observed script/option-file buffer contains additional bytes after NUL.
57
- const end = value.indexOf(0);
58
- const graph = byteText(end < 0 ? value : value.subarray(0, end));
59
- const found = [];
60
- // fftools/ffmpeg_filter.c graph_opts_apply loads slash values for every
61
- // filter before graphparser.c segment_init initializes any resource reader.
62
- // Keep those evaluation phases separate, retaining order within each phase.
63
- const loaded = [];
64
- let i = 0;
65
- const labels = () => {
66
- while (graph[i] === "[") {
67
- // graphparser.c parse_link_name uses av_get_token, including its own
68
- // quoting layer. A protected ']' is label data, not the closing delimiter.
69
- const label = token(graph, i + 1, "]");
70
- if (!label.value || graph[label.end] !== "]")
71
- return false;
72
- i = label.end + 1;
73
- while (" \t\r\n".includes(graph[i] ?? '\0'))
74
- i++;
75
- }
76
- return true;
77
- };
78
- while (" \t\r\n".includes(graph[i] ?? '\0'))
79
- i++;
80
- // parse_sws_flags consumes the raw first semicolon before graph tokens.
81
- // Quotes and backslashes do not protect a delimiter in this prefix.
82
- if (graph.startsWith('sws_flags=', i)) {
83
- const separator = graph.indexOf(';', i);
84
- if (separator < 0)
85
- return { resources: [], complete: false };
86
- i = separator + 1;
87
- while (" \t\r\n".includes(graph[i] ?? '\0'))
88
- i++;
89
- }
90
- // graphparser.c rejects descriptions containing no filters. The C-string
91
- // boundary above can also make a nonempty observed buffer an empty graph.
92
- // Keep this advisory: discovery neither initializes filters nor raises the
93
- // native execution error before the reader reaches this stage.
94
- if (i === graph.length)
95
- return { resources: [], complete: false };
96
- while (i < graph.length) {
97
- if (!labels())
98
- return { resources: [...loaded, ...found], complete: false };
99
- const name = token(graph, i, "=,;[");
100
- i = name.end;
101
- const filter = name.value.split("@")[0];
102
- // graphparser.c separates the instance suffix before filter lookup. An
103
- // empty name cannot create a filter, even when it has an instance name.
104
- // Keep preceding predictions; later initialization readers are unreachable.
105
- if (!filter)
106
- return { resources: [...loaded, ...found], complete: false };
107
- const output = Object.hasOwn(filterOutputMetadata, filter) ? filterOutputMetadata[filter] : undefined;
108
- const input = Object.hasOwn(filterInputMetadata, filter) ? filterInputMetadata[filter] : undefined;
109
- const assigned = new Set();
110
- if (graph[i] === "=") {
111
- const args = token(graph, i + 1, "[],;");
112
- i = args.end;
113
- let j = 0;
114
- let position = 0;
115
- let shorthand = true;
116
- let complete = true;
117
- const assignments = [];
118
- const last = new Map();
119
- const aliases = Object.hasOwn(filterResourceAliases, filter)
120
- ? filterResourceAliases[filter] : undefined;
121
- while (j < args.value.length) {
122
- const key = token(args.value, j, "=:");
123
- let field = shorthand ? (output?.positional ?? input?.positional ?? (Object.hasOwn(filterFiles, filter) ? filterFiles[filter] : undefined))?.[position++] : undefined;
124
- let val = key;
125
- if (args.value[key.end] === "=") {
126
- // ff_filter_opt_parse disables all later positional keys here.
127
- shorthand = false;
128
- field = key.value;
129
- val = token(args.value, key.end + 1, ":");
130
- }
131
- else if (!shorthand) {
132
- complete = false;
133
- break;
134
- }
135
- const file = field && filterValueResource(filter, field, textBytes(val.value));
136
- if (field) {
137
- const name = field.startsWith('/') ? field.slice(1) : field;
138
- const canonical = aliases && Object.hasOwn(aliases, name) ? aliases[name] : name;
139
- assigned.add(canonical);
140
- last.set(canonical, assignments.length);
141
- assignments.push({ field: canonical, file: file || undefined });
142
- }
143
- j = val.end + 1;
144
- }
145
- // MULTIKEY retains every setter in order, but initialization reads only
146
- // the final filename. Every slash setter still loads its own value file.
147
- for (let index = 0; index < assignments.length; index++) {
148
- const { field, file } = assignments[index];
149
- if (!file)
150
- continue;
151
- const replaced = last.get(field) !== index;
152
- if (file.filterReader)
153
- loaded.push(replaced
154
- ? { ...file, filterReader: { ...file.filterReader, discardValue: true } } : file);
155
- else if (!replaced)
156
- found.push(file);
157
- }
158
- if (!complete)
159
- return { resources: [...loaded, ...found], complete: false };
160
- }
161
- const defaults = Object.hasOwn(filterResourceDefaults, filter)
162
- ? filterResourceDefaults[filter] : undefined;
163
- for (const [field, value] of Object.entries(defaults ?? {})) {
164
- // Explicit empty and slash-loaded values replace the default too. The
165
- // selected resource remains a runtime prediction, never a preflight read.
166
- if (assigned.has(field))
167
- continue;
168
- const file = filterValueResource(filter, field, textBytes(value));
169
- if (file)
170
- found.push(file);
171
- }
172
- // graphparser.c filter_parse consumes output labels, then chain_parse
173
- // requires a comma, semicolon or end. Input labels for another filter
174
- // cannot make a missing separator valid. Retain only the advisory prefix.
175
- if (!labels())
176
- return { resources: [...loaded, ...found], complete: false };
177
- while (" \t\r\n".includes(graph[i] ?? '\0'))
178
- i++;
179
- if (i < graph.length && graph[i] !== ',' && graph[i] !== ';')
180
- return { resources: [...loaded, ...found], complete: false };
181
- if (i < graph.length)
182
- i++;
183
- while (" \t\r\n".includes(graph[i] ?? '\0'))
184
- i++;
185
- }
186
- return { resources: [...loaded, ...found], complete: true };
187
- }
@@ -1,52 +0,0 @@
1
- import { discover } from "./discover.js";
2
- import { grammarRevision, nativeReference } from "./options.generated.js";
3
- export function createFFmpegShims(binding) {
4
- if (binding.build !== nativeReference.id)
5
- throw new Error("Native build does not match the pinned reference");
6
- if (binding.grammarRevision !== grammarRevision)
7
- throw new Error("Native grammar revision drift");
8
- if (binding.lateAccess !== "complete" || binding.effects !== "live")
9
- throw new Error("Native binding requires complete late access and live effects");
10
- if (binding.argv !== "bytes")
11
- throw new Error("Native binding must preserve argv bytes");
12
- // Keep the admitted execution method, including its receiver, rather than
13
- // consulting caller-owned configuration again on each invocation.
14
- const run = binding.run.bind(binding);
15
- return Object.fromEntries(["ffmpeg", "ffprobe"].map(tool => [tool,
16
- async (args, context) => {
17
- if (!Array.isArray(args))
18
- throw new TypeError('Native argv must be an array of byte arguments');
19
- const argumentCount = args.length;
20
- const argv = Array.from({ length: argumentCount }, (_, index) => {
21
- if (!Object.hasOwn(args, index))
22
- throw new TypeError('Native argv slot is missing');
23
- const arg = args[index];
24
- if (!(arg instanceof Uint8Array))
25
- throw new TypeError('Native argv arguments must be bytes');
26
- return new Uint8Array(arg);
27
- });
28
- if (args.length !== argumentCount)
29
- throw new TypeError('Native argv changed during capture');
30
- if (argv.some(arg => arg.includes(0)))
31
- throw new Error("NUL is not representable in native argv");
32
- let discovery;
33
- try {
34
- discovery = discover(tool, argv);
35
- }
36
- catch {
37
- // Prediction is optional. Only the admitted native binding can decide
38
- // whether the command is valid and which resources it actually opens.
39
- discovery = {
40
- tool, grammarRevision, argv: argv.map(arg => new Uint8Array(arg)),
41
- globals: [], groups: [], dependencies: [],
42
- deferred: [{ index: -1, reason: 'native-access' }],
43
- };
44
- }
45
- const result = await run({ tool, executable: nativeReference.executables[tool], argv, discovery, context });
46
- const exitCode = result?.exitCode;
47
- if (!Number.isInteger(exitCode) || exitCode < 0 || exitCode > 255)
48
- throw new TypeError('Invalid native exit status');
49
- return { exitCode };
50
- }
51
- ]));
52
- }
@@ -1,6 +0,0 @@
1
- /** Advisory slave parsing. Malformed option lists remain native-owned; they do
2
- * not authorize reads or prevent later slaves from reaching native execution. */
3
- export declare function teeResources(value: Uint8Array): {
4
- target: Uint8Array;
5
- options: ReadonlyMap<string, Uint8Array>;
6
- }[];
@@ -1,38 +0,0 @@
1
- // FFmpeg 9.0.1 libavformat/tee.c and tee_common.c; retained notices in NOTICE.
2
- import { byteText, textBytes, token } from './bytes.js';
3
- /** Advisory slave parsing. Malformed option lists remain native-owned; they do
4
- * not authorize reads or prevent later slaves from reaching native execution. */
5
- export function teeResources(value) {
6
- const expression = byteText(value);
7
- const resources = [];
8
- let cursor = 0;
9
- while (cursor < expression.length) {
10
- const slave = token(expression, cursor, '|');
11
- cursor = slave.end + 1;
12
- const options = new Map();
13
- let filename = 0;
14
- if (slave.value.startsWith('[')) {
15
- filename = 1;
16
- if (slave.value[filename] !== ']') {
17
- while (filename < slave.value.length) {
18
- const key = token(slave.value, filename, '=');
19
- if (!key.value || slave.value[key.end] !== '=')
20
- break;
21
- const argument = token(slave.value, key.end + 1, ':]');
22
- options.set(key.value, textBytes(argument.value));
23
- filename = argument.end;
24
- if (slave.value[filename] === ']')
25
- break;
26
- if (slave.value[filename] !== ':')
27
- break;
28
- filename++;
29
- }
30
- }
31
- if (slave.value[filename] !== ']')
32
- continue;
33
- filename++;
34
- }
35
- resources.push({ target: textBytes(slave.value.slice(filename)), options });
36
- }
37
- return resources;
38
- }
@@ -1,111 +0,0 @@
1
- import { inflateRaw } from "pako";
2
- // Synchronous stored/raw-DEFLATE ZIP access for office document fast paths.
3
- function crc32Bytes(data) {
4
- let c = 0xffffffff;
5
- for (let i = 0; i < data.length; i++) {
6
- c ^= data[i];
7
- for (let k = 0; k < 8; k++) {
8
- c = c & 1 ? 0xedb88320 ^ (c >>> 1) : c >>> 1;
9
- }
10
- }
11
- return (c ^ 0xffffffff) >>> 0;
12
- }
13
- export function createStoredZipArchive(entries) {
14
- const localParts = [];
15
- const centralParts = [];
16
- let offset = 0;
17
- let count = 0;
18
- for (const [name, content] of Object.entries(entries)) {
19
- const nameBytes = new TextEncoder().encode(name);
20
- const crc = crc32Bytes(content);
21
- const localHeader = new Uint8Array(30 + nameBytes.length);
22
- const lv = new DataView(localHeader.buffer);
23
- lv.setUint32(0, 0x04034b50, true);
24
- lv.setUint16(4, 20, true);
25
- lv.setUint16(6, 0, true);
26
- lv.setUint16(8, 0, true); // stored
27
- lv.setUint32(14, crc, true);
28
- lv.setUint32(18, content.length, true);
29
- lv.setUint32(22, content.length, true);
30
- lv.setUint16(26, nameBytes.length, true);
31
- localHeader.set(nameBytes, 30);
32
- const centralHeader = new Uint8Array(46 + nameBytes.length);
33
- const cv = new DataView(centralHeader.buffer);
34
- cv.setUint32(0, 0x02014b50, true);
35
- cv.setUint16(4, 20, true);
36
- cv.setUint16(6, 20, true);
37
- cv.setUint16(10, 0, true);
38
- cv.setUint32(16, crc, true);
39
- cv.setUint32(20, content.length, true);
40
- cv.setUint32(24, content.length, true);
41
- cv.setUint16(28, nameBytes.length, true);
42
- cv.setUint32(42, offset, true);
43
- centralHeader.set(nameBytes, 46);
44
- localParts.push(localHeader, content);
45
- centralParts.push(centralHeader);
46
- offset += localHeader.length + content.length;
47
- count++;
48
- }
49
- const centralSize = centralParts.reduce((s, p) => s + p.length, 0);
50
- const eocd = new Uint8Array(22);
51
- const ev = new DataView(eocd.buffer);
52
- ev.setUint32(0, 0x06054b50, true);
53
- ev.setUint16(8, count, true);
54
- ev.setUint16(10, count, true);
55
- ev.setUint32(12, centralSize, true);
56
- ev.setUint32(16, offset, true);
57
- const total = offset + centralSize + 22;
58
- const out = new Uint8Array(total);
59
- let pos = 0;
60
- for (const p of [...localParts, ...centralParts, eocd]) {
61
- out.set(p, pos);
62
- pos += p.length;
63
- }
64
- return out;
65
- }
66
- export function readZipArchiveEntries(zipBytes) {
67
- const map = new Map();
68
- const view = new DataView(zipBytes.buffer, zipBytes.byteOffset, zipBytes.byteLength);
69
- let eocdPos = -1;
70
- for (let i = zipBytes.length - 22; i >= Math.max(0, zipBytes.length - 65557); i--) {
71
- if (view.getUint32(i, true) === 0x06054b50) {
72
- eocdPos = i;
73
- break;
74
- }
75
- }
76
- if (eocdPos < 0)
77
- throw new Error("Invalid ZIP: missing end of central directory");
78
- const count = view.getUint16(eocdPos + 10, true);
79
- let cdPos = view.getUint32(eocdPos + 16, true);
80
- for (let i = 0; i < count; i++) {
81
- if (cdPos + 46 > zipBytes.length || view.getUint32(cdPos, true) !== 0x02014b50) {
82
- throw new Error("Invalid ZIP: truncated central directory");
83
- }
84
- const method = view.getUint16(cdPos + 10, true);
85
- const compSize = view.getUint32(cdPos + 20, true);
86
- const nameLen = view.getUint16(cdPos + 28, true);
87
- const extraLen = view.getUint16(cdPos + 30, true);
88
- const commentLen = view.getUint16(cdPos + 32, true);
89
- const localOffset = view.getUint32(cdPos + 42, true);
90
- if (cdPos + 46 + nameLen + extraLen + commentLen > zipBytes.length ||
91
- localOffset + 30 > zipBytes.length || view.getUint32(localOffset, true) !== 0x04034b50) {
92
- throw new Error("Invalid ZIP: truncated or invalid entry header");
93
- }
94
- const name = new TextDecoder().decode(zipBytes.subarray(cdPos + 46, cdPos + 46 + nameLen));
95
- const localNameLen = view.getUint16(localOffset + 26, true);
96
- const localExtraLen = view.getUint16(localOffset + 28, true);
97
- const dataStart = localOffset + 30 + localNameLen + localExtraLen;
98
- if (dataStart + compSize > zipBytes.length) {
99
- throw new Error("Invalid ZIP: truncated entry data");
100
- }
101
- const rawData = zipBytes.subarray(dataStart, dataStart + compSize);
102
- if (method === 0) {
103
- map.set(name, new Uint8Array(rawData));
104
- }
105
- else if (method === 8) {
106
- map.set(name, inflateRaw(rawData));
107
- }
108
- cdPos += 46 + nameLen + extraLen + commentLen;
109
- }
110
- return map;
111
- }
@@ -1,178 +0,0 @@
1
- /** Portable codec for the normative REX1 schema. No Node globals or media text. */
2
- import { parseWireJson } from './wire-json.js';
3
- export const binaryContentType = 'application/vnd.poe.remote-execution.v1+octet-stream';
4
- function bounds(options) {
5
- for (const n of [options.maxFrameBytes, options.maxControlBytes])
6
- if (!Number.isSafeInteger(n) || n < 1 || n > 1048576)
7
- throw new TypeError('Invalid frame bound');
8
- if (options.maxChannels !== undefined && (!Number.isSafeInteger(options.maxChannels) || options.maxChannels < options.channels.length))
9
- throw new TypeError('Invalid channel capacity');
10
- if (options.endedChannels?.some(id => !options.channels.includes(id)))
11
- throw new TypeError('Invalid ended channel');
12
- if (options.maxTotalBytes !== undefined && (!Number.isSafeInteger(options.maxTotalBytes) || options.maxTotalBytes < 0))
13
- throw new TypeError('Invalid lane bound');
14
- if (options.maxControlBytes > options.maxFrameBytes || options.channels.some(n => !Number.isInteger(n) || n < 1 || n > 4294967295))
15
- throw new TypeError('Invalid channel bound');
16
- }
17
- function uint64(n) { if (typeof n !== 'bigint' || n < 0n || n > 18446744073709551615n)
18
- throw new TypeError('Invalid uint64'); }
19
- function header(bytes, options) {
20
- const view = new DataView(bytes.buffer, bytes.byteOffset, 40);
21
- if (view.getUint32(0) !== 0x52455831 || view.getUint8(4) !== 1 || view.getUint16(6) !== 0)
22
- throw new TypeError('Invalid frame magic/version/reserved bits');
23
- const kind = { 1: 'data', 2: 'end', 3: 'control' }[view.getUint8(5)];
24
- const channelId = view.getUint32(8);
25
- const length = view.getUint32(12);
26
- const sequence = view.getBigUint64(16);
27
- const offset = view.getBigUint64(24);
28
- const correlationId = view.getBigUint64(32);
29
- if (!kind || sequence === 0n)
30
- throw new TypeError('Invalid frame kind/sequence');
31
- if (length > options.maxFrameBytes || (kind === 'control' && length > options.maxControlBytes))
32
- throw new TypeError('Invalid frame length');
33
- if (kind === 'control' ? channelId !== 0 || offset !== 0n : !options.channels.includes(channelId))
34
- throw new TypeError('Invalid frame channel/offset');
35
- if (kind === 'end' && length !== 0)
36
- throw new TypeError('END must have zero length');
37
- if (offset + BigInt(length) > 18446744073709551615n)
38
- throw new TypeError('Channel offset overflow');
39
- return { kind, channelId, length, sequence, offset, correlationId };
40
- }
41
- function control(frame, options) {
42
- if (frame.kind !== 'control')
43
- return;
44
- if (!options.validateControl)
45
- throw new TypeError('CONTROL schema is not negotiated');
46
- const record = parseWireJson(new TextDecoder('utf-8', { fatal: true }).decode(frame.payload));
47
- options.validateControl(record);
48
- return record;
49
- }
50
- export function encodeFrame(frame, options) {
51
- frame = { kind: frame.kind, channelId: frame.channelId, sequence: frame.sequence, offset: frame.offset, correlationId: frame.correlationId, payload: frame.payload };
52
- bounds(options);
53
- for (const n of [frame.sequence, frame.offset, frame.correlationId])
54
- uint64(n);
55
- if (!Number.isInteger(frame.channelId) || frame.channelId < 0 || frame.channelId > 4294967295 || !(frame.payload instanceof Uint8Array))
56
- throw new TypeError('Invalid frame');
57
- // Validate size before making a retained copy.
58
- const length = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Uint8Array.prototype), 'byteLength').get.call(frame.payload);
59
- if (length > options.maxFrameBytes)
60
- throw new TypeError('Invalid frame length');
61
- // A fixed header admits kind, channel, control size and counters before
62
- // allocating the payload-bearing frame.
63
- const raw = new Uint8Array(40);
64
- const view = new DataView(raw.buffer);
65
- view.setUint32(0, 0x52455831);
66
- view.setUint8(4, 1);
67
- view.setUint8(5, { data: 1, end: 2, control: 3 }[frame.kind]);
68
- view.setUint32(8, frame.channelId);
69
- view.setUint32(12, length);
70
- view.setBigUint64(16, frame.sequence);
71
- view.setBigUint64(24, frame.offset);
72
- view.setBigUint64(32, frame.correlationId);
73
- header(raw, options);
74
- control(frame, options);
75
- const wire = new Uint8Array(40 + length);
76
- wire.set(raw);
77
- wire.set(frame.payload, 40);
78
- return wire;
79
- }
80
- /** One header and one admitted payload in memory. The producer is advanced only
81
- * after yielding the owned frame. Interrupted frames never yield or acknowledge.
82
- * Offset/sequence state advances only when the consumer resumes after delivery. */
83
- export async function* decodeFrames(source, options, signal) {
84
- signal?.throwIfAborted();
85
- // Retain every negotiated capability before yielding to transport or delivery.
86
- // Caller mutation cannot widen budgets, replace validation or waive END.
87
- options = { ...options };
88
- bounds(options);
89
- options = { ...options, channels: [...options.channels],
90
- endedChannels: options.endedChannels ? [...options.endedChannels] : undefined,
91
- offsets: options.offsets ? new Map(options.offsets) : undefined };
92
- const channels = [...options.channels];
93
- const admittedOptions = { ...options, channels };
94
- let chunk = new Uint8Array();
95
- let position = 0;
96
- let chunkLength = 0;
97
- let sequence = options.firstSequence ?? 1n;
98
- const typedArray = Object.getPrototypeOf(Uint8Array.prototype);
99
- const byteLength = Object.getOwnPropertyDescriptor(typedArray, 'byteLength').get;
100
- const buffer = Object.getOwnPropertyDescriptor(typedArray, 'buffer').get;
101
- const byteOffset = Object.getOwnPropertyDescriptor(typedArray, 'byteOffset').get;
102
- uint64(sequence);
103
- let totalBytes = 0;
104
- const offsets = new Map(options.channels.map(id => [id, options.offsets?.get(id) ?? 0n]));
105
- const ended = new Set(options.endedChannels);
106
- const reader = source.getReader();
107
- const abort = () => { void reader.cancel(signal?.reason).catch(() => { }); };
108
- signal?.addEventListener('abort', abort, { once: true });
109
- async function fill(target) {
110
- let filled = 0;
111
- while (filled < target.length) {
112
- signal?.throwIfAborted();
113
- if (position === chunkLength) {
114
- const next = await reader.read();
115
- signal?.throwIfAborted();
116
- if (next.done) {
117
- if (filled)
118
- throw new TypeError('Interrupted binary frame');
119
- return false;
120
- }
121
- if (!(next.value instanceof Uint8Array))
122
- throw new TypeError('Binary transport bytes required');
123
- chunk = next.value;
124
- chunkLength = byteLength.call(chunk);
125
- position = 0;
126
- if (!chunkLength)
127
- continue;
128
- }
129
- const count = Math.min(chunkLength - position, target.length - filled);
130
- target.set(new Uint8Array(buffer.call(chunk), byteOffset.call(chunk) + position, count), filled);
131
- filled += count;
132
- position += count;
133
- }
134
- return true;
135
- }
136
- try {
137
- for (;;) {
138
- const raw = new Uint8Array(40);
139
- if (!await fill(raw))
140
- break;
141
- const parsed = header(raw, admittedOptions);
142
- totalBytes += 40 + parsed.length;
143
- if (totalBytes > (options.maxTotalBytes ?? Infinity))
144
- throw new TypeError('Lane byte length exceeds admission');
145
- if (parsed.sequence !== sequence)
146
- throw new TypeError('Noncontiguous frame sequence');
147
- if (parsed.kind !== 'control' && (ended.has(parsed.channelId) || parsed.offset !== offsets.get(parsed.channelId)))
148
- throw new TypeError('Invalid channel END/offset');
149
- const payload = new Uint8Array(parsed.length);
150
- if (!await fill(payload))
151
- throw new TypeError('Interrupted binary frame');
152
- const { length: ignoredLength, ...fields } = parsed;
153
- const frame = { ...fields, payload };
154
- const record = control(frame, options);
155
- if (record?.type === 'ChannelOpen' && record.direction === options.channelOpenDirection) {
156
- const id = record.channelId;
157
- if (!Number.isInteger(id) || id < 4 || id > 4294967295 || channels.includes(id) || channels.length >= (options.maxChannels ?? options.channels.length))
158
- throw new TypeError('Invalid dynamic channel admission');
159
- channels.push(id);
160
- offsets.set(id, 0n);
161
- }
162
- signal?.throwIfAborted();
163
- yield frame;
164
- sequence++;
165
- if (parsed.kind !== 'control')
166
- offsets.set(parsed.channelId, parsed.offset + BigInt(parsed.length));
167
- if (parsed.kind === 'end')
168
- ended.add(parsed.channelId);
169
- }
170
- if (options.requireEnd && channels.some(id => !ended.has(id)))
171
- throw new TypeError('Transport EOF without END');
172
- }
173
- finally {
174
- signal?.removeEventListener('abort', abort);
175
- await reader.cancel().catch(() => { });
176
- reader.releaseLock();
177
- }
178
- }
@@ -1,26 +0,0 @@
1
- import { validateWire } from './wire-validation.js';
2
- /** Shape validation alone cannot authorize a receipt for another operation.
3
- * Transfer/END settlement is checked by the channel owner independently. */
4
- export function validateCallbackResult(operation, result) {
5
- validateWire('FileOperation', operation);
6
- validateWire('CallbackResult', result);
7
- if (result.state === 'applied' && result.error !== undefined || result.state !== 'applied' && (!result.error || !result.error.code))
8
- throw new TypeError('Callback state contradicts its failure receipt');
9
- if (result.state === 'unknown' && (result.error?.phase !== 'unknown' || !result.error.recovery))
10
- throw new TypeError('Unknown callback result requires recovery information');
11
- const fields = {
12
- open: ['handleId', 'identityId'], stat: ['stat', 'identityId'], lstat: ['stat', 'identityId'],
13
- read: ['acknowledgedBytes'], write: ['acknowledgedBytes'], seek: ['position'],
14
- readlink: ['target'], readdir: ['entries'],
15
- };
16
- const allowed = fields[operation.op] ?? [];
17
- const common = ['type', 'callbackId', 'operationId', 'state', 'error'];
18
- if (Object.keys(result).some(key => !common.includes(key) && !allowed.includes(key)))
19
- throw new TypeError('Callback result contradicts its operation');
20
- if (result.state === 'applied' && allowed.length && !Object.hasOwn(result, allowed[0]))
21
- throw new TypeError('Callback result is missing its operation receipt');
22
- if ((operation.op === 'read' || operation.op === 'write') && result.acknowledgedBytes !== undefined && BigInt(result.acknowledgedBytes) > BigInt(operation.length))
23
- throw new TypeError('Callback progress exceeds its operation');
24
- if (operation.op === 'readdir' && result.entries !== undefined && result.entries.length > operation.maxEntries)
25
- throw new TypeError('Callback listing exceeds its operation');
26
- }
@@ -1,5 +0,0 @@
1
- import type { FileSystemCapabilities } from "@poe-platform/safe-fs/core";
2
- /** Structural contract fields may be non-enumerable prototype accessors. Capture
3
- * each guarantee once at access time, preserving absent versus explicit false.
4
- * Own enumerable extensions retain the existing boolean capability profile. */
5
- export declare function admitCanonicalCapabilities(input: unknown, syscall: 'capabilities' | 'rmdir', path: string, maxBytes?: number): FileSystemCapabilities;
@@ -1,45 +0,0 @@
1
- import { FsError } from "@poe-platform/safe-fs/contracts/errors";
2
- /** Structural contract fields may be non-enumerable prototype accessors. Capture
3
- * each guarantee once at access time, preserving absent versus explicit false.
4
- * Own enumerable extensions retain the existing boolean capability profile. */
5
- export function admitCanonicalCapabilities(input, syscall, path, maxBytes) {
6
- if (maxBytes !== undefined && (!Number.isSafeInteger(maxBytes) || maxBytes < 1))
7
- throw new TypeError('Invalid capability metadata bound');
8
- if (!input || typeof input !== 'object' || Array.isArray(input))
9
- throw new FsError('EIO', { syscall, path });
10
- const fields = new Set([
11
- 'readOnly', 'read', 'stat', 'readdir', 'realpath', 'access', 'write', 'append',
12
- 'exclusiveCreate', 'explicitDirectories', 'implicitDirectories', 'mkdir',
13
- 'recursiveMkdir', 'remove', 'removeDirectory', 'recursiveRemove', 'rename',
14
- 'copy', 'exclusiveCopy', 'readlink', 'truncate', 'streamingAppend',
15
- 'randomAccessWrite', 'symlinks', 'hardlinks', 'permissions', 'timestamps',
16
- 'atomicRename', 'atomicFileStaging', 'atomicFileMutation',
17
- 'atomicDirectoryMetadata', 'atomicRenameNoReplace', 'snapshotRmdir',
18
- 'streamingRead', 'retainedRead', 'retainedResize', 'atomicResize',
19
- 'streamingWrite', 'descriptorWriteStream', ...Object.keys(input),
20
- ]);
21
- const observed = {};
22
- let remaining = maxBytes === undefined ? Infinity : maxBytes - 2;
23
- let members = 0;
24
- if (remaining < 0)
25
- throw new FsError('EFBIG', { syscall, path });
26
- for (const field of fields) {
27
- if (!(field in input))
28
- continue;
29
- const value = Reflect.get(input, field);
30
- if (value !== undefined && typeof value !== 'boolean')
31
- throw new FsError('EIO', { syscall, path });
32
- if (value !== undefined) {
33
- // Admit the UTF-16 lower bound before encoding potentially large extension
34
- // names. Count JSON escaping, UTF-8 octets, punctuation and boolean values;
35
- // undefined guarantees have no member in the wire observation.
36
- if (field.length > remaining)
37
- throw new FsError('EFBIG', { syscall, path });
38
- remaining -= new TextEncoder().encode(JSON.stringify(field)).length + 1 + (value ? 4 : 5) + (members++ ? 1 : 0);
39
- if (remaining < 0)
40
- throw new FsError('EFBIG', { syscall, path });
41
- }
42
- Object.defineProperty(observed, field, { value, enumerable: true, writable: true, configurable: true });
43
- }
44
- return observed;
45
- }
@@ -1,4 +0,0 @@
1
- import type { FileStat } from "@poe-platform/safe-fs/core";
2
- /** Admit one live legacy stat observation. Numeric metadata cannot gain exact
3
- * bigint precision through coercion, and backend identity never crosses the wire. */
4
- export declare function admitCanonicalMetadata(input: FileStat, syscall: 'stat' | 'lstat'): FileStat;