omniroute 2.3.0 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/app/.next/BUILD_ID +1 -1
  2. package/app/.next/app-path-routes-manifest.json +40 -40
  3. package/app/.next/build-manifest.json +2 -2
  4. package/app/.next/prerender-manifest.json +3 -3
  5. package/app/.next/server/app/(dashboard)/dashboard/a2a/page_client-reference-manifest.js +1 -1
  6. package/app/.next/server/app/(dashboard)/dashboard/agents/page_client-reference-manifest.js +1 -1
  7. package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  8. package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
  9. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
  10. package/app/.next/server/app/(dashboard)/dashboard/auto-combo/page_client-reference-manifest.js +1 -1
  11. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  12. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  13. package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
  14. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  15. package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  16. package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
  17. package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
  18. package/app/.next/server/app/(dashboard)/dashboard/mcp/page_client-reference-manifest.js +1 -1
  19. package/app/.next/server/app/(dashboard)/dashboard/media/page_client-reference-manifest.js +1 -1
  20. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
  21. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  22. package/app/.next/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  23. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  24. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  25. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  26. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  27. package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
  28. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  29. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  30. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  31. package/app/.next/server/app/.well-known/agent.json/route_client-reference-manifest.js +1 -1
  32. package/app/.next/server/app/400/page_client-reference-manifest.js +1 -1
  33. package/app/.next/server/app/401/page_client-reference-manifest.js +1 -1
  34. package/app/.next/server/app/403/page_client-reference-manifest.js +1 -1
  35. package/app/.next/server/app/408/page_client-reference-manifest.js +1 -1
  36. package/app/.next/server/app/429/page_client-reference-manifest.js +1 -1
  37. package/app/.next/server/app/500/page_client-reference-manifest.js +1 -1
  38. package/app/.next/server/app/502/page_client-reference-manifest.js +1 -1
  39. package/app/.next/server/app/503/page_client-reference-manifest.js +1 -1
  40. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  41. package/app/.next/server/app/_global-error.html +2 -2
  42. package/app/.next/server/app/_global-error.rsc +1 -1
  43. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  44. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  45. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  46. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  47. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  48. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  49. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  50. package/app/.next/server/app/a2a/route_client-reference-manifest.js +1 -1
  51. package/app/.next/server/app/api/a2a/status/route_client-reference-manifest.js +1 -1
  52. package/app/.next/server/app/api/a2a/tasks/[id]/cancel/route_client-reference-manifest.js +1 -1
  53. package/app/.next/server/app/api/a2a/tasks/[id]/route_client-reference-manifest.js +1 -1
  54. package/app/.next/server/app/api/a2a/tasks/route_client-reference-manifest.js +1 -1
  55. package/app/.next/server/app/api/acp/agents/route_client-reference-manifest.js +1 -1
  56. package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  57. package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  58. package/app/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  59. package/app/.next/server/app/api/cache/route_client-reference-manifest.js +1 -1
  60. package/app/.next/server/app/api/cache/stats/route_client-reference-manifest.js +1 -1
  61. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  62. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
  63. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  64. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
  65. package/app/.next/server/app/api/cli-tools/backups/route.js +1 -1
  66. package/app/.next/server/app/api/cli-tools/backups/route_client-reference-manifest.js +1 -1
  67. package/app/.next/server/app/api/cli-tools/claude-settings/route.js +2 -2
  68. package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
  69. package/app/.next/server/app/api/cli-tools/cline-settings/route.js +1 -1
  70. package/app/.next/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
  71. package/app/.next/server/app/api/cli-tools/codex-profiles/route.js +2 -2
  72. package/app/.next/server/app/api/cli-tools/codex-profiles/route_client-reference-manifest.js +1 -1
  73. package/app/.next/server/app/api/cli-tools/codex-settings/route.js +2 -2
  74. package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
  75. package/app/.next/server/app/api/cli-tools/droid-settings/route.js +1 -1
  76. package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
  77. package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route_client-reference-manifest.js +1 -1
  78. package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +1 -1
  79. package/app/.next/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
  80. package/app/.next/server/app/api/cli-tools/openclaw/auto-order/route_client-reference-manifest.js +1 -1
  81. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +1 -1
  82. package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
  83. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route.js +2 -2
  84. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route_client-reference-manifest.js +1 -1
  85. package/app/.next/server/app/api/cli-tools/status/route.js +1 -1
  86. package/app/.next/server/app/api/cli-tools/status/route_client-reference-manifest.js +1 -1
  87. package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
  88. package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
  89. package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
  90. package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
  91. package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  92. package/app/.next/server/app/api/combos/auto/route_client-reference-manifest.js +1 -1
  93. package/app/.next/server/app/api/combos/metrics/route_client-reference-manifest.js +1 -1
  94. package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
  95. package/app/.next/server/app/api/combos/test/route_client-reference-manifest.js +1 -1
  96. package/app/.next/server/app/api/compliance/audit-log/route_client-reference-manifest.js +1 -1
  97. package/app/.next/server/app/api/db-backups/export/route_client-reference-manifest.js +1 -1
  98. package/app/.next/server/app/api/db-backups/exportAll/route_client-reference-manifest.js +1 -1
  99. package/app/.next/server/app/api/db-backups/import/route_client-reference-manifest.js +1 -1
  100. package/app/.next/server/app/api/db-backups/route_client-reference-manifest.js +1 -1
  101. package/app/.next/server/app/api/evals/[suiteId]/route_client-reference-manifest.js +1 -1
  102. package/app/.next/server/app/api/evals/route_client-reference-manifest.js +1 -1
  103. package/app/.next/server/app/api/fallback/chains/route_client-reference-manifest.js +1 -1
  104. package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  105. package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  106. package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
  107. package/app/.next/server/app/api/logs/console/route_client-reference-manifest.js +1 -1
  108. package/app/.next/server/app/api/mcp/audit/route_client-reference-manifest.js +1 -1
  109. package/app/.next/server/app/api/mcp/audit/stats/route_client-reference-manifest.js +1 -1
  110. package/app/.next/server/app/api/mcp/sse/route_client-reference-manifest.js +1 -1
  111. package/app/.next/server/app/api/mcp/status/route_client-reference-manifest.js +1 -1
  112. package/app/.next/server/app/api/mcp/stream/route_client-reference-manifest.js +1 -1
  113. package/app/.next/server/app/api/mcp/tools/route_client-reference-manifest.js +1 -1
  114. package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
  115. package/app/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
  116. package/app/.next/server/app/api/models/catalog/route_client-reference-manifest.js +1 -1
  117. package/app/.next/server/app/api/models/openrouter-catalog/route_client-reference-manifest.js +1 -1
  118. package/app/.next/server/app/api/models/route.js +1 -1
  119. package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  120. package/app/.next/server/app/api/monitoring/health/route.js +1 -1
  121. package/app/.next/server/app/api/monitoring/health/route_client-reference-manifest.js +1 -1
  122. package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  123. package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  124. package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  125. package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
  126. package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
  127. package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
  128. package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
  129. package/app/.next/server/app/api/policies/route_client-reference-manifest.js +1 -1
  130. package/app/.next/server/app/api/pricing/defaults/route_client-reference-manifest.js +1 -1
  131. package/app/.next/server/app/api/pricing/models/route_client-reference-manifest.js +1 -1
  132. package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  133. package/app/.next/server/app/api/provider-metrics/route_client-reference-manifest.js +1 -1
  134. package/app/.next/server/app/api/provider-models/route_client-reference-manifest.js +1 -1
  135. package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  136. package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  137. package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  138. package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  139. package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  140. package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  141. package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  142. package/app/.next/server/app/api/providers/route.js +1 -1
  143. package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
  144. package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
  145. package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  146. package/app/.next/server/app/api/rate-limit/route_client-reference-manifest.js +1 -1
  147. package/app/.next/server/app/api/rate-limits/route_client-reference-manifest.js +1 -1
  148. package/app/.next/server/app/api/resilience/reset/route_client-reference-manifest.js +1 -1
  149. package/app/.next/server/app/api/resilience/route_client-reference-manifest.js +1 -1
  150. package/app/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  151. package/app/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  152. package/app/.next/server/app/api/settings/background-degradation/route_client-reference-manifest.js +1 -1
  153. package/app/.next/server/app/api/settings/combo-defaults/route_client-reference-manifest.js +1 -1
  154. package/app/.next/server/app/api/settings/ip-filter/route_client-reference-manifest.js +1 -1
  155. package/app/.next/server/app/api/settings/model-aliases/route_client-reference-manifest.js +1 -1
  156. package/app/.next/server/app/api/settings/proxy/route_client-reference-manifest.js +1 -1
  157. package/app/.next/server/app/api/settings/proxy/test/route_client-reference-manifest.js +1 -1
  158. package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  159. package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  160. package/app/.next/server/app/api/settings/system-prompt/route_client-reference-manifest.js +1 -1
  161. package/app/.next/server/app/api/settings/thinking-budget/route_client-reference-manifest.js +1 -1
  162. package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  163. package/app/.next/server/app/api/storage/health/route_client-reference-manifest.js +1 -1
  164. package/app/.next/server/app/api/sync/cloud/route_client-reference-manifest.js +1 -1
  165. package/app/.next/server/app/api/sync/initialize/route_client-reference-manifest.js +1 -1
  166. package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
  167. package/app/.next/server/app/api/telemetry/summary/route_client-reference-manifest.js +1 -1
  168. package/app/.next/server/app/api/token-health/route_client-reference-manifest.js +1 -1
  169. package/app/.next/server/app/api/translator/detect/route_client-reference-manifest.js +1 -1
  170. package/app/.next/server/app/api/translator/history/route_client-reference-manifest.js +1 -1
  171. package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  172. package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  173. package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  174. package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  175. package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  176. package/app/.next/server/app/api/usage/analytics/route_client-reference-manifest.js +1 -1
  177. package/app/.next/server/app/api/usage/budget/route_client-reference-manifest.js +1 -1
  178. package/app/.next/server/app/api/usage/call-logs/[id]/route_client-reference-manifest.js +1 -1
  179. package/app/.next/server/app/api/usage/call-logs/route_client-reference-manifest.js +1 -1
  180. package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  181. package/app/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
  182. package/app/.next/server/app/api/usage/proxy-logs/route_client-reference-manifest.js +1 -1
  183. package/app/.next/server/app/api/usage/quota/route_client-reference-manifest.js +1 -1
  184. package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  185. package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  186. package/app/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
  187. package/app/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
  188. package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  189. package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
  190. package/app/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
  191. package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  192. package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  193. package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  194. package/app/.next/server/app/api/v1/moderations/route_client-reference-manifest.js +1 -1
  195. package/app/.next/server/app/api/v1/music/generations/route_client-reference-manifest.js +1 -1
  196. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route_client-reference-manifest.js +1 -1
  197. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route_client-reference-manifest.js +1 -1
  198. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route_client-reference-manifest.js +1 -1
  199. package/app/.next/server/app/api/v1/rerank/route_client-reference-manifest.js +1 -1
  200. package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  201. package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
  202. package/app/.next/server/app/api/v1/videos/generations/route_client-reference-manifest.js +1 -1
  203. package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  204. package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  205. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  206. package/app/.next/server/app/docs/page.js +1 -1
  207. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  208. package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
  209. package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  210. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  211. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  212. package/app/.next/server/app/maintenance/page_client-reference-manifest.js +1 -1
  213. package/app/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  214. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  215. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  216. package/app/.next/server/app/status/page_client-reference-manifest.js +1 -1
  217. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  218. package/app/.next/server/app-paths-manifest.json +40 -40
  219. package/app/.next/server/chunks/3648.js +1 -1
  220. package/app/.next/server/chunks/786.js +1 -1
  221. package/app/.next/server/chunks/7889.js +1 -1
  222. package/app/.next/server/chunks/8907.js +1 -1
  223. package/app/.next/server/instrumentation.js +1 -1
  224. package/app/.next/server/pages/500.html +2 -2
  225. package/app/.next/server/server-reference-manifest.js +1 -1
  226. package/app/.next/server/server-reference-manifest.json +1 -1
  227. package/app/.next/static/chunks/{5846-72235a59cf209a08.js → 5846-4a8ed39a61a586d3.js} +1 -1
  228. package/app/.next/static/chunks/{647-f03a498577a57cbc.js → 647-fc2670cfd0a58a58.js} +1 -1
  229. package/app/package.json +1 -1
  230. package/package.json +1 -1
  231. /package/app/.next/static/{gBOP3qQEjwMgOGHsaEdmb → 4thLnSSHYZ_acsS5-h-8W}/_buildManifest.js +0 -0
  232. /package/app/.next/static/{gBOP3qQEjwMgOGHsaEdmb → 4thLnSSHYZ_acsS5-h-8W}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- self.__RSC_SERVER_MANIFEST="{\"node\":{\"40951101ec7895b9d616db3187bd1636c20f82ce85\":{\"workers\":{\"app/api/cli-tools/antigravity-mitm/alias/route\":{\"moduleId\":\"68571\",\"async\":true}},\"layer\":{\"app/api/cli-tools/antigravity-mitm/alias/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/antigravity-mitm/alias/route.ts\",\"exportedName\":\"PUT\"},\"409f04f9c824c3182877e230fbd51bb909fbf4abd6\":{\"workers\":{\"app/api/cli-tools/antigravity-mitm/alias/route\":{\"moduleId\":\"68571\",\"async\":true}},\"layer\":{\"app/api/cli-tools/antigravity-mitm/alias/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/antigravity-mitm/alias/route.ts\",\"exportedName\":\"GET\"},\"40576a2931ca798a3d93333c80f5a25104d3e92d5a\":{\"workers\":{\"app/api/cli-tools/backups/route\":{\"moduleId\":\"62208\",\"async\":true}},\"layer\":{\"app/api/cli-tools/backups/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/backups/route.ts\",\"exportedName\":\"POST\"},\"405d9b886cc42e10738b18d21f81ddf06f2f10228a\":{\"workers\":{\"app/api/cli-tools/backups/route\":{\"moduleId\":\"62208\",\"async\":true}},\"layer\":{\"app/api/cli-tools/backups/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/backups/route.ts\",\"exportedName\":\"DELETE\"},\"4069369d10bc198bb588127843835747c6f9d8967e\":{\"workers\":{\"app/api/cli-tools/backups/route\":{\"moduleId\":\"62208\",\"async\":true}},\"layer\":{\"app/api/cli-tools/backups/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/backups/route.ts\",\"exportedName\":\"GET\"},\"001444d2fc211c9757005b8ca5fdc48583e0b02b7d\":{\"workers\":{\"app/api/cli-tools/codex-profiles/route\":{\"moduleId\":\"46289\",\"async\":true}},\"layer\":{\"app/api/cli-tools/codex-profiles/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/codex-profiles/route.ts\",\"exportedName\":\"GET\"},\"4045082cdbb5b23f2e090cd740e054d8c8ac91ba09\":{\"workers\":{\"app/api/cli-tools/codex-profiles/route\":{\"moduleId\":\"46289\",\"async\":true}},\"layer\":{\"app/api/cli-tools/codex-profiles/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/codex-profiles/route.ts\",\"exportedName\":\"DELETE\"},\"4093b664568040d8d45491c65eda69426f38121d98\":{\"workers\":{\"app/api/cli-tools/codex-profiles/route\":{\"moduleId\":\"46289\",\"async\":true}},\"layer\":{\"app/api/cli-tools/codex-profiles/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/codex-profiles/route.ts\",\"exportedName\":\"PUT\"},\"409c1ba1619af20b1df487848e1a8076ec1e79661a\":{\"workers\":{\"app/api/cli-tools/codex-profiles/route\":{\"moduleId\":\"46289\",\"async\":true}},\"layer\":{\"app/api/cli-tools/codex-profiles/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/codex-profiles/route.ts\",\"exportedName\":\"POST\"},\"0078c3bfd9f0c59437ccdba07c8aa11fb980408adc\":{\"workers\":{\"app/api/cli-tools/antigravity-mitm/route\":{\"moduleId\":\"53217\",\"async\":true}},\"layer\":{\"app/api/cli-tools/antigravity-mitm/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/antigravity-mitm/route.ts\",\"exportedName\":\"GET\"},\"4053482aa1471fb68465516a68d71ca9bbfaf92784\":{\"workers\":{\"app/api/cli-tools/antigravity-mitm/route\":{\"moduleId\":\"53217\",\"async\":true}},\"layer\":{\"app/api/cli-tools/antigravity-mitm/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/antigravity-mitm/route.ts\",\"exportedName\":\"POST\"},\"40a19130b75c49ccf9ac4d13d240ab6bd79b998349\":{\"workers\":{\"app/api/cli-tools/antigravity-mitm/route\":{\"moduleId\":\"53217\",\"async\":true}},\"layer\":{\"app/api/cli-tools/antigravity-mitm/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/antigravity-mitm/route.ts\",\"exportedName\":\"DELETE\"},\"001f45824b43216ef9bd18e1aa34e517c78d14e9b7\":{\"workers\":{\"app/api/cli-tools/claude-settings/route\":{\"moduleId\":\"8372\",\"async\":true}},\"layer\":{\"app/api/cli-tools/claude-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/claude-settings/route.ts\",\"exportedName\":\"DELETE\"},\"007bdbdafdb6762f0408004acd2e81f267641b6b45\":{\"workers\":{\"app/api/cli-tools/claude-settings/route\":{\"moduleId\":\"8372\",\"async\":true}},\"layer\":{\"app/api/cli-tools/claude-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/claude-settings/route.ts\",\"exportedName\":\"GET\"},\"402bf7169255bf935fe515e10e924abf8052827ee5\":{\"workers\":{\"app/api/cli-tools/claude-settings/route\":{\"moduleId\":\"8372\",\"async\":true}},\"layer\":{\"app/api/cli-tools/claude-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/claude-settings/route.ts\",\"exportedName\":\"POST\"},\"00707117a5843b63af97038b14e5f35c5faf68df12\":{\"workers\":{\"app/api/cli-tools/droid-settings/route\":{\"moduleId\":\"27177\",\"async\":true}},\"layer\":{\"app/api/cli-tools/droid-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/droid-settings/route.ts\",\"exportedName\":\"GET\"},\"00aef8a7f2282987640eef206a578e058819a6fd51\":{\"workers\":{\"app/api/cli-tools/droid-settings/route\":{\"moduleId\":\"27177\",\"async\":true}},\"layer\":{\"app/api/cli-tools/droid-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/droid-settings/route.ts\",\"exportedName\":\"DELETE\"},\"40b91857f32dd44416454629fefa603e71c39ec152\":{\"workers\":{\"app/api/cli-tools/droid-settings/route\":{\"moduleId\":\"27177\",\"async\":true}},\"layer\":{\"app/api/cli-tools/droid-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/droid-settings/route.ts\",\"exportedName\":\"POST\"},\"0036955c6ec50b3221af899876aeab486e1a3b7f07\":{\"workers\":{\"app/api/cli-tools/codex-settings/route\":{\"moduleId\":\"20885\",\"async\":true}},\"layer\":{\"app/api/cli-tools/codex-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/codex-settings/route.ts\",\"exportedName\":\"GET\"},\"00a841332d470ee33376b10de1de15ad170b9bde00\":{\"workers\":{\"app/api/cli-tools/codex-settings/route\":{\"moduleId\":\"20885\",\"async\":true}},\"layer\":{\"app/api/cli-tools/codex-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/codex-settings/route.ts\",\"exportedName\":\"DELETE\"},\"40b83b82f09f1dedef62997ae45c2b0ea9fd68b6f5\":{\"workers\":{\"app/api/cli-tools/codex-settings/route\":{\"moduleId\":\"20885\",\"async\":true}},\"layer\":{\"app/api/cli-tools/codex-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/codex-settings/route.ts\",\"exportedName\":\"POST\"},\"00d9ca461a6bde31d15bbec3274bd5850dab777a5e\":{\"workers\":{\"app/api/cli-tools/kilo-settings/route\":{\"moduleId\":\"36443\",\"async\":true}},\"layer\":{\"app/api/cli-tools/kilo-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/kilo-settings/route.ts\",\"exportedName\":\"DELETE\"},\"00ee9c5ea3f97ebc788004b6aaf40eea09c3fb5a3a\":{\"workers\":{\"app/api/cli-tools/kilo-settings/route\":{\"moduleId\":\"36443\",\"async\":true}},\"layer\":{\"app/api/cli-tools/kilo-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/kilo-settings/route.ts\",\"exportedName\":\"GET\"},\"4068578fc4814c3ab446cbc97e5216de56fe1a76e6\":{\"workers\":{\"app/api/cli-tools/kilo-settings/route\":{\"moduleId\":\"36443\",\"async\":true}},\"layer\":{\"app/api/cli-tools/kilo-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/kilo-settings/route.ts\",\"exportedName\":\"POST\"},\"00f60e67c96e53979da7d7890f0a0f877c6ad7ca66\":{\"workers\":{\"app/api/cli-tools/openclaw-settings/route\":{\"moduleId\":\"57347\",\"async\":true}},\"layer\":{\"app/api/cli-tools/openclaw-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/openclaw-settings/route.ts\",\"exportedName\":\"DELETE\"},\"00f8b5465c0e60bcde01f9c423e52bd9ae1d078297\":{\"workers\":{\"app/api/cli-tools/openclaw-settings/route\":{\"moduleId\":\"57347\",\"async\":true}},\"layer\":{\"app/api/cli-tools/openclaw-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/openclaw-settings/route.ts\",\"exportedName\":\"GET\"},\"40e91a2dd54ac382a05486b46ba2c28273281ec45b\":{\"workers\":{\"app/api/cli-tools/openclaw-settings/route\":{\"moduleId\":\"57347\",\"async\":true}},\"layer\":{\"app/api/cli-tools/openclaw-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/openclaw-settings/route.ts\",\"exportedName\":\"POST\"},\"60f61be5d7d9fd11282585d62dada5558d66544538\":{\"workers\":{\"app/api/cli-tools/runtime/[toolId]/route\":{\"moduleId\":\"77102\",\"async\":false}},\"layer\":{\"app/api/cli-tools/runtime/[toolId]/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/runtime/[toolId]/route.ts\",\"exportedName\":\"GET\"},\"00ebb7dc8a428a4b2182c23b7311b88e790018df50\":{\"workers\":{\"app/api/cli-tools/status/route\":{\"moduleId\":\"61674\",\"async\":false}},\"layer\":{\"app/api/cli-tools/status/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/status/route.ts\",\"exportedName\":\"GET\"},\"00b883fd4220ccb1a9616dd24655a4bf95fffecb8e\":{\"workers\":{\"app/api/cli-tools/cline-settings/route\":{\"moduleId\":\"43718\",\"async\":true}},\"layer\":{\"app/api/cli-tools/cline-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/cline-settings/route.ts\",\"exportedName\":\"GET\"},\"00c8ab9fc3de750e76f2a55498f6de5b7ba166a610\":{\"workers\":{\"app/api/cli-tools/cline-settings/route\":{\"moduleId\":\"43718\",\"async\":true}},\"layer\":{\"app/api/cli-tools/cline-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/cline-settings/route.ts\",\"exportedName\":\"DELETE\"},\"40a4acc5fbf813490351e8cf0a6c5d50f2329a6c89\":{\"workers\":{\"app/api/cli-tools/cline-settings/route\":{\"moduleId\":\"43718\",\"async\":true}},\"layer\":{\"app/api/cli-tools/cline-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/cline-settings/route.ts\",\"exportedName\":\"POST\"}},\"edge\":{},\"encryptionKey\":\"process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY\"}"
1
+ self.__RSC_SERVER_MANIFEST="{\"node\":{\"4072e54d857b76f2e188c4312bf6939fb98435f638\":{\"workers\":{\"app/api/cli-tools/antigravity-mitm/alias/route\":{\"moduleId\":\"22337\",\"async\":true}},\"layer\":{\"app/api/cli-tools/antigravity-mitm/alias/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/antigravity-mitm/alias/route.ts\",\"exportedName\":\"PUT\"},\"408b9e1d9e3115d039702af09bb045b651054e48c2\":{\"workers\":{\"app/api/cli-tools/antigravity-mitm/alias/route\":{\"moduleId\":\"22337\",\"async\":true}},\"layer\":{\"app/api/cli-tools/antigravity-mitm/alias/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/antigravity-mitm/alias/route.ts\",\"exportedName\":\"GET\"},\"40132881fb10e076e9e24b86972bc9bb38e1a7bff9\":{\"workers\":{\"app/api/cli-tools/backups/route\":{\"moduleId\":\"64667\",\"async\":true}},\"layer\":{\"app/api/cli-tools/backups/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/backups/route.ts\",\"exportedName\":\"DELETE\"},\"403c9f79433ae391c84028eb7e6c0ce1b4adb2351a\":{\"workers\":{\"app/api/cli-tools/backups/route\":{\"moduleId\":\"64667\",\"async\":true}},\"layer\":{\"app/api/cli-tools/backups/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/backups/route.ts\",\"exportedName\":\"POST\"},\"406d9cd4f922db7b003e34d832fac42151ec158e29\":{\"workers\":{\"app/api/cli-tools/backups/route\":{\"moduleId\":\"64667\",\"async\":true}},\"layer\":{\"app/api/cli-tools/backups/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/backups/route.ts\",\"exportedName\":\"GET\"},\"003cac9162b2e4c562dfe3cc0f403ef1176ccdb68a\":{\"workers\":{\"app/api/cli-tools/codex-profiles/route\":{\"moduleId\":\"19356\",\"async\":true}},\"layer\":{\"app/api/cli-tools/codex-profiles/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/codex-profiles/route.ts\",\"exportedName\":\"GET\"},\"4078eeaf3940af2e4247d94d784d2897fe7acb9522\":{\"workers\":{\"app/api/cli-tools/codex-profiles/route\":{\"moduleId\":\"19356\",\"async\":true}},\"layer\":{\"app/api/cli-tools/codex-profiles/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/codex-profiles/route.ts\",\"exportedName\":\"POST\"},\"40854102abfc69e7788e9b80f9b4432d40c6d3443c\":{\"workers\":{\"app/api/cli-tools/codex-profiles/route\":{\"moduleId\":\"19356\",\"async\":true}},\"layer\":{\"app/api/cli-tools/codex-profiles/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/codex-profiles/route.ts\",\"exportedName\":\"PUT\"},\"40a7e0eb3f1f72d33861015cd9b74f78f33a1484d5\":{\"workers\":{\"app/api/cli-tools/codex-profiles/route\":{\"moduleId\":\"19356\",\"async\":true}},\"layer\":{\"app/api/cli-tools/codex-profiles/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/codex-profiles/route.ts\",\"exportedName\":\"DELETE\"},\"002d94a606ae3b89348b0a9dd7fcd99ca504d12d9d\":{\"workers\":{\"app/api/cli-tools/antigravity-mitm/route\":{\"moduleId\":\"35274\",\"async\":true}},\"layer\":{\"app/api/cli-tools/antigravity-mitm/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/antigravity-mitm/route.ts\",\"exportedName\":\"GET\"},\"40181755c561a7c3b3ce6a9153d6e7ca0acffc3817\":{\"workers\":{\"app/api/cli-tools/antigravity-mitm/route\":{\"moduleId\":\"35274\",\"async\":true}},\"layer\":{\"app/api/cli-tools/antigravity-mitm/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/antigravity-mitm/route.ts\",\"exportedName\":\"DELETE\"},\"40701c94d55afa0c0d061d3e5eec412be220e9be2e\":{\"workers\":{\"app/api/cli-tools/antigravity-mitm/route\":{\"moduleId\":\"35274\",\"async\":true}},\"layer\":{\"app/api/cli-tools/antigravity-mitm/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/antigravity-mitm/route.ts\",\"exportedName\":\"POST\"},\"00201e31c75b47094d73e1e6a29ebf401f5dc2c371\":{\"workers\":{\"app/api/cli-tools/claude-settings/route\":{\"moduleId\":\"34689\",\"async\":true}},\"layer\":{\"app/api/cli-tools/claude-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/claude-settings/route.ts\",\"exportedName\":\"GET\"},\"0079c464288695b8a70af573ff8fe0ebe9a8cd82cb\":{\"workers\":{\"app/api/cli-tools/claude-settings/route\":{\"moduleId\":\"34689\",\"async\":true}},\"layer\":{\"app/api/cli-tools/claude-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/claude-settings/route.ts\",\"exportedName\":\"DELETE\"},\"404b1b910892991cbe2162f16372222de8b8b39f07\":{\"workers\":{\"app/api/cli-tools/claude-settings/route\":{\"moduleId\":\"34689\",\"async\":true}},\"layer\":{\"app/api/cli-tools/claude-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/claude-settings/route.ts\",\"exportedName\":\"POST\"},\"00ca89d98f6f37722a68acf7fcd9054ba5ffcad9ac\":{\"workers\":{\"app/api/cli-tools/cline-settings/route\":{\"moduleId\":\"34124\",\"async\":true}},\"layer\":{\"app/api/cli-tools/cline-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/cline-settings/route.ts\",\"exportedName\":\"GET\"},\"00ee25a27782f7a9b9694da0afc7f5304f294ee682\":{\"workers\":{\"app/api/cli-tools/cline-settings/route\":{\"moduleId\":\"34124\",\"async\":true}},\"layer\":{\"app/api/cli-tools/cline-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/cline-settings/route.ts\",\"exportedName\":\"DELETE\"},\"40fa24823d8faa015d6764725d55557e45d9adbd41\":{\"workers\":{\"app/api/cli-tools/cline-settings/route\":{\"moduleId\":\"34124\",\"async\":true}},\"layer\":{\"app/api/cli-tools/cline-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/cline-settings/route.ts\",\"exportedName\":\"POST\"},\"0082e8c2f5a29b8b3936070c7dd554b760ce39c8f6\":{\"workers\":{\"app/api/cli-tools/kilo-settings/route\":{\"moduleId\":\"59521\",\"async\":true}},\"layer\":{\"app/api/cli-tools/kilo-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/kilo-settings/route.ts\",\"exportedName\":\"GET\"},\"00f4a10067ec8781275d900304788d849529a03e9a\":{\"workers\":{\"app/api/cli-tools/kilo-settings/route\":{\"moduleId\":\"59521\",\"async\":true}},\"layer\":{\"app/api/cli-tools/kilo-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/kilo-settings/route.ts\",\"exportedName\":\"DELETE\"},\"40527134c24a8c4b0ebb09d8b22f261c251015fe8b\":{\"workers\":{\"app/api/cli-tools/kilo-settings/route\":{\"moduleId\":\"59521\",\"async\":true}},\"layer\":{\"app/api/cli-tools/kilo-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/kilo-settings/route.ts\",\"exportedName\":\"POST\"},\"008ea7c771d71b6ee694fe1c38b5be96599681d8df\":{\"workers\":{\"app/api/cli-tools/droid-settings/route\":{\"moduleId\":\"31504\",\"async\":true}},\"layer\":{\"app/api/cli-tools/droid-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/droid-settings/route.ts\",\"exportedName\":\"DELETE\"},\"009579fd40993a9fcd0e29384d25c9fb2b2c05b193\":{\"workers\":{\"app/api/cli-tools/droid-settings/route\":{\"moduleId\":\"31504\",\"async\":true}},\"layer\":{\"app/api/cli-tools/droid-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/droid-settings/route.ts\",\"exportedName\":\"GET\"},\"408a80c44c71c7c6df9faad24436a5d4f64cdf4e91\":{\"workers\":{\"app/api/cli-tools/droid-settings/route\":{\"moduleId\":\"31504\",\"async\":true}},\"layer\":{\"app/api/cli-tools/droid-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/droid-settings/route.ts\",\"exportedName\":\"POST\"},\"6028169d6852a2e19ed8a57ba3ab1ea8faa79dcdd0\":{\"workers\":{\"app/api/cli-tools/runtime/[toolId]/route\":{\"moduleId\":\"11687\",\"async\":false}},\"layer\":{\"app/api/cli-tools/runtime/[toolId]/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/runtime/[toolId]/route.ts\",\"exportedName\":\"GET\"},\"00619cb3bcfaeffdb929152e33c7b89ef843c3e730\":{\"workers\":{\"app/api/cli-tools/status/route\":{\"moduleId\":\"62395\",\"async\":false}},\"layer\":{\"app/api/cli-tools/status/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/status/route.ts\",\"exportedName\":\"GET\"},\"0018370215426413a0441ac7035ea6402db5ad00a9\":{\"workers\":{\"app/api/cli-tools/openclaw-settings/route\":{\"moduleId\":\"52911\",\"async\":true}},\"layer\":{\"app/api/cli-tools/openclaw-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/openclaw-settings/route.ts\",\"exportedName\":\"DELETE\"},\"0039686833013c17eac156aac9c10100daad3da951\":{\"workers\":{\"app/api/cli-tools/openclaw-settings/route\":{\"moduleId\":\"52911\",\"async\":true}},\"layer\":{\"app/api/cli-tools/openclaw-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/openclaw-settings/route.ts\",\"exportedName\":\"GET\"},\"40a6ba93ddef2a8c1e3c3cec355e38d6add29ce5c7\":{\"workers\":{\"app/api/cli-tools/openclaw-settings/route\":{\"moduleId\":\"52911\",\"async\":true}},\"layer\":{\"app/api/cli-tools/openclaw-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/openclaw-settings/route.ts\",\"exportedName\":\"POST\"},\"004f7ad7c9bb71d27e1a1e9939bd05cbb486cc4b30\":{\"workers\":{\"app/api/cli-tools/codex-settings/route\":{\"moduleId\":\"15911\",\"async\":true}},\"layer\":{\"app/api/cli-tools/codex-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/codex-settings/route.ts\",\"exportedName\":\"DELETE\"},\"00bd9a0e630b6bc8d3952a0eac0dabb0d38d3ae64c\":{\"workers\":{\"app/api/cli-tools/codex-settings/route\":{\"moduleId\":\"15911\",\"async\":true}},\"layer\":{\"app/api/cli-tools/codex-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/codex-settings/route.ts\",\"exportedName\":\"GET\"},\"409374eb701bc9c582955acbb306e401a68631b7c8\":{\"workers\":{\"app/api/cli-tools/codex-settings/route\":{\"moduleId\":\"15911\",\"async\":true}},\"layer\":{\"app/api/cli-tools/codex-settings/route\":\"rsc\"},\"filename\":\"app/api/cli-tools/codex-settings/route.ts\",\"exportedName\":\"POST\"}},\"edge\":{},\"encryptionKey\":\"process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY\"}"
@@ -1 +1 @@
1
- {"node":{"40951101ec7895b9d616db3187bd1636c20f82ce85":{"workers":{"app/api/cli-tools/antigravity-mitm/alias/route":{"moduleId":"68571","async":true}},"layer":{"app/api/cli-tools/antigravity-mitm/alias/route":"rsc"},"filename":"app/api/cli-tools/antigravity-mitm/alias/route.ts","exportedName":"PUT"},"409f04f9c824c3182877e230fbd51bb909fbf4abd6":{"workers":{"app/api/cli-tools/antigravity-mitm/alias/route":{"moduleId":"68571","async":true}},"layer":{"app/api/cli-tools/antigravity-mitm/alias/route":"rsc"},"filename":"app/api/cli-tools/antigravity-mitm/alias/route.ts","exportedName":"GET"},"40576a2931ca798a3d93333c80f5a25104d3e92d5a":{"workers":{"app/api/cli-tools/backups/route":{"moduleId":"62208","async":true}},"layer":{"app/api/cli-tools/backups/route":"rsc"},"filename":"app/api/cli-tools/backups/route.ts","exportedName":"POST"},"405d9b886cc42e10738b18d21f81ddf06f2f10228a":{"workers":{"app/api/cli-tools/backups/route":{"moduleId":"62208","async":true}},"layer":{"app/api/cli-tools/backups/route":"rsc"},"filename":"app/api/cli-tools/backups/route.ts","exportedName":"DELETE"},"4069369d10bc198bb588127843835747c6f9d8967e":{"workers":{"app/api/cli-tools/backups/route":{"moduleId":"62208","async":true}},"layer":{"app/api/cli-tools/backups/route":"rsc"},"filename":"app/api/cli-tools/backups/route.ts","exportedName":"GET"},"001444d2fc211c9757005b8ca5fdc48583e0b02b7d":{"workers":{"app/api/cli-tools/codex-profiles/route":{"moduleId":"46289","async":true}},"layer":{"app/api/cli-tools/codex-profiles/route":"rsc"},"filename":"app/api/cli-tools/codex-profiles/route.ts","exportedName":"GET"},"4045082cdbb5b23f2e090cd740e054d8c8ac91ba09":{"workers":{"app/api/cli-tools/codex-profiles/route":{"moduleId":"46289","async":true}},"layer":{"app/api/cli-tools/codex-profiles/route":"rsc"},"filename":"app/api/cli-tools/codex-profiles/route.ts","exportedName":"DELETE"},"4093b664568040d8d45491c65eda69426f38121d98":{"workers":{"app/api/cli-tools/codex-profiles/route":{"moduleId":"46289","async":true}},"layer":{"app/api/cli-tools/codex-profiles/route":"rsc"},"filename":"app/api/cli-tools/codex-profiles/route.ts","exportedName":"PUT"},"409c1ba1619af20b1df487848e1a8076ec1e79661a":{"workers":{"app/api/cli-tools/codex-profiles/route":{"moduleId":"46289","async":true}},"layer":{"app/api/cli-tools/codex-profiles/route":"rsc"},"filename":"app/api/cli-tools/codex-profiles/route.ts","exportedName":"POST"},"0078c3bfd9f0c59437ccdba07c8aa11fb980408adc":{"workers":{"app/api/cli-tools/antigravity-mitm/route":{"moduleId":"53217","async":true}},"layer":{"app/api/cli-tools/antigravity-mitm/route":"rsc"},"filename":"app/api/cli-tools/antigravity-mitm/route.ts","exportedName":"GET"},"4053482aa1471fb68465516a68d71ca9bbfaf92784":{"workers":{"app/api/cli-tools/antigravity-mitm/route":{"moduleId":"53217","async":true}},"layer":{"app/api/cli-tools/antigravity-mitm/route":"rsc"},"filename":"app/api/cli-tools/antigravity-mitm/route.ts","exportedName":"POST"},"40a19130b75c49ccf9ac4d13d240ab6bd79b998349":{"workers":{"app/api/cli-tools/antigravity-mitm/route":{"moduleId":"53217","async":true}},"layer":{"app/api/cli-tools/antigravity-mitm/route":"rsc"},"filename":"app/api/cli-tools/antigravity-mitm/route.ts","exportedName":"DELETE"},"001f45824b43216ef9bd18e1aa34e517c78d14e9b7":{"workers":{"app/api/cli-tools/claude-settings/route":{"moduleId":"8372","async":true}},"layer":{"app/api/cli-tools/claude-settings/route":"rsc"},"filename":"app/api/cli-tools/claude-settings/route.ts","exportedName":"DELETE"},"007bdbdafdb6762f0408004acd2e81f267641b6b45":{"workers":{"app/api/cli-tools/claude-settings/route":{"moduleId":"8372","async":true}},"layer":{"app/api/cli-tools/claude-settings/route":"rsc"},"filename":"app/api/cli-tools/claude-settings/route.ts","exportedName":"GET"},"402bf7169255bf935fe515e10e924abf8052827ee5":{"workers":{"app/api/cli-tools/claude-settings/route":{"moduleId":"8372","async":true}},"layer":{"app/api/cli-tools/claude-settings/route":"rsc"},"filename":"app/api/cli-tools/claude-settings/route.ts","exportedName":"POST"},"00707117a5843b63af97038b14e5f35c5faf68df12":{"workers":{"app/api/cli-tools/droid-settings/route":{"moduleId":"27177","async":true}},"layer":{"app/api/cli-tools/droid-settings/route":"rsc"},"filename":"app/api/cli-tools/droid-settings/route.ts","exportedName":"GET"},"00aef8a7f2282987640eef206a578e058819a6fd51":{"workers":{"app/api/cli-tools/droid-settings/route":{"moduleId":"27177","async":true}},"layer":{"app/api/cli-tools/droid-settings/route":"rsc"},"filename":"app/api/cli-tools/droid-settings/route.ts","exportedName":"DELETE"},"40b91857f32dd44416454629fefa603e71c39ec152":{"workers":{"app/api/cli-tools/droid-settings/route":{"moduleId":"27177","async":true}},"layer":{"app/api/cli-tools/droid-settings/route":"rsc"},"filename":"app/api/cli-tools/droid-settings/route.ts","exportedName":"POST"},"0036955c6ec50b3221af899876aeab486e1a3b7f07":{"workers":{"app/api/cli-tools/codex-settings/route":{"moduleId":"20885","async":true}},"layer":{"app/api/cli-tools/codex-settings/route":"rsc"},"filename":"app/api/cli-tools/codex-settings/route.ts","exportedName":"GET"},"00a841332d470ee33376b10de1de15ad170b9bde00":{"workers":{"app/api/cli-tools/codex-settings/route":{"moduleId":"20885","async":true}},"layer":{"app/api/cli-tools/codex-settings/route":"rsc"},"filename":"app/api/cli-tools/codex-settings/route.ts","exportedName":"DELETE"},"40b83b82f09f1dedef62997ae45c2b0ea9fd68b6f5":{"workers":{"app/api/cli-tools/codex-settings/route":{"moduleId":"20885","async":true}},"layer":{"app/api/cli-tools/codex-settings/route":"rsc"},"filename":"app/api/cli-tools/codex-settings/route.ts","exportedName":"POST"},"00d9ca461a6bde31d15bbec3274bd5850dab777a5e":{"workers":{"app/api/cli-tools/kilo-settings/route":{"moduleId":"36443","async":true}},"layer":{"app/api/cli-tools/kilo-settings/route":"rsc"},"filename":"app/api/cli-tools/kilo-settings/route.ts","exportedName":"DELETE"},"00ee9c5ea3f97ebc788004b6aaf40eea09c3fb5a3a":{"workers":{"app/api/cli-tools/kilo-settings/route":{"moduleId":"36443","async":true}},"layer":{"app/api/cli-tools/kilo-settings/route":"rsc"},"filename":"app/api/cli-tools/kilo-settings/route.ts","exportedName":"GET"},"4068578fc4814c3ab446cbc97e5216de56fe1a76e6":{"workers":{"app/api/cli-tools/kilo-settings/route":{"moduleId":"36443","async":true}},"layer":{"app/api/cli-tools/kilo-settings/route":"rsc"},"filename":"app/api/cli-tools/kilo-settings/route.ts","exportedName":"POST"},"00f60e67c96e53979da7d7890f0a0f877c6ad7ca66":{"workers":{"app/api/cli-tools/openclaw-settings/route":{"moduleId":"57347","async":true}},"layer":{"app/api/cli-tools/openclaw-settings/route":"rsc"},"filename":"app/api/cli-tools/openclaw-settings/route.ts","exportedName":"DELETE"},"00f8b5465c0e60bcde01f9c423e52bd9ae1d078297":{"workers":{"app/api/cli-tools/openclaw-settings/route":{"moduleId":"57347","async":true}},"layer":{"app/api/cli-tools/openclaw-settings/route":"rsc"},"filename":"app/api/cli-tools/openclaw-settings/route.ts","exportedName":"GET"},"40e91a2dd54ac382a05486b46ba2c28273281ec45b":{"workers":{"app/api/cli-tools/openclaw-settings/route":{"moduleId":"57347","async":true}},"layer":{"app/api/cli-tools/openclaw-settings/route":"rsc"},"filename":"app/api/cli-tools/openclaw-settings/route.ts","exportedName":"POST"},"60f61be5d7d9fd11282585d62dada5558d66544538":{"workers":{"app/api/cli-tools/runtime/[toolId]/route":{"moduleId":"77102","async":false}},"layer":{"app/api/cli-tools/runtime/[toolId]/route":"rsc"},"filename":"app/api/cli-tools/runtime/[toolId]/route.ts","exportedName":"GET"},"00ebb7dc8a428a4b2182c23b7311b88e790018df50":{"workers":{"app/api/cli-tools/status/route":{"moduleId":"61674","async":false}},"layer":{"app/api/cli-tools/status/route":"rsc"},"filename":"app/api/cli-tools/status/route.ts","exportedName":"GET"},"00b883fd4220ccb1a9616dd24655a4bf95fffecb8e":{"workers":{"app/api/cli-tools/cline-settings/route":{"moduleId":"43718","async":true}},"layer":{"app/api/cli-tools/cline-settings/route":"rsc"},"filename":"app/api/cli-tools/cline-settings/route.ts","exportedName":"GET"},"00c8ab9fc3de750e76f2a55498f6de5b7ba166a610":{"workers":{"app/api/cli-tools/cline-settings/route":{"moduleId":"43718","async":true}},"layer":{"app/api/cli-tools/cline-settings/route":"rsc"},"filename":"app/api/cli-tools/cline-settings/route.ts","exportedName":"DELETE"},"40a4acc5fbf813490351e8cf0a6c5d50f2329a6c89":{"workers":{"app/api/cli-tools/cline-settings/route":{"moduleId":"43718","async":true}},"layer":{"app/api/cli-tools/cline-settings/route":"rsc"},"filename":"app/api/cli-tools/cline-settings/route.ts","exportedName":"POST"}},"edge":{},"encryptionKey":"fdCJ6Qzkr79HYpCnox5l4WoOvoLlYk76lm/va/aG4Iw="}
1
+ {"node":{"4072e54d857b76f2e188c4312bf6939fb98435f638":{"workers":{"app/api/cli-tools/antigravity-mitm/alias/route":{"moduleId":"22337","async":true}},"layer":{"app/api/cli-tools/antigravity-mitm/alias/route":"rsc"},"filename":"app/api/cli-tools/antigravity-mitm/alias/route.ts","exportedName":"PUT"},"408b9e1d9e3115d039702af09bb045b651054e48c2":{"workers":{"app/api/cli-tools/antigravity-mitm/alias/route":{"moduleId":"22337","async":true}},"layer":{"app/api/cli-tools/antigravity-mitm/alias/route":"rsc"},"filename":"app/api/cli-tools/antigravity-mitm/alias/route.ts","exportedName":"GET"},"40132881fb10e076e9e24b86972bc9bb38e1a7bff9":{"workers":{"app/api/cli-tools/backups/route":{"moduleId":"64667","async":true}},"layer":{"app/api/cli-tools/backups/route":"rsc"},"filename":"app/api/cli-tools/backups/route.ts","exportedName":"DELETE"},"403c9f79433ae391c84028eb7e6c0ce1b4adb2351a":{"workers":{"app/api/cli-tools/backups/route":{"moduleId":"64667","async":true}},"layer":{"app/api/cli-tools/backups/route":"rsc"},"filename":"app/api/cli-tools/backups/route.ts","exportedName":"POST"},"406d9cd4f922db7b003e34d832fac42151ec158e29":{"workers":{"app/api/cli-tools/backups/route":{"moduleId":"64667","async":true}},"layer":{"app/api/cli-tools/backups/route":"rsc"},"filename":"app/api/cli-tools/backups/route.ts","exportedName":"GET"},"003cac9162b2e4c562dfe3cc0f403ef1176ccdb68a":{"workers":{"app/api/cli-tools/codex-profiles/route":{"moduleId":"19356","async":true}},"layer":{"app/api/cli-tools/codex-profiles/route":"rsc"},"filename":"app/api/cli-tools/codex-profiles/route.ts","exportedName":"GET"},"4078eeaf3940af2e4247d94d784d2897fe7acb9522":{"workers":{"app/api/cli-tools/codex-profiles/route":{"moduleId":"19356","async":true}},"layer":{"app/api/cli-tools/codex-profiles/route":"rsc"},"filename":"app/api/cli-tools/codex-profiles/route.ts","exportedName":"POST"},"40854102abfc69e7788e9b80f9b4432d40c6d3443c":{"workers":{"app/api/cli-tools/codex-profiles/route":{"moduleId":"19356","async":true}},"layer":{"app/api/cli-tools/codex-profiles/route":"rsc"},"filename":"app/api/cli-tools/codex-profiles/route.ts","exportedName":"PUT"},"40a7e0eb3f1f72d33861015cd9b74f78f33a1484d5":{"workers":{"app/api/cli-tools/codex-profiles/route":{"moduleId":"19356","async":true}},"layer":{"app/api/cli-tools/codex-profiles/route":"rsc"},"filename":"app/api/cli-tools/codex-profiles/route.ts","exportedName":"DELETE"},"002d94a606ae3b89348b0a9dd7fcd99ca504d12d9d":{"workers":{"app/api/cli-tools/antigravity-mitm/route":{"moduleId":"35274","async":true}},"layer":{"app/api/cli-tools/antigravity-mitm/route":"rsc"},"filename":"app/api/cli-tools/antigravity-mitm/route.ts","exportedName":"GET"},"40181755c561a7c3b3ce6a9153d6e7ca0acffc3817":{"workers":{"app/api/cli-tools/antigravity-mitm/route":{"moduleId":"35274","async":true}},"layer":{"app/api/cli-tools/antigravity-mitm/route":"rsc"},"filename":"app/api/cli-tools/antigravity-mitm/route.ts","exportedName":"DELETE"},"40701c94d55afa0c0d061d3e5eec412be220e9be2e":{"workers":{"app/api/cli-tools/antigravity-mitm/route":{"moduleId":"35274","async":true}},"layer":{"app/api/cli-tools/antigravity-mitm/route":"rsc"},"filename":"app/api/cli-tools/antigravity-mitm/route.ts","exportedName":"POST"},"00201e31c75b47094d73e1e6a29ebf401f5dc2c371":{"workers":{"app/api/cli-tools/claude-settings/route":{"moduleId":"34689","async":true}},"layer":{"app/api/cli-tools/claude-settings/route":"rsc"},"filename":"app/api/cli-tools/claude-settings/route.ts","exportedName":"GET"},"0079c464288695b8a70af573ff8fe0ebe9a8cd82cb":{"workers":{"app/api/cli-tools/claude-settings/route":{"moduleId":"34689","async":true}},"layer":{"app/api/cli-tools/claude-settings/route":"rsc"},"filename":"app/api/cli-tools/claude-settings/route.ts","exportedName":"DELETE"},"404b1b910892991cbe2162f16372222de8b8b39f07":{"workers":{"app/api/cli-tools/claude-settings/route":{"moduleId":"34689","async":true}},"layer":{"app/api/cli-tools/claude-settings/route":"rsc"},"filename":"app/api/cli-tools/claude-settings/route.ts","exportedName":"POST"},"00ca89d98f6f37722a68acf7fcd9054ba5ffcad9ac":{"workers":{"app/api/cli-tools/cline-settings/route":{"moduleId":"34124","async":true}},"layer":{"app/api/cli-tools/cline-settings/route":"rsc"},"filename":"app/api/cli-tools/cline-settings/route.ts","exportedName":"GET"},"00ee25a27782f7a9b9694da0afc7f5304f294ee682":{"workers":{"app/api/cli-tools/cline-settings/route":{"moduleId":"34124","async":true}},"layer":{"app/api/cli-tools/cline-settings/route":"rsc"},"filename":"app/api/cli-tools/cline-settings/route.ts","exportedName":"DELETE"},"40fa24823d8faa015d6764725d55557e45d9adbd41":{"workers":{"app/api/cli-tools/cline-settings/route":{"moduleId":"34124","async":true}},"layer":{"app/api/cli-tools/cline-settings/route":"rsc"},"filename":"app/api/cli-tools/cline-settings/route.ts","exportedName":"POST"},"0082e8c2f5a29b8b3936070c7dd554b760ce39c8f6":{"workers":{"app/api/cli-tools/kilo-settings/route":{"moduleId":"59521","async":true}},"layer":{"app/api/cli-tools/kilo-settings/route":"rsc"},"filename":"app/api/cli-tools/kilo-settings/route.ts","exportedName":"GET"},"00f4a10067ec8781275d900304788d849529a03e9a":{"workers":{"app/api/cli-tools/kilo-settings/route":{"moduleId":"59521","async":true}},"layer":{"app/api/cli-tools/kilo-settings/route":"rsc"},"filename":"app/api/cli-tools/kilo-settings/route.ts","exportedName":"DELETE"},"40527134c24a8c4b0ebb09d8b22f261c251015fe8b":{"workers":{"app/api/cli-tools/kilo-settings/route":{"moduleId":"59521","async":true}},"layer":{"app/api/cli-tools/kilo-settings/route":"rsc"},"filename":"app/api/cli-tools/kilo-settings/route.ts","exportedName":"POST"},"008ea7c771d71b6ee694fe1c38b5be96599681d8df":{"workers":{"app/api/cli-tools/droid-settings/route":{"moduleId":"31504","async":true}},"layer":{"app/api/cli-tools/droid-settings/route":"rsc"},"filename":"app/api/cli-tools/droid-settings/route.ts","exportedName":"DELETE"},"009579fd40993a9fcd0e29384d25c9fb2b2c05b193":{"workers":{"app/api/cli-tools/droid-settings/route":{"moduleId":"31504","async":true}},"layer":{"app/api/cli-tools/droid-settings/route":"rsc"},"filename":"app/api/cli-tools/droid-settings/route.ts","exportedName":"GET"},"408a80c44c71c7c6df9faad24436a5d4f64cdf4e91":{"workers":{"app/api/cli-tools/droid-settings/route":{"moduleId":"31504","async":true}},"layer":{"app/api/cli-tools/droid-settings/route":"rsc"},"filename":"app/api/cli-tools/droid-settings/route.ts","exportedName":"POST"},"6028169d6852a2e19ed8a57ba3ab1ea8faa79dcdd0":{"workers":{"app/api/cli-tools/runtime/[toolId]/route":{"moduleId":"11687","async":false}},"layer":{"app/api/cli-tools/runtime/[toolId]/route":"rsc"},"filename":"app/api/cli-tools/runtime/[toolId]/route.ts","exportedName":"GET"},"00619cb3bcfaeffdb929152e33c7b89ef843c3e730":{"workers":{"app/api/cli-tools/status/route":{"moduleId":"62395","async":false}},"layer":{"app/api/cli-tools/status/route":"rsc"},"filename":"app/api/cli-tools/status/route.ts","exportedName":"GET"},"0018370215426413a0441ac7035ea6402db5ad00a9":{"workers":{"app/api/cli-tools/openclaw-settings/route":{"moduleId":"52911","async":true}},"layer":{"app/api/cli-tools/openclaw-settings/route":"rsc"},"filename":"app/api/cli-tools/openclaw-settings/route.ts","exportedName":"DELETE"},"0039686833013c17eac156aac9c10100daad3da951":{"workers":{"app/api/cli-tools/openclaw-settings/route":{"moduleId":"52911","async":true}},"layer":{"app/api/cli-tools/openclaw-settings/route":"rsc"},"filename":"app/api/cli-tools/openclaw-settings/route.ts","exportedName":"GET"},"40a6ba93ddef2a8c1e3c3cec355e38d6add29ce5c7":{"workers":{"app/api/cli-tools/openclaw-settings/route":{"moduleId":"52911","async":true}},"layer":{"app/api/cli-tools/openclaw-settings/route":"rsc"},"filename":"app/api/cli-tools/openclaw-settings/route.ts","exportedName":"POST"},"004f7ad7c9bb71d27e1a1e9939bd05cbb486cc4b30":{"workers":{"app/api/cli-tools/codex-settings/route":{"moduleId":"15911","async":true}},"layer":{"app/api/cli-tools/codex-settings/route":"rsc"},"filename":"app/api/cli-tools/codex-settings/route.ts","exportedName":"DELETE"},"00bd9a0e630b6bc8d3952a0eac0dabb0d38d3ae64c":{"workers":{"app/api/cli-tools/codex-settings/route":{"moduleId":"15911","async":true}},"layer":{"app/api/cli-tools/codex-settings/route":"rsc"},"filename":"app/api/cli-tools/codex-settings/route.ts","exportedName":"GET"},"409374eb701bc9c582955acbb306e401a68631b7c8":{"workers":{"app/api/cli-tools/codex-settings/route":{"moduleId":"15911","async":true}},"layer":{"app/api/cli-tools/codex-settings/route":"rsc"},"filename":"app/api/cli-tools/codex-settings/route.ts","exportedName":"POST"}},"edge":{},"encryptionKey":"ltXNWModEIuoNF/HDox+ykRNdebNec2/cCuHW/FOw4U="}
@@ -1,2 +1,2 @@
1
1
  "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5846],{20909:(e,a,i)=>{i.d(a,{Q2:()=>h,DI:()=>c,fg:()=>m,MA:()=>g,IS:()=>l,zN:()=>s,JH:()=>d,wb:()=>f,wG:()=>k,zt:()=>b,gb:()=>u,mq:()=>p});var t=i(47173);let o=t.Ikc({id:t.YjP().min(1),alias:t.YjP().min(1),name:t.YjP().min(1),icon:t.YjP().min(1),color:t.YjP().regex(/^#[0-9A-Fa-f]{6}$/,"Must be a valid hex color (#RRGGBB)"),textIcon:t.YjP().optional(),website:t.YjP().url().optional(),passthroughModels:t.zMY().optional()}),n=t.g1P(t.YjP(),o);function r(e,a){let i=n.safeParse(e);if(!i.success){let e=i.error.issues.map(e=>` ${e.path.join(".")}: ${e.message}`).join("\n");throw console.error(`[PROVIDER VALIDATION] ${a} has invalid entries:
2
- ${e}`),Error(`Provider validation failed for ${a}`)}}let l={iflow:{id:"iflow",alias:"if",name:"iFlow AI",icon:"water_drop",color:"#6366F1"},qwen:{id:"qwen",alias:"qw",name:"Qwen Code",icon:"psychology",color:"#10B981"},"gemini-cli":{id:"gemini-cli",alias:"gc",name:"Gemini CLI",icon:"terminal",color:"#4285F4"},kiro:{id:"kiro",alias:"kr",name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35"}},s={claude:{id:"claude",alias:"cc",name:"Claude Code",icon:"smart_toy",color:"#D97757"},antigravity:{id:"antigravity",alias:"ag",name:"Antigravity",icon:"rocket_launch",color:"#F59E0B"},codex:{id:"codex",alias:"cx",name:"OpenAI Codex",icon:"code",color:"#3B82F6"},github:{id:"github",alias:"gh",name:"GitHub Copilot",icon:"code",color:"#333333"},cursor:{id:"cursor",alias:"cu",name:"Cursor IDE",icon:"edit_note",color:"#00D4AA"},"kimi-coding":{id:"kimi-coding",alias:"kmc",name:"Kimi Coding",icon:"psychology",color:"#1E40AF",textIcon:"KC"},kilocode:{id:"kilocode",alias:"kc",name:"Kilo Code",icon:"code",color:"#FF6B35",textIcon:"KC"},cline:{id:"cline",alias:"cl",name:"Cline",icon:"smart_toy",color:"#5B9BD5",textIcon:"CL"}},m={openrouter:{id:"openrouter",alias:"openrouter",name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",passthroughModels:!0,website:"https://openrouter.ai"},glm:{id:"glm",alias:"glm",name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn"},kimi:{id:"kimi",alias:"kimi",name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn"},minimax:{id:"minimax",alias:"minimax",name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com"},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com"},openai:{id:"openai",alias:"openai",name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com"},anthropic:{id:"anthropic",alias:"anthropic",name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com"},gemini:{id:"gemini",alias:"gemini",name:"Gemini",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev"},deepseek:{id:"deepseek",alias:"ds",name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com"},groq:{id:"groq",alias:"groq",name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com"},blackbox:{id:"blackbox",alias:"bb",name:"Blackbox AI",icon:"view_in_ar",color:"#1A1A2E",textIcon:"BB",website:"https://blackbox.ai"},xai:{id:"xai",alias:"xai",name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai"},mistral:{id:"mistral",alias:"mistral",name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai"},perplexity:{id:"perplexity",alias:"pplx",name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai"},together:{id:"together",alias:"together",name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai"},fireworks:{id:"fireworks",alias:"fireworks",name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai"},cerebras:{id:"cerebras",alias:"cerebras",name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://www.cerebras.ai"},cohere:{id:"cohere",alias:"cohere",name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com"},nvidia:{id:"nvidia",alias:"nvidia",name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://developer.nvidia.com/nim"},nebius:{id:"nebius",alias:"nebius",name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com"},siliconflow:{id:"siliconflow",alias:"siliconflow",name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com"},hyperbolic:{id:"hyperbolic",alias:"hyp",name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz"},deepgram:{id:"deepgram",alias:"dg",name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com"},assemblyai:{id:"assemblyai",alias:"aai",name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com"},nanobanana:{id:"nanobanana",alias:"nb",name:"NanoBanana",icon:"image",color:"#FFD700",textIcon:"NB",website:"https://nanobananaapi.ai"},"ollama-cloud":{id:"ollama-cloud",alias:"ollamacloud",name:"Ollama Cloud",icon:"cloud",color:"#58A6FF",textIcon:"OC",website:"https://ollama.com/settings/api-keys"},elevenlabs:{id:"elevenlabs",alias:"el",name:"ElevenLabs",icon:"record_voice_over",color:"#6C47FF",textIcon:"EL",website:"https://elevenlabs.io"},cartesia:{id:"cartesia",alias:"cartesia",name:"Cartesia",icon:"spatial_audio",color:"#FF4F8B",textIcon:"CA",website:"https://cartesia.ai"},playht:{id:"playht",alias:"playht",name:"PlayHT",icon:"play_circle",color:"#00B4D8",textIcon:"PH",website:"https://play.ht"},inworld:{id:"inworld",alias:"inworld",name:"Inworld",icon:"voice_chat",color:"#7B2EF2",textIcon:"IW",website:"https://inworld.ai"},sdwebui:{id:"sdwebui",alias:"sdwebui",name:"SD WebUI",icon:"brush",color:"#FF7043",textIcon:"SD",website:"https://github.com/AUTOMATIC1111/stable-diffusion-webui"},comfyui:{id:"comfyui",alias:"comfyui",name:"ComfyUI",icon:"account_tree",color:"#4CAF50",textIcon:"CF",website:"https://github.com/comfyanonymous/ComfyUI"}},d="openai-compatible-",c="anthropic-compatible-";function p(e){return"string"==typeof e&&e.startsWith(d)}function u(e){return"string"==typeof e&&e.startsWith(c)}let h={...l,...s,...m},g={oauth:{id:"oauth",name:"OAuth",icon:"lock"},apikey:{id:"apikey",name:"API Key",icon:"key"}};function b(e){for(let a of Object.values(h))if(a.alias===e||a.id===e)return a;return null}function k(e){let a=h[e];return a?.alias||e}Object.values(h).reduce((e,a)=>(e[a.alias]=a.id,e),{}),Object.values(h).reduce((e,a)=>(e[a.id]=a.alias,e),{});let f=["antigravity","kiro","github","codex","claude","kimi-coding"];r(l,"FREE_PROVIDERS"),r(s,"OAUTH_PROVIDERS"),r(m,"APIKEY_PROVIDERS")},35144:(e,a,i)=>{i.d(a,{Xg:()=>r,vq:()=>n,KC:()=>l}),i(41463);let t={claude:{id:"claude",alias:"cc",format:"claude",executor:"default",baseUrl:"https://api.anthropic.com/v1/messages",urlSuffix:"?beta=true",authType:"oauth",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14,context-management-2025-06-27","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/1.0.83 (external, cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.3.0","X-Stainless-Package-Version":"0.55.1","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":"arm64","X-Stainless-Os":"MacOS","X-Stainless-Timeout":"60"},oauth:{clientIdEnv:"CLAUDE_OAUTH_CLIENT_ID",clientIdDefault:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",tokenUrl:"https://console.anthropic.com/v1/oauth/token"},models:[{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-opus-4-5-20251101",name:"Claude 4.5 Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude 4.5 Sonnet"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}]},gemini:{id:"gemini",alias:"gemini",format:"gemini",executor:"default",baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",urlBuilder:(e,a,i)=>`${e}/${a}:${i?"streamGenerateContent?alt=sse":"generateContent"}`,authType:"apikey",authHeader:"x-goog-api-key",oauth:{clientIdEnv:"GEMINI_OAUTH_CLIENT_ID",clientIdDefault:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecretEnv:"GEMINI_OAUTH_CLIENT_SECRET",clientSecretDefault:""},models:[{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3.1-flash",name:"Gemini 3.1 Flash"},{id:"gemini-3-pro-preview",name:"Gemini 3.0 Pro Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3.0 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"}]},"gemini-cli":{id:"gemini-cli",alias:"gc",format:"gemini-cli",executor:"gemini-cli",baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",urlBuilder:(e,a,i)=>`${e}:${i?"streamGenerateContent?alt=sse":"generateContent"}`,authType:"oauth",authHeader:"bearer",oauth:{clientIdEnv:"GEMINI_CLI_OAUTH_CLIENT_ID",clientIdDefault:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecretEnv:"GEMINI_CLI_OAUTH_CLIENT_SECRET",clientSecretDefault:""},models:[{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3.1-flash",name:"Gemini 3.1 Flash"},{id:"gemini-3-flash-preview",name:"Gemini 3.0 Flash Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3.0 Pro 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"}]},codex:{id:"codex",alias:"cx",format:"openai-responses",executor:"codex",baseUrl:"https://chatgpt.com/backend-api/codex/responses",authType:"oauth",authHeader:"bearer",headers:{Version:"0.92.0","Openai-Beta":"responses=experimental","User-Agent":"codex-cli/0.92.0 (Windows 10.0.26100; x64)"},oauth:{clientIdEnv:"CODEX_OAUTH_CLIENT_ID",clientIdDefault:"app_EMoamEEZ73f0CkXaXp7hrann",clientSecretEnv:"CODEX_OAUTH_CLIENT_SECRET",clientSecretDefault:"",tokenUrl:"https://auth.openai.com/oauth/token"},models:[{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"},{id:"gpt-5.3-codex-xhigh",name:"GPT 5.3 Codex (xHigh)"},{id:"gpt-5.3-codex-high",name:"GPT 5.3 Codex (High)"},{id:"gpt-5.3-codex-low",name:"GPT 5.3 Codex (Low)"},{id:"gpt-5.3-codex-none",name:"GPT 5.3 Codex (None)"},{id:"gpt-5.1-codex-mini",name:"GPT 5.1 Codex Mini"},{id:"gpt-5.1-codex-mini-high",name:"GPT 5.1 Codex Mini (High)"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.1-codex-max",name:"GPT 5.1 Codex Max"},{id:"gpt-5.1-codex",name:"GPT 5.1 Codex"},{id:"gpt-5.1",name:"GPT 5.1"},{id:"gpt-5-codex",name:"GPT 5 Codex"},{id:"gpt-5-codex-mini",name:"GPT 5 Codex Mini"}]},qwen:{id:"qwen",alias:"qw",format:"openai",executor:"default",baseUrl:"https://portal.qwen.ai/v1/chat/completions",authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"gl-node/22.17.0"},oauth:{clientIdEnv:"QWEN_OAUTH_CLIENT_ID",clientIdDefault:"f0304373b74a44d2b584a3fb70ca9e56",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",authUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code"},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash"},{id:"vision-model",name:"Qwen3 Vision Model"}]},iflow:{id:"iflow",alias:"if",format:"openai",executor:"iflow",baseUrl:"https://apis.iflow.cn/v1/chat/completions",authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"iFlow-Cli"},oauth:{clientIdEnv:"IFLOW_OAUTH_CLIENT_ID",clientIdDefault:"10009311001",clientSecretEnv:"IFLOW_OAUTH_CLIENT_SECRET",clientSecretDefault:"",tokenUrl:"https://iflow.cn/oauth/token",authUrl:"https://iflow.cn/oauth"},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"kimi-k2",name:"Kimi K2"},{id:"kimi-k2-thinking",name:"Kimi K2 Thinking"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"deepseek-v3.2-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-v3.2-reasoner",name:"DeepSeek V3.2 Reasoner"},{id:"minimax-m2.1",name:"MiniMax M2.1"},{id:"glm-4.7",name:"GLM 4.7"}]},antigravity:{id:"antigravity",alias:"ag",format:"antigravity",executor:"antigravity",baseUrls:["https://daily-cloudcode-pa.googleapis.com","https://cloudcode-pa.googleapis.com"],urlBuilder:(e,a,i)=>`${e}${i?"/v1internal:streamGenerateContent?alt=sse":"/v1internal:generateContent"}`,authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"antigravity/1.104.0 darwin/arm64"},oauth:{clientIdEnv:"ANTIGRAVITY_OAUTH_CLIENT_ID",clientIdDefault:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecretEnv:"ANTIGRAVITY_OAUTH_CLIENT_SECRET",clientSecretDefault:""},models:[{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"gemini-3.1-pro-high",name:"Gemini 3.1 Pro High"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro Low"},{id:"gemini-3.1-flash",name:"Gemini 3.1 Flash"},{id:"gemini-3-flash",name:"Gemini 3.0 Flash"},{id:"gpt-oss-120b-medium",name:"GPT OSS 120B Medium"}]},github:{id:"github",alias:"gh",format:"openai",executor:"github",baseUrl:"https://api.githubcopilot.com/chat/completions",responsesBaseUrl:"https://api.githubcopilot.com/responses",authType:"oauth",authHeader:"bearer",headers:{"copilot-integration-id":"vscode-chat","editor-version":"vscode/1.107.1","editor-plugin-version":"copilot-chat/0.26.7","user-agent":"GitHubCopilotChat/0.26.7","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"},models:[{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4",name:"GPT-4"},{id:"gpt-3.5-turbo",name:"GPT-3.5 Turbo"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-codex",name:"GPT-5 Codex",targetFormat:"openai-responses"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",targetFormat:"openai-responses"},{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini",targetFormat:"openai-responses"},{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",targetFormat:"openai-responses"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",targetFormat:"openai-responses"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-opus-4.1",name:"Claude Opus 4.1"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5 (Full ID)"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview"},{id:"grok-code-fast-1",name:"Grok Code Fast 1"},{id:"oswe-vscode-prime",name:"Raptor Mini"}]},kiro:{id:"kiro",alias:"kr",format:"kiro",executor:"kiro",baseUrl:"https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse",authType:"oauth",authHeader:"bearer",headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","X-Amz-Target":"AmazonCodeWhispererStreamingService.GenerateAssistantResponse","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"},oauth:{tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev"},models:[{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"}]},cursor:{id:"cursor",alias:"cu",format:"cursor",executor:"cursor",baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",authType:"oauth",authHeader:"bearer",headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"1.1.3",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"}]},openai:{id:"openai",alias:"openai",format:"openai",executor:"default",baseUrl:"https://api.openai.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"o1",name:"O1"},{id:"o1-mini",name:"O1 Mini"}]},anthropic:{id:"anthropic",alias:"anthropic",format:"claude",executor:"default",baseUrl:"https://api.anthropic.com/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01"},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"}]},openrouter:{id:"openrouter",alias:"openrouter",format:"openai",executor:"default",baseUrl:"https://openrouter.ai/api/v1/chat/completions",authType:"apikey",authHeader:"bearer",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"},models:[{id:"auto",name:"Auto (Best Available)"}]},glm:{id:"glm",alias:"glm",format:"claude",executor:"default",baseUrl:"https://api.z.ai/api/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{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.5v",name:"GLM 4.5V (Vision)"},{id:"glm-4.5",name:"GLM 4.5"},{id:"glm-4.5-air",name:"GLM 4.5 Air"},{id:"glm-4-32b",name:"GLM 4 32B"}]},kimi:{id:"kimi",alias:"kimi",format:"openai",executor:"default",baseUrl:"https://api.moonshot.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}]},"kimi-coding":{id:"kimi-coding",alias:"kmc",format:"claude",executor:"default",baseUrl:"https://api.kimi.com/coding/v1/messages",urlSuffix:"?beta=true",authType:"oauth",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},oauth:{clientIdEnv:"KIMI_CODING_OAUTH_CLIENT_ID",clientIdDefault:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token",authUrl:"https://auth.kimi.com/api/oauth/device_authorization"},models:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}]},kilocode:{id:"kilocode",alias:"kc",format:"openrouter",executor:"openrouter",baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",modelsUrl:"https://api.kilo.ai/api/openrouter/models",authType:"oauth",authHeader:"Authorization",authPrefix:"Bearer ",oauth:{initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"},models:[{id:"openrouter/free",name:"Free Models Router"},{id:"qwen/qwen3-vl-235b-a22b-thinking",name:"Qwen3 VL 235B A22B Thinking"},{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507"},{id:"qwen/qwen3-vl-30b-a3b-thinking",name:"Qwen3 VL 30B A3B Thinking"},{id:"stepfun/step-3.5-flash:free",name:"StepFun Step 3.5 Flash"},{id:"arcee-ai/trinity-large-preview:free",name:"Arcee AI Trinity Large Preview"},{id:"openai/gpt-4o-mini",name:"GPT-4o Mini"},{id:"openai/gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"openai/gpt-5-nano",name:"GPT-5 Nano"},{id:"openai/gpt-5-mini",name:"GPT-5 Mini"},{id:"anthropic/claude-3-haiku",name:"Claude 3 Haiku"},{id:"google/gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek V3.1"},{id:"deepseek/deepseek-v3.2",name:"DeepSeek V3.2"},{id:"meta-llama/llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-scout",name:"Llama 4 Scout"},{id:"meta-llama/llama-4-maverick",name:"Llama 4 Maverick"},{id:"qwen/qwen3-8b",name:"Qwen3 8B"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"qwen/qwen3-coder",name:"Qwen3 Coder 480B"},{id:"qwen/qwq-32b",name:"QwQ 32B"},{id:"mistralai/mistral-small-24b-instruct-2501",name:"Mistral Small 3"},{id:"mistralai/mistral-7b-instruct",name:"Mistral 7B"},{id:"x-ai/grok-code-fast-1",name:"Grok Code Fast 1"},{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"}],passthroughModels:!0},cline:{id:"cline",alias:"cl",format:"openai",executor:"openai",baseUrl:"https://api.cline.bot/api/v1/chat/completions",authType:"oauth",authHeader:"Authorization",authPrefix:"Bearer ",oauth:{tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh",authUrl:"https://api.cline.bot/api/v1/auth/authorize"},extraHeaders:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},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"}],passthroughModels:!0},minimax:{id:"minimax",alias:"minimax",format:"claude",executor:"default",baseUrl:"https://api.minimax.io/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"MiniMax-M2.1",name:"MiniMax M2.1"}]},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",format:"claude",executor:"default",baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"MiniMax-M2.1",name:"MiniMax M2.1"}]},deepseek:{id:"deepseek",alias:"ds",format:"openai",executor:"default",baseUrl:"https://api.deepseek.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"deepseek-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-reasoner",name:"DeepSeek V3.2 Reasoner"}]},groq:{id:"groq",alias:"groq",format:"openai",executor:"default",baseUrl:"https://api.groq.com/openai/v1/chat/completions",authType:"apikey",authHeader:"bearer",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"}]},blackbox:{id:"blackbox",alias:"bb",format:"openai",executor:"default",baseUrl:"https://api.blackbox.ai/v1/chat/completions",modelsUrl:"https://api.blackbox.ai/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-4o",name:"GPT-4o"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"deepseek-v3",name:"DeepSeek V3"},{id:"blackboxai",name:"Blackbox AI"},{id:"blackboxai-pro",name:"Blackbox AI Pro"}]},xai:{id:"xai",alias:"xai",format:"openai",executor:"default",baseUrl:"https://api.x.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{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"}]},mistral:{id:"mistral",alias:"mistral",format:"openai",executor:"default",baseUrl:"https://api.mistral.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"mistral-large-latest",name:"Mistral Large 3"},{id:"codestral-latest",name:"Codestral"},{id:"mistral-medium-latest",name:"Mistral Medium 3"}]},perplexity:{id:"perplexity",alias:"pplx",format:"openai",executor:"default",baseUrl:"https://api.perplexity.ai/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"sonar-pro",name:"Sonar Pro"},{id:"sonar",name:"Sonar"}]},together:{id:"together",alias:"together",format:"openai",executor:"default",baseUrl:"https://api.together.xyz/v1/chat/completions",authType:"apikey",authHeader:"bearer",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"}]},fireworks:{id:"fireworks",alias:"fireworks",format:"openai",executor:"default",baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",authType:"apikey",authHeader:"bearer",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"}]},cerebras:{id:"cerebras",alias:"cerebras",format:"openai",executor:"default",baseUrl:"https://api.cerebras.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",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"}]},"ollama-cloud":{id:"ollama-cloud",alias:"ollamacloud",format:"openai",executor:"default",baseUrl:"https://api.ollama.com/v1/chat/completions",modelsUrl:"https://api.ollama.com/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"gemma3:27b",name:"Gemma 3 27B"},{id:"llama3.3:70b",name:"Llama 3.3 70B"},{id:"qwen3:72b",name:"Qwen3 72B"},{id:"devstral:24b",name:"Devstral 24B"},{id:"deepseek-r2:671b",name:"DeepSeek R2 671B"},{id:"phi4:14b",name:"Phi 4 14B"},{id:"mistral-small3.2:24b",name:"Mistral Small 3.2 24B"}],passthroughModels:!0},cohere:{id:"cohere",alias:"cohere",format:"openai",executor:"default",baseUrl:"https://api.cohere.com/v2/chat",authType:"apikey",authHeader:"bearer",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)"}]},nvidia:{id:"nvidia",alias:"nvidia",format:"openai",executor:"default",baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"z-ai/glm4.7",name:"GLM 4.7"},{id:"deepseek-ai/deepseek-v3.2",name:"DeepSeek V3.2"},{id:"nvidia/llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"meta/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"deepseek/deepseek-r1",name:"DeepSeek R1"}]},nebius:{id:"nebius",alias:"nebius",format:"openai",executor:"default",baseUrl:"https://api.tokenfactory.nebius.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct"}]},siliconflow:{id:"siliconflow",alias:"siliconflow",format:"openai",executor:"default",baseUrl:"https://api.siliconflow.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B"},{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3 Coder 480B"},{id:"Qwen/Qwen3-32B",name:"Qwen3 32B"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"zai-org/GLM-4.7",name:"GLM 4.7"},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B"},{id:"baidu/ERNIE-4.5-300B-A47B",name:"ERNIE 4.5 300B"}]},hyperbolic:{id:"hyperbolic",alias:"hyp",format:"openai",executor:"default",baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",authType:"apikey",authHeader:"bearer",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"}]}},o=new Map;for(let e of Object.values(t))e.alias&&e.alias!==e.id&&o.set(e.alias,e);let n=function(){let e={};for(let a of Object.values(t))if(a.models&&a.models.length>0){let i=a.alias||a.id;e[i]||(e[i]=a.models)}return e}(),r=function(){let e={};for(let a of Object.values(t))e[a.id]=a.alias||a.id;return e}();function l(e){return n[r[e]||e]||[]}},52529:(e,a,i)=>{i.d(a,{Q2:()=>t.Q2,fg:()=>t.fg,vQ:()=>o,MA:()=>t.MA,zN:()=>t.zN,B2:()=>n});var t=i(20909);i(81135);let o={name:"OmniRoute",description:"AI Gateway for Multi-Provider LLMs",version:"2.3.0"},n={storageKey:"theme",defaultTheme:"system"}},55846:(e,a,i)=>{i.d(a,{ThemeProvider:()=>r});var t=i(95155),o=i(12115),n=i(76851);function r({children:e}){let{initTheme:a}=(0,n.A)();return(0,o.useEffect)(()=>{a()},[a]),(0,t.jsx)(t.Fragment,{children:e})}},76851:(e,a,i)=>{i.d(a,{A:()=>c,F:()=>l});var t=i(1934),o=i(31692),n=i(52529);let r=(0,t.v)()((0,o.Zr)((e,a)=>({theme:n.B2.defaultTheme,colorTheme:"coral",customColor:"#3b82f6",setTheme:a=>{e({theme:a}),s(a)},setColorTheme:i=>{e({colorTheme:i}),m(i,a().customColor)},setCustomColorTheme:a=>{let i=d(a);e({colorTheme:"custom",customColor:i}),m("custom",i)},toggleTheme:()=>{let i="dark"===a().theme?"light":"dark";e({theme:i}),s(i)},initTheme:()=>{let{theme:e,colorTheme:i,customColor:t}=a();s(e),m(i,t)}}),{name:n.B2.storageKey})),l={coral:"#e54d5e",blue:"#3b82f6",red:"#ef4444",green:"#22c55e",violet:"#8b5cf6",orange:"#f97316",cyan:"#06b6d4"};function s(e){let a=document.documentElement,i=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";"dark"===("system"===e?i:e)?a.classList.add("dark"):a.classList.remove("dark")}function m(e,a){let i,t,o,n,r,s,m=document.documentElement,c="custom"===e?d(a):l[e]||l.coral,p=(t=parseInt((i=d(c).slice(1)).slice(0,2),16),o=parseInt(i.slice(2,4),16),n=parseInt(i.slice(4,6),16),r=e=>{let a=Math.round((0-e)*Math.abs(-.14));return Math.max(0,Math.min(255,e-a))},s=e=>e.toString(16).padStart(2,"0"),`#${s(r(t))}${s(r(o))}${s(r(n))}`);m.style.setProperty("--color-primary",c),m.style.setProperty("--color-primary-hover",p)}function d(e){let a=(e||"").trim(),i=a.startsWith("#")?a:`#${a}`;return/^#([0-9a-fA-F]{6})$/.test(i)?i.toLowerCase():"#3b82f6"}let c=r},81135:(e,a,i)=>{i.d(a,{KC:()=>t.KC,Xg:()=>t.Xg});var t=i(35144);Object.entries(i(20909).Q2).filter(([,e])=>e.passthroughModels).map(([e])=>e),Object.entries(t.vq).flatMap(([e,a])=>a.map(a=>({provider:e,model:a.id,name:a.name})))}}]);
2
+ ${e}`),Error(`Provider validation failed for ${a}`)}}let l={iflow:{id:"iflow",alias:"if",name:"iFlow AI",icon:"water_drop",color:"#6366F1"},qwen:{id:"qwen",alias:"qw",name:"Qwen Code",icon:"psychology",color:"#10B981"},"gemini-cli":{id:"gemini-cli",alias:"gc",name:"Gemini CLI",icon:"terminal",color:"#4285F4"},kiro:{id:"kiro",alias:"kr",name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35"}},s={claude:{id:"claude",alias:"cc",name:"Claude Code",icon:"smart_toy",color:"#D97757"},antigravity:{id:"antigravity",alias:"ag",name:"Antigravity",icon:"rocket_launch",color:"#F59E0B"},codex:{id:"codex",alias:"cx",name:"OpenAI Codex",icon:"code",color:"#3B82F6"},github:{id:"github",alias:"gh",name:"GitHub Copilot",icon:"code",color:"#333333"},cursor:{id:"cursor",alias:"cu",name:"Cursor IDE",icon:"edit_note",color:"#00D4AA"},"kimi-coding":{id:"kimi-coding",alias:"kmc",name:"Kimi Coding",icon:"psychology",color:"#1E40AF",textIcon:"KC"},kilocode:{id:"kilocode",alias:"kc",name:"Kilo Code",icon:"code",color:"#FF6B35",textIcon:"KC"},cline:{id:"cline",alias:"cl",name:"Cline",icon:"smart_toy",color:"#5B9BD5",textIcon:"CL"}},m={openrouter:{id:"openrouter",alias:"openrouter",name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",passthroughModels:!0,website:"https://openrouter.ai"},glm:{id:"glm",alias:"glm",name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn"},kimi:{id:"kimi",alias:"kimi",name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn"},minimax:{id:"minimax",alias:"minimax",name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com"},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com"},openai:{id:"openai",alias:"openai",name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com"},anthropic:{id:"anthropic",alias:"anthropic",name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com"},gemini:{id:"gemini",alias:"gemini",name:"Gemini",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev"},deepseek:{id:"deepseek",alias:"ds",name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com"},groq:{id:"groq",alias:"groq",name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com"},blackbox:{id:"blackbox",alias:"bb",name:"Blackbox AI",icon:"view_in_ar",color:"#1A1A2E",textIcon:"BB",website:"https://blackbox.ai"},xai:{id:"xai",alias:"xai",name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai"},mistral:{id:"mistral",alias:"mistral",name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai"},perplexity:{id:"perplexity",alias:"pplx",name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai"},together:{id:"together",alias:"together",name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai"},fireworks:{id:"fireworks",alias:"fireworks",name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai"},cerebras:{id:"cerebras",alias:"cerebras",name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://www.cerebras.ai"},cohere:{id:"cohere",alias:"cohere",name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com"},nvidia:{id:"nvidia",alias:"nvidia",name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://developer.nvidia.com/nim"},nebius:{id:"nebius",alias:"nebius",name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com"},siliconflow:{id:"siliconflow",alias:"siliconflow",name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com"},hyperbolic:{id:"hyperbolic",alias:"hyp",name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz"},deepgram:{id:"deepgram",alias:"dg",name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com"},assemblyai:{id:"assemblyai",alias:"aai",name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com"},nanobanana:{id:"nanobanana",alias:"nb",name:"NanoBanana",icon:"image",color:"#FFD700",textIcon:"NB",website:"https://nanobananaapi.ai"},"ollama-cloud":{id:"ollama-cloud",alias:"ollamacloud",name:"Ollama Cloud",icon:"cloud",color:"#58A6FF",textIcon:"OC",website:"https://ollama.com/settings/api-keys"},elevenlabs:{id:"elevenlabs",alias:"el",name:"ElevenLabs",icon:"record_voice_over",color:"#6C47FF",textIcon:"EL",website:"https://elevenlabs.io"},cartesia:{id:"cartesia",alias:"cartesia",name:"Cartesia",icon:"spatial_audio",color:"#FF4F8B",textIcon:"CA",website:"https://cartesia.ai"},playht:{id:"playht",alias:"playht",name:"PlayHT",icon:"play_circle",color:"#00B4D8",textIcon:"PH",website:"https://play.ht"},inworld:{id:"inworld",alias:"inworld",name:"Inworld",icon:"voice_chat",color:"#7B2EF2",textIcon:"IW",website:"https://inworld.ai"},sdwebui:{id:"sdwebui",alias:"sdwebui",name:"SD WebUI",icon:"brush",color:"#FF7043",textIcon:"SD",website:"https://github.com/AUTOMATIC1111/stable-diffusion-webui"},comfyui:{id:"comfyui",alias:"comfyui",name:"ComfyUI",icon:"account_tree",color:"#4CAF50",textIcon:"CF",website:"https://github.com/comfyanonymous/ComfyUI"}},d="openai-compatible-",c="anthropic-compatible-";function p(e){return"string"==typeof e&&e.startsWith(d)}function u(e){return"string"==typeof e&&e.startsWith(c)}let h={...l,...s,...m},g={oauth:{id:"oauth",name:"OAuth",icon:"lock"},apikey:{id:"apikey",name:"API Key",icon:"key"}};function b(e){for(let a of Object.values(h))if(a.alias===e||a.id===e)return a;return null}function k(e){let a=h[e];return a?.alias||e}Object.values(h).reduce((e,a)=>(e[a.alias]=a.id,e),{}),Object.values(h).reduce((e,a)=>(e[a.id]=a.alias,e),{});let f=["antigravity","kiro","github","codex","claude","kimi-coding"];r(l,"FREE_PROVIDERS"),r(s,"OAUTH_PROVIDERS"),r(m,"APIKEY_PROVIDERS")},35144:(e,a,i)=>{i.d(a,{Xg:()=>r,vq:()=>n,KC:()=>l}),i(41463);let t={claude:{id:"claude",alias:"cc",format:"claude",executor:"default",baseUrl:"https://api.anthropic.com/v1/messages",urlSuffix:"?beta=true",authType:"oauth",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14,context-management-2025-06-27","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/1.0.83 (external, cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.3.0","X-Stainless-Package-Version":"0.55.1","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":"arm64","X-Stainless-Os":"MacOS","X-Stainless-Timeout":"60"},oauth:{clientIdEnv:"CLAUDE_OAUTH_CLIENT_ID",clientIdDefault:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",tokenUrl:"https://console.anthropic.com/v1/oauth/token"},models:[{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-opus-4-5-20251101",name:"Claude 4.5 Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude 4.5 Sonnet"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}]},gemini:{id:"gemini",alias:"gemini",format:"gemini",executor:"default",baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",urlBuilder:(e,a,i)=>`${e}/${a}:${i?"streamGenerateContent?alt=sse":"generateContent"}`,authType:"apikey",authHeader:"x-goog-api-key",oauth:{clientIdEnv:"GEMINI_OAUTH_CLIENT_ID",clientIdDefault:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecretEnv:"GEMINI_OAUTH_CLIENT_SECRET",clientSecretDefault:""},models:[{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3.1-flash",name:"Gemini 3.1 Flash"},{id:"gemini-3-pro-preview",name:"Gemini 3.0 Pro Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3.0 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"}]},"gemini-cli":{id:"gemini-cli",alias:"gc",format:"gemini-cli",executor:"gemini-cli",baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",urlBuilder:(e,a,i)=>`${e}:${i?"streamGenerateContent?alt=sse":"generateContent"}`,authType:"oauth",authHeader:"bearer",oauth:{clientIdEnv:"GEMINI_CLI_OAUTH_CLIENT_ID",clientIdDefault:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecretEnv:"GEMINI_CLI_OAUTH_CLIENT_SECRET",clientSecretDefault:""},models:[{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3.1-flash",name:"Gemini 3.1 Flash"},{id:"gemini-3-flash-preview",name:"Gemini 3.0 Flash Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3.0 Pro 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"}]},codex:{id:"codex",alias:"cx",format:"openai-responses",executor:"codex",baseUrl:"https://chatgpt.com/backend-api/codex/responses",authType:"oauth",authHeader:"bearer",headers:{Version:"0.92.0","Openai-Beta":"responses=experimental","User-Agent":"codex-cli/0.92.0 (Windows 10.0.26100; x64)"},oauth:{clientIdEnv:"CODEX_OAUTH_CLIENT_ID",clientIdDefault:"app_EMoamEEZ73f0CkXaXp7hrann",clientSecretEnv:"CODEX_OAUTH_CLIENT_SECRET",clientSecretDefault:"",tokenUrl:"https://auth.openai.com/oauth/token"},models:[{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"},{id:"gpt-5.3-codex-xhigh",name:"GPT 5.3 Codex (xHigh)"},{id:"gpt-5.3-codex-high",name:"GPT 5.3 Codex (High)"},{id:"gpt-5.3-codex-low",name:"GPT 5.3 Codex (Low)"},{id:"gpt-5.3-codex-none",name:"GPT 5.3 Codex (None)"},{id:"gpt-5.1-codex-mini",name:"GPT 5.1 Codex Mini"},{id:"gpt-5.1-codex-mini-high",name:"GPT 5.1 Codex Mini (High)"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.1-codex-max",name:"GPT 5.1 Codex Max"},{id:"gpt-5.1-codex",name:"GPT 5.1 Codex"},{id:"gpt-5.1",name:"GPT 5.1"},{id:"gpt-5-codex",name:"GPT 5 Codex"},{id:"gpt-5-codex-mini",name:"GPT 5 Codex Mini"}]},qwen:{id:"qwen",alias:"qw",format:"openai",executor:"default",baseUrl:"https://portal.qwen.ai/v1/chat/completions",authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"gl-node/22.17.0"},oauth:{clientIdEnv:"QWEN_OAUTH_CLIENT_ID",clientIdDefault:"f0304373b74a44d2b584a3fb70ca9e56",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",authUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code"},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash"},{id:"vision-model",name:"Qwen3 Vision Model"}]},iflow:{id:"iflow",alias:"if",format:"openai",executor:"iflow",baseUrl:"https://apis.iflow.cn/v1/chat/completions",authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"iFlow-Cli"},oauth:{clientIdEnv:"IFLOW_OAUTH_CLIENT_ID",clientIdDefault:"10009311001",clientSecretEnv:"IFLOW_OAUTH_CLIENT_SECRET",clientSecretDefault:"",tokenUrl:"https://iflow.cn/oauth/token",authUrl:"https://iflow.cn/oauth"},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"kimi-k2",name:"Kimi K2"},{id:"kimi-k2-thinking",name:"Kimi K2 Thinking"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"deepseek-v3.2-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-v3.2-reasoner",name:"DeepSeek V3.2 Reasoner"},{id:"minimax-m2.1",name:"MiniMax M2.1"},{id:"glm-4.7",name:"GLM 4.7"}]},antigravity:{id:"antigravity",alias:"ag",format:"antigravity",executor:"antigravity",baseUrls:["https://daily-cloudcode-pa.googleapis.com","https://cloudcode-pa.googleapis.com"],urlBuilder:(e,a,i)=>`${e}${i?"/v1internal:streamGenerateContent?alt=sse":"/v1internal:generateContent"}`,authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"antigravity/1.104.0 darwin/arm64"},oauth:{clientIdEnv:"ANTIGRAVITY_OAUTH_CLIENT_ID",clientIdDefault:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecretEnv:"ANTIGRAVITY_OAUTH_CLIENT_SECRET",clientSecretDefault:""},models:[{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"gemini-3.1-pro-high",name:"Gemini 3.1 Pro High"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro Low"},{id:"gemini-3.1-flash",name:"Gemini 3.1 Flash"},{id:"gemini-3-flash",name:"Gemini 3.0 Flash"},{id:"gpt-oss-120b-medium",name:"GPT OSS 120B Medium"}]},github:{id:"github",alias:"gh",format:"openai",executor:"github",baseUrl:"https://api.githubcopilot.com/chat/completions",responsesBaseUrl:"https://api.githubcopilot.com/responses",authType:"oauth",authHeader:"bearer",headers:{"copilot-integration-id":"vscode-chat","editor-version":"vscode/1.107.1","editor-plugin-version":"copilot-chat/0.26.7","user-agent":"GitHubCopilotChat/0.26.7","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"},models:[{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4",name:"GPT-4"},{id:"gpt-3.5-turbo",name:"GPT-3.5 Turbo"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-codex",name:"GPT-5 Codex",targetFormat:"openai-responses"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",targetFormat:"openai-responses"},{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini",targetFormat:"openai-responses"},{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",targetFormat:"openai-responses"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",targetFormat:"openai-responses"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-opus-4.1",name:"Claude Opus 4.1"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5 (Full ID)"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview"},{id:"grok-code-fast-1",name:"Grok Code Fast 1"},{id:"oswe-vscode-prime",name:"Raptor Mini"}]},kiro:{id:"kiro",alias:"kr",format:"kiro",executor:"kiro",baseUrl:"https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse",authType:"oauth",authHeader:"bearer",headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","X-Amz-Target":"AmazonCodeWhispererStreamingService.GenerateAssistantResponse","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"},oauth:{tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev"},models:[{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"}]},cursor:{id:"cursor",alias:"cu",format:"cursor",executor:"cursor",baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",authType:"oauth",authHeader:"bearer",headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"1.1.3",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"}]},openai:{id:"openai",alias:"openai",format:"openai",executor:"default",baseUrl:"https://api.openai.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"o1",name:"O1"},{id:"o1-mini",name:"O1 Mini"}]},anthropic:{id:"anthropic",alias:"anthropic",format:"claude",executor:"default",baseUrl:"https://api.anthropic.com/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01"},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"}]},openrouter:{id:"openrouter",alias:"openrouter",format:"openai",executor:"default",baseUrl:"https://openrouter.ai/api/v1/chat/completions",authType:"apikey",authHeader:"bearer",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"},models:[{id:"auto",name:"Auto (Best Available)"}]},glm:{id:"glm",alias:"glm",format:"claude",executor:"default",baseUrl:"https://api.z.ai/api/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{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.5v",name:"GLM 4.5V (Vision)"},{id:"glm-4.5",name:"GLM 4.5"},{id:"glm-4.5-air",name:"GLM 4.5 Air"},{id:"glm-4-32b",name:"GLM 4 32B"}]},kimi:{id:"kimi",alias:"kimi",format:"openai",executor:"default",baseUrl:"https://api.moonshot.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}]},"kimi-coding":{id:"kimi-coding",alias:"kmc",format:"claude",executor:"default",baseUrl:"https://api.kimi.com/coding/v1/messages",urlSuffix:"?beta=true",authType:"oauth",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},oauth:{clientIdEnv:"KIMI_CODING_OAUTH_CLIENT_ID",clientIdDefault:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token",authUrl:"https://auth.kimi.com/api/oauth/device_authorization"},models:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}]},kilocode:{id:"kilocode",alias:"kc",format:"openrouter",executor:"openrouter",baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",modelsUrl:"https://api.kilo.ai/api/openrouter/models",authType:"oauth",authHeader:"Authorization",authPrefix:"Bearer ",oauth:{initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"},models:[{id:"openrouter/free",name:"Free Models Router"},{id:"qwen/qwen3-vl-235b-a22b-thinking",name:"Qwen3 VL 235B A22B Thinking"},{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507"},{id:"qwen/qwen3-vl-30b-a3b-thinking",name:"Qwen3 VL 30B A3B Thinking"},{id:"stepfun/step-3.5-flash:free",name:"StepFun Step 3.5 Flash"},{id:"arcee-ai/trinity-large-preview:free",name:"Arcee AI Trinity Large Preview"},{id:"openai/gpt-4o-mini",name:"GPT-4o Mini"},{id:"openai/gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"openai/gpt-5-nano",name:"GPT-5 Nano"},{id:"openai/gpt-5-mini",name:"GPT-5 Mini"},{id:"anthropic/claude-3-haiku",name:"Claude 3 Haiku"},{id:"google/gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek V3.1"},{id:"deepseek/deepseek-v3.2",name:"DeepSeek V3.2"},{id:"meta-llama/llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-scout",name:"Llama 4 Scout"},{id:"meta-llama/llama-4-maverick",name:"Llama 4 Maverick"},{id:"qwen/qwen3-8b",name:"Qwen3 8B"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"qwen/qwen3-coder",name:"Qwen3 Coder 480B"},{id:"qwen/qwq-32b",name:"QwQ 32B"},{id:"mistralai/mistral-small-24b-instruct-2501",name:"Mistral Small 3"},{id:"mistralai/mistral-7b-instruct",name:"Mistral 7B"},{id:"x-ai/grok-code-fast-1",name:"Grok Code Fast 1"},{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"}],passthroughModels:!0},cline:{id:"cline",alias:"cl",format:"openai",executor:"openai",baseUrl:"https://api.cline.bot/api/v1/chat/completions",authType:"oauth",authHeader:"Authorization",authPrefix:"Bearer ",oauth:{tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh",authUrl:"https://api.cline.bot/api/v1/auth/authorize"},extraHeaders:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},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"}],passthroughModels:!0},minimax:{id:"minimax",alias:"minimax",format:"claude",executor:"default",baseUrl:"https://api.minimax.io/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"MiniMax-M2.1",name:"MiniMax M2.1"}]},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",format:"claude",executor:"default",baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"MiniMax-M2.1",name:"MiniMax M2.1"}]},deepseek:{id:"deepseek",alias:"ds",format:"openai",executor:"default",baseUrl:"https://api.deepseek.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"deepseek-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-reasoner",name:"DeepSeek V3.2 Reasoner"}]},groq:{id:"groq",alias:"groq",format:"openai",executor:"default",baseUrl:"https://api.groq.com/openai/v1/chat/completions",authType:"apikey",authHeader:"bearer",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"}]},blackbox:{id:"blackbox",alias:"bb",format:"openai",executor:"default",baseUrl:"https://api.blackbox.ai/v1/chat/completions",modelsUrl:"https://api.blackbox.ai/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-4o",name:"GPT-4o"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"deepseek-v3",name:"DeepSeek V3"},{id:"blackboxai",name:"Blackbox AI"},{id:"blackboxai-pro",name:"Blackbox AI Pro"}]},xai:{id:"xai",alias:"xai",format:"openai",executor:"default",baseUrl:"https://api.x.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{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"}]},mistral:{id:"mistral",alias:"mistral",format:"openai",executor:"default",baseUrl:"https://api.mistral.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"mistral-large-latest",name:"Mistral Large 3"},{id:"codestral-latest",name:"Codestral"},{id:"mistral-medium-latest",name:"Mistral Medium 3"}]},perplexity:{id:"perplexity",alias:"pplx",format:"openai",executor:"default",baseUrl:"https://api.perplexity.ai/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"sonar-pro",name:"Sonar Pro"},{id:"sonar",name:"Sonar"}]},together:{id:"together",alias:"together",format:"openai",executor:"default",baseUrl:"https://api.together.xyz/v1/chat/completions",authType:"apikey",authHeader:"bearer",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"}]},fireworks:{id:"fireworks",alias:"fireworks",format:"openai",executor:"default",baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",authType:"apikey",authHeader:"bearer",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"}]},cerebras:{id:"cerebras",alias:"cerebras",format:"openai",executor:"default",baseUrl:"https://api.cerebras.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",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"}]},"ollama-cloud":{id:"ollama-cloud",alias:"ollamacloud",format:"openai",executor:"default",baseUrl:"https://api.ollama.com/v1/chat/completions",modelsUrl:"https://api.ollama.com/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"gemma3:27b",name:"Gemma 3 27B"},{id:"llama3.3:70b",name:"Llama 3.3 70B"},{id:"qwen3:72b",name:"Qwen3 72B"},{id:"devstral:24b",name:"Devstral 24B"},{id:"deepseek-r2:671b",name:"DeepSeek R2 671B"},{id:"phi4:14b",name:"Phi 4 14B"},{id:"mistral-small3.2:24b",name:"Mistral Small 3.2 24B"}],passthroughModels:!0},cohere:{id:"cohere",alias:"cohere",format:"openai",executor:"default",baseUrl:"https://api.cohere.com/v2/chat",authType:"apikey",authHeader:"bearer",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)"}]},nvidia:{id:"nvidia",alias:"nvidia",format:"openai",executor:"default",baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"z-ai/glm4.7",name:"GLM 4.7"},{id:"deepseek-ai/deepseek-v3.2",name:"DeepSeek V3.2"},{id:"nvidia/llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"meta/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"deepseek/deepseek-r1",name:"DeepSeek R1"}]},nebius:{id:"nebius",alias:"nebius",format:"openai",executor:"default",baseUrl:"https://api.tokenfactory.nebius.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct"}]},siliconflow:{id:"siliconflow",alias:"siliconflow",format:"openai",executor:"default",baseUrl:"https://api.siliconflow.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B"},{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3 Coder 480B"},{id:"Qwen/Qwen3-32B",name:"Qwen3 32B"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"zai-org/GLM-4.7",name:"GLM 4.7"},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B"},{id:"baidu/ERNIE-4.5-300B-A47B",name:"ERNIE 4.5 300B"}]},hyperbolic:{id:"hyperbolic",alias:"hyp",format:"openai",executor:"default",baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",authType:"apikey",authHeader:"bearer",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"}]}},o=new Map;for(let e of Object.values(t))e.alias&&e.alias!==e.id&&o.set(e.alias,e);let n=function(){let e={};for(let a of Object.values(t))if(a.models&&a.models.length>0){let i=a.alias||a.id;e[i]||(e[i]=a.models)}return e}(),r=function(){let e={};for(let a of Object.values(t))e[a.id]=a.alias||a.id;return e}();function l(e){return n[r[e]||e]||[]}},52529:(e,a,i)=>{i.d(a,{Q2:()=>t.Q2,fg:()=>t.fg,vQ:()=>o,MA:()=>t.MA,zN:()=>t.zN,B2:()=>n});var t=i(20909);i(81135);let o={name:"OmniRoute",description:"AI Gateway for Multi-Provider LLMs",version:"2.3.1"},n={storageKey:"theme",defaultTheme:"system"}},55846:(e,a,i)=>{i.d(a,{ThemeProvider:()=>r});var t=i(95155),o=i(12115),n=i(76851);function r({children:e}){let{initTheme:a}=(0,n.A)();return(0,o.useEffect)(()=>{a()},[a]),(0,t.jsx)(t.Fragment,{children:e})}},76851:(e,a,i)=>{i.d(a,{A:()=>c,F:()=>l});var t=i(1934),o=i(31692),n=i(52529);let r=(0,t.v)()((0,o.Zr)((e,a)=>({theme:n.B2.defaultTheme,colorTheme:"coral",customColor:"#3b82f6",setTheme:a=>{e({theme:a}),s(a)},setColorTheme:i=>{e({colorTheme:i}),m(i,a().customColor)},setCustomColorTheme:a=>{let i=d(a);e({colorTheme:"custom",customColor:i}),m("custom",i)},toggleTheme:()=>{let i="dark"===a().theme?"light":"dark";e({theme:i}),s(i)},initTheme:()=>{let{theme:e,colorTheme:i,customColor:t}=a();s(e),m(i,t)}}),{name:n.B2.storageKey})),l={coral:"#e54d5e",blue:"#3b82f6",red:"#ef4444",green:"#22c55e",violet:"#8b5cf6",orange:"#f97316",cyan:"#06b6d4"};function s(e){let a=document.documentElement,i=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";"dark"===("system"===e?i:e)?a.classList.add("dark"):a.classList.remove("dark")}function m(e,a){let i,t,o,n,r,s,m=document.documentElement,c="custom"===e?d(a):l[e]||l.coral,p=(t=parseInt((i=d(c).slice(1)).slice(0,2),16),o=parseInt(i.slice(2,4),16),n=parseInt(i.slice(4,6),16),r=e=>{let a=Math.round((0-e)*Math.abs(-.14));return Math.max(0,Math.min(255,e-a))},s=e=>e.toString(16).padStart(2,"0"),`#${s(r(t))}${s(r(o))}${s(r(n))}`);m.style.setProperty("--color-primary",c),m.style.setProperty("--color-primary-hover",p)}function d(e){let a=(e||"").trim(),i=a.startsWith("#")?a:`#${a}`;return/^#([0-9a-fA-F]{6})$/.test(i)?i.toLowerCase():"#3b82f6"}let c=r},81135:(e,a,i)=>{i.d(a,{KC:()=>t.KC,Xg:()=>t.Xg});var t=i(35144);Object.entries(i(20909).Q2).filter(([,e])=>e.passthroughModels).map(([e])=>e),Object.entries(t.vq).flatMap(([e,a])=>a.map(a=>({provider:e,model:a.id,name:a.name})))}}]);
@@ -12,7 +12,7 @@
12
12
  0%, 100% { transform: translateY(0); }
13
13
  50% { transform: translateY(-8px); }
14
14
  }
15
- `})]})}},67040:(e,t,s)=>{s.d(t,{cn:()=>r});function r(...e){return e.filter(Boolean).join(" ").replace(/\s+/g," ").trim()}},67671:(e,t,s)=>{s.d(t,{i:()=>l});var r=s(1934);let a=0,l=(0,r.v)((e,t)=>({notifications:[],addNotification:s=>{let r=++a,l={id:r,type:s.type||"info",message:s.message,title:s.title||null,duration:s.duration??5e3,dismissible:s.dismissible??!0,createdAt:Date.now()};return e(e=>({notifications:[...e.notifications,l]})),l.duration>0&&setTimeout(()=>{t().removeNotification(r)},l.duration),r},removeNotification:t=>{e(e=>({notifications:e.notifications.filter(e=>e.id!==t)}))},clearAll:()=>e({notifications:[]}),success:(e,s)=>t().addNotification({type:"success",message:e,title:s}),error:(e,s)=>t().addNotification({type:"error",message:e,title:s,duration:8e3}),warning:(e,s)=>t().addNotification({type:"warning",message:e,title:s}),info:(e,s)=>t().addNotification({type:"info",message:e,title:s})}))},71361:(e,t,s)=>{s.d(t,{ConfirmModal:()=>o,default:()=>i});var r=s(95155),a=s(12115),l=s(67040),n=s(35806);function i({isOpen:e,onClose:t,title:s,children:n,footer:i,size:o="md",closeOnOverlay:c=!0,showCloseButton:d=!0,className:x}){let m=(0,a.useId)(),u=(0,a.useRef)(null);return((0,a.useEffect)(()=>(e?document.body.style.overflow="hidden":document.body.style.overflow="",()=>{document.body.style.overflow=""}),[e]),(0,a.useEffect)(()=>{let s=s=>{"Escape"===s.key&&e&&t()};return document.addEventListener("keydown",s),()=>document.removeEventListener("keydown",s)},[e,t]),(0,a.useEffect)(()=>{if(!e||!u.current)return;let t=u.current,s='button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])',r=t.querySelector(s);r&&setTimeout(()=>r.focus(),50);let a=e=>{if("Tab"!==e.key)return;let r=[...t.querySelectorAll(s)];if(0===r.length)return;let a=r[0],l=r[r.length-1];e.shiftKey&&document.activeElement===a?(e.preventDefault(),l.focus()):e.shiftKey||document.activeElement!==l||(e.preventDefault(),a.focus())};return t.addEventListener("keydown",a),()=>t.removeEventListener("keydown",a)},[e]),e)?(0,r.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:[(0,r.jsx)("div",{className:"absolute inset-0 bg-black/30 backdrop-blur-sm",onClick:c?t:void 0,"aria-hidden":"true"}),(0,r.jsxs)("div",{ref:u,role:"dialog","aria-modal":"true","aria-labelledby":s?m:void 0,className:(0,l.cn)("relative w-full bg-surface","border border-black/10 dark:border-white/10","rounded-xl shadow-2xl","animate-in fade-in zoom-in-95 duration-200",{sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl",full:"max-w-4xl"}[o],x),children:[(s||d)&&(0,r.jsxs)("div",{className:"flex items-center justify-between p-6 border-b border-black/5 dark:border-white/5",children:[(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mr-4","aria-hidden":"true",children:[(0,r.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#FF5F56]"}),(0,r.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#FFBD2E]"}),(0,r.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#27C93F]"})]}),s&&(0,r.jsx)("h2",{id:m,className:"text-lg font-semibold text-text-main",children:s})]}),d&&(0,r.jsx)("button",{onClick:t,"aria-label":"Close",className:"p-1.5 rounded-lg text-text-muted hover:bg-black/5 dark:hover:bg-white/5 transition-colors",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-[20px]","aria-hidden":"true",children:"close"})})]}),(0,r.jsx)("div",{className:"p-6 max-h-[calc(80vh-140px)] overflow-y-auto",children:n}),i&&(0,r.jsx)("div",{className:"flex items-center justify-end gap-3 p-6 border-t border-black/5 dark:border-white/5",children:i})]})]}):null}function o({isOpen:e,onClose:t,onConfirm:s,title:a="Confirm",message:l,confirmText:o="Confirm",cancelText:c="Cancel",variant:d="danger",loading:x=!1}){return(0,r.jsx)(i,{isOpen:e,onClose:t,title:a,size:"sm",footer:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.default,{variant:"ghost",onClick:t,disabled:x,children:c}),(0,r.jsx)(n.default,{variant:d,onClick:s,loading:x,children:o})]}),children:(0,r.jsx)("p",{className:"text-text-muted",children:l})})}},71689:(e,t,s)=>{s.d(t,{default:()=>d});var r=s(95155),a=s(12115),l=s(14051),n=s.n(l),i=s(71361),o=s(35806),c=s(34422);function d({isOpen:e,onSuccess:t,onClose:s}){let[l,n]=(0,a.useState)(""),[d,x]=(0,a.useState)(""),[m,u]=(0,a.useState)(null),[p,h]=(0,a.useState)(!1),[b,f]=(0,a.useState)(!1),[g,y]=(0,a.useState)(!1);(0,a.useEffect)(()=>{e&&(async()=>{f(!0),u(null),y(!1);try{let e=await fetch("/api/oauth/cursor/auto-import"),t=await e.json();t.found?(n(t.accessToken),x(t.machineId),y(!0)):u(t.error||"Could not auto-detect tokens")}catch(e){u("Failed to auto-detect tokens")}finally{f(!1)}})()},[e]);let j=async()=>{if(!l.trim())return void u("Please enter an access token");if(!d.trim())return void u("Please enter a machine ID");h(!0),u(null);try{let e=await fetch("/api/oauth/cursor/import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({accessToken:l.trim(),machineId:d.trim()})}),r=await e.json();if(!e.ok)throw Error(r.error||"Import failed");t?.(),s()}catch(e){u(e.message)}finally{h(!1)}};return(0,r.jsx)(i.default,{isOpen:e,title:"Connect Cursor IDE",onClose:s,children:(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:[b&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-primary/10 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-primary animate-spin",children:"progress_activity"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Auto-detecting tokens..."}),(0,r.jsx)("p",{className:"text-sm text-text-muted",children:"Reading from Cursor IDE database"})]}),!b&&(0,r.jsxs)(r.Fragment,{children:[g&&(0,r.jsx)("div",{className:"bg-green-50 dark:bg-green-900/20 p-3 rounded-lg border border-green-200 dark:border-green-800",children:(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-green-600 dark:text-green-400",children:"check_circle"}),(0,r.jsx)("p",{className:"text-sm text-green-800 dark:text-green-200",children:"Tokens auto-detected from Cursor IDE successfully!"})]})}),!g&&!m&&(0,r.jsx)("div",{className:"bg-blue-50 dark:bg-blue-900/20 p-3 rounded-lg border border-blue-200 dark:border-blue-800",children:(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-blue-600 dark:text-blue-400",children:"info"}),(0,r.jsx)("p",{className:"text-sm text-blue-800 dark:text-blue-200",children:"Cursor IDE not detected. Please paste your tokens manually."})]})}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("label",{className:"block text-sm font-medium mb-2",children:["Access Token ",(0,r.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,r.jsx)("textarea",{value:l,onChange:e=>n(e.target.value),placeholder:"Access token will be auto-filled...",rows:3,className:"w-full px-3 py-2 text-sm font-mono border border-border rounded-lg bg-background focus:outline-none focus:border-primary resize-none"})]}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("label",{className:"block text-sm font-medium mb-2",children:["Machine ID ",(0,r.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,r.jsx)(c.default,{value:d,onChange:e=>x(e.target.value),placeholder:"Machine ID will be auto-filled...",className:"font-mono text-sm"})]}),m&&(0,r.jsx)("div",{className:"bg-red-50 dark:bg-red-900/20 p-3 rounded-lg border border-red-200 dark:border-red-800",children:(0,r.jsx)("p",{className:"text-sm text-red-600 dark:text-red-400",children:m})}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(o.default,{onClick:j,fullWidth:!0,disabled:p||!l.trim()||!d.trim(),children:p?"Importing...":"Import Token"}),(0,r.jsx)(o.default,{onClick:s,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})]})})}d.propTypes={isOpen:n().bool.isRequired,onSuccess:n().func,onClose:n().func.isRequired}},76332:(e,t,s)=>{s.d(t,{default:()=>o});var r=s(95155),a=s(73321),l=s(98500),n=s.n(l);let i={dashboard:"Dashboard",providers:"Providers",combos:"Combos",settings:"Settings",logs:"Logs","audit-log":"Audit Log",console:"Console",logger:"Logger",translator:"Translator",playground:"Playground",add:"Add",edit:"Edit",keys:"API Keys",models:"Models"};function o(){let e=(0,a.usePathname)();if(!e||"/dashboard"===e)return null;let t=e.split("/").filter(Boolean),s=t.map((e,s)=>({label:i[e]||e.charAt(0).toUpperCase()+e.slice(1),href:"/"+t.slice(0,s+1).join("/"),isLast:s===t.length-1}));return(0,r.jsx)("nav",{"aria-label":"Breadcrumb",style:{display:"flex",alignItems:"center",gap:"6px",fontSize:"13px",color:"var(--text-secondary, #888)",padding:"8px 0",marginBottom:"8px"},children:s.map((e,t)=>(0,r.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[t>0&&(0,r.jsx)("span",{style:{opacity:.4,fontSize:"11px"},"aria-hidden":"true",children:"›"}),e.isLast?(0,r.jsx)("span",{"aria-current":"page",style:{color:"var(--text-primary, #e0e0e0)",fontWeight:500},children:e.label}):(0,r.jsx)(n(),{href:e.href,style:{color:"var(--text-secondary, #888)",textDecoration:"none",transition:"color 0.15s"},onMouseEnter:e=>e.currentTarget.style.color="var(--accent, #818cf8)",onMouseLeave:e=>e.currentTarget.style.color="var(--text-secondary, #888)",children:e.label})]},e.href))})}},80178:(e,t,s)=>{s.d(t,{default:()=>u});var r=s(95155),a=s(12115),l=s(14051),n=s.n(l),i=s(71361),o=s(35806),c=s(34422),d=s(30949),x=s(41463);let m=new Set(["antigravity","gemini-cli"]);function u({isOpen:e,provider:t,providerInfo:s,onSuccess:l,onClose:n,idcConfig:u}){let[p,h]=(0,a.useState)("waiting"),[b,f]=(0,a.useState)(null),[g,y]=(0,a.useState)(""),[j,v]=(0,a.useState)(null),[N,k]=(0,a.useState)(!1),[w,C]=(0,a.useState)(null),[S,T]=(0,a.useState)(!1),I=(0,a.useRef)(null),{copied:O,copy:R}=(0,d.C)(),[E,L]=(0,a.useState)(!1),[A,_]=(0,a.useState)("/callback?code=..."),M=(0,a.useRef)(!1),$=(0,a.useRef)(!1),[P,D]=(0,a.useState)(!1);(0,a.useEffect)(()=>{{let e=window.location.hostname,t="localhost"===e||"127.0.0.1"===e||e.startsWith("192.168.")||e.startsWith("10.")||/^172\.(1[6-9]|2\d|3[01])\./.test(e),s="localhost"===e||"127.0.0.1"===e;L(t),D(s),_(`${window.location.origin}/callback?code=...`)}},[]);let F=(0,a.useCallback)(async(e,s)=>{if(b)try{let r=await fetch(`/api/oauth/${t}/exchange`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:e,redirectUri:b.redirectUri,codeVerifier:b.codeVerifier,state:s})}),a=await r.json();if(!r.ok)throw Error(a.error);h("success"),l?.()}catch(e){e.message?.toLowerCase().includes("redirect_uri_mismatch")&&m.has(t)?v("redirect_uri_mismatch: As credenciais padr\xe3o do Google OAuth s\xf3 funcionam em localhost. Para uso remoto, configure suas pr\xf3prias credenciais OAuth nas vari\xe1veis de ambiente: "+("antigravity"===t?"ANTIGRAVITY_OAUTH_CLIENT_ID e ANTIGRAVITY_OAUTH_CLIENT_SECRET":"GEMINI_OAUTH_CLIENT_ID e GEMINI_OAUTH_CLIENT_SECRET")+". Veja o README, se\xe7\xe3o 'OAuth em Servidor Remoto'."):v(e.message),h("error")}},[b,t,l]),z=(0,a.useCallback)(async(e,s,r,a)=>{T(!0);for(let n=0;n<60;n++){await new Promise(e=>setTimeout(e,1e3*r));try{let n=await fetch(`/api/oauth/${t}/poll`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceCode:e,codeVerifier:s,extraData:a})}),i=await n.json();if(i.success){h("success"),T(!1),l?.();return}if("expired_token"===i.error||"access_denied"===i.error)throw Error(i.errorDescription||i.error);"slow_down"===i.error&&(r=Math.min(r+5,30))}catch(e){v(e.message),h("error"),T(!1);return}}v("Authorization timeout"),h("error"),T(!1)},[t,l]),K=(0,a.useCallback)(async()=>{if(t)try{let e;if(v(null),"github"===t||"qwen"===t||"kiro"===t||"kimi-coding"===t||"kilocode"===t){k(!0),h("waiting");let e=await fetch(`/api/oauth/${t}/device-code`),s=await e.json();if(!e.ok)throw Error(s.error);C(s);let r=s.verification_uri_complete||s.verification_uri;r&&window.open(r,"oauth_verify");let a="kiro"===t?{_clientId:s._clientId,_clientSecret:s._clientSecret}:null;z(s.device_code,s.codeVerifier,s.interval||5,a);return}if("codex"===t&&E){try{let e=await fetch("/api/oauth/codex/start-callback-server"),t=await e.json();if(!e.ok)throw Error(t.error);f({...t,redirectUri:t.redirectUri}),h("waiting"),window.open(t.authUrl,"oauth_auth"),T(!0);for(let e=0;e<150;e++){await new Promise(e=>setTimeout(e,2e3));let e=await fetch("/api/oauth/codex/poll-callback",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}),t=await e.json();if(t.success){h("success"),T(!1),l?.();return}if(t.error&&!t.pending)throw Error(t.errorDescription||t.error)}throw T(!1),Error("Authorization timeout")}catch(e){T(!1),h("input"),v(e.message+" — You can paste the callback URL manually below.")}return}if("codex"===t||"openai"===t)e="http://localhost:1455/auth/callback";else if(m.has(t)){let t=window.location.port||"20128";e=`http://localhost:${t}/callback`}else if(E){let t=window.location.port||("https:"===window.location.protocol?"443":"80");e=`http://localhost:${t}/callback`}else{let t=x.env.NEXT_PUBLIC_BASE_URL,s=t&&"http://localhost:20128"!==t?t.replace(/\/$/,""):window.location.origin;e=`${s}/callback`}let s=await fetch(`/api/oauth/${t}/authorize?redirect_uri=${encodeURIComponent(e)}`),r=await s.json();if(!s.ok)throw Error(r.error);f({...r,redirectUri:e}),P?(h("waiting"),I.current=window.open(r.authUrl,"oauth_popup","width=600,height=700"),I.current||h("input")):(h("input"),window.open(r.authUrl,"oauth_auth"))}catch(e){v(e.message),h("error")}},[t,E,P,z,l]);(0,a.useEffect)(()=>{e||($.current=!1)},[e]),(0,a.useEffect)(()=>{e&&t&&($.current||($.current=!0,f(null),y(""),v(null),k(!1),C(null),T(!1),K()))},[e,t,K]),(0,a.useEffect)(()=>{let e;if(!b)return;M.current=!1;let t=async e=>{if(M.current)return;let{code:t,state:s,error:r,errorDescription:a}=e;if(r){M.current=!0,v(a||r),h("error");return}t&&(M.current=!0,await F(t,s))},s=e=>{let s=window.location.port,r=e.origin.match(/^https?:\/\/(localhost|127\.0\.0\.1)(:\d+)?$/)&&new URL(e.origin).port===s;(e.origin===window.location.origin||r)&&e.data?.type==="oauth_callback"&&t(e.data.data)};window.addEventListener("message",s);try{(e=new BroadcastChannel("oauth_callback")).onmessage=e=>t(e.data)}catch(e){console.log("BroadcastChannel not supported")}let r=e=>{if("oauth_callback"===e.key&&e.newValue)try{let s=JSON.parse(e.newValue);t(s),localStorage.removeItem("oauth_callback")}catch(e){console.log("Failed to parse localStorage data")}};window.addEventListener("storage",r);try{let e=localStorage.getItem("oauth_callback");if(e){let s=JSON.parse(e);s.timestamp&&Date.now()-s.timestamp<3e4&&(t(s),localStorage.removeItem("oauth_callback"))}}catch{}return()=>{window.removeEventListener("message",s),window.removeEventListener("storage",r),e&&e.close()}},[b,F]);let U=async()=>{try{v(null);let e=new URL(g),t=e.searchParams.get("code"),s=e.searchParams.get("state"),r=e.searchParams.get("error");if(r)throw Error(e.searchParams.get("error_description")||r);if(!t)throw Error("No authorization code found in URL");await F(t,s)}catch(e){v(e.message),h("error")}};return t&&s?(0,r.jsx)(i.default,{isOpen:e,title:`Connect ${s.name}`,onClose:n,size:"lg",children:(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:["waiting"===p&&!N&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-primary/10 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-primary animate-spin",children:"progress_activity"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Waiting for Authorization"}),(0,r.jsx)("p",{className:"text-sm text-text-muted mb-4",children:"Complete the authorization in the popup window."}),(0,r.jsx)(o.default,{variant:"ghost",onClick:()=>h("input"),children:"Popup blocked? Enter URL manually"})]}),"waiting"===p&&N&&w&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"text-center py-4",children:[(0,r.jsx)("p",{className:"text-sm text-text-muted mb-4",children:"Visit the URL below and enter the code:"}),(0,r.jsxs)("div",{className:"bg-sidebar p-4 rounded-lg mb-4",children:[(0,r.jsx)("p",{className:"text-xs text-text-muted mb-1",children:"Verification URL"}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("code",{className:"flex-1 text-sm break-all",children:w.verification_uri}),(0,r.jsx)(o.default,{size:"sm",variant:"ghost",icon:"verify_url"===O?"check":"content_copy",onClick:()=>R(w.verification_uri,"verify_url")})]})]}),(0,r.jsxs)("div",{className:"bg-primary/10 p-4 rounded-lg",children:[(0,r.jsx)("p",{className:"text-xs text-text-muted mb-1",children:"Your Code"}),(0,r.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,r.jsx)("p",{className:"text-2xl font-mono font-bold text-primary",children:w.user_code}),(0,r.jsx)(o.default,{size:"sm",variant:"ghost",icon:"user_code"===O?"check":"content_copy",onClick:()=>R(w.user_code,"user_code")})]})]})]}),S&&(0,r.jsxs)("div",{className:"flex items-center justify-center gap-2 text-sm text-text-muted",children:[(0,r.jsx)("span",{className:"material-symbols-outlined animate-spin",children:"progress_activity"}),"Waiting for authorization..."]})]}),"input"===p&&!N&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"space-y-4",children:[!P&&m.has(t)&&(0,r.jsxs)("div",{className:"rounded-lg border border-amber-500/30 bg-amber-500/10 p-3 text-xs text-amber-200",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-sm align-middle mr-1",children:"warning"}),(0,r.jsx)("strong",{children:"Acesso remoto + Google OAuth:"})," As credenciais padr\xe3o s\xf3 aceitam redirect para ",(0,r.jsx)("code",{children:"localhost"}),". Ap\xf3s autorizar, o browser tentar\xe1 abrir",(0,r.jsx)("code",{children:"localhost"})," — copie essa URL completa e cole abaixo. Para uso totalmente remoto sem esse passo manual,"," ",(0,r.jsx)("a",{href:"https://github.com/diegosouzapw/OmniRoute#oauth-em-servidor-remoto",target:"_blank",rel:"noreferrer",className:"underline",children:"configure suas pr\xf3prias credenciais OAuth"}),"."]}),!P&&!m.has(t)&&(0,r.jsxs)("div",{className:"rounded-lg border border-blue-500/30 bg-blue-500/10 p-3 text-xs text-blue-200",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-sm align-middle mr-1",children:"info"}),(0,r.jsx)("strong",{children:"Remote access:"})," Since you're accessing OmniRoute remotely, after authorizing you'll see an error page (localhost not found). That's expected — just copy the full URL from your browser's address bar and paste it below."]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-medium mb-2",children:"Step 1: Open this URL in your browser"}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(c.default,{value:b?.authUrl||"",readOnly:!0,className:"flex-1 font-mono text-xs"}),(0,r.jsx)(o.default,{variant:"secondary",icon:"auth_url"===O?"check":"content_copy",onClick:()=>R(b?.authUrl,"auth_url"),children:"Copy"})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-medium mb-2",children:"Step 2: Paste the callback URL here"}),(0,r.jsx)("p",{className:"text-xs text-text-muted mb-2",children:"After authorization, copy the full URL from your browser."}),(0,r.jsx)(c.default,{value:g,onChange:e=>y(e.target.value),placeholder:A,className:"font-mono text-xs"})]})]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(o.default,{onClick:U,fullWidth:!0,disabled:!g,children:"Connect"}),(0,r.jsx)(o.default,{onClick:n,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]}),"success"===p&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-green-600",children:"check_circle"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Connected Successfully!"}),(0,r.jsxs)("p",{className:"text-sm text-text-muted mb-4",children:["Your ",s.name," account has been connected."]}),(0,r.jsx)(o.default,{onClick:n,fullWidth:!0,children:"Done"})]}),"error"===p&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-red-100 dark:bg-red-900/30 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-red-600",children:"error"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Connection Failed"}),(0,r.jsx)("p",{className:"text-sm text-red-600 mb-4",children:j}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(o.default,{onClick:K,variant:"secondary",fullWidth:!0,children:"Try Again"}),(0,r.jsx)(o.default,{onClick:n,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})]})}):null}u.propTypes={isOpen:n().bool.isRequired,provider:n().string,providerInfo:n().shape({name:n().string}),onSuccess:n().func,onClose:n().func.isRequired}},80927:(e,t,s)=>{s.d(t,{default:()=>i});var r=s(95155),a=s(67040);let l={default:"bg-black/5 dark:bg-white/10 text-text-muted",primary:"bg-primary/10 text-primary",success:"bg-green-500/10 text-green-600 dark:text-green-400",warning:"bg-yellow-500/10 text-yellow-600 dark:text-yellow-400",error:"bg-red-500/10 text-red-600 dark:text-red-400",info:"bg-blue-500/10 text-blue-600 dark:text-blue-400"},n={sm:"px-2 py-0.5 text-[10px]",md:"px-2.5 py-1 text-xs",lg:"px-3 py-1.5 text-sm"};function i({children:e,variant:t="default",size:s="md",dot:i=!1,icon:o,className:c}){return(0,r.jsxs)("span",{className:(0,a.cn)("inline-flex items-center gap-1.5 rounded-full font-semibold",l[t],n[s],c),children:[i&&(0,r.jsx)("span",{"aria-hidden":"true",className:(0,a.cn)("size-1.5 rounded-full","success"===t&&"bg-green-500","warning"===t&&"bg-yellow-500","error"===t&&"bg-red-500","info"===t&&"bg-blue-500","primary"===t&&"bg-primary","default"===t&&"bg-gray-500")}),o&&(0,r.jsx)("span",{className:"material-symbols-outlined text-[14px]","aria-hidden":"true",children:o}),e]})}},81060:(e,t,s)=>{s.d(t,{default:()=>l});var r=s(95155),a=s(67040);function l({children:e,title:t,subtitle:s,icon:l,action:n,padding:i="md",hover:o=!1,className:c,...d}){return(0,r.jsxs)("div",{className:(0,a.cn)("bg-surface","border border-black/5 dark:border-white/5","rounded-lg shadow-sm",o&&"hover:shadow-md hover:border-primary/30 transition-all cursor-pointer",{none:"",xs:"p-3",sm:"p-4",md:"p-6",lg:"p-8"}[i],c),...d,children:[(t||n)&&(0,r.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[l&&(0,r.jsx)("div",{className:"p-2 rounded-lg bg-bg text-text-muted",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:l})}),(0,r.jsxs)("div",{children:[t&&(0,r.jsx)("h3",{className:"text-text-main font-semibold",children:t}),s&&(0,r.jsx)("p",{className:"text-sm text-text-muted",children:s})]})]}),n]}),e]})}l.Section=function({children:e,className:t,...s}){return(0,r.jsx)("div",{className:(0,a.cn)("p-4 rounded-lg","bg-black/[0.02] dark:bg-white/[0.02]","border border-black/5 dark:border-white/5",t),...s,children:e})},l.Row=function({children:e,className:t,...s}){return(0,r.jsx)("div",{className:(0,a.cn)("p-3 -mx-3 px-3 transition-colors","border-b border-black/5 dark:border-white/5 last:border-b-0","hover:bg-black/[0.02] dark:hover:bg-white/[0.02]",t),...s,children:e})},l.ListItem=function({children:e,actions:t,className:s,...l}){return(0,r.jsxs)("div",{className:(0,a.cn)("group flex items-center justify-between p-3 -mx-3 px-3","border-b border-black/[0.03] dark:border-white/[0.03] last:border-b-0","hover:bg-black/[0.02] dark:hover:bg-white/[0.02]","transition-colors",s),...l,children:[(0,r.jsx)("div",{className:"flex-1 min-w-0",children:e}),t&&(0,r.jsx)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 focus-within:opacity-100 transition-opacity",children:t})]})}},85444:(e,t,s)=>{s.d(t,{default:()=>x});var r=s(95155),a=s(12115),l=s(14051),n=s.n(l),i=s(71361),o=s(81135),c=s(20909);let d=[...Object.keys(c.zN),...Object.keys(c.IS),...Object.keys(c.fg)];function x({isOpen:e,onClose:t,onSelect:s,selectedModel:l,activeProviders:n=[],title:x="Select Model",modelAliases:m={}}){let[u,p]=(0,a.useState)(""),[h,b]=(0,a.useState)([]),[f,g]=(0,a.useState)([]),[y,j]=(0,a.useState)({}),v=async()=>{try{let e=await fetch("/api/combos");if(!e.ok)throw Error(`Failed to fetch combos: ${e.status}`);let t=await e.json();b(t.combos||[])}catch(e){console.error("Error fetching combos:",e),b([])}};(0,a.useEffect)(()=>{e&&v()},[e]);let N=async()=>{try{let e=await fetch("/api/provider-nodes");if(!e.ok)throw Error(`Failed to fetch provider nodes: ${e.status}`);let t=await e.json();g(t.nodes||[])}catch(e){console.error("Error fetching provider nodes:",e),g([])}};(0,a.useEffect)(()=>{e&&N()},[e]);let k=async()=>{try{let e=await fetch("/api/provider-models");if(!e.ok)throw Error(`Failed to fetch custom models: ${e.status}`);let t=await e.json();j(t.models||{})}catch(e){console.error("Error fetching custom models:",e),j({})}};(0,a.useEffect)(()=>{e&&k()},[e]);let w=(0,a.useMemo)(()=>({...c.zN,...c.IS,...c.fg}),[]),C=(0,a.useMemo)(()=>{let e={};return[...new Set([...n.map(e=>e.provider)])].sort((e,t)=>{let s=d.indexOf(e),r=d.indexOf(t);return(-1===s?999:s)-(-1===r?999:r)}).forEach(t=>{let s=o.Xg[t]||t,r=w[t]||{name:t,color:"#666"},a=(0,c.mq)(t)||(0,c.gb)(t),l=y[t]||[];if(r.passthroughModels){let a=Object.entries(m).filter(([,e])=>e.startsWith(`${s}/`)).map(([e,t])=>({id:t.replace(`${s}/`,""),name:e,value:t})),n=l.filter(e=>!a.some(t=>t.id===e.id)).map(e=>({id:e.id,name:e.name||e.id,value:`${s}/${e.id}`,isCustom:!0})),i=[...a,...n];if(i.length>0){let a=f.find(e=>e.id===t),l=a?.name||r.name;e[t]={name:l,alias:s,color:r.color,models:i}}}else if(a){let s=f.find(e=>e.id===t),a=s?.name||r.name,n=s?.prefix||t,i=Object.entries(m).filter(([,e])=>e.startsWith(`${t}/`)).map(([e,s])=>({id:s.replace(`${t}/`,""),name:e,value:`${n}/${s.replace(`${t}/`,"")}`})),o=l.filter(e=>!i.some(t=>t.id===e.id)).map(e=>({id:e.id,name:e.name||e.id,value:`${n}/${e.id}`,isCustom:!0})),c=[...i,...o];c.length>0&&(e[t]={name:a,alias:n,color:r.color,models:c,isCustom:!0,hasModels:!0})}else{let a=(0,o.KC)(t),n=[...a.map(e=>({id:e.id,name:e.name,value:`${s}/${e.id}`})),...l.filter(e=>!a.some(t=>t.id===e.id)).map(e=>({id:e.id,name:e.name||e.id,value:`${s}/${e.id}`,isCustom:!0}))];n.length>0&&(e[t]={name:r.name,alias:s,color:r.color,models:n})}}),e},[n,m,w,f,y]),S=(0,a.useMemo)(()=>{if(!u.trim())return h;let e=u.toLowerCase();return h.filter(t=>t.name.toLowerCase().includes(e))},[h,u]),T=(0,a.useMemo)(()=>{if(!u.trim())return C;let e=u.toLowerCase(),t={};return Object.entries(C).forEach(([s,r])=>{let a=r.models.filter(t=>t.name.toLowerCase().includes(e)||t.id.toLowerCase().includes(e)),l=r.name.toLowerCase().includes(e);(a.length>0||l)&&(t[s]={...r,models:a})}),t},[C,u]),I=e=>{s(e),t(),p("")};return(0,r.jsxs)(i.default,{isOpen:e,onClose:()=>{t(),p("")},title:x,size:"md",className:"p-4!",children:[(0,r.jsx)("div",{className:"mb-3",children:(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsx)("span",{className:"material-symbols-outlined absolute left-2.5 top-1/2 -translate-y-1/2 text-text-muted text-[16px]",children:"search"}),(0,r.jsx)("input",{type:"text",placeholder:"Search...",value:u,onChange:e=>p(e.target.value),className:"w-full pl-8 pr-3 py-1.5 bg-surface border border-border rounded text-xs focus:outline-none focus:ring-1 focus:ring-primary/50"})]})}),(0,r.jsxs)("div",{className:"max-h-[300px] overflow-y-auto space-y-3",children:[S.length>0&&(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5 sticky top-0 bg-surface py-0.5",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-primary text-[14px]",children:"layers"}),(0,r.jsx)("span",{className:"text-xs font-medium text-primary",children:"Combos"}),(0,r.jsxs)("span",{className:"text-[10px] text-text-muted",children:["(",S.length,")"]})]}),(0,r.jsx)("div",{className:"flex flex-wrap gap-1.5",children:S.map(e=>{let t=l===e.name;return(0,r.jsx)("button",{onClick:()=>I({id:e.name,name:e.name,value:e.name}),className:`
15
+ `})]})}},67040:(e,t,s)=>{s.d(t,{cn:()=>r});function r(...e){return e.filter(Boolean).join(" ").replace(/\s+/g," ").trim()}},67671:(e,t,s)=>{s.d(t,{i:()=>l});var r=s(1934);let a=0,l=(0,r.v)((e,t)=>({notifications:[],addNotification:s=>{let r=++a,l={id:r,type:s.type||"info",message:s.message,title:s.title||null,duration:s.duration??5e3,dismissible:s.dismissible??!0,createdAt:Date.now()};return e(e=>({notifications:[...e.notifications,l]})),l.duration>0&&setTimeout(()=>{t().removeNotification(r)},l.duration),r},removeNotification:t=>{e(e=>({notifications:e.notifications.filter(e=>e.id!==t)}))},clearAll:()=>e({notifications:[]}),success:(e,s)=>t().addNotification({type:"success",message:e,title:s}),error:(e,s)=>t().addNotification({type:"error",message:e,title:s,duration:8e3}),warning:(e,s)=>t().addNotification({type:"warning",message:e,title:s}),info:(e,s)=>t().addNotification({type:"info",message:e,title:s})}))},71361:(e,t,s)=>{s.d(t,{ConfirmModal:()=>o,default:()=>i});var r=s(95155),a=s(12115),l=s(67040),n=s(35806);function i({isOpen:e,onClose:t,title:s,children:n,footer:i,size:o="md",closeOnOverlay:c=!0,showCloseButton:d=!0,className:x}){let m=(0,a.useId)(),u=(0,a.useRef)(null);return((0,a.useEffect)(()=>(e?document.body.style.overflow="hidden":document.body.style.overflow="",()=>{document.body.style.overflow=""}),[e]),(0,a.useEffect)(()=>{let s=s=>{"Escape"===s.key&&e&&t()};return document.addEventListener("keydown",s),()=>document.removeEventListener("keydown",s)},[e,t]),(0,a.useEffect)(()=>{if(!e||!u.current)return;let t=u.current,s='button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])',r=t.querySelector(s);r&&setTimeout(()=>r.focus(),50);let a=e=>{if("Tab"!==e.key)return;let r=[...t.querySelectorAll(s)];if(0===r.length)return;let a=r[0],l=r[r.length-1];e.shiftKey&&document.activeElement===a?(e.preventDefault(),l.focus()):e.shiftKey||document.activeElement!==l||(e.preventDefault(),a.focus())};return t.addEventListener("keydown",a),()=>t.removeEventListener("keydown",a)},[e]),e)?(0,r.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:[(0,r.jsx)("div",{className:"absolute inset-0 bg-black/30 backdrop-blur-sm",onClick:c?t:void 0,"aria-hidden":"true"}),(0,r.jsxs)("div",{ref:u,role:"dialog","aria-modal":"true","aria-labelledby":s?m:void 0,className:(0,l.cn)("relative w-full bg-surface","border border-black/10 dark:border-white/10","rounded-xl shadow-2xl","animate-in fade-in zoom-in-95 duration-200",{sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl",full:"max-w-4xl"}[o],x),children:[(s||d)&&(0,r.jsxs)("div",{className:"flex items-center justify-between p-6 border-b border-black/5 dark:border-white/5",children:[(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mr-4","aria-hidden":"true",children:[(0,r.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#FF5F56]"}),(0,r.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#FFBD2E]"}),(0,r.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#27C93F]"})]}),s&&(0,r.jsx)("h2",{id:m,className:"text-lg font-semibold text-text-main",children:s})]}),d&&(0,r.jsx)("button",{onClick:t,"aria-label":"Close",className:"p-1.5 rounded-lg text-text-muted hover:bg-black/5 dark:hover:bg-white/5 transition-colors",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-[20px]","aria-hidden":"true",children:"close"})})]}),(0,r.jsx)("div",{className:"p-6 max-h-[calc(80vh-140px)] overflow-y-auto",children:n}),i&&(0,r.jsx)("div",{className:"flex items-center justify-end gap-3 p-6 border-t border-black/5 dark:border-white/5",children:i})]})]}):null}function o({isOpen:e,onClose:t,onConfirm:s,title:a="Confirm",message:l,confirmText:o="Confirm",cancelText:c="Cancel",variant:d="danger",loading:x=!1}){return(0,r.jsx)(i,{isOpen:e,onClose:t,title:a,size:"sm",footer:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.default,{variant:"ghost",onClick:t,disabled:x,children:c}),(0,r.jsx)(n.default,{variant:d,onClick:s,loading:x,children:o})]}),children:(0,r.jsx)("p",{className:"text-text-muted",children:l})})}},71689:(e,t,s)=>{s.d(t,{default:()=>d});var r=s(95155),a=s(12115),l=s(14051),n=s.n(l),i=s(71361),o=s(35806),c=s(34422);function d({isOpen:e,onSuccess:t,onClose:s}){let[l,n]=(0,a.useState)(""),[d,x]=(0,a.useState)(""),[m,u]=(0,a.useState)(null),[p,h]=(0,a.useState)(!1),[b,f]=(0,a.useState)(!1),[g,y]=(0,a.useState)(!1);(0,a.useEffect)(()=>{e&&(async()=>{f(!0),u(null),y(!1);try{let e=await fetch("/api/oauth/cursor/auto-import"),t=await e.json();t.found?(n(t.accessToken),x(t.machineId),y(!0)):u(t.error||"Could not auto-detect tokens")}catch(e){u("Failed to auto-detect tokens")}finally{f(!1)}})()},[e]);let j=async()=>{if(!l.trim())return void u("Please enter an access token");if(!d.trim())return void u("Please enter a machine ID");h(!0),u(null);try{let e=await fetch("/api/oauth/cursor/import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({accessToken:l.trim(),machineId:d.trim()})}),r=await e.json();if(!e.ok)throw Error(r.error||"Import failed");t?.(),s()}catch(e){u(e.message)}finally{h(!1)}};return(0,r.jsx)(i.default,{isOpen:e,title:"Connect Cursor IDE",onClose:s,children:(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:[b&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-primary/10 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-primary animate-spin",children:"progress_activity"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Auto-detecting tokens..."}),(0,r.jsx)("p",{className:"text-sm text-text-muted",children:"Reading from Cursor IDE database"})]}),!b&&(0,r.jsxs)(r.Fragment,{children:[g&&(0,r.jsx)("div",{className:"bg-green-50 dark:bg-green-900/20 p-3 rounded-lg border border-green-200 dark:border-green-800",children:(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-green-600 dark:text-green-400",children:"check_circle"}),(0,r.jsx)("p",{className:"text-sm text-green-800 dark:text-green-200",children:"Tokens auto-detected from Cursor IDE successfully!"})]})}),!g&&!m&&(0,r.jsx)("div",{className:"bg-blue-50 dark:bg-blue-900/20 p-3 rounded-lg border border-blue-200 dark:border-blue-800",children:(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-blue-600 dark:text-blue-400",children:"info"}),(0,r.jsx)("p",{className:"text-sm text-blue-800 dark:text-blue-200",children:"Cursor IDE not detected. Please paste your tokens manually."})]})}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("label",{className:"block text-sm font-medium mb-2",children:["Access Token ",(0,r.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,r.jsx)("textarea",{value:l,onChange:e=>n(e.target.value),placeholder:"Access token will be auto-filled...",rows:3,className:"w-full px-3 py-2 text-sm font-mono border border-border rounded-lg bg-background focus:outline-none focus:border-primary resize-none"})]}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("label",{className:"block text-sm font-medium mb-2",children:["Machine ID ",(0,r.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,r.jsx)(c.default,{value:d,onChange:e=>x(e.target.value),placeholder:"Machine ID will be auto-filled...",className:"font-mono text-sm"})]}),m&&(0,r.jsx)("div",{className:"bg-red-50 dark:bg-red-900/20 p-3 rounded-lg border border-red-200 dark:border-red-800",children:(0,r.jsx)("p",{className:"text-sm text-red-600 dark:text-red-400",children:m})}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(o.default,{onClick:j,fullWidth:!0,disabled:p||!l.trim()||!d.trim(),children:p?"Importing...":"Import Token"}),(0,r.jsx)(o.default,{onClick:s,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})]})})}d.propTypes={isOpen:n().bool.isRequired,onSuccess:n().func,onClose:n().func.isRequired}},76332:(e,t,s)=>{s.d(t,{default:()=>o});var r=s(95155),a=s(73321),l=s(98500),n=s.n(l);let i={dashboard:"Dashboard",providers:"Providers",combos:"Combos",settings:"Settings",logs:"Logs","audit-log":"Audit Log",console:"Console",logger:"Logger",translator:"Translator",playground:"Playground",add:"Add",edit:"Edit",keys:"API Keys",models:"Models"};function o(){let e=(0,a.usePathname)();if(!e||"/dashboard"===e)return null;let t=e.split("/").filter(Boolean),s=t.map((e,s)=>({label:i[e]||e.charAt(0).toUpperCase()+e.slice(1),href:"/"+t.slice(0,s+1).join("/"),isLast:s===t.length-1}));return(0,r.jsx)("nav",{"aria-label":"Breadcrumb",style:{display:"flex",alignItems:"center",gap:"6px",fontSize:"13px",color:"var(--text-secondary, #888)",padding:"8px 0",marginBottom:"8px"},children:s.map((e,t)=>(0,r.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[t>0&&(0,r.jsx)("span",{style:{opacity:.4,fontSize:"11px"},"aria-hidden":"true",children:"›"}),e.isLast?(0,r.jsx)("span",{"aria-current":"page",style:{color:"var(--text-primary, #e0e0e0)",fontWeight:500},children:e.label}):(0,r.jsx)(n(),{href:e.href,style:{color:"var(--text-secondary, #888)",textDecoration:"none",transition:"color 0.15s"},onMouseEnter:e=>e.currentTarget.style.color="var(--accent, #818cf8)",onMouseLeave:e=>e.currentTarget.style.color="var(--text-secondary, #888)",children:e.label})]},e.href))})}},80178:(e,t,s)=>{s.d(t,{default:()=>u});var r=s(95155),a=s(12115),l=s(14051),n=s.n(l),i=s(71361),o=s(35806),c=s(34422),d=s(30949),x=s(41463);let m=new Set(["antigravity","gemini-cli"]);function u({isOpen:e,provider:t,providerInfo:s,onSuccess:l,onClose:n,idcConfig:u}){let[p,h]=(0,a.useState)("waiting"),[b,f]=(0,a.useState)(null),[g,y]=(0,a.useState)(""),[j,v]=(0,a.useState)(null),[N,k]=(0,a.useState)(!1),[w,C]=(0,a.useState)(null),[S,T]=(0,a.useState)(!1),I=(0,a.useRef)(null),{copied:O,copy:R}=(0,d.C)(),[E,L]=(0,a.useState)(!1),[A,_]=(0,a.useState)("/callback?code=..."),M=(0,a.useRef)(!1),$=(0,a.useRef)(!1),[P,D]=(0,a.useState)(!1);(0,a.useEffect)(()=>{{let e=window.location.hostname,t="localhost"===e||"127.0.0.1"===e||e.startsWith("192.168.")||e.startsWith("10.")||/^172\.(1[6-9]|2\d|3[01])\./.test(e),s="localhost"===e||"127.0.0.1"===e;L(t),D(s),_(`${window.location.origin}/callback?code=...`)}},[]);let F=(0,a.useCallback)(async(e,s)=>{if(b)try{let r=await fetch(`/api/oauth/${t}/exchange`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:e,redirectUri:b.redirectUri,codeVerifier:b.codeVerifier,state:s})}),a=await r.json();if(!r.ok)throw Error(a.error);h("success"),l?.()}catch(e){e.message?.toLowerCase().includes("redirect_uri_mismatch")&&m.has(t)?v("redirect_uri_mismatch: The default Google OAuth credentials only work on localhost. For remote use, configure your own OAuth credentials via environment variables: "+("antigravity"===t?"ANTIGRAVITY_OAUTH_CLIENT_ID and ANTIGRAVITY_OAUTH_CLIENT_SECRET":"GEMINI_OAUTH_CLIENT_ID and GEMINI_OAUTH_CLIENT_SECRET")+". See the README section 'OAuth on a Remote Server'."):v(e.message),h("error")}},[b,t,l]),z=(0,a.useCallback)(async(e,s,r,a)=>{T(!0);for(let n=0;n<60;n++){await new Promise(e=>setTimeout(e,1e3*r));try{let n=await fetch(`/api/oauth/${t}/poll`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceCode:e,codeVerifier:s,extraData:a})}),i=await n.json();if(i.success){h("success"),T(!1),l?.();return}if("expired_token"===i.error||"access_denied"===i.error)throw Error(i.errorDescription||i.error);"slow_down"===i.error&&(r=Math.min(r+5,30))}catch(e){v(e.message),h("error"),T(!1);return}}v("Authorization timeout"),h("error"),T(!1)},[t,l]),K=(0,a.useCallback)(async()=>{if(t)try{let e;if(v(null),"github"===t||"qwen"===t||"kiro"===t||"kimi-coding"===t||"kilocode"===t){k(!0),h("waiting");let e=await fetch(`/api/oauth/${t}/device-code`),s=await e.json();if(!e.ok)throw Error(s.error);C(s);let r=s.verification_uri_complete||s.verification_uri;r&&window.open(r,"oauth_verify");let a="kiro"===t?{_clientId:s._clientId,_clientSecret:s._clientSecret}:null;z(s.device_code,s.codeVerifier,s.interval||5,a);return}if("codex"===t&&E){try{let e=await fetch("/api/oauth/codex/start-callback-server"),t=await e.json();if(!e.ok)throw Error(t.error);f({...t,redirectUri:t.redirectUri}),h("waiting"),window.open(t.authUrl,"oauth_auth"),T(!0);for(let e=0;e<150;e++){await new Promise(e=>setTimeout(e,2e3));let e=await fetch("/api/oauth/codex/poll-callback",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}),t=await e.json();if(t.success){h("success"),T(!1),l?.();return}if(t.error&&!t.pending)throw Error(t.errorDescription||t.error)}throw T(!1),Error("Authorization timeout")}catch(e){T(!1),h("input"),v(e.message+" — You can paste the callback URL manually below.")}return}if("codex"===t||"openai"===t)e="http://localhost:1455/auth/callback";else if(m.has(t)){let t=window.location.port||"20128";e=`http://localhost:${t}/callback`}else if(E){let t=window.location.port||("https:"===window.location.protocol?"443":"80");e=`http://localhost:${t}/callback`}else{let t=x.env.NEXT_PUBLIC_BASE_URL,s=t&&"http://localhost:20128"!==t?t.replace(/\/$/,""):window.location.origin;e=`${s}/callback`}let s=await fetch(`/api/oauth/${t}/authorize?redirect_uri=${encodeURIComponent(e)}`),r=await s.json();if(!s.ok)throw Error(r.error);f({...r,redirectUri:e}),P?(h("waiting"),I.current=window.open(r.authUrl,"oauth_popup","width=600,height=700"),I.current||h("input")):(h("input"),window.open(r.authUrl,"oauth_auth"))}catch(e){v(e.message),h("error")}},[t,E,P,z,l]);(0,a.useEffect)(()=>{e||($.current=!1)},[e]),(0,a.useEffect)(()=>{e&&t&&($.current||($.current=!0,f(null),y(""),v(null),k(!1),C(null),T(!1),K()))},[e,t,K]),(0,a.useEffect)(()=>{let e;if(!b)return;M.current=!1;let t=async e=>{if(M.current)return;let{code:t,state:s,error:r,errorDescription:a}=e;if(r){M.current=!0,v(a||r),h("error");return}t&&(M.current=!0,await F(t,s))},s=e=>{let s=window.location.port,r=e.origin.match(/^https?:\/\/(localhost|127\.0\.0\.1)(:\d+)?$/)&&new URL(e.origin).port===s;(e.origin===window.location.origin||r)&&e.data?.type==="oauth_callback"&&t(e.data.data)};window.addEventListener("message",s);try{(e=new BroadcastChannel("oauth_callback")).onmessage=e=>t(e.data)}catch(e){console.log("BroadcastChannel not supported")}let r=e=>{if("oauth_callback"===e.key&&e.newValue)try{let s=JSON.parse(e.newValue);t(s),localStorage.removeItem("oauth_callback")}catch(e){console.log("Failed to parse localStorage data")}};window.addEventListener("storage",r);try{let e=localStorage.getItem("oauth_callback");if(e){let s=JSON.parse(e);s.timestamp&&Date.now()-s.timestamp<3e4&&(t(s),localStorage.removeItem("oauth_callback"))}}catch{}return()=>{window.removeEventListener("message",s),window.removeEventListener("storage",r),e&&e.close()}},[b,F]);let U=async()=>{try{v(null);let e=new URL(g),t=e.searchParams.get("code"),s=e.searchParams.get("state"),r=e.searchParams.get("error");if(r)throw Error(e.searchParams.get("error_description")||r);if(!t)throw Error("No authorization code found in URL");await F(t,s)}catch(e){v(e.message),h("error")}};return t&&s?(0,r.jsx)(i.default,{isOpen:e,title:`Connect ${s.name}`,onClose:n,size:"lg",children:(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:["waiting"===p&&!N&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-primary/10 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-primary animate-spin",children:"progress_activity"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Waiting for Authorization"}),(0,r.jsx)("p",{className:"text-sm text-text-muted mb-4",children:"Complete the authorization in the popup window."}),(0,r.jsx)(o.default,{variant:"ghost",onClick:()=>h("input"),children:"Popup blocked? Enter URL manually"})]}),"waiting"===p&&N&&w&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"text-center py-4",children:[(0,r.jsx)("p",{className:"text-sm text-text-muted mb-4",children:"Visit the URL below and enter the code:"}),(0,r.jsxs)("div",{className:"bg-sidebar p-4 rounded-lg mb-4",children:[(0,r.jsx)("p",{className:"text-xs text-text-muted mb-1",children:"Verification URL"}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("code",{className:"flex-1 text-sm break-all",children:w.verification_uri}),(0,r.jsx)(o.default,{size:"sm",variant:"ghost",icon:"verify_url"===O?"check":"content_copy",onClick:()=>R(w.verification_uri,"verify_url")})]})]}),(0,r.jsxs)("div",{className:"bg-primary/10 p-4 rounded-lg",children:[(0,r.jsx)("p",{className:"text-xs text-text-muted mb-1",children:"Your Code"}),(0,r.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,r.jsx)("p",{className:"text-2xl font-mono font-bold text-primary",children:w.user_code}),(0,r.jsx)(o.default,{size:"sm",variant:"ghost",icon:"user_code"===O?"check":"content_copy",onClick:()=>R(w.user_code,"user_code")})]})]})]}),S&&(0,r.jsxs)("div",{className:"flex items-center justify-center gap-2 text-sm text-text-muted",children:[(0,r.jsx)("span",{className:"material-symbols-outlined animate-spin",children:"progress_activity"}),"Waiting for authorization..."]})]}),"input"===p&&!N&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"space-y-4",children:[!P&&m.has(t)&&(0,r.jsxs)("div",{className:"rounded-lg border border-amber-500/30 bg-amber-500/10 p-3 text-xs text-amber-200",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-sm align-middle mr-1",children:"warning"}),(0,r.jsx)("strong",{children:"Remote access + Google OAuth:"})," The default credentials only accept redirects to ",(0,r.jsx)("code",{children:"localhost"}),". After authorizing, your browser will try to open ",(0,r.jsx)("code",{children:"localhost"})," — copy that full URL and paste it below. For fully remote use without this manual step,"," ",(0,r.jsx)("a",{href:"https://github.com/diegosouzapw/OmniRoute#oauth-on-a-remote-server",target:"_blank",rel:"noreferrer",className:"underline",children:"configure your own OAuth credentials"}),"."]}),!P&&!m.has(t)&&(0,r.jsxs)("div",{className:"rounded-lg border border-blue-500/30 bg-blue-500/10 p-3 text-xs text-blue-200",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-sm align-middle mr-1",children:"info"}),(0,r.jsx)("strong",{children:"Remote access:"})," Since you're accessing OmniRoute remotely, after authorizing you'll see an error page (localhost not found). That's expected — just copy the full URL from your browser's address bar and paste it below."]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-medium mb-2",children:"Step 1: Open this URL in your browser"}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(c.default,{value:b?.authUrl||"",readOnly:!0,className:"flex-1 font-mono text-xs"}),(0,r.jsx)(o.default,{variant:"secondary",icon:"auth_url"===O?"check":"content_copy",onClick:()=>R(b?.authUrl,"auth_url"),children:"Copy"})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-medium mb-2",children:"Step 2: Paste the callback URL here"}),(0,r.jsx)("p",{className:"text-xs text-text-muted mb-2",children:"After authorization, copy the full URL from your browser."}),(0,r.jsx)(c.default,{value:g,onChange:e=>y(e.target.value),placeholder:A,className:"font-mono text-xs"})]})]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(o.default,{onClick:U,fullWidth:!0,disabled:!g,children:"Connect"}),(0,r.jsx)(o.default,{onClick:n,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]}),"success"===p&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-green-600",children:"check_circle"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Connected Successfully!"}),(0,r.jsxs)("p",{className:"text-sm text-text-muted mb-4",children:["Your ",s.name," account has been connected."]}),(0,r.jsx)(o.default,{onClick:n,fullWidth:!0,children:"Done"})]}),"error"===p&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-red-100 dark:bg-red-900/30 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-red-600",children:"error"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Connection Failed"}),(0,r.jsx)("p",{className:"text-sm text-red-600 mb-4",children:j}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(o.default,{onClick:K,variant:"secondary",fullWidth:!0,children:"Try Again"}),(0,r.jsx)(o.default,{onClick:n,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})]})}):null}u.propTypes={isOpen:n().bool.isRequired,provider:n().string,providerInfo:n().shape({name:n().string}),onSuccess:n().func,onClose:n().func.isRequired}},80927:(e,t,s)=>{s.d(t,{default:()=>i});var r=s(95155),a=s(67040);let l={default:"bg-black/5 dark:bg-white/10 text-text-muted",primary:"bg-primary/10 text-primary",success:"bg-green-500/10 text-green-600 dark:text-green-400",warning:"bg-yellow-500/10 text-yellow-600 dark:text-yellow-400",error:"bg-red-500/10 text-red-600 dark:text-red-400",info:"bg-blue-500/10 text-blue-600 dark:text-blue-400"},n={sm:"px-2 py-0.5 text-[10px]",md:"px-2.5 py-1 text-xs",lg:"px-3 py-1.5 text-sm"};function i({children:e,variant:t="default",size:s="md",dot:i=!1,icon:o,className:c}){return(0,r.jsxs)("span",{className:(0,a.cn)("inline-flex items-center gap-1.5 rounded-full font-semibold",l[t],n[s],c),children:[i&&(0,r.jsx)("span",{"aria-hidden":"true",className:(0,a.cn)("size-1.5 rounded-full","success"===t&&"bg-green-500","warning"===t&&"bg-yellow-500","error"===t&&"bg-red-500","info"===t&&"bg-blue-500","primary"===t&&"bg-primary","default"===t&&"bg-gray-500")}),o&&(0,r.jsx)("span",{className:"material-symbols-outlined text-[14px]","aria-hidden":"true",children:o}),e]})}},81060:(e,t,s)=>{s.d(t,{default:()=>l});var r=s(95155),a=s(67040);function l({children:e,title:t,subtitle:s,icon:l,action:n,padding:i="md",hover:o=!1,className:c,...d}){return(0,r.jsxs)("div",{className:(0,a.cn)("bg-surface","border border-black/5 dark:border-white/5","rounded-lg shadow-sm",o&&"hover:shadow-md hover:border-primary/30 transition-all cursor-pointer",{none:"",xs:"p-3",sm:"p-4",md:"p-6",lg:"p-8"}[i],c),...d,children:[(t||n)&&(0,r.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[l&&(0,r.jsx)("div",{className:"p-2 rounded-lg bg-bg text-text-muted",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:l})}),(0,r.jsxs)("div",{children:[t&&(0,r.jsx)("h3",{className:"text-text-main font-semibold",children:t}),s&&(0,r.jsx)("p",{className:"text-sm text-text-muted",children:s})]})]}),n]}),e]})}l.Section=function({children:e,className:t,...s}){return(0,r.jsx)("div",{className:(0,a.cn)("p-4 rounded-lg","bg-black/[0.02] dark:bg-white/[0.02]","border border-black/5 dark:border-white/5",t),...s,children:e})},l.Row=function({children:e,className:t,...s}){return(0,r.jsx)("div",{className:(0,a.cn)("p-3 -mx-3 px-3 transition-colors","border-b border-black/5 dark:border-white/5 last:border-b-0","hover:bg-black/[0.02] dark:hover:bg-white/[0.02]",t),...s,children:e})},l.ListItem=function({children:e,actions:t,className:s,...l}){return(0,r.jsxs)("div",{className:(0,a.cn)("group flex items-center justify-between p-3 -mx-3 px-3","border-b border-black/[0.03] dark:border-white/[0.03] last:border-b-0","hover:bg-black/[0.02] dark:hover:bg-white/[0.02]","transition-colors",s),...l,children:[(0,r.jsx)("div",{className:"flex-1 min-w-0",children:e}),t&&(0,r.jsx)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 focus-within:opacity-100 transition-opacity",children:t})]})}},85444:(e,t,s)=>{s.d(t,{default:()=>x});var r=s(95155),a=s(12115),l=s(14051),n=s.n(l),i=s(71361),o=s(81135),c=s(20909);let d=[...Object.keys(c.zN),...Object.keys(c.IS),...Object.keys(c.fg)];function x({isOpen:e,onClose:t,onSelect:s,selectedModel:l,activeProviders:n=[],title:x="Select Model",modelAliases:m={}}){let[u,p]=(0,a.useState)(""),[h,b]=(0,a.useState)([]),[f,g]=(0,a.useState)([]),[y,j]=(0,a.useState)({}),v=async()=>{try{let e=await fetch("/api/combos");if(!e.ok)throw Error(`Failed to fetch combos: ${e.status}`);let t=await e.json();b(t.combos||[])}catch(e){console.error("Error fetching combos:",e),b([])}};(0,a.useEffect)(()=>{e&&v()},[e]);let N=async()=>{try{let e=await fetch("/api/provider-nodes");if(!e.ok)throw Error(`Failed to fetch provider nodes: ${e.status}`);let t=await e.json();g(t.nodes||[])}catch(e){console.error("Error fetching provider nodes:",e),g([])}};(0,a.useEffect)(()=>{e&&N()},[e]);let k=async()=>{try{let e=await fetch("/api/provider-models");if(!e.ok)throw Error(`Failed to fetch custom models: ${e.status}`);let t=await e.json();j(t.models||{})}catch(e){console.error("Error fetching custom models:",e),j({})}};(0,a.useEffect)(()=>{e&&k()},[e]);let w=(0,a.useMemo)(()=>({...c.zN,...c.IS,...c.fg}),[]),C=(0,a.useMemo)(()=>{let e={};return[...new Set([...n.map(e=>e.provider)])].sort((e,t)=>{let s=d.indexOf(e),r=d.indexOf(t);return(-1===s?999:s)-(-1===r?999:r)}).forEach(t=>{let s=o.Xg[t]||t,r=w[t]||{name:t,color:"#666"},a=(0,c.mq)(t)||(0,c.gb)(t),l=y[t]||[];if(r.passthroughModels){let a=Object.entries(m).filter(([,e])=>e.startsWith(`${s}/`)).map(([e,t])=>({id:t.replace(`${s}/`,""),name:e,value:t})),n=l.filter(e=>!a.some(t=>t.id===e.id)).map(e=>({id:e.id,name:e.name||e.id,value:`${s}/${e.id}`,isCustom:!0})),i=[...a,...n];if(i.length>0){let a=f.find(e=>e.id===t),l=a?.name||r.name;e[t]={name:l,alias:s,color:r.color,models:i}}}else if(a){let s=f.find(e=>e.id===t),a=s?.name||r.name,n=s?.prefix||t,i=Object.entries(m).filter(([,e])=>e.startsWith(`${t}/`)).map(([e,s])=>({id:s.replace(`${t}/`,""),name:e,value:`${n}/${s.replace(`${t}/`,"")}`})),o=l.filter(e=>!i.some(t=>t.id===e.id)).map(e=>({id:e.id,name:e.name||e.id,value:`${n}/${e.id}`,isCustom:!0})),c=[...i,...o];c.length>0&&(e[t]={name:a,alias:n,color:r.color,models:c,isCustom:!0,hasModels:!0})}else{let a=(0,o.KC)(t),n=[...a.map(e=>({id:e.id,name:e.name,value:`${s}/${e.id}`})),...l.filter(e=>!a.some(t=>t.id===e.id)).map(e=>({id:e.id,name:e.name||e.id,value:`${s}/${e.id}`,isCustom:!0}))];n.length>0&&(e[t]={name:r.name,alias:s,color:r.color,models:n})}}),e},[n,m,w,f,y]),S=(0,a.useMemo)(()=>{if(!u.trim())return h;let e=u.toLowerCase();return h.filter(t=>t.name.toLowerCase().includes(e))},[h,u]),T=(0,a.useMemo)(()=>{if(!u.trim())return C;let e=u.toLowerCase(),t={};return Object.entries(C).forEach(([s,r])=>{let a=r.models.filter(t=>t.name.toLowerCase().includes(e)||t.id.toLowerCase().includes(e)),l=r.name.toLowerCase().includes(e);(a.length>0||l)&&(t[s]={...r,models:a})}),t},[C,u]),I=e=>{s(e),t(),p("")};return(0,r.jsxs)(i.default,{isOpen:e,onClose:()=>{t(),p("")},title:x,size:"md",className:"p-4!",children:[(0,r.jsx)("div",{className:"mb-3",children:(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsx)("span",{className:"material-symbols-outlined absolute left-2.5 top-1/2 -translate-y-1/2 text-text-muted text-[16px]",children:"search"}),(0,r.jsx)("input",{type:"text",placeholder:"Search...",value:u,onChange:e=>p(e.target.value),className:"w-full pl-8 pr-3 py-1.5 bg-surface border border-border rounded text-xs focus:outline-none focus:ring-1 focus:ring-primary/50"})]})}),(0,r.jsxs)("div",{className:"max-h-[300px] overflow-y-auto space-y-3",children:[S.length>0&&(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5 sticky top-0 bg-surface py-0.5",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-primary text-[14px]",children:"layers"}),(0,r.jsx)("span",{className:"text-xs font-medium text-primary",children:"Combos"}),(0,r.jsxs)("span",{className:"text-[10px] text-text-muted",children:["(",S.length,")"]})]}),(0,r.jsx)("div",{className:"flex flex-wrap gap-1.5",children:S.map(e=>{let t=l===e.name;return(0,r.jsx)("button",{onClick:()=>I({id:e.name,name:e.name,value:e.name}),className:`
16
16
  px-2 py-1 rounded-xl text-xs font-medium transition-all border hover:cursor-pointer
17
17
  ${t?"bg-primary text-white border-primary":"bg-surface border-border text-text-main hover:border-primary/50 hover:bg-primary/5"}
18
18
  `,children:e.name},e.id)})})]}),Object.entries(T).map(([e,t])=>(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5 sticky top-0 bg-surface py-0.5",children:[(0,r.jsx)("div",{className:"w-2 h-2 rounded-full",style:{backgroundColor:t.color}}),(0,r.jsx)("span",{className:"text-xs font-medium text-primary",children:t.name}),(0,r.jsxs)("span",{className:"text-[10px] text-text-muted",children:["(",t.models.length,")"]})]}),(0,r.jsx)("div",{className:"flex flex-wrap gap-1.5",children:t.models.map(e=>{let t=l===e.value;return(0,r.jsxs)("button",{onClick:()=>I(e),className:`
package/app/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omniroute",
3
- "version": "2.3.0",
3
+ "version": "2.3.1",
4
4
  "description": "Smart AI Router with auto fallback — route to FREE & cheap models, zero downtime. Works with Cursor, Cline, Claude Desktop, Codex, and any OpenAI-compatible tool.",
5
5
  "type": "module",
6
6
  "bin": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omniroute",
3
- "version": "2.3.0",
3
+ "version": "2.3.1",
4
4
  "description": "Smart AI Router with auto fallback — route to FREE & cheap models, zero downtime. Works with Cursor, Cline, Claude Desktop, Codex, and any OpenAI-compatible tool.",
5
5
  "type": "module",
6
6
  "bin": {