@rsalmn/extremerouter 0.8.5 → 0.8.7

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 (1221) hide show
  1. package/README.id.md +130 -0
  2. package/README.md +73 -32
  3. package/README.zh-CN.md +130 -0
  4. package/app/.next-cli-build/BUILD_ID +1 -1
  5. package/app/.next-cli-build/app-path-routes-manifest.json +31 -14
  6. package/app/.next-cli-build/build-manifest.json +2 -2
  7. package/app/.next-cli-build/prerender-manifest.json +3 -3
  8. package/app/.next-cli-build/routes-manifest.json +106 -0
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/alerts/page.js +2 -2
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/alerts/page.js.nft.json +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/alerts/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +3 -3
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +3 -3
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/health/page.js +2 -2
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/health/page.js.nft.json +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +3 -3
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page.js +2 -2
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page.js.nft.json +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page_client-reference-manifest.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/overview/page.js +2 -2
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/overview/page.js.nft.json +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/overview/page_client-reference-manifest.js +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js +2 -2
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js.nft.json +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +4 -4
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +3 -3
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  77. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  78. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  79. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  80. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  81. package/app/.next-cli-build/server/app/(dashboard)/dashboard/smart-routing/page.js +2 -0
  82. package/app/.next-cli-build/server/app/(dashboard)/dashboard/smart-routing/page.js.nft.json +1 -0
  83. package/app/.next-cli-build/server/app/(dashboard)/dashboard/smart-routing/page_client-reference-manifest.js +1 -0
  84. package/app/.next-cli-build/server/app/(dashboard)/dashboard/swarm/page.js +2 -2
  85. package/app/.next-cli-build/server/app/(dashboard)/dashboard/swarm/page.js.nft.json +1 -1
  86. package/app/.next-cli-build/server/app/(dashboard)/dashboard/swarm/page_client-reference-manifest.js +1 -1
  87. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +2 -2
  88. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  89. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  90. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  91. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  92. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  93. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  94. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  95. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  96. package/app/.next-cli-build/server/app/_global-error/page.js +3 -3
  97. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  98. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  99. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  100. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  101. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  102. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  103. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  104. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  105. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  106. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  107. package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  108. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  109. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  110. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  111. package/app/.next-cli-build/server/app/_not-found.rsc +6 -6
  112. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +6 -6
  113. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  114. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +6 -6
  115. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  116. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  117. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  118. package/app/.next-cli-build/server/app/api/alerts/test/route.js +2 -2
  119. package/app/.next-cli-build/server/app/api/alerts/test/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  121. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  123. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  125. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  127. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  129. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  131. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  133. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/breaker/route.js +1 -1
  135. package/app/.next-cli-build/server/app/api/breaker/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/cache/route.js +1 -1
  137. package/app/.next-cli-build/server/app/api/cache/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +9 -11
  139. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  141. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  143. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +5 -2
  145. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +5 -2
  147. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +4 -1
  149. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +5 -2
  151. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  153. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  155. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +2 -2
  157. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +7 -4
  159. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +5 -2
  161. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +10 -9
  163. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +5 -2
  165. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +5 -2
  167. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +5 -2
  169. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +5 -2
  171. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  173. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/combos/lab/route.js +1 -0
  175. package/app/.next-cli-build/server/app/api/combos/lab/route.js.nft.json +1 -0
  176. package/app/.next-cli-build/server/app/api/combos/lab/route_client-reference-manifest.js +1 -0
  177. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  178. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/combos/simulate/route.js +1 -0
  180. package/app/.next-cli-build/server/app/api/combos/simulate/route.js.nft.json +1 -0
  181. package/app/.next-cli-build/server/app/api/combos/simulate/route_client-reference-manifest.js +1 -0
  182. package/app/.next-cli-build/server/app/api/combos/validate-roles/route.js +1 -1
  183. package/app/.next-cli-build/server/app/api/combos/validate-roles/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/dashboard/stream/route.js +2 -2
  185. package/app/.next-cli-build/server/app/api/dashboard/stream/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  187. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  189. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +2 -2
  191. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/health/overview/route.js +1 -0
  193. package/app/.next-cli-build/server/app/api/health/overview/route.js.nft.json +1 -0
  194. package/app/.next-cli-build/server/app/api/health/overview/route_client-reference-manifest.js +1 -0
  195. package/app/.next-cli-build/server/app/api/health/providers/route.js +1 -1
  196. package/app/.next-cli-build/server/app/api/health/providers/route.js.nft.json +1 -1
  197. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  198. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/health/stream/route.js +2 -2
  200. package/app/.next-cli-build/server/app/api/health/stream/route.js.nft.json +1 -1
  201. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  202. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  203. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  204. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  206. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  208. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  209. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
  210. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +5 -5
  212. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  214. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  216. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  218. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  220. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  222. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  224. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  225. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  226. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  227. package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js +1 -0
  228. package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js.nft.json +1 -0
  229. package/app/.next-cli-build/server/app/api/models/catalog-sync/route_client-reference-manifest.js +1 -0
  230. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  231. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  233. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  235. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  237. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/oauth/1min/import/route.js +1 -1
  239. package/app/.next-cli-build/server/app/api/oauth/1min/import/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  241. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  242. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  243. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  244. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  245. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  247. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  249. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/oauth/freebuff/import/route.js +1 -0
  251. package/app/.next-cli-build/server/app/api/oauth/freebuff/import/route.js.nft.json +1 -0
  252. package/app/.next-cli-build/server/app/api/oauth/freebuff/import/route_client-reference-manifest.js +1 -0
  253. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  254. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  256. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  257. package/app/.next-cli-build/server/app/api/oauth/kimi-desktop/auto-import/route.js +1 -1
  258. package/app/.next-cli-build/server/app/api/oauth/kimi-desktop/auto-import/route.js.nft.json +1 -1
  259. package/app/.next-cli-build/server/app/api/oauth/kimi-desktop/import/route.js +1 -1
  260. package/app/.next-cli-build/server/app/api/oauth/kimi-desktop/import/route.js.nft.json +1 -1
  261. package/app/.next-cli-build/server/app/api/oauth/kimi-desktop/quota/route.js +1 -1
  262. package/app/.next-cli-build/server/app/api/oauth/kimi-desktop/quota/route.js.nft.json +1 -1
  263. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  264. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  266. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  267. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  268. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  269. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  270. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  272. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  273. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  274. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  275. package/app/.next-cli-build/server/app/api/oauth/qwen/import/route.js +1 -1
  276. package/app/.next-cli-build/server/app/api/oauth/qwen/import/route.js.nft.json +1 -1
  277. package/app/.next-cli-build/server/app/api/oauth/wp-studio/import/route.js +1 -1
  278. package/app/.next-cli-build/server/app/api/oauth/wp-studio/import/route.js.nft.json +1 -1
  279. package/app/.next-cli-build/server/app/api/oauth/zcode/import/route.js +1 -0
  280. package/app/.next-cli-build/server/app/api/oauth/zcode/import/route.js.nft.json +1 -0
  281. package/app/.next-cli-build/server/app/api/oauth/zcode/import/route_client-reference-manifest.js +1 -0
  282. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js +2 -2
  283. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js.nft.json +1 -1
  284. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js +1 -1
  285. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js.nft.json +1 -1
  286. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  287. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  288. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  289. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  290. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  291. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  292. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  293. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  294. package/app/.next-cli-build/server/app/api/providers/[id]/agnes-profile/route.js +1 -1
  295. package/app/.next-cli-build/server/app/api/providers/[id]/agnes-profile/route.js.nft.json +1 -1
  296. package/app/.next-cli-build/server/app/api/providers/[id]/felo-profile/route.js +3 -0
  297. package/app/.next-cli-build/server/app/api/providers/[id]/felo-profile/route.js.nft.json +1 -0
  298. package/app/.next-cli-build/server/app/api/providers/[id]/felo-profile/route_client-reference-manifest.js +1 -0
  299. package/app/.next-cli-build/server/app/api/providers/[id]/freebuff-profile/route.js +1 -1
  300. package/app/.next-cli-build/server/app/api/providers/[id]/freebuff-profile/route.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/api/providers/[id]/health-timeline/route.js +1 -1
  302. package/app/.next-cli-build/server/app/api/providers/[id]/health-timeline/route.js.nft.json +1 -1
  303. package/app/.next-cli-build/server/app/api/providers/[id]/inxora-profile/route.js +1 -1
  304. package/app/.next-cli-build/server/app/api/providers/[id]/inxora-profile/route.js.nft.json +1 -1
  305. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +3 -1
  306. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  307. package/app/.next-cli-build/server/app/api/providers/[id]/onemin-api-profile/route.js +1 -1
  308. package/app/.next-cli-build/server/app/api/providers/[id]/onemin-api-profile/route.js.nft.json +1 -1
  309. package/app/.next-cli-build/server/app/api/providers/[id]/onemin-profile/route.js +1 -1
  310. package/app/.next-cli-build/server/app/api/providers/[id]/onemin-profile/route.js.nft.json +1 -1
  311. package/app/.next-cli-build/server/app/api/providers/[id]/qwencloud-profile/route.js +1 -1
  312. package/app/.next-cli-build/server/app/api/providers/[id]/qwencloud-profile/route.js.nft.json +1 -1
  313. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  314. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  315. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  316. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  317. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  318. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  319. package/app/.next-cli-build/server/app/api/providers/[id]/v0-profile/route.js +1 -1
  320. package/app/.next-cli-build/server/app/api/providers/[id]/v0-profile/route.js.nft.json +1 -1
  321. package/app/.next-cli-build/server/app/api/providers/[id]/vault-pool/route.js +1 -1
  322. package/app/.next-cli-build/server/app/api/providers/[id]/vault-pool/route.js.nft.json +1 -1
  323. package/app/.next-cli-build/server/app/api/providers/[id]/zai-profile/route.js +1 -0
  324. package/app/.next-cli-build/server/app/api/providers/[id]/zai-profile/route.js.nft.json +1 -0
  325. package/app/.next-cli-build/server/app/api/providers/[id]/zai-profile/route_client-reference-manifest.js +1 -0
  326. package/app/.next-cli-build/server/app/api/providers/[id]/zenmux-plans/route.js +1 -1
  327. package/app/.next-cli-build/server/app/api/providers/[id]/zenmux-plans/route.js.nft.json +1 -1
  328. package/app/.next-cli-build/server/app/api/providers/capture/launch/route.js +1 -0
  329. package/app/.next-cli-build/server/app/api/providers/capture/launch/route.js.nft.json +1 -0
  330. package/app/.next-cli-build/server/app/api/providers/capture/launch/route_client-reference-manifest.js +1 -0
  331. package/app/.next-cli-build/server/app/api/providers/capture/route.js +1 -0
  332. package/app/.next-cli-build/server/app/api/providers/capture/route.js.nft.json +1 -0
  333. package/app/.next-cli-build/server/app/api/providers/capture/route_client-reference-manifest.js +1 -0
  334. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  335. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  336. package/app/.next-cli-build/server/app/api/providers/felo-capture/launch/route.js +1 -0
  337. package/app/.next-cli-build/server/app/api/providers/felo-capture/launch/route.js.nft.json +1 -0
  338. package/app/.next-cli-build/server/app/api/providers/felo-capture/launch/route_client-reference-manifest.js +1 -0
  339. package/app/.next-cli-build/server/app/api/providers/felo-capture/route.js +1 -0
  340. package/app/.next-cli-build/server/app/api/providers/felo-capture/route.js.nft.json +1 -0
  341. package/app/.next-cli-build/server/app/api/providers/felo-capture/route_client-reference-manifest.js +1 -0
  342. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  343. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  344. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  345. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  346. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  347. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  348. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  349. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  350. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  351. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  352. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  353. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  354. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  355. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  356. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  357. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  358. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  359. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  360. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  361. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  362. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  363. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  364. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
  365. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  366. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +1 -1
  367. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  368. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  369. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  370. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  371. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  372. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  373. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  374. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  375. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  376. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  377. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  378. package/app/.next-cli-build/server/app/api/smart-routing/active/route.js +1 -0
  379. package/app/.next-cli-build/server/app/api/smart-routing/active/route.js.nft.json +1 -0
  380. package/app/.next-cli-build/server/app/api/smart-routing/active/route_client-reference-manifest.js +1 -0
  381. package/app/.next-cli-build/server/app/api/smart-routing/history/route.js +17 -0
  382. package/app/.next-cli-build/server/app/api/smart-routing/history/route.js.nft.json +1 -0
  383. package/app/.next-cli-build/server/app/api/smart-routing/history/route_client-reference-manifest.js +1 -0
  384. package/app/.next-cli-build/server/app/api/smart-routing/lab/route.js +16 -0
  385. package/app/.next-cli-build/server/app/api/smart-routing/lab/route.js.nft.json +1 -0
  386. package/app/.next-cli-build/server/app/api/smart-routing/lab/route_client-reference-manifest.js +1 -0
  387. package/app/.next-cli-build/server/app/api/smart-routing/stream/route.js +7 -0
  388. package/app/.next-cli-build/server/app/api/smart-routing/stream/route.js.nft.json +1 -0
  389. package/app/.next-cli-build/server/app/api/smart-routing/stream/route_client-reference-manifest.js +1 -0
  390. package/app/.next-cli-build/server/app/api/swarm/active/route.js +1 -1
  391. package/app/.next-cli-build/server/app/api/swarm/active/route.js.nft.json +1 -1
  392. package/app/.next-cli-build/server/app/api/swarm/stream/route.js +4 -2
  393. package/app/.next-cli-build/server/app/api/swarm/stream/route.js.nft.json +1 -1
  394. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  395. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  396. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  397. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  398. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  399. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  400. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  401. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  402. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  403. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  404. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  405. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  406. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  407. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  408. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  409. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  410. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  411. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  412. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  413. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  414. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  415. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  416. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  417. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  418. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  419. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  420. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  421. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  422. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  423. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  424. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  425. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  426. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  427. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  428. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  429. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  430. package/app/.next-cli-build/server/app/api/usage/leaderboard/route.js +1 -1
  431. package/app/.next-cli-build/server/app/api/usage/leaderboard/route.js.nft.json +1 -1
  432. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  433. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  434. package/app/.next-cli-build/server/app/api/usage/meta/route.js +1 -1
  435. package/app/.next-cli-build/server/app/api/usage/meta/route.js.nft.json +1 -1
  436. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  437. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  438. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  439. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  440. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  441. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  442. package/app/.next-cli-build/server/app/api/usage/retry-stats/route.js +1 -1
  443. package/app/.next-cli-build/server/app/api/usage/retry-stats/route.js.nft.json +1 -1
  444. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  445. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  446. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  447. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  448. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  449. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  450. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  451. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  452. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  453. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  454. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  455. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  456. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  457. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  458. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  459. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  460. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  461. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  462. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  463. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  464. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  465. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  466. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  467. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  468. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  469. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  470. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  471. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  472. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  473. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  474. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  475. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  476. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  477. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  478. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  479. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  480. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  481. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  482. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  483. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  484. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  485. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  486. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  487. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  488. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  489. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  490. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  491. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  492. package/app/.next-cli-build/server/app/callback/page.js +2 -2
  493. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  494. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  495. package/app/.next-cli-build/server/app/callback.html +1 -1
  496. package/app/.next-cli-build/server/app/callback.rsc +6 -6
  497. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +6 -6
  498. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  499. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +6 -6
  500. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  501. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  502. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  503. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  504. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  505. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  506. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  507. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +7 -7
  508. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +7 -7
  509. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  510. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +6 -6
  511. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  512. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +2 -2
  513. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  514. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  515. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  516. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  517. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  518. package/app/.next-cli-build/server/app/index.html +1 -1
  519. package/app/.next-cli-build/server/app/index.rsc +6 -6
  520. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  521. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +6 -6
  522. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  523. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +6 -6
  524. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  525. package/app/.next-cli-build/server/app/landing/page.js +2 -2
  526. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  527. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  528. package/app/.next-cli-build/server/app/landing.html +1 -1
  529. package/app/.next-cli-build/server/app/landing.rsc +6 -6
  530. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +6 -6
  531. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  532. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +6 -6
  533. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  534. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  535. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  536. package/app/.next-cli-build/server/app/login/page.js +2 -2
  537. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  538. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  539. package/app/.next-cli-build/server/app/login.html +1 -1
  540. package/app/.next-cli-build/server/app/login.rsc +7 -7
  541. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +7 -7
  542. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  543. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +6 -6
  544. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  545. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  546. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  547. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  548. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  549. package/app/.next-cli-build/server/app/page.js +2 -2
  550. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  551. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  552. package/app/.next-cli-build/server/app-paths-manifest.json +31 -14
  553. package/app/.next-cli-build/server/chunks/1194.js +1 -1
  554. package/app/.next-cli-build/server/chunks/1241.js +1 -1
  555. package/app/.next-cli-build/server/chunks/1350.js +5 -2
  556. package/app/.next-cli-build/server/chunks/1411.js +9 -0
  557. package/app/.next-cli-build/server/chunks/1429.js +1 -1
  558. package/app/.next-cli-build/server/chunks/1719.js +1 -1
  559. package/app/.next-cli-build/server/chunks/1891.js +1 -1
  560. package/app/.next-cli-build/server/chunks/212.js +1 -1
  561. package/app/.next-cli-build/server/chunks/2409.js +1 -1
  562. package/app/.next-cli-build/server/chunks/3520.js +1 -0
  563. package/app/.next-cli-build/server/chunks/3535.js +1 -1
  564. package/app/.next-cli-build/server/chunks/3552.js +1 -0
  565. package/app/.next-cli-build/server/chunks/3593.js +1 -1
  566. package/app/.next-cli-build/server/chunks/{8873.js → 3735.js} +1 -1
  567. package/app/.next-cli-build/server/chunks/3841.js +1 -0
  568. package/app/.next-cli-build/server/chunks/4046.js +1 -1
  569. package/app/.next-cli-build/server/chunks/4109.js +4 -0
  570. package/app/.next-cli-build/server/chunks/412.js +5 -5
  571. package/app/.next-cli-build/server/chunks/4502.js +16 -0
  572. package/app/.next-cli-build/server/chunks/4739.js +1 -1
  573. package/app/.next-cli-build/server/chunks/4780.js +1 -1
  574. package/app/.next-cli-build/server/chunks/4957.js +1 -0
  575. package/app/.next-cli-build/server/chunks/5050.js +2 -0
  576. package/app/.next-cli-build/server/chunks/507.js +1 -1
  577. package/app/.next-cli-build/server/chunks/5253.js +17 -0
  578. package/app/.next-cli-build/server/chunks/5258.js +1 -1
  579. package/app/.next-cli-build/server/chunks/5330.js +37 -28
  580. package/app/.next-cli-build/server/chunks/5473.js +9 -0
  581. package/app/.next-cli-build/server/chunks/5604.js +13 -0
  582. package/app/.next-cli-build/server/chunks/5612.js +1 -1
  583. package/app/.next-cli-build/server/chunks/5615.js +1 -1
  584. package/app/.next-cli-build/server/chunks/5628.js +1 -1
  585. package/app/.next-cli-build/server/chunks/5699.js +1 -1
  586. package/app/.next-cli-build/server/chunks/5961.js +1 -1
  587. package/app/.next-cli-build/server/chunks/6182.js +1 -1
  588. package/app/.next-cli-build/server/chunks/6488.js +1 -0
  589. package/app/.next-cli-build/server/chunks/6630.js +1 -1
  590. package/app/.next-cli-build/server/chunks/6777.js +1 -1
  591. package/app/.next-cli-build/server/chunks/6878.js +1 -0
  592. package/app/.next-cli-build/server/chunks/698.js +1 -1
  593. package/app/.next-cli-build/server/chunks/7016.js +3 -0
  594. package/app/.next-cli-build/server/chunks/7410.js +1 -1
  595. package/app/.next-cli-build/server/chunks/7765.js +13 -0
  596. package/app/.next-cli-build/server/chunks/7815.js +1 -0
  597. package/app/.next-cli-build/server/chunks/7965.js +1 -1
  598. package/app/.next-cli-build/server/chunks/8048.js +1 -0
  599. package/app/.next-cli-build/server/chunks/809.js +1 -0
  600. package/app/.next-cli-build/server/chunks/8238.js +1 -1
  601. package/app/.next-cli-build/server/chunks/8266.js +1 -0
  602. package/app/.next-cli-build/server/chunks/8271.js +1 -1
  603. package/app/.next-cli-build/server/chunks/8520.js +1 -1
  604. package/app/.next-cli-build/server/chunks/8802.js +2 -2
  605. package/app/.next-cli-build/server/chunks/885.js +17 -13
  606. package/app/.next-cli-build/server/chunks/8895.js +6 -6
  607. package/app/.next-cli-build/server/chunks/9365.js +9 -0
  608. package/app/.next-cli-build/server/chunks/9609.js +1 -1
  609. package/app/.next-cli-build/server/chunks/9903.js +2 -2
  610. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  611. package/app/.next-cli-build/server/middleware.js +5 -5
  612. package/app/.next-cli-build/server/pages/404.html +1 -1
  613. package/app/.next-cli-build/server/pages/500.html +1 -1
  614. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  615. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  616. package/app/.next-cli-build/static/BmLJ5bmQbpsF-jvZIwr9t/_buildManifest.js +1 -0
  617. package/app/.next-cli-build/static/chunks/1321-184fe0dd34faf680.js +1 -0
  618. package/app/.next-cli-build/static/chunks/2563-a547c8ef699e1791.js +1 -0
  619. package/app/.next-cli-build/static/chunks/5497-9caed03337b37e47.js +7 -0
  620. package/app/.next-cli-build/static/chunks/705-eaa2de0fd5964be4.js +1 -0
  621. package/app/.next-cli-build/static/chunks/{9622-fcd7c93a94eaa38f.js → 9622-d0f22be4f1ef8011.js} +6 -6
  622. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/alerts/{page-c263cd784e69e6f1.js → page-3527fe022102a692.js} +1 -1
  623. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-fe59538aa4add719.js +1 -0
  624. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/{page-3c3074cf3f61df46.js → page-1849f671db0f9fe9.js} +1 -1
  625. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-f7cdc992cb310077.js → page-0e903eb34158c8a8.js} +1 -1
  626. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-8406e79b31e512bb.js +3 -0
  627. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-81ef4c324f201832.js +1 -0
  628. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-72670cb4cac6b97d.js +1 -0
  629. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/health/page-d71cb9f910cb5d13.js +1 -0
  630. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-7d472b122fb182f0.js → page-94341b277cf27462.js} +1 -1
  631. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/{page-83272baae17d38f1.js → page-558f5601f8df1d4d.js} +1 -1
  632. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-f36e5ac11783fd1e.js → page-6effc5c0f2b1d72e.js} +1 -1
  633. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/{page-4069e1d40a3c70a6.js → page-05b05e6f6136829d.js} +1 -1
  634. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/{page-e794909abbc7a09a.js → page-95375c7b40f99306.js} +1 -1
  635. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/{page-1d972fd3baee7474.js → page-4549c187375b9192.js} +1 -1
  636. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/overview/{page-839ed70e115af9c9.js → page-bb459e518dfa9f70.js} +1 -1
  637. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-cc5141ff81040e89.js +1 -0
  638. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/playground/page-625485e32264e15b.js +1 -0
  639. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-09b1b5beae8435cd.js +1 -0
  640. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-776433cfd87f123a.js +10 -0
  641. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-bcf9d97ab4dc20d9.js → page-1f67fe5d69805df2.js} +1 -1
  642. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-5d9d7d47216375ea.js +1 -0
  643. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-58d8d0fa5523ff95.js → page-c561cab29785310a.js} +1 -1
  644. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-140fef4b235b4792.js +1 -0
  645. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/{page-a8b151d5ae9004ea.js → page-acf6cde3210c179a.js} +1 -1
  646. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/smart-routing/page-5c8e7b3b71579268.js +1 -0
  647. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/swarm/page-6cda956597418bd9.js +1 -0
  648. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/{page-d57c129c03c9cb36.js → page-c3ae0ab7f0d0634d.js} +1 -1
  649. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/{page-61d162d7a7f88a11.js → page-cb12854a23416b01.js} +1 -1
  650. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-55b0738c2d201462.js +1 -0
  651. package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-66efb163e888cd6b.js +1 -0
  652. package/app/.next-cli-build/static/chunks/app/_global-error/page-bf747ebfcd7e601c.js +1 -0
  653. package/app/.next-cli-build/static/chunks/app/api/alerts/test/route-bf747ebfcd7e601c.js +1 -0
  654. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-bf747ebfcd7e601c.js +1 -0
  655. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-bf747ebfcd7e601c.js +1 -0
  656. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-bf747ebfcd7e601c.js +1 -0
  657. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-bf747ebfcd7e601c.js +1 -0
  658. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-bf747ebfcd7e601c.js +1 -0
  659. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-bf747ebfcd7e601c.js +1 -0
  660. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-bf747ebfcd7e601c.js +1 -0
  661. package/app/.next-cli-build/static/chunks/app/api/breaker/route-bf747ebfcd7e601c.js +1 -0
  662. package/app/.next-cli-build/static/chunks/app/api/cache/route-bf747ebfcd7e601c.js +1 -0
  663. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-bf747ebfcd7e601c.js +1 -0
  664. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-bf747ebfcd7e601c.js +1 -0
  665. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-bf747ebfcd7e601c.js +1 -0
  666. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-bf747ebfcd7e601c.js +1 -0
  667. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-bf747ebfcd7e601c.js +1 -0
  668. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-bf747ebfcd7e601c.js +1 -0
  669. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-bf747ebfcd7e601c.js +1 -0
  670. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-bf747ebfcd7e601c.js +1 -0
  671. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-bf747ebfcd7e601c.js +1 -0
  672. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-bf747ebfcd7e601c.js +1 -0
  673. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-bf747ebfcd7e601c.js +1 -0
  674. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-bf747ebfcd7e601c.js +1 -0
  675. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-bf747ebfcd7e601c.js +1 -0
  676. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-bf747ebfcd7e601c.js +1 -0
  677. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-bf747ebfcd7e601c.js +1 -0
  678. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-bf747ebfcd7e601c.js +1 -0
  679. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-bf747ebfcd7e601c.js +1 -0
  680. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-bf747ebfcd7e601c.js +1 -0
  681. package/app/.next-cli-build/static/chunks/app/api/combos/lab/route-bf747ebfcd7e601c.js +1 -0
  682. package/app/.next-cli-build/static/chunks/app/api/combos/route-bf747ebfcd7e601c.js +1 -0
  683. package/app/.next-cli-build/static/chunks/app/api/combos/simulate/route-bf747ebfcd7e601c.js +1 -0
  684. package/app/.next-cli-build/static/chunks/app/api/combos/validate-roles/route-bf747ebfcd7e601c.js +1 -0
  685. package/app/.next-cli-build/static/chunks/app/api/dashboard/stream/route-bf747ebfcd7e601c.js +1 -0
  686. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-bf747ebfcd7e601c.js +1 -0
  687. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-bf747ebfcd7e601c.js +1 -0
  688. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-bf747ebfcd7e601c.js +1 -0
  689. package/app/.next-cli-build/static/chunks/app/api/health/overview/route-bf747ebfcd7e601c.js +1 -0
  690. package/app/.next-cli-build/static/chunks/app/api/health/providers/route-bf747ebfcd7e601c.js +1 -0
  691. package/app/.next-cli-build/static/chunks/app/api/health/route-bf747ebfcd7e601c.js +1 -0
  692. package/app/.next-cli-build/static/chunks/app/api/health/stream/route-bf747ebfcd7e601c.js +1 -0
  693. package/app/.next-cli-build/static/chunks/app/api/init/route-bf747ebfcd7e601c.js +1 -0
  694. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-bf747ebfcd7e601c.js +1 -0
  695. package/app/.next-cli-build/static/chunks/app/api/keys/route-bf747ebfcd7e601c.js +1 -0
  696. package/app/.next-cli-build/static/chunks/app/api/locale/route-bf747ebfcd7e601c.js +1 -0
  697. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-bf747ebfcd7e601c.js +1 -0
  698. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-bf747ebfcd7e601c.js +1 -0
  699. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-bf747ebfcd7e601c.js +1 -0
  700. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-bf747ebfcd7e601c.js +1 -0
  701. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-bf747ebfcd7e601c.js +1 -0
  702. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-bf747ebfcd7e601c.js +1 -0
  703. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-bf747ebfcd7e601c.js +1 -0
  704. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-bf747ebfcd7e601c.js +1 -0
  705. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-bf747ebfcd7e601c.js +1 -0
  706. package/app/.next-cli-build/static/chunks/app/api/models/catalog-sync/route-bf747ebfcd7e601c.js +1 -0
  707. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-bf747ebfcd7e601c.js +1 -0
  708. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-bf747ebfcd7e601c.js +1 -0
  709. package/app/.next-cli-build/static/chunks/app/api/models/route-bf747ebfcd7e601c.js +1 -0
  710. package/app/.next-cli-build/static/chunks/app/api/models/test/route-bf747ebfcd7e601c.js +1 -0
  711. package/app/.next-cli-build/static/chunks/app/api/oauth/1min/import/route-bf747ebfcd7e601c.js +1 -0
  712. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-bf747ebfcd7e601c.js +1 -0
  713. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-bf747ebfcd7e601c.js +1 -0
  714. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-bf747ebfcd7e601c.js +1 -0
  715. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-bf747ebfcd7e601c.js +1 -0
  716. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-bf747ebfcd7e601c.js +1 -0
  717. package/app/.next-cli-build/static/chunks/app/api/oauth/freebuff/import/route-bf747ebfcd7e601c.js +1 -0
  718. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-bf747ebfcd7e601c.js +1 -0
  719. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-bf747ebfcd7e601c.js +1 -0
  720. package/app/.next-cli-build/static/chunks/app/api/oauth/kimi-desktop/auto-import/route-bf747ebfcd7e601c.js +1 -0
  721. package/app/.next-cli-build/static/chunks/app/api/oauth/kimi-desktop/import/route-bf747ebfcd7e601c.js +1 -0
  722. package/app/.next-cli-build/static/chunks/app/api/oauth/kimi-desktop/quota/route-bf747ebfcd7e601c.js +1 -0
  723. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-bf747ebfcd7e601c.js +1 -0
  724. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-bf747ebfcd7e601c.js +1 -0
  725. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-bf747ebfcd7e601c.js +1 -0
  726. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-bf747ebfcd7e601c.js +1 -0
  727. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-bf747ebfcd7e601c.js +1 -0
  728. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-bf747ebfcd7e601c.js +1 -0
  729. package/app/.next-cli-build/static/chunks/app/api/oauth/qwen/import/route-bf747ebfcd7e601c.js +1 -0
  730. package/app/.next-cli-build/static/chunks/app/api/oauth/wp-studio/import/route-bf747ebfcd7e601c.js +1 -0
  731. package/app/.next-cli-build/static/chunks/app/api/oauth/zcode/import/route-bf747ebfcd7e601c.js +1 -0
  732. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-bf747ebfcd7e601c.js +1 -0
  733. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-bf747ebfcd7e601c.js +1 -0
  734. package/app/.next-cli-build/static/chunks/app/api/pricing/route-bf747ebfcd7e601c.js +1 -0
  735. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-bf747ebfcd7e601c.js +1 -0
  736. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-bf747ebfcd7e601c.js +1 -0
  737. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-bf747ebfcd7e601c.js +1 -0
  738. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/agnes-profile/route-bf747ebfcd7e601c.js +1 -0
  739. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/felo-profile/route-bf747ebfcd7e601c.js +1 -0
  740. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/freebuff-profile/route-bf747ebfcd7e601c.js +1 -0
  741. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/health-timeline/route-bf747ebfcd7e601c.js +1 -0
  742. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/inxora-profile/route-bf747ebfcd7e601c.js +1 -0
  743. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-bf747ebfcd7e601c.js +1 -0
  744. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/onemin-api-profile/route-bf747ebfcd7e601c.js +1 -0
  745. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/onemin-profile/route-bf747ebfcd7e601c.js +1 -0
  746. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/qwencloud-profile/route-bf747ebfcd7e601c.js +1 -0
  747. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-bf747ebfcd7e601c.js +1 -0
  748. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-bf747ebfcd7e601c.js +1 -0
  749. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-bf747ebfcd7e601c.js +1 -0
  750. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/v0-profile/route-bf747ebfcd7e601c.js +1 -0
  751. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/vault-pool/route-bf747ebfcd7e601c.js +1 -0
  752. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/zai-profile/route-bf747ebfcd7e601c.js +1 -0
  753. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/zenmux-plans/route-bf747ebfcd7e601c.js +1 -0
  754. package/app/.next-cli-build/static/chunks/app/api/providers/capture/launch/route-bf747ebfcd7e601c.js +1 -0
  755. package/app/.next-cli-build/static/chunks/app/api/providers/capture/route-bf747ebfcd7e601c.js +1 -0
  756. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-bf747ebfcd7e601c.js +1 -0
  757. package/app/.next-cli-build/static/chunks/app/api/providers/felo-capture/launch/route-bf747ebfcd7e601c.js +1 -0
  758. package/app/.next-cli-build/static/chunks/app/api/providers/felo-capture/route-bf747ebfcd7e601c.js +1 -0
  759. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-bf747ebfcd7e601c.js +1 -0
  760. package/app/.next-cli-build/static/chunks/app/api/providers/route-bf747ebfcd7e601c.js +1 -0
  761. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-bf747ebfcd7e601c.js +1 -0
  762. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-bf747ebfcd7e601c.js +1 -0
  763. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-bf747ebfcd7e601c.js +1 -0
  764. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-bf747ebfcd7e601c.js +1 -0
  765. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-bf747ebfcd7e601c.js +1 -0
  766. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-bf747ebfcd7e601c.js +1 -0
  767. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-bf747ebfcd7e601c.js +1 -0
  768. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-bf747ebfcd7e601c.js +1 -0
  769. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-bf747ebfcd7e601c.js +1 -0
  770. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-bf747ebfcd7e601c.js +1 -0
  771. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-bf747ebfcd7e601c.js +1 -0
  772. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-bf747ebfcd7e601c.js +1 -0
  773. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-bf747ebfcd7e601c.js +1 -0
  774. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-bf747ebfcd7e601c.js +1 -0
  775. package/app/.next-cli-build/static/chunks/app/api/settings/route-bf747ebfcd7e601c.js +1 -0
  776. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-bf747ebfcd7e601c.js +1 -0
  777. package/app/.next-cli-build/static/chunks/app/api/smart-routing/active/route-bf747ebfcd7e601c.js +1 -0
  778. package/app/.next-cli-build/static/chunks/app/api/smart-routing/history/route-bf747ebfcd7e601c.js +1 -0
  779. package/app/.next-cli-build/static/chunks/app/api/smart-routing/lab/route-bf747ebfcd7e601c.js +1 -0
  780. package/app/.next-cli-build/static/chunks/app/api/smart-routing/stream/route-bf747ebfcd7e601c.js +1 -0
  781. package/app/.next-cli-build/static/chunks/app/api/swarm/active/route-bf747ebfcd7e601c.js +1 -0
  782. package/app/.next-cli-build/static/chunks/app/api/swarm/stream/route-bf747ebfcd7e601c.js +1 -0
  783. package/app/.next-cli-build/static/chunks/app/api/tags/route-bf747ebfcd7e601c.js +1 -0
  784. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-bf747ebfcd7e601c.js +1 -0
  785. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-bf747ebfcd7e601c.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-bf747ebfcd7e601c.js +1 -0
  787. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-bf747ebfcd7e601c.js +1 -0
  788. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-bf747ebfcd7e601c.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-bf747ebfcd7e601c.js +1 -0
  790. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-bf747ebfcd7e601c.js +1 -0
  791. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-bf747ebfcd7e601c.js +1 -0
  792. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-bf747ebfcd7e601c.js +1 -0
  793. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-bf747ebfcd7e601c.js +1 -0
  794. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-bf747ebfcd7e601c.js +1 -0
  795. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-bf747ebfcd7e601c.js +1 -0
  796. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-bf747ebfcd7e601c.js +1 -0
  797. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-bf747ebfcd7e601c.js +1 -0
  798. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-bf747ebfcd7e601c.js +1 -0
  799. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-bf747ebfcd7e601c.js +1 -0
  800. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-bf747ebfcd7e601c.js +1 -0
  801. package/app/.next-cli-build/static/chunks/app/api/usage/leaderboard/route-bf747ebfcd7e601c.js +1 -0
  802. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-bf747ebfcd7e601c.js +1 -0
  803. package/app/.next-cli-build/static/chunks/app/api/usage/meta/route-bf747ebfcd7e601c.js +1 -0
  804. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-bf747ebfcd7e601c.js +1 -0
  805. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-bf747ebfcd7e601c.js +1 -0
  806. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-bf747ebfcd7e601c.js +1 -0
  807. package/app/.next-cli-build/static/chunks/app/api/usage/retry-stats/route-bf747ebfcd7e601c.js +1 -0
  808. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-bf747ebfcd7e601c.js +1 -0
  809. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-bf747ebfcd7e601c.js +1 -0
  810. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-bf747ebfcd7e601c.js +1 -0
  811. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-bf747ebfcd7e601c.js +1 -0
  812. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-bf747ebfcd7e601c.js +1 -0
  813. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-bf747ebfcd7e601c.js +1 -0
  814. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-bf747ebfcd7e601c.js +1 -0
  815. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-bf747ebfcd7e601c.js +1 -0
  816. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-bf747ebfcd7e601c.js +1 -0
  817. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-bf747ebfcd7e601c.js +1 -0
  818. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-bf747ebfcd7e601c.js +1 -0
  819. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-bf747ebfcd7e601c.js +1 -0
  820. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-bf747ebfcd7e601c.js +1 -0
  821. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-bf747ebfcd7e601c.js +1 -0
  822. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-bf747ebfcd7e601c.js +1 -0
  823. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-bf747ebfcd7e601c.js +1 -0
  824. package/app/.next-cli-build/static/chunks/app/api/v1/route-bf747ebfcd7e601c.js +1 -0
  825. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-bf747ebfcd7e601c.js +1 -0
  826. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-bf747ebfcd7e601c.js +1 -0
  827. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-bf747ebfcd7e601c.js +1 -0
  828. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-bf747ebfcd7e601c.js +1 -0
  829. package/app/.next-cli-build/static/chunks/app/api/version/route-bf747ebfcd7e601c.js +1 -0
  830. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-bf747ebfcd7e601c.js +1 -0
  831. package/app/.next-cli-build/static/chunks/app/api/version/update/route-bf747ebfcd7e601c.js +1 -0
  832. package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-baf12d16760e9b90.js +1 -0
  833. package/app/.next-cli-build/static/chunks/app/{layout-10bff7b57a2a3c2c.js → layout-155acd4a482252b8.js} +1 -1
  834. package/app/.next-cli-build/static/chunks/app/login/{page-32ab5d7c75651107.js → page-089f2be5081e9c05.js} +1 -1
  835. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-bf747ebfcd7e601c.js +1 -0
  836. package/app/.next-cli-build/static/chunks/app/page-bf747ebfcd7e601c.js +1 -0
  837. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-bf747ebfcd7e601c.js +1 -0
  838. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-bf747ebfcd7e601c.js +1 -0
  839. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-bf747ebfcd7e601c.js +1 -0
  840. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-bf747ebfcd7e601c.js +1 -0
  841. package/app/.next-cli-build/static/css/8a8ea9ee79a01730.css +1 -0
  842. package/app/node_modules/playwright-core/browsers.json +75 -0
  843. package/app/node_modules/playwright-core/index.js +17 -0
  844. package/app/node_modules/playwright-core/index.mjs +28 -0
  845. package/app/node_modules/playwright-core/lib/bootstrap.js +88 -0
  846. package/app/node_modules/playwright-core/lib/coreBundle.js +74830 -0
  847. package/app/node_modules/playwright-core/lib/utilsBundle.js +90764 -0
  848. package/app/node_modules/playwright-core/package.json +34 -0
  849. package/app/package.json +2 -5
  850. package/app/public/providers/ai21.png +0 -0
  851. package/app/public/providers/aihorde.png +0 -0
  852. package/app/public/providers/aimlapi.png +0 -0
  853. package/app/public/providers/ainative.png +0 -0
  854. package/app/public/providers/aion.png +0 -0
  855. package/app/public/providers/alibaba-cn.svg +1 -11
  856. package/app/public/providers/alibaba.svg +1 -11
  857. package/app/public/providers/alitp-intl.svg +1 -0
  858. package/app/public/providers/anyapi.png +0 -0
  859. package/app/public/providers/arcee-ai.png +0 -0
  860. package/app/public/providers/auriko.svg +61 -0
  861. package/app/public/providers/azure-ai.svg +23 -0
  862. package/app/public/providers/bai.png +0 -0
  863. package/app/public/providers/baseten.png +0 -0
  864. package/app/public/providers/bazaarlink.svg +8 -0
  865. package/app/public/providers/blackbox-web.png +0 -0
  866. package/app/public/providers/bluesminds.png +0 -0
  867. package/app/public/providers/bytez.png +0 -0
  868. package/app/public/providers/charm-hyper.png +0 -0
  869. package/app/public/providers/chat-oripe.svg +4 -0
  870. package/app/public/providers/chatanywhere.svg +1 -0
  871. package/app/public/providers/cheaperinference.png +0 -0
  872. package/app/public/providers/chenzk.png +0 -0
  873. package/app/public/providers/clarifai.svg +1 -0
  874. package/app/public/providers/cloudcode-one.svg +13 -0
  875. package/app/public/providers/conol-web.png +0 -0
  876. package/app/public/providers/crof.png +0 -0
  877. package/app/public/providers/dahl.png +0 -0
  878. package/app/public/providers/datarobot.png +0 -0
  879. package/app/public/providers/dgrid.png +0 -0
  880. package/app/public/providers/digitalocean.svg +1 -0
  881. package/app/public/providers/dit.svg +10 -0
  882. package/app/public/providers/docker-model-runner.svg +1 -0
  883. package/app/public/providers/duckduckgo-web.svg +1 -7
  884. package/app/public/providers/dxnt.svg +10 -0
  885. package/app/public/providers/electronhub.svg +4 -0
  886. package/app/public/providers/empower.svg +4 -0
  887. package/app/public/providers/factory.svg +4 -0
  888. package/app/public/providers/fastrouter.svg +4 -0
  889. package/app/public/providers/felo-web.svg +50 -0
  890. package/app/public/providers/fireworks.svg +3 -0
  891. package/app/public/providers/fishaudio.svg +1 -0
  892. package/app/public/providers/free-ai.svg +4 -0
  893. package/app/public/providers/freeaiapikey.svg +4 -0
  894. package/app/public/providers/freebuff.svg +6 -0
  895. package/app/public/providers/freeinference.svg +4 -0
  896. package/app/public/providers/freemodel-dev.svg +4 -0
  897. package/app/public/providers/freetheai.svg +4 -0
  898. package/app/public/providers/friendliai.svg +4 -0
  899. package/app/public/providers/g4f-gemini.png +0 -0
  900. package/app/public/providers/g4f-groq.png +0 -0
  901. package/app/public/providers/g4f-nvidia.png +0 -0
  902. package/app/public/providers/g4f-ollama.png +0 -0
  903. package/app/public/providers/g4f-pollinations.svg +9 -0
  904. package/app/public/providers/gemini-business.svg +1 -0
  905. package/app/public/providers/getgoapi.svg +4 -0
  906. package/app/public/providers/gitlab.png +0 -0
  907. package/app/public/providers/gitlab.svg +1 -0
  908. package/app/public/providers/gitlawb-gmi.svg +4 -0
  909. package/app/public/providers/gitlawb.svg +4 -0
  910. package/app/public/providers/gladia.svg +1 -0
  911. package/app/public/providers/hackclub.png +0 -0
  912. package/app/public/providers/hailuo-web.svg +1 -0
  913. package/app/public/providers/helixmind.svg +4 -0
  914. package/app/public/providers/heroku.svg +16 -0
  915. package/app/public/providers/huggingchat.svg +1 -9
  916. package/app/public/providers/hyperagent.svg +1 -0
  917. package/app/public/providers/inception.svg +4 -0
  918. package/app/public/providers/inference-net.svg +4 -0
  919. package/app/public/providers/inner-ai.svg +1 -0
  920. package/app/public/providers/kenari.svg +4 -0
  921. package/app/public/providers/kilo-gateway.svg +4 -0
  922. package/app/public/providers/kimi-desktop.svg +1 -9
  923. package/app/public/providers/kimi-web.svg +1 -8
  924. package/app/public/providers/lambda-ai.svg +4 -0
  925. package/app/public/providers/laozhang.svg +4 -0
  926. package/app/public/providers/lemonade.svg +1 -0
  927. package/app/public/providers/liquid.svg +4 -0
  928. package/app/public/providers/literouter.svg +4 -0
  929. package/app/public/providers/llama-cpp.svg +1 -0
  930. package/app/public/providers/llamafile.svg +1 -0
  931. package/app/public/providers/llamagate.svg +4 -0
  932. package/app/public/providers/llm-kiwi.svg +4 -0
  933. package/app/public/providers/llm7.png +0 -0
  934. package/app/public/providers/llmgateway.svg +4 -0
  935. package/app/public/providers/lm-studio.svg +1 -0
  936. package/app/public/providers/maritalk.svg +4 -0
  937. package/app/public/providers/meganova-ai.svg +4 -0
  938. package/app/public/providers/meta-ai.svg +68 -0
  939. package/app/public/providers/meta-llama.svg +1 -0
  940. package/app/public/providers/mimocode.png +0 -0
  941. package/app/public/providers/mixlayer.svg +4 -0
  942. package/app/public/providers/mnn-ai.svg +4 -0
  943. package/app/public/providers/modal.svg +1 -0
  944. package/app/public/providers/modelscope.svg +1 -0
  945. package/app/public/providers/morph.svg +4 -0
  946. package/app/public/providers/naga-ac.svg +4 -0
  947. package/app/public/providers/naga-ai.svg +4 -0
  948. package/app/public/providers/nanogpt.svg +4 -0
  949. package/app/public/providers/nara.svg +4 -0
  950. package/app/public/providers/navy.svg +4 -0
  951. package/app/public/providers/notion-web.svg +1 -0
  952. package/app/public/providers/nous-research.svg +4 -0
  953. package/app/public/providers/nscale.svg +4 -0
  954. package/app/public/providers/nube.svg +4 -0
  955. package/app/public/providers/oci.svg +20 -0
  956. package/app/public/providers/ofoxai.svg +4 -0
  957. package/app/public/providers/ollama-cloud.svg +1 -0
  958. package/app/public/providers/oobabooga.svg +1 -0
  959. package/app/public/providers/openadapter.svg +4 -0
  960. package/app/public/providers/opencode-zen.svg +4 -0
  961. package/app/public/providers/openference-api.svg +4 -0
  962. package/app/public/providers/orcarouter.png +0 -0
  963. package/app/public/providers/ovhcloud.svg +1 -0
  964. package/app/public/providers/perplexity-agent.svg +1 -13
  965. package/app/public/providers/piapi.svg +4 -0
  966. package/app/public/providers/pioneer.svg +4 -0
  967. package/app/public/providers/poe-web.svg +1 -8
  968. package/app/public/providers/poixe-ai.svg +4 -0
  969. package/app/public/providers/poolside.svg +4 -0
  970. package/app/public/providers/predibase.svg +4 -0
  971. package/app/public/providers/publicai.svg +4 -0
  972. package/app/public/providers/qiniu.svg +4 -0
  973. package/app/public/providers/qwen-cloud.svg +1 -1
  974. package/app/public/providers/qwen-web.svg +1 -6
  975. package/app/public/providers/qwencloud.svg +1 -6
  976. package/app/public/providers/regolo.svg +4 -0
  977. package/app/public/providers/reka.svg +4 -0
  978. package/app/public/providers/requesty.svg +4 -0
  979. package/app/public/providers/rev-ai.svg +1 -0
  980. package/app/public/providers/routeway.svg +4 -0
  981. package/app/public/providers/sambanova.svg +4 -0
  982. package/app/public/providers/sap.svg +1 -0
  983. package/app/public/providers/scaleway.svg +1 -0
  984. package/app/public/providers/snowflake.svg +1 -0
  985. package/app/public/providers/soniox.svg +1 -0
  986. package/app/public/providers/speechmatics.svg +1 -0
  987. package/app/public/providers/speka.svg +4 -0
  988. package/app/public/providers/sumopod.svg +4 -0
  989. package/app/public/providers/synthetic.svg +4 -0
  990. package/app/public/providers/tencent-aistudio-web.png +0 -0
  991. package/app/public/providers/thebai.svg +4 -0
  992. package/app/public/providers/theoldllm.png +0 -0
  993. package/app/public/providers/tokenreply.svg +4 -0
  994. package/app/public/providers/triton.svg +1 -0
  995. package/app/public/providers/uncloseai.png +0 -0
  996. package/app/public/providers/unorouter.svg +4 -0
  997. package/app/public/providers/upstage.svg +4 -0
  998. package/app/public/providers/vllm.svg +1 -0
  999. package/app/public/providers/void-ai.svg +4 -0
  1000. package/app/public/providers/wafer.svg +4 -0
  1001. package/app/public/providers/wandb.svg +1 -0
  1002. package/app/public/providers/watsonx.svg +51 -0
  1003. package/app/public/providers/writer.svg +4 -0
  1004. package/app/public/providers/x5lab.svg +4 -0
  1005. package/app/public/providers/xinference.svg +1 -0
  1006. package/app/public/providers/yolo-auto.svg +4 -0
  1007. package/app/public/providers/zai-web.svg +1 -0
  1008. package/app/public/providers/zcode.png +0 -0
  1009. package/app/public/providers/zerolimitai.svg +4 -0
  1010. package/app/public/providers/zylo-api.svg +4 -0
  1011. package/app/src/lib/db/migrate.js +6 -3
  1012. package/app/src/mitm/server.js +2 -2
  1013. package/package.json +3 -1
  1014. package/src/cli/menus/providers.js +6 -0
  1015. package/app/.next-cli-build/server/chunks/2231.js +0 -1
  1016. package/app/.next-cli-build/server/chunks/422.js +0 -9
  1017. package/app/.next-cli-build/server/chunks/5102.js +0 -1
  1018. package/app/.next-cli-build/server/chunks/6070.js +0 -1
  1019. package/app/.next-cli-build/server/chunks/6306.js +0 -1
  1020. package/app/.next-cli-build/server/chunks/6560.js +0 -1
  1021. package/app/.next-cli-build/server/chunks/7187.js +0 -1
  1022. package/app/.next-cli-build/server/chunks/7218.js +0 -1
  1023. package/app/.next-cli-build/server/chunks/7872.js +0 -1
  1024. package/app/.next-cli-build/server/chunks/874.js +0 -9
  1025. package/app/.next-cli-build/server/chunks/8955.js +0 -16
  1026. package/app/.next-cli-build/server/chunks/9422.js +0 -13
  1027. package/app/.next-cli-build/server/chunks/9703.js +0 -14
  1028. package/app/.next-cli-build/static/7zgJjF0BTyl0D0ZYIuDWj/_buildManifest.js +0 -1
  1029. package/app/.next-cli-build/static/chunks/1321-3b1aef2827d68b60.js +0 -1
  1030. package/app/.next-cli-build/static/chunks/5497-51105899e4e24c89.js +0 -7
  1031. package/app/.next-cli-build/static/chunks/705-6dadbd8815279945.js +0 -1
  1032. package/app/.next-cli-build/static/chunks/8105-76bf5c11dd3bc8ce.js +0 -1
  1033. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-ecd3a85a40e51c66.js +0 -1
  1034. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-b4a78d784383253c.js +0 -3
  1035. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-959b3ee3c662de33.js +0 -1
  1036. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-5689c88f2746c37a.js +0 -1
  1037. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/health/page-133cf1aa2ce53c87.js +0 -1
  1038. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-7325c65533e4cf60.js +0 -1
  1039. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/playground/page-e7ba910803086460.js +0 -1
  1040. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-0f877a8a2550a1ea.js +0 -1
  1041. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-6b500acebeff856b.js +0 -10
  1042. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-5b11b61863963cad.js +0 -1
  1043. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-c02ccb0fd35970d1.js +0 -1
  1044. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/swarm/page-594a59006196a03a.js +0 -1
  1045. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-483f01fd35d212f5.js +0 -1
  1046. package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-0a63db83d5e05667.js +0 -1
  1047. package/app/.next-cli-build/static/chunks/app/_global-error/page-158df2528a1edacc.js +0 -1
  1048. package/app/.next-cli-build/static/chunks/app/api/alerts/test/route-158df2528a1edacc.js +0 -1
  1049. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-158df2528a1edacc.js +0 -1
  1050. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-158df2528a1edacc.js +0 -1
  1051. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-158df2528a1edacc.js +0 -1
  1052. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-158df2528a1edacc.js +0 -1
  1053. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-158df2528a1edacc.js +0 -1
  1054. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-158df2528a1edacc.js +0 -1
  1055. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-158df2528a1edacc.js +0 -1
  1056. package/app/.next-cli-build/static/chunks/app/api/breaker/route-158df2528a1edacc.js +0 -1
  1057. package/app/.next-cli-build/static/chunks/app/api/cache/route-158df2528a1edacc.js +0 -1
  1058. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-158df2528a1edacc.js +0 -1
  1059. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-158df2528a1edacc.js +0 -1
  1060. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-158df2528a1edacc.js +0 -1
  1061. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-158df2528a1edacc.js +0 -1
  1062. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-158df2528a1edacc.js +0 -1
  1063. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-158df2528a1edacc.js +0 -1
  1064. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-158df2528a1edacc.js +0 -1
  1065. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-158df2528a1edacc.js +0 -1
  1066. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-158df2528a1edacc.js +0 -1
  1067. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-158df2528a1edacc.js +0 -1
  1068. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-158df2528a1edacc.js +0 -1
  1069. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-158df2528a1edacc.js +0 -1
  1070. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-158df2528a1edacc.js +0 -1
  1071. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-158df2528a1edacc.js +0 -1
  1072. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-158df2528a1edacc.js +0 -1
  1073. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-158df2528a1edacc.js +0 -1
  1074. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-158df2528a1edacc.js +0 -1
  1075. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-158df2528a1edacc.js +0 -1
  1076. package/app/.next-cli-build/static/chunks/app/api/combos/route-158df2528a1edacc.js +0 -1
  1077. package/app/.next-cli-build/static/chunks/app/api/combos/validate-roles/route-158df2528a1edacc.js +0 -1
  1078. package/app/.next-cli-build/static/chunks/app/api/dashboard/stream/route-158df2528a1edacc.js +0 -1
  1079. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-158df2528a1edacc.js +0 -1
  1080. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-158df2528a1edacc.js +0 -1
  1081. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-158df2528a1edacc.js +0 -1
  1082. package/app/.next-cli-build/static/chunks/app/api/health/providers/route-158df2528a1edacc.js +0 -1
  1083. package/app/.next-cli-build/static/chunks/app/api/health/route-158df2528a1edacc.js +0 -1
  1084. package/app/.next-cli-build/static/chunks/app/api/health/stream/route-158df2528a1edacc.js +0 -1
  1085. package/app/.next-cli-build/static/chunks/app/api/init/route-158df2528a1edacc.js +0 -1
  1086. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-158df2528a1edacc.js +0 -1
  1087. package/app/.next-cli-build/static/chunks/app/api/keys/route-158df2528a1edacc.js +0 -1
  1088. package/app/.next-cli-build/static/chunks/app/api/locale/route-158df2528a1edacc.js +0 -1
  1089. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-158df2528a1edacc.js +0 -1
  1090. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-158df2528a1edacc.js +0 -1
  1091. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-158df2528a1edacc.js +0 -1
  1092. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-158df2528a1edacc.js +0 -1
  1093. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-158df2528a1edacc.js +0 -1
  1094. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-158df2528a1edacc.js +0 -1
  1095. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-158df2528a1edacc.js +0 -1
  1096. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-158df2528a1edacc.js +0 -1
  1097. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-158df2528a1edacc.js +0 -1
  1098. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-158df2528a1edacc.js +0 -1
  1099. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-158df2528a1edacc.js +0 -1
  1100. package/app/.next-cli-build/static/chunks/app/api/models/route-158df2528a1edacc.js +0 -1
  1101. package/app/.next-cli-build/static/chunks/app/api/models/test/route-158df2528a1edacc.js +0 -1
  1102. package/app/.next-cli-build/static/chunks/app/api/oauth/1min/import/route-158df2528a1edacc.js +0 -1
  1103. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-158df2528a1edacc.js +0 -1
  1104. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-158df2528a1edacc.js +0 -1
  1105. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-158df2528a1edacc.js +0 -1
  1106. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-158df2528a1edacc.js +0 -1
  1107. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-158df2528a1edacc.js +0 -1
  1108. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-158df2528a1edacc.js +0 -1
  1109. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-158df2528a1edacc.js +0 -1
  1110. package/app/.next-cli-build/static/chunks/app/api/oauth/kimi-desktop/auto-import/route-158df2528a1edacc.js +0 -1
  1111. package/app/.next-cli-build/static/chunks/app/api/oauth/kimi-desktop/import/route-158df2528a1edacc.js +0 -1
  1112. package/app/.next-cli-build/static/chunks/app/api/oauth/kimi-desktop/quota/route-158df2528a1edacc.js +0 -1
  1113. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-158df2528a1edacc.js +0 -1
  1114. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-158df2528a1edacc.js +0 -1
  1115. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-158df2528a1edacc.js +0 -1
  1116. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-158df2528a1edacc.js +0 -1
  1117. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-158df2528a1edacc.js +0 -1
  1118. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-158df2528a1edacc.js +0 -1
  1119. package/app/.next-cli-build/static/chunks/app/api/oauth/qwen/import/route-158df2528a1edacc.js +0 -1
  1120. package/app/.next-cli-build/static/chunks/app/api/oauth/wp-studio/import/route-158df2528a1edacc.js +0 -1
  1121. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-158df2528a1edacc.js +0 -1
  1122. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-158df2528a1edacc.js +0 -1
  1123. package/app/.next-cli-build/static/chunks/app/api/pricing/route-158df2528a1edacc.js +0 -1
  1124. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-158df2528a1edacc.js +0 -1
  1125. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-158df2528a1edacc.js +0 -1
  1126. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-158df2528a1edacc.js +0 -1
  1127. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/agnes-profile/route-158df2528a1edacc.js +0 -1
  1128. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/freebuff-profile/route-158df2528a1edacc.js +0 -1
  1129. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/health-timeline/route-158df2528a1edacc.js +0 -1
  1130. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/inxora-profile/route-158df2528a1edacc.js +0 -1
  1131. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-158df2528a1edacc.js +0 -1
  1132. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/onemin-api-profile/route-158df2528a1edacc.js +0 -1
  1133. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/onemin-profile/route-158df2528a1edacc.js +0 -1
  1134. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/qwencloud-profile/route-158df2528a1edacc.js +0 -1
  1135. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-158df2528a1edacc.js +0 -1
  1136. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-158df2528a1edacc.js +0 -1
  1137. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-158df2528a1edacc.js +0 -1
  1138. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/v0-profile/route-158df2528a1edacc.js +0 -1
  1139. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/vault-pool/route-158df2528a1edacc.js +0 -1
  1140. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/zenmux-plans/route-158df2528a1edacc.js +0 -1
  1141. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-158df2528a1edacc.js +0 -1
  1142. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-158df2528a1edacc.js +0 -1
  1143. package/app/.next-cli-build/static/chunks/app/api/providers/route-158df2528a1edacc.js +0 -1
  1144. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-158df2528a1edacc.js +0 -1
  1145. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-158df2528a1edacc.js +0 -1
  1146. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-158df2528a1edacc.js +0 -1
  1147. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-158df2528a1edacc.js +0 -1
  1148. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-158df2528a1edacc.js +0 -1
  1149. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-158df2528a1edacc.js +0 -1
  1150. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-158df2528a1edacc.js +0 -1
  1151. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-158df2528a1edacc.js +0 -1
  1152. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-158df2528a1edacc.js +0 -1
  1153. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-158df2528a1edacc.js +0 -1
  1154. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-158df2528a1edacc.js +0 -1
  1155. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-158df2528a1edacc.js +0 -1
  1156. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-158df2528a1edacc.js +0 -1
  1157. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-158df2528a1edacc.js +0 -1
  1158. package/app/.next-cli-build/static/chunks/app/api/settings/route-158df2528a1edacc.js +0 -1
  1159. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-158df2528a1edacc.js +0 -1
  1160. package/app/.next-cli-build/static/chunks/app/api/swarm/active/route-158df2528a1edacc.js +0 -1
  1161. package/app/.next-cli-build/static/chunks/app/api/swarm/stream/route-158df2528a1edacc.js +0 -1
  1162. package/app/.next-cli-build/static/chunks/app/api/tags/route-158df2528a1edacc.js +0 -1
  1163. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-158df2528a1edacc.js +0 -1
  1164. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-158df2528a1edacc.js +0 -1
  1165. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-158df2528a1edacc.js +0 -1
  1166. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-158df2528a1edacc.js +0 -1
  1167. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-158df2528a1edacc.js +0 -1
  1168. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-158df2528a1edacc.js +0 -1
  1169. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-158df2528a1edacc.js +0 -1
  1170. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-158df2528a1edacc.js +0 -1
  1171. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-158df2528a1edacc.js +0 -1
  1172. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-158df2528a1edacc.js +0 -1
  1173. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-158df2528a1edacc.js +0 -1
  1174. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-158df2528a1edacc.js +0 -1
  1175. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-158df2528a1edacc.js +0 -1
  1176. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-158df2528a1edacc.js +0 -1
  1177. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-158df2528a1edacc.js +0 -1
  1178. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-158df2528a1edacc.js +0 -1
  1179. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-158df2528a1edacc.js +0 -1
  1180. package/app/.next-cli-build/static/chunks/app/api/usage/leaderboard/route-158df2528a1edacc.js +0 -1
  1181. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-158df2528a1edacc.js +0 -1
  1182. package/app/.next-cli-build/static/chunks/app/api/usage/meta/route-158df2528a1edacc.js +0 -1
  1183. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-158df2528a1edacc.js +0 -1
  1184. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-158df2528a1edacc.js +0 -1
  1185. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-158df2528a1edacc.js +0 -1
  1186. package/app/.next-cli-build/static/chunks/app/api/usage/retry-stats/route-158df2528a1edacc.js +0 -1
  1187. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-158df2528a1edacc.js +0 -1
  1188. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-158df2528a1edacc.js +0 -1
  1189. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-158df2528a1edacc.js +0 -1
  1190. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-158df2528a1edacc.js +0 -1
  1191. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-158df2528a1edacc.js +0 -1
  1192. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-158df2528a1edacc.js +0 -1
  1193. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-158df2528a1edacc.js +0 -1
  1194. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-158df2528a1edacc.js +0 -1
  1195. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-158df2528a1edacc.js +0 -1
  1196. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-158df2528a1edacc.js +0 -1
  1197. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-158df2528a1edacc.js +0 -1
  1198. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-158df2528a1edacc.js +0 -1
  1199. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-158df2528a1edacc.js +0 -1
  1200. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-158df2528a1edacc.js +0 -1
  1201. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-158df2528a1edacc.js +0 -1
  1202. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-158df2528a1edacc.js +0 -1
  1203. package/app/.next-cli-build/static/chunks/app/api/v1/route-158df2528a1edacc.js +0 -1
  1204. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-158df2528a1edacc.js +0 -1
  1205. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-158df2528a1edacc.js +0 -1
  1206. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-158df2528a1edacc.js +0 -1
  1207. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-158df2528a1edacc.js +0 -1
  1208. package/app/.next-cli-build/static/chunks/app/api/version/route-158df2528a1edacc.js +0 -1
  1209. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-158df2528a1edacc.js +0 -1
  1210. package/app/.next-cli-build/static/chunks/app/api/version/update/route-158df2528a1edacc.js +0 -1
  1211. package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-bb9f307074c5c23a.js +0 -1
  1212. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-158df2528a1edacc.js +0 -1
  1213. package/app/.next-cli-build/static/chunks/app/page-158df2528a1edacc.js +0 -1
  1214. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-158df2528a1edacc.js +0 -1
  1215. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-158df2528a1edacc.js +0 -1
  1216. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-158df2528a1edacc.js +0 -1
  1217. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-158df2528a1edacc.js +0 -1
  1218. package/app/.next-cli-build/static/css/b7a8bd59db43d15e.css +0 -1
  1219. package/app/public/providers/blackbox-web.svg +0 -6
  1220. package/app/public/providers/chatglm-cn.svg +0 -7
  1221. /package/app/.next-cli-build/static/{7zgJjF0BTyl0D0ZYIuDWj → BmLJ5bmQbpsF-jvZIwr9t}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=7410,exports.ids=[1998,7410],exports.modules={19225:(a,b,c)=>{a.exports=c(44870)},24467:(a,b,c)=>{c.d(b,{DS:()=>r,GK:()=>m,MX:()=>l,RF:()=>s,X6:()=>f,Yh:()=>t,aS:()=>p,gI:()=>h,hy:()=>i,i5:()=>o,j8:()=>n});var d=c(78474);global._circuitBreakers||(global._circuitBreakers=new Map,global._breakerEmitter=new d.EventEmitter,global._breakerEmitter.setMaxListeners(50));let e=global._circuitBreakers,f=global._breakerEmitter,g={enabled:!0,failureThreshold:5,windowMs:6e4,cooldownMs:3e4,halfOpenMaxCalls:1};function h(a,b){let c=b&&"object"==typeof b?b:{};if(!c.connectionProxyEnabled)return a;let d=c.connectionProxyPoolId||"",e=c.connectionProxyUrl||"";return`${a}:proxy:${d||e}`}function i(a){let b=Number(a)||0;return 0===b||429===b||b>=500}function j(a){let b=e.get(a);return b||(b={key:a,state:"closed",failures:[],openedAt:null,cooldownEndsAt:null,halfOpenCalls:0,lastActivityAt:Date.now()},e.set(a,b)),b}function k(a){let b=e.get(a);b&&f.emit("breaker:update",{provider:b.key,state:b.state,failures:b.failures.length,openedAt:b.openedAt,cooldownEndsAt:b.cooldownEndsAt})}function l(a,b={},c=null){let d={...g,...b?.circuitBreaker||{}};if(!d.enabled)return!1;let e=c||a,f=j(e);f.lastActivityAt=Date.now();let h=Date.now();if("open"===f.state)if(!f.cooldownEndsAt||!(h>=f.cooldownEndsAt))return!0;else f.state="halfOpen",f.halfOpenCalls=0,k(e);if("halfOpen"===f.state){if(f.halfOpenCalls>=d.halfOpenMaxCalls)return!0;f.halfOpenCalls++}return!1}function m(a,b={},c=null){let d={...g,...b?.circuitBreaker||{}};if(!d.enabled)return!1;let f=e.get(c||a);if(!f)return!1;let h=Date.now();return"open"===f.state?!f.cooldownEndsAt||!(h>=f.cooldownEndsAt):"halfOpen"===f.state&&f.halfOpenCalls>=d.halfOpenMaxCalls}function n(a,b={},c=null){if(!({...g,...b?.circuitBreaker||{}}).enabled)return;let d=c||a,e=j(d);e.lastActivityAt=Date.now(),("closed"!==e.state||e.failures.length>0)&&(e.state="closed",e.failures=[],e.openedAt=null,e.cooldownEndsAt=null,e.halfOpenCalls=0,k(d))}function o(a,b,c={},d=null){let e={...g,...c?.circuitBreaker||{}};if(!e.enabled)return;let f=d||a,h=j(f);h.lastActivityAt=Date.now();let i=Date.now();if("halfOpen"===h.state){h.state="open",h.openedAt=i,h.cooldownEndsAt=i+e.cooldownMs,h.halfOpenCalls=0,h.failures=[{ts:i,status:b}],k(f);return}if("closed"===h.state){h.failures.push({ts:i,status:b});let a=i-e.windowMs;h.failures=h.failures.filter(b=>b.ts>=a),h.failures.length>=e.failureThreshold&&(h.state="open",h.openedAt=i,h.cooldownEndsAt=i+e.cooldownMs,k(f))}}function p(a,b=null){let c=e.get(b||a);!c||(c.lastActivityAt=Date.now(),"halfOpen"===c.state&&c.halfOpenCalls>0&&c.halfOpenCalls--)}let q=0;function r(){let a=Date.now();!function(a){if(a-q<6e4)return;q=a;let b=a-6e5;for(let[a,c]of e)"closed"===c.state&&(c.lastActivityAt||0)<b&&e.delete(a)}(a);let b=[];for(let c of e.values()){let d=c.state,e=null;"open"===c.state&&c.cooldownEndsAt&&0===(e=Math.max(0,c.cooldownEndsAt-a))&&(d="halfOpen"),b.push({provider:c.key,state:d,failures:c.failures.length,openedAt:c.openedAt,cooldownEndsAt:c.cooldownEndsAt,cooldownRemainingMs:e})}return b}function s(a,b=null){let c=e.get(b||a);return c&&"open"===c.state&&c.cooldownEndsAt?c.cooldownEndsAt:null}function t(a,b=null){if(b){let a=e.get(b);return!!a&&(a.state="closed",a.failures=[],a.openedAt=null,a.cooldownEndsAt=null,a.halfOpenCalls=0,k(b),!0)}let c=!1;for(let[b,d]of e)(b===a||b.startsWith(`${a}:`))&&(d.state="closed",d.failures=[],d.openedAt=null,d.cooldownEndsAt=null,d.halfOpenCalls=0,k(b),c=!0);return c}},39326:(a,b,c)=>{c.d(b,{B:()=>f});var d=c(71998);function e(a){return null==a?"":String(a).trim()}async function f(a={}){try{let b=e(a?.proxyPoolId),c="__none__"===b?"":b,f=function(a={}){let b=a?.connectionProxyEnabled===!0,c=e(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:e(a?.connectionNoProxy)}}(a);if(c){let a=await (0,d.hr)(c),b=e(a?.proxyUrl),f=e(a?.noProxy);if(a&&!0===a.isActive&&b){if("vercel"===a.type||"cloudflare"===a.type||"deno"===a.type)return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:f,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:f,strictProxy:!0===a.strictProxy}}}if(f.connectionProxyEnabled&&f.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,...f};return{source:"none",proxyPoolId:c||null,proxyPool:null,...f}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,op:()=>d.op,rj:()=>d.updateProviderConnection,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},80238:(a,b,c)=>{c.d(b,{Pt:()=>n,Tr:()=>o,c1:()=>l,kI:()=>p,vk:()=>m});var d=c(89718),e=c(39326),f=c(12557),g=c(3662),h=c(40615),i=c(24467),j=c(7803);let k=new Map;async function l(a,b=null,g=null,m={}){let n,o,p,q,r=b instanceof Set?b:b?new Set([b]):new Set,s=m?.preferredConnectionId||null,t=(0,h.rs)(a),u=(p=(o=k.get(t))?o.tail:Promise.resolve(),q=new Promise(a=>{n=a}),k.set(t,{tail:q,release:n}),{wait:p,release:()=>{n(),k.get(t)?.tail===q&&k.delete(t)}});try{let b;if(await u.wait,h.IS[t]?.noAuth){let a=((await (0,d.mt)()).providerStrategies||{})[t]||{},b=a.rotateStrategy||"none",f=a.proxyPoolId||"";if("none"!==b&&b)try{let a=(await (0,d.ui)({isActive:!0})).map(a=>a.id).filter(Boolean);if(a.length>=2){let{pickProxyPoolId:d}=await c.e(6638).then(c.bind(c,26638));f=d(a,b,t)||f}}catch{}let g=await (0,e.B)({proxyPoolId:f});return{id:"noauth",connectionName:"Public",isActive:!0,accessToken:"public",providerSpecificData:{connectionProxyEnabled:g.connectionProxyEnabled,connectionProxyUrl:g.connectionProxyUrl,connectionNoProxy:g.connectionNoProxy,connectionProxyPoolId:g.proxyPoolId||null,vercelRelayUrl:g.vercelRelayUrl||""}}}let k=await (0,d.mt)();if((0,i.MX)(a,k)){j.warn("AUTH",`${a} | circuit breaker OPEN — skipping all accounts`);let b=(0,i.RF)(a)||Date.now()+3e4;return{allRateLimited:!0,rateLimitedUntil:b,retryAfter:new Date(b).toISOString(),retryAfterHuman:(0,f.Qo)(b),lastError:"Circuit breaker open",breakerOpen:!0}}let l=await (0,d.getProviderConnections)({provider:t,isActive:!0});if(j.debug("AUTH",`${a} | total connections: ${l.length}, excludeIds: ${r.size>0?[...r].join(","):"none"}, model: ${g||"any"}`),0===l.length){try{let{getAdminCredential:b}=await c.e(7524).then(c.bind(c,37524)),d=b(t);if(d)return j.info("AUTH",`${a} | using vault key ${d.keyName} (no user connection)`),{connectionId:"vault",id:"vault",connectionName:`Vault \xb7 ${d.keyName}`,authType:"apikey",apiKey:d.key,accessToken:null,refreshToken:null,providerSpecificData:{},isActive:!0}}catch{}return j.warn("AUTH",`No credentials for ${a}`),null}let m=l.filter(a=>!(r.has(a.id)||(0,f.Bl)(a,g)));if(j.debug("AUTH",`${a} | available: ${m.length}/${l.length}`),l.forEach(a=>{let b=r.has(a.id),c=(0,f.Bl)(a,g);if(b||c){let d=(0,f.kJ)(a);j.debug("AUTH",` → ${a.id?.slice(0,8)} | ${b?"excluded":""} ${c?`modelLocked(${g}) until ${d}`:""}`)}}),0===m.length){let b=l.filter(a=>(0,f.Bl)(a,g)),c=b.map(a=>(0,f.kJ)(a)).filter(Boolean).sort()[0]||null;if(c){let d=b[0];return j.warn("AUTH",`${a} | all ${l.length} accounts locked for ${g||"all"} (${(0,f.Qo)(c)}) | lastError=${d?.lastError?.slice(0,50)}`),{allRateLimited:!0,retryAfter:c,retryAfterHuman:(0,f.Qo)(c),lastError:d?.lastError||null,lastErrorCode:d?.errorCode||null}}return j.warn("AUTH",`${a} | all ${l.length} accounts unavailable`),null}let n=await (0,d.mt)(),o=(n.providerStrategies||{})[t]||{},p=o.fallbackStrategy||n.fallbackStrategy||"fill-first";if(s&&(b=m.find(a=>a.id===s))&&j.info("AUTH",`${a} | pinned to ${b.id?.slice(0,8)} (${b.name||b.email||"unnamed"})`),b);else if("round-robin"===p){let a=o.stickyRoundRobinLimit||n.stickyRoundRobinLimit||3,c=[...m].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(b.lastUsedAt)-new Date(a.lastUsedAt):-1:1:(a.priority||999)-(b.priority||999))[0],e=c?.consecutiveUseCount||0;c&&c.lastUsedAt&&e<a?(b=c,await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:(b.consecutiveUseCount||0)+1})):(b=[...m].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(a.lastUsedAt)-new Date(b.lastUsedAt):1:-1:(a.priority||999)-(b.priority||999))[0],await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:1}))}else b=m[0];let q=await (0,e.B)(b.providerSpecificData||{}),v=(0,i.gI)(t,q);if((0,i.MX)(a,k,v)){j.warn("AUTH",`${a} | breaker OPEN for proxy key "${v}" — skipping account`);let b=(0,i.RF)(a,v)||Date.now()+3e4;return{allRateLimited:!0,rateLimitedUntil:b,retryAfter:new Date(b).toISOString(),retryAfterHuman:(0,f.Qo)(b),lastError:`Circuit breaker open (${v})`,breakerOpen:!0}}return{authType:b.authType,apiKey:b.apiKey,accessToken:b.accessToken,refreshToken:b.refreshToken,idToken:b.idToken,expiresAt:b.expiresAt,expiresIn:b.expiresIn,lastRefreshAt:b.lastRefreshAt,projectId:b.projectId,connectionName:b.displayName||b.name||b.email||b.id,copilotToken:b.providerSpecificData?.copilotToken,providerSpecificData:{...b.providerSpecificData||{},connectionProxyEnabled:q.connectionProxyEnabled,connectionProxyUrl:q.connectionProxyUrl,connectionNoProxy:q.connectionNoProxy,connectionProxyPoolId:q.proxyPoolId||null,vercelRelayUrl:q.vercelRelayUrl||""},connectionId:b.id,testStatus:b.testStatus,lastError:b.lastError,_connection:b}}finally{u.release()}}async function m(a,b,e,h=null,i=null,k=null,l=null){let n,o,p;if(!a||"noauth"===a)return{shouldFallback:!1,cooldownMs:0};if("vault"===a){try{let{markVaultKeyRateLimited:a}=await c.e(7524).then(c.bind(c,37524));if(h){let c=k&&k>Date.now()?Math.min(k-Date.now(),g.fh):6e4;a(h,l,c),j.info("AUTH",`${h} | vault key rate-limited [${b}] key=${l||"(last-issued)"}, rotating in ${Math.round(c/1e3)}s`)}}catch{}return{shouldFallback:!0,cooldownMs:0}}let q=(await (0,d.getProviderConnections)({provider:h})).find(b=>b.id===a),r=q?.backoffLevel||0;if(k&&k>Date.now()){n=!0;let a=h&&g.gd[h]||g.fh;o=Math.min(k-Date.now(),a),p=0}else({shouldFallback:n,cooldownMs:o,newBackoffLevel:p}=(0,f.hk)(b,e,r));if(!n)return{shouldFallback:!1,cooldownMs:0};if("kimchi"===h&&(0,f.Fw)(b,e)){let b=(0,f.CR)();await (0,d.updateProviderConnection)(a,b);let c=q?.displayName||q?.name||q?.email||a.slice(0,8);return j.warn("AUTH",`${c} Kimchi quota exhausted — deactivated until ${b.rateLimitedUntil}`),{shouldFallback:!0,cooldownMs:0,quotaExhausted:!0}}let s="string"==typeof e?e.slice(0,100):"Provider error",t=(0,f.S5)(i,o);await (0,d.updateProviderConnection)(a,{...t,testStatus:"unavailable",lastError:s,errorCode:b,lastErrorAt:new Date().toISOString(),backoffLevel:p??r});let u=Object.keys(t)[0],v=q?.displayName||q?.name||q?.email||a.slice(0,8);if(j.warn("AUTH",`${v} locked ${u} for ${Math.round(o/1e3)}s [${b}]`),h&&b&&s&&console.error(`❌ ${h} [${b}]: ${s}`),h&&(429===b||403===b))try{let{dispatchAlert:a}=await c.e(9573).then(c.bind(c,49573));a("rate_limited",{provider:h,status:b,model:u,message:`Provider "${h}" rate-limited (HTTP ${b}) — ${s}. Account "${v}" locked for ${Math.round(o/1e3)}s.`})}catch{}return{shouldFallback:!0,cooldownMs:o}}async function n(a,b,c=null){if(!a||"noauth"===a||"vault"===a)return;let e=b._connection||b,f=Date.now(),g=Object.keys(e).filter(a=>a.startsWith("modelLock_"));if(!e.testStatus&&!e.lastError&&0===g.length)return;let h=g.filter(a=>{if(c&&a===`modelLock_${c}`||c&&"modelLock___all"===a)return!0;let b=e[a];return b&&new Date(b).getTime()<=f});if(0===h.length&&"unavailable"!==e.testStatus&&!e.lastError)return;let i=g.filter(a=>{if(h.includes(a))return!1;let b=e[a];return b&&new Date(b).getTime()>f}),j=Object.fromEntries(h.map(a=>[a,null]));0===i.length&&Object.assign(j,{testStatus:"active",lastError:null,lastErrorAt:null,backoffLevel:0}),await (0,d.updateProviderConnection)(a,j)}function o(a){let b=a.headers.get("Authorization");if(b?.startsWith("Bearer "))return b.slice(7);let c=a.headers.get("x-api-key");return c||null}async function p(a){return!!a&&await (0,d.ek)(a)}},92060:(a,b,c)=>{c.d(b,{mQ:()=>f,ox:()=>g});var d=c(43659),e=c(41004);function f(a,b){return a.some(a=>a===b||a.endsWith("/")&&b.startsWith(a))}function g(a,b){let c=function(a,b){if(!a)return null;if(!1===a.isActive)return{allowed:!1,denied:"(key inactive)"};let c=a.allowedModels;return!Array.isArray(c)||0===c.length||f(c,b)?null:{allowed:!1,denied:b}}(a,b);return c?c.allowed?null:"(key inactive)"===c.denied?(0,d.yj)(e.gx.UNAUTHORIZED,"API key is inactive"):(0,d.yj)(e.gx.FORBIDDEN,`Model "${b}" is not allowed for this API key`):null}c(89718)},92280:(a,b,c)=>{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()}}}};
1
+ "use strict";exports.id=7410,exports.ids=[1998,7410],exports.modules={19225:(a,b,c)=>{a.exports=c(44870)},39326:(a,b,c)=>{c.d(b,{B:()=>f});var d=c(71998);function e(a){return null==a?"":String(a).trim()}async function f(a={}){try{let b=e(a?.proxyPoolId),c="__none__"===b?"":b,f=function(a={}){let b=a?.connectionProxyEnabled===!0,c=e(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:e(a?.connectionNoProxy)}}(a);if(c){let a=await (0,d.hr)(c),b=e(a?.proxyUrl),f=e(a?.noProxy);if(a&&!0===a.isActive&&b){if("vercel"===a.type||"cloudflare"===a.type||"deno"===a.type)return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:f,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:f,strictProxy:!0===a.strictProxy}}}if(f.connectionProxyEnabled&&f.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,...f};return{source:"none",proxyPoolId:c||null,proxyPool:null,...f}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,op:()=>d.op,rj:()=>d.updateProviderConnection,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},80238:(a,b,c)=>{c.d(b,{Pt:()=>n,Tr:()=>o,c1:()=>l,kI:()=>p,vk:()=>m});var d=c(89718),e=c(39326),f=c(12557),g=c(3662),h=c(40615),i=c(24467),j=c(7803);let k=new Map;async function l(a,b=null,g=null,m={}){let n,o,p,q,r=b instanceof Set?b:b?new Set([b]):new Set,s=m?.preferredConnectionId||null,t=(0,h.rs)(a),u=(p=(o=k.get(t))?o.tail:Promise.resolve(),q=new Promise(a=>{n=a}),k.set(t,{tail:q,release:n}),{wait:p,release:()=>{n(),k.get(t)?.tail===q&&k.delete(t)}});try{let b;if(await u.wait,h.IS[t]?.noAuth){let a=((await (0,d.mt)()).providerStrategies||{})[t]||{},b=a.rotateStrategy||"none",f=a.proxyPoolId||"";if("none"!==b&&b)try{let a=(await (0,d.ui)({isActive:!0})).map(a=>a.id).filter(Boolean);if(a.length>=2){let{pickProxyPoolId:d}=await c.e(6638).then(c.bind(c,26638));f=d(a,b,t)||f}}catch{}let g=await (0,e.B)({proxyPoolId:f});return{id:"noauth",connectionName:"Public",isActive:!0,accessToken:"public",providerSpecificData:{connectionProxyEnabled:g.connectionProxyEnabled,connectionProxyUrl:g.connectionProxyUrl,connectionNoProxy:g.connectionNoProxy,connectionProxyPoolId:g.proxyPoolId||null,vercelRelayUrl:g.vercelRelayUrl||""}}}let k=await (0,d.mt)();if((0,i.MX)(a,k)){j.warn("AUTH",`${a} | circuit breaker OPEN — skipping all accounts`);let b=(0,i.RF)(a)||Date.now()+3e4;return{allRateLimited:!0,rateLimitedUntil:b,retryAfter:new Date(b).toISOString(),retryAfterHuman:(0,f.Qo)(b),lastError:"Circuit breaker open",breakerOpen:!0}}let l=await (0,d.getProviderConnections)({provider:t,isActive:!0});if(j.debug("AUTH",`${a} | total connections: ${l.length}, excludeIds: ${r.size>0?[...r].join(","):"none"}, model: ${g||"any"}`),0===l.length){try{let{getAdminCredential:b}=await c.e(7524).then(c.bind(c,37524)),d=b(t);if(d)return j.info("AUTH",`${a} | using vault key ${d.keyName} (no user connection)`),{connectionId:"vault",id:"vault",connectionName:`Vault \xb7 ${d.keyName}`,authType:"apikey",apiKey:d.key,accessToken:null,refreshToken:null,providerSpecificData:{},isActive:!0}}catch{}return j.warn("AUTH",`No credentials for ${a}`),null}let m=l.filter(a=>!(r.has(a.id)||(0,f.Bl)(a,g)));if(j.debug("AUTH",`${a} | available: ${m.length}/${l.length}`),l.forEach(a=>{let b=r.has(a.id),c=(0,f.Bl)(a,g);if(b||c){let d=(0,f.kJ)(a);j.debug("AUTH",` → ${a.id?.slice(0,8)} | ${b?"excluded":""} ${c?`modelLocked(${g}) until ${d}`:""}`)}}),0===m.length){let b=l.filter(a=>(0,f.Bl)(a,g)),c=b.map(a=>(0,f.kJ)(a)).filter(Boolean).sort()[0]||null;if(c){let d=b[0];return j.warn("AUTH",`${a} | all ${l.length} accounts locked for ${g||"all"} (${(0,f.Qo)(c)}) | lastError=${d?.lastError?.slice(0,50)}`),{allRateLimited:!0,retryAfter:c,retryAfterHuman:(0,f.Qo)(c),lastError:d?.lastError||null,lastErrorCode:d?.errorCode||null}}return j.warn("AUTH",`${a} | all ${l.length} accounts unavailable`),null}let n=await (0,d.mt)(),o=(n.providerStrategies||{})[t]||{},p=o.fallbackStrategy||n.fallbackStrategy||"fill-first";if(s&&(b=m.find(a=>a.id===s))&&j.info("AUTH",`${a} | pinned to ${b.id?.slice(0,8)} (${b.name||b.email||"unnamed"})`),b);else if("round-robin"===p){let a=o.stickyRoundRobinLimit||n.stickyRoundRobinLimit||3,c=[...m].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(b.lastUsedAt)-new Date(a.lastUsedAt):-1:1:(a.priority||999)-(b.priority||999))[0],e=c?.consecutiveUseCount||0;c&&c.lastUsedAt&&e<a?(b=c,await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:(b.consecutiveUseCount||0)+1})):(b=[...m].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(a.lastUsedAt)-new Date(b.lastUsedAt):1:-1:(a.priority||999)-(b.priority||999))[0],await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:1}))}else b=m[0];let q=await (0,e.B)(b.providerSpecificData||{}),v=(0,i.gI)(t,q);if((0,i.MX)(a,k,v)){j.warn("AUTH",`${a} | breaker OPEN for proxy key "${v}" — skipping account`);let b=(0,i.RF)(a,v)||Date.now()+3e4;return{allRateLimited:!0,rateLimitedUntil:b,retryAfter:new Date(b).toISOString(),retryAfterHuman:(0,f.Qo)(b),lastError:`Circuit breaker open (${v})`,breakerOpen:!0}}return{authType:b.authType,apiKey:b.apiKey,accessToken:b.accessToken,refreshToken:b.refreshToken,idToken:b.idToken,expiresAt:b.expiresAt,expiresIn:b.expiresIn,lastRefreshAt:b.lastRefreshAt,projectId:b.projectId,connectionName:b.displayName||b.name||b.email||b.id,copilotToken:b.providerSpecificData?.copilotToken,providerSpecificData:{...b.providerSpecificData||{},connectionProxyEnabled:q.connectionProxyEnabled,connectionProxyUrl:q.connectionProxyUrl,connectionNoProxy:q.connectionNoProxy,connectionProxyPoolId:q.proxyPoolId||null,vercelRelayUrl:q.vercelRelayUrl||""},connectionId:b.id,testStatus:b.testStatus,lastError:b.lastError,_connection:b}}finally{u.release()}}async function m(a,b,e,h=null,i=null,k=null,l=null){let n,o,p;if(!a||"noauth"===a||499===b)return{shouldFallback:!1,cooldownMs:0};if("vault"===a){try{let{markVaultKeyRateLimited:a}=await c.e(7524).then(c.bind(c,37524));if(h){let c=k&&k>Date.now()?Math.min(k-Date.now(),g.fh):6e4;a(h,l,c),j.info("AUTH",`${h} | vault key rate-limited [${b}] key=${l||"(last-issued)"}, rotating in ${Math.round(c/1e3)}s`)}}catch{}return{shouldFallback:!0,cooldownMs:0}}let q=(await (0,d.getProviderConnections)({provider:h})).find(b=>b.id===a),r=q?.backoffLevel||0;if(k&&k>Date.now()){n=!0;let a=h&&g.gd[h]||g.fh;o=Math.min(k-Date.now(),a),p=0}else({shouldFallback:n,cooldownMs:o,newBackoffLevel:p}=(0,f.hk)(b,e,r));if(!n)return{shouldFallback:!1,cooldownMs:0};if("kimchi"===h&&(0,f.Fw)(b,e)){let b=(0,f.CR)();await (0,d.updateProviderConnection)(a,b);let c=q?.displayName||q?.name||q?.email||a.slice(0,8);return j.warn("AUTH",`${c} Kimchi quota exhausted — deactivated until ${b.rateLimitedUntil}`),{shouldFallback:!0,cooldownMs:0,quotaExhausted:!0}}let s="string"==typeof e?e.slice(0,100):"Provider error",t=(0,f.S5)(i,o);await (0,d.updateProviderConnection)(a,{...t,testStatus:"unavailable",lastError:s,errorCode:b,lastErrorAt:new Date().toISOString(),backoffLevel:p??r});let u=Object.keys(t)[0],v=q?.displayName||q?.name||q?.email||a.slice(0,8);if(j.warn("AUTH",`${v} locked ${u} for ${Math.round(o/1e3)}s [${b}]`),h&&b&&s&&console.error(`❌ ${h} [${b}]: ${s}`),h&&(429===b||403===b))try{let{dispatchAlert:a}=await c.e(9573).then(c.bind(c,49573));a("rate_limited",{provider:h,status:b,model:u,message:`Provider "${h}" rate-limited (HTTP ${b}) — ${s}. Account "${v}" locked for ${Math.round(o/1e3)}s.`})}catch{}return{shouldFallback:!0,cooldownMs:o}}async function n(a,b,c=null){if(!a||"noauth"===a||"vault"===a)return;let e=b._connection||b,f=Date.now(),g=Object.keys(e).filter(a=>a.startsWith("modelLock_"));if(!e.testStatus&&!e.lastError&&0===g.length)return;let h=g.filter(a=>{if(c&&a===`modelLock_${c}`||c&&"modelLock___all"===a)return!0;let b=e[a];return b&&new Date(b).getTime()<=f});if(0===h.length&&"unavailable"!==e.testStatus&&!e.lastError)return;let i=g.filter(a=>{if(h.includes(a))return!1;let b=e[a];return b&&new Date(b).getTime()>f}),j=Object.fromEntries(h.map(a=>[a,null]));0===i.length&&Object.assign(j,{testStatus:"active",lastError:null,lastErrorAt:null,backoffLevel:0}),await (0,d.updateProviderConnection)(a,j)}function o(a){let b=a.headers.get("Authorization");if(b?.startsWith("Bearer "))return b.slice(7);let c=a.headers.get("x-api-key");return c||null}async function p(a){return!!a&&await (0,d.ek)(a)}},92060:(a,b,c)=>{c.d(b,{mQ:()=>f,ox:()=>g});var d=c(43659),e=c(41004);function f(a,b){return a.some(a=>a===b||a.endsWith("/")&&b.startsWith(a))}function g(a,b){let c=function(a,b){if(!a)return null;if(!1===a.isActive)return{allowed:!1,denied:"(key inactive)"};let c=a.allowedModels;return!Array.isArray(c)||0===c.length||f(c,b)?null:{allowed:!1,denied:b}}(a,b);return c?c.allowed?null:"(key inactive)"===c.denied?(0,d.yj)(e.gx.UNAUTHORIZED,"API key is inactive"):(0,d.yj)(e.gx.FORBIDDEN,`Model "${b}" is not allowed for this API key`):null}c(89718)},92280:(a,b,c)=>{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()}}}};
@@ -0,0 +1,13 @@
1
+ "use strict";exports.id=7765,exports.ids=[7765,7914],exports.modules={1129:(a,b,c)=>{c.r(b),c.d(b,{createProviderNode:()=>k,deleteProviderNode:()=>m,getProviderNodeById:()=>j,getProviderNodes:()=>i,updateProviderNode:()=>l});var d=c(94755),e=c(36366),f=c(644);function g(a){return a?{...(0,f.q)(a.data,{}),id:a.id,type:a.type,name:a.name,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function h(a,b){let c=function(a){let{id:b,type:c,name:d,createdAt:e,updatedAt:g,...h}=a;return{id:b,type:c??null,name:d??null,data:(0,f.s)(h),createdAt:e,updatedAt:g}}(b);a.run(`INSERT INTO providerNodes(id, type, name, data, createdAt, updatedAt)
2
+ VALUES(?, ?, ?, ?, ?, ?)
3
+ ON CONFLICT(id) DO UPDATE SET
4
+ type=excluded.type, name=excluded.name, data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.type,c.name,c.data,c.createdAt,c.updatedAt])}async function i(a={}){let b=await (0,e.c)(),c=[],d=[];a.type&&(c.push("type = ?"),d.push(a.type));let f=`SELECT * FROM providerNodes${c.length?` WHERE ${c.join(" AND ")}`:""}`;return b.all(f,d).map(g)}async function j(a){return g((await (0,e.c)()).get("SELECT * FROM providerNodes WHERE id = ?",[a]))}async function k(a){let b=await (0,e.c)(),c=new Date().toISOString(),f={id:a.id||(0,d.A)(),type:a.type,name:a.name,prefix:a.prefix,apiType:a.apiType,baseUrl:a.baseUrl,createdAt:c,updatedAt:c};return h(b,f),f}async function l(a,b){let c=await (0,e.c)(),d=null;return c.transaction(()=>{let e=c.get("SELECT * FROM providerNodes WHERE id = ?",[a]);if(!e)return;let f={...g(e),...b,updatedAt:new Date().toISOString()};h(c,f),d=f}),d}async function m(a){let b=await (0,e.c)(),c=null;return b.transaction(()=>{let d=b.get("SELECT * FROM providerNodes WHERE id = ?",[a]);d&&(c=g(d),b.run("DELETE FROM providerNodes WHERE id = ?",[a]))}),c}},1541:(a,b,c)=>{c.d(b,{CG:()=>n,Dj:()=>k,L:()=>j,Uv:()=>i,jd:()=>l,oG:()=>m});var d=c(94755),e=c(36366),f=c(644),g=c(12280);function h(a){return a?{id:a.id,name:a.name,kind:a.kind,models:(0,f.q)(a.models,[]),strategyConfig:(0,g.X3)((0,f.q)(a.strategyConfig,{})),context_length:null===a.context_length||void 0===a.context_length?null:Number(a.context_length),revision:Number(a.revision)||1,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}async function i(){return(await (0,e.c)()).all("SELECT * FROM combos ORDER BY createdAt ASC").map(h)}async function j(a){return h((await (0,e.c)()).get("SELECT * FROM combos WHERE id = ?",[a]))}async function k(a){return h((await (0,e.c)()).get("SELECT * FROM combos WHERE name = ?",[a]))}async function l(a){let b=await (0,e.c)(),c=new Date().toISOString(),h={id:(0,d.A)(),name:a.name,kind:a.kind||null,models:a.models||[],strategyConfig:(0,g.X3)(a.strategyConfig),context_length:void 0===a.context_length?null:a.context_length,revision:1,createdAt:c,updatedAt:c};return b.run("INSERT INTO combos(id, name, kind, models, strategyConfig, context_length, revision, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)",[h.id,h.name,h.kind,(0,f.s)(h.models),(0,f.s)(h.strategyConfig),h.context_length,h.revision,c,c]),h}async function m(a,b){let c=await (0,e.c)(),d=null,i=!1;return(c.transaction(()=>{let e=c.get("SELECT * FROM combos WHERE id = ?",[a]);if(!e)return;let j=h(e);if(void 0!==b.revision&&Number(b.revision)!==j.revision){i=!0;return}let k={...j,name:void 0!==b.name?b.name:j.name,kind:void 0!==b.kind?b.kind:j.kind,models:void 0!==b.models?b.models:j.models,strategyConfig:void 0!==b.strategyConfig?(0,g.X3)(b.strategyConfig):j.strategyConfig,context_length:void 0!==b.context_length?b.context_length:j.context_length,revision:j.revision+1,updatedAt:new Date().toISOString()};c.run("UPDATE combos SET name = ?, kind = ?, models = ?, strategyConfig = ?, context_length = ?, revision = ?, updatedAt = ? WHERE id = ? AND revision = ?",[k.name,k.kind,(0,f.s)(k.models),(0,f.s)(k.strategyConfig),k.context_length,k.revision,k.updatedAt,a,j.revision]),d=k}),i)?{conflict:!0}:d}async function n(a){let b=await (0,e.c)();return(b.run("DELETE FROM combos WHERE id = ?",[a])?.changes??0)>0}},5781:(a,b,c)=>{c.r(b),c.d(b,{cleanupProviderConnections:()=>v,createProviderConnection:()=>q,deleteProviderConnection:()=>s,deleteProviderConnectionsByProvider:()=>t,getProviderConnectionById:()=>o,getProviderConnections:()=>m,invalidateConnectionsCache:()=>n,reorderProviderConnections:()=>u,updateProviderConnection:()=>r});var d=c(94755),e=c(36366),f=c(644);let g=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","errorCode","consecutiveUseCount","idToken","lastRefreshAt"];function h(a){return a?{...(0,f.q)(a.data,{}),id:a.id,provider:a.provider,authType:a.authType,name:a.name,email:a.email,priority:a.priority,isActive:1===a.isActive||!0===a.isActive,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function i(a,b){let c=function(a){let{id:b,provider:c,authType:d,name:e,email:g,priority:h,isActive:i,createdAt:j,updatedAt:k,...l}=a;return{id:b,provider:c,authType:d,name:e??null,email:g??null,priority:h??null,isActive:+(!1!==i),data:(0,f.s)(l),createdAt:j,updatedAt:k}}(b);a.run(`INSERT INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt)
5
+ VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
6
+ ON CONFLICT(id) DO UPDATE SET
7
+ provider=excluded.provider, authType=excluded.authType, name=excluded.name,
8
+ email=excluded.email, priority=excluded.priority, isActive=excluded.isActive,
9
+ data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.provider,c.authType,c.name,c.email,c.priority,c.isActive,c.data,c.createdAt,c.updatedAt])}let j=new Map,k=new Set(["lastUsedAt","consecutiveUseCount","lastRefreshAt","lastTested","lastError","lastErrorAt","errorCode","expiresIn"]);async function l(a){let b=await (0,e.c)(),c=[],d=[];a.provider&&(c.push("provider = ?"),d.push(a.provider)),void 0!==a.isActive&&(c.push("isActive = ?"),d.push(+!!a.isActive));let f=`SELECT * FROM providerConnections${c.length?` WHERE ${c.join(" AND ")}`:""}`,g=b.all(f,d).map(h);return g.sort((a,b)=>(a.priority||999)-(b.priority||999)),g}async function m(a={}){let b=function(a={}){let b=[];return a.provider&&b.push(`p:${a.provider}`),void 0!==a.isActive&&b.push(`a:${+!!a.isActive}`),b.length?b.join("|"):"all"}(a),c=Date.now(),d=j.get(b);if(d&&c-d.at<2e3)return d.promise.then(a=>a.slice());let e=l(a).catch(a=>{throw j.delete(b),a});return j.set(b,{promise:e,at:c}),e.then(a=>a.slice())}function n(){j.clear()}async function o(a){return h((await (0,e.c)()).get("SELECT * FROM providerConnections WHERE id = ?",[a]))}function p(a,b){let c=a.all("SELECT * FROM providerConnections WHERE provider = ?",[b]).map(h);c.sort((a,b)=>{let c=(a.priority||0)-(b.priority||0);return 0!==c?c:new Date(b.updatedAt||0)-new Date(a.updatedAt||0)}),c.forEach((b,c)=>{a.run("UPDATE providerConnections SET priority = ? WHERE id = ?",[c+1,b.id])})}async function q(a){let b,c=await (0,e.c)(),f=new Date().toISOString();return c.transaction(()=>{let e=c.all("SELECT * FROM providerConnections WHERE provider = ?",[a.provider]).map(h),j=null;if("oauth"===a.authType&&a.email){let b=a.providerSpecificData?.username,c=a.providerSpecificData?.chatgptAccountId;j=e.find(d=>{if("oauth"!==d.authType||d.email!==a.email)return!1;let e=d.providerSpecificData?.chatgptAccountId;if(c&&e)return c===e;if(c&&!e||!c&&e)return!1;let f=d.providerSpecificData?.username;return b&&f?b===f:!b&&!f})}else"apikey"===a.authType&&a.name&&(j=e.find(b=>"apikey"===b.authType&&b.name===a.name));if(j){let d={...j,...a,updatedAt:f};i(c,d),b=d;return}let k=a.name||null;k||"oauth"!==a.authType&&"access_token"!==a.authType||(k=a.email||`Account ${e.length+1}`);let l=a.priority;l||(l=e.reduce((a,b)=>Math.max(a,b.priority||0),0)+1);let m={id:(0,d.A)(),provider:a.provider,authType:a.authType||"oauth",name:k,priority:l,isActive:void 0===a.isActive||a.isActive,createdAt:f,updatedAt:f};for(let b of g)void 0!==a[b]&&null!==a[b]&&(m[b]=a[b]);a.providerSpecificData&&Object.keys(a.providerSpecificData).length>0&&(m.providerSpecificData=a.providerSpecificData),void 0!==a.email&&(m.email=a.email),i(c,m),p(c,a.provider),b=m}),n(),b}async function r(a,b){let c,d=await (0,e.c)();return d.transaction(()=>{let e=d.get("SELECT * FROM providerConnections WHERE id = ?",[a]);if(!e){c=null;return}let f=h(e),g={...f,...b,updatedAt:new Date().toISOString()};i(d,g),void 0!==b.priority&&p(d,f.provider),c=g}),(!b||"object"!=typeof b||Object.keys(b).some(a=>!k.has(a)))&&n(),c}async function s(a){let b=await (0,e.c)(),c=!1;return b.transaction(()=>{let d=b.get("SELECT provider FROM providerConnections WHERE id = ?",[a]);d&&(b.run("DELETE FROM providerConnections WHERE id = ?",[a]),p(b,d.provider),c=!0)}),c&&n(),c}async function t(a){let b=await (0,e.c)(),c=b.get("SELECT COUNT(*) AS n FROM providerConnections WHERE provider = ?",[a]);return b.run("DELETE FROM providerConnections WHERE provider = ?",[a]),c?.n&&n(),c?.n||0}async function u(a){let b=await (0,e.c)();b.transaction(()=>p(b,a)),n()}async function v(){let a=await (0,e.c)(),b=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","consecutiveUseCount"],c=0;return a.transaction(()=>{for(let d of a.all("SELECT * FROM providerConnections")){let e=h(d),f=!1;for(let a of b)(null===e[a]||void 0===e[a])&&a in e&&(delete e[a],c++,f=!0);e.providerSpecificData&&0===Object.keys(e.providerSpecificData).length&&(delete e.providerSpecificData,c++,f=!0),f&&i(a,e)}}),c&&n(),c}},9460:(a,b,c)=>{c.d(b,{L9:()=>r,OM:()=>j,S8:()=>o,fv:()=>l,getMitmAlias:()=>q,o5:()=>k,uL:()=>p,uv:()=>n});var d=c(36366),e=c(644),f=c(22846);let g=(0,f.U)("modelAliases"),h=(0,f.U)("customModels"),i=(0,f.U)("mitmAlias");async function j(){return await g.getAll()}async function k(a,b){await g.set(a,b)}async function l(a){await g.remove(a)}function m(a,b,c){return`${a}|${b}|${c}`}async function n(){return Object.values(await h.getAll())}async function o({providerAlias:a,id:b,type:c="llm",name:f}){let g=m(a,b,c),h=await (0,d.c)(),i=!1;return h.transaction(()=>{if(h.get("SELECT 1 FROM kv WHERE scope = 'customModels' AND key = ?",[g]))return;let d=(0,e.s)({providerAlias:a,id:b,type:c,name:f||b});h.run("INSERT INTO kv(scope, key, value) VALUES('customModels', ?, ?)",[g,d]),i=!0}),i}async function p({providerAlias:a,id:b,type:c="llm"}){await h.remove(m(a,b,c))}async function q(a){return a?await i.get(a)||{}:await i.getAll()}async function r(a,b){await i.set(a,b||{})}},11019:(a,b,c)=>{c.d(b,{A:()=>d,k:()=>e});let d=Object.freeze(["success","transport_failure","provider_failure","empty_output","incomplete","cancelled"]);function e(a){var b,c,d,e,f,g;if(!a)return null;let{completionState:h,transportOk:i,abortSeen:j,errorSeen:k,completionType:l,usableOutput:m,logicalSuccess:n}=a;return!0===j||"cancelled"===h?{classification:"cancelled",reason:j?"client_abort":"provider_cancelled"}:!1===i?{classification:"transport_failure",reason:(b=l,c=a?.responseStatus,"string"==typeof b&&b.startsWith("http")&&"http_error"!==b?b:Number.isFinite(c)?c>=500?"http_5xx":`http_${c}`:"transport")}:"failure"===h||!0===k||"malformed_sse"===l?{classification:"provider_failure",reason:(d=l,e=a,"malformed_sse"===d?"malformed_sse":"json_parse_error"===d?"malformed_json":"response.failed"===d?"provider_error":"string"==typeof d&&d.startsWith("http")?d:e?.responseStatus&&e.responseStatus>=400?`http_${e.responseStatus}`:"provider_error")}:!0!==n&&!0!==m?{classification:"empty_output",reason:(f=a,f?.hasUsage||f?.usagePresent?"usage_only":"empty_response")}:"incomplete"===h?{classification:"incomplete",reason:(g=a,"length"===g?.finishReason?"finish_reason_length":g?.completionType==="response.incomplete"?"provider_incomplete":"no_successful_terminal")}:!0===n?{classification:"success",reason:null}:{classification:"incomplete",reason:"no_successful_terminal"}}},12280:(a,b,c)=>{c.d(b,{X3:()=>m,jm:()=>o,rR:()=>p,uH:()=>n,wg:()=>f});let d=new Set(["fallback","round-robin","fusion","swarm","cascade","smart-routing"]),e=new Set(["llm","image","tts","stt","embedding","imageToText","webSearch","webFetch"]),f=Object.freeze({maxMembers:999,maxWorkers:8,maxConcurrentRunsPerPrincipal:2,maxConcurrentRunsGlobal:8,maxProviderFanout:4,minTimeoutMs:1e3,maxTimeoutMs:12e4,maxGraceMs:3e4,maxOutputChars:12e4,maxAggregateOutputChars:3e5,maxLogicalCalls:16,maxEstimatedCostUsd:1/0}),g=/^[a-zA-Z0-9_.-]+\/.+$/,h=(a,b,c,d)=>{let e=Number.parseInt(a,10);return Number.isFinite(e)?Math.min(d,Math.max(c,e)):b},i=(a,b,c,d)=>{let e=Number(a);return Number.isFinite(e)?Math.min(d,Math.max(c,e)):b},j=new Set(["auto","off","extended","effort"]),k=new Set(["low","medium","high","max"]),l=["riset","research","cari sumber","sumber terpercaya","terbaru","compare","bandingkan","cite","summarize article","rangkum artikel","berita","trend","studi","jurnal","menurut data","investigate","look up","search the web","find information","web search"];function m(a={}){var b;let c,e,g=a&&"object"==typeof a&&!Array.isArray(a)?a:{},n=(c="string"==typeof(b=g.fallbackStrategy)?b.trim().toLowerCase():"fallback",d.has(c)?c:"fallback"),o=h(g.workerCount,4,1,f.maxWorkers),p=g.swarmTuning&&"object"==typeof g.swarmTuning?g.swarmTuning:{},q=g.fusionTuning&&"object"==typeof g.fusionTuning?g.fusionTuning:{},r=g.budgets&&"object"==typeof g.budgets?g.budgets:{},s=g.cascade&&"object"==typeof g.cascade?g.cascade:{},t=g.capabilityAdapter&&"object"==typeof g.capabilityAdapter?g.capabilityAdapter:{},u=g.smartRouting&&"object"==typeof g.smartRouting&&!Array.isArray(g.smartRouting)?g.smartRouting:{},v=u.intentDetection&&"object"==typeof u.intentDetection&&!Array.isArray(u.intentDetection)?u.intentDetection:{},w=v.llmClassifierFallback&&"object"==typeof v.llmClassifierFallback&&!Array.isArray(v.llmClassifierFallback)?v.llmClassifierFallback:{};return{fallbackStrategy:n,judgeModel:"string"==typeof g.judgeModel?g.judgeModel.trim():"",managerModel:"string"==typeof g.managerModel?g.managerModel.trim():"",staffModel:"string"==typeof g.staffModel?g.staffModel.trim():"",auditModel:"string"==typeof g.auditModel?g.auditModel.trim():"",workerCount:o,enableTelemetry:!1!==g.enableTelemetry,thinking:function(a){let b=a&&"object"==typeof a&&!Array.isArray(a)?a:{},c=j.has(b.type)?b.type:"auto",d={type:c};if("effort"===c&&(d.effort="string"==typeof b.effort&&k.has(b.effort)?b.effort:"high"),"extended"===c&&(d.budgetTokens=h(b.budgetTokens,4096,1024,128e3)),b.roles&&"object"==typeof b.roles&&!Array.isArray(b.roles))for(let[a,c]of(d.roles={},Object.entries(b.roles))){if(!c||"object"!=typeof c)continue;let b=j.has(c.type)?c.type:"inherit";"inherit"===b?d.roles[a]={type:"inherit",...c.effort?{effort:c.effort}:{},...c.budgetTokens?{budgetTokens:c.budgetTokens}:{}}:"off"===b||"auto"===b?d.roles[a]={type:b}:"effort"===b?d.roles[a]={type:"effort",effort:k.has(c.effort)?c.effort:"high"}:"extended"===b&&(d.roles[a]={type:"extended",budgetTokens:h(c.budgetTokens,4096,1024,128e3)})}return d}(g.thinking),cascade:{confidenceThreshold:h((e=s&&"object"==typeof s&&!Array.isArray(s)?s:{}).confidenceThreshold,70,0,100),confidencePrompt:"string"==typeof e.confidencePrompt&&e.confidencePrompt.trim()?e.confidencePrompt.trim():"Rate your confidence in this answer from 0 to 100. End your response with exactly: CONFIDENCE: <number>",escalatePrompt:"string"==typeof e.escalatePrompt&&e.escalatePrompt.trim()?e.escalatePrompt.trim():"A prior model gave the following answer with low confidence. Review it, correct any issues, and provide a better answer.",maxStages:h(e.maxStages,3,1,8)},smartRouting:{cookiePoolEnabled:!1!==u.cookiePoolEnabled,intentDetection:{confidenceThreshold:i(v.confidenceThreshold,.6,0,1),keywords:Array.isArray(v.keywords)?v.keywords.filter(a=>"string"==typeof a&&a.trim()).map(a=>a.trim().toLowerCase()):[...l],urlPatternBoost:!1!==v.urlPatternBoost,llmClassifierFallback:{enabled:!0===w.enabled,model:"string"==typeof w.model&&w.model.trim()?w.model.trim():"kr/claude-haiku-4.5",promptTemplate:"string"==typeof w.promptTemplate&&w.promptTemplate.trim()?w.promptTemplate.trim():"Classify the following user task as one of: research, coding, general. Respond with a single word.\n\nTask: {{userPrompt}}"}}},capabilityAdapter:{enabled:"boolean"==typeof t.enabled?t.enabled:null,fallbackModel:"string"==typeof t.fallbackModel?t.fallbackModel.trim():""},fusionTuning:{minPanel:h(q.minPanel,2,2,f.maxMembers),stragglerGraceMs:h(q.stragglerGraceMs,8e3,0,f.maxGraceMs),panelHardTimeoutMs:h(q.panelHardTimeoutMs,9e4,f.minTimeoutMs,f.maxTimeoutMs)},swarmTuning:{workerHardTimeoutMs:h(p.workerHardTimeoutMs,9e4,f.minTimeoutMs,f.maxTimeoutMs),workerQuorum:h(p.workerQuorum,Math.min(2,o),1,o),stragglerGraceMs:h(p.stragglerGraceMs,1e4,0,f.maxGraceMs),managerTimeoutMs:h(p.managerTimeoutMs,6e4,f.minTimeoutMs,f.maxTimeoutMs),minWorkers:h(p.minWorkers,Math.min(2,o),1,o),maxWorkers:h(p.maxWorkers,o,1,f.maxWorkers)},budgets:{enabled:!0===r.enabled,maxLogicalCalls:h(r.maxLogicalCalls,f.maxLogicalCalls,1,f.maxLogicalCalls),maxOutputChars:h(r.maxOutputChars,f.maxOutputChars,1e3,f.maxOutputChars),maxAggregateOutputChars:h(r.maxAggregateOutputChars,f.maxAggregateOutputChars,5e3,f.maxAggregateOutputChars),maxEstimatedCostUsd:i(r.maxEstimatedCostUsd,f.maxEstimatedCostUsd,.01,f.maxEstimatedCostUsd)},autoScale:{enabled:g.autoScale?.enabled===!0,minWorkers:h(g.autoScale?.minWorkers,1,1,g.autoScale?.maxWorkers||f.maxWorkers),maxWorkers:h(g.autoScale?.maxWorkers,o||f.maxWorkers,1,f.maxWorkers)}}}function n(a,{allowPartial:b=!1}={}){let c=[];if((!b||void 0!==a.name)&&("string"==typeof a.name&&a.name.trim()?/^[a-zA-Z0-9_.-]+$/.test(a.name)||c.push("Name can only contain letters, numbers, -, _ and ."):c.push("Name is required")),!b||void 0!==a.models)if(Array.isArray(a.models)){let b=a.models.map(a=>"string"==typeof a?a.trim():"");b.length<1&&c.push("At least one model is required"),b.some(a=>!g.test(a))&&c.push("Every model must use provider/model format"),new Set(b).size!==b.length&&c.push("Duplicate models are not allowed")}else c.push("Models must be an array");if(void 0===a.kind||null===a.kind||e.has(a.kind)||c.push("Invalid combo kind"),void 0!==a.strategyConfig){let b=a.strategyConfig;if(!b||"object"!=typeof b||Array.isArray(b))c.push("strategyConfig must be an object");else{for(let a of["judgeModel","managerModel","staffModel","auditModel"])b[a]&&!g.test(String(b[a]).trim())&&c.push(`${a} must use provider/model format`);[b.fusionTuning,b.swarmTuning,b.budgets].filter(Boolean).some(a=>"object"!=typeof a||Array.isArray(a))&&c.push("Tuning and budgets must be objects")}}return{valid:0===c.length,errors:c}}function o(a,b){let c=m(a);return"fusion"===c.fallbackStrategy?Math.min(b,f.maxMembers)+1:"swarm"===c.fallbackStrategy?Math.min(c.workerCount,f.maxWorkers)+4:"cascade"===c.fallbackStrategy?Math.min(b,c.cascade?.maxStages||3):Math.max(1,Math.min(b,f.maxMembers))}function p(a,b){let c=m(a),d=o(a,b);return"fusion"===c.fallbackStrategy?{min:d,max:d}:{min:1,max:d}}},22846:(a,b,c)=>{c.d(b,{U:()=>f});var d=c(36366),e=c(644);function f(a){return{async get(b,c=null){let f=(await (0,d.c)()).get("SELECT value FROM kv WHERE scope = ? AND key = ?",[a,b]);return f?(0,e.q)(f.value,c):c},async getAll(){let b=(await (0,d.c)()).all("SELECT key, value FROM kv WHERE scope = ?",[a]),c={};for(let a of b)c[a.key]=(0,e.q)(a.value);return c},async set(b,c){(await (0,d.c)()).run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,b,(0,e.s)(c)])},async setMany(b){let c=await (0,d.c)();c.transaction(()=>{for(let[d,f]of Object.entries(b))c.run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,d,(0,e.s)(f)])})},async remove(b){(await (0,d.c)()).run("DELETE FROM kv WHERE scope = ? AND key = ?",[a,b])},async clear(){(await (0,d.c)()).run("DELETE FROM kv WHERE scope = ?",[a])}}}},42655:(a,b,c)=>{c.d(b,{Xx:()=>m,exportSettings:()=>n,getSettings:()=>l});var d=c(36366),e=c(644);let f={cloudEnabled:!1,tunnelEnabled:!1,tunnelUrl:"",tunnelProvider:"cloudflare",tailscaleEnabled:!1,tailscaleUrl:"",stickyRoundRobinLimit:3,providerStrategies:{},comboStrategy:"fallback",comboStickyRoundRobinLimit:1,comboStrategies:{},comboCapabilityAdapterEnabled:!0,requireLogin:!0,tunnelDashboardAccess:!0,authMode:"password",oidcIssuerUrl:"",oidcClientId:"",oidcClientSecret:"",oidcScopes:"openid profile email",oidcLoginLabel:"Sign in with OIDC",enableObservability:!1,observabilityMaxRecords:1e3,observabilityBatchSize:20,observabilityFlushIntervalMs:5e3,observabilityMaxJsonSize:5,circuitBreaker:{enabled:!0,failureThreshold:5,windowMs:6e4,cooldownMs:3e4,halfOpenMaxCalls:1},healthMonitor:{enabled:!0,windowMs:3e5},outboundProxyEnabled:!1,outboundProxyUrl:"",outboundNoProxy:"",mitmRouterBaseUrl:"http://localhost:20128",dnsToolEnabled:{},rtkEnabled:!0,headroomEnabled:!1,headroomUrl:process.env.HEADROOM_URL||"http://localhost:8787",headroomCompressUserMessages:!1,cavemanEnabled:!1,cavemanLevel:"full",ponytailEnabled:!1,ponytailLevel:"full",pxpipeEnabled:!1,pxpipeAutoInstall:!1,pxpipeMinChars:25e3,pxpipeTimeoutMs:5e3,semanticCacheEnabled:!1,semanticCacheThreshold:.85,webhookEnabled:!1,webhookDiscordUrl:"",webhookTelegramToken:"",webhookTelegramChatId:"",webhookGenericUrl:"",webhookAlertEvents:{providerDown:!0,rateLimited:!0,healthDegraded:!0,budgetExceeded:!1}};async function g(){let a=(await (0,d.c)()).get("SELECT data FROM settings WHERE id = 1");return a?(0,e.q)(a.data,{}):{}}let h=["circuitBreaker","healthMonitor","webhookAlertEvents"];function i(a){let b={...f,...a||{}};for(let[a,c]of Object.entries(f))void 0===b[a]?"outboundProxyEnabled"===a&&"string"==typeof b.outboundProxyUrl&&b.outboundProxyUrl.trim()?b[a]=!0:b[a]=c:h.includes(a)&&c&&"object"==typeof c&&!Array.isArray(c)&&b[a]&&"object"==typeof b[a]&&!Array.isArray(b[a])&&(b[a]={...c,...b[a]});return b}let j=null;async function k(){return i(await g())}async function l(){let a=Date.now(),b=j;if(b&&a-b.at<5e3)return b.promise;let c=k().catch(a=>{throw j=null,a});return j={promise:c,at:a},c}async function m(a){let b,c=await (0,d.c)();return c.transaction(()=>{let d=c.get("SELECT data FROM settings WHERE id = 1"),f=d?(0,e.q)(d.data,{}):{};if(b={...f,...a},a&&"object"==typeof a.comboStrategies&&!Array.isArray(a.comboStrategies)){let c={...f.comboStrategies&&"object"==typeof f.comboStrategies?f.comboStrategies:{}};for(let[b,d]of Object.entries(a.comboStrategies))null===d?delete c[b]:c[b]={...c[b]||{},...d||{}};b.comboStrategies=c}for(let c of h)if(a&&Object.prototype.hasOwnProperty.call(a,c)&&a[c]&&"object"==typeof a[c]&&!Array.isArray(a[c])){let d=f[c]&&"object"==typeof f[c]?f[c]:{};b[c]={...d,...a[c]}}c.run("INSERT INTO settings(id, data) VALUES(1, ?) ON CONFLICT(id) DO UPDATE SET data = excluded.data",[(0,e.s)(b)])}),j=null,i(b)}async function n(){return await g()}},47765:(a,b,c)=>{c.d(b,{S8:()=>s.S8,E5:()=>y.E5,bI:()=>g.cleanupProviderConnections,Iq:()=>q.createApiKey,jd:()=>r.jd,iE:()=>g.createProviderConnection,i0:()=>h.createProviderNode,ZO:()=>n,Lh:()=>q.deleteApiKey,CG:()=>r.CG,uL:()=>s.uL,fv:()=>s.fv,fK:()=>g.deleteProviderConnection,op:()=>g.deleteProviderConnectionsByProvider,Pc:()=>h.deleteProviderNode,Yd:()=>p,tm:()=>w,oF:()=>x,zP:()=>O,rg:()=>y.rg,yg:()=>q.getApiKeyById,mY:()=>q.getApiKeyByKey,PX:()=>q.getApiKeys,j$:()=>y.j$,L:()=>r.L,Dj:()=>r.Dj,Uv:()=>r.Uv,uv:()=>s.uv,vF:()=>v,Lk:()=>M,Re:()=>y.Re,R0:()=>y.R0,c:()=>s.getMitmAlias,OM:()=>s.OM,r4:()=>t.r4,Mc:()=>g.getProviderConnectionById,P:()=>g.getProviderConnections,Qu:()=>h.getProviderNodeById,Fh:()=>h.getProviderNodes,hr:()=>m,ui:()=>l,Zx:()=>y.Zx,SL:()=>L,mt:()=>f.getSettings,Q5:()=>y.Q5,PK:()=>y.PK,M2:()=>y.M2,BY:()=>y.BY,K1:()=>P,VT:()=>t.VT,yF:()=>t.yF,ox:()=>K,sZ:()=>y.sZ,L9:()=>s.L9,o5:()=>s.o5,_V:()=>y._V,uw:()=>y.uw,XW:()=>q.updateApiKey,oG:()=>r.oG,KJ:()=>t.KJ,rj:()=>g.updateProviderConnection,ho:()=>h.updateProviderNode,Q_:()=>o,Xx:()=>f.Xx,ek:()=>q.validateApiKey});var d=c(36366),e=c(644),f=c(42655),g=c(5781),h=c(1129),i=c(94755);function j(a){return a?{...(0,e.q)(a.data,{}),id:a.id,isActive:1===a.isActive||!0===a.isActive,testStatus:a.testStatus,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function k(a,b){let c=function(a){let{id:b,isActive:c,testStatus:d,createdAt:f,updatedAt:g,...h}=a;return{id:b,isActive:+(!1!==c),testStatus:d??null,data:(0,e.s)(h),createdAt:f,updatedAt:g}}(b);a.run(`INSERT INTO proxyPools(id, isActive, testStatus, data, createdAt, updatedAt)
10
+ VALUES(?, ?, ?, ?, ?, ?)
11
+ ON CONFLICT(id) DO UPDATE SET
12
+ isActive=excluded.isActive, testStatus=excluded.testStatus,
13
+ data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.isActive,c.testStatus,c.data,c.createdAt,c.updatedAt])}async function l(a={}){let b=await (0,d.c)(),c=[],e=[];void 0!==a.isActive&&(c.push("isActive = ?"),e.push(+!!a.isActive)),a.testStatus&&(c.push("testStatus = ?"),e.push(a.testStatus));let f=`SELECT * FROM proxyPools${c.length?` WHERE ${c.join(" AND ")}`:""}`,g=b.all(f,e).map(j);return g.sort((a,b)=>new Date(b.updatedAt||0)-new Date(a.updatedAt||0)),g}async function m(a){return j((await (0,d.c)()).get("SELECT * FROM proxyPools WHERE id = ?",[a]))}async function n(a){let b=await (0,d.c)(),c=new Date().toISOString(),e={id:a.id||(0,i.A)(),name:a.name,proxyUrl:a.proxyUrl,noProxy:a.noProxy||"",type:a.type||"http",isActive:void 0===a.isActive||a.isActive,strictProxy:!0===a.strictProxy,testStatus:a.testStatus||"unknown",lastTestedAt:a.lastTestedAt||null,lastError:a.lastError||null,createdAt:c,updatedAt:c};return k(b,e),e}async function o(a,b){let c=await (0,d.c)(),e=null;return c.transaction(()=>{let d=c.get("SELECT * FROM proxyPools WHERE id = ?",[a]);if(!d)return;let f={...j(d),...b,updatedAt:new Date().toISOString()};k(c,f),e=f}),e}async function p(a){let b=await (0,d.c)(),c=null;return b.transaction(()=>{let d=b.get("SELECT * FROM proxyPools WHERE id = ?",[a]);d&&(c=j(d),b.run("DELETE FROM proxyPools WHERE id = ?",[a]))}),c}var q=c(74452),r=c(1541),s=c(9460),t=c(97914);let u="disabledModels";async function v(){let a=(await (0,d.c)()).all("SELECT key, value FROM kv WHERE scope = ?",[u]),b={};for(let c of a)b[c.key]=(0,e.q)(c.value,[]);return b}async function w(a,b){if(!a||!Array.isArray(b))return;let c=await (0,d.c)();c.transaction(()=>{let d=c.get("SELECT value FROM kv WHERE scope = ? AND key = ?",[u,a]),f=[...new Set([...d&&(0,e.q)(d.value,[])||[],...b])];c.run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[u,a,(0,e.s)(f)])})}async function x(a,b){if(!a)return;let c=await (0,d.c)();c.transaction(()=>{if(!Array.isArray(b)||0===b.length)return void c.run("DELETE FROM kv WHERE scope = ? AND key = ?",[u,a]);let d=c.get("SELECT value FROM kv WHERE scope = ? AND key = ?",[u,a]),f=d&&(0,e.q)(d.value,[])||[],g=new Set(b),h=f.filter(a=>!g.has(a));0===h.length?c.run("DELETE FROM kv WHERE scope = ? AND key = ?",[u,a]):c.run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[u,a,(0,e.s)(h)])})}var y=c(5604),z=c(71799);let A=null,B=0;async function C(){if(A&&Date.now()-B<5e3)return A;try{let{getSettings:a}=await Promise.resolve().then(c.bind(c,42655)),b=await a(),d="true"===process.env.OBSERVABILITY_ENABLED;A={enabled:"boolean"==typeof b.enableObservability?b.enableObservability:d,maxRecords:b.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:b.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:b.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(b.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{A={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return B=Date.now(),A}let D=[],E=null,F=!1,G=[/\bsk-[A-Za-z0-9_-]{8,}\b/g,/\bBearer\s+[A-Za-z0-9._~+/=-]+/gi,/\beyJ[A-Za-z0-9_-]{6,}\.[A-Za-z0-9_-]{6,}\.[A-Za-z0-9_-]{6,}\b/g];function H(a,b=0){if(b>12)return a;if("string"==typeof a){let b=a;for(let a of G)b=b.replace(a,"[REDACTED]");return b}if(Array.isArray(a))return a.map(a=>H(a,b+1));if(a&&"object"==typeof a){let c={};for(let[d,e]of Object.entries(a))c[d]=H(e,b+1);return c}return a}function I(a,b){let c=JSON.stringify(a||{});return c.length>b?{_truncated:!0,_originalSize:c.length,_preview:c.substring(0,200)}:a||{}}async function J(){if(!F&&0!==D.length){F=!0;try{for(;D.length>0;){let a=D.splice(0,D.length),b=await (0,d.c)(),c=await C();b.transaction(()=>{for(let d of a){d.id||(d.id=function(a){let b=new Date().toISOString(),c=Math.random().toString(36).substring(2,8),d=a?a.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${b}-${c}-${d}`}(d.model)),d.timestamp||(d.timestamp=new Date().toISOString()),d.request?.headers&&(d.request.headers=function(a){if(!a||"object"!=typeof a)return{};let b=["authorization","x-api-key","cookie","token","api-key"],c={...a};for(let a of Object.keys(c))b.some(b=>a.toLowerCase().includes(b))&&delete c[a];return c}(d.request.headers));let a={id:d.id,provider:d.provider||null,model:d.model||null,connectionId:d.connectionId||null,timestamp:d.timestamp,status:d.status||null,latency:d.latency||{},tokens:d.tokens||{},combo:d.combo||null,request:I(H(d.request),c.maxJsonSize),providerRequest:I(H(d.providerRequest),c.maxJsonSize),providerResponse:I(H(d.providerResponse),c.maxJsonSize),response:I(H(d.response),c.maxJsonSize)},f=b.get("SELECT status FROM requestDetails WHERE id = ?",[a.id]);(0,z.Og)(f?.status,a.status)||b.run("INSERT INTO requestDetails(id, timestamp, provider, model, connectionId, status, data) VALUES(?, ?, ?, ?, ?, ?, ?) ON CONFLICT(id) DO UPDATE SET timestamp = excluded.timestamp, provider = excluded.provider, model = excluded.model, connectionId = excluded.connectionId, status = excluded.status, data = excluded.data",[a.id,a.timestamp,a.provider,a.model,a.connectionId,a.status,(0,e.s)(a)])}let d=b.get("SELECT COUNT(*) as c FROM requestDetails");d&&d.c>c.maxRecords&&b.run("DELETE FROM requestDetails WHERE id IN (SELECT id FROM requestDetails ORDER BY timestamp ASC LIMIT ?)",[d.c-c.maxRecords])})}}catch(a){console.error("[requestDetailsRepo] Batch write failed:",a)}finally{F=!1}}}async function K(a){let b=await C();b.enabled&&(D.push(a),D.length>=b.batchSize?(E&&(clearTimeout(E),E=null),J().catch(a=>console.error("[requestDetailsRepo] flush err:",a))):E||(E=setTimeout(()=>{E=null,J().catch(()=>{})},b.flushIntervalMs)))}async function L(a={}){let b=await (0,d.c)(),c=[],f=[];a.provider&&(c.push("provider = ?"),f.push(a.provider)),a.model&&(c.push("model = ?"),f.push(a.model)),a.connectionId&&(c.push("connectionId = ?"),f.push(a.connectionId)),a.status&&(c.push("status = ?"),f.push(a.status)),a.startDate&&(c.push("timestamp >= ?"),f.push(new Date(a.startDate).toISOString())),a.endDate&&(c.push("timestamp <= ?"),f.push(new Date(a.endDate).toISOString()));let g=c.length?`WHERE ${c.join(" AND ")}`:"",h=b.get(`SELECT COUNT(*) as c FROM requestDetails ${g}`,f),i=h?h.c:0,j=a.page||1,k=a.pageSize||50,l=Math.ceil(i/k);return{details:b.all(`SELECT data FROM requestDetails ${g} ORDER BY timestamp DESC LIMIT ? OFFSET ?`,[...f,k,(j-1)*k]).map(a=>(0,e.q)(a.data,{})),pagination:{page:j,pageSize:k,totalItems:i,totalPages:l,hasNext:j<l,hasPrev:j>1}}}async function M(){return(await (0,d.c)()).all("SELECT DISTINCT provider FROM requestDetails WHERE provider IS NOT NULL AND provider != '' ORDER BY provider").map(a=>a.provider)}let N=async()=>{E&&(clearTimeout(E),E=null),D.length>0&&await J()};async function O(){let a=await (0,d.c)(),{exportSettings:b}=await Promise.resolve().then(c.bind(c,42655)),f={settings:await b(),providerConnections:a.all("SELECT * FROM providerConnections").map(a=>({...(0,e.q)(a.data,{}),id:a.id,provider:a.provider,authType:a.authType,name:a.name,email:a.email,priority:a.priority,isActive:1===a.isActive,createdAt:a.createdAt,updatedAt:a.updatedAt})),providerNodes:a.all("SELECT * FROM providerNodes").map(a=>({...(0,e.q)(a.data,{}),id:a.id,type:a.type,name:a.name,createdAt:a.createdAt,updatedAt:a.updatedAt})),proxyPools:a.all("SELECT * FROM proxyPools").map(a=>({...(0,e.q)(a.data,{}),id:a.id,isActive:1===a.isActive,testStatus:a.testStatus,createdAt:a.createdAt,updatedAt:a.updatedAt})),apiKeys:a.all("SELECT * FROM apiKeys").map(a=>({id:a.id,key:a.key,name:a.name,machineId:a.machineId,isActive:1===a.isActive,createdAt:a.createdAt})),combos:a.all("SELECT * FROM combos").map(a=>({id:a.id,name:a.name,kind:a.kind,models:(0,e.q)(a.models,[]),strategyConfig:(0,e.q)(a.strategyConfig,{}),revision:Number(a.revision)||1,createdAt:a.createdAt,updatedAt:a.updatedAt})),modelAliases:{},customModels:[],mitmAlias:{},pricing:{}};for(let b of a.all("SELECT key, value FROM kv WHERE scope = 'modelAliases'"))f.modelAliases[b.key]=(0,e.q)(b.value);for(let b of a.all("SELECT key, value FROM kv WHERE scope = 'customModels'"))f.customModels.push((0,e.q)(b.value));for(let b of a.all("SELECT key, value FROM kv WHERE scope = 'mitmAlias'"))f.mitmAlias[b.key]=(0,e.q)(b.value);for(let b of a.all("SELECT key, value FROM kv WHERE scope = 'pricing'"))f.pricing[b.key]=(0,e.q)(b.value);return f}async function P(a){if(!a||"object"!=typeof a||Array.isArray(a))throw Error("Invalid database payload");let b=await (0,d.c)();return b.transaction(()=>{for(let c of(b.run("DELETE FROM settings"),b.run("DELETE FROM providerConnections"),b.run("DELETE FROM providerNodes"),b.run("DELETE FROM proxyPools"),b.run("DELETE FROM apiKeys"),b.run("DELETE FROM combos"),b.run("DELETE FROM kv WHERE scope IN ('modelAliases', 'customModels', 'mitmAlias', 'pricing')"),a.settings&&b.run("INSERT INTO settings(id, data) VALUES(1, ?) ON CONFLICT(id) DO UPDATE SET data = excluded.data",[(0,e.s)(a.settings)]),a.providerConnections||[])){let{id:a,provider:d,authType:f,name:g,email:h,priority:i,isActive:j,createdAt:k,updatedAt:l,...m}=c;b.run("INSERT OR REPLACE INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",[a,d,f||"oauth",g||null,h||null,i||null,+(!1!==j),(0,e.s)(m),k||new Date().toISOString(),l||new Date().toISOString()])}for(let c of a.providerNodes||[]){let{id:a,type:d,name:f,createdAt:g,updatedAt:h,...i}=c;b.run("INSERT OR REPLACE INTO providerNodes(id, type, name, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[a,d||null,f||null,(0,e.s)(i),g||new Date().toISOString(),h||new Date().toISOString()])}for(let c of a.proxyPools||[]){let{id:a,isActive:d,testStatus:f,createdAt:g,updatedAt:h,...i}=c;b.run("INSERT OR REPLACE INTO proxyPools(id, isActive, testStatus, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[a,+(!1!==d),f||"unknown",(0,e.s)(i),g||new Date().toISOString(),h||new Date().toISOString()])}for(let c of a.apiKeys||[])b.run("INSERT OR REPLACE INTO apiKeys(id, key, name, machineId, isActive, createdAt) VALUES(?, ?, ?, ?, ?, ?)",[c.id,c.key,c.name||null,c.machineId||null,+(!1!==c.isActive),c.createdAt||new Date().toISOString()]);for(let c of a.combos||[])b.run("INSERT OR REPLACE INTO combos(id, name, kind, models, strategyConfig, revision, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?, ?, ?)",[c.id,c.name,c.kind||null,(0,e.s)(c.models||[]),(0,e.s)(c.strategyConfig||{}),Number(c.revision)||1,c.createdAt||new Date().toISOString(),c.updatedAt||new Date().toISOString()]);for(let[c,d]of Object.entries(a.modelAliases||{}))b.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('modelAliases', ?, ?)",[c,(0,e.s)(d)]);for(let c of a.customModels||[]){let a=`${c.providerAlias}|${c.id}|${c.type||"llm"}`;b.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('customModels', ?, ?)",[a,(0,e.s)(c)])}for(let[c,d]of Object.entries(a.mitmAlias||{}))b.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('mitmAlias', ?, ?)",[c,(0,e.s)(d||{})]);for(let[c,d]of Object.entries(a.pricing||{}))b.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('pricing', ?, ?)",[c,(0,e.s)(d||{})])}),invalidateSettingsCache(),invalidateConnectionsCache(),await O()}process.off("beforeExit",N),process.off("SIGINT",N),process.off("SIGTERM",N),process.off("exit",N),process.on("beforeExit",N),process.on("SIGINT",N),process.on("SIGTERM",N),process.on("exit",N)},71799:(a,b,c)=>{c.d(b,{KY:()=>e,Og:()=>h,YI:()=>g});var d=c(11019);let e="streaming";Object.freeze(["success","failure","error","incomplete","cancelled","empty_output"]),Object.freeze([e,"success","failure","error","incomplete","cancelled","empty_output"]);let f=Object.freeze({success:"success",provider_failure:"failure",transport_failure:"error",empty_output:"empty_output",incomplete:"incomplete",cancelled:"cancelled"});function g(a){let b=a?.classification;return b&&d.A.includes(b)&&f[b]?f[b]:"incomplete"}function h(a,b){return!!a&&("success"===a||"failure"===a||"error"===a||"incomplete"===a||"cancelled"===a||"empty_output"===a)&&a!==b}},74452:(a,b,c)=>{c.r(b),c.d(b,{createApiKey:()=>k,deleteApiKey:()=>m,getApiKeyById:()=>i,getApiKeyByKey:()=>j,getApiKeys:()=>h,updateApiKey:()=>l,validateApiKey:()=>n});var d=c(94755),e=c(36366),f=c(644);function g(a){return a?{id:a.id,key:a.key,name:a.name,machineId:a.machineId,allowedModels:(0,f.q)(a.allowedModels,null),isActive:1===a.isActive||!0===a.isActive,createdAt:a.createdAt}:null}async function h(){return(await (0,e.c)()).all("SELECT * FROM apiKeys ORDER BY createdAt ASC").map(g)}async function i(a){return g((await (0,e.c)()).get("SELECT * FROM apiKeys WHERE id = ?",[a]))}async function j(a){return g((await (0,e.c)()).get("SELECT * FROM apiKeys WHERE key = ?",[a]))}async function k(a,b,g=null){if(!b)throw Error("machineId is required");let h=await (0,e.c)(),{generateApiKeyWithMachine:i}=await c.e(6844).then(c.bind(c,86844)),j=i(b),l={id:(0,d.A)(),name:a,key:j.key,machineId:b,allowedModels:g,isActive:!0,createdAt:new Date().toISOString()};return h.run("INSERT INTO apiKeys(id, key, name, machineId, allowedModels, isActive, createdAt) VALUES(?, ?, ?, ?, ?, ?, ?)",[l.id,l.key,l.name,l.machineId,g?(0,f.s)(g):null,1,l.createdAt]),l}async function l(a,b){let c=await (0,e.c)(),d=null;return c.transaction(()=>{let e=c.get("SELECT * FROM apiKeys WHERE id = ?",[a]);if(!e)return;let h={...g(e),...b};c.run("UPDATE apiKeys SET key = ?, name = ?, machineId = ?, allowedModels = ?, isActive = ? WHERE id = ?",[h.key,h.name,h.machineId,h.allowedModels?(0,f.s)(h.allowedModels):null,+!!h.isActive,a]),d=h}),d}async function m(a){let b=(await (0,e.c)()).run("DELETE FROM apiKeys WHERE id = ?",[a]);return(b?.changes??0)>0}async function n(a){let b=(await (0,e.c)()).get("SELECT isActive FROM apiKeys WHERE key = ?",[a]);return!!b&&(1===b.isActive||!0===b.isActive)}},97914:(a,b,c)=>{c.d(b,{KJ:()=>l,VT:()=>n,getPricingForModel:()=>k,r4:()=>j,yF:()=>m});var d=c(36366),e=c(644);let f=(0,c(22846).U)("pricing"),g={value:null,expiresAt:0};function h(){g={value:null,expiresAt:0}}async function i(){return await f.getAll()}async function j(){let a=Date.now();if(g.value&&g.expiresAt>a)return g.value;let b=await i(),{PROVIDER_PRICING:d}=await Promise.resolve().then(c.bind(c,58920)),e={};for(let[a,c]of Object.entries(d))if(e[a]={...c},b[a])for(let[c,d]of Object.entries(b[a]))e[a][c]=e[a][c]?{...e[a][c],...d}:d;for(let[a,c]of Object.entries(b))if(e[a])for(let[b,d]of Object.entries(c))e[a][b]||(e[a][b]=d);else e[a]={...c};return g={value:e,expiresAt:a+5e3},e}async function k(a,b){if(!b)return null;let d=await i();if(a&&d[a]?.[b])return d[a][b];let{getPricingForModel:e}=await Promise.resolve().then(c.bind(c,58920));return e(a,b)}async function l(a){let b=await (0,d.c)();return b.transaction(()=>{for(let[c,d]of Object.entries(a)){let a=b.get("SELECT value FROM kv WHERE scope = 'pricing' AND key = ?",[c]),f={...a&&(0,e.q)(a.value,{})||{}};for(let[a,b]of Object.entries(d))f[a]=b;b.run("INSERT INTO kv(scope, key, value) VALUES('pricing', ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[c,(0,e.s)(f)])}}),h(),await i()}async function m(a,b){if(!a)return await i();let c=await (0,d.c)();return c.transaction(()=>{if(!b)return void c.run("DELETE FROM kv WHERE scope = 'pricing' AND key = ?",[a]);let d=c.get("SELECT value FROM kv WHERE scope = 'pricing' AND key = ?",[a]),f=d&&(0,e.q)(d.value,{})||{};delete f[b],0===Object.keys(f).length?c.run("DELETE FROM kv WHERE scope = 'pricing' AND key = ?",[a]):c.run("INSERT INTO kv(scope, key, value) VALUES('pricing', ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,(0,e.s)(f)])}),h(),await i()}async function n(){return await f.clear(),h(),{}}}};