@bkm016/basalt 0.1.11 → 0.1.13

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 (287) hide show
  1. package/{chunk-7jezts2n.js → chunk-06s9pr82.js} +2 -2
  2. package/{chunk-msm9hmk9.js → chunk-095adzn5.js} +2 -2
  3. package/chunk-0a7ft50x.js +18 -0
  4. package/{chunk-tevejprz.js → chunk-0nedq669.js} +4 -4
  5. package/chunk-0x9netvr.js +5 -0
  6. package/{chunk-9as0p561.js → chunk-15ve3nmv.js} +11 -11
  7. package/chunk-1dbfmejf.js +2 -0
  8. package/{chunk-hbnmymaq.js → chunk-1q6e3mj7.js} +2 -2
  9. package/{chunk-wnzvnskb.js → chunk-22az84sh.js} +2 -2
  10. package/{chunk-ax04trym.js → chunk-2q56egb8.js} +1 -1
  11. package/{chunk-r4ttdkrz.js → chunk-2tf7qfbx.js} +2 -2
  12. package/{chunk-a1352w87.js → chunk-2zbj8ny6.js} +2 -2
  13. package/chunk-302n9g7p.js +2 -0
  14. package/{chunk-bk4rpnm8.js → chunk-37ndxehw.js} +2 -2
  15. package/chunk-41das1ty.js +2 -0
  16. package/{chunk-c71173py.js → chunk-44a7f5ta.js} +6 -6
  17. package/{chunk-jn5pqy5v.js → chunk-46vy2m29.js} +1 -1
  18. package/{chunk-1zj3zvw5.js → chunk-4k9t9jvx.js} +4 -4
  19. package/{chunk-c4qr1f41.js → chunk-4rnmxtpx.js} +2 -2
  20. package/{chunk-fgwda4m0.js → chunk-4w9zqv0k.js} +1 -1
  21. package/chunk-6d9r9p91.js +20 -0
  22. package/chunk-6f4ht2hw.js +2 -0
  23. package/{chunk-jj4hqbrx.js → chunk-6sea12mw.js} +3 -3
  24. package/chunk-74wwdx3y.js +3 -0
  25. package/{chunk-gkf5jwvj.js → chunk-77c2cqp2.js} +1 -1
  26. package/chunk-7chv3knf.js +2 -0
  27. package/chunk-86yr2c0r.js +3 -0
  28. package/{chunk-d0a1jxk5.js → chunk-8cgz8xv7.js} +2 -2
  29. package/{chunk-tvm4zmgj.js → chunk-959z9efn.js} +2 -2
  30. package/{chunk-zc9ar0r4.js → chunk-9e8vhzy7.js} +1 -1
  31. package/chunk-b516bp7n.js +3 -0
  32. package/chunk-bja7p3em.js +25 -0
  33. package/chunk-bng72094.js +2 -0
  34. package/{chunk-a98wma9j.js → chunk-bp61xdsc.js} +1 -1
  35. package/chunk-bq54argx.js +2 -0
  36. package/chunk-ct77cdg7.js +2 -0
  37. package/{chunk-02d3x4mj.js → chunk-dk6fgprw.js} +3 -3
  38. package/chunk-drett6hb.js +2 -0
  39. package/{chunk-4gtgqcct.js → chunk-edbq461k.js} +3 -3
  40. package/{chunk-xh444pfn.js → chunk-f0h2bv11.js} +12 -12
  41. package/{chunk-8mezk0cb.js → chunk-g2etemv5.js} +2 -2
  42. package/{chunk-n0ybj4h9.js → chunk-g5p9mj1r.js} +2 -2
  43. package/{chunk-zyyzk5ha.js → chunk-gpnqmtbk.js} +1 -1
  44. package/{chunk-q9f4xb0w.js → chunk-h9zxqeqr.js} +3 -3
  45. package/{chunk-hb4f2v34.js → chunk-jjtt9aq8.js} +3 -3
  46. package/{chunk-29qrxygd.js → chunk-kbpbrr11.js} +2 -2
  47. package/chunk-m71pj3g1.js +2 -0
  48. package/chunk-mdkfm1ak.js +7 -0
  49. package/chunk-mf04h0yy.js +7 -0
  50. package/chunk-n22vd4at.js +2 -0
  51. package/{chunk-c0zfefq8.js → chunk-nbjnwd54.js} +1 -1
  52. package/{chunk-d5j74pcp.js → chunk-pryvvs96.js} +22 -22
  53. package/{chunk-13gvs0ax.js → chunk-r1jn77q6.js} +2 -2
  54. package/{chunk-ypqjfv3a.js → chunk-rn3jwyh1.js} +2 -2
  55. package/chunk-sgrrxsnz.js +482 -0
  56. package/chunk-sgz87ht5.js +2 -0
  57. package/{chunk-stj493dn.js → chunk-snz19yc2.js} +2 -2
  58. package/{chunk-n2jcx65v.js → chunk-szj85dqe.js} +2 -2
  59. package/{chunk-nrsd810j.js → chunk-tfhp09nj.js} +2 -2
  60. package/{chunk-xtq1xpq0.js → chunk-tfhze1vq.js} +2 -2
  61. package/{chunk-755sy11p.js → chunk-tjg0gcks.js} +1 -1
  62. package/{chunk-en218k4y.js → chunk-tnj2kqb8.js} +1 -1
  63. package/{chunk-h1kb8b49.js → chunk-vqm94hz2.js} +2 -2
  64. package/{chunk-82v8jh1h.js → chunk-xvm0y99b.js} +2 -2
  65. package/{chunk-asyr3gnq.js → chunk-y23dpz5e.js} +2 -2
  66. package/{chunk-1n7dat03.js → chunk-y4pvhes1.js} +6 -6
  67. package/{chunk-bwawt15q.js → chunk-ydzag81d.js} +2 -2
  68. package/chunk-ymg7mtcx.js +3 -0
  69. package/chunk-yy1f9jxc.js +4044 -0
  70. package/{chunk-30rjf7my.js → chunk-z0c8ek0j.js} +5 -5
  71. package/chunk-zk91579b.js +3 -0
  72. package/{chunk-jtsve11b.js → chunk-zx75vnw8.js} +18 -18
  73. package/compiled.js +85 -12
  74. package/package.json +1 -1
  75. package/ui-test-worker.js +53 -53
  76. package/web/{chunk-3a57m7xm.js → chunk-0jbf73pr.js} +3 -3
  77. package/web/{chunk-dk0fnj87.js → chunk-0rhx7qb8.js} +1 -1
  78. package/web/{chunk-q8v5j963.js → chunk-0rvwj2wh.js} +2 -2
  79. package/web/chunk-12qf1r6m.js +1 -0
  80. package/web/{chunk-2ds0a2z1.js → chunk-14vmr99v.js} +3 -3
  81. package/web/{chunk-v3dn9bfw.js → chunk-16jc5m0f.js} +1 -1
  82. package/web/{chunk-f79ajymt.js → chunk-1m6fx2h7.js} +2 -2
  83. package/web/{chunk-793m5jjh.js → chunk-1xm9x7d6.js} +2 -2
  84. package/web/{chunk-j4gvtszc.js → chunk-1zwc09e8.js} +2 -2
  85. package/web/{chunk-mykbcvqz.js → chunk-20jxvmbw.js} +1 -1
  86. package/web/chunk-2n5xbnrt.js +1 -0
  87. package/web/{chunk-57pyz29y.js → chunk-2sef2wft.js} +2 -2
  88. package/web/{chunk-9kkzmss7.js → chunk-2x7vmhm0.js} +3 -3
  89. package/web/{chunk-cbwvfedy.js → chunk-2y1avvqj.js} +8 -8
  90. package/web/chunk-36s08nye.js +1 -0
  91. package/web/chunk-3ctmehg4.js +1 -0
  92. package/web/{chunk-cpshsp24.js → chunk-3jjksgze.js} +1 -1
  93. package/web/{chunk-94denx9h.js → chunk-3p9w8sg5.js} +3 -3
  94. package/web/{chunk-47mbbmst.js → chunk-3wpxymxa.js} +3 -3
  95. package/web/{chunk-2tsxj613.js → chunk-4py9sndw.js} +9 -9
  96. package/web/chunk-4swea9sn.js +1 -0
  97. package/web/chunk-4zz5a483.js +1 -0
  98. package/web/{chunk-hjyev38w.js → chunk-5cwxhhae.js} +5 -5
  99. package/web/chunk-5ym5ffd5.js +4 -0
  100. package/web/{chunk-gten0rpx.js → chunk-6e87m0nm.js} +2 -2
  101. package/web/{chunk-5ahx98zj.js → chunk-6rsr2cyw.js} +8 -8
  102. package/web/chunk-6y55gk1n.js +1 -0
  103. package/web/chunk-7aep7k4v.js +1 -0
  104. package/web/{chunk-tggja45g.js → chunk-8j4tzff5.js} +4 -4
  105. package/web/chunk-8tgavnwx.js +1 -0
  106. package/web/{chunk-zdhyq3ch.js → chunk-97t3ngqf.js} +12 -12
  107. package/web/{chunk-0hvxb5d5.js → chunk-980zhtht.js} +1 -1
  108. package/web/chunk-9k7fkx80.js +1 -0
  109. package/web/{chunk-yrh86m0n.js → chunk-9wz8jne3.js} +1 -1
  110. package/web/chunk-a00vg115.js +1 -0
  111. package/web/chunk-a4gbxnm3.js +1 -0
  112. package/web/{chunk-nhx8pw7p.js → chunk-a6g3nqp0.js} +2 -2
  113. package/web/{chunk-xjc5fmcr.js → chunk-a9er7a7c.js} +24 -24
  114. package/web/chunk-atppv8fk.js +1 -0
  115. package/web/{chunk-xbyrgyy0.js → chunk-awkdw9rw.js} +2 -2
  116. package/web/{chunk-2f2agfpj.js → chunk-b4gcpsbg.js} +11 -11
  117. package/web/{chunk-n33753da.js → chunk-b9jry5a3.js} +1 -1
  118. package/web/chunk-ba9qy65y.js +2 -0
  119. package/web/chunk-bq6mep6p.js +2 -0
  120. package/web/chunk-bwy3e58v.js +1 -0
  121. package/web/{chunk-drchr3yn.js → chunk-c57f714b.js} +2 -2
  122. package/web/{chunk-e763h2px.js → chunk-c6m4vfn5.js} +118 -118
  123. package/web/{chunk-mpdeqzc9.js → chunk-cr04125j.js} +9 -9
  124. package/web/{chunk-dsbyfvwz.js → chunk-cr05dttm.js} +1 -1
  125. package/web/{chunk-a3pye9ag.js → chunk-ct7z7bea.js} +3 -3
  126. package/web/{chunk-2weaa3gn.js → chunk-ct90yf8z.js} +2 -2
  127. package/web/{chunk-gyhr27dm.js → chunk-ddg8rz82.js} +3 -3
  128. package/web/{chunk-wbwets5x.js → chunk-dmha2y9c.js} +28 -28
  129. package/web/{chunk-4gc663j0.js → chunk-e57h40qa.js} +6 -6
  130. package/web/chunk-eeesa5q1.js +1 -0
  131. package/web/{chunk-4wwd3pfz.js → chunk-eqndhs21.js} +2 -2
  132. package/web/{chunk-zv73g4qq.js → chunk-eqxy6535.js} +2 -2
  133. package/web/{chunk-hm8thq7c.js → chunk-et1rsgmp.js} +3 -3
  134. package/web/chunk-f7jpakwh.js +1 -0
  135. package/web/{chunk-enryqmj7.js → chunk-fnvgdvrg.js} +5 -5
  136. package/web/chunk-fp62avjh.js +1 -0
  137. package/web/{chunk-6jb2zyp6.js → chunk-frnh4zqf.js} +2 -2
  138. package/web/chunk-g0be12na.js +1 -0
  139. package/web/{chunk-1zfxaafq.js → chunk-g7hqafb8.js} +1 -1
  140. package/web/{chunk-kfbgvh0c.js → chunk-ga07tv37.js} +1 -1
  141. package/web/chunk-gr163fex.js +1 -0
  142. package/web/chunk-gx340asc.js +1 -0
  143. package/web/chunk-gxtz10wf.js +1 -0
  144. package/web/chunk-h0c42zy3.js +1 -0
  145. package/web/{chunk-b3j07x0n.js → chunk-h1k2kqbs.js} +6 -6
  146. package/web/{chunk-pq56b3mq.js → chunk-h6k1x096.js} +2 -2
  147. package/web/{chunk-885kpj14.js → chunk-jccz14ye.js} +2 -2
  148. package/web/{chunk-1t38sgrk.js → chunk-jh33m2mq.js} +4 -4
  149. package/web/{chunk-g0rtcedn.js → chunk-jh3k7xex.js} +3 -3
  150. package/web/{chunk-nafe18y9.js → chunk-jpem3qvs.js} +10 -10
  151. package/web/{chunk-s0xy00v5.js → chunk-k0cg4n2k.js} +2 -2
  152. package/web/chunk-k9qnvx86.js +2 -0
  153. package/web/chunk-kcnj0gan.js +1 -0
  154. package/web/{chunk-8csw0mvf.js → chunk-ke8dffnk.js} +2 -2
  155. package/web/chunk-kpp5xqsb.js +1 -0
  156. package/web/chunk-m33yted6.js +1 -0
  157. package/web/chunk-me5jqqn6.js +1 -0
  158. package/web/{chunk-tpdcrrf1.js → chunk-mkxeenph.js} +1 -1
  159. package/web/chunk-mnf4ngj9.js +2 -0
  160. package/web/{chunk-30aeb767.js → chunk-mykrm8ba.js} +2 -2
  161. package/web/chunk-mzqqwbmr.js +1 -0
  162. package/web/chunk-mzzaet63.js +1 -0
  163. package/web/chunk-npyrdsf8.css +1 -0
  164. package/web/chunk-p6e2vr51.js +34 -0
  165. package/web/chunk-p7pa02k9.js +2 -0
  166. package/web/chunk-q34as3v6.js +1 -0
  167. package/web/{chunk-27812gqr.js → chunk-q4vy3dkk.js} +3 -3
  168. package/web/chunk-q6c8p73w.js +1 -0
  169. package/web/{chunk-m24yb8md.js → chunk-qb8mbptk.js} +1 -1
  170. package/web/{chunk-b6sqwmq7.js → chunk-qbmtah1x.js} +1 -1
  171. package/web/{chunk-ydtrc1ay.js → chunk-qh62nkem.js} +2 -2
  172. package/web/chunk-qn93we3a.js +1 -0
  173. package/web/{chunk-3ftb27f3.js → chunk-qq06x2ce.js} +8 -8
  174. package/web/{chunk-fj753yzt.js → chunk-qq6m2my8.js} +2 -2
  175. package/web/chunk-r1f1egve.js +1 -0
  176. package/web/chunk-s935z8er.js +2 -0
  177. package/web/{chunk-90fkdzx3.js → chunk-sq75q603.js} +21 -21
  178. package/web/{chunk-05mvzx00.js → chunk-ss96cz1f.js} +1 -1
  179. package/web/{chunk-3b4wqmnh.js → chunk-t82sngk9.js} +7 -7
  180. package/web/chunk-tt9410zw.js +8 -0
  181. package/web/{chunk-8151c970.js → chunk-v4cqc9f9.js} +1 -1
  182. package/web/chunk-ve8gy05p.js +1142 -0
  183. package/web/chunk-vg1ebkce.js +1 -0
  184. package/web/{chunk-g31dbnzm.js → chunk-vk7ch6fh.js} +5 -5
  185. package/web/chunk-vnt34mkb.js +1 -0
  186. package/web/{chunk-59nk506k.js → chunk-w28dn4dw.js} +1 -1
  187. package/web/{chunk-ppjw1mps.js → chunk-w4tfad6c.js} +4 -4
  188. package/web/{chunk-36dc7tcg.js → chunk-wpxtkxjt.js} +2 -2
  189. package/web/chunk-xcyqd7cn.js +1 -0
  190. package/web/chunk-xe121vg7.js +1 -0
  191. package/web/chunk-xh4xn1az.js +1 -0
  192. package/web/{chunk-d4519smc.js → chunk-xk1vkcj4.js} +15 -15
  193. package/web/chunk-xrk5ewsn.js +1 -0
  194. package/web/{chunk-96xhmmqz.js → chunk-xvm66b7v.js} +5 -5
  195. package/web/chunk-xxmaqj1m.js +2 -0
  196. package/web/chunk-xzwxcxb4.js +1 -0
  197. package/web/{chunk-7dycbjxn.js → chunk-y9waq403.js} +4 -4
  198. package/web/chunk-ydhnkws0.js +1 -0
  199. package/web/{chunk-3020mmp1.js → chunk-yn4t5s9r.js} +1 -1
  200. package/web/chunk-ys2tns0p.js +1 -0
  201. package/web/chunk-zb61mf0a.js +1 -0
  202. package/web/{chunk-g4as4zzd.js → chunk-ze6azq7z.js} +4 -4
  203. package/web/chunk-zh7193nq.js +2 -0
  204. package/web/chunk-zqcg6frm.js +1 -0
  205. package/web/{chunk-qykt7avq.js → chunk-zxrbbbtp.js} +2 -2
  206. package/web/index.html +1 -1
  207. package/worker.js +1 -1
  208. package/chunk-38g3gctw.js +0 -3
  209. package/chunk-3k627vf2.js +0 -3
  210. package/chunk-4dw43syb.js +0 -2
  211. package/chunk-7zkswxvk.js +0 -2
  212. package/chunk-95964592.js +0 -25
  213. package/chunk-a1rb1a48.js +0 -20
  214. package/chunk-b2bxqeb4.js +0 -2
  215. package/chunk-bdjr0kfr.js +0 -7
  216. package/chunk-bpw6q7g0.js +0 -3
  217. package/chunk-c6q04xrd.js +0 -3
  218. package/chunk-cmwdjes8.js +0 -18
  219. package/chunk-dfh9m9n7.js +0 -7
  220. package/chunk-dq01v5eq.js +0 -2
  221. package/chunk-e1x629v0.js +0 -5
  222. package/chunk-gbjn6d81.js +0 -2
  223. package/chunk-jymx3a77.js +0 -3951
  224. package/chunk-m1eam0s5.js +0 -2
  225. package/chunk-mbpb5c7w.js +0 -2
  226. package/chunk-pnspvnyd.js +0 -2
  227. package/chunk-pz2afna8.js +0 -2
  228. package/chunk-qaeyhe65.js +0 -2
  229. package/chunk-qnkrrwmg.js +0 -2
  230. package/chunk-v3ee9z3f.js +0 -2
  231. package/chunk-vtqr7dm8.js +0 -3
  232. package/chunk-zq32mwxj.js +0 -479
  233. package/web/chunk-086dshck.js +0 -1
  234. package/web/chunk-0fy590s0.js +0 -1
  235. package/web/chunk-0mdf1qja.js +0 -1
  236. package/web/chunk-0y971zgq.js +0 -2
  237. package/web/chunk-32zmk3f5.js +0 -1
  238. package/web/chunk-3d3wnh8a.js +0 -2
  239. package/web/chunk-48479gnx.js +0 -1
  240. package/web/chunk-4rwwtfnd.js +0 -2
  241. package/web/chunk-6cjm2yr7.js +0 -1
  242. package/web/chunk-7ycxz39p.js +0 -1
  243. package/web/chunk-8z7texmv.js +0 -1
  244. package/web/chunk-9jy8nc4r.js +0 -1
  245. package/web/chunk-9wr33d0t.js +0 -1
  246. package/web/chunk-a4tdrxdh.js +0 -1
  247. package/web/chunk-a9fvsyc1.js +0 -1
  248. package/web/chunk-apvbvg4d.js +0 -1
  249. package/web/chunk-bkxcc7v5.js +0 -1
  250. package/web/chunk-bve354k7.js +0 -1
  251. package/web/chunk-cwpxakby.js +0 -1
  252. package/web/chunk-d3f763n7.js +0 -2
  253. package/web/chunk-dtrh40vr.js +0 -1
  254. package/web/chunk-e68jw0bg.js +0 -1
  255. package/web/chunk-jd7npyv9.js +0 -8
  256. package/web/chunk-jhpg2kcf.js +0 -1
  257. package/web/chunk-jqqbkdtw.js +0 -4
  258. package/web/chunk-jzz5htxp.js +0 -1
  259. package/web/chunk-ka3q31t1.js +0 -1
  260. package/web/chunk-kahab58k.js +0 -1139
  261. package/web/chunk-krgvx75q.js +0 -1
  262. package/web/chunk-kxeaj44h.js +0 -1
  263. package/web/chunk-m1rdyvb5.js +0 -1
  264. package/web/chunk-m7k4wr3k.js +0 -1
  265. package/web/chunk-mdj3r75b.js +0 -1
  266. package/web/chunk-nbcpbqq4.js +0 -1
  267. package/web/chunk-nkpdd9hw.js +0 -1
  268. package/web/chunk-p1yc8hwn.js +0 -2
  269. package/web/chunk-p29brxyt.js +0 -1
  270. package/web/chunk-p8fbes0t.js +0 -1
  271. package/web/chunk-pbp1p5ex.js +0 -1
  272. package/web/chunk-q65zxczs.js +0 -34
  273. package/web/chunk-r6q1301x.js +0 -1
  274. package/web/chunk-r8kghrkb.js +0 -1
  275. package/web/chunk-rhxn7mxg.js +0 -1
  276. package/web/chunk-rqympya7.js +0 -2
  277. package/web/chunk-svqshmpg.js +0 -1
  278. package/web/chunk-swzxq7r3.css +0 -1
  279. package/web/chunk-t18tn37m.js +0 -2
  280. package/web/chunk-tbsaseer.js +0 -1
  281. package/web/chunk-tgkdyxbn.js +0 -1
  282. package/web/chunk-v0zfnvc1.js +0 -1
  283. package/web/chunk-vj31fs16.js +0 -1
  284. package/web/chunk-vr79r8vh.js +0 -1
  285. package/web/chunk-wb9tax0m.js +0 -1
  286. package/web/chunk-x9eghjjd.js +0 -1
  287. package/web/chunk-z3ky5ews.js +0 -2
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{W}from"./chunk-4gtgqcct.js";import{Pr}from"./chunk-wnzvnskb.js";import{Ye}from"./chunk-7jezts2n.js";import{ee}from"./chunk-tvm4zmgj.js";import{fe,pe,K,ge}from"./chunk-r4ttdkrz.js";import{y}from"./chunk-3k627vf2.js";import{j}from"./chunk-nrsd810j.js";import{U,Le,oe,re,Q,G}from"./chunk-1n7dat03.js";import{M}from"./chunk-n2jcx65v.js";var S=9,D=4000,B=(t,e,n)=>{let r=new M,o=re(e,t.compat?.supportsMidConvoSystemMessages);return(async()=>{let s=J(t);try{let l=n?.apiKey;if(!l)throw Error(`No API key for provider: ${t.provider}`);let f=z(),u=ge(o.messages,t,(d)=>f(d)),a=se(t,o,u,n),i=await n?.onPayload?.(a,t);if(i!==void 0)a=i;let c=await Z(t,a,l,n);if(r.push({type:"start",partial:s}),await ie(t,s,r,c,n?.onProviderStreamEvent),n?.signal?.aborted)throw Error("Request was aborted");if(s.stopReason==="pending")throw Error("Mistral stream ended without a finish reason");if(s.stopReason==="aborted"||s.stopReason==="error")throw Error(s.errorMessage||"An unknown error occurred");r.push({type:"done",reason:s.stopReason,message:s}),r.end()}catch(l){for(let f of s.content)delete f.partialArgs;s.stopReason=n?.signal?.aborted?"aborted":"error",s.errorMessage=H(l),r.push({type:"error",reason:s.stopReason,error:s}),r.end()}})(),r},Ie=(t,e,n)=>{let r=n?.apiKey;if(!r)throw Error(`No API key for provider: ${t.provider}`);let o={...K(t,e,n,r),toolChoice:n?.toolChoice},s=n?.reasoning?G(t,n.reasoning):void 0,l=s==="off"?void 0:s,f=t.reasoning?t.thinkingLevelMap:void 0,u=f?l?f[l]??"high":f.off??void 0:void 0;return B(t,e,{...o,promptMode:t.reasoning&&!f&&l?"reasoning":void 0,reasoningEffort:u})};function J(t){return{role:"assistant",content:[],api:t.api,provider:t.provider,model:t.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"pending",timestamp:Date.now()}}function z(){let t=new Map,e=new Map;return(n)=>{let r=t.get(n);if(r)return r;let o=0;while(!0){let s=P(n,o),l=e.get(s);if(!l||l===n)return t.set(n,s),e.set(s,n),s;o++}}}function P(t,e){let n=t.replace(/[^a-zA-Z0-9]/g,"");if(e===0&&n.length===S)return n;let r=n||t,o=e===0?r:`${r}:${e}`;return Ye(o).replace(/[^a-zA-Z0-9]/g,"").slice(0,S)}function H(t){if(t instanceof Error){let e=t,n=typeof e.statusCode==="number"?e.statusCode:void 0,r=typeof e.body==="string"?e.body.trim():void 0;if(n!==void 0&&r)return`Mistral API error (${n}): ${q(r,D)}`;if(n!==void 0)return`Mistral API error (${n}): ${t.message}`;return t.message}return F(t)}function q(t,e){if(t.length<=e)return t;return`${t.slice(0,e)}... [truncated ${t.length-e} chars]`}function F(t){try{let e=JSON.stringify(t);return e===void 0?String(t):e}catch{return String(t)}}async function Z(t,e,n,r){let o=new URL(t.baseUrl);o.pathname=`${o.pathname.replace(/\/+$/u,"")}/`;let s=new URL("v1/chat/completions",o),l=X(t,n,r),f=r?.timeoutMs??60000,u=AbortSignal.timeout(f),a=Pr([r?.signal,u]),i;try{i=await(r?.fetch??globalThis.fetch)(s,{method:"POST",headers:l,body:JSON.stringify(Y(e)),signal:a.signal})}catch(c){if(u.aborted&&!r?.signal?.aborted)throw Error(`Mistral response headers timed out after ${f}ms`);throw c}finally{a.cleanup()}if(await r?.onResponse?.({status:i.status,headers:j(i.headers)},t),!i.ok){let c=await i.text();throw new O(i.status,c,i.statusText)}if(!i.body)throw Error("Mistral response has no body");return ne(i.body,r?.signal)}class O extends Error{statusCode;body;constructor(t,e,n){super(n||`Request failed with status ${t}`);this.name="MistralHttpError",this.statusCode=t,this.body=e}}function X(t,e,n){let r=new Headers({"User-Agent":ee(),accept:"text/event-stream",authorization:`Bearer ${e}`,"content-type":"application/json"});A(r,t.headers),A(r,n?.headers);let o=I(t.headers,"x-affinity")||I(n?.headers,"x-affinity");if(L(n)&&!o)r.set("x-affinity",n.sessionId);return r}function A(t,e){if(!e)return;for(let[n,r]of Object.entries(e))if(r===null)t.delete(n);else t.set(n,r)}function I(t,e){return!!t&&Object.keys(t).some((n)=>n.toLowerCase()===e)}function Y(t){let e={...t};for(let[r,o]of[["topP","top_p"],["maxTokens","max_tokens"],["randomSeed","random_seed"],["responseFormat","response_format"],["toolChoice","tool_choice"],["presencePenalty","presence_penalty"],["frequencyPenalty","frequency_penalty"],["parallelToolCalls","parallel_tool_calls"],["reasoningEffort","reasoning_effort"],["promptMode","prompt_mode"],["promptCacheKey","prompt_cache_key"],["safePrompt","safe_prompt"]])k(e,r,o);e.messages=t.messages.map((r)=>V(r));let n=e.response_format;if(w(n)){let r={...n};k(r,"jsonSchema","json_schema");let o=r.json_schema;if(w(o)){let s={...o};k(s,"schemaDefinition","schema"),r.json_schema=s}e.response_format=r}return e}function V(t){let e={...t};if(k(e,"toolCalls","tool_calls"),k(e,"toolCallId","tool_call_id"),Array.isArray(t.content))e.content=t.content.map((n)=>te(n));return e}function te(t){let e={...t};for(let[n,r]of[["imageUrl","image_url"],["documentUrl","document_url"],["documentName","document_name"],["fileId","file_id"],["referenceIds","reference_ids"],["inputAudio","input_audio"]])k(e,n,r);return e}function k(t,e,n){if(!(e in t))return;t[n]=t[e],delete t[e]}function w(t){return typeof t==="object"&&t!==null&&!Array.isArray(t)}var b=Symbol("mistral-stream-done");async function*ne(t,e){let n=t.getReader(),r=new TextDecoder,o="",s=()=>{n.cancel().catch(()=>{})};e?.addEventListener("abort",s,{once:!0});try{while(!0){if(e?.aborted)throw e.reason;let{done:l,value:f}=await n.read();if(e?.aborted)throw e.reason;o+=l?r.decode():r.decode(f,{stream:!0});let u=E(o);while(u){let a=v(o.slice(0,u.index));if(o=o.slice(u.index+u.length),a===b)return;if(a)yield a;u=E(o)}if(l)break}if(o.trim()){let l=v(o);if(l!==b&&l)yield l}}finally{e?.removeEventListener("abort",s);try{await n.cancel()}catch{}try{n.releaseLock()}catch{}}}function E(t){let e=/\r\n\r\n|\r\n\r|\r\n\n|\r\r\n|\n\r\n|\r\r|\n\r|\n\n/u.exec(t);return e?.index===void 0?void 0:{index:e.index,length:e[0].length}}function v(t){let e=t.split(/\r\n|\r|\n/u).filter((r)=>r.startsWith("data:")).map((r)=>r.slice(5).trimStart()).join(`
3
- `).trim();if(!e)return;if(e==="[DONE]")return b;let n=JSON.parse(e);if(!w(n)||!Array.isArray(n.choices))throw Error("Invalid Mistral streaming event");return{data:n}}function se(t,e,n,r){let o={model:t.id,stream:!0,messages:le(n,t.input.includes("image"))},s=oe(e.messages);if(s.length>0)o.tools=ce(s);if(r?.temperature!==void 0)o.temperature=r.temperature;if(r?.maxTokens!==void 0)o.maxTokens=r.maxTokens;if(r?.toolChoice)o.toolChoice=ue(r.toolChoice);if(r?.promptMode)o.promptMode=r.promptMode;if(r?.reasoningEffort)o.reasoningEffort=r.reasoningEffort;if(L(r))o.promptCacheKey=r.sessionId;return o}function L(t){return t?.cacheRetention!=="none"&&!!t?.sessionId}function ae(t,e){let n=t,r=n.promptTokensDetails?.cachedTokens??n.prompt_tokens_details?.cached_tokens??n.promptTokenDetails?.cachedTokens??n.prompt_token_details?.cached_tokens??n.numCachedTokens??n.num_cached_tokens??0,o=typeof r==="number"&&Number.isFinite(r)?r:0;return Math.min(e,Math.max(0,o))}async function ie(t,e,n,r,o){let s=null,l=e.content,f=()=>l.length-1,u=new Map,a=(i)=>{if(!i)return;if(i.type==="text"){n.push({type:"text_end",contentIndex:f(),content:i.text,partial:e});return}if(i.type==="thinking")n.push({type:"thinking_end",contentIndex:f(),content:i.thinking,partial:e})};for await(let i of r){let c=i.data;if(await o?.(c,t),e.responseId||=c.id,c.usage){let p=c.usage.prompt_tokens||0,h=ae(c.usage,p);e.usage.input=Math.max(0,p-h),e.usage.output=c.usage.completion_tokens||0,e.usage.cacheRead=h,e.usage.cacheWrite=0,e.usage.totalTokens=c.usage.total_tokens||e.usage.input+e.usage.output+e.usage.cacheRead+e.usage.cacheWrite,Q(t,e.usage)}let d=c.choices[0];if(!d)continue;if(d.finish_reason){e.rawStopReason=d.finish_reason;let p=me(d.finish_reason);if(e.stopReason=p.stopReason,p.errorMessage)e.errorMessage=p.errorMessage}let x=d.delta;if(x.content!==null&&x.content!==void 0){let p=typeof x.content==="string"?[x.content]:x.content;for(let h of p){if(typeof h==="string"){let m=y(h);if(!m)continue;if(!s||s.type!=="text")a(s),s={type:"text",text:""},e.content.push(s),n.push({type:"text_start",contentIndex:f(),partial:e});s.text+=m,n.push({type:"text_delta",contentIndex:f(),delta:m,partial:e});continue}if(h.type==="thinking"){let m=(h.thinking??[]).map((g)=>g.text??"").filter((g)=>g.length>0).join(""),_=y(m);if(!_)continue;if(!s||s.type!=="thinking")a(s),s={type:"thinking",thinking:""},e.content.push(s),n.push({type:"thinking_start",contentIndex:f(),partial:e});s.thinking+=_,n.push({type:"thinking_delta",contentIndex:f(),delta:_,partial:e});continue}if(h.type==="text"){let m=y(h.text??"");if(!m)continue;if(!s||s.type!=="text")a(s),s={type:"text",text:""},e.content.push(s),n.push({type:"text_start",contentIndex:f(),partial:e});s.text+=m,n.push({type:"text_delta",contentIndex:f(),delta:m,partial:e})}}}let N=x.tool_calls||[];for(let p of N){if(s)a(s),s=null;let h=p.id&&p.id!=="null"?p.id:P(`toolcall:${p.index??0}`,0),m=p.index??h,_=u.get(m),g;if(_!==void 0){let R=e.content[_];if(R?.type==="toolCall")g=R}if(!g)g={type:"toolCall",id:h,name:p.function.name,arguments:{},partialArgs:""},e.content.push(g),u.set(m,e.content.length-1),n.push({type:"toolcall_start",contentIndex:e.content.length-1,partial:e});let C=typeof p.function.arguments==="string"?p.function.arguments:JSON.stringify(p.function.arguments||{});g.partialArgs=(g.partialArgs||"")+C,g.arguments=W(g.partialArgs),n.push({type:"toolcall_delta",contentIndex:u.get(m),delta:C,partial:e})}}a(s);for(let i of u.values()){let c=e.content[i];if(c.type!=="toolCall")continue;let d=c;d.arguments=W(d.partialArgs),delete d.partialArgs,n.push({type:"toolcall_end",contentIndex:i,toolCall:d,partial:e})}}function ce(t){return t.map((e)=>{let n=pe(e,!0);return{type:"function",function:{name:e.name,description:e.description,parameters:T(fe(e,n)),strict:n??!1}}})}function T(t){if(Array.isArray(t))return t.map((e)=>T(e));if(t&&typeof t==="object"){let e={};for(let[n,r]of Object.entries(t))e[n]=T(r);return e}return t}function le(t,e){let n=[];for(let[r,o]of t.entries()){if(o.role==="system"){let a=r===0?U(o):Le(o);if(a.length>0)n.push({role:"system",content:y(a)});continue}if(o.role==="user"){if(typeof o.content==="string"){n.push({role:"user",content:y(o.content)});continue}let a=o.content.some((c)=>c.type==="image"),i=o.content.filter((c)=>c.type==="text"||e).map((c)=>{if(c.type==="text")return{type:"text",text:y(c.text)};return{type:"image_url",imageUrl:`data:${c.mimeType};base64,${c.data}`}});if(i.length>0){n.push({role:"user",content:i});continue}if(a&&!e)n.push({role:"user",content:"(image omitted: model does not support images)"});continue}if(o.role==="assistant"){let a=[],i=[];for(let d of o.content){if(d.type==="text"){if(d.text.trim().length>0)a.push({type:"text",text:y(d.text)});continue}if(d.type==="thinking"){if(d.thinking.trim().length>0)a.push({type:"thinking",thinking:[{type:"text",text:y(d.thinking)}]});continue}i.push({id:d.id,type:"function",function:{name:d.name,arguments:JSON.stringify(d.arguments||{})},index:0})}let c={role:"assistant",prefix:!1};if(a.length>0)c.content=a;if(i.length>0)c.toolCalls=i;if(a.length>0||i.length>0)n.push(c);continue}let s=[],l=o.content.filter((a)=>a.type==="text").map((a)=>a.type==="text"?y(a.text):"").join(`
2
+ import{G}from"./chunk-edbq461k.js";import{Cr}from"./chunk-22az84sh.js";import{rt}from"./chunk-06s9pr82.js";import{ne}from"./chunk-959z9efn.js";import{be,fe,X,Se}from"./chunk-2tf7qfbx.js";import{w}from"./chunk-b516bp7n.js";import{Q}from"./chunk-tfhp09nj.js";import{W,De,ae,ie,Y,V}from"./chunk-y4pvhes1.js";import{D}from"./chunk-szj85dqe.js";var R=9,j=4000,N=(t,e,n)=>{let r=new D,o=ie(e,t.compat?.supportsMidConvoSystemMessages);return(async()=>{let s=U(t);try{let l=n?.apiKey;if(!l)throw Error(`No API key for provider: ${t.provider}`);let f=B(),u=Se(o.messages,t,(d)=>f(d)),a=re(t,o,u,n),i=await n?.onPayload?.(a,t);if(i!==void 0)a=i;let c=await K(t,a,l,n);if(r.push({type:"start",partial:s}),await se(t,s,r,c,n?.onProviderStreamEvent),n?.signal?.aborted)throw Error("Request was aborted");if(s.stopReason==="pending")throw Error("Mistral stream ended without a finish reason");if(s.stopReason==="aborted"||s.stopReason==="error")throw Error(s.errorMessage||"An unknown error occurred");r.push({type:"done",reason:s.stopReason,message:s}),r.end()}catch(l){for(let f of s.content)delete f.partialArgs;s.stopReason=n?.signal?.aborted?"aborted":"error",s.errorMessage=J(l),r.push({type:"error",reason:s.stopReason,error:s}),r.end()}})(),r},Ie=(t,e,n)=>{let r=n?.apiKey;if(!r)throw Error(`No API key for provider: ${t.provider}`);let o={...X(t,e,n,r),toolChoice:n?.toolChoice},s=n?.reasoning?V(t,n.reasoning):void 0,l=s==="off"?void 0:s,f=t.reasoning?t.thinkingLevelMap:void 0,u=f?l?f[l]??"high":f.off??void 0:void 0;return N(t,e,{...o,promptMode:t.reasoning&&!f&&l?"reasoning":void 0,reasoningEffort:u})};function U(t){return{role:"assistant",content:[],api:t.api,provider:t.provider,model:t.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"pending",timestamp:Date.now()}}function B(){let t=new Map,e=new Map;return(n)=>{let r=t.get(n);if(r)return r;let o=0;while(!0){let s=v(n,o),l=e.get(s);if(!l||l===n)return t.set(n,s),e.set(s,n),s;o++}}}function v(t,e){let n=t.replace(/[^a-zA-Z0-9]/g,"");if(e===0&&n.length===R)return n;let r=n||t,o=e===0?r:`${r}:${e}`;return rt(o).replace(/[^a-zA-Z0-9]/g,"").slice(0,R)}function J(t){if(t instanceof Error){let e=t,n=typeof e.statusCode==="number"?e.statusCode:void 0,r=typeof e.body==="string"?e.body.trim():void 0;if(n!==void 0&&r)return`Mistral API error (${n}): ${z(r,j)}`;if(n!==void 0)return`Mistral API error (${n}): ${t.message}`;return t.message}return H(t)}function z(t,e){if(t.length<=e)return t;return`${t.slice(0,e)}... [truncated ${t.length-e} chars]`}function H(t){try{let e=JSON.stringify(t);return e===void 0?String(t):e}catch{return String(t)}}async function K(t,e,n,r){let o=new URL(t.baseUrl);o.pathname=`${o.pathname.replace(/\/+$/u,"")}/`;let s=new URL("v1/chat/completions",o),l=q(t,n,r),f=r?.timeoutMs??60000,u=AbortSignal.timeout(f),a=Cr([r?.signal,u]),i;try{i=await(r?.fetch??globalThis.fetch)(s,{method:"POST",headers:l,body:JSON.stringify(F(e)),signal:a.signal})}catch(c){if(u.aborted&&!r?.signal?.aborted)throw Error(`Mistral response headers timed out after ${f}ms`);throw c}finally{a.cleanup()}if(await r?.onResponse?.({status:i.status,headers:Q(i.headers)},t),!i.ok){let c=await i.text();throw new P(i.status,c,i.statusText)}if(!i.body)throw Error("Mistral response has no body");return te(i.body,r?.signal)}class P extends Error{statusCode;body;constructor(t,e,n){super(n||`Request failed with status ${t}`);this.name="MistralHttpError",this.statusCode=t,this.body=e}}function q(t,e,n){let r=new Headers({"User-Agent":ne(),accept:"text/event-stream",authorization:`Bearer ${e}`,"content-type":"application/json"});S(r,t.headers),S(r,n?.headers);let o=A(t.headers,"x-affinity")||A(n?.headers,"x-affinity");if(O(n)&&!o)r.set("x-affinity",n.sessionId);return r}function S(t,e){if(!e)return;for(let[n,r]of Object.entries(e))if(r===null)t.delete(n);else t.set(n,r)}function A(t,e){return!!t&&Object.keys(t).some((n)=>n.toLowerCase()===e)}function F(t){let e={...t};for(let[r,o]of[["topP","top_p"],["maxTokens","max_tokens"],["randomSeed","random_seed"],["responseFormat","response_format"],["toolChoice","tool_choice"],["presencePenalty","presence_penalty"],["frequencyPenalty","frequency_penalty"],["parallelToolCalls","parallel_tool_calls"],["reasoningEffort","reasoning_effort"],["promptMode","prompt_mode"],["promptCacheKey","prompt_cache_key"],["safePrompt","safe_prompt"]])_(e,r,o);e.messages=t.messages.map((r)=>Z(r));let n=e.response_format;if(M(n)){let r={...n};_(r,"jsonSchema","json_schema");let o=r.json_schema;if(M(o)){let s={...o};_(s,"schemaDefinition","schema"),r.json_schema=s}e.response_format=r}return e}function Z(t){let e={...t};if(_(e,"toolCalls","tool_calls"),_(e,"toolCallId","tool_call_id"),Array.isArray(t.content))e.content=t.content.map((n)=>ee(n));return e}function ee(t){let e={...t};for(let[n,r]of[["imageUrl","image_url"],["documentUrl","document_url"],["documentName","document_name"],["fileId","file_id"],["referenceIds","reference_ids"],["inputAudio","input_audio"]])_(e,n,r);return e}function _(t,e,n){if(!(e in t))return;t[n]=t[e],delete t[e]}function M(t){return typeof t==="object"&&t!==null&&!Array.isArray(t)}var k=Symbol("mistral-stream-done");async function*te(t,e){let n=t.getReader(),r=new TextDecoder,o="",s=()=>{n.cancel().catch(()=>{})};e?.addEventListener("abort",s,{once:!0});try{while(!0){if(e?.aborted)throw e.reason;let{done:l,value:f}=await n.read();if(e?.aborted)throw e.reason;o+=l?r.decode():r.decode(f,{stream:!0});let u=I(o);while(u){let a=E(o.slice(0,u.index));if(o=o.slice(u.index+u.length),a===k)return;if(a)yield a;u=I(o)}if(l)break}if(o.trim()){let l=E(o);if(l!==k&&l)yield l}}finally{e?.removeEventListener("abort",s);try{await n.cancel()}catch{}try{n.releaseLock()}catch{}}}function I(t){let e=/\r\n\r\n|\r\n\r|\r\n\n|\r\r\n|\n\r\n|\r\r|\n\r|\n\n/u.exec(t);return e?.index===void 0?void 0:{index:e.index,length:e[0].length}}function E(t){let e=t.split(/\r\n|\r|\n/u).filter((r)=>r.startsWith("data:")).map((r)=>r.slice(5).trimStart()).join(`
3
+ `).trim();if(!e)return;if(e==="[DONE]")return k;let n=JSON.parse(e);if(!M(n)||!Array.isArray(n.choices))throw Error("Invalid Mistral streaming event");return{data:n}}function re(t,e,n,r){let o={model:t.id,stream:!0,messages:le(n,t.input.includes("image"))},s=ae(e.messages);if(s.length>0)o.tools=ce(s);if(r?.temperature!==void 0)o.temperature=r.temperature;if(r?.maxTokens!==void 0)o.maxTokens=r.maxTokens;if(r?.toolChoice)o.toolChoice=ue(r.toolChoice);if(r?.promptMode)o.promptMode=r.promptMode;if(r?.reasoningEffort)o.reasoningEffort=r.reasoningEffort;if(O(r))o.promptCacheKey=r.sessionId;return o}function O(t){return t?.cacheRetention!=="none"&&!!t?.sessionId}function oe(t,e){let n=t,r=n.promptTokensDetails?.cachedTokens??n.prompt_tokens_details?.cached_tokens??n.promptTokenDetails?.cachedTokens??n.prompt_token_details?.cached_tokens??n.numCachedTokens??n.num_cached_tokens??0,o=typeof r==="number"&&Number.isFinite(r)?r:0;return Math.min(e,Math.max(0,o))}async function se(t,e,n,r,o){let s=null,l=e.content,f=()=>l.length-1,u=new Map,a=(i)=>{if(!i)return;if(i.type==="text"){n.push({type:"text_end",contentIndex:f(),content:i.text,partial:e});return}if(i.type==="thinking")n.push({type:"thinking_end",contentIndex:f(),content:i.thinking,partial:e})};for await(let i of r){let c=i.data;if(await o?.(c,t),e.responseId||=c.id,c.usage){let p=c.usage.prompt_tokens||0,h=oe(c.usage,p);e.usage.input=Math.max(0,p-h),e.usage.output=c.usage.completion_tokens||0,e.usage.cacheRead=h,e.usage.cacheWrite=0,e.usage.totalTokens=c.usage.total_tokens||e.usage.input+e.usage.output+e.usage.cacheRead+e.usage.cacheWrite,Y(t,e.usage)}let d=c.choices[0];if(!d)continue;if(d.finish_reason){e.rawStopReason=d.finish_reason;let p=pe(d.finish_reason);if(e.stopReason=p.stopReason,p.errorMessage)e.errorMessage=p.errorMessage}let y=d.delta;if(y.content!==null&&y.content!==void 0){let p=typeof y.content==="string"?[y.content]:y.content;for(let h of p){if(typeof h==="string"){let m=w(h);if(!m)continue;if(!s||s.type!=="text")a(s),s={type:"text",text:""},e.content.push(s),n.push({type:"text_start",contentIndex:f(),partial:e});s.text+=m,n.push({type:"text_delta",contentIndex:f(),delta:m,partial:e});continue}if(h.type==="thinking"){let m=(h.thinking??[]).map((g)=>g.text??"").filter((g)=>g.length>0).join(""),x=w(m);if(!x)continue;if(!s||s.type!=="thinking")a(s),s={type:"thinking",thinking:""},e.content.push(s),n.push({type:"thinking_start",contentIndex:f(),partial:e});s.thinking+=x,n.push({type:"thinking_delta",contentIndex:f(),delta:x,partial:e});continue}if(h.type==="text"){let m=w(h.text??"");if(!m)continue;if(!s||s.type!=="text")a(s),s={type:"text",text:""},e.content.push(s),n.push({type:"text_start",contentIndex:f(),partial:e});s.text+=m,n.push({type:"text_delta",contentIndex:f(),delta:m,partial:e})}}}let L=y.tool_calls||[];for(let p of L){if(s)a(s),s=null;let h=p.id&&p.id!=="null"?p.id:v(`toolcall:${p.index??0}`,0),m=p.index??h,x=u.get(m),g;if(x!==void 0){let C=e.content[x];if(C?.type==="toolCall")g=C}if(!g)g={type:"toolCall",id:h,name:p.function.name,arguments:{},partialArgs:""},e.content.push(g),u.set(m,e.content.length-1),n.push({type:"toolcall_start",contentIndex:e.content.length-1,partial:e});let T=typeof p.function.arguments==="string"?p.function.arguments:JSON.stringify(p.function.arguments||{});g.partialArgs=(g.partialArgs||"")+T,g.arguments=G(g.partialArgs),n.push({type:"toolcall_delta",contentIndex:u.get(m),delta:T,partial:e})}}a(s);for(let i of u.values()){let c=e.content[i];if(c.type!=="toolCall")continue;let d=c;d.arguments=G(d.partialArgs),delete d.partialArgs,n.push({type:"toolcall_end",contentIndex:i,toolCall:d,partial:e})}}function ce(t){return t.map((e)=>{let n=fe(e,!0);return{type:"function",function:{name:e.name,description:e.description,parameters:b(be(e,n)),strict:n??!1}}})}function b(t){if(Array.isArray(t))return t.map((e)=>b(e));if(t&&typeof t==="object"){let e={};for(let[n,r]of Object.entries(t))e[n]=b(r);return e}return t}function le(t,e){let n=[];for(let[r,o]of t.entries()){if(o.role==="system"){let a=r===0?W(o):De(o);if(a.length>0)n.push({role:"system",content:w(a)});continue}if(o.role==="user"){if(typeof o.content==="string"){n.push({role:"user",content:w(o.content)});continue}let a=o.content.some((c)=>c.type==="image"),i=o.content.filter((c)=>c.type==="text"||e).map((c)=>{if(c.type==="text")return{type:"text",text:w(c.text)};return{type:"image_url",imageUrl:`data:${c.mimeType};base64,${c.data}`}});if(i.length>0){n.push({role:"user",content:i});continue}if(a&&!e)n.push({role:"user",content:"(image omitted: model does not support images)"});continue}if(o.role==="assistant"){let a=[],i=[];for(let d of o.content){if(d.type==="text"){if(d.text.trim().length>0)a.push({type:"text",text:w(d.text)});continue}if(d.type==="thinking"){if(d.thinking.trim().length>0)a.push({type:"thinking",thinking:[{type:"text",text:w(d.thinking)}]});continue}i.push({id:d.id,type:"function",function:{name:d.name,arguments:JSON.stringify(d.arguments||{})},index:0})}let c={role:"assistant",prefix:!1};if(a.length>0)c.content=a;if(i.length>0)c.toolCalls=i;if(a.length>0||i.length>0)n.push(c);continue}let s=[],l=o.content.filter((a)=>a.type==="text").map((a)=>a.type==="text"?w(a.text):"").join(`
4
4
  `),f=o.content.some((a)=>a.type==="image"),u=de(l,f,e,o.isError);s.push({type:"text",text:u});for(let a of o.content){if(!e)continue;if(a.type!=="image")continue;s.push({type:"image_url",imageUrl:`data:${a.mimeType};base64,${a.data}`})}n.push({role:"tool",toolCallId:o.toolCallId,name:o.toolName,content:s})}return n}function de(t,e,n,r){let o=t.trim(),s=r?"[tool error] ":"";if(o.length>0)return`${s}${o}${e&&!n?`
5
- [tool image omitted: model does not support images]`:""}`;if(e){if(n)return r?"[tool error] (see attached image)":"(see attached image)";return r?"[tool error] (image omitted: model does not support images)":"(image omitted: model does not support images)"}return r?"[tool error] (no tool output)":"(no tool output)"}function ue(t){if(!t)return;if(t==="auto"||t==="none"||t==="any"||t==="required")return t;return{type:"function",function:{name:t.function.name}}}function me(t){if(t===null)return{stopReason:"stop"};switch(t){case"stop":return{stopReason:"stop"};case"length":case"model_length":return{stopReason:"length"};case"tool_calls":return{stopReason:"toolUse"};case"error":return{stopReason:"error",errorMessage:"Provider stopped with: error (server error)"};default:return{stopReason:"error",errorMessage:`Provider stopped with: ${t}`}}}export{B as stream,Ie as streamSimple};
5
+ [tool image omitted: model does not support images]`:""}`;if(e){if(n)return r?"[tool error] (see attached image)":"(see attached image)";return r?"[tool error] (image omitted: model does not support images)":"(image omitted: model does not support images)"}return r?"[tool error] (no tool output)":"(no tool output)"}function ue(t){if(!t)return;if(t==="auto"||t==="none"||t==="any"||t==="required")return t;return{type:"function",function:{name:t.function.name}}}function pe(t){if(t===null)return{stopReason:"stop"};switch(t){case"stop":return{stopReason:"stop"};case"length":case"model_length":return{stopReason:"length"};case"tool_calls":return{stopReason:"toolUse"};case"error":return{stopReason:"error",errorMessage:"Provider stopped with: error (server error)"};default:return{stopReason:"error",errorMessage:`Provider stopped with: ${t}`}}}export{N as stream,Ie as streamSimple};
@@ -1,10 +1,10 @@
1
1
  // @bun
2
- import"./chunk-c4qr1f41.js";import"./chunk-4gtgqcct.js";import{Pr}from"./chunk-wnzvnskb.js";import{at,Je,lt}from"./chunk-30rjf7my.js";import{Ge}from"./chunk-bpw6q7g0.js";import{ee}from"./chunk-tvm4zmgj.js";import{Lr}from"./chunk-xtq1xpq0.js";import{q,V}from"./chunk-ypqjfv3a.js";import{Pe,K}from"./chunk-r4ttdkrz.js";import{j}from"./chunk-nrsd810j.js";import{Gn,Kr}from"./chunk-n0ybj4h9.js";import{U,ft,me,re,be,Se,G}from"./chunk-1n7dat03.js";import{M,Ve,Ht,ke}from"./chunk-n2jcx65v.js";var Te="https://chatgpt.com/backend-api",ve="https://api.openai.com/auth",Re=0,te=1000,Ce=60000,xe=15000,Oe=3,ue=new Set(["openai","openai-codex","opencode"]),Ae=1009,Me="websocket_connection_limit_reached",We="previous_response_not_found",Le=new Set(["completed","incomplete","failed","cancelled","queued","in_progress"]);function ne(e){if(e.stopReason==="pending")throw Error("Codex stream ended without a stop reason");if(e.stopReason==="error"||e.stopReason==="aborted")throw Error(e.errorMessage||"An unknown error occurred")}function De(e){return/GoUsageLimitError|FreeUsageLimitError|Monthly usage limit reached|available balance|insufficient_quota|out of budget|quota exceeded|billing/i.test(e)}function Ne(e,r){if(e===429&&De(r))return!1;if(e===429||e===500||e===502||e===503||e===504)return!0;return/rate.?limit|overloaded|service.?unavailable|upstream.?connect|connection.?refused/i.test(r)}function qe(e){let r=e.get("retry-after-ms");if(r!==null){let s=Number(r);if(Number.isFinite(s))return Math.max(0,s)}let t=e.get("retry-after");if(!t)return;let n=Number(t);if(Number.isFinite(n))return Math.max(0,n*1000);let o=Date.parse(t);if(!Number.isNaN(o))return Math.max(0,o-Date.now());return}class Y extends Error{}function Be(e,r){let t=r?.maxRetryDelayMs??Ce;if(t>0&&e>t)throw new Y(`Server requested ${Math.ceil(e/1000)}s retry delay (max: ${Math.ceil(t/1000)}s)`);return e}function se(e,r){return new Promise((t,n)=>{if(r?.aborted){n(Error("Request was aborted"));return}let o=setTimeout(t,e);r?.addEventListener("abort",()=>{clearTimeout(o),n(Error("Request was aborted"))})})}function oe(e){if(e===void 0)return;if(!Number.isFinite(e)||e<0)throw Error(`Invalid timeoutMs: ${String(e)}`);return Math.floor(e)}function Ie(){if(typeof process>"u"||!(process.versions?.node||process.versions?.bun))return null;return process.getBuiltinModule?.("node:zlib")??null}function Fe(e){let r=Ie();if(!r||typeof r.zstdCompressSync!=="function")return null;try{let t=r.zstdCompressSync(e,{params:{[r.constants.ZSTD_c_compressionLevel]:Oe}});return new Uint8Array(t)}catch{return null}}var Ue=(e,r,t)=>{let n=new M,o=re(r,e.compat?.supportsMidConvoSystemMessages);return(async()=>{let s={role:"assistant",content:[],api:"openai-codex-responses",provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"pending",timestamp:Date.now()};try{let i=t?.apiKey;if(!i)throw Error(`No API key for provider: ${e.provider}`);let u=_t(i),a=Pe(be(o.messages),e.compat?.supportsOpenAIGrammarTools??!1),d=t?.cacheRetention==="none"?void 0:t?.sessionId,p=Ge(d),c=$e(e,o,t,p,a),l=await t?.onPayload?.(c,e);if(l!==void 0)c=l;let f=p||Kr(),m=kt(e.headers,t?.headers,u,i,p),b=Tt(e.headers,t?.headers,u,i,f),h=JSON.stringify(c),E=oe(t?.timeoutMs),w=oe(t?.websocketConnectTimeoutMs),v=t?.transport||"auto",T=!1,y=v!=="sse"&&ye(d);if(y)ie(d);if(v!=="sse"&&!y){let S=!1,k=!1,O=!1;while(!0){S=!1;try{if(await St(He(e.baseUrl),c,b,s,n,e,()=>{if(S=!0,!T)T=!0,n.push({type:"start",partial:s})},E,w,d,u,a,t),t?.signal?.aborted)throw Error("Request was aborted");ne(s),n.push({type:"done",reason:s.stopReason,message:s}),n.end();return}catch(R){let N=t?.signal?.aborted,B=!S&&Xe(R),W=Ye(R);if(!N&&W&&!O){O=!0;continue}if(!N&&B&&!k){k=!0;continue}if(N||je(R)&&!B)throw R;if(ke(s,Ht("provider_transport_failure",R,{configuredTransport:v,...S?{}:{fallbackTransport:"sse"},eventsEmitted:S,phase:S?"after_message_stream_start":"before_message_stream_start",requestBytes:new TextEncoder().encode(h).byteLength})),ot(d,R),S)throw R;ie(d);break}}}let x=Fe(h);if(x)m.set("content-encoding","zstd");let A=x??h,_,D,J=t?.maxRetries??Re;for(let S=0;S<=J;S++){if(t?.signal?.aborted)throw Error("Request was aborted");try{let k=E!==void 0&&E>0?AbortSignal.timeout(E):void 0,O=Pr([t?.signal,k]);try{_=await(t?.fetch??globalThis.fetch)(de(e.baseUrl),{method:"POST",headers:m,body:A,signal:O.signal})}catch(W){if(k?.aborted&&!t?.signal?.aborted)throw Error(`Codex SSE response headers timed out after ${E}ms`);throw W}finally{O.cleanup()}if(await t?.onResponse?.({status:_.status,headers:j(_.headers)},e),_.ok)break;let R=await _.text();if(S<J&&Ne(_.status,R)){let W=qe(_.headers),_e=W===void 0?te*2**S:Be(W,t);await se(_e,t?.signal);continue}let N=new Response(R,{status:_.status,statusText:_.statusText}),B=await Et(N);throw Error(B.friendlyMessage||B.message)}catch(k){if(k instanceof Error){if(k.name==="AbortError"||k.message==="Request was aborted")throw Error("Request was aborted")}if(D=k instanceof Error?k:Error(String(k)),S<J&&!(D instanceof Y)&&!D.message.includes("usage limit")){let O=te*2**S;await se(O,t?.signal);continue}throw D}}if(!_?.ok)throw D??Error("Failed after retries");if(!_.body)throw Error("No response body");if(!T)T=!0,n.push({type:"start",partial:s});if(await Ke(_,s,n,e,a,t),t?.signal?.aborted)throw Error("Request was aborted");ne(s),n.push({type:"done",reason:s.stopReason,message:s}),n.end()}catch(i){for(let u of s.content)delete u.partialJson,delete u.customInput;s.stopReason=t?.signal?.aborted?"aborted":"error",s.errorMessage=V(q(i)),n.push({type:"error",reason:s.stopReason,error:s}),n.end()}})(),n},Ut=(e,r,t)=>{let n=t?.apiKey;if(!n)throw Error(`No API key for provider: ${e.provider}`);let o={...K(e,r,t,n),toolChoice:t?.toolChoice},s=t?.reasoning?G(e,t.reasoning):void 0;return Ue(e,r,{...o,reasoningEffort:s==="off"?void 0:s})};function $e(e,r,t,n,o=Pe(be(r.messages),e.compat?.supportsOpenAIGrammarTools??!1)){let s=e.compat?.supportsStrictMode??!0,i=e.compat?.supportsOpenAIGrammarTools??!1,u=e.compat?.supportsAdditionalTools??!1,a=e.compat?.supportsToolSearch??!1,d=Se(r.messages,u||a),p=at(e,r,ue,{includeSystemPrompt:!1,grammarToolInputProperties:o,supportsMidConvoSystemMessages:e.compat?.supportsMidConvoSystemMessages??!1,supportsAdditionalTools:u,supportsToolSearch:a,toolOptions:{strict:null,supportsStrictMode:s,supportsOpenAIGrammarTools:i}}),c=me(r.messages),l=c?U(c):"",f={model:e.id,store:!1,stream:!0,instructions:l||"You are a helpful assistant.",input:p,text:{verbosity:t?.textVerbosity||"low"},include:["reasoning.encrypted_content"],prompt_cache_key:n,tool_choice:t?.toolChoice??"auto",parallel_tool_calls:!0};if(t?.temperature!==void 0)f.temperature=t.temperature;if(t?.serviceTier!==void 0)f.service_tier=t.serviceTier;if(d.requestTools.length>0)f.tools=Je(d.requestTools,{strict:null,supportsStrictMode:s,supportsOpenAIGrammarTools:i});if(t?.reasoningEffort!==void 0){let m=t.reasoningEffort==="none"?e.thinkingLevelMap?.off===void 0?"none":e.thinkingLevelMap.off:e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort;if(m!==null)f.reasoning={effort:m,summary:t.reasoningSummary??"auto"}}else if(e.reasoning&&e.thinkingLevelMap?.off!==null)f.reasoning={effort:e.thinkingLevelMap?.off??"none"};return f}function ze(e,r){switch(r){case"flex":return 0.5;case"priority":return e.id==="gpt-5.5"?2.5:2;default:return 1}}function fe(e,r,t){let n=ze(t,r);if(n===1)return;e.cost.input*=n,e.cost.output*=n,e.cost.cacheRead*=n,e.cost.cacheWrite*=n,e.cost.total=e.cost.input+e.cost.output+e.cost.cacheRead+e.cost.cacheWrite}function le(e,r){if(e==="default"&&(r==="flex"||r==="priority"))return r;return e??r}function de(e){let t=(e&&e.trim().length>0?e:Te).replace(/\/+$/,"");if(t.endsWith("/codex/responses"))return t;if(t.endsWith("/codex"))return`${t}/responses`;return`${t}/codex/responses`}function He(e){let r=new URL(de(e));if(r.protocol==="https:")r.protocol="wss:";if(r.protocol==="http:")r.protocol="ws:";return r.toString()}async function Ke(e,r,t,n,o,s){await lt(pe(et(e,s?.signal),r,n,s?.onProviderStreamEvent),r,t,n,{serviceTier:s?.serviceTier,grammarToolInputProperties:o,resolveServiceTier:le,applyServiceTierPricing:(i,u)=>fe(i,u,n)})}class L extends Error{code;payload;constructor(e,r){super(e);this.name="CodexApiError",this.code=r?.code,this.payload=r?.payload,this.cause=r?.cause}}class z extends Error{payload;constructor(e,r){super(e);this.name="CodexProtocolError",this.payload=r?.payload,this.cause=r?.cause}}class Z extends Error{constructor(e){super(Ve(e));this.name="ProviderStreamEventCallbackError",this.cause=e}}function je(e){return e instanceof L||e instanceof z||e instanceof Z}function Xe(e){return e instanceof L&&e.code===Me}function Ye(e){return e instanceof L&&e.code===We}function Ze(e){let r=e.error&&typeof e.error==="object"?e.error:void 0;return{code:typeof e.code==="string"?e.code:typeof r?.code==="string"?r.code:void 0,message:typeof e.message==="string"?e.message:typeof r?.message==="string"?r.message:void 0}}async function*pe(e,r,t,n){for await(let o of e){try{await n?.(o,t)}catch(i){throw new Z(i)}let s=typeof o.type==="string"?o.type:void 0;if(!s)continue;if(s==="error"){let{code:i,message:u}=Ze(o);throw new L(`Codex error: ${u||i||JSON.stringify(o)}`,{code:i,payload:o})}if(s==="response.failed"){let i=o.response,u=i?.error?.code,a=i?.error?.message;throw new L(a||"Codex response failed",{code:u,payload:o})}if(s==="response.done"||s==="response.completed"||s==="response.incomplete"){let i=o.response;if(typeof i?.end_turn==="boolean")r.endTurn=i.end_turn;let u=i?{...i,status:Qe(i.status)}:i;yield{...o,type:"response.completed",response:u};return}yield o}}function Qe(e){if(typeof e!=="string")return;return Le.has(e)?e:void 0}async function*et(e,r){if(!e.body)return;let t=e.body.getReader(),n=new TextDecoder,o="",s=()=>{t.cancel().catch(()=>{})};r?.addEventListener("abort",s,{once:!0});try{while(!0){if(r?.aborted)throw Error("Request was aborted");let{done:i,value:u}=await t.read();if(r?.aborted)throw Error("Request was aborted");if(o+=i?n.decode():n.decode(u,{stream:!0}),i&&o.trim())o+=`
2
+ import"./chunk-4rnmxtpx.js";import"./chunk-edbq461k.js";import{Cr}from"./chunk-22az84sh.js";import{ut,tt,pt}from"./chunk-z0c8ek0j.js";import{Ke}from"./chunk-86yr2c0r.js";import{ne}from"./chunk-959z9efn.js";import{$r}from"./chunk-tfhze1vq.js";import{Re,X}from"./chunk-2tf7qfbx.js";import{j,J}from"./chunk-rn3jwyh1.js";import{Q}from"./chunk-tfhp09nj.js";import{eo,rn}from"./chunk-g5p9mj1r.js";import{W,bt,ge,ie,xe,ve,V}from"./chunk-y4pvhes1.js";import{D,Xe,jt,Ie}from"./chunk-szj85dqe.js";var Ee="https://chatgpt.com/backend-api",_e="https://api.openai.com/auth",ke=0,ee=1000,Te=60000,Ce=15000,Oe=3,ue=new Set(["openai","openai-codex","opencode"]),Ae=1009,Me="websocket_connection_limit_reached",We="previous_response_not_found",Le=new Set(["completed","incomplete","failed","cancelled","queued","in_progress"]);function te(e){if(e.stopReason==="pending")throw Error("Codex stream ended without a stop reason");if(e.stopReason==="error"||e.stopReason==="aborted")throw Error(e.errorMessage||"An unknown error occurred")}function De(e){return/GoUsageLimitError|FreeUsageLimitError|Monthly usage limit reached|available balance|insufficient_quota|out of budget|quota exceeded|billing/i.test(e)}function Ne(e,r){if(e===429&&De(r))return!1;if(e===429||e===500||e===502||e===503||e===504)return!0;return/rate.?limit|overloaded|service.?unavailable|upstream.?connect|connection.?refused/i.test(r)}function qe(e){let r=e.get("retry-after-ms");if(r!==null){let s=Number(r);if(Number.isFinite(s))return Math.max(0,s)}let t=e.get("retry-after");if(!t)return;let n=Number(t);if(Number.isFinite(n))return Math.max(0,n*1000);let o=Date.parse(t);if(!Number.isNaN(o))return Math.max(0,o-Date.now());return}class G extends Error{}function Be(e,r){let t=r?.maxRetryDelayMs??Te;if(t>0&&e>t)throw new G(`Server requested ${Math.ceil(e/1000)}s retry delay (max: ${Math.ceil(t/1000)}s)`);return e}function re(e,r){return new Promise((t,n)=>{if(r?.aborted){n(Error("Request was aborted"));return}let o=setTimeout(t,e);r?.addEventListener("abort",()=>{clearTimeout(o),n(Error("Request was aborted"))})})}function se(e){if(e===void 0)return;if(!Number.isFinite(e)||e<0)throw Error(`Invalid timeoutMs: ${String(e)}`);return Math.floor(e)}function Pe(){if(typeof process>"u"||!(process.versions?.node||process.versions?.bun))return null;return process.getBuiltinModule?.("node:zlib")??null}function Fe(e){let r=Pe();if(!r||typeof r.zstdCompressSync!=="function")return null;try{let t=r.zstdCompressSync(e,{params:{[r.constants.ZSTD_c_compressionLevel]:Oe}});return new Uint8Array(t)}catch{return null}}var Ue=(e,r,t)=>{let n=new D,o=ie(r,e.compat?.supportsMidConvoSystemMessages);return(async()=>{let s={role:"assistant",content:[],api:"openai-codex-responses",provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"pending",timestamp:Date.now()};try{let i=t?.apiKey;if(!i)throw Error(`No API key for provider: ${e.provider}`);let u=_t(i),a=Re(xe(o.messages),e.compat?.supportsOpenAIGrammarTools??!1),d=t?.cacheRetention==="none"?void 0:t?.sessionId,p=Ke(d),c=$e(e,o,t,p,a),l=await t?.onPayload?.(c,e);if(l!==void 0)c=l;let f=p||rn(),m=kt(e.headers,t?.headers,u,i,p),b=Tt(e.headers,t?.headers,u,i,f),h=JSON.stringify(c),E=se(t?.timeoutMs),w=se(t?.websocketConnectTimeoutMs),v=t?.transport||"auto",T=!1,y=v!=="sse"&&me(d);if(y)oe(d);if(v!=="sse"&&!y){let S=!1,k=!1,O=!1;while(!0){S=!1;try{if(await St(Je(e.baseUrl),c,b,s,n,e,()=>{if(S=!0,!T)T=!0,n.push({type:"start",partial:s})},E,w,d,u,a,t),t?.signal?.aborted)throw Error("Request was aborted");te(s),n.push({type:"done",reason:s.stopReason,message:s}),n.end();return}catch(R){let q=t?.signal?.aborted,B=!S&&je(R),M=Ve(R);if(!q&&M&&!O){O=!0;continue}if(!q&&B&&!k){k=!0;continue}if(q||Ge(R)&&!B)throw R;if(Ie(s,jt("provider_transport_failure",R,{configuredTransport:v,...S?{}:{fallbackTransport:"sse"},eventsEmitted:S,phase:S?"after_message_stream_start":"before_message_stream_start",requestBytes:new TextEncoder().encode(h).byteLength})),ot(d,R),S)throw R;oe(d);break}}}let x=Fe(h);if(x)m.set("content-encoding","zstd");let A=x??h,_,N,z=t?.maxRetries??ke;for(let S=0;S<=z;S++){if(t?.signal?.aborted)throw Error("Request was aborted");try{let k=E!==void 0&&E>0?AbortSignal.timeout(E):void 0,O=Cr([t?.signal,k]);try{_=await(t?.fetch??globalThis.fetch)(de(e.baseUrl),{method:"POST",headers:m,body:A,signal:O.signal})}catch(M){if(k?.aborted&&!t?.signal?.aborted)throw Error(`Codex SSE response headers timed out after ${E}ms`);throw M}finally{O.cleanup()}if(await t?.onResponse?.({status:_.status,headers:Q(_.headers)},e),_.ok)break;let R=await _.text();if(S<z&&Ne(_.status,R)){let M=qe(_.headers),Se=M===void 0?ee*2**S:Be(M,t);await re(Se,t?.signal);continue}let q=new Response(R,{status:_.status,statusText:_.statusText}),B=await Et(q);throw Error(B.friendlyMessage||B.message)}catch(k){if(k instanceof Error){if(k.name==="AbortError"||k.message==="Request was aborted")throw Error("Request was aborted")}if(N=k instanceof Error?k:Error(String(k)),S<z&&!(N instanceof G)&&!N.message.includes("usage limit")){let O=ee*2**S;await re(O,t?.signal);continue}throw N}}if(!_?.ok)throw N??Error("Failed after retries");if(!_.body)throw Error("No response body");if(!T)T=!0,n.push({type:"start",partial:s});if(await He(_,s,n,e,a,t),t?.signal?.aborted)throw Error("Request was aborted");te(s),n.push({type:"done",reason:s.stopReason,message:s}),n.end()}catch(i){for(let u of s.content)delete u.partialJson,delete u.customInput;s.stopReason=t?.signal?.aborted?"aborted":"error",s.errorMessage=J(j(i)),n.push({type:"error",reason:s.stopReason,error:s}),n.end()}})(),n},Ut=(e,r,t)=>{let n=t?.apiKey;if(!n)throw Error(`No API key for provider: ${e.provider}`);let o={...X(e,r,t,n),toolChoice:t?.toolChoice},s=t?.reasoning?V(e,t.reasoning):void 0;return Ue(e,r,{...o,reasoningEffort:s==="off"?void 0:s})};function $e(e,r,t,n,o=Re(xe(r.messages),e.compat?.supportsOpenAIGrammarTools??!1)){let s=e.compat?.supportsStrictMode??!0,i=e.compat?.supportsOpenAIGrammarTools??!1,u=e.compat?.supportsAdditionalTools??!1,a=e.compat?.supportsToolSearch??!1,d=ve(r.messages,u||a),p=ut(e,r,ue,{includeSystemPrompt:!1,grammarToolInputProperties:o,supportsMidConvoSystemMessages:e.compat?.supportsMidConvoSystemMessages??!1,supportsAdditionalTools:u,supportsToolSearch:a,toolOptions:{strict:null,supportsStrictMode:s,supportsOpenAIGrammarTools:i}}),c=ge(r.messages),l=c?W(c):"",f={model:e.id,store:!1,stream:!0,instructions:l||"You are a helpful assistant.",input:p,text:{verbosity:t?.textVerbosity||"low"},include:["reasoning.encrypted_content"],prompt_cache_key:n,tool_choice:t?.toolChoice??"auto",parallel_tool_calls:!0};if(t?.temperature!==void 0)f.temperature=t.temperature;if(t?.serviceTier!==void 0)f.service_tier=t.serviceTier;if(d.requestTools.length>0)f.tools=tt(d.requestTools,{strict:null,supportsStrictMode:s,supportsOpenAIGrammarTools:i});if(t?.reasoningEffort!==void 0){let m=t.reasoningEffort==="none"?e.thinkingLevelMap?.off===void 0?"none":e.thinkingLevelMap.off:e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort;if(m!==null)f.reasoning={effort:m,summary:t.reasoningSummary??"auto"}}else if(e.reasoning&&e.thinkingLevelMap?.off!==null)f.reasoning={effort:e.thinkingLevelMap?.off??"none"};return f}function ze(e,r){switch(r){case"flex":return 0.5;case"priority":return e.id==="gpt-5.5"?2.5:2;default:return 1}}function fe(e,r,t){let n=ze(t,r);if(n===1)return;e.cost.input*=n,e.cost.output*=n,e.cost.cacheRead*=n,e.cost.cacheWrite*=n,e.cost.total=e.cost.input+e.cost.output+e.cost.cacheRead+e.cost.cacheWrite}function le(e,r){if(e==="default"&&(r==="flex"||r==="priority"))return r;return e??r}function de(e){let t=(e&&e.trim().length>0?e:Ee).replace(/\/+$/,"");if(t.endsWith("/codex/responses"))return t;if(t.endsWith("/codex"))return`${t}/responses`;return`${t}/codex/responses`}function Je(e){let r=new URL(de(e));if(r.protocol==="https:")r.protocol="wss:";if(r.protocol==="http:")r.protocol="ws:";return r.toString()}async function He(e,r,t,n,o,s){await pt(pe(Qe(e,s?.signal),r,n,s?.onProviderStreamEvent),r,t,n,{serviceTier:s?.serviceTier,grammarToolInputProperties:o,resolveServiceTier:le,applyServiceTierPricing:(i,u)=>fe(i,u,n)})}class L extends Error{code;payload;constructor(e,r){super(e);this.name="CodexApiError",this.code=r?.code,this.payload=r?.payload,this.cause=r?.cause}}class U extends Error{payload;constructor(e,r){super(e);this.name="CodexProtocolError",this.payload=r?.payload,this.cause=r?.cause}}class Y extends Error{constructor(e){super(Xe(e));this.name="ProviderStreamEventCallbackError",this.cause=e}}function Ge(e){return e instanceof L||e instanceof U||e instanceof Y}function je(e){return e instanceof L&&e.code===Me}function Ve(e){return e instanceof L&&e.code===We}function Ye(e){let r=e.error&&typeof e.error==="object"?e.error:void 0;return{code:typeof e.code==="string"?e.code:typeof r?.code==="string"?r.code:void 0,message:typeof e.message==="string"?e.message:typeof r?.message==="string"?r.message:void 0}}async function*pe(e,r,t,n){for await(let o of e){try{await n?.(o,t)}catch(i){throw new Y(i)}let s=typeof o.type==="string"?o.type:void 0;if(!s)continue;if(s==="error"){let{code:i,message:u}=Ye(o);throw new L(`Codex error: ${u||i||JSON.stringify(o)}`,{code:i,payload:o})}if(s==="response.failed"){let i=o.response,u=i?.error?.code,a=i?.error?.message;throw new L(a||"Codex response failed",{code:u,payload:o})}if(s==="response.done"||s==="response.completed"||s==="response.incomplete"){let i=o.response;if(typeof i?.end_turn==="boolean")r.endTurn=i.end_turn;let u=i?{...i,status:Ze(i.status)}:i;yield{...o,type:"response.completed",response:u};return}yield o}}function Ze(e){if(typeof e!=="string")return;return Le.has(e)?e:void 0}async function*Qe(e,r){if(!e.body)return;let t=e.body.getReader(),n=new TextDecoder,o="",s=()=>{t.cancel().catch(()=>{})};r?.addEventListener("abort",s,{once:!0});try{while(!0){if(r?.aborted)throw Error("Request was aborted");let{done:i,value:u}=await t.read();if(r?.aborted)throw Error("Request was aborted");if(o+=i?n.decode():n.decode(u,{stream:!0}),i&&o.trim())o+=`
3
3
 
4
4
  `;let a=o.indexOf(`
5
5
 
6
6
  `);while(a!==-1){let d=o.slice(0,a);o=o.slice(a+2);let p=d.split(`
7
7
  `).filter((c)=>c.startsWith("data:")).map((c)=>c.slice(5).trim());if(p.length>0){let c=p.join(`
8
- `).trim();if(c&&c!=="[DONE]")try{yield JSON.parse(c)}catch(l){throw new z(`Invalid Codex SSE JSON: ${Ve(l)}`,{cause:l,payload:c})}}a=o.indexOf(`
8
+ `).trim();if(c&&c!=="[DONE]")try{yield JSON.parse(c)}catch(l){throw new U(`Invalid Codex SSE JSON: ${Xe(l)}`,{cause:l,payload:c})}}a=o.indexOf(`
9
9
 
10
- `)}if(i)break}}finally{r?.removeEventListener("abort",s);try{await t.cancel()}catch{}try{t.releaseLock()}catch{}}}var tt="responses_websockets=2026-02-06",rt=300000,nt=3300000,g=new Map,P=new Map,F=new Set;function Q(e){let r=P.get(e);if(!r)r={requests:0,connectionsCreated:0,connectionsReused:0,cachedContextRequests:0,storeTrueRequests:0,fullContextRequests:0,deltaRequests:0,lastInputItems:0,websocketFailures:0,sseFallbacks:0},P.set(e,r);return r}function $t(e){let r=P.get(e);return r?{...r}:void 0}function zt(e){if(e){P.delete(e),F.delete(e);return}P.clear(),F.clear()}function st(e){let r=(t)=>{if(t.idleTimer)clearTimeout(t.idleTimer);C(t.socket,1000,"debug_close")};if(e){for(let t of g.get(e)?.values()??[])r(t);g.delete(e);return}for(let t of g.values())for(let n of t.values())r(n);g.clear()}Gn(st);function ye(e){return e?F.has(e):!1}function ie(e){if(!e)return;let r=Q(e);r.sseFallbacks++,r.websocketFallbackActive=ye(e)}function ot(e,r){if(!e)return;F.add(e);let t=Q(e);t.websocketFailures++,t.lastWebSocketError=Ve(r),t.websocketFallbackActive=!0}var H=null;async function it(e){if(!e&&H)return H;if(typeof process<"u"&&process.versions?.bun){let t=class extends WebSocket{constructor(n,o){let s={};if(Array.isArray(o)||typeof o==="string")s={protocols:o};else s={...o};let i=Lr(n.toString().replace(/^wss:/,"https:").replace(/^ws:/,"http:"),e);super(n,{...s,...i?{proxy:i.toString()}:{}})}};if(!e)H=t;return t}let r=globalThis.WebSocket;if(typeof r!=="function")return null;return r}class he extends Error{code;reason;wasClean;constructor(e,r){super(e);this.name="WebSocketCloseError",this.code=r?.code,this.reason=r?.reason,this.wasClean=r?.wasClean}}function ct(e){let r=e.readyState;return typeof r==="number"?r:void 0}function I(e){let r=ct(e);return r===void 0||r===1}function ut(e){return Date.now()-e.createdAt>=nt}function C(e,r=1000,t="done"){try{e.close(r,t)}catch{}}function ae(e,r,t){if(t.idleTimer)clearTimeout(t.idleTimer);t.idleTimer=setTimeout(()=>{if(t.busy)return;C(t.socket,1000,"idle_timeout");let n=g.get(e);if(n?.get(r)===t)n.delete(r);if(n?.size===0)g.delete(e)},rt)}async function X(e,r,t,n=xe,o){let s=await it(o);if(!s)throw Error("WebSocket transport is not available in this runtime");let i=j(r);return delete i["OpenAI-Beta"],new Promise((u,a)=>{let d=!1,p,c;try{c=new s(e,{headers:i})}catch(w){a(w instanceof Error?w:Error(String(w)));return}let l=()=>{if(p)clearTimeout(p),p=void 0;c.removeEventListener("open",m),c.removeEventListener("error",b),c.removeEventListener("close",h),t?.removeEventListener("abort",E)},f=(w,v)=>{if(d)return;if(d=!0,l(),v)C(c,1000,v);a(w)},m=()=>{if(d)return;d=!0,l(),u(c)},b=(w)=>{f(we(w))},h=(w)=>{f(ge(w))},E=()=>{f(Error("Request was aborted"),"aborted")};if(c.addEventListener("open",m),c.addEventListener("error",b),c.addEventListener("close",h),t?.addEventListener("abort",E),n>0)p=setTimeout(()=>{f(Error(`WebSocket connect timeout after ${n}ms`),"connect_timeout")},n);if(t?.aborted)E()})}async function dt(e,r,t,n,o,s,i){if(!t){let c=await X(e,r,o,s,i);return{socket:c,reused:!1,release:()=>C(c)}}let u=g.get(t),a=u?.get(n);if(a){if(a.idleTimer)clearTimeout(a.idleTimer),a.idleTimer=void 0;if(!a.busy&&ut(a)){if(C(a.socket,1000,"connection_age_limit"),u?.delete(n),u?.size===0)g.delete(t)}else if(!a.busy&&I(a.socket))return a.busy=!0,{socket:a.socket,entry:a,reused:!0,release:({keep:c}={})=>{if(!c||!I(a.socket)){C(a.socket);let l=g.get(t);if(l?.get(n)===a)l.delete(n);if(l?.size===0)g.delete(t);return}a.busy=!1,ae(t,n,a)}};if(a.busy){let c=await X(e,r,o,s,i);return{socket:c,reused:!1,release:()=>{C(c)}}}if(!I(a.socket)){if(C(a.socket),u?.delete(n),u?.size===0)g.delete(t)}}let d=await X(e,r,o,s,i),p={socket:d,busy:!0,createdAt:Date.now()};if(u=g.get(t),!u)u=new Map,g.set(t,u);return u.set(n,p),{socket:d,entry:p,reused:!1,release:({keep:c}={})=>{if(!c||!I(p.socket)){if(C(p.socket),p.idleTimer)clearTimeout(p.idleTimer);let l=g.get(t);if(l?.get(n)===p)l.delete(n);if(l?.size===0)g.delete(t);return}p.busy=!1,ae(t,n,p)}}}function we(e){if(e&&typeof e==="object"){let r="message"in e?e.message:void 0;if(typeof r==="string"&&r.length>0)return Error(r);let t="error"in e?e.error:void 0;if(t instanceof Error&&t.message.length>0)return t;if(t&&typeof t==="object"&&"message"in t){let n=t.message;if(typeof n==="string"&&n.length>0)return Error(n)}}return Error("WebSocket error")}function ge(e){if(e&&typeof e==="object"){let r="code"in e?e.code:void 0,t="reason"in e?e.reason:void 0,n="wasClean"in e?e.wasClean:void 0,o=typeof r==="number"?` ${r}`:"",s=typeof t==="string"&&t.length>0?` ${t}`:"";if(!s&&r===Ae)s=" message too big";return new he(`WebSocket closed${o}${s}`.trim(),{code:typeof r==="number"?r:void 0,reason:typeof t==="string"&&t.length>0?t:void 0,wasClean:typeof n==="boolean"?n:void 0})}return Error("WebSocket closed")}async function pt(e){if(typeof e==="string")return e;if(e instanceof ArrayBuffer)return new TextDecoder().decode(new Uint8Array(e));if(ArrayBuffer.isView(e)){let r=e;return new TextDecoder().decode(new Uint8Array(r.buffer,r.byteOffset,r.byteLength))}if(e&&typeof e==="object"&&"arrayBuffer"in e){let t=await e.arrayBuffer();return new TextDecoder().decode(new Uint8Array(t))}return null}async function*mt(e,r,t){let n=[],o=null,s=!1,i=null,u=!1,a=()=>{if(!o)return;let f=o;o=null,f()},d=(f)=>{(async()=>{let m=null;try{if(!f||typeof f!=="object"||!("data"in f))return;if(m=await pt(f.data),!m)return;let b=JSON.parse(m),h=typeof b.type==="string"?b.type:"";if(h==="response.completed"||h==="response.done"||h==="response.incomplete")u=!0,s=!0;n.push(b),a()}catch(b){i=new z(`Invalid Codex WebSocket JSON: ${Ve(b)}`,{cause:b,payload:m}),s=!0,a()}})()},p=(f)=>{i=we(f),s=!0,a()},c=(f)=>{if(u){s=!0,a();return}if(!i)i=ge(f);s=!0,a()},l=()=>{i=Error("Request was aborted"),s=!0,a()};e.addEventListener("message",d),e.addEventListener("error",p),e.addEventListener("close",c),r?.addEventListener("abort",l);try{while(!0){if(r?.aborted)throw Error("Request was aborted");if(n.length>0){yield n.shift();continue}if(s)break;let f;await new Promise((m,b)=>{if(o=m,t!==void 0&&t>0)f=setTimeout(()=>{let h=Error(`WebSocket idle timeout after ${t}ms`);i=h,s=!0,o=null,C(e,1000,"idle_timeout"),b(h)},t)}).finally(()=>{if(f)clearTimeout(f)})}if(i)throw i;if(!u)throw Error("WebSocket stream closed before response.completed")}finally{e.removeEventListener("message",d),e.removeEventListener("error",p),e.removeEventListener("close",c),r?.removeEventListener("abort",l)}}function ce(e){let{input:r,previous_response_id:t,...n}=e;return n}function yt(e,r){return JSON.stringify(e??[])===JSON.stringify(r??[])}function bt(e,r){return JSON.stringify(ce(e))===JSON.stringify(ce(r))}function ht(e,r){if(!bt(e,r.lastRequestBody))return;let t=e.input??[],n=[...r.lastRequestBody.input??[],...r.lastResponseItems];if(t.length<n.length)return;let o=t.slice(0,n.length);if(!yt(o,n))return;return t.slice(n.length)}function wt(e,r){let t=e.continuation;if(!t)return r;let n=ht(r,t);if(!n||!t.lastResponseId)return e.continuation=void 0,r;return{...r,previous_response_id:t.lastResponseId,input:n}}async function*gt(e,r){let t=!1;for await(let n of e){if(!t)t=!0,r();yield n}}async function St(e,r,t,n,o,s,i,u,a,d,p,c,l){let{socket:f,entry:m,reused:b,release:h}=await dt(e,t,d,p,l?.signal,a,l?.env),E=!0,w=l?.transport==="websocket-cached"||l?.transport==="auto",v=r,T=w&&m?wt(m,v):v,y=d?Q(d):void 0;if(y){if(y.requests++,b)y.connectionsReused++;else y.connectionsCreated++;if(w)y.cachedContextRequests++;if(T.store===!0)y.storeTrueRequests++;if(y.lastInputItems=T.input?.length??0,T.previous_response_id)y.deltaRequests++,y.lastDeltaInputItems=T.input?.length??0,y.lastPreviousResponseId=T.previous_response_id;else y.fullContextRequests++,y.lastDeltaInputItems=void 0,y.lastPreviousResponseId=void 0}try{if(f.send(JSON.stringify({type:"response.create",...T})),await lt(gt(pe(mt(f,l?.signal,u),n,s,l?.onProviderStreamEvent),i),n,o,s,{serviceTier:l?.serviceTier,grammarToolInputProperties:c,resolveServiceTier:le,applyServiceTierPricing:(x,A)=>fe(x,A,s)}),l?.signal?.aborted)E=!1;else if(w&&m&&n.responseId){let x=at(s,ft({messages:[n]}),ue,{includeSystemPrompt:!1,grammarToolInputProperties:c}).filter((A)=>A.type!=="function_call_output"&&A.type!=="custom_tool_call_output");m.continuation={lastRequestBody:v,lastResponseId:n.responseId,lastResponseItems:x}}}catch(x){if(m)m.continuation=void 0;throw E=!1,x}finally{h({keep:E})}}async function Et(e){let r=await e.text(),t=r||e.statusText||"Request failed",n;try{let s=JSON.parse(r)?.error;if(s){let i=s.code||s.type||"";if(/usage_limit_reached|usage_not_included|rate_limit_exceeded/i.test(i)||e.status===429){let u=s.plan_type?` (${s.plan_type.toLowerCase()} plan)`:"",a=s.resets_at?Math.max(0,Math.round((s.resets_at*1000-Date.now())/60000)):void 0,d=a!==void 0?` Try again in ~${a} min.`:"";n=`You have hit your ChatGPT usage limit${u}.${d}`.trim()}t=s.message||n||t}}catch{}return{message:t,friendlyMessage:n}}function _t(e){try{let r=e.split(".");if(r.length!==3)throw Error("Invalid token");let n=JSON.parse(atob(r[1]))?.[ve]?.chatgpt_account_id;if(!n)throw Error("No account ID in token");return n}catch{throw Error("Failed to extract accountId from token")}}function Ee(e,r,t,n){let o=new Headers({originator:"pi","User-Agent":ee()});for(let[s,i]of Object.entries(e||{}))o.set(s,i);for(let[s,i]of Object.entries(r||{}))if(i===null)o.delete(s);else o.set(s,i);return o.set("Authorization",`Bearer ${n}`),o.set("chatgpt-account-id",t),o}function kt(e,r,t,n,o){let s=Ee(e,r,t,n);if(s.set("OpenAI-Beta","responses=experimental"),s.set("accept","text/event-stream"),s.set("content-type","application/json"),o)s.set("session-id",o),s.set("x-client-request-id",o);return s}function Tt(e,r,t,n,o){let s=Ee(e,r,t,n);return s.delete("accept"),s.delete("content-type"),s.delete("OpenAI-Beta"),s.delete("openai-beta"),s.set("OpenAI-Beta",tt),s.set("x-client-request-id",o),s.set("session-id",o),s}export{st as closeOpenAICodexWebSocketSessions,$t as getOpenAICodexWebSocketDebugStats,zt as resetOpenAICodexWebSocketDebugStats,Ue as stream,Ut as streamSimple};
10
+ `)}if(i)break}}finally{r?.removeEventListener("abort",s);try{await t.cancel()}catch{}try{t.releaseLock()}catch{}}}var et="responses_websockets=2026-02-06",rt=300000,nt=3300000,g=new Map,P=new Map,F=new Set;function Z(e){let r=P.get(e);if(!r)r={requests:0,connectionsCreated:0,connectionsReused:0,cachedContextRequests:0,storeTrueRequests:0,fullContextRequests:0,deltaRequests:0,lastInputItems:0,websocketFailures:0,sseFallbacks:0},P.set(e,r);return r}function $t(e){let r=P.get(e);return r?{...r}:void 0}function zt(e){if(e){P.delete(e),F.delete(e);return}P.clear(),F.clear()}function st(e){let r=(t)=>{if(t.idleTimer)clearTimeout(t.idleTimer);C(t.socket,1000,"debug_close")};if(e){for(let t of g.get(e)?.values()??[])r(t);g.delete(e);return}for(let t of g.values())for(let n of t.values())r(n);g.clear()}eo(st);function me(e){return e?F.has(e):!1}function oe(e){if(!e)return;let r=Z(e);r.sseFallbacks++,r.websocketFallbackActive=me(e)}function ot(e,r){if(!e)return;F.add(e);let t=Z(e);t.websocketFailures++,t.lastWebSocketError=Xe(r),t.websocketFallbackActive=!0}var H=null;async function it(e){if(!e&&H)return H;if(typeof process<"u"&&process.versions?.bun){let t=class extends WebSocket{constructor(n,o){let s={};if(Array.isArray(o)||typeof o==="string")s={protocols:o};else s={...o};let i=$r(n.toString().replace(/^wss:/,"https:").replace(/^ws:/,"http:"),e);super(n,{...s,...i?{proxy:i.toString()}:{}})}};if(!e)H=t;return t}let r=globalThis.WebSocket;if(typeof r!=="function")return null;return r}class ye extends Error{code;reason;wasClean;constructor(e,r){super(e);this.name="WebSocketCloseError",this.code=r?.code,this.reason=r?.reason,this.wasClean=r?.wasClean}}function at(e){let r=e.readyState;return typeof r==="number"?r:void 0}function I(e){let r=at(e);return r===void 0||r===1}function ct(e){return Date.now()-e.createdAt>=nt}function C(e,r=1000,t="done"){try{e.close(r,t)}catch{}}function ae(e,r,t){if(t.idleTimer)clearTimeout(t.idleTimer);t.idleTimer=setTimeout(()=>{if(t.busy)return;C(t.socket,1000,"idle_timeout");let n=g.get(e);if(n?.get(r)===t)n.delete(r);if(n?.size===0)g.delete(e)},rt)}async function K(e,r,t,n=Ce,o){let s=await it(o);if(!s)throw Error("WebSocket transport is not available in this runtime");let i=Q(r);return delete i["OpenAI-Beta"],new Promise((u,a)=>{let d=!1,p,c;try{c=new s(e,{headers:i})}catch(w){a(w instanceof Error?w:Error(String(w)));return}let l=()=>{if(p)clearTimeout(p),p=void 0;c.removeEventListener("open",m),c.removeEventListener("error",b),c.removeEventListener("close",h),t?.removeEventListener("abort",E)},f=(w,v)=>{if(d)return;if(d=!0,l(),v)C(c,1000,v);a(w)},m=()=>{if(d)return;d=!0,l(),u(c)},b=(w)=>{f(be(w))},h=(w)=>{f(he(w))},E=()=>{f(Error("Request was aborted"),"aborted")};if(c.addEventListener("open",m),c.addEventListener("error",b),c.addEventListener("close",h),t?.addEventListener("abort",E),n>0)p=setTimeout(()=>{f(Error(`WebSocket connect timeout after ${n}ms`),"connect_timeout")},n);if(t?.aborted)E()})}async function ft(e,r,t,n,o,s,i){if(!t){let c=await K(e,r,o,s,i);return{socket:c,reused:!1,release:()=>C(c)}}let u=g.get(t),a=u?.get(n);if(a){if(a.idleTimer)clearTimeout(a.idleTimer),a.idleTimer=void 0;if(!a.busy&&ct(a)){if(C(a.socket,1000,"connection_age_limit"),u?.delete(n),u?.size===0)g.delete(t)}else if(!a.busy&&I(a.socket))return a.busy=!0,{socket:a.socket,entry:a,reused:!0,release:({keep:c}={})=>{if(!c||!I(a.socket)){C(a.socket);let l=g.get(t);if(l?.get(n)===a)l.delete(n);if(l?.size===0)g.delete(t);return}a.busy=!1,ae(t,n,a)}};if(a.busy){let c=await K(e,r,o,s,i);return{socket:c,reused:!1,release:()=>{C(c)}}}if(!I(a.socket)){if(C(a.socket),u?.delete(n),u?.size===0)g.delete(t)}}let d=await K(e,r,o,s,i),p={socket:d,busy:!0,createdAt:Date.now()};if(u=g.get(t),!u)u=new Map,g.set(t,u);return u.set(n,p),{socket:d,entry:p,reused:!1,release:({keep:c}={})=>{if(!c||!I(p.socket)){if(C(p.socket),p.idleTimer)clearTimeout(p.idleTimer);let l=g.get(t);if(l?.get(n)===p)l.delete(n);if(l?.size===0)g.delete(t);return}p.busy=!1,ae(t,n,p)}}}function be(e){if(e&&typeof e==="object"){let r="message"in e?e.message:void 0;if(typeof r==="string"&&r.length>0)return Error(r);let t="error"in e?e.error:void 0;if(t instanceof Error&&t.message.length>0)return t;if(t&&typeof t==="object"&&"message"in t){let n=t.message;if(typeof n==="string"&&n.length>0)return Error(n)}}return Error("WebSocket error")}function he(e){if(e&&typeof e==="object"){let r="code"in e?e.code:void 0,t="reason"in e?e.reason:void 0,n="wasClean"in e?e.wasClean:void 0,o=typeof r==="number"?` ${r}`:"",s=typeof t==="string"&&t.length>0?` ${t}`:"";if(!s&&r===Ae)s=" message too big";return new ye(`WebSocket closed${o}${s}`.trim(),{code:typeof r==="number"?r:void 0,reason:typeof t==="string"&&t.length>0?t:void 0,wasClean:typeof n==="boolean"?n:void 0})}return Error("WebSocket closed")}async function lt(e){if(typeof e==="string")return e;if(e instanceof ArrayBuffer)return new TextDecoder().decode(new Uint8Array(e));if(ArrayBuffer.isView(e)){let r=e;return new TextDecoder().decode(new Uint8Array(r.buffer,r.byteOffset,r.byteLength))}if(e&&typeof e==="object"&&"arrayBuffer"in e){let t=await e.arrayBuffer();return new TextDecoder().decode(new Uint8Array(t))}return null}async function*dt(e,r,t){let n=[],o=null,s=!1,i=null,u=!1,a=()=>{if(!o)return;let f=o;o=null,f()},d=(f)=>{(async()=>{let m=null;try{if(!f||typeof f!=="object"||!("data"in f))return;if(m=await lt(f.data),!m)return;let b=JSON.parse(m),h=typeof b.type==="string"?b.type:"";if(h==="response.completed"||h==="response.done"||h==="response.incomplete")u=!0,s=!0;n.push(b),a()}catch(b){i=new U(`Invalid Codex WebSocket JSON: ${Xe(b)}`,{cause:b,payload:m}),s=!0,a()}})()},p=(f)=>{i=be(f),s=!0,a()},c=(f)=>{if(u){s=!0,a();return}if(!i)i=he(f);s=!0,a()},l=()=>{i=Error("Request was aborted"),s=!0,a()};e.addEventListener("message",d),e.addEventListener("error",p),e.addEventListener("close",c),r?.addEventListener("abort",l);try{while(!0){if(r?.aborted)throw Error("Request was aborted");if(n.length>0){yield n.shift();continue}if(s)break;let f;await new Promise((m,b)=>{if(o=m,t!==void 0&&t>0)f=setTimeout(()=>{let h=Error(`WebSocket idle timeout after ${t}ms`);i=h,s=!0,o=null,C(e,1000,"idle_timeout"),b(h)},t)}).finally(()=>{if(f)clearTimeout(f)})}if(i)throw i;if(!u)throw Error("WebSocket stream closed before response.completed")}finally{e.removeEventListener("message",d),e.removeEventListener("error",p),e.removeEventListener("close",c),r?.removeEventListener("abort",l)}}function ce(e){let{input:r,previous_response_id:t,...n}=e;return n}function mt(e,r){return JSON.stringify(e??[])===JSON.stringify(r??[])}function yt(e,r){return JSON.stringify(ce(e))===JSON.stringify(ce(r))}function ht(e,r){if(!yt(e,r.lastRequestBody))return;let t=e.input??[],n=[...r.lastRequestBody.input??[],...r.lastResponseItems];if(t.length<n.length)return;let o=t.slice(0,n.length);if(!mt(o,n))return;return t.slice(n.length)}function wt(e,r){let t=e.continuation;if(!t)return r;let n=ht(r,t);if(!n||!t.lastResponseId)return e.continuation=void 0,r;return{...r,previous_response_id:t.lastResponseId,input:n}}async function*gt(e,r){let t=!1;for await(let n of e){if(!t)t=!0,r();yield n}}async function St(e,r,t,n,o,s,i,u,a,d,p,c,l){let{socket:f,entry:m,reused:b,release:h}=await ft(e,t,d,p,l?.signal,a,l?.env),E=!0,w=l?.transport==="websocket-cached"||l?.transport==="auto",v=r,T=w&&m?wt(m,v):v,y=d?Z(d):void 0;if(y){if(y.requests++,b)y.connectionsReused++;else y.connectionsCreated++;if(w)y.cachedContextRequests++;if(T.store===!0)y.storeTrueRequests++;if(y.lastInputItems=T.input?.length??0,T.previous_response_id)y.deltaRequests++,y.lastDeltaInputItems=T.input?.length??0,y.lastPreviousResponseId=T.previous_response_id;else y.fullContextRequests++,y.lastDeltaInputItems=void 0,y.lastPreviousResponseId=void 0}try{if(f.send(JSON.stringify({type:"response.create",...T})),await pt(gt(pe(dt(f,l?.signal,u),n,s,l?.onProviderStreamEvent),i),n,o,s,{serviceTier:l?.serviceTier,grammarToolInputProperties:c,resolveServiceTier:le,applyServiceTierPricing:(x,A)=>fe(x,A,s)}),l?.signal?.aborted)E=!1;else if(w&&m&&n.responseId){let x=ut(s,bt({messages:[n]}),ue,{includeSystemPrompt:!1,grammarToolInputProperties:c}).filter((A)=>A.type!=="function_call_output"&&A.type!=="custom_tool_call_output");m.continuation={lastRequestBody:v,lastResponseId:n.responseId,lastResponseItems:x}}}catch(x){if(m)m.continuation=void 0;throw E=!1,x}finally{h({keep:E})}}async function Et(e){let r=await e.text(),t=r||e.statusText||"Request failed",n;try{let s=JSON.parse(r)?.error;if(s){let i=s.code||s.type||"";if(/usage_limit_reached|usage_not_included|rate_limit_exceeded/i.test(i)||e.status===429){let u=s.plan_type?` (${s.plan_type.toLowerCase()} plan)`:"",a=s.resets_at?Math.max(0,Math.round((s.resets_at*1000-Date.now())/60000)):void 0,d=a!==void 0?` Try again in ~${a} min.`:"";n=`You have hit your ChatGPT usage limit${u}.${d}`.trim()}t=s.message||n||t}}catch{}return{message:t,friendlyMessage:n}}function _t(e){try{let r=e.split(".");if(r.length!==3)throw Error("Invalid token");let n=JSON.parse(atob(r[1]))?.[_e]?.chatgpt_account_id;if(!n)throw Error("No account ID in token");return n}catch{throw Error("Failed to extract accountId from token")}}function we(e,r,t,n){let o=new Headers({originator:"pi","User-Agent":ne()});for(let[s,i]of Object.entries(e||{}))o.set(s,i);for(let[s,i]of Object.entries(r||{}))if(i===null)o.delete(s);else o.set(s,i);return o.set("Authorization",`Bearer ${n}`),o.set("chatgpt-account-id",t),o}function kt(e,r,t,n,o){let s=we(e,r,t,n);if(s.set("OpenAI-Beta","responses=experimental"),s.set("accept","text/event-stream"),s.set("content-type","application/json"),o)s.set("session-id",o),s.set("x-client-request-id",o);return s}function Tt(e,r,t,n,o){let s=we(e,r,t,n);return s.delete("accept"),s.delete("content-type"),s.delete("OpenAI-Beta"),s.delete("openai-beta"),s.set("OpenAI-Beta",et),s.set("x-client-request-id",o),s.set("session-id",o),s}export{st as closeOpenAICodexWebSocketSessions,$t as getOpenAICodexWebSocketDebugStats,zt as resetOpenAICodexWebSocketDebugStats,Ue as stream,Ut as streamSimple};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{se}from"./chunk-h1kb8b49.js";import{j,ye}from"./chunk-nrsd810j.js";import{Q}from"./chunk-1n7dat03.js";function w(e,t,n){let a=Error(`${e} returned ${t.status}`);return a.status=t.status,a.headers=t.headers,a.body=n,a}function b(e){let t=Error(`Request timed out after ${e}ms`);return t.name="TimeoutError",t.status=void 0,t.headers=void 0,t.body="",t}function ae(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function Ue(e,t,n){if(typeof t!=="number"||!Number.isFinite(t))throw Error(`${e} returned an invalid ${n}`);return t}function g(e,t,n){return ye({authorization:`Bearer ${t}`,"content-type":"application/json"},e.headers,n)??{}}async function Ar(e,t,n,a,r,f){if(!r?.apiKey)throw Error(`No API key for provider: ${n.provider}`);let h=r.apiKey,s=a,u=await r.onPayload?.(s,n);if(u!==void 0)s=u;let y=r.fetch??globalThis.fetch,{response:d,json:m}=await se(async()=>{let i=r.timeoutMs!==void 0?AbortSignal.timeout(r.timeoutMs):void 0,p=r.signal&&i?AbortSignal.any([r.signal,i]):r.signal??i;try{let o=await y(t,{method:"POST",headers:g(n,h,r.headers),body:JSON.stringify(s),signal:p});if(!o.ok)throw w(e,o,await o.text());return{response:o,json:await o.json()}}catch(o){if(i?.aborted&&!r.signal?.aborted)throw b(r.timeoutMs);throw o}},{maxRetries:r.maxRetries??2,maxRetryDelayMs:r.maxRetryDelayMs,signal:r.signal,noRetryStatuses:f});return await r.onResponse?.({status:d.status,headers:j(d.headers)},n),m}function c(e){return typeof e==="number"&&Number.isFinite(e)&&e>0?e:0}function Er(e,t){if(!ae(e)||e.input_tokens===void 0&&e.output_tokens===void 0)return;let n=c(e.input_tokens),a=c(e.output_tokens),r={input:n,output:a,cacheRead:0,cacheWrite:0,totalTokens:n+a,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}};return Q(t,r),r}
3
- export{ae,Ue,Ar,Er};
2
+ import{ue}from"./chunk-vqm94hz2.js";import{Q,we}from"./chunk-tfhp09nj.js";import{Y}from"./chunk-y4pvhes1.js";function w(e,t,n){let a=Error(`${e} returned ${t.status}`);return a.status=t.status,a.headers=t.headers,a.body=n,a}function b(e){let t=Error(`Request timed out after ${e}ms`);return t.name="TimeoutError",t.status=void 0,t.headers=void 0,t.body="",t}function pe(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function $e(e,t,n){if(typeof t!=="number"||!Number.isFinite(t))throw Error(`${e} returned an invalid ${n}`);return t}function g(e,t,n){return we({authorization:`Bearer ${t}`,"content-type":"application/json"},e.headers,n)??{}}async function Ur(e,t,n,a,r,f){if(!r?.apiKey)throw Error(`No API key for provider: ${n.provider}`);let h=r.apiKey,s=a,u=await r.onPayload?.(s,n);if(u!==void 0)s=u;let y=r.fetch??globalThis.fetch,{response:d,json:m}=await ue(async()=>{let i=r.timeoutMs!==void 0?AbortSignal.timeout(r.timeoutMs):void 0,p=r.signal&&i?AbortSignal.any([r.signal,i]):r.signal??i;try{let o=await y(t,{method:"POST",headers:g(n,h,r.headers),body:JSON.stringify(s),signal:p});if(!o.ok)throw w(e,o,await o.text());return{response:o,json:await o.json()}}catch(o){if(i?.aborted&&!r.signal?.aborted)throw b(r.timeoutMs);throw o}},{maxRetries:r.maxRetries??2,maxRetryDelayMs:r.maxRetryDelayMs,signal:r.signal,noRetryStatuses:f});return await r.onResponse?.({status:d.status,headers:Q(d.headers)},n),m}function c(e){return typeof e==="number"&&Number.isFinite(e)&&e>0?e:0}function Br(e,t){if(!pe(e)||e.input_tokens===void 0&&e.output_tokens===void 0)return;let n=c(e.input_tokens),a=c(e.output_tokens),r={input:n,output:a,cacheRead:0,cacheWrite:0,totalTokens:n+a,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}};return Y(t,r),r}
3
+ export{pe,$e,Ur,Br};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import*as Do from"child_process";import*as Et from"crypto";import*as ct from"fs";import*as A from"path";import*as Un from"stream";import*as Uo from"util";export{Do,Et,ct,A,Un,Uo};
@@ -0,0 +1,7 @@
1
+ // @bun
2
+ import{qe}from"./chunk-0x9netvr.js";import{U}from"./chunk-0nedq669.js";import{x,ee,z}from"./chunk-0a7ft50x.js";import{i}from"./chunk-ydzag81d.js";var w=i(U()),d=i(x()),R=i(qe());import k from"fs/promises";var A=i(x());var y="169.254.170.2",v="169.254.170.23",L="[fd00:ec2::23]",C=(e,o)=>{if(e.protocol==="https:")return;if(e.hostname===y||e.hostname===v||e.hostname===L)return;if(e.hostname.includes("[")){if(e.hostname==="[::1]"||e.hostname==="[0000:0000:0000:0000:0000:0000:0000:0001]")return}else{if(e.hostname==="localhost")return;let n=e.hostname.split("."),r=(t)=>{let s=parseInt(t,10);return 0<=s&&s<=255};if(n[0]==="127"&&r(n[1])&&r(n[2])&&r(n[3])&&n.length===4)return}throw new A.CredentialsProviderError(`URL not accepted. It must either be HTTPS or match one of the following:
3
+ - loopback CIDR 127.0.0.0/8 or [::1/128]
4
+ - ECS container host 169.254.170.2
5
+ - EKS container host 169.254.170.23 or [fd00:ec2::23]`,{logger:o})};var c=i(x()),p=i(z()),_=i(ee()),f=i(ee());function I(e){return new p.HttpRequest({protocol:e.protocol,hostname:e.hostname,port:Number(e.port),path:e.pathname,query:Array.from(e.searchParams.entries()).reduce((o,[n,r])=>(o[n]=r,o),{}),fragment:e.hash})}async function u(e,o){let r=await f.sdkStreamMixin(e.body).transformToString();if(e.statusCode===200){let t=JSON.parse(r);if(typeof t.AccessKeyId!=="string"||typeof t.SecretAccessKey!=="string"||typeof t.Token!=="string"||typeof t.Expiration!=="string")throw new c.CredentialsProviderError("HTTP credential provider response not of the required format, an object matching: { AccessKeyId: string, SecretAccessKey: string, Token: string, Expiration: string(rfc3339) }",{logger:o});return{accessKeyId:t.AccessKeyId,secretAccessKey:t.SecretAccessKey,sessionToken:t.Token,expiration:_.parseRfc3339DateTime(t.Expiration)}}if(e.statusCode>=400&&e.statusCode<500){let t={};try{t=JSON.parse(r)}catch(s){}throw Object.assign(new c.CredentialsProviderError(`Server responded with status: ${e.statusCode}`,{logger:o}),{Code:t.Code,Message:t.Message})}throw new c.CredentialsProviderError(`Server responded with status: ${e.statusCode}`,{logger:o})}var E=(e,o,n)=>async()=>{for(let r=0;r<o;++r)try{return await e()}catch(t){await new Promise((s)=>setTimeout(s,n))}return await e()};var H="AWS_CONTAINER_CREDENTIALS_RELATIVE_URI",K="http://169.254.170.2",P="AWS_CONTAINER_CREDENTIALS_FULL_URI",F="AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE",D="AWS_CONTAINER_AUTHORIZATION_TOKEN",W=(e={})=>{e.logger?.debug("@aws-sdk/credential-provider-http - fromHttp");let o,n=e.awsContainerCredentialsRelativeUri??process.env[H],r=e.awsContainerCredentialsFullUri??process.env[P],t=e.awsContainerAuthorizationToken??process.env[D],s=e.awsContainerAuthorizationTokenFile??process.env[F],a=e.logger?.constructor?.name==="NoOpLogger"||!e.logger?.warn?console.warn:e.logger.warn.bind(e.logger);if(n&&r)a("@aws-sdk/credential-provider-http: you have set both awsContainerCredentialsRelativeUri and awsContainerCredentialsFullUri."),a("awsContainerCredentialsRelativeUri will take precedence.");if(t&&s)a("@aws-sdk/credential-provider-http: you have set both awsContainerAuthorizationToken and awsContainerAuthorizationTokenFile."),a("awsContainerAuthorizationTokenFile will take precedence.");if(n)o=`${K}${n}`;else if(r)o=r;else throw new d.CredentialsProviderError(`No HTTP credential provider host provided.
6
+ Set AWS_CONTAINER_CREDENTIALS_FULL_URI or AWS_CONTAINER_CREDENTIALS_RELATIVE_URI.`,{logger:e.logger});let h=new URL(o);C(h,e.logger);let l=R.NodeHttpHandler.create({connectionTimeout:e.timeout??1000}),g=e.timeout??1000,S=E(async()=>{let m=I(h);if(s)m.headers.Authorization=N((await k.readFile(s)).toString());else if(t)m.headers.Authorization=N(t);try{let T=await l.handle(m,{requestTimeout:g});return u(T.response).then((O)=>w.setCredentialFeature(O,"CREDENTIALS_HTTP","z"))}catch(T){throw new d.CredentialsProviderError(String(T),{logger:e.logger})}},e.maxRetries??3,e.timeout??1000);return async()=>{try{return await S()}finally{l.destroy?.()}}},N=(e)=>{if(e.includes(`\r
7
+ `))throw new d.CredentialsProviderError("Authorization token contains invalid \\r\\n sequence.");return e};export{W as fromHttp};
@@ -0,0 +1,7 @@
1
+ // @bun
2
+ import{S}from"./chunk-15ve3nmv.js";import{G}from"./chunk-edbq461k.js";import{v}from"./chunk-4rnmxtpx.js";import{Pt,Tt}from"./chunk-snz19yc2.js";import{Ke}from"./chunk-86yr2c0r.js";import{rt}from"./chunk-06s9pr82.js";import{ne}from"./chunk-959z9efn.js";import{ue}from"./chunk-vqm94hz2.js";import{be,Wr,Hr,fe,nr,Re,dt,X,Wo,Ho,Se}from"./chunk-2tf7qfbx.js";import{w}from"./chunk-b516bp7n.js";import{j,J}from"./chunk-rn3jwyh1.js";import{Q}from"./chunk-tfhp09nj.js";import{W,De,ie,xe,ve,Y,V}from"./chunk-y4pvhes1.js";import{D}from"./chunk-szj85dqe.js";function ee(e,n){if(!e)return!1;let t=n.toLowerCase();for(let[s,u]of Object.entries(e))if(s.toLowerCase()===t&&u!==null&&u.trim().length>0)return!0;return!1}function ae(e,n,t){if(n)return n;if(ee(t,"authorization")||ee(t,"cf-aig-authorization"))return"unused";throw Error(`No API key for provider: ${e}`)}function ye(e){for(let n of e){if(n.role==="toolResult")return!0;if(n.role==="assistant"){if(n.content.some((t)=>t.type==="toolCall"))return!0}}return!1}function te(e){return e.type==="text"}function ke(e){return e.type==="thinking"}function Te(e){return e.type==="toolCall"}function _e(e){return e.type==="image"}function Ae(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function Ce(e){return(e.id===void 0||e.id===null||typeof e.id==="string")&&(e.format===void 0||typeof e.format==="string")&&(e.index===void 0||typeof e.index==="number")}function K(e){if(!Ae(e)||!Ce(e))return!1;switch(e.type){case"reasoning.summary":return typeof e.summary==="string";case"reasoning.encrypted":return typeof e.data==="string";case"reasoning.text":return typeof e.text==="string"&&(e.signature===void 0||e.signature===null||typeof e.signature==="string");default:return!1}}function Me(e){if(!e)return;try{let n=JSON.parse(e);return Array.isArray(n)&&n.length>0&&n.every(K)?n:void 0}catch{return}}function Ie(e){if(!e)return;try{let n=JSON.parse(e);return K(n)&&n.type==="reasoning.encrypted"&&typeof n.id==="string"&&n.id.length>0&&n.data.length>0?n:void 0}catch{return}}function se(e,n){e.id??=n.id,e.format||=n.format,e.index??=n.index}function Ee(e,n){let t=e[e.length-1];if(n.type==="reasoning.text"&&t?.type==="reasoning.text"){t.text+=n.text,t.signature||=n.signature,se(t,n);return}if(n.type==="reasoning.summary"&&t?.type==="reasoning.summary"){t.summary+=n.summary,se(t,n);return}e.push({...n})}var we=["reasoning","reasoning_content","reasoning_text"];function Fe(e){return we.includes(e)}function le(e,n){if(e)return e;if(v("PI_CACHE_RETENTION",n)==="long")return"long";return"short"}var Oe=(e,n,t)=>{let s=new D,u=ie(n,z(e).supportsMidConvoSystemMessages);return(async()=>{let r={role:"assistant",content:[],api:e.api,provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"pending",timestamp:Date.now()},k,g=(R)=>{if(k!==void 0)R.thinkingSignature=JSON.stringify(k)};try{let R=ae(e.provider,t?.apiKey,t?.headers),a=z(e),T=Re(xe(u.messages),a.supportsOpenAIGrammarTools),p=le(t?.cacheRetention,t?.env),d=p==="none"?void 0:t?.sessionId,o=Be(e,u,R,t?.headers,t?.fetch,d,a),f=Pe(e,u,t,a,p,T),h=await t?.onPayload?.(f,e);if(h!==void 0)f=h;let C={...t?.signal?{signal:t.signal}:{},...t?.timeoutMs!==void 0?{timeout:t.timeoutMs}:{},maxRetries:0},{data:M,response:P}=await ue(()=>o.chat.completions.create(f,C).withResponse(),{maxRetries:t?.maxRetries,maxRetryDelayMs:t?.maxRetryDelayMs,signal:t?.signal});await t?.onResponse?.({status:P.status,headers:Q(P.headers)},e),s.push({type:"start",partial:r});let O=null,F=null,A=!1,b=new Map,L=new Map,l=r.content,I=(i)=>l.indexOf(i),H=(i)=>{let c=i.customInput?.property;if(c===void 0)return"";let x=i.arguments[c];return typeof x==="string"?x:""},U=(i,c,x)=>{let m=i.customInput;if(!m)return;let E=Hr(m.jsonBuffer,m.property,c,x);return i.arguments={[m.property]:c},E},ge=(i)=>{let c=I(i);if(c===-1)return;if(i.type==="text")s.push({type:"text_end",contentIndex:c,content:i.text,partial:r});else if(i.type==="thinking")g(i),s.push({type:"thinking_end",contentIndex:c,content:i.thinking,partial:r});else if(i.type==="toolCall"){if(i.customInput){let x=U(i,H(i),!0);if(x!==void 0)s.push({type:"toolcall_delta",contentIndex:c,delta:x,partial:r})}else i.arguments=G(i.partialArgs);delete i.partialArgs,delete i.customInput,delete i.streamIndex,s.push({type:"toolcall_end",contentIndex:c,toolCall:i,partial:r})}},de=()=>{if(!O)O={type:"text",text:""},l.push(O),s.push({type:"text_start",contentIndex:I(O),partial:r});return O},Z=(i)=>{if(!F)F={type:"thinking",thinking:"",thinkingSignature:i},l.push(F),s.push({type:"thinking_start",contentIndex:I(F),partial:r});return F},he=(i)=>{let c=typeof i.index==="number"?i.index:void 0,x=i.function?.name??i.custom?.name??"",m=c!==void 0?b.get(c):void 0;if(!m&&i.id)m=L.get(i.id);if(!m){let E=i.custom&&!i.function?T.get(x)??"input":void 0,B=E!==void 0;if(m={type:"toolCall",id:i.id||"",name:x,arguments:B?{[E]:""}:{},partialArgs:B?void 0:"",customInput:B?{property:E,jsonBuffer:{input:"",started:!1,closed:!1}}:void 0,streamIndex:c},c!==void 0)b.set(c,m);if(i.id)L.set(i.id,m);l.push(m),s.push({type:"toolcall_start",contentIndex:I(m),partial:r})}if(c!==void 0&&m.streamIndex===void 0)m.streamIndex=c,b.set(c,m);if(i.id)L.set(i.id,m);if(!m.name&&x)m.name=x;if(i.custom&&!i.function&&!m.customInput){let E=T.get(m.name)??"input";m.arguments={[E]:""},m.customInput={property:E,jsonBuffer:{input:"",started:!1,closed:!1}},delete m.partialArgs}return m};for await(let i of M){if(await t?.onProviderStreamEvent?.(i,e),!i||typeof i!=="object")continue;if(r.responseId||=i.id,typeof i.model==="string"&&i.model.length>0&&i.model!==e.id)r.responseModel||=i.model;if(i.usage)r.usage=oe(i.usage,e);let c=Array.isArray(i.choices)?i.choices[0]:void 0;if(!c)continue;if(!i.usage&&c.usage)r.usage=oe(c.usage,e);if(c.finish_reason){r.rawStopReason=c.finish_reason;let x=Ve(c.finish_reason);if(r.stopReason=x.stopReason,x.errorMessage)r.errorMessage=x.errorMessage;A=!0}if(c.delta){if(c.delta.content!==null&&c.delta.content!==void 0&&c.delta.content.length>0){let y=de();y.text+=c.delta.content,s.push({type:"text_delta",contentIndex:I(y),delta:c.delta.content,partial:r})}let x=["reasoning_content","reasoning","reasoning_text"],m=c.delta,E=null;for(let y of x){let _=m[y];if(typeof _==="string"&&_.length>0){E=y;break}}if(E){let y=m[E];if(typeof y==="string"&&y.length>0){let _=e.provider==="opencode-go"&&E==="reasoning"?"reasoning_content":E,q=Z(_);q.thinking+=y,s.push({type:"thinking_delta",contentIndex:I(q),delta:y,partial:r})}}if(c?.delta?.tool_calls)for(let y of c.delta.tool_calls){let _=he(y);if(!_.id&&y.id)_.id=y.id,L.set(y.id,_);let q=y.function?.name??y.custom?.name;if(!_.name&&q)_.name=q;let N="";if(y.function?.arguments)N=y.function.arguments,_.partialArgs=(_.partialArgs??"")+y.function.arguments,_.arguments=G(_.partialArgs);else if(y.custom?.input){let me=H(_)+y.custom.input;N=U(_,me,!1)??""}s.push({type:"toolcall_delta",contentIndex:I(_),delta:N,partial:r})}let B=c.delta.reasoning_details;if(Array.isArray(B))for(let y of B){if(!K(y))continue;Z(""),k??=[],Ee(k,y)}}}for(let i of l)ge(i);if(t?.signal?.aborted)throw Error("Request was aborted");if(r.stopReason==="aborted")throw Error("Request was aborted");if(!A&&!a.supportsFinishReason)r.stopReason=r.content.some((i)=>i.type==="toolCall")?"toolUse":"stop";if(r.stopReason==="error")throw Error(r.errorMessage||"Provider returned an error stop reason");if(a.supportsFinishReason&&!A||r.stopReason==="pending")throw Error("Stream ended without finish_reason");s.push({type:"done",reason:r.stopReason,message:r}),s.end()}catch(R){for(let T of r.content){if(T.type==="thinking")g(T);delete T.index,delete T.partialArgs,delete T.customInput,delete T.streamIndex}r.stopReason=t?.signal?.aborted?"aborted":"error",r.errorMessage=J(j(R));let a=R?.error?.metadata?.raw;if(a&&!r.errorMessage.includes(String(a)))r.errorMessage+=`
3
+ ${a}`;s.push({type:"error",reason:r.stopReason,error:r}),s.end()}})(),s},yt=(e,n,t)=>{ae(e.provider,t?.apiKey,t?.headers);let s={...X(e,n,t,t?.apiKey),toolChoice:t?.toolChoice},u=t?.reasoning?V(e,t.reasoning):void 0;return Oe(e,n,{...s,reasoningEffort:u==="off"?void 0:u,thinkingBudgets:t?.thinkingBudgets})};function Be(e,n,t,s,u,r,k=z(e)){let g={"User-Agent":ne(),...e.headers};if(e.provider==="github-copilot"){let R=Pt(n.messages),a=Tt({messages:n.messages,hasImages:R});Object.assign(g,a)}if(r&&k.sendSessionAffinityHeaders)if(k.sessionAffinityFormat==="openrouter")g["x-session-id"]=r;else{if(k.sessionAffinityFormat==="openai")g.session_id=r;g["x-client-request-id"]=r,g["x-session-affinity"]=r}if(s)Object.assign(g,s);return new S({apiKey:t,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,fetch:u,defaultHeaders:g})}function Pe(e,n,t,s=z(e),u=le(t?.cacheRetention,t?.env),r=Re(xe(n.messages),s.supportsOpenAIGrammarTools)){let k=ve(n.messages,s.supportsMidConvoSystemMessages===!0&&s.supportsMidConvoToolAdditions===!0),g=Je(e,n,s,{grammarToolInputProperties:r}),R=Ge(s,u),a={model:e.id,messages:g,stream:!0,prompt_cache_key:e.baseUrl.includes("api.openai.com")&&u!=="none"||u==="long"&&s.supportsLongCacheRetention?Ke(t?.sessionId):void 0,prompt_cache_retention:u==="long"&&s.supportsLongCacheRetention?"24h":void 0};if(s.supportsUsageInStreaming!==!1)a.stream_options={include_usage:!0};if(s.supportsStore)a.store=!1;if(t?.maxTokens)if(s.maxTokensField==="max_tokens")a.max_tokens=t.maxTokens;else a.max_completion_tokens=t.maxTokens;if(t?.temperature!==void 0)a.temperature=t.temperature;if(k.requestTools.length>0){if(a.tools=pe(k.requestTools,s),s.zaiToolStream)a.tool_stream=!0}else if(ye(n.messages))a.tools=[];if(R)Ne(g,a.tools,R);if(t?.toolChoice)a.tool_choice=t.toolChoice;if(s.vllmPriority!==void 0)a.priority=s.vllmPriority;let T=Le(s),p=qe(e,t,a);if(s.thinkingFormat==="zai"&&e.reasoning){let o=a;if(o.thinking=t?.reasoningEffort?{type:"enabled",clear_thinking:!1}:{type:"disabled"},t?.reasoningEffort&&s.supportsReasoningEffort){let f=e.thinkingLevelMap?.[t.reasoningEffort],h=f===void 0?t.reasoningEffort:f;if(typeof h==="string")o.reasoning_effort=h}}else if(s.thinkingFormat==="qwen"&&e.reasoning){if(a.enable_thinking=!!t?.reasoningEffort,t?.reasoningEffort&&s.supportsReasoningEffort){let o=e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort;if(typeof o==="string")a.reasoning_effort=o}}else if(s.thinkingFormat==="qwen-chat-template"&&e.reasoning)a.chat_template_kwargs={enable_thinking:!!t?.reasoningEffort,preserve_thinking:!0};else if(s.thinkingFormat==="chat-template"&&e.reasoning){let o=re(e,t,s.chatTemplateKwargs,p);if(o)a.chat_template_kwargs=o}else if(s.thinkingFormat==="baseten"&&e.reasoning){let o=a,f=re(e,t,s.chatTemplateArgs,p);if(f)o.chat_template_args=f;if(s.supportsReasoningEffort){let h=t?.reasoningEffort,C=h?e.thinkingLevelMap?.[h]:e.thinkingLevelMap?.off,M=C===void 0?h:C;if(typeof M==="string")o.reasoning_effort=M}}else if(s.thinkingFormat==="deepseek"&&e.reasoning){if(t?.reasoningEffort)a.thinking={type:"enabled"};else if(e.thinkingLevelMap?.off!==null)a.thinking={type:"disabled"};if(t?.reasoningEffort&&s.supportsReasoningEffort)a.reasoning_effort=e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort}else if(s.thinkingFormat==="openrouter"&&e.reasoning){let o=a;if(t?.reasoningEffort)o.reasoning={effort:e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort};else if(e.thinkingLevelMap?.off!==null)o.reasoning={effort:e.thinkingLevelMap?.off??"none"}}else if(s.thinkingFormat==="ant-ling"&&e.reasoning&&t?.reasoningEffort){let o=e.thinkingLevelMap?.[t.reasoningEffort];if(typeof o==="string")a.reasoning={effort:o}}else if(s.thinkingFormat==="together"&&e.reasoning){let o=a;if(o.reasoning={enabled:!!t?.reasoningEffort},t?.reasoningEffort&&s.supportsReasoningEffort)o.reasoning_effort=e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort}else if(s.thinkingFormat==="string-thinking"&&e.reasoning){let o=a;if(t?.reasoningEffort)o.thinking=e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort;else if(e.thinkingLevelMap?.off!==null)o.thinking=e.thinkingLevelMap?.off??"none"}else if(t?.reasoningEffort&&e.reasoning&&s.supportsReasoningEffort)a.reasoning_effort=e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort;else if(!t?.reasoningEffort&&e.reasoning&&s.supportsReasoningEffort){let o=e.thinkingLevelMap?.off;if(typeof o==="string")a.reasoning_effort=o}if(T&&p!==void 0)Object.assign(a,{[T]:p});if(e.compat?.openRouterRouting)a.provider=e.compat.openRouterRouting;if(e.compat?.vercelGatewayRouting){let o=e.compat.vercelGatewayRouting;if(o.only||o.order){let f={};if(o.only)f.only=o.only;if(o.order)f.order=o.order;a.providerOptions={gateway:f}}}let d=dt(e,t?.reasoningEffort??"off",t?.samplingParams);if(d)Object.assign(a,d);return a}function Le(e){if(e.thinkingTokenBudgetField)return e.thinkingTokenBudgetField;if(e.supportsThinkingTokenBudget)return"thinking_token_budget";return}function qe(e,n,t){if(!n?.reasoningEffort||!e.reasoning)return;let s=t.max_tokens??t.max_completion_tokens??e.maxTokens,u=Ho(Wo(n.reasoningEffort,n.thinkingBudgets),s);return u>0?u:void 0}function re(e,n,t,s){let u={};for(let[r,k]of Object.entries(t)){let g=ze(e,n,k,s);if(g!==void 0)u[r]=g}return Object.keys(u).length>0?u:void 0}function ze(e,n,t,s){if(typeof t!=="object"||t===null)return t;let u=n?.reasoningEffort;if(!u&&t.omitWhenOff)return;if(t.$var==="thinking.enabled")return!!u;if(t.$var==="thinking.budget")return s;let r=u?e.thinkingLevelMap?.[u]:e.thinkingLevelMap?.off;return r===void 0?u:typeof r==="string"?r:void 0}function Ge(e,n){if(e.cacheControlFormat!=="anthropic"||n==="none")return;let t=n==="long"&&e.supportsLongCacheRetention?"1h":void 0;return{type:"ephemeral",...t?{ttl:t}:{}}}function Ne(e,n,t){je(e,t),He(n,t),$e(e,t)}function je(e,n){for(let t of e)if(t.role==="system"||t.role==="developer"){Ue(t,n);return}}function $e(e,n){for(let t=e.length-1;t>=0;t--){let s=e[t];if(s.role==="user"||s.role==="assistant"||s.role==="tool"){if(We(s,n))return}}}function He(e,n){if(!e||e.length===0)return;let t=e[e.length-1];t.cache_control=n}function Ue(e,n){return ce(e,n)}function We(e,n){if(e.role==="user"||e.role==="assistant"||e.role==="tool")return ce(e,n);return!1}function ce(e,n){let t=e.content;if(typeof t==="string"){if(t.length===0)return!1;return e.content=[{type:"text",text:t,cache_control:n}],!0}if(!Array.isArray(t))return!1;for(let s=t.length-1;s>=0;s--){let u=t[s];if(u?.type==="text"){let r=u;return r.cache_control=n,!0}}return!1}function Je(e,n,t,s){let u=ie(n,t.supportsMidConvoSystemMessages),r=[],k=(p)=>{if(p.includes("|")){let d=p.indexOf("|"),o=p.slice(0,d).replace(/[^a-zA-Z0-9_-]/g,"_"),f=p.slice(d+1).replace(/[^a-zA-Z0-9_-]/g,"_"),h=f.length>0?`${o}_${f}`:o;if(h.length<=40)return h;let C=rt(p).slice(0,8);return`${o.slice(0,Math.max(1,40-C.length-1))}_${C}`}if(e.provider==="openai")return p.length>40?p.slice(0,40):p;return p},g=Se(u.messages,e,(p)=>k(p)),R=ve(u.messages,t.supportsMidConvoSystemMessages===!0&&t.supportsMidConvoToolAdditions===!0),a=e.reasoning&&t.supportsDeveloperRole?"developer":"system",T=null;for(let p=0;p<g.length;p++){let d=g[p];if(t.requiresAssistantAfterToolResult&&T==="toolResult"&&d.role==="user")r.push({role:"assistant",content:"I have processed the tool results."});if(d.role==="system"){let o=p>0&&R.anchorsAdditions?d.toolsAdded??[]:[];if(o.length>0){let h={role:"system",tools:pe(o,t)};r.push(h)}let f=p===0?W(d):De(d);if(f.length>0)r.push({role:a,content:w(f)})}else if(d.role==="user")if(typeof d.content==="string")r.push({role:"user",content:w(d.content)});else{let o=d.content.filter((f)=>f.type!=="text"||f.text.length>0).map((f)=>{if(f.type==="text")return{type:"text",text:w(f.text)};else return{type:"image_url",image_url:{url:`data:${f.mimeType};base64,${f.data}`}}});if(o.length===0)continue;r.push({role:"user",content:o})}else if(d.role==="assistant"){let o={role:"assistant",content:t.requiresAssistantAfterToolResult?"":null},f=d.content.filter(te).filter((l)=>l.text.trim().length>0).map((l)=>({type:"text",text:w(l.text)})),h=f.map((l)=>l.text).join(""),C=d.content.filter(ke),M=d.content.filter(Te),P=C.map((l)=>Me(l.thinkingSignature)).find((l)=>l!==void 0),O=M.map((l)=>Ie(l.thoughtSignature)).filter((l)=>l!==void 0),F=P??(O.length>0?O:void 0),A=C.filter((l)=>l.thinking.trim().length>0);if(A.length>0)if(t.requiresThinkingAsText){let l=A.map((I)=>w(I.thinking)).join(`
4
+
5
+ `);o.content=[{type:"text",text:l},...f]}else{if(h.length>0)o.content=h;if(!F){let l=A[0].thinkingSignature;if(e.provider==="opencode-go"&&l==="reasoning")l="reasoning_content";if(l&&Fe(l))o[l]=A.map((I)=>I.thinking).join(`
6
+ `)}}else if(h.length>0)o.content=h;if(M.length>0)o.tool_calls=M.map((l)=>{let I=s?.grammarToolInputProperties?.get(l.name);if(I!==void 0)return{id:l.id,type:"custom",custom:{name:l.name,input:w(Wr(l.name,l.arguments,I))}};return{id:l.id,type:"function",function:{name:l.name,arguments:JSON.stringify(l.arguments)}}});if(F)o.reasoning_details=F;if(t.requiresReasoningContentOnAssistantMessages&&e.reasoning&&o.reasoning_content===void 0)o.reasoning_content="";let b=o.content;if(!(b!==null&&b!==void 0&&(typeof b==="string"?b.length>0:b.length>0))&&!o.tool_calls)continue;r.push(o)}else if(d.role==="toolResult"){let o=[],f=p;for(;f<g.length&&g[f].role==="toolResult";f++){let h=g[f],C=h.content.filter(te).map((A)=>A.text).join(`
7
+ `),M=h.content.some((A)=>A.type==="image"),O=C.length>0?C:M?"(see attached image)":"(no tool output)",F={role:"tool",content:w(O),tool_call_id:h.toolCallId};if(t.requiresToolResultName&&h.toolName)F.name=h.toolName;if(r.push(F),M&&e.input.includes("image")){for(let A of h.content)if(_e(A))o.push({type:"image_url",image_url:{url:`data:${A.mimeType};base64,${A.data}`}})}}if(p=f-1,o.length>0){if(t.requiresAssistantAfterToolResult)r.push({role:"assistant",content:"I have processed the tool results."});r.push({role:"user",content:[{type:"text",text:"Attached image(s) from tool result:"},...o]}),T="user"}else T="toolResult";continue}T=d.role}return r}function pe(e,n){return e.map((t)=>{let s=nr(t,n.supportsOpenAIGrammarTools);if(s)return{type:"custom",custom:{name:t.name,description:t.description,format:{type:"grammar",grammar:{syntax:s.format,definition:s.definition}}}};let u=fe(t,n.supportsStrictMode!==!1);return{type:"function",function:{name:t.name,description:t.description,parameters:be(t,u),...n.supportsStrictMode!==!1&&{strict:u??!1}}}})}function oe(e,n){let t=e.prompt_tokens||0,s=e.prompt_tokens_details?.cached_tokens??e.prompt_cache_hit_tokens??e.cached_tokens??0,u=e.prompt_tokens_details?.cache_write_tokens||0,r=Math.max(0,t-s-u),k=e.completion_tokens||0,g={input:r,output:k,cacheRead:s,cacheWrite:u,reasoning:e.completion_tokens_details?.reasoning_tokens||0,totalTokens:r+k+s+u,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}};return Y(n,g),g}function Ve(e){if(e===null)return{stopReason:"stop"};switch(e){case"stop":case"end":return{stopReason:"stop"};case"length":return{stopReason:"length"};case"function_call":case"tool_calls":return{stopReason:"toolUse"};case"content_filter":return{stopReason:"error",errorMessage:"Provider finish_reason: content_filter"};case"network_error":return{stopReason:"error",errorMessage:"Provider finish_reason: network_error"};default:return{stopReason:"error",errorMessage:`Provider finish_reason: ${e}`}}}function Ze(e){let{provider:n,baseUrl:t}=e,s=n==="zai"||n==="zai-coding-cn"||t.includes("api.z.ai")||t.includes("open.bigmodel.cn"),u=n==="together"||t.includes("api.together.ai")||t.includes("api.together.xyz"),r=n==="moonshotai"||n==="moonshotai-cn"||t.includes("api.moonshot."),k=n==="openrouter"||t.includes("openrouter.ai"),g=n==="cloudflare-workers-ai"||t.includes("api.cloudflare.com"),R=n==="cloudflare-ai-gateway"||t.includes("gateway.ai.cloudflare.com"),a=n==="nvidia"||t.includes("integrate.api.nvidia.com"),T=n==="ant-ling"||t.includes("api.ant-ling.com"),p=n==="cerebras"||t.includes("cerebras.ai"),d=n==="deepseek"||t.toLowerCase().includes("deepseek.com"),o=a||p||n==="xai"||t.includes("api.x.ai")||u||t.includes("chutes.ai")||d||s||r||n==="opencode"||t.includes("opencode.ai")||g||R||T,f=t.includes("chutes.ai")||d||r||R||u||a||T||s,h=n==="xai"||t.includes("api.x.ai"),C=k&&(e.id.startsWith("anthropic/")||e.id.startsWith("openai/")),M=n==="openrouter"&&e.id.startsWith("anthropic/")?"anthropic":void 0;return{supportsStore:!o,supportsDeveloperRole:C||!o&&!k,supportsReasoningEffort:!h&&!s&&!r&&!u&&!R&&!a&&!T,supportsUsageInStreaming:!0,supportsFinishReason:!0,maxTokensField:f?"max_tokens":"max_completion_tokens",requiresToolResultName:!1,requiresAssistantAfterToolResult:!1,requiresThinkingAsText:!1,requiresReasoningContentOnAssistantMessages:d,thinkingFormat:d?"deepseek":s?"zai":u?"together":T?"ant-ling":k?"openrouter":"openai",openRouterRouting:{},vercelGatewayRouting:{},chatTemplateKwargs:{},chatTemplateArgs:{},zaiToolStream:!1,supportsThinkingTokenBudget:!1,thinkingTokenBudgetField:void 0,supportsStrictMode:!1,supportsOpenAIGrammarTools:!1,supportsMidConvoSystemMessages:!1,supportsMidConvoToolAdditions:!1,cacheControlFormat:M,sendSessionAffinityHeaders:k,sessionAffinityFormat:k?"openrouter":"openai",supportsLongCacheRetention:!(u||g||R||a||T)}}function z(e){let n=Ze(e);if(!e.compat)return n;return{supportsStore:e.compat.supportsStore??n.supportsStore,supportsDeveloperRole:e.compat.supportsDeveloperRole??n.supportsDeveloperRole,supportsReasoningEffort:e.compat.supportsReasoningEffort??n.supportsReasoningEffort,supportsUsageInStreaming:e.compat.supportsUsageInStreaming??n.supportsUsageInStreaming,supportsFinishReason:e.compat.supportsFinishReason??n.supportsFinishReason,maxTokensField:e.compat.maxTokensField??n.maxTokensField,requiresToolResultName:e.compat.requiresToolResultName??n.requiresToolResultName,requiresAssistantAfterToolResult:e.compat.requiresAssistantAfterToolResult??n.requiresAssistantAfterToolResult,requiresThinkingAsText:e.compat.requiresThinkingAsText??n.requiresThinkingAsText,requiresReasoningContentOnAssistantMessages:e.compat.requiresReasoningContentOnAssistantMessages??n.requiresReasoningContentOnAssistantMessages,thinkingFormat:e.compat.thinkingFormat??n.thinkingFormat,openRouterRouting:e.compat.openRouterRouting??{},vercelGatewayRouting:e.compat.vercelGatewayRouting??n.vercelGatewayRouting,chatTemplateKwargs:e.compat.chatTemplateKwargs??n.chatTemplateKwargs,chatTemplateArgs:e.compat.chatTemplateArgs??n.chatTemplateArgs,zaiToolStream:e.compat.zaiToolStream??n.zaiToolStream,supportsThinkingTokenBudget:e.compat.supportsThinkingTokenBudget??n.supportsThinkingTokenBudget,thinkingTokenBudgetField:e.compat.thinkingTokenBudgetField??n.thinkingTokenBudgetField,supportsStrictMode:e.compat.supportsStrictMode??n.supportsStrictMode,supportsOpenAIGrammarTools:e.compat.supportsOpenAIGrammarTools??n.supportsOpenAIGrammarTools,supportsMidConvoSystemMessages:e.compat.supportsMidConvoSystemMessages??n.supportsMidConvoSystemMessages,supportsMidConvoToolAdditions:e.compat.supportsMidConvoToolAdditions??n.supportsMidConvoToolAdditions,cacheControlFormat:e.compat.cacheControlFormat??n.cacheControlFormat,sendSessionAffinityHeaders:e.compat.sendSessionAffinityHeaders??n.sendSessionAffinityHeaders,sessionAffinityFormat:e.compat.sessionAffinityFormat??n.sessionAffinityFormat,supportsLongCacheRetention:e.compat.supportsLongCacheRetention??n.supportsLongCacheRetention,vllmPriority:e.compat.vllmPriority}}export{Je as convertMessages,Oe as stream,yt as streamSimple};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{Qt,mo}from"./chunk-bja7p3em.js";import"./chunk-4rnmxtpx.js";import"./chunk-edbq461k.js";export{Qt as stream,mo as streamSimple};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{L}from"./chunk-tevejprz.js";import{b}from"./chunk-cmwdjes8.js";import{i}from"./chunk-bwawt15q.js";var d=i(b());var t=i(b());import{exec as w}from"child_process";import{promisify as P}from"util";var p=i(L()),f=(r,e,o)=>{if(e.Version!==1)throw Error(`Profile ${r} credential_process did not return Version 1.`);if(e.AccessKeyId===void 0||e.SecretAccessKey===void 0)throw Error(`Profile ${r} credential_process returned invalid credentials.`);if(e.Expiration){let l=new Date;if(new Date(e.Expiration)<l)throw Error(`Profile ${r} credential_process returned expired credentials.`)}let s=e.AccountId;if(!s&&o?.[r]?.aws_account_id)s=o[r].aws_account_id;let n={accessKeyId:e.AccessKeyId,secretAccessKey:e.SecretAccessKey,...e.SessionToken&&{sessionToken:e.SessionToken},...e.Expiration&&{expiration:new Date(e.Expiration)},...e.CredentialScope&&{credentialScope:e.CredentialScope},...s&&{accountId:s}};return p.setCredentialFeature(n,"CREDENTIALS_PROCESS","w"),n};var u=async(r,e,o)=>{let s=e[r];if(e[r]){let n=s.credential_process;if(n!==void 0){let l=P(t.externalDataInterceptor?.getTokenRecord?.().exec??w);try{let{stdout:c}=await l(n),a;try{a=JSON.parse(c.trim())}catch{throw Error(`Profile ${r} credential_process returned invalid JSON.`)}return f(r,a,e)}catch(c){throw new t.CredentialsProviderError(c.message,{logger:o})}}else throw new t.CredentialsProviderError(`Profile ${r} did not contain credential_process.`,{logger:o})}else throw new t.CredentialsProviderError(`Profile ${r} could not be found in shared credentials file.`,{logger:o})};var m=(r={})=>async({callerClientConfig:e}={})=>{r.logger?.debug("@aws-sdk/credential-provider-process - fromProcess");let o=await d.parseKnownFiles(r);return u(d.getProfileName({profile:r.profile??e?.profile}),o,r.logger)};export{m as fromProcess};
2
+ import{U}from"./chunk-0nedq669.js";import{x}from"./chunk-0a7ft50x.js";import{i}from"./chunk-ydzag81d.js";var d=i(x());var t=i(x());import{exec as w}from"child_process";import{promisify as P}from"util";var p=i(U()),f=(r,e,o)=>{if(e.Version!==1)throw Error(`Profile ${r} credential_process did not return Version 1.`);if(e.AccessKeyId===void 0||e.SecretAccessKey===void 0)throw Error(`Profile ${r} credential_process returned invalid credentials.`);if(e.Expiration){let l=new Date;if(new Date(e.Expiration)<l)throw Error(`Profile ${r} credential_process returned expired credentials.`)}let s=e.AccountId;if(!s&&o?.[r]?.aws_account_id)s=o[r].aws_account_id;let n={accessKeyId:e.AccessKeyId,secretAccessKey:e.SecretAccessKey,...e.SessionToken&&{sessionToken:e.SessionToken},...e.Expiration&&{expiration:new Date(e.Expiration)},...e.CredentialScope&&{credentialScope:e.CredentialScope},...s&&{accountId:s}};return p.setCredentialFeature(n,"CREDENTIALS_PROCESS","w"),n};var u=async(r,e,o)=>{let s=e[r];if(e[r]){let n=s.credential_process;if(n!==void 0){let l=P(t.externalDataInterceptor?.getTokenRecord?.().exec??w);try{let{stdout:c}=await l(n),a;try{a=JSON.parse(c.trim())}catch{throw Error(`Profile ${r} credential_process returned invalid JSON.`)}return f(r,a,e)}catch(c){throw new t.CredentialsProviderError(c.message,{logger:o})}}else throw new t.CredentialsProviderError(`Profile ${r} did not contain credential_process.`,{logger:o})}else throw new t.CredentialsProviderError(`Profile ${r} could not be found in shared credentials file.`,{logger:o})};var m=(r={})=>async({callerClientConfig:e}={})=>{r.logger?.debug("@aws-sdk/credential-provider-process - fromProcess");let o=await d.parseKnownFiles(r);return u(d.getProfileName({profile:r.profile??e?.profile}),o,r.logger)};export{m as fromProcess};