9router 0.3.83 → 0.3.84

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 (659) hide show
  1. package/app/.next/BUILD_ID +1 -1
  2. package/app/.next/app-path-routes-manifest.json +12 -2
  3. package/app/.next/build-manifest.json +2 -2
  4. package/app/.next/prerender-manifest.json +3 -3
  5. package/app/.next/routes-manifest.json +60 -0
  6. package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  7. package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  8. package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  9. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  10. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  11. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  12. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  13. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  14. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  15. package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  16. package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  17. package/app/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  18. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  19. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  20. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  21. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +18 -2
  22. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  23. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  24. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  25. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  26. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  27. package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  28. package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  29. package/app/.next/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  30. package/app/.next/server/app/(dashboard)/dashboard/page.js +2 -2
  31. package/app/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  32. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  33. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  34. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  35. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  36. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  37. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  38. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  39. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  40. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  41. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  42. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  43. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  44. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  45. package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js +3 -3
  46. package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  47. package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  48. package/app/.next/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  49. package/app/.next/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  50. package/app/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  51. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  52. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  53. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  54. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  55. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  56. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  57. package/app/.next/server/app/_global-error/page.js +2 -2
  58. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  59. package/app/.next/server/app/_global-error.html +1 -1
  60. package/app/.next/server/app/_global-error.rsc +1 -1
  61. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  62. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  63. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  64. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  65. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  66. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  67. package/app/.next/server/app/_not-found/page.js +2 -2
  68. package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
  69. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  70. package/app/.next/server/app/_not-found.html +1 -1
  71. package/app/.next/server/app/_not-found.rsc +4 -4
  72. package/app/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
  73. package/app/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  74. package/app/.next/server/app/_not-found.segments/_index.segment.rsc +4 -4
  75. package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  76. package/app/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  77. package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  78. package/app/.next/server/app/api/9remote/install/route.js +1 -1
  79. package/app/.next/server/app/api/9remote/start/route.js +1 -1
  80. package/app/.next/server/app/api/9remote/status/route.js +1 -1
  81. package/app/.next/server/app/api/auth/login/route.js +1 -1
  82. package/app/.next/server/app/api/auth/logout/route.js +1 -1
  83. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  84. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +2 -2
  85. package/app/.next/server/app/api/cli-tools/claude-settings/route.js +2 -2
  86. package/app/.next/server/app/api/cli-tools/codex-settings/route.js +3 -3
  87. package/app/.next/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  88. package/app/.next/server/app/api/cli-tools/droid-settings/route.js +2 -2
  89. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  90. package/app/.next/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  91. package/app/.next/server/app/api/cloud/auth/route.js +1 -1
  92. package/app/.next/server/app/api/cloud/credentials/update/route.js +1 -1
  93. package/app/.next/server/app/api/cloud/model/resolve/route.js +1 -1
  94. package/app/.next/server/app/api/cloud/models/alias/route.js +1 -1
  95. package/app/.next/server/app/api/combos/[id]/route.js +1 -1
  96. package/app/.next/server/app/api/combos/route.js +1 -1
  97. package/app/.next/server/app/api/health/route.js +1 -0
  98. package/app/.next/server/app/api/health/route.js.nft.json +1 -0
  99. package/app/.next/server/app/api/health/route_client-reference-manifest.js +1 -0
  100. package/app/.next/server/app/api/init/route.js +1 -1
  101. package/app/.next/server/app/api/init/route.js.nft.json +1 -1
  102. package/app/.next/server/app/api/keys/[id]/route.js +1 -1
  103. package/app/.next/server/app/api/keys/route.js +1 -1
  104. package/app/.next/server/app/api/locale/route.js +1 -1
  105. package/app/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -0
  106. package/app/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -0
  107. package/app/.next/server/app/api/media-providers/tts/elevenlabs/voices/route_client-reference-manifest.js +1 -0
  108. package/app/.next/server/app/api/media-providers/tts/voices/route.js +1 -0
  109. package/app/.next/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -0
  110. package/app/.next/server/app/api/media-providers/tts/voices/route_client-reference-manifest.js +1 -0
  111. package/app/.next/server/app/api/models/alias/route.js +1 -1
  112. package/app/.next/server/app/api/models/availability/route.js +1 -1
  113. package/app/.next/server/app/api/models/route.js +1 -1
  114. package/app/.next/server/app/api/models/test/route.js +1 -1
  115. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  116. package/app/.next/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  117. package/app/.next/server/app/api/oauth/cursor/import/route.js +1 -1
  118. package/app/.next/server/app/api/oauth/gitlab/pat/route.js +1 -1
  119. package/app/.next/server/app/api/oauth/iflow/cookie/route.js +1 -1
  120. package/app/.next/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  121. package/app/.next/server/app/api/oauth/kiro/import/route.js +1 -1
  122. package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  123. package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  124. package/app/.next/server/app/api/pricing/route.js +1 -1
  125. package/app/.next/server/app/api/provider-nodes/[id]/route.js +1 -1
  126. package/app/.next/server/app/api/provider-nodes/route.js +1 -1
  127. package/app/.next/server/app/api/provider-nodes/validate/route.js +1 -1
  128. package/app/.next/server/app/api/providers/[id]/models/route.js +1 -1
  129. package/app/.next/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  130. package/app/.next/server/app/api/providers/[id]/route.js +1 -1
  131. package/app/.next/server/app/api/providers/[id]/test/route.js +1 -1
  132. package/app/.next/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  133. package/app/.next/server/app/api/providers/[id]/test-models/route.js +1 -1
  134. package/app/.next/server/app/api/providers/client/route.js +1 -1
  135. package/app/.next/server/app/api/providers/kilo/free-models/route.js +1 -1
  136. package/app/.next/server/app/api/providers/route.js +1 -1
  137. package/app/.next/server/app/api/providers/test-batch/route.js +1 -1
  138. package/app/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  139. package/app/.next/server/app/api/providers/validate/route.js +1 -1
  140. package/app/.next/server/app/api/proxy-pools/[id]/route.js +1 -1
  141. package/app/.next/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  142. package/app/.next/server/app/api/proxy-pools/route.js +1 -1
  143. package/app/.next/server/app/api/settings/database/route.js +1 -1
  144. package/app/.next/server/app/api/settings/proxy-test/route.js +1 -1
  145. package/app/.next/server/app/api/settings/require-login/route.js +1 -1
  146. package/app/.next/server/app/api/settings/route.js +1 -1
  147. package/app/.next/server/app/api/shutdown/route.js +1 -1
  148. package/app/.next/server/app/api/tags/route.js +1 -1
  149. package/app/.next/server/app/api/translator/console-logs/route.js +1 -1
  150. package/app/.next/server/app/api/translator/console-logs/stream/route.js +2 -2
  151. package/app/.next/server/app/api/translator/load/route.js +1 -1
  152. package/app/.next/server/app/api/translator/save/route.js +1 -1
  153. package/app/.next/server/app/api/translator/send/route.js +1 -1
  154. package/app/.next/server/app/api/translator/translate/route.js +1 -1
  155. package/app/.next/server/app/api/tunnel/disable/route.js +1 -1
  156. package/app/.next/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  157. package/app/.next/server/app/api/tunnel/enable/route.js +1 -1
  158. package/app/.next/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  159. package/app/.next/server/app/api/tunnel/status/route.js +1 -1
  160. package/app/.next/server/app/api/tunnel/status/route.js.nft.json +1 -1
  161. package/app/.next/server/app/api/tunnel/tailscale-check/route.js +4 -0
  162. package/app/.next/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -0
  163. package/app/.next/server/app/api/tunnel/tailscale-check/route_client-reference-manifest.js +1 -0
  164. package/app/.next/server/app/api/tunnel/tailscale-disable/route.js +1 -0
  165. package/app/.next/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -0
  166. package/app/.next/server/app/api/tunnel/tailscale-disable/route_client-reference-manifest.js +1 -0
  167. package/app/.next/server/app/api/tunnel/tailscale-enable/route.js +1 -0
  168. package/app/.next/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -0
  169. package/app/.next/server/app/api/tunnel/tailscale-enable/route_client-reference-manifest.js +1 -0
  170. package/app/.next/server/app/api/tunnel/tailscale-install/route.js +5 -0
  171. package/app/.next/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -0
  172. package/app/.next/server/app/api/tunnel/tailscale-install/route_client-reference-manifest.js +1 -0
  173. package/app/.next/server/app/api/tunnel/tailscale-login/route.js +4 -0
  174. package/app/.next/server/app/api/tunnel/tailscale-login/route.js.nft.json +1 -0
  175. package/app/.next/server/app/api/tunnel/tailscale-login/route_client-reference-manifest.js +1 -0
  176. package/app/.next/server/app/api/tunnel/tailscale-start-daemon/route.js +2 -0
  177. package/app/.next/server/app/api/tunnel/tailscale-start-daemon/route.js.nft.json +1 -0
  178. package/app/.next/server/app/api/tunnel/tailscale-start-daemon/route_client-reference-manifest.js +1 -0
  179. package/app/.next/server/app/api/usage/[connectionId]/route.js +1 -1
  180. package/app/.next/server/app/api/usage/chart/route.js +1 -1
  181. package/app/.next/server/app/api/usage/history/route.js +1 -1
  182. package/app/.next/server/app/api/usage/providers/route.js +1 -1
  183. package/app/.next/server/app/api/usage/request-details/route.js +1 -1
  184. package/app/.next/server/app/api/usage/request-logs/route.js +1 -1
  185. package/app/.next/server/app/api/usage/stats/route.js +1 -1
  186. package/app/.next/server/app/api/usage/stream/route.js +2 -2
  187. package/app/.next/server/app/api/v1/api/chat/route.js +1 -1
  188. package/app/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  189. package/app/.next/server/app/api/v1/audio/speech/route.js +1 -0
  190. package/app/.next/server/app/api/v1/audio/speech/route.js.nft.json +1 -0
  191. package/app/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -0
  192. package/app/.next/server/app/api/v1/chat/completions/route.js +1 -1
  193. package/app/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  194. package/app/.next/server/app/api/v1/embeddings/route.js +1 -1
  195. package/app/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  196. package/app/.next/server/app/api/v1/messages/count_tokens/route.js +1 -1
  197. package/app/.next/server/app/api/v1/messages/route.js +1 -1
  198. package/app/.next/server/app/api/v1/messages/route.js.nft.json +1 -1
  199. package/app/.next/server/app/api/v1/models/route.js +1 -1
  200. package/app/.next/server/app/api/v1/responses/route.js +1 -1
  201. package/app/.next/server/app/api/v1/responses/route.js.nft.json +1 -1
  202. package/app/.next/server/app/api/v1/route.js +1 -1
  203. package/app/.next/server/app/api/v1beta/models/[...path]/route.js +1 -1
  204. package/app/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  205. package/app/.next/server/app/api/v1beta/models/route.js +1 -1
  206. package/app/.next/server/app/api/version/route.js +1 -1
  207. package/app/.next/server/app/callback/page.js +2 -2
  208. package/app/.next/server/app/callback/page.js.nft.json +1 -1
  209. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  210. package/app/.next/server/app/callback.html +1 -1
  211. package/app/.next/server/app/callback.rsc +4 -4
  212. package/app/.next/server/app/callback.segments/_full.segment.rsc +4 -4
  213. package/app/.next/server/app/callback.segments/_head.segment.rsc +1 -1
  214. package/app/.next/server/app/callback.segments/_index.segment.rsc +4 -4
  215. package/app/.next/server/app/callback.segments/_tree.segment.rsc +2 -2
  216. package/app/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  217. package/app/.next/server/app/callback.segments/callback.segment.rsc +1 -1
  218. package/app/.next/server/app/dashboard/basic-chat.html +1 -1
  219. package/app/.next/server/app/dashboard/basic-chat.rsc +6 -6
  220. package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  221. package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  222. package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  223. package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  224. package/app/.next/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
  225. package/app/.next/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  226. package/app/.next/server/app/dashboard/basic-chat.segments/_index.segment.rsc +4 -4
  227. package/app/.next/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  228. package/app/.next/server/app/dashboard/cli-tools.html +1 -1
  229. package/app/.next/server/app/dashboard/cli-tools.rsc +6 -6
  230. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  231. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  232. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  233. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  234. package/app/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +6 -6
  235. package/app/.next/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  236. package/app/.next/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
  237. package/app/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  238. package/app/.next/server/app/dashboard/combos.html +1 -1
  239. package/app/.next/server/app/dashboard/combos.rsc +6 -6
  240. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  241. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  242. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  243. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  244. package/app/.next/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
  245. package/app/.next/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  246. package/app/.next/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
  247. package/app/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  248. package/app/.next/server/app/dashboard/endpoint.html +1 -1
  249. package/app/.next/server/app/dashboard/endpoint.rsc +6 -6
  250. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  251. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  252. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  253. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  254. package/app/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +6 -6
  255. package/app/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  256. package/app/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
  257. package/app/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  258. package/app/.next/server/app/dashboard/mitm.html +1 -1
  259. package/app/.next/server/app/dashboard/mitm.rsc +6 -6
  260. package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  261. package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  262. package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  263. package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  264. package/app/.next/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
  265. package/app/.next/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  266. package/app/.next/server/app/dashboard/mitm.segments/_index.segment.rsc +4 -4
  267. package/app/.next/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  268. package/app/.next/server/app/dashboard/profile.html +1 -1
  269. package/app/.next/server/app/dashboard/profile.rsc +6 -6
  270. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  271. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  272. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  273. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  274. package/app/.next/server/app/dashboard/profile.segments/_full.segment.rsc +6 -6
  275. package/app/.next/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  276. package/app/.next/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
  277. package/app/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  278. package/app/.next/server/app/dashboard/providers/new.html +1 -1
  279. package/app/.next/server/app/dashboard/providers/new.rsc +6 -6
  280. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  281. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  282. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  283. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  284. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  285. package/app/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +6 -6
  286. package/app/.next/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  287. package/app/.next/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
  288. package/app/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  289. package/app/.next/server/app/dashboard/providers.html +1 -1
  290. package/app/.next/server/app/dashboard/providers.rsc +6 -6
  291. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  292. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  293. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  294. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  295. package/app/.next/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
  296. package/app/.next/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  297. package/app/.next/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
  298. package/app/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  299. package/app/.next/server/app/dashboard/proxy-pools.html +1 -1
  300. package/app/.next/server/app/dashboard/proxy-pools.rsc +6 -6
  301. package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  302. package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  303. package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  304. package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  305. package/app/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
  306. package/app/.next/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  307. package/app/.next/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +4 -4
  308. package/app/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  309. package/app/.next/server/app/dashboard/quota.html +2 -2
  310. package/app/.next/server/app/dashboard/quota.rsc +7 -7
  311. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  312. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  313. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  314. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  315. package/app/.next/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
  316. package/app/.next/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  317. package/app/.next/server/app/dashboard/quota.segments/_index.segment.rsc +4 -4
  318. package/app/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  319. package/app/.next/server/app/dashboard/settings/pricing/page.js +2 -2
  320. package/app/.next/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  321. package/app/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  322. package/app/.next/server/app/dashboard/settings/pricing.html +1 -1
  323. package/app/.next/server/app/dashboard/settings/pricing.rsc +4 -4
  324. package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  325. package/app/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  326. package/app/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
  327. package/app/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  328. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  329. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  330. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  331. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  332. package/app/.next/server/app/dashboard/translator.html +1 -1
  333. package/app/.next/server/app/dashboard/translator.rsc +6 -6
  334. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  335. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  336. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  337. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  338. package/app/.next/server/app/dashboard/translator.segments/_full.segment.rsc +6 -6
  339. package/app/.next/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  340. package/app/.next/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
  341. package/app/.next/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  342. package/app/.next/server/app/dashboard/usage.html +1 -1
  343. package/app/.next/server/app/dashboard/usage.rsc +6 -6
  344. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  345. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  346. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  347. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  348. package/app/.next/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
  349. package/app/.next/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  350. package/app/.next/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
  351. package/app/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  352. package/app/.next/server/app/dashboard.html +1 -1
  353. package/app/.next/server/app/dashboard.rsc +6 -6
  354. package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  355. package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  356. package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  357. package/app/.next/server/app/dashboard.segments/_full.segment.rsc +6 -6
  358. package/app/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
  359. package/app/.next/server/app/dashboard.segments/_index.segment.rsc +4 -4
  360. package/app/.next/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  361. package/app/.next/server/app/favicon.ico/route.js +1 -1
  362. package/app/.next/server/app/index.html +1 -1
  363. package/app/.next/server/app/index.rsc +4 -4
  364. package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  365. package/app/.next/server/app/index.segments/_full.segment.rsc +4 -4
  366. package/app/.next/server/app/index.segments/_head.segment.rsc +1 -1
  367. package/app/.next/server/app/index.segments/_index.segment.rsc +4 -4
  368. package/app/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  369. package/app/.next/server/app/landing/page.js +2 -2
  370. package/app/.next/server/app/landing/page.js.nft.json +1 -1
  371. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  372. package/app/.next/server/app/landing.html +1 -1
  373. package/app/.next/server/app/landing.rsc +4 -4
  374. package/app/.next/server/app/landing.segments/_full.segment.rsc +4 -4
  375. package/app/.next/server/app/landing.segments/_head.segment.rsc +1 -1
  376. package/app/.next/server/app/landing.segments/_index.segment.rsc +4 -4
  377. package/app/.next/server/app/landing.segments/_tree.segment.rsc +2 -2
  378. package/app/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  379. package/app/.next/server/app/landing.segments/landing.segment.rsc +1 -1
  380. package/app/.next/server/app/login/page.js +2 -2
  381. package/app/.next/server/app/login/page.js.nft.json +1 -1
  382. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  383. package/app/.next/server/app/login.html +1 -1
  384. package/app/.next/server/app/login.rsc +5 -5
  385. package/app/.next/server/app/login.segments/_full.segment.rsc +5 -5
  386. package/app/.next/server/app/login.segments/_head.segment.rsc +1 -1
  387. package/app/.next/server/app/login.segments/_index.segment.rsc +4 -4
  388. package/app/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  389. package/app/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  390. package/app/.next/server/app/login.segments/login.segment.rsc +1 -1
  391. package/app/.next/server/app/manifest.webmanifest/route.js +2 -2
  392. package/app/.next/server/app/page.js +2 -2
  393. package/app/.next/server/app/page.js.nft.json +1 -1
  394. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  395. package/app/.next/server/app-paths-manifest.json +12 -2
  396. package/app/.next/server/chunks/149.js +1 -1
  397. package/app/.next/server/chunks/1574.js +2 -2
  398. package/app/.next/server/chunks/2049.js +1 -1
  399. package/app/.next/server/chunks/242.js +1 -1
  400. package/app/.next/server/chunks/3159.js +1 -1
  401. package/app/.next/server/chunks/3774.js +5 -0
  402. package/app/.next/server/chunks/450.js +2 -2
  403. package/app/.next/server/chunks/4891.js +1 -1
  404. package/app/.next/server/chunks/6502.js +1 -1
  405. package/app/.next/server/chunks/6560.js +1 -0
  406. package/app/.next/server/chunks/7770.js +1 -1
  407. package/app/.next/server/chunks/7973.js +1 -1
  408. package/app/.next/server/chunks/8202.js +3 -3
  409. package/app/.next/server/chunks/8443.js +1 -0
  410. package/app/.next/server/chunks/8480.js +18 -0
  411. package/app/.next/server/chunks/8872.js +1 -0
  412. package/app/.next/server/chunks/9489.js +1 -1
  413. package/app/.next/server/middleware-build-manifest.js +1 -1
  414. package/app/.next/server/pages/404.html +1 -1
  415. package/app/.next/server/pages/500.html +1 -1
  416. package/app/.next/server/server-reference-manifest.js +1 -1
  417. package/app/.next/server/server-reference-manifest.json +1 -1
  418. package/app/.next/static/75YPUzi7A-SD5Mr7bjW59/_buildManifest.js +1 -0
  419. package/app/.next/static/chunks/1237-ad8b85796830b483.js +18 -0
  420. package/app/.next/static/chunks/{4156-1395e387d697cca5.js → 4156-f1ab9a44800f6c78.js} +2 -2
  421. package/app/.next/static/chunks/505-b713b5cb2260afa7.js +1 -0
  422. package/app/.next/static/chunks/8035-3dd25fa581b0cc7e.js +3 -0
  423. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-f2206753c04da01d.js +1 -0
  424. package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/{page-d0ee61fa81abf27e.js → page-8556b646c8002338.js} +1 -1
  425. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-fca6728573e41e33.js +17 -0
  426. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-ebe4ae25d01f731a.js +1 -0
  427. package/app/.next/static/chunks/app/(dashboard)/dashboard/mitm/{page-7985d81ed92c1758.js → page-21fffa0f231796e9.js} +1 -1
  428. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-4f00b19622563066.js +1 -0
  429. package/app/.next/static/chunks/app/_global-error/page-c110d4ffccc765c0.js +1 -0
  430. package/app/.next/static/chunks/app/api/9remote/install/route-c110d4ffccc765c0.js +1 -0
  431. package/app/.next/static/chunks/app/api/9remote/start/route-c110d4ffccc765c0.js +1 -0
  432. package/app/.next/static/chunks/app/api/9remote/status/route-c110d4ffccc765c0.js +1 -0
  433. package/app/.next/static/chunks/app/api/auth/login/route-c110d4ffccc765c0.js +1 -0
  434. package/app/.next/static/chunks/app/api/auth/logout/route-c110d4ffccc765c0.js +1 -0
  435. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-c110d4ffccc765c0.js +1 -0
  436. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-c110d4ffccc765c0.js +1 -0
  437. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-c110d4ffccc765c0.js +1 -0
  438. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-c110d4ffccc765c0.js +1 -0
  439. package/app/.next/static/chunks/app/api/cli-tools/copilot-settings/route-c110d4ffccc765c0.js +1 -0
  440. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-c110d4ffccc765c0.js +1 -0
  441. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-c110d4ffccc765c0.js +1 -0
  442. package/app/.next/static/chunks/app/api/cli-tools/opencode-settings/route-c110d4ffccc765c0.js +1 -0
  443. package/app/.next/static/chunks/app/api/cloud/auth/route-c110d4ffccc765c0.js +1 -0
  444. package/app/.next/static/chunks/app/api/cloud/credentials/update/route-c110d4ffccc765c0.js +1 -0
  445. package/app/.next/static/chunks/app/api/cloud/model/resolve/route-c110d4ffccc765c0.js +1 -0
  446. package/app/.next/static/chunks/app/api/cloud/models/alias/route-c110d4ffccc765c0.js +1 -0
  447. package/app/.next/static/chunks/app/api/combos/[id]/route-c110d4ffccc765c0.js +1 -0
  448. package/app/.next/static/chunks/app/api/combos/route-c110d4ffccc765c0.js +1 -0
  449. package/app/.next/static/chunks/app/api/health/route-c110d4ffccc765c0.js +1 -0
  450. package/app/.next/static/chunks/app/api/init/route-c110d4ffccc765c0.js +1 -0
  451. package/app/.next/static/chunks/app/api/keys/[id]/route-c110d4ffccc765c0.js +1 -0
  452. package/app/.next/static/chunks/app/api/keys/route-c110d4ffccc765c0.js +1 -0
  453. package/app/.next/static/chunks/app/api/locale/route-c110d4ffccc765c0.js +1 -0
  454. package/app/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-c110d4ffccc765c0.js +1 -0
  455. package/app/.next/static/chunks/app/api/media-providers/tts/voices/route-c110d4ffccc765c0.js +1 -0
  456. package/app/.next/static/chunks/app/api/models/alias/route-c110d4ffccc765c0.js +1 -0
  457. package/app/.next/static/chunks/app/api/models/availability/route-c110d4ffccc765c0.js +1 -0
  458. package/app/.next/static/chunks/app/api/models/route-c110d4ffccc765c0.js +1 -0
  459. package/app/.next/static/chunks/app/api/models/test/route-c110d4ffccc765c0.js +1 -0
  460. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-c110d4ffccc765c0.js +1 -0
  461. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-c110d4ffccc765c0.js +1 -0
  462. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-c110d4ffccc765c0.js +1 -0
  463. package/app/.next/static/chunks/app/api/oauth/gitlab/pat/route-c110d4ffccc765c0.js +1 -0
  464. package/app/.next/static/chunks/app/api/oauth/iflow/cookie/route-c110d4ffccc765c0.js +1 -0
  465. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-c110d4ffccc765c0.js +1 -0
  466. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-c110d4ffccc765c0.js +1 -0
  467. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-c110d4ffccc765c0.js +1 -0
  468. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-c110d4ffccc765c0.js +1 -0
  469. package/app/.next/static/chunks/app/api/pricing/route-c110d4ffccc765c0.js +1 -0
  470. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-c110d4ffccc765c0.js +1 -0
  471. package/app/.next/static/chunks/app/api/provider-nodes/route-c110d4ffccc765c0.js +1 -0
  472. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-c110d4ffccc765c0.js +1 -0
  473. package/app/.next/static/chunks/app/api/providers/[id]/models/route-c110d4ffccc765c0.js +1 -0
  474. package/app/.next/static/chunks/app/api/providers/[id]/route-c110d4ffccc765c0.js +1 -0
  475. package/app/.next/static/chunks/app/api/providers/[id]/test/route-c110d4ffccc765c0.js +1 -0
  476. package/app/.next/static/chunks/app/api/providers/[id]/test-models/route-c110d4ffccc765c0.js +1 -0
  477. package/app/.next/static/chunks/app/api/providers/client/route-c110d4ffccc765c0.js +1 -0
  478. package/app/.next/static/chunks/app/api/providers/kilo/free-models/route-c110d4ffccc765c0.js +1 -0
  479. package/app/.next/static/chunks/app/api/providers/route-c110d4ffccc765c0.js +1 -0
  480. package/app/.next/static/chunks/app/api/providers/test-batch/route-c110d4ffccc765c0.js +1 -0
  481. package/app/.next/static/chunks/app/api/providers/validate/route-c110d4ffccc765c0.js +1 -0
  482. package/app/.next/static/chunks/app/api/proxy-pools/[id]/route-c110d4ffccc765c0.js +1 -0
  483. package/app/.next/static/chunks/app/api/proxy-pools/[id]/test/route-c110d4ffccc765c0.js +1 -0
  484. package/app/.next/static/chunks/app/api/proxy-pools/route-c110d4ffccc765c0.js +1 -0
  485. package/app/.next/static/chunks/app/api/settings/database/route-c110d4ffccc765c0.js +1 -0
  486. package/app/.next/static/chunks/app/api/settings/proxy-test/route-c110d4ffccc765c0.js +1 -0
  487. package/app/.next/static/chunks/app/api/settings/require-login/route-c110d4ffccc765c0.js +1 -0
  488. package/app/.next/static/chunks/app/api/settings/route-c110d4ffccc765c0.js +1 -0
  489. package/app/.next/static/chunks/app/api/shutdown/route-c110d4ffccc765c0.js +1 -0
  490. package/app/.next/static/chunks/app/api/tags/route-c110d4ffccc765c0.js +1 -0
  491. package/app/.next/static/chunks/app/api/translator/console-logs/route-c110d4ffccc765c0.js +1 -0
  492. package/app/.next/static/chunks/app/api/translator/console-logs/stream/route-c110d4ffccc765c0.js +1 -0
  493. package/app/.next/static/chunks/app/api/translator/load/route-c110d4ffccc765c0.js +1 -0
  494. package/app/.next/static/chunks/app/api/translator/save/route-c110d4ffccc765c0.js +1 -0
  495. package/app/.next/static/chunks/app/api/translator/send/route-c110d4ffccc765c0.js +1 -0
  496. package/app/.next/static/chunks/app/api/translator/translate/route-c110d4ffccc765c0.js +1 -0
  497. package/app/.next/static/chunks/app/api/tunnel/disable/route-c110d4ffccc765c0.js +1 -0
  498. package/app/.next/static/chunks/app/api/tunnel/enable/route-c110d4ffccc765c0.js +1 -0
  499. package/app/.next/static/chunks/app/api/tunnel/status/route-c110d4ffccc765c0.js +1 -0
  500. package/app/.next/static/chunks/app/api/tunnel/tailscale-check/route-c110d4ffccc765c0.js +1 -0
  501. package/app/.next/static/chunks/app/api/tunnel/tailscale-disable/route-c110d4ffccc765c0.js +1 -0
  502. package/app/.next/static/chunks/app/api/tunnel/tailscale-enable/route-c110d4ffccc765c0.js +1 -0
  503. package/app/.next/static/chunks/app/api/tunnel/tailscale-install/route-c110d4ffccc765c0.js +1 -0
  504. package/app/.next/static/chunks/app/api/tunnel/tailscale-login/route-c110d4ffccc765c0.js +1 -0
  505. package/app/.next/static/chunks/app/api/tunnel/tailscale-start-daemon/route-c110d4ffccc765c0.js +1 -0
  506. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-c110d4ffccc765c0.js +1 -0
  507. package/app/.next/static/chunks/app/api/usage/chart/route-c110d4ffccc765c0.js +1 -0
  508. package/app/.next/static/chunks/app/api/usage/history/route-c110d4ffccc765c0.js +1 -0
  509. package/app/.next/static/chunks/app/api/usage/providers/route-c110d4ffccc765c0.js +1 -0
  510. package/app/.next/static/chunks/app/api/usage/request-details/route-c110d4ffccc765c0.js +1 -0
  511. package/app/.next/static/chunks/app/api/usage/request-logs/route-c110d4ffccc765c0.js +1 -0
  512. package/app/.next/static/chunks/app/api/usage/stats/route-c110d4ffccc765c0.js +1 -0
  513. package/app/.next/static/chunks/app/api/usage/stream/route-c110d4ffccc765c0.js +1 -0
  514. package/app/.next/static/chunks/app/api/v1/api/chat/route-c110d4ffccc765c0.js +1 -0
  515. package/app/.next/static/chunks/app/api/v1/audio/speech/route-c110d4ffccc765c0.js +1 -0
  516. package/app/.next/static/chunks/app/api/v1/chat/completions/route-c110d4ffccc765c0.js +1 -0
  517. package/app/.next/static/chunks/app/api/v1/embeddings/route-c110d4ffccc765c0.js +1 -0
  518. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-c110d4ffccc765c0.js +1 -0
  519. package/app/.next/static/chunks/app/api/v1/messages/route-c110d4ffccc765c0.js +1 -0
  520. package/app/.next/static/chunks/app/api/v1/models/route-c110d4ffccc765c0.js +1 -0
  521. package/app/.next/static/chunks/app/api/v1/responses/route-c110d4ffccc765c0.js +1 -0
  522. package/app/.next/static/chunks/app/api/v1/route-c110d4ffccc765c0.js +1 -0
  523. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-c110d4ffccc765c0.js +1 -0
  524. package/app/.next/static/chunks/app/api/v1beta/models/route-c110d4ffccc765c0.js +1 -0
  525. package/app/.next/static/chunks/app/api/version/route-c110d4ffccc765c0.js +1 -0
  526. package/app/.next/static/chunks/app/manifest.webmanifest/route-c110d4ffccc765c0.js +1 -0
  527. package/app/.next/static/chunks/app/page-c110d4ffccc765c0.js +1 -0
  528. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-c110d4ffccc765c0.js +1 -0
  529. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-c110d4ffccc765c0.js +1 -0
  530. package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-c110d4ffccc765c0.js +1 -0
  531. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-c110d4ffccc765c0.js +1 -0
  532. package/app/.next/static/css/3c8c3188174785a1.css +1 -0
  533. package/app/package.json +1 -1
  534. package/app/public/providers/cartesia.png +0 -0
  535. package/app/public/providers/cerebras.png +0 -0
  536. package/app/public/providers/cohere.png +0 -0
  537. package/app/public/providers/comfyui.png +0 -0
  538. package/app/public/providers/deepseek.png +0 -0
  539. package/app/public/providers/edge-tts.png +0 -0
  540. package/app/public/providers/elevenlabs.png +0 -0
  541. package/app/public/providers/fireworks.png +0 -0
  542. package/app/public/providers/google-tts.png +0 -0
  543. package/app/public/providers/groq.png +0 -0
  544. package/app/public/providers/huggingface.png +0 -0
  545. package/app/public/providers/local-device.png +0 -0
  546. package/app/public/providers/mistral.png +0 -0
  547. package/app/public/providers/nebius.png +0 -0
  548. package/app/public/providers/perplexity.png +0 -0
  549. package/app/public/providers/playht.png +0 -0
  550. package/app/public/providers/sdwebui.png +0 -0
  551. package/app/public/providers/together.png +0 -0
  552. package/app/public/providers/xai.png +0 -0
  553. package/app/src/mitm/server.js +1 -1
  554. package/package.json +1 -1
  555. package/app/.next/server/chunks/1021.js +0 -15
  556. package/app/.next/server/chunks/3437.js +0 -1
  557. package/app/.next/static/cZkp3AaCjYYlTsm71Gqja/_buildManifest.js +0 -1
  558. package/app/.next/static/chunks/505-6bdbdaaec371bd32.js +0 -1
  559. package/app/.next/static/chunks/7400-944f5945f4b469ce.js +0 -15
  560. package/app/.next/static/chunks/8035-d85b135ff3c41e36.js +0 -3
  561. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-6af679bf1de2bcd0.js +0 -1
  562. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-6c1c6a107653ebda.js +0 -1
  563. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-a01336ce4983ff58.js +0 -1
  564. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-d099eadbb0522614.js +0 -1
  565. package/app/.next/static/chunks/app/_global-error/page-7d453b28005ce69b.js +0 -1
  566. package/app/.next/static/chunks/app/api/9remote/install/route-7d453b28005ce69b.js +0 -1
  567. package/app/.next/static/chunks/app/api/9remote/start/route-7d453b28005ce69b.js +0 -1
  568. package/app/.next/static/chunks/app/api/9remote/status/route-7d453b28005ce69b.js +0 -1
  569. package/app/.next/static/chunks/app/api/auth/login/route-7d453b28005ce69b.js +0 -1
  570. package/app/.next/static/chunks/app/api/auth/logout/route-7d453b28005ce69b.js +0 -1
  571. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-7d453b28005ce69b.js +0 -1
  572. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-7d453b28005ce69b.js +0 -1
  573. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-7d453b28005ce69b.js +0 -1
  574. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-7d453b28005ce69b.js +0 -1
  575. package/app/.next/static/chunks/app/api/cli-tools/copilot-settings/route-7d453b28005ce69b.js +0 -1
  576. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-7d453b28005ce69b.js +0 -1
  577. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-7d453b28005ce69b.js +0 -1
  578. package/app/.next/static/chunks/app/api/cli-tools/opencode-settings/route-7d453b28005ce69b.js +0 -1
  579. package/app/.next/static/chunks/app/api/cloud/auth/route-7d453b28005ce69b.js +0 -1
  580. package/app/.next/static/chunks/app/api/cloud/credentials/update/route-7d453b28005ce69b.js +0 -1
  581. package/app/.next/static/chunks/app/api/cloud/model/resolve/route-7d453b28005ce69b.js +0 -1
  582. package/app/.next/static/chunks/app/api/cloud/models/alias/route-7d453b28005ce69b.js +0 -1
  583. package/app/.next/static/chunks/app/api/combos/[id]/route-7d453b28005ce69b.js +0 -1
  584. package/app/.next/static/chunks/app/api/combos/route-7d453b28005ce69b.js +0 -1
  585. package/app/.next/static/chunks/app/api/init/route-7d453b28005ce69b.js +0 -1
  586. package/app/.next/static/chunks/app/api/keys/[id]/route-7d453b28005ce69b.js +0 -1
  587. package/app/.next/static/chunks/app/api/keys/route-7d453b28005ce69b.js +0 -1
  588. package/app/.next/static/chunks/app/api/locale/route-7d453b28005ce69b.js +0 -1
  589. package/app/.next/static/chunks/app/api/models/alias/route-7d453b28005ce69b.js +0 -1
  590. package/app/.next/static/chunks/app/api/models/availability/route-7d453b28005ce69b.js +0 -1
  591. package/app/.next/static/chunks/app/api/models/route-7d453b28005ce69b.js +0 -1
  592. package/app/.next/static/chunks/app/api/models/test/route-7d453b28005ce69b.js +0 -1
  593. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-7d453b28005ce69b.js +0 -1
  594. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-7d453b28005ce69b.js +0 -1
  595. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-7d453b28005ce69b.js +0 -1
  596. package/app/.next/static/chunks/app/api/oauth/gitlab/pat/route-7d453b28005ce69b.js +0 -1
  597. package/app/.next/static/chunks/app/api/oauth/iflow/cookie/route-7d453b28005ce69b.js +0 -1
  598. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-7d453b28005ce69b.js +0 -1
  599. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-7d453b28005ce69b.js +0 -1
  600. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-7d453b28005ce69b.js +0 -1
  601. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-7d453b28005ce69b.js +0 -1
  602. package/app/.next/static/chunks/app/api/pricing/route-7d453b28005ce69b.js +0 -1
  603. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-7d453b28005ce69b.js +0 -1
  604. package/app/.next/static/chunks/app/api/provider-nodes/route-7d453b28005ce69b.js +0 -1
  605. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-7d453b28005ce69b.js +0 -1
  606. package/app/.next/static/chunks/app/api/providers/[id]/models/route-7d453b28005ce69b.js +0 -1
  607. package/app/.next/static/chunks/app/api/providers/[id]/route-7d453b28005ce69b.js +0 -1
  608. package/app/.next/static/chunks/app/api/providers/[id]/test/route-7d453b28005ce69b.js +0 -1
  609. package/app/.next/static/chunks/app/api/providers/[id]/test-models/route-7d453b28005ce69b.js +0 -1
  610. package/app/.next/static/chunks/app/api/providers/client/route-7d453b28005ce69b.js +0 -1
  611. package/app/.next/static/chunks/app/api/providers/kilo/free-models/route-7d453b28005ce69b.js +0 -1
  612. package/app/.next/static/chunks/app/api/providers/route-7d453b28005ce69b.js +0 -1
  613. package/app/.next/static/chunks/app/api/providers/test-batch/route-7d453b28005ce69b.js +0 -1
  614. package/app/.next/static/chunks/app/api/providers/validate/route-7d453b28005ce69b.js +0 -1
  615. package/app/.next/static/chunks/app/api/proxy-pools/[id]/route-7d453b28005ce69b.js +0 -1
  616. package/app/.next/static/chunks/app/api/proxy-pools/[id]/test/route-7d453b28005ce69b.js +0 -1
  617. package/app/.next/static/chunks/app/api/proxy-pools/route-7d453b28005ce69b.js +0 -1
  618. package/app/.next/static/chunks/app/api/settings/database/route-7d453b28005ce69b.js +0 -1
  619. package/app/.next/static/chunks/app/api/settings/proxy-test/route-7d453b28005ce69b.js +0 -1
  620. package/app/.next/static/chunks/app/api/settings/require-login/route-7d453b28005ce69b.js +0 -1
  621. package/app/.next/static/chunks/app/api/settings/route-7d453b28005ce69b.js +0 -1
  622. package/app/.next/static/chunks/app/api/shutdown/route-7d453b28005ce69b.js +0 -1
  623. package/app/.next/static/chunks/app/api/tags/route-7d453b28005ce69b.js +0 -1
  624. package/app/.next/static/chunks/app/api/translator/console-logs/route-7d453b28005ce69b.js +0 -1
  625. package/app/.next/static/chunks/app/api/translator/console-logs/stream/route-7d453b28005ce69b.js +0 -1
  626. package/app/.next/static/chunks/app/api/translator/load/route-7d453b28005ce69b.js +0 -1
  627. package/app/.next/static/chunks/app/api/translator/save/route-7d453b28005ce69b.js +0 -1
  628. package/app/.next/static/chunks/app/api/translator/send/route-7d453b28005ce69b.js +0 -1
  629. package/app/.next/static/chunks/app/api/translator/translate/route-7d453b28005ce69b.js +0 -1
  630. package/app/.next/static/chunks/app/api/tunnel/disable/route-7d453b28005ce69b.js +0 -1
  631. package/app/.next/static/chunks/app/api/tunnel/enable/route-7d453b28005ce69b.js +0 -1
  632. package/app/.next/static/chunks/app/api/tunnel/status/route-7d453b28005ce69b.js +0 -1
  633. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-7d453b28005ce69b.js +0 -1
  634. package/app/.next/static/chunks/app/api/usage/chart/route-7d453b28005ce69b.js +0 -1
  635. package/app/.next/static/chunks/app/api/usage/history/route-7d453b28005ce69b.js +0 -1
  636. package/app/.next/static/chunks/app/api/usage/providers/route-7d453b28005ce69b.js +0 -1
  637. package/app/.next/static/chunks/app/api/usage/request-details/route-7d453b28005ce69b.js +0 -1
  638. package/app/.next/static/chunks/app/api/usage/request-logs/route-7d453b28005ce69b.js +0 -1
  639. package/app/.next/static/chunks/app/api/usage/stats/route-7d453b28005ce69b.js +0 -1
  640. package/app/.next/static/chunks/app/api/usage/stream/route-7d453b28005ce69b.js +0 -1
  641. package/app/.next/static/chunks/app/api/v1/api/chat/route-7d453b28005ce69b.js +0 -1
  642. package/app/.next/static/chunks/app/api/v1/chat/completions/route-7d453b28005ce69b.js +0 -1
  643. package/app/.next/static/chunks/app/api/v1/embeddings/route-7d453b28005ce69b.js +0 -1
  644. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-7d453b28005ce69b.js +0 -1
  645. package/app/.next/static/chunks/app/api/v1/messages/route-7d453b28005ce69b.js +0 -1
  646. package/app/.next/static/chunks/app/api/v1/models/route-7d453b28005ce69b.js +0 -1
  647. package/app/.next/static/chunks/app/api/v1/responses/route-7d453b28005ce69b.js +0 -1
  648. package/app/.next/static/chunks/app/api/v1/route-7d453b28005ce69b.js +0 -1
  649. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-7d453b28005ce69b.js +0 -1
  650. package/app/.next/static/chunks/app/api/v1beta/models/route-7d453b28005ce69b.js +0 -1
  651. package/app/.next/static/chunks/app/api/version/route-7d453b28005ce69b.js +0 -1
  652. package/app/.next/static/chunks/app/manifest.webmanifest/route-7d453b28005ce69b.js +0 -1
  653. package/app/.next/static/chunks/app/page-7d453b28005ce69b.js +0 -1
  654. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-7d453b28005ce69b.js +0 -1
  655. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-7d453b28005ce69b.js +0 -1
  656. package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-7d453b28005ce69b.js +0 -1
  657. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-7d453b28005ce69b.js +0 -1
  658. package/app/.next/static/css/5ed5a95fa0b29325.css +0 -1
  659. /package/app/.next/static/{cZkp3AaCjYYlTsm71Gqja → 75YPUzi7A-SD5Mr7bjW59}/_ssgManifest.js +0 -0
@@ -22,12 +22,12 @@ data: ${JSON.stringify(a)}
22
22
 
23
23
  `))}}j>=1e3&&console.warn("[Kiro] Max iterations reached in event parsing")},flush(a){if(!g.finishEmitted){g.finishEmitted=!0;let c={id:e,object:"chat.completion.chunk",created:f,model:b,choices:[{index:0,delta:{},finish_reason:g.hasToolCalls?"tool_calls":"stop"}]};a.enqueue(new TextEncoder().encode(`data: ${JSON.stringify(c)}
24
24
 
25
- `))}a.enqueue(new TextEncoder().encode("data: [DONE]\n\n"))}});return a.body?new Response(a.body.pipeThrough(h),{status:a.status,statusText:a.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}}):new Response("data: [DONE]\n\n",{status:a.status,headers:{"Content-Type":"text/event-stream"}})}async refreshCredentials(a,b){if(!a.refreshToken)return null;try{return await (0,g.Ql)(a.refreshToken,a.providerSpecificData,b)}catch(a){return b?.error?.("TOKEN",`Kiro refresh error: ${a.message}`),null}}}},23016:(a,b,c)=>{c.d(b,{Bm:()=>m,C8:()=>n,EQ:()=>l,LY:()=>e,O:()=>f,Uc:()=>h,cI:()=>k,eo:()=>i,gx:()=>d,sB:()=>j,v1:()=>g});let d={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},e={[d.BAD_REQUEST]:{type:"invalid_request_error",code:"bad_request"},[d.UNAUTHORIZED]:{type:"authentication_error",code:"invalid_api_key"},[d.FORBIDDEN]:{type:"permission_error",code:"insufficient_quota"},[d.NOT_FOUND]:{type:"invalid_request_error",code:"model_not_found"},[d.NOT_ACCEPTABLE]:{type:"invalid_request_error",code:"model_not_supported"},[d.RATE_LIMITED]:{type:"rate_limit_error",code:"rate_limit_exceeded"},[d.SERVER_ERROR]:{type:"server_error",code:"internal_server_error"},[d.BAD_GATEWAY]:{type:"server_error",code:"bad_gateway"},[d.SERVICE_UNAVAILABLE]:{type:"server_error",code:"service_unavailable"},[d.GATEWAY_TIMEOUT]:{type:"server_error",code:"gateway_timeout"}},f={[d.BAD_REQUEST]:"Bad request",[d.UNAUTHORIZED]:"Invalid API key provided",[d.FORBIDDEN]:"You exceeded your current quota",[d.NOT_FOUND]:"Model not found",[d.NOT_ACCEPTABLE]:"Model not supported",[d.RATE_LIMITED]:"Rate limit exceeded",[d.SERVER_ERROR]:"Internal server error",[d.BAD_GATEWAY]:"Bad gateway - upstream provider error",[d.SERVICE_UNAVAILABLE]:"Service temporarily unavailable",[d.GATEWAY_TIMEOUT]:"Gateway timeout"},g={sessionTtlMs:72e5,sessionCleanupIntervalMs:18e5,dnsCacheTtlMs:3e5,proxyDispatchersMaxSize:20},h=64e3,i=32e3,j={maxAttempts:2,delayMs:2e3},k={429:2,503:0,502:0},l={base:1e3,max:12e4,maxLevel:15},m={unauthorized:12e4,paymentRequired:12e4,notFound:12e4,transient:3e4,requestNotAllowed:5e3,rateLimit:12e4,serviceUnavailable:2e3,authExpired:12e4},n=["Please write a 5-10 word title for the following conversation:"]},23082:(a,b,c)=>{c.d(b,{w:()=>j});var d=c(24353),e=c(62276),f=c(41578),g=c(37973);let h=new Map;async function i(a){if(h.has(a))return h.get(a);let b=await fetch(`https://aiplatform.googleapis.com/v1/publishers/google/models/__probe__:generateContent?key=${a}`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"}),c=await b.json().catch(()=>null),d=(c?.[0]?.error?.message||c?.error?.message||"").match(/projects\/([^/]+)\//),e=d?.[1]||null;return e&&h.set(a,e),e}class j extends d.H{constructor(a="vertex"){super(a,e.x[a]||{})}buildUrl(a,b,c=0,d=null){let e=(0,f.Sc)(d?.apiKey),g=e?null:d?.apiKey,h=e?.project_id||d?.providerSpecificData?.projectId;if("vertex-partner"===this.provider){if(!h)throw Error("Vertex partner models require a project_id. Add it in providerSpecificData or use Service Account JSON.");let a=`https://aiplatform.googleapis.com/v1/projects/${h}/locations/global/endpoints/openapi/chat/completions`;return g?`${a}?key=${g}`:a}let i=b?"streamGenerateContent":"generateContent";if(e){let c=d?.providerSpecificData?.location||"us-central1",e=`https://aiplatform.googleapis.com/v1/projects/${h}/locations/${c}/publishers/google/models/${a}:${i}`;return b&&(e+="?alt=sse"),e}let j=`https://aiplatform.googleapis.com/v1/publishers/google/models/${a}:${i}`;return b&&(j+="?alt=sse"),g&&(j+=b?`&key=${g}`:`?key=${g}`),j}buildHeaders(a,b=!0){let c={"Content-Type":"application/json"};return a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),b&&(c.Accept="text/event-stream"),c}async refreshCredentials(a,b){let c=(0,f.Sc)(a?.apiKey);if(!c)return null;let d=await (0,f.pb)(c,b);return d?{accessToken:d.accessToken,expiresAt:d.expiresAt}:null}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:h,proxyOptions:j=null}){let k=(0,f.Sc)(d?.apiKey);if(k){let a=await (0,f.pb)(k,h);if(!a?.accessToken)throw Error("Vertex: failed to mint access token from Service Account JSON");d.accessToken=a.accessToken}if("vertex-partner"===this.provider&&!k&&!d?.providerSpecificData?.projectId){let a=await i(d.apiKey);if(!a)throw Error("Vertex: could not resolve project_id from API key. Please add it manually in provider settings.");h?.debug?.("VERTEX",`Resolved project_id: ${a}`),d.providerSpecificData={...d.providerSpecificData,projectId:a}}let l=this.buildUrl(a,c,0,d),m=this.buildHeaders(d,c),n=this.transformRequest(a,b,c,d);return{response:await (0,g.proxyAwareFetch)(l,{method:"POST",headers:m,body:JSON.stringify(n),signal:e},j),url:l,headers:m,transformedBody:n}}}},24353:(a,b,c)=>{c.d(b,{H:()=>f});var d=c(23016),e=c(37973);class f{constructor(a,b){this.provider=a,this.config=b}getProvider(){return this.provider}getBaseUrls(){return this.config.baseUrls||(this.config.baseUrl?[this.config.baseUrl]:[])}getFallbackCount(){return this.getBaseUrls().length||1}buildUrl(a,b,c=0,d=null){if(this.provider?.startsWith?.("openai-compatible-")){let a=(d?.providerSpecificData?.baseUrl||"https://api.openai.com/v1").replace(/\/$/,""),b=this.provider.includes("responses")?"/responses":"/chat/completions";return`${a}${b}`}if(this.provider?.startsWith?.("anthropic-compatible-")){let a=(d?.providerSpecificData?.baseUrl||"https://api.anthropic.com/v1").replace(/\/$/,"");return`${a}/messages`}let e=this.getBaseUrls();return e[c]||e[0]||this.config.baseUrl}buildHeaders(a,b=!0){let c={"Content-Type":"application/json",...this.config.headers};return this.provider?.startsWith?.("anthropic-compatible-")?(a.apiKey?c["x-api-key"]=a.apiKey:a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),c["anthropic-version"]||(c["anthropic-version"]="2023-06-01")):a.accessToken?c.Authorization=`Bearer ${a.accessToken}`:a.apiKey&&(c.Authorization=`Bearer ${a.apiKey}`),b&&(c.Accept="text/event-stream"),c}transformRequest(a,b,c,d){return b}shouldRetry(a,b){return a===d.gx.RATE_LIMITED&&b+1<this.getFallbackCount()}async refreshCredentials(a,b){return null}needsRefresh(a){return!!a.expiresAt&&new Date(a.expiresAt).getTime()-Date.now()<3e5}parseError(a,b){return{status:a.status,message:b||`HTTP ${a.status}`}}async execute({model:a,body:b,stream:c,credentials:f,signal:g,log:h,proxyOptions:i=null}){let j=this.getFallbackCount(),k=null,l=0,m={},n={...d.cI,...this.config.retry};for(let o=0;o<j;o++){let p=this.buildUrl(a,c,o,f),q=this.transformRequest(a,b,c,f),r=this.buildHeaders(f,c);m[o]||(m[o]=0);try{let a=await (0,e.proxyAwareFetch)(p,{method:"POST",headers:r,body:JSON.stringify(q),signal:g},i),b=n[a.status]||0;if(b>0&&m[o]<b){m[o]++,h?.debug?.("RETRY",`${a.status} retry ${m[o]}/${b} after ${d.sB.delayMs/1e3}s`),await new Promise(a=>setTimeout(a,d.sB.delayMs)),o--;continue}if(this.shouldRetry(a.status,o)){h?.debug?.("RETRY",`${a.status} on ${p}, trying fallback ${o+1}`),l=a.status;continue}return{response:a,url:p,headers:r,transformedBody:q}}catch(a){if(k=a,o+1<j){h?.debug?.("RETRY",`Error on ${p}, trying fallback ${o+1}`);continue}throw a}}throw k||Error(`All ${j} URLs failed with status ${l}`)}}},29202:(a,b,c)=>{c.r(b),c.d(b,{convertKiroToOpenAI:()=>f});var d=c(86806),e=c(56790);function f(a,b){if(!a)return null;if("chat.completion.chunk"===a.object&&a.choices)return a;let c=a;if("string"==typeof a){let b=a.split("\n"),d="",e="";for(let a of b)a.startsWith("event:")?d=a.slice(6).trim():a.startsWith(":event-type:")?d=a.slice(12).trim():a.startsWith("data:")?e=a.slice(5).trim():a.startsWith(":content-type:")||a.trim()&&!a.startsWith(":")&&(e=a.trim());if(!e)return null;try{(c=JSON.parse(e))._eventType=d}catch{c={text:e,_eventType:d}}}b.responseId||(b.responseId=`chatcmpl-${Date.now()}`,b.created=Math.floor(Date.now()/1e3),b.chunkIndex=0);let d=c._eventType||c.event||"";if("assistantResponseEvent"===d||c.assistantResponseEvent){let a=c.assistantResponseEvent?.content||c.content||"";if(!a)return null;let d={id:b.responseId,object:"chat.completion.chunk",created:b.created,model:b.model||"kiro",choices:[{index:0,delta:{...0===b.chunkIndex?{role:"assistant"}:{},content:a},finish_reason:null}]};return b.chunkIndex++,d}if("reasoningContentEvent"===d||c.reasoningContentEvent){let a=c.reasoningContentEvent?.content||c.content||"";if(!a)return null;let d={id:b.responseId,object:"chat.completion.chunk",created:b.created,model:b.model||"kiro",choices:[{index:0,delta:{...0===b.chunkIndex?{role:"assistant"}:{},content:`<thinking>${a}</thinking>`},finish_reason:null}]};return b.chunkIndex++,d}if("toolUseEvent"===d||c.toolUseEvent){let a=c.toolUseEvent||c,d=a.toolUseId||`call_${Date.now()}`,e=a.name||"",f=a.input||{},g={id:b.responseId,object:"chat.completion.chunk",created:b.created,model:b.model||"kiro",choices:[{index:0,delta:{...0===b.chunkIndex?{role:"assistant"}:{},tool_calls:[{index:0,id:d,type:"function",function:{name:e,arguments:JSON.stringify(f)}}]},finish_reason:null}]};return b.chunkIndex++,g}if("messageStopEvent"===d||"done"===d||c.messageStopEvent){b.finishReason="stop";let a={id:b.responseId,object:"chat.completion.chunk",created:b.created,model:b.model||"kiro",choices:[{index:0,delta:{},finish_reason:"stop"}]};return b.usage&&"object"==typeof b.usage&&(a.usage=b.usage),a}if("usageEvent"===d||c.usageEvent){let a=c.usageEvent||c;a&&"object"==typeof a&&(b.usage={prompt_tokens:a.inputTokens||0,completion_tokens:a.outputTokens||0,total_tokens:(a.inputTokens||0)+(a.outputTokens||0)})}return null}(0,d.kz)(e.h.KIRO,e.h.OPENAI,null,f)},32178:(a,b,c)=>{c.r(b),c.d(b,{geminiToOpenAIRequest:()=>g});var d=c(86806),e=c(56790),f=c(19312);function g(a,b,c){let d={model:a,messages:[],stream:c};if(b.generationConfig){let a=b.generationConfig;if(a.maxOutputTokens){let c={max_tokens:a.maxOutputTokens,tools:b.tools};d.max_tokens=(0,f.M)(c)}void 0!==a.temperature&&(d.temperature=a.temperature),void 0!==a.topP&&(d.top_p=a.topP)}if(b.systemInstruction){var e;let a="string"==typeof(e=b.systemInstruction)?e:e.parts&&Array.isArray(e.parts)?e.parts.map(a=>a.text||"").join(""):"";a&&d.messages.push({role:"system",content:a})}if(b.contents&&Array.isArray(b.contents))for(let a of b.contents){let b=function(a){let b="user"===a.role?"user":"assistant";if(!a.parts||!Array.isArray(a.parts))return null;let c=[],d=[];for(let b of a.parts)if(void 0!==b.text&&c.push({type:"text",text:b.text}),b.inlineData&&c.push({type:"image_url",image_url:{url:`data:${b.inlineData.mimeType};base64,${b.inlineData.data}`}}),b.functionCall&&d.push({id:`call_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,type:"function",function:{name:b.functionCall.name,arguments:JSON.stringify(b.functionCall.args||{})}}),b.functionResponse)return{role:"tool",tool_call_id:b.functionResponse.id||b.functionResponse.name,content:JSON.stringify(b.functionResponse.response?.result||b.functionResponse.response||{})};if(d.length>0){let a={role:"assistant"};return c.length>0&&(a.content=1===c.length?c[0].text:c),a.tool_calls=d,a}return c.length>0?{role:b,content:1===c.length&&"text"===c[0].type?c[0].text:c}:null}(a);b&&d.messages.push(b)}if(b.tools&&Array.isArray(b.tools)){for(let a of(d.tools=[],b.tools))if(a.functionDeclarations)for(let b of a.functionDeclarations)d.tools.push({type:"function",function:{name:b.name,description:b.description||"",parameters:b.parameters||{type:"object",properties:{}}}})}return d}(0,d.kz)(e.h.GEMINI,e.h.OPENAI,g,null),(0,d.kz)(e.h.GEMINI_CLI,e.h.OPENAI,g,null)},37973:(a,b,c)=>{c.d(b,{proxyAwareFetch:()=>r});var d=c(27910),e=c(23016);let f="u">typeof caches&&"object"==typeof caches,g=globalThis.fetch,h=new Map,i=new Map,j=["cloudcode-pa.googleapis.com","daily-cloudcode-pa.googleapis.com","api.individual.githubcopilot.com","q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com","api2.cursor.sh"],k=["8.8.8.8","8.8.4.4"];function l(a){return null==a?"":String(a).trim()}async function m(a){let b=i.get(a);if(b&&Date.now()<b.expiry)return b.ip;try{let b=await Promise.resolve().then(c.t.bind(c,14985,23)),{promisify:d}=await Promise.resolve().then(c.t.bind(c,28354,23)),f=new b.Resolver;f.setServers(k);let g=d(f.resolve4.bind(f)),h=await g(a);return i.set(a,{ip:h[0],expiry:Date.now()+e.v1.dnsCacheTtlMs}),h[0]}catch(b){return console.warn(`[ProxyFetch] DNS resolve failed for ${a}:`,b.message),null}}function n(a,b){let c,d=l(b);if(!d)return!1;try{c=new URL(a).hostname.toLowerCase()}catch{return!1}return d.split(",").map(a=>a.trim().toLowerCase()).filter(Boolean).some(a=>"*"===a||(a.startsWith(".")?c.endsWith(a)||c===a.slice(1):c===a||c.endsWith(`.${a}`)))}function o(a){let b=l(a);if(!b)return null;try{return new URL(b),b}catch{return`http://${b}`}}async function p(a){let b=o(a);if(!b)return null;if(!h.has(b)){h.size>=e.v1.proxyDispatchersMaxSize&&h.delete(h.keys().next().value);let{ProxyAgent:a}=await c.e(6288).then(c.t.bind(c,16288,19));h.set(b,new a({uri:b}))}return h.get(b)}async function q(a,b,e){let f=await Promise.resolve().then(c.t.bind(c,55591,23)),g=await Promise.resolve().then(c.t.bind(c,91645,23)),h=f.default??f,i=g.default??g;return new Promise((c,f)=>{let g=new i.Socket;g.connect(443,b,()=>{let b={socket:g,servername:a.hostname,rejectUnauthorized:!1,path:a.pathname+a.search,method:e.method||"POST",headers:{...e.headers,Host:a.hostname}},i=h.request(b,a=>{let b={ok:a.statusCode>=200&&a.statusCode<300,status:a.statusCode,statusText:a.statusMessage,headers:new Map(Object.entries(a.headers)),body:d.Readable.toWeb(a),text:async()=>{let b=[];for await(let c of a)b.push(c);return Buffer.concat(b).toString()},json:async()=>JSON.parse(await b.text())};c(b)});i.on("error",f),e.body&&i.write("string"==typeof e.body?e.body:JSON.stringify(e.body)),i.end()}),g.on("error",f)})}async function r(a,b={},c=null){let d="string"==typeof a?a:a.toString(),e=function(a,b){if(b?.enabled!==!0&&b?.connectionProxyEnabled!==!0)return null;let c=l(b?.url??b?.connectionProxyUrl);if(!c)return null;let d=l(b?.noProxy??b?.connectionNoProxy);return d&&n(a,d)?null:o(c)}(d,c),f=e?null:o(function(a){let b;if(n(a,process.env.NO_PROXY||process.env.no_proxy))return null;try{b=new URL(a).protocol}catch{return null}return"https:"===b?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy}(d)),h=e||f;if(function(a){try{let b=new URL(a).hostname;return j.some(a=>b.includes(a))}catch{return!1}}(d)){if(h)try{let c=await p(h);return await g(a,{...b,dispatcher:c})}catch(a){if(c?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${a.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct bypass: ${a.message}`)}try{let a=new URL(d),c=await m(a.hostname);if(c)return await q(a,c,b)}catch(a){console.warn(`[ProxyFetch] MITM bypass failed: ${a.message}`)}}if(h)try{let c=await p(h);return await g(a,{...b,dispatcher:c})}catch(a){if(c?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${a.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct: ${a.message}`)}return g(a,b)}async function s(a,b={}){return r(a,b,null)}f||globalThis.fetch===s||(globalThis.fetch=s)},38461:(a,b,c)=>{c.d(b,{r:()=>h});var d=c(55511),e=c.n(d),f=c(24353),g=c(62276);class h extends f.H{constructor(){super("iflow",g.x.iflow)}generateUUID(){return e().randomUUID()}createIFlowSignature(a,b,c,d){if(!d)return"";let f=`${a}:${b}:${c}`,g=e().createHmac("sha256",d);return g.update(f),g.digest("hex")}buildHeaders(a,b=!0){let c=`session-${this.generateUUID()}`,d=Date.now(),e=this.config.headers["User-Agent"]||"iFlow-Cli",f=a.apiKey||a.accessToken||"",g=this.createIFlowSignature(e,c,d,f),h={"Content-Type":"application/json",...this.config.headers,"session-id":c,"x-iflow-timestamp":d.toString(),"x-iflow-signature":g};return a.apiKey&&(h.Authorization=`Bearer ${a.apiKey}`),b&&(h.Accept="text/event-stream"),h}buildUrl(a,b,c=0,d=null){return this.config.baseUrl}transformRequest(a,b,c,d){return c&&b.messages&&!b.stream_options&&(b.stream_options={include_usage:!0}),b}}},38911:(a,b,c)=>{c.r(b),c.d(b,{buildCursorRequest:()=>j});var d=c(86806),e=c(56790);function f(a){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>!!a&&"object"==typeof a&&"text"===a.type&&"string"==typeof a.text).map(a=>a.text||"").join(""):""}function g(a){return a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function h(a,b,c){let d=(c||"").replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F]/g,"");return`<tool_result>
25
+ `))}a.enqueue(new TextEncoder().encode("data: [DONE]\n\n"))}});return a.body?new Response(a.body.pipeThrough(h),{status:a.status,statusText:a.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}}):new Response("data: [DONE]\n\n",{status:a.status,headers:{"Content-Type":"text/event-stream"}})}async refreshCredentials(a,b){if(!a.refreshToken)return null;try{return await (0,g.Ql)(a.refreshToken,a.providerSpecificData,b)}catch(a){return b?.error?.("TOKEN",`Kiro refresh error: ${a.message}`),null}}}},23016:(a,b,c)=>{c.d(b,{Bm:()=>m,C8:()=>n,EQ:()=>l,LY:()=>e,O:()=>f,Uc:()=>h,cI:()=>k,eo:()=>i,gx:()=>d,sB:()=>j,v1:()=>g});let d={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},e={[d.BAD_REQUEST]:{type:"invalid_request_error",code:"bad_request"},[d.UNAUTHORIZED]:{type:"authentication_error",code:"invalid_api_key"},[d.FORBIDDEN]:{type:"permission_error",code:"insufficient_quota"},[d.NOT_FOUND]:{type:"invalid_request_error",code:"model_not_found"},[d.NOT_ACCEPTABLE]:{type:"invalid_request_error",code:"model_not_supported"},[d.RATE_LIMITED]:{type:"rate_limit_error",code:"rate_limit_exceeded"},[d.SERVER_ERROR]:{type:"server_error",code:"internal_server_error"},[d.BAD_GATEWAY]:{type:"server_error",code:"bad_gateway"},[d.SERVICE_UNAVAILABLE]:{type:"server_error",code:"service_unavailable"},[d.GATEWAY_TIMEOUT]:{type:"server_error",code:"gateway_timeout"}},f={[d.BAD_REQUEST]:"Bad request",[d.UNAUTHORIZED]:"Invalid API key provided",[d.FORBIDDEN]:"You exceeded your current quota",[d.NOT_FOUND]:"Model not found",[d.NOT_ACCEPTABLE]:"Model not supported",[d.RATE_LIMITED]:"Rate limit exceeded",[d.SERVER_ERROR]:"Internal server error",[d.BAD_GATEWAY]:"Bad gateway - upstream provider error",[d.SERVICE_UNAVAILABLE]:"Service temporarily unavailable",[d.GATEWAY_TIMEOUT]:"Gateway timeout"},g={sessionTtlMs:72e5,sessionCleanupIntervalMs:18e5,dnsCacheTtlMs:3e5,proxyDispatchersMaxSize:20},h=64e3,i=32e3,j={maxAttempts:2,delayMs:2e3},k={429:0,503:1,502:1},l={base:1e3,max:12e4,maxLevel:15},m={unauthorized:12e4,paymentRequired:12e4,notFound:12e4,transient:3e4,requestNotAllowed:5e3,rateLimit:12e4,serviceUnavailable:2e3,authExpired:12e4},n=["Please write a 5-10 word title for the following conversation:"]},23082:(a,b,c)=>{c.d(b,{w:()=>j});var d=c(24353),e=c(62276),f=c(41578),g=c(37973);let h=new Map;async function i(a){if(h.has(a))return h.get(a);let b=await fetch(`https://aiplatform.googleapis.com/v1/publishers/google/models/__probe__:generateContent?key=${a}`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"}),c=await b.json().catch(()=>null),d=(c?.[0]?.error?.message||c?.error?.message||"").match(/projects\/([^/]+)\//),e=d?.[1]||null;return e&&h.set(a,e),e}class j extends d.H{constructor(a="vertex"){super(a,e.x[a]||{})}buildUrl(a,b,c=0,d=null){let e=(0,f.Sc)(d?.apiKey),g=e?null:d?.apiKey,h=e?.project_id||d?.providerSpecificData?.projectId;if("vertex-partner"===this.provider){if(!h)throw Error("Vertex partner models require a project_id. Add it in providerSpecificData or use Service Account JSON.");let a=`https://aiplatform.googleapis.com/v1/projects/${h}/locations/global/endpoints/openapi/chat/completions`;return g?`${a}?key=${g}`:a}let i=b?"streamGenerateContent":"generateContent";if(e){let c=d?.providerSpecificData?.location||"us-central1",e=`https://aiplatform.googleapis.com/v1/projects/${h}/locations/${c}/publishers/google/models/${a}:${i}`;return b&&(e+="?alt=sse"),e}let j=`https://aiplatform.googleapis.com/v1/publishers/google/models/${a}:${i}`;return b&&(j+="?alt=sse"),g&&(j+=b?`&key=${g}`:`?key=${g}`),j}buildHeaders(a,b=!0){let c={"Content-Type":"application/json"};return a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),b&&(c.Accept="text/event-stream"),c}async refreshCredentials(a,b){let c=(0,f.Sc)(a?.apiKey);if(!c)return null;let d=await (0,f.pb)(c,b);return d?{accessToken:d.accessToken,expiresAt:d.expiresAt}:null}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:h,proxyOptions:j=null}){let k=(0,f.Sc)(d?.apiKey);if(k){let a=await (0,f.pb)(k,h);if(!a?.accessToken)throw Error("Vertex: failed to mint access token from Service Account JSON");d.accessToken=a.accessToken}if("vertex-partner"===this.provider&&!k&&!d?.providerSpecificData?.projectId){let a=await i(d.apiKey);if(!a)throw Error("Vertex: could not resolve project_id from API key. Please add it manually in provider settings.");h?.debug?.("VERTEX",`Resolved project_id: ${a}`),d.providerSpecificData={...d.providerSpecificData,projectId:a}}let l=this.buildUrl(a,c,0,d),m=this.buildHeaders(d,c),n=this.transformRequest(a,b,c,d);return{response:await (0,g.proxyAwareFetch)(l,{method:"POST",headers:m,body:JSON.stringify(n),signal:e},j),url:l,headers:m,transformedBody:n}}}},24353:(a,b,c)=>{c.d(b,{H:()=>f});var d=c(23016),e=c(37973);class f{constructor(a,b){this.provider=a,this.config=b}getProvider(){return this.provider}getBaseUrls(){return this.config.baseUrls||(this.config.baseUrl?[this.config.baseUrl]:[])}getFallbackCount(){return this.getBaseUrls().length||1}buildUrl(a,b,c=0,d=null){if(this.provider?.startsWith?.("openai-compatible-")){let a=(d?.providerSpecificData?.baseUrl||"https://api.openai.com/v1").replace(/\/$/,""),b=this.provider.includes("responses")?"/responses":"/chat/completions";return`${a}${b}`}if(this.provider?.startsWith?.("anthropic-compatible-")){let a=(d?.providerSpecificData?.baseUrl||"https://api.anthropic.com/v1").replace(/\/$/,"");return`${a}/messages`}let e=this.getBaseUrls();return e[c]||e[0]||this.config.baseUrl}buildHeaders(a,b=!0){let c={"Content-Type":"application/json",...this.config.headers};return this.provider?.startsWith?.("anthropic-compatible-")?(a.apiKey?c["x-api-key"]=a.apiKey:a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),c["anthropic-version"]||(c["anthropic-version"]="2023-06-01")):a.accessToken?c.Authorization=`Bearer ${a.accessToken}`:a.apiKey&&(c.Authorization=`Bearer ${a.apiKey}`),b&&(c.Accept="text/event-stream"),c}transformRequest(a,b,c,d){return b}shouldRetry(a,b){return a===d.gx.RATE_LIMITED&&b+1<this.getFallbackCount()}async refreshCredentials(a,b){return null}needsRefresh(a){return!!a.expiresAt&&new Date(a.expiresAt).getTime()-Date.now()<3e5}parseError(a,b){return{status:a.status,message:b||`HTTP ${a.status}`}}async execute({model:a,body:b,stream:c,credentials:f,signal:g,log:h,proxyOptions:i=null}){let j=this.getFallbackCount(),k=null,l=0,m={},n={...d.cI,...this.config.retry};for(let o=0;o<j;o++){let p=this.buildUrl(a,c,o,f),q=this.transformRequest(a,b,c,f),r=this.buildHeaders(f,c);m[o]||(m[o]=0);try{let a=await (0,e.proxyAwareFetch)(p,{method:"POST",headers:r,body:JSON.stringify(q),signal:g},i),b=n[a.status]||0;if(b>0&&m[o]<b){m[o]++,h?.debug?.("RETRY",`${a.status} retry ${m[o]}/${b} after ${d.sB.delayMs/1e3}s`),await new Promise(a=>setTimeout(a,d.sB.delayMs)),o--;continue}if(this.shouldRetry(a.status,o)){h?.debug?.("RETRY",`${a.status} on ${p}, trying fallback ${o+1}`),l=a.status;continue}return{response:a,url:p,headers:r,transformedBody:q}}catch(a){if(k=a,o+1<j){h?.debug?.("RETRY",`Error on ${p}, trying fallback ${o+1}`);continue}throw a}}throw k||Error(`All ${j} URLs failed with status ${l}`)}}},29202:(a,b,c)=>{c.r(b),c.d(b,{convertKiroToOpenAI:()=>f});var d=c(86806),e=c(56790);function f(a,b){if(!a)return null;if("chat.completion.chunk"===a.object&&a.choices)return a;let c=a;if("string"==typeof a){let b=a.split("\n"),d="",e="";for(let a of b)a.startsWith("event:")?d=a.slice(6).trim():a.startsWith(":event-type:")?d=a.slice(12).trim():a.startsWith("data:")?e=a.slice(5).trim():a.startsWith(":content-type:")||a.trim()&&!a.startsWith(":")&&(e=a.trim());if(!e)return null;try{(c=JSON.parse(e))._eventType=d}catch{c={text:e,_eventType:d}}}b.responseId||(b.responseId=`chatcmpl-${Date.now()}`,b.created=Math.floor(Date.now()/1e3),b.chunkIndex=0);let d=c._eventType||c.event||"";if("assistantResponseEvent"===d||c.assistantResponseEvent){let a=c.assistantResponseEvent?.content||c.content||"";if(!a)return null;let d={id:b.responseId,object:"chat.completion.chunk",created:b.created,model:b.model||"kiro",choices:[{index:0,delta:{...0===b.chunkIndex?{role:"assistant"}:{},content:a},finish_reason:null}]};return b.chunkIndex++,d}if("reasoningContentEvent"===d||c.reasoningContentEvent){let a=c.reasoningContentEvent?.content||c.content||"";if(!a)return null;let d={id:b.responseId,object:"chat.completion.chunk",created:b.created,model:b.model||"kiro",choices:[{index:0,delta:{...0===b.chunkIndex?{role:"assistant"}:{},content:`<thinking>${a}</thinking>`},finish_reason:null}]};return b.chunkIndex++,d}if("toolUseEvent"===d||c.toolUseEvent){let a=c.toolUseEvent||c,d=a.toolUseId||`call_${Date.now()}`,e=a.name||"",f=a.input||{},g={id:b.responseId,object:"chat.completion.chunk",created:b.created,model:b.model||"kiro",choices:[{index:0,delta:{...0===b.chunkIndex?{role:"assistant"}:{},tool_calls:[{index:0,id:d,type:"function",function:{name:e,arguments:JSON.stringify(f)}}]},finish_reason:null}]};return b.chunkIndex++,g}if("messageStopEvent"===d||"done"===d||c.messageStopEvent){b.finishReason="stop";let a={id:b.responseId,object:"chat.completion.chunk",created:b.created,model:b.model||"kiro",choices:[{index:0,delta:{},finish_reason:"stop"}]};return b.usage&&"object"==typeof b.usage&&(a.usage=b.usage),a}if("usageEvent"===d||c.usageEvent){let a=c.usageEvent||c;a&&"object"==typeof a&&(b.usage={prompt_tokens:a.inputTokens||0,completion_tokens:a.outputTokens||0,total_tokens:(a.inputTokens||0)+(a.outputTokens||0)})}return null}(0,d.kz)(e.h.KIRO,e.h.OPENAI,null,f)},32178:(a,b,c)=>{c.r(b),c.d(b,{geminiToOpenAIRequest:()=>g});var d=c(86806),e=c(56790),f=c(19312);function g(a,b,c){let d={model:a,messages:[],stream:c};if(b.generationConfig){let a=b.generationConfig;if(a.maxOutputTokens){let c={max_tokens:a.maxOutputTokens,tools:b.tools};d.max_tokens=(0,f.M)(c)}void 0!==a.temperature&&(d.temperature=a.temperature),void 0!==a.topP&&(d.top_p=a.topP)}if(b.systemInstruction){var e;let a="string"==typeof(e=b.systemInstruction)?e:e.parts&&Array.isArray(e.parts)?e.parts.map(a=>a.text||"").join(""):"";a&&d.messages.push({role:"system",content:a})}if(b.contents&&Array.isArray(b.contents))for(let a of b.contents){let b=function(a){let b="user"===a.role?"user":"assistant";if(!a.parts||!Array.isArray(a.parts))return null;let c=[],d=[];for(let b of a.parts)if(void 0!==b.text&&c.push({type:"text",text:b.text}),b.inlineData&&c.push({type:"image_url",image_url:{url:`data:${b.inlineData.mimeType};base64,${b.inlineData.data}`}}),b.functionCall&&d.push({id:`call_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,type:"function",function:{name:b.functionCall.name,arguments:JSON.stringify(b.functionCall.args||{})}}),b.functionResponse)return{role:"tool",tool_call_id:b.functionResponse.id||b.functionResponse.name,content:JSON.stringify(b.functionResponse.response?.result||b.functionResponse.response||{})};if(d.length>0){let a={role:"assistant"};return c.length>0&&(a.content=1===c.length?c[0].text:c),a.tool_calls=d,a}return c.length>0?{role:b,content:1===c.length&&"text"===c[0].type?c[0].text:c}:null}(a);b&&d.messages.push(b)}if(b.tools&&Array.isArray(b.tools)){for(let a of(d.tools=[],b.tools))if(a.functionDeclarations)for(let b of a.functionDeclarations)d.tools.push({type:"function",function:{name:b.name,description:b.description||"",parameters:b.parameters||{type:"object",properties:{}}}})}return d}(0,d.kz)(e.h.GEMINI,e.h.OPENAI,g,null),(0,d.kz)(e.h.GEMINI_CLI,e.h.OPENAI,g,null)},37973:(a,b,c)=>{c.d(b,{proxyAwareFetch:()=>r});var d=c(27910),e=c(23016);let f="u">typeof caches&&"object"==typeof caches,g=globalThis.fetch,h=new Map,i=new Map,j=["cloudcode-pa.googleapis.com","daily-cloudcode-pa.googleapis.com","api.individual.githubcopilot.com","q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com","api2.cursor.sh"],k=["8.8.8.8","8.8.4.4"];function l(a){return null==a?"":String(a).trim()}async function m(a){let b=i.get(a);if(b&&Date.now()<b.expiry)return b.ip;try{let b=await Promise.resolve().then(c.t.bind(c,14985,23)),{promisify:d}=await Promise.resolve().then(c.t.bind(c,28354,23)),f=new b.Resolver;f.setServers(k);let g=d(f.resolve4.bind(f)),h=await g(a);return i.set(a,{ip:h[0],expiry:Date.now()+e.v1.dnsCacheTtlMs}),h[0]}catch(b){return console.warn(`[ProxyFetch] DNS resolve failed for ${a}:`,b.message),null}}function n(a,b){let c,d=l(b);if(!d)return!1;try{c=new URL(a).hostname.toLowerCase()}catch{return!1}return d.split(",").map(a=>a.trim().toLowerCase()).filter(Boolean).some(a=>"*"===a||(a.startsWith(".")?c.endsWith(a)||c===a.slice(1):c===a||c.endsWith(`.${a}`)))}function o(a){let b=l(a);if(!b)return null;try{return new URL(b),b}catch{return`http://${b}`}}async function p(a){let b=o(a);if(!b)return null;if(!h.has(b)){h.size>=e.v1.proxyDispatchersMaxSize&&h.delete(h.keys().next().value);let{ProxyAgent:a}=await c.e(6288).then(c.t.bind(c,16288,19));h.set(b,new a({uri:b}))}return h.get(b)}async function q(a,b,e){let f=await Promise.resolve().then(c.t.bind(c,55591,23)),g=await Promise.resolve().then(c.t.bind(c,91645,23)),h=f.default??f,i=g.default??g;return new Promise((c,f)=>{let g=new i.Socket;g.connect(443,b,()=>{let b={socket:g,servername:a.hostname,rejectUnauthorized:!1,path:a.pathname+a.search,method:e.method||"POST",headers:{...e.headers,Host:a.hostname}},i=h.request(b,a=>{let b={ok:a.statusCode>=200&&a.statusCode<300,status:a.statusCode,statusText:a.statusMessage,headers:new Map(Object.entries(a.headers)),body:d.Readable.toWeb(a),text:async()=>{let b=[];for await(let c of a)b.push(c);return Buffer.concat(b).toString()},json:async()=>JSON.parse(await b.text())};c(b)});i.on("error",f),e.body&&i.write("string"==typeof e.body?e.body:JSON.stringify(e.body)),i.end()}),g.on("error",f)})}async function r(a,b={},c=null){let d="string"==typeof a?a:a.toString(),e=function(a,b){if(b?.enabled!==!0&&b?.connectionProxyEnabled!==!0)return null;let c=l(b?.url??b?.connectionProxyUrl);if(!c)return null;let d=l(b?.noProxy??b?.connectionNoProxy);return d&&n(a,d)?null:o(c)}(d,c),f=e?null:o(function(a){let b;if(n(a,process.env.NO_PROXY||process.env.no_proxy))return null;try{b=new URL(a).protocol}catch{return null}return"https:"===b?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy}(d)),h=e||f;if(function(a){try{let b=new URL(a).hostname;return j.some(a=>b.includes(a))}catch{return!1}}(d)){if(h)try{let c=await p(h);return await g(a,{...b,dispatcher:c})}catch(a){if(c?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${a.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct bypass: ${a.message}`)}try{let a=new URL(d),c=await m(a.hostname);if(c)return await q(a,c,b)}catch(a){console.warn(`[ProxyFetch] MITM bypass failed: ${a.message}`)}}if(h)try{let c=await p(h);return await g(a,{...b,dispatcher:c})}catch(a){if(c?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${a.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct: ${a.message}`)}return g(a,b)}async function s(a,b={}){return r(a,b,null)}f||globalThis.fetch===s||(globalThis.fetch=s)},38461:(a,b,c)=>{c.d(b,{r:()=>h});var d=c(55511),e=c.n(d),f=c(24353),g=c(62276);class h extends f.H{constructor(){super("iflow",g.x.iflow)}generateUUID(){return e().randomUUID()}createIFlowSignature(a,b,c,d){if(!d)return"";let f=`${a}:${b}:${c}`,g=e().createHmac("sha256",d);return g.update(f),g.digest("hex")}buildHeaders(a,b=!0){let c=`session-${this.generateUUID()}`,d=Date.now(),e=this.config.headers["User-Agent"]||"iFlow-Cli",f=a.apiKey||a.accessToken||"",g=this.createIFlowSignature(e,c,d,f),h={"Content-Type":"application/json",...this.config.headers,"session-id":c,"x-iflow-timestamp":d.toString(),"x-iflow-signature":g};return a.apiKey&&(h.Authorization=`Bearer ${a.apiKey}`),b&&(h.Accept="text/event-stream"),h}buildUrl(a,b,c=0,d=null){return this.config.baseUrl}transformRequest(a,b,c,d){return c&&b.messages&&!b.stream_options&&(b.stream_options={include_usage:!0}),b}}},38911:(a,b,c)=>{c.r(b),c.d(b,{buildCursorRequest:()=>j});var d=c(86806),e=c(56790);function f(a){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>!!a&&"object"==typeof a&&"text"===a.type&&"string"==typeof a.text).map(a=>a.text||"").join(""):""}function g(a){return a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function h(a,b,c){let d=(c||"").replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F]/g,"");return`<tool_result>
26
26
  <tool_name>${g(a||"tool")}</tool_name>
27
27
  <tool_call_id>${g(b||"")}</tool_call_id>
28
28
  <result>${g(d)}</result>
29
29
  </tool_result>`}function i(a){return"string"==typeof a?a.split("\n")[0]:""}function j(a,b,c,d){let e=function(a){let b=[],c=new Map,d=(a,b)=>{if(!a)return;let d=b||"tool";c.set(a,{name:d});let e=i(a);e&&e!==a&&c.set(e,{name:d})};for(let b of a){if("assistant"===b.role&&b.tool_calls)for(let a of b.tool_calls)d(a.id||"",a.function?.name||"tool");if("assistant"===b.role&&Array.isArray(b.content))for(let a of b.content)a?.type==="tool_use"&&d(a.id||"",a.name||"tool")}for(let d=0;d<a.length;d++){let e=a[d];if("system"===e.role){b.push({role:"user",content:`[System Instructions]
30
- ${f(e.content)}`});continue}if("tool"===e.role){let a=f(e.content),d=e.tool_call_id||"",g=c.get(d)||{},i=e.name||g.name||"tool";b.push({role:"user",content:h(i,d,a)});continue}if("user"===e.role||"assistant"===e.role){if("user"===e.role&&Array.isArray(e.content)){let a=[];for(let b of e.content)if(b&&"object"==typeof b){if("text"===b.type){"string"==typeof b.text&&a.push(b.text||"");continue}if("tool_result"===b.type){let d=b.tool_use_id||"",e=c.get(d)||c.get(i(d)),g=e?.name||"tool",j=f(b.content);a.push(h(g,d,j))}}let d=a.filter(Boolean).join("\n");d&&b.push({role:"user",content:d});continue}let a=f(e.content);if("assistant"===e.role&&e.tool_calls&&e.tool_calls.length>0){let c={role:"assistant",content:a||""};c.tool_calls=e.tool_calls.map(a=>{let{index:b,...c}=a||{};return c}),b.push(c)}else if("assistant"===e.role&&Array.isArray(e.content)){let c=e.content.filter(a=>a?.type==="tool_use").map(a=>({id:a.id||"",type:"function",function:{name:a.name||"tool",arguments:JSON.stringify(a.input||{})}})).filter(a=>a.id);c.length>0?b.push({role:"assistant",content:a||"",tool_calls:c}):a&&b.push({role:"assistant",content:a})}else a&&b.push({role:e.role,content:a})}}return b}(b.messages||[]),{user:g,metadata:j,tool_choice:k,stream_options:l,system:m,...n}=b;return{...n,messages:e,max_tokens:32e3}}(0,d.kz)(e.h.OPENAI,e.h.CURSOR,j,null)},39006:a=>{a.exports={rE:"0.3.83"}},39359:(a,b,c)=>{c.r(b),c.d(b,{openaiToClaudeRequest:()=>h,openaiToClaudeRequestForAntigravity:()=>j});var d=c(86806),e=c(56790),f=c(43528),g=c(19312);function h(a,b,c){var d;let e=new Map,h={model:a,max_tokens:(0,g.M)(b),stream:c};void 0!==b.temperature&&(h.temperature=b.temperature),h.messages=[];let j=[];if(b.messages&&Array.isArray(b.messages)){let a;for(let a of b.messages)"system"===a.role&&j.push("string"==typeof a.content?a.content:i(a.content));let c=b.messages.filter(a=>"system"!==a.role),d=[],f=()=>{a&&d.length>0&&(h.messages.push({role:a,content:d}),d=[])};for(let b of c){let c="user"===b.role||"tool"===b.role?"user":"assistant",g=function(a,b=new Map){let c=[];if("tool"===a.role)c.push({type:"tool_result",tool_use_id:a.tool_call_id,content:a.content});else if("user"===a.role){if("string"==typeof a.content)a.content&&c.push({type:"text",text:a.content});else if(Array.isArray(a.content))for(let b of a.content)if("text"===b.type&&b.text)c.push({type:"text",text:b.text});else if("tool_result"===b.type)c.push({type:"tool_result",tool_use_id:b.tool_use_id,content:b.content,...b.is_error&&{is_error:b.is_error}});else if("image_url"===b.type){let a=b.image_url.url,d=a.match(/^data:([^;]+);base64,(.+)$/);d?c.push({type:"image",source:{type:"base64",media_type:d[1],data:d[2]}}):(a.startsWith("http://")||a.startsWith("https://"))&&c.push({type:"image",source:{type:"url",url:a}})}else"image"===b.type&&b.source&&c.push({type:"image",source:b.source})}else if("assistant"===a.role){if(Array.isArray(a.content)){for(let b of a.content)if("text"===b.type&&b.text)c.push({type:"text",text:b.text});else if("tool_use"===b.type)c.push({type:"tool_use",id:b.id,name:b.name,input:b.input});else if("thinking"===b.type){let{cache_control:a,...d}=b;c.push(d)}}else if(a.content){let b="string"==typeof a.content?a.content:i(a.content);b&&c.push({type:"text",text:b})}if(a.tool_calls&&Array.isArray(a.tool_calls)){for(let b of a.tool_calls)if("function"===b.type){let a=""+b.function.name;c.push({type:"tool_use",id:b.id,name:a,input:function(a){if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return a}}(b.function.arguments)})}}}return c}(b,e),j=g.some(a=>"tool_use"===a.type);if(g.some(a=>"tool_result"===a.type)){let b=g.filter(a=>"tool_result"===a.type),e=g.filter(a=>"tool_result"!==a.type);f(),b.length>0&&h.messages.push({role:"user",content:b}),e.length>0&&(a=c,d.push(...e));continue}a!==c&&(f(),a=c),d.push(...g),j&&f()}f();for(let a=h.messages.length-1;a>=0;a--){let b=h.messages[a];if("assistant"===b.role&&Array.isArray(b.content)&&b.content.length>0){let a=["text","tool_use","tool_result","image"];for(let c=b.content.length-1;c>=0;c--){let d=b.content[c];if(a.includes(d.type)){d.cache_control={type:"ephemeral"};break}}break}}}if(b.response_format){let a=b.response_format;if("json_schema"===a.type&&a.json_schema?.schema){let b=JSON.stringify(a.json_schema.schema,null,2);j.push(`You must respond with valid JSON that strictly follows this JSON schema:
30
+ ${f(e.content)}`});continue}if("tool"===e.role){let a=f(e.content),d=e.tool_call_id||"",g=c.get(d)||{},i=e.name||g.name||"tool";b.push({role:"user",content:h(i,d,a)});continue}if("user"===e.role||"assistant"===e.role){if("user"===e.role&&Array.isArray(e.content)){let a=[];for(let b of e.content)if(b&&"object"==typeof b){if("text"===b.type){"string"==typeof b.text&&a.push(b.text||"");continue}if("tool_result"===b.type){let d=b.tool_use_id||"",e=c.get(d)||c.get(i(d)),g=e?.name||"tool",j=f(b.content);a.push(h(g,d,j))}}let d=a.filter(Boolean).join("\n");d&&b.push({role:"user",content:d});continue}let a=f(e.content);if("assistant"===e.role&&e.tool_calls&&e.tool_calls.length>0){let c={role:"assistant",content:a||""};c.tool_calls=e.tool_calls.map(a=>{let{index:b,...c}=a||{};return c}),b.push(c)}else if("assistant"===e.role&&Array.isArray(e.content)){let c=e.content.filter(a=>a?.type==="tool_use").map(a=>({id:a.id||"",type:"function",function:{name:a.name||"tool",arguments:JSON.stringify(a.input||{})}})).filter(a=>a.id);c.length>0?b.push({role:"assistant",content:a||"",tool_calls:c}):a&&b.push({role:"assistant",content:a})}else a&&b.push({role:e.role,content:a})}}return b}(b.messages||[]),{user:g,metadata:j,tool_choice:k,stream_options:l,system:m,...n}=b;return{...n,messages:e,max_tokens:32e3}}(0,d.kz)(e.h.OPENAI,e.h.CURSOR,j,null)},39006:a=>{a.exports={rE:"0.3.84"}},39359:(a,b,c)=>{c.r(b),c.d(b,{openaiToClaudeRequest:()=>h,openaiToClaudeRequestForAntigravity:()=>j});var d=c(86806),e=c(56790),f=c(43528),g=c(19312);function h(a,b,c){var d;let e=new Map,h={model:a,max_tokens:(0,g.M)(b),stream:c};void 0!==b.temperature&&(h.temperature=b.temperature),h.messages=[];let j=[];if(b.messages&&Array.isArray(b.messages)){let a;for(let a of b.messages)"system"===a.role&&j.push("string"==typeof a.content?a.content:i(a.content));let c=b.messages.filter(a=>"system"!==a.role),d=[],f=()=>{a&&d.length>0&&(h.messages.push({role:a,content:d}),d=[])};for(let b of c){let c="user"===b.role||"tool"===b.role?"user":"assistant",g=function(a,b=new Map){let c=[];if("tool"===a.role)c.push({type:"tool_result",tool_use_id:a.tool_call_id,content:a.content});else if("user"===a.role){if("string"==typeof a.content)a.content&&c.push({type:"text",text:a.content});else if(Array.isArray(a.content))for(let b of a.content)if("text"===b.type&&b.text)c.push({type:"text",text:b.text});else if("tool_result"===b.type)c.push({type:"tool_result",tool_use_id:b.tool_use_id,content:b.content,...b.is_error&&{is_error:b.is_error}});else if("image_url"===b.type){let a=b.image_url.url,d=a.match(/^data:([^;]+);base64,(.+)$/);d?c.push({type:"image",source:{type:"base64",media_type:d[1],data:d[2]}}):(a.startsWith("http://")||a.startsWith("https://"))&&c.push({type:"image",source:{type:"url",url:a}})}else"image"===b.type&&b.source&&c.push({type:"image",source:b.source})}else if("assistant"===a.role){if(Array.isArray(a.content)){for(let b of a.content)if("text"===b.type&&b.text)c.push({type:"text",text:b.text});else if("tool_use"===b.type)c.push({type:"tool_use",id:b.id,name:b.name,input:b.input});else if("thinking"===b.type){let{cache_control:a,...d}=b;c.push(d)}}else if(a.content){let b="string"==typeof a.content?a.content:i(a.content);b&&c.push({type:"text",text:b})}if(a.tool_calls&&Array.isArray(a.tool_calls)){for(let b of a.tool_calls)if("function"===b.type){let a=""+b.function.name;c.push({type:"tool_use",id:b.id,name:a,input:function(a){if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return a}}(b.function.arguments)})}}}return c}(b,e),j=g.some(a=>"tool_use"===a.type);if(g.some(a=>"tool_result"===a.type)){let b=g.filter(a=>"tool_result"===a.type),e=g.filter(a=>"tool_result"!==a.type);f(),b.length>0&&h.messages.push({role:"user",content:b}),e.length>0&&(a=c,d.push(...e));continue}a!==c&&(f(),a=c),d.push(...g),j&&f()}f();for(let a=h.messages.length-1;a>=0;a--){let b=h.messages[a];if("assistant"===b.role&&Array.isArray(b.content)&&b.content.length>0){let a=["text","tool_use","tool_result","image"];for(let c=b.content.length-1;c>=0;c--){let d=b.content[c];if(a.includes(d.type)){d.cache_control={type:"ephemeral"};break}}break}}}if(b.response_format){let a=b.response_format;if("json_schema"===a.type&&a.json_schema?.schema){let b=JSON.stringify(a.json_schema.schema,null,2);j.push(`You must respond with valid JSON that strictly follows this JSON schema:
31
31
  \`\`\`json
32
32
  ${b}
33
33
  \`\`\`
@@ -147,7 +147,7 @@ You are producing plain text that will later be styled by the CLI. Follow these
147
147
  * Optionally include line/column (1‑based): :line[:column] or #Lline[Ccolumn] (column defaults to 1).
148
148
  * Do not use URIs like file://, vscode://, or https://.
149
149
  * Do not provide range of lines
150
- * Examples: src/app.ts, src/app.ts:42, b/server/index.js#L10, C:\\repo\\project\\main.rs:12:5`;var f=c(62276),g=c(62970);class h extends d.H{constructor(){super("codex",f.x.codex)}buildHeaders(a,b=!0){let c=super.buildHeaders(a,b);return c.session_id=`${Date.now()}-${Math.random().toString(36).slice(2,11)}`,c}transformRequest(a,b,c,d){let f=(0,g.m)(b.input);if(f&&(b.input=f),(!b.input||Array.isArray(b.input)&&0===b.input.length)&&(b.input=[{type:"message",role:"user",content:[{type:"input_text",text:"..."}]}]),Array.isArray(b.input))for(let a of b.input)Array.isArray(a.content)&&(a.content=a.content.map(a=>"image_url"===a.type?{type:"input_image",image_url:"string"==typeof a.image_url?a.image_url:a.image_url?.url,detail:a.image_url?.detail||"auto"}:a));b.stream=!0,b.instructions&&""!==b.instructions.trim()||(b.instructions=e),b.store=!1;let h=null;for(let c of["none","low","medium","high","xhigh"])if(a.endsWith(`-${c}`)){h=c,b.model=b.model.replace(`-${c}`,"");break}if(b.reasoning)b.reasoning.summary||(b.reasoning.summary="auto");else{let a=b.reasoning_effort||h||"medium";b.reasoning={effort:a,summary:"auto"}}return delete b.reasoning_effort,b.reasoning&&b.reasoning.effort&&"none"!==b.reasoning.effort&&(b.include=["reasoning.encrypted_content"]),delete b.temperature,delete b.top_p,delete b.frequency_penalty,delete b.presence_penalty,delete b.logprobs,delete b.top_logprobs,delete b.n,delete b.seed,delete b.max_tokens,delete b.user,delete b.prompt_cache_retention,delete b.metadata,delete b.stream_options,delete b.safety_identifier,b}}},52589:(a,b,c)=>{c.d(b,{$G:()=>g,bf:()=>e,n6:()=>f,xr:()=>d});let d="EpwGCkYIChgCKkCzVUuRrg7CcglSUWEef4rH6o35g9UYS8ZPe0/VomQTBsFx6sttYNj5l8GqgW6ejuHyYqpFToxIbZl0bw17l5dJEgzCnqDO0Z8fRlMrNgsaDLS1cnCjC53KBqE0CCIwAADQdo1eO+7qPAmo8J4WR3JPmr92S97kmvr5K1iPMiOpkZNj8mEXW8uzBoOJs/9ZKoMFiqHJ3UObwaJDqFOW70E9oCwDoc6jesaWVAEdN5vWfKMpIkjFJjECdjIdkxyJNJ8Ib8yXVal3qwE7uThoPRqSZDdHB5mmwPEjWE/90cSYCbtX2YsJki1265CabBb8/QEkODXg4kgRrL+c8e8rRXz/dr1RswvaPuzEdGKHRNi9UooNUeOK4/ebx1KkP9YZttyohN9GWqlts36kOoW0Cfie/ABDgF9g534BPth/sstxDM6d79QlRmh6NxizyTF74DXJI34u0M4tTRchqE5pAq85SgdJaa+dix1yJPMji8m6nZkwJbscJb9rdc2MKyKWjz8QL2+rTSSuZ2F1k1qSsW0xNcI7qLcI12Vncfn/VqY6YOIZy/saZBR0ezXvN6g+UYbuIdyVg7AyIFZt3nbrO7/kmOEb2VKzygwklHGEIJHfFgMpH3JSrAzbZIowVHOF7VaJ+KXRFDCFin7hHTOiOsdg+1ij1mML9Z/x/9CP4b7OUcaQm1llDZPSHc6rZMNL3DdB+fW5YfmNgKU35S+7AMtA10nVILzDAk1UV4T2K9Do09JlI6rjOs9UuULlIN2Z0eE8YTlANR6uQcw7lMcdfqYE8tke4rDKc2dDiaS5vVe45VewICNpdXGN11yw8QqH7p27CR1HtN30e0tHXOR3bIwWk/Yb6O5fTaKG6Ri8e5ZCPvdD9HqepVi188nM0iTjJqL58F3ni04ECIhcbyaQWnuTes1Kw4CMwiZDLQkk8Hgz7HkUOf1btQTF/0nhD7ry0n0hAEg2PaDM3V6TjOjf4hEldRmeqERcQF1PfgKb6ZM12rlIIfUqKACczWJSzTV158+47HX36o0cgux6nFlv/DE+sEiRVxgB",e="EuwGCukGAXLI2nxwZIq54WWSoL/YN0P3TsDZ7zRnLi8g0S4aVr2HUGxvaHKySuY6HAVzcE0GPGjXrytLIldxthSvfxgUlJh6Qa9Z+Oj5QZBlYdg6HaJ6yuY5R7waE6rdwBsRf7Ft2j3DJ9rMi9qhWFqApewYtPhls3VHtuvND3l8Rm09+lbAXQs6KKWEWrxNLKTBkfpMgXhRERc/TQRMZu1twAablm6/Zk1tsYRvfWKLsNbeKF+CCojJdXJKvnR/8Ouuoa+Y2Ti20hcW7aZIIjZDFYPU//k6Ybmhg69J/imbFai2ckhfLaisqdDkdoIiBJScTOUvYqP6AE9d4MsydSC+UlhIMk4hoP76R8vUSCZRMkjOaDXstf/QoVZKbt94wyRZgAJ1G0BqI8L5ow86kLpA4wJEtxsRGymOE4bKUvApveBakYDNM9APkf+LbtbzWSseGjoZcSlycF9iN8Q2XNYKRrHbv3Lr5Y8JjdH/5y/6SHkNehTEZugaeGnSPSyCTWto1kQgHpxdWmhkLfJGNUGLmue7Mesj4TSms4J33mRpYVhNB/J333FCqIP0hr/E7BkkjEn7yZ4X7SQlh+xKPurapsnHRwiKmtsilmEFrnTE9iQr+pMr6M29qqFNv1tr5yumbaJw8JW9sB15tNsRv+dW6BjNanbsKz7HCgKUBc8tGy+7YuhXzAfViyRefcjK7eZW0Fbyt7AbybJTKz78W8NH7ye6LAwzOebXpeZ4D43fNIt8bKh26qgduSQv/7o+pAflkuqHZ99YWgHQ8h8OkZFi3eOiSYjsjhdZ/czWOdoPI/OnqIldzMPF5YlrKBLFX8VhRKVmqgsmWf5PHGulHhMkVlS+XG2UIseGy69ARa93D78Gsa+1n1kJr7EEB7Rh+27vUMxVYLdz1yMSvE5nalTAlg/ZeG8+XQ0cHuAI3KbQpHW2Q++RdXfm5JzD5WdJZUU+Zn8t8UUn85BH4RxZLeE0qJikgSsKoYVBc6YhiMjhPgkR95ReimY4Z0xCJdRo1gjexOFeODZMpQF6Yxnoic7IrdgsFA3iePTbFnPp3IAM1fAThWhXJUn3QInUOTd5o1qmTmn6REbL15g/JQNl+dqUoPkhleeb2V3kjqp1okmO3wMZbPknR3S1LZNmlS72/iBQUm+n2b/RCn4PjmM2",f="CloBjz1rX5+yg1ILh/Ag+suum5k1f/9m/hI0XDQ33lsQIYnOHLn9KZwN0C7E4jgep5MzZvz5Se1Z1xxYrA1+Iz0Il4tabBhaDfMKNa5dGdEA3KnikfjfIpMlPaAKaQGPPWtf2hodPdBgguiZqDn+Qz2LwGEqHVJ16LVBUpeSx7UnYBLSwio8cyNy0jPijOh5QXKLTeHVdO2tKKcCCrtG2JCW3dOSrW2qA8eyAg40iQUnMNECjbcjkqB1+zrab7jX9ILwg7L9OgqYAQGPPWtfT4nzaPzSkXePAa920abYxPs3fg/RHDlg8PUVFLa+ko6qOjt7nXJTMxN0cpCwUCFX7eHHcMnA6vApyA/rXvJiAABkHZ3HilAktXRtxr/thHU0H8/4H5gT3kzoQcq9aMznrKomd3ct0mFi0ioSKnOEfoY1Mrfj00p/ZWm0tT7Wrjcm3BQXZ+T9Vrb94k+6CjtcEBrGCq8BAY89a1/vTMczqwB1NP3HCCuBdnds2vDXkj6XAYaXjsjmik8tGqwMKHz8R9RAWsx6SO6pkGEpXXpRzAaUx6c+aofsL/z1xOcN7ArCAa6uEeQKEgNngZuCP05p4+9P95epVmgOjFa4KfsPnyg+NKUkEFmpPSDrIRyMT+xERlclVcCI98/u7i8a9+vTbgzl8TRFYryClNH37K1ye5i6kqSGDUcMyiEasjke5BxbUh3i6wqMAgGPPWtfk+A+iY38QAldu117FEkTIkzbYOIt67lk9c6Ou3Y3Ct8TFHFw5QwGfSFc0YWjeTFHdm9UdV5jPK35p6VfhiRSva3w2+JLIHb4jvv5HutZPOJ3yQTt/+hUDj80oMNMbwnxNZvCEdzKS+D9vwmTACAm5H0ZetBSH2gPJXnhhuQo9AegS3wIWVR2a5k643Vx9r4u4pOvij4476lxKswIHvqsjL4jnTzRCvd44G6dn7vD0ENGb1K/i+dMRQMcOBaOxPN0ynk9bKxXWRDbZ+Rhakfr+y74z+6eYCdRPVqO9I7s+riilFuRIfaQ+U6/vuVKGIWEVKCfZZi0z6H5Xgz1xmse0u0AsittDlIKxwEBjz1rX783A0vehvUeabRia+/pX46IsN5efTAxFEBUeUce3jLuXIghkMV2b8KNhUs2G0aZldDDewRQbkluQabBMDT82N5I7reJP0VZgLIKccCL5DoGv1J7YWM2npLMIgZ6aP8aSlT3PFFJ0IXbUZUrzduczmIm6nzAJf9zxmq1aIFYw8YrgW8RjUdy0UvUmRoBEShSGUrvsyaRTl7J//KJW5utIPunFMu53GPWLidCFHzM1QA3Cj1+4zv5UXajP/V92RQayWbzCvYBAY89a1+yzoVSWukUGH7kX71Tg9dx7HA7OyKYwnYaqekG98zJfcUM/3KoiiiotW5t4xYu//ksEl36bSWvUHsRnxGByg+3WYdnZqKg0AtdRB/EXbI5PsjvS5ko96bkjSuFkY3TjHGwAM2B94K6/t6OTE/NBbxCsY9sT4d+1sbFv/iyfmfCnfvJaSzGmC9CDWKy4iqQ/vBNWps9j1JXk0p5uPAYC2BaMkxl5xoTVZqI3zAuRtQF5JLmPPy+PdqOgFxMKcLGNhwp7dbhIFLF68vCYQ9CL0NnK2d3CFk1UFVYxsi1TsolR1xahe/Rxt5HZDz/z65nevrQ",g="CiQBjz1rX/AlslZWMe5RgBt4Tv9j4+YNZTTez+JH2/+5oAlICygKXgGPPWtf7/Sux9eLYap/bmYAdPqFThLXj+l7o0DLu/hdgU98MA9ZrlRDNHXx+T0tuY8AcnjPZbiDyOq2bE11Fjhsk6p5axqayaapC/Pt9GczcgIQf1z15WTxCeKWAPYKYQGPPWtfDYj0nlNFNoTlU39RC91Z16xFKJ2MLEmkm+NvimsoOJ6be3g2BssNPtJ/9BKDXRA5cVs17tBeeW72lH8TMB5999udtxHM2SiUsnWsrHlfVuGSCpNQQ+5REw8HNvEKkgEBjz1rXzBNWrqZGbjun55K+vgYPBhJO2qZ67uRWXUA5/qcU12U/mbi5XoA3swoxYE8LEXfZvFFC9WG/W28QNCA0Qd4Trk/WkWiAwZmB8a84Fs14rkv3wqyxwFavPkJorqurAfd2XzGiFy0sB0ITCOPYi1HzDGV5WfXk6b9k+jT66/RuzGa8EcSOWo/QtC3Bkhgowo4AY89a1/f/tw8A02zjIoK7JVDAbf8W4UfmbApJJhwXIiGtu1M0JItObx7g2reYqT+HHL2Q/R4VDc="},53057:(a,b,c)=>{c.d(b,{Xh:()=>e,js:()=>f});let d={cc:"claude",cx:"codex",gc:"gemini-cli",qw:"qwen",if:"iflow",ag:"antigravity",gh:"github",kr:"kiro",cu:"cursor",kc:"kilocode",kmc:"kimi-coding",cl:"cline",oc:"opencode",openai:"openai",anthropic:"anthropic",gemini:"gemini",openrouter:"openrouter",glm:"glm",kimi:"kimi",minimax:"minimax","minimax-cn":"minimax-cn",ds:"deepseek",deepseek:"deepseek",groq:"groq",xai:"xai",mistral:"mistral",pplx:"perplexity",perplexity:"perplexity",together:"together",fireworks:"fireworks",cerebras:"cerebras",cohere:"cohere",nvidia:"nvidia",nebius:"nebius",siliconflow:"siliconflow",hyp:"hyperbolic",hyperbolic:"hyperbolic",dg:"deepgram",deepgram:"deepgram",aai:"assemblyai",assemblyai:"assemblyai",nb:"nanobanana",nanobanana:"nanobanana",ch:"chutes",chutes:"chutes",cursor:"cursor",vx:"vertex",vertex:"vertex",vxp:"vertex-partner","vertex-partner":"vertex-partner"};function e(a){if(!a)return{provider:null,model:null,isAlias:!1,providerAlias:null};if(a.includes("/")){let b=a.indexOf("/"),c=a.slice(0,b),e=a.slice(b+1);return{provider:d[c]||c,model:e,isAlias:!1,providerAlias:c}}return{provider:null,model:a,isAlias:!0,providerAlias:null}}async function f(a,b){let c=e(a);if(!c.isAlias)return{provider:c.provider,model:c.model};let f="function"==typeof b?await b():b,g=function(a,b){var c,e;if(!b)return null;let f=b[a];if(!f)return null;if("string"==typeof f&&f.includes("/")){let a=f.indexOf("/");return{provider:d[c=f.slice(0,a)]||c,model:f.slice(a+1)}}return"object"==typeof f&&f.provider&&f.model?{provider:d[e=f.provider]||e,model:f.model}:null}(c.model,f);return g||{provider:function(a){if(!a)return"openai";let b=a.toLowerCase();return b.startsWith("claude-")?"anthropic":b.startsWith("gemini-")?"gemini":b.startsWith("gpt-")||b.startsWith("o1")||b.startsWith("o3")||b.startsWith("o4")?"openai":b.startsWith("deepseek-")?"openrouter":"openai"}(c.model),model:c.model}}},56790:(a,b,c)=>{c.d(b,{h:()=>d,t:()=>e});let d={OPENAI:"openai",OPENAI_RESPONSES:"openai-responses",OPENAI_RESPONSE:"openai-response",CLAUDE:"claude",GEMINI:"gemini",GEMINI_CLI:"gemini-cli",VERTEX:"vertex",CODEX:"codex",ANTIGRAVITY:"antigravity",KIRO:"kiro",CURSOR:"cursor",OLLAMA:"ollama"};function e(a,b){return a.includes("/v1/responses")?d.OPENAI_RESPONSES:a.includes("/v1/messages")?d.CLAUDE:a.includes("/v1/chat/completions")&&Array.isArray(b?.input)?d.OPENAI:null}},62970:(a,b,c)=>{c.d(b,{m:()=>d});function d(a){return"string"==typeof a?[{type:"message",role:"user",content:[{type:"input_text",text:""===a.trim()?"...":a}]}]:Array.isArray(a)?0===a.length?[{type:"message",role:"user",content:[{type:"input_text",text:"..."}]}]:a:null}},63151:(a,b,c)=>{c.r(b),c.d(b,{openaiToAntigravityResponse:()=>f});var d=c(86806),e=c(56790);function f(a,b){if(!a)return null;let c=a.choices?.[0];if(!c)return a.usage&&(b._usage=a.usage),null;let d=c.delta||{},e=c.finish_reason;b._toolCallAccum||(b._toolCallAccum={}),b._responseId||(b._responseId=a.id||`resp_${Date.now()}`),b._modelVersion||(b._modelVersion=a.model||"");let f=[];if(d.reasoning_content&&f.push({thought:!0,text:d.reasoning_content}),d.content&&f.push({text:d.content}),d.tool_calls){for(let a of d.tool_calls){let c=a.index??0;b._toolCallAccum[c]||(b._toolCallAccum[c]={id:"",name:"",arguments:""});let d=b._toolCallAccum[c];a.id&&(d.id=a.id),a.function?.name&&(d.name+=a.function.name),a.function?.arguments&&(d.arguments+=a.function.arguments)}if(0===f.length&&!e)return null}if(e)for(let a of Object.keys(b._toolCallAccum)){let c=b._toolCallAccum[a],d={};try{d=JSON.parse(c.arguments)}catch{}let e=b.toolNameMap?.get(c.name)||c.name;f.push({functionCall:{name:e,args:d}})}if(0===f.length&&!e)return null;0===f.length&&e&&f.push({text:""});let g={content:{role:"model",parts:f}};e&&(g.finishReason=({stop:"STOP",length:"MAX_TOKENS",tool_calls:"STOP",content_filter:"SAFETY"})[e]||"STOP");let h={candidates:[g],modelVersion:b._modelVersion,responseId:b._responseId},i=a.usage||b._usage;return i&&(h.usageMetadata={promptTokenCount:i.prompt_tokens||0,candidatesTokenCount:i.completion_tokens||0,totalTokenCount:i.total_tokens||0},i.completion_tokens_details?.reasoning_tokens&&(h.usageMetadata.thoughtsTokenCount=i.completion_tokens_details.reasoning_tokens),i.prompt_tokens_details?.cached_tokens&&(h.usageMetadata.cachedContentTokenCount=i.prompt_tokens_details.cached_tokens)),{response:h}}(0,d.kz)(e.h.OPENAI,e.h.ANTIGRAVITY,null,f)},65787:(a,b,c)=>{c.d(b,{x:()=>o});var d=c(24353),e=c(62276),f=c(43528),g=c(23016),h=c(77021),i=c(1950),j=c(86806),k=c(11572),l=c(37973),m=c(55511),n=c.n(m);class o extends d.H{constructor(){super("github",e.x.github),this.knownCodexModels=new Set}buildUrl(a,b,c=0){return this.config.baseUrl}buildHeaders(a,b=!0){let c=a.copilotToken||a.accessToken;return{Authorization:`Bearer ${c}`,"Content-Type":"application/json","copilot-integration-id":"vscode-chat","editor-version":`vscode/${f.x0.VSCODE_VERSION}`,"editor-plugin-version":`copilot-chat/${f.x0.COPILOT_CHAT_VERSION}`,"user-agent":f.x0.USER_AGENT,"openai-intent":"conversation-panel","x-github-api-version":f.x0.API_VERSION,"x-request-id":n().randomUUID?.()||`${Date.now()}-${Math.random().toString(36).slice(2)}`,"x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:b?"text/event-stream":"application/json"}}sanitizeMessagesForChatCompletions(a){if(!a?.messages)return a;let b={...a};if(a.response_format&&a.model?.includes("claude")){let b=a.response_format,c="";if("json_schema"===b.type&&b.json_schema?.schema?c="CRITICAL: You must ONLY output raw JSON. Never use markdown code blocks. Never use backticks. Never wrap JSON in triple backticks. Output ONLY the raw JSON object.":"json_object"===b.type&&(c="CRITICAL: You must ONLY output raw JSON. Never use markdown code blocks. Never use backticks."),c){let b=a.messages.findIndex(a=>"system"===a.role);b>=0?a.messages[b].content=c+"\n\n"+a.messages[b].content:a.messages.unshift({role:"system",content:c});let d=a.messages.map((a,b)=>"user"===a.role?b:-1).filter(a=>a>=0).pop();if(d>=0){let b=a.messages[d],c="string"==typeof b.content?b.content:JSON.stringify(b.content);b.content="Respond with ONLY raw JSON (no markdown, no backticks, no code blocks): "+c}}}return b.messages=a.messages.map(a=>{if(!a.content||"string"==typeof a.content)return a;if(Array.isArray(a.content)){let b=a.content.map(a=>{if("text"===a.type||"image_url"===a.type)return a;let b=a.text||a.content||JSON.stringify(a);return{type:"text",text:"string"==typeof b?b:JSON.stringify(b)}}).filter(a=>""!==a.text);return{...a,content:b.length>0?b:null}}return a}),b}async execute(a){let{model:b,log:c}=a;if(this.knownCodexModels.has(b))return c?.debug("GITHUB",`Using cached /responses route for ${b}`),this.executeWithResponsesEndpoint(a);let d={...a,body:this.sanitizeMessagesForChatCompletions(a.body)},e=await super.execute({...d,proxyOptions:a.proxyOptions||null});if(e.response.status===g.gx.BAD_REQUEST){let d=await e.response.clone().text();if(d.includes("not accessible via the /chat/completions endpoint")||d.includes("The requested model is not supported"))return c?.warn("GITHUB",`Model ${b} requires /responses. Switching...`),this.knownCodexModels.add(b),this.executeWithResponsesEndpoint(a)}return e}async executeWithResponsesEndpoint({model:a,body:b,stream:c,credentials:d,signal:e,log:f,proxyOptions:g=null}){let m=this.config.responsesUrl,n=this.buildHeaders(d,c),o=(0,h.openaiToOpenAIResponsesRequest)(a,b,c,d);f?.debug("GITHUB","Sending translated request to /responses");let p=await (0,l.proxyAwareFetch)(m,{method:"POST",headers:n,body:JSON.stringify(o),signal:e},g);if(!p.ok)return{response:p,url:m,headers:n,transformedBody:o};let q=(0,j.Ws)("openai-responses");q.model=a;let r=new TextDecoder,s="",t=new TransformStream({async transform(a,b){let d=(s+=r.decode(a,{stream:!0})).split("\n");for(let a of(s=d.pop()||"",d)){let d=a.trim();if(!d)continue;let e=(0,k.tV)(d);if(!e)continue;if(e.done&&!0===c){b.enqueue(new TextEncoder().encode("data: [DONE]\n\n"));continue}let f=(0,i.openaiResponsesToOpenAIResponse)(e,q);if(f){let a=(0,k.v8)(f,"openai");b.enqueue(new TextEncoder().encode(a))}}},flush(a){if(s.trim()){let b=(0,k.tV)(s.trim());if(b&&!b.done){let c=(0,i.openaiResponsesToOpenAIResponse)(b,q);c&&a.enqueue(new TextEncoder().encode((0,k.v8)(c,"openai")))}}}});return p.body?{response:new Response(p.body.pipeThrough(t),{status:p.status,statusText:p.statusText,headers:p.headers}),url:m,headers:n,transformedBody:o}:{response:new Response("",{status:p.status,headers:p.headers}),url:m,headers:n,transformedBody:o}}async refreshCopilotToken(a,b){try{let c=await fetch("https://api.github.com/copilot_internal/v2/token",{headers:{Authorization:`token ${a}`,"User-Agent":f.x0.USER_AGENT,"Editor-Version":`vscode/${f.x0.VSCODE_VERSION}`,"Editor-Plugin-Version":`copilot-chat/${f.x0.COPILOT_CHAT_VERSION}`,Accept:"application/json","x-github-api-version":f.x0.API_VERSION}});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN",`Copilot token refresh failed: ${c.status} ${a}`),null}let d=await c.json();return b?.info?.("TOKEN","Copilot token refreshed"),{token:d.token,expiresAt:d.expires_at}}catch(a){return b?.error?.("TOKEN",`Copilot refresh error: ${a.message}`),null}}async refreshGitHubToken(a,b){try{let c={grant_type:"refresh_token",refresh_token:a,client_id:this.config.clientId};this.config.clientSecret&&(c.client_secret=this.config.clientSecret);let d=await fetch(f.NA.github.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(c)});if(!d.ok)return null;let e=await d.json();return b?.info?.("TOKEN","GitHub token refreshed"),{accessToken:e.access_token,refreshToken:e.refresh_token||a,expiresIn:e.expires_in}}catch(a){return b?.error?.("TOKEN",`GitHub refresh error: ${a.message}`),null}}async refreshCredentials(a,b){let c=await this.refreshCopilotToken(a.accessToken,b);if(!c&&a.refreshToken){let d=await this.refreshGitHubToken(a.refreshToken,b);if(d?.accessToken)return(c=await this.refreshCopilotToken(d.accessToken,b))?{...d,copilotToken:c.token,copilotTokenExpiresAt:c.expiresAt}:d}return c?{accessToken:a.accessToken,refreshToken:a.refreshToken,copilotToken:c.token,copilotTokenExpiresAt:c.expiresAt}:null}needsRefresh(a){if(!a.copilotToken)return!0;if(a.copilotTokenExpiresAt){let b=a.copilotTokenExpiresAt;if("number"==typeof b&&b<1e12?b*=1e3:"string"==typeof b&&(b=new Date(b).getTime()),b-Date.now()<3e5)return!0}return super.needsRefresh(a)}}},66299:(a,b,c)=>{c.r(b),c.d(b,{openaiToClaudeResponse:()=>i});var d=c(86806),e=c(56790);let f="proxy_";function g(a,b){a.thinkingBlockStarted&&(b.push({type:"content_block_stop",index:a.thinkingBlockIndex}),a.thinkingBlockStarted=!1)}function h(a,b){a.textBlockStarted&&!a.textBlockClosed&&(a.textBlockClosed=!0,b.push({type:"content_block_stop",index:a.textBlockIndex}),a.textBlockStarted=!1)}function i(a,b){if(!a||!a.choices?.[0])return null;let c=[],d=a.choices[0],e=d.delta;if(a.usage&&"object"==typeof a.usage){let c="number"==typeof a.usage.prompt_tokens?a.usage.prompt_tokens:0,d="number"==typeof a.usage.completion_tokens?a.usage.completion_tokens:0,e=a.usage.prompt_tokens_details?.cached_tokens,f=a.usage.prompt_tokens_details?.cache_creation_tokens,g="number"==typeof e?e:0,h="number"==typeof f?f:0;b.usage={input_tokens:c-g-h,output_tokens:d},g>0&&(b.usage.cache_read_input_tokens=g),h>0&&(b.usage.cache_creation_input_tokens=h)}b.messageStartSent||(b.messageStartSent=!0,b.messageId=a.id?.replace("chatcmpl-","")||`msg_${Date.now()}`,(!b.messageId||"chat"===b.messageId||b.messageId.length<8)&&(b.messageId=a.extend_fields?.requestId||a.extend_fields?.traceId||`msg_${Date.now()}`),b.model=a.model||"unknown",b.nextBlockIndex=0,c.push({type:"message_start",message:{id:b.messageId,type:"message",role:"assistant",model:b.model,content:[],stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0}}}));let i=e?.reasoning_content||e?.reasoning;if(i&&(h(b,c),b.thinkingBlockStarted||(b.thinkingBlockIndex=b.nextBlockIndex++,b.thinkingBlockStarted=!0,c.push({type:"content_block_start",index:b.thinkingBlockIndex,content_block:{type:"thinking",thinking:""}})),c.push({type:"content_block_delta",index:b.thinkingBlockIndex,delta:{type:"thinking_delta",thinking:i}})),e?.content&&(g(b,c),b.textBlockStarted||(b.textBlockIndex=b.nextBlockIndex++,b.textBlockStarted=!0,b.textBlockClosed=!1,c.push({type:"content_block_start",index:b.textBlockIndex,content_block:{type:"text",text:""}})),c.push({type:"content_block_delta",index:b.textBlockIndex,delta:{type:"text_delta",text:e.content}})),e?.tool_calls)for(let a of e.tool_calls){let d=a.index??0;if(a.id){g(b,c),h(b,c);let e=b.nextBlockIndex++;b.toolCalls.set(d,{id:a.id,name:a.function?.name||"",blockIndex:e});let i=a.function?.name||"";i.startsWith(f)&&(i=i.slice(f.length)),c.push({type:"content_block_start",index:e,content_block:{type:"tool_use",id:a.id,name:i,input:{}}})}if(a.function?.arguments){let e=b.toolCalls.get(d);e&&c.push({type:"content_block_delta",index:e.blockIndex,delta:{type:"input_json_delta",partial_json:a.function.arguments}})}}if(d.finish_reason){for(let[,a]of(g(b,c),h(b,c),b.toolCalls))c.push({type:"content_block_stop",index:a.blockIndex});b.finishReason=d.finish_reason;let a=b.usage||{input_tokens:0,output_tokens:0};c.push({type:"message_delta",delta:{stop_reason:function(a){switch(a){case"stop":default:return"end_turn";case"length":return"max_tokens";case"tool_calls":return"tool_use"}}(d.finish_reason)},usage:a}),c.push({type:"message_stop"})}return c.length>0?c:null}(0,d.kz)(e.h.OPENAI,e.h.CLAUDE,null,i)},68735:(a,b,c)=>{c.d(b,{Gh:()=>j,IF:()=>m,O9:()=>g,OF:()=>l,WL:()=>h,f5:()=>k,lm:()=>f});var d=c(60126),e=c(56790);let f={reset:"\x1b[0m",red:"\x1b[31m",green:"\x1b[32m",yellow:"\x1b[33m",blue:"\x1b[34m",cyan:"\x1b[36m"};function g(a){if(!a||"object"!=typeof a)return a;let b={...a};return void 0!==b.input_tokens&&(b.input_tokens+=2e3),void 0!==b.prompt_tokens&&(b.prompt_tokens+=2e3),void 0!==b.total_tokens?b.total_tokens+=2e3:void 0!==b.prompt_tokens&&void 0!==b.completion_tokens&&(b.total_tokens=b.prompt_tokens+b.completion_tokens),b}function h(a,b){if(!a||"object"!=typeof a)return a;let c={[e.h.CLAUDE]:["input_tokens","output_tokens","cache_read_input_tokens","cache_creation_input_tokens","estimated"],[e.h.GEMINI]:["promptTokenCount","candidatesTokenCount","totalTokenCount","cachedContentTokenCount","thoughtsTokenCount","estimated"],[e.h.OPENAI_RESPONSES]:["input_tokens","output_tokens","input_tokens_details","output_tokens_details","estimated"],default:["prompt_tokens","completion_tokens","total_tokens","cached_tokens","reasoning_tokens","prompt_tokens_details","completion_tokens_details","estimated"]},d=c[b];b===e.h.GEMINI_CLI||b===e.h.ANTIGRAVITY?d=c[e.h.GEMINI]:b===e.h.OPENAI_RESPONSE?d=c[e.h.OPENAI_RESPONSES]:d||(d=c.default);let f={};for(let b of d)void 0!==a[b]&&(f[b]=a[b]);return f}function i(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b={},c=(a,c)=>{if(null==c)return;let d=Number(c);Number.isFinite(d)&&(b[a]=d)};return(c("prompt_tokens",a?.prompt_tokens),c("completion_tokens",a?.completion_tokens),c("total_tokens",a?.total_tokens),c("cache_read_input_tokens",a?.cache_read_input_tokens),c("cache_creation_input_tokens",a?.cache_creation_input_tokens),c("cached_tokens",a?.cached_tokens),c("reasoning_tokens",a?.reasoning_tokens),0===Object.keys(b).length)?null:b}function j(a){if(!a||"object"!=typeof a)return!1;for(let b of["prompt_tokens","completion_tokens","total_tokens","input_tokens","output_tokens","promptTokenCount","candidatesTokenCount"])if("number"==typeof a[b]&&a[b]>0)return!0;return!1}function k(a){if(!a||"object"!=typeof a)return null;if("message_delta"===a.type&&a.usage&&"object"==typeof a.usage)return i({prompt_tokens:a.usage.input_tokens||0,completion_tokens:a.usage.output_tokens||0,cache_read_input_tokens:a.usage.cache_read_input_tokens,cache_creation_input_tokens:a.usage.cache_creation_input_tokens});if(("response.completed"===a.type||"response.done"===a.type)&&a.response?.usage&&"object"==typeof a.response.usage){let b=a.response.usage;return i({prompt_tokens:b.input_tokens||b.prompt_tokens||0,completion_tokens:b.output_tokens||b.completion_tokens||0,cached_tokens:b.input_tokens_details?.cached_tokens,reasoning_tokens:b.output_tokens_details?.reasoning_tokens})}if(a.usage&&"object"==typeof a.usage&&void 0!==a.usage.prompt_tokens)return i({prompt_tokens:a.usage.prompt_tokens,completion_tokens:a.usage.completion_tokens||0,cached_tokens:a.usage.prompt_tokens_details?.cached_tokens,reasoning_tokens:a.usage.completion_tokens_details?.reasoning_tokens});let b=a.usageMetadata||a.response?.usageMetadata;return b&&"object"==typeof b?i({prompt_tokens:b.promptTokenCount||0,completion_tokens:b.candidatesTokenCount||0,total_tokens:b.totalTokenCount,cached_tokens:b.cachedContentTokenCount,reasoning_tokens:b.thoughtsTokenCount}):null}function l(a,b,c=e.h.OPENAI){var d,f;return d=function(a){if(!a||"object"!=typeof a)return 0;try{let b=JSON.stringify(a).length;return Math.ceil(b/4)}catch(a){return 0}}(a),f=b&&!(b<=0)?Math.max(1,Math.floor(b/4)):0,c===e.h.CLAUDE?g({input_tokens:d,output_tokens:f,estimated:!0}):g({prompt_tokens:d,completion_tokens:f,total_tokens:d+f,estimated:!0})}function m(a,b,c=null,e=null,g=null){if(!b||"object"!=typeof b)return;let h=a?.toUpperCase()||"UNKNOWN",i=b?.prompt_tokens||b?.input_tokens||0,j=b?.completion_tokens||b?.output_tokens||0,k=e?e.slice(0,8)+"...":"unknown",l=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] 📊 ${f.green}[USAGE] ${h} | in=${i} | out=${j} | account=${k}${f.reset}`;b.estimated&&(l+=` ${f.yellow}(estimated)${f.reset}`);let n=b.cache_read_input_tokens||b.cached_tokens;n&&(l+=` | cache_read=${n}`);let o=b.cache_creation_input_tokens;o&&(l+=` | cache_create=${o}`);let p=b.reasoning_tokens;p&&(l+=` | reasoning=${p}`),console.log(l);let q={prompt_tokens:i,completion_tokens:j,cache_read_input_tokens:n||0,cache_creation_input_tokens:o||0,reasoning_tokens:p||0};(0,d.sZ)({model:c,provider:a,connectionId:e,tokens:q,apiKey:g||void 0}).catch(()=>{}),(0,d.E5)({model:c,provider:a,connectionId:e,tokens:q,status:"200 OK"}).catch(()=>{})}},71246:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{SB:()=>r});var e=c(1820),f=c(84868),g=c(65787),h=c(38461),i=c(89641),j=c(21303),k=c(49593),l=c(86758),m=c(23082),n=c(87767),o=c(21241),p=c(83543);c(24353);var q=a([l]);l=(q.then?(await q)():q)[0];let s={antigravity:new e.c,"gemini-cli":new f.V,github:new g.x,iflow:new h.r,qoder:new i.D,kiro:new j.B,codex:new k.T,cursor:new l.o,cu:new l.o,vertex:new m.w("vertex"),"vertex-partner":new m.w("vertex-partner"),qwen:new n.R,opencode:new o.j},t=new Map;function r(a){return s[a]?s[a]:(t.has(a)||t.set(a,new p.L(a)),t.get(a))}d()}catch(a){d(a)}})},76839:(a,b,c)=>{c.r(b),c.d(b,{claudeToOpenAIResponse:()=>g});var d=c(86806),e=c(56790);function f(a,b,c=null){return{id:`chatcmpl-${a.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:a.model,choices:[{index:0,delta:b,finish_reason:c}]}}function g(a,b){if(!a)return null;let c=[];switch(a.type){case"message_start":b.messageId=a.message?.id||`msg_${Date.now()}`,b.model=a.message?.model,b.toolCallIndex=0,c.push(f(b,{role:"assistant"}));break;case"content_block_start":{let d=a.content_block;if(d?.type==="server_tool_use"){b.serverToolBlockIndex=a.index;break}if(d?.type==="text")b.textBlockStarted=!0;else if(d?.type==="thinking")b.inThinkingBlock=!0,b.currentBlockIndex=a.index,c.push(f(b,{content:"<think>"}));else if(d?.type==="tool_use"){let e=b.toolCallIndex++,g=b.toolNameMap?.get(d.name)||d.name,h={index:e,id:d.id,type:"function",function:{name:g,arguments:""}};b.toolCalls.set(a.index,h),c.push(f(b,{tool_calls:[h]}))}break}case"content_block_delta":{if(a.index===b.serverToolBlockIndex)break;let d=a.delta;if(d?.type==="text_delta"&&d.text)c.push(f(b,{content:d.text}));else if(d?.type==="thinking_delta"&&d.thinking)c.push(f(b,{reasoning_content:d.thinking}));else if(d?.type==="input_json_delta"&&d.partial_json){let e=b.toolCalls.get(a.index);e&&(e.function.arguments+=d.partial_json,c.push(f(b,{tool_calls:[{index:e.index,id:e.id,function:{arguments:d.partial_json}}]})))}break}case"content_block_stop":if(a.index===b.serverToolBlockIndex){b.serverToolBlockIndex=-1;break}b.inThinkingBlock&&a.index===b.currentBlockIndex&&(c.push(f(b,{content:"</think>"})),b.inThinkingBlock=!1),b.textBlockStarted=!1,b.thinkingBlockStarted=!1;break;case"message_delta":if(a.usage&&"object"==typeof a.usage){let c="number"==typeof a.usage.input_tokens?a.usage.input_tokens:0,d="number"==typeof a.usage.output_tokens?a.usage.output_tokens:0,e="number"==typeof a.usage.cache_read_input_tokens?a.usage.cache_read_input_tokens:0,f="number"==typeof a.usage.cache_creation_input_tokens?a.usage.cache_creation_input_tokens:0,g=c+e+f;b.usage={prompt_tokens:g,completion_tokens:d,total_tokens:g+d,input_tokens:c,output_tokens:d},e>0&&(b.usage.cache_read_input_tokens=e),f>0&&(b.usage.cache_creation_input_tokens=f)}if(a.delta?.stop_reason){b.finishReason=function(a){switch(a){case"end_turn":case"stop_sequence":default:return"stop";case"max_tokens":return"length";case"tool_use":return"tool_calls"}}(a.delta.stop_reason);let d={id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{},finish_reason:b.finishReason}]};if(b.usage){d.usage={prompt_tokens:b.usage.prompt_tokens,completion_tokens:b.usage.completion_tokens,total_tokens:b.usage.total_tokens};let a=b.usage.cache_read_input_tokens,c=b.usage.cache_creation_input_tokens;(a>0||c>0)&&(d.usage.prompt_tokens_details={},a>0&&(d.usage.prompt_tokens_details.cached_tokens=a),c>0&&(d.usage.prompt_tokens_details.cache_creation_tokens=c))}c.push(d),b.finishReasonSent=!0}break;case"message_stop":if(!b.finishReasonSent){let a=b.finishReason||(b.toolCalls?.size>0?"tool_calls":"stop"),d=b.usage&&"object"==typeof b.usage?{usage:{prompt_tokens:b.usage.input_tokens||0,completion_tokens:b.usage.output_tokens||0,total_tokens:(b.usage.input_tokens||0)+(b.usage.output_tokens||0)}}:{};c.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{},finish_reason:a}],...d}),b.finishReasonSent=!0}}return c.length>0?c:null}(0,d.kz)(e.h.CLAUDE,e.h.OPENAI,null,g)},77021:(a,b,c)=>{c.r(b),c.d(b,{openaiResponsesToOpenAIRequest:()=>h,openaiToOpenAIResponsesRequest:()=>j});var d=c(86806),e=c(56790),f=c(62970);let g=a=>"string"==typeof a&&a.length>64?a.substring(0,64):a;function h(a,b,c,d){if(!b.input)return b;let e={...b};e.messages=[],b.instructions&&e.messages.push({role:"system",content:b.instructions});let g=null,h=[],j=(0,f.m)(b.input);if(!j)return b;for(let a of j){let b=a.type||(a.role?"message":null);if("message"===b){if(g&&(e.messages.push(g),g=null),h.length>0){for(let a of h)e.messages.push(a);h=[]}let b=Array.isArray(a.content)?a.content.map(a=>"input_text"===a.type||"output_text"===a.type?{type:"text",text:a.text}:"input_image"===a.type?{type:"image_url",image_url:{url:a.image_url||a.file_id||"",detail:a.detail||"auto"}}:a):a.content;e.messages.push({role:a.role,content:b})}else if("function_call"===b){if(g||(g={role:"assistant",content:null,tool_calls:[]}),!a.name||"string"!=typeof a.name||""===a.name.trim())continue;g.tool_calls.push({id:a.call_id,type:"function",function:{name:a.name,arguments:a.arguments}})}else if("function_call_output"===b){if(g&&(e.messages.push(g),g=null),h.length>0){for(let a of h)e.messages.push(a);h=[]}e.messages.push({role:"tool",tool_call_id:a.call_id,content:"string"==typeof a.output?a.output:JSON.stringify(a.output)})}else if("reasoning"===b)continue}if(g&&e.messages.push(g),h.length>0)for(let a of h)e.messages.push(a);return b.tools&&Array.isArray(b.tools)&&(e.tools=b.tools.map(a=>{if(a.function)return a;let b=a.name;return b&&"string"==typeof b&&""!==b.trim()?{type:"function",function:{name:b,description:String(a.description||""),parameters:i(a.parameters),strict:a.strict}}:null}).filter(Boolean)),delete e.input,delete e.instructions,delete e.include,delete e.prompt_cache_key,delete e.store,delete e.reasoning,e}function i(a){return a?"object"!==a.type||a.properties?a:{...a,properties:{}}:{type:"object",properties:{}}}function j(a,b,c,d){if(b.input)return{...b,model:a,stream:!0};let e={model:a,input:[],stream:!0,store:!1},f=!1;for(let a of b.messages||[]){if("system"===a.role){f||(e.instructions="string"==typeof a.content?a.content:"",f=!0);continue}if("user"===a.role||"assistant"===a.role){let b="user"===a.role?"input_text":"output_text",c="string"==typeof a.content?[{type:b,text:a.content}]:Array.isArray(a.content)?a.content.map(a=>{if("text"===a.type)return{type:b,text:a.text};if("image_url"===a.type)return{type:"input_image",image_url:"string"==typeof a.image_url?a.image_url:a.image_url?.url,detail:a.image_url?.detail||"auto"};if("input_image"===a.type)return a;let c=a.text||a.content||JSON.stringify(a);return{type:b,text:"string"==typeof c?c:JSON.stringify(c)}}):[];c.length>0&&e.input.push({type:"message",role:a.role,content:c})}if("assistant"===a.role&&a.tool_calls)for(let b of a.tool_calls)e.input.push({type:"function_call",call_id:g(b.id),name:b.function?.name||"_unknown",arguments:b.function?.arguments||"{}"});if("tool"===a.role){let b="string"==typeof a.content?a.content:Array.isArray(a.content)?a.content.map(a=>a.text||JSON.stringify(a)).join(""):JSON.stringify(a.content);e.input.push({type:"function_call_output",call_id:g(a.tool_call_id),output:b})}}return f||(e.instructions=""),b.tools&&Array.isArray(b.tools)&&(e.tools=b.tools.map(a=>"function"===a.type?{type:"function",name:a.function.name,description:String(a.function.description||""),parameters:i(a.function.parameters),strict:a.function.strict}:a)),void 0!==b.temperature&&(e.temperature=b.temperature),void 0!==b.max_tokens&&(e.max_tokens=b.max_tokens),void 0!==b.top_p&&(e.top_p=b.top_p),e}(0,d.kz)(e.h.OPENAI_RESPONSES,e.h.OPENAI,h,null),(0,d.kz)(e.h.OPENAI,e.h.OPENAI_RESPONSES,j,null)},83543:(a,b,c)=>{c.d(b,{L:()=>i});var d=c(24353),e=c(62276),f=c(43528),g=c(98774),h=c(42506);class i extends d.H{constructor(a){super(a,e.x[a]||e.x.openai)}buildUrl(a,b,c=0,d=null){if(this.provider?.startsWith?.("openai-compatible-")){let a=(d?.providerSpecificData?.baseUrl||"https://api.openai.com/v1").replace(/\/$/,""),b=this.provider.includes("responses")?"/responses":"/chat/completions";return`${a}${b}`}if(this.provider?.startsWith?.("anthropic-compatible-")){let a=(d?.providerSpecificData?.baseUrl||"https://api.anthropic.com/v1").replace(/\/$/,"");return`${a}/messages`}switch(this.provider){case"claude":case"glm":case"kimi":case"minimax":case"minimax-cn":case"kimi-coding":return`${this.config.baseUrl}?beta=true`;case"gemini":return`${this.config.baseUrl}/${a}:${b?"streamGenerateContent?alt=sse":"generateContent"}`;default:return this.config.baseUrl}}buildHeaders(a,b=!0){let c={"Content-Type":"application/json",...this.config.headers};switch(this.provider){case"gemini":a.apiKey?c["x-goog-api-key"]=a.apiKey:c.Authorization=`Bearer ${a.accessToken}`;break;case"claude":{let b=(0,h.b)();if(b){for(let a of Object.keys(b)){let d=a.replace(/(^|-)([a-z])/g,(a,b,c)=>b+c.toUpperCase());if("anthropic-beta"===a){let e=new Set((c[d]||c[a]||"").split(",").map(a=>a.trim()).filter(Boolean)),f=new Set(b[a].split(",").map(a=>a.trim()).filter(Boolean));for(let a of e)f.add(a);b[a]=Array.from(f).join(",")}d!==a&&void 0!==c[d]&&delete c[d]}Object.assign(c,b)}a.apiKey?c["x-api-key"]=a.apiKey:c.Authorization=`Bearer ${a.accessToken}`;break}case"glm":case"kimi":case"minimax":case"minimax-cn":c["x-api-key"]=a.apiKey||a.accessToken;break;case"kimi-coding":c.Authorization=`Bearer ${a.accessToken}`,Object.assign(c,(0,f.VK)());break;default:this.provider?.startsWith?.("anthropic-compatible-")?(a.apiKey?c["x-api-key"]=a.apiKey:a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),c["anthropic-version"]||(c["anthropic-version"]="2023-06-01")):"gitlab"===this.provider||"codebuddy"===this.provider?c.Authorization=`Bearer ${a.apiKey||a.accessToken}`:"kilocode"===this.provider?(c.Authorization=`Bearer ${a.apiKey||a.accessToken}`,a.providerSpecificData?.orgId&&(c["X-Kilocode-OrganizationID"]=a.providerSpecificData.orgId)):"cline"===this.provider?Object.assign(c,(0,g.w$)(a.apiKey||a.accessToken)):c.Authorization=`Bearer ${a.apiKey||a.accessToken}`}if(this.provider?.startsWith?.("anthropic-compatible-")){let b=a?.providerSpecificData?.baseUrl||"";if(!(""===b||b.includes("api.anthropic.com"))){for(let a of(delete c["anthropic-dangerous-direct-browser-access"],delete c["Anthropic-Dangerous-Direct-Browser-Access"],delete c["x-app"],delete c["X-App"],["anthropic-beta","Anthropic-Beta"]))if(c[a]){let b=c[a].split(",").map(a=>a.trim()).filter(a=>a&&"claude-code-20250219"!==a).join(",");b?c[a]=b:delete c[a]}}}return b&&(c.Accept="text/event-stream"),c}async refreshCredentials(a,b){if(!a.refreshToken)return null;let c={claude:()=>this.refreshWithJSON(f.NA.anthropic.token,{grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:e.x.claude.clientId}),codex:()=>this.refreshWithForm(f.NA.openai.token,{grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:e.x.codex.clientId,scope:"openid profile email offline_access"}),qwen:()=>this.refreshWithForm(f.NA.qwen.token,{grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:e.x.qwen.clientId}),iflow:()=>this.refreshIflow(a.refreshToken),gemini:()=>this.refreshGoogle(a.refreshToken),kiro:()=>this.refreshKiro(a.refreshToken),cline:()=>this.refreshCline(a.refreshToken),"kimi-coding":()=>this.refreshKimiCoding(a.refreshToken),kilocode:()=>this.refreshKilocode(a.refreshToken)}[this.provider];if(!c)return null;try{let a=await c();return a&&b?.info?.("TOKEN",`${this.provider} refreshed`),a}catch(a){return b?.error?.("TOKEN",`${this.provider} refresh error: ${a.message}`),null}}async refreshWithJSON(a,b){let c=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(b)});if(!c.ok)return null;let d=await c.json();return{accessToken:d.access_token,refreshToken:d.refresh_token||b.refresh_token,expiresIn:d.expires_in}}async refreshWithForm(a,b){let c=await fetch(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(b)});if(!c.ok)return null;let d=await c.json();return{accessToken:d.access_token,refreshToken:d.refresh_token||b.refresh_token,expiresIn:d.expires_in}}async refreshIflow(a){let b=btoa(`${e.x.iflow.clientId}:${e.x.iflow.clientSecret}`),c=await fetch(f.NA.iflow.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${b}`},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:e.x.iflow.clientId,client_secret:e.x.iflow.clientSecret})});if(!c.ok)return null;let d=await c.json();return{accessToken:d.access_token,refreshToken:d.refresh_token||a,expiresIn:d.expires_in}}async refreshGoogle(a){let b=await fetch(f.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:this.config.clientId,client_secret:this.config.clientSecret})});if(!b.ok)return null;let c=await b.json();return{accessToken:c.access_token,refreshToken:c.refresh_token||a,expiresIn:c.expires_in}}async refreshKiro(a){let b=await fetch(e.x.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"kiro-cli/1.0.0"},body:JSON.stringify({refreshToken:a})});if(!b.ok)return null;let c=await b.json();return{accessToken:c.accessToken,refreshToken:c.refreshToken||a,expiresIn:c.expiresIn}}async refreshCline(a){console.log("[DEBUG] Refreshing Cline token, refreshToken length:",a?.length);let b=await fetch("https://api.cline.bot/api/v1/auth/refresh",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:a,grantType:"refresh_token",clientType:"extension"})});if(console.log("[DEBUG] Cline refresh response status:",b.status),!b.ok)return console.log("[DEBUG] Cline refresh error:",await b.text()),null;let c=await b.json();console.log("[DEBUG] Cline refresh payload:",JSON.stringify(c).substring(0,200));let d=c?.data||c,e=d?.expiresAt,f=e?Math.max(1,Math.floor((new Date(e).getTime()-Date.now())/1e3)):void 0;return console.log("[DEBUG] Cline refresh success, expiresIn:",f),{accessToken:d?.accessToken,refreshToken:d?.refreshToken||a,expiresIn:f}}async refreshKimiCoding(a){let b=(0,f.VK)(),c=await fetch("https://auth.kimi.com/api/oauth/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",...b},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:"17e5f671-d194-4dfb-9706-5516cb48c098"})});if(!c.ok)return null;let d=await c.json();return{accessToken:d.access_token,refreshToken:d.refresh_token||a,expiresIn:d.expires_in}}async refreshKilocode(a){return null}}},84868:(a,b,c)=>{c.d(b,{V:()=>g});var d=c(24353),e=c(62276),f=c(43528);class g extends d.H{constructor(){super("gemini-cli",e.x["gemini-cli"])}buildUrl(a,b,c=0){return`${this.config.baseUrl}:${b?"streamGenerateContent?alt=sse":"generateContent"}`}buildHeaders(a,b=!0){return{"Content-Type":"application/json",Authorization:`Bearer ${a.accessToken}`,"User-Agent":(0,f.sX)(this._currentModel),"X-Goog-Api-Client":f.go,Accept:b?"text/event-stream":"application/json"}}transformRequest(a,b,c,d){return this._currentModel=a,!b.project&&d?.projectId&&(b.project=d.projectId),b}async refreshCredentials(a,b){if(!a.refreshToken)return null;try{let c=await fetch(f.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:this.config.clientId,client_secret:this.config.clientSecret})});if(!c.ok)return null;let d=await c.json();return b?.info?.("TOKEN","Gemini CLI refreshed"),{accessToken:d.access_token,refreshToken:d.refresh_token||a.refreshToken,expiresIn:d.expires_in,projectId:a.projectId}}catch(a){return b?.error?.("TOKEN",`Gemini CLI refresh error: ${a.message}`),null}}}},86758:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{o:()=>s});var e=c(24353),f=c(62276),g=c(23016),h=c(48788),i=c(96946),j=c(68735),k=c(56790),l=c(37973),m=c(74075),n=c.n(m);let a=null;if(!("u">typeof caches&&"object"==typeof caches||"u">typeof EdgeRuntime))try{a=await Promise.resolve().then(c.t.bind(c,73496,23))}catch{}let q="1"===process.env.CURSOR_STREAM_DEBUG,r=(...a)=>{q&&console.log(...a)};function o(a,b){if(a.length>10&&123===a[0]&&34===a[1])try{if(a.toString("utf-8").startsWith('{"error"'))return r("[DECOMPRESS] Detected JSON error, skipping decompression"),a}catch{}if(1===b||2===b||3===b)try{return n().gunzipSync(a)}catch(c){try{return n().inflateSync(a)}catch(d){try{return n().inflateRawSync(a)}catch(e){r(`[DECOMPRESS ERROR] flags=${b}, payloadSize=${a.length}, gzip=${c.message}, deflate=${d.message}, raw=${e.message}`),r("[DECOMPRESS ERROR] First 50 bytes (hex):",a.slice(0,50).toString("hex"))}}}return a}function p(a){let b=a?.error?.details?.[0]?.debug?.details?.title||a?.error?.details?.[0]?.debug?.details?.detail||a?.error?.message||"API Error",c=a?.error?.code==="resource_exhausted";return new Response(JSON.stringify({error:{message:b,type:c?"rate_limit_error":"api_error",code:a?.error?.details?.[0]?.debug?.error||"unknown"}}),{status:c?g.gx.RATE_LIMITED:g.gx.BAD_REQUEST,headers:{"Content-Type":"application/json"}})}class s extends e.H{constructor(){super("cursor",f.x.cursor)}buildUrl(){return`${this.config.baseUrl}${this.config.chatPath}`}buildHeaders(a){let b=a.accessToken,c=a.providerSpecificData?.machineId,d=a.providerSpecificData?.ghostMode!==!1;if(!c)throw Error("Machine ID is required for Cursor API");return(0,i.JA)(b,c,d)}transformRequest(a,b,c,d){let e=b.messages||[],f=b.tools||[],g=b.reasoning_effort||null;return(0,h.yI)(e,a,f,g)}async makeFetchRequest(a,b,c,d,e=null){let f=await (0,l.proxyAwareFetch)(a,{method:"POST",headers:b,body:c,signal:d},e);return{status:f.status,headers:Object.fromEntries(f.headers.entries()),body:Buffer.from(await f.arrayBuffer())}}makeHttp2Request(b,c,d,e){if(!a)throw Error("http2 module not available");return new Promise((f,g)=>{let h=new URL(b),i=a.connect(`https://${h.host}`),j=[],k={},l=!1,m=a=>(...b)=>{l||(l=!0,clearTimeout(n),i.close(),a(...b))},n=setTimeout(m(()=>{g(Error("HTTP/2 request timed out"))}),6e4);i.on("error",m(g));let o=i.request({":method":"POST",":path":h.pathname,":authority":h.host,":scheme":"https",...c});if(o.on("response",a=>{k=a}),o.on("data",a=>{j.push(a)}),o.on("end",m(()=>{f({status:k[":status"],headers:k,body:Buffer.concat(j)})})),o.on("error",m(g)),e){let a=m(()=>g(Error("Request aborted")));e.addEventListener("abort",a,{once:!0})}o.write(d),o.end()})}async execute({model:b,body:c,stream:d,credentials:e,signal:f,log:h,proxyOptions:i=null}){let j=this.buildUrl(),k=this.buildHeaders(e),l=this.transformRequest(b,c,d,e);try{let e=i?.enabled===!0||i?.connectionProxyEnabled===!0,g=a&&!e?await this.makeHttp2Request(j,k,l,f):await this.makeFetchRequest(j,k,l,f,i);if(200!==g.status){let a=g.body?.toString()||"Unknown error";return{response:new Response(JSON.stringify({error:{message:`[${g.status}]: ${a}`,type:"invalid_request_error",code:""}}),{status:g.status,headers:{"Content-Type":"application/json"}}),url:j,headers:k,transformedBody:c}}return{response:!1!==d?this.transformProtobufToSSE(g.body,b,c):this.transformProtobufToJSON(g.body,b,c),url:j,headers:k,transformedBody:c}}catch(a){return{response:new Response(JSON.stringify({error:{message:a.message,type:"connection_error",code:""}}),{status:g.gx.SERVER_ERROR,headers:{"Content-Type":"application/json"}}),url:j,headers:k,transformedBody:c}}}transformProtobufToJSON(a,b,c){let d=`chatcmpl-cursor-${Date.now()}`,e=Math.floor(Date.now()/1e3),f=0,i="",l=[],m=new Map,n=new Set,q=0;for(r(`[CURSOR BUFFER] Total length: ${a.length} bytes`);f<a.length;){if(f+5>a.length){r(`[CURSOR BUFFER] Reached end, offset=${f}, remaining=${a.length-f}`);break}let b=a[f],c=a.readUInt32BE(f+1);if(r(`[CURSOR BUFFER] Frame ${q+1}: flags=0x${b.toString(16).padStart(2,"0")}, length=${c}`),f+5+c>a.length){r(`[CURSOR BUFFER] Incomplete frame, offset=${f}, length=${c}, buffer.length=${a.length}`);break}let d=a.slice(f+5,f+5+c);if(f+=5+c,q++,!(d=o(d,b))){r(`[CURSOR BUFFER] Frame ${q}: decompression failed, skipping`);continue}if(d.length>0&&123===d[0])try{let a=d.toString("utf-8");if(a.includes('"error"')){let b=i||m.size>0;if(r(`[CURSOR BUFFER] Error frame (hasContent=${b}): ${a.slice(0,500)}`),b)break;return p(JSON.parse(a))}}catch{}let e=(0,h.CP)(new Uint8Array(d));if(r(`[CURSOR DECODED] Frame ${q}:`,e),e.error){let a=i||m.size>0;if(r(`[CURSOR BUFFER] Decoded error (hasContent=${a}): ${e.error}`),a)break;return new Response(JSON.stringify({error:{message:e.error,type:"rate_limit_error",code:"rate_limited"}}),{status:g.gx.RATE_LIMITED,headers:{"Content-Type":"application/json"}})}if(e.toolCall){let a=e.toolCall;if(m.has(a.id)){let b=m.get(a.id);b.function.arguments+=a.function.arguments,b.isLast=a.isLast}else m.set(a.id,{...a});if(a.isLast){let b=m.get(a.id);n.add(a.id),l.push({id:b.id,type:b.type,function:{name:b.function.name,arguments:b.function.arguments}})}}e.text&&(i+=e.text)}for(let[a,b]of(r(`[CURSOR BUFFER] Parsed ${q} frames, toolCallsMap size: ${m.size}, finalized toolCalls: ${l.length}`),m.entries()))n.has(a)||(r(`[CURSOR BUFFER] Finalizing incomplete tool call: ${a}, isLast=${b.isLast}`),l.push({id:b.id,type:b.type,function:{name:b.function.name,arguments:b.function.arguments}}));r(`[CURSOR BUFFER] Final toolCalls count: ${l.length}`);let s={role:"assistant",content:i||null};l.length>0&&(s.tool_calls=l);let t=(0,j.OF)(c,i.length,k.h.OPENAI),u={id:d,object:"chat.completion",created:e,model:b,choices:[{index:0,message:s,finish_reason:l.length>0?"tool_calls":"stop"}],usage:t};return new Response(JSON.stringify(u),{status:200,headers:{"Content-Type":"application/json"}})}transformProtobufToSSE(a,b,c){let d=`chatcmpl-cursor-${Date.now()}`,e=Math.floor(Date.now()/1e3),f=[],i=0,l="",m=[],n=new Map,q=new Set,s=new Set,t=0;for(r(`[CURSOR BUFFER SSE] Total length: ${a.length} bytes`);i<a.length;){if(i+5>a.length){r(`[CURSOR BUFFER SSE] Reached end, offset=${i}, remaining=${a.length-i}`);break}let c=a[i],j=a.readUInt32BE(i+1);if(r(`[CURSOR BUFFER SSE] Frame ${t+1}: flags=0x${c.toString(16).padStart(2,"0")}, length=${j}`),i+5+j>a.length){r(`[CURSOR BUFFER SSE] Incomplete frame, offset=${i}, length=${j}, buffer.length=${a.length}`);break}let k=a.slice(i+5,i+5+j);if(i+=5+j,t++,!(k=o(k,c))){r(`[CURSOR BUFFER SSE] Frame ${t}: decompression failed, skipping`);continue}if(123===k[0])try{let a=k.toString("utf-8");if(a.includes('"error"')){let b=f.length>0||l||n.size>0;if(r(`[CURSOR BUFFER SSE] Error frame (hasContent=${b}): ${a.slice(0,500)}`),b)break;return p(JSON.parse(a))}}catch{}let u=(0,h.CP)(new Uint8Array(k));if(r(`[CURSOR DECODED SSE] Frame ${t}:`,u),u.error){let a=f.length>0||l||n.size>0;if(r(`[CURSOR BUFFER SSE] Decoded error (hasContent=${a}): ${u.error}`),a)break;return new Response(JSON.stringify({error:{message:u.error,type:"rate_limit_error",code:"rate_limited"}}),{status:g.gx.RATE_LIMITED,headers:{"Content-Type":"application/json"}})}if(u.toolCall){let a=u.toolCall;if(0===f.length&&f.push(`data: ${JSON.stringify({id:d,object:"chat.completion.chunk",created:e,model:b,choices:[{index:0,delta:{role:"assistant",content:""},finish_reason:null}]})}
150
+ * Examples: src/app.ts, src/app.ts:42, b/server/index.js#L10, C:\\repo\\project\\main.rs:12:5`;var f=c(62276),g=c(62970);class h extends d.H{constructor(){super("codex",f.x.codex)}buildHeaders(a,b=!0){let c=super.buildHeaders(a,b);return c.session_id=`${Date.now()}-${Math.random().toString(36).slice(2,11)}`,c}transformRequest(a,b,c,d){let f=(0,g.m)(b.input);if(f&&(b.input=f),(!b.input||Array.isArray(b.input)&&0===b.input.length)&&(b.input=[{type:"message",role:"user",content:[{type:"input_text",text:"..."}]}]),Array.isArray(b.input))for(let a of b.input)Array.isArray(a.content)&&(a.content=a.content.map(a=>"image_url"===a.type?{type:"input_image",image_url:"string"==typeof a.image_url?a.image_url:a.image_url?.url,detail:a.image_url?.detail||"auto"}:a));b.stream=!0,b.instructions&&""!==b.instructions.trim()||(b.instructions=e),b.store=!1;let h=null;for(let c of["none","low","medium","high","xhigh"])if(a.endsWith(`-${c}`)){h=c,b.model=b.model.replace(`-${c}`,"");break}if(b.reasoning)b.reasoning.summary||(b.reasoning.summary="auto");else{let a=b.reasoning_effort||h||"medium";b.reasoning={effort:a,summary:"auto"}}return delete b.reasoning_effort,b.reasoning&&b.reasoning.effort&&"none"!==b.reasoning.effort&&(b.include=["reasoning.encrypted_content"]),delete b.temperature,delete b.top_p,delete b.frequency_penalty,delete b.presence_penalty,delete b.logprobs,delete b.top_logprobs,delete b.n,delete b.seed,delete b.max_tokens,delete b.user,delete b.prompt_cache_retention,delete b.metadata,delete b.stream_options,delete b.safety_identifier,b}}},52589:(a,b,c)=>{c.d(b,{$G:()=>g,bf:()=>e,n6:()=>f,xr:()=>d});let d="EpwGCkYIChgCKkCzVUuRrg7CcglSUWEef4rH6o35g9UYS8ZPe0/VomQTBsFx6sttYNj5l8GqgW6ejuHyYqpFToxIbZl0bw17l5dJEgzCnqDO0Z8fRlMrNgsaDLS1cnCjC53KBqE0CCIwAADQdo1eO+7qPAmo8J4WR3JPmr92S97kmvr5K1iPMiOpkZNj8mEXW8uzBoOJs/9ZKoMFiqHJ3UObwaJDqFOW70E9oCwDoc6jesaWVAEdN5vWfKMpIkjFJjECdjIdkxyJNJ8Ib8yXVal3qwE7uThoPRqSZDdHB5mmwPEjWE/90cSYCbtX2YsJki1265CabBb8/QEkODXg4kgRrL+c8e8rRXz/dr1RswvaPuzEdGKHRNi9UooNUeOK4/ebx1KkP9YZttyohN9GWqlts36kOoW0Cfie/ABDgF9g534BPth/sstxDM6d79QlRmh6NxizyTF74DXJI34u0M4tTRchqE5pAq85SgdJaa+dix1yJPMji8m6nZkwJbscJb9rdc2MKyKWjz8QL2+rTSSuZ2F1k1qSsW0xNcI7qLcI12Vncfn/VqY6YOIZy/saZBR0ezXvN6g+UYbuIdyVg7AyIFZt3nbrO7/kmOEb2VKzygwklHGEIJHfFgMpH3JSrAzbZIowVHOF7VaJ+KXRFDCFin7hHTOiOsdg+1ij1mML9Z/x/9CP4b7OUcaQm1llDZPSHc6rZMNL3DdB+fW5YfmNgKU35S+7AMtA10nVILzDAk1UV4T2K9Do09JlI6rjOs9UuULlIN2Z0eE8YTlANR6uQcw7lMcdfqYE8tke4rDKc2dDiaS5vVe45VewICNpdXGN11yw8QqH7p27CR1HtN30e0tHXOR3bIwWk/Yb6O5fTaKG6Ri8e5ZCPvdD9HqepVi188nM0iTjJqL58F3ni04ECIhcbyaQWnuTes1Kw4CMwiZDLQkk8Hgz7HkUOf1btQTF/0nhD7ry0n0hAEg2PaDM3V6TjOjf4hEldRmeqERcQF1PfgKb6ZM12rlIIfUqKACczWJSzTV158+47HX36o0cgux6nFlv/DE+sEiRVxgB",e="EuwGCukGAXLI2nxwZIq54WWSoL/YN0P3TsDZ7zRnLi8g0S4aVr2HUGxvaHKySuY6HAVzcE0GPGjXrytLIldxthSvfxgUlJh6Qa9Z+Oj5QZBlYdg6HaJ6yuY5R7waE6rdwBsRf7Ft2j3DJ9rMi9qhWFqApewYtPhls3VHtuvND3l8Rm09+lbAXQs6KKWEWrxNLKTBkfpMgXhRERc/TQRMZu1twAablm6/Zk1tsYRvfWKLsNbeKF+CCojJdXJKvnR/8Ouuoa+Y2Ti20hcW7aZIIjZDFYPU//k6Ybmhg69J/imbFai2ckhfLaisqdDkdoIiBJScTOUvYqP6AE9d4MsydSC+UlhIMk4hoP76R8vUSCZRMkjOaDXstf/QoVZKbt94wyRZgAJ1G0BqI8L5ow86kLpA4wJEtxsRGymOE4bKUvApveBakYDNM9APkf+LbtbzWSseGjoZcSlycF9iN8Q2XNYKRrHbv3Lr5Y8JjdH/5y/6SHkNehTEZugaeGnSPSyCTWto1kQgHpxdWmhkLfJGNUGLmue7Mesj4TSms4J33mRpYVhNB/J333FCqIP0hr/E7BkkjEn7yZ4X7SQlh+xKPurapsnHRwiKmtsilmEFrnTE9iQr+pMr6M29qqFNv1tr5yumbaJw8JW9sB15tNsRv+dW6BjNanbsKz7HCgKUBc8tGy+7YuhXzAfViyRefcjK7eZW0Fbyt7AbybJTKz78W8NH7ye6LAwzOebXpeZ4D43fNIt8bKh26qgduSQv/7o+pAflkuqHZ99YWgHQ8h8OkZFi3eOiSYjsjhdZ/czWOdoPI/OnqIldzMPF5YlrKBLFX8VhRKVmqgsmWf5PHGulHhMkVlS+XG2UIseGy69ARa93D78Gsa+1n1kJr7EEB7Rh+27vUMxVYLdz1yMSvE5nalTAlg/ZeG8+XQ0cHuAI3KbQpHW2Q++RdXfm5JzD5WdJZUU+Zn8t8UUn85BH4RxZLeE0qJikgSsKoYVBc6YhiMjhPgkR95ReimY4Z0xCJdRo1gjexOFeODZMpQF6Yxnoic7IrdgsFA3iePTbFnPp3IAM1fAThWhXJUn3QInUOTd5o1qmTmn6REbL15g/JQNl+dqUoPkhleeb2V3kjqp1okmO3wMZbPknR3S1LZNmlS72/iBQUm+n2b/RCn4PjmM2",f="CloBjz1rX5+yg1ILh/Ag+suum5k1f/9m/hI0XDQ33lsQIYnOHLn9KZwN0C7E4jgep5MzZvz5Se1Z1xxYrA1+Iz0Il4tabBhaDfMKNa5dGdEA3KnikfjfIpMlPaAKaQGPPWtf2hodPdBgguiZqDn+Qz2LwGEqHVJ16LVBUpeSx7UnYBLSwio8cyNy0jPijOh5QXKLTeHVdO2tKKcCCrtG2JCW3dOSrW2qA8eyAg40iQUnMNECjbcjkqB1+zrab7jX9ILwg7L9OgqYAQGPPWtfT4nzaPzSkXePAa920abYxPs3fg/RHDlg8PUVFLa+ko6qOjt7nXJTMxN0cpCwUCFX7eHHcMnA6vApyA/rXvJiAABkHZ3HilAktXRtxr/thHU0H8/4H5gT3kzoQcq9aMznrKomd3ct0mFi0ioSKnOEfoY1Mrfj00p/ZWm0tT7Wrjcm3BQXZ+T9Vrb94k+6CjtcEBrGCq8BAY89a1/vTMczqwB1NP3HCCuBdnds2vDXkj6XAYaXjsjmik8tGqwMKHz8R9RAWsx6SO6pkGEpXXpRzAaUx6c+aofsL/z1xOcN7ArCAa6uEeQKEgNngZuCP05p4+9P95epVmgOjFa4KfsPnyg+NKUkEFmpPSDrIRyMT+xERlclVcCI98/u7i8a9+vTbgzl8TRFYryClNH37K1ye5i6kqSGDUcMyiEasjke5BxbUh3i6wqMAgGPPWtfk+A+iY38QAldu117FEkTIkzbYOIt67lk9c6Ou3Y3Ct8TFHFw5QwGfSFc0YWjeTFHdm9UdV5jPK35p6VfhiRSva3w2+JLIHb4jvv5HutZPOJ3yQTt/+hUDj80oMNMbwnxNZvCEdzKS+D9vwmTACAm5H0ZetBSH2gPJXnhhuQo9AegS3wIWVR2a5k643Vx9r4u4pOvij4476lxKswIHvqsjL4jnTzRCvd44G6dn7vD0ENGb1K/i+dMRQMcOBaOxPN0ynk9bKxXWRDbZ+Rhakfr+y74z+6eYCdRPVqO9I7s+riilFuRIfaQ+U6/vuVKGIWEVKCfZZi0z6H5Xgz1xmse0u0AsittDlIKxwEBjz1rX783A0vehvUeabRia+/pX46IsN5efTAxFEBUeUce3jLuXIghkMV2b8KNhUs2G0aZldDDewRQbkluQabBMDT82N5I7reJP0VZgLIKccCL5DoGv1J7YWM2npLMIgZ6aP8aSlT3PFFJ0IXbUZUrzduczmIm6nzAJf9zxmq1aIFYw8YrgW8RjUdy0UvUmRoBEShSGUrvsyaRTl7J//KJW5utIPunFMu53GPWLidCFHzM1QA3Cj1+4zv5UXajP/V92RQayWbzCvYBAY89a1+yzoVSWukUGH7kX71Tg9dx7HA7OyKYwnYaqekG98zJfcUM/3KoiiiotW5t4xYu//ksEl36bSWvUHsRnxGByg+3WYdnZqKg0AtdRB/EXbI5PsjvS5ko96bkjSuFkY3TjHGwAM2B94K6/t6OTE/NBbxCsY9sT4d+1sbFv/iyfmfCnfvJaSzGmC9CDWKy4iqQ/vBNWps9j1JXk0p5uPAYC2BaMkxl5xoTVZqI3zAuRtQF5JLmPPy+PdqOgFxMKcLGNhwp7dbhIFLF68vCYQ9CL0NnK2d3CFk1UFVYxsi1TsolR1xahe/Rxt5HZDz/z65nevrQ",g="CiQBjz1rX/AlslZWMe5RgBt4Tv9j4+YNZTTez+JH2/+5oAlICygKXgGPPWtf7/Sux9eLYap/bmYAdPqFThLXj+l7o0DLu/hdgU98MA9ZrlRDNHXx+T0tuY8AcnjPZbiDyOq2bE11Fjhsk6p5axqayaapC/Pt9GczcgIQf1z15WTxCeKWAPYKYQGPPWtfDYj0nlNFNoTlU39RC91Z16xFKJ2MLEmkm+NvimsoOJ6be3g2BssNPtJ/9BKDXRA5cVs17tBeeW72lH8TMB5999udtxHM2SiUsnWsrHlfVuGSCpNQQ+5REw8HNvEKkgEBjz1rXzBNWrqZGbjun55K+vgYPBhJO2qZ67uRWXUA5/qcU12U/mbi5XoA3swoxYE8LEXfZvFFC9WG/W28QNCA0Qd4Trk/WkWiAwZmB8a84Fs14rkv3wqyxwFavPkJorqurAfd2XzGiFy0sB0ITCOPYi1HzDGV5WfXk6b9k+jT66/RuzGa8EcSOWo/QtC3Bkhgowo4AY89a1/f/tw8A02zjIoK7JVDAbf8W4UfmbApJJhwXIiGtu1M0JItObx7g2reYqT+HHL2Q/R4VDc="},53057:(a,b,c)=>{c.d(b,{Xh:()=>e,js:()=>f});let d={cc:"claude",cx:"codex",gc:"gemini-cli",qw:"qwen",if:"iflow",ag:"antigravity",gh:"github",kr:"kiro",cu:"cursor",kc:"kilocode",kmc:"kimi-coding",cl:"cline",oc:"opencode",el:"elevenlabs",openai:"openai",anthropic:"anthropic",gemini:"gemini",openrouter:"openrouter",glm:"glm",kimi:"kimi",minimax:"minimax","minimax-cn":"minimax-cn",ds:"deepseek",deepseek:"deepseek",groq:"groq",xai:"xai",mistral:"mistral",pplx:"perplexity",perplexity:"perplexity",together:"together",fireworks:"fireworks",cerebras:"cerebras",cohere:"cohere",nvidia:"nvidia",nebius:"nebius",siliconflow:"siliconflow",hyp:"hyperbolic",hyperbolic:"hyperbolic",dg:"deepgram",deepgram:"deepgram",aai:"assemblyai",assemblyai:"assemblyai",nb:"nanobanana",nanobanana:"nanobanana",ch:"chutes",chutes:"chutes",cursor:"cursor",vx:"vertex",vertex:"vertex",vxp:"vertex-partner","vertex-partner":"vertex-partner"};function e(a){if(!a)return{provider:null,model:null,isAlias:!1,providerAlias:null};if(a.includes("/")){let b=a.indexOf("/"),c=a.slice(0,b),e=a.slice(b+1);return{provider:d[c]||c,model:e,isAlias:!1,providerAlias:c}}return{provider:null,model:a,isAlias:!0,providerAlias:null}}async function f(a,b){let c=e(a);if(!c.isAlias)return{provider:c.provider,model:c.model};let f="function"==typeof b?await b():b,g=function(a,b){var c,e;if(!b)return null;let f=b[a];if(!f)return null;if("string"==typeof f&&f.includes("/")){let a=f.indexOf("/");return{provider:d[c=f.slice(0,a)]||c,model:f.slice(a+1)}}return"object"==typeof f&&f.provider&&f.model?{provider:d[e=f.provider]||e,model:f.model}:null}(c.model,f);return g||{provider:function(a){if(!a)return"openai";let b=a.toLowerCase();return b.startsWith("claude-")?"anthropic":b.startsWith("gemini-")?"gemini":b.startsWith("gpt-")||b.startsWith("o1")||b.startsWith("o3")||b.startsWith("o4")?"openai":b.startsWith("deepseek-")?"openrouter":"openai"}(c.model),model:c.model}}},56790:(a,b,c)=>{c.d(b,{h:()=>d,t:()=>e});let d={OPENAI:"openai",OPENAI_RESPONSES:"openai-responses",OPENAI_RESPONSE:"openai-response",CLAUDE:"claude",GEMINI:"gemini",GEMINI_CLI:"gemini-cli",VERTEX:"vertex",CODEX:"codex",ANTIGRAVITY:"antigravity",KIRO:"kiro",CURSOR:"cursor",OLLAMA:"ollama"};function e(a,b){return a.includes("/v1/responses")?d.OPENAI_RESPONSES:a.includes("/v1/messages")?d.CLAUDE:a.includes("/v1/chat/completions")&&Array.isArray(b?.input)?d.OPENAI:null}},62970:(a,b,c)=>{c.d(b,{m:()=>d});function d(a){return"string"==typeof a?[{type:"message",role:"user",content:[{type:"input_text",text:""===a.trim()?"...":a}]}]:Array.isArray(a)?0===a.length?[{type:"message",role:"user",content:[{type:"input_text",text:"..."}]}]:a:null}},63151:(a,b,c)=>{c.r(b),c.d(b,{openaiToAntigravityResponse:()=>f});var d=c(86806),e=c(56790);function f(a,b){if(!a)return null;let c=a.choices?.[0];if(!c)return a.usage&&(b._usage=a.usage),null;let d=c.delta||{},e=c.finish_reason;b._toolCallAccum||(b._toolCallAccum={}),b._responseId||(b._responseId=a.id||`resp_${Date.now()}`),b._modelVersion||(b._modelVersion=a.model||"");let f=[];if(d.reasoning_content&&f.push({thought:!0,text:d.reasoning_content}),d.content&&f.push({text:d.content}),d.tool_calls){for(let a of d.tool_calls){let c=a.index??0;b._toolCallAccum[c]||(b._toolCallAccum[c]={id:"",name:"",arguments:""});let d=b._toolCallAccum[c];a.id&&(d.id=a.id),a.function?.name&&(d.name+=a.function.name),a.function?.arguments&&(d.arguments+=a.function.arguments)}if(0===f.length&&!e)return null}if(e)for(let a of Object.keys(b._toolCallAccum)){let c=b._toolCallAccum[a],d={};try{d=JSON.parse(c.arguments)}catch{}let e=b.toolNameMap?.get(c.name)||c.name;f.push({functionCall:{name:e,args:d}})}if(0===f.length&&!e)return null;0===f.length&&e&&f.push({text:""});let g={content:{role:"model",parts:f}};e&&(g.finishReason=({stop:"STOP",length:"MAX_TOKENS",tool_calls:"STOP",content_filter:"SAFETY"})[e]||"STOP");let h={candidates:[g],modelVersion:b._modelVersion,responseId:b._responseId},i=a.usage||b._usage;return i&&(h.usageMetadata={promptTokenCount:i.prompt_tokens||0,candidatesTokenCount:i.completion_tokens||0,totalTokenCount:i.total_tokens||0},i.completion_tokens_details?.reasoning_tokens&&(h.usageMetadata.thoughtsTokenCount=i.completion_tokens_details.reasoning_tokens),i.prompt_tokens_details?.cached_tokens&&(h.usageMetadata.cachedContentTokenCount=i.prompt_tokens_details.cached_tokens)),{response:h}}(0,d.kz)(e.h.OPENAI,e.h.ANTIGRAVITY,null,f)},65787:(a,b,c)=>{c.d(b,{x:()=>o});var d=c(24353),e=c(62276),f=c(43528),g=c(23016),h=c(77021),i=c(1950),j=c(86806),k=c(11572),l=c(37973),m=c(55511),n=c.n(m);class o extends d.H{constructor(){super("github",e.x.github),this.knownCodexModels=new Set}buildUrl(a,b,c=0){return this.config.baseUrl}buildHeaders(a,b=!0){let c=a.copilotToken||a.accessToken;return{Authorization:`Bearer ${c}`,"Content-Type":"application/json","copilot-integration-id":"vscode-chat","editor-version":`vscode/${f.x0.VSCODE_VERSION}`,"editor-plugin-version":`copilot-chat/${f.x0.COPILOT_CHAT_VERSION}`,"user-agent":f.x0.USER_AGENT,"openai-intent":"conversation-panel","x-github-api-version":f.x0.API_VERSION,"x-request-id":n().randomUUID?.()||`${Date.now()}-${Math.random().toString(36).slice(2)}`,"x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:b?"text/event-stream":"application/json"}}sanitizeMessagesForChatCompletions(a){if(!a?.messages)return a;let b={...a};if(a.response_format&&a.model?.includes("claude")){let b=a.response_format,c="";if("json_schema"===b.type&&b.json_schema?.schema?c="CRITICAL: You must ONLY output raw JSON. Never use markdown code blocks. Never use backticks. Never wrap JSON in triple backticks. Output ONLY the raw JSON object.":"json_object"===b.type&&(c="CRITICAL: You must ONLY output raw JSON. Never use markdown code blocks. Never use backticks."),c){let b=a.messages.findIndex(a=>"system"===a.role);b>=0?a.messages[b].content=c+"\n\n"+a.messages[b].content:a.messages.unshift({role:"system",content:c});let d=a.messages.map((a,b)=>"user"===a.role?b:-1).filter(a=>a>=0).pop();if(d>=0){let b=a.messages[d],c="string"==typeof b.content?b.content:JSON.stringify(b.content);b.content="Respond with ONLY raw JSON (no markdown, no backticks, no code blocks): "+c}}}return b.messages=a.messages.map(a=>{if(!a.content||"string"==typeof a.content)return a;if(Array.isArray(a.content)){let b=a.content.map(a=>{if("text"===a.type||"image_url"===a.type)return a;let b=a.text||a.content||JSON.stringify(a);return{type:"text",text:"string"==typeof b?b:JSON.stringify(b)}}).filter(a=>""!==a.text);return{...a,content:b.length>0?b:null}}return a}),b}requiresMaxCompletionTokens(a){return/gpt-5|o[134]-/i.test(a)}transformRequest(a,b,c,d){let e={...b};return this.requiresMaxCompletionTokens(a)&&void 0!==e.max_tokens&&(e.max_completion_tokens=e.max_tokens,delete e.max_tokens),e}async execute(a){let{model:b,log:c}=a;if(this.knownCodexModels.has(b))return c?.debug("GITHUB",`Using cached /responses route for ${b}`),this.executeWithResponsesEndpoint(a);let d={...a,body:this.sanitizeMessagesForChatCompletions(a.body)},e=await super.execute({...d,proxyOptions:a.proxyOptions||null});if(e.response.status===g.gx.BAD_REQUEST){let d=await e.response.clone().text();if(d.includes("not accessible via the /chat/completions endpoint")||d.includes("The requested model is not supported"))return c?.warn("GITHUB",`Model ${b} requires /responses. Switching...`),this.knownCodexModels.add(b),this.executeWithResponsesEndpoint(a)}return e}async executeWithResponsesEndpoint({model:a,body:b,stream:c,credentials:d,signal:e,log:f,proxyOptions:g=null}){let m=this.config.responsesUrl,n=this.buildHeaders(d,c),o=(0,h.openaiToOpenAIResponsesRequest)(a,b,c,d);f?.debug("GITHUB","Sending translated request to /responses");let p=await (0,l.proxyAwareFetch)(m,{method:"POST",headers:n,body:JSON.stringify(o),signal:e},g);if(!p.ok)return{response:p,url:m,headers:n,transformedBody:o};let q=(0,j.Ws)("openai-responses");q.model=a;let r=new TextDecoder,s="",t=new TransformStream({async transform(a,b){let d=(s+=r.decode(a,{stream:!0})).split("\n");for(let a of(s=d.pop()||"",d)){let d=a.trim();if(!d)continue;let e=(0,k.tV)(d);if(!e)continue;if(e.done&&!0===c){b.enqueue(new TextEncoder().encode("data: [DONE]\n\n"));continue}let f=(0,i.openaiResponsesToOpenAIResponse)(e,q);if(f){let a=(0,k.v8)(f,"openai");b.enqueue(new TextEncoder().encode(a))}}},flush(a){if(s.trim()){let b=(0,k.tV)(s.trim());if(b&&!b.done){let c=(0,i.openaiResponsesToOpenAIResponse)(b,q);c&&a.enqueue(new TextEncoder().encode((0,k.v8)(c,"openai")))}}}});return p.body?{response:new Response(p.body.pipeThrough(t),{status:p.status,statusText:p.statusText,headers:p.headers}),url:m,headers:n,transformedBody:o}:{response:new Response("",{status:p.status,headers:p.headers}),url:m,headers:n,transformedBody:o}}async refreshCopilotToken(a,b){try{let c=await fetch("https://api.github.com/copilot_internal/v2/token",{headers:{Authorization:`token ${a}`,"User-Agent":f.x0.USER_AGENT,"Editor-Version":`vscode/${f.x0.VSCODE_VERSION}`,"Editor-Plugin-Version":`copilot-chat/${f.x0.COPILOT_CHAT_VERSION}`,Accept:"application/json","x-github-api-version":f.x0.API_VERSION}});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN",`Copilot token refresh failed: ${c.status} ${a}`),null}let d=await c.json();return b?.info?.("TOKEN","Copilot token refreshed"),{token:d.token,expiresAt:d.expires_at}}catch(a){return b?.error?.("TOKEN",`Copilot refresh error: ${a.message}`),null}}async refreshGitHubToken(a,b){try{let c={grant_type:"refresh_token",refresh_token:a,client_id:this.config.clientId};this.config.clientSecret&&(c.client_secret=this.config.clientSecret);let d=await fetch(f.NA.github.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(c)});if(!d.ok)return null;let e=await d.json();return b?.info?.("TOKEN","GitHub token refreshed"),{accessToken:e.access_token,refreshToken:e.refresh_token||a,expiresIn:e.expires_in}}catch(a){return b?.error?.("TOKEN",`GitHub refresh error: ${a.message}`),null}}async refreshCredentials(a,b){let c=await this.refreshCopilotToken(a.accessToken,b);if(!c&&a.refreshToken){let d=await this.refreshGitHubToken(a.refreshToken,b);if(d?.accessToken)return(c=await this.refreshCopilotToken(d.accessToken,b))?{...d,copilotToken:c.token,copilotTokenExpiresAt:c.expiresAt}:d}return c?{accessToken:a.accessToken,refreshToken:a.refreshToken,copilotToken:c.token,copilotTokenExpiresAt:c.expiresAt}:null}needsRefresh(a){if(!a.copilotToken)return!0;if(a.copilotTokenExpiresAt){let b=a.copilotTokenExpiresAt;if("number"==typeof b&&b<1e12?b*=1e3:"string"==typeof b&&(b=new Date(b).getTime()),b-Date.now()<3e5)return!0}return super.needsRefresh(a)}}},66299:(a,b,c)=>{c.r(b),c.d(b,{openaiToClaudeResponse:()=>i});var d=c(86806),e=c(56790);let f="proxy_";function g(a,b){a.thinkingBlockStarted&&(b.push({type:"content_block_stop",index:a.thinkingBlockIndex}),a.thinkingBlockStarted=!1)}function h(a,b){a.textBlockStarted&&!a.textBlockClosed&&(a.textBlockClosed=!0,b.push({type:"content_block_stop",index:a.textBlockIndex}),a.textBlockStarted=!1)}function i(a,b){if(!a||!a.choices?.[0])return null;let c=[],d=a.choices[0],e=d.delta;if(a.usage&&"object"==typeof a.usage){let c="number"==typeof a.usage.prompt_tokens?a.usage.prompt_tokens:0,d="number"==typeof a.usage.completion_tokens?a.usage.completion_tokens:0,e=a.usage.prompt_tokens_details?.cached_tokens,f=a.usage.prompt_tokens_details?.cache_creation_tokens,g="number"==typeof e?e:0,h="number"==typeof f?f:0;b.usage={input_tokens:c-g-h,output_tokens:d},g>0&&(b.usage.cache_read_input_tokens=g),h>0&&(b.usage.cache_creation_input_tokens=h)}b.messageStartSent||(b.messageStartSent=!0,b.messageId=a.id?.replace("chatcmpl-","")||`msg_${Date.now()}`,(!b.messageId||"chat"===b.messageId||b.messageId.length<8)&&(b.messageId=a.extend_fields?.requestId||a.extend_fields?.traceId||`msg_${Date.now()}`),b.model=a.model||"unknown",b.nextBlockIndex=0,c.push({type:"message_start",message:{id:b.messageId,type:"message",role:"assistant",model:b.model,content:[],stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0}}}));let i=e?.reasoning_content||e?.reasoning;if(i&&(h(b,c),b.thinkingBlockStarted||(b.thinkingBlockIndex=b.nextBlockIndex++,b.thinkingBlockStarted=!0,c.push({type:"content_block_start",index:b.thinkingBlockIndex,content_block:{type:"thinking",thinking:""}})),c.push({type:"content_block_delta",index:b.thinkingBlockIndex,delta:{type:"thinking_delta",thinking:i}})),e?.content&&(g(b,c),b.textBlockStarted||(b.textBlockIndex=b.nextBlockIndex++,b.textBlockStarted=!0,b.textBlockClosed=!1,c.push({type:"content_block_start",index:b.textBlockIndex,content_block:{type:"text",text:""}})),c.push({type:"content_block_delta",index:b.textBlockIndex,delta:{type:"text_delta",text:e.content}})),e?.tool_calls)for(let a of e.tool_calls){let d=a.index??0;if(a.id){g(b,c),h(b,c);let e=b.nextBlockIndex++;b.toolCalls.set(d,{id:a.id,name:a.function?.name||"",blockIndex:e});let i=a.function?.name||"";i.startsWith(f)&&(i=i.slice(f.length)),c.push({type:"content_block_start",index:e,content_block:{type:"tool_use",id:a.id,name:i,input:{}}})}if(a.function?.arguments){let e=b.toolCalls.get(d);e&&c.push({type:"content_block_delta",index:e.blockIndex,delta:{type:"input_json_delta",partial_json:a.function.arguments}})}}if(d.finish_reason){for(let[,a]of(g(b,c),h(b,c),b.toolCalls))c.push({type:"content_block_stop",index:a.blockIndex});b.finishReason=d.finish_reason;let a=b.usage||{input_tokens:0,output_tokens:0};c.push({type:"message_delta",delta:{stop_reason:function(a){switch(a){case"stop":default:return"end_turn";case"length":return"max_tokens";case"tool_calls":return"tool_use"}}(d.finish_reason)},usage:a}),c.push({type:"message_stop"})}return c.length>0?c:null}(0,d.kz)(e.h.OPENAI,e.h.CLAUDE,null,i)},68735:(a,b,c)=>{c.d(b,{Gh:()=>j,IF:()=>m,O9:()=>g,OF:()=>l,WL:()=>h,f5:()=>k,lm:()=>f});var d=c(60126),e=c(56790);let f={reset:"\x1b[0m",red:"\x1b[31m",green:"\x1b[32m",yellow:"\x1b[33m",blue:"\x1b[34m",cyan:"\x1b[36m"};function g(a){if(!a||"object"!=typeof a)return a;let b={...a};return void 0!==b.input_tokens&&(b.input_tokens+=2e3),void 0!==b.prompt_tokens&&(b.prompt_tokens+=2e3),void 0!==b.total_tokens?b.total_tokens+=2e3:void 0!==b.prompt_tokens&&void 0!==b.completion_tokens&&(b.total_tokens=b.prompt_tokens+b.completion_tokens),b}function h(a,b){if(!a||"object"!=typeof a)return a;let c={[e.h.CLAUDE]:["input_tokens","output_tokens","cache_read_input_tokens","cache_creation_input_tokens","estimated"],[e.h.GEMINI]:["promptTokenCount","candidatesTokenCount","totalTokenCount","cachedContentTokenCount","thoughtsTokenCount","estimated"],[e.h.OPENAI_RESPONSES]:["input_tokens","output_tokens","input_tokens_details","output_tokens_details","estimated"],default:["prompt_tokens","completion_tokens","total_tokens","cached_tokens","reasoning_tokens","prompt_tokens_details","completion_tokens_details","estimated"]},d=c[b];b===e.h.GEMINI_CLI||b===e.h.ANTIGRAVITY?d=c[e.h.GEMINI]:b===e.h.OPENAI_RESPONSE?d=c[e.h.OPENAI_RESPONSES]:d||(d=c.default);let f={};for(let b of d)void 0!==a[b]&&(f[b]=a[b]);return f}function i(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b={},c=(a,c)=>{if(null==c)return;let d=Number(c);Number.isFinite(d)&&(b[a]=d)};return(c("prompt_tokens",a?.prompt_tokens),c("completion_tokens",a?.completion_tokens),c("total_tokens",a?.total_tokens),c("cache_read_input_tokens",a?.cache_read_input_tokens),c("cache_creation_input_tokens",a?.cache_creation_input_tokens),c("cached_tokens",a?.cached_tokens),c("reasoning_tokens",a?.reasoning_tokens),0===Object.keys(b).length)?null:b}function j(a){if(!a||"object"!=typeof a)return!1;for(let b of["prompt_tokens","completion_tokens","total_tokens","input_tokens","output_tokens","promptTokenCount","candidatesTokenCount"])if("number"==typeof a[b]&&a[b]>0)return!0;return!1}function k(a){if(!a||"object"!=typeof a)return null;if("message_delta"===a.type&&a.usage&&"object"==typeof a.usage)return i({prompt_tokens:a.usage.input_tokens||0,completion_tokens:a.usage.output_tokens||0,cache_read_input_tokens:a.usage.cache_read_input_tokens,cache_creation_input_tokens:a.usage.cache_creation_input_tokens});if(("response.completed"===a.type||"response.done"===a.type)&&a.response?.usage&&"object"==typeof a.response.usage){let b=a.response.usage;return i({prompt_tokens:b.input_tokens||b.prompt_tokens||0,completion_tokens:b.output_tokens||b.completion_tokens||0,cached_tokens:b.input_tokens_details?.cached_tokens,reasoning_tokens:b.output_tokens_details?.reasoning_tokens})}if(a.usage&&"object"==typeof a.usage&&void 0!==a.usage.prompt_tokens)return i({prompt_tokens:a.usage.prompt_tokens,completion_tokens:a.usage.completion_tokens||0,cached_tokens:a.usage.prompt_tokens_details?.cached_tokens,reasoning_tokens:a.usage.completion_tokens_details?.reasoning_tokens});let b=a.usageMetadata||a.response?.usageMetadata;return b&&"object"==typeof b?i({prompt_tokens:b.promptTokenCount||0,completion_tokens:b.candidatesTokenCount||0,total_tokens:b.totalTokenCount,cached_tokens:b.cachedContentTokenCount,reasoning_tokens:b.thoughtsTokenCount}):null}function l(a,b,c=e.h.OPENAI){var d,f;return d=function(a){if(!a||"object"!=typeof a)return 0;try{let b=JSON.stringify(a).length;return Math.ceil(b/4)}catch(a){return 0}}(a),f=b&&!(b<=0)?Math.max(1,Math.floor(b/4)):0,c===e.h.CLAUDE?g({input_tokens:d,output_tokens:f,estimated:!0}):g({prompt_tokens:d,completion_tokens:f,total_tokens:d+f,estimated:!0})}function m(a,b,c=null,e=null,g=null){if(!b||"object"!=typeof b)return;let h=a?.toUpperCase()||"UNKNOWN",i=b?.prompt_tokens||b?.input_tokens||0,j=b?.completion_tokens||b?.output_tokens||0,k=e?e.slice(0,8)+"...":"unknown",l=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] 📊 ${f.green}[USAGE] ${h} | in=${i} | out=${j} | account=${k}${f.reset}`;b.estimated&&(l+=` ${f.yellow}(estimated)${f.reset}`);let n=b.cache_read_input_tokens||b.cached_tokens;n&&(l+=` | cache_read=${n}`);let o=b.cache_creation_input_tokens;o&&(l+=` | cache_create=${o}`);let p=b.reasoning_tokens;p&&(l+=` | reasoning=${p}`),console.log(l);let q={prompt_tokens:i,completion_tokens:j,cache_read_input_tokens:n||0,cache_creation_input_tokens:o||0,reasoning_tokens:p||0};(0,d.sZ)({model:c,provider:a,connectionId:e,tokens:q,apiKey:g||void 0}).catch(()=>{}),(0,d.E5)({model:c,provider:a,connectionId:e,tokens:q,status:"200 OK"}).catch(()=>{})}},71246:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{SB:()=>r});var e=c(1820),f=c(84868),g=c(65787),h=c(38461),i=c(89641),j=c(21303),k=c(49593),l=c(86758),m=c(23082),n=c(87767),o=c(21241),p=c(83543);c(24353);var q=a([l]);l=(q.then?(await q)():q)[0];let s={antigravity:new e.c,"gemini-cli":new f.V,github:new g.x,iflow:new h.r,qoder:new i.D,kiro:new j.B,codex:new k.T,cursor:new l.o,cu:new l.o,vertex:new m.w("vertex"),"vertex-partner":new m.w("vertex-partner"),qwen:new n.R,opencode:new o.j},t=new Map;function r(a){return s[a]?s[a]:(t.has(a)||t.set(a,new p.L(a)),t.get(a))}d()}catch(a){d(a)}})},76839:(a,b,c)=>{c.r(b),c.d(b,{claudeToOpenAIResponse:()=>g});var d=c(86806),e=c(56790);function f(a,b,c=null){return{id:`chatcmpl-${a.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:a.model,choices:[{index:0,delta:b,finish_reason:c}]}}function g(a,b){if(!a)return null;let c=[];switch(a.type){case"message_start":b.messageId=a.message?.id||`msg_${Date.now()}`,b.model=a.message?.model,b.toolCallIndex=0,c.push(f(b,{role:"assistant"}));break;case"content_block_start":{let d=a.content_block;if(d?.type==="server_tool_use"){b.serverToolBlockIndex=a.index;break}if(d?.type==="text")b.textBlockStarted=!0;else if(d?.type==="thinking")b.inThinkingBlock=!0,b.currentBlockIndex=a.index,c.push(f(b,{content:"<think>"}));else if(d?.type==="tool_use"){let e=b.toolCallIndex++,g=b.toolNameMap?.get(d.name)||d.name,h={index:e,id:d.id,type:"function",function:{name:g,arguments:""}};b.toolCalls.set(a.index,h),c.push(f(b,{tool_calls:[h]}))}break}case"content_block_delta":{if(a.index===b.serverToolBlockIndex)break;let d=a.delta;if(d?.type==="text_delta"&&d.text)c.push(f(b,{content:d.text}));else if(d?.type==="thinking_delta"&&d.thinking)c.push(f(b,{reasoning_content:d.thinking}));else if(d?.type==="input_json_delta"&&d.partial_json){let e=b.toolCalls.get(a.index);e&&(e.function.arguments+=d.partial_json,c.push(f(b,{tool_calls:[{index:e.index,id:e.id,function:{arguments:d.partial_json}}]})))}break}case"content_block_stop":if(a.index===b.serverToolBlockIndex){b.serverToolBlockIndex=-1;break}b.inThinkingBlock&&a.index===b.currentBlockIndex&&(c.push(f(b,{content:"</think>"})),b.inThinkingBlock=!1),b.textBlockStarted=!1,b.thinkingBlockStarted=!1;break;case"message_delta":if(a.usage&&"object"==typeof a.usage){let c="number"==typeof a.usage.input_tokens?a.usage.input_tokens:0,d="number"==typeof a.usage.output_tokens?a.usage.output_tokens:0,e="number"==typeof a.usage.cache_read_input_tokens?a.usage.cache_read_input_tokens:0,f="number"==typeof a.usage.cache_creation_input_tokens?a.usage.cache_creation_input_tokens:0,g=c+e+f;b.usage={prompt_tokens:g,completion_tokens:d,total_tokens:g+d,input_tokens:c,output_tokens:d},e>0&&(b.usage.cache_read_input_tokens=e),f>0&&(b.usage.cache_creation_input_tokens=f)}if(a.delta?.stop_reason){b.finishReason=function(a){switch(a){case"end_turn":case"stop_sequence":default:return"stop";case"max_tokens":return"length";case"tool_use":return"tool_calls"}}(a.delta.stop_reason);let d={id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{},finish_reason:b.finishReason}]};if(b.usage){d.usage={prompt_tokens:b.usage.prompt_tokens,completion_tokens:b.usage.completion_tokens,total_tokens:b.usage.total_tokens};let a=b.usage.cache_read_input_tokens,c=b.usage.cache_creation_input_tokens;(a>0||c>0)&&(d.usage.prompt_tokens_details={},a>0&&(d.usage.prompt_tokens_details.cached_tokens=a),c>0&&(d.usage.prompt_tokens_details.cache_creation_tokens=c))}c.push(d),b.finishReasonSent=!0}break;case"message_stop":if(!b.finishReasonSent){let a=b.finishReason||(b.toolCalls?.size>0?"tool_calls":"stop"),d=b.usage&&"object"==typeof b.usage?{usage:{prompt_tokens:b.usage.input_tokens||0,completion_tokens:b.usage.output_tokens||0,total_tokens:(b.usage.input_tokens||0)+(b.usage.output_tokens||0)}}:{};c.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{},finish_reason:a}],...d}),b.finishReasonSent=!0}}return c.length>0?c:null}(0,d.kz)(e.h.CLAUDE,e.h.OPENAI,null,g)},77021:(a,b,c)=>{c.r(b),c.d(b,{openaiResponsesToOpenAIRequest:()=>h,openaiToOpenAIResponsesRequest:()=>j});var d=c(86806),e=c(56790),f=c(62970);let g=a=>"string"==typeof a&&a.length>64?a.substring(0,64):a;function h(a,b,c,d){if(!b.input)return b;let e={...b};e.messages=[],b.instructions&&e.messages.push({role:"system",content:b.instructions});let g=null,h=[],j=(0,f.m)(b.input);if(!j)return b;for(let a of j){let b=a.type||(a.role?"message":null);if("message"===b){if(g&&(e.messages.push(g),g=null),h.length>0){for(let a of h)e.messages.push(a);h=[]}let b=Array.isArray(a.content)?a.content.map(a=>"input_text"===a.type||"output_text"===a.type?{type:"text",text:a.text}:"input_image"===a.type?{type:"image_url",image_url:{url:a.image_url||a.file_id||"",detail:a.detail||"auto"}}:a):a.content;e.messages.push({role:a.role,content:b})}else if("function_call"===b){if(g||(g={role:"assistant",content:null,tool_calls:[]}),!a.name||"string"!=typeof a.name||""===a.name.trim())continue;g.tool_calls.push({id:a.call_id,type:"function",function:{name:a.name,arguments:a.arguments}})}else if("function_call_output"===b){if(g&&(e.messages.push(g),g=null),h.length>0){for(let a of h)e.messages.push(a);h=[]}e.messages.push({role:"tool",tool_call_id:a.call_id,content:"string"==typeof a.output?a.output:JSON.stringify(a.output)})}else if("reasoning"===b)continue}if(g&&e.messages.push(g),h.length>0)for(let a of h)e.messages.push(a);return b.tools&&Array.isArray(b.tools)&&(e.tools=b.tools.map(a=>{if(a.function)return a;let b=a.name;return b&&"string"==typeof b&&""!==b.trim()?{type:"function",function:{name:b,description:String(a.description||""),parameters:i(a.parameters),strict:a.strict}}:null}).filter(Boolean)),delete e.input,delete e.instructions,delete e.include,delete e.prompt_cache_key,delete e.store,delete e.reasoning,e}function i(a){return a?"object"!==a.type||a.properties?a:{...a,properties:{}}:{type:"object",properties:{}}}function j(a,b,c,d){if(b.input)return{...b,model:a,stream:!0};let e={model:a,input:[],stream:!0,store:!1},f=!1;for(let a of b.messages||[]){if("system"===a.role){f||(e.instructions="string"==typeof a.content?a.content:"",f=!0);continue}if("user"===a.role||"assistant"===a.role){let b="user"===a.role?"input_text":"output_text",c="string"==typeof a.content?[{type:b,text:a.content}]:Array.isArray(a.content)?a.content.map(a=>{if("text"===a.type)return{type:b,text:a.text};if("image_url"===a.type)return{type:"input_image",image_url:"string"==typeof a.image_url?a.image_url:a.image_url?.url,detail:a.image_url?.detail||"auto"};if("input_image"===a.type)return a;let c=a.text||a.content||JSON.stringify(a);return{type:b,text:"string"==typeof c?c:JSON.stringify(c)}}):[];c.length>0&&e.input.push({type:"message",role:a.role,content:c})}if("assistant"===a.role&&a.tool_calls)for(let b of a.tool_calls)e.input.push({type:"function_call",call_id:g(b.id),name:b.function?.name||"_unknown",arguments:b.function?.arguments||"{}"});if("tool"===a.role){let b="string"==typeof a.content?a.content:Array.isArray(a.content)?a.content.map(a=>a.text||JSON.stringify(a)).join(""):JSON.stringify(a.content);e.input.push({type:"function_call_output",call_id:g(a.tool_call_id),output:b})}}return f||(e.instructions=""),b.tools&&Array.isArray(b.tools)&&(e.tools=b.tools.map(a=>"function"===a.type?{type:"function",name:a.function.name,description:String(a.function.description||""),parameters:i(a.function.parameters),strict:a.function.strict}:a)),void 0!==b.temperature&&(e.temperature=b.temperature),void 0!==b.max_tokens&&(e.max_tokens=b.max_tokens),void 0!==b.top_p&&(e.top_p=b.top_p),e}(0,d.kz)(e.h.OPENAI_RESPONSES,e.h.OPENAI,h,null),(0,d.kz)(e.h.OPENAI,e.h.OPENAI_RESPONSES,j,null)},83543:(a,b,c)=>{c.d(b,{L:()=>i});var d=c(24353),e=c(62276),f=c(43528),g=c(98774),h=c(42506);class i extends d.H{constructor(a){super(a,e.x[a]||e.x.openai)}buildUrl(a,b,c=0,d=null){if(this.provider?.startsWith?.("openai-compatible-")){let a=(d?.providerSpecificData?.baseUrl||"https://api.openai.com/v1").replace(/\/$/,""),b=this.provider.includes("responses")?"/responses":"/chat/completions";return`${a}${b}`}if(this.provider?.startsWith?.("anthropic-compatible-")){let a=(d?.providerSpecificData?.baseUrl||"https://api.anthropic.com/v1").replace(/\/$/,"");return`${a}/messages`}switch(this.provider){case"claude":case"glm":case"kimi":case"minimax":case"minimax-cn":case"kimi-coding":return`${this.config.baseUrl}?beta=true`;case"gemini":return`${this.config.baseUrl}/${a}:${b?"streamGenerateContent?alt=sse":"generateContent"}`;default:return this.config.baseUrl}}buildHeaders(a,b=!0){let c={"Content-Type":"application/json",...this.config.headers};switch(this.provider){case"gemini":a.apiKey?c["x-goog-api-key"]=a.apiKey:c.Authorization=`Bearer ${a.accessToken}`;break;case"claude":{let b=(0,h.b)();if(b){for(let a of Object.keys(b)){let d=a.replace(/(^|-)([a-z])/g,(a,b,c)=>b+c.toUpperCase());if("anthropic-beta"===a){let e=new Set((c[d]||c[a]||"").split(",").map(a=>a.trim()).filter(Boolean)),f=new Set(b[a].split(",").map(a=>a.trim()).filter(Boolean));for(let a of e)f.add(a);b[a]=Array.from(f).join(",")}d!==a&&void 0!==c[d]&&delete c[d]}Object.assign(c,b)}a.apiKey?c["x-api-key"]=a.apiKey:c.Authorization=`Bearer ${a.accessToken}`;break}case"glm":case"kimi":case"minimax":case"minimax-cn":c["x-api-key"]=a.apiKey||a.accessToken;break;case"kimi-coding":c.Authorization=`Bearer ${a.accessToken}`,Object.assign(c,(0,f.VK)());break;default:this.provider?.startsWith?.("anthropic-compatible-")?(a.apiKey?c["x-api-key"]=a.apiKey:a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),c["anthropic-version"]||(c["anthropic-version"]="2023-06-01")):"gitlab"===this.provider||"codebuddy"===this.provider?c.Authorization=`Bearer ${a.apiKey||a.accessToken}`:"kilocode"===this.provider?(c.Authorization=`Bearer ${a.apiKey||a.accessToken}`,a.providerSpecificData?.orgId&&(c["X-Kilocode-OrganizationID"]=a.providerSpecificData.orgId)):"cline"===this.provider?Object.assign(c,(0,g.w$)(a.apiKey||a.accessToken)):c.Authorization=`Bearer ${a.apiKey||a.accessToken}`}if(this.provider?.startsWith?.("anthropic-compatible-")){let b=a?.providerSpecificData?.baseUrl||"";if(!(""===b||b.includes("api.anthropic.com"))){for(let a of(delete c["anthropic-dangerous-direct-browser-access"],delete c["Anthropic-Dangerous-Direct-Browser-Access"],delete c["x-app"],delete c["X-App"],["anthropic-beta","Anthropic-Beta"]))if(c[a]){let b=c[a].split(",").map(a=>a.trim()).filter(a=>a&&"claude-code-20250219"!==a).join(",");b?c[a]=b:delete c[a]}}}return b&&(c.Accept="text/event-stream"),c}async refreshCredentials(a,b){if(!a.refreshToken)return null;let c={claude:()=>this.refreshWithJSON(f.NA.anthropic.token,{grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:e.x.claude.clientId}),codex:()=>this.refreshWithForm(f.NA.openai.token,{grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:e.x.codex.clientId,scope:"openid profile email offline_access"}),qwen:()=>this.refreshWithForm(f.NA.qwen.token,{grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:e.x.qwen.clientId}),iflow:()=>this.refreshIflow(a.refreshToken),gemini:()=>this.refreshGoogle(a.refreshToken),kiro:()=>this.refreshKiro(a.refreshToken),cline:()=>this.refreshCline(a.refreshToken),"kimi-coding":()=>this.refreshKimiCoding(a.refreshToken),kilocode:()=>this.refreshKilocode(a.refreshToken)}[this.provider];if(!c)return null;try{let a=await c();return a&&b?.info?.("TOKEN",`${this.provider} refreshed`),a}catch(a){return b?.error?.("TOKEN",`${this.provider} refresh error: ${a.message}`),null}}async refreshWithJSON(a,b){let c=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(b)});if(!c.ok)return null;let d=await c.json();return{accessToken:d.access_token,refreshToken:d.refresh_token||b.refresh_token,expiresIn:d.expires_in}}async refreshWithForm(a,b){let c=await fetch(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(b)});if(!c.ok)return null;let d=await c.json();return{accessToken:d.access_token,refreshToken:d.refresh_token||b.refresh_token,expiresIn:d.expires_in}}async refreshIflow(a){let b=btoa(`${e.x.iflow.clientId}:${e.x.iflow.clientSecret}`),c=await fetch(f.NA.iflow.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${b}`},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:e.x.iflow.clientId,client_secret:e.x.iflow.clientSecret})});if(!c.ok)return null;let d=await c.json();return{accessToken:d.access_token,refreshToken:d.refresh_token||a,expiresIn:d.expires_in}}async refreshGoogle(a){let b=await fetch(f.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:this.config.clientId,client_secret:this.config.clientSecret})});if(!b.ok)return null;let c=await b.json();return{accessToken:c.access_token,refreshToken:c.refresh_token||a,expiresIn:c.expires_in}}async refreshKiro(a){let b=await fetch(e.x.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"kiro-cli/1.0.0"},body:JSON.stringify({refreshToken:a})});if(!b.ok)return null;let c=await b.json();return{accessToken:c.accessToken,refreshToken:c.refreshToken||a,expiresIn:c.expiresIn}}async refreshCline(a){console.log("[DEBUG] Refreshing Cline token, refreshToken length:",a?.length);let b=await fetch("https://api.cline.bot/api/v1/auth/refresh",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:a,grantType:"refresh_token",clientType:"extension"})});if(console.log("[DEBUG] Cline refresh response status:",b.status),!b.ok)return console.log("[DEBUG] Cline refresh error:",await b.text()),null;let c=await b.json();console.log("[DEBUG] Cline refresh payload:",JSON.stringify(c).substring(0,200));let d=c?.data||c,e=d?.expiresAt,f=e?Math.max(1,Math.floor((new Date(e).getTime()-Date.now())/1e3)):void 0;return console.log("[DEBUG] Cline refresh success, expiresIn:",f),{accessToken:d?.accessToken,refreshToken:d?.refreshToken||a,expiresIn:f}}async refreshKimiCoding(a){let b=(0,f.VK)(),c=await fetch("https://auth.kimi.com/api/oauth/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",...b},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:"17e5f671-d194-4dfb-9706-5516cb48c098"})});if(!c.ok)return null;let d=await c.json();return{accessToken:d.access_token,refreshToken:d.refresh_token||a,expiresIn:d.expires_in}}async refreshKilocode(a){return null}}},84868:(a,b,c)=>{c.d(b,{V:()=>g});var d=c(24353),e=c(62276),f=c(43528);class g extends d.H{constructor(){super("gemini-cli",e.x["gemini-cli"])}buildUrl(a,b,c=0){return`${this.config.baseUrl}:${b?"streamGenerateContent?alt=sse":"generateContent"}`}buildHeaders(a,b=!0){return{"Content-Type":"application/json",Authorization:`Bearer ${a.accessToken}`,"User-Agent":(0,f.sX)(this._currentModel),"X-Goog-Api-Client":f.go,Accept:b?"text/event-stream":"application/json"}}transformRequest(a,b,c,d){return this._currentModel=a,!b.project&&d?.projectId&&(b.project=d.projectId),b}async refreshCredentials(a,b){if(!a.refreshToken)return null;try{let c=await fetch(f.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:this.config.clientId,client_secret:this.config.clientSecret})});if(!c.ok)return null;let d=await c.json();return b?.info?.("TOKEN","Gemini CLI refreshed"),{accessToken:d.access_token,refreshToken:d.refresh_token||a.refreshToken,expiresIn:d.expires_in,projectId:a.projectId}}catch(a){return b?.error?.("TOKEN",`Gemini CLI refresh error: ${a.message}`),null}}}},86758:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{o:()=>s});var e=c(24353),f=c(62276),g=c(23016),h=c(48788),i=c(96946),j=c(68735),k=c(56790),l=c(37973),m=c(74075),n=c.n(m);let a=null;if(!("u">typeof caches&&"object"==typeof caches||"u">typeof EdgeRuntime))try{a=await Promise.resolve().then(c.t.bind(c,73496,23))}catch{}let q="1"===process.env.CURSOR_STREAM_DEBUG,r=(...a)=>{q&&console.log(...a)};function o(a,b){if(a.length>10&&123===a[0]&&34===a[1])try{if(a.toString("utf-8").startsWith('{"error"'))return r("[DECOMPRESS] Detected JSON error, skipping decompression"),a}catch{}if(1===b||2===b||3===b)try{return n().gunzipSync(a)}catch(c){try{return n().inflateSync(a)}catch(d){try{return n().inflateRawSync(a)}catch(e){r(`[DECOMPRESS ERROR] flags=${b}, payloadSize=${a.length}, gzip=${c.message}, deflate=${d.message}, raw=${e.message}`),r("[DECOMPRESS ERROR] First 50 bytes (hex):",a.slice(0,50).toString("hex"))}}}return a}function p(a){let b=a?.error?.details?.[0]?.debug?.details?.title||a?.error?.details?.[0]?.debug?.details?.detail||a?.error?.message||"API Error",c=a?.error?.code==="resource_exhausted";return new Response(JSON.stringify({error:{message:b,type:c?"rate_limit_error":"api_error",code:a?.error?.details?.[0]?.debug?.error||"unknown"}}),{status:c?g.gx.RATE_LIMITED:g.gx.BAD_REQUEST,headers:{"Content-Type":"application/json"}})}class s extends e.H{constructor(){super("cursor",f.x.cursor)}buildUrl(){return`${this.config.baseUrl}${this.config.chatPath}`}buildHeaders(a){let b=a.accessToken,c=a.providerSpecificData?.machineId,d=a.providerSpecificData?.ghostMode!==!1;if(!c)throw Error("Machine ID is required for Cursor API");return(0,i.JA)(b,c,d)}transformRequest(a,b,c,d){let e=b.messages||[],f=b.tools||[],g=b.reasoning_effort||null;return(0,h.yI)(e,a,f,g)}async makeFetchRequest(a,b,c,d,e=null){let f=await (0,l.proxyAwareFetch)(a,{method:"POST",headers:b,body:c,signal:d},e);return{status:f.status,headers:Object.fromEntries(f.headers.entries()),body:Buffer.from(await f.arrayBuffer())}}makeHttp2Request(b,c,d,e){if(!a)throw Error("http2 module not available");return new Promise((f,g)=>{let h=new URL(b),i=a.connect(`https://${h.host}`),j=[],k={},l=!1,m=a=>(...b)=>{l||(l=!0,clearTimeout(n),i.close(),a(...b))},n=setTimeout(m(()=>{g(Error("HTTP/2 request timed out"))}),6e4);i.on("error",m(g));let o=i.request({":method":"POST",":path":h.pathname,":authority":h.host,":scheme":"https",...c});if(o.on("response",a=>{k=a}),o.on("data",a=>{j.push(a)}),o.on("end",m(()=>{f({status:k[":status"],headers:k,body:Buffer.concat(j)})})),o.on("error",m(g)),e){let a=m(()=>g(Error("Request aborted")));e.addEventListener("abort",a,{once:!0})}o.write(d),o.end()})}async execute({model:b,body:c,stream:d,credentials:e,signal:f,log:h,proxyOptions:i=null}){let j=this.buildUrl(),k=this.buildHeaders(e),l=this.transformRequest(b,c,d,e);try{let e=i?.enabled===!0||i?.connectionProxyEnabled===!0,g=a&&!e?await this.makeHttp2Request(j,k,l,f):await this.makeFetchRequest(j,k,l,f,i);if(200!==g.status){let a=g.body?.toString()||"Unknown error";return{response:new Response(JSON.stringify({error:{message:`[${g.status}]: ${a}`,type:"invalid_request_error",code:""}}),{status:g.status,headers:{"Content-Type":"application/json"}}),url:j,headers:k,transformedBody:c}}return{response:!1!==d?this.transformProtobufToSSE(g.body,b,c):this.transformProtobufToJSON(g.body,b,c),url:j,headers:k,transformedBody:c}}catch(a){return{response:new Response(JSON.stringify({error:{message:a.message,type:"connection_error",code:""}}),{status:g.gx.SERVER_ERROR,headers:{"Content-Type":"application/json"}}),url:j,headers:k,transformedBody:c}}}transformProtobufToJSON(a,b,c){let d=`chatcmpl-cursor-${Date.now()}`,e=Math.floor(Date.now()/1e3),f=0,i="",l=[],m=new Map,n=new Set,q=0;for(r(`[CURSOR BUFFER] Total length: ${a.length} bytes`);f<a.length;){if(f+5>a.length){r(`[CURSOR BUFFER] Reached end, offset=${f}, remaining=${a.length-f}`);break}let b=a[f],c=a.readUInt32BE(f+1);if(r(`[CURSOR BUFFER] Frame ${q+1}: flags=0x${b.toString(16).padStart(2,"0")}, length=${c}`),f+5+c>a.length){r(`[CURSOR BUFFER] Incomplete frame, offset=${f}, length=${c}, buffer.length=${a.length}`);break}let d=a.slice(f+5,f+5+c);if(f+=5+c,q++,!(d=o(d,b))){r(`[CURSOR BUFFER] Frame ${q}: decompression failed, skipping`);continue}if(d.length>0&&123===d[0])try{let a=d.toString("utf-8");if(a.includes('"error"')){let b=i||m.size>0;if(r(`[CURSOR BUFFER] Error frame (hasContent=${b}): ${a.slice(0,500)}`),b)break;return p(JSON.parse(a))}}catch{}let e=(0,h.CP)(new Uint8Array(d));if(r(`[CURSOR DECODED] Frame ${q}:`,e),e.error){let a=i||m.size>0;if(r(`[CURSOR BUFFER] Decoded error (hasContent=${a}): ${e.error}`),a)break;return new Response(JSON.stringify({error:{message:e.error,type:"rate_limit_error",code:"rate_limited"}}),{status:g.gx.RATE_LIMITED,headers:{"Content-Type":"application/json"}})}if(e.toolCall){let a=e.toolCall;if(m.has(a.id)){let b=m.get(a.id);b.function.arguments+=a.function.arguments,b.isLast=a.isLast}else m.set(a.id,{...a});if(a.isLast){let b=m.get(a.id);n.add(a.id),l.push({id:b.id,type:b.type,function:{name:b.function.name,arguments:b.function.arguments}})}}e.text&&(i+=e.text)}for(let[a,b]of(r(`[CURSOR BUFFER] Parsed ${q} frames, toolCallsMap size: ${m.size}, finalized toolCalls: ${l.length}`),m.entries()))n.has(a)||(r(`[CURSOR BUFFER] Finalizing incomplete tool call: ${a}, isLast=${b.isLast}`),l.push({id:b.id,type:b.type,function:{name:b.function.name,arguments:b.function.arguments}}));r(`[CURSOR BUFFER] Final toolCalls count: ${l.length}`);let s={role:"assistant",content:i||null};l.length>0&&(s.tool_calls=l);let t=(0,j.OF)(c,i.length,k.h.OPENAI),u={id:d,object:"chat.completion",created:e,model:b,choices:[{index:0,message:s,finish_reason:l.length>0?"tool_calls":"stop"}],usage:t};return new Response(JSON.stringify(u),{status:200,headers:{"Content-Type":"application/json"}})}transformProtobufToSSE(a,b,c){let d=`chatcmpl-cursor-${Date.now()}`,e=Math.floor(Date.now()/1e3),f=[],i=0,l="",m=[],n=new Map,q=new Set,s=new Set,t=0;for(r(`[CURSOR BUFFER SSE] Total length: ${a.length} bytes`);i<a.length;){if(i+5>a.length){r(`[CURSOR BUFFER SSE] Reached end, offset=${i}, remaining=${a.length-i}`);break}let c=a[i],j=a.readUInt32BE(i+1);if(r(`[CURSOR BUFFER SSE] Frame ${t+1}: flags=0x${c.toString(16).padStart(2,"0")}, length=${j}`),i+5+j>a.length){r(`[CURSOR BUFFER SSE] Incomplete frame, offset=${i}, length=${j}, buffer.length=${a.length}`);break}let k=a.slice(i+5,i+5+j);if(i+=5+j,t++,!(k=o(k,c))){r(`[CURSOR BUFFER SSE] Frame ${t}: decompression failed, skipping`);continue}if(123===k[0])try{let a=k.toString("utf-8");if(a.includes('"error"')){let b=f.length>0||l||n.size>0;if(r(`[CURSOR BUFFER SSE] Error frame (hasContent=${b}): ${a.slice(0,500)}`),b)break;return p(JSON.parse(a))}}catch{}let u=(0,h.CP)(new Uint8Array(k));if(r(`[CURSOR DECODED SSE] Frame ${t}:`,u),u.error){let a=f.length>0||l||n.size>0;if(r(`[CURSOR BUFFER SSE] Decoded error (hasContent=${a}): ${u.error}`),a)break;return new Response(JSON.stringify({error:{message:u.error,type:"rate_limit_error",code:"rate_limited"}}),{status:g.gx.RATE_LIMITED,headers:{"Content-Type":"application/json"}})}if(u.toolCall){let a=u.toolCall;if(0===f.length&&f.push(`data: ${JSON.stringify({id:d,object:"chat.completion.chunk",created:e,model:b,choices:[{index:0,delta:{role:"assistant",content:""},finish_reason:null}]})}
151
151
 
152
152
  `),n.has(a.id)){let c=n.get(a.id);c.function.arguments.length,c.function.arguments+=a.function.arguments,c.isLast=a.isLast,a.function.arguments&&(s.add(a.id),f.push(`data: ${JSON.stringify({id:d,object:"chat.completion.chunk",created:e,model:b,choices:[{index:0,delta:{tool_calls:[{index:c.index,id:a.id,type:"function",function:{name:a.function.name,arguments:a.function.arguments}}]},finish_reason:null}]})}
153
153
 
@@ -0,0 +1 @@
1
+ exports.id=8443,exports.ids=[8443],exports.modules={23016:(a,b,c)=>{"use strict";c.d(b,{Bm:()=>m,C8:()=>n,EQ:()=>l,LY:()=>e,O:()=>f,Uc:()=>h,cI:()=>k,eo:()=>i,gx:()=>d,sB:()=>j,v1:()=>g});let d={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},e={[d.BAD_REQUEST]:{type:"invalid_request_error",code:"bad_request"},[d.UNAUTHORIZED]:{type:"authentication_error",code:"invalid_api_key"},[d.FORBIDDEN]:{type:"permission_error",code:"insufficient_quota"},[d.NOT_FOUND]:{type:"invalid_request_error",code:"model_not_found"},[d.NOT_ACCEPTABLE]:{type:"invalid_request_error",code:"model_not_supported"},[d.RATE_LIMITED]:{type:"rate_limit_error",code:"rate_limit_exceeded"},[d.SERVER_ERROR]:{type:"server_error",code:"internal_server_error"},[d.BAD_GATEWAY]:{type:"server_error",code:"bad_gateway"},[d.SERVICE_UNAVAILABLE]:{type:"server_error",code:"service_unavailable"},[d.GATEWAY_TIMEOUT]:{type:"server_error",code:"gateway_timeout"}},f={[d.BAD_REQUEST]:"Bad request",[d.UNAUTHORIZED]:"Invalid API key provided",[d.FORBIDDEN]:"You exceeded your current quota",[d.NOT_FOUND]:"Model not found",[d.NOT_ACCEPTABLE]:"Model not supported",[d.RATE_LIMITED]:"Rate limit exceeded",[d.SERVER_ERROR]:"Internal server error",[d.BAD_GATEWAY]:"Bad gateway - upstream provider error",[d.SERVICE_UNAVAILABLE]:"Service temporarily unavailable",[d.GATEWAY_TIMEOUT]:"Gateway timeout"},g={sessionTtlMs:72e5,sessionCleanupIntervalMs:18e5,dnsCacheTtlMs:3e5,proxyDispatchersMaxSize:20},h=64e3,i=32e3,j={maxAttempts:2,delayMs:2e3},k={429:0,503:1,502:1},l={base:1e3,max:12e4,maxLevel:15},m={unauthorized:12e4,paymentRequired:12e4,notFound:12e4,transient:3e4,requestNotAllowed:5e3,rateLimit:12e4,serviceUnavailable:2e3,authExpired:12e4},n=["Please write a 5-10 word title for the following conversation:"]},24429:()=>{},29807:(a,b,c)=>{"use strict";c.d(b,{A1:()=>g,lR:()=>i,wO:()=>h,yj:()=>e,zL:()=>f});var d=c(23016);function e(a,b){let c;return new Response(JSON.stringify((c=d.LY[a]||(a>=500?{type:"server_error",code:"internal_server_error"}:{type:"invalid_request_error",code:""}),{error:{message:b||d.O[a]||"An error occurred",type:c.type,code:c.code}})),{status:a,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}async function f(a,b=null){let c="",e=null;try{let b=await a.text();try{let a=JSON.parse(b);c=a.error?.message||a.message||a.error||b}catch{c=b}}catch{c=`Upstream error: ${a.status}`}let g=("string"==typeof c?c:JSON.stringify(c))||d.O[a.status]||`Upstream error: ${a.status}`;return"antigravity"===b&&429===a.status&&(e=function(a){if("string"!=typeof a)return null;let b=a.match(/reset after (\d+h)?(\d+m)?(\d+s)?/i);if(!b)return null;let c=0;return b[1]&&(c+=60*parseInt(b[1])*6e4),b[2]&&(c+=60*parseInt(b[2])*1e3),b[3]&&(c+=1e3*parseInt(b[3])),c>0?c:null}(g)),{statusCode:a.status,message:g,retryAfterMs:e}}function g(a,b,c=null){let d={success:!1,status:a,error:b,response:e(a,b)};return c&&(d.retryAfterMs=c),d}function h(a,b,c,d){let e=Math.max(Math.ceil((new Date(c).getTime()-Date.now())/1e3),1);return new Response(JSON.stringify({error:{message:`${b} (${d})`}}),{status:a,headers:{"Content-Type":"application/json","Retry-After":String(e)}})}function i(a,b,c,d){let e=d||a.code||"FETCH_FAILED",f=a.message||"Unknown error";return`[${e}]: ${f}`}},64749:()=>{},72947:(a,b,c)=>{"use strict";c.d(b,{Nq:()=>C,Op:()=>E,PE:()=>H});var d=c(29807),e=c(23016),f=c(79646),g=c(28354),h=c(79748),i=c(21820),j=c(33873);let k=(0,g.promisify)(f.execFile);function l(a,b,c){let d=Buffer.from(a,"base64");return"json"===c?{success:!0,response:new Response(JSON.stringify({audio:a,format:b}),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}:{success:!0,response:new Response(d,{headers:{"Content-Type":`audio/${b}`,"Content-Length":String(d.length),"Access-Control-Allow-Origin":"*"}})}}let m={token:null,tokenTime:0},n={token:null,tokenTime:0},o="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36";async function p(){let a=Date.now();if(m.token&&a-m.tokenTime<66e4)return m.token;let b=await fetch("https://translate.google.com/",{headers:{"User-Agent":o}});if(!b.ok)throw Error(`Google translate fetch failed: ${b.status}`);let c=await b.text(),d=c.match(/"FdrFJe":"(.*?)"/)?.[1],e=c.match(/"cfb2h":"(.*?)"/)?.[1];if(!d||!e)throw Error("Failed to parse Google token");return m.token={"f.sid":d,bl:e},m.tokenTime=a,m.token}let q=0;async function r(a,b){let c=await p(),d=a.replace(/[@^*()\\/\-_+=><"'\u201c\u201d\u3010\u3011]/g," ").replaceAll(", ",". "),e="jQ1olc",f=1e5*++q+Math.floor(1e3+9e3*Math.random()),g=new URLSearchParams({rpcids:e,"f.sid":c["f.sid"],bl:c.bl,hl:b,"soc-app":1,"soc-platform":1,"soc-device":1,_reqid:f,rt:"c"}),h=[d,b,null,"undefined",[0]],i=new URLSearchParams;i.append("f.req",JSON.stringify([[[e,JSON.stringify(h),null,"generic"]]]));let j=await fetch(`https://translate.google.com/_/TranslateWebserverUi/data/batchexecute?${g}`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Referer:"https://translate.google.com/"},body:i.toString()});if(!j.ok)throw Error(`Google TTS failed: ${j.status}`);let k=JSON.parse(JSON.parse((await j.text()).split("\n")[3])[0][2])[0];if(!k||k.length<100)throw Error("Google TTS returned empty audio");return k}async function s(){let a=Date.now();if(n.token&&a-n.tokenTime<3e5)return n.token;let b=await fetch("https://www.bing.com/translator",{headers:{"User-Agent":o,"Accept-Language":"vi,en-US;q=0.9,en;q=0.8"}});if(!b.ok)throw Error(`Bing translator fetch failed: ${b.status}`);let c=(b.headers.getSetCookie?.()||[]).map(a=>a.split(";")[0]).join("; "),d=(await b.text()).match(/params_AbusePreventionHelper\s*=\s*\[([^,]+),([^,]+),/);if(!d)throw Error("Failed to parse Bing token");return n.token={key:d[1],token:d[2].replace(/"/g,""),cookie:c},n.tokenTime=a,n.token}async function t(a,b,c){let d=b.split("-").slice(0,2).join("-"),e=b.toLowerCase().includes("male")?"Male":"Female",f=`<speak version='1.0' xml:lang='${d}'><voice xml:lang='${d}' xml:gender='${e}' name='${b}'><prosody rate='0.00%'>${a}</prosody></voice></speak>`,g=new URLSearchParams;return g.append("ssml",f),g.append("token",c.token),g.append("key",c.key),fetch("https://www.bing.com/tfettts?isVertical=1&&IG=1&IID=translator.5023&SFX=1",{method:"POST",body:g.toString(),headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"*/*",Origin:"https://www.bing.com",Referer:"https://www.bing.com/translator","User-Agent":o,...c.cookie?{Cookie:c.cookie}:{}}})}async function u(a,b){let c=await s(),d=await t(a,b,c);if((429===d.status||403===d.status)&&(n.token=null,n.tokenTime=0,c=await s(),d=await t(a,b,c)),!d.ok){let a=await d.text().catch(()=>"");throw Error(`Bing TTS failed: ${d.status}${a?" - "+a:""}`)}let e=await d.arrayBuffer();if(e.byteLength<1024)throw Error("Bing TTS returned empty audio");return Buffer.from(e).toString("base64")}let v=null;async function w(){if(v)return v;try{let{stdout:a}=await k("say",["-v","?"]),b=[];for(let c of a.split("\n")){let a=c.match(/^([^\s].*?)\s{2,}([a-z]{2}_[A-Z]{2})/);if(!a)continue;let d=a[1].trim(),e=a[2].trim(),f=e.split("_")[0],g=e.split("_")[1];b.push({id:d,name:d,locale:e,lang:f,country:g,gender:""})}return v=b,b}catch{return[]}}async function x(a,b){let c=await (0,h.mkdtemp)((0,j.join)((0,i.tmpdir)(),"tts-")),d=(0,j.join)(c,"out.aiff"),e=(0,j.join)(c,"out.mp3");try{let c=b?["-v",b,"-o",d,a]:["-o",d,a];return await k("say",c),await k("ffmpeg",["-y","-i",d,"-codec:a","libmp3lame","-qscale:a","4",e]),(await (0,h.readFile)(e)).toString("base64")}finally{await (0,h.rm)(c,{recursive:!0,force:!0})}}let y=null,z=0;async function A(){let a=Date.now();if(y&&a-z<864e5)return y;let b=await fetch("https://speech.platform.bing.com/consumer/speech/synthesize/readaloud/voices/list?trustedclienttoken=6A5AA1D4EAFF4E9FB37E23D68491D6F4",{headers:{"User-Agent":o}});if(!b.ok)throw Error(`Edge TTS voices fetch failed: ${b.status}`);let c=await b.json();return y=c,z=a,c}let B=new Map;async function C(a){if(!a)throw Error("ElevenLabs API key required");let b=Date.now(),c=B.get(a);if(c&&b-c.time<864e5)return c.voices;let d=await fetch("https://api.elevenlabs.io/v1/voices",{headers:{"xi-api-key":a,"Content-Type":"application/json"}});if(!d.ok)throw Error(`ElevenLabs voices fetch failed: ${d.status}`);let e=((await d.json()).voices||[]).map(a=>({...a,lang:a.labels?.language||"en"}));return B.set(a,{voices:e,time:b}),e}async function D(a,b,c,d="eleven_flash_v2_5"){let e=await fetch(`https://api.elevenlabs.io/v1/text-to-speech/${b}`,{method:"POST",headers:{"xi-api-key":c,"Content-Type":"application/json"},body:JSON.stringify({text:a,model_id:d,voice_settings:{stability:.5,similarity_boost:.75}})});if(!e.ok){let a=await e.json().catch(()=>({}));throw Error(a?.detail?.message||`ElevenLabs TTS failed: ${e.status}`)}let f=await e.arrayBuffer();if(f.byteLength<1024)throw Error("ElevenLabs TTS returned empty audio");return Buffer.from(f).toString("base64")}let E={"edge-tts":A,"local-device":w,elevenlabs:C};async function F({model:a,input:b,credentials:c,responseFormat:f="mp3"}){if(!c?.apiKey)return(0,d.A1)(e.gx.UNAUTHORIZED,"No OpenAI API key configured");let g="gpt-4o-mini-tts",h="alloy";if(a&&a.includes("/")){let b=a.split("/");2===b.length&&([g,h]=b)}else a&&(h=a);let i=(c.baseUrl||"https://api.openai.com").replace(/\/+$/,""),j=await fetch(`${i}/v1/audio/speech`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${c.apiKey}`},body:JSON.stringify({model:g,voice:h,input:b})});if(!j.ok){let a=await j.json().catch(()=>({}));return(0,d.A1)(j.status,a?.error?.message||`OpenAI TTS failed: ${j.status}`)}let k=await j.arrayBuffer();return l(Buffer.from(k).toString("base64"),"mp3",f)}let G={"google-tts":{synthesize:async(a,b)=>({base64:await r(a,b||"en"),format:"mp3"}),requiresCredentials:!1},"edge-tts":{synthesize:async(a,b)=>({base64:await u(a,b||"vi-VN-HoaiMyNeural"),format:"mp3"}),requiresCredentials:!1},"local-device":{synthesize:async(a,b)=>({base64:await x(a,b),format:"mp3"}),requiresCredentials:!1},elevenlabs:{synthesize:async(a,b,c)=>{if(!c?.apiKey)throw Error("ElevenLabs API key required");let d="eleven_flash_v2_5",e=b;return b&&b.includes("/")&&([d,e]=b.split("/")),{base64:await D(a,e,c.apiKey,d),format:"mp3"}},requiresCredentials:!0},openai:{synthesize:async(a,b,c,d)=>await F({model:b,input:a,credentials:c,responseFormat:d}),requiresCredentials:!0}};async function H({provider:a,model:b,input:c,credentials:f,responseFormat:g="mp3"}){if(!c?.trim())return(0,d.A1)(e.gx.BAD_REQUEST,"Missing required field: input");let h=G[a];if(!h)return(0,d.A1)(e.gx.BAD_REQUEST,`Provider '${a}' does not support TTS via this route.`);try{let a=await h.synthesize(c.trim(),b,f,g);if(void 0!==a.success)return a;return l(a.base64,a.format,g)}catch(a){return(0,d.A1)(e.gx.BAD_GATEWAY,a.message||"TTS synthesis failed")}}}};