omniroute 2.0.1 → 2.0.2

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 (256) hide show
  1. package/README.ar.md +4 -3
  2. package/README.bg.md +4 -3
  3. package/README.da.md +4 -2
  4. package/README.de.md +3 -2
  5. package/README.es.md +1 -0
  6. package/README.fi.md +1 -0
  7. package/README.fr.md +1 -0
  8. package/README.he.md +9 -8
  9. package/README.hu.md +1 -0
  10. package/README.id.md +1 -0
  11. package/README.in.md +9 -8
  12. package/README.it.md +1 -0
  13. package/README.ja.md +3 -0
  14. package/README.ko.md +9 -8
  15. package/README.md +17 -16
  16. package/README.ms.md +9 -8
  17. package/README.nl.md +9 -8
  18. package/README.no.md +1 -0
  19. package/README.phi.md +2 -1
  20. package/README.pl.md +9 -8
  21. package/README.pt-BR.md +3 -2
  22. package/README.pt.md +1 -0
  23. package/README.ro.md +2 -0
  24. package/README.ru.md +1 -0
  25. package/README.sk.md +1 -0
  26. package/README.sv.md +1 -0
  27. package/README.th.md +1 -0
  28. package/README.uk-UA.md +1 -0
  29. package/README.vi.md +1 -0
  30. package/README.zh-CN.md +10 -9
  31. package/app/.next/BUILD_ID +1 -1
  32. package/app/.next/app-path-routes-manifest.json +66 -66
  33. package/app/.next/build-manifest.json +2 -2
  34. package/app/.next/server/app/(dashboard)/dashboard/a2a/page_client-reference-manifest.js +1 -1
  35. package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  36. package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
  37. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
  38. package/app/.next/server/app/(dashboard)/dashboard/auto-combo/page_client-reference-manifest.js +1 -1
  39. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  40. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  41. package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
  42. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  43. package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  44. package/app/.next/server/app/(dashboard)/dashboard/limits/page.js +1 -1
  45. package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
  46. package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
  47. package/app/.next/server/app/(dashboard)/dashboard/mcp/page_client-reference-manifest.js +1 -1
  48. package/app/.next/server/app/(dashboard)/dashboard/media/page_client-reference-manifest.js +1 -1
  49. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
  50. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  51. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  52. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +1 -1
  53. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  54. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  55. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  56. package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
  57. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  58. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  59. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  60. package/app/.next/server/app/.well-known/agent.json/route_client-reference-manifest.js +1 -1
  61. package/app/.next/server/app/400/page_client-reference-manifest.js +1 -1
  62. package/app/.next/server/app/401/page_client-reference-manifest.js +1 -1
  63. package/app/.next/server/app/403/page_client-reference-manifest.js +1 -1
  64. package/app/.next/server/app/408/page_client-reference-manifest.js +1 -1
  65. package/app/.next/server/app/429/page_client-reference-manifest.js +1 -1
  66. package/app/.next/server/app/500/page_client-reference-manifest.js +1 -1
  67. package/app/.next/server/app/502/page_client-reference-manifest.js +1 -1
  68. package/app/.next/server/app/503/page_client-reference-manifest.js +1 -1
  69. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  70. package/app/.next/server/app/_global-error.html +2 -2
  71. package/app/.next/server/app/_global-error.rsc +1 -1
  72. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  73. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  74. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  75. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  76. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  77. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  78. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  79. package/app/.next/server/app/a2a/route_client-reference-manifest.js +1 -1
  80. package/app/.next/server/app/api/a2a/status/route_client-reference-manifest.js +1 -1
  81. package/app/.next/server/app/api/a2a/tasks/[id]/cancel/route_client-reference-manifest.js +1 -1
  82. package/app/.next/server/app/api/a2a/tasks/[id]/route_client-reference-manifest.js +1 -1
  83. package/app/.next/server/app/api/a2a/tasks/route_client-reference-manifest.js +1 -1
  84. package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  85. package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  86. package/app/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  87. package/app/.next/server/app/api/cache/route_client-reference-manifest.js +1 -1
  88. package/app/.next/server/app/api/cache/stats/route_client-reference-manifest.js +1 -1
  89. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
  90. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
  91. package/app/.next/server/app/api/cli-tools/backups/route_client-reference-manifest.js +1 -1
  92. package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
  93. package/app/.next/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
  94. package/app/.next/server/app/api/cli-tools/codex-profiles/route_client-reference-manifest.js +1 -1
  95. package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
  96. package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
  97. package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route_client-reference-manifest.js +1 -1
  98. package/app/.next/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
  99. package/app/.next/server/app/api/cli-tools/openclaw/auto-order/route_client-reference-manifest.js +1 -1
  100. package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
  101. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route_client-reference-manifest.js +1 -1
  102. package/app/.next/server/app/api/cli-tools/status/route_client-reference-manifest.js +1 -1
  103. package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
  104. package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
  105. package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
  106. package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
  107. package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  108. package/app/.next/server/app/api/combos/auto/route_client-reference-manifest.js +1 -1
  109. package/app/.next/server/app/api/combos/metrics/route_client-reference-manifest.js +1 -1
  110. package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
  111. package/app/.next/server/app/api/combos/test/route_client-reference-manifest.js +1 -1
  112. package/app/.next/server/app/api/compliance/audit-log/route_client-reference-manifest.js +1 -1
  113. package/app/.next/server/app/api/db-backups/export/route_client-reference-manifest.js +1 -1
  114. package/app/.next/server/app/api/db-backups/exportAll/route_client-reference-manifest.js +1 -1
  115. package/app/.next/server/app/api/db-backups/import/route_client-reference-manifest.js +1 -1
  116. package/app/.next/server/app/api/db-backups/route_client-reference-manifest.js +1 -1
  117. package/app/.next/server/app/api/evals/[suiteId]/route_client-reference-manifest.js +1 -1
  118. package/app/.next/server/app/api/evals/route_client-reference-manifest.js +1 -1
  119. package/app/.next/server/app/api/fallback/chains/route_client-reference-manifest.js +1 -1
  120. package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  121. package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  122. package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
  123. package/app/.next/server/app/api/logs/console/route_client-reference-manifest.js +1 -1
  124. package/app/.next/server/app/api/mcp/audit/route_client-reference-manifest.js +1 -1
  125. package/app/.next/server/app/api/mcp/audit/stats/route_client-reference-manifest.js +1 -1
  126. package/app/.next/server/app/api/mcp/sse/route_client-reference-manifest.js +1 -1
  127. package/app/.next/server/app/api/mcp/status/route_client-reference-manifest.js +1 -1
  128. package/app/.next/server/app/api/mcp/stream/route_client-reference-manifest.js +1 -1
  129. package/app/.next/server/app/api/mcp/tools/route_client-reference-manifest.js +1 -1
  130. package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
  131. package/app/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
  132. package/app/.next/server/app/api/models/catalog/route_client-reference-manifest.js +1 -1
  133. package/app/.next/server/app/api/models/route.js +1 -1
  134. package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  135. package/app/.next/server/app/api/monitoring/health/route.js +1 -1
  136. package/app/.next/server/app/api/monitoring/health/route_client-reference-manifest.js +1 -1
  137. package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  138. package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  139. package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  140. package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
  141. package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
  142. package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
  143. package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
  144. package/app/.next/server/app/api/policies/route_client-reference-manifest.js +1 -1
  145. package/app/.next/server/app/api/pricing/defaults/route_client-reference-manifest.js +1 -1
  146. package/app/.next/server/app/api/pricing/models/route_client-reference-manifest.js +1 -1
  147. package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  148. package/app/.next/server/app/api/provider-metrics/route_client-reference-manifest.js +1 -1
  149. package/app/.next/server/app/api/provider-models/route.js +1 -1
  150. package/app/.next/server/app/api/provider-models/route_client-reference-manifest.js +1 -1
  151. package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  152. package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  153. package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  154. package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  155. package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  156. package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  157. package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  158. package/app/.next/server/app/api/providers/route.js +1 -1
  159. package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
  160. package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
  161. package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  162. package/app/.next/server/app/api/rate-limit/route_client-reference-manifest.js +1 -1
  163. package/app/.next/server/app/api/rate-limits/route_client-reference-manifest.js +1 -1
  164. package/app/.next/server/app/api/resilience/reset/route_client-reference-manifest.js +1 -1
  165. package/app/.next/server/app/api/resilience/route_client-reference-manifest.js +1 -1
  166. package/app/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  167. package/app/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  168. package/app/.next/server/app/api/settings/background-degradation/route_client-reference-manifest.js +1 -1
  169. package/app/.next/server/app/api/settings/combo-defaults/route_client-reference-manifest.js +1 -1
  170. package/app/.next/server/app/api/settings/ip-filter/route_client-reference-manifest.js +1 -1
  171. package/app/.next/server/app/api/settings/model-aliases/route_client-reference-manifest.js +1 -1
  172. package/app/.next/server/app/api/settings/proxy/route_client-reference-manifest.js +1 -1
  173. package/app/.next/server/app/api/settings/proxy/test/route_client-reference-manifest.js +1 -1
  174. package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  175. package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  176. package/app/.next/server/app/api/settings/system-prompt/route_client-reference-manifest.js +1 -1
  177. package/app/.next/server/app/api/settings/thinking-budget/route_client-reference-manifest.js +1 -1
  178. package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  179. package/app/.next/server/app/api/storage/health/route_client-reference-manifest.js +1 -1
  180. package/app/.next/server/app/api/sync/cloud/route_client-reference-manifest.js +1 -1
  181. package/app/.next/server/app/api/sync/initialize/route_client-reference-manifest.js +1 -1
  182. package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
  183. package/app/.next/server/app/api/telemetry/summary/route_client-reference-manifest.js +1 -1
  184. package/app/.next/server/app/api/token-health/route_client-reference-manifest.js +1 -1
  185. package/app/.next/server/app/api/translator/detect/route_client-reference-manifest.js +1 -1
  186. package/app/.next/server/app/api/translator/history/route_client-reference-manifest.js +1 -1
  187. package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  188. package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  189. package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  190. package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  191. package/app/.next/server/app/api/usage/[connectionId]/route.js +1 -1
  192. package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  193. package/app/.next/server/app/api/usage/analytics/route_client-reference-manifest.js +1 -1
  194. package/app/.next/server/app/api/usage/budget/route_client-reference-manifest.js +1 -1
  195. package/app/.next/server/app/api/usage/call-logs/[id]/route_client-reference-manifest.js +1 -1
  196. package/app/.next/server/app/api/usage/call-logs/route_client-reference-manifest.js +1 -1
  197. package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  198. package/app/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
  199. package/app/.next/server/app/api/usage/proxy-logs/route_client-reference-manifest.js +1 -1
  200. package/app/.next/server/app/api/usage/quota/route_client-reference-manifest.js +1 -1
  201. package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  202. package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  203. package/app/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
  204. package/app/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
  205. package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  206. package/app/.next/server/app/api/v1/embeddings/route.js +1 -1
  207. package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
  208. package/app/.next/server/app/api/v1/images/generations/route.js +1 -1
  209. package/app/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
  210. package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  211. package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  212. package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  213. package/app/.next/server/app/api/v1/moderations/route_client-reference-manifest.js +1 -1
  214. package/app/.next/server/app/api/v1/music/generations/route_client-reference-manifest.js +1 -1
  215. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route_client-reference-manifest.js +1 -1
  216. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route_client-reference-manifest.js +1 -1
  217. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route_client-reference-manifest.js +1 -1
  218. package/app/.next/server/app/api/v1/rerank/route_client-reference-manifest.js +1 -1
  219. package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  220. package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
  221. package/app/.next/server/app/api/v1/videos/generations/route_client-reference-manifest.js +1 -1
  222. package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  223. package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  224. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  225. package/app/.next/server/app/docs/page.js +1 -1
  226. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  227. package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
  228. package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  229. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  230. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  231. package/app/.next/server/app/maintenance/page_client-reference-manifest.js +1 -1
  232. package/app/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  233. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  234. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  235. package/app/.next/server/app/status/page_client-reference-manifest.js +1 -1
  236. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  237. package/app/.next/server/app-paths-manifest.json +66 -66
  238. package/app/.next/server/chunks/1033.js +1 -1
  239. package/app/.next/server/chunks/1909.js +1 -1
  240. package/app/.next/server/chunks/2901.js +1 -1
  241. package/app/.next/server/chunks/7669.js +1 -1
  242. package/app/.next/server/chunks/8369.js +1 -1
  243. package/app/.next/server/instrumentation.js +1 -1
  244. package/app/.next/server/pages/500.html +2 -2
  245. package/app/.next/server/server-reference-manifest.js +1 -1
  246. package/app/.next/server/server-reference-manifest.json +1 -1
  247. package/app/.next/static/chunks/{5846-9b7784ad661caa13.js → 5846-014698d5430bb218.js} +1 -1
  248. package/app/.next/static/chunks/app/(dashboard)/dashboard/limits/page-e8a28e4cf62889bd.js +1 -0
  249. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-350aed2e86512c23.js +1 -0
  250. package/app/logs/application/app.log +1 -0
  251. package/app/package.json +1 -1
  252. package/package.json +1 -1
  253. package/app/.next/static/chunks/app/(dashboard)/dashboard/limits/page-6a443389184cbb02.js +0 -1
  254. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-82d79cd167744344.js +0 -1
  255. /package/app/.next/static/{-xiwMa51S_mLBRfIPd772 → GDoUzLvy4YDqhnGqUCiZ0}/_buildManifest.js +0 -0
  256. /package/app/.next/static/{-xiwMa51S_mLBRfIPd772 → GDoUzLvy4YDqhnGqUCiZ0}/_ssgManifest.js +0 -0
@@ -1,187 +1,187 @@
1
1
  {
2
- "/_global-error/page": "app/_global-error/page.js",
3
2
  "/_not-found/page": "app/_not-found/page.js",
3
+ "/_global-error/page": "app/_global-error/page.js",
4
4
  "/.well-known/agent.json/route": "app/.well-known/agent.json/route.js",
5
- "/api/a2a/status/route": "app/api/a2a/status/route.js",
6
5
  "/a2a/route": "app/a2a/route.js",
7
- "/api/a2a/tasks/route": "app/api/a2a/tasks/route.js",
6
+ "/api/a2a/status/route": "app/api/a2a/status/route.js",
8
7
  "/api/a2a/tasks/[id]/cancel/route": "app/api/a2a/tasks/[id]/cancel/route.js",
8
+ "/api/a2a/tasks/route": "app/api/a2a/tasks/route.js",
9
9
  "/api/a2a/tasks/[id]/route": "app/api/a2a/tasks/[id]/route.js",
10
10
  "/api/auth/login/route": "app/api/auth/login/route.js",
11
11
  "/api/auth/logout/route": "app/api/auth/logout/route.js",
12
- "/api/cache/route": "app/api/cache/route.js",
13
12
  "/api/auth/status/route": "app/api/auth/status/route.js",
14
13
  "/api/cache/stats/route": "app/api/cache/stats/route.js",
15
14
  "/api/cli-tools/antigravity-mitm/alias/route": "app/api/cli-tools/antigravity-mitm/alias/route.js",
15
+ "/api/cache/route": "app/api/cache/route.js",
16
16
  "/api/cli-tools/backups/route": "app/api/cli-tools/backups/route.js",
17
17
  "/api/cli-tools/codex-profiles/route": "app/api/cli-tools/codex-profiles/route.js",
18
18
  "/api/cli-tools/openclaw/auto-order/route": "app/api/cli-tools/openclaw/auto-order/route.js",
19
+ "/api/cloud/auth/route": "app/api/cloud/auth/route.js",
19
20
  "/api/cloud/credentials/update/route": "app/api/cloud/credentials/update/route.js",
20
- "/api/cloud/model/resolve/route": "app/api/cloud/model/resolve/route.js",
21
21
  "/api/combos/[id]/route": "app/api/combos/[id]/route.js",
22
- "/api/cloud/auth/route": "app/api/cloud/auth/route.js",
23
- "/api/combos/metrics/route": "app/api/combos/metrics/route.js",
22
+ "/api/cloud/model/resolve/route": "app/api/cloud/model/resolve/route.js",
24
23
  "/api/combos/auto/route": "app/api/combos/auto/route.js",
25
24
  "/api/cloud/models/alias/route": "app/api/cloud/models/alias/route.js",
25
+ "/api/combos/metrics/route": "app/api/combos/metrics/route.js",
26
26
  "/api/combos/route": "app/api/combos/route.js",
27
+ "/api/db-backups/export/route": "app/api/db-backups/export/route.js",
27
28
  "/api/compliance/audit-log/route": "app/api/compliance/audit-log/route.js",
28
29
  "/api/db-backups/exportAll/route": "app/api/db-backups/exportAll/route.js",
29
30
  "/api/db-backups/import/route": "app/api/db-backups/import/route.js",
30
- "/api/db-backups/export/route": "app/api/db-backups/export/route.js",
31
- "/api/evals/[suiteId]/route": "app/api/evals/[suiteId]/route.js",
32
31
  "/api/db-backups/route": "app/api/db-backups/route.js",
32
+ "/api/evals/[suiteId]/route": "app/api/evals/[suiteId]/route.js",
33
33
  "/api/evals/route": "app/api/evals/route.js",
34
34
  "/api/fallback/chains/route": "app/api/fallback/chains/route.js",
35
- "/api/keys/[id]/route": "app/api/keys/[id]/route.js",
36
- "/api/keys/route": "app/api/keys/route.js",
37
35
  "/api/init/route": "app/api/init/route.js",
38
- "/api/mcp/audit/route": "app/api/mcp/audit/route.js",
36
+ "/api/keys/route": "app/api/keys/route.js",
39
37
  "/api/logs/console/route": "app/api/logs/console/route.js",
40
- "/api/mcp/stream/route": "app/api/mcp/stream/route.js",
38
+ "/api/mcp/audit/route": "app/api/mcp/audit/route.js",
39
+ "/api/keys/[id]/route": "app/api/keys/[id]/route.js",
40
+ "/api/mcp/audit/stats/route": "app/api/mcp/audit/stats/route.js",
41
+ "/api/mcp/sse/route": "app/api/mcp/sse/route.js",
41
42
  "/api/mcp/tools/route": "app/api/mcp/tools/route.js",
42
- "/api/models/availability/route": "app/api/models/availability/route.js",
43
43
  "/api/models/alias/route": "app/api/models/alias/route.js",
44
- "/api/mcp/audit/stats/route": "app/api/mcp/audit/stats/route.js",
45
- "/api/models/catalog/route": "app/api/models/catalog/route.js",
44
+ "/api/models/availability/route": "app/api/models/availability/route.js",
45
+ "/api/mcp/stream/route": "app/api/mcp/stream/route.js",
46
46
  "/api/models/route": "app/api/models/route.js",
47
- "/api/oauth/cursor/import/route": "app/api/oauth/cursor/import/route.js",
47
+ "/api/models/catalog/route": "app/api/models/catalog/route.js",
48
+ "/api/monitoring/health/route": "app/api/monitoring/health/route.js",
48
49
  "/api/oauth/cursor/auto-import/route": "app/api/oauth/cursor/auto-import/route.js",
50
+ "/api/oauth/cursor/import/route": "app/api/oauth/cursor/import/route.js",
49
51
  "/api/oauth/kiro/auto-import/route": "app/api/oauth/kiro/auto-import/route.js",
50
52
  "/api/oauth/kiro/import/route": "app/api/oauth/kiro/import/route.js",
51
- "/api/monitoring/health/route": "app/api/monitoring/health/route.js",
52
- "/api/mcp/sse/route": "app/api/mcp/sse/route.js",
53
- "/api/oauth/kiro/social-exchange/route": "app/api/oauth/kiro/social-exchange/route.js",
54
- "/api/policies/route": "app/api/policies/route.js",
55
53
  "/api/oauth/kiro/social-authorize/route": "app/api/oauth/kiro/social-authorize/route.js",
54
+ "/api/pricing/defaults/route": "app/api/pricing/defaults/route.js",
55
+ "/api/policies/route": "app/api/policies/route.js",
56
+ "/api/oauth/kiro/social-exchange/route": "app/api/oauth/kiro/social-exchange/route.js",
56
57
  "/api/pricing/models/route": "app/api/pricing/models/route.js",
57
58
  "/api/provider-metrics/route": "app/api/provider-metrics/route.js",
58
59
  "/api/pricing/route": "app/api/pricing/route.js",
59
- "/api/pricing/defaults/route": "app/api/pricing/defaults/route.js",
60
60
  "/api/provider-models/route": "app/api/provider-models/route.js",
61
- "/api/provider-nodes/validate/route": "app/api/provider-nodes/validate/route.js",
62
61
  "/api/provider-nodes/[id]/route": "app/api/provider-nodes/[id]/route.js",
63
- "/api/providers/[id]/models/route": "app/api/providers/[id]/models/route.js",
62
+ "/api/provider-nodes/validate/route": "app/api/provider-nodes/validate/route.js",
64
63
  "/api/providers/[id]/route": "app/api/providers/[id]/route.js",
64
+ "/api/providers/[id]/models/route": "app/api/providers/[id]/models/route.js",
65
65
  "/api/providers/client/route": "app/api/providers/client/route.js",
66
- "/api/providers/route": "app/api/providers/route.js",
67
66
  "/api/providers/test-batch/route": "app/api/providers/test-batch/route.js",
68
67
  "/api/providers/validate/route": "app/api/providers/validate/route.js",
69
- "/api/resilience/reset/route": "app/api/resilience/reset/route.js",
68
+ "/api/providers/route": "app/api/providers/route.js",
69
+ "/api/rate-limit/route": "app/api/rate-limit/route.js",
70
70
  "/api/rate-limits/route": "app/api/rate-limits/route.js",
71
+ "/api/resilience/reset/route": "app/api/resilience/reset/route.js",
71
72
  "/api/resilience/route": "app/api/resilience/route.js",
72
- "/api/rate-limit/route": "app/api/rate-limit/route.js",
73
- "/api/settings/combo-defaults/route": "app/api/settings/combo-defaults/route.js",
74
73
  "/api/sessions/route": "app/api/sessions/route.js",
75
74
  "/api/restart/route": "app/api/restart/route.js",
76
75
  "/api/settings/background-degradation/route": "app/api/settings/background-degradation/route.js",
77
76
  "/api/settings/ip-filter/route": "app/api/settings/ip-filter/route.js",
78
77
  "/api/settings/model-aliases/route": "app/api/settings/model-aliases/route.js",
78
+ "/api/settings/combo-defaults/route": "app/api/settings/combo-defaults/route.js",
79
79
  "/api/settings/require-login/route": "app/api/settings/require-login/route.js",
80
- "/api/settings/thinking-budget/route": "app/api/settings/thinking-budget/route.js",
81
80
  "/api/settings/system-prompt/route": "app/api/settings/system-prompt/route.js",
82
81
  "/api/shutdown/route": "app/api/shutdown/route.js",
82
+ "/api/settings/thinking-budget/route": "app/api/settings/thinking-budget/route.js",
83
83
  "/api/storage/health/route": "app/api/storage/health/route.js",
84
84
  "/api/sync/cloud/route": "app/api/sync/cloud/route.js",
85
- "/api/tags/route": "app/api/tags/route.js",
86
85
  "/api/sync/initialize/route": "app/api/sync/initialize/route.js",
86
+ "/api/tags/route": "app/api/tags/route.js",
87
87
  "/api/token-health/route": "app/api/token-health/route.js",
88
- "/api/translator/detect/route": "app/api/translator/detect/route.js",
89
88
  "/api/telemetry/summary/route": "app/api/telemetry/summary/route.js",
89
+ "/api/translator/detect/route": "app/api/translator/detect/route.js",
90
90
  "/api/translator/history/route": "app/api/translator/history/route.js",
91
91
  "/api/translator/load/route": "app/api/translator/load/route.js",
92
- "/api/translator/send/route": "app/api/translator/send/route.js",
93
92
  "/api/translator/save/route": "app/api/translator/save/route.js",
94
- "/api/usage/analytics/route": "app/api/usage/analytics/route.js",
93
+ "/api/translator/send/route": "app/api/translator/send/route.js",
95
94
  "/api/translator/translate/route": "app/api/translator/translate/route.js",
96
- "/api/usage/budget/route": "app/api/usage/budget/route.js",
97
- "/api/usage/logs/route": "app/api/usage/logs/route.js",
98
- "/api/usage/call-logs/[id]/route": "app/api/usage/call-logs/[id]/route.js",
95
+ "/api/usage/analytics/route": "app/api/usage/analytics/route.js",
99
96
  "/api/usage/call-logs/route": "app/api/usage/call-logs/route.js",
97
+ "/api/usage/budget/route": "app/api/usage/budget/route.js",
100
98
  "/api/usage/history/route": "app/api/usage/history/route.js",
101
- "/api/usage/quota/route": "app/api/usage/quota/route.js",
102
- "/api/v1/audio/speech/route": "app/api/v1/audio/speech/route.js",
99
+ "/api/usage/call-logs/[id]/route": "app/api/usage/call-logs/[id]/route.js",
100
+ "/api/usage/logs/route": "app/api/usage/logs/route.js",
103
101
  "/api/usage/request-logs/route": "app/api/usage/request-logs/route.js",
102
+ "/api/usage/quota/route": "app/api/usage/quota/route.js",
104
103
  "/api/v1/api/chat/route": "app/api/v1/api/chat/route.js",
105
104
  "/api/v1/audio/transcriptions/route": "app/api/v1/audio/transcriptions/route.js",
106
- "/api/v1/messages/count_tokens/route": "app/api/v1/messages/count_tokens/route.js",
107
- "/api/v1/images/generations/route": "app/api/v1/images/generations/route.js",
105
+ "/api/v1/audio/speech/route": "app/api/v1/audio/speech/route.js",
108
106
  "/api/v1/embeddings/route": "app/api/v1/embeddings/route.js",
107
+ "/api/v1/messages/count_tokens/route": "app/api/v1/messages/count_tokens/route.js",
109
108
  "/api/v1/messages/route": "app/api/v1/messages/route.js",
109
+ "/api/v1/images/generations/route": "app/api/v1/images/generations/route.js",
110
110
  "/api/v1/models/route": "app/api/v1/models/route.js",
111
111
  "/api/v1/moderations/route": "app/api/v1/moderations/route.js",
112
- "/api/v1/music/generations/route": "app/api/v1/music/generations/route.js",
113
112
  "/api/v1/providers/[provider]/embeddings/route": "app/api/v1/providers/[provider]/embeddings/route.js",
114
113
  "/api/v1/providers/[provider]/chat/completions/route": "app/api/v1/providers/[provider]/chat/completions/route.js",
114
+ "/api/v1/music/generations/route": "app/api/v1/music/generations/route.js",
115
115
  "/api/v1/rerank/route": "app/api/v1/rerank/route.js",
116
- "/api/v1/responses/route": "app/api/v1/responses/route.js",
116
+ "/api/v1/providers/[provider]/images/generations/route": "app/api/v1/providers/[provider]/images/generations/route.js",
117
117
  "/api/v1/route": "app/api/v1/route.js",
118
+ "/api/v1/responses/route": "app/api/v1/responses/route.js",
118
119
  "/api/v1/videos/generations/route": "app/api/v1/videos/generations/route.js",
119
- "/api/v1beta/models/[...path]/route": "app/api/v1beta/models/[...path]/route.js",
120
120
  "/api/v1beta/models/route": "app/api/v1beta/models/route.js",
121
- "/api/v1/providers/[provider]/images/generations/route": "app/api/v1/providers/[provider]/images/generations/route.js",
121
+ "/api/v1beta/models/[...path]/route": "app/api/v1beta/models/[...path]/route.js",
122
122
  "/api/cli-tools/antigravity-mitm/route": "app/api/cli-tools/antigravity-mitm/route.js",
123
123
  "/api/cli-tools/claude-settings/route": "app/api/cli-tools/claude-settings/route.js",
124
124
  "/api/cli-tools/cline-settings/route": "app/api/cli-tools/cline-settings/route.js",
125
125
  "/api/cli-tools/codex-settings/route": "app/api/cli-tools/codex-settings/route.js",
126
126
  "/api/cli-tools/droid-settings/route": "app/api/cli-tools/droid-settings/route.js",
127
127
  "/api/cli-tools/guide-settings/[toolId]/route": "app/api/cli-tools/guide-settings/[toolId]/route.js",
128
- "/api/cli-tools/runtime/[toolId]/route": "app/api/cli-tools/runtime/[toolId]/route.js",
129
- "/api/cli-tools/kilo-settings/route": "app/api/cli-tools/kilo-settings/route.js",
130
128
  "/api/cli-tools/openclaw-settings/route": "app/api/cli-tools/openclaw-settings/route.js",
131
- "/api/combos/test/route": "app/api/combos/test/route.js",
132
129
  "/api/cli-tools/status/route": "app/api/cli-tools/status/route.js",
130
+ "/api/cli-tools/runtime/[toolId]/route": "app/api/cli-tools/runtime/[toolId]/route.js",
131
+ "/api/combos/test/route": "app/api/combos/test/route.js",
132
+ "/api/cli-tools/kilo-settings/route": "app/api/cli-tools/kilo-settings/route.js",
133
133
  "/api/mcp/status/route": "app/api/mcp/status/route.js",
134
134
  "/api/provider-nodes/route": "app/api/provider-nodes/route.js",
135
- "/api/settings/proxy/route": "app/api/settings/proxy/route.js",
136
135
  "/api/oauth/[provider]/[action]/route": "app/api/oauth/[provider]/[action]/route.js",
137
- "/api/settings/route": "app/api/settings/route.js",
136
+ "/api/settings/proxy/route": "app/api/settings/proxy/route.js",
137
+ "/api/providers/[id]/test/route": "app/api/providers/[id]/test/route.js",
138
138
  "/api/settings/proxy/test/route": "app/api/settings/proxy/test/route.js",
139
- "/api/usage/proxy-logs/route": "app/api/usage/proxy-logs/route.js",
139
+ "/api/settings/route": "app/api/settings/route.js",
140
140
  "/api/usage/[connectionId]/route": "app/api/usage/[connectionId]/route.js",
141
- "/api/providers/[id]/test/route": "app/api/providers/[id]/test/route.js",
141
+ "/api/usage/proxy-logs/route": "app/api/usage/proxy-logs/route.js",
142
142
  "/api/v1/chat/completions/route": "app/api/v1/chat/completions/route.js",
143
- "/401/page": "app/401/page.js",
144
143
  "/400/page": "app/400/page.js",
144
+ "/401/page": "app/401/page.js",
145
145
  "/403/page": "app/403/page.js",
146
146
  "/429/page": "app/429/page.js",
147
- "/502/page": "app/502/page.js",
148
147
  "/500/page": "app/500/page.js",
148
+ "/502/page": "app/502/page.js",
149
149
  "/503/page": "app/503/page.js",
150
- "/forbidden/page": "app/forbidden/page.js",
151
- "/callback/page": "app/callback/page.js",
152
150
  "/docs/page": "app/docs/page.js",
151
+ "/callback/page": "app/callback/page.js",
152
+ "/forbidden/page": "app/forbidden/page.js",
153
153
  "/landing/page": "app/landing/page.js",
154
- "/forgot-password/page": "app/forgot-password/page.js",
155
154
  "/maintenance/page": "app/maintenance/page.js",
156
155
  "/login/page": "app/login/page.js",
157
- "/status/page": "app/status/page.js",
158
- "/terms/page": "app/terms/page.js",
159
156
  "/page": "app/page.js",
157
+ "/forgot-password/page": "app/forgot-password/page.js",
160
158
  "/privacy/page": "app/privacy/page.js",
159
+ "/status/page": "app/status/page.js",
160
+ "/terms/page": "app/terms/page.js",
161
161
  "/408/page": "app/408/page.js",
162
162
  "/offline/page": "app/offline/page.js",
163
163
  "/(dashboard)/dashboard/analytics/page": "app/(dashboard)/dashboard/analytics/page.js",
164
- "/(dashboard)/dashboard/api-manager/page": "app/(dashboard)/dashboard/api-manager/page.js",
165
164
  "/(dashboard)/dashboard/a2a/page": "app/(dashboard)/dashboard/a2a/page.js",
166
- "/(dashboard)/dashboard/audit-log/page": "app/(dashboard)/dashboard/audit-log/page.js",
167
165
  "/(dashboard)/dashboard/auto-combo/page": "app/(dashboard)/dashboard/auto-combo/page.js",
168
166
  "/(dashboard)/dashboard/cli-tools/page": "app/(dashboard)/dashboard/cli-tools/page.js",
167
+ "/(dashboard)/dashboard/audit-log/page": "app/(dashboard)/dashboard/audit-log/page.js",
168
+ "/(dashboard)/dashboard/costs/page": "app/(dashboard)/dashboard/costs/page.js",
169
+ "/(dashboard)/dashboard/api-manager/page": "app/(dashboard)/dashboard/api-manager/page.js",
169
170
  "/(dashboard)/dashboard/health/page": "app/(dashboard)/dashboard/health/page.js",
170
171
  "/(dashboard)/dashboard/limits/page": "app/(dashboard)/dashboard/limits/page.js",
171
- "/(dashboard)/dashboard/costs/page": "app/(dashboard)/dashboard/costs/page.js",
172
- "/(dashboard)/dashboard/profile/page": "app/(dashboard)/dashboard/profile/page.js",
173
172
  "/(dashboard)/dashboard/media/page": "app/(dashboard)/dashboard/media/page.js",
174
173
  "/(dashboard)/dashboard/onboarding/page": "app/(dashboard)/dashboard/onboarding/page.js",
174
+ "/(dashboard)/dashboard/profile/page": "app/(dashboard)/dashboard/profile/page.js",
175
175
  "/(dashboard)/dashboard/providers/new/page": "app/(dashboard)/dashboard/providers/new/page.js",
176
- "/(dashboard)/dashboard/settings/page": "app/(dashboard)/dashboard/settings/page.js",
177
176
  "/(dashboard)/dashboard/settings/pricing/page": "app/(dashboard)/dashboard/settings/pricing/page.js",
178
177
  "/(dashboard)/dashboard/translator/page": "app/(dashboard)/dashboard/translator/page.js",
178
+ "/(dashboard)/dashboard/settings/page": "app/(dashboard)/dashboard/settings/page.js",
179
179
  "/(dashboard)/dashboard/logs/page": "app/(dashboard)/dashboard/logs/page.js",
180
180
  "/(dashboard)/dashboard/page": "app/(dashboard)/dashboard/page.js",
181
- "/(dashboard)/dashboard/endpoint/page": "app/(dashboard)/dashboard/endpoint/page.js",
182
181
  "/(dashboard)/dashboard/mcp/page": "app/(dashboard)/dashboard/mcp/page.js",
183
182
  "/(dashboard)/dashboard/usage/page": "app/(dashboard)/dashboard/usage/page.js",
183
+ "/(dashboard)/dashboard/endpoint/page": "app/(dashboard)/dashboard/endpoint/page.js",
184
+ "/(dashboard)/dashboard/providers/[id]/page": "app/(dashboard)/dashboard/providers/[id]/page.js",
184
185
  "/(dashboard)/dashboard/combos/page": "app/(dashboard)/dashboard/combos/page.js",
185
- "/(dashboard)/dashboard/providers/page": "app/(dashboard)/dashboard/providers/page.js",
186
- "/(dashboard)/dashboard/providers/[id]/page": "app/(dashboard)/dashboard/providers/[id]/page.js"
186
+ "/(dashboard)/dashboard/providers/page": "app/(dashboard)/dashboard/providers/page.js"
187
187
  }
@@ -1,2 +1,2 @@
1
1
  exports.id=1033,exports.ids=[1033,4755],exports.modules={9415:(a,b,c)=>{"use strict";c.d(b,{wR:()=>f});var d=c(55649),e=c(65573);async function f(a){let b=a.headers.get("authorization");if(b?.startsWith("Bearer ")){let a=b.slice(7);try{let{validateApiKey:b}=await Promise.resolve().then(c.bind(c,80500));if(await b(a))return!0}catch{}}if(process.env.JWT_SECRET)try{let a=await (0,e.UL)(),b=a.get("auth_token")?.value;if(b){let a=new TextEncoder().encode(process.env.JWT_SECRET);return await (0,d.V)(b,a),!0}}catch{}return!1}c(22901)},15102:(a,b,c)=>{"use strict";c.d(b,{Uk:()=>f,bV:()=>e,lw:()=>g});let d={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"gpt-image-1",name:"GPT Image 1"},{id:"dall-e-3",name:"DALL-E 3"},{id:"dall-e-2",name:"DALL-E 2"}],supportedSizes:["1024x1024","1024x1792","1792x1024","256x256","512x512"]},xai:{id:"xai",baseUrl:"https://api.x.ai/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"grok-2-image-1212",name:"Grok 2 Image"}],supportedSizes:["1024x1024"]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"black-forest-labs/FLUX.1.1-pro",name:"FLUX 1.1 Pro"},{id:"black-forest-labs/FLUX.1-schnell-Free",name:"FLUX 1 Schnell (Free)"},{id:"stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0"}],supportedSizes:["1024x1024","512x512"]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"accounts/fireworks/models/flux-1-dev-fp8",name:"FLUX 1 Dev FP8"},{id:"accounts/fireworks/models/stable-diffusion-xl-1024-v1-0",name:"SDXL 1024 v1.0"}],supportedSizes:["1024x1024","512x512"]},antigravity:{id:"antigravity",baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"oauth",authHeader:"bearer",format:"gemini-image",models:[{id:"gemini-2.5-flash-preview-image-generation",name:"Nano Banana"}],supportedSizes:["1024x1024"]},nebius:{id:"nebius",baseUrl:"https://api.tokenfactory.nebius.com/v1/images/generations",fallbackUrl:"https://api.studio.nebius.com/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"black-forest-labs/flux-schnell",name:"FLUX.1 Schnell"},{id:"black-forest-labs/flux-dev",name:"FLUX.1 Dev"}],supportedSizes:["1024x1024","512x512"]},hyperbolic:{id:"hyperbolic",baseUrl:"https://api.hyperbolic.xyz/v1/image/generation",authType:"apikey",authHeader:"bearer",format:"hyperbolic",models:[{id:"SDXL1.0-base",name:"SDXL 1.0 Base"},{id:"SD2",name:"Stable Diffusion 2"},{id:"FLUX.1-dev",name:"FLUX.1 Dev"}],supportedSizes:["1024x1024","512x512"]},nanobanana:{id:"nanobanana",baseUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/generate",proUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/generate-pro",authType:"apikey",authHeader:"bearer",format:"nanobanana",models:[{id:"nanobanana-flash",name:"NanoBanana Flash (Gemini 2.5 Flash)"},{id:"nanobanana-pro",name:"NanoBanana Pro (Gemini 3 Pro)"}],supportedSizes:["1024x1024"]},sdwebui:{id:"sdwebui",baseUrl:"http://localhost:7860/sdapi/v1/txt2img",authType:"none",authHeader:"none",format:"sdwebui",models:[{id:"stable-diffusion-v1-5",name:"Stable Diffusion v1.5"},{id:"sdxl-base-1.0",name:"SDXL Base 1.0"}],supportedSizes:["512x512","768x768","1024x1024"]},comfyui:{id:"comfyui",baseUrl:"http://localhost:8188",authType:"none",authHeader:"none",format:"comfyui",models:[{id:"flux-dev",name:"FLUX Dev"},{id:"sdxl",name:"SDXL"}],supportedSizes:["512x512","768x768","1024x1024"]}};function e(a){return d[a]||null}function f(a){if(!a)return{provider:null,model:null};for(let[b,c]of Object.entries(d))if(a.startsWith(b+"/"))return{provider:b,model:a.slice(b.length+1)};for(let[b,c]of Object.entries(d))if(c.models.some(b=>b.id===a))return{provider:b,model:a};return{provider:null,model:a}}function g(){let a=[];for(let[b,c]of Object.entries(d))for(let d of c.models)a.push({id:`${b}/${d.id}`,name:d.name,provider:b,supportedSizes:c.supportedSizes});return a}},19225:(a,b,c)=>{"use strict";a.exports=c(44870)},30255:(a,b,c)=>{"use strict";c.d(b,{Xg:()=>d.PROVIDER_ID_TO_ALIAS,eh:()=>e,vq:()=>d.vq});var d=c(23969);Object.entries(c(82216).Q2).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))},33136:(a,b,c)=>{"use strict";c.d(b,{$q:()=>f,lR:()=>h,m:()=>g});var d=c(66436);let e={comfyui:{id:"comfyui",baseUrl:"http://localhost:8188",authType:"none",authHeader:"none",format:"comfyui",models:[{id:"stable-audio-open",name:"Stable Audio Open"},{id:"musicgen-medium",name:"MusicGen Medium"}]}};function f(a){return e[a]||null}function g(a){return(0,d.AA)(a,e)}function h(){return(0,d.tv)(e)}},50122:(a,b,c)=>{"use strict";c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},55649:(a,b,c)=>{"use strict";c.d(b,{V:()=>s});var d=c(56642),e=c(30121),f=c(48682),g=c(63952);async function h(a,b,c,d){let h=await (0,g.j)(a,b,"verify");(0,f.O)(a,h);let i=(0,e.B)(a,h.algorithm);try{return await crypto.subtle.verify(i,h,c,d)}catch{return!1}}var i=c(99129),j=c(73575),k=c(41842),l=c(36281),m=c(24762),n=c(80308),o=c(55956);async function p(a,b,c){let e,f;if(!(0,l.G)(a))throw new i.Ye("Flattened JWS must be an object");if(void 0===a.protected&&void 0===a.header)throw new i.Ye('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==a.protected&&"string"!=typeof a.protected)throw new i.Ye("JWS Protected Header incorrect type");if(void 0===a.payload)throw new i.Ye("JWS Payload missing");if("string"!=typeof a.signature)throw new i.Ye("JWS Signature missing or incorrect type");if(void 0!==a.header&&!(0,l.G)(a.header))throw new i.Ye("JWS Unprotected Header incorrect type");let g={};if(a.protected)try{let b=(0,d.D)(a.protected);g=JSON.parse(j.D0.decode(b))}catch{throw new i.Ye("JWS Protected Header is invalid")}if(!(0,k.f)(g,a.header))throw new i.Ye("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let p={...g,...a.header},q=(0,n.n)(i.Ye,new Map([["b64",!0]]),c?.crit,g,p),r=!0;if(q.has("b64")&&"boolean"!=typeof(r=g.b64))throw new i.Ye('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:s}=p;if("string"!=typeof s||!s)throw new i.Ye('JWS "alg" (Algorithm) Header Parameter missing or invalid');let t=c&&function(a,b){if(void 0!==b&&(!Array.isArray(b)||b.some(a=>"string"!=typeof a)))throw TypeError(`"${a}" option must be an array of strings`);if(b)return new Set(b)}("algorithms",c.algorithms);if(t&&!t.has(s))throw new i.Rb('"alg" (Algorithm) Header Parameter value not allowed');if(r){if("string"!=typeof a.payload)throw new i.Ye("JWS Payload must be a string")}else if("string"!=typeof a.payload&&!(a.payload instanceof Uint8Array))throw new i.Ye("JWS Payload must be a string or an Uint8Array instance");let u=!1;"function"==typeof b&&(b=await b(g,a),u=!0),(0,m.y)(s,b,"verify");let v=(0,j.xW)(void 0!==a.protected?(0,j.lF)(a.protected):new Uint8Array,(0,j.lF)("."),"string"==typeof a.payload?r?(0,j.lF)(a.payload):j.Rd.encode(a.payload):a.payload);try{e=(0,d.D)(a.signature)}catch{throw new i.Ye("Failed to base64url decode the signature")}let w=await (0,o.l)(b,s);if(!await h(s,w,e,v))throw new i.h2;if(r)try{f=(0,d.D)(a.payload)}catch{throw new i.Ye("Failed to base64url decode the payload")}else f="string"==typeof a.payload?j.Rd.encode(a.payload):a.payload;let x={payload:f};return(void 0!==a.protected&&(x.protectedHeader=g),void 0!==a.header&&(x.unprotectedHeader=a.header),u)?{...x,key:w}:x}async function q(a,b,c){if(a instanceof Uint8Array&&(a=j.D0.decode(a)),"string"!=typeof a)throw new i.Ye("Compact JWS must be a string or Uint8Array");let{0:d,1:e,2:f,length:g}=a.split(".");if(3!==g)throw new i.Ye("Invalid Compact JWS");let h=await p({payload:e,protected:d,signature:f},b,c),k={payload:h.payload,protectedHeader:h.protectedHeader};return"function"==typeof b?{...k,key:h.key}:k}var r=c(17347);async function s(a,b,c){let d=await q(a,b,c);if(d.protectedHeader.crit?.includes("b64")&&!1===d.protectedHeader.b64)throw new i.Dp("JWTs MUST NOT use unencoded payload");let e={payload:(0,r.k6)(d.protectedHeader,d.payload,c),protectedHeader:d.protectedHeader};return"function"==typeof b?{...e,key:d.key}:e}},66436:(a,b,c)=>{"use strict";function d(a,b){if(!a)return{provider:null,model:null};for(let[c]of Object.entries(b))if(a.startsWith(c+"/"))return{provider:c,model:a.slice(c.length+1)};for(let[c,d]of Object.entries(b))if(d.models.some(b=>b.id===a))return{provider:c,model:a};return{provider:null,model:a}}function e(a,b){let c=[];for(let[d,e]of Object.entries(a)){let a=b?b(d,e):{};for(let b of e.models)c.push({id:`${d}/${b.id}`,name:b.name,provider:d,...a})}return c}function f(a,b){if("none"===a.authType||"none"===a.authHeader||!b)return{};switch(a.authHeader){case"token":return{Authorization:`Token ${b}`};case"xi-api-key":return{"xi-api-key":b};case"x-api-key":return{"x-api-key":b};default:return{Authorization:`Bearer ${b}`}}}c.d(b,{AA:()=>d,fn:()=>f,tv:()=>e})},78335:()=>{},81249:(a,b,c)=>{"use strict";c.d(b,{Ct:()=>k,i2:()=>f,kP:()=>l});var d=c(42910);function e(){try{return(0,d.sm)()}catch{return null}}function f(a={}){let b=e();if(!b)return[];let c=[],d=[];a.action&&(c.push("action = ?"),d.push(a.action)),a.actor&&(c.push("actor = ?"),d.push(a.actor));let g=c.length>0?`WHERE ${c.join(" AND ")}`:"",h=a.limit||100,i=a.offset||0;return b.prepare(`SELECT * FROM audit_log ${g} ORDER BY timestamp DESC LIMIT ? OFFSET ?`).all(...d,h,i).map(a=>({...a,details:a.details?JSON.parse(String(a.details)):null}))}parseInt(process.env.LOG_RETENTION_DAYS||"90",10);let g=new Set,h=new Map,i=!1,j=!1;for(let a of(process.env.NO_LOG_API_KEY_IDS||"").split(",").map(a=>a.trim()).filter(Boolean))g.add(a);function k(a,b){b?g.add(a):g.delete(a),h.set(a,{value:b,timestamp:Date.now()})}function l(a){if(!a)return!1;if(g.has(a))return!0;let b=function(a){let b=e();if(!b||!a||!function(a){if(i)return j;try{j=a.prepare("PRAGMA table_info(api_keys)").all().some(a=>"no_log"===a.name)}catch{j=!1}return i=!0,j}(b))return!1;let c=h.get(a);if(c&&Date.now()-c.timestamp<3e4)return c.value;try{let c=b.prepare("SELECT no_log FROM api_keys WHERE id = ?").get(a),d=!!(c&&1===Number(c.no_log));return h.set(a,{value:d,timestamp:Date.now()}),d}catch{return!1}}(a);return b&&g.add(a),b}},81565:(a,b,c)=>{"use strict";c.d(b,{FW:()=>i,Yj:()=>f,ah:()=>k,pD:()=>j,uM:()=>g});let d={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",models:[{id:"whisper-1",name:"Whisper 1"},{id:"gpt-4o-transcription",name:"GPT-4o Transcription"}]},groq:{id:"groq",baseUrl:"https://api.groq.com/openai/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",models:[{id:"whisper-large-v3",name:"Whisper Large v3"},{id:"whisper-large-v3-turbo",name:"Whisper Large v3 Turbo"},{id:"distil-whisper-large-v3-en",name:"Distil Whisper Large v3 EN"}]},deepgram:{id:"deepgram",baseUrl:"https://api.deepgram.com/v1/listen",authType:"apikey",authHeader:"token",format:"deepgram",models:[{id:"nova-3",name:"Nova 3"},{id:"nova-2",name:"Nova 2"},{id:"whisper-large",name:"Whisper Large"}]},assemblyai:{id:"assemblyai",baseUrl:"https://api.assemblyai.com/v2/transcript",authType:"apikey",authHeader:"bearer",async:!0,format:"assemblyai",models:[{id:"universal-3-pro",name:"Universal 3 Pro"},{id:"universal-2",name:"Universal 2"}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"nvidia-asr",models:[{id:"nvidia/parakeet-ctc-1.1b-asr",name:"Parakeet CTC 1.1B"}]},huggingface:{id:"huggingface",baseUrl:"https://api-inference.huggingface.co/models",authType:"apikey",authHeader:"bearer",format:"huggingface-asr",models:[{id:"openai/whisper-large-v3",name:"Whisper Large v3 (HF)"},{id:"openai/whisper-small",name:"Whisper Small (HF)"}]},qwen:{id:"qwen",baseUrl:"http://localhost:8000/v1/audio/transcriptions",authType:"none",authHeader:"none",format:"openai",models:[{id:"qwen3-asr",name:"Qwen3 ASR"}]}},e={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",models:[{id:"tts-1",name:"TTS 1"},{id:"tts-1-hd",name:"TTS 1 HD"},{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS"}]},hyperbolic:{id:"hyperbolic",baseUrl:"https://api.hyperbolic.xyz/v1/audio/generation",authType:"apikey",authHeader:"bearer",format:"hyperbolic",models:[{id:"melo-tts",name:"Melo TTS"}]},deepgram:{id:"deepgram",baseUrl:"https://api.deepgram.com/v1/speak",authType:"apikey",authHeader:"token",format:"deepgram",models:[{id:"aura-asteria-en",name:"Aura Asteria (EN)"},{id:"aura-luna-en",name:"Aura Luna (EN)"},{id:"aura-stella-en",name:"Aura Stella (EN)"}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"nvidia-tts",models:[{id:"nvidia/fastpitch",name:"FastPitch"},{id:"nvidia/tacotron2",name:"Tacotron2"}]},elevenlabs:{id:"elevenlabs",baseUrl:"https://api.elevenlabs.io/v1/text-to-speech",authType:"apikey",authHeader:"xi-api-key",format:"elevenlabs",models:[{id:"eleven_multilingual_v2",name:"Eleven Multilingual v2"},{id:"eleven_turbo_v2_5",name:"Eleven Turbo v2.5"}]},huggingface:{id:"huggingface",baseUrl:"https://api-inference.huggingface.co/models",authType:"apikey",authHeader:"bearer",format:"huggingface-tts",models:[{id:"facebook/mms-tts-eng",name:"MMS TTS English"},{id:"microsoft/speecht5_tts",name:"SpeechT5 TTS"}]},coqui:{id:"coqui",baseUrl:"http://localhost:5002/api/tts",authType:"none",authHeader:"none",format:"coqui",models:[{id:"tts_models/en/ljspeech/tacotron2-DDC",name:"Tacotron2 DDC (LJSpeech)"}]},tortoise:{id:"tortoise",baseUrl:"http://localhost:5000/api/tts",authType:"none",authHeader:"none",format:"tortoise",models:[{id:"tortoise-v2",name:"Tortoise v2"}]},qwen:{id:"qwen",baseUrl:"http://localhost:8000/v1/audio/speech",authType:"none",authHeader:"none",format:"openai",models:[{id:"qwen3-tts",name:"Qwen3 TTS"}]}};function f(a){return d[a]||null}function g(a){return e[a]||null}function h(a,b){if(!a)return{provider:null,model:null};for(let[c,d]of Object.entries(b))if(a.startsWith(c+"/"))return{provider:c,model:a.slice(c.length+1)};for(let[c,d]of Object.entries(b))if(d.models.some(b=>b.id===a))return{provider:c,model:a};return{provider:null,model:a}}function i(a){return h(a,d)}function j(a){return h(a,e)}function k(){let a=[];for(let[b,c]of Object.entries(d))for(let d of c.models)a.push({id:`${b}/${d.id}`,name:d.name,provider:b,subtype:"transcription"});for(let[b,c]of Object.entries(e))for(let d of c.models)a.push({id:`${b}/${d.id}`,name:d.name,provider:b,subtype:"speech"});return a}},82216:(a,b,c)=>{"use strict";c.d(b,{Q2:()=>o,js:()=>p,DI:()=>l,fg:()=>j,IS:()=>h,zN:()=>i,JH:()=>k,gb:()=>n,mq:()=>m});var d=c(50292);let e=d.Ikc({id:d.YjP().min(1),alias:d.YjP().min(1),name:d.YjP().min(1),icon:d.YjP().min(1),color:d.YjP().regex(/^#[0-9A-Fa-f]{6}$/,"Must be a valid hex color (#RRGGBB)"),textIcon:d.YjP().optional(),website:d.YjP().url().optional(),passthroughModels:d.zMY().optional()}),f=d.g1P(d.YjP(),e);function g(a,b){let c=f.safeParse(a);if(!c.success){let a=c.error.issues.map(a=>` ${a.path.join(".")}: ${a.message}`).join("\n");throw console.error(`[PROVIDER VALIDATION] ${b} has invalid entries:
2
- ${a}`),Error(`Provider validation failed for ${b}`)}}let h={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"}},i={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"}},j={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"}},k="openai-compatible-",l="anthropic-compatible-";function m(a){return"string"==typeof a&&a.startsWith(k)}function n(a){return"string"==typeof a&&a.startsWith(l)}let o={...h,...i,...j},p=Object.values(o).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(o).reduce((a,b)=>(a[b.id]=b.alias,a),{}),g(h,"FREE_PROVIDERS"),g(i,"OAUTH_PROVIDERS"),g(j,"APIKEY_PROVIDERS")},83262:(a,b,c)=>{"use strict";c.d(b,{Lb:()=>e,QG:()=>f,zD:()=>g});let d={nebius:{id:"nebius",baseUrl:"https://api.tokenfactory.nebius.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen3 Embedding 8B",dimensions:4096}]},openai:{id:"openai",baseUrl:"https://api.openai.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"text-embedding-3-small",name:"Text Embedding 3 Small",dimensions:1536},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",dimensions:3072},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",dimensions:1536}]},mistral:{id:"mistral",baseUrl:"https://api.mistral.ai/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"mistral-embed",name:"Mistral Embed",dimensions:1024}]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"BAAI/bge-large-en-v1.5",name:"BGE Large EN v1.5",dimensions:1024},{id:"togethercomputer/m2-bert-80M-8k-retrieval",name:"M2 BERT 80M 8K",dimensions:768}]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nomic-ai/nomic-embed-text-v1.5",name:"Nomic Embed Text v1.5",dimensions:768}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nvidia/nv-embedqa-e5-v5",name:"NV EmbedQA E5 v5",dimensions:1024}]}};function e(a){return d[a]||null}function f(a){if(!a)return{provider:null,model:null};let b=a.indexOf("/");if(b>0){for(let[b,c]of Object.entries(d))if(a.startsWith(b+"/"))return{provider:b,model:a.slice(b.length+1)};return{provider:a.slice(0,b),model:a.slice(b+1)}}for(let[b,c]of Object.entries(d))if(c.models.some(b=>b.id===a))return{provider:b,model:a};return{provider:null,model:a}}function g(){let a=[];for(let[b,c]of Object.entries(d))for(let d of c.models)a.push({id:`${b}/${d.id}`,name:d.name,provider:b,dimensions:d.dimensions});return a}},88258:(a,b,c)=>{"use strict";c.d(b,{y:()=>q});var d=c(92556),e=c(30255),f=c(82216),g=c(22901),h=c(9415),i=c(83262),j=c(15102),k=c(94954),l=c(81565),m=c(96721),n=c(90416),o=c(33136);let p={ag:"antigravity",cc:"claude",cl:"cline",cu:"cursor",cx:"codex",gc:"gemini-cli",gh:"github",if:"iflow",kc:"kilocode",kmc:"kimi-coding",kr:"kiro",qw:"qwen"};async function q(a,b={"Access-Control-Allow-Origin":d.J5}){try{let c={};try{c=await (0,g.V7)()}catch{}if(!0===c.requireAuthForModels&&!await (0,h.wR)(a))return Response.json({error:{message:"Authentication required",type:"invalid_request_error",code:"invalid_api_key"}},{status:401});let{aliasToProviderId:d,providerIdToAlias:q}=function(){let a={},b={};for(let c of Object.values(f.Q2)){let d=c?.id,e=c?.alias||d;d&&(a[d]=d,a[e]=d,b[d]||(b[d]=e))}for(let[b,c]of Object.entries(e.Xg)){if(e.vq[b]){a[b]=a[b]||c;continue}if(e.vq[c]){a[c]=a[c]||b;continue}a[c]=a[c]||b}for(let b of Object.keys(e.vq))a[b]||(a[b]=b);for(let[c,d]of Object.entries(a))b[d]||(b[d]=c);for(let[c,d]of Object.entries(p))a[c]||(a[c]=d),a[d]||(a[d]=d),b[d]||(b[d]=c);return{aliasToProviderId:a,providerIdToAlias:b}}(),r=new Set(Array.isArray(c.blockedProviders)?c.blockedProviders:[]),s=[];try{(s=await (0,g.getProviderConnections)()).length,s=s.filter(a=>!1!==a.isActive)}catch(a){console.log("Could not fetch providers, showing only combos/custom models")}let t=[];try{t=await (0,g.Fh)()}catch(a){console.log("Could not fetch provider nodes")}let u={},v={};for(let a of t)a.prefix&&(u[a.id]=a.prefix),a.type&&(v[a.id]=a.type);let w=[];try{w=await (0,g.Uv)()}catch(a){console.log("Could not fetch combos")}let x=new Set;for(let a of s){let b=q[a.provider]||a.provider;x.add(b),x.add(a.provider)}let y=[],z=Math.floor(Date.now()/1e3);for(let a of w)!1!==a.isActive&&y.push({id:a.name,object:"model",created:z,owned_by:"combo",permission:[],root:a.name,parent:null});for(let[a,b]of Object.entries(e.vq)){let c=d[a]||a,e=p[a]||c;if(!(r.has(a)||r.has(e))&&(x.has(a)||x.has(e)))for(let c of b){let b=`${a}/${c.id}`;y.push({id:b,object:"model",created:z,owned_by:e,permission:[],root:c.id,parent:null}),e!==a&&y.push({id:`${e}/${c.id}`,object:"model",created:z,owned_by:e,permission:[],root:c.id,parent:b})}}let A=a=>{if(0===x.size)return!1;let b=q[a]||a;return x.has(b)||x.has(a)};for(let a of(0,i.zD)())A(a.provider)&&y.push({id:a.id,object:"model",created:z,owned_by:a.provider,type:"embedding",dimensions:a.dimensions});for(let a of(0,j.lw)())A(a.provider)&&y.push({id:a.id,object:"model",created:z,owned_by:a.provider,type:"image",supported_sizes:a.supportedSizes});for(let a of(0,k.xt)())A(a.provider)&&y.push({id:a.id,object:"model",created:z,owned_by:a.provider,type:"rerank"});for(let a of(0,l.ah)())A(a.provider)&&y.push({id:a.id,object:"model",created:z,owned_by:a.provider,type:"audio",subtype:a.subtype});for(let a of(0,m.iI)())A(a.provider)&&y.push({id:a.id,object:"model",created:z,owned_by:a.provider,type:"moderation"});for(let a of(0,n.nC)()){let b=(0,n.L4)(a.provider);(b?.authType==="none"||A(a.provider))&&y.push({id:a.id,object:"model",created:z,owned_by:a.provider,type:"video"})}for(let a of(0,o.lR)()){let b=(0,o.$q)(a.provider);(b?.authType==="none"||A(a.provider))&&y.push({id:a.id,object:"model",created:z,owned_by:a.provider,type:"music"})}try{let a=await (0,g.NL)();for(let[b,c]of Object.entries(a)){let a=Array.isArray(c)?c.filter(a=>!!a&&"object"==typeof a&&!Array.isArray(a)):[],d=u[b],e=d||q[b]||b,f=p[e]||b,g=v[b];if(x.has(e)||x.has(f)||x.has(b)||g&&x.has(g))for(let b of a){let a="string"==typeof b.id?b.id:null;if(!a)continue;let c=`${e}/${a}`;if(!y.some(a=>a.id===c)&&(y.push({id:c,object:"model",created:z,owned_by:f,permission:[],root:a,parent:null,custom:!0}),f!==e&&!d)){let b=`${f}/${a}`;if(y.some(a=>a.id===b))continue;y.push({id:b,object:"model",created:z,owned_by:f,permission:[],root:a,parent:c,custom:!0})}}}}catch(a){console.log("Could not fetch custom models")}return Response.json({object:"list",data:y},{headers:b})}catch(a){return console.log("Error fetching models:",a),Response.json({error:{message:a.message,type:"server_error"}},{status:500})}}},90416:(a,b,c)=>{"use strict";c.d(b,{L4:()=>f,Y3:()=>g,nC:()=>h});var d=c(66436);let e={comfyui:{id:"comfyui",baseUrl:"http://localhost:8188",authType:"none",authHeader:"none",format:"comfyui",models:[{id:"animatediff",name:"AnimateDiff"},{id:"svd-xt",name:"Stable Video Diffusion XT"}]},sdwebui:{id:"sdwebui",baseUrl:"http://localhost:7860",authType:"none",authHeader:"none",format:"sdwebui-video",models:[{id:"animatediff-webui",name:"AnimateDiff (WebUI)"}]}};function f(a){return e[a]||null}function g(a){return(0,d.AA)(a,e)}function h(){return(0,d.tv)(e)}},92280:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},92305:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={isRequestAPICallableInsideAfter:function(){return j},throwForSearchParamsAccessInUseCache:function(){return i},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(15693),g=c(3295);function h(a,b){throw Object.defineProperty(new f.StaticGenBailoutError(`Route ${a} with \`dynamic = "error"\` couldn't be rendered statically because it used ${b}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}function i(a,b){let c=Object.defineProperty(Error(`Route ${a.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E842",enumerable:!1,configurable:!0});throw Error.captureStackTrace(c,b),a.invalidDynamicUsageError??=c,c}function j(){let a=g.afterTaskAsyncStorage.getStore();return(null==a?void 0:a.rootTaskSpawnPhase)==="action"}},92556:(a,b,c)=>{"use strict";c.d(b,{$N:()=>e,J5:()=>d});let d=process.env.CORS_ORIGIN||"*",e={"Access-Control-Allow-Origin":d,"Access-Control-Allow-Methods":"GET, POST, PUT, DELETE, OPTIONS","Access-Control-Allow-Headers":"Content-Type, Authorization, x-api-key, anthropic-version"}},94755:(a,b,c)=>{"use strict";c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}},94954:(a,b,c)=>{"use strict";c.d(b,{AN:()=>f,Bo:()=>e,xt:()=>g});let d={cohere:{id:"cohere",baseUrl:"https://api.cohere.com/v2/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"rerank-v3.5",name:"Rerank v3.5"},{id:"rerank-english-v3.0",name:"Rerank English v3.0"},{id:"rerank-multilingual-v3.0",name:"Rerank Multilingual v3.0"}]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"Salesforce/Llama-Rank-V2",name:"Llama Rank V2"}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/ranking",authType:"apikey",authHeader:"bearer",format:"nvidia",models:[{id:"nvidia/nv-rerankqa-mistral-4b-v3",name:"NV RerankQA Mistral 4B v3"}]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"accounts/fireworks/models/nomic-rerank-v1",name:"Nomic Rerank v1"}]}};function e(a){return d[a]||null}function f(a){if(!a)return{provider:null,model:null};for(let[b,c]of Object.entries(d))if(a.startsWith(b+"/"))return{provider:b,model:a.slice(b.length+1)};for(let[b,c]of Object.entries(d))if(c.models.some(b=>b.id===a))return{provider:b,model:a};return{provider:null,model:a}}function g(){let a=[];for(let[b,c]of Object.entries(d))for(let d of c.models)a.push({id:`${b}/${d.id}`,name:d.name,provider:b});return a}},96487:()=>{},96721:(a,b,c)=>{"use strict";c.d(b,{iI:()=>g,mX:()=>e,vb:()=>f});let d={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/moderations",authType:"apikey",authHeader:"bearer",models:[{id:"omni-moderation-latest",name:"Omni Moderation Latest"},{id:"text-moderation-latest",name:"Text Moderation Latest"}]}};function e(a){return d[a]||null}function f(a){if(!a)return{provider:null,model:null};for(let[b,c]of Object.entries(d))if(a.startsWith(b+"/"))return{provider:b,model:a.slice(b.length+1)};for(let[b,c]of Object.entries(d))if(c.models.some(b=>b.id===a))return{provider:b,model:a};return{provider:null,model:a}}function g(){let a=[];for(let[b,c]of Object.entries(d))for(let d of c.models)a.push({id:`${b}/${d.id}`,name:d.name,provider:b});return a}}};
2
+ ${a}`),Error(`Provider validation failed for ${b}`)}}let h={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"}},i={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"}},j={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"}},k="openai-compatible-",l="anthropic-compatible-";function m(a){return"string"==typeof a&&a.startsWith(k)}function n(a){return"string"==typeof a&&a.startsWith(l)}let o={...h,...i,...j},p=Object.values(o).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(o).reduce((a,b)=>(a[b.id]=b.alias,a),{}),g(h,"FREE_PROVIDERS"),g(i,"OAUTH_PROVIDERS"),g(j,"APIKEY_PROVIDERS")},83262:(a,b,c)=>{"use strict";c.d(b,{Lb:()=>e,QG:()=>f,zD:()=>g});let d={nebius:{id:"nebius",baseUrl:"https://api.tokenfactory.nebius.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen3 Embedding 8B",dimensions:4096}]},openai:{id:"openai",baseUrl:"https://api.openai.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"text-embedding-3-small",name:"Text Embedding 3 Small",dimensions:1536},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",dimensions:3072},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",dimensions:1536}]},mistral:{id:"mistral",baseUrl:"https://api.mistral.ai/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"mistral-embed",name:"Mistral Embed",dimensions:1024}]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"BAAI/bge-large-en-v1.5",name:"BGE Large EN v1.5",dimensions:1024},{id:"togethercomputer/m2-bert-80M-8k-retrieval",name:"M2 BERT 80M 8K",dimensions:768}]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nomic-ai/nomic-embed-text-v1.5",name:"Nomic Embed Text v1.5",dimensions:768}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nvidia/nv-embedqa-e5-v5",name:"NV EmbedQA E5 v5",dimensions:1024}]}};function e(a){return d[a]||null}function f(a){if(!a)return{provider:null,model:null};let b=a.indexOf("/");if(b>0){for(let[b,c]of Object.entries(d))if(a.startsWith(b+"/"))return{provider:b,model:a.slice(b.length+1)};return{provider:a.slice(0,b),model:a.slice(b+1)}}for(let[b,c]of Object.entries(d))if(c.models.some(b=>b.id===a))return{provider:b,model:a};return{provider:null,model:a}}function g(){let a=[];for(let[b,c]of Object.entries(d))for(let d of c.models)a.push({id:`${b}/${d.id}`,name:d.name,provider:b,dimensions:d.dimensions});return a}},88258:(a,b,c)=>{"use strict";c.d(b,{y:()=>q});var d=c(92556),e=c(30255),f=c(82216),g=c(22901),h=c(9415),i=c(83262),j=c(15102),k=c(94954),l=c(81565),m=c(96721),n=c(90416),o=c(33136);let p={ag:"antigravity",cc:"claude",cl:"cline",cu:"cursor",cx:"codex",gc:"gemini-cli",gh:"github",if:"iflow",kc:"kilocode",kmc:"kimi-coding",kr:"kiro",qw:"qwen"};async function q(a,b={"Access-Control-Allow-Origin":d.J5}){try{let c={};try{c=await (0,g.V7)()}catch{}if(!0===c.requireAuthForModels&&!await (0,h.wR)(a))return Response.json({error:{message:"Authentication required",type:"invalid_request_error",code:"invalid_api_key"}},{status:401});let{aliasToProviderId:d,providerIdToAlias:q}=function(){let a={},b={};for(let c of Object.values(f.Q2)){let d=c?.id,e=c?.alias||d;d&&(a[d]=d,a[e]=d,b[d]||(b[d]=e))}for(let[b,c]of Object.entries(e.Xg)){if(e.vq[b]){a[b]=a[b]||c;continue}if(e.vq[c]){a[c]=a[c]||b;continue}a[c]=a[c]||b}for(let b of Object.keys(e.vq))a[b]||(a[b]=b);for(let[c,d]of Object.entries(a))b[d]||(b[d]=c);for(let[c,d]of Object.entries(p))a[c]||(a[c]=d),a[d]||(a[d]=d),b[d]||(b[d]=c);return{aliasToProviderId:a,providerIdToAlias:b}}(),r=new Set(Array.isArray(c.blockedProviders)?c.blockedProviders:[]),s=[];try{(s=await (0,g.getProviderConnections)()).length,s=s.filter(a=>!1!==a.isActive)}catch(a){console.log("Could not fetch providers, showing only combos/custom models")}let t=[];try{t=await (0,g.Fh)()}catch(a){console.log("Could not fetch provider nodes")}let u={},v={};for(let a of t)a.prefix&&(u[a.id]=a.prefix),a.type&&(v[a.id]=a.type);let w=[];try{w=await (0,g.Uv)()}catch(a){console.log("Could not fetch combos")}let x=new Set;for(let a of s){let b=q[a.provider]||a.provider;x.add(b),x.add(a.provider)}let y=[],z=Math.floor(Date.now()/1e3);for(let a of w)!1!==a.isActive&&y.push({id:a.name,object:"model",created:z,owned_by:"combo",permission:[],root:a.name,parent:null});for(let[a,b]of Object.entries(e.vq)){let c=d[a]||a,e=p[a]||c;if(!(r.has(a)||r.has(e))&&(x.has(a)||x.has(e)))for(let c of b){let b=`${a}/${c.id}`;y.push({id:b,object:"model",created:z,owned_by:e,permission:[],root:c.id,parent:null}),e!==a&&y.push({id:`${e}/${c.id}`,object:"model",created:z,owned_by:e,permission:[],root:c.id,parent:b})}}let A=a=>{if(0===x.size)return!1;let b=q[a]||a;return x.has(b)||x.has(a)};for(let a of(0,i.zD)())A(a.provider)&&y.push({id:a.id,object:"model",created:z,owned_by:a.provider,type:"embedding",dimensions:a.dimensions});for(let a of(0,j.lw)())A(a.provider)&&y.push({id:a.id,object:"model",created:z,owned_by:a.provider,type:"image",supported_sizes:a.supportedSizes});for(let a of(0,k.xt)())A(a.provider)&&y.push({id:a.id,object:"model",created:z,owned_by:a.provider,type:"rerank"});for(let a of(0,l.ah)())A(a.provider)&&y.push({id:a.id,object:"model",created:z,owned_by:a.provider,type:"audio",subtype:a.subtype});for(let a of(0,m.iI)())A(a.provider)&&y.push({id:a.id,object:"model",created:z,owned_by:a.provider,type:"moderation"});for(let a of(0,n.nC)()){let b=(0,n.L4)(a.provider);(b?.authType==="none"||A(a.provider))&&y.push({id:a.id,object:"model",created:z,owned_by:a.provider,type:"video"})}for(let a of(0,o.lR)()){let b=(0,o.$q)(a.provider);(b?.authType==="none"||A(a.provider))&&y.push({id:a.id,object:"model",created:z,owned_by:a.provider,type:"music"})}try{let a=await (0,g.NL)();for(let[b,c]of Object.entries(a)){let a=Array.isArray(c)?c.filter(a=>!!a&&"object"==typeof a&&!Array.isArray(a)):[],d=u[b],e=d||q[b]||b,f=p[e]||b,g=v[b];if(x.has(e)||x.has(f)||x.has(b)||g&&x.has(g))for(let b of a){let a,c="string"==typeof b.id?b.id:null;if(!c)continue;let g=`${e}/${c}`;if(y.some(a=>a.id===g))continue;let h=Array.isArray(b.supportedEndpoints)?b.supportedEndpoints:["chat"],i="string"==typeof b.apiFormat?b.apiFormat:"chat-completions";if(h.includes("embeddings")?a="embedding":h.includes("images")?a="image":h.includes("audio")&&(a="audio"),y.push({id:g,object:"model",created:z,owned_by:f,permission:[],root:c,parent:null,custom:!0,...a?{type:a}:{},..."chat-completions"!==i?{api_format:i}:{},...h.length>1||!h.includes("chat")?{supported_endpoints:h}:{}}),f!==e&&!d){let b=`${f}/${c}`;if(y.some(a=>a.id===b))continue;y.push({id:b,object:"model",created:z,owned_by:f,permission:[],root:c,parent:g,custom:!0,...a?{type:a}:{}})}}}}catch(a){console.log("Could not fetch custom models")}return Response.json({object:"list",data:y},{headers:b})}catch(a){return console.log("Error fetching models:",a),Response.json({error:{message:a.message,type:"server_error"}},{status:500})}}},90416:(a,b,c)=>{"use strict";c.d(b,{L4:()=>f,Y3:()=>g,nC:()=>h});var d=c(66436);let e={comfyui:{id:"comfyui",baseUrl:"http://localhost:8188",authType:"none",authHeader:"none",format:"comfyui",models:[{id:"animatediff",name:"AnimateDiff"},{id:"svd-xt",name:"Stable Video Diffusion XT"}]},sdwebui:{id:"sdwebui",baseUrl:"http://localhost:7860",authType:"none",authHeader:"none",format:"sdwebui-video",models:[{id:"animatediff-webui",name:"AnimateDiff (WebUI)"}]}};function f(a){return e[a]||null}function g(a){return(0,d.AA)(a,e)}function h(){return(0,d.tv)(e)}},92280:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},92305:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={isRequestAPICallableInsideAfter:function(){return j},throwForSearchParamsAccessInUseCache:function(){return i},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(15693),g=c(3295);function h(a,b){throw Object.defineProperty(new f.StaticGenBailoutError(`Route ${a} with \`dynamic = "error"\` couldn't be rendered statically because it used ${b}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}function i(a,b){let c=Object.defineProperty(Error(`Route ${a.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E842",enumerable:!1,configurable:!0});throw Error.captureStackTrace(c,b),a.invalidDynamicUsageError??=c,c}function j(){let a=g.afterTaskAsyncStorage.getStore();return(null==a?void 0:a.rootTaskSpawnPhase)==="action"}},92556:(a,b,c)=>{"use strict";c.d(b,{$N:()=>e,J5:()=>d});let d=process.env.CORS_ORIGIN||"*",e={"Access-Control-Allow-Origin":d,"Access-Control-Allow-Methods":"GET, POST, PUT, DELETE, OPTIONS","Access-Control-Allow-Headers":"Content-Type, Authorization, x-api-key, anthropic-version"}},94755:(a,b,c)=>{"use strict";c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}},94954:(a,b,c)=>{"use strict";c.d(b,{AN:()=>f,Bo:()=>e,xt:()=>g});let d={cohere:{id:"cohere",baseUrl:"https://api.cohere.com/v2/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"rerank-v3.5",name:"Rerank v3.5"},{id:"rerank-english-v3.0",name:"Rerank English v3.0"},{id:"rerank-multilingual-v3.0",name:"Rerank Multilingual v3.0"}]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"Salesforce/Llama-Rank-V2",name:"Llama Rank V2"}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/ranking",authType:"apikey",authHeader:"bearer",format:"nvidia",models:[{id:"nvidia/nv-rerankqa-mistral-4b-v3",name:"NV RerankQA Mistral 4B v3"}]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"accounts/fireworks/models/nomic-rerank-v1",name:"Nomic Rerank v1"}]}};function e(a){return d[a]||null}function f(a){if(!a)return{provider:null,model:null};for(let[b,c]of Object.entries(d))if(a.startsWith(b+"/"))return{provider:b,model:a.slice(b.length+1)};for(let[b,c]of Object.entries(d))if(c.models.some(b=>b.id===a))return{provider:b,model:a};return{provider:null,model:a}}function g(){let a=[];for(let[b,c]of Object.entries(d))for(let d of c.models)a.push({id:`${b}/${d.id}`,name:d.name,provider:b});return a}},96487:()=>{},96721:(a,b,c)=>{"use strict";c.d(b,{iI:()=>g,mX:()=>e,vb:()=>f});let d={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/moderations",authType:"apikey",authHeader:"bearer",models:[{id:"omni-moderation-latest",name:"Omni Moderation Latest"},{id:"text-moderation-latest",name:"Text Moderation Latest"}]}};function e(a){return d[a]||null}function f(a){if(!a)return{provider:null,model:null};for(let[b,c]of Object.entries(d))if(a.startsWith(b+"/"))return{provider:b,model:a.slice(b.length+1)};for(let[b,c]of Object.entries(d))if(c.models.some(b=>b.id===a))return{provider:b,model:a};return{provider:null,model:a}}function g(){let a=[];for(let[b,c]of Object.entries(d))for(let d of c.models)a.push({id:`${b}/${d.id}`,name:d.name,provider:b});return a}}};