claude-code-best 1.1.0 → 1.2.0

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 (514) hide show
  1. package/README.md +66 -75
  2. package/dist/{chunk-q5b91nhh.js → chunk-01qzvbp3.js} +8 -2
  3. package/dist/{chunk-f9b4wb89.js → chunk-053bj0m0.js} +79 -73
  4. package/dist/chunk-05tt9tt1.js +653 -0
  5. package/dist/chunk-06sq1vz3.js +403 -0
  6. package/dist/chunk-07069jq1.js +30 -0
  7. package/dist/chunk-0dac8msw.js +135 -0
  8. package/dist/{chunk-m5eb5pt2.js → chunk-0ja0y3at.js} +6 -6
  9. package/dist/chunk-0jzdwbdc.js +14 -0
  10. package/dist/chunk-0nrq46nf.js +313 -0
  11. package/dist/chunk-0qz705wz.js +192 -0
  12. package/dist/{chunk-m94pnhfa.js → chunk-0rn4v8sg.js} +38 -28
  13. package/dist/{chunk-1cbn5kxf.js → chunk-0rpb2bdp.js} +3 -2
  14. package/dist/{chunk-zz21rvr7.js → chunk-127cmycn.js} +8 -5
  15. package/dist/chunk-12vk6z7z.js +109 -0
  16. package/dist/{chunk-vybkxr18.js → chunk-15y014gg.js} +41 -31
  17. package/dist/{chunk-44fpr6jq.js → chunk-168xb8v1.js} +4 -2
  18. package/dist/{chunk-8hsyagr8.js → chunk-16bnxyz0.js} +1 -1
  19. package/dist/{chunk-wsqhnjj3.js → chunk-1atfzck5.js} +24 -24
  20. package/dist/chunk-1cbhkqxg.js +310 -0
  21. package/dist/chunk-1csq8bf1.js +295 -0
  22. package/dist/{chunk-0e1xsncc.js → chunk-1cwdhk7a.js} +1 -1
  23. package/dist/{chunk-c8jv6rtj.js → chunk-1ebqpwhn.js} +74 -68
  24. package/dist/{chunk-vyd8jzde.js → chunk-1mh5vt6v.js} +91 -83
  25. package/dist/chunk-1qf125vg.js +123 -0
  26. package/dist/{chunk-ryj80g9p.js → chunk-1sp6713v.js} +131 -176
  27. package/dist/{chunk-d18z9pna.js → chunk-1thgdca1.js} +2 -2
  28. package/dist/chunk-1z1gfx2c.js +443 -0
  29. package/dist/{chunk-wc6wwwyb.js → chunk-21z7acxh.js} +3 -3
  30. package/dist/chunk-229pcf6p.js +509 -0
  31. package/dist/chunk-238g70xa.js +1 -1
  32. package/dist/{chunk-vpb723tx.js → chunk-23ad5t92.js} +5 -5
  33. package/dist/chunk-28043j1k.js +68 -0
  34. package/dist/chunk-299r6d9v.js +141 -0
  35. package/dist/{chunk-a6s8wnhe.js → chunk-2bw5nqsw.js} +4 -4
  36. package/dist/chunk-2mxstrx5.js +445 -0
  37. package/dist/{chunk-9g827w4j.js → chunk-2q39ej51.js} +6 -6
  38. package/dist/chunk-2qwgfjcj.js +5370 -0
  39. package/dist/chunk-2ss23j0q.js +3587 -0
  40. package/dist/{chunk-hy3g1nv8.js → chunk-2wvxddsg.js} +9 -7
  41. package/dist/chunk-2x2aznpc.js +134 -0
  42. package/dist/{chunk-bqq4zamw.js → chunk-2ys5wcxk.js} +3 -3
  43. package/dist/{chunk-x51h62jq.js → chunk-3cvcwgsr.js} +74 -68
  44. package/dist/{chunk-mecs0gpc.js → chunk-3xv7rjsy.js} +14 -11
  45. package/dist/chunk-42x5tjk2.js +42 -0
  46. package/dist/{chunk-q6rax9kh.js → chunk-436r0x2n.js} +5 -5
  47. package/dist/{chunk-zgrg0wk3.js → chunk-44q4jkwa.js} +27 -67
  48. package/dist/{chunk-zq9xa1xe.js → chunk-44w22kyx.js} +104 -139
  49. package/dist/{chunk-yhd82045.js → chunk-46fcr28b.js} +30 -9
  50. package/dist/{chunk-wm2f2f1z.js → chunk-474y75ga.js} +2 -2
  51. package/dist/{chunk-6fkwz9yk.js → chunk-478rpnqm.js} +8 -8
  52. package/dist/{chunk-rj86xm6z.js → chunk-48w0df8a.js} +1 -1
  53. package/dist/{chunk-v4t6dyyh.js → chunk-4cp6193g.js} +2 -2
  54. package/dist/chunk-4d0de73v.js +436 -0
  55. package/dist/chunk-4eecm90d.js +1030 -0
  56. package/dist/{chunk-q7tvkc86.js → chunk-4f4ccg1h.js} +10 -115
  57. package/dist/chunk-4h102wt5.js +65 -0
  58. package/dist/{chunk-3mgywd32.js → chunk-4hv90qcz.js} +1 -1
  59. package/dist/{chunk-bcrxtdcy.js → chunk-4jcqmf9w.js} +39 -29
  60. package/dist/{chunk-v8xem37v.js → chunk-4kk7vxed.js} +8 -6
  61. package/dist/chunk-4nspekjp.js +69 -0
  62. package/dist/chunk-4xmb7bvy.js +125 -0
  63. package/dist/{chunk-427m88ms.js → chunk-4xy0c1dz.js} +8 -8
  64. package/dist/{chunk-41mpwc8h.js → chunk-53c9gb9c.js} +19 -15
  65. package/dist/{chunk-bpts9jbq.js → chunk-53zsn91p.js} +39 -31
  66. package/dist/{chunk-t7cbhqd2.js → chunk-548g1d6z.js} +104 -119
  67. package/dist/chunk-559yvwh1.js +63 -0
  68. package/dist/chunk-5a6ahhvy.js +594 -0
  69. package/dist/{chunk-5tx8dsy0.js → chunk-5c6man70.js} +9531 -18004
  70. package/dist/chunk-5hb5ev7b.js +74 -0
  71. package/dist/{chunk-ggqx30m9.js → chunk-5z28bqne.js} +23 -311
  72. package/dist/{chunk-p7g7pf3f.js → chunk-61ahbn23.js} +8 -6
  73. package/dist/{chunk-0sb5scxx.js → chunk-652wnf1z.js} +5 -5
  74. package/dist/{chunk-7tqhx6dr.js → chunk-66jkaz3q.js} +109 -213
  75. package/dist/{chunk-q25bjaev.js → chunk-677as3nh.js} +2 -2
  76. package/dist/chunk-68ksfahx.js +386 -0
  77. package/dist/{chunk-xs0hwvpa.js → chunk-68pfxvxt.js} +14 -9
  78. package/dist/{chunk-epmheefa.js → chunk-69hys77v.js} +8 -8
  79. package/dist/{chunk-9g2ncq68.js → chunk-6ayqcq3h.js} +120 -127
  80. package/dist/chunk-6kpbgc5w.js +23 -0
  81. package/dist/chunk-6mpsxxsf.js +362 -0
  82. package/dist/chunk-6nze0g86.js +119 -0
  83. package/dist/{chunk-v1mgv1et.js → chunk-6p4cyhb3.js} +4 -3
  84. package/dist/{chunk-2w8633e3.js → chunk-6t62dbnb.js} +61 -100
  85. package/dist/chunk-6t87a3q6.js +2842 -0
  86. package/dist/{chunk-6mz58s8p.js → chunk-6xana182.js} +18 -14
  87. package/dist/{chunk-fpf4cgbt.js → chunk-7bfach0x.js} +9 -9
  88. package/dist/{chunk-n7158r58.js → chunk-7f1ggjr2.js} +75 -69
  89. package/dist/chunk-7fxjmmfw.js +1172 -0
  90. package/dist/{chunk-ckcagq32.js → chunk-7gqf9wej.js} +5 -5
  91. package/dist/{chunk-b1xt9jqg.js → chunk-7j3dkjqq.js} +15 -5
  92. package/dist/chunk-7ns74x0q.js +475 -0
  93. package/dist/{chunk-ghr4s9g6.js → chunk-7qmknpkq.js} +75 -69
  94. package/dist/chunk-7rzepn9c.js +83 -0
  95. package/dist/chunk-7tdcwje9.js +68 -0
  96. package/dist/{chunk-b4mnbry0.js → chunk-8201tnhf.js} +4 -4
  97. package/dist/{chunk-dv1wfr85.js → chunk-8225arm6.js} +5 -4
  98. package/dist/chunk-822wfv88.js +70 -0
  99. package/dist/chunk-837tm8ht.js +183 -0
  100. package/dist/chunk-8a2ajt5d.js +878 -0
  101. package/dist/{chunk-bj0rvnjw.js → chunk-8bymxfn4.js} +39 -29
  102. package/dist/chunk-8cwbzk7h.js +118 -0
  103. package/dist/chunk-8d0ev0m2.js +111 -0
  104. package/dist/{chunk-4pbx3g7s.js → chunk-8g747a8x.js} +1 -1
  105. package/dist/chunk-8kfwb79z.js +436 -0
  106. package/dist/{chunk-xyqr1cww.js → chunk-8me0yq6v.js} +12 -12
  107. package/dist/{chunk-k5gdea6r.js → chunk-8n8285ax.js} +78 -72
  108. package/dist/{chunk-sdj9b9wh.js → chunk-8pn8tvgg.js} +9 -154
  109. package/dist/{chunk-d7mx1phm.js → chunk-8qhr4n77.js} +61 -103
  110. package/dist/{chunk-7ejt5gqq.js → chunk-8s9bbk3r.js} +58 -45
  111. package/dist/{chunk-bmvb57qb.js → chunk-905d2hee.js} +5 -5
  112. package/dist/{chunk-fk06pejm.js → chunk-91xq5y4a.js} +9 -9
  113. package/dist/{chunk-ahjgghpe.js → chunk-93xsyzsp.js} +1 -1
  114. package/dist/chunk-99pmbfqp.js +230 -0
  115. package/dist/{chunk-cgn27dqf.js → chunk-9f14bkn9.js} +3 -3
  116. package/dist/{chunk-sa7nc0vv.js → chunk-9m78gjpd.js} +1 -1
  117. package/dist/{chunk-kq098bkj.js → chunk-9pm2d2gv.js} +245 -316
  118. package/dist/chunk-a136cvvz.js +27 -0
  119. package/dist/{chunk-n5t9m8h9.js → chunk-a1bjde7d.js} +7 -7
  120. package/dist/chunk-a2evk7n1.js +168 -0
  121. package/dist/{chunk-khdjg2v9.js → chunk-a3k4w4cm.js} +38 -28
  122. package/dist/chunk-a3mcc1sb.js +1403 -0
  123. package/dist/{chunk-8hq5kk3y.js → chunk-a4twdmhf.js} +3 -2
  124. package/dist/chunk-a8eaey19.js +66 -0
  125. package/dist/chunk-abkb5pw6.js +426 -0
  126. package/dist/chunk-ae76ded0.js +30 -0
  127. package/dist/{chunk-660kcy7p.js → chunk-agx5w9ce.js} +14 -8
  128. package/dist/chunk-ah46h8rp.js +70 -0
  129. package/dist/chunk-aj3azy6z.js +409 -0
  130. package/dist/chunk-an6z4rzv.js +158 -0
  131. package/dist/{chunk-r6b58y3x.js → chunk-ase86y73.js} +1 -3
  132. package/dist/{chunk-v0wa5ref.js → chunk-avfjb6pd.js} +13 -555
  133. package/dist/{chunk-5mrhhmas.js → chunk-az5x70pn.js} +8 -5
  134. package/dist/{chunk-49k5ktrj.js → chunk-b6rg3egp.js} +30 -15
  135. package/dist/chunk-b73r6ngr.js +125 -0
  136. package/dist/{chunk-8bedvdm1.js → chunk-b81hd3m6.js} +1 -1
  137. package/dist/{chunk-z7pr85qw.js → chunk-b9mhpc0v.js} +3 -3
  138. package/dist/chunk-b9ndqcdv.js +139 -0
  139. package/dist/{chunk-n5516f5q.js → chunk-bd8zk9tn.js} +4 -4
  140. package/dist/chunk-bdy6n17s.js +343 -0
  141. package/dist/{chunk-r55r29js.js → chunk-bf1j3azq.js} +131 -111
  142. package/dist/{chunk-83z0wrnz.js → chunk-bfcet2mw.js} +2 -2
  143. package/dist/{chunk-jy35mvy3.js → chunk-bmjmrk76.js} +7 -7
  144. package/dist/{chunk-2j0j79p0.js → chunk-bsj8e2mb.js} +8 -8
  145. package/dist/{chunk-snvypj85.js → chunk-bt64sq5y.js} +3 -2
  146. package/dist/{chunk-vyc0rjyx.js → chunk-bwg7582d.js} +1 -1
  147. package/dist/{chunk-3be7ka25.js → chunk-bxcfz5gy.js} +1 -1
  148. package/dist/{chunk-mvss16tj.js → chunk-c1k9tg7h.js} +289 -624
  149. package/dist/{chunk-crr52hf4.js → chunk-c5pxerks.js} +13 -11
  150. package/dist/chunk-c6sjhj89.js +1284 -0
  151. package/dist/{chunk-q6dpqj3z.js → chunk-c9q0phsg.js} +9 -6
  152. package/dist/chunk-caj0ab74.js +129 -0
  153. package/dist/{chunk-f64npa3b.js → chunk-chsyvavm.js} +704 -4
  154. package/dist/{chunk-dqh7e4mt.js → chunk-cjpt035a.js} +51 -41
  155. package/dist/{chunk-z8nbjar4.js → chunk-cmcbatgz.js} +7 -5
  156. package/dist/chunk-cnsj3vq2.js +35 -0
  157. package/dist/chunk-cqjmxeqv.js +269 -0
  158. package/dist/{chunk-bt9krt49.js → chunk-cvb1v08x.js} +38 -32
  159. package/dist/{chunk-j3215c49.js → chunk-cxhvyf7c.js} +227 -370
  160. package/dist/{chunk-24x87knx.js → chunk-cxx0e4nv.js} +1326 -2881
  161. package/dist/chunk-cy2hswr1.js +15 -0
  162. package/dist/{chunk-mwp7sj0q.js → chunk-cy6ezb6j.js} +115140 -121540
  163. package/dist/{chunk-ks0m9njy.js → chunk-d2jekryq.js} +8 -8
  164. package/dist/chunk-d4mdda98.js +94 -0
  165. package/dist/{chunk-33khw5gy.js → chunk-d6ve5pze.js} +7 -7
  166. package/dist/{chunk-26wtxbdc.js → chunk-d7886r6a.js} +6928 -6928
  167. package/dist/{chunk-9t1x831d.js → chunk-d83tmb5h.js} +82 -73
  168. package/dist/{chunk-g5sg6y9q.js → chunk-d8meetqc.js} +78 -71
  169. package/dist/{chunk-ra8fbt9p.js → chunk-d8r0q4ps.js} +537 -871
  170. package/dist/chunk-d95k8xkm.js +84 -0
  171. package/dist/chunk-dd4m7t1v.js +112 -0
  172. package/dist/{chunk-er9vzjac.js → chunk-dekbr08w.js} +16 -14
  173. package/dist/{chunk-cvge4pvp.js → chunk-dk8287aa.js} +1 -1
  174. package/dist/{chunk-9mfbqw9k.js → chunk-dm3n2qgd.js} +4 -4
  175. package/dist/{chunk-n6fbyke9.js → chunk-dmxte86x.js} +3 -3
  176. package/dist/{chunk-t24ytdcw.js → chunk-dqvwn28p.js} +12 -10
  177. package/dist/chunk-drkm8yx2.js +34 -0
  178. package/dist/{chunk-ptwn7qw7.js → chunk-dsbewdgm.js} +38 -10
  179. package/dist/{chunk-w7h2yphx.js → chunk-dwekpr47.js} +2 -2
  180. package/dist/{chunk-ks0dm6t3.js → chunk-e3299veq.js} +16 -70
  181. package/dist/{chunk-4x5ym4h2.js → chunk-e5hcyxae.js} +129 -15
  182. package/dist/chunk-e7h0nd5w.js +106 -0
  183. package/dist/{chunk-s2dmn3yg.js → chunk-eaemyebz.js} +5 -5
  184. package/dist/{chunk-cmdsbsb6.js → chunk-edzkkadh.js} +2 -2
  185. package/dist/chunk-em99fnet.js +128 -0
  186. package/dist/{chunk-hfzj1m07.js → chunk-epyaq1z0.js} +13 -4
  187. package/dist/{chunk-v9y80148.js → chunk-eqmkajs4.js} +96 -189
  188. package/dist/{chunk-cs6y2pc9.js → chunk-ergam9ft.js} +5 -5
  189. package/dist/chunk-es2fdse0.js +63 -0
  190. package/dist/{chunk-cenpqc2t.js → chunk-esn3tgm2.js} +8 -6
  191. package/dist/{chunk-qf2v384j.js → chunk-et8ybmt2.js} +9 -7
  192. package/dist/{chunk-aqa7w38f.js → chunk-ew9rp41b.js} +5 -5
  193. package/dist/{chunk-1yabrspp.js → chunk-ewx6xfzb.js} +2 -2
  194. package/dist/chunk-eyjtbtt0.js +137 -0
  195. package/dist/{chunk-rmbp2das.js → chunk-f0jd2p9n.js} +20 -18
  196. package/dist/{chunk-vzqrbsd1.js → chunk-f69rgsm2.js} +5 -5
  197. package/dist/{chunk-f3bapa1x.js → chunk-f6rbj3gz.js} +12 -7
  198. package/dist/chunk-fbhyqxdg.js +1182 -0
  199. package/dist/chunk-feyzykye.js +10 -0
  200. package/dist/chunk-ffhejx56.js +107 -0
  201. package/dist/{chunk-vbbf707n.js → chunk-fhx6nt2a.js} +38 -28
  202. package/dist/chunk-fkkysfev.js +158 -0
  203. package/dist/chunk-fn510gqw.js +216 -0
  204. package/dist/chunk-ftsg8bjm.js +117 -0
  205. package/dist/{chunk-t3bf8hcf.js → chunk-fyts9grb.js} +2 -2
  206. package/dist/{chunk-kd97kxjn.js → chunk-fz0ch109.js} +3 -2
  207. package/dist/{chunk-ye18m1zb.js → chunk-g1jarkx9.js} +38 -8
  208. package/dist/chunk-g9f19ttm.js +15 -0
  209. package/dist/chunk-g9qte35t.js +341 -0
  210. package/dist/chunk-gaav53dc.js +105 -0
  211. package/dist/chunk-gfx3cwrk.js +75 -0
  212. package/dist/{chunk-z9tgzh90.js → chunk-gk2d1x2a.js} +44 -33
  213. package/dist/chunk-gkbat1p9.js +121 -0
  214. package/dist/{chunk-5b7119h5.js → chunk-gmnyk2t8.js} +8 -6
  215. package/dist/{chunk-qvd0k5dn.js → chunk-gnmdprq3.js} +184 -345
  216. package/dist/{chunk-bq6x1ehp.js → chunk-gpz0ddyz.js} +8 -8
  217. package/dist/{chunk-684kdqez.js → chunk-gv1csnc3.js} +198 -302
  218. package/dist/{chunk-x51mdzqq.js → chunk-gv37c8ax.js} +3 -3
  219. package/dist/{chunk-t6h4wf3k.js → chunk-gzr2601k.js} +9 -9
  220. package/dist/{chunk-45e9mkyr.js → chunk-h3pda469.js} +37 -82
  221. package/dist/{chunk-qqfa0dqg.js → chunk-h4b85amj.js} +20 -32
  222. package/dist/{chunk-j4c8s7tn.js → chunk-h5zv78zq.js} +9 -6
  223. package/dist/{chunk-2wcbcdky.js → chunk-h7edytkc.js} +5 -5
  224. package/dist/{chunk-402jrnj6.js → chunk-ha0wbzc3.js} +8 -8
  225. package/dist/{chunk-nxsh6de2.js → chunk-hcgkak1j.js} +20 -125
  226. package/dist/{chunk-tjaqa99q.js → chunk-hezj20qy.js} +3 -3
  227. package/dist/{chunk-kyer92r4.js → chunk-hf85ht0m.js} +2 -2
  228. package/dist/{chunk-m17y8b22.js → chunk-ht1nfygk.js} +38 -28
  229. package/dist/chunk-j316jjby.js +108 -0
  230. package/dist/chunk-j3fge71v.js +115 -0
  231. package/dist/{chunk-b51jjfh5.js → chunk-j4x0t6k2.js} +42 -31
  232. package/dist/{chunk-9gbamk79.js → chunk-j5bth84e.js} +5 -1
  233. package/dist/chunk-j783d5af.js +134 -0
  234. package/dist/chunk-j7pbwf9x.js +108 -0
  235. package/dist/{chunk-0cpnzx7t.js → chunk-j8rnrm5n.js} +114 -150
  236. package/dist/{chunk-vratq94g.js → chunk-j9gxwbe3.js} +1 -1
  237. package/dist/{chunk-3r24h7t6.js → chunk-jaaxk89e.js} +1 -1
  238. package/dist/{chunk-f4jcw0ea.js → chunk-jaew3662.js} +18 -14
  239. package/dist/{chunk-qpm1tmzz.js → chunk-jbbj16w2.js} +120 -191
  240. package/dist/chunk-jerew25v.js +148 -0
  241. package/dist/{chunk-v399mzxk.js → chunk-jf0p00fz.js} +2 -2
  242. package/dist/{chunk-91r0z5qq.js → chunk-jfsah2w3.js} +1059 -1756
  243. package/dist/{chunk-av73dywf.js → chunk-jna2tcvj.js} +8 -8
  244. package/dist/{chunk-jy35z4n0.js → chunk-jng0mb4r.js} +8 -8
  245. package/dist/chunk-jrrmwfp4.js +66 -0
  246. package/dist/{chunk-3m7ge6tj.js → chunk-jt6fa514.js} +14 -12
  247. package/dist/chunk-jvkyx1b7.js +911 -0
  248. package/dist/{chunk-41xeh3t9.js → chunk-jy6c07wa.js} +4 -4
  249. package/dist/chunk-k1fvb16y.js +269 -0
  250. package/dist/{chunk-bqfnp99q.js → chunk-k3s4yk22.js} +1 -1
  251. package/dist/{chunk-4ycz58wj.js → chunk-k46gxg21.js} +68 -8
  252. package/dist/chunk-k8wwyz2t.js +110 -0
  253. package/dist/{chunk-68qevppc.js → chunk-ka3fdfyb.js} +78 -71
  254. package/dist/{chunk-vaebptnz.js → chunk-ka4x7mhn.js} +38 -28
  255. package/dist/chunk-kb99zpps.js +216 -0
  256. package/dist/{chunk-1dyeexvn.js → chunk-kd3mmsd2.js} +4 -4
  257. package/dist/{chunk-1xkekb9y.js → chunk-kfd89dsd.js} +5 -3
  258. package/dist/{chunk-ecsw41df.js → chunk-km1wcchx.js} +81 -76
  259. package/dist/{chunk-dh6c8y1j.js → chunk-kmhwx18d.js} +3 -3
  260. package/dist/{chunk-224x480q.js → chunk-kq91dwkq.js} +8 -6
  261. package/dist/chunk-m17m84b7.js +111 -0
  262. package/dist/chunk-m1a0s9fd.js +1070 -0
  263. package/dist/{chunk-jafes477.js → chunk-m2bcpk8j.js} +4 -3
  264. package/dist/{chunk-veb0gkcf.js → chunk-m7jtn7dk.js} +74 -68
  265. package/dist/chunk-mq2mgyt9.js +103 -0
  266. package/dist/chunk-msv3w4qp.js +1811 -0
  267. package/dist/{chunk-ch53fgm5.js → chunk-mxe1f4jg.js} +13 -11
  268. package/dist/{chunk-hzttn8j7.js → chunk-mzwjvfr2.js} +124 -126
  269. package/dist/{chunk-2de1vaxf.js → chunk-n2n0sq7r.js} +67 -77
  270. package/dist/{chunk-me2ef6g4.js → chunk-n8mpqdje.js} +1 -1
  271. package/dist/chunk-n9e984ba.js +132 -0
  272. package/dist/chunk-netzwgv1.js +154 -0
  273. package/dist/{chunk-xszk7n10.js → chunk-nh3cd07f.js} +1 -1
  274. package/dist/chunk-njrz6mbe.js +66 -0
  275. package/dist/{chunk-e1ge9n4d.js → chunk-nv7pfr7k.js} +2 -2
  276. package/dist/{chunk-vygf94dw.js → chunk-nwd8pb55.js} +74 -68
  277. package/dist/{chunk-5hva0tsg.js → chunk-p2yv7m0g.js} +6 -6
  278. package/dist/chunk-p5t2vy90.js +259 -0
  279. package/dist/{chunk-zk2wsm7d.js → chunk-p7vkh4wx.js} +2 -2
  280. package/dist/{chunk-da4ve9t5.js → chunk-p8crqj70.js} +10 -10
  281. package/dist/{chunk-n2874aq5.js → chunk-pcngtzr8.js} +12 -6
  282. package/dist/{chunk-6td4c2eq.js → chunk-pdjem6h1.js} +53 -71
  283. package/dist/{chunk-zpc0kwkb.js → chunk-pmxdzjq0.js} +6 -6
  284. package/dist/{chunk-pa7saazk.js → chunk-pnkcecq2.js} +27 -55
  285. package/dist/{chunk-zsfxha74.js → chunk-pshjyzq4.js} +8 -7
  286. package/dist/chunk-pt1yj9zf.js +107 -0
  287. package/dist/{chunk-n9x557ea.js → chunk-py6b9d5b.js} +2312 -4200
  288. package/dist/chunk-q7n8d91g.js +67 -0
  289. package/dist/{chunk-e5pntxye.js → chunk-q7tpyeb3.js} +6 -4
  290. package/dist/{chunk-7ymfj7m3.js → chunk-q82r31er.js} +1 -1
  291. package/dist/chunk-qajrkk97.js +298 -0
  292. package/dist/chunk-qbrh24cn.js +119 -0
  293. package/dist/chunk-qd9ntz7c.js +230 -0
  294. package/dist/chunk-qfr5tcd5.js +2537 -0
  295. package/dist/chunk-qpzfmkct.js +456 -0
  296. package/dist/{chunk-35y0r56v.js → chunk-qtfc6wdh.js} +1 -4
  297. package/dist/chunk-r032587e.js +83 -0
  298. package/dist/{chunk-rryx19hp.js → chunk-r2k2jy0y.js} +2 -2
  299. package/dist/{chunk-pgnnrm2v.js → chunk-r4dnnggx.js} +21 -17
  300. package/dist/{chunk-k9a8jemz.js → chunk-r5n8fvw0.js} +7 -7
  301. package/dist/{chunk-jt0pha6y.js → chunk-r7kh03er.js} +222 -196
  302. package/dist/{chunk-n0k8xrey.js → chunk-rfs0mfg8.js} +140 -158
  303. package/dist/{chunk-dr4qq42x.js → chunk-rgbbtszq.js} +9 -9
  304. package/dist/{chunk-fdwa7gem.js → chunk-rkak3kjw.js} +7 -7
  305. package/dist/chunk-rp568bfw.js +111 -0
  306. package/dist/chunk-rtv718sv.js +146 -0
  307. package/dist/{chunk-rw466wqn.js → chunk-rvkvehat.js} +5284 -3093
  308. package/dist/chunk-s1baskk7.js +14 -0
  309. package/dist/{chunk-2cgdr2n7.js → chunk-s1eb67v3.js} +74 -68
  310. package/dist/{chunk-1szr63w0.js → chunk-s59kx26r.js} +81 -72
  311. package/dist/chunk-s6yk6m3b.js +109 -0
  312. package/dist/{chunk-80qg1pzv.js → chunk-sca71yv8.js} +11 -9
  313. package/dist/chunk-sfrwm87k.js +151 -0
  314. package/dist/chunk-sgaknx21.js +123 -0
  315. package/dist/{chunk-myzwt5yw.js → chunk-snyaz093.js} +9 -15
  316. package/dist/{chunk-rwexx5ns.js → chunk-sq8wkk3z.js} +1 -3
  317. package/dist/{chunk-faycqscv.js → chunk-sxqj7s2h.js} +2 -2
  318. package/dist/chunk-t2m6cjp1.js +264 -0
  319. package/dist/chunk-t6hmvb6k.js +1021 -0
  320. package/dist/chunk-t72x960a.js +125 -0
  321. package/dist/chunk-t9kashay.js +440 -0
  322. package/dist/chunk-t9wzf009.js +151 -0
  323. package/dist/chunk-ta1dgyj1.js +154 -0
  324. package/dist/{chunk-5deqy8r0.js → chunk-tavxhayf.js} +77 -71
  325. package/dist/{chunk-35b0ek0j.js → chunk-tcdv4gp8.js} +13 -9
  326. package/dist/chunk-td3b74vm.js +362 -0
  327. package/dist/{chunk-mt25echc.js → chunk-tezak8rx.js} +1 -1
  328. package/dist/chunk-tgcw0rzx.js +262 -0
  329. package/dist/{chunk-9rcbyag3.js → chunk-tmdbrszg.js} +2 -2
  330. package/dist/{chunk-jknt3rxg.js → chunk-v17qee2y.js} +7 -9
  331. package/dist/{chunk-frbv3xqa.js → chunk-v1jd31dw.js} +2 -2
  332. package/dist/chunk-var1et7e.js +66 -0
  333. package/dist/{chunk-cettj572.js → chunk-ve9wswz4.js} +7 -131
  334. package/dist/{chunk-hqmz36b3.js → chunk-vf612n57.js} +21 -101
  335. package/dist/chunk-vfhabc5j.js +109 -0
  336. package/dist/{chunk-s7qj2hg5.js → chunk-vgy0w6tt.js} +2 -2
  337. package/dist/chunk-vh02fvz1.js +375 -0
  338. package/dist/{chunk-ctmt7xh1.js → chunk-vm935era.js} +619 -887
  339. package/dist/{chunk-dxc7begm.js → chunk-vtb8z6as.js} +14 -10
  340. package/dist/chunk-w2kf9sxn.js +115 -0
  341. package/dist/chunk-w7trx259.js +132 -0
  342. package/dist/{chunk-8z039kef.js → chunk-w92b262y.js} +53 -54
  343. package/dist/chunk-w9zqjhvm.js +103 -0
  344. package/dist/{chunk-9cc60ae5.js → chunk-wb2fvy1k.js} +74 -68
  345. package/dist/chunk-ws2d81aj.js +123 -0
  346. package/dist/{chunk-5zh1fbrj.js → chunk-wssgdcck.js} +2 -2
  347. package/dist/{chunk-t9z6njcr.js → chunk-wtycm8km.js} +9 -9
  348. package/dist/chunk-wz0d8mna.js +108 -0
  349. package/dist/chunk-x01wtn3p.js +144 -0
  350. package/dist/{chunk-dnyeb288.js → chunk-x2sp7rcv.js} +73 -105
  351. package/dist/{chunk-zrse3zpz.js → chunk-xbprynsc.js} +18 -46
  352. package/dist/{chunk-yxnwsp4f.js → chunk-xext3y2y.js} +8 -6
  353. package/dist/{chunk-fzxg8v1y.js → chunk-xycy3c8q.js} +15 -12
  354. package/dist/{chunk-cpma9zs5.js → chunk-y01ys1vm.js} +20 -71
  355. package/dist/{chunk-d7vv2ydf.js → chunk-y78t50v0.js} +2 -2
  356. package/dist/{chunk-xkr7as9h.js → chunk-y9bgt2k1.js} +13 -9
  357. package/dist/{chunk-s2gm9vfk.js → chunk-ydm0nfsv.js} +5 -5
  358. package/dist/{chunk-gjyc3293.js → chunk-yetebjek.js} +282 -495
  359. package/dist/{chunk-hkn7tzgv.js → chunk-ym5r3jnk.js} +1 -1
  360. package/dist/chunk-ysks0ewj.js +237 -0
  361. package/dist/chunk-yv3evkgg.js +68 -0
  362. package/dist/{chunk-athjeyrt.js → chunk-yw79dz62.js} +4 -4
  363. package/dist/{chunk-s84smrx4.js → chunk-yy59gvs4.js} +151 -189
  364. package/dist/{chunk-12pv5fez.js → chunk-yyax4hdg.js} +10 -8
  365. package/dist/chunk-z0q85m5f.js +108 -0
  366. package/dist/chunk-z1bs6d7k.js +24 -0
  367. package/dist/chunk-z6e5jp2w.js +119 -0
  368. package/dist/{chunk-rjz6btwk.js → chunk-z7ssqvt6.js} +4972 -4638
  369. package/dist/chunk-z95yxwyb.js +61 -0
  370. package/dist/{chunk-0nqrscrr.js → chunk-z9aqj026.js} +5 -5
  371. package/dist/chunk-zc6dxhk9.js +169 -0
  372. package/dist/{chunk-ve60fbtd.js → chunk-ze6zvkg6.js} +2 -2
  373. package/dist/{chunk-t0rgmccj.js → chunk-zejm280k.js} +1 -1
  374. package/dist/{chunk-krstc7m7.js → chunk-zfapazzd.js} +15 -11
  375. package/dist/chunk-zj4fqmnc.js +219 -0
  376. package/dist/chunk-zkrpbswn.js +1608 -0
  377. package/dist/chunk-zktbb38m.js +112 -0
  378. package/dist/{chunk-vjc1svpc.js → chunk-zptcqa7t.js} +82 -75
  379. package/dist/{chunk-gbcqdr0x.js → chunk-zvnsjbt8.js} +1 -1
  380. package/dist/chunk-zwaanw8y.js +110 -0
  381. package/dist/{chunk-g3t0act8.js → chunk-zzm33q8x.js} +1 -1
  382. package/dist/{chunk-s8fzxy94.js → chunk-zzzc1ead.js} +17 -13
  383. package/dist/cli.js +34 -10
  384. package/dist/vendor/audio-capture/arm64-darwin/audio-capture.node +0 -0
  385. package/dist/vendor/audio-capture/arm64-linux/audio-capture.node +0 -0
  386. package/dist/vendor/audio-capture/arm64-win32/audio-capture.node +0 -0
  387. package/dist/vendor/audio-capture/x64-darwin/audio-capture.node +0 -0
  388. package/dist/vendor/audio-capture/x64-linux/audio-capture.node +0 -0
  389. package/dist/vendor/audio-capture/x64-win32/audio-capture.node +0 -0
  390. package/package.json +8 -5
  391. package/scripts/postinstall.cjs +319 -0
  392. package/dist/chunk-0291smg3.js +0 -42
  393. package/dist/chunk-04g2ty3v.js +0 -104
  394. package/dist/chunk-069x95ne.js +0 -764
  395. package/dist/chunk-06x02eab.js +0 -655
  396. package/dist/chunk-09pjmga5.js +0 -713
  397. package/dist/chunk-0g90je6r.js +0 -145
  398. package/dist/chunk-0rddv9vb.js +0 -328
  399. package/dist/chunk-162w6yv3.js +0 -756
  400. package/dist/chunk-1gjbaa3n.js +0 -128
  401. package/dist/chunk-23wg4mnt.js +0 -404
  402. package/dist/chunk-2gbjtg7c.js +0 -102
  403. package/dist/chunk-2v1q0ezq.js +0 -102
  404. package/dist/chunk-37n7jkxe.js +0 -436
  405. package/dist/chunk-38svjnh4.js +0 -158
  406. package/dist/chunk-3bg1089y.js +0 -616
  407. package/dist/chunk-3d8ck5ne.js +0 -112
  408. package/dist/chunk-3g6rf9sz.js +0 -106
  409. package/dist/chunk-3x3rr2n5.js +0 -57
  410. package/dist/chunk-4f6q3d38.js +0 -117
  411. package/dist/chunk-4h57km3m.js +0 -74
  412. package/dist/chunk-4kyh2618.js +0 -99
  413. package/dist/chunk-4w9vc9vc.js +0 -119
  414. package/dist/chunk-53hqpp5z.js +0 -208
  415. package/dist/chunk-5m2rmc2k.js +0 -128
  416. package/dist/chunk-5wp9pkpt.js +0 -539
  417. package/dist/chunk-5ym9f6w3.js +0 -263
  418. package/dist/chunk-6f938733.js +0 -1027
  419. package/dist/chunk-6nenxecd.js +0 -115
  420. package/dist/chunk-6rja0h86.js +0 -1593
  421. package/dist/chunk-70q6dp4d.js +0 -96
  422. package/dist/chunk-7bn0wzs3.js +0 -1493
  423. package/dist/chunk-7e2e0bfm.js +0 -65
  424. package/dist/chunk-7ywadnax.js +0 -490
  425. package/dist/chunk-7z33j54s.js +0 -142
  426. package/dist/chunk-8yvfkzyh.js +0 -58
  427. package/dist/chunk-9abpx1kv.js +0 -2833
  428. package/dist/chunk-9ks2nswb.js +0 -114
  429. package/dist/chunk-9wrds5tr.js +0 -109
  430. package/dist/chunk-ab2twken.js +0 -102
  431. package/dist/chunk-abncjeag.js +0 -97
  432. package/dist/chunk-am6w4x6y.js +0 -103
  433. package/dist/chunk-b73bd7db.js +0 -496
  434. package/dist/chunk-bc7nvynh.js +0 -195
  435. package/dist/chunk-br17dhef.js +0 -103
  436. package/dist/chunk-c3k0sdey.js +0 -281
  437. package/dist/chunk-c909bmyv.js +0 -103
  438. package/dist/chunk-cftsv9w4.js +0 -129
  439. package/dist/chunk-cj1a7npk.js +0 -99
  440. package/dist/chunk-cyscs4k5.js +0 -1330
  441. package/dist/chunk-czr7y063.js +0 -348
  442. package/dist/chunk-d93sndem.js +0 -372
  443. package/dist/chunk-ddz8xbpd.js +0 -481
  444. package/dist/chunk-dkhqx4hk.js +0 -84
  445. package/dist/chunk-dsrharmv.js +0 -359
  446. package/dist/chunk-eqmy5d05.js +0 -56
  447. package/dist/chunk-f2crxw2c.js +0 -5400
  448. package/dist/chunk-f8zga40p.js +0 -234
  449. package/dist/chunk-fbgm2ym6.js +0 -990
  450. package/dist/chunk-fcbbsswe.js +0 -119
  451. package/dist/chunk-fda654nt.js +0 -6121
  452. package/dist/chunk-ffmv9ezj.js +0 -104
  453. package/dist/chunk-fmjte7md.js +0 -38
  454. package/dist/chunk-fqtwqxxc.js +0 -293
  455. package/dist/chunk-g8k85nkd.js +0 -802
  456. package/dist/chunk-ge4ak7dj.js +0 -127
  457. package/dist/chunk-gpqemecy.js +0 -126
  458. package/dist/chunk-h19p6s3b.js +0 -131
  459. package/dist/chunk-j0sk1rct.js +0 -998
  460. package/dist/chunk-j1wfpa1a.js +0 -70
  461. package/dist/chunk-j829fx31.js +0 -3458
  462. package/dist/chunk-jqctzrvd.js +0 -722
  463. package/dist/chunk-jx817w05.js +0 -11
  464. package/dist/chunk-ka6sab33.js +0 -174
  465. package/dist/chunk-krjsvmwp.js +0 -101
  466. package/dist/chunk-kvpe50pm.js +0 -311
  467. package/dist/chunk-mez504fj.js +0 -113
  468. package/dist/chunk-mj6wbrae.js +0 -105
  469. package/dist/chunk-n0pg2kpe.js +0 -122
  470. package/dist/chunk-n4qtqkp0.js +0 -295
  471. package/dist/chunk-n9meha2m.js +0 -73
  472. package/dist/chunk-ndk7q5n3.js +0 -169
  473. package/dist/chunk-ng6n9t4h.js +0 -56
  474. package/dist/chunk-p3pz13x2.js +0 -1933
  475. package/dist/chunk-p9ez6zgq.js +0 -2656
  476. package/dist/chunk-ph750kx1.js +0 -550
  477. package/dist/chunk-pxb99zqs.js +0 -117
  478. package/dist/chunk-q1yqc5n3.js +0 -100
  479. package/dist/chunk-qtfqk0jr.js +0 -131
  480. package/dist/chunk-qzfmdh1t.js +0 -388
  481. package/dist/chunk-r3cv0j9n.js +0 -456
  482. package/dist/chunk-rx0pbgym.js +0 -97
  483. package/dist/chunk-s624rd5j.js +0 -531
  484. package/dist/chunk-satndwqj.js +0 -285
  485. package/dist/chunk-ssrxnkd1.js +0 -109
  486. package/dist/chunk-t2pgctqx.js +0 -106
  487. package/dist/chunk-t7sgwf31.js +0 -644
  488. package/dist/chunk-tth904tj.js +0 -53
  489. package/dist/chunk-typpbjhy.js +0 -128
  490. package/dist/chunk-vp6nrhdq.js +0 -102
  491. package/dist/chunk-vtjm53nt.js +0 -432
  492. package/dist/chunk-w412n7tq.js +0 -469
  493. package/dist/chunk-w4153rky.js +0 -1885
  494. package/dist/chunk-wdgv15as.js +0 -212
  495. package/dist/chunk-wgn9kydv.js +0 -58
  496. package/dist/chunk-whknbrk0.js +0 -184
  497. package/dist/chunk-x1k8e1xc.js +0 -56
  498. package/dist/chunk-x45xx6sc.js +0 -105
  499. package/dist/chunk-x4xvqbe5.js +0 -1166
  500. package/dist/chunk-x8b7vft8.js +0 -132
  501. package/dist/chunk-xaycc8qe.js +0 -44
  502. package/dist/chunk-xd4785ks.js +0 -73
  503. package/dist/chunk-xjxgmxhq.js +0 -463
  504. package/dist/chunk-xx2x3tz9.js +0 -166
  505. package/dist/chunk-y2j23eem.js +0 -101
  506. package/dist/chunk-y83j09wv.js +0 -123
  507. package/dist/chunk-yh8460pb.js +0 -119
  508. package/dist/chunk-z6nhchdb.js +0 -60
  509. package/dist/chunk-zbt73sj7.js +0 -192
  510. package/dist/chunk-zmwaatmq.js +0 -118
  511. package/dist/chunk-zvdg9tex.js +0 -135
  512. package/dist/chunk-zwa780cx.js +0 -584
  513. package/dist/{chunk-whvdag1y.js → chunk-3bfs3x0h.js} +9 -9
  514. package/dist/{chunk-27xc1csx.js → chunk-dggvswz1.js} +3 -3
@@ -0,0 +1,1021 @@
1
+ // @bun
2
+ import {
3
+ init_SSETransport,
4
+ parseSSEFrames
5
+ } from "./chunk-1z1gfx2c.js";
6
+ import {
7
+ createAssistantAPIErrorMessage,
8
+ init_api,
9
+ init_messages1 as init_messages,
10
+ normalizeContentFromAPI,
11
+ normalizeMessagesForAPI,
12
+ toolToAPISchema
13
+ } from "./chunk-cy6ezb6j.js";
14
+ import"./chunk-zejm280k.js";
15
+ import"./chunk-g1jarkx9.js";
16
+ import"./chunk-yyax4hdg.js";
17
+ import"./chunk-4nspekjp.js";
18
+ import"./chunk-kmhwx18d.js";
19
+ import"./chunk-var1et7e.js";
20
+ import"./chunk-2gzv8nrw.js";
21
+ import"./chunk-ehtwnxpg.js";
22
+ import"./chunk-dmxte86x.js";
23
+ import"./chunk-d6ve5pze.js";
24
+ import"./chunk-bxcfz5gy.js";
25
+ import"./chunk-dekbr08w.js";
26
+ import"./chunk-f6rbj3gz.js";
27
+ import"./chunk-9f14bkn9.js";
28
+ import"./chunk-cgfdkzhb.js";
29
+ import"./chunk-k46gxg21.js";
30
+ import"./chunk-j5bth84e.js";
31
+ import"./chunk-8qhr4n77.js";
32
+ import"./chunk-az5x70pn.js";
33
+ import"./chunk-epyaq1z0.js";
34
+ import"./chunk-0jzdwbdc.js";
35
+ import"./chunk-ps49ymvj.js";
36
+ import"./chunk-p7vkh4wx.js";
37
+ import"./chunk-cmcbatgz.js";
38
+ import"./chunk-agx5w9ce.js";
39
+ import"./chunk-48w0df8a.js";
40
+ import"./chunk-y78t50v0.js";
41
+ import"./chunk-4jm600zv.js";
42
+ import"./chunk-n8mpqdje.js";
43
+ import"./chunk-dqvwn28p.js";
44
+ import"./chunk-esn3tgm2.js";
45
+ import"./chunk-mx28h61f.js";
46
+ import"./chunk-dsbewdgm.js";
47
+ import"./chunk-sxqj7s2h.js";
48
+ import"./chunk-8201tnhf.js";
49
+ import"./chunk-2qwgfjcj.js";
50
+ import"./chunk-chsyvavm.js";
51
+ import"./chunk-w92b262y.js";
52
+ import"./chunk-c1k9tg7h.js";
53
+ import {
54
+ init_json,
55
+ safeParseJSON
56
+ } from "./chunk-905d2hee.js";
57
+ import"./chunk-rkak3kjw.js";
58
+ import {
59
+ getProxyFetchOptions,
60
+ init_proxy
61
+ } from "./chunk-p2yv7m0g.js";
62
+ import"./chunk-1cwdhk7a.js";
63
+ import"./chunk-j9gxwbe3.js";
64
+ import"./chunk-64c1avct.js";
65
+ import"./chunk-6kpbgc5w.js";
66
+ import"./chunk-8g5pe1gr.js";
67
+ import"./chunk-hezj20qy.js";
68
+ import"./chunk-4cp6193g.js";
69
+ import"./chunk-8g747a8x.js";
70
+ import"./chunk-d7886r6a.js";
71
+ import"./chunk-f5ma3nh5.js";
72
+ import"./chunk-qz2x630m.js";
73
+ import"./chunk-dk8287aa.js";
74
+ import"./chunk-r2k2jy0y.js";
75
+ import"./chunk-3c25bcsw.js";
76
+ import"./chunk-2q39ej51.js";
77
+ import"./chunk-q82r31er.js";
78
+ import"./chunk-p2816w9z.js";
79
+ import"./chunk-v9smspw2.js";
80
+ import"./chunk-v1kzp02e.js";
81
+ import"./chunk-qpzfmkct.js";
82
+ import"./chunk-crmjpsqe.js";
83
+ import"./chunk-rvkvehat.js";
84
+ import"./chunk-g338npwr.js";
85
+ import"./chunk-h0rbjg6x.js";
86
+ import"./chunk-0vkfrmqm.js";
87
+ import"./chunk-0xjaqda8.js";
88
+ import"./chunk-21z7acxh.js";
89
+ import"./chunk-rgbbtszq.js";
90
+ import"./chunk-1thgdca1.js";
91
+ import"./chunk-qnfx3qtx.js";
92
+ import"./chunk-yw79dz62.js";
93
+ import"./chunk-b81hd3m6.js";
94
+ import"./chunk-61ahbn23.js";
95
+ import"./chunk-8tnsngw2.js";
96
+ import"./chunk-edzkkadh.js";
97
+ import"./chunk-bwg7582d.js";
98
+ import"./chunk-5z28bqne.js";
99
+ import"./chunk-qajrkk97.js";
100
+ import {
101
+ init_debug,
102
+ logForDebugging
103
+ } from "./chunk-hcgkak1j.js";
104
+ import"./chunk-fbv4apne.js";
105
+ import {
106
+ errorMessage,
107
+ init_errors
108
+ } from "./chunk-z6e5jp2w.js";
109
+ import"./chunk-jaaxk89e.js";
110
+ import"./chunk-h4b85amj.js";
111
+ import"./chunk-07069jq1.js";
112
+ import"./chunk-vf612n57.js";
113
+ import"./chunk-d4mdda98.js";
114
+ import"./chunk-7wm5s02e.js";
115
+ import"./chunk-4g3v8y12.js";
116
+ import"./chunk-7739pg2c.js";
117
+ import"./chunk-nh3cd07f.js";
118
+ import"./chunk-8pn8tvgg.js";
119
+ import"./chunk-netzwgv1.js";
120
+ import {
121
+ __esm
122
+ } from "./chunk-qp2qdcda.js";
123
+
124
+ // src/services/api/gemini/client.ts
125
+ function getGeminiBaseUrl() {
126
+ return (process.env.GEMINI_BASE_URL || DEFAULT_GEMINI_BASE_URL).replace(/\/+$/, "");
127
+ }
128
+ function getGeminiModelPath(model) {
129
+ const normalized = model.replace(/^\/+/, "");
130
+ return normalized.startsWith("models/") ? normalized : `models/${normalized}`;
131
+ }
132
+ async function* streamGeminiGenerateContent(params) {
133
+ const fetchImpl = params.fetchOverride ?? fetch;
134
+ const url = `${getGeminiBaseUrl()}/${getGeminiModelPath(params.model)}:streamGenerateContent?alt=sse`;
135
+ const response = await fetchImpl(url, {
136
+ method: "POST",
137
+ headers: {
138
+ "Content-Type": "application/json",
139
+ "x-goog-api-key": process.env.GEMINI_API_KEY || ""
140
+ },
141
+ body: JSON.stringify(params.body),
142
+ signal: params.signal,
143
+ ...getProxyFetchOptions({ forAnthropicAPI: false })
144
+ });
145
+ if (!response.ok) {
146
+ const body = await response.text();
147
+ throw new Error(`Gemini API request failed (${response.status} ${response.statusText}): ${body || "empty response body"}`);
148
+ }
149
+ if (!response.body) {
150
+ throw new Error("Gemini API returned no response body");
151
+ }
152
+ const reader = response.body.getReader();
153
+ const decoder = new TextDecoder;
154
+ let buffer = "";
155
+ try {
156
+ while (true) {
157
+ const { done, value } = await reader.read();
158
+ if (done)
159
+ break;
160
+ buffer += decoder.decode(value, STREAM_DECODE_OPTS);
161
+ const { frames: frames2, remaining } = parseSSEFrames(buffer);
162
+ buffer = remaining;
163
+ for (const frame of frames2) {
164
+ if (!frame.data || frame.data === "[DONE]")
165
+ continue;
166
+ try {
167
+ yield JSON.parse(frame.data);
168
+ } catch (error) {
169
+ throw new Error(`Failed to parse Gemini SSE payload: ${errorMessage(error)}`);
170
+ }
171
+ }
172
+ }
173
+ buffer += decoder.decode();
174
+ const { frames } = parseSSEFrames(buffer);
175
+ for (const frame of frames) {
176
+ if (!frame.data || frame.data === "[DONE]")
177
+ continue;
178
+ try {
179
+ yield JSON.parse(frame.data);
180
+ } catch (error) {
181
+ throw new Error(`Failed to parse trailing Gemini SSE payload: ${errorMessage(error)}`);
182
+ }
183
+ }
184
+ } finally {
185
+ reader.releaseLock();
186
+ }
187
+ }
188
+ var DEFAULT_GEMINI_BASE_URL = "https://generativelanguage.googleapis.com/v1beta", STREAM_DECODE_OPTS;
189
+ var init_client = __esm(() => {
190
+ init_SSETransport();
191
+ init_errors();
192
+ init_proxy();
193
+ STREAM_DECODE_OPTS = { stream: true };
194
+ });
195
+
196
+ // src/services/api/gemini/types.ts
197
+ var GEMINI_THOUGHT_SIGNATURE_FIELD = "_geminiThoughtSignature";
198
+ var init_types = () => {};
199
+
200
+ // src/services/api/gemini/convertMessages.ts
201
+ function anthropicMessagesToGemini(messages, systemPrompt) {
202
+ const contents = [];
203
+ const toolNamesById = new Map;
204
+ for (const msg of messages) {
205
+ if (msg.type === "assistant") {
206
+ const content = convertInternalAssistantMessage(msg);
207
+ if (content.parts.length > 0) {
208
+ contents.push(content);
209
+ }
210
+ const assistantContent = msg.message.content;
211
+ if (Array.isArray(assistantContent)) {
212
+ for (const block of assistantContent) {
213
+ if (typeof block !== "string" && block.type === "tool_use") {
214
+ toolNamesById.set(block.id, block.name);
215
+ }
216
+ }
217
+ }
218
+ continue;
219
+ }
220
+ if (msg.type === "user") {
221
+ const content = convertInternalUserMessage(msg, toolNamesById);
222
+ if (content.parts.length > 0) {
223
+ contents.push(content);
224
+ }
225
+ }
226
+ }
227
+ const systemText = systemPromptToText(systemPrompt);
228
+ return {
229
+ contents,
230
+ ...systemText ? {
231
+ systemInstruction: {
232
+ parts: [{ text: systemText }]
233
+ }
234
+ } : {}
235
+ };
236
+ }
237
+ function systemPromptToText(systemPrompt) {
238
+ if (!systemPrompt || systemPrompt.length === 0)
239
+ return "";
240
+ return systemPrompt.filter(Boolean).join(`
241
+
242
+ `);
243
+ }
244
+ function convertInternalUserMessage(msg, toolNamesById) {
245
+ const content = msg.message.content;
246
+ if (typeof content === "string") {
247
+ return {
248
+ role: "user",
249
+ parts: createTextGeminiParts(content)
250
+ };
251
+ }
252
+ if (!Array.isArray(content)) {
253
+ return { role: "user", parts: [] };
254
+ }
255
+ return {
256
+ role: "user",
257
+ parts: content.flatMap((block) => convertUserContentBlockToGeminiParts(block, toolNamesById))
258
+ };
259
+ }
260
+ function convertUserContentBlockToGeminiParts(block, toolNamesById) {
261
+ if (typeof block === "string") {
262
+ return createTextGeminiParts(block);
263
+ }
264
+ if (block.type === "text") {
265
+ return createTextGeminiParts(block.text);
266
+ }
267
+ if (block.type === "tool_result") {
268
+ const toolResult = block;
269
+ return [
270
+ {
271
+ functionResponse: {
272
+ name: toolNamesById.get(toolResult.tool_use_id) ?? toolResult.tool_use_id,
273
+ response: toolResultToResponseObject(toolResult)
274
+ }
275
+ }
276
+ ];
277
+ }
278
+ if (block.type === "image") {
279
+ const source = block.source;
280
+ if (source?.type === "base64" && typeof source.data === "string") {
281
+ const mediaType = source.media_type || "image/png";
282
+ return [
283
+ {
284
+ inlineData: {
285
+ mimeType: mediaType,
286
+ data: source.data
287
+ }
288
+ }
289
+ ];
290
+ }
291
+ if (source?.type === "url" && typeof source.url === "string") {
292
+ return createTextGeminiParts(`[image: ${source.url}]`);
293
+ }
294
+ }
295
+ return [];
296
+ }
297
+ function convertInternalAssistantMessage(msg) {
298
+ const content = msg.message.content;
299
+ if (typeof content === "string") {
300
+ return {
301
+ role: "model",
302
+ parts: createTextGeminiParts(content)
303
+ };
304
+ }
305
+ if (!Array.isArray(content)) {
306
+ return { role: "model", parts: [] };
307
+ }
308
+ const parts = [];
309
+ for (const block of content) {
310
+ if (typeof block === "string") {
311
+ parts.push(...createTextGeminiParts(block));
312
+ continue;
313
+ }
314
+ if (block.type === "text") {
315
+ parts.push(...createTextGeminiParts(block.text, getGeminiThoughtSignature(block)));
316
+ continue;
317
+ }
318
+ if (block.type === "thinking") {
319
+ const thinkingPart = createThinkingGeminiPart(block.thinking, block.signature);
320
+ if (thinkingPart) {
321
+ parts.push(thinkingPart);
322
+ }
323
+ continue;
324
+ }
325
+ if (block.type === "tool_use") {
326
+ const toolUse = block;
327
+ parts.push({
328
+ functionCall: {
329
+ name: toolUse.name,
330
+ args: normalizeToolUseInput(toolUse.input)
331
+ },
332
+ ...getGeminiThoughtSignature(block) && {
333
+ thoughtSignature: getGeminiThoughtSignature(block)
334
+ }
335
+ });
336
+ }
337
+ }
338
+ return { role: "model", parts };
339
+ }
340
+ function createTextGeminiParts(value, thoughtSignature) {
341
+ if (typeof value !== "string" || value.length === 0) {
342
+ return [];
343
+ }
344
+ return [
345
+ {
346
+ text: value,
347
+ ...thoughtSignature && { thoughtSignature }
348
+ }
349
+ ];
350
+ }
351
+ function createThinkingGeminiPart(value, thoughtSignature) {
352
+ if (typeof value !== "string" || value.length === 0) {
353
+ return;
354
+ }
355
+ return {
356
+ text: value,
357
+ thought: true,
358
+ ...thoughtSignature && { thoughtSignature }
359
+ };
360
+ }
361
+ function normalizeToolUseInput(input) {
362
+ if (typeof input === "string") {
363
+ const parsed = safeParseJSON(input);
364
+ if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
365
+ return parsed;
366
+ }
367
+ return parsed === null ? {} : { value: parsed };
368
+ }
369
+ if (input && typeof input === "object" && !Array.isArray(input)) {
370
+ return input;
371
+ }
372
+ return input === undefined ? {} : { value: input };
373
+ }
374
+ function toolResultToResponseObject(block) {
375
+ const result = normalizeToolResultContent(block.content);
376
+ if (result && typeof result === "object" && !Array.isArray(result)) {
377
+ return block.is_error ? { ...result, is_error: true } : result;
378
+ }
379
+ return {
380
+ result,
381
+ ...block.is_error ? { is_error: true } : {}
382
+ };
383
+ }
384
+ function normalizeToolResultContent(content) {
385
+ if (typeof content === "string") {
386
+ const parsed = safeParseJSON(content);
387
+ return parsed ?? content;
388
+ }
389
+ if (Array.isArray(content)) {
390
+ const text = content.map((part) => {
391
+ if (typeof part === "string")
392
+ return part;
393
+ if (part && typeof part === "object" && "text" in part && typeof part.text === "string") {
394
+ return part.text;
395
+ }
396
+ return "";
397
+ }).filter(Boolean).join(`
398
+ `);
399
+ const parsed = safeParseJSON(text);
400
+ return parsed ?? text;
401
+ }
402
+ return content ?? "";
403
+ }
404
+ function getGeminiThoughtSignature(block) {
405
+ const signature = block[GEMINI_THOUGHT_SIGNATURE_FIELD];
406
+ return typeof signature === "string" && signature.length > 0 ? signature : undefined;
407
+ }
408
+ var init_convertMessages = __esm(() => {
409
+ init_json();
410
+ init_types();
411
+ });
412
+
413
+ // src/services/api/gemini/convertTools.ts
414
+ function normalizeGeminiJsonSchemaType(value) {
415
+ if (typeof value === "string") {
416
+ return GEMINI_JSON_SCHEMA_TYPES.has(value) ? value : undefined;
417
+ }
418
+ if (Array.isArray(value)) {
419
+ const normalized = value.filter((item) => typeof item === "string" && GEMINI_JSON_SCHEMA_TYPES.has(item));
420
+ const unique = Array.from(new Set(normalized));
421
+ if (unique.length === 0)
422
+ return;
423
+ return unique.length === 1 ? unique[0] : unique;
424
+ }
425
+ return;
426
+ }
427
+ function inferGeminiJsonSchemaTypeFromValue(value) {
428
+ if (value === null)
429
+ return "null";
430
+ if (Array.isArray(value))
431
+ return "array";
432
+ if (typeof value === "string")
433
+ return "string";
434
+ if (typeof value === "boolean")
435
+ return "boolean";
436
+ if (typeof value === "number") {
437
+ return Number.isInteger(value) ? "integer" : "number";
438
+ }
439
+ if (typeof value === "object")
440
+ return "object";
441
+ return;
442
+ }
443
+ function inferGeminiJsonSchemaTypeFromEnum(values) {
444
+ const inferred = values.map(inferGeminiJsonSchemaTypeFromValue).filter((value) => value !== undefined);
445
+ const unique = Array.from(new Set(inferred));
446
+ if (unique.length === 0)
447
+ return;
448
+ return unique.length === 1 ? unique[0] : unique;
449
+ }
450
+ function addNullToGeminiJsonSchemaType(value) {
451
+ if (value === undefined)
452
+ return ["null"];
453
+ if (Array.isArray(value)) {
454
+ return value.includes("null") ? value : [...value, "null"];
455
+ }
456
+ return value === "null" ? value : [value, "null"];
457
+ }
458
+ function sanitizeGeminiJsonSchemaProperties(value) {
459
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
460
+ return;
461
+ }
462
+ const sanitizedEntries = Object.entries(value).map(([key, schema]) => [key, sanitizeGeminiJsonSchema(schema)]).filter(([, schema]) => Object.keys(schema).length > 0);
463
+ if (sanitizedEntries.length === 0) {
464
+ return;
465
+ }
466
+ return Object.fromEntries(sanitizedEntries);
467
+ }
468
+ function sanitizeGeminiJsonSchemaArray(value) {
469
+ if (!Array.isArray(value))
470
+ return;
471
+ const sanitized = value.map((item) => sanitizeGeminiJsonSchema(item)).filter((item) => Object.keys(item).length > 0);
472
+ return sanitized.length > 0 ? sanitized : undefined;
473
+ }
474
+ function sanitizeGeminiJsonSchema(schema) {
475
+ if (!schema || typeof schema !== "object" || Array.isArray(schema)) {
476
+ return {};
477
+ }
478
+ const source = schema;
479
+ const result = {};
480
+ let type = normalizeGeminiJsonSchemaType(source.type);
481
+ if (source.const !== undefined) {
482
+ result.enum = [source.const];
483
+ type = type ?? inferGeminiJsonSchemaTypeFromValue(source.const);
484
+ } else if (Array.isArray(source.enum) && source.enum.length > 0) {
485
+ result.enum = source.enum;
486
+ type = type ?? inferGeminiJsonSchemaTypeFromEnum(source.enum);
487
+ }
488
+ if (!type) {
489
+ if (source.properties && typeof source.properties === "object") {
490
+ type = "object";
491
+ } else if (source.items !== undefined || source.prefixItems !== undefined) {
492
+ type = "array";
493
+ }
494
+ }
495
+ if (source.nullable === true) {
496
+ type = addNullToGeminiJsonSchemaType(type);
497
+ }
498
+ if (type) {
499
+ result.type = type;
500
+ }
501
+ if (typeof source.title === "string") {
502
+ result.title = source.title;
503
+ }
504
+ if (typeof source.description === "string") {
505
+ result.description = source.description;
506
+ }
507
+ if (typeof source.format === "string") {
508
+ result.format = source.format;
509
+ }
510
+ if (typeof source.pattern === "string") {
511
+ result.pattern = source.pattern;
512
+ }
513
+ if (typeof source.minimum === "number") {
514
+ result.minimum = source.minimum;
515
+ } else if (typeof source.exclusiveMinimum === "number") {
516
+ result.minimum = source.exclusiveMinimum;
517
+ }
518
+ if (typeof source.maximum === "number") {
519
+ result.maximum = source.maximum;
520
+ } else if (typeof source.exclusiveMaximum === "number") {
521
+ result.maximum = source.exclusiveMaximum;
522
+ }
523
+ if (typeof source.minItems === "number") {
524
+ result.minItems = source.minItems;
525
+ }
526
+ if (typeof source.maxItems === "number") {
527
+ result.maxItems = source.maxItems;
528
+ }
529
+ if (typeof source.minLength === "number") {
530
+ result.minLength = source.minLength;
531
+ }
532
+ if (typeof source.maxLength === "number") {
533
+ result.maxLength = source.maxLength;
534
+ }
535
+ if (typeof source.minProperties === "number") {
536
+ result.minProperties = source.minProperties;
537
+ }
538
+ if (typeof source.maxProperties === "number") {
539
+ result.maxProperties = source.maxProperties;
540
+ }
541
+ const properties = sanitizeGeminiJsonSchemaProperties(source.properties);
542
+ if (properties) {
543
+ result.properties = properties;
544
+ result.propertyOrdering = Object.keys(properties);
545
+ }
546
+ if (Array.isArray(source.required)) {
547
+ const required = source.required.filter((item) => typeof item === "string");
548
+ if (required.length > 0) {
549
+ result.required = required;
550
+ }
551
+ }
552
+ if (typeof source.additionalProperties === "boolean") {
553
+ result.additionalProperties = source.additionalProperties;
554
+ } else {
555
+ const additionalProperties = sanitizeGeminiJsonSchema(source.additionalProperties);
556
+ if (Object.keys(additionalProperties).length > 0) {
557
+ result.additionalProperties = additionalProperties;
558
+ }
559
+ }
560
+ const items = sanitizeGeminiJsonSchema(source.items);
561
+ if (Object.keys(items).length > 0) {
562
+ result.items = items;
563
+ }
564
+ const prefixItems = sanitizeGeminiJsonSchemaArray(source.prefixItems);
565
+ if (prefixItems) {
566
+ result.prefixItems = prefixItems;
567
+ }
568
+ const anyOf = sanitizeGeminiJsonSchemaArray(source.anyOf ?? source.oneOf);
569
+ if (anyOf) {
570
+ result.anyOf = anyOf;
571
+ }
572
+ return result;
573
+ }
574
+ function sanitizeGeminiFunctionParameters(schema) {
575
+ const sanitized = sanitizeGeminiJsonSchema(schema);
576
+ if (Object.keys(sanitized).length > 0) {
577
+ return sanitized;
578
+ }
579
+ return {
580
+ type: "object",
581
+ properties: {}
582
+ };
583
+ }
584
+ function anthropicToolsToGemini(tools) {
585
+ const functionDeclarations = tools.filter((tool) => {
586
+ return tool.type === "custom" || !("type" in tool) || tool.type !== "server";
587
+ }).map((tool) => {
588
+ const anyTool = tool;
589
+ const name = anyTool.name || "";
590
+ const description = anyTool.description || "";
591
+ const inputSchema = anyTool.input_schema ?? {
592
+ type: "object",
593
+ properties: {}
594
+ };
595
+ return {
596
+ name,
597
+ description,
598
+ parametersJsonSchema: sanitizeGeminiFunctionParameters(inputSchema)
599
+ };
600
+ });
601
+ return functionDeclarations.length > 0 ? [{ functionDeclarations }] : [];
602
+ }
603
+ function anthropicToolChoiceToGemini(toolChoice) {
604
+ if (!toolChoice || typeof toolChoice !== "object")
605
+ return;
606
+ const tc = toolChoice;
607
+ const type = tc.type;
608
+ switch (type) {
609
+ case "auto":
610
+ return { mode: "AUTO" };
611
+ case "any":
612
+ return { mode: "ANY" };
613
+ case "tool":
614
+ return {
615
+ mode: "ANY",
616
+ allowedFunctionNames: typeof tc.name === "string" ? [tc.name] : undefined
617
+ };
618
+ default:
619
+ return;
620
+ }
621
+ }
622
+ var GEMINI_JSON_SCHEMA_TYPES;
623
+ var init_convertTools = __esm(() => {
624
+ GEMINI_JSON_SCHEMA_TYPES = new Set([
625
+ "string",
626
+ "number",
627
+ "integer",
628
+ "boolean",
629
+ "object",
630
+ "array",
631
+ "null"
632
+ ]);
633
+ });
634
+
635
+ // src/services/api/gemini/modelMapping.ts
636
+ function getModelFamily(model) {
637
+ if (/haiku/i.test(model))
638
+ return "haiku";
639
+ if (/opus/i.test(model))
640
+ return "opus";
641
+ if (/sonnet/i.test(model))
642
+ return "sonnet";
643
+ return null;
644
+ }
645
+ function resolveGeminiModel(anthropicModel) {
646
+ if (process.env.GEMINI_MODEL) {
647
+ return process.env.GEMINI_MODEL;
648
+ }
649
+ const cleanModel = anthropicModel.replace(/\[1m\]$/i, "");
650
+ const family = getModelFamily(cleanModel);
651
+ if (!family) {
652
+ return cleanModel;
653
+ }
654
+ const geminiEnvVar = `GEMINI_DEFAULT_${family.toUpperCase()}_MODEL`;
655
+ const geminiModel = process.env[geminiEnvVar];
656
+ if (geminiModel) {
657
+ return geminiModel;
658
+ }
659
+ const sharedEnvVar = `ANTHROPIC_DEFAULT_${family.toUpperCase()}_MODEL`;
660
+ const resolvedModel = process.env[sharedEnvVar];
661
+ if (resolvedModel) {
662
+ return resolvedModel;
663
+ }
664
+ throw new Error(`Gemini provider requires GEMINI_MODEL or ${geminiEnvVar} (or ${sharedEnvVar} for backward compatibility) to be configured.`);
665
+ }
666
+ var init_modelMapping = () => {};
667
+
668
+ // src/services/api/gemini/streamAdapter.ts
669
+ import { randomUUID } from "crypto";
670
+ async function* adaptGeminiStreamToAnthropic(stream, model) {
671
+ const messageId = `msg_${randomUUID().replace(/-/g, "").slice(0, 24)}`;
672
+ let started = false;
673
+ let stopped = false;
674
+ let nextContentIndex = 0;
675
+ let openTextLikeBlock = null;
676
+ let sawToolUse = false;
677
+ let finishReason;
678
+ let inputTokens = 0;
679
+ let outputTokens = 0;
680
+ for await (const chunk of stream) {
681
+ const usage = chunk.usageMetadata;
682
+ if (usage) {
683
+ inputTokens = usage.promptTokenCount ?? inputTokens;
684
+ outputTokens = (usage.candidatesTokenCount ?? 0) + (usage.thoughtsTokenCount ?? 0);
685
+ }
686
+ if (!started) {
687
+ started = true;
688
+ yield {
689
+ type: "message_start",
690
+ message: {
691
+ id: messageId,
692
+ type: "message",
693
+ role: "assistant",
694
+ content: [],
695
+ model,
696
+ stop_reason: null,
697
+ stop_sequence: null,
698
+ usage: {
699
+ input_tokens: inputTokens,
700
+ output_tokens: 0,
701
+ cache_creation_input_tokens: 0,
702
+ cache_read_input_tokens: 0
703
+ }
704
+ }
705
+ };
706
+ }
707
+ const candidate = chunk.candidates?.[0];
708
+ const parts = candidate?.content?.parts ?? [];
709
+ for (const part of parts) {
710
+ if (part.functionCall) {
711
+ if (openTextLikeBlock) {
712
+ yield {
713
+ type: "content_block_stop",
714
+ index: openTextLikeBlock.index
715
+ };
716
+ openTextLikeBlock = null;
717
+ }
718
+ sawToolUse = true;
719
+ const toolIndex = nextContentIndex++;
720
+ const toolId = `toolu_${randomUUID().replace(/-/g, "").slice(0, 24)}`;
721
+ yield {
722
+ type: "content_block_start",
723
+ index: toolIndex,
724
+ content_block: {
725
+ type: "tool_use",
726
+ id: toolId,
727
+ name: part.functionCall.name || "",
728
+ input: {}
729
+ }
730
+ };
731
+ if (part.thoughtSignature) {
732
+ yield {
733
+ type: "content_block_delta",
734
+ index: toolIndex,
735
+ delta: {
736
+ type: "signature_delta",
737
+ signature: part.thoughtSignature
738
+ }
739
+ };
740
+ }
741
+ if (part.functionCall.args && Object.keys(part.functionCall.args).length > 0) {
742
+ yield {
743
+ type: "content_block_delta",
744
+ index: toolIndex,
745
+ delta: {
746
+ type: "input_json_delta",
747
+ partial_json: JSON.stringify(part.functionCall.args)
748
+ }
749
+ };
750
+ }
751
+ yield {
752
+ type: "content_block_stop",
753
+ index: toolIndex
754
+ };
755
+ continue;
756
+ }
757
+ const textLikeType = getTextLikeBlockType(part);
758
+ if (textLikeType) {
759
+ if (!openTextLikeBlock || openTextLikeBlock.type !== textLikeType) {
760
+ if (openTextLikeBlock) {
761
+ yield {
762
+ type: "content_block_stop",
763
+ index: openTextLikeBlock.index
764
+ };
765
+ }
766
+ openTextLikeBlock = {
767
+ index: nextContentIndex++,
768
+ type: textLikeType
769
+ };
770
+ yield {
771
+ type: "content_block_start",
772
+ index: openTextLikeBlock.index,
773
+ content_block: textLikeType === "thinking" ? {
774
+ type: "thinking",
775
+ thinking: "",
776
+ signature: ""
777
+ } : {
778
+ type: "text",
779
+ text: ""
780
+ }
781
+ };
782
+ }
783
+ if (part.text) {
784
+ yield {
785
+ type: "content_block_delta",
786
+ index: openTextLikeBlock.index,
787
+ delta: textLikeType === "thinking" ? {
788
+ type: "thinking_delta",
789
+ thinking: part.text
790
+ } : {
791
+ type: "text_delta",
792
+ text: part.text
793
+ }
794
+ };
795
+ }
796
+ if (part.thoughtSignature) {
797
+ yield {
798
+ type: "content_block_delta",
799
+ index: openTextLikeBlock.index,
800
+ delta: {
801
+ type: "signature_delta",
802
+ signature: part.thoughtSignature
803
+ }
804
+ };
805
+ }
806
+ continue;
807
+ }
808
+ if (part.thoughtSignature && openTextLikeBlock) {
809
+ yield {
810
+ type: "content_block_delta",
811
+ index: openTextLikeBlock.index,
812
+ delta: {
813
+ type: "signature_delta",
814
+ signature: part.thoughtSignature
815
+ }
816
+ };
817
+ }
818
+ }
819
+ if (candidate?.finishReason) {
820
+ finishReason = candidate.finishReason;
821
+ }
822
+ }
823
+ if (!started) {
824
+ return;
825
+ }
826
+ if (openTextLikeBlock) {
827
+ yield {
828
+ type: "content_block_stop",
829
+ index: openTextLikeBlock.index
830
+ };
831
+ }
832
+ if (!stopped) {
833
+ yield {
834
+ type: "message_delta",
835
+ delta: {
836
+ stop_reason: mapGeminiFinishReason(finishReason, sawToolUse),
837
+ stop_sequence: null
838
+ },
839
+ usage: {
840
+ output_tokens: outputTokens
841
+ }
842
+ };
843
+ yield {
844
+ type: "message_stop"
845
+ };
846
+ stopped = true;
847
+ }
848
+ }
849
+ function getTextLikeBlockType(part) {
850
+ if (typeof part.text !== "string") {
851
+ return null;
852
+ }
853
+ return part.thought ? "thinking" : "text";
854
+ }
855
+ function mapGeminiFinishReason(reason, sawToolUse) {
856
+ switch (reason) {
857
+ case "MAX_TOKENS":
858
+ return "max_tokens";
859
+ case "STOP":
860
+ case "FINISH_REASON_UNSPECIFIED":
861
+ case "SAFETY":
862
+ case "RECITATION":
863
+ case "BLOCKLIST":
864
+ case "PROHIBITED_CONTENT":
865
+ case "SPII":
866
+ case "MALFORMED_FUNCTION_CALL":
867
+ default:
868
+ return sawToolUse ? "tool_use" : "end_turn";
869
+ }
870
+ }
871
+ var init_streamAdapter = () => {};
872
+
873
+ // src/services/api/gemini/index.ts
874
+ import { randomUUID as randomUUID2 } from "crypto";
875
+ async function* queryModelGemini(messages, systemPrompt, tools, signal, options, thinkingConfig) {
876
+ try {
877
+ const geminiModel = resolveGeminiModel(options.model);
878
+ const messagesForAPI = normalizeMessagesForAPI(messages, tools);
879
+ const toolSchemas = await Promise.all(tools.map((tool) => toolToAPISchema(tool, {
880
+ getToolPermissionContext: options.getToolPermissionContext,
881
+ tools,
882
+ agents: options.agents,
883
+ allowedAgentTypes: options.allowedAgentTypes,
884
+ model: options.model
885
+ })));
886
+ const standardTools = toolSchemas.filter((t) => {
887
+ const anyTool = t;
888
+ return anyTool.type !== "advisor_20260301" && anyTool.type !== "computer_20250124";
889
+ });
890
+ const { contents, systemInstruction } = anthropicMessagesToGemini(messagesForAPI, systemPrompt);
891
+ const geminiTools = anthropicToolsToGemini(standardTools);
892
+ const toolChoice = anthropicToolChoiceToGemini(options.toolChoice);
893
+ const stream = streamGeminiGenerateContent({
894
+ model: geminiModel,
895
+ signal,
896
+ fetchOverride: options.fetchOverride,
897
+ body: {
898
+ contents,
899
+ ...systemInstruction && { systemInstruction },
900
+ ...geminiTools.length > 0 && { tools: geminiTools },
901
+ ...toolChoice && {
902
+ toolConfig: {
903
+ functionCallingConfig: toolChoice
904
+ }
905
+ },
906
+ generationConfig: {
907
+ ...options.temperatureOverride !== undefined && {
908
+ temperature: options.temperatureOverride
909
+ },
910
+ ...thinkingConfig.type !== "disabled" && {
911
+ thinkingConfig: {
912
+ includeThoughts: true,
913
+ ...thinkingConfig.type === "enabled" && {
914
+ thinkingBudget: thinkingConfig.budgetTokens
915
+ }
916
+ }
917
+ }
918
+ }
919
+ }
920
+ });
921
+ logForDebugging(`[Gemini] Calling model=${geminiModel}, messages=${contents.length}, tools=${geminiTools.length}`);
922
+ const adaptedStream = adaptGeminiStreamToAnthropic(stream, geminiModel);
923
+ const contentBlocks = {};
924
+ let partialMessage = undefined;
925
+ let ttftMs = 0;
926
+ const start = Date.now();
927
+ for await (const event of adaptedStream) {
928
+ switch (event.type) {
929
+ case "message_start":
930
+ partialMessage = event.message;
931
+ ttftMs = Date.now() - start;
932
+ break;
933
+ case "content_block_start": {
934
+ const idx = event.index;
935
+ const cb = event.content_block;
936
+ if (cb.type === "tool_use") {
937
+ contentBlocks[idx] = { ...cb, input: "" };
938
+ } else if (cb.type === "text") {
939
+ contentBlocks[idx] = { ...cb, text: "" };
940
+ } else if (cb.type === "thinking") {
941
+ contentBlocks[idx] = { ...cb, thinking: "", signature: "" };
942
+ } else {
943
+ contentBlocks[idx] = { ...cb };
944
+ }
945
+ break;
946
+ }
947
+ case "content_block_delta": {
948
+ const idx = event.index;
949
+ const delta = event.delta;
950
+ const block = contentBlocks[idx];
951
+ if (!block)
952
+ break;
953
+ if (delta.type === "text_delta") {
954
+ block.text = (block.text || "") + delta.text;
955
+ } else if (delta.type === "input_json_delta") {
956
+ block.input = (block.input || "") + delta.partial_json;
957
+ } else if (delta.type === "thinking_delta") {
958
+ block.thinking = (block.thinking || "") + delta.thinking;
959
+ } else if (delta.type === "signature_delta") {
960
+ if (block.type === "thinking") {
961
+ block.signature = delta.signature;
962
+ } else {
963
+ block[GEMINI_THOUGHT_SIGNATURE_FIELD] = delta.signature;
964
+ }
965
+ }
966
+ break;
967
+ }
968
+ case "content_block_stop": {
969
+ const idx = event.index;
970
+ const block = contentBlocks[idx];
971
+ if (!block || !partialMessage)
972
+ break;
973
+ const message = {
974
+ message: {
975
+ ...partialMessage,
976
+ content: normalizeContentFromAPI([block], tools, options.agentId)
977
+ },
978
+ requestId: undefined,
979
+ type: "assistant",
980
+ uuid: randomUUID2(),
981
+ timestamp: new Date().toISOString()
982
+ };
983
+ yield message;
984
+ break;
985
+ }
986
+ case "message_delta":
987
+ case "message_stop":
988
+ break;
989
+ }
990
+ yield {
991
+ type: "stream_event",
992
+ event,
993
+ ...event.type === "message_start" ? { ttftMs } : undefined
994
+ };
995
+ }
996
+ } catch (error) {
997
+ const errorMessage2 = error instanceof Error ? error.message : String(error);
998
+ logForDebugging(`[Gemini] Error: ${errorMessage2}`, { level: "error" });
999
+ yield createAssistantAPIErrorMessage({
1000
+ content: `API Error: ${errorMessage2}`,
1001
+ apiError: "api_error",
1002
+ error: error instanceof Error ? error : new Error(String(error))
1003
+ });
1004
+ }
1005
+ }
1006
+ var init_gemini = __esm(() => {
1007
+ init_api();
1008
+ init_debug();
1009
+ init_messages();
1010
+ init_client();
1011
+ init_convertMessages();
1012
+ init_convertTools();
1013
+ init_modelMapping();
1014
+ init_streamAdapter();
1015
+ init_types();
1016
+ });
1017
+ init_gemini();
1018
+
1019
+ export {
1020
+ queryModelGemini
1021
+ };