9router 0.5.50 → 0.5.59

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 (1059) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +15 -9
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/prerender-manifest.json +3 -3
  5. package/app/.next-cli-build/routes-manifest.json +36 -0
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +3 -3
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +4 -4
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +3 -3
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +16 -3
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +2 -2
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +2 -2
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  75. package/app/.next-cli-build/server/app/_global-error/page.js +2 -2
  76. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  77. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  78. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  79. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  80. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  81. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  82. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  83. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  84. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  85. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  86. package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  87. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  88. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  89. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  90. package/app/.next-cli-build/server/app/_not-found.rsc +5 -5
  91. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +5 -5
  92. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  93. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +5 -5
  94. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  95. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  96. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  97. package/app/.next-cli-build/server/app/api/auth/login/route.js +3 -1
  98. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  99. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  100. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  101. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  102. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  103. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  104. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  105. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  106. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  107. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  108. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  109. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js +3 -0
  110. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -0
  111. package/app/.next-cli-build/server/app/api/auth/saml/acs/route_client-reference-manifest.js +1 -0
  112. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js +3 -0
  113. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -0
  114. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route_client-reference-manifest.js +1 -0
  115. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js +3 -0
  116. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -0
  117. package/app/.next-cli-build/server/app/api/auth/saml/start/route_client-reference-manifest.js +1 -0
  118. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js +3 -0
  119. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -0
  120. package/app/.next-cli-build/server/app/api/auth/saml/test/route_client-reference-manifest.js +1 -0
  121. package/app/.next-cli-build/server/app/api/auth/status/route.js +3 -1
  122. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +7 -6
  124. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  126. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  128. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  130. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  132. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  134. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  136. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  138. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  140. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +2 -2
  142. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  144. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +1 -1
  146. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  148. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +3 -3
  150. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +4 -3
  152. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  154. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  155. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  156. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  158. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  160. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  162. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  164. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -1
  166. package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
  168. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
  170. package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  172. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  174. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
  176. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  178. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  180. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  182. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  184. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  185. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  186. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  187. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
  188. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
  190. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  191. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  192. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  194. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  196. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  197. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  198. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  200. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  201. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  202. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  203. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  204. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js +1 -0
  206. package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js.nft.json +1 -0
  207. package/app/.next-cli-build/server/app/api/models/catalog-sync/route_client-reference-manifest.js +1 -0
  208. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  209. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  211. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  212. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  213. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  215. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  217. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  219. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  221. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  223. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  225. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  227. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js +1 -0
  229. package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -0
  230. package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route_client-reference-manifest.js +1 -0
  231. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  232. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  233. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  234. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  235. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  236. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  238. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  240. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  242. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  244. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  245. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  246. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  247. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  248. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  249. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  250. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  252. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  254. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  256. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  257. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  258. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  259. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  260. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  261. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  262. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  263. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  264. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  266. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  267. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  268. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  269. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  270. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  272. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  273. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  274. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  275. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  276. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  277. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  278. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  279. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  280. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  281. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  282. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  284. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  285. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js +2 -2
  286. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  287. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
  288. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js +2 -2
  290. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  291. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js +2 -2
  292. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  293. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +2 -2
  294. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  295. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js +2 -2
  296. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  297. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
  298. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  299. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +2 -2
  300. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  302. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  303. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  304. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  305. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  306. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  307. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  308. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  309. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  310. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  311. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  312. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  313. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  314. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  315. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  316. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  317. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  318. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  319. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  320. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  321. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  322. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  323. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  324. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  325. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  326. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  327. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  328. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  329. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  330. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  331. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  332. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  333. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  334. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  335. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  336. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  337. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  338. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  339. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  340. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  341. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  342. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  343. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  344. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  345. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  346. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  347. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  348. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  349. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  350. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  351. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  352. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  353. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  354. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  355. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  356. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  357. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  358. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  359. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  360. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  361. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  362. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  363. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  364. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  365. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  366. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  367. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  368. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  369. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  370. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  371. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
  372. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  373. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  374. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  375. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  376. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  377. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  378. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  379. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  380. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  381. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  382. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  383. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  384. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  385. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  386. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  387. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  388. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  389. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  390. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  391. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
  392. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  393. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
  394. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  395. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
  396. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  397. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
  398. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  399. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  400. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  401. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  402. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  403. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  404. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  405. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  406. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  407. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  408. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  409. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  410. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  411. package/app/.next-cli-build/server/app/callback/page.js +2 -2
  412. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  413. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  414. package/app/.next-cli-build/server/app/callback.html +1 -1
  415. package/app/.next-cli-build/server/app/callback.rsc +5 -5
  416. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +5 -5
  417. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  418. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +5 -5
  419. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  420. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  421. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  422. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  423. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +7 -7
  424. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  425. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  426. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  427. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  428. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +7 -7
  429. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  430. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +5 -5
  431. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  432. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  433. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +7 -7
  434. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  435. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  436. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  437. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  438. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +7 -7
  439. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  440. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +5 -5
  441. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  442. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  443. package/app/.next-cli-build/server/app/dashboard/combos.rsc +7 -7
  444. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  445. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  446. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  447. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  448. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +7 -7
  449. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  450. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +5 -5
  451. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  452. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  453. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +7 -7
  454. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  455. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  456. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  457. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  458. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +7 -7
  459. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  460. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +5 -5
  461. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  462. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  463. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +7 -7
  464. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  465. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  466. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  467. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  468. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  469. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +7 -7
  470. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  471. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +5 -5
  472. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  473. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  474. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +7 -7
  475. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  476. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  477. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  478. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  479. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +7 -7
  480. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  481. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +5 -5
  482. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  483. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  484. package/app/.next-cli-build/server/app/dashboard/profile.rsc +7 -7
  485. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  486. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  487. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  488. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  489. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +7 -7
  490. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  491. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +5 -5
  492. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  493. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  494. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +7 -7
  495. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  496. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  497. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  498. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  499. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  500. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +7 -7
  501. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  502. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +5 -5
  503. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  504. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  505. package/app/.next-cli-build/server/app/dashboard/providers.rsc +7 -7
  506. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  507. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  508. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  509. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  510. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +7 -7
  511. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  512. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +5 -5
  513. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  514. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  515. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +7 -7
  516. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  517. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  518. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  519. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  520. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +7 -7
  521. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  522. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +5 -5
  523. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  524. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  525. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +7 -7
  526. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +2 -2
  527. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe.segment.rsc +1 -1
  528. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  529. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  530. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +7 -7
  531. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_head.segment.rsc +1 -1
  532. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_index.segment.rsc +5 -5
  533. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  534. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  535. package/app/.next-cli-build/server/app/dashboard/quota.rsc +8 -8
  536. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  537. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  538. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  539. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  540. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +8 -8
  541. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  542. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +5 -5
  543. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  544. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  545. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  546. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  547. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  548. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +5 -5
  549. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -5
  550. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  551. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +5 -5
  552. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  553. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  554. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  555. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  556. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  557. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  558. package/app/.next-cli-build/server/app/dashboard/skills.rsc +7 -7
  559. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  560. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  561. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  562. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  563. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +7 -7
  564. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  565. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +5 -5
  566. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  567. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  568. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +7 -7
  569. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
  570. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
  571. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  572. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  573. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +7 -7
  574. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
  575. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +5 -5
  576. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  577. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  578. package/app/.next-cli-build/server/app/dashboard/translator.rsc +7 -7
  579. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  580. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  581. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  582. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  583. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +7 -7
  584. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  585. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +5 -5
  586. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  587. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  588. package/app/.next-cli-build/server/app/dashboard/usage.rsc +7 -7
  589. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  590. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  591. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  592. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  593. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +7 -7
  594. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  595. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +5 -5
  596. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  597. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  598. package/app/.next-cli-build/server/app/dashboard.rsc +7 -7
  599. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  600. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  601. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  602. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +7 -7
  603. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  604. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +5 -5
  605. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  606. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  607. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  608. package/app/.next-cli-build/server/app/index.html +1 -1
  609. package/app/.next-cli-build/server/app/index.rsc +5 -5
  610. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  611. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +5 -5
  612. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  613. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +5 -5
  614. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  615. package/app/.next-cli-build/server/app/landing/page.js +2 -2
  616. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  617. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  618. package/app/.next-cli-build/server/app/landing.html +1 -1
  619. package/app/.next-cli-build/server/app/landing.rsc +6 -6
  620. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +6 -6
  621. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  622. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +5 -5
  623. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  624. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +2 -2
  625. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  626. package/app/.next-cli-build/server/app/login/page.js +2 -2
  627. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  628. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  629. package/app/.next-cli-build/server/app/login.html +1 -1
  630. package/app/.next-cli-build/server/app/login.rsc +6 -6
  631. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +6 -6
  632. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  633. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +5 -5
  634. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  635. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  636. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  637. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  638. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  639. package/app/.next-cli-build/server/app/page.js +2 -2
  640. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  641. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  642. package/app/.next-cli-build/server/app-paths-manifest.json +15 -9
  643. package/app/.next-cli-build/server/chunks/1731.js +1 -0
  644. package/app/.next-cli-build/server/chunks/{3212.js → 2112.js} +1 -1
  645. package/app/.next-cli-build/server/chunks/24.js +1 -0
  646. package/app/.next-cli-build/server/chunks/241.js +1 -1
  647. package/app/.next-cli-build/server/chunks/318.js +28 -28
  648. package/app/.next-cli-build/server/chunks/3193.js +95 -0
  649. package/app/.next-cli-build/server/chunks/3350.js +1 -1
  650. package/app/.next-cli-build/server/chunks/3558.js +1 -1
  651. package/app/.next-cli-build/server/chunks/3662.js +1 -0
  652. package/app/.next-cli-build/server/chunks/3726.js +1 -0
  653. package/app/.next-cli-build/server/chunks/3753.js +1 -0
  654. package/app/.next-cli-build/server/chunks/3943.js +1 -1
  655. package/app/.next-cli-build/server/chunks/4037.js +1 -1
  656. package/app/.next-cli-build/server/chunks/412.js +1 -1
  657. package/app/.next-cli-build/server/chunks/4123.js +1 -1
  658. package/app/.next-cli-build/server/chunks/4125.js +1 -1
  659. package/app/.next-cli-build/server/chunks/436.js +1 -0
  660. package/app/.next-cli-build/server/chunks/4572.js +1 -0
  661. package/app/.next-cli-build/server/chunks/4730.js +4 -4
  662. package/app/.next-cli-build/server/chunks/4884.js +1 -1
  663. package/app/.next-cli-build/server/chunks/5081.js +29 -0
  664. package/app/.next-cli-build/server/chunks/5612.js +1 -1
  665. package/app/.next-cli-build/server/chunks/5615.js +1 -1
  666. package/app/.next-cli-build/server/chunks/5699.js +1 -1
  667. package/app/.next-cli-build/server/chunks/6070.js +1 -1
  668. package/app/.next-cli-build/server/chunks/615.js +1 -1
  669. package/app/.next-cli-build/server/chunks/6763.js +1 -1
  670. package/app/.next-cli-build/server/chunks/6832.js +1 -1
  671. package/app/.next-cli-build/server/chunks/7011.js +1 -1
  672. package/app/.next-cli-build/server/chunks/7108.js +2 -2
  673. package/app/.next-cli-build/server/chunks/7211.js +1 -1
  674. package/app/.next-cli-build/server/chunks/7716.js +1 -0
  675. package/app/.next-cli-build/server/chunks/7807.js +3 -0
  676. package/app/.next-cli-build/server/chunks/8145.js +1 -1
  677. package/app/.next-cli-build/server/chunks/8236.js +1 -0
  678. package/app/.next-cli-build/server/chunks/827.js +1 -1
  679. package/app/.next-cli-build/server/chunks/8402.js +1 -0
  680. package/app/.next-cli-build/server/chunks/8499.js +8 -8
  681. package/app/.next-cli-build/server/chunks/8658.js +1 -1
  682. package/app/.next-cli-build/server/chunks/869.js +1 -1
  683. package/app/.next-cli-build/server/chunks/8847.js +1 -1
  684. package/app/.next-cli-build/server/chunks/8895.js +21 -15
  685. package/app/.next-cli-build/server/chunks/8910.js +2 -2
  686. package/app/.next-cli-build/server/chunks/8920.js +1 -1
  687. package/app/.next-cli-build/server/chunks/915.js +1 -1
  688. package/app/.next-cli-build/server/instrumentation.js +1 -1
  689. package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
  690. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  691. package/app/.next-cli-build/server/middleware.js +4 -4
  692. package/app/.next-cli-build/server/middleware.js.nft.json +1 -1
  693. package/app/.next-cli-build/server/pages/404.html +1 -1
  694. package/app/.next-cli-build/server/pages/500.html +1 -1
  695. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  696. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  697. package/app/.next-cli-build/static/KIFapuT3NO-GIOnHgbRRf/_buildManifest.js +1 -0
  698. package/app/.next-cli-build/static/chunks/1321-2a57edbbd554a357.js +1 -0
  699. package/app/.next-cli-build/static/chunks/5497-419d56adfc0952d7.js +7 -0
  700. package/app/.next-cli-build/static/chunks/6639-a1552554dc73e3aa.js +95 -0
  701. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-71dec63615c633d7.js +1 -0
  702. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-ffde99503dc31523.js → page-6e9e601881a805e2.js} +1 -1
  703. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-8e859b9efe1d5d4f.js → page-31fbea485109b35b.js} +3 -3
  704. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/{page-ddf2d92f4cb62adb.js → page-3f84fe45f78d3eaa.js} +1 -1
  705. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-3226a9ed9125dd0a.js +1 -0
  706. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-87feae5aaf49357c.js +27 -0
  707. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-edacb6a11e9647fa.js +1 -0
  708. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-69f67dfea276e5ad.js +1 -0
  709. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/page-c4cf53b9a01321e7.js +1 -0
  710. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-1583ac0e83c28ac8.js +1 -0
  711. package/app/.next-cli-build/static/chunks/app/_global-error/page-256447868dbe97af.js +1 -0
  712. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-256447868dbe97af.js +1 -0
  713. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-256447868dbe97af.js +1 -0
  714. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-256447868dbe97af.js +1 -0
  715. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-256447868dbe97af.js +1 -0
  716. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-256447868dbe97af.js +1 -0
  717. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-256447868dbe97af.js +1 -0
  718. package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-256447868dbe97af.js +1 -0
  719. package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-256447868dbe97af.js +1 -0
  720. package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-256447868dbe97af.js +1 -0
  721. package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-256447868dbe97af.js +1 -0
  722. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-256447868dbe97af.js +1 -0
  723. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-256447868dbe97af.js +1 -0
  724. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-256447868dbe97af.js +1 -0
  725. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-256447868dbe97af.js +1 -0
  726. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-256447868dbe97af.js +1 -0
  727. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-256447868dbe97af.js +1 -0
  728. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-256447868dbe97af.js +1 -0
  729. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-256447868dbe97af.js +1 -0
  730. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-256447868dbe97af.js +1 -0
  731. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-256447868dbe97af.js +1 -0
  732. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-256447868dbe97af.js +1 -0
  733. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-256447868dbe97af.js +1 -0
  734. package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-256447868dbe97af.js +1 -0
  735. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-256447868dbe97af.js +1 -0
  736. package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-256447868dbe97af.js +1 -0
  737. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-256447868dbe97af.js +1 -0
  738. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-256447868dbe97af.js +1 -0
  739. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-256447868dbe97af.js +1 -0
  740. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-256447868dbe97af.js +1 -0
  741. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-256447868dbe97af.js +1 -0
  742. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-256447868dbe97af.js +1 -0
  743. package/app/.next-cli-build/static/chunks/app/api/combos/route-256447868dbe97af.js +1 -0
  744. package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-256447868dbe97af.js +1 -0
  745. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-256447868dbe97af.js +1 -0
  746. package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-256447868dbe97af.js +1 -0
  747. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-256447868dbe97af.js +1 -0
  748. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-256447868dbe97af.js +1 -0
  749. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-256447868dbe97af.js +1 -0
  750. package/app/.next-cli-build/static/chunks/app/api/health/route-256447868dbe97af.js +1 -0
  751. package/app/.next-cli-build/static/chunks/app/api/init/route-256447868dbe97af.js +1 -0
  752. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-256447868dbe97af.js +1 -0
  753. package/app/.next-cli-build/static/chunks/app/api/keys/route-256447868dbe97af.js +1 -0
  754. package/app/.next-cli-build/static/chunks/app/api/locale/route-256447868dbe97af.js +1 -0
  755. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-256447868dbe97af.js +1 -0
  756. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-256447868dbe97af.js +1 -0
  757. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-256447868dbe97af.js +1 -0
  758. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-256447868dbe97af.js +1 -0
  759. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-256447868dbe97af.js +1 -0
  760. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-256447868dbe97af.js +1 -0
  761. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-256447868dbe97af.js +1 -0
  762. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-256447868dbe97af.js +1 -0
  763. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-256447868dbe97af.js +1 -0
  764. package/app/.next-cli-build/static/chunks/app/api/models/catalog-sync/route-256447868dbe97af.js +1 -0
  765. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-256447868dbe97af.js +1 -0
  766. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-256447868dbe97af.js +1 -0
  767. package/app/.next-cli-build/static/chunks/app/api/models/route-256447868dbe97af.js +1 -0
  768. package/app/.next-cli-build/static/chunks/app/api/models/test/route-256447868dbe97af.js +1 -0
  769. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-256447868dbe97af.js +1 -0
  770. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-256447868dbe97af.js +1 -0
  771. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-256447868dbe97af.js +1 -0
  772. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-256447868dbe97af.js +1 -0
  773. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-256447868dbe97af.js +1 -0
  774. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-256447868dbe97af.js +1 -0
  775. package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-256447868dbe97af.js +1 -0
  776. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-256447868dbe97af.js +1 -0
  777. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-256447868dbe97af.js +1 -0
  778. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-256447868dbe97af.js +1 -0
  779. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-256447868dbe97af.js +1 -0
  780. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-256447868dbe97af.js +1 -0
  781. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-256447868dbe97af.js +1 -0
  782. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-256447868dbe97af.js +1 -0
  783. package/app/.next-cli-build/static/chunks/app/api/pricing/route-256447868dbe97af.js +1 -0
  784. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-256447868dbe97af.js +1 -0
  785. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-256447868dbe97af.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-256447868dbe97af.js +1 -0
  787. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-256447868dbe97af.js +1 -0
  788. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-256447868dbe97af.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-256447868dbe97af.js +1 -0
  790. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-256447868dbe97af.js +1 -0
  791. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-256447868dbe97af.js +1 -0
  792. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-256447868dbe97af.js +1 -0
  793. package/app/.next-cli-build/static/chunks/app/api/providers/route-256447868dbe97af.js +1 -0
  794. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-256447868dbe97af.js +1 -0
  795. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-256447868dbe97af.js +1 -0
  796. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-256447868dbe97af.js +1 -0
  797. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-256447868dbe97af.js +1 -0
  798. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-256447868dbe97af.js +1 -0
  799. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-256447868dbe97af.js +1 -0
  800. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-256447868dbe97af.js +1 -0
  801. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-256447868dbe97af.js +1 -0
  802. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-256447868dbe97af.js +1 -0
  803. package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-256447868dbe97af.js +1 -0
  804. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-256447868dbe97af.js +1 -0
  805. package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-256447868dbe97af.js +1 -0
  806. package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-256447868dbe97af.js +1 -0
  807. package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-256447868dbe97af.js +1 -0
  808. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-256447868dbe97af.js +1 -0
  809. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-256447868dbe97af.js +1 -0
  810. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-256447868dbe97af.js +1 -0
  811. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-256447868dbe97af.js +1 -0
  812. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-256447868dbe97af.js +1 -0
  813. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-256447868dbe97af.js +1 -0
  814. package/app/.next-cli-build/static/chunks/app/api/settings/route-256447868dbe97af.js +1 -0
  815. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-256447868dbe97af.js +1 -0
  816. package/app/.next-cli-build/static/chunks/app/api/tags/route-256447868dbe97af.js +1 -0
  817. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-256447868dbe97af.js +1 -0
  818. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-256447868dbe97af.js +1 -0
  819. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-256447868dbe97af.js +1 -0
  820. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-256447868dbe97af.js +1 -0
  821. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-256447868dbe97af.js +1 -0
  822. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-256447868dbe97af.js +1 -0
  823. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-256447868dbe97af.js +1 -0
  824. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-256447868dbe97af.js +1 -0
  825. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-256447868dbe97af.js +1 -0
  826. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-256447868dbe97af.js +1 -0
  827. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-256447868dbe97af.js +1 -0
  828. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-256447868dbe97af.js +1 -0
  829. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-256447868dbe97af.js +1 -0
  830. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-256447868dbe97af.js +1 -0
  831. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-256447868dbe97af.js +1 -0
  832. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-256447868dbe97af.js +1 -0
  833. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-256447868dbe97af.js +1 -0
  834. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-256447868dbe97af.js +1 -0
  835. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-256447868dbe97af.js +1 -0
  836. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-256447868dbe97af.js +1 -0
  837. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-256447868dbe97af.js +1 -0
  838. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-256447868dbe97af.js +1 -0
  839. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-256447868dbe97af.js +1 -0
  840. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-256447868dbe97af.js +1 -0
  841. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-256447868dbe97af.js +1 -0
  842. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-256447868dbe97af.js +1 -0
  843. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-256447868dbe97af.js +1 -0
  844. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-256447868dbe97af.js +1 -0
  845. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-256447868dbe97af.js +1 -0
  846. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-256447868dbe97af.js +1 -0
  847. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-256447868dbe97af.js +1 -0
  848. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-256447868dbe97af.js +1 -0
  849. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-256447868dbe97af.js +1 -0
  850. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-256447868dbe97af.js +1 -0
  851. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-256447868dbe97af.js +1 -0
  852. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-256447868dbe97af.js +1 -0
  853. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-256447868dbe97af.js +1 -0
  854. package/app/.next-cli-build/static/chunks/app/api/v1/route-256447868dbe97af.js +1 -0
  855. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-256447868dbe97af.js +1 -0
  856. package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-256447868dbe97af.js +1 -0
  857. package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-256447868dbe97af.js +1 -0
  858. package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-256447868dbe97af.js +1 -0
  859. package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-256447868dbe97af.js +1 -0
  860. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-256447868dbe97af.js +1 -0
  861. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-256447868dbe97af.js +1 -0
  862. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-256447868dbe97af.js +1 -0
  863. package/app/.next-cli-build/static/chunks/app/api/version/route-256447868dbe97af.js +1 -0
  864. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-256447868dbe97af.js +1 -0
  865. package/app/.next-cli-build/static/chunks/app/api/version/update/route-256447868dbe97af.js +1 -0
  866. package/app/.next-cli-build/static/chunks/app/landing/page-aad89e3261bbcd7a.js +1 -0
  867. package/app/.next-cli-build/static/chunks/app/login/page-b62000632115ac6d.js +1 -0
  868. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-256447868dbe97af.js +1 -0
  869. package/app/.next-cli-build/static/chunks/app/page-256447868dbe97af.js +1 -0
  870. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-256447868dbe97af.js +1 -0
  871. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-256447868dbe97af.js +1 -0
  872. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-256447868dbe97af.js +1 -0
  873. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-256447868dbe97af.js +1 -0
  874. package/app/.next-cli-build/static/css/c74d311ac45a6a53.css +1 -0
  875. package/app/cli/.build-home/.9router/db/data.sqlite +0 -0
  876. package/app/custom-server.js +23 -1
  877. package/app/package.json +6 -3
  878. package/app/public/i18n/literals/pt-BR.json +144 -0
  879. package/app/public/providers/xquik.png +0 -0
  880. package/app/src/mitm/server.js +27 -27
  881. package/hooks/sqliteRuntime.js +28 -4
  882. package/package.json +1 -1
  883. package/src/cli/menus/providers.js +3 -0
  884. package/app/.next-cli-build/server/chunks/112.js +0 -3
  885. package/app/.next-cli-build/server/chunks/4664.js +0 -1
  886. package/app/.next-cli-build/server/chunks/4963.js +0 -1
  887. package/app/.next-cli-build/server/chunks/5619.js +0 -1
  888. package/app/.next-cli-build/server/chunks/6306.js +0 -1
  889. package/app/.next-cli-build/server/chunks/8038.js +0 -91
  890. package/app/.next-cli-build/static/Iy6eJmUY2Da-w-NGiLufT/_buildManifest.js +0 -1
  891. package/app/.next-cli-build/static/chunks/1321-54939b699b5f3d07.js +0 -1
  892. package/app/.next-cli-build/static/chunks/5116-2810f8450da5f2e6.js +0 -91
  893. package/app/.next-cli-build/static/chunks/5497-419d0c4bb6709be8.js +0 -7
  894. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-312deac8b81b91a4.js +0 -1
  895. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-5508baf577f1c9c3.js +0 -1
  896. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-62c6f167a5e03a07.js +0 -14
  897. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-cbfb19efff4ac7f5.js +0 -1
  898. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-14020782e8f3bc6b.js +0 -1
  899. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/page-98e6138533e70e8c.js +0 -1
  900. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-05de6f7cc897becc.js +0 -1
  901. package/app/.next-cli-build/static/chunks/app/_global-error/page-b84804a8130c8ef9.js +0 -1
  902. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-b84804a8130c8ef9.js +0 -1
  903. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-b84804a8130c8ef9.js +0 -1
  904. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-b84804a8130c8ef9.js +0 -1
  905. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-b84804a8130c8ef9.js +0 -1
  906. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-b84804a8130c8ef9.js +0 -1
  907. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-b84804a8130c8ef9.js +0 -1
  908. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-b84804a8130c8ef9.js +0 -1
  909. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-b84804a8130c8ef9.js +0 -1
  910. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-b84804a8130c8ef9.js +0 -1
  911. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-b84804a8130c8ef9.js +0 -1
  912. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-b84804a8130c8ef9.js +0 -1
  913. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-b84804a8130c8ef9.js +0 -1
  914. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-b84804a8130c8ef9.js +0 -1
  915. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-b84804a8130c8ef9.js +0 -1
  916. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-b84804a8130c8ef9.js +0 -1
  917. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-b84804a8130c8ef9.js +0 -1
  918. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-b84804a8130c8ef9.js +0 -1
  919. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-b84804a8130c8ef9.js +0 -1
  920. package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-b84804a8130c8ef9.js +0 -1
  921. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-b84804a8130c8ef9.js +0 -1
  922. package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-b84804a8130c8ef9.js +0 -1
  923. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-b84804a8130c8ef9.js +0 -1
  924. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-b84804a8130c8ef9.js +0 -1
  925. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-b84804a8130c8ef9.js +0 -1
  926. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-b84804a8130c8ef9.js +0 -1
  927. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-b84804a8130c8ef9.js +0 -1
  928. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-b84804a8130c8ef9.js +0 -1
  929. package/app/.next-cli-build/static/chunks/app/api/combos/route-b84804a8130c8ef9.js +0 -1
  930. package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-b84804a8130c8ef9.js +0 -1
  931. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-b84804a8130c8ef9.js +0 -1
  932. package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-b84804a8130c8ef9.js +0 -1
  933. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-b84804a8130c8ef9.js +0 -1
  934. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-b84804a8130c8ef9.js +0 -1
  935. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-b84804a8130c8ef9.js +0 -1
  936. package/app/.next-cli-build/static/chunks/app/api/health/route-b84804a8130c8ef9.js +0 -1
  937. package/app/.next-cli-build/static/chunks/app/api/init/route-b84804a8130c8ef9.js +0 -1
  938. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-b84804a8130c8ef9.js +0 -1
  939. package/app/.next-cli-build/static/chunks/app/api/keys/route-b84804a8130c8ef9.js +0 -1
  940. package/app/.next-cli-build/static/chunks/app/api/locale/route-b84804a8130c8ef9.js +0 -1
  941. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-b84804a8130c8ef9.js +0 -1
  942. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-b84804a8130c8ef9.js +0 -1
  943. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-b84804a8130c8ef9.js +0 -1
  944. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-b84804a8130c8ef9.js +0 -1
  945. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-b84804a8130c8ef9.js +0 -1
  946. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-b84804a8130c8ef9.js +0 -1
  947. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-b84804a8130c8ef9.js +0 -1
  948. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-b84804a8130c8ef9.js +0 -1
  949. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-b84804a8130c8ef9.js +0 -1
  950. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-b84804a8130c8ef9.js +0 -1
  951. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-b84804a8130c8ef9.js +0 -1
  952. package/app/.next-cli-build/static/chunks/app/api/models/route-b84804a8130c8ef9.js +0 -1
  953. package/app/.next-cli-build/static/chunks/app/api/models/test/route-b84804a8130c8ef9.js +0 -1
  954. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-b84804a8130c8ef9.js +0 -1
  955. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-b84804a8130c8ef9.js +0 -1
  956. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-b84804a8130c8ef9.js +0 -1
  957. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-b84804a8130c8ef9.js +0 -1
  958. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-b84804a8130c8ef9.js +0 -1
  959. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-b84804a8130c8ef9.js +0 -1
  960. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-b84804a8130c8ef9.js +0 -1
  961. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-b84804a8130c8ef9.js +0 -1
  962. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-b84804a8130c8ef9.js +0 -1
  963. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-b84804a8130c8ef9.js +0 -1
  964. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-b84804a8130c8ef9.js +0 -1
  965. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-b84804a8130c8ef9.js +0 -1
  966. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-b84804a8130c8ef9.js +0 -1
  967. package/app/.next-cli-build/static/chunks/app/api/pricing/route-b84804a8130c8ef9.js +0 -1
  968. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-b84804a8130c8ef9.js +0 -1
  969. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-b84804a8130c8ef9.js +0 -1
  970. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-b84804a8130c8ef9.js +0 -1
  971. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-b84804a8130c8ef9.js +0 -1
  972. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-b84804a8130c8ef9.js +0 -1
  973. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-b84804a8130c8ef9.js +0 -1
  974. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-b84804a8130c8ef9.js +0 -1
  975. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-b84804a8130c8ef9.js +0 -1
  976. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-b84804a8130c8ef9.js +0 -1
  977. package/app/.next-cli-build/static/chunks/app/api/providers/route-b84804a8130c8ef9.js +0 -1
  978. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-b84804a8130c8ef9.js +0 -1
  979. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-b84804a8130c8ef9.js +0 -1
  980. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-b84804a8130c8ef9.js +0 -1
  981. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-b84804a8130c8ef9.js +0 -1
  982. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-b84804a8130c8ef9.js +0 -1
  983. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-b84804a8130c8ef9.js +0 -1
  984. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-b84804a8130c8ef9.js +0 -1
  985. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-b84804a8130c8ef9.js +0 -1
  986. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-b84804a8130c8ef9.js +0 -1
  987. package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-b84804a8130c8ef9.js +0 -1
  988. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-b84804a8130c8ef9.js +0 -1
  989. package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-b84804a8130c8ef9.js +0 -1
  990. package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-b84804a8130c8ef9.js +0 -1
  991. package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-b84804a8130c8ef9.js +0 -1
  992. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-b84804a8130c8ef9.js +0 -1
  993. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-b84804a8130c8ef9.js +0 -1
  994. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-b84804a8130c8ef9.js +0 -1
  995. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-b84804a8130c8ef9.js +0 -1
  996. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-b84804a8130c8ef9.js +0 -1
  997. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-b84804a8130c8ef9.js +0 -1
  998. package/app/.next-cli-build/static/chunks/app/api/settings/route-b84804a8130c8ef9.js +0 -1
  999. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-b84804a8130c8ef9.js +0 -1
  1000. package/app/.next-cli-build/static/chunks/app/api/tags/route-b84804a8130c8ef9.js +0 -1
  1001. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-b84804a8130c8ef9.js +0 -1
  1002. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-b84804a8130c8ef9.js +0 -1
  1003. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-b84804a8130c8ef9.js +0 -1
  1004. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-b84804a8130c8ef9.js +0 -1
  1005. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-b84804a8130c8ef9.js +0 -1
  1006. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-b84804a8130c8ef9.js +0 -1
  1007. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-b84804a8130c8ef9.js +0 -1
  1008. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-b84804a8130c8ef9.js +0 -1
  1009. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-b84804a8130c8ef9.js +0 -1
  1010. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-b84804a8130c8ef9.js +0 -1
  1011. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-b84804a8130c8ef9.js +0 -1
  1012. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-b84804a8130c8ef9.js +0 -1
  1013. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-b84804a8130c8ef9.js +0 -1
  1014. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-b84804a8130c8ef9.js +0 -1
  1015. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-b84804a8130c8ef9.js +0 -1
  1016. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-b84804a8130c8ef9.js +0 -1
  1017. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-b84804a8130c8ef9.js +0 -1
  1018. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-b84804a8130c8ef9.js +0 -1
  1019. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-b84804a8130c8ef9.js +0 -1
  1020. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-b84804a8130c8ef9.js +0 -1
  1021. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-b84804a8130c8ef9.js +0 -1
  1022. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-b84804a8130c8ef9.js +0 -1
  1023. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-b84804a8130c8ef9.js +0 -1
  1024. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-b84804a8130c8ef9.js +0 -1
  1025. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-b84804a8130c8ef9.js +0 -1
  1026. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-b84804a8130c8ef9.js +0 -1
  1027. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-b84804a8130c8ef9.js +0 -1
  1028. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-b84804a8130c8ef9.js +0 -1
  1029. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-b84804a8130c8ef9.js +0 -1
  1030. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-b84804a8130c8ef9.js +0 -1
  1031. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-b84804a8130c8ef9.js +0 -1
  1032. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-b84804a8130c8ef9.js +0 -1
  1033. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-b84804a8130c8ef9.js +0 -1
  1034. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-b84804a8130c8ef9.js +0 -1
  1035. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-b84804a8130c8ef9.js +0 -1
  1036. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-b84804a8130c8ef9.js +0 -1
  1037. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-b84804a8130c8ef9.js +0 -1
  1038. package/app/.next-cli-build/static/chunks/app/api/v1/route-b84804a8130c8ef9.js +0 -1
  1039. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-b84804a8130c8ef9.js +0 -1
  1040. package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-b84804a8130c8ef9.js +0 -1
  1041. package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-b84804a8130c8ef9.js +0 -1
  1042. package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-b84804a8130c8ef9.js +0 -1
  1043. package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-b84804a8130c8ef9.js +0 -1
  1044. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-b84804a8130c8ef9.js +0 -1
  1045. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-b84804a8130c8ef9.js +0 -1
  1046. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-b84804a8130c8ef9.js +0 -1
  1047. package/app/.next-cli-build/static/chunks/app/api/version/route-b84804a8130c8ef9.js +0 -1
  1048. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-b84804a8130c8ef9.js +0 -1
  1049. package/app/.next-cli-build/static/chunks/app/api/version/update/route-b84804a8130c8ef9.js +0 -1
  1050. package/app/.next-cli-build/static/chunks/app/landing/page-a27674e6c5b0a2a5.js +0 -1
  1051. package/app/.next-cli-build/static/chunks/app/login/page-ffcd52964a6bbce6.js +0 -1
  1052. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-b84804a8130c8ef9.js +0 -1
  1053. package/app/.next-cli-build/static/chunks/app/page-b84804a8130c8ef9.js +0 -1
  1054. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-b84804a8130c8ef9.js +0 -1
  1055. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-b84804a8130c8ef9.js +0 -1
  1056. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-b84804a8130c8ef9.js +0 -1
  1057. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-b84804a8130c8ef9.js +0 -1
  1058. package/app/.next-cli-build/static/css/98dac860a6ea577d.css +0 -1
  1059. /package/app/.next-cli-build/static/{Iy6eJmUY2Da-w-NGiLufT → KIFapuT3NO-GIOnHgbRRf}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";exports.id=3753,exports.ids=[3753],exports.modules={54414:(a,b,c)=>{c.d(b,{cI:()=>g,pH:()=>f,Ps:()=>e});function d(a,b){let c=process.env[a];if(null==c||""===c)return b;let d=parseInt(c,10);return Number.isFinite(d)&&d>0?d:b}let e=process.env.SEARXNG_URL?.trim()||"http://localhost:8888/search";d("STREAM_STALL_TIMEOUT_MS",36e4),d("STREAM_FIRST_CHUNK_TIMEOUT_MS",2e5);let f=d("FETCH_CONNECT_TIMEOUT_MS",6e4);d("GEMINI_NATIVE_TTS_FETCH_TIMEOUT_MS",45e3);let g={429:{attempts:0,delayMs:0},502:{attempts:3,delayMs:3e3},503:{attempts:3,delayMs:2e3},504:{attempts:2,delayMs:3e3}}},83753:(a,b,c)=>{c.r(b),c.d(b,{default:()=>o});var d=c(21820);let e={"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"};(function(){switch((0,d.arch)()){case"x64":case"arm64":case"ia32":return;default:return(0,d.arch)()}})(),function(){switch((0,d.platform)()){case"darwin":case"win32":case"linux":case"freebsd":return;default:return(0,d.platform)()}}();let f="https://daily-cloudcode-pa.googleapis.com",g="antigravity/ide/2.1.1 darwin/arm64",h={id:"antigravity",priority:20,alias:"ag",uiAlias:"ag",display:{name:"Antigravity",icon:"rocket_launch",color:"#F59E0B",website:"https://antigravity.google",notice:{signupUrl:"https://antigravity.google"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",serviceKinds:["llm","image","webSearch"],transport:{baseUrls:[f],format:"antigravity",headers:{"User-Agent":g},retry:{429:{attempts:3},500:{attempts:3},503:{attempts:3}},usage:{quotaApiUrl:"https://cloudcode-pa.googleapis.com/v1internal:fetchAvailableModels",loadProjectApiUrl:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",tokenUrl:"https://oauth2.googleapis.com/token"},clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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"},models:[{id:"gemini-3.7-flash-high",name:"Gemini 3.7 Flash (High)",upstreamModelId:"gemini-3.7-flash-tiered(high)"},{id:"gemini-3.7-flash-medium",name:"Gemini 3.7 Flash (Medium)",upstreamModelId:"gemini-3.7-flash-tiered(medium)"},{id:"gemini-3.7-flash-low",name:"Gemini 3.7 Flash (Low)",upstreamModelId:"gemini-3.7-flash-tiered(low)"},{id:"gemini-3.6-flash-high",name:"Gemini 3.6 Flash (High)",upstreamModelId:"gemini-3.6-flash-tiered(high)"},{id:"gemini-3.6-flash-medium",name:"Gemini 3.6 Flash (Medium)",upstreamModelId:"gemini-3.6-flash-tiered(medium)"},{id:"gemini-3.6-flash-low",name:"Gemini 3.6 Flash (Low)",upstreamModelId:"gemini-3.6-flash-tiered(low)"},{id:"gemini-3.5-flash-high",name:"Gemini 3.5 Flash (High)"},{id:"gemini-3-flash-agent",name:"Gemini 3.5 Flash (High)"},{id:"gemini-3.5-flash-low",name:"Gemini 3.5 Flash (Medium)"},{id:"gemini-3.5-flash-extra-low",name:"Gemini 3.5 Flash (Low)"},{id:"gemini-pro-agent",name:"Gemini 3.1 Pro (High)"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro (Low)"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Thinking)"},{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 (Thinking)"},{id:"gpt-oss-120b-medium",name:"GPT-OSS 120B (Medium)"},{id:"gemini-3-flash",name:"Gemini 3 Flash",thinking:!1},{id:"gemini-3.1-flash-image",name:"Gemini 3.1 Flash (Image)",kind:"image",imageGen:!0,capabilities:["textToImage"]}],oauth:{authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile","https://www.googleapis.com/auth/cclog","https://www.googleapis.com/auth/experimentsandconfigs"],apiEndpoint:"https://daily-cloudcode-pa.googleapis.com",apiVersion:"v1internal",loadCodeAssistEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUserEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser",loadCodeAssistUserAgent:g,refreshLeadMs:3e5},searchViaChat:{defaultModel:"gemini-2.5-flash",endpoint:`${f}/v1internal:generateContent`,freeTier:"Free — Google Search grounding through an Antigravity OAuth account."},features:{usage:!0}},i={id:"deepseek",priority:110,alias:"deepseek",aliases:["ds"],uiAlias:"ds",display:{name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com",notice:{apiKeyUrl:"https://platform.deepseek.com/api_keys"}},category:"apikey",transport:{baseUrl:"https://api.deepseek.com/chat/completions",validateUrl:"https://api.deepseek.com/models",reasoningInject:{scope:"all"}},transports:[{format:"openai",baseUrl:"https://api.deepseek.com/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.deepseek.com/anthropic/v1/messages",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-v4-pro-max",name:"DeepSeek V4 Pro Max",upstreamModelId:"deepseek-v4-pro"},{id:"deepseek-v4-pro-none",name:"DeepSeek V4 Pro No Thinking",upstreamModelId:"deepseek-v4-pro"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision (Exp)"},{id:"deepseek-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-reasoner",name:"DeepSeek V3.2 Reasoner"}],features:{usage:!0,usageApikey:!0}},j={id:"glm",priority:140,alias:"glm",display:{name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn",notice:{apiKeyUrl:"https://open.bigmodel.cn/usercenter/apikeys"}},category:"apikey",transport:{baseUrl:"https://api.z.ai/api/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{url:"https://api.z.ai/api/monitor/usage/quota/limit"}},transports:[{format:"openai",baseUrl:"https://api.z.ai/api/coding/paas/v4/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.z.ai/api/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"glm-5.3",name:"GLM 5.3"},{id:"glm-5.3-flash",name:"GLM 5.3 Flash (Vision)"},{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"}],serviceKinds:["llm","webSearch"],searchConfig:{baseUrl:"https://api.z.ai/api/mcp/web_search_prime/mcp",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:0,searchTypes:["web"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:3e5},features:{usage:!0,usageApikey:!0}},k="0.2.99",l="https://cli-chat-proxy.grok.com/v1",m="grok-shell",n=`grok-shell/${k} (linux; x86_64)`,o=[{id:"alicode-intl",priority:10,alias:"alicode-intl",display:{name:"Alibaba Coding",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://www.alibabacloud.com/product/coding",notice:{apiKeyUrl:"https://www.alibabacloud.com/product/coding"}},category:"apikey",transport:{baseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions",headers:{},quirks:{preserveCacheControl:!0}},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},{id:"alicode",priority:20,alias:"alicode",display:{name:"Alibaba",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://bailian.console.aliyun.com",notice:{apiKeyUrl:"https://bailian.console.aliyun.com/?apiKey=1"}},category:"apikey",transport:{baseUrl:"https://coding.dashscope.aliyuncs.com/v1/chat/completions",headers:{},quirks:{preserveCacheControl:!0}},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},{id:"anthropic",priority:30,alias:"anthropic",display:{name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com",notice:{apiKeyUrl:"https://console.anthropic.com/settings/keys"}},category:"apikey",transport:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",headers:{"anthropic-version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"}},models:[{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"claude-opus-4-20250514",name:"Claude Opus 4"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"}],serviceKinds:["llm","imageToText"]},h,{id:"assemblyai",priority:30,alias:"assemblyai",aliases:["aai"],uiAlias:"aai",display:{name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com",notice:{apiKeyUrl:"https://www.assemblyai.com/app/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.assemblyai.com/v1/audio/transcriptions",validateUrl:"https://api.assemblyai.com/v1/account"},models:[{id:"universal-3-pro",name:"Universal 3 Pro",params:["language"],kind:"stt"},{id:"universal-2",name:"Universal 2",params:["language"],kind:"stt"},{id:"best",name:"Best (Nano + Universal)",kind:"stt"},{id:"nano",name:"Nano (Fast)",kind:"stt"}],serviceKinds:["stt"],sttConfig:{baseUrl:"https://api.assemblyai.com/v2/transcript",authType:"apikey",authHeader:"authorization",format:"assemblyai"}},{id:"aws-polly",alias:"polly",display:{name:"AWS Polly",icon:"record_voice_over",color:"#FF9900",textIcon:"PL",website:"https://aws.amazon.com/polly/",notice:{text:"Use AWS Secret Access Key as API key; set providerSpecificData.accessKeyId and optional region.",apiKeyUrl:"https://console.aws.amazon.com/iam/home#/security_credentials"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://polly.{region}.amazonaws.com/v1/speech",authType:"apikey",authHeader:"aws-sigv4",format:"aws-polly",models:[{id:"standard",name:"Standard"},{id:"neural",name:"Neural"},{id:"long-form",name:"Long-form"},{id:"generative",name:"Generative"}]},hasProviderSpecificData:!0},{id:"azure",priority:40,alias:"azure",display:{name:"Azure OpenAI",icon:"cloud",color:"#0078D4",textIcon:"AZ",website:"https://azure.microsoft.com/en-us/products/ai-services/openai-service",notice:{apiKeyUrl:"https://portal.azure.com/#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/OpenAI"}},category:"apikey",hasProviderSpecificData:!0,transport:{baseUrl:"",headers:{}}},{id:"black-forest-labs",priority:50,alias:"black-forest-labs",aliases:["bfl"],uiAlias:"bfl",display:{name:"Black Forest Labs",icon:"image",color:"#111827",textIcon:"BF",website:"https://blackforestlabs.ai",notice:{apiKeyUrl:"https://api.bfl.ai"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"flux-pro-1.1",name:"FLUX Pro 1.1",params:["n","size"],kind:"image"},{id:"flux-pro-1.1-ultra",name:"FLUX Pro 1.1 Ultra",params:["size"],kind:"image"},{id:"flux-pro",name:"FLUX Pro",params:["n","size"],kind:"image"},{id:"flux-dev",name:"FLUX Dev",params:["n","size"],kind:"image"},{id:"flux-kontext-pro",name:"FLUX Kontext Pro (Edit)",params:["size"],capabilities:["edit"],kind:"image"},{id:"flux-kontext-max",name:"FLUX Kontext Max (Edit)",params:["size"],capabilities:["edit"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.bfl.ai/v1"}},{id:"blackbox",priority:50,alias:"blackbox",aliases:["bb"],uiAlias:"bb",display:{name:"Blackbox AI",icon:"smart_toy",color:"#5B5FEF",textIcon:"BB",website:"https://blackbox.ai",notice:{apiKeyUrl:"https://www.blackbox.ai/api-management"}},category:"apikey",serviceKinds:["llm"],thinkingConfig:{options:["auto","none","low","medium","high","xhigh"],defaultMode:"auto"},transport:{baseUrl:"https://api.blackbox.ai/v1/chat/completions",thinkingFormat:"openai"},models:[{id:"claude-fable-5",name:"Claude Fable 5",upstreamModelId:"blackboxai/anthropic/claude-fable-5"},{id:"claude-opus-4.8",name:"Claude Opus 4.8",upstreamModelId:"blackboxai/anthropic/claude-opus-4.8"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6",upstreamModelId:"blackboxai/anthropic/claude-sonnet-4.6"},{id:"gpt-5.5",name:"GPT-5.5",upstreamModelId:"blackboxai/openai/gpt-5.5"},{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",upstreamModelId:"blackboxai/openai/gpt-5.4-pro"},{id:"gpt-5.4",name:"GPT-5.4",upstreamModelId:"blackboxai/openai/gpt-5.4"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",upstreamModelId:"blackboxai/openai/gpt-5.3-codex"},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano",upstreamModelId:"blackboxai/openai/gpt-5.4-nano"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",upstreamModelId:"blackboxai/deepseek/deepseek-v4-flash"},{id:"grok-4.3",name:"Grok 4.3",upstreamModelId:"blackboxai/x-ai/grok-4.3"}]},{id:"brave-search",alias:"brave",display:{name:"Brave Search",icon:"travel_explore",color:"#FB542B",textIcon:"BR",website:"https://brave.com/search/api",notice:{apiKeyUrl:"https://api-dashboard.search.brave.com/app/keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://api.search.brave.com/res/v1",method:"GET",authType:"apikey",authHeader:"x-subscription-token",costPerQuery:.005,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"byteplus",priority:70,alias:"byteplus",aliases:["bpm"],uiAlias:"bpm",display:{name:"BytePlus ModelArk",icon:"cloud",color:"#2563EB",textIcon:"BP",website:"https://console.byteplus.com/ark",notice:{text:"Free credits for new accounts. Access to Seed 2.0, Kimi K2 Thinking, GLM 4.7, GPT-OSS-120B models.",apiKeyUrl:"https://console.byteplus.com/ark/region:ark+ap-southeast-1/apiKey"}},category:"freeTier",transport:{baseUrl:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",headers:{}},models:[{id:"seed-2-0-pro-260328",name:"Seed 2.0 Pro"},{id:"seed-2-0-code-preview-260328",name:"Seed 2.0 Code Preview"},{id:"seed-2-0-mini-260215",name:"Seed 2.0 Mini"},{id:"seed-2-0-lite-260228",name:"Seed 2.0 Lite"},{id:"kimi-k2-thinking-251104",name:"Kimi K2 Thinking"},{id:"glm-4-7-251222",name:"GLM 4.7"},{id:"gpt-oss-120b-250805",name:"GPT-OSS-120B"}],serviceKinds:["llm"]},{id:"cartesia",alias:"cartesia",display:{name:"Cartesia",icon:"spatial_audio",color:"#FF4F8B",textIcon:"CA",website:"https://cartesia.ai",notice:{apiKeyUrl:"https://play.cartesia.ai/keys"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.cartesia.ai/tts/bytes",authType:"apikey",authHeader:"x-api-key",format:"cartesia",models:[{id:"sonic-2",name:"Sonic 2"},{id:"sonic-3",name:"Sonic 3"}]},hidden:!0},{id:"cerebras",priority:60,alias:"cerebras",display:{name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://www.cerebras.ai",notice:{apiKeyUrl:"https://cloud.cerebras.ai/platform"}},category:"apikey",transport:{baseUrl:"https://api.cerebras.ai/v1/chat/completions",validateUrl:"https://api.cerebras.ai/v1/models",quirks:{dropClientMetadata:!0}},models:[{id:"gpt-oss-120b",name:"GPT OSS 120B"},{id:"zai-glm-4.7",name:"ZAI GLM 4.7"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout"},{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B"},{id:"qwen-3-32b",name:"Qwen3 32B"}]},{id:"chutes",priority:70,alias:"chutes",aliases:["ch"],uiAlias:"ch",display:{name:"Chutes AI",icon:"water_drop",color:"#ffffffff",textIcon:"CH",website:"https://chutes.ai",notice:{apiKeyUrl:"https://chutes.ai/app/api"}},category:"apikey",transport:{baseUrl:"https://llm.chutes.ai/v1/chat/completions",validateUrl:"https://llm.chutes.ai/v1/models"}},{id:"claude",priority:10,alias:"cc",uiAlias:"cc",display:{name:"Claude Code",icon:"smart_toy",color:"#D97757",website:"https://claude.ai",notice:{signupUrl:"https://claude.ai"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",transport:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/2.1.92 (external, sdk-cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.14.0","X-Stainless-Package-Version":"0.80.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":"arm64","X-Stainless-Os":"MacOS","X-Stainless-Timeout":"600"},quirks:{cloakToolsOnOAuth:!0},auth:{apiKey:{header:"x-api-key",scheme:"raw"},oauth:{header:"Authorization",scheme:"bearer"}},usage:{oauthUrl:"https://api.anthropic.com/api/oauth/usage",orgUrl:"https://api.anthropic.com/v1/organizations/{org_id}/usage",settingsUrl:"https://api.anthropic.com/v1/settings"}},models:[{id:"claude-opus-5",name:"Claude Opus 5"},{id:"claude-fable-5",name:"Claude Fable 5"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}],oauth:{clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorizeUrl:"https://claude.ai/oauth/authorize",tokenUrl:"https://api.anthropic.com/v1/oauth/token",scopes:["org:create_api_key","user:profile","user:inference"],codeChallengeMethod:"S256",refreshLeadMs:144e5,refresh:{encoding:"json"}},features:{usage:!0}},{id:"cline",priority:80,alias:"cl",uiAlias:"cl",display:{name:"Cline",icon:"smart_toy",color:"#5B9BD5",textIcon:"CL",website:"https://cline.bot",notice:{signupUrl:"https://cline.bot"}},category:"oauth",transport:{baseUrl:"https://api.cline.bot/api/v1/chat/completions",headers:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["clineHeaders"]}},models:[{id:"anthropic/claude-opus-4.7",name:"Claude Opus 4.7"},{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6"},{id:"openai/gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"openai/gpt-5.4",name:"GPT-5.4"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"google/gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"kwaipilot/kat-coder-pro",name:"KAT Coder Pro"}],oauth:{appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenExchangeUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"}},{id:"clinepass",priority:85,alias:"clinepass",uiAlias:"clinepass",display:{name:"ClinePass",icon:"vpn_key",color:"#5B9BD5",textIcon:"CP",website:"https://cline.bot",notice:{signupUrl:"https://app.cline.bot"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://api.cline.bot/api/v1/chat/completions",headers:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["clineHeaders"]}},models:[{id:"cline-pass/glm-5.2",name:"GLM-5.2 (ClinePass)"},{id:"cline-pass/kimi-k2.7-code",name:"Kimi K2.7 Code (ClinePass)"},{id:"cline-pass/kimi-k2.6",name:"Kimi K2.6 (ClinePass)"},{id:"cline-pass/deepseek-v4-pro",name:"DeepSeek V4 Pro (ClinePass)"},{id:"cline-pass/deepseek-v4-flash",name:"DeepSeek V4 Flash (ClinePass)"},{id:"cline-pass/mimo-v2.5",name:"MiMo-V2.5 (ClinePass)"},{id:"cline-pass/mimo-v2.5-pro",name:"MiMo-V2.5-Pro (ClinePass)"},{id:"cline-pass/minimax-m3",name:"MiniMax M3 (ClinePass)"},{id:"cline-pass/qwen3.7-max",name:"Qwen3.7 Max (ClinePass)"},{id:"cline-pass/qwen3.7-plus",name:"Qwen3.7 Plus (ClinePass)"}],oauth:{appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},thinkingConfig:{options:["auto","on","off"],defaultMode:"auto"}},{id:"cloudflare-ai",priority:60,hasFree:!0,alias:"cloudflare-ai",aliases:["cf"],uiAlias:"cf",display:{name:"Cloudflare",icon:"cloud",color:"#F38020",textIcon:"CF",website:"https://developers.cloudflare.com/workers-ai/",notice:{text:"Workers AI free tier. Requires a Cloudflare API token and Account ID.",apiKeyUrl:"https://dash.cloudflare.com/profile/api-tokens"}},category:"freeTier",authType:"apikey",authModes:["apikey"],hasProviderSpecificData:!0,transport:{baseUrl:"https://api.cloudflare.com/client/v4/accounts/{accountId}/ai/v1/chat/completions",thinkingFormat:"openai"},models:[{id:"@cf/meta/llama-3.2-1b-instruct",name:"Llama 3.2 1B Instruct"},{id:"@cf/meta/llama-3.2-3b-instruct",name:"Llama 3.2 3B Instruct"},{id:"@cf/meta/llama-3.1-8b-instruct-fp8-fast",name:"Llama 3.1 8B Instruct FP8 Fast"},{id:"@cf/meta/llama-3.1-8b-instruct-awq",name:"Llama 3.1 8B Instruct AWQ"},{id:"@cf/mistralai/mistral-small-3.1-24b-instruct",name:"Mistral Small 3.1 24B Instruct"},{id:"@cf/meta/llama-3.1-70b-instruct-fp8-fast",name:"Llama 3.1 70B Instruct FP8 Fast"},{id:"@cf/meta/llama-3.3-70b-instruct-fp8-fast",name:"Llama 3.3 70B Instruct FP8 Fast"},{id:"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b",name:"DeepSeek R1 Distill Qwen 32B"},{id:"@cf/moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"@cf/moonshotai/kimi-k2.6",name:"Kimi K2.6"},{id:"@cf/zai-org/glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"@cf/qwen/qwq-32b",name:"QwQ 32B"},{id:"@cf/qwen/qwen2.5-coder-32b-instruct",name:"Qwen 2.5 Coder 32B Instruct"},{id:"@cf/black-forest-labs/flux-2-klein-9b",name:"FLUX.2 Klein 9B",params:["size"],kind:"image"},{id:"@cf/black-forest-labs/flux-2-klein-4b",name:"FLUX.2 Klein 4B",params:["size"],kind:"image"},{id:"@cf/black-forest-labs/flux-2-dev",name:"FLUX.2 Dev",params:["size"],kind:"image"},{id:"@cf/leonardo/lucid-origin",name:"Lucid Origin",params:["size"],kind:"image"},{id:"@cf/leonardo/phoenix-1.0",name:"Phoenix 1.0",params:["size"],kind:"image"},{id:"@cf/black-forest-labs/flux-1-schnell",name:"FLUX.1 Schnell",params:["size"],kind:"image"},{id:"@cf/bytedance/stable-diffusion-xl-lightning",name:"SDXL Lightning",params:["size"],kind:"image"},{id:"@cf/lykon/dreamshaper-8-lcm",name:"DreamShaper 8 LCM",params:["size"],kind:"image"},{id:"@cf/runwayml/stable-diffusion-v1-5-img2img",name:"Stable Diffusion v1.5 Img2Img",params:["size"],capabilities:["edit"],kind:"image"},{id:"@cf/runwayml/stable-diffusion-v1-5-inpainting",name:"Stable Diffusion v1.5 Inpainting",params:["size"],capabilities:["edit","mask"],kind:"image"},{id:"@cf/stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0",params:["size"],kind:"image"}],serviceKinds:["llm","image"],imageConfig:{baseUrl:"https://api.cloudflare.com/client/v4/accounts"}},{id:"codebuddy-cn",alias:"cbcn",uiAlias:"cbcn",hidden:!1,priority:90,display:{name:"CodeBuddy CN",icon:"smart_toy",color:"#006EFF",website:"https://copilot.tencent.com",notice:{signupUrl:"https://copilot.tencent.com"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://copilot.tencent.com/v2/chat/completions",forceStream:!0,thinkingFormat:"openai",headers:{"User-Agent":"CLI/2.108.1 CodeBuddy/2.108.1","X-Product":"SaaS","X-IDE-Type":"CLI","X-IDE-Name":"CLI","x-requested-with":"XMLHttpRequest","x-codebuddy-request":"1"},auth:{combined:!0,header:"Authorization",scheme:"bearer"},usage:{url:"https://copilot.tencent.com/v2/billing/meter/get-user-resource"}},models:[{id:"glm-5.2",name:"GLM-5.2"},{id:"glm-5.1",name:"GLM-5.1"},{id:"glm-5.0",name:"GLM-5.0"},{id:"glm-5.0-turbo",name:"GLM-5.0-Turbo"},{id:"glm-5v-turbo",name:"GLM-5v-Turbo"},{id:"glm-4.7",name:"GLM-4.7"},{id:"minimax-m3",name:"MiniMax-M3"},{id:"minimax-m2.7",name:"MiniMax-M2.7"},{id:"kimi-k2.7",name:"Kimi-K2.7-Code"},{id:"kimi-k2.6",name:"Kimi-K2.6"},{id:"kimi-k2.5",name:"Kimi-K2.5"},{id:"hy3-preview",name:"Hy3 Preview"},{id:"deepseek-v4-pro",name:"DeepSeek-V4-Pro"},{id:"deepseek-v4-flash",name:"DeepSeek-V4-Flash"},{id:"deepseek-v3-2-volc",name:"DeepSeek-V3.2"}],oauth:{baseUrl:"https://copilot.tencent.com",stateUrl:"https://copilot.tencent.com/v2/plugin/auth/state",tokenUrl:"https://copilot.tencent.com/v2/plugin/auth/token",refreshUrl:"https://copilot.tencent.com/v2/plugin/auth/token/refresh",userAgent:"CLI/2.63.2 CodeBuddy/2.63.2",platform:"CLI",pollInterval:5e3},features:{usage:!0,usageApikey:!0}},{id:"codex",priority:30,alias:"cx",uiAlias:"cx",display:{name:"OpenAI Codex",icon:"code",color:"#3B82F6",website:"https://chatgpt.com/codex",notice:{signupUrl:"https://chatgpt.com/codex"},deprecated:!0,deprecationNotice:"RISK_NOTICE",kindNotice:{image:"Requires a ChatGPT Plus (or higher) account. Free accounts are not supported for image generation."}},category:"oauth",thinkingConfig:{options:["auto","none","low","medium","high"],defaultMode:"auto"},transport:{baseUrl:"https://chatgpt.com/backend-api/codex/responses",format:"openai-responses",forceStream:!0,headers:{originator:"codex_cli_rs","User-Agent":"codex_cli_rs/0.136.0"},usage:{url:"https://chatgpt.com/backend-api/wham/usage",resetCreditsUrl:"https://chatgpt.com/backend-api/wham/rate-limit-reset-credits",resetCreditsConsumeUrl:"https://chatgpt.com/backend-api/wham/rate-limit-reset-credits/consume"}},models:[{id:"gpt-5.6-sol",name:"GPT 5.6 Sol"},{id:"gpt-5.6-sol-review",name:"GPT 5.6 Sol Review",upstreamModelId:"gpt-5.6-sol",quotaFamily:"review"},{id:"gpt-5.6-terra",name:"GPT 5.6 Terra"},{id:"gpt-5.6-terra-review",name:"GPT 5.6 Terra Review",upstreamModelId:"gpt-5.6-terra",quotaFamily:"review"},{id:"gpt-5.6-luna",name:"GPT 5.6 Luna"},{id:"gpt-5.6-luna-review",name:"GPT 5.6 Luna Review",upstreamModelId:"gpt-5.6-luna",quotaFamily:"review"},{id:"gpt-5.5",name:"GPT 5.5"},{id:"gpt-5.5-review",name:"GPT 5.5 Review",upstreamModelId:"gpt-5.5",quotaFamily:"review"},{id:"gpt-5.4",name:"GPT 5.4"},{id:"gpt-5.4-review",name:"GPT 5.4 Review",upstreamModelId:"gpt-5.4",quotaFamily:"review"},{id:"gpt-5.4-mini",name:"GPT 5.4 Mini"},{id:"gpt-5.4-mini-review",name:"GPT 5.4 Mini Review",upstreamModelId:"gpt-5.4-mini",quotaFamily:"review"},{id:"gpt-5.3-codex-spark",name:"GPT 5.3 Codex Spark"},{id:"gpt-5.3-codex-spark-review",name:"GPT 5.3 Codex Spark Review",upstreamModelId:"gpt-5.3-codex-spark",quotaFamily:"review"},{id:"gpt-5.5-image",name:"GPT 5.5 Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.4-image",name:"GPT 5.4 Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.3-image",name:"GPT 5.3 Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"}],serviceKinds:["llm","image"],oauth:{clientId:"app_EMoamEEZ73f0CkXaXp7hrann",authorizeUrl:"https://auth.openai.com/oauth/authorize",tokenUrl:"https://auth.openai.com/oauth/token",scope:"openid profile email offline_access",codeChallengeMethod:"S256",fixedPort:1455,callbackPath:"/auth/callback",extraParams:{id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:"codex_cli_rs"},refreshLeadMs:432e6,refresh:{encoding:"form",scope:"openid profile email offline_access"},maxRefreshAgeMs:6912e5,trackRefreshAt:!0},features:{usage:!0}},{id:"cohere",priority:90,alias:"cohere",display:{name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com",notice:{apiKeyUrl:"https://dashboard.cohere.com/api-keys"}},category:"apikey",transport:{baseUrl:"https://api.cohere.ai/v1/chat/completions",validateUrl:"https://api.cohere.ai/v1/models"},models:[{id:"command-r-plus-08-2024",name:"Command R+ (Aug 2024)"},{id:"command-r-08-2024",name:"Command R (Aug 2024)"},{id:"command-a-03-2025",name:"Command A (Mar 2025)"}]},{id:"comfyui",priority:120,alias:"comfyui",display:{name:"ComfyUI",icon:"account_tree",color:"#4CAF50",textIcon:"CF",website:"https://github.com/comfyanonymous/ComfyUI"},category:"apikey",transport:null,models:[{id:"flux-dev",name:"FLUX Dev",params:["n","size"],kind:"image"},{id:"sdxl",name:"SDXL",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"http://localhost:8188"}},{id:"commandcode",priority:100,alias:"commandcode",aliases:["cmc"],uiAlias:"cmc",display:{name:"Command Code",icon:"smart_toy",color:"#000000",textIcon:"CC",website:"https://commandcode.ai",notice:{text:"Use your CommandCode CLI API key (starts with user_...) from ~/.commandcode/auth.json or commandcode.ai/studio.",apiKeyUrl:"https://commandcode.ai/studio"}},category:"apikey",transport:{baseUrl:"https://api.commandcode.ai/alpha/generate",format:"commandcode",forceStream:!0,headers:{"x-command-code-version":"0.25.7","x-cli-environment":"cli"}},models:[{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek/deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"zai-org/GLM-5.1",name:"GLM 5.1"},{id:"zai-org/GLM-5",name:"GLM 5"},{id:"MiniMaxAI/MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"Qwen/Qwen3.6-Max-Preview",name:"Qwen 3.6 Max Preview"},{id:"Qwen/Qwen3.6-Plus",name:"Qwen 3.6 Plus"},{id:"stepfun/Step-3.5-Flash",name:"Step 3.5 Flash"}]},{id:"coqui",alias:"coqui",display:{name:"Coqui TTS",icon:"record_voice_over",color:"#10B981",textIcon:"CQ",website:"https://github.com/coqui-ai/TTS"},category:"freeTier",authType:"none",serviceKinds:["tts"],noAuth:!0,ttsConfig:{baseUrl:"http://localhost:5002/api/tts",authType:"none",authHeader:"none",format:"coqui",models:[{id:"tts_models/en/ljspeech/tacotron2-DDC",name:"Tacotron2 DDC (LJSpeech)"}]},hidden:!0},{id:"cursor",priority:50,alias:"cu",uiAlias:"cu",display:{name:"Cursor IDE",icon:"edit_note",color:"#00D4AA",website:"https://cursor.com",notice:{signupUrl:"https://cursor.com"}},category:"oauth",transport:{baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",format:"cursor",headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"3.12.17"},models:[{id:"default",name:"Auto (Server Picks)"},{id:"claude-4.5-opus-high-thinking",name:"Claude 4.5 Opus High Thinking"},{id:"claude-4.5-opus-high",name:"Claude 4.5 Opus High"},{id:"claude-4.5-sonnet-thinking",name:"Claude 4.5 Sonnet Thinking"},{id:"claude-4.5-sonnet",name:"Claude 4.5 Sonnet"},{id:"claude-4.5-haiku",name:"Claude 4.5 Haiku"},{id:"claude-4.5-opus",name:"Claude 4.5 Opus"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"claude-4.6-opus-max",name:"Claude 4.6 Opus Max"},{id:"claude-4.6-sonnet-medium-thinking",name:"Claude 4.6 Sonnet Medium Thinking"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"}],oauth:{apiEndpoint:"https://api2.cursor.sh",chatEndpoint:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",modelsEndpoint:"/agent.v1.AgentService/GetUsableModels",api3Endpoint:"https://api3.cursor.sh",agentEndpoint:"https://agent.api5.cursor.sh",agentNonPrivacyEndpoint:"https://agentn.api5.cursor.sh",clientVersion:"3.12.17",clientType:"ide",dbKeys:{accessToken:"cursorAuth/accessToken",machineId:"storage.serviceMachineId"}}},{id:"deepgram",priority:20,alias:"deepgram",aliases:["dg"],uiAlias:"dg",display:{name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com",notice:{text:"$200 free credit on signup (no card required). Aura-1: $0.015/1k chars, Aura-2: $0.030/1k chars (Pay-As-You-Go).",apiKeyUrl:"https://console.deepgram.com/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.deepgram.com/v1/listen"},models:[{id:"nova-3",name:"Nova 3",params:["language"],kind:"stt"},{id:"nova-2",name:"Nova 2",params:["language"],kind:"stt"},{id:"whisper-large",name:"Whisper Large",params:["language"],kind:"stt"},{id:"nova",name:"Nova",kind:"stt"}],serviceKinds:["stt"],sttConfig:{baseUrl:"https://api.deepgram.com/v1/listen",authType:"apikey",authHeader:"token",format:"deepgram"}},i,{id:"edge-tts",alias:"edge-tts",display:{name:"Edge TTS",icon:"record_voice_over",color:"#0078D4",textIcon:"ET"},category:"freeTier",authType:"none",serviceKinds:["tts"],mediaPriority:5,noAuth:!0,ttsConfig:{baseUrl:"edge-tts",authType:"none",authHeader:"none",format:"edge-tts",models:[]}},{id:"elevenlabs",alias:"el",display:{name:"ElevenLabs",icon:"record_voice_over",color:"#6C47FF",textIcon:"EL",website:"https://elevenlabs.io",notice:{apiKeyUrl:"https://elevenlabs.io/app/settings/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.elevenlabs.io/v1/text-to-speech",authType:"apikey",authHeader:"xi-api-key",format:"elevenlabs",models:[{id:"eleven_multilingual_v2",name:"Eleven Multilingual v2"},{id:"eleven_turbo_v2_5",name:"Eleven Turbo v2.5"}]}},{id:"exa",alias:"exa",display:{name:"Exa",icon:"manage_search",color:"#2563EB",textIcon:"EX",website:"https://exa.ai",notice:{apiKeyUrl:"https://dashboard.exa.ai/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch","webFetch"],searchConfig:{baseUrl:"https://api.exa.ai/search",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.007,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5},fetchConfig:{baseUrl:"https://api.exa.ai/contents",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.001,freeMonthlyQuota:1e3,formats:["text","markdown"],maxCharacters:1e5,timeoutMs:15e3}},{id:"fal-ai",priority:90,hasFree:!0,alias:"fal-ai",aliases:["fal"],uiAlias:"fal",display:{name:"Fal.ai",icon:"image",color:"#2563EB",textIcon:"FL",website:"https://fal.ai",notice:{apiKeyUrl:"https://fal.ai/dashboard/keys"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"fal-ai/flux/schnell",name:"FLUX Schnell",params:["n","size"],kind:"image"},{id:"fal-ai/flux/dev",name:"FLUX Dev",params:["n","size"],kind:"image"},{id:"fal-ai/flux-pro/v1.1",name:"FLUX Pro v1.1",params:["n","size"],kind:"image"},{id:"fal-ai/flux-pro/v1.1-ultra",name:"FLUX Pro v1.1 Ultra",params:["n","size"],kind:"image"},{id:"fal-ai/recraft-v3",name:"Recraft V3",params:["n","size","style"],kind:"image"},{id:"fal-ai/ideogram/v2",name:"Ideogram V2",params:["n","size","style"],kind:"image"},{id:"fal-ai/stable-diffusion-v35-large",name:"SD 3.5 Large",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://queue.fal.run"}},{id:"featherless",priority:65,alias:"featherless",aliases:["fl"],uiAlias:"fl",display:{name:"Featherless",icon:"flutter_dash",color:"#111827",textIcon:"FL",website:"https://featherless.ai",notice:{apiKeyUrl:"https://featherless.ai/account/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.featherless.ai/v1/chat/completions",validateUrl:"https://api.featherless.ai/v1/models"},models:[{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro"},{id:"deepseek-ai/DeepSeek-V4-Flash",name:"DeepSeek V4 Flash"},{id:"zai-org/GLM-5.2",name:"GLM 5.2"},{id:"zai-org/GLM-5.1",name:"GLM 5.1"},{id:"moonshotai/Kimi-K2.7-Code",name:"Kimi K2.7 Code"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"}]},{id:"firecrawl",alias:"firecrawl",display:{name:"Firecrawl",icon:"local_fire_department",color:"#F59E0B",textIcon:"FC",website:"https://firecrawl.dev",notice:{apiKeyUrl:"https://www.firecrawl.dev/app/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webFetch"],fetchConfig:{baseUrl:"https://api.firecrawl.dev/v1/scrape",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.002,freeMonthlyQuota:500,formats:["markdown","html","text"],maxCharacters:2e5,timeoutMs:3e4}},{id:"fireworks",priority:50,alias:"fireworks",display:{name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai",notice:{apiKeyUrl:"https://fireworks.ai/account/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",validateUrl:"https://api.fireworks.ai/inference/v1/models"},models:[{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1"},{id:"accounts/fireworks/models/llama-v3p3-70b-instruct",name:"Llama 3.3 70B"},{id:"accounts/fireworks/models/qwen3-235b-a22b",name:"Qwen3 235B"},{id:"nomic-ai/nomic-embed-text-v1.5",name:"Nomic Embed Text v1.5",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.fireworks.ai/inference/v1/embeddings"}},{id:"gemini-cli",priority:20,hasFree:!0,alias:"gc",uiAlias:"gc",display:{name:"Gemini CLI",icon:"terminal",color:"#4285F4",website:"https://github.com/google-gemini/gemini-cli",notice:{signupUrl:"https://github.com/google-gemini/gemini-cli"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"free",transport:{baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",format:"gemini-cli",cliVersion:"0.34.0",apiClient:"google-genai-sdk/1.41.0 gl-node/v22.19.0",usage:{quotaUrl:"https://cloudcode-pa.googleapis.com/v1internal:retrieveUserQuota",loadCodeAssistUrl:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist"},clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"},models:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"}],oauth:{authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile"],refresh:{encoding:"form"}},features:{usage:!0}},{id:"gemini",priority:50,hasFree:!0,alias:"gemini",display:{name:"Gemini",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev",notice:{apiKeyUrl:"https://aistudio.google.com/app/apikey"}},category:"freeTier",authType:"apikey",authModes:["apikey"],mediaPriority:1,transport:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",format:"gemini",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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",auth:{apiKey:{header:"x-goog-api-key",scheme:"raw"},oauth:{header:"Authorization",scheme:"bearer"}}},models:[{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash"},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash"},{id:"gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"gemma-4-31b-it",name:"Gemma 4 31B IT"},{id:"gemini-embedding-2-preview",name:"Gemini Embedding 2 Preview",kind:"embedding"},{id:"gemini-embedding-001",name:"Gemini Embedding 001",kind:"embedding"},{id:"text-embedding-005",name:"Text Embedding 005",kind:"embedding"},{id:"text-embedding-004",name:"Text Embedding 004 (Legacy)",kind:"embedding"},{id:"gemini-3.1-flash-image-preview",name:"Gemini 3.1 Flash Image (Nano Banana 2)",params:[],kind:"image"},{id:"gemini-3-pro-image-preview",name:"Gemini 3 Pro Image (Nano Banana Pro)",params:[],kind:"image"},{id:"gemini-2.5-flash-image",name:"Gemini 2.5 Flash Image (Nano Banana)",params:[],kind:"image"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (Best)",params:["language","prompt"],kind:"stt"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",params:["language","prompt"],kind:"stt"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite (Cheapest)",params:["language","prompt"],kind:"stt"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",params:["language","prompt"],kind:"stt"},{id:"gemini-3.1-flash-tts-preview",name:"Gemini 3.1 Flash TTS",kind:"tts"},{id:"gemini-2.5-flash-preview-tts",name:"Gemini 2.5 Flash TTS",kind:"tts"},{id:"gemini-2.5-pro-preview-tts",name:"Gemini 2.5 Pro TTS",kind:"tts"},{id:"embedding-001",name:"Embedding 001",dimensions:768,kind:"embedding"}],serviceKinds:["llm","embedding","image","imageToText","webSearch","tts","stt"],ttsConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",format:"gemini-tts"},sttConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",format:"gemini-stt"},embeddingConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key"},imageConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models"},searchViaChat:{defaultModel:"gemini-2.5-flash",endpoint:"https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent",pricingUrl:"https://ai.google.dev/pricing",freeTier:"Free tier: 15 RPM, 1M tokens/day on gemini-2.5-flash via AI Studio."}},{id:"github",priority:40,alias:"gh",uiAlias:"gh",display:{name:"GitHub Copilot",icon:"code",color:"#333333",website:"https://github.com/features/copilot",notice:{signupUrl:"https://github.com/features/copilot"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",transport:{baseUrl:"https://api.githubcopilot.com/chat/completions",responsesUrl:"https://api.githubcopilot.com/responses",messagesUrl:"https://api.githubcopilot.com/v1/messages",headers:{"copilot-integration-id":"vscode-chat","editor-version":"vscode/1.110.0","editor-plugin-version":"copilot-chat/0.38.0","user-agent":"GitHubCopilotChat/0.38.0","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:"application/json","Content-Type":"application/json"},copilot:{vscodeVersion:"1.110.0",chatVersion:"0.38.0",userAgent:"GitHubCopilotChat/0.38.0",apiVersion:"2025-04-01"},usage:{url:"https://api.github.com/copilot_internal/user"}},models:[{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-opus-4.5",name:"Claude Opus 4.5"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-opus-4.7",name:"Claude Opus 4.7"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro"},{id:"grok-code-fast-1",name:"Grok Code Fast 1"},{id:"oswe-vscode-prime",name:"Raptor Mini"},{id:"goldeneye-free-auto",name:"GoldenEye"},{id:"text-embedding-3-small",name:"Text Embedding 3 Small (GitHub)",kind:"embedding"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large (GitHub)",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://models.github.ai/inference/embeddings",authType:"apikey",authHeader:"bearer"},oauth:{clientId:"Iv1.b507a08c87ecfe98",authorizeUrl:"https://github.com/login/oauth/authorize",deviceCodeUrl:"https://github.com/login/device/code",tokenUrl:"https://github.com/login/oauth/access_token",userInfoUrl:"https://api.github.com/user",scopes:"read:user",apiVersion:"2022-11-28",copilotTokenUrl:"https://api.github.com/copilot_internal/v2/token",userAgent:"GitHubCopilotChat/0.26.7",editorVersion:"vscode/1.85.0",editorPluginVersion:"copilot-chat/0.26.7"},features:{usage:!0}},{id:"gitlab",hidden:!0,priority:100,display:{name:"GitLab Duo",icon:"code",color:"#FC6D26",textIcon:"GL",website:"https://gitlab.com",notice:{signupUrl:"https://gitlab.com"}},category:"oauth",transport:{baseUrl:"https://gitlab.com/api/v4/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},oauth:{defaultBaseUrl:"https://gitlab.com",authorizeUrlPath:"/oauth/authorize",tokenUrlPath:"/oauth/token",userInfoUrlPath:"/api/v4/user",scope:"api read_user",codeChallengeMethod:"S256"}},{id:"glm-cn",priority:130,alias:"glm-cn",display:{name:"GLM (China)",icon:"code",color:"#DC2626",textIcon:"GC",website:"https://open.bigmodel.cn",notice:{apiKeyUrl:"https://open.bigmodel.cn/usercenter/apikeys"}},category:"apikey",transport:{baseUrl:"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",headers:{},usage:{url:"https://open.bigmodel.cn/api/monitor/usage/quota/limit"}},models:[{id:"glm-5.3",name:"GLM 5.3"},{id:"glm-5.3-flash",name:"GLM 5.3 Flash (Vision)"},{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM-4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"},{id:"glm-4.6",name:"GLM-4.6"},{id:"glm-4.5-air",name:"GLM-4.5-Air"}],features:{usage:!0,usageApikey:!0}},j,{id:"google-pse",alias:"gpse",display:{name:"Google PSE",icon:"search",color:"#4285F4",textIcon:"GP",website:"https://programmablesearchengine.google.com",notice:{apiKeyUrl:"https://programmablesearchengine.google.com/controlpanel/create"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://www.googleapis.com/customsearch/v1",method:"GET",authType:"apikey",authHeader:"key",costPerQuery:.005,freeMonthlyQuota:3e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:10,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"google-tts",alias:"google-tts",display:{name:"Google TTS",icon:"record_voice_over",color:"#4285F4",textIcon:"GT"},category:"freeTier",authType:"none",serviceKinds:["tts"],mediaPriority:5,noAuth:!0,ttsConfig:{baseUrl:"google-tts",authType:"none",authHeader:"none",format:"google-tts",models:[]}},{id:"grok-cli",priority:275,alias:"gcli",aliases:["grok-build","gb"],uiAlias:"gcli",display:{name:"Grok CLI (Grok Build)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"GC",website:"https://x.ai",notice:{text:"Sign in with your xAI / Grok account via device code. Uses Grok Build subscription credits (cli-chat-proxy.grok.com).",signupUrl:"https://grok.com/supergrok"}},category:"oauth",authModes:["oauth"],hasOAuth:!0,thinkingConfig:{options:["low","medium","high","xhigh"],defaultMode:"high"},transport:{baseUrl:`${l}/responses`,format:"openai-responses",forceStream:!0,modelsUrl:`${l}/models`,userUrl:`${l}/user`,billingUrl:`${l}/billing`,clientVersion:k,clientIdentifier:m,tokenAuth:"xai-grok-cli",headers:{"User-Agent":n,"x-grok-client-identifier":m,"x-grok-client-version":k},usage:{url:`${l}/billing?format=credits`,userUrl:`${l}/user?include=subscription`},retry:{429:{attempts:2,delayMs:2e3},502:{attempts:2,delayMs:1500},503:{attempts:2,delayMs:1500}}},models:[{id:"grok-build",name:"Grok Build",contextLength:5e5,maxOutputTokens:64e3},{id:"grok-4.5",name:"Grok 4.5"},{id:"grok-4.5-high",name:"Grok 4.5 (High)",upstreamModelId:"grok-4.5"},{id:"grok-4.5-medium",name:"Grok 4.5 (Medium)",upstreamModelId:"grok-4.5"},{id:"grok-4.5-low",name:"Grok 4.5 (Low)",upstreamModelId:"grok-4.5"}],features:{usage:!0},oauth:{clientId:"b1a00492-073a-47ea-816f-4c329264a828",deviceCodeUrl:"https://auth.x.ai/oauth2/device/code",tokenUrl:"https://auth.x.ai/oauth2/token",refreshUrl:"https://auth.x.ai/oauth2/token",scope:"openid profile email offline_access grok-cli:access api:access conversations:read conversations:write",referrer:"grok-build",refreshLeadMs:3e5}},{id:"grok-web",priority:150,alias:"grok-web",aliases:["gw"],uiAlias:"gw",display:{name:"Grok Web (Subscription)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"GW",website:"https://grok.com"},category:"webCookie",authType:"cookie",authHint:"Paste your sso= cookie value from grok.com",transport:{baseUrl:"https://grok.com/rest/app-chat/conversations/new",format:"grok-web",authType:"cookie"},models:[{id:"grok-3",name:"Grok 3"},{id:"grok-3-mini",name:"Grok 3 Mini (Thinking)"},{id:"grok-3-thinking",name:"Grok 3 Thinking"},{id:"grok-4",name:"Grok 4"},{id:"grok-4-mini",name:"Grok 4 Mini (Thinking)"},{id:"grok-4-thinking",name:"Grok 4 Thinking"},{id:"grok-4-heavy",name:"Grok 4 Heavy (SuperGrok)"},{id:"grok-4.1-mini",name:"Grok 4.1 Mini (Thinking)"},{id:"grok-4.1-fast",name:"Grok 4.1 Fast"},{id:"grok-4.1-expert",name:"Grok 4.1 Expert"},{id:"grok-4.1-thinking",name:"Grok 4.1 Thinking"},{id:"grok-4.2",name:"Grok 4.2 (4.20 Beta)"}],passthroughModels:!0},{id:"groq",priority:60,hasFree:!0,alias:"groq",display:{name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com",notice:{apiKeyUrl:"https://console.groq.com/keys"}},category:"apikey",transport:{baseUrl:"https://api.groq.com/openai/v1/chat/completions",validateUrl:"https://api.groq.com/openai/v1/models"},models:[{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B"},{id:"whisper-large-v3",name:"Whisper Large v3",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"whisper-large-v3-turbo",name:"Whisper Large v3 Turbo",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"distil-whisper-large-v3-en",name:"Distil Whisper Large v3 EN",params:["language","response_format","temperature","prompt"],kind:"stt"}],serviceKinds:["llm","imageToText","stt"],sttConfig:{baseUrl:"https://api.groq.com/openai/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"}},{id:"huggingface",priority:70,hasFree:!0,alias:"huggingface",aliases:["hf"],uiAlias:"hf",display:{name:"HuggingFace",icon:"face",color:"#FFD21E",textIcon:"HF",website:"https://huggingface.co",notice:{apiKeyUrl:"https://huggingface.co/settings/tokens"}},category:"apikey",authType:"apikey",hiddenKinds:["tts"],transport:null,models:[{id:"black-forest-labs/FLUX.1-schnell",name:"FLUX.1 Schnell",params:[],kind:"image"},{id:"stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0",params:[],kind:"image"},{id:"openai/whisper-large-v3",name:"Whisper Large v3 (HF)",params:["language"],kind:"stt"},{id:"openai/whisper-small",name:"Whisper Small (HF)",params:["language"],kind:"stt"}],serviceKinds:["image","stt"],imageConfig:{baseUrl:"https://api-inference.huggingface.co/models"}},{id:"hyperbolic",priority:160,alias:"hyperbolic",aliases:["hyp"],uiAlias:"hyp",display:{name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz",notice:{apiKeyUrl:"https://app.hyperbolic.xyz/settings"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",validateUrl:"https://api.hyperbolic.xyz/v1/models"},models:[{id:"Qwen/QwQ-32B",name:"QwQ 32B"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3"},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"meta-llama/Llama-3.2-3B-Instruct",name:"Llama 3.2 3B"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B"},{id:"NousResearch/Hermes-3-Llama-3.1-70B",name:"Hermes 3 70B"}]},{id:"iflow",hidden:!0,priority:110,alias:"if",display:{name:"iFlow AI",icon:"water_drop",color:"#6366F1",website:"https://iflow.cn",notice:{signupUrl:"https://iflow.cn"}},category:"oauth",transport:{baseUrl:"https://apis.iflow.cn/v1/chat/completions",thinkingFormat:"openai",headers:{"User-Agent":"iFlow-Cli"}},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-max",name:"Qwen3 Max"},{id:"qwen3-vl-plus",name:"Qwen3 VL Plus"},{id:"qwen3-max-preview",name:"Qwen3 Max Preview"},{id:"qwen3-235b",name:"Qwen3 235B A22B"},{id:"qwen3-235b-a22b-instruct",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking"},{id:"qwen3-32b",name:"Qwen3 32B"},{id:"kimi-k2",name:"Kimi K2"},{id:"deepseek-v3.2",name:"DeepSeek V3.2 Exp"},{id:"deepseek-v3.1",name:"DeepSeek V3.1 Terminus"},{id:"deepseek-v3",name:"DeepSeek V3 671B"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"glm-4.7",name:"GLM 4.7"},{id:"iflow-rome-30ba3b",name:"iFlow ROME"}],oauth:{clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",authorizeUrl:"https://iflow.cn/oauth",tokenUrl:"https://iflow.cn/oauth/token",userInfoUrl:"https://iflow.cn/api/oauth/getUserInfo",extraParams:{loginMethod:"phone",type:"phone"},refreshLeadMs:864e5}},{id:"inworld",alias:"inworld",display:{name:"Inworld TTS",icon:"record_voice_over",color:"#FF6B6B",textIcon:"IW",website:"https://inworld.ai",notice:{text:"Free tier: 40 minutes/month TTS. Paid: TTS-1.5 Mini $0.01/min ($15/1M chars), TTS-1.5 Max $0.025/min ($30/1M chars). 270+ voices, 15 languages.",apiKeyUrl:"https://platform.inworld.ai/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.inworld.ai/tts/v1/voice",authType:"apikey",authHeader:"basic",format:"inworld",models:[{id:"inworld-tts-1.5-mini",name:"Inworld TTS 1.5 Mini ($0.01/min)"},{id:"inworld-tts-1.5-max",name:"Inworld TTS 1.5 Max ($0.025/min)"}]}},{id:"jina-ai",alias:"jina",display:{name:"Jina AI",icon:"blur_on",color:"#2563EB",textIcon:"JA",website:"https://jina.ai",notice:{text:"10M free tokens on signup (non-commercial), no credit card required.",apiKeyUrl:"https://jina.ai/?sui=apikey"}},category:"apikey",authType:"apikey",serviceKinds:["embedding"],embeddingConfig:{baseUrl:"https://api.jina.ai/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"jina-embeddings-v3",name:"Jina Embeddings v3",dimensions:1024},{id:"jina-embeddings-v2-base-en",name:"Jina Embeddings v2 Base EN",dimensions:768},{id:"jina-embeddings-v2-base-code",name:"Jina Embeddings v2 Base Code",dimensions:768}]}},{id:"jina-reader",alias:"jina-reader",display:{name:"Jina Reader",icon:"menu_book",color:"#000000",textIcon:"JR",website:"https://jina.ai/reader",notice:{apiKeyUrl:"https://jina.ai/?sui=apikey"}},category:"apikey",authType:"apikey",serviceKinds:["webFetch"],fetchConfig:{baseUrl:"https://r.jina.ai",method:"GET",authType:"apikey",authHeader:"bearer",costPerQuery:0,freeMonthlyQuota:1e6,formats:["markdown","text","html"],maxCharacters:2e5,timeoutMs:3e4}},{id:"kilocode",priority:70,alias:"kc",uiAlias:"kc",display:{name:"Kilo Code",icon:"code",color:"#FF6B35",textIcon:"KC",website:"https://kilocode.ai",notice:{signupUrl:"https://kilocode.ai"}},category:"oauth",transport:{baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",headers:{},auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["kilocodeOrg"]}},models:[{id:"anthropic/claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"anthropic/claude-opus-4-20250514",name:"Claude Opus 4"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"openai/gpt-4.1",name:"GPT-4.1"},{id:"openai/o3",name:"o3"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat"},{id:"deepseek/deepseek-reasoner",name:"DeepSeek Reasoner"}],modelsFetcher:{url:"https://api.kilo.ai/api/gateway/models",type:"openrouter-free"},passthroughModels:!0,oauth:{apiBaseUrl:"https://api.kilo.ai",initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"}},{id:"kimchi",priority:95,alias:"kimchi",uiAlias:"kimchi",display:{name:"Kimchi",icon:"restaurant",color:"#FF521D",textIcon:"KC",website:"https://kimchi.dev",notice:{signupUrl:"https://app.kimchi.dev"}},category:"freeTier",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://llm.kimchi.dev/openai/v1/chat/completions",format:"openai",headers:{"User-Agent":"kimchi/0.1.50"},auth:{combined:!0,header:"Authorization",scheme:"bearer"}},models:[{id:"minimax-m3",name:"MiniMax-M3"},{id:"kimi-k2.7",name:"Kimi-K2.7"},{id:"kimi-k2.6",name:"Kimi-K2.6"},{id:"kimi-k2.5",name:"Kimi-K2.5"},{id:"nemotron-3-ultra-fp4",name:"Nemotron 3 Ultra FP4"},{id:"minimax-m2.7",name:"MiniMax-M2.7"},{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"}],serviceKinds:["llm","imageToText"],oauth:{webAppUrl:"https://app.kimchi.dev",validationUrl:"https://api.cast.ai/v1/llm/openai/supported-providers",userInfoUrl:"https://app.kimchi.dev/api/v1/me",modelsUrl:"https://llm.kimchi.dev/v1/models/metadata?include_in_cli=true"},passthroughModels:!0},{id:"kimi",priority:170,alias:"kimi",aliases:["kimi-coding","kmc"],display:{name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn",notice:{apiKeyUrl:"https://platform.moonshot.ai/console/api-keys",signupUrl:"https://www.kimi.com/code"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://api.kimi.com/coding/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...e},clientId:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token",auth:{combined:!0,header:"x-api-key",scheme:"raw",hooks:["kimiHeaders"]}},transports:[{format:"openai",baseUrl:"https://api.kimi.com/coding/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["kimiHeaders"]}},{format:"claude",baseUrl:"https://api.kimi.com/coding/v1/messages",urlSuffix:"?beta=true",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw",hooks:["kimiHeaders"]}}],models:[{id:"kimi-k3",name:"Kimi K3"},{id:"k3",name:"Kimi K3 (Code)"},{id:"kimi-for-coding",name:"Kimi for Coding"},{id:"kimi-for-coding-highspeed",name:"Kimi for Coding Highspeed"},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code"},{id:"kimi-k2.7-code-highspeed",name:"Kimi K2.7 Code Highspeed"},{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}],serviceKinds:["llm","webSearch"],searchViaChat:{defaultModel:"kimi-k3",endpoint:"https://api.moonshot.cn/v1/chat/completions",pricingUrl:"https://platform.kimi.ai/docs/pricing/chat"},oauth:{clientId:"17e5f671-d194-4dfb-9706-5516cb48c098",deviceCodeUrl:"https://auth.kimi.com/api/oauth/device_authorization",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token",refreshLeadMs:3e5,authorizeDeviceUrl:"https://www.kimi.com/code/authorize_device"},features:{usage:!0,usageApikey:!0}},{id:"kiro",priority:10,alias:"kr",uiAlias:"kr",display:{name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35",website:"https://kiro.dev",notice:{signupUrl:"https://kiro.dev"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"free",transport:{baseUrl:"https://runtime.us-east-1.kiro.dev/generateAssistantResponse",baseUrls:["https://runtime.us-east-1.kiro.dev/generateAssistantResponse","https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse","https://q.us-east-1.amazonaws.com/generateAssistantResponse"],format:"kiro",retry:{429:0},headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","User-Agent":"AWS-SDK-JS/3.0.0 kiro-ide/1.0.0","X-Amz-User-Agent":"aws-sdk-js/3.0.0 kiro-ide/1.0.0"},tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev",usage:{cwHost:"https://codewhisperer.us-east-1.amazonaws.com",qHost:"https://q.us-east-1.amazonaws.com",limitsPath:"/getUsageLimits"}},models:[{id:"claude-opus-5",name:"Claude Opus 5"},{id:"claude-opus-5-thinking",name:"Claude Opus 5 (Thinking)"},{id:"claude-opus-5-agentic",name:"Claude Opus 5 (Agentic)"},{id:"claude-opus-5-thinking-agentic",name:"Claude Opus 5 (Thinking + Agentic)"},{id:"claude-opus-4.8",name:"Claude Opus 4.8"},{id:"claude-opus-4.8-thinking",name:"Claude Opus 4.8 (Thinking)"},{id:"claude-opus-4.8-agentic",name:"Claude Opus 4.8 (Agentic)"},{id:"claude-opus-4.8-thinking-agentic",name:"Claude Opus 4.8 (Thinking + Agentic)"},{id:"claude-opus-4.7",name:"Claude Opus 4.7"},{id:"claude-opus-4.7-thinking",name:"Claude Opus 4.7 (Thinking)"},{id:"claude-opus-4.7-agentic",name:"Claude Opus 4.7 (Agentic)"},{id:"claude-opus-4.7-thinking-agentic",name:"Claude Opus 4.7 (Thinking + Agentic)"},{id:"claude-opus-4.5",name:"Claude Opus 4.5"},{id:"claude-opus-4.5-thinking",name:"Claude Opus 4.5 (Thinking)"},{id:"claude-opus-4.5-agentic",name:"Claude Opus 4.5 (Agentic)"},{id:"claude-opus-4.5-thinking-agentic",name:"Claude Opus 4.5 (Thinking + Agentic)"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"deepseek-3.2",name:"DeepSeek 3.2",strip:["image","audio"]},{id:"qwen3-coder-next",name:"Qwen3 Coder Next",strip:["image","audio"]},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"gpt-5.6-sol",name:"GPT 5.6 Sol",contextLength:272e3,rateMultiplier:2.4,upstreamModelId:"gpt-5.6-sol",description:"Experimental preview of OpenAI GPT 5.6 Sol with 272k context window"},{id:"gpt-5.6-terra",name:"GPT 5.6 Terra",contextLength:272e3,rateMultiplier:1.2,upstreamModelId:"gpt-5.6-terra",description:"Experimental preview of OpenAI GPT 5.6 Terra with 272k context window"},{id:"gpt-5.6-luna",name:"GPT 5.6 Luna",contextLength:272e3,rateMultiplier:.6,upstreamModelId:"gpt-5.6-luna",description:"Experimental preview of OpenAI GPT 5.6 Luna with 272k context window"},{id:"claude-sonnet-5-thinking",name:"Claude Sonnet 5 (Thinking)"},{id:"claude-sonnet-4.5-thinking",name:"Claude Sonnet 4.5 (Thinking)"},{id:"claude-haiku-4.5-thinking",name:"Claude Haiku 4.5 (Thinking)"},{id:"gpt-5.6-sol-thinking",name:"GPT 5.6 Sol (Thinking)",contextLength:272e3,rateMultiplier:2.4,upstreamModelId:"gpt-5.6-sol",description:"Experimental preview of OpenAI GPT 5.6 Sol with 272k context window"},{id:"gpt-5.6-terra-thinking",name:"GPT 5.6 Terra (Thinking)",contextLength:272e3,rateMultiplier:1.2,upstreamModelId:"gpt-5.6-terra",description:"Experimental preview of OpenAI GPT 5.6 Terra with 272k context window"},{id:"gpt-5.6-luna-thinking",name:"GPT 5.6 Luna (Thinking)",contextLength:272e3,rateMultiplier:.6,upstreamModelId:"gpt-5.6-luna",description:"Experimental preview of OpenAI GPT 5.6 Luna with 272k context window"},{id:"claude-sonnet-5-agentic",name:"Claude Sonnet 5 (Agentic)"},{id:"claude-sonnet-4.5-agentic",name:"Claude Sonnet 4.5 (Agentic)"},{id:"claude-haiku-4.5-agentic",name:"Claude Haiku 4.5 (Agentic)"},{id:"gpt-5.6-sol-agentic",name:"GPT 5.6 Sol (Agentic)",contextLength:272e3,rateMultiplier:2.4,upstreamModelId:"gpt-5.6-sol",description:"Experimental preview of OpenAI GPT 5.6 Sol with 272k context window"},{id:"gpt-5.6-terra-agentic",name:"GPT 5.6 Terra (Agentic)",contextLength:272e3,rateMultiplier:1.2,upstreamModelId:"gpt-5.6-terra",description:"Experimental preview of OpenAI GPT 5.6 Terra with 272k context window"},{id:"gpt-5.6-luna-agentic",name:"GPT 5.6 Luna (Agentic)",contextLength:272e3,rateMultiplier:.6,upstreamModelId:"gpt-5.6-luna",description:"Experimental preview of OpenAI GPT 5.6 Luna with 272k context window"},{id:"claude-sonnet-5-thinking-agentic",name:"Claude Sonnet 5 (Thinking + Agentic)"},{id:"claude-sonnet-4.5-thinking-agentic",name:"Claude Sonnet 4.5 (Thinking + Agentic)"},{id:"claude-haiku-4.5-thinking-agentic",name:"Claude Haiku 4.5 (Thinking + Agentic)"},{id:"gpt-5.6-sol-thinking-agentic",name:"GPT 5.6 Sol (Thinking + Agentic)",contextLength:272e3,rateMultiplier:2.4,upstreamModelId:"gpt-5.6-sol",description:"Experimental preview of OpenAI GPT 5.6 Sol with 272k context window"},{id:"gpt-5.6-terra-thinking-agentic",name:"GPT 5.6 Terra (Thinking + Agentic)",contextLength:272e3,rateMultiplier:1.2,upstreamModelId:"gpt-5.6-terra",description:"Experimental preview of OpenAI GPT 5.6 Terra with 272k context window"},{id:"gpt-5.6-luna-thinking-agentic",name:"GPT 5.6 Luna (Thinking + Agentic)",contextLength:272e3,rateMultiplier:.6,upstreamModelId:"gpt-5.6-luna",description:"Experimental preview of OpenAI GPT 5.6 Luna with 272k context window"}],oauth:{ssoOidcEndpoint:"https://oidc.us-east-1.amazonaws.com",registerClientUrl:"https://oidc.us-east-1.amazonaws.com/client/register",deviceAuthUrl:"https://oidc.us-east-1.amazonaws.com/device_authorization",tokenUrl:"https://oidc.us-east-1.amazonaws.com/token",startUrl:"https://view.awsapps.com/start",clientName:"kiro-oauth-client",clientType:"public",scopes:["codewhisperer:completions","codewhisperer:analysis","codewhisperer:conversations"],grantTypes:["urn:ietf:params:oauth:grant-type:device_code","refresh_token"],issuerUrl:"https://identitycenter.amazonaws.com/ssoins-722374e8c3c8e6c6",socialAuthEndpoint:"https://prod.us-east-1.auth.desktop.kiro.dev",socialLoginUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/login",socialTokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/oauth/token",socialRefreshUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authMethods:["builder-id","idc","google","github","import"]},features:{usage:!0,usageApikey:!0}},{id:"linkup",alias:"linkup",display:{name:"Linkup",icon:"link",color:"#0EA5E9",textIcon:"LK",website:"https://linkup.so",notice:{apiKeyUrl:"https://app.linkup.so/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://api.linkup.so/v1/search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.005,freeMonthlyQuota:1e3,searchTypes:["web"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"local-device",alias:"local-device",display:{name:"Local Device",icon:"speaker",color:"#64748B",textIcon:"LD"},category:"freeTier",authType:"none",serviceKinds:["tts"],mediaPriority:5,noAuth:!0,ttsConfig:{baseUrl:"local-device",authType:"none",authHeader:"none",format:"local-device",models:[]}},{id:"mimo-free",hidden:!0,priority:50,hasFree:!0,alias:"mmf",uiAlias:"mmf",display:{name:"MiMo Code Free",icon:"smart_toy",color:"#FF6900",textIcon:"MF"},category:"free",noAuth:!0,transport:{baseUrl:"https://api.xiaomimimo.com/api/free-ai/openai/chat",noAuth:!0},models:[{id:"mimo-auto",name:"MiMo Auto"}],modelsFetcher:{url:"https://models.dev/api.json",type:"mimo-free"},passthroughModels:!0},{id:"minimax-cn",priority:190,alias:"minimax-cn",display:{name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com",notice:{apiKeyUrl:"https://platform.minimaxi.com/user-center/basic-information/interface-key"}},category:"apikey",transport:{baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...e},quirks:{dropOutputConfig:!0},reasoningInject:{scope:"all"},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{urls:["https://www.minimaxi.com/v1/api/openplatform/coding_plan/remains","https://api.minimaxi.com/v1/api/openplatform/coding_plan/remains"]}},transports:[{format:"openai",baseUrl:"https://api.minimaxi.com/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"MiniMax-M3",name:"MiniMax M3",targetFormat:"claude"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"},{id:"speech-2.8-hd",name:"Speech 2.8 HD",kind:"tts"},{id:"speech-2.8-turbo",name:"Speech 2.8 Turbo",kind:"tts"},{id:"speech-2.6-hd",name:"Speech 2.6 HD",kind:"tts"},{id:"speech-2.6-turbo",name:"Speech 2.6 Turbo",kind:"tts"},{id:"speech-02-hd",name:"Speech 02 HD",kind:"tts"},{id:"speech-02-turbo",name:"Speech 02 Turbo",kind:"tts"},{id:"speech-01-hd",name:"Speech 01 HD",kind:"tts"},{id:"speech-01-turbo",name:"Speech 01 Turbo",kind:"tts"}],serviceKinds:["llm","tts"],ttsConfig:{baseUrl:"https://api.minimaxi.com/v1/t2a_v2",authType:"apikey",authHeader:"bearer",format:"minimax-tts"},features:{usage:!0,usageApikey:!0}},{id:"minimax",priority:90,alias:"minimax",display:{name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com",notice:{apiKeyUrl:"https://platform.minimaxi.com/user-center/basic-information/interface-key"}},category:"apikey",transport:{baseUrl:"https://api.minimax.io/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...e},quirks:{dropOutputConfig:!0},reasoningInject:{scope:"all"},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{urls:["https://www.minimax.io/v1/token_plan/remains","https://api.minimax.io/v1/api/openplatform/coding_plan/remains"]}},transports:[{format:"openai",baseUrl:"https://api.minimax.io/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.minimax.io/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"MiniMax-M3",name:"MiniMax M3",targetFormat:"claude"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"},{id:"minimax-image-01",name:"MiniMax Image 01",params:["n","size","response_format"],kind:"image"},{id:"speech-2.8-hd",name:"Speech 2.8 HD",kind:"tts"},{id:"speech-2.8-turbo",name:"Speech 2.8 Turbo",kind:"tts"},{id:"speech-2.6-hd",name:"Speech 2.6 HD",kind:"tts"},{id:"speech-2.6-turbo",name:"Speech 2.6 Turbo",kind:"tts"},{id:"speech-02-hd",name:"Speech 02 HD",kind:"tts"},{id:"speech-02-turbo",name:"Speech 02 Turbo",kind:"tts"},{id:"speech-01-hd",name:"Speech 01 HD",kind:"tts"},{id:"speech-01-turbo",name:"Speech 01 Turbo",kind:"tts"}],serviceKinds:["llm","image","imageToText","webSearch","tts"],ttsConfig:{baseUrl:"https://api.minimax.io/v1/t2a_v2",authType:"apikey",authHeader:"bearer",format:"minimax-tts"},imageConfig:{baseUrl:"https://api.minimaxi.com/v1/images/generations"},searchViaChat:{defaultModel:"MiniMax-M2.7",endpoint:"https://api.minimaxi.com/v1/text/chatcompletion_v2",pricingUrl:"https://www.minimaxi.com/document/price"},features:{usage:!0,usageApikey:!0}},{id:"mistral",priority:80,alias:"mistral",display:{name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai",notice:{apiKeyUrl:"https://console.mistral.ai/api-keys"}},category:"apikey",transport:{baseUrl:"https://api.mistral.ai/v1/chat/completions",validateUrl:"https://api.mistral.ai/v1/models",quirks:{dropClientMetadata:!0}},models:[{id:"mistral-large-latest",name:"Mistral Large 3"},{id:"codestral-latest",name:"Codestral"},{id:"mistral-medium-latest",name:"Mistral Medium 3"},{id:"mistral-embed",name:"Mistral Embed",kind:"embedding"}],serviceKinds:["llm","imageToText","embedding"],embeddingConfig:{baseUrl:"https://api.mistral.ai/v1/embeddings",authType:"apikey",authHeader:"bearer"}},{id:"mmf",hidden:!0,priority:200,display:{name:"MMF",icon:"hub",color:"#6366F1",textIcon:"MF"},category:"apikey",transport:{baseUrl:"https://api.xiaomimimo.com/api/free-ai/openai/chat",noAuth:!0},models:[{id:"mimo-auto",name:"MiMo Auto"}]},{id:"nanobanana",priority:80,hasFree:!0,alias:"nanobanana",aliases:["nb"],uiAlias:"nb",display:{name:"NanoBanana API",icon:"extension",color:"#FFD700",textIcon:"\uD83C\uDF4C",website:"https://nanobananaapi.ai",notice:{text:"3rd-party proxy for Google Nano Banana (Gemini 2.5/3 Flash Image). For official, use Gemini provider.",apiKeyUrl:"https://nanobananaapi.ai/dashboard"}},category:"apikey",transport:{baseUrl:"https://api.nanobananaapi.ai/v1/chat/completions",validateUrl:"https://api.nanobananaapi.ai/v1/models"},models:[{id:"nanobanana-flash",name:"NanoBanana Flash",params:["n","size"],kind:"image"},{id:"nanobanana-pro",name:"NanoBanana Pro",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/generate",pollUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/record-info"}},{id:"nebius",priority:70,alias:"nebius",display:{name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com",notice:{apiKeyUrl:"https://studio.nebius.com/settings/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.studio.nebius.ai/v1/chat/completions",validateUrl:"https://api.studio.nebius.ai/v1/models"},models:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct"},{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen3 Embedding 8B",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.tokenfactory.nebius.com/v1/embeddings"}},{id:"nvidia",priority:20,hasFree:!0,alias:"nvidia",display:{name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://developer.nvidia.com/nim",notice:{text:"Free access for NVIDIA Developer Program members (prototyping & testing).",apiKeyUrl:"https://build.nvidia.com/settings/api-keys"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",validateUrl:"https://integrate.api.nvidia.com/v1/models"},models:[{id:"minimaxai/minimax-m2.7",name:"MiniMax M2.7"},{id:"minimaxai/minimax-m3",name:"MiniMax M3"},{id:"z-ai/glm-5.2",name:"GLM 5.2"},{id:"deepseek-ai/deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-ai/deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"moonshotai/kimi-k2.6",name:"Kimi K2.6"},{id:"nvidia/nemotron-3-ultra-550b-a55b",name:"Nemotron 3 Ultra"},{id:"nvidia/nv-embedqa-e5-v5",name:"NV EmbedQA E5 v5",kind:"embedding"},{id:"nvidia/parakeet-ctc-1.1b-asr",name:"Parakeet CTC 1.1B",params:["language"],kind:"stt"},{id:"fastpitch",name:"FastPitch",kind:"tts"},{id:"tacotron2",name:"Tacotron2",kind:"tts"}],serviceKinds:["llm","tts","embedding"],ttsConfig:{baseUrl:"https://integrate.api.nvidia.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"nvidia-tts"},embeddingConfig:{baseUrl:"https://integrate.api.nvidia.com/v1/embeddings",authType:"apikey",authHeader:"bearer"}},{id:"ollama-local",priority:50,hasFree:!0,alias:"ollama-local",display:{name:"Ollama Local",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com"},category:"apikey",transport:{baseUrl:"http://localhost:11434/api/chat",format:"ollama"},serviceKinds:["llm"]},{id:"ollama",priority:30,hasFree:!0,alias:"ollama",display:{name:"Ollama Cloud",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com",notice:{text:"Free tier: light usage, 1 cloud model at a time (limits reset every 5h & 7d). Pro $20/mo \xb7 Max $100/mo.",apiKeyUrl:"https://ollama.com/settings/keys"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://ollama.com/api/chat",validateUrl:"https://ollama.com/api/tags",format:"ollama"},models:[{id:"gpt-oss:120b",name:"GPT OSS 120B"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"qwen3.5",name:"Qwen3.5"},{id:"minimax-m3",name:"MiniMax M3"}],serviceKinds:["llm"],features:{usage:!0,usageApikey:!0}},{id:"ollama-search",alias:"ollama-search",display:{name:"Ollama Search",icon:"cloud",color:"#ffffff",textIcon:"OL",website:"https://ollama.com",notice:{text:"Web search via Ollama Cloud subscription. Reuses the API key from the Ollama (chat) provider.",apiKeyUrl:"https://ollama.com/settings/keys"}},category:"apikey",authType:"apikey",authModes:["apikey"],serviceKinds:["webSearch"],credentialFallback:"ollama",searchConfig:{baseUrl:"https://ollama.com/api/web_search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:0,freeMonthlyQuota:1e3,searchTypes:["web"],defaultMaxResults:5,maxMaxResults:10,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"openai",priority:30,alias:"openai",display:{name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com",notice:{apiKeyUrl:"https://platform.openai.com/api-keys"}},category:"apikey",thinkingConfig:{options:["auto","none","low","medium","high"],defaultMode:"auto"},transport:{baseUrl:"https://api.openai.com/v1/chat/completions",forceStream:!0},models:[{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-nano",name:"GPT-5 Nano"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini"},{id:"gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"o3",name:"O3"},{id:"o3-mini",name:"O3 Mini"},{id:"o3-pro",name:"O3 Pro"},{id:"o4-mini",name:"O4 Mini"},{id:"o1",name:"O1"},{id:"o1-mini",name:"O1 Mini"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",kind:"embedding"},{id:"text-embedding-3-small",name:"Text Embedding 3 Small",kind:"embedding"},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",kind:"embedding"},{id:"tts-1",name:"TTS-1",kind:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",kind:"tts"},{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",kind:"tts"},{id:"whisper-1",name:"Whisper 1",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-4o-transcribe",name:"GPT-4o Transcribe",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-4o-mini-transcribe",name:"GPT-4o Mini Transcribe",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-image-1",name:"GPT Image 1",params:["n","size","quality","response_format"],kind:"image"},{id:"dall-e-3",name:"DALL-E 3",params:["size","quality","style","response_format"],kind:"image"},{id:"dall-e-2",name:"DALL-E 2",params:["n","size","response_format"],kind:"image"}],serviceKinds:["llm","embedding","tts","stt","image","imageToText","webSearch"],ttsConfig:{baseUrl:"https://api.openai.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"openai",defaultModel:"gpt-4o-mini-tts"},sttConfig:{baseUrl:"https://api.openai.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"},embeddingConfig:{baseUrl:"https://api.openai.com/v1/embeddings",authType:"apikey",authHeader:"bearer"},imageConfig:{baseUrl:"https://api.openai.com/v1/images/generations"},searchViaChat:{defaultModel:"gpt-4o-mini",pricingUrl:"https://openai.com/api/pricing"}},{id:"opencode-go",priority:210,alias:"opencode-go",aliases:["ocg"],uiAlias:"ocg",display:{name:"OpenCode Go",icon:"terminal",color:"#E87040",textIcon:"OC",website:"https://opencode.ai/auth",notice:{text:"OpenCode Go subscription: $5/mo (then 0/mo). Access to Kimi, GLM, Qwen, MiMo, MiniMax models.",apiKeyUrl:"https://opencode.ai/auth"}},category:"apikey",transport:{baseUrl:"https://opencode.ai/zen/go/v1/chat/completions",headers:{}},transports:[{format:"openai",baseUrl:"https://opencode.ai/zen/go/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://opencode.ai/zen/go/v1/messages",auth:{combined:!0,header:"x-api-key",scheme:"raw",anthropicVersion:!0}},{format:"openai-responses",baseUrl:"https://opencode.ai/zen/go/v1/responses",auth:{combined:!0,header:"Authorization",scheme:"bearer"}}],models:[{id:"glm-5.3-flash",name:"GLM 5.3 Flash (Vision)",supportedFormats:["openai"]},{id:"glm-5.2",name:"GLM 5.2",supportedFormats:["openai"]},{id:"glm-5.1",name:"GLM 5.1",supportedFormats:["openai"]},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",supportedFormats:["openai"]},{id:"kimi-k2.6",name:"Kimi K2.6",supportedFormats:["openai"]},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",supportedFormats:["openai","claude","openai-responses"]},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",supportedFormats:["openai","claude","openai-responses"]},{id:"deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision (Exp)",supportedFormats:["openai","claude","openai-responses"]},{id:"mimo-v2.5",name:"MiMo V2.5",supportedFormats:["openai"]},{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro",supportedFormats:["openai"]},{id:"minimax-m3",name:"MiniMax M3",supportedFormats:["openai","claude"]},{id:"minimax-m2.7",name:"MiniMax M2.7",supportedFormats:["openai","claude"]},{id:"minimax-m2.5",name:"MiniMax M2.5",supportedFormats:["openai","claude"]},{id:"qwen3.7-max",name:"Qwen 3.7 Max",supportedFormats:["openai","claude"]},{id:"qwen3.7-plus",name:"Qwen 3.7 Plus",supportedFormats:["openai","claude"]},{id:"qwen3.6-plus",name:"Qwen 3.6 Plus",supportedFormats:["openai","claude"]}]},{id:"opencode",priority:40,hasFree:!0,alias:"oc",uiAlias:"oc",display:{name:"OpenCode Free",icon:"terminal",color:"#E87040",textIcon:"OC"},category:"free",noAuth:!0,transport:{baseUrl:"https://opencode.ai",headers:{"x-opencode-client":"desktop"},noAuth:!0},models:[{id:"muse-spark-1.2-contributor-free",name:"Muse Spark 1.2 Contributor Free",targetFormat:"openai-responses"}],modelsFetcher:{url:"https://opencode.ai/zen/v1/models",type:"opencode-free"},passthroughModels:!0},{id:"openrouter",priority:10,hasFree:!0,alias:"openrouter",display:{name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",website:"https://openrouter.ai",notice:{text:"Free tier: 27+ free models, no credit card needed, 200 req/day. After 0 credit: 1,000 req/day.",apiKeyUrl:"https://openrouter.ai/settings/keys"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://openrouter.ai/api/v1/chat/completions",thinkingFormat:"openai",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},models:[{id:"openai/text-embedding-3-large",name:"OpenAI Text Embedding 3 Large",kind:"embedding"},{id:"openai/text-embedding-3-small",name:"OpenAI Text Embedding 3 Small",kind:"embedding"},{id:"openai/text-embedding-ada-002",name:"OpenAI Text Embedding Ada 002",kind:"embedding"},{id:"qwen/qwen3-embedding-8b",name:"Qwen3 Embedding 8B",kind:"embedding"},{id:"perplexity/pplx-embed-v1-4b",name:"Perplexity Embed V1 4B",kind:"embedding"},{id:"perplexity/pplx-embed-v1-0.6b",name:"Perplexity Embed V1 0.6B",kind:"embedding"},{id:"nvidia/llama-nemotron-embed-vl-1b-v2:free",name:"NVIDIA Nemotron Embed VL 1B V2 (Free)",kind:"embedding"},{id:"openai/gpt-4o-mini-tts",name:"GPT-4o Mini TTS",kind:"tts"},{id:"openai/tts-1-hd",name:"TTS-1 HD",kind:"tts"},{id:"openai/tts-1",name:"TTS-1",kind:"tts"},{id:"openai/dall-e-3",name:"DALL-E 3 (via OpenRouter)",params:["size","quality","style","response_format"],kind:"image"},{id:"openai/gpt-image-1",name:"GPT Image 1 (via OpenRouter)",params:["n","size","quality","response_format"],kind:"image"},{id:"google/imagen-3.0-generate-002",name:"Imagen 3 (via OpenRouter)",params:["n","size"],kind:"image"},{id:"black-forest-labs/FLUX.1-schnell",name:"FLUX.1 Schnell (via OpenRouter)",params:["n","size"],kind:"image"}],serviceKinds:["llm","embedding","tts","imageToText"],ttsConfig:{baseUrl:"https://openrouter.ai/api/v1/chat/completions",defaultModel:"openai/gpt-4o-mini-tts",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},embeddingConfig:{baseUrl:"https://openrouter.ai/api/v1/embeddings",authType:"apikey",authHeader:"bearer",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},imageConfig:{baseUrl:"https://openrouter.ai/api/v1/images/generations",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},modelsFetcher:{url:"https://openrouter.ai/api/v1/models",type:"openrouter-free"},passthroughModels:!0},{id:"perplexity-web",priority:220,alias:"perplexity-web",aliases:["pw"],uiAlias:"pw",display:{name:"Perplexity Web (Pro/Max)",icon:"search",color:"#20808D",textIcon:"PW",website:"https://www.perplexity.ai"},category:"webCookie",authType:"cookie",authHint:"Paste your __Secure-next-auth.session-token cookie value from perplexity.ai",transport:{baseUrl:"https://www.perplexity.ai/rest/sse/perplexity_ask",format:"perplexity-web",authType:"cookie"},models:[{id:"pplx-auto",name:"Perplexity Auto (Free)"},{id:"pplx-sonar",name:"Perplexity Sonar"},{id:"pplx-gpt",name:"GPT-5.4 (via Perplexity)"},{id:"pplx-gemini",name:"Gemini 3.1 Pro (via Perplexity)"},{id:"pplx-sonnet",name:"Claude Sonnet 4.6 (via Perplexity)"},{id:"pplx-opus",name:"Claude Opus 4.6 (via Perplexity)"},{id:"pplx-nemotron",name:"Nemotron 3 Super (via Perplexity)"}]},{id:"perplexity",priority:180,alias:"perplexity",aliases:["pplx"],uiAlias:"pplx",display:{name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai",notice:{apiKeyUrl:"https://www.perplexity.ai/settings/api"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.perplexity.ai/chat/completions",validateUrl:"https://api.perplexity.ai/models"},models:[{id:"sonar-pro",name:"Sonar Pro"},{id:"sonar",name:"Sonar"}],serviceKinds:["llm","webSearch"],searchViaChat:{defaultModel:"sonar",endpoint:"https://api.perplexity.ai/chat/completions",pricingUrl:"https://docs.perplexity.ai/guides/pricing"}},{id:"perplexity-agent",priority:181,alias:"perplexity-agent",aliases:["pplx-agent","pplx-responses"],uiAlias:"pa",display:{name:"Perplexity Agent",icon:"travel_explore",color:"#20808D",textIcon:"PA",website:"https://www.perplexity.ai",notice:{text:"Perplexity Agent API exposes GPT, Claude, Gemini, Grok, GLM, Kimi, and Sonar models through one OpenAI-compatible Responses API.",apiKeyUrl:"https://www.perplexity.ai/settings/api"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.perplexity.ai/v1/responses",validateUrl:"https://api.perplexity.ai/v1/models",format:"openai-responses"},models:[{id:"perplexity/sonar",name:"Perplexity Sonar"},{id:"openai/gpt-5.5",name:"GPT-5.5"},{id:"openai/gpt-5.4",name:"GPT-5.4"},{id:"openai/gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"anthropic/claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"anthropic/claude-opus-4-8",name:"Claude Opus 4.8"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro"},{id:"xai/grok-4.20-reasoning",name:"Grok 4.20 Reasoning"},{id:"perplexity/glm-5.2",name:"GLM 5.2"},{id:"perplexity/kimi-k2.7-code",name:"Kimi K2.7 Code"},{id:"nvidia/nemotron-3-super-120b-a12b",name:"Nemotron 3 Super 120B"}],serviceKinds:["llm","webSearch"],searchViaChat:{defaultModel:"perplexity/sonar",endpoint:"https://api.perplexity.ai/v1/responses",pricingUrl:"https://docs.perplexity.ai/docs/agent-api/models"},modelsFetcher:{url:"https://api.perplexity.ai/v1/models",type:"openai"},passthroughModels:!0},{id:"playht",alias:"playht",display:{name:"PlayHT",icon:"play_circle",color:"#00B4D8",textIcon:"PH",website:"https://play.ht",notice:{apiKeyUrl:"https://play.ht/studio/api-access"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.play.ht/api/v2/tts/stream",authType:"apikey",authHeader:"playht",format:"playht",models:[{id:"PlayDialog",name:"PlayDialog"},{id:"Play3.0-mini",name:"Play 3.0 Mini"}]},hidden:!0},{id:"qoder",priority:30,alias:"qd",uiAlias:"qd",display:{name:"Qoder",icon:"water_drop",color:"#EC4899",website:"https://qoder.com",notice:{signupUrl:"https://qoder.com"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,authHint:"Personal Access Token (pt-...) từ https://qoder.com/account/integrations",transport:{baseUrl:"https://api3.qoder.sh/algo/api/v2/service/pro/sse/agent_chat_generation",headers:{},timeoutMs:12e4,stallTimeoutMs:12e4,usage:{url:"https://openapi.qoder.sh/api/v2/quota/usage"}},models:[{id:"ultimate",name:"Ultimate"},{id:"auto",name:"Auto"},{id:"performance",name:"Performance"},{id:"efficient",name:"Efficient"},{id:"qmodel_preview",name:"Qwen3.8-Max-Preview"},{id:"qmodel_latest",name:"Qwen3.7-Max"},{id:"qmodel",name:"Qwen3.7-Plus"},{id:"kmodel_latest",name:"Kimi-K3"},{id:"kmodel",name:"Kimi-K2.7-Code"},{id:"gm51model",name:"GLM-5.2"},{id:"dmodel",name:"DeepSeek-V4-Pro"},{id:"dfmodel",name:"DeepSeek-V4-Flash"},{id:"mmodel",name:"MiniMax-M3"}],oauth:{openApiBaseUrl:"https://openapi.qoder.sh",centerBaseUrl:"https://center.qoder.sh",chatBaseUrl:"https://api3.qoder.sh",deviceTokenUrl:"https://openapi.qoder.sh/api/v1/deviceToken/poll",refreshUrl:"https://center.qoder.sh/algo/api/v3/user/refresh_token",userInfoUrl:"https://openapi.qoder.sh/api/v1/userinfo",quotaUsageUrl:"https://openapi.qoder.sh/api/v2/quota/usage",loginUrl:"https://qoder.com/device/selectAccounts"},features:{usage:!0,usageApikey:!0}},{id:"recraft",priority:70,alias:"recraft",display:{name:"Recraft",icon:"image",color:"#EC4899",textIcon:"RC",website:"https://recraft.ai",notice:{apiKeyUrl:"https://www.recraft.ai/profile/api"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"recraftv3",name:"Recraft V3",params:["n","size","style"],kind:"image"},{id:"recraftv2",name:"Recraft V2",params:["n","size","style"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://external.api.recraft.ai/v1/images/generations"}},{id:"runwayml",priority:80,alias:"runwayml",aliases:["runway"],uiAlias:"runway",display:{name:"Runway ML",icon:"movie",color:"#000000",textIcon:"RW",website:"https://runwayml.com",notice:{apiKeyUrl:"https://dev.runwayml.com"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"gen4_image",name:"Gen-4 Image",params:["size"],kind:"image"},{id:"gen4_image_turbo",name:"Gen-4 Image Turbo",params:["size"],kind:"image"},{id:"gen4_turbo",name:"Gen-4 Turbo",params:[],kind:"video"},{id:"gen3a_turbo",name:"Gen-3 Alpha Turbo",params:[],kind:"video"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.dev.runwayml.com/v1"}},{id:"sdwebui",priority:110,alias:"sdwebui",display:{name:"SD WebUI",icon:"brush",color:"#FF7043",textIcon:"SD",website:"https://github.com/AUTOMATIC1111/stable-diffusion-webui"},category:"apikey",transport:null,models:[{id:"stable-diffusion-v1-5",name:"Stable Diffusion v1.5",params:["n","size"],kind:"image"},{id:"sdxl-base-1.0",name:"SDXL Base 1.0",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"http://localhost:7860/sdapi/v1/txt2img"}},{id:"searchapi",alias:"searchapi",display:{name:"SearchAPI",icon:"search",color:"#0EA5A4",textIcon:"SA",website:"https://www.searchapi.io",notice:{apiKeyUrl:"https://www.searchapi.io/dashboard"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://www.searchapi.io/api/v1/search",method:"GET",authType:"apikey",authHeader:"api_key",costPerQuery:.004,freeMonthlyQuota:100,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"searxng",alias:"searxng",display:{name:"SearXNG",icon:"saved_search",color:"#3B82F6",textIcon:"SX",website:"https://docs.searxng.org"},category:"freeTier",authType:"none",serviceKinds:["webSearch"],noAuth:!0,searchConfig:{baseUrl:c(54414).Ps,method:"GET",authType:"none",authHeader:"none",costPerQuery:0,freeMonthlyQuota:999999,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:18e4}},{id:"serper",alias:"serper",display:{name:"Serper",icon:"search",color:"#4F46E5",textIcon:"SP",website:"https://serper.dev",notice:{apiKeyUrl:"https://serper.dev/api-key"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://google.serper.dev",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.001,freeMonthlyQuota:2500,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"siliconflow",priority:250,alias:"siliconflow",display:{name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com",notice:{apiKeyUrl:"https://cloud.siliconflow.com/account/ak"}},category:"apikey",transport:{baseUrl:"https://api.siliconflow.com/v1/chat/completions",validateUrl:"https://api.siliconflow.com/v1/models",thinkingFormat:"openai"},models:[{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro"},{id:"deepseek-ai/DeepSeek-V4-Flash",name:"DeepSeek V4 Flash"},{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V3.2-Exp",name:"DeepSeek V3.2 Exp"},{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1"},{id:"deepseek-ai/DeepSeek-V3.1-Terminus",name:"DeepSeek V3.1 Terminus"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen 3.5 397B A17B"},{id:"Qwen/Qwen3.5-122B-A10B",name:"Qwen 3.5 122B A10B"},{id:"zai-org/GLM-5.1",name:"GLM 5.1"},{id:"zai-org/GLM-5",name:"GLM 5"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B"},{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"inclusionAI/Ling-flash-2.0",name:"Ling Flash 2.0"}]},{id:"stability-ai",priority:60,alias:"stability-ai",aliases:["stability"],uiAlias:"stability",display:{name:"Stability AI",icon:"image",color:"#8B5CF6",textIcon:"SA",website:"https://stability.ai",notice:{apiKeyUrl:"https://platform.stability.ai/account/keys"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"stable-image-ultra",name:"Stable Image Ultra",params:["size"],kind:"image"},{id:"stable-image-core",name:"Stable Image Core",params:["size","style"],kind:"image"},{id:"sd3.5-large",name:"Stable Diffusion 3.5 Large",params:["size"],kind:"image"},{id:"sd3.5-large-turbo",name:"Stable Diffusion 3.5 Large Turbo",params:["size"],kind:"image"},{id:"sd3.5-medium",name:"Stable Diffusion 3.5 Medium",params:["size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.stability.ai/v2beta/stable-image/generate"}},{id:"tavily",alias:"tavily",display:{name:"Tavily",icon:"search",color:"#5B21B6",textIcon:"TV",website:"https://tavily.com",notice:{apiKeyUrl:"https://app.tavily.com/home"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch","webFetch"],searchConfig:{baseUrl:"https://api.tavily.com/search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.008,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5},fetchConfig:{baseUrl:"https://api.tavily.com/extract",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.008,freeMonthlyQuota:1e3,formats:["markdown","text"],maxCharacters:1e5,timeoutMs:15e3}},{id:"together",priority:60,alias:"together",display:{name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai",notice:{apiKeyUrl:"https://api.together.xyz/settings/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.together.xyz/v1/chat/completions",validateUrl:"https://api.together.xyz/v1/models"},models:[{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Turbo"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"},{id:"BAAI/bge-large-en-v1.5",name:"BGE Large EN v1.5",kind:"embedding"},{id:"togethercomputer/m2-bert-80M-8k-retrieval",name:"M2 BERT 80M 8K",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.together.xyz/v1/embeddings"}},{id:"topaz",alias:"topaz",display:{name:"Topaz",icon:"image",color:"#059669",textIcon:"TP",website:"https://topazlabs.com",notice:{apiKeyUrl:"https://topazlabs.com/account"}},category:"apikey",authType:"apikey",serviceKinds:["image"]},{id:"tortoise",alias:"tortoise",display:{name:"Tortoise TTS",icon:"record_voice_over",color:"#7C3AED",textIcon:"TT",website:"https://github.com/neonbjb/tortoise-tts"},category:"freeTier",authType:"none",serviceKinds:["tts"],noAuth:!0,ttsConfig:{baseUrl:"http://localhost:5000/api/tts",authType:"none",authHeader:"none",format:"tortoise",models:[{id:"tortoise-v2",name:"Tortoise v2"}]},hidden:!0},{id:"venice",priority:115,alias:"venice",aliases:["vn"],uiAlias:"venice",display:{name:"Venice AI",icon:"shield",color:"#DC2626",textIcon:"VE",website:"https://venice.ai",notice:{text:"OpenAI-compatible. Private inference + uncensored models (Venice Uncensored, GLM, Qwen, DeepSeek, Llama).",apiKeyUrl:"https://venice.ai/settings/api"}},category:"apikey",transport:{baseUrl:"https://api.venice.ai/api/v1/chat/completions",validateUrl:"https://api.venice.ai/api/v1/models",thinkingFormat:"openai"},models:[{id:"venice-uncensored-1-2",name:"Venice Uncensored 1.2"},{id:"zai-org-glm-5",name:"GLM-5"},{id:"qwen3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-coder-480b-a35b-instruct-turbo",name:"Qwen3 Coder 480B A35B Turbo"},{id:"qwen3-vl-235b-a22b",name:"Qwen3 VL 235B A22B"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"hermes-3-llama-3.1-405b",name:"Hermes 3 Llama 3.1 405B"},{id:"mistral-small-3-2-24b-instruct",name:"Mistral Small 3.2 24B"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",kind:"embedding"},{id:"text-embedding-bge-m3",name:"BGE-M3 Embedding",kind:"embedding"},{id:"text-embedding-qwen3-8b",name:"Qwen3 8B Embedding",kind:"embedding"},{id:"venice-sd35",name:"Venice SD3.5",params:["n","size"],kind:"image"},{id:"flux-2-pro",name:"FLUX.2 Pro",params:["n","size"],kind:"image"},{id:"gpt-image-2",name:"GPT Image 2 (via Venice)",params:["n","size","quality"],kind:"image"}],serviceKinds:["llm","embedding","image"],embeddingConfig:{baseUrl:"https://api.venice.ai/api/v1/embeddings",authType:"apikey",authHeader:"bearer"},imageConfig:{baseUrl:"https://api.venice.ai/api/v1/images/generations"},modelsFetcher:{url:"https://api.venice.ai/api/v1/models",type:"openai"},passthroughModels:!0},{id:"vercel-ai-gateway",priority:160,alias:"vercel-ai-gateway",aliases:["vercel"],uiAlias:"vercel",display:{name:"Vercel AI Gateway",icon:"deployed_code",color:"#111827",textIcon:"VG",website:"https://vercel.com/ai-gateway",notice:{text:"Unified OpenAI-compatible endpoint from Vercel. Use your AI Gateway API key, then pick models with provider/model IDs like anthropic/claude-sonnet-4.6 or openai/gpt-5.4.",apiKeyUrl:"https://vercel.com/dashboard/~/ai-gateway"}},category:"apikey",transport:{baseUrl:"https://ai-gateway.vercel.sh/v1/chat/completions",thinkingFormat:"openai",retry:{429:2},usage:{url:"https://ai-gateway.vercel.sh/v1/credits"}},serviceKinds:["llm","embedding","image","imageToText","webSearch"],embeddingConfig:{baseUrl:"https://ai-gateway.vercel.sh/v1/embeddings"},imageConfig:{baseUrl:"https://ai-gateway.vercel.sh/v1/images/generations"},searchViaChat:{defaultModel:"openai/gpt-4o-mini",pricingUrl:"https://vercel.com/docs/ai-gateway/pricing"},modelsFetcher:{url:"https://ai-gateway.vercel.sh/v1/models",type:"openai"},passthroughModels:!0,features:{usage:!0,usageApikey:!0}},{id:"vertex-partner",priority:260,alias:"vertex-partner",aliases:["vxp"],uiAlias:"vxp",display:{name:"Vertex Partner",icon:"cloud",color:"#34A853",textIcon:"VP",website:"https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models",notice:{apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}},category:"apikey",transport:{baseUrl:"https://aiplatform.googleapis.com"},models:[{id:"deepseek-ai/deepseek-v3.2-maas",name:"DeepSeek V3.2 (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-thinking-maas",name:"Qwen3 Next 80B Thinking (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-instruct-maas",name:"Qwen3 Next 80B Instruct (Vertex)"},{id:"zai-org/glm-5-maas",name:"GLM-5 (Vertex)"}]},{id:"vertex",priority:40,alias:"vertex",aliases:["vx"],uiAlias:"vx",display:{name:"Vertex AI",icon:"cloud",color:"#4285F4",textIcon:"VX",website:"https://cloud.google.com/vertex-ai",notice:{text:"New Google Cloud accounts get $300 free credits. Requires GCP project + Service Account with Vertex AI API enabled.",apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}},category:"freeTier",transport:{baseUrl:"https://aiplatform.googleapis.com",format:"vertex"},models:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"}],serviceKinds:["llm","imageToText"]},{id:"volcengine-ark",priority:270,alias:"volcengine-ark",aliases:["ark"],uiAlias:"ark",display:{name:"Volcengine Ark",icon:"cloud",color:"#1677FF",textIcon:"ARK",website:"https://ark.cn-beijing.volces.com",notice:{apiKeyUrl:"https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey"}},category:"apikey",transport:{baseUrl:"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",headers:{}},models:[{id:"Doubao-Seed-2.0-Code",name:"Doubao-Seed-2.0-Code"},{id:"Doubao-Seed-2.0-pro",name:"Doubao-Seed-2.0-pro"},{id:"Doubao-Seed-2.0-lite",name:"Doubao-Seed-2.0-lite"},{id:"Doubao-Seed-Code",name:"Doubao-Seed-Code"},{id:"DeepSeek-V4-Flash",name:"DeepSeek-V4-Flash"},{id:"DeepSeek-V4-Pro",name:"DeepSeek-V4-Pro"},{id:"GLM-5.1",name:"GLM-5.1"},{id:"MiniMax-M2.7",name:"MiniMax-M2.7"},{id:"Kimi-K2.6",name:"Kimi-K2.6"}]},{id:"voyage-ai",priority:40,alias:"voyage-ai",uiAlias:"voyage",display:{name:"Voyage AI",icon:"data_array",color:"#0EA5E9",textIcon:"VG",website:"https://www.voyageai.com",notice:{apiKeyUrl:"https://dash.voyageai.com/api-keys"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"voyage-3-large",name:"Voyage 3 Large",kind:"embedding"},{id:"voyage-3.5",name:"Voyage 3.5",kind:"embedding"},{id:"voyage-3.5-lite",name:"Voyage 3.5 Lite",kind:"embedding"},{id:"voyage-code-3",name:"Voyage Code 3",kind:"embedding"},{id:"voyage-finance-2",name:"Voyage Finance 2",kind:"embedding"},{id:"voyage-law-2",name:"Voyage Law 2",kind:"embedding"},{id:"voyage-multilingual-2",name:"Voyage Multilingual 2",kind:"embedding"}],serviceKinds:["embedding"],embeddingConfig:{baseUrl:"https://api.voyageai.com/v1/embeddings"}},{id:"xai",priority:280,alias:"xai",display:{name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai",notice:{apiKeyUrl:"https://console.x.ai"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://api.x.ai/v1/chat/completions",validateUrl:"https://api.x.ai/v1/models",responsesUrl:"https://api.x.ai/v1/responses",clientId:"b1a00492-073a-47ea-816f-4c329264a828",tokenUrl:"https://auth.x.ai/oauth2/token",refreshUrl:"https://auth.x.ai/oauth2/token"},models:[{id:"grok-4.6",name:"Grok 4.6"},{id:"grok-4.5",name:"Grok 4.5"},{id:"grok-4",name:"Grok 4"},{id:"grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning"},{id:"grok-code-fast-1",name:"Grok Code Fast"},{id:"grok-3",name:"Grok 3"},{id:"grok-2-image-1212",name:"Grok 2 Image",params:["n","response_format"],kind:"image"},{id:"grok-imagine-video",name:"Grok Imagine Video",params:["duration","aspect_ratio","resolution"],kind:"video"}],serviceKinds:["llm","imageToText","webSearch","image","video"],imageConfig:{baseUrl:"https://api.x.ai/v1/images/generations",bodyFields:["model","prompt","n","response_format"]},videoConfig:{baseUrl:"https://api.x.ai/v1/videos"},searchViaChat:{defaultModel:"grok-4.20-reasoning",endpoint:"https://api.x.ai/v1/responses",pricingUrl:"https://x.ai/api#pricing"}},{id:"xiaomi-mimo",priority:290,alias:"xiaomi-mimo",aliases:["mimo"],uiAlias:"mimo",display:{name:"Xiaomi MiMo",icon:"smart_toy",color:"#FF6900",textIcon:"XM",website:"https://xiaomimimo.com",notice:{apiKeyUrl:"https://platform.xiaomimimo.com/console/api-keys"}},category:"apikey",serviceKinds:["llm","tts"],transport:{baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",validateUrl:"https://api.xiaomimimo.com/v1/models"},transports:[{format:"openai",baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.xiaomimimo.com/anthropic/v1/messages",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro"},{id:"mimo-v2.5",name:"MiMo V2.5"},{id:"mimo-v2-omni",name:"MiMo V2 Omni"},{id:"mimo-v2-flash",name:"MiMo V2 Flash"},{id:"mimo-v2.5-tts",name:"MiMo V2.5 TTS",kind:"tts"}],ttsConfig:{baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",format:"xiaomi-mimo-tts"}},{id:"xiaomi-tokenplan",priority:300,alias:"xiaomi-tokenplan",aliases:["xmtp"],uiAlias:"xmtp",display:{name:"Xiaomi MiMo (Token Plan)",icon:"smart_toy",color:"#FF6700",textIcon:"XT",website:"https://mimo.xiaomi.com",notice:{text:"Xiaomi MiMo Token Plan subscription (API key starts with tp-). Token Plan keys are cluster-specific — select the region matching your subscription.",apiKeyUrl:"https://mimo.xiaomi.com"}},category:"apikey",hasProviderSpecificData:!0,regions:[{id:"sgp",label:"Singapore (新加坡)"},{id:"cn",label:"China (中国大陆)"},{id:"ams",label:"Amsterdam (阿姆斯特丹)"}],defaultRegion:"sgp",transport:{baseUrl:"https://token-plan-sgp.xiaomimimo.com/v1/chat/completions",regions:{sgp:"https://token-plan-sgp.xiaomimimo.com/v1",cn:"https://token-plan-cn.xiaomimimo.com/v1",ams:"https://token-plan-ams.xiaomimimo.com/v1"},defaultRegion:"sgp"},transports:[{format:"openai",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro"},{id:"mimo-v2.5-pro-claude",name:"MiMo V2.5 Pro (Claude Native)",targetFormat:"claude",upstreamModelId:"mimo-v2.5-pro"},{id:"mimo-v2.5",name:"MiMo V2.5"},{id:"mimo-v2-pro",name:"MiMo V2 Pro"},{id:"mimo-v2-omni",name:"MiMo V2 Omni"},{id:"mimo-v2-tts",name:"MiMo V2 TTS"},{id:"mimo-v2.5-tts",name:"MiMo V2.5 TTS"},{id:"mimo-v2.5-tts-voiceclone",name:"MiMo V2.5 TTS Voice Clone"},{id:"mimo-v2.5-tts-voicedesign",name:"MiMo V2.5 TTS Voice Design"}]},{id:"youcom",alias:"youcom",display:{name:"You.com Search",icon:"search",color:"#7C3AED",textIcon:"YC",website:"https://you.com",notice:{apiKeyUrl:"https://api.you.com"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://ydc-index.io/v1/search",method:"GET",authType:"apikey",authHeader:"x-api-key",costPerQuery:.005,freeMonthlyQuota:0,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"alims-intl",priority:11,alias:"alims-intl",display:{name:"Alibaba Studio",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://modelstudio.console.alibabacloud.com",notice:{apiKeyUrl:"https://modelstudio.console.alibabacloud.com/?apiKey=1"}},category:"apikey",transport:{baseUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions",headers:{},quirks:{preserveCacheControl:!0}},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},{id:"codebuddy-intl",alias:"cbai",uiAlias:"cbai",hidden:!1,priority:90,display:{name:"CodeBuddy",icon:"smart_toy",color:"#006EFF",website:"https://www.codebuddy.ai",notice:{signupUrl:"https://www.codebuddy.ai"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://www.codebuddy.ai/v2/chat/completions",forceStream:!0,thinkingFormat:"openai",headers:{"User-Agent":"IDE/2.108.1 CodeBuddy/2.108.1","X-Product":"SaaS","X-IDE-Type":"IDE","X-IDE-Name":"IDE","x-requested-with":"XMLHttpRequest","x-codebuddy-request":"1"},auth:{combined:!0,header:"Authorization",scheme:"bearer"},usage:{url:"https://www.codebuddy.ai/v2/billing/meter/get-user-resource"}},models:[{id:"glm-5.2",name:"GLM-5.2"},{id:"glm-5.1",name:"GLM-5.1"},{id:"glm-5.0",name:"GLM-5.0"},{id:"glm-5.0-turbo",name:"GLM-5.0-Turbo"},{id:"glm-5v-turbo",name:"GLM-5v-Turbo"},{id:"glm-4.7",name:"GLM-4.7"},{id:"minimax-m3",name:"MiniMax-M3"},{id:"minimax-m2.7",name:"MiniMax-M2.7"},{id:"kimi-k2.7",name:"Kimi-K2.7-Code"},{id:"kimi-k2.6",name:"Kimi-K2.6"},{id:"kimi-k2.5",name:"Kimi-K2.5"},{id:"hy3-preview",name:"Hy3 Preview"},{id:"deepseek-v4-pro",name:"DeepSeek-V4-Pro"},{id:"deepseek-v4-flash",name:"DeepSeek-V4-Flash"},{id:"deepseek-v3-2-volc",name:"DeepSeek-V3.2"}],oauth:{baseUrl:"https://www.codebuddy.ai",stateUrl:"https://www.codebuddy.ai/v2/plugin/auth/state",tokenUrl:"https://www.codebuddy.ai/v2/plugin/auth/token",refreshUrl:"https://www.codebuddy.ai/v2/plugin/auth/token/refresh",userAgent:"IDE/2.63.2 CodeBuddy/2.63.2",platform:"ide",pollInterval:5e3},features:{usage:!0,usageApikey:!0}},{id:"zed",priority:10,alias:"zd",uiAlias:"zd",hidden:!0,display:{name:"Zed",icon:"code",color:"#A855F7",website:"https://zed.dev",notice:{signupUrl:"https://zed.dev/native_app_signin"}},category:"oauth",authType:"oauth",hasOAuth:!0,transport:{baseUrl:"https://cloud.zed.dev/completions",format:"openai",forceStream:!0,headers:{"content-type":"application/json"},auth:{combined:!0,header:"Authorization",scheme:"<user_id> <access_token>"},usage:{url:"https://cloud.zed.dev/client/users/me"},modelsUrl:"https://cloud.zed.dev/models"},models:[],passthroughModels:!0,oauth:{authorizeUrl:"https://zed.dev/native_app_signin",platform:"zed",rsaKeyExchange:!0},features:{usage:!0}},{id:"api-airforce",alias:"af",aliases:["airforce"],uiAlias:"af",display:{name:"API.airforce",icon:"flight",color:"#0EA5E9",textIcon:"AF",website:"https://api.airforce",notice:{apiKeyUrl:"https://api.airforce"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.airforce/v1/chat/completions",validateUrl:"https://api.airforce/v1/models",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},models:[{id:"anthropic/claude-3.7-sonnet",name:"Claude 3.7 Sonnet (Free)",contextLength:2e5},{id:"moonshot/kimi-k2.6",name:"Kimi K2.6 (Free)",contextLength:262144},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash (Free)",contextLength:1048576}]},{id:"baidu",alias:"qianfan",aliases:["qianfan","ernie","baidu-qianfan"],uiAlias:"qianfan",category:"apikey",authType:"apikey",authModes:["apikey"],display:{name:"Baidu Qianfan",icon:"search",color:"#2932E1",textIcon:"BD",website:"https://cloud.baidu.com/product/qianfan.html",notice:{apiKeyUrl:"https://console.bce.baidu.com/qianfan/ais/console/applicationConsole/application"}},transport:{baseUrl:"https://qianfan.baidubce.com/v2/chat/completions",validateUrl:"https://qianfan.baidubce.com/v2/models"},models:[{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",contextLength:1048576},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",contextLength:1048576},{id:"glm-5.2",name:"GLM 5.2",contextLength:512e3},{id:"glm-5.1",name:"GLM 5.1",contextLength:198e3},{id:"kimi-k2.6",name:"Kimi K2.6",contextLength:262144},{id:"qwen3.5-397b-a17b",name:"Qwen 3.5 397B A17B",contextLength:262144},{id:"qwen3.5-27b",name:"Qwen 3.5 27B",contextLength:262144}]},{id:"bazaarlink",alias:"bzl",aliases:["bazaar-link"],uiAlias:"bzl",category:"freeTier",authType:"apikey",authModes:["apikey"],display:{name:"Bazaarlink",icon:"storefront",color:"#DC2626",textIcon:"BZ",website:"https://bazaarlink.ai",notice:{apiKeyUrl:"https://bazaarlink.ai"}},transport:{baseUrl:"https://bazaarlink.ai/api/v1/chat/completions",validateUrl:"https://bazaarlink.ai/api/v1/models"},models:[{id:"auto:free",name:"Auto Free (Zero Cost)"},{id:"claude-opus-4.7",name:"Claude Opus 4.7",contextLength:1e6},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6",contextLength:1e6},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5",contextLength:2e5},{id:"gpt-5.5",name:"GPT-5.5",contextLength:105e4},{id:"gpt-5.4",name:"GPT-5.4",contextLength:105e4},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini",contextLength:4e5},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano",contextLength:4e5},{id:"grok-4.3",name:"Grok 4.3",contextLength:1e6},{id:"grok-4.20",name:"Grok 4.20",contextLength:2e6},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro",contextLength:1048576},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash",contextLength:1048576},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite",contextLength:1048576},{id:"kimi-k2.6",name:"Kimi K2.6",contextLength:262144},{id:"kimi-k2.5",name:"Kimi K2.5",contextLength:262144},{id:"glm-5.1",name:"GLM 5.1",contextLength:204800},{id:"glm-5",name:"GLM 5",contextLength:204800},{id:"mimo-v2.5-pro",name:"MiMo-V2.5-Pro",contextLength:105e4},{id:"mimo-v2.5",name:"MiMo-V2.5",contextLength:105e4},{id:"minimax-m3",name:"MiniMax M3",contextLength:1048576},{id:"minimax-m2.7",name:"MiniMax M2.7",contextLength:204800},{id:"minimax-m2.5",name:"MiniMax M2.5",contextLength:204800},{id:"qwen3.6-plus",name:"Qwen 3.6 Plus",contextLength:1e6},{id:"nemotron-3-super-120b-a12b",name:"Nemotron 3 Super",contextLength:1e6}]},{id:"bluesminds",alias:"bm",aliases:["blue-sminds"],uiAlias:"bm",hidden:!0,display:{name:"BluesMinds",icon:"psychology",color:"#2563EB",textIcon:"BM",website:"https://bluesminds.com",notice:{apiKeyUrl:"https://bluesminds.com"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.bluesminds.com/v1/chat/completions",validateUrl:"https://api.bluesminds.com/v1/models"},models:[{id:"gpt-4.1",name:"GPT-4.1",contextLength:1048576},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini",contextLength:1048576},{id:"gpt-4.1-nano",name:"GPT-4.1 Nano",contextLength:1048576},{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5",contextLength:2e5},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",contextLength:2e5},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",contextLength:1048576},{id:"gemini-2.0-flash-exp",name:"Gemini 2.0 Flash (Exp)",contextLength:1048576},{id:"qwen-turbo",name:"Qwen Turbo",contextLength:1e6},{id:"kimi-k2",name:"Kimi K2",contextLength:262144},{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",contextLength:262144},{id:"glm-4.7",name:"GLM 4.7",contextLength:204800},{id:"minimax-m2.5",name:"MiniMax M2.5",contextLength:204800},{id:"claude-opus-4-5",name:"Claude Opus 4.5 (VIP)",contextLength:2e5},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (VIP)",contextLength:1048576}]},{id:"kilo-gateway",alias:"kgw",aliases:["kilo-gateway","kilogateway"],uiAlias:"kgw",category:"freeTier",display:{name:"Kilo Gateway",icon:"login",color:"#8B5CF6",textIcon:"KG",website:"https://kilo.ai",notice:{apiKeyUrl:"https://kilo.ai/dashboard?tab=apiKeys"}},authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.kilo.ai/api/gateway/chat/completions",validateUrl:"https://api.kilo.ai/api/gateway/models"},models:[{id:"kilo-auto/free",name:"Kilo Auto Free",contextLength:256e3},{id:"nvidia/nemotron-3-super-120b-a12b:free",name:"Nemotron 3 Super 120B (Free)",contextLength:262144},{id:"nvidia/nemotron-3-ultra-550b-a55b:free",name:"Nemotron 3 Ultra 550B (Free)",contextLength:1e6},{id:"kwaipilot/kat-coder-pro-v2.5:free",name:"Kat Coder Pro v2.5 (Free)",contextLength:256e3},{id:"kilo-auto/frontier",name:"Kilo Auto Frontier",contextLength:1e6},{id:"kilo-auto/balanced",name:"Kilo Auto Balanced",contextLength:1e6}]},{id:"llm7",alias:"llm7",aliases:["llm-7"],uiAlias:"llm7",display:{name:"LLM7",icon:"pool",color:"#7C3AED",textIcon:"L7",website:"https://llm7.io",notice:{apiKeyUrl:"https://llm7.io"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.llm7.io/v1/chat/completions",validateUrl:"https://api.llm7.io/v1/models"},models:[{id:"gpt-5.5",name:"GPT-5.5 (LLM7)",contextLength:105e4},{id:"claude-opus-5",name:"Claude Opus 5 (LLM7)",contextLength:1e6},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash (LLM7)",contextLength:1e6},{id:"grok-4.5",name:"Grok 4.5 (LLM7)",contextLength:5e5},{id:"kimi-k3",name:"Kimi K3 (LLM7)",contextLength:1e6}],passthroughModels:!0},{id:"sambanova",alias:"samba",aliases:["sambanova-ai"],uiAlias:"samba",hidden:!0,display:{name:"SambaNova",icon:"memory",color:"#F97316",textIcon:"SN",website:"https://sambanova.ai",notice:{apiKeyUrl:"https://cloud.sambanova.ai/apis"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.sambanova.ai/v1/chat/completions",validateUrl:"https://api.sambanova.ai/v1/models"},models:[{id:"MiniMax-M2.7",name:"MiniMax M2.7",contextLength:196608}]},{id:"tencent",alias:"hunyuan",aliases:["hunyuan","tencent-hunyuan"],uiAlias:"hunyuan",display:{name:"Tencent Hunyuan",icon:"cloud",color:"#0052D9",textIcon:"HY",website:"https://cloud.tencent.com/product/hunyuan",notice:{apiKeyUrl:"https://console.cloud.tencent.com/hunyuan/api-key"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.hunyuan.cloud.tencent.com/v1/chat/completions",validateUrl:"https://api.hunyuan.cloud.tencent.com/v1/models"},models:[{id:"hunyuan-turbos-latest",name:"Hunyuan TurboS Latest",contextLength:2e5},{id:"hunyuan-t1-latest",name:"Hunyuan T1 Latest",contextLength:256e3}]},{id:"morph",alias:"morph",aliases:["morphllm"],uiAlias:"morph",display:{name:"Morph",icon:"change_history",color:"#14B8A6",textIcon:"MP",website:"https://morphllm.com",notice:{apiKeyUrl:"https://morphllm.com"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.morphllm.com/v1/chat/completions",validateUrl:"https://api.morphllm.com/v1/models"},models:[{id:"morph-v3-large",name:"Morph v3 Large"},{id:"morph-v3-fast",name:"Morph v3 Fast"},{id:"morph-qwen35-397b",name:"Qwen 3.5 397B (Morph)",contextLength:262144},{id:"morph-minimax27-230b",name:"MiniMax M2.7 (Morph)",contextLength:200704},{id:"morph-qwen36-27b",name:"Qwen 3.6 27B (Morph)",contextLength:262144},{id:"morph-dsv4flash",name:"DeepSeek V4 Flash (Morph)",contextLength:1048576}]},{id:"poolside",priority:60,alias:"poolside",aliases:["ps"],uiAlias:"ps",display:{name:"Poolside",icon:"water_drop",color:"#0EA5E9",textIcon:"PS",website:"https://poolside.ai",notice:{apiKeyUrl:"https://platform.poolside.ai/api-keys"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://inference.poolside.ai/v1/chat/completions",validateUrl:"https://inference.poolside.ai/v1/models"},models:[{id:"poolside/laguna-s-2.1",name:"Laguna S 2.1"},{id:"poolside/laguna-xs-2.1",name:"Laguna XS 2.1"}]},{id:"tokenrouter",alias:"tokenrouter",aliases:["tr"],uiAlias:"tokenrouter",display:{name:"TokenRouter",icon:"hub",color:"#0EA5E9",textIcon:"TR",website:"https://www.tokenrouter.com",notice:{text:"OpenAI-compatible gateway. 300+ models (OpenAI, Claude, Gemini, Qwen, DeepSeek, Kimi, GLM, dsb).",apiKeyUrl:"https://www.tokenrouter.com"}},category:"apikey",thinkingConfig:{options:["low","medium","high","xhigh","max"],defaultMode:"high"},transport:{baseUrl:"https://api.tokenrouter.com/v1/chat/completions",validateUrl:"https://api.tokenrouter.com/v1/models",thinkingFormat:"tokenrouter"},models:[{id:"MiniMax-Hailuo-2.3",name:"Minimax Hailuo 2.3",kind:"video"},{id:"MiniMax-M3",name:"Minimax M3"},{id:"anthropic/claude-fable-5",name:"Claude Fable 5"},{id:"anthropic/claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"anthropic/claude-opus-4.5",name:"Claude Opus 4.5"},{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6"},{id:"anthropic/claude-opus-4.7",name:"Claude Opus 4.7"},{id:"anthropic/claude-opus-4.7-fast",name:"Claude Opus 4.7 Fast"},{id:"anthropic/claude-opus-4.8",name:"Claude Opus 4.8"},{id:"anthropic/claude-opus-4.8-fast",name:"Claude Opus 4.8 Fast"},{id:"anthropic/claude-opus-5",name:"Claude Opus 5"},{id:"anthropic/claude-opus-5-fast",name:"Claude Opus 5 Fast"},{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4"},{id:"anthropic/claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"anthropic/claude-sonnet-5",name:"Claude Sonnet 5"},{id:"bytedance-seed/seedream-4.5",name:"Seedream 4.5",kind:"image"},{id:"bytedance-seed/seedream-5.0-lite",name:"Seedream 5.0 Lite",kind:"image"},{id:"bytedance-seed/seedream-5.0-pro",name:"Seedream 5.0 Pro",kind:"image"},{id:"claude-haiku-4-5",name:"Claude Haiku 4 5"},{id:"claude-opus-4-8-m-aws",name:"Claude Opus 4 8 M Aws"},{id:"deepseek/deepseek-v3.2",name:"Deepseek V3.2"},{id:"deepseek/deepseek-v4-flash",name:"Deepseek V4 Flash"},{id:"deepseek/deepseek-v4-flash-0731",name:"Deepseek V4 Flash 0731"},{id:"deepseek/deepseek-v4-pro",name:"Deepseek V4 Pro"},{id:"ex/gpt-5.4",name:"Gpt 5.4"},{id:"google/gemini-2.5-flash-image",name:"Gemini 2.5 Flash Image"},{id:"google/gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"google/gemini-3-pro-image-preview",name:"Gemini 3 Pro Image Preview"},{id:"google/gemini-3.1-flash-image-preview",name:"Gemini 3.1 Flash Image Preview"},{id:"google/gemini-3.1-flash-lite-image",name:"Gemini 3.1 Flash Lite Image"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"google/gemini-3.5-flash",name:"Gemini 3.5 Flash"},{id:"google/gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite"},{id:"google/gemini-3.6-flash",name:"Gemini 3.6 Flash"},{id:"google/gemini-embedding-2",name:"Gemini Embedding 2"},{id:"google/gemma-4-26b-a4b-it",name:"Gemma 4 26B A4B It"},{id:"happyhorse-1.0-t2v",name:"Happyhorse 1.0 T2V",kind:"video"},{id:"kling-3.0-turbo",name:"Kling 3.0 Turbo",kind:"video"},{id:"kling-v2-6",name:"Kling V2 6",kind:"video"},{id:"kling-v3",name:"Kling V3",kind:"video"},{id:"kling-v3-omni",name:"Kling V3 Omni",kind:"video"},{id:"microsoft/mai-image-2.5",name:"Mai Image 2.5"},{id:"minimax/minimax-m2-her",name:"Minimax M2 Her"},{id:"minimax/minimax-m2.1",name:"Minimax M2.1"},{id:"minimax/minimax-m2.1-highspeed",name:"Minimax M2.1 Highspeed"},{id:"minimax/minimax-m2.5",name:"Minimax M2.5"},{id:"minimax/minimax-m2.7",name:"Minimax M2.7"},{id:"minimax/minimax-m2.7-highspeed",name:"Minimax M2.7 Highspeed"},{id:"miromind/mirothinker-1-7-deepresearch",name:"Mirothinker 1 7 Deepresearch"},{id:"miromind/mirothinker-1-7-deepresearch-mini",name:"Mirothinker 1 7 Deepresearch Mini"},{id:"mistralai/devstral-2512",name:"Devstral 2512"},{id:"mistralai/mistral-medium-3-5",name:"Mistral Medium 3 5"},{id:"mistralai/mistral-small-2603",name:"Mistral Small 2603"},{id:"mistralai/voxtral-small-24b-2507",name:"Voxtral Small 24B 2507"},{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"moonshotai/kimi-k2.6",name:"Kimi K2.6"},{id:"moonshotai/kimi-k2.7-code",name:"Kimi K2.7 Code"},{id:"moonshotai/kimi-k3",name:"Kimi K3"},{id:"moonshotai/kimi-k3-free",name:"Kimi K3 Free"},{id:"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free",name:"Nemotron 3 Nano Omni 30B A3B Reasoning:Free"},{id:"nvidia/nemotron-3-super-120b-a12b",name:"Nemotron 3 Super 120B A12B"},{id:"openai/gpt-4o-mini",name:"Gpt 4O Mini"},{id:"openai/gpt-5",name:"Gpt 5"},{id:"openai/gpt-5-image",name:"Gpt 5 Image"},{id:"openai/gpt-5-image-mini",name:"Gpt 5 Image Mini"},{id:"openai/gpt-5-mini",name:"Gpt 5 Mini"},{id:"openai/gpt-5.2",name:"Gpt 5.2"},{id:"openai/gpt-5.4",name:"Gpt 5.4"},{id:"openai/gpt-5.4-image-2",name:"Gpt 5.4 Image 2",kind:"image"},{id:"openai/gpt-5.4-mini",name:"Gpt 5.4 Mini"},{id:"openai/gpt-5.4-nano",name:"Gpt 5.4 Nano"},{id:"openai/gpt-5.4-pro",name:"Gpt 5.4 Pro"},{id:"openai/gpt-5.5",name:"Gpt 5.5"},{id:"openai/gpt-5.5-pro",name:"Gpt 5.5 Pro"},{id:"openai/gpt-5.6-luna",name:"Gpt 5.6 Luna"},{id:"openai/gpt-5.6-sol",name:"Gpt 5.6 Sol"},{id:"openai/gpt-5.6-terra",name:"Gpt 5.6 Terra"},{id:"openai/gpt-audio",name:"Gpt Audio",kind:"audio"},{id:"openai/gpt-audio-mini",name:"Gpt Audio Mini",kind:"audio"},{id:"openai/gpt-oss-120b",name:"Gpt Oss 120B"},{id:"qwen/qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen/qwen3.5-122b-a10b",name:"Qwen3.5 122B A10B"},{id:"qwen/qwen3.5-35b-a3b",name:"Qwen3.5 35B A3B"},{id:"qwen/qwen3.5-397b-a17b",name:"Qwen3.5 397B A17B"},{id:"qwen/qwen3.5-9b",name:"Qwen3.5 9B"},{id:"qwen/qwen3.5-flash",name:"Qwen3.5 Flash"},{id:"qwen/qwen3.5-plus-02-15",name:"Qwen3.5 Plus 02 15"},{id:"qwen/qwen3.6-plus",name:"Qwen3.6 Plus"},{id:"qwen/qwen3.7-max",name:"Qwen3.7 Max"},{id:"qwen/qwen3.7-plus",name:"Qwen3.7 Plus"},{id:"qwen/qwen3.8-max",name:"Qwen3.8 Max"},{id:"qwen3.5-omni-plus",name:"Qwen3.5 Omni Plus"},{id:"qwen3.6-flash",name:"Qwen3.6 Flash"},{id:"sakana/fugu-ultra",name:"Fugu Ultra"},{id:"seed-2-0-code-preview-260328",name:"Seed 2 0 Code Preview 260328"},{id:"seed-2-0-lite-260428",name:"Seed 2 0 Lite 260428"},{id:"seed-2-0-mini-260428",name:"Seed 2 0 Mini 260428"},{id:"seed-2-0-pro-260328",name:"Seed 2 0 Pro 260328"},{id:"stepfun/step-3.5-flash",name:"Step 3.5 Flash"},{id:"stepfun/step-3.7-flash",name:"Step 3.7 Flash"},{id:"tencent/hy3-preview",name:"Hy3 Preview"},{id:"x-ai/grok-4.1-fast",name:"Grok 4.1 Fast"},{id:"x-ai/grok-4.20-beta",name:"Grok 4.20 Beta"},{id:"x-ai/grok-4.3",name:"Grok 4.3"},{id:"x-ai/grok-4.5",name:"Grok 4.5"},{id:"x-ai/grok-build-0.1",name:"Grok Build 0.1"},{id:"xiaomi/mimo-v2-flash",name:"Mimo V2 Flash"},{id:"xiaomi/mimo-v2-omni",name:"Mimo V2 Omni"},{id:"xiaomi/mimo-v2-pro",name:"Mimo V2 Pro"},{id:"xiaomi/mimo-v2.5",name:"Mimo V2.5"},{id:"xiaomi/mimo-v2.5-pro",name:"Mimo V2.5 Pro"},{id:"z-ai/glm-4.5-air",name:"Glm 4.5 Air"},{id:"z-ai/glm-4.6",name:"Glm 4.6"},{id:"z-ai/glm-4.6v",name:"Glm 4.6V"},{id:"z-ai/glm-4.7",name:"Glm 4.7"},{id:"z-ai/glm-5",name:"Glm 5"},{id:"z-ai/glm-5-turbo",name:"Glm 5 Turbo"},{id:"z-ai/glm-5.1",name:"Glm 5.1"},{id:"z-ai/glm-5.2",name:"Glm 5.2"}],serviceKinds:["llm","embedding","image"],embeddingConfig:{baseUrl:"https://api.tokenrouter.com/v1/embeddings",authType:"apikey",authHeader:"bearer"},imageConfig:{baseUrl:"https://api.tokenrouter.com/v1/images/generations"},modelsFetcher:{url:"https://api.tokenrouter.com/v1/models",type:"openai"},passthroughModels:!0},{id:"selfhosted-stt",priority:50,hasFree:!0,alias:"selfhosted-stt",display:{name:"Self-hosted STT",icon:"cloud",color:"#ffffffff",textIcon:"ST",website:"https://github.com/ggml-org/whisper.cpp"},category:"apikey",auth:{apiKey:{text:"Set providerSpecificData.baseUrl to the full transcriptions URL, e.g. http://host:8080/v1/audio/transcriptions. The API key is not checked by local servers; any value works."}},models:[{id:"whisper-1",name:"Whisper (self-hosted)",params:["language","response_format","temperature","prompt"],kind:"stt"}],serviceKinds:["stt"],sttConfig:{baseUrl:"http://localhost:8080/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"}},{id:"selfhosted-tts",priority:50,hasFree:!0,alias:"selfhosted-tts",display:{name:"Self-hosted TTS",icon:"cloud",color:"#ffffffff",textIcon:"TT",website:"https://github.com/remsky/Kokoro-FastAPI"},category:"apikey",auth:{apiKey:{text:"Set providerSpecificData.baseUrl to the server root, e.g. http://host:8080 — /v1/audio/speech is appended. The API key is not checked by local servers; any value works."}},models:[{id:"kokoro",name:"Kokoro (self-hosted)",params:["voice","response_format","speed"],kind:"tts"}],serviceKinds:["tts"],ttsConfig:{baseUrl:"http://localhost:8880",defaultModel:"kokoro",authType:"apikey",format:"openai-speech"}},{id:"selfhosted-embedding",priority:50,hasFree:!0,alias:"selfhosted-embedding",display:{name:"Self-hosted Embedding",icon:"cloud",color:"#ffffffff",textIcon:"SE",website:"https://github.com/ggml-org/llama.cpp"},category:"apikey",auth:{apiKey:{text:"Set providerSpecificData.baseUrl to the OpenAI base URL, e.g. http://host:8080/v1 — /embeddings is appended. The API key is not checked by local servers; any value works."}},models:[{id:"embedding",name:"Self-hosted embedding model",kind:"embedding"}],serviceKinds:["embedding"],embeddingConfig:{baseUrl:"http://localhost:8080/v1/embeddings",authType:"apikey",authHeader:"bearer"}},{id:"fish-audio",alias:"fish",display:{name:"Fish Audio",icon:"record_voice_over",color:"#1E9BF0",textIcon:"FA",website:"https://fish.audio",notice:{apiKeyUrl:"https://fish.audio/app/api-keys/"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.fish.audio/v1/tts",authType:"apikey",authHeader:"bearer",format:"fish-audio",models:[{id:"s2.1-pro-free",name:"S2.1 Pro Free"},{id:"s2.1-pro",name:"S2.1 Pro"},{id:"s2-pro",name:"S2 Pro"},{id:"s1",name:"S1"}]}},{id:"alitp-intl",priority:11,alias:"alitp-intl",display:{name:"Alibaba Token Plan",icon:"cloud",color:"#FF6A00",textIcon:"ATP",website:"https://www.alibabacloud.com/campaign/ai-landing-page-token",notice:{apiKeyUrl:"https://modelstudio.console.alibabacloud.com/?apiKey=1"}},category:"apikey",transport:{baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions",headers:{},quirks:{preserveCacheControl:!0}},models:[{id:"qwen3.8-max-preview",name:"Qwen3.8 Max Preview"},{id:"qwen3.7-max",name:"Qwen3.7 Max"},{id:"qwen3.7-plus",name:"Qwen3.7 Plus"},{id:"qwen3.6-flash",name:"Qwen3.6 Flash"},{id:"glm-5.2",name:"GLM 5.2"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"}]},{id:"xquik",alias:"xquik",display:{name:"Xquik",icon:"tag",color:"#5C3327",textIcon:"XQ",website:"https://docs.xquik.com/api-reference/x/search-tweets",notice:{apiKeyUrl:"https://xquik.com",text:"Searches public X posts. Billing uses 1 Xquik credit per returned post."}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://xquik.com/api/v1/x/tweets/search",validateUrl:"https://xquik.com/api/v1/credits",method:"GET",authType:"apikey",authHeader:"x-api-key",searchTypes:["x"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:6e4,creditsPerResult:1}}]}};
@@ -1 +1 @@
1
- "use strict";exports.id=3943,exports.ids=[3943],exports.modules={8521:(a,b,c)=>{c.d(b,{oD:()=>A,Og:()=>C,jT:()=>B,Sc:()=>D,Wm:()=>q,jR:()=>v,I9:()=>p,Ql:()=>s,$B:()=>I,pb:()=>F,qZ:()=>J});var d=c(35024),e=c(75924),f=c(39609);let g=new Map;async function h(a,b,c,d){if(!b)return c();let e=`${a}:${b}`,f=g.get(e);if(f){if(f.promise)return d?.info?.("TOKEN_REFRESH",`Reusing in-flight refresh for ${a}`),f.promise;if(f.expiresAt>Date.now())return d?.info?.("TOKEN_REFRESH",`Reusing recent refresh result for ${a}`),f.result;g.delete(e)}let h=(async()=>{try{let a=await c();return g.set(e,{result:a,expiresAt:Date.now()+1e4}),a}catch(a){throw g.delete(e),a}})();return g.set(e,{promise:h}),h}var i=c(18080);let j=null;async function k(a,b){return a?h("xai",a,async()=>{try{j||(j=new(await Promise.all([c.e(5615),c.e(4730)]).then(c.bind(c,84730))).XaiService);let b=await j.refreshAccessToken(a);return{accessToken:b.access_token,refreshToken:b.refresh_token||a,expiresIn:b.expires_in,idToken:b.id_token}}catch(c){b?.warn?.("TOKEN_REFRESH",`xai refresh failed: ${c?.message||c}`);let a=String(c?.message||"");if(a.includes("invalid_grant")||a.includes("invalid_request"))return{error:"invalid_grant"};return null}},b):null}let l={claude:{bodyFormat:"json",includeClientSecret:!1,url:()=>e.NA.anthropic.token,dedupKey:"claude"},iflow:{url:()=>e.NA.iflow.token,dedupKey:"iflow",extraHeaders:(a,b)=>({Authorization:`Basic ${btoa(`${b.clientId}:${b.clientSecret}`)}`})},github:{url:()=>e.NA.github.token,dedupKey:"github",includeClientSecret:a=>!!a?.clientSecret},kimi:{dedupKey:"kimi",extraHeaders:a=>(0,e.buildKimiHeaders)(a?.providerSpecificData?.deviceId)}};async function m(a,b,c,e){let f=d.xq[a],g=l[a]||{},i=function(a,b,c){if(c?.url)try{return c.url()}catch{}return b?.refreshUrl||d.sr[a]?.tokenUrl||null}(a,f,g);return f&&i?b?h(g.dedupKey||a,b,async()=>{try{let d,h,j,{format:k,body:l}=(d=g?.bodyFormat==="json"?"json":"form",h=g?.includeClientSecret===void 0||("function"==typeof g.includeClientSecret?g.includeClientSecret(f):g.includeClientSecret),j={grant_type:"refresh_token",refresh_token:b,client_id:f.clientId},(h&&f.clientSecret&&(j.client_secret=f.clientSecret),"json"===d)?{format:"json",body:JSON.stringify(j)}:{format:"form",body:new URLSearchParams(j)}),m={"Content-Type":"json"===k?"application/json":"application/x-www-form-urlencoded",Accept:"application/json",...g.extraHeaders&&g.extraHeaders(c,f)||{}},n=await fetch(i,{method:"POST",headers:m,body:l});if(!n.ok){let b=await n.text();return e?.error?.("TOKEN_REFRESH",`Failed to refresh token for ${a}`,{status:n.status,error:b}),null}let o=await n.json();return e?.info?.("TOKEN_REFRESH",`Successfully refreshed token for ${a}`,{hasNewAccessToken:!!o.access_token,hasNewRefreshToken:!!o.refresh_token,expiresIn:o.expires_in}),{accessToken:o.access_token,refreshToken:o.refresh_token||b,expiresIn:o.expires_in,...g.parse&&g.parse(o)||{}}}catch(b){return e?.error?.("TOKEN_REFRESH",`Error refreshing token for ${a}`,{error:b.message}),null}},e):(e?.warn?.("TOKEN_REFRESH",`No refresh token available for provider: ${a}`),null):(e?.warn?.("TOKEN_REFRESH",`No refresh URL configured for provider: ${a}`),null)}async function n(a,b,c){return m("kimi",a,b,c)}async function o(a,b){return m("claude",a,{},b)}async function p(a,b,c,d){return a?h(`google:${b}`,a,async()=>{try{let f=await fetch(e.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:b,client_secret:c})});if(!f.ok){let a=await f.text();return d?.error?.("TOKEN_REFRESH","Failed to refresh Google token",{status:f.status,error:a}),null}let g=await f.json();return d?.info?.("TOKEN_REFRESH","Successfully refreshed Google token",{hasNewAccessToken:!!g.access_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return d?.error?.("TOKEN_REFRESH",`Network error refreshing Google token: ${a.message}`),null}},d):null}async function q(a,b){return a?h("codex",a,async()=>{try{let c=await fetch(e.NA.openai.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({client_id:d.xq.codex.clientId,grant_type:"refresh_token",refresh_token:a})});if(!c.ok){let a=await c.text(),d=function(a="",b=0){let c=null;try{c=a?JSON.parse(a):null}catch{c=null}let d=c?.error?.code||c?.error||c?.error_code||"",e=c?.error_description||c?.message||a||"",f=`${d} ${e}`.toLowerCase();return{status:b,code:d,description:e,permanent:["refresh_token_expired","refresh_token_reused","refresh_token_invalidated","invalid_grant"].some(a=>f.includes(a))}}(a,c.status);if(d.permanent)return b?.error?.("TOKEN_REFRESH","Codex refresh token already used or invalid. Re-auth required.",{status:c.status,code:d.code}),{error:"unrecoverable_refresh_error",code:d.code};return b?.error?.("TOKEN_REFRESH","Failed to refresh Codex token",{status:c.status,error:a,code:d.code,permanent:d.permanent}),null}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Codex token",{hasNewAccessToken:!!f.access_token,hasNewRefreshToken:!!f.refresh_token,hasIdToken:!!f.id_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,idToken:f.id_token,expiresIn:f.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Codex token: ${a.message}`),null}},b):null}async function r(a,b,d){if(a?.profileArn)return{};let e=d?.trim?.()||null;if(!e){let{fetchKiroProfileArn:a}=await Promise.all([c.e(7774),c.e(5433),c.e(8920),c.e(6306),c.e(3225),c.e(2051),c.e(8499),c.e(318),c.e(8895),c.e(6832),c.e(3535)]).then(c.bind(c,74177));e=await a(b)}return e?{providerSpecificData:{profileArn:e}}:{}}async function s(a,b,c,e=null){return a?h("kiro",a,async()=>{let g=b?.authMethod,h=b?.clientId,j=b?.clientSecret,k=b?.region;if("external_idp"===g){let d;try{d=(0,i.uo)(a,b)}catch(a){return c?.warn?.("TOKEN_REFRESH",`Invalid Kiro external_idp refresh config: ${a.message}`),null}let g=await (0,f.proxyAwareFetch)(d.tokenEndpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:d.body},e);if(!g.ok){let a=await g.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro external_idp token",{status:g.status,error:a}),null}let h=await g.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro external_idp token",{hasNewAccessToken:!!h.access_token,hasNewRefreshToken:!!h.refresh_token,expiresIn:h.expires_in}),{accessToken:h.access_token,refreshToken:h.refresh_token||a,expiresIn:h.expires_in,providerSpecificData:d.providerSpecificData}}if(h&&j){let d="idc"===g&&k?`https://oidc.${k}.amazonaws.com/token`:"https://oidc.us-east-1.amazonaws.com/token",i=await (0,f.proxyAwareFetch)(d,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:h,clientSecret:j,refreshToken:a,grantType:"refresh_token"})},e);if(!i.ok){let a=await i.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro AWS token",{status:i.status,error:a}),null}let l=await i.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro AWS token",{hasNewAccessToken:!!l.accessToken,expiresIn:l.expiresIn}),{accessToken:l.accessToken,refreshToken:l.refreshToken||a,expiresIn:l.expiresIn,...await r(b,l.accessToken,l.profileArn)}}let l=await (0,f.proxyAwareFetch)(d.xq.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"kiro-cli/1.0.0"},body:JSON.stringify({refreshToken:a})},e);if(!l.ok){let a=await l.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro social token",{status:l.status,error:a}),null}let m=await l.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro social token",{hasNewAccessToken:!!m.accessToken,expiresIn:m.expiresIn}),{accessToken:m.accessToken,refreshToken:m.refreshToken||a,expiresIn:m.expiresIn,...await r(b,m.accessToken,m.profileArn)}},c):null}async function t(a,b){return m("iflow",a,{},b)}async function u(a,b){return m("github",a,{},b)}async function v(a,b){return a?h("copilot",a,async()=>{try{let c=await fetch(d.sr.github?.copilotTokenUrl,{headers:{Authorization:`token ${a}`,"User-Agent":e.x0.USER_AGENT,"Editor-Version":`vscode/${e.x0.VSCODE_VERSION}`,"Editor-Plugin-Version":`copilot-chat/${e.x0.COPILOT_CHAT_VERSION}`,Accept:"application/json","x-github-api-version":e.x0.API_VERSION}});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Copilot token",{status:c.status,error:a}),null}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Copilot token",{hasToken:!!f.token,expiresAt:f.expires_at}),{token:f.token,expiresAt:f.expires_at}}catch(a){return b?.error?.("TOKEN_REFRESH","Error refreshing Copilot token",{error:a.message}),null}},b):null}async function w(a,b){return a?h("codebuddy-cn",a,async()=>{let c=d.sr["codebuddy-cn"]||{},e=await fetch(c.refreshUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":c.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"copilot.tencent.com","X-Refresh-Token":a,"X-Auth-Refresh-Source":"plugin","X-Product":"SaaS"},body:"{}"});if(!e.ok){let a=await e.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh CodeBuddy token",{status:e.status,error:a}),null}let f=await e.json();return 0===f.code&&f.data?.accessToken?(b?.info?.("TOKEN_REFRESH","Successfully refreshed CodeBuddy token",{hasNewAccessToken:!!f.data.accessToken,hasNewRefreshToken:!!f.data.refreshToken,expiresIn:f.data.expiresIn}),{accessToken:f.data.accessToken,refreshToken:f.data.refreshToken||a,expiresIn:f.data.expiresIn}):(b?.error?.("TOKEN_REFRESH","CodeBuddy token refresh returned no token",{code:f.code,msg:f.msg}),null)},b):null}async function x(a,b){return a?h("codebuddy-intl",a,async()=>{let c=d.sr["codebuddy-intl"]||{},e=await fetch(c.refreshUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":c.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"www.codebuddy.ai","X-Refresh-Token":a,"X-Auth-Refresh-Source":"plugin","X-Product":"SaaS"},body:"{}"});if(!e.ok){let a=await e.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh CodeBuddy intl token",{status:e.status,error:a}),null}let f=await e.json();return 0===f.code&&f.data?.accessToken?(b?.info?.("TOKEN_REFRESH","Successfully refreshed CodeBuddy intl token",{hasNewAccessToken:!!f.data.accessToken,hasNewRefreshToken:!!f.data.refreshToken,expiresIn:f.data.expiresIn}),{accessToken:f.data.accessToken,refreshToken:f.data.refreshToken||a,expiresIn:f.data.expiresIn}):(b?.error?.("TOKEN_REFRESH","CodeBuddy intl token refresh returned no token",{code:f.code,msg:f.msg}),null)},b):null}async function y(a,b,c){if(!a)return null;let e=d.sr.trae||{},f=e.exchangeTokenUrl||e.tokenUrl;return f?h("trae",a,async()=>{try{let b,d=await fetch(f,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"Trae/1.0.0 antigravity-cockpit-tools"},body:JSON.stringify({ClientID:e.clientId||"ono9krqynydwx5",RefreshToken:a,ClientSecret:e.clientSecret||"-",UserID:""})});if(!d.ok){let a=await d.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Trae token",{status:d.status,error:a}),null}let g=await d.json(),h=g?.Result||g?.result||g,i=h?.AccessToken||h?.accessToken;if(!i)return c?.error?.("TOKEN_REFRESH","Trae refresh returned no AccessToken",{payload:g}),null;let j=h?.RefreshToken||h?.refreshToken||a,k=h?.ExpiresAt||h?.expiresAt;if("number"==typeof k)b=Math.max(1,k-Math.floor(Date.now()/1e3));else if("string"==typeof k){let a=new Date(k).getTime()-Date.now();b=a>0?Math.floor(a/1e3):void 0}return c?.info?.("TOKEN_REFRESH","Successfully refreshed Trae token",{hasNewAccessToken:!!i,hasNewRefreshToken:j!==a,expiresIn:b}),{accessToken:i,refreshToken:j,expiresIn:b}}catch(a){return c?.error?.("TOKEN_REFRESH",`Error refreshing Trae token: ${a.message}`),null}},c):(c?.warn?.("TOKEN_REFRESH","No Trae exchangeTokenUrl configured"),null)}async function z(a,b){return b?.info?.("TOKEN_REFRESH","windsurf: apiKey is long-lived (no refresh_token flow) — skipping"),null}let A=3e5;function B(a){return a&&"object"==typeof a&&("unrecoverable_refresh_error"===a.error||"refresh_token_reused"===a.error||"invalid_request"===a.error||"invalid_grant"===a.error)}function C(a){return e.Wu[a]?e.Wu[a]:"kimi-coding"===a&&e.Wu.kimi?e.Wu.kimi:A}function D(a){if("string"!=typeof a)return null;try{let b=JSON.parse(a);if("service_account"===b.type&&b.client_email&&b.private_key&&b.project_id)return b;return null}catch{return null}}let E=new Map;async function F(a,b){let d=a.client_email,f=E.get(d);if(f&&f.expiresAt-Date.now()>3e5)return{accessToken:f.token,expiresAt:f.expiresAt};try{let{SignJWT:f,importPKCS8:g}=await Promise.all([c.e(6935),c.e(8971)]).then(c.bind(c,8971));b?.debug?.("TOKEN_REFRESH",`Vertex minting token for ${a.client_email}`);let h=await g(a.private_key.replace(/\\n/g,"\n"),"RS256"),i=Math.floor(Date.now()/1e3),j=await new f({scope:"https://www.googleapis.com/auth/cloud-platform"}).setProtectedHeader({alg:"RS256"}).setIssuer(a.client_email).setAudience(e.NA.google.token).setIssuedAt(i).setExpirationTime(i+3600).sign(h),k=await fetch(e.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:j})});if(!k.ok){let a=await k.text();return b?.error?.("TOKEN_REFRESH",`Vertex token mint failed: ${a}`),null}let{access_token:l,expires_in:m}=await k.json(),n=Date.now()+(m??3600)*1e3;return E.set(d,{token:l,expiresAt:n}),b?.info?.("TOKEN_REFRESH",`Vertex token minted for ${a.client_email}`),{accessToken:l,expiresAt:n}}catch(a){return b?.error?.("TOKEN_REFRESH",`Vertex token error: ${a.message}`),null}}function G(a,b){let c=D(a.apiKey);return c?F(c,b):null}let H={"gemini-cli":(a,b)=>p(a.refreshToken,d.xq["gemini-cli"].clientId,d.xq["gemini-cli"].clientSecret,b),antigravity:(a,b)=>p(a.refreshToken,d.xq.antigravity.clientId,d.xq.antigravity.clientSecret,b),claude:(a,b)=>o(a.refreshToken,b),codex:(a,b)=>q(a.refreshToken,b),iflow:(a,b)=>t(a.refreshToken,b),github:(a,b)=>u(a.refreshToken,b),kiro:(a,b)=>s(a.refreshToken,a.providerSpecificData,b),xai:(a,b)=>k(a.refreshToken,b),"grok-cli":(a,b)=>k(a.refreshToken,b),gcli:(a,b)=>k(a.refreshToken,b),"codebuddy-cn":(a,b)=>w(a.refreshToken,b),"codebuddy-intl":(a,b)=>x(a.refreshToken,b),trae:(a,b)=>y(a.refreshToken,a,b),zed:()=>null,windsurf:(a,b)=>z(a,b),kimi:(a,b)=>n(a.refreshToken,a,b),"kimi-coding":(a,b)=>n(a.refreshToken,a,b),vertex:G,"vertex-partner":G};async function I(a,b,c){if(!b.refreshToken)return null;let d=H[a];return d?d(b,c):m(a,b.refreshToken,b,c)}async function J(a,b=3,c=null){for(let d=0;d<b;d++){if(d>0){let a=1e3*d;c?.debug?.("TOKEN_REFRESH",`Retry ${d}/${b} after ${a}ms`),await new Promise(b=>setTimeout(b,a))}try{let b=await a();if(b)return b}catch(a){c?.warn?.("TOKEN_REFRESH",`Attempt ${d+1}/${b} failed: ${a.message}`)}}return c?.error?.("TOKEN_REFRESH",`All ${b} retry attempts failed`),null}},18080:(a,b,c)=>{c.d(b,{Xj:()=>i,uo:()=>j});let d=new Set(["login.microsoftonline.com","login.microsoft.com","login.windows.net"]);function e(a){return"string"==typeof a?a.trim():""}function f(a){let b,c=e(a);if(!c)throw Error("token_endpoint is required");try{b=new URL(c)}catch{throw Error("token_endpoint must be a valid URL")}if("https:"!==b.protocol)throw Error("token_endpoint must use https");let f=b.hostname.toLowerCase();if(!d.has(f))throw Error("token_endpoint must be a Microsoft login endpoint");return b.toString()}function g(a){return Array.isArray(a)?a.map(e).filter(Boolean).join(" "):e(a)}function h(a){try{if(!a||"string"!=typeof a)return null;let b=a.split(".");if(3!==b.length)return null;let c=b[1].replace(/-/g,"+").replace(/_/g,"/"),d=(4-c.length%4)%4;return JSON.parse(Buffer.from(`${c}${"=".repeat(d)}`,"base64").toString("utf8"))}catch{return null}}function i(a){let b=a;if("string"==typeof b)try{b=JSON.parse(b)}catch{throw Error("CLIProxyAPI auth JSON is invalid")}if(!b||"object"!=typeof b)throw Error("CLIProxyAPI auth JSON is required");let c=e(b.auth_method||b.authMethod);if(c&&"external_idp"!==c)throw Error("Only external_idp Kiro auth is supported by this importer");let d=e(b.access_token||b.accessToken),i=e(b.refresh_token||b.refreshToken),j=e(b.client_id||b.clientId),k=f(b.token_endpoint||b.tokenEndpoint),l=e(b.profile_arn||b.profileArn),m=e(b.region)||"us-east-1",n=g(b.scopes||b.scope);if(!d)throw Error("access_token is required");if(!i)throw Error("refresh_token is required");if(!j)throw Error("client_id is required");if(!n)throw Error("scopes is required");if(!l)throw Error("profile_arn is required");let o=h(d),p=b.email||o?.email||o?.preferred_username||o?.upn||o?.sub||null;return{accessToken:d,refreshToken:i,expiresAt:function(a){let b=a.expired||a.expires_at||a.expiresAt;if(b){let a=new Date(b).getTime();if(Number.isFinite(a))return new Date(a).toISOString()}let c=Number(a.expires_in||a.expiresIn||0);if(Number.isFinite(c)&&c>0)return new Date(Date.now()+1e3*c).toISOString();let d=h(a.access_token||a.accessToken);return d?.exp?new Date(1e3*d.exp).toISOString():new Date(Date.now()+36e5).toISOString()}(b),email:p,providerSpecificData:{profileArn:l,region:m,authMethod:"external_idp",provider:"CLIProxyAPI",clientId:j,tokenEndpoint:k,scope:n}}}function j(a,b={}){let c=e(b.clientId||b.client_id),d=f(b.tokenEndpoint||b.token_endpoint),h=g(b.scope||b.scopes);if(!a)throw Error("refresh token is required");if(!c)throw Error("clientId is required for external_idp refresh");if(!h)throw Error("scope is required for external_idp refresh");return{tokenEndpoint:d,body:new URLSearchParams({grant_type:"refresh_token",client_id:c,refresh_token:a,scope:h}),providerSpecificData:{...b,authMethod:"external_idp",clientId:c,tokenEndpoint:d,scope:h}}}},39609:(a,b,c)=>{c.d(b,{proxyAwareFetch:()=>q});var d=c(27910),e=c(41004);let f=globalThis.fetch,g=new Map,h=new Map,i=["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"],j=["8.8.8.8","8.8.4.4"];function k(a){return null==a?"":String(a).trim()}async function l(a){let b=h.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(j);let g=d(f.resolve4.bind(f)),i=await g(a);return h.set(a,{ip:i[0],expiry:Date.now()+e.v1.dnsCacheTtlMs}),i[0]}catch(b){return console.warn(`[ProxyFetch] DNS resolve failed for ${a}:`,b.message),null}}function m(a,b){let c,d=k(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 n(a){let b=k(a);if(!b)return null;try{return new URL(b),b}catch{return`http://${b}`}}async function o(a){let b=n(a);if(!b)return null;if(!g.has(b)){g.size>=e.v1.proxyDispatchersMaxSize&&g.delete(g.keys().next().value);let{ProxyAgent:a}=await c.e(7774).then(c.t.bind(c,47774,19));g.set(b,new a({uri:b}))}return g.get(b)}async function p(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,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 q(a,b={},c=null){let d="string"==typeof a?a:a.toString(),e=k(c?.vercelRelayUrl);if(e){let a=new URL(d),c={...b.headers,"x-relay-target":`${a.protocol}//${a.host}`,"x-relay-path":`${a.pathname}${a.search}`};return f(e,{...b,headers:c})}let g=function(a,b){if(b?.enabled!==!0&&b?.connectionProxyEnabled!==!0)return null;let c=k(b?.url??b?.connectionProxyUrl);if(!c)return null;let d=k(b?.noProxy??b?.connectionNoProxy);return d&&m(a,d)?null:n(c)}(d,c),h=g?null:n(function(a){let b;if(m(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)),j=g||h;if(function(a){try{let b=new URL(a).hostname;return i.some(a=>b.includes(a))}catch{return!1}}(d)){if(j)try{let c=await o(j);return await f(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 l(a.hostname);if(c)return await p(a,c,b)}catch(a){console.warn(`[ProxyFetch] MITM bypass failed: ${a.message}`)}}if(j)try{let c=await o(j);return await f(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 f(a,b)}async function r(a,b={}){return q(a,b,null)}globalThis.fetch!==r&&(globalThis.fetch=r)},75924:(a,b,c)=>{let d;c.d(b,{Cn:()=>n,Co:()=>w,Ic:()=>t,J5:()=>q,K:()=>r,NA:()=>y,QH:()=>o,Wu:()=>x,buildKimiHeaders:()=>z,go:()=>i,j5:()=>u,nZ:()=>s,sX:()=>j,uR:()=>p,x0:()=>l,zv:()=>v});var e=c(21820),f=c(35024),g=c(74129);let h=f.xq["gemini-cli"]?.cliVersion,i=f.xq["gemini-cli"]?.apiClient;function j(a="unknown"){let b;return`GeminiCLI/${h}/${a||"unknown"} (${(0,e.platform)()}; ${"ia32"===(b=(0,e.arch)())?"x86":b}; terminal)`}let k=f.xq.github?.copilot||{},l={VSCODE_VERSION:k.vscodeVersion,COPILOT_CHAT_VERSION:k.chatVersion,USER_AGENT:k.userAgent,API_VERSION:k.apiVersion};function m(){let a=(0,e.platform)(),b=(0,e.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}let n={ideType:9,platform:m(),pluginType:2},o="_ide",p="_ide",q=new Set(["browser_subagent","command_status","find_by_name","generate_image","grep_search","list_dir","list_resources","multi_replace_file_content","notify_user","read_resource","read_terminal","read_url_content","replace_file_content","run_command","search_web","send_command_input","task_boundary","view_content_chunk","view_file","write_to_file"]),r={"User-Agent":g.Of},s={"gemini-cli":{loadCodeAssist:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUser:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser"},antigravity:{loadCodeAssist:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUser:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser"}},t={"Content-Type":"application/json","User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"google-cloud-sdk vscode_cloudshelleditor/0.1","Client-Metadata":JSON.stringify({ideType:9,platform:m(),pluginType:2})},u={"Content-Type":"application/json","User-Agent":g.Of},v={ideType:9,platform:m(),pluginType:2},w="You are Claude Code, Anthropic's official CLI for Claude.",x=Object.fromEntries(Object.entries(f.sr).filter(([,a])=>a.refreshLeadMs).map(([a,b])=>[a,b.refreshLeadMs])),y={google:{token:"https://oauth2.googleapis.com/token",auth:"https://accounts.google.com/o/oauth2/auth"},openai:{token:f.sr.codex?.tokenUrl,auth:f.sr.codex?.authorizeUrl},anthropic:{token:f.sr.claude?.tokenUrl,auth:"https://api.anthropic.com/v1/oauth/authorize"},iflow:{token:f.sr.iflow?.tokenUrl,auth:f.sr.iflow?.authorizeUrl},github:{token:f.sr.github?.tokenUrl,auth:f.sr.github?.authorizeUrl,deviceCode:f.sr.github?.deviceCodeUrl}};function z(a){let b=(0,e.platform)(),f=(0,e.arch)(),g=`${b} ${f}`;"darwin"===b?g=`macOS ${f}`:"win32"===b?g=`Windows ${f}`:"linux"===b&&(g=`Linux ${f}`);let h="unknown";try{h=(0,e.hostname)()||"unknown"}catch{h="unknown"}let i="string"==typeof a&&a.trim()?a.trim():`kimi-${Date.now()}`;return{"X-Msh-Platform":"9router","X-Msh-Version":function(){if(d)return d;try{d=c(39006).rE||"0.0.0"}catch{d=process.env.npm_package_version||"0.0.0"}return d}(),"X-Msh-Device-Name":h,"X-Msh-Device-Model":g,"X-Msh-Device-Id":i}}},93943:(a,b,c)=>{c.d(b,{Dz:()=>i,Vq:()=>l,fp:()=>j});var d=c(8521),e=c(26070);let f=e.sr.codex?.maxRefreshAgeMs,g=new Map;function h(a){if(null==a||""===a)return null;if("number"==typeof a)return a<1e12?1e3*a:a;let b=new Date(a).getTime();return Number.isFinite(b)?b:null}function i(a){return h(a?.expiresAt??a?.tokenExpiresAt)}function j(a,b,c=Date.now()){if(!b)return!1;let g=i(b);if(null!==g&&g-c<(0,d.Og)(a))return!0;let k=e.sr[a]?.maxRefreshAgeMs;return!!(k&&b.refreshToken&&function(a,b=Date.now(),c=f){let d=h(a?.lastRefreshAt??a?.lastRefresh??a?.providerSpecificData?.lastRefreshAt);return!d||b-d>=c}(b,c,k))}async function k(a,b,c){let d,e=(d=b?.connectionId||b?.id||b?.email||b?.name||b?.refreshToken?.slice?.(-16)||"default",`${a}:${d}`),f=g.get(e);if(f)return f;let h=Promise.resolve().then(c).finally(()=>{g.delete(e)});return g.set(e,h),h}async function l(a,b,c){return b?k(a,b,async()=>{let f=await (0,d.$B)(a,b,c);return function(a,b,c,f=Date.now()){var g,h;if(!c)return null;if((0,d.jT)(c))return c;let i={},j=new Date(f).toISOString();c.accessToken&&(i.accessToken=c.accessToken),c.apiKey&&(i.apiKey=c.apiKey),c.token&&(i.token=c.token);let k=c.refreshToken??b?.refreshToken;k&&(i.refreshToken=k);let l=c.idToken??b?.idToken;return l&&(i.idToken=l),c.expiresIn?(i.expiresIn=c.expiresIn,i.expiresAt=function(a,b=Date.now()){return a?new Date(b+1e3*a).toISOString():null}(c.expiresIn,f)):c.expiresAt&&(i.expiresAt=c.expiresAt),c.projectId&&(i.projectId=c.projectId),c.providerSpecificData&&(g=b?.providerSpecificData,i.providerSpecificData=(h=c.providerSpecificData)&&"object"==typeof h?{...g||{},...h}:g),c.copilotToken&&(i.copilotToken=c.copilotToken),c.copilotTokenExpiresAt&&(i.copilotTokenExpiresAt=c.copilotTokenExpiresAt),(e.sr[a]?.trackRefreshAt||i.accessToken||i.apiKey||i.token||i.refreshToken||i.copilotToken)&&(i.lastRefreshAt=c.lastRefreshAt||j),i}(a,b,f)}):null}}};
1
+ "use strict";exports.id=3943,exports.ids=[3943],exports.modules={8521:(a,b,c)=>{c.d(b,{oD:()=>B,Og:()=>D,jT:()=>C,Sc:()=>E,Wm:()=>r,jR:()=>w,I9:()=>q,Ql:()=>t,$B:()=>J,pb:()=>G,qZ:()=>K});var d=c(35024),e=c(75924),f=c(39609);let g=new Map;async function h(a,b,c,d){if(!b)return c();let e=`${a}:${b}`,f=g.get(e);if(f){if(f.promise)return d?.info?.("TOKEN_REFRESH",`Reusing in-flight refresh for ${a}`),f.promise;if(f.expiresAt>Date.now())return d?.info?.("TOKEN_REFRESH",`Reusing recent refresh result for ${a}`),f.result;g.delete(e)}let h=(async()=>{try{let a=await c();return g.set(e,{result:a,expiresAt:Date.now()+1e4}),a}catch(a){throw g.delete(e),a}})();return g.set(e,{promise:h}),h}var i=c(18080);let j=null;async function k(a,b){return a?h("xai",a,async()=>{try{j||(j=new(await Promise.all([c.e(5615),c.e(4730)]).then(c.bind(c,84730))).XaiService);let b=await j.refreshAccessToken(a);return{accessToken:b.access_token,refreshToken:b.refresh_token||a,expiresIn:b.expires_in,idToken:b.id_token}}catch(c){b?.warn?.("TOKEN_REFRESH",`xai refresh failed: ${c?.message||c}`);let a=String(c?.message||"");if(a.includes("invalid_grant")||a.includes("invalid_request"))return{error:"invalid_grant"};return null}},b):null}let l={claude:{bodyFormat:"json",includeClientSecret:!1,url:()=>e.NA.anthropic.token,dedupKey:"claude"},iflow:{url:()=>e.NA.iflow.token,dedupKey:"iflow",extraHeaders:(a,b)=>({Authorization:`Basic ${btoa(`${b.clientId}:${b.clientSecret}`)}`})},github:{url:()=>e.NA.github.token,dedupKey:"github",includeClientSecret:a=>!!a?.clientSecret},kimi:{dedupKey:"kimi",extraHeaders:a=>(0,e.buildKimiHeaders)(a?.providerSpecificData?.deviceId)}};async function m(a,b,c,e){let f=d.xq[a],g=l[a]||{},i=function(a,b,c){if(c?.url)try{return c.url()}catch{}return b?.refreshUrl||d.sr[a]?.tokenUrl||null}(a,f,g);return f&&i?b?h(g.dedupKey||a,b,async()=>{try{let d,h,j,{format:k,body:l}=(d=g?.bodyFormat==="json"?"json":"form",h=g?.includeClientSecret===void 0||("function"==typeof g.includeClientSecret?g.includeClientSecret(f):g.includeClientSecret),j={grant_type:"refresh_token",refresh_token:b,client_id:f.clientId},(h&&f.clientSecret&&(j.client_secret=f.clientSecret),"json"===d)?{format:"json",body:JSON.stringify(j)}:{format:"form",body:new URLSearchParams(j)}),m={"Content-Type":"json"===k?"application/json":"application/x-www-form-urlencoded",Accept:"application/json",...g.extraHeaders&&g.extraHeaders(c,f)||{}},n=await fetch(i,{method:"POST",headers:m,body:l});if(!n.ok){let b=await n.text();return e?.error?.("TOKEN_REFRESH",`Failed to refresh token for ${a}`,{status:n.status,error:b}),null}let o=await n.json();return e?.info?.("TOKEN_REFRESH",`Successfully refreshed token for ${a}`,{hasNewAccessToken:!!o.access_token,hasNewRefreshToken:!!o.refresh_token,expiresIn:o.expires_in}),{accessToken:o.access_token,refreshToken:o.refresh_token||b,expiresIn:o.expires_in,...g.parse&&g.parse(o)||{}}}catch(b){return e?.error?.("TOKEN_REFRESH",`Error refreshing token for ${a}`,{error:b.message}),null}},e):(e?.warn?.("TOKEN_REFRESH",`No refresh token available for provider: ${a}`),null):(e?.warn?.("TOKEN_REFRESH",`No refresh URL configured for provider: ${a}`),null)}async function n(a,b,c){return m("kimi",a,b,c)}async function o(a,b){return a?h("cline",a,async()=>{try{let c=await fetch(d.xq.cline?.refreshUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:a,grantType:"refresh_token",clientType:"extension"})});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Cline token",{status:c.status,error:a}),null}let e=await c.json(),f=e?.data||e;if(!f?.accessToken)return null;let g=f.expiresAt?Math.max(1,Math.floor((new Date(f.expiresAt).getTime()-Date.now())/1e3)):f.expiresIn||f.expires_in||3600;return{accessToken:f.accessToken,refreshToken:f.refreshToken||a,expiresIn:g}}catch(a){return b?.error?.("TOKEN_REFRESH",`Error refreshing Cline token: ${a.message}`),null}},b):null}async function p(a,b){return m("claude",a,{},b)}async function q(a,b,c,d){return a?h(`google:${b}`,a,async()=>{try{let f=await fetch(e.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:b,client_secret:c})});if(!f.ok){let a=await f.text();return d?.error?.("TOKEN_REFRESH","Failed to refresh Google token",{status:f.status,error:a}),null}let g=await f.json();return d?.info?.("TOKEN_REFRESH","Successfully refreshed Google token",{hasNewAccessToken:!!g.access_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return d?.error?.("TOKEN_REFRESH",`Network error refreshing Google token: ${a.message}`),null}},d):null}async function r(a,b){return a?h("codex",a,async()=>{try{let c=await fetch(e.NA.openai.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({client_id:d.xq.codex.clientId,grant_type:"refresh_token",refresh_token:a})});if(!c.ok){let a=await c.text(),d=function(a="",b=0){let c=null;try{c=a?JSON.parse(a):null}catch{c=null}let d=c?.error?.code||c?.error||c?.error_code||"",e=c?.error_description||c?.message||a||"",f=`${d} ${e}`.toLowerCase();return{status:b,code:d,description:e,permanent:["refresh_token_expired","refresh_token_reused","refresh_token_invalidated","invalid_grant"].some(a=>f.includes(a))}}(a,c.status);if(d.permanent)return b?.error?.("TOKEN_REFRESH","Codex refresh token already used or invalid. Re-auth required.",{status:c.status,code:d.code}),{error:"unrecoverable_refresh_error",code:d.code};return b?.error?.("TOKEN_REFRESH","Failed to refresh Codex token",{status:c.status,error:a,code:d.code,permanent:d.permanent}),null}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Codex token",{hasNewAccessToken:!!f.access_token,hasNewRefreshToken:!!f.refresh_token,hasIdToken:!!f.id_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,idToken:f.id_token,expiresIn:f.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Codex token: ${a.message}`),null}},b):null}async function s(a,b,d){if(a?.profileArn)return{};let e=d?.trim?.()||null;if(!e){let{fetchKiroProfileArn:a}=await Promise.all([c.e(7774),c.e(5433),c.e(8920),c.e(24),c.e(3225),c.e(2051),c.e(8499),c.e(318),c.e(8895),c.e(6832),c.e(3535)]).then(c.bind(c,74177));e=await a(b)}return e?{providerSpecificData:{profileArn:e}}:{}}async function t(a,b,c,e=null){return a?h("kiro",a,async()=>{let g=b?.authMethod,h=b?.clientId,j=b?.clientSecret,k=b?.region;if("external_idp"===g){let d;try{d=(0,i.uo)(a,b)}catch(a){return c?.warn?.("TOKEN_REFRESH",`Invalid Kiro external_idp refresh config: ${a.message}`),null}let g=await (0,f.proxyAwareFetch)(d.tokenEndpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:d.body},e);if(!g.ok){let a=await g.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro external_idp token",{status:g.status,error:a}),null}let h=await g.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro external_idp token",{hasNewAccessToken:!!h.access_token,hasNewRefreshToken:!!h.refresh_token,expiresIn:h.expires_in}),{accessToken:h.access_token,refreshToken:h.refresh_token||a,expiresIn:h.expires_in,providerSpecificData:d.providerSpecificData}}if(h&&j){let d="idc"===g&&k?`https://oidc.${k}.amazonaws.com/token`:"https://oidc.us-east-1.amazonaws.com/token",i=await (0,f.proxyAwareFetch)(d,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:h,clientSecret:j,refreshToken:a,grantType:"refresh_token"})},e);if(!i.ok){let a=await i.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro AWS token",{status:i.status,error:a}),null}let l=await i.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro AWS token",{hasNewAccessToken:!!l.accessToken,expiresIn:l.expiresIn}),{accessToken:l.accessToken,refreshToken:l.refreshToken||a,expiresIn:l.expiresIn,...await s(b,l.accessToken,l.profileArn)}}let l=await (0,f.proxyAwareFetch)(d.xq.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"kiro-cli/1.0.0"},body:JSON.stringify({refreshToken:a})},e);if(!l.ok){let a=await l.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro social token",{status:l.status,error:a}),null}let m=await l.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro social token",{hasNewAccessToken:!!m.accessToken,expiresIn:m.expiresIn}),{accessToken:m.accessToken,refreshToken:m.refreshToken||a,expiresIn:m.expiresIn,...await s(b,m.accessToken,m.profileArn)}},c):null}async function u(a,b){return m("iflow",a,{},b)}async function v(a,b){return m("github",a,{},b)}async function w(a,b){return a?h("copilot",a,async()=>{try{let c=await fetch(d.sr.github?.copilotTokenUrl,{headers:{Authorization:`token ${a}`,"User-Agent":e.x0.USER_AGENT,"Editor-Version":`vscode/${e.x0.VSCODE_VERSION}`,"Editor-Plugin-Version":`copilot-chat/${e.x0.COPILOT_CHAT_VERSION}`,Accept:"application/json","x-github-api-version":e.x0.API_VERSION}});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Copilot token",{status:c.status,error:a}),null}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Copilot token",{hasToken:!!f.token,expiresAt:f.expires_at}),{token:f.token,expiresAt:f.expires_at}}catch(a){return b?.error?.("TOKEN_REFRESH","Error refreshing Copilot token",{error:a.message}),null}},b):null}async function x(a,b){return a?h("codebuddy-cn",a,async()=>{let c=d.sr["codebuddy-cn"]||{},e=await fetch(c.refreshUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":c.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"copilot.tencent.com","X-Refresh-Token":a,"X-Auth-Refresh-Source":"plugin","X-Product":"SaaS"},body:"{}"});if(!e.ok){let a=await e.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh CodeBuddy token",{status:e.status,error:a}),null}let f=await e.json();return 0===f.code&&f.data?.accessToken?(b?.info?.("TOKEN_REFRESH","Successfully refreshed CodeBuddy token",{hasNewAccessToken:!!f.data.accessToken,hasNewRefreshToken:!!f.data.refreshToken,expiresIn:f.data.expiresIn}),{accessToken:f.data.accessToken,refreshToken:f.data.refreshToken||a,expiresIn:f.data.expiresIn}):(b?.error?.("TOKEN_REFRESH","CodeBuddy token refresh returned no token",{code:f.code,msg:f.msg}),null)},b):null}async function y(a,b){return a?h("codebuddy-intl",a,async()=>{let c=d.sr["codebuddy-intl"]||{},e=await fetch(c.refreshUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":c.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"www.codebuddy.ai","X-Refresh-Token":a,"X-Auth-Refresh-Source":"plugin","X-Product":"SaaS"},body:"{}"});if(!e.ok){let a=await e.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh CodeBuddy intl token",{status:e.status,error:a}),null}let f=await e.json();return 0===f.code&&f.data?.accessToken?(b?.info?.("TOKEN_REFRESH","Successfully refreshed CodeBuddy intl token",{hasNewAccessToken:!!f.data.accessToken,hasNewRefreshToken:!!f.data.refreshToken,expiresIn:f.data.expiresIn}),{accessToken:f.data.accessToken,refreshToken:f.data.refreshToken||a,expiresIn:f.data.expiresIn}):(b?.error?.("TOKEN_REFRESH","CodeBuddy intl token refresh returned no token",{code:f.code,msg:f.msg}),null)},b):null}async function z(a,b,c){if(!a)return null;let e=d.sr.trae||{},f=e.exchangeTokenUrl||e.tokenUrl;return f?h("trae",a,async()=>{try{let b,d=await fetch(f,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"Trae/1.0.0 antigravity-cockpit-tools"},body:JSON.stringify({ClientID:e.clientId||"ono9krqynydwx5",RefreshToken:a,ClientSecret:e.clientSecret||"-",UserID:""})});if(!d.ok){let a=await d.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Trae token",{status:d.status,error:a}),null}let g=await d.json(),h=g?.Result||g?.result||g,i=h?.AccessToken||h?.accessToken;if(!i)return c?.error?.("TOKEN_REFRESH","Trae refresh returned no AccessToken",{payload:g}),null;let j=h?.RefreshToken||h?.refreshToken||a,k=h?.ExpiresAt||h?.expiresAt;if("number"==typeof k)b=Math.max(1,k-Math.floor(Date.now()/1e3));else if("string"==typeof k){let a=new Date(k).getTime()-Date.now();b=a>0?Math.floor(a/1e3):void 0}return c?.info?.("TOKEN_REFRESH","Successfully refreshed Trae token",{hasNewAccessToken:!!i,hasNewRefreshToken:j!==a,expiresIn:b}),{accessToken:i,refreshToken:j,expiresIn:b}}catch(a){return c?.error?.("TOKEN_REFRESH",`Error refreshing Trae token: ${a.message}`),null}},c):(c?.warn?.("TOKEN_REFRESH","No Trae exchangeTokenUrl configured"),null)}async function A(a,b){return b?.info?.("TOKEN_REFRESH","windsurf: apiKey is long-lived (no refresh_token flow) — skipping"),null}let B=3e5;function C(a){return a&&"object"==typeof a&&("unrecoverable_refresh_error"===a.error||"refresh_token_reused"===a.error||"invalid_request"===a.error||"invalid_grant"===a.error)}function D(a){return e.Wu[a]?e.Wu[a]:"kimi-coding"===a&&e.Wu.kimi?e.Wu.kimi:B}function E(a){if("string"!=typeof a)return null;try{let b=JSON.parse(a);if("service_account"===b.type&&b.client_email&&b.private_key&&b.project_id)return b;return null}catch{return null}}let F=new Map;async function G(a,b){let d=a.client_email,f=F.get(d);if(f&&f.expiresAt-Date.now()>3e5)return{accessToken:f.token,expiresAt:f.expiresAt};try{let{SignJWT:f,importPKCS8:g}=await Promise.all([c.e(6935),c.e(8971)]).then(c.bind(c,8971));b?.debug?.("TOKEN_REFRESH",`Vertex minting token for ${a.client_email}`);let h=await g(a.private_key.replace(/\\n/g,"\n"),"RS256"),i=Math.floor(Date.now()/1e3),j=await new f({scope:"https://www.googleapis.com/auth/cloud-platform"}).setProtectedHeader({alg:"RS256"}).setIssuer(a.client_email).setAudience(e.NA.google.token).setIssuedAt(i).setExpirationTime(i+3600).sign(h),k=await fetch(e.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:j})});if(!k.ok){let a=await k.text();return b?.error?.("TOKEN_REFRESH",`Vertex token mint failed: ${a}`),null}let{access_token:l,expires_in:m}=await k.json(),n=Date.now()+(m??3600)*1e3;return F.set(d,{token:l,expiresAt:n}),b?.info?.("TOKEN_REFRESH",`Vertex token minted for ${a.client_email}`),{accessToken:l,expiresAt:n}}catch(a){return b?.error?.("TOKEN_REFRESH",`Vertex token error: ${a.message}`),null}}function H(a,b){let c=E(a.apiKey);return c?G(c,b):null}let I={"gemini-cli":(a,b)=>q(a.refreshToken,d.xq["gemini-cli"].clientId,d.xq["gemini-cli"].clientSecret,b),antigravity:(a,b)=>q(a.refreshToken,d.xq.antigravity.clientId,d.xq.antigravity.clientSecret,b),claude:(a,b)=>p(a.refreshToken,b),codex:(a,b)=>r(a.refreshToken,b),iflow:(a,b)=>u(a.refreshToken,b),github:(a,b)=>v(a.refreshToken,b),kiro:(a,b)=>t(a.refreshToken,a.providerSpecificData,b),xai:(a,b)=>k(a.refreshToken,b),"grok-cli":(a,b)=>k(a.refreshToken,b),gcli:(a,b)=>k(a.refreshToken,b),"codebuddy-cn":(a,b)=>x(a.refreshToken,b),"codebuddy-intl":(a,b)=>y(a.refreshToken,b),trae:(a,b)=>z(a.refreshToken,a,b),cline:(a,b)=>o(a.refreshToken,b),zed:()=>null,windsurf:(a,b)=>A(a,b),kimi:(a,b)=>n(a.refreshToken,a,b),"kimi-coding":(a,b)=>n(a.refreshToken,a,b),vertex:H,"vertex-partner":H};async function J(a,b,c){if(!b.refreshToken)return null;let d=I[a];return d?d(b,c):m(a,b.refreshToken,b,c)}async function K(a,b=3,c=null){for(let d=0;d<b;d++){if(d>0){let a=1e3*d;c?.debug?.("TOKEN_REFRESH",`Retry ${d}/${b} after ${a}ms`),await new Promise(b=>setTimeout(b,a))}try{let b=await a();if(b)return b}catch(a){c?.warn?.("TOKEN_REFRESH",`Attempt ${d+1}/${b} failed: ${a.message}`)}}return c?.error?.("TOKEN_REFRESH",`All ${b} retry attempts failed`),null}},18080:(a,b,c)=>{c.d(b,{Xj:()=>i,uo:()=>j});let d=new Set(["login.microsoftonline.com","login.microsoft.com","login.windows.net"]);function e(a){return"string"==typeof a?a.trim():""}function f(a){let b,c=e(a);if(!c)throw Error("token_endpoint is required");try{b=new URL(c)}catch{throw Error("token_endpoint must be a valid URL")}if("https:"!==b.protocol)throw Error("token_endpoint must use https");let f=b.hostname.toLowerCase();if(!d.has(f))throw Error("token_endpoint must be a Microsoft login endpoint");return b.toString()}function g(a){return Array.isArray(a)?a.map(e).filter(Boolean).join(" "):e(a)}function h(a){try{if(!a||"string"!=typeof a)return null;let b=a.split(".");if(3!==b.length)return null;let c=b[1].replace(/-/g,"+").replace(/_/g,"/"),d=(4-c.length%4)%4;return JSON.parse(Buffer.from(`${c}${"=".repeat(d)}`,"base64").toString("utf8"))}catch{return null}}function i(a){let b=a;if("string"==typeof b)try{b=JSON.parse(b)}catch{throw Error("CLIProxyAPI auth JSON is invalid")}if(!b||"object"!=typeof b)throw Error("CLIProxyAPI auth JSON is required");let c=e(b.auth_method||b.authMethod);if(c&&"external_idp"!==c)throw Error("Only external_idp Kiro auth is supported by this importer");let d=e(b.access_token||b.accessToken),i=e(b.refresh_token||b.refreshToken),j=e(b.client_id||b.clientId),k=f(b.token_endpoint||b.tokenEndpoint),l=e(b.profile_arn||b.profileArn),m=e(b.region)||"us-east-1",n=g(b.scopes||b.scope);if(!d)throw Error("access_token is required");if(!i)throw Error("refresh_token is required");if(!j)throw Error("client_id is required");if(!n)throw Error("scopes is required");if(!l)throw Error("profile_arn is required");let o=h(d),p=b.email||o?.email||o?.preferred_username||o?.upn||o?.sub||null;return{accessToken:d,refreshToken:i,expiresAt:function(a){let b=a.expired||a.expires_at||a.expiresAt;if(b){let a=new Date(b).getTime();if(Number.isFinite(a))return new Date(a).toISOString()}let c=Number(a.expires_in||a.expiresIn||0);if(Number.isFinite(c)&&c>0)return new Date(Date.now()+1e3*c).toISOString();let d=h(a.access_token||a.accessToken);return d?.exp?new Date(1e3*d.exp).toISOString():new Date(Date.now()+36e5).toISOString()}(b),email:p,providerSpecificData:{profileArn:l,region:m,authMethod:"external_idp",provider:"CLIProxyAPI",clientId:j,tokenEndpoint:k,scope:n}}}function j(a,b={}){let c=e(b.clientId||b.client_id),d=f(b.tokenEndpoint||b.token_endpoint),h=g(b.scope||b.scopes);if(!a)throw Error("refresh token is required");if(!c)throw Error("clientId is required for external_idp refresh");if(!h)throw Error("scope is required for external_idp refresh");return{tokenEndpoint:d,body:new URLSearchParams({grant_type:"refresh_token",client_id:c,refresh_token:a,scope:h}),providerSpecificData:{...b,authMethod:"external_idp",clientId:c,tokenEndpoint:d,scope:h}}}},93943:(a,b,c)=>{c.d(b,{Dz:()=>i,Vq:()=>l,fp:()=>j});var d=c(8521),e=c(26070);let f=e.sr.codex?.maxRefreshAgeMs,g=new Map;function h(a){if(null==a||""===a)return null;if("number"==typeof a)return a<1e12?1e3*a:a;let b=new Date(a).getTime();return Number.isFinite(b)?b:null}function i(a){return h(a?.expiresAt??a?.tokenExpiresAt)}function j(a,b,c=Date.now()){if(!b)return!1;let g=i(b);if(null!==g&&g-c<(0,d.Og)(a))return!0;let k=e.sr[a]?.maxRefreshAgeMs;return!!(k&&b.refreshToken&&function(a,b=Date.now(),c=f){let d=h(a?.lastRefreshAt??a?.lastRefresh??a?.providerSpecificData?.lastRefreshAt);return!d||b-d>=c}(b,c,k))}async function k(a,b,c){let d,e=(d=b?.connectionId||b?.id||b?.email||b?.name||b?.refreshToken?.slice?.(-16)||"default",`${a}:${d}`),f=g.get(e);if(f)return f;let h=Promise.resolve().then(c).finally(()=>{g.delete(e)});return g.set(e,h),h}async function l(a,b,c){return b?k(a,b,async()=>{let f=await (0,d.$B)(a,b,c);return function(a,b,c,f=Date.now()){var g,h;if(!c)return null;if((0,d.jT)(c))return c;let i={},j=new Date(f).toISOString();c.accessToken&&(i.accessToken=c.accessToken),c.apiKey&&(i.apiKey=c.apiKey),c.token&&(i.token=c.token);let k=c.refreshToken??b?.refreshToken;k&&(i.refreshToken=k);let l=c.idToken??b?.idToken;return l&&(i.idToken=l),c.expiresIn?(i.expiresIn=c.expiresIn,i.expiresAt=function(a,b=Date.now()){return a?new Date(b+1e3*a).toISOString():null}(c.expiresIn,f)):c.expiresAt&&(i.expiresAt=c.expiresAt),c.projectId&&(i.projectId=c.projectId),c.providerSpecificData&&(g=b?.providerSpecificData,i.providerSpecificData=(h=c.providerSpecificData)&&"object"==typeof h?{...g||{},...h}:g),c.copilotToken&&(i.copilotToken=c.copilotToken),c.copilotTokenExpiresAt&&(i.copilotTokenExpiresAt=c.copilotTokenExpiresAt),(e.sr[a]?.trackRefreshAt||i.accessToken||i.apiKey||i.token||i.refreshToken||i.copilotToken)&&(i.lastRefreshAt=c.lastRefreshAt||j),i}(a,b,f)}):null}}};