@costrict/csc 4.0.1

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 (535) hide show
  1. package/README.md +398 -0
  2. package/dist/chunk-04hza677.js +24 -0
  3. package/dist/chunk-0559sa47.js +269 -0
  4. package/dist/chunk-06saje2v.js +39 -0
  5. package/dist/chunk-07069jq1.js +30 -0
  6. package/dist/chunk-070x53zd.js +2377 -0
  7. package/dist/chunk-0731m51q.js +8 -0
  8. package/dist/chunk-0858agqy.js +481 -0
  9. package/dist/chunk-09vwyeam.js +16 -0
  10. package/dist/chunk-0h5jp1k7.js +142 -0
  11. package/dist/chunk-0hhpf3sk.js +703 -0
  12. package/dist/chunk-0rpb2bdp.js +8 -0
  13. package/dist/chunk-0vkfrmqm.js +690 -0
  14. package/dist/chunk-0xjaqda8.js +1124 -0
  15. package/dist/chunk-0xv28twy.js +140 -0
  16. package/dist/chunk-0yrqcj0z.js +117 -0
  17. package/dist/chunk-1141xmr4.js +8 -0
  18. package/dist/chunk-11nzax0s.js +38 -0
  19. package/dist/chunk-13hhjhs8.js +1299 -0
  20. package/dist/chunk-15yrwc9c.js +110 -0
  21. package/dist/chunk-168xb8v1.js +436 -0
  22. package/dist/chunk-1a1qct3y.js +120 -0
  23. package/dist/chunk-1cwdhk7a.js +969 -0
  24. package/dist/chunk-1dz5e26z.js +726 -0
  25. package/dist/chunk-1h2famwb.js +49 -0
  26. package/dist/chunk-1hreef20.js +27 -0
  27. package/dist/chunk-1mpdkjdj.js +66 -0
  28. package/dist/chunk-1pvfqrpv.js +78 -0
  29. package/dist/chunk-1r1zzbv3.js +112 -0
  30. package/dist/chunk-1rvwfjaq.js +71 -0
  31. package/dist/chunk-1w2y3m4g.js +47290 -0
  32. package/dist/chunk-1xf1hn04.js +366 -0
  33. package/dist/chunk-225mq9kr.js +908 -0
  34. package/dist/chunk-238g70xa.js +36 -0
  35. package/dist/chunk-23my8c16.js +516 -0
  36. package/dist/chunk-26wtxbdc.js +13870 -0
  37. package/dist/chunk-2a42s11t.js +412 -0
  38. package/dist/chunk-2eykm0j0.js +20 -0
  39. package/dist/chunk-2fwze72g.js +24 -0
  40. package/dist/chunk-2gdm9hp2.js +1179 -0
  41. package/dist/chunk-2gzv8nrw.js +205 -0
  42. package/dist/chunk-2jb168ef.js +772 -0
  43. package/dist/chunk-2k995y2x.js +880 -0
  44. package/dist/chunk-2nayx6q1.js +63 -0
  45. package/dist/chunk-2p2kknmh.js +165 -0
  46. package/dist/chunk-2qa6bvek.js +146 -0
  47. package/dist/chunk-2qz6r4n3.js +74 -0
  48. package/dist/chunk-2s460rgh.js +61 -0
  49. package/dist/chunk-2wv3ttqg.js +199 -0
  50. package/dist/chunk-2wvz22ag.js +71 -0
  51. package/dist/chunk-2wz9qb4j.js +164 -0
  52. package/dist/chunk-30rst83v.js +168 -0
  53. package/dist/chunk-39jcea92.js +737 -0
  54. package/dist/chunk-3bes9fg8.js +78 -0
  55. package/dist/chunk-3c25bcsw.js +17 -0
  56. package/dist/chunk-3cg807vs.js +38 -0
  57. package/dist/chunk-3dy7fxmg.js +1072 -0
  58. package/dist/chunk-3h8a89gy.js +46 -0
  59. package/dist/chunk-3j0f3yyd.js +17 -0
  60. package/dist/chunk-3mgywd32.js +8 -0
  61. package/dist/chunk-3ng1qsw3.js +281 -0
  62. package/dist/chunk-3nk79af8.js +8 -0
  63. package/dist/chunk-3ns6ys7f.js +1648 -0
  64. package/dist/chunk-3sj7jkgr.js +35 -0
  65. package/dist/chunk-3tg3p70s.js +513 -0
  66. package/dist/chunk-3v18yz1s.js +21933 -0
  67. package/dist/chunk-3vxgde8h.js +830 -0
  68. package/dist/chunk-3w6s9m5w.js +16 -0
  69. package/dist/chunk-3x2jaxpw.js +254 -0
  70. package/dist/chunk-3xyekzfn.js +113 -0
  71. package/dist/chunk-3yeacwwq.js +115 -0
  72. package/dist/chunk-3z5e623j.js +130 -0
  73. package/dist/chunk-3z9478wf.js +14 -0
  74. package/dist/chunk-46fcr28b.js +131 -0
  75. package/dist/chunk-495d85x1.js +8066 -0
  76. package/dist/chunk-4bfwebv9.js +276 -0
  77. package/dist/chunk-4g3v8y12.js +23 -0
  78. package/dist/chunk-4gn5yqrx.js +79 -0
  79. package/dist/chunk-4jfp4pr0.js +24 -0
  80. package/dist/chunk-4jm600zv.js +13 -0
  81. package/dist/chunk-4nspekjp.js +69 -0
  82. package/dist/chunk-4pbx3g7s.js +26 -0
  83. package/dist/chunk-4t6efhvx.js +102 -0
  84. package/dist/chunk-4te4ttsn.js +42 -0
  85. package/dist/chunk-4x6wg2kg.js +254 -0
  86. package/dist/chunk-4y23e4m9.js +399 -0
  87. package/dist/chunk-4zfkzkt6.js +37 -0
  88. package/dist/chunk-4zh96y27.js +202 -0
  89. package/dist/chunk-512kh02z.js +117 -0
  90. package/dist/chunk-538ydk68.js +85 -0
  91. package/dist/chunk-56ax2vae.js +255 -0
  92. package/dist/chunk-56r79b2b.js +69 -0
  93. package/dist/chunk-57zse1aw.js +393 -0
  94. package/dist/chunk-5c5xde65.js +229 -0
  95. package/dist/chunk-5c8g21yn.js +334 -0
  96. package/dist/chunk-5hfekx34.js +158 -0
  97. package/dist/chunk-5j8wked2.js +125 -0
  98. package/dist/chunk-5krq9sjq.js +291 -0
  99. package/dist/chunk-5kstcfhs.js +180 -0
  100. package/dist/chunk-5q9t5raw.js +1077 -0
  101. package/dist/chunk-5z0vwms1.js +20 -0
  102. package/dist/chunk-5z28bqne.js +6748 -0
  103. package/dist/chunk-616twzqj.js +17 -0
  104. package/dist/chunk-62me46b4.js +115 -0
  105. package/dist/chunk-62xkxk9z.js +32 -0
  106. package/dist/chunk-64c1avct.js +13 -0
  107. package/dist/chunk-677as3nh.js +15 -0
  108. package/dist/chunk-68jt10ky.js +170 -0
  109. package/dist/chunk-6aspnjtj.js +213 -0
  110. package/dist/chunk-6bd8brc4.js +48 -0
  111. package/dist/chunk-6dj5t602.js +341 -0
  112. package/dist/chunk-6e7578mb.js +183 -0
  113. package/dist/chunk-6gr3c3w9.js +378 -0
  114. package/dist/chunk-6km733xr.js +1393 -0
  115. package/dist/chunk-6kpdq5vp.js +269 -0
  116. package/dist/chunk-6mzwkxka.js +591 -0
  117. package/dist/chunk-6n4rgw3j.js +308 -0
  118. package/dist/chunk-6p4cyhb3.js +16 -0
  119. package/dist/chunk-6ps660aq.js +177 -0
  120. package/dist/chunk-6rvt67cg.js +156 -0
  121. package/dist/chunk-6tq2v3rk.js +186 -0
  122. package/dist/chunk-6vhnnq2y.js +1410 -0
  123. package/dist/chunk-6wyva7w0.js +208 -0
  124. package/dist/chunk-6x0hj15f.js +502 -0
  125. package/dist/chunk-71pmx33m.js +367 -0
  126. package/dist/chunk-71ynp714.js +101 -0
  127. package/dist/chunk-73rpbt04.js +1947 -0
  128. package/dist/chunk-74vem2p2.js +34238 -0
  129. package/dist/chunk-760252na.js +101 -0
  130. package/dist/chunk-7739pg2c.js +4261 -0
  131. package/dist/chunk-78ynhtwg.js +71 -0
  132. package/dist/chunk-7aw745vx.js +40175 -0
  133. package/dist/chunk-7ethp9j4.js +785 -0
  134. package/dist/chunk-7f9h59mx.js +123 -0
  135. package/dist/chunk-7gwn2q3t.js +267 -0
  136. package/dist/chunk-7j39efa9.js +4521 -0
  137. package/dist/chunk-7nzp7c14.js +113 -0
  138. package/dist/chunk-7p0pvq5a.js +1189 -0
  139. package/dist/chunk-7pe7wxtx.js +37 -0
  140. package/dist/chunk-7wm5s02e.js +216 -0
  141. package/dist/chunk-7xyswgjh.js +8 -0
  142. package/dist/chunk-80ex85y3.js +231 -0
  143. package/dist/chunk-80v8c3v8.js +94 -0
  144. package/dist/chunk-8225arm6.js +6374 -0
  145. package/dist/chunk-82eajk9f.js +885 -0
  146. package/dist/chunk-83hfzbx3.js +10 -0
  147. package/dist/chunk-84bn8nbd.js +130 -0
  148. package/dist/chunk-85em0j2s.js +61 -0
  149. package/dist/chunk-86vz5aga.js +585 -0
  150. package/dist/chunk-86zqm75k.js +119 -0
  151. package/dist/chunk-894yt5ch.js +127 -0
  152. package/dist/chunk-89f30geq.js +114 -0
  153. package/dist/chunk-89m2z6cf.js +542 -0
  154. package/dist/chunk-89spcmeg.js +203 -0
  155. package/dist/chunk-8a1q7y7t.js +38 -0
  156. package/dist/chunk-8b9j5s4r.js +22 -0
  157. package/dist/chunk-8g5pe1gr.js +37 -0
  158. package/dist/chunk-8h45f69y.js +151 -0
  159. package/dist/chunk-8henn231.js +63 -0
  160. package/dist/chunk-8jprqan8.js +1580 -0
  161. package/dist/chunk-8pn8tvgg.js +637 -0
  162. package/dist/chunk-8psrvmy6.js +797 -0
  163. package/dist/chunk-8sq45snx.js +1585 -0
  164. package/dist/chunk-8tj3ttfr.js +122 -0
  165. package/dist/chunk-8tnsngw2.js +31 -0
  166. package/dist/chunk-8y12jxg8.js +10 -0
  167. package/dist/chunk-8ymf4e6z.js +48 -0
  168. package/dist/chunk-8yrcxv0n.js +17 -0
  169. package/dist/chunk-90wp6wez.js +10510 -0
  170. package/dist/chunk-92cm1qp0.js +387 -0
  171. package/dist/chunk-95g4wtbk.js +83 -0
  172. package/dist/chunk-95h99qt5.js +350 -0
  173. package/dist/chunk-9663bsk0.js +15 -0
  174. package/dist/chunk-96mf19ww.js +130 -0
  175. package/dist/chunk-97kwfkef.js +172626 -0
  176. package/dist/chunk-9d4wp328.js +121 -0
  177. package/dist/chunk-9h9j6e8f.js +340 -0
  178. package/dist/chunk-9k8qsaph.js +33068 -0
  179. package/dist/chunk-9mfbqw9k.js +24 -0
  180. package/dist/chunk-9n6x41fh.js +89 -0
  181. package/dist/chunk-9nsdc461.js +43 -0
  182. package/dist/chunk-9nyem167.js +68 -0
  183. package/dist/chunk-9q3r5pd2.js +80 -0
  184. package/dist/chunk-9wf38cty.js +83 -0
  185. package/dist/chunk-9x5zgy22.js +12 -0
  186. package/dist/chunk-a136cvvz.js +27 -0
  187. package/dist/chunk-a4twdmhf.js +45 -0
  188. package/dist/chunk-a53syfz4.js +348 -0
  189. package/dist/chunk-a783nmpc.js +240 -0
  190. package/dist/chunk-a8ejc632.js +3094 -0
  191. package/dist/chunk-a9vdeb6y.js +258 -0
  192. package/dist/chunk-a9zh40sj.js +48 -0
  193. package/dist/chunk-ae76ded0.js +30 -0
  194. package/dist/chunk-akdsj21e.js +37 -0
  195. package/dist/chunk-ase86y73.js +15 -0
  196. package/dist/chunk-avb9ff81.js +98 -0
  197. package/dist/chunk-ayydhscx.js +26 -0
  198. package/dist/chunk-az3db85f.js +301 -0
  199. package/dist/chunk-az7hwp39.js +111 -0
  200. package/dist/chunk-b4wg70y1.js +54 -0
  201. package/dist/chunk-b81hd3m6.js +32 -0
  202. package/dist/chunk-ba17dx50.js +30 -0
  203. package/dist/chunk-bcfd2zw7.js +20 -0
  204. package/dist/chunk-bcv6qax7.js +32 -0
  205. package/dist/chunk-bef1t5q0.js +1460 -0
  206. package/dist/chunk-bend4tmg.js +208 -0
  207. package/dist/chunk-bhxz6rzk.js +475 -0
  208. package/dist/chunk-bj6k61m9.js +130 -0
  209. package/dist/chunk-bnrctxq5.js +112 -0
  210. package/dist/chunk-bt64sq5y.js +19 -0
  211. package/dist/chunk-bxcfz5gy.js +56 -0
  212. package/dist/chunk-c11k4btd.js +1095 -0
  213. package/dist/chunk-c3eaj3gr.js +2997 -0
  214. package/dist/chunk-c51ns2ke.js +40 -0
  215. package/dist/chunk-c5kags80.js +141 -0
  216. package/dist/chunk-c6sjhj89.js +1284 -0
  217. package/dist/chunk-c77cvfqz.js +14 -0
  218. package/dist/chunk-cb68zyey.js +117 -0
  219. package/dist/chunk-cczpp302.js +223 -0
  220. package/dist/chunk-ce2v5y9y.js +338 -0
  221. package/dist/chunk-cfv996bs.js +22 -0
  222. package/dist/chunk-cgfdkzhb.js +12 -0
  223. package/dist/chunk-cj3ptgbw.js +918 -0
  224. package/dist/chunk-ck22v5n3.js +2745 -0
  225. package/dist/chunk-ck4be14j.js +8588 -0
  226. package/dist/chunk-cmwfcp4h.js +120 -0
  227. package/dist/chunk-cnsj3vq2.js +35 -0
  228. package/dist/chunk-cnvsytvx.js +182 -0
  229. package/dist/chunk-cp1aqm3d.js +66 -0
  230. package/dist/chunk-cpgjt97m.js +126 -0
  231. package/dist/chunk-cqrdcwc6.js +115 -0
  232. package/dist/chunk-crmjpsqe.js +68 -0
  233. package/dist/chunk-ctya0ggm.js +1606 -0
  234. package/dist/chunk-cvkzqcxn.js +26 -0
  235. package/dist/chunk-d4mdda98.js +94 -0
  236. package/dist/chunk-d8vwvym7.js +693 -0
  237. package/dist/chunk-d8xwx5h7.js +431 -0
  238. package/dist/chunk-dgepe1tj.js +557 -0
  239. package/dist/chunk-dggvswz1.js +104 -0
  240. package/dist/chunk-dgqrcy74.js +48 -0
  241. package/dist/chunk-dhgfme5s.js +622 -0
  242. package/dist/chunk-dkzwgrsa.js +336 -0
  243. package/dist/chunk-dmfnhfbm.js +63 -0
  244. package/dist/chunk-dnh7jtpb.js +37 -0
  245. package/dist/chunk-drtj50ge.js +112 -0
  246. package/dist/chunk-dtj6da60.js +173 -0
  247. package/dist/chunk-e3jdmhj3.js +122 -0
  248. package/dist/chunk-e5ey47fq.js +78 -0
  249. package/dist/chunk-ehtwnxpg.js +1591 -0
  250. package/dist/chunk-enz148g9.js +79 -0
  251. package/dist/chunk-eq5csq9z.js +147 -0
  252. package/dist/chunk-eqp1rfft.js +17 -0
  253. package/dist/chunk-ers3hn71.js +58 -0
  254. package/dist/chunk-evs073nf.js +9300 -0
  255. package/dist/chunk-ew2qn2ct.js +128 -0
  256. package/dist/chunk-ewadzrm8.js +103 -0
  257. package/dist/chunk-ewhxrzr7.js +282 -0
  258. package/dist/chunk-f076572y.js +29 -0
  259. package/dist/chunk-f1fd8rrx.js +458 -0
  260. package/dist/chunk-f2mhrmww.js +62 -0
  261. package/dist/chunk-f2rspz95.js +661 -0
  262. package/dist/chunk-f4evkbn3.js +109 -0
  263. package/dist/chunk-f5ma3nh5.js +3436 -0
  264. package/dist/chunk-f77bmbss.js +262 -0
  265. package/dist/chunk-fafwc5w7.js +63 -0
  266. package/dist/chunk-fas0j37w.js +206 -0
  267. package/dist/chunk-fbv4apne.js +51 -0
  268. package/dist/chunk-fbvwrs77.js +74 -0
  269. package/dist/chunk-feyzykye.js +10 -0
  270. package/dist/chunk-fk80f449.js +29032 -0
  271. package/dist/chunk-fqz39wqc.js +2754 -0
  272. package/dist/chunk-fs870v81.js +321 -0
  273. package/dist/chunk-fvrd2wnw.js +119 -0
  274. package/dist/chunk-fwqpwb0b.js +68 -0
  275. package/dist/chunk-fyc5fepv.js +10 -0
  276. package/dist/chunk-fz0ch109.js +329 -0
  277. package/dist/chunk-fzsn5y4x.js +74 -0
  278. package/dist/chunk-g1k68z1b.js +15 -0
  279. package/dist/chunk-g338npwr.js +1061 -0
  280. package/dist/chunk-g4mn27j2.js +125 -0
  281. package/dist/chunk-g5k4zxrz.js +285 -0
  282. package/dist/chunk-g7hbj02n.js +47 -0
  283. package/dist/chunk-g9f19ttm.js +15 -0
  284. package/dist/chunk-gmpnr1zb.js +248 -0
  285. package/dist/chunk-gnsx2xas.js +58 -0
  286. package/dist/chunk-gr2j2pnw.js +449 -0
  287. package/dist/chunk-gs8skfag.js +700 -0
  288. package/dist/chunk-gte39pa1.js +62 -0
  289. package/dist/chunk-gvee52bj.js +41 -0
  290. package/dist/chunk-gzvt7jsh.js +109 -0
  291. package/dist/chunk-gzykgb04.js +445 -0
  292. package/dist/chunk-h0qngp9w.js +157 -0
  293. package/dist/chunk-h4b85amj.js +2331 -0
  294. package/dist/chunk-h5w7hchy.js +851 -0
  295. package/dist/chunk-hakdhagh.js +16606 -0
  296. package/dist/chunk-hamq5sbn.js +398 -0
  297. package/dist/chunk-hezhnvr6.js +369 -0
  298. package/dist/chunk-hh7cmy4k.js +20 -0
  299. package/dist/chunk-hhgyxd84.js +259 -0
  300. package/dist/chunk-hk9xz7gk.js +118 -0
  301. package/dist/chunk-hkn7tzgv.js +2007 -0
  302. package/dist/chunk-hnafabz8.js +266 -0
  303. package/dist/chunk-hqhmy4sg.js +4181 -0
  304. package/dist/chunk-hvdbzsar.js +127 -0
  305. package/dist/chunk-hzhe8ygc.js +547 -0
  306. package/dist/chunk-j05addbw.js +132 -0
  307. package/dist/chunk-j2k4p94p.js +55 -0
  308. package/dist/chunk-j3a4p81y.js +184 -0
  309. package/dist/chunk-j5bth84e.js +97 -0
  310. package/dist/chunk-j64ga6ta.js +8035 -0
  311. package/dist/chunk-j7e5xs2n.js +225 -0
  312. package/dist/chunk-j9gxwbe3.js +349 -0
  313. package/dist/chunk-jaaxk89e.js +113 -0
  314. package/dist/chunk-jbe9jra5.js +132 -0
  315. package/dist/chunk-jd32zbps.js +15 -0
  316. package/dist/chunk-jdgeec04.js +4249 -0
  317. package/dist/chunk-jhvzhfs0.js +61 -0
  318. package/dist/chunk-jmczk6av.js +173 -0
  319. package/dist/chunk-jmmy2389.js +146 -0
  320. package/dist/chunk-jmt3t5ka.js +655 -0
  321. package/dist/chunk-jnhkref0.js +30 -0
  322. package/dist/chunk-jrw2ydrt.js +122 -0
  323. package/dist/chunk-jwrvnvn4.js +40 -0
  324. package/dist/chunk-jzmz18nn.js +65 -0
  325. package/dist/chunk-k04vbmv4.js +646 -0
  326. package/dist/chunk-k0p9w03v.js +4957 -0
  327. package/dist/chunk-k3dhz0k9.js +135 -0
  328. package/dist/chunk-k3s4yk22.js +477 -0
  329. package/dist/chunk-k9ssqns7.js +32 -0
  330. package/dist/chunk-kadfnk84.js +182 -0
  331. package/dist/chunk-kddy2dqe.js +251 -0
  332. package/dist/chunk-kfd89dsd.js +21 -0
  333. package/dist/chunk-kqnj25tn.js +6956 -0
  334. package/dist/chunk-kt7g00mq.js +435 -0
  335. package/dist/chunk-kwdta9bw.js +3437 -0
  336. package/dist/chunk-kwekc97v.js +18 -0
  337. package/dist/chunk-kyqp0hdk.js +410 -0
  338. package/dist/chunk-m19387gd.js +192 -0
  339. package/dist/chunk-m1k6c44h.js +97 -0
  340. package/dist/chunk-m2bcpk8j.js +30 -0
  341. package/dist/chunk-m2f2brtj.js +290 -0
  342. package/dist/chunk-m3vd4kjb.js +895 -0
  343. package/dist/chunk-m4y35n20.js +2845 -0
  344. package/dist/chunk-m53f3dw3.js +237 -0
  345. package/dist/chunk-m7e9yz7v.js +112 -0
  346. package/dist/chunk-m7gb3xym.js +196 -0
  347. package/dist/chunk-m85hmjj5.js +446 -0
  348. package/dist/chunk-mafty4rg.js +30 -0
  349. package/dist/chunk-mbgrtfd1.js +67 -0
  350. package/dist/chunk-mc9gapvy.js +1811 -0
  351. package/dist/chunk-md75xjhp.js +283 -0
  352. package/dist/chunk-mdkxrfbj.js +666 -0
  353. package/dist/chunk-mfq8d0nf.js +126 -0
  354. package/dist/chunk-mg4j7qa1.js +192 -0
  355. package/dist/chunk-mjnb2hkr.js +132 -0
  356. package/dist/chunk-mnc0y0d0.js +190 -0
  357. package/dist/chunk-mpvn2d5c.js +155 -0
  358. package/dist/chunk-mr2kw49k.js +116 -0
  359. package/dist/chunk-ms3y5kf0.js +252 -0
  360. package/dist/chunk-mwz7he7v.js +169 -0
  361. package/dist/chunk-mx28h61f.js +1147 -0
  362. package/dist/chunk-my3kzsjn.js +99 -0
  363. package/dist/chunk-n0a4xh5h.js +128 -0
  364. package/dist/chunk-n0qaeaa5.js +256 -0
  365. package/dist/chunk-n24pwjkp.js +139 -0
  366. package/dist/chunk-n2qz0nhv.js +93 -0
  367. package/dist/chunk-n7d8481f.js +68 -0
  368. package/dist/chunk-n7ttdtk0.js +641 -0
  369. package/dist/chunk-n9axs6t8.js +716 -0
  370. package/dist/chunk-netzwgv1.js +154 -0
  371. package/dist/chunk-nh3cd07f.js +14358 -0
  372. package/dist/chunk-njhgsxjj.js +237 -0
  373. package/dist/chunk-nk5x8t2h.js +132 -0
  374. package/dist/chunk-nka1g8f4.js +773 -0
  375. package/dist/chunk-nneembm7.js +31 -0
  376. package/dist/chunk-nq0fxyxh.js +752 -0
  377. package/dist/chunk-nt837qt9.js +21 -0
  378. package/dist/chunk-p0ng6w7n.js +315 -0
  379. package/dist/chunk-p1e5ajm6.js +90 -0
  380. package/dist/chunk-p2816w9z.js +1486 -0
  381. package/dist/chunk-p2d5nh3g.js +342 -0
  382. package/dist/chunk-p3a8pcmp.js +780 -0
  383. package/dist/chunk-p5rg8b87.js +157 -0
  384. package/dist/chunk-p7vkh4wx.js +15 -0
  385. package/dist/chunk-p99pzx02.js +65 -0
  386. package/dist/chunk-p9ce1a80.js +279 -0
  387. package/dist/chunk-pakvqawt.js +2544 -0
  388. package/dist/chunk-pfc94kdv.js +5387 -0
  389. package/dist/chunk-pfnzae5b.js +71 -0
  390. package/dist/chunk-pgyrvzpr.js +862 -0
  391. package/dist/chunk-pj77mrv7.js +879 -0
  392. package/dist/chunk-pk3s1vqt.js +136 -0
  393. package/dist/chunk-ppwjyveh.js +8 -0
  394. package/dist/chunk-ps1ds612.js +183 -0
  395. package/dist/chunk-ps49ymvj.js +43 -0
  396. package/dist/chunk-pshjyzq4.js +17656 -0
  397. package/dist/chunk-pskjqhz7.js +116 -0
  398. package/dist/chunk-pvc81kgd.js +1030 -0
  399. package/dist/chunk-pwwa7s62.js +11 -0
  400. package/dist/chunk-q3j9ktw6.js +313 -0
  401. package/dist/chunk-q4t5gjz6.js +180 -0
  402. package/dist/chunk-q7tpyeb3.js +39 -0
  403. package/dist/chunk-q82r31er.js +151 -0
  404. package/dist/chunk-qajrkk97.js +298 -0
  405. package/dist/chunk-qb6ej6am.js +118 -0
  406. package/dist/chunk-qbrsmra3.js +23 -0
  407. package/dist/chunk-qezabsdm.js +65 -0
  408. package/dist/chunk-qfdazq4f.js +81 -0
  409. package/dist/chunk-qjb5b625.js +382 -0
  410. package/dist/chunk-qjeytdb7.js +47 -0
  411. package/dist/chunk-qkn19vqd.js +116 -0
  412. package/dist/chunk-qnfx3qtx.js +617 -0
  413. package/dist/chunk-qp1047f9.js +16239 -0
  414. package/dist/chunk-qp2qdcda.js +100 -0
  415. package/dist/chunk-qtfc6wdh.js +19 -0
  416. package/dist/chunk-qvpvpfby.js +4951 -0
  417. package/dist/chunk-qwcs5mar.js +151 -0
  418. package/dist/chunk-qywms8ma.js +84 -0
  419. package/dist/chunk-qz2x630m.js +49145 -0
  420. package/dist/chunk-r1c1vckq.js +606 -0
  421. package/dist/chunk-r1cmrvhq.js +660 -0
  422. package/dist/chunk-r4w1khtr.js +479 -0
  423. package/dist/chunk-r5c7ntjh.js +308 -0
  424. package/dist/chunk-r6pqswky.js +118 -0
  425. package/dist/chunk-rcpmj2s6.js +51 -0
  426. package/dist/chunk-re5rh06v.js +151 -0
  427. package/dist/chunk-reta5k4w.js +127 -0
  428. package/dist/chunk-rfpx3se2.js +114 -0
  429. package/dist/chunk-rfzv16n9.js +140 -0
  430. package/dist/chunk-rhq6rjsm.js +139 -0
  431. package/dist/chunk-rn0v1hk8.js +34 -0
  432. package/dist/chunk-rpmxbsc4.js +106 -0
  433. package/dist/chunk-rw0b3wq4.js +54 -0
  434. package/dist/chunk-rwg99z4w.js +277 -0
  435. package/dist/chunk-rzz2be44.js +144 -0
  436. package/dist/chunk-s1pwx4p8.js +1029 -0
  437. package/dist/chunk-s2jznn2t.js +63 -0
  438. package/dist/chunk-s3pzvdss.js +50 -0
  439. package/dist/chunk-s5hrc81b.js +256 -0
  440. package/dist/chunk-s6zh6vsc.js +115 -0
  441. package/dist/chunk-sac40vch.js +41 -0
  442. package/dist/chunk-sd36yzx8.js +954 -0
  443. package/dist/chunk-sd6tyy2k.js +445 -0
  444. package/dist/chunk-sg9s9fhh.js +220 -0
  445. package/dist/chunk-st29kcjw.js +70 -0
  446. package/dist/chunk-szj5wvdy.js +28 -0
  447. package/dist/chunk-tazmxz0r.js +115 -0
  448. package/dist/chunk-tbbgpakn.js +352 -0
  449. package/dist/chunk-tbjjq4ry.js +70 -0
  450. package/dist/chunk-tezak8rx.js +6157 -0
  451. package/dist/chunk-tf79jran.js +15 -0
  452. package/dist/chunk-tg8bdmhy.js +148 -0
  453. package/dist/chunk-thjjw26s.js +369 -0
  454. package/dist/chunk-tq1ak9qz.js +3594 -0
  455. package/dist/chunk-tqvxvgcq.js +390 -0
  456. package/dist/chunk-ts2p6bv1.js +224 -0
  457. package/dist/chunk-tsmzsjkv.js +167 -0
  458. package/dist/chunk-ttk5dzz8.js +25 -0
  459. package/dist/chunk-v1kzp02e.js +785 -0
  460. package/dist/chunk-v4rp12y4.js +269 -0
  461. package/dist/chunk-v4t6dyyh.js +9076 -0
  462. package/dist/chunk-v78fj8by.js +145 -0
  463. package/dist/chunk-v9smspw2.js +4301 -0
  464. package/dist/chunk-var1et7e.js +66 -0
  465. package/dist/chunk-vest0y6x.js +3830 -0
  466. package/dist/chunk-vf5sd1nq.js +12 -0
  467. package/dist/chunk-vf612n57.js +472 -0
  468. package/dist/chunk-vhqtr0f1.js +343 -0
  469. package/dist/chunk-vnfempy5.js +43 -0
  470. package/dist/chunk-vp5pr5yv.js +443 -0
  471. package/dist/chunk-vp8cvspq.js +157 -0
  472. package/dist/chunk-vqqtdc8s.js +75 -0
  473. package/dist/chunk-vyjeh50y.js +2149 -0
  474. package/dist/chunk-w0nwhqww.js +295 -0
  475. package/dist/chunk-w32xjs44.js +306 -0
  476. package/dist/chunk-w4mdb23d.js +111 -0
  477. package/dist/chunk-w5j84xcj.js +226 -0
  478. package/dist/chunk-w78f4cd8.js +158 -0
  479. package/dist/chunk-wbpxzaty.js +66 -0
  480. package/dist/chunk-wfz0qffj.js +3939 -0
  481. package/dist/chunk-wm26jyc3.js +156 -0
  482. package/dist/chunk-wmw9c9ga.js +440 -0
  483. package/dist/chunk-wpp8s8bh.js +433 -0
  484. package/dist/chunk-wrb0tqk3.js +198 -0
  485. package/dist/chunk-wswsvthr.js +946 -0
  486. package/dist/chunk-wzpdet3m.js +843 -0
  487. package/dist/chunk-x1pmes5j.js +482 -0
  488. package/dist/chunk-x6r4v44b.js +8 -0
  489. package/dist/chunk-x92g7cqn.js +421 -0
  490. package/dist/chunk-xedf6d09.js +66 -0
  491. package/dist/chunk-xgwhhpvz.js +154 -0
  492. package/dist/chunk-xkxd7n8n.js +310 -0
  493. package/dist/chunk-xrt6e27s.js +60 -0
  494. package/dist/chunk-xsq9ae7x.js +90 -0
  495. package/dist/chunk-xv3era3s.js +8 -0
  496. package/dist/chunk-xwz1db00.js +34 -0
  497. package/dist/chunk-xx0570gb.js +120 -0
  498. package/dist/chunk-xxshn0tn.js +314 -0
  499. package/dist/chunk-xzc7k2hh.js +122 -0
  500. package/dist/chunk-y1784krc.js +19 -0
  501. package/dist/chunk-y2hdgkmv.js +244 -0
  502. package/dist/chunk-y82j1dne.js +524 -0
  503. package/dist/chunk-ybae225f.js +669 -0
  504. package/dist/chunk-ye7fmmc4.js +95 -0
  505. package/dist/chunk-ygj29dpk.js +100 -0
  506. package/dist/chunk-yj2t6a2t.js +216 -0
  507. package/dist/chunk-yja33bsx.js +300 -0
  508. package/dist/chunk-yjkamwzv.js +121 -0
  509. package/dist/chunk-ymjz2by8.js +120 -0
  510. package/dist/chunk-yqtda7b6.js +105 -0
  511. package/dist/chunk-yqx2fkma.js +2362 -0
  512. package/dist/chunk-yzx3mhfd.js +110 -0
  513. package/dist/chunk-z1bs6d7k.js +24 -0
  514. package/dist/chunk-z2dp53wn.js +17 -0
  515. package/dist/chunk-z6e5jp2w.js +119 -0
  516. package/dist/chunk-z915v06p.js +148 -0
  517. package/dist/chunk-ze6zvkg6.js +22820 -0
  518. package/dist/chunk-zejm280k.js +39 -0
  519. package/dist/chunk-zeytvkxt.js +142 -0
  520. package/dist/chunk-zgjh33vv.js +276 -0
  521. package/dist/chunk-zgncjtyk.js +264 -0
  522. package/dist/chunk-zmgzhwae.js +4389 -0
  523. package/dist/chunk-ztf1hdpb.js +456 -0
  524. package/dist/chunk-zzm33q8x.js +8 -0
  525. package/dist/cli.js +139 -0
  526. package/dist/download-ripgrep.js +24821 -0
  527. package/dist/vendor/audio-capture/arm64-darwin/audio-capture.node +0 -0
  528. package/dist/vendor/audio-capture/arm64-linux/audio-capture.node +0 -0
  529. package/dist/vendor/audio-capture/arm64-win32/audio-capture.node +0 -0
  530. package/dist/vendor/audio-capture/x64-darwin/audio-capture.node +0 -0
  531. package/dist/vendor/audio-capture/x64-linux/audio-capture.node +0 -0
  532. package/dist/vendor/audio-capture/x64-win32/audio-capture.node +0 -0
  533. package/package.json +177 -0
  534. package/scripts/download-ripgrep.ts +335 -0
  535. package/scripts/postinstall.cjs +319 -0
@@ -0,0 +1,1029 @@
1
+ // @bun
2
+ import {
3
+ init_SSETransport,
4
+ parseSSEFrames
5
+ } from "./chunk-m85hmjj5.js";
6
+ import {
7
+ createAssistantAPIErrorMessage,
8
+ init_api,
9
+ init_messages1 as init_messages,
10
+ normalizeContentFromAPI,
11
+ normalizeMessagesForAPI,
12
+ toolToAPISchema
13
+ } from "./chunk-97kwfkef.js";
14
+ import"./chunk-4nspekjp.js";
15
+ import"./chunk-s2jznn2t.js";
16
+ import"./chunk-zejm280k.js";
17
+ import"./chunk-var1et7e.js";
18
+ import"./chunk-ehtwnxpg.js";
19
+ import"./chunk-enz148g9.js";
20
+ import"./chunk-jmt3t5ka.js";
21
+ import"./chunk-3x2jaxpw.js";
22
+ import"./chunk-wm26jyc3.js";
23
+ import"./chunk-2gzv8nrw.js";
24
+ import"./chunk-bxcfz5gy.js";
25
+ import"./chunk-3vxgde8h.js";
26
+ import"./chunk-9k8qsaph.js";
27
+ import"./chunk-bnrctxq5.js";
28
+ import"./chunk-9663bsk0.js";
29
+ import"./chunk-cgfdkzhb.js";
30
+ import"./chunk-gr2j2pnw.js";
31
+ import"./chunk-m7gb3xym.js";
32
+ import"./chunk-zgjh33vv.js";
33
+ import"./chunk-j5bth84e.js";
34
+ import"./chunk-39jcea92.js";
35
+ import"./chunk-reta5k4w.js";
36
+ import"./chunk-3z9478wf.js";
37
+ import"./chunk-ps49ymvj.js";
38
+ import"./chunk-eq5csq9z.js";
39
+ import"./chunk-qezabsdm.js";
40
+ import"./chunk-p7vkh4wx.js";
41
+ import"./chunk-3sj7jkgr.js";
42
+ import"./chunk-62xkxk9z.js";
43
+ import"./chunk-ers3hn71.js";
44
+ import"./chunk-5krq9sjq.js";
45
+ import"./chunk-85em0j2s.js";
46
+ import"./chunk-dmfnhfbm.js";
47
+ import"./chunk-4jm600zv.js";
48
+ import"./chunk-ew2qn2ct.js";
49
+ import"./chunk-3bes9fg8.js";
50
+ import"./chunk-ygj29dpk.js";
51
+ import"./chunk-6km733xr.js";
52
+ import"./chunk-mx28h61f.js";
53
+ import"./chunk-z915v06p.js";
54
+ import"./chunk-rw0b3wq4.js";
55
+ import"./chunk-ms3y5kf0.js";
56
+ import"./chunk-pfc94kdv.js";
57
+ import"./chunk-kwdta9bw.js";
58
+ import"./chunk-3dy7fxmg.js";
59
+ import"./chunk-qp1047f9.js";
60
+ import {
61
+ init_json,
62
+ safeParseJSON
63
+ } from "./chunk-3ns6ys7f.js";
64
+ import"./chunk-6aspnjtj.js";
65
+ import {
66
+ getProxyFetchOptions,
67
+ init_proxy
68
+ } from "./chunk-1dz5e26z.js";
69
+ import"./chunk-1cwdhk7a.js";
70
+ import"./chunk-j9gxwbe3.js";
71
+ import"./chunk-64c1avct.js";
72
+ import"./chunk-qbrsmra3.js";
73
+ import"./chunk-8g5pe1gr.js";
74
+ import"./chunk-5j8wked2.js";
75
+ import"./chunk-v4t6dyyh.js";
76
+ import"./chunk-4pbx3g7s.js";
77
+ import"./chunk-26wtxbdc.js";
78
+ import"./chunk-f5ma3nh5.js";
79
+ import"./chunk-qz2x630m.js";
80
+ import"./chunk-xzc7k2hh.js";
81
+ import"./chunk-rcpmj2s6.js";
82
+ import"./chunk-3c25bcsw.js";
83
+ import"./chunk-dkzwgrsa.js";
84
+ import"./chunk-q82r31er.js";
85
+ import"./chunk-p2816w9z.js";
86
+ import"./chunk-v9smspw2.js";
87
+ import"./chunk-v1kzp02e.js";
88
+ import"./chunk-ztf1hdpb.js";
89
+ import"./chunk-crmjpsqe.js";
90
+ import"./chunk-fk80f449.js";
91
+ import"./chunk-g338npwr.js";
92
+ import"./chunk-f2mhrmww.js";
93
+ import"./chunk-0vkfrmqm.js";
94
+ import"./chunk-0xjaqda8.js";
95
+ import"./chunk-yjkamwzv.js";
96
+ import"./chunk-13hhjhs8.js";
97
+ import"./chunk-rpmxbsc4.js";
98
+ import"./chunk-qnfx3qtx.js";
99
+ import"./chunk-2wz9qb4j.js";
100
+ import"./chunk-b81hd3m6.js";
101
+ import"./chunk-ce2v5y9y.js";
102
+ import"./chunk-8tnsngw2.js";
103
+ import"./chunk-56r79b2b.js";
104
+ import"./chunk-nneembm7.js";
105
+ import"./chunk-5z28bqne.js";
106
+ import"./chunk-qajrkk97.js";
107
+ import {
108
+ init_debug,
109
+ logForDebugging
110
+ } from "./chunk-ctya0ggm.js";
111
+ import"./chunk-fbv4apne.js";
112
+ import {
113
+ errorMessage,
114
+ init_errors
115
+ } from "./chunk-z6e5jp2w.js";
116
+ import"./chunk-h4b85amj.js";
117
+ import"./chunk-07069jq1.js";
118
+ import"./chunk-jaaxk89e.js";
119
+ import"./chunk-vf612n57.js";
120
+ import"./chunk-d4mdda98.js";
121
+ import"./chunk-7wm5s02e.js";
122
+ import"./chunk-4g3v8y12.js";
123
+ import"./chunk-7739pg2c.js";
124
+ import"./chunk-nh3cd07f.js";
125
+ import"./chunk-8pn8tvgg.js";
126
+ import"./chunk-netzwgv1.js";
127
+ import {
128
+ __esm
129
+ } from "./chunk-qp2qdcda.js";
130
+
131
+ // src/services/api/gemini/client.ts
132
+ function getGeminiBaseUrl() {
133
+ return (process.env.GEMINI_BASE_URL || DEFAULT_GEMINI_BASE_URL).replace(/\/+$/, "");
134
+ }
135
+ function getGeminiModelPath(model) {
136
+ const normalized = model.replace(/^\/+/, "");
137
+ return normalized.startsWith("models/") ? normalized : `models/${normalized}`;
138
+ }
139
+ async function* streamGeminiGenerateContent(params) {
140
+ const fetchImpl = params.fetchOverride ?? fetch;
141
+ const url = `${getGeminiBaseUrl()}/${getGeminiModelPath(params.model)}:streamGenerateContent?alt=sse`;
142
+ const response = await fetchImpl(url, {
143
+ method: "POST",
144
+ headers: {
145
+ "Content-Type": "application/json",
146
+ "x-goog-api-key": process.env.GEMINI_API_KEY || ""
147
+ },
148
+ body: JSON.stringify(params.body),
149
+ signal: params.signal,
150
+ ...getProxyFetchOptions({ forAnthropicAPI: false })
151
+ });
152
+ if (!response.ok) {
153
+ const body = await response.text();
154
+ throw new Error(`Gemini API request failed (${response.status} ${response.statusText}): ${body || "empty response body"}`);
155
+ }
156
+ if (!response.body) {
157
+ throw new Error("Gemini API returned no response body");
158
+ }
159
+ const reader = response.body.getReader();
160
+ const decoder = new TextDecoder;
161
+ let buffer = "";
162
+ try {
163
+ while (true) {
164
+ const { done, value } = await reader.read();
165
+ if (done)
166
+ break;
167
+ buffer += decoder.decode(value, STREAM_DECODE_OPTS);
168
+ const { frames: frames2, remaining } = parseSSEFrames(buffer);
169
+ buffer = remaining;
170
+ for (const frame of frames2) {
171
+ if (!frame.data || frame.data === "[DONE]")
172
+ continue;
173
+ try {
174
+ yield JSON.parse(frame.data);
175
+ } catch (error) {
176
+ throw new Error(`Failed to parse Gemini SSE payload: ${errorMessage(error)}`);
177
+ }
178
+ }
179
+ }
180
+ buffer += decoder.decode();
181
+ const { frames } = parseSSEFrames(buffer);
182
+ for (const frame of frames) {
183
+ if (!frame.data || frame.data === "[DONE]")
184
+ continue;
185
+ try {
186
+ yield JSON.parse(frame.data);
187
+ } catch (error) {
188
+ throw new Error(`Failed to parse trailing Gemini SSE payload: ${errorMessage(error)}`);
189
+ }
190
+ }
191
+ } finally {
192
+ reader.releaseLock();
193
+ }
194
+ }
195
+ var DEFAULT_GEMINI_BASE_URL = "https://generativelanguage.googleapis.com/v1beta", STREAM_DECODE_OPTS;
196
+ var init_client = __esm(() => {
197
+ init_SSETransport();
198
+ init_errors();
199
+ init_proxy();
200
+ STREAM_DECODE_OPTS = { stream: true };
201
+ });
202
+
203
+ // src/services/api/gemini/types.ts
204
+ var GEMINI_THOUGHT_SIGNATURE_FIELD = "_geminiThoughtSignature";
205
+ var init_types = () => {};
206
+
207
+ // src/services/api/gemini/convertMessages.ts
208
+ function anthropicMessagesToGemini(messages, systemPrompt) {
209
+ const contents = [];
210
+ const toolNamesById = new Map;
211
+ for (const msg of messages) {
212
+ if (msg.type === "assistant") {
213
+ const content = convertInternalAssistantMessage(msg);
214
+ if (content.parts.length > 0) {
215
+ contents.push(content);
216
+ }
217
+ const assistantContent = msg.message.content;
218
+ if (Array.isArray(assistantContent)) {
219
+ for (const block of assistantContent) {
220
+ if (typeof block !== "string" && block.type === "tool_use") {
221
+ toolNamesById.set(block.id, block.name);
222
+ }
223
+ }
224
+ }
225
+ continue;
226
+ }
227
+ if (msg.type === "user") {
228
+ const content = convertInternalUserMessage(msg, toolNamesById);
229
+ if (content.parts.length > 0) {
230
+ contents.push(content);
231
+ }
232
+ }
233
+ }
234
+ const systemText = systemPromptToText(systemPrompt);
235
+ return {
236
+ contents,
237
+ ...systemText ? {
238
+ systemInstruction: {
239
+ parts: [{ text: systemText }]
240
+ }
241
+ } : {}
242
+ };
243
+ }
244
+ function systemPromptToText(systemPrompt) {
245
+ if (!systemPrompt || systemPrompt.length === 0)
246
+ return "";
247
+ return systemPrompt.filter(Boolean).join(`
248
+
249
+ `);
250
+ }
251
+ function convertInternalUserMessage(msg, toolNamesById) {
252
+ const content = msg.message.content;
253
+ if (typeof content === "string") {
254
+ return {
255
+ role: "user",
256
+ parts: createTextGeminiParts(content)
257
+ };
258
+ }
259
+ if (!Array.isArray(content)) {
260
+ return { role: "user", parts: [] };
261
+ }
262
+ return {
263
+ role: "user",
264
+ parts: content.flatMap((block) => convertUserContentBlockToGeminiParts(block, toolNamesById))
265
+ };
266
+ }
267
+ function convertUserContentBlockToGeminiParts(block, toolNamesById) {
268
+ if (typeof block === "string") {
269
+ return createTextGeminiParts(block);
270
+ }
271
+ if (block.type === "text") {
272
+ return createTextGeminiParts(block.text);
273
+ }
274
+ if (block.type === "tool_result") {
275
+ const toolResult = block;
276
+ return [
277
+ {
278
+ functionResponse: {
279
+ name: toolNamesById.get(toolResult.tool_use_id) ?? toolResult.tool_use_id,
280
+ response: toolResultToResponseObject(toolResult)
281
+ }
282
+ }
283
+ ];
284
+ }
285
+ if (block.type === "image") {
286
+ const source = block.source;
287
+ if (source?.type === "base64" && typeof source.data === "string") {
288
+ const mediaType = source.media_type || "image/png";
289
+ return [
290
+ {
291
+ inlineData: {
292
+ mimeType: mediaType,
293
+ data: source.data
294
+ }
295
+ }
296
+ ];
297
+ }
298
+ if (source?.type === "url" && typeof source.url === "string") {
299
+ return createTextGeminiParts(`[image: ${source.url}]`);
300
+ }
301
+ }
302
+ return [];
303
+ }
304
+ function convertInternalAssistantMessage(msg) {
305
+ const content = msg.message.content;
306
+ if (typeof content === "string") {
307
+ return {
308
+ role: "model",
309
+ parts: createTextGeminiParts(content)
310
+ };
311
+ }
312
+ if (!Array.isArray(content)) {
313
+ return { role: "model", parts: [] };
314
+ }
315
+ const parts = [];
316
+ for (const block of content) {
317
+ if (typeof block === "string") {
318
+ parts.push(...createTextGeminiParts(block));
319
+ continue;
320
+ }
321
+ if (block.type === "text") {
322
+ parts.push(...createTextGeminiParts(block.text, getGeminiThoughtSignature(block)));
323
+ continue;
324
+ }
325
+ if (block.type === "thinking") {
326
+ const thinkingPart = createThinkingGeminiPart(block.thinking, block.signature);
327
+ if (thinkingPart) {
328
+ parts.push(thinkingPart);
329
+ }
330
+ continue;
331
+ }
332
+ if (block.type === "tool_use") {
333
+ const toolUse = block;
334
+ parts.push({
335
+ functionCall: {
336
+ name: toolUse.name,
337
+ args: normalizeToolUseInput(toolUse.input)
338
+ },
339
+ ...getGeminiThoughtSignature(block) && {
340
+ thoughtSignature: getGeminiThoughtSignature(block)
341
+ }
342
+ });
343
+ }
344
+ }
345
+ return { role: "model", parts };
346
+ }
347
+ function createTextGeminiParts(value, thoughtSignature) {
348
+ if (typeof value !== "string" || value.length === 0) {
349
+ return [];
350
+ }
351
+ return [
352
+ {
353
+ text: value,
354
+ ...thoughtSignature && { thoughtSignature }
355
+ }
356
+ ];
357
+ }
358
+ function createThinkingGeminiPart(value, thoughtSignature) {
359
+ if (typeof value !== "string" || value.length === 0) {
360
+ return;
361
+ }
362
+ return {
363
+ text: value,
364
+ thought: true,
365
+ ...thoughtSignature && { thoughtSignature }
366
+ };
367
+ }
368
+ function normalizeToolUseInput(input) {
369
+ if (typeof input === "string") {
370
+ const parsed = safeParseJSON(input);
371
+ if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
372
+ return parsed;
373
+ }
374
+ return parsed === null ? {} : { value: parsed };
375
+ }
376
+ if (input && typeof input === "object" && !Array.isArray(input)) {
377
+ return input;
378
+ }
379
+ return input === undefined ? {} : { value: input };
380
+ }
381
+ function toolResultToResponseObject(block) {
382
+ const result = normalizeToolResultContent(block.content);
383
+ if (result && typeof result === "object" && !Array.isArray(result)) {
384
+ return block.is_error ? { ...result, is_error: true } : result;
385
+ }
386
+ return {
387
+ result,
388
+ ...block.is_error ? { is_error: true } : {}
389
+ };
390
+ }
391
+ function normalizeToolResultContent(content) {
392
+ if (typeof content === "string") {
393
+ const parsed = safeParseJSON(content);
394
+ return parsed ?? content;
395
+ }
396
+ if (Array.isArray(content)) {
397
+ const text = content.map((part) => {
398
+ if (typeof part === "string")
399
+ return part;
400
+ if (part && typeof part === "object" && "text" in part && typeof part.text === "string") {
401
+ return part.text;
402
+ }
403
+ return "";
404
+ }).filter(Boolean).join(`
405
+ `);
406
+ const parsed = safeParseJSON(text);
407
+ return parsed ?? text;
408
+ }
409
+ return content ?? "";
410
+ }
411
+ function getGeminiThoughtSignature(block) {
412
+ const signature = block[GEMINI_THOUGHT_SIGNATURE_FIELD];
413
+ return typeof signature === "string" && signature.length > 0 ? signature : undefined;
414
+ }
415
+ var init_convertMessages = __esm(() => {
416
+ init_json();
417
+ init_types();
418
+ });
419
+
420
+ // src/services/api/gemini/convertTools.ts
421
+ function normalizeGeminiJsonSchemaType(value) {
422
+ if (typeof value === "string") {
423
+ return GEMINI_JSON_SCHEMA_TYPES.has(value) ? value : undefined;
424
+ }
425
+ if (Array.isArray(value)) {
426
+ const normalized = value.filter((item) => typeof item === "string" && GEMINI_JSON_SCHEMA_TYPES.has(item));
427
+ const unique = Array.from(new Set(normalized));
428
+ if (unique.length === 0)
429
+ return;
430
+ return unique.length === 1 ? unique[0] : unique;
431
+ }
432
+ return;
433
+ }
434
+ function inferGeminiJsonSchemaTypeFromValue(value) {
435
+ if (value === null)
436
+ return "null";
437
+ if (Array.isArray(value))
438
+ return "array";
439
+ if (typeof value === "string")
440
+ return "string";
441
+ if (typeof value === "boolean")
442
+ return "boolean";
443
+ if (typeof value === "number") {
444
+ return Number.isInteger(value) ? "integer" : "number";
445
+ }
446
+ if (typeof value === "object")
447
+ return "object";
448
+ return;
449
+ }
450
+ function inferGeminiJsonSchemaTypeFromEnum(values) {
451
+ const inferred = values.map(inferGeminiJsonSchemaTypeFromValue).filter((value) => value !== undefined);
452
+ const unique = Array.from(new Set(inferred));
453
+ if (unique.length === 0)
454
+ return;
455
+ return unique.length === 1 ? unique[0] : unique;
456
+ }
457
+ function addNullToGeminiJsonSchemaType(value) {
458
+ if (value === undefined)
459
+ return ["null"];
460
+ if (Array.isArray(value)) {
461
+ return value.includes("null") ? value : [...value, "null"];
462
+ }
463
+ return value === "null" ? value : [value, "null"];
464
+ }
465
+ function sanitizeGeminiJsonSchemaProperties(value) {
466
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
467
+ return;
468
+ }
469
+ const sanitizedEntries = Object.entries(value).map(([key, schema]) => [key, sanitizeGeminiJsonSchema(schema)]).filter(([, schema]) => Object.keys(schema).length > 0);
470
+ if (sanitizedEntries.length === 0) {
471
+ return;
472
+ }
473
+ return Object.fromEntries(sanitizedEntries);
474
+ }
475
+ function sanitizeGeminiJsonSchemaArray(value) {
476
+ if (!Array.isArray(value))
477
+ return;
478
+ const sanitized = value.map((item) => sanitizeGeminiJsonSchema(item)).filter((item) => Object.keys(item).length > 0);
479
+ return sanitized.length > 0 ? sanitized : undefined;
480
+ }
481
+ function sanitizeGeminiJsonSchema(schema) {
482
+ if (!schema || typeof schema !== "object" || Array.isArray(schema)) {
483
+ return {};
484
+ }
485
+ const source = schema;
486
+ const result = {};
487
+ let type = normalizeGeminiJsonSchemaType(source.type);
488
+ if (source.const !== undefined) {
489
+ result.enum = [source.const];
490
+ type = type ?? inferGeminiJsonSchemaTypeFromValue(source.const);
491
+ } else if (Array.isArray(source.enum) && source.enum.length > 0) {
492
+ result.enum = source.enum;
493
+ type = type ?? inferGeminiJsonSchemaTypeFromEnum(source.enum);
494
+ }
495
+ if (!type) {
496
+ if (source.properties && typeof source.properties === "object") {
497
+ type = "object";
498
+ } else if (source.items !== undefined || source.prefixItems !== undefined) {
499
+ type = "array";
500
+ }
501
+ }
502
+ if (source.nullable === true) {
503
+ type = addNullToGeminiJsonSchemaType(type);
504
+ }
505
+ if (type) {
506
+ result.type = type;
507
+ }
508
+ if (typeof source.title === "string") {
509
+ result.title = source.title;
510
+ }
511
+ if (typeof source.description === "string") {
512
+ result.description = source.description;
513
+ }
514
+ if (typeof source.format === "string") {
515
+ result.format = source.format;
516
+ }
517
+ if (typeof source.pattern === "string") {
518
+ result.pattern = source.pattern;
519
+ }
520
+ if (typeof source.minimum === "number") {
521
+ result.minimum = source.minimum;
522
+ } else if (typeof source.exclusiveMinimum === "number") {
523
+ result.minimum = source.exclusiveMinimum;
524
+ }
525
+ if (typeof source.maximum === "number") {
526
+ result.maximum = source.maximum;
527
+ } else if (typeof source.exclusiveMaximum === "number") {
528
+ result.maximum = source.exclusiveMaximum;
529
+ }
530
+ if (typeof source.minItems === "number") {
531
+ result.minItems = source.minItems;
532
+ }
533
+ if (typeof source.maxItems === "number") {
534
+ result.maxItems = source.maxItems;
535
+ }
536
+ if (typeof source.minLength === "number") {
537
+ result.minLength = source.minLength;
538
+ }
539
+ if (typeof source.maxLength === "number") {
540
+ result.maxLength = source.maxLength;
541
+ }
542
+ if (typeof source.minProperties === "number") {
543
+ result.minProperties = source.minProperties;
544
+ }
545
+ if (typeof source.maxProperties === "number") {
546
+ result.maxProperties = source.maxProperties;
547
+ }
548
+ const properties = sanitizeGeminiJsonSchemaProperties(source.properties);
549
+ if (properties) {
550
+ result.properties = properties;
551
+ result.propertyOrdering = Object.keys(properties);
552
+ }
553
+ if (Array.isArray(source.required)) {
554
+ const required = source.required.filter((item) => typeof item === "string");
555
+ if (required.length > 0) {
556
+ result.required = required;
557
+ }
558
+ }
559
+ if (typeof source.additionalProperties === "boolean") {
560
+ result.additionalProperties = source.additionalProperties;
561
+ } else {
562
+ const additionalProperties = sanitizeGeminiJsonSchema(source.additionalProperties);
563
+ if (Object.keys(additionalProperties).length > 0) {
564
+ result.additionalProperties = additionalProperties;
565
+ }
566
+ }
567
+ const items = sanitizeGeminiJsonSchema(source.items);
568
+ if (Object.keys(items).length > 0) {
569
+ result.items = items;
570
+ }
571
+ const prefixItems = sanitizeGeminiJsonSchemaArray(source.prefixItems);
572
+ if (prefixItems) {
573
+ result.prefixItems = prefixItems;
574
+ }
575
+ const anyOf = sanitizeGeminiJsonSchemaArray(source.anyOf ?? source.oneOf);
576
+ if (anyOf) {
577
+ result.anyOf = anyOf;
578
+ }
579
+ return result;
580
+ }
581
+ function sanitizeGeminiFunctionParameters(schema) {
582
+ const sanitized = sanitizeGeminiJsonSchema(schema);
583
+ if (Object.keys(sanitized).length > 0) {
584
+ return sanitized;
585
+ }
586
+ return {
587
+ type: "object",
588
+ properties: {}
589
+ };
590
+ }
591
+ function anthropicToolsToGemini(tools) {
592
+ const functionDeclarations = tools.filter((tool) => {
593
+ const toolType = tool.type;
594
+ return tool.type === "custom" || !("type" in tool) || toolType !== "server";
595
+ }).map((tool) => {
596
+ const anyTool = tool;
597
+ const name = anyTool.name || "";
598
+ const description = anyTool.description || "";
599
+ const inputSchema = anyTool.input_schema ?? {
600
+ type: "object",
601
+ properties: {}
602
+ };
603
+ return {
604
+ name,
605
+ description,
606
+ parametersJsonSchema: sanitizeGeminiFunctionParameters(inputSchema)
607
+ };
608
+ });
609
+ return functionDeclarations.length > 0 ? [{ functionDeclarations }] : [];
610
+ }
611
+ function anthropicToolChoiceToGemini(toolChoice) {
612
+ if (!toolChoice || typeof toolChoice !== "object")
613
+ return;
614
+ const tc = toolChoice;
615
+ const type = tc.type;
616
+ switch (type) {
617
+ case "auto":
618
+ return { mode: "AUTO" };
619
+ case "any":
620
+ return { mode: "ANY" };
621
+ case "tool":
622
+ return {
623
+ mode: "ANY",
624
+ allowedFunctionNames: typeof tc.name === "string" ? [tc.name] : undefined
625
+ };
626
+ default:
627
+ return;
628
+ }
629
+ }
630
+ var GEMINI_JSON_SCHEMA_TYPES;
631
+ var init_convertTools = __esm(() => {
632
+ GEMINI_JSON_SCHEMA_TYPES = new Set([
633
+ "string",
634
+ "number",
635
+ "integer",
636
+ "boolean",
637
+ "object",
638
+ "array",
639
+ "null"
640
+ ]);
641
+ });
642
+
643
+ // src/services/api/gemini/modelMapping.ts
644
+ function getModelFamily(model) {
645
+ if (/haiku/i.test(model))
646
+ return "haiku";
647
+ if (/opus/i.test(model))
648
+ return "opus";
649
+ if (/sonnet/i.test(model))
650
+ return "sonnet";
651
+ return null;
652
+ }
653
+ function resolveGeminiModel(anthropicModel) {
654
+ if (process.env.GEMINI_MODEL) {
655
+ return process.env.GEMINI_MODEL;
656
+ }
657
+ const cleanModel = anthropicModel.replace(/\[1m\]$/i, "");
658
+ const family = getModelFamily(cleanModel);
659
+ if (!family) {
660
+ return cleanModel;
661
+ }
662
+ const geminiEnvVar = `GEMINI_DEFAULT_${family.toUpperCase()}_MODEL`;
663
+ const geminiModel = process.env[geminiEnvVar];
664
+ if (geminiModel) {
665
+ return geminiModel;
666
+ }
667
+ const sharedEnvVar = `ANTHROPIC_DEFAULT_${family.toUpperCase()}_MODEL`;
668
+ const resolvedModel = process.env[sharedEnvVar];
669
+ if (resolvedModel) {
670
+ return resolvedModel;
671
+ }
672
+ throw new Error(`Gemini provider requires GEMINI_MODEL or ${geminiEnvVar} (or ${sharedEnvVar} for backward compatibility) to be configured.`);
673
+ }
674
+ var init_modelMapping = () => {};
675
+
676
+ // src/services/api/gemini/streamAdapter.ts
677
+ import { randomUUID } from "crypto";
678
+ async function* adaptGeminiStreamToAnthropic(stream, model) {
679
+ const messageId = `msg_${randomUUID().replace(/-/g, "").slice(0, 24)}`;
680
+ let started = false;
681
+ let stopped = false;
682
+ let nextContentIndex = 0;
683
+ let openTextLikeBlock = null;
684
+ let sawToolUse = false;
685
+ let finishReason;
686
+ let inputTokens = 0;
687
+ let outputTokens = 0;
688
+ for await (const chunk of stream) {
689
+ const usage = chunk.usageMetadata;
690
+ if (usage) {
691
+ inputTokens = usage.promptTokenCount ?? inputTokens;
692
+ outputTokens = (usage.candidatesTokenCount ?? 0) + (usage.thoughtsTokenCount ?? 0);
693
+ }
694
+ if (!started) {
695
+ started = true;
696
+ yield {
697
+ type: "message_start",
698
+ message: {
699
+ id: messageId,
700
+ type: "message",
701
+ role: "assistant",
702
+ content: [],
703
+ model,
704
+ stop_reason: null,
705
+ stop_sequence: null,
706
+ usage: {
707
+ input_tokens: inputTokens,
708
+ output_tokens: 0,
709
+ cache_creation_input_tokens: 0,
710
+ cache_read_input_tokens: 0
711
+ }
712
+ }
713
+ };
714
+ }
715
+ const candidate = chunk.candidates?.[0];
716
+ const parts = candidate?.content?.parts ?? [];
717
+ for (const part of parts) {
718
+ if (part.functionCall) {
719
+ if (openTextLikeBlock) {
720
+ yield {
721
+ type: "content_block_stop",
722
+ index: openTextLikeBlock.index
723
+ };
724
+ openTextLikeBlock = null;
725
+ }
726
+ sawToolUse = true;
727
+ const toolIndex = nextContentIndex++;
728
+ const toolId = `toolu_${randomUUID().replace(/-/g, "").slice(0, 24)}`;
729
+ yield {
730
+ type: "content_block_start",
731
+ index: toolIndex,
732
+ content_block: {
733
+ type: "tool_use",
734
+ id: toolId,
735
+ name: part.functionCall.name || "",
736
+ input: {}
737
+ }
738
+ };
739
+ if (part.thoughtSignature) {
740
+ yield {
741
+ type: "content_block_delta",
742
+ index: toolIndex,
743
+ delta: {
744
+ type: "signature_delta",
745
+ signature: part.thoughtSignature
746
+ }
747
+ };
748
+ }
749
+ if (part.functionCall.args && Object.keys(part.functionCall.args).length > 0) {
750
+ yield {
751
+ type: "content_block_delta",
752
+ index: toolIndex,
753
+ delta: {
754
+ type: "input_json_delta",
755
+ partial_json: JSON.stringify(part.functionCall.args)
756
+ }
757
+ };
758
+ }
759
+ yield {
760
+ type: "content_block_stop",
761
+ index: toolIndex
762
+ };
763
+ continue;
764
+ }
765
+ const textLikeType = getTextLikeBlockType(part);
766
+ if (textLikeType) {
767
+ if (!openTextLikeBlock || openTextLikeBlock.type !== textLikeType) {
768
+ if (openTextLikeBlock) {
769
+ yield {
770
+ type: "content_block_stop",
771
+ index: openTextLikeBlock.index
772
+ };
773
+ }
774
+ openTextLikeBlock = {
775
+ index: nextContentIndex++,
776
+ type: textLikeType
777
+ };
778
+ yield {
779
+ type: "content_block_start",
780
+ index: openTextLikeBlock.index,
781
+ content_block: textLikeType === "thinking" ? {
782
+ type: "thinking",
783
+ thinking: "",
784
+ signature: ""
785
+ } : {
786
+ type: "text",
787
+ text: ""
788
+ }
789
+ };
790
+ }
791
+ if (part.text) {
792
+ yield {
793
+ type: "content_block_delta",
794
+ index: openTextLikeBlock.index,
795
+ delta: textLikeType === "thinking" ? {
796
+ type: "thinking_delta",
797
+ thinking: part.text
798
+ } : {
799
+ type: "text_delta",
800
+ text: part.text
801
+ }
802
+ };
803
+ }
804
+ if (part.thoughtSignature) {
805
+ yield {
806
+ type: "content_block_delta",
807
+ index: openTextLikeBlock.index,
808
+ delta: {
809
+ type: "signature_delta",
810
+ signature: part.thoughtSignature
811
+ }
812
+ };
813
+ }
814
+ continue;
815
+ }
816
+ if (part.thoughtSignature && openTextLikeBlock) {
817
+ yield {
818
+ type: "content_block_delta",
819
+ index: openTextLikeBlock.index,
820
+ delta: {
821
+ type: "signature_delta",
822
+ signature: part.thoughtSignature
823
+ }
824
+ };
825
+ }
826
+ }
827
+ if (candidate?.finishReason) {
828
+ finishReason = candidate.finishReason;
829
+ }
830
+ }
831
+ if (!started) {
832
+ return;
833
+ }
834
+ if (openTextLikeBlock) {
835
+ yield {
836
+ type: "content_block_stop",
837
+ index: openTextLikeBlock.index
838
+ };
839
+ }
840
+ if (!stopped) {
841
+ yield {
842
+ type: "message_delta",
843
+ delta: {
844
+ stop_reason: mapGeminiFinishReason(finishReason, sawToolUse),
845
+ stop_sequence: null
846
+ },
847
+ usage: {
848
+ output_tokens: outputTokens
849
+ }
850
+ };
851
+ yield {
852
+ type: "message_stop"
853
+ };
854
+ stopped = true;
855
+ }
856
+ }
857
+ function getTextLikeBlockType(part) {
858
+ if (typeof part.text !== "string") {
859
+ return null;
860
+ }
861
+ return part.thought ? "thinking" : "text";
862
+ }
863
+ function mapGeminiFinishReason(reason, sawToolUse) {
864
+ switch (reason) {
865
+ case "MAX_TOKENS":
866
+ return "max_tokens";
867
+ case "STOP":
868
+ case "FINISH_REASON_UNSPECIFIED":
869
+ case "SAFETY":
870
+ case "RECITATION":
871
+ case "BLOCKLIST":
872
+ case "PROHIBITED_CONTENT":
873
+ case "SPII":
874
+ case "MALFORMED_FUNCTION_CALL":
875
+ default:
876
+ return sawToolUse ? "tool_use" : "end_turn";
877
+ }
878
+ }
879
+ var init_streamAdapter = () => {};
880
+
881
+ // src/services/api/gemini/index.ts
882
+ import { randomUUID as randomUUID2 } from "crypto";
883
+ async function* queryModelGemini(messages, systemPrompt, tools, signal, options, thinkingConfig) {
884
+ try {
885
+ const geminiModel = resolveGeminiModel(options.model);
886
+ const messagesForAPI = normalizeMessagesForAPI(messages, tools);
887
+ const toolSchemas = await Promise.all(tools.map((tool) => toolToAPISchema(tool, {
888
+ getToolPermissionContext: options.getToolPermissionContext,
889
+ tools,
890
+ agents: options.agents,
891
+ allowedAgentTypes: options.allowedAgentTypes,
892
+ model: options.model
893
+ })));
894
+ const standardTools = toolSchemas.filter((t) => {
895
+ const anyTool = t;
896
+ return anyTool.type !== "advisor_20260301" && anyTool.type !== "computer_20250124";
897
+ });
898
+ const { contents, systemInstruction } = anthropicMessagesToGemini(messagesForAPI, systemPrompt);
899
+ const geminiTools = anthropicToolsToGemini(standardTools);
900
+ const toolChoice = anthropicToolChoiceToGemini(options.toolChoice);
901
+ const stream = streamGeminiGenerateContent({
902
+ model: geminiModel,
903
+ signal,
904
+ fetchOverride: options.fetchOverride,
905
+ body: {
906
+ contents,
907
+ ...systemInstruction && { systemInstruction },
908
+ ...geminiTools.length > 0 && { tools: geminiTools },
909
+ ...toolChoice && {
910
+ toolConfig: {
911
+ functionCallingConfig: toolChoice
912
+ }
913
+ },
914
+ generationConfig: {
915
+ ...options.temperatureOverride !== undefined && {
916
+ temperature: options.temperatureOverride
917
+ },
918
+ ...thinkingConfig.type !== "disabled" && {
919
+ thinkingConfig: {
920
+ includeThoughts: true,
921
+ ...thinkingConfig.type === "enabled" && {
922
+ thinkingBudget: thinkingConfig.budgetTokens
923
+ }
924
+ }
925
+ }
926
+ }
927
+ }
928
+ });
929
+ logForDebugging(`[Gemini] Calling model=${geminiModel}, messages=${contents.length}, tools=${geminiTools.length}`);
930
+ const adaptedStream = adaptGeminiStreamToAnthropic(stream, geminiModel);
931
+ const contentBlocks = {};
932
+ let partialMessage = undefined;
933
+ let ttftMs = 0;
934
+ const start = Date.now();
935
+ for await (const event of adaptedStream) {
936
+ switch (event.type) {
937
+ case "message_start":
938
+ partialMessage = event.message;
939
+ ttftMs = Date.now() - start;
940
+ break;
941
+ case "content_block_start": {
942
+ const idx = event.index;
943
+ const cb = event.content_block;
944
+ if (cb.type === "tool_use") {
945
+ contentBlocks[idx] = { ...cb, input: "" };
946
+ } else if (cb.type === "text") {
947
+ contentBlocks[idx] = { ...cb, text: "" };
948
+ } else if (cb.type === "thinking") {
949
+ contentBlocks[idx] = { ...cb, thinking: "", signature: "" };
950
+ } else {
951
+ contentBlocks[idx] = { ...cb };
952
+ }
953
+ break;
954
+ }
955
+ case "content_block_delta": {
956
+ const idx = event.index;
957
+ const delta = event.delta;
958
+ const block = contentBlocks[idx];
959
+ if (!block)
960
+ break;
961
+ if (delta.type === "text_delta") {
962
+ block.text = (block.text || "") + delta.text;
963
+ } else if (delta.type === "input_json_delta") {
964
+ block.input = (block.input || "") + delta.partial_json;
965
+ } else if (delta.type === "thinking_delta") {
966
+ block.thinking = (block.thinking || "") + delta.thinking;
967
+ } else if (delta.type === "signature_delta") {
968
+ if (block.type === "thinking") {
969
+ block.signature = delta.signature;
970
+ } else {
971
+ block[GEMINI_THOUGHT_SIGNATURE_FIELD] = delta.signature;
972
+ }
973
+ }
974
+ break;
975
+ }
976
+ case "content_block_stop": {
977
+ const idx = event.index;
978
+ const block = contentBlocks[idx];
979
+ if (!block || !partialMessage)
980
+ break;
981
+ const message = {
982
+ message: {
983
+ ...partialMessage,
984
+ content: normalizeContentFromAPI([block], tools, options.agentId)
985
+ },
986
+ requestId: undefined,
987
+ type: "assistant",
988
+ uuid: randomUUID2(),
989
+ timestamp: new Date().toISOString()
990
+ };
991
+ yield message;
992
+ break;
993
+ }
994
+ case "message_delta":
995
+ case "message_stop":
996
+ break;
997
+ }
998
+ yield {
999
+ type: "stream_event",
1000
+ event,
1001
+ ...event.type === "message_start" ? { ttftMs } : undefined
1002
+ };
1003
+ }
1004
+ } catch (error) {
1005
+ const errorMessage2 = error instanceof Error ? error.message : String(error);
1006
+ logForDebugging(`[Gemini] Error: ${errorMessage2}`, { level: "error" });
1007
+ yield createAssistantAPIErrorMessage({
1008
+ content: `API Error: ${errorMessage2}`,
1009
+ apiError: "api_error",
1010
+ error: error instanceof Error ? error : new Error(String(error))
1011
+ });
1012
+ }
1013
+ }
1014
+ var init_gemini = __esm(() => {
1015
+ init_api();
1016
+ init_debug();
1017
+ init_messages();
1018
+ init_client();
1019
+ init_convertMessages();
1020
+ init_convertTools();
1021
+ init_modelMapping();
1022
+ init_streamAdapter();
1023
+ init_types();
1024
+ });
1025
+ init_gemini();
1026
+
1027
+ export {
1028
+ queryModelGemini
1029
+ };