@rsalmn/extremerouter 0.7.9 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (897) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +4 -3
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/prerender-manifest.json +3 -3
  5. package/app/.next-cli-build/routes-manifest.json +6 -0
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/alerts/page.js +2 -2
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/alerts/page.js.nft.json +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/alerts/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +3 -3
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/health/page.js +2 -2
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/health/page.js.nft.json +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +2 -2
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/overview/page.js +2 -2
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/overview/page.js.nft.json +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/overview/page_client-reference-manifest.js +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js +2 -2
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js.nft.json +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +3 -3
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/swarm/page.js +2 -2
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/swarm/page.js.nft.json +1 -1
  77. package/app/.next-cli-build/server/app/(dashboard)/dashboard/swarm/page_client-reference-manifest.js +1 -1
  78. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +2 -2
  79. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  80. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  81. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  82. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  83. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  84. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  85. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  86. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  87. package/app/.next-cli-build/server/app/_global-error/page.js +3 -3
  88. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  89. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  90. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  91. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  92. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  93. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  94. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  95. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  96. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  97. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  98. package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  99. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  100. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  101. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  102. package/app/.next-cli-build/server/app/_not-found.rsc +19 -18
  103. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +19 -18
  104. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  105. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +8 -7
  106. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  107. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  108. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  109. package/app/.next-cli-build/server/app/api/alerts/test/route.js +2 -2
  110. package/app/.next-cli-build/server/app/api/alerts/test/route.js.nft.json +1 -1
  111. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  112. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  113. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  114. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  115. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  116. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  117. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  118. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  119. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  120. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  122. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  124. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/cache/route.js +1 -1
  126. package/app/.next-cli-build/server/app/api/cache/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
  128. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  130. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  132. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  134. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  136. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  138. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  140. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  142. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  144. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  146. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  148. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  150. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +3 -3
  152. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  154. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  155. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  156. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  158. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  160. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  162. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  164. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/combos/validate-roles/route.js +1 -1
  166. package/app/.next-cli-build/server/app/api/combos/validate-roles/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/dashboard/stream/route.js +2 -2
  168. package/app/.next-cli-build/server/app/api/dashboard/stream/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  170. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  172. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +2 -2
  174. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/health/providers/route.js +1 -1
  176. package/app/.next-cli-build/server/app/api/health/providers/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  178. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/health/stream/route.js +2 -2
  180. package/app/.next-cli-build/server/app/api/health/stream/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  182. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  184. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  185. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  186. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  187. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  188. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +2 -2
  190. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  191. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
  192. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  194. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  196. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  197. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  198. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  200. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  201. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  202. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  203. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  204. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  206. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  208. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  209. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  210. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  212. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  214. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/oauth/1min/import/route.js +1 -1
  216. package/app/.next-cli-build/server/app/api/oauth/1min/import/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  218. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  220. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  222. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  224. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  225. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  226. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  227. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  228. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  229. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  230. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  231. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  232. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  233. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  234. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  235. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  236. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  238. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  240. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  242. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/oauth/qwen/import/route.js +1 -0
  244. package/app/.next-cli-build/server/app/api/oauth/qwen/import/route.js.nft.json +1 -0
  245. package/app/.next-cli-build/server/app/api/oauth/qwen/import/route_client-reference-manifest.js +1 -0
  246. package/app/.next-cli-build/server/app/api/oauth/wp-studio/import/route.js +1 -1
  247. package/app/.next-cli-build/server/app/api/oauth/wp-studio/import/route.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js +2 -2
  249. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js +1 -1
  251. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js.nft.json +1 -1
  252. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  253. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  254. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  255. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  257. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  258. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  259. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  260. package/app/.next-cli-build/server/app/api/providers/[id]/agnes-profile/route.js +1 -1
  261. package/app/.next-cli-build/server/app/api/providers/[id]/agnes-profile/route.js.nft.json +1 -1
  262. package/app/.next-cli-build/server/app/api/providers/[id]/freebuff-profile/route.js +1 -1
  263. package/app/.next-cli-build/server/app/api/providers/[id]/freebuff-profile/route.js.nft.json +1 -1
  264. package/app/.next-cli-build/server/app/api/providers/[id]/health-timeline/route.js +1 -1
  265. package/app/.next-cli-build/server/app/api/providers/[id]/health-timeline/route.js.nft.json +1 -1
  266. package/app/.next-cli-build/server/app/api/providers/[id]/inxora-profile/route.js +1 -1
  267. package/app/.next-cli-build/server/app/api/providers/[id]/inxora-profile/route.js.nft.json +1 -1
  268. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  269. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  270. package/app/.next-cli-build/server/app/api/providers/[id]/onemin-api-profile/route.js +1 -1
  271. package/app/.next-cli-build/server/app/api/providers/[id]/onemin-api-profile/route.js.nft.json +1 -1
  272. package/app/.next-cli-build/server/app/api/providers/[id]/onemin-profile/route.js +1 -1
  273. package/app/.next-cli-build/server/app/api/providers/[id]/onemin-profile/route.js.nft.json +1 -1
  274. package/app/.next-cli-build/server/app/api/providers/[id]/qwencloud-profile/route.js +1 -1
  275. package/app/.next-cli-build/server/app/api/providers/[id]/qwencloud-profile/route.js.nft.json +1 -1
  276. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  277. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  278. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  279. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  281. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  282. package/app/.next-cli-build/server/app/api/providers/[id]/v0-profile/route.js +1 -1
  283. package/app/.next-cli-build/server/app/api/providers/[id]/v0-profile/route.js.nft.json +1 -1
  284. package/app/.next-cli-build/server/app/api/providers/[id]/vault-pool/route.js +1 -1
  285. package/app/.next-cli-build/server/app/api/providers/[id]/vault-pool/route.js.nft.json +1 -1
  286. package/app/.next-cli-build/server/app/api/providers/[id]/zenmux-plans/route.js +1 -1
  287. package/app/.next-cli-build/server/app/api/providers/[id]/zenmux-plans/route.js.nft.json +1 -1
  288. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  289. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  290. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  291. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  292. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  293. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  294. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  295. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  296. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  297. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  298. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  299. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  300. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  301. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  302. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  303. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  304. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  305. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  306. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  307. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  308. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  309. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  310. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  311. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  312. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
  313. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  314. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
  315. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  316. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  317. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  318. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  319. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  320. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  321. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  322. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  323. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  324. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  325. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  326. package/app/.next-cli-build/server/app/api/swarm/active/route.js +1 -1
  327. package/app/.next-cli-build/server/app/api/swarm/active/route.js.nft.json +1 -1
  328. package/app/.next-cli-build/server/app/api/swarm/stream/route.js +2 -2
  329. package/app/.next-cli-build/server/app/api/swarm/stream/route.js.nft.json +1 -1
  330. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  331. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  332. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  333. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  334. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  335. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  336. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  337. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  338. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  339. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  340. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  341. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  342. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  343. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  344. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  345. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  346. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  347. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  348. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  349. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  350. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  351. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  352. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  353. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  354. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  355. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  356. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  357. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  358. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  359. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  360. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  361. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  362. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  363. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  364. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  365. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  366. package/app/.next-cli-build/server/app/api/usage/leaderboard/route.js +1 -1
  367. package/app/.next-cli-build/server/app/api/usage/leaderboard/route.js.nft.json +1 -1
  368. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  369. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  370. package/app/.next-cli-build/server/app/api/usage/meta/route.js +1 -1
  371. package/app/.next-cli-build/server/app/api/usage/meta/route.js.nft.json +1 -1
  372. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  373. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  374. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  375. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  376. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  377. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  378. package/app/.next-cli-build/server/app/api/usage/retry-stats/route.js +1 -1
  379. package/app/.next-cli-build/server/app/api/usage/retry-stats/route.js.nft.json +1 -1
  380. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  381. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  382. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  383. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  384. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  385. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  386. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  387. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  388. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  389. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  390. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  391. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  392. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  393. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  394. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  395. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  396. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  397. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  398. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  399. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  400. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  401. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  402. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  403. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  404. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  405. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  406. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  407. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  408. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  409. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  410. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  411. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  412. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  413. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  414. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  415. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  416. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  417. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  418. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  419. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  420. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  421. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  422. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  423. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  424. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  425. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  426. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  427. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  428. package/app/.next-cli-build/server/app/callback/page.js +2 -2
  429. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  430. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  431. package/app/.next-cli-build/server/app/callback.html +1 -1
  432. package/app/.next-cli-build/server/app/callback.rsc +23 -22
  433. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +23 -22
  434. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  435. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +8 -7
  436. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  437. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  438. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  439. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  440. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  441. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  442. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  443. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +23 -22
  444. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +23 -22
  445. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  446. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +8 -7
  447. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  448. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  449. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  450. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  451. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  452. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  453. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  454. package/app/.next-cli-build/server/app/index.html +1 -1
  455. package/app/.next-cli-build/server/app/index.rsc +18 -17
  456. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  457. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +18 -17
  458. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  459. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +8 -7
  460. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  461. package/app/.next-cli-build/server/app/landing/page.js +2 -2
  462. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  463. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  464. package/app/.next-cli-build/server/app/landing.html +1 -1
  465. package/app/.next-cli-build/server/app/landing.rsc +23 -22
  466. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +23 -22
  467. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  468. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +8 -7
  469. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  470. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  471. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  472. package/app/.next-cli-build/server/app/login/page.js +2 -2
  473. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  474. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  475. package/app/.next-cli-build/server/app/login.html +1 -1
  476. package/app/.next-cli-build/server/app/login.rsc +23 -22
  477. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +23 -22
  478. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  479. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +8 -7
  480. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  481. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  482. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  483. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  484. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  485. package/app/.next-cli-build/server/app/page.js +2 -2
  486. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  487. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  488. package/app/.next-cli-build/server/app-paths-manifest.json +4 -3
  489. package/app/.next-cli-build/server/chunks/1051.js +1 -1
  490. package/app/.next-cli-build/server/chunks/1350.js +1 -1
  491. package/app/.next-cli-build/server/chunks/1719.js +1 -1
  492. package/app/.next-cli-build/server/chunks/212.js +1 -1
  493. package/app/.next-cli-build/server/chunks/2231.js +1 -1
  494. package/app/.next-cli-build/server/chunks/23.js +9 -0
  495. package/app/.next-cli-build/server/chunks/2701.js +1 -1
  496. package/app/.next-cli-build/server/chunks/2926.js +1 -1
  497. package/app/.next-cli-build/server/chunks/3593.js +1 -1
  498. package/app/.next-cli-build/server/chunks/412.js +1 -1
  499. package/app/.next-cli-build/server/chunks/4362.js +9 -0
  500. package/app/.next-cli-build/server/chunks/4502.js +16 -0
  501. package/app/.next-cli-build/server/chunks/4632.js +1 -1
  502. package/app/.next-cli-build/server/chunks/4739.js +1 -1
  503. package/app/.next-cli-build/server/chunks/4780.js +1 -1
  504. package/app/.next-cli-build/server/chunks/{1239.js → 5050.js} +1 -1
  505. package/app/.next-cli-build/server/chunks/507.js +1 -1
  506. package/app/.next-cli-build/server/chunks/5258.js +1 -1
  507. package/app/.next-cli-build/server/chunks/{318.js → 5330.js} +5 -5
  508. package/app/.next-cli-build/server/chunks/5612.js +1 -1
  509. package/app/.next-cli-build/server/chunks/5615.js +1 -1
  510. package/app/.next-cli-build/server/chunks/5628.js +1 -1
  511. package/app/.next-cli-build/server/chunks/5699.js +1 -1
  512. package/app/.next-cli-build/server/chunks/5781.js +2 -2
  513. package/app/.next-cli-build/server/chunks/5961.js +1 -1
  514. package/app/.next-cli-build/server/chunks/6070.js +1 -1
  515. package/app/.next-cli-build/server/chunks/615.js +1 -1
  516. package/app/.next-cli-build/server/chunks/6316.js +2 -2
  517. package/app/.next-cli-build/server/chunks/698.js +1 -1
  518. package/app/.next-cli-build/server/chunks/7187.js +1 -0
  519. package/app/.next-cli-build/server/chunks/7872.js +1 -1
  520. package/app/.next-cli-build/server/chunks/7965.js +1 -1
  521. package/app/.next-cli-build/server/chunks/8238.js +1 -1
  522. package/app/.next-cli-build/server/chunks/8271.js +1 -1
  523. package/app/.next-cli-build/server/chunks/8520.js +1 -1
  524. package/app/.next-cli-build/server/chunks/8895.js +4 -4
  525. package/app/.next-cli-build/server/chunks/9140.js +1 -0
  526. package/app/.next-cli-build/server/chunks/9422.js +3 -3
  527. package/app/.next-cli-build/server/chunks/9630.js +1 -1
  528. package/app/.next-cli-build/server/chunks/9703.js +1 -1
  529. package/app/.next-cli-build/server/chunks/9903.js +1 -1
  530. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  531. package/app/.next-cli-build/server/middleware.js +4 -4
  532. package/app/.next-cli-build/server/pages/404.html +1 -1
  533. package/app/.next-cli-build/server/pages/500.html +1 -1
  534. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  535. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  536. package/app/.next-cli-build/static/ZpBU8xc4kSeLftltRrIa6/_buildManifest.js +1 -0
  537. package/app/.next-cli-build/static/chunks/1321-675f131c5a80b166.js +1 -0
  538. package/app/.next-cli-build/static/chunks/{5497-c5ee857b78a8cf8a.js → 5497-2e59e6171ac782ae.js} +2 -2
  539. package/app/.next-cli-build/static/chunks/8105-42ffe16677c2f8f8.js +1 -0
  540. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-61b6cf127f421af9.js +1 -0
  541. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-53ab489f01e3da19.js → page-eca89af2e4f561e3.js} +1 -1
  542. package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-df0ed16971ba7386.js → layout-9144cc5f6a208199.js} +1 -1
  543. package/app/.next-cli-build/static/chunks/app/_global-error/{page-abffaa46b4637bee.js → page-dfe796be45352c7b.js} +1 -1
  544. package/app/.next-cli-build/static/chunks/app/api/alerts/test/{route-abffaa46b4637bee.js → route-dfe796be45352c7b.js} +1 -1
  545. package/app/.next-cli-build/static/chunks/app/api/auth/login/{route-abffaa46b4637bee.js → route-dfe796be45352c7b.js} +1 -1
  546. package/app/.next-cli-build/static/chunks/app/api/auth/logout/{route-abffaa46b4637bee.js → route-dfe796be45352c7b.js} +1 -1
  547. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-dfe796be45352c7b.js +1 -0
  548. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-dfe796be45352c7b.js +1 -0
  549. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-dfe796be45352c7b.js +1 -0
  550. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-dfe796be45352c7b.js +1 -0
  551. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-dfe796be45352c7b.js +1 -0
  552. package/app/.next-cli-build/static/chunks/app/api/cache/route-dfe796be45352c7b.js +1 -0
  553. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-dfe796be45352c7b.js +1 -0
  554. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-dfe796be45352c7b.js +1 -0
  555. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-dfe796be45352c7b.js +1 -0
  556. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-dfe796be45352c7b.js +1 -0
  557. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-dfe796be45352c7b.js +1 -0
  558. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-dfe796be45352c7b.js +1 -0
  559. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-dfe796be45352c7b.js +1 -0
  560. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-dfe796be45352c7b.js +1 -0
  561. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-dfe796be45352c7b.js +1 -0
  562. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-dfe796be45352c7b.js +1 -0
  563. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-dfe796be45352c7b.js +1 -0
  564. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-dfe796be45352c7b.js +1 -0
  565. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-dfe796be45352c7b.js +1 -0
  566. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-dfe796be45352c7b.js +1 -0
  567. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-dfe796be45352c7b.js +1 -0
  568. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-dfe796be45352c7b.js +1 -0
  569. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-dfe796be45352c7b.js +1 -0
  570. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-dfe796be45352c7b.js +1 -0
  571. package/app/.next-cli-build/static/chunks/app/api/combos/route-dfe796be45352c7b.js +1 -0
  572. package/app/.next-cli-build/static/chunks/app/api/combos/validate-roles/route-dfe796be45352c7b.js +1 -0
  573. package/app/.next-cli-build/static/chunks/app/api/dashboard/stream/route-dfe796be45352c7b.js +1 -0
  574. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-dfe796be45352c7b.js +1 -0
  575. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-dfe796be45352c7b.js +1 -0
  576. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-dfe796be45352c7b.js +1 -0
  577. package/app/.next-cli-build/static/chunks/app/api/health/providers/route-dfe796be45352c7b.js +1 -0
  578. package/app/.next-cli-build/static/chunks/app/api/health/route-dfe796be45352c7b.js +1 -0
  579. package/app/.next-cli-build/static/chunks/app/api/health/stream/route-dfe796be45352c7b.js +1 -0
  580. package/app/.next-cli-build/static/chunks/app/api/init/route-dfe796be45352c7b.js +1 -0
  581. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-dfe796be45352c7b.js +1 -0
  582. package/app/.next-cli-build/static/chunks/app/api/keys/route-dfe796be45352c7b.js +1 -0
  583. package/app/.next-cli-build/static/chunks/app/api/locale/route-dfe796be45352c7b.js +1 -0
  584. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-dfe796be45352c7b.js +1 -0
  585. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-dfe796be45352c7b.js +1 -0
  586. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-dfe796be45352c7b.js +1 -0
  587. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-dfe796be45352c7b.js +1 -0
  588. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-dfe796be45352c7b.js +1 -0
  589. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-dfe796be45352c7b.js +1 -0
  590. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-dfe796be45352c7b.js +1 -0
  591. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-dfe796be45352c7b.js +1 -0
  592. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-dfe796be45352c7b.js +1 -0
  593. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-dfe796be45352c7b.js +1 -0
  594. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-dfe796be45352c7b.js +1 -0
  595. package/app/.next-cli-build/static/chunks/app/api/models/route-dfe796be45352c7b.js +1 -0
  596. package/app/.next-cli-build/static/chunks/app/api/models/test/route-dfe796be45352c7b.js +1 -0
  597. package/app/.next-cli-build/static/chunks/app/api/oauth/1min/import/route-dfe796be45352c7b.js +1 -0
  598. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-dfe796be45352c7b.js +1 -0
  599. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-dfe796be45352c7b.js +1 -0
  600. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-dfe796be45352c7b.js +1 -0
  601. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-dfe796be45352c7b.js +1 -0
  602. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-dfe796be45352c7b.js +1 -0
  603. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-dfe796be45352c7b.js +1 -0
  604. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-dfe796be45352c7b.js +1 -0
  605. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-dfe796be45352c7b.js +1 -0
  606. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-dfe796be45352c7b.js +1 -0
  607. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-dfe796be45352c7b.js +1 -0
  608. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-dfe796be45352c7b.js +1 -0
  609. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-dfe796be45352c7b.js +1 -0
  610. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-dfe796be45352c7b.js +1 -0
  611. package/app/.next-cli-build/static/chunks/app/api/oauth/qwen/import/route-dfe796be45352c7b.js +1 -0
  612. package/app/.next-cli-build/static/chunks/app/api/oauth/wp-studio/import/route-dfe796be45352c7b.js +1 -0
  613. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-dfe796be45352c7b.js +1 -0
  614. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-dfe796be45352c7b.js +1 -0
  615. package/app/.next-cli-build/static/chunks/app/api/pricing/route-dfe796be45352c7b.js +1 -0
  616. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-dfe796be45352c7b.js +1 -0
  617. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-dfe796be45352c7b.js +1 -0
  618. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-dfe796be45352c7b.js +1 -0
  619. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/agnes-profile/route-dfe796be45352c7b.js +1 -0
  620. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/freebuff-profile/route-dfe796be45352c7b.js +1 -0
  621. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/health-timeline/route-dfe796be45352c7b.js +1 -0
  622. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/inxora-profile/route-dfe796be45352c7b.js +1 -0
  623. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-dfe796be45352c7b.js +1 -0
  624. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/onemin-api-profile/route-dfe796be45352c7b.js +1 -0
  625. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/onemin-profile/route-dfe796be45352c7b.js +1 -0
  626. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/qwencloud-profile/route-dfe796be45352c7b.js +1 -0
  627. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-dfe796be45352c7b.js +1 -0
  628. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-dfe796be45352c7b.js +1 -0
  629. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-dfe796be45352c7b.js +1 -0
  630. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/v0-profile/route-dfe796be45352c7b.js +1 -0
  631. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/vault-pool/route-dfe796be45352c7b.js +1 -0
  632. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/zenmux-plans/route-dfe796be45352c7b.js +1 -0
  633. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-dfe796be45352c7b.js +1 -0
  634. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-dfe796be45352c7b.js +1 -0
  635. package/app/.next-cli-build/static/chunks/app/api/providers/route-dfe796be45352c7b.js +1 -0
  636. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-dfe796be45352c7b.js +1 -0
  637. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-dfe796be45352c7b.js +1 -0
  638. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-dfe796be45352c7b.js +1 -0
  639. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-dfe796be45352c7b.js +1 -0
  640. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-dfe796be45352c7b.js +1 -0
  641. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-dfe796be45352c7b.js +1 -0
  642. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-dfe796be45352c7b.js +1 -0
  643. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-dfe796be45352c7b.js +1 -0
  644. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-dfe796be45352c7b.js +1 -0
  645. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-dfe796be45352c7b.js +1 -0
  646. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-dfe796be45352c7b.js +1 -0
  647. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-dfe796be45352c7b.js +1 -0
  648. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-dfe796be45352c7b.js +1 -0
  649. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-dfe796be45352c7b.js +1 -0
  650. package/app/.next-cli-build/static/chunks/app/api/settings/route-dfe796be45352c7b.js +1 -0
  651. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-dfe796be45352c7b.js +1 -0
  652. package/app/.next-cli-build/static/chunks/app/api/swarm/active/route-dfe796be45352c7b.js +1 -0
  653. package/app/.next-cli-build/static/chunks/app/api/swarm/stream/route-dfe796be45352c7b.js +1 -0
  654. package/app/.next-cli-build/static/chunks/app/api/tags/route-dfe796be45352c7b.js +1 -0
  655. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-dfe796be45352c7b.js +1 -0
  656. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-dfe796be45352c7b.js +1 -0
  657. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-dfe796be45352c7b.js +1 -0
  658. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-dfe796be45352c7b.js +1 -0
  659. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-dfe796be45352c7b.js +1 -0
  660. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-dfe796be45352c7b.js +1 -0
  661. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-dfe796be45352c7b.js +1 -0
  662. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-dfe796be45352c7b.js +1 -0
  663. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-dfe796be45352c7b.js +1 -0
  664. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-dfe796be45352c7b.js +1 -0
  665. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-dfe796be45352c7b.js +1 -0
  666. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-dfe796be45352c7b.js +1 -0
  667. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-dfe796be45352c7b.js +1 -0
  668. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-dfe796be45352c7b.js +1 -0
  669. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-dfe796be45352c7b.js +1 -0
  670. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-dfe796be45352c7b.js +1 -0
  671. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-dfe796be45352c7b.js +1 -0
  672. package/app/.next-cli-build/static/chunks/app/api/usage/leaderboard/route-dfe796be45352c7b.js +1 -0
  673. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-dfe796be45352c7b.js +1 -0
  674. package/app/.next-cli-build/static/chunks/app/api/usage/meta/route-dfe796be45352c7b.js +1 -0
  675. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-dfe796be45352c7b.js +1 -0
  676. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-dfe796be45352c7b.js +1 -0
  677. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-dfe796be45352c7b.js +1 -0
  678. package/app/.next-cli-build/static/chunks/app/api/usage/retry-stats/route-dfe796be45352c7b.js +1 -0
  679. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-dfe796be45352c7b.js +1 -0
  680. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-dfe796be45352c7b.js +1 -0
  681. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-dfe796be45352c7b.js +1 -0
  682. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-dfe796be45352c7b.js +1 -0
  683. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-dfe796be45352c7b.js +1 -0
  684. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-dfe796be45352c7b.js +1 -0
  685. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-dfe796be45352c7b.js +1 -0
  686. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-dfe796be45352c7b.js +1 -0
  687. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-dfe796be45352c7b.js +1 -0
  688. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-dfe796be45352c7b.js +1 -0
  689. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-dfe796be45352c7b.js +1 -0
  690. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-dfe796be45352c7b.js +1 -0
  691. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-dfe796be45352c7b.js +1 -0
  692. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-dfe796be45352c7b.js +1 -0
  693. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-dfe796be45352c7b.js +1 -0
  694. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-dfe796be45352c7b.js +1 -0
  695. package/app/.next-cli-build/static/chunks/app/api/v1/route-dfe796be45352c7b.js +1 -0
  696. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-dfe796be45352c7b.js +1 -0
  697. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-dfe796be45352c7b.js +1 -0
  698. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-dfe796be45352c7b.js +1 -0
  699. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-dfe796be45352c7b.js +1 -0
  700. package/app/.next-cli-build/static/chunks/app/api/version/route-dfe796be45352c7b.js +1 -0
  701. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-dfe796be45352c7b.js +1 -0
  702. package/app/.next-cli-build/static/chunks/app/api/version/update/route-dfe796be45352c7b.js +1 -0
  703. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-dfe796be45352c7b.js +1 -0
  704. package/app/.next-cli-build/static/chunks/app/page-dfe796be45352c7b.js +1 -0
  705. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-dfe796be45352c7b.js +1 -0
  706. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-dfe796be45352c7b.js +1 -0
  707. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-dfe796be45352c7b.js +1 -0
  708. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-dfe796be45352c7b.js +1 -0
  709. package/app/.next-cli-build/static/css/58f8f5fb2d2ac134.css +1 -0
  710. package/app/cli/.build-home/AppData/Roaming/extremerouter/db/backups/schema-3-to-4-0.8.0-20260802-152036/data.sqlite +0 -0
  711. package/app/cli/.build-home/AppData/Roaming/extremerouter/db/backups/upgrade-0.7.8-to-0.7.9-0.7.9-20260729-181011/data.sqlite +0 -0
  712. package/app/cli/.build-home/AppData/Roaming/extremerouter/db/backups/upgrade-0.7.9-to-0.8.0-0.8.0-20260729-213634/data.sqlite +0 -0
  713. package/app/cli/.build-home/AppData/Roaming/extremerouter/db/data.sqlite +0 -0
  714. package/app/cli/.build-home/AppData/Roaming/extremerouter/db/data.sqlite-shm +0 -0
  715. package/app/cli/.build-home/AppData/Roaming/extremerouter/db/data.sqlite-wal +0 -0
  716. package/app/package.json +87 -87
  717. package/app/public/providers/agnes-api.svg +6 -6
  718. package/app/public/providers/agnes-web.svg +6 -6
  719. package/app/public/providers/stepfun.svg +53 -53
  720. package/app/public/providers/wp-studio.svg +11 -11
  721. package/app/src/lib/db/adapters/sqljsAdapter.js +115 -115
  722. package/app/src/lib/db/migrate.js +286 -286
  723. package/package.json +1 -1
  724. package/app/.next-cli-build/server/chunks/3992.js +0 -1
  725. package/app/.next-cli-build/server/chunks/4040.js +0 -9
  726. package/app/.next-cli-build/server/chunks/4356.js +0 -9
  727. package/app/.next-cli-build/server/chunks/5983.js +0 -9
  728. package/app/.next-cli-build/static/LTz0FqDsVsVSFbsHZibmc/_buildManifest.js +0 -1
  729. package/app/.next-cli-build/static/chunks/1321-7d2ce22078e1dffb.js +0 -1
  730. package/app/.next-cli-build/static/chunks/8105-705e80a4c161374b.js +0 -1
  731. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-a91bcaf7425e68a3.js +0 -1
  732. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-abffaa46b4637bee.js +0 -1
  733. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-abffaa46b4637bee.js +0 -1
  734. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-abffaa46b4637bee.js +0 -1
  735. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-abffaa46b4637bee.js +0 -1
  736. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-abffaa46b4637bee.js +0 -1
  737. package/app/.next-cli-build/static/chunks/app/api/cache/route-abffaa46b4637bee.js +0 -1
  738. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-abffaa46b4637bee.js +0 -1
  739. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-abffaa46b4637bee.js +0 -1
  740. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-abffaa46b4637bee.js +0 -1
  741. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-abffaa46b4637bee.js +0 -1
  742. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-abffaa46b4637bee.js +0 -1
  743. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-abffaa46b4637bee.js +0 -1
  744. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-abffaa46b4637bee.js +0 -1
  745. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-abffaa46b4637bee.js +0 -1
  746. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-abffaa46b4637bee.js +0 -1
  747. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-abffaa46b4637bee.js +0 -1
  748. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-abffaa46b4637bee.js +0 -1
  749. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-abffaa46b4637bee.js +0 -1
  750. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-abffaa46b4637bee.js +0 -1
  751. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-abffaa46b4637bee.js +0 -1
  752. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-abffaa46b4637bee.js +0 -1
  753. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-abffaa46b4637bee.js +0 -1
  754. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-abffaa46b4637bee.js +0 -1
  755. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-abffaa46b4637bee.js +0 -1
  756. package/app/.next-cli-build/static/chunks/app/api/combos/route-abffaa46b4637bee.js +0 -1
  757. package/app/.next-cli-build/static/chunks/app/api/combos/validate-roles/route-abffaa46b4637bee.js +0 -1
  758. package/app/.next-cli-build/static/chunks/app/api/dashboard/stream/route-abffaa46b4637bee.js +0 -1
  759. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-abffaa46b4637bee.js +0 -1
  760. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-abffaa46b4637bee.js +0 -1
  761. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-abffaa46b4637bee.js +0 -1
  762. package/app/.next-cli-build/static/chunks/app/api/health/providers/route-abffaa46b4637bee.js +0 -1
  763. package/app/.next-cli-build/static/chunks/app/api/health/route-abffaa46b4637bee.js +0 -1
  764. package/app/.next-cli-build/static/chunks/app/api/health/stream/route-abffaa46b4637bee.js +0 -1
  765. package/app/.next-cli-build/static/chunks/app/api/init/route-abffaa46b4637bee.js +0 -1
  766. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-abffaa46b4637bee.js +0 -1
  767. package/app/.next-cli-build/static/chunks/app/api/keys/route-abffaa46b4637bee.js +0 -1
  768. package/app/.next-cli-build/static/chunks/app/api/locale/route-abffaa46b4637bee.js +0 -1
  769. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-abffaa46b4637bee.js +0 -1
  770. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-abffaa46b4637bee.js +0 -1
  771. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-abffaa46b4637bee.js +0 -1
  772. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-abffaa46b4637bee.js +0 -1
  773. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-abffaa46b4637bee.js +0 -1
  774. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-abffaa46b4637bee.js +0 -1
  775. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-abffaa46b4637bee.js +0 -1
  776. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-abffaa46b4637bee.js +0 -1
  777. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-abffaa46b4637bee.js +0 -1
  778. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-abffaa46b4637bee.js +0 -1
  779. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-abffaa46b4637bee.js +0 -1
  780. package/app/.next-cli-build/static/chunks/app/api/models/route-abffaa46b4637bee.js +0 -1
  781. package/app/.next-cli-build/static/chunks/app/api/models/test/route-abffaa46b4637bee.js +0 -1
  782. package/app/.next-cli-build/static/chunks/app/api/oauth/1min/import/route-abffaa46b4637bee.js +0 -1
  783. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-abffaa46b4637bee.js +0 -1
  784. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-abffaa46b4637bee.js +0 -1
  785. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-abffaa46b4637bee.js +0 -1
  786. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-abffaa46b4637bee.js +0 -1
  787. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-abffaa46b4637bee.js +0 -1
  788. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-abffaa46b4637bee.js +0 -1
  789. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-abffaa46b4637bee.js +0 -1
  790. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-abffaa46b4637bee.js +0 -1
  791. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-abffaa46b4637bee.js +0 -1
  792. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-abffaa46b4637bee.js +0 -1
  793. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-abffaa46b4637bee.js +0 -1
  794. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-abffaa46b4637bee.js +0 -1
  795. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-abffaa46b4637bee.js +0 -1
  796. package/app/.next-cli-build/static/chunks/app/api/oauth/wp-studio/import/route-abffaa46b4637bee.js +0 -1
  797. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-abffaa46b4637bee.js +0 -1
  798. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-abffaa46b4637bee.js +0 -1
  799. package/app/.next-cli-build/static/chunks/app/api/pricing/route-abffaa46b4637bee.js +0 -1
  800. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-abffaa46b4637bee.js +0 -1
  801. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-abffaa46b4637bee.js +0 -1
  802. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-abffaa46b4637bee.js +0 -1
  803. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/agnes-profile/route-abffaa46b4637bee.js +0 -1
  804. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/freebuff-profile/route-abffaa46b4637bee.js +0 -1
  805. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/health-timeline/route-abffaa46b4637bee.js +0 -1
  806. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/inxora-profile/route-abffaa46b4637bee.js +0 -1
  807. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-abffaa46b4637bee.js +0 -1
  808. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/onemin-api-profile/route-abffaa46b4637bee.js +0 -1
  809. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/onemin-profile/route-abffaa46b4637bee.js +0 -1
  810. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/qwencloud-profile/route-abffaa46b4637bee.js +0 -1
  811. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-abffaa46b4637bee.js +0 -1
  812. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-abffaa46b4637bee.js +0 -1
  813. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-abffaa46b4637bee.js +0 -1
  814. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/v0-profile/route-abffaa46b4637bee.js +0 -1
  815. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/vault-pool/route-abffaa46b4637bee.js +0 -1
  816. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/zenmux-plans/route-abffaa46b4637bee.js +0 -1
  817. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-abffaa46b4637bee.js +0 -1
  818. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-abffaa46b4637bee.js +0 -1
  819. package/app/.next-cli-build/static/chunks/app/api/providers/route-abffaa46b4637bee.js +0 -1
  820. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-abffaa46b4637bee.js +0 -1
  821. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-abffaa46b4637bee.js +0 -1
  822. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-abffaa46b4637bee.js +0 -1
  823. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-abffaa46b4637bee.js +0 -1
  824. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-abffaa46b4637bee.js +0 -1
  825. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-abffaa46b4637bee.js +0 -1
  826. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-abffaa46b4637bee.js +0 -1
  827. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-abffaa46b4637bee.js +0 -1
  828. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-abffaa46b4637bee.js +0 -1
  829. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-abffaa46b4637bee.js +0 -1
  830. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-abffaa46b4637bee.js +0 -1
  831. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-abffaa46b4637bee.js +0 -1
  832. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-abffaa46b4637bee.js +0 -1
  833. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-abffaa46b4637bee.js +0 -1
  834. package/app/.next-cli-build/static/chunks/app/api/settings/route-abffaa46b4637bee.js +0 -1
  835. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-abffaa46b4637bee.js +0 -1
  836. package/app/.next-cli-build/static/chunks/app/api/swarm/active/route-abffaa46b4637bee.js +0 -1
  837. package/app/.next-cli-build/static/chunks/app/api/swarm/stream/route-abffaa46b4637bee.js +0 -1
  838. package/app/.next-cli-build/static/chunks/app/api/tags/route-abffaa46b4637bee.js +0 -1
  839. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-abffaa46b4637bee.js +0 -1
  840. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-abffaa46b4637bee.js +0 -1
  841. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-abffaa46b4637bee.js +0 -1
  842. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-abffaa46b4637bee.js +0 -1
  843. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-abffaa46b4637bee.js +0 -1
  844. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-abffaa46b4637bee.js +0 -1
  845. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-abffaa46b4637bee.js +0 -1
  846. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-abffaa46b4637bee.js +0 -1
  847. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-abffaa46b4637bee.js +0 -1
  848. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-abffaa46b4637bee.js +0 -1
  849. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-abffaa46b4637bee.js +0 -1
  850. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-abffaa46b4637bee.js +0 -1
  851. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-abffaa46b4637bee.js +0 -1
  852. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-abffaa46b4637bee.js +0 -1
  853. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-abffaa46b4637bee.js +0 -1
  854. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-abffaa46b4637bee.js +0 -1
  855. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-abffaa46b4637bee.js +0 -1
  856. package/app/.next-cli-build/static/chunks/app/api/usage/leaderboard/route-abffaa46b4637bee.js +0 -1
  857. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-abffaa46b4637bee.js +0 -1
  858. package/app/.next-cli-build/static/chunks/app/api/usage/meta/route-abffaa46b4637bee.js +0 -1
  859. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-abffaa46b4637bee.js +0 -1
  860. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-abffaa46b4637bee.js +0 -1
  861. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-abffaa46b4637bee.js +0 -1
  862. package/app/.next-cli-build/static/chunks/app/api/usage/retry-stats/route-abffaa46b4637bee.js +0 -1
  863. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-abffaa46b4637bee.js +0 -1
  864. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-abffaa46b4637bee.js +0 -1
  865. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-abffaa46b4637bee.js +0 -1
  866. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-abffaa46b4637bee.js +0 -1
  867. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-abffaa46b4637bee.js +0 -1
  868. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-abffaa46b4637bee.js +0 -1
  869. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-abffaa46b4637bee.js +0 -1
  870. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-abffaa46b4637bee.js +0 -1
  871. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-abffaa46b4637bee.js +0 -1
  872. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-abffaa46b4637bee.js +0 -1
  873. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-abffaa46b4637bee.js +0 -1
  874. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-abffaa46b4637bee.js +0 -1
  875. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-abffaa46b4637bee.js +0 -1
  876. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-abffaa46b4637bee.js +0 -1
  877. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-abffaa46b4637bee.js +0 -1
  878. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-abffaa46b4637bee.js +0 -1
  879. package/app/.next-cli-build/static/chunks/app/api/v1/route-abffaa46b4637bee.js +0 -1
  880. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-abffaa46b4637bee.js +0 -1
  881. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-abffaa46b4637bee.js +0 -1
  882. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-abffaa46b4637bee.js +0 -1
  883. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-abffaa46b4637bee.js +0 -1
  884. package/app/.next-cli-build/static/chunks/app/api/version/route-abffaa46b4637bee.js +0 -1
  885. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-abffaa46b4637bee.js +0 -1
  886. package/app/.next-cli-build/static/chunks/app/api/version/update/route-abffaa46b4637bee.js +0 -1
  887. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-abffaa46b4637bee.js +0 -1
  888. package/app/.next-cli-build/static/chunks/app/page-abffaa46b4637bee.js +0 -1
  889. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-abffaa46b4637bee.js +0 -1
  890. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-abffaa46b4637bee.js +0 -1
  891. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-abffaa46b4637bee.js +0 -1
  892. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-abffaa46b4637bee.js +0 -1
  893. package/app/.next-cli-build/static/css/d7d86034708483b4.css +0 -1
  894. package/app/cli/.build-home/AppData/Roaming/extremerouter/db/backups/upgrade-0.7.5-to-0.7.6-0.7.6-20260725-174113/data.sqlite +0 -0
  895. package/app/cli/.build-home/AppData/Roaming/extremerouter/db/backups/upgrade-0.7.6-to-0.7.7-0.7.7-20260726-222051/data.sqlite +0 -0
  896. package/app/cli/.build-home/AppData/Roaming/extremerouter/db/backups/upgrade-0.7.6-to-0.7.7-0.7.7-20260726-222052/data.sqlite +0 -0
  897. /package/app/.next-cli-build/static/{LTz0FqDsVsVSFbsHZibmc → ZpBU8xc4kSeLftltRrIa6}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3649],{49293:(e,t,a)=>{Promise.resolve().then(a.bind(a,85330))},85330:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>D});var s=a(95155),l=a(12115),r=a(73321),o=a(35497),n=a(11059);let i=/^[a-zA-Z0-9_.\-]+$/,c=[{value:"fallback",label:"Fallback",desc:"Try models in order, next on failure",icon:"layers"},{value:"round-robin",label:"Round Robin",desc:"Rotate models across requests",icon:"cached"},{value:"fusion",label:"Fusion",desc:"Parallel panel + judge synthesis",icon:"hub"},{value:"swarm",label:"Swarm",desc:"Hierarchical Manager→Staff→Workers",icon:"account_tree"},{value:"cascade",label:"Cascade",desc:"Escalate cheap→capable on low confidence",icon:"trending_up"}],d={fallback:{icon:"layers",color:"#3B82F6",badge:"info"},"round-robin":{icon:"cached",color:"#10B981",badge:"success"},fusion:{icon:"hub",color:"#8B5CF6",badge:"primary"},swarm:{icon:"account_tree",color:"#F59E0B",badge:"warning"},cascade:{icon:"trending_up",color:"#06B6D4",badge:"cyan"}};function m(e){return d[e]||d.fallback}function x(e){let t=c.find(t=>t.value===e);return t?.label||"Fallback"}let u=[{value:"all",label:"All"},{value:"fallback",label:"Fallback"},{value:"round-robin",label:"Round Robin"},{value:"fusion",label:"Fusion"},{value:"swarm",label:"Swarm"},{value:"cascade",label:"Cascade"}],p=[{value:"name",label:"Name"},{value:"models-desc",label:"Most Models"},{value:"models-asc",label:"Fewest Models"}];function h({combos:e,comboStrategies:t,activeProviders:a,onViewCombos:l,onCreate:r}){let n=e.length,i=function(e){let t=new Set;for(let a of e)for(let e of a.models||[])t.add(e);return t.size}(e),c=function(e,t){let a={fallback:0,"round-robin":0,fusion:0,swarm:0,cascade:0},s=new Set(["fallback","round-robin","fusion","swarm","cascade"]);for(let l of e){let e=t[l.name]?.fallbackStrategy||"fallback",r=s.has(e)?e:"fallback";a[r]=(a[r]||0)+1}return a}(e,t),d=Object.values(c).filter(e=>e>0).length,u=n>0?Math.round(e.reduce((e,t)=>e+(t.models?.length||0),0)/n*10)/10:0,p=Math.max(...Object.values(c),1);return(0,s.jsxs)("div",{className:"flex flex-col gap-5",children:[(0,s.jsx)("div",{className:"grid grid-cols-2 gap-3 lg:grid-cols-4",children:[{label:"Total Combos",value:n,icon:"layers",color:"#3B82F6"},{label:"Unique Models",value:i,icon:"model_training",color:"#10B981"},{label:"Strategies Used",value:d,icon:"account_tree",color:"#8B5CF6"},{label:"Avg Models/Combo",value:u,icon:"analytics",color:"#F59E0B"}].map(e=>(0,s.jsx)(o.Zp,{padding:"sm",children:(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-lg",style:{backgroundColor:`${e.color}15`},children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",style:{color:e.color},children:e.icon})}),(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"font-mono text-lg font-bold text-text-main",children:e.value}),(0,s.jsx)("p",{className:"text-[10px] uppercase tracking-wide text-text-muted",children:e.label})]})]})},e.label))}),(0,s.jsxs)(o.Zp,{children:[(0,s.jsxs)("div",{className:"mb-3",children:[(0,s.jsx)("h3",{className:"text-sm font-semibold text-text-main",children:"Strategy Distribution"}),(0,s.jsx)("p",{className:"text-xs text-text-muted mt-0.5",children:"How combos are distributed across routing strategies"})]}),(0,s.jsx)("div",{className:"flex flex-col gap-2.5",children:Object.entries(c).map(([e,t])=>{let a=m(e),l=n>0?Math.round(t/n*100):0;return(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsxs)("div",{className:"flex w-28 items-center gap-1.5",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[14px]",style:{color:a.color},children:a.icon}),(0,s.jsx)("span",{className:"text-xs font-medium text-text-main",children:x(e)})]}),(0,s.jsx)("div",{className:"flex-1 overflow-hidden rounded-full bg-surface-2",children:(0,s.jsx)("div",{className:"h-2.5 rounded-full transition-all",style:{width:`${t/p*100}%`,backgroundColor:a.color}})}),(0,s.jsxs)("span",{className:"w-16 text-right font-mono text-xs text-text-muted",children:[t," (",l,"%)"]})]},e)})})]}),(0,s.jsxs)(o.Zp,{children:[(0,s.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:"text-sm font-semibold text-text-main",children:"Combo Health"}),(0,s.jsx)("p",{className:"text-xs text-text-muted mt-0.5",children:"Overview of each combo's status"})]}),(0,s.jsx)(o.$n,{size:"sm",variant:"ghost",icon:"list_alt",onClick:l,children:"View All"})]}),0===e.length?(0,s.jsxs)("div",{className:"py-6 text-center text-sm text-text-muted",children:["No combos yet. ",(0,s.jsx)("button",{onClick:r,className:"text-primary hover:underline",children:"Create one →"})]}):(0,s.jsx)("div",{className:"flex flex-col gap-2",children:e.map(e=>{let l=t[e.name]?.fallbackStrategy||"fallback",r=m(l),n=(e.models||[]).filter(e=>{let t=e.split("/")[0];return a.some(e=>e.provider===t&&!1!==e.isActive)}).length,i=(e.models||[]).length,c=i>0?Math.round(n/i*100):0;return(0,s.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-border-subtle px-3 py-2 hover:bg-sidebar/30",children:[(0,s.jsx)("div",{className:"flex size-7 shrink-0 items-center justify-center rounded",style:{backgroundColor:`${r.color}15`},children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[15px]",style:{color:r.color},children:r.icon})}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)("code",{className:"truncate font-mono text-xs font-medium",children:e.name}),(0,s.jsxs)("div",{className:"flex items-center gap-2 mt-0.5",children:[(0,s.jsx)(o.Ex,{variant:r.badge,size:"sm",children:x(l)}),(0,s.jsxs)("span",{className:"text-[10px] text-text-muted",children:[i," models"]})]})]}),(0,s.jsxs)("div",{className:"hidden sm:flex items-center gap-2 shrink-0",children:[(0,s.jsx)("div",{className:"w-20 overflow-hidden rounded-full bg-surface-2",children:(0,s.jsx)("div",{className:`h-1.5 rounded-full ${c>=80?"bg-success":c>=50?"bg-warning":"bg-danger"}`,style:{width:`${c}%`}})}),(0,s.jsxs)("span",{className:"w-8 text-right font-mono text-[10px] text-text-muted",children:[n,"/",i]})]})]},e.id)})})]})]})}var b=a(88105);let f=[{value:"auto",label:"Auto (provider default)"},{value:"off",label:"Off"},{value:"effort",label:"Effort (OpenAI-style)"},{value:"extended",label:"Extended (Claude-style)"}],g=[{value:"low",label:"Low"},{value:"medium",label:"Medium"},{value:"high",label:"High"},{value:"max",label:"Max"}],v=[{key:"manager",label:"Manager",icon:"psychology"},{key:"staff",label:"Staff",icon:"badge"},{key:"audit",label:"Audit",icon:"fact_check"},{key:"worker",label:"Worker",icon:"group"}],y=[{key:"panel",label:"Panel",icon:"dashboard"},{key:"judge",label:"Judge",icon:"gavel"}];function j(e){let t=b.Q2[e]?.capabilities;return!t||!1!==t.toolUse&&!1!==t.fileAccess}function N(e){if(!e||"string"!=typeof e)return null;let t=e.indexOf("/");return t>=0?e.slice(0,t):e}function k(e,t){if(e){let t=N(e);return{blocked:!!t&&!j(t),provider:t}}let a=N(t&&t.length>0?t[0]:null);return{blocked:!!a&&!j(a),provider:a}}function w(e){return e.filter(e=>j(e.provider))}function C({combo:e,modelCaps:t={},activeProviders:a=[],copied:r,onCopy:n,onEdit:i,onDelete:d,strategy:u={},onSetStrategy:p}){let[h,b]=(0,l.useState)(!1),[j,N]=(0,l.useState)(!1),[S,M]=(0,l.useState)(null),$=Array.isArray(e?.models)?e.models:[],F=u.fallbackStrategy||"fallback",E=u.judgeModel||"",A="fusion"===F,O="swarm"===F,T=u.managerModel||"",P=u.staffModel||"",z=u.auditModel||"",_=m(F),D=u.thinking||{},R=D.type||"auto",W="auto"!==R&&"off"!==R,[B,J]=(0,l.useState)([]),H=e=>p({thinking:{...D,...e}}),q=(e,t)=>{let a={...D.roles||{}};null===t?delete a[e]:a[e]={...a[e]||{},...t},H({roles:a})},L=$.map(e=>({model:e,caps:t[e]||{}})),U=L.some(e=>{let t=e.caps.thinkingFormat;return!!e.caps.reasoning&&("openai"===t||"effort"===t||!t)}),Z=L.some(e=>{let t=e.caps.thinkingFormat;return!!e.caps.reasoning&&("claude-adaptive"===t||"claude"===t||"extended"===t)}),I=L.some(e=>!!e.caps.thinkingMaxEffort),G=L.filter(e=>!e.caps.reasoning&&void 0!==e.caps.reasoning),V="effort"===R?L.filter(e=>!0===e.caps.reasoning&&e.caps.thinkingFormat&&"openai"!==e.caps.thinkingFormat&&"effort"!==e.caps.thinkingFormat):"extended"===R?L.filter(e=>!0===e.caps.reasoning&&e.caps.thinkingFormat&&"claude-adaptive"!==e.caps.thinkingFormat&&"claude"!==e.caps.thinkingFormat&&"extended"!==e.caps.thinkingFormat):[];return(0,s.jsxs)(o.Zp,{padding:"sm",className:"group transition-all hover:border-primary/20",children:[(0,s.jsxs)("div",{className:"flex min-w-0 flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,s.jsxs)("button",{className:"flex min-w-0 flex-1 items-start gap-3 text-left sm:items-center",onClick:()=>b(!h),children:[(0,s.jsx)("div",{className:"flex size-8 shrink-0 items-center justify-center rounded-lg",style:{backgroundColor:`${_.color}15`},children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",style:{color:_.color},children:_.icon})}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("code",{className:"truncate font-mono text-sm font-medium",children:e.name}),(0,s.jsx)(o.Ex,{variant:_.badge,size:"sm",children:x(F)}),W&&(0,s.jsxs)(o.Ex,{variant:"cyan",size:"sm",className:"flex items-center gap-0.5",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[10px]",children:"psychology"}),"effort"===R?D.effort||"on":R]}),(0,s.jsxs)("span",{className:"text-[10px] text-text-muted",children:[$.length," models"]})]}),(0,s.jsxs)("div",{className:"mt-1 flex min-w-0 flex-wrap items-center gap-1",children:[0===$.length?(0,s.jsx)("span",{className:"text-xs text-text-muted italic",children:"No models"}):$.slice(0,3).map((e,a)=>(0,s.jsxs)("code",{className:"inline-flex items-center gap-1 rounded bg-black/5 px-1.5 py-0.5 font-mono text-xs text-text-muted dark:bg-white/5",children:[(0,s.jsx)("span",{className:"truncate max-w-[120px]",children:e}),t[e]&&(0,s.jsx)(o.nh,{caps:t[e],size:11})]},a)),$.length>3&&(0,s.jsxs)("span",{className:"text-[10px] text-text-muted",children:["+",$.length-3," more"]})]})]}),(0,s.jsx)("span",{className:`shrink-0 text-text-muted transition-transform ${h?"rotate-180":""}`,children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"expand_more"})})]}),(0,s.jsxs)("div",{className:"flex w-full flex-col gap-2 sm:w-auto sm:flex-row sm:items-center sm:gap-3 sm:shrink-0",children:[(0,s.jsx)("div",{className:"w-full sm:w-[180px]",children:(0,s.jsx)(o.l6,{options:c,value:F,onChange:e=>p({fallbackStrategy:e.target.value}),selectClassName:"py-1.5 text-xs"})}),(0,s.jsxs)("div",{className:"grid grid-cols-3 gap-1 sm:flex",children:[(0,s.jsxs)("button",{onClick:t=>{t.stopPropagation(),n(e.name,`combo-${e.id}`)},className:"flex flex-col items-center rounded px-2 py-1 text-text-muted transition-colors hover:bg-black/5 hover:text-primary dark:hover:bg-white/5",title:"Copy combo name",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:r===`combo-${e.id}`?"check":"content_copy"}),(0,s.jsx)("span",{className:"text-[10px] leading-tight",children:"Copy"})]}),(0,s.jsxs)("button",{onClick:i,className:"flex flex-col items-center rounded px-2 py-1 text-text-muted transition-colors hover:bg-black/5 hover:text-primary dark:hover:bg-white/5",title:"Edit",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"edit"}),(0,s.jsx)("span",{className:"text-[10px] leading-tight",children:"Edit"})]}),(0,s.jsxs)("button",{onClick:d,className:"flex flex-col items-center rounded px-2 py-1 text-red-500 transition-colors hover:bg-red-500/10",title:"Delete",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"delete"}),(0,s.jsx)("span",{className:"text-[10px] leading-tight",children:"Delete"})]})]})]})]}),h&&(0,s.jsxs)("div",{className:"mt-3 border-t border-border-subtle pt-3",children:[(0,s.jsxs)("div",{className:"mb-3",children:[(0,s.jsxs)("p",{className:"text-[10px] uppercase tracking-wide text-text-muted mb-1.5",children:["Models (",$.length,")"]}),(0,s.jsx)("div",{className:"flex flex-col gap-1",children:$.map((e,a)=>(0,s.jsxs)("div",{className:"flex items-center gap-2 rounded px-2 py-1 bg-black/[0.02] dark:bg-white/[0.02]",children:[(0,s.jsx)("span",{className:"text-[10px] font-medium text-text-muted w-4 text-center",children:a+1}),(0,s.jsx)("code",{className:"min-w-0 flex-1 truncate font-mono text-xs text-text-main",children:e}),t[e]&&(0,s.jsx)(o.nh,{caps:t[e],size:11})]},a))})]}),A&&(0,s.jsxs)("div",{className:"mb-3",children:[(0,s.jsx)("p",{className:"text-[10px] uppercase tracking-wide text-text-muted mb-1.5",children:"Fusion Judge"}),(()=>{let{blocked:e,provider:t}=k(E,$);return(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsxs)("button",{onClick:()=>N(!0),className:`inline-flex max-w-full items-center gap-1 rounded border border-dashed px-2 py-1 font-mono text-xs hover:bg-primary/5 ${e?"border-red-400 text-red-500 hover:border-red-500":"border-primary/40 text-primary hover:border-primary"}`,children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"gavel"}),(0,s.jsx)("span",{className:"truncate",children:E||`Auto — ${$[0]||"first model"}`})]}),E&&(0,s.jsx)("button",{onClick:()=>p({judgeModel:""}),className:"p-1 rounded text-text-muted hover:text-red-500 hover:bg-red-500/10",title:"Reset to Auto",children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"close"})})]}),e&&(0,s.jsx)("p",{className:"text-[10px] text-red-500",children:E?"⚠ Web cookie providers cannot serve as Judge (no tool use / file access)":`⚠ Auto-fallback to "${t}" (first combo model) — web cookie cannot serve as Judge`})]})})()]}),O&&(0,s.jsxs)("div",{className:"mb-3",children:[(0,s.jsx)("p",{className:"text-[10px] uppercase tracking-wide text-text-muted mb-1.5",children:"Swarm Roles"}),(0,s.jsxs)("div",{className:"flex flex-col gap-1.5",children:[[{key:"manager",label:"Manager",icon:"psychology",value:T,placeholder:`Auto — ${$[0]||"first"}`},{key:"staff",label:"Staff",icon:"badge",value:P,placeholder:"Same as Manager"},{key:"audit",label:"Audit",icon:"fact_check",value:z,placeholder:"Same as Staff"}].map(e=>{let{blocked:t,provider:a}=k(e.value,$);return(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"text-xs font-medium text-text-muted w-16",children:e.label}),(0,s.jsxs)("button",{onClick:()=>M(e.key),className:`inline-flex max-w-full items-center gap-1 rounded border border-dashed px-2 py-0.5 font-mono text-[11px] hover:bg-primary/5 ${t?"border-red-400 text-red-500 hover:border-red-500":"border-primary/40 text-primary hover:border-primary"}`,children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[13px]",children:e.icon}),(0,s.jsx)("span",{className:"truncate",children:e.value||e.placeholder})]}),e.value&&(0,s.jsx)("button",{onClick:()=>p({[`${e.key}Model`]:""}),className:"p-0.5 rounded text-text-muted hover:text-red-500 hover:bg-red-500/10",title:`Reset ${e.label}`,children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[13px]",children:"close"})})]}),t&&(0,s.jsx)("p",{className:"text-[10px] text-red-500 pl-[76px]",children:e.value?`⚠ Web cookie providers cannot serve as ${e.label} (no tool use / file access)`:`⚠ Auto-fallback to "${a}" (first combo model) — web cookie cannot serve as ${e.label}`})]},e.key)}),(0,s.jsxs)("div",{className:"flex items-center gap-2 text-[11px] text-text-muted",children:[(0,s.jsx)("span",{className:"font-medium",children:"Workers"}),(0,s.jsxs)("span",{children:["= combo models (",$.length,")"]}),(0,s.jsx)("span",{className:"text-text-subtle",children:"\xb7"}),(0,s.jsx)("a",{href:"/dashboard/swarm",className:"text-primary hover:underline",children:"Telemetry →"})]}),(0,s.jsxs)("div",{className:"flex items-center gap-3 mt-1",children:[(0,s.jsxs)("label",{className:"flex items-center gap-1.5 cursor-pointer",children:[(0,s.jsx)("input",{type:"checkbox",checked:u.autoScale?.enabled===!0,onChange:e=>p({autoScale:{...u.autoScale||{},enabled:e.target.checked}}),className:"rounded border-border accent-primary"}),(0,s.jsx)("span",{className:"text-[10px] text-text-muted",children:"Auto-scale"})]}),u.autoScale?.enabled&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsx)("span",{className:"text-[10px] text-text-muted",children:"Min:"}),(0,s.jsx)("input",{type:"number",min:1,max:u.autoScale?.maxWorkers||8,value:u.autoScale?.minWorkers??1,onChange:e=>p({autoScale:{...u.autoScale||{},minWorkers:Number(e.target.value)||1}}),className:"w-10 rounded border border-border bg-background px-1 py-0.5 text-[10px] font-mono text-center focus:outline-none focus:border-primary"})]}),(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsx)("span",{className:"text-[10px] text-text-muted",children:"Max:"}),(0,s.jsx)("input",{type:"number",min:1,max:8,value:u.autoScale?.maxWorkers??$.length,onChange:e=>p({autoScale:{...u.autoScale||{},maxWorkers:Number(e.target.value)||1}}),className:"w-10 rounded border border-border bg-background px-1 py-0.5 text-[10px] font-mono text-center focus:outline-none focus:border-primary"})]})]})]})]})]}),(0,s.jsxs)("div",{className:"mt-3 border-t border-border-subtle pt-3",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,s.jsx)("p",{className:"text-[10px] uppercase tracking-wide text-text-muted",children:"Thinking"}),(0,s.jsx)("button",{onClick:()=>J(B.length>0?[]:(A?y:O?v:[]).map(e=>e.key)),className:"text-[10px] text-primary hover:underline",children:B.length>0?"Hide roles":`Role overrides${W?" ("+Object.keys(D.roles||{}).length+")":""}`})]}),(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,s.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,s.jsx)("label",{className:"text-[10px] text-text-muted",children:"Mode:"}),(0,s.jsx)("select",{value:R,onChange:e=>H({type:e.target.value}),className:"rounded border border-border bg-background px-1.5 py-0.5 text-[11px] font-mono focus:outline-none focus:border-primary",children:f.map(e=>{let t="auto"===e.value||"off"===e.value||"effort"===e.value&&U||"extended"===e.value&&Z;return(0,s.jsxs)("option",{value:e.value,disabled:!t,className:t?"":"text-text-muted",children:[e.label,t?"":" (not supported)"]},e.value)})})]}),V.length>0&&(0,s.jsxs)("div",{className:"flex items-center gap-1 text-amber-600 dark:text-amber-400",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[12px]",children:"warning"}),(0,s.jsxs)("span",{className:"text-[10px]",children:[R," not supported by ",V.map(e=>e.model.split("/").pop()).join(", ")]})]}),G.length>0&&"auto"!==R&&"off"!==R&&(0,s.jsxs)("div",{className:"flex items-center gap-1 text-amber-600 dark:text-amber-400",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[12px]",children:"warning"}),(0,s.jsxs)("span",{className:"text-[10px]",children:["Thinking capability unknown for ",G.map(e=>e.model.split("/").pop()).join(", ")]})]}),"effort"===R&&(0,s.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,s.jsx)("label",{className:"text-[10px] text-text-muted",children:"Effort:"}),(0,s.jsx)("select",{value:D.effort||"high",onChange:e=>H({effort:e.target.value}),className:"rounded border border-border bg-background px-1.5 py-0.5 text-[11px] font-mono focus:outline-none focus:border-primary",children:g.map(e=>{let t="max"!==e.value||I;return(0,s.jsxs)("option",{value:e.value,disabled:!t,className:t?"":"text-text-muted",children:[e.label,t?"":" (not supported)"]},e.value)})})]}),"extended"===R&&(0,s.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,s.jsx)("label",{className:"text-[10px] text-text-muted",children:"Budget:"}),(0,s.jsx)("input",{type:"number",min:1024,max:128e3,step:1024,value:D.budgetTokens||4096,onChange:e=>H({budgetTokens:Number(e.target.value)||4096}),className:"w-20 rounded border border-border bg-background px-1.5 py-0.5 text-[11px] font-mono focus:outline-none focus:border-primary"})]})]}),B.length>0&&W&&(0,s.jsxs)("div",{className:"mt-2 flex flex-col gap-1.5 pl-1",children:[(0,s.jsx)("p",{className:"text-[10px] text-text-muted",children:"Per-role overrides (leave as parent to inherit global)"}),(A?y:O?v:[]).map(e=>{let t,a=(t=e.key,D?.roles?.[t]);return(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[13px] text-text-muted",children:e.icon}),(0,s.jsx)("span",{className:"text-[11px] font-medium text-text-muted w-12",children:e.label}),(0,s.jsxs)("select",{value:a?.type||"inherit",onChange:t=>q(e.key,"inherit"===t.target.value?null:{type:t.target.value}),className:"rounded border border-border bg-background px-1 py-0.5 text-[10px] font-mono focus:outline-none focus:border-primary",children:[(0,s.jsx)("option",{value:"inherit",children:"Inherit"}),(0,s.jsx)("option",{value:"off",children:"Off"}),(0,s.jsxs)("option",{value:"effort",disabled:!U,className:U?"":"text-text-muted",children:["Effort",U?"":" (not supported)"]}),(0,s.jsxs)("option",{value:"extended",disabled:!Z,className:Z?"":"text-text-muted",children:["Extended",Z?"":" (not supported)"]})]}),a?.type==="effort"&&(0,s.jsx)("select",{value:a.effort||"high",onChange:t=>q(e.key,{type:"effort",effort:t.target.value}),className:"rounded border border-border bg-background px-1 py-0.5 text-[10px] font-mono focus:outline-none focus:border-primary",children:g.map(e=>{let t="max"!==e.value||I;return(0,s.jsxs)("option",{value:e.value,disabled:!t,className:t?"":"text-text-muted",children:[e.label,t?"":" (not supported)"]},e.value)})}),a?.type==="extended"&&(0,s.jsx)("input",{type:"number",min:1024,max:128e3,step:1024,value:a.budgetTokens||4096,onChange:t=>q(e.key,{type:"extended",budgetTokens:Number(t.target.value)||4096}),className:"w-16 rounded border border-border bg-background px-1 py-0.5 text-[10px] font-mono focus:outline-none focus:border-primary"}),a&&(0,s.jsx)("button",{onClick:()=>q(e.key,null),className:"p-0.5 rounded text-text-muted hover:text-red-500",title:"Reset to inherit",children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[12px]",children:"close"})})]},e.key)})]})]}),(0,s.jsxs)("div",{className:"text-xs text-text-muted bg-black/[0.02] dark:bg-white/[0.02] rounded px-2 py-1.5",children:[(0,s.jsxs)("span",{className:"font-medium",children:[x(F),":"]})," ",c.find(e=>e.value===F)?.desc]})]}),(0,s.jsx)(o.rq,{isOpen:j,onClose:()=>N(!1),onSelect:e=>{p({judgeModel:e?.value||""}),N(!1)},activeProviders:w(a),title:"Select Judge Model",addedModelValues:E?[E]:[],closeOnSelect:!0}),S&&(0,s.jsx)(o.rq,{isOpen:!0,onClose:()=>M(null),onSelect:e=>{p({[`${S}Model`]:e?.value||""}),M(null)},activeProviders:w(a),title:`Select ${"manager"===S?"Manager":"staff"===S?"Staff":"Audit"} Model`,addedModelValues:"manager"===S?T?[T]:[]:"staff"===S?P?[P]:[]:z?[z]:[],closeOnSelect:!0})]})}function S({combos:e,modelCaps:t,activeProviders:a,comboStrategies:r,copied:n,copy:i,onEdit:c,onDelete:d,onSetStrategy:m,onCreate:x}){let[h,b]=(0,l.useState)(""),[f,g]=(0,l.useState)("all"),[v,y]=(0,l.useState)("name"),j=(0,l.useMemo)(()=>{var t;let a;return t=function(e,t,a,s){let l=e;if("all"!==a&&(l=l.filter(e=>(s[e.name]?.fallbackStrategy||"fallback")===a)),t.trim()){let e=t.trim().toLowerCase();l=l.filter(t=>t.name.toLowerCase().includes(e)||(t.models||[]).some(t=>t.toLowerCase().includes(e)))}return l}(e,h,f,r),a=[...t],"models-desc"===v?a.sort((e,t)=>(t.models?.length||0)-(e.models?.length||0)):"models-asc"===v?a.sort((e,t)=>(e.models?.length||0)-(t.models?.length||0)):a.sort((e,t)=>e.name.localeCompare(t.name)),a},[e,h,f,v,r]);return 0===e.length?(0,s.jsx)(o.pp,{icon:"layers",title:"No combos yet",description:"Create model combos with fallback, round-robin, fusion, or swarm strategies",actionText:"Create Combo",onAction:x}):(0,s.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,s.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,s.jsx)(o.pd,{placeholder:"Search combos or models...",value:h,onChange:e=>b(e.target.value),className:"sm:max-w-xs"}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"flex flex-wrap gap-1",children:u.map(e=>(0,s.jsx)("button",{onClick:()=>g(e.value),className:`rounded-full px-2.5 py-1 text-xs font-medium transition-colors ${f===e.value?"bg-primary/15 text-primary ring-1 ring-primary/20":"bg-surface-2 text-text-muted hover:text-text-main"}`,children:e.label},e.value))}),(0,s.jsx)("select",{value:v,onChange:e=>y(e.target.value),className:"appearance-none rounded-lg border border-border bg-surface-2 py-1.5 pl-3 pr-8 text-xs text-text-main [-webkit-appearance:none] [-moz-appearance:none] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30",children:p.map(e=>(0,s.jsx)("option",{value:e.value,children:e.label},e.value))})]})]}),(0,s.jsx)("p",{className:"text-xs text-text-muted",children:j.length===e.length?`${e.length} combo${1!==e.length?"s":""}`:`${j.length} of ${e.length} combos`}),0===j.length?(0,s.jsx)(o.Zp,{children:(0,s.jsxs)("div",{className:"py-8 text-center text-sm text-text-muted",children:['No combos match "',h,'" ',"all"!==f&&`with ${f} strategy`]})}):(0,s.jsx)("div",{className:"flex flex-col gap-3",children:j.map(e=>(0,s.jsx)(C,{combo:e,modelCaps:t,activeProviders:a,copied:n,onCopy:i,onEdit:()=>c(e),onDelete:()=>d(e.id),strategy:r[e.name]||{},onSetStrategy:t=>m(e.name,t)},e.id))})]})}let M=[{id:"always-on",name:"Always-On (5-Layer Fallback)",description:"Zero-downtime coding with 5 layers of fallback. Mix of subscription, cheap, and free tiers — if any model fails, the next picks up automatically.",icon:"shield",category:"reliability",strategy:"fallback",models:["claude-opus-4-7","gpt-5.4","glm-5.1","MiniMax-M2.7","claude-sonnet-4.5"],preferredProviders:{"claude-opus-4-7":"cc","gpt-5.4":"cx","glm-5.1":"glm","MiniMax-M2.7":"minimax","claude-sonnet-4.5":"kr"}},{id:"max-reasoning-swarm",name:"Max Reasoning Swarm",description:"Deep multi-agent analysis for complex coding tasks. Manager decomposes the problem, workers solve subtasks in parallel, audit reviews the result. Manager thinks at max effort.",icon:"psychology",category:"reasoning",strategy:"swarm",models:["claude-opus-4-7","gpt-5.4","glm-5.1","claude-sonnet-4.5"],preferredProviders:{"claude-opus-4-7":"cc","gpt-5.4":"cx","glm-5.1":"glm","claude-sonnet-4.5":"kr"},strategyConfig:{fallbackStrategy:"swarm",managerModel:"claude-opus-4-7",auditModel:"claude-sonnet-4.5",thinking:{type:"effort",effort:"high",roles:{manager:{type:"effort",effort:"max"},worker:{type:"effort",effort:"medium"},audit:{type:"effort",effort:"high"}}},autoScale:{enabled:!0,minWorkers:2,maxWorkers:4}}},{id:"flash-fusion",name:"Flash Fusion",description:"Two fast models answer in parallel, a judge picks the best result. Low latency with a quality check — great for everyday coding questions.",icon:"bolt",category:"balanced",strategy:"fusion",models:["gpt-5.4","MiniMax-M2.7"],preferredProviders:{"gpt-5.4":"cx","MiniMax-M2.7":"minimax"},strategyConfig:{fallbackStrategy:"fusion",thinking:{type:"effort",effort:"medium"}}},{id:"penny-pincher",name:"Penny-Pincher",description:"Ultra-low-cost daily driver built from cheap and free tiers. Thinking disabled to keep tokens minimal. Use for simple tasks where cost matters most.",icon:"savings",category:"budget",strategy:"fallback",models:["MiniMax-M2.7","glm-5.1","gpt-5.4"],preferredProviders:{"MiniMax-M2.7":"minimax","glm-5.1":"glm","gpt-5.4":"kr"},strategyConfig:{fallbackStrategy:"fallback",thinking:{type:"off"}}},{id:"bug-hunter",name:"Bug Hunter",description:"Three models independently diagnose the same bug, a strong judge picks the most likely root cause. High-precision debugging with thinking on.",icon:"bug_report",category:"debugging",strategy:"fusion",models:["gpt-5.4","glm-5.1","MiniMax-M2.7"],preferredProviders:{"gpt-5.4":"cx","glm-5.1":"glm","MiniMax-M2.7":"minimax"},strategyConfig:{fallbackStrategy:"fusion",thinking:{type:"effort",effort:"high"}}}];function $({combos:e,connections:t,modelIndex:a={},onApply:r}){let[n,i]=(0,l.useState)(null),c=new Set(t?.filter(e=>!1!==e.isActive).map(e=>e.provider)||[]),d=new Set((e||[]).map(e=>e.name)),u=e=>(e.models||[]).map(t=>{let s=t.indexOf("/"),l=s>0,r=l?t.slice(s+1):t,o=(l?t.slice(0,s):"")||(e.preferredProviders||{})[r]||"",n=o?(0,b.rs)(o):"",i=(a[r]||[]).map(e=>(0,b.rs)(e)).filter(e=>c.has(e));if(n&&i.includes(n)){let e=(0,b.wG)(n);return{ref:t,modelName:r,provider:n,providerAlias:e,full:`${e}/${r}`,available:!0}}if(i.length>0){let e=(0,b.wG)(i[0]);return{ref:t,modelName:r,provider:i[0],providerAlias:e,full:`${e}/${r}`,available:!0,resolvedFrom:o}}return{ref:t,modelName:r,provider:n||o,full:l?t:r,available:!1}}),p=async e=>{i(e.id);try{let t=u(e),a=t.filter(e=>e.available).map(e=>e.full),s=await fetch("/api/combos",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e.name,models:a,kind:null})});if(!s.ok){let e=await s.json();alert(e.error||"Failed to create combo from template");return}let l=await fetch("/api/settings").then(e=>e.json()).catch(()=>({})),o=e.strategyConfig?{...e.strategyConfig}:{fallbackStrategy:e.strategy},n=Object.fromEntries(t.map(e=>[e.modelName,e.full]));for(let e of["managerModel","staffModel","auditModel","judgeModel"]){let t=o[e];if(!t)continue;let a=t.indexOf("/"),s=a>0?t.slice(a+1):t;n[s]&&(o[e]=n[s])}let i={...l?.comboStrategies||{},[e.name]:o},c=await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({comboStrategies:i})});if(!c.ok){let e=await c.json().catch(()=>({}));alert(e.error||"Failed to apply template strategy");return}r&&r()}catch(e){alert("Failed to apply template: "+(e?.message||String(e)))}finally{i(null)}};return 0===M.length?(0,s.jsx)(o.pp,{icon:"dashboard_customize",title:"No templates available",description:"Combo templates will appear here when added."}):(0,s.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,s.jsxs)("div",{className:"mb-1",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-text-main",children:"Combo Templates"}),(0,s.jsx)("p",{className:"text-xs text-text-muted mt-0.5",children:"One-click prebuilt combos. Provider availability is checked automatically."})]}),(0,s.jsx)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3",children:M.map(e=>{let t=u(e),a=t.filter(e=>e.available).length,l=t.length,r=d.has(e.name),i=m(e.strategy),c=a===l;return(0,s.jsxs)(o.Zp,{padding:"sm",className:"flex flex-col gap-3 hover:border-primary/20 transition-all",children:[(0,s.jsxs)("div",{className:"flex items-start justify-between",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,s.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-lg",style:{backgroundColor:`${i.color}15`},children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",style:{color:i.color},children:e.icon||i.icon})}),(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"text-sm font-semibold text-text-main",children:e.name}),(0,s.jsx)(o.Ex,{variant:i.badge,size:"sm",children:x(e.strategy)})]})]}),r&&(0,s.jsx)(o.Ex,{variant:"success",size:"sm",dot:!0,children:"Created"})]}),(0,s.jsx)("p",{className:"text-xs text-text-muted leading-relaxed",children:e.description}),(0,s.jsxs)("div",{className:"flex flex-wrap gap-1",children:[t.slice(0,4).map((e,t)=>(0,s.jsxs)("code",{className:`inline-flex items-center gap-1 rounded px-1.5 py-0.5 font-mono text-[10px] ${e.available?"bg-black/5 text-text-muted dark:bg-white/5":"bg-red-500/10 text-red-500"}`,title:e.available?`Resolved to ${e.provider}`:`No connected provider has ${e.modelName}`,children:[(0,s.jsx)("span",{className:e.available?"text-success":"text-red-500",children:e.available?"✓":"✗"}),(0,s.jsx)("span",{className:"truncate max-w-[110px]",children:e.modelName}),e.available&&(0,s.jsx)("span",{className:"rounded bg-black/10 px-0.5 text-[9px] dark:bg-white/10",children:e.provider})]},t)),t.length>4&&(0,s.jsxs)("span",{className:"text-[10px] text-text-muted",children:["+",t.length-4," more"]})]}),(0,s.jsx)("div",{className:"flex flex-wrap gap-1",children:t.map(e=>{let t=e.resolvedFrom?(0,b.rs)(e.resolvedFrom):"",a=e.available?`${e.provider}${e.resolvedFrom&&t!==e.provider?` (via ${e.resolvedFrom})`:""}`:`${e.provider||"?"} (missing)`,l=e.available;return(0,s.jsxs)("span",{className:`inline-flex items-center gap-0.5 rounded-full px-1.5 py-0.5 text-[10px] font-medium ${l?"bg-success/10 text-success":"bg-surface-2 text-text-muted"}`,children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[10px]",children:l?"check_circle":"radio_button_unchecked"}),a]},e.ref)})}),(0,s.jsx)("div",{className:"mt-auto pt-1",children:(0,s.jsx)(o.$n,{size:"sm",fullWidth:!0,variant:r?"secondary":"primary",icon:n===e.id?"progress_activity":"add",disabled:r||n===e.id||!c,onClick:()=>p(e),children:n===e.id?"Creating...":r?"Already Created":c?"Apply Template":`Apply (${a}/${l} ready)`})})]},e.id)})})]})}var F=a(44923),E=a(87256),A=a(5020),O=a(39768);function T({id:e,index:t,model:a,isFirst:r,isLast:n,modelCaps:i,onEdit:c,onMoveUp:d,onMoveDown:m,onRemove:x}){let{attributes:u,listeners:p,setNodeRef:h,transform:b,isDragging:f}=(0,E.gl)({id:e}),g={transform:O.Ks.Transform.toString(b),opacity:f?.5:1,zIndex:f?999:void 0},[v,y]=(0,l.useState)(!1),[j,N]=(0,l.useState)(a),k=()=>{let e=j.trim();e&&e!==a?c(e):N(a),y(!1)};return(0,s.jsxs)("div",{ref:h,style:g,className:`group flex min-w-0 items-center gap-2 rounded-lg border px-2.5 py-1.5 transition-all ${f?"border-primary/40 bg-panel shadow-md ring-1 ring-primary/20":"border-transparent bg-panel hover:border-border-subtle"}`,children:[(0,s.jsx)("span",{className:"flex size-5 shrink-0 items-center justify-center rounded bg-primary/10 text-[10px] font-bold text-primary",children:t+1}),(0,s.jsx)("button",{...u,...p,type:"button",className:"cursor-grab touch-none shrink-0 p-0.5 rounded text-text-muted/50 hover:text-text-main active:cursor-grabbing",title:"Drag to reorder",children:(0,s.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",children:[(0,s.jsx)("circle",{cx:"9",cy:"4",r:"1.5"}),(0,s.jsx)("circle",{cx:"15",cy:"4",r:"1.5"}),(0,s.jsx)("circle",{cx:"9",cy:"12",r:"1.5"}),(0,s.jsx)("circle",{cx:"15",cy:"12",r:"1.5"}),(0,s.jsx)("circle",{cx:"9",cy:"20",r:"1.5"}),(0,s.jsx)("circle",{cx:"15",cy:"20",r:"1.5"})]})}),v?(0,s.jsx)("input",{autoFocus:!0,value:j,onChange:e=>N(e.target.value),onBlur:k,onKeyDown:e=>{"Enter"===e.key&&k(),"Escape"===e.key&&(N(a),y(!1))},className:"min-w-0 flex-1 rounded border border-primary/40 bg-panel px-1.5 py-0.5 font-mono text-xs text-text-main outline-none"}):(0,s.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-1.5 cursor-text rounded px-1 py-0.5 hover:bg-black/[0.03] dark:hover:bg-white/[0.03]",onClick:()=>y(!0),title:"Click to edit",children:[(0,s.jsx)("code",{className:"min-w-0 flex-1 truncate font-mono text-xs text-text-main",children:a}),i?.[a]&&(0,s.jsx)(o.nh,{caps:i[a],size:11})]}),(0,s.jsxs)("div",{className:"flex shrink-0 items-center gap-0.5 opacity-0 transition-opacity group-hover:opacity-100",children:[(0,s.jsx)("button",{onClick:d,disabled:r,className:`rounded p-1 transition-colors ${r?"cursor-not-allowed text-text-muted/20":"text-text-muted hover:bg-black/5 hover:text-primary dark:hover:bg-white/5"}`,title:"Move up",children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"arrow_upward"})}),(0,s.jsx)("button",{onClick:m,disabled:n,className:`rounded p-1 transition-colors ${n?"cursor-not-allowed text-text-muted/20":"text-text-muted hover:bg-black/5 hover:text-primary dark:hover:bg-white/5"}`,title:"Move down",children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"arrow_downward"})})]}),(0,s.jsx)("button",{onClick:x,className:"shrink-0 rounded p-1 text-text-muted opacity-0 transition-all hover:bg-danger/10 hover:text-danger group-hover:opacity-100",title:"Remove model",children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"close"})})]})}function P({isOpen:e,combo:t,onClose:a,onSave:r,activeProviders:n,modelCaps:d={},kindFilter:m=null}){let[x,u]=(0,l.useState)(t?.name||""),[p,h]=(0,l.useState)(t?.models||[]),[b,f]=(0,l.useState)(!1),[g,v]=(0,l.useState)(!1),[y,j]=(0,l.useState)(""),[N,k]=(0,l.useState)({}),[w,C]=(0,l.useState)(e);(0,l.useEffect)(()=>{e&&!w&&(u(t?.name||""),h(Array.isArray(t?.models)?[...t.models]:[]),j(""),f(!1)),C(e)},[e,w,t]);let S=(0,F.FR)((0,F.MS)(F.AN,{activationConstraint:{distance:5}}),(0,F.MS)(F.uN,{coordinateGetter:E.JR})),M=p.map((e,t)=>({uid:`item-${t}`,model:e}));(0,l.useEffect)(()=>{if(!e)return;let t=!1;return(async()=>{try{let e=await fetch("/api/models/alias");if(!t&&e.ok){let t=await e.json();k(t.aliases||{})}}catch{}})(),()=>{t=!0}},[e]);let $=e=>e.trim()?i.test(e)?(j(""),!0):(j("Only letters, numbers, -, _ and . allowed"),!1):(j("Name is required"),!1),O=async()=>{$(x)&&(v(!0),await r({name:x.trim(),models:p}),v(!1))},z=!!t;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(o.aF,{isOpen:e,onClose:a,title:z?"Edit Combo":"Create Combo",size:"lg",children:(0,s.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(o.pd,{label:"Combo Name",value:x,onChange:e=>{let t=e.target.value;u(t),t?$(t):j("")},placeholder:"my-combo",error:y}),(0,s.jsxs)("div",{className:"mt-1.5 flex items-center gap-2",children:[(0,s.jsx)("p",{className:"text-[10px] text-text-muted",children:"Use this name as the model in your client:"}),x.trim()&&(0,s.jsx)("code",{className:"rounded bg-primary/10 px-1.5 py-0.5 font-mono text-[10px] text-primary",children:x.trim()})]})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"mb-2 flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-text-main",children:"Models"}),p.length>0&&(0,s.jsxs)(o.Ex,{variant:"info",size:"sm",children:[p.length," model",1!==p.length?"s":""]})]}),(0,s.jsx)("span",{className:"text-[10px] text-text-muted",children:"Drag to reorder priority"})]}),0===p.length?(0,s.jsxs)("div",{className:"flex flex-col items-center justify-center py-8 border border-dashed border-border rounded-lg bg-surface-2/50",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-text-muted text-2xl mb-2",children:"layers"}),(0,s.jsx)("p",{className:"text-xs text-text-muted mb-3",children:"Add models to build your combo"}),(0,s.jsx)(o.$n,{size:"sm",variant:"secondary",icon:"add",onClick:()=>f(!0),children:"Add First Model"})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(F.Mp,{sensors:S,collisionDetection:F.fp,onDragEnd:e=>{let{active:t,over:a}=e;if(a&&t.id!==a.id){let e=M.findIndex(e=>e.uid===t.id),s=M.findIndex(e=>e.uid===a.id);-1!==e&&-1!==s&&h(t=>(0,E.be)(t,e,s))}},modifiers:[A.FN,A.gj],children:(0,s.jsx)(E.gB,{items:M.map(e=>e.uid),strategy:E._G,children:(0,s.jsx)("div",{className:"flex max-h-[45vh] min-w-0 flex-col gap-1 overflow-y-auto rounded-lg bg-surface-2/30 p-1.5",children:M.map(({uid:e,model:t},a)=>(0,s.jsx)(T,{id:e,index:a,model:t,modelCaps:d,isFirst:0===a,isLast:a===M.length-1,onEdit:e=>{let t=[...p];t[a]=e,h(t)},onMoveUp:()=>(e=>{if(0===e)return;let t=[...p];[t[e-1],t[e]]=[t[e],t[e-1]],h(t)})(a),onMoveDown:()=>(e=>{if(e===p.length-1)return;let t=[...p];[t[e],t[e+1]]=[t[e+1],t[e]],h(t)})(a),onRemove:()=>{h(e=>e.filter((e,t)=>t!==a))}},e))})})}),(0,s.jsxs)("button",{onClick:()=>f(!0),className:"w-full mt-2 py-2 border border-dashed border-primary/30 rounded-lg text-xs text-primary font-medium hover:border-primary hover:bg-primary/5 transition-colors flex items-center justify-center gap-1.5",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"add"}),"Add Model"]})]})]}),p.length>=2&&(0,s.jsxs)("div",{className:"rounded-lg border border-border-subtle bg-surface-2/50 px-3 py-2",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 mb-1.5",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[14px] text-text-muted",children:"lightbulb"}),(0,s.jsx)("span",{className:"text-xs font-medium text-text-main",children:"Strategy Tips"})]}),(0,s.jsx)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-2",children:c.map(e=>(0,s.jsxs)("div",{className:"flex items-start gap-1.5 text-[11px] text-text-muted",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[12px] mt-0.5 text-primary/60",children:e.icon}),(0,s.jsxs)("span",{children:[(0,s.jsx)("span",{className:"font-medium text-text-main",children:e.label})," — ",e.desc]})]},e.value))}),(0,s.jsx)("p",{className:"mt-1.5 text-[10px] text-text-muted",children:"Set strategy after creating the combo from the Combos tab."})]}),(0,s.jsxs)("div",{className:"flex flex-col gap-2 pt-1 sm:flex-row",children:[(0,s.jsx)(o.$n,{onClick:a,variant:"ghost",fullWidth:!0,size:"sm",children:"Cancel"}),(0,s.jsx)(o.$n,{onClick:O,fullWidth:!0,size:"sm",icon:z?"save":"add",disabled:!x.trim()||!!y||g,children:g?"Saving...":z?"Save Changes":"Create Combo"})]})]})}),(0,s.jsx)(o.rq,{isOpen:b,onClose:()=>f(!1),onSelect:e=>{h(t=>t.includes(e.value)?t:[...t,e.value])},onDeselect:e=>{h(t=>t.filter(t=>t!==e.value))},activeProviders:n,modelAliases:N,title:"Add Model to Combo",kindFilter:m,addedModelValues:p,closeOnSelect:!1})]})}let z=[{value:"overview",label:"Overview"},{value:"combos",label:"Combos"},{value:"templates",label:"Templates"}];function _(){let e=(0,r.useRouter)(),t=(0,r.useSearchParams)().get("tab")||"overview",[a,i]=(0,l.useState)([]),[c,d]=(0,l.useState)(!0),[m,x]=(0,l.useState)(!1),[u,p]=(0,l.useState)(null),[b,f]=(0,l.useState)([]),[g,v]=(0,l.useState)({}),[y,j]=(0,l.useState)({}),[N,k]=(0,l.useState)({}),[w,C]=(0,l.useState)(null),{copied:M,copy:F}=(0,n.C)(),E=(0,l.useCallback)(async()=>{try{let[e,t,a,s]=await Promise.all([fetch("/api/combos"),fetch("/api/providers"),fetch("/api/settings"),fetch("/api/models")]),l=await e.json(),r=await t.json(),o=a.ok?await a.json():{};if(e.ok&&i((l.combos||[]).filter(e=>!e.kind||"llm"===e.kind)),t.ok&&f(r.connections||[]),s.ok){let e=await s.json(),t={},a={};for(let s of e.models||[]){s.caps&&(t[s.fullModel]=s.caps);let e=(s.fullModel||"").split("/").slice(1).join("/");e&&s.provider&&(a[e]||(a[e]=[]),a[e].includes(s.provider)||a[e].push(s.provider))}j(t),k(a)}v(o.comboStrategies||{})}catch(e){console.log("Error fetching data:",e)}finally{d(!1)}},[]);(0,l.useEffect)(()=>{E()},[E]);let A=t=>e.push(`/dashboard/combos?tab=${t}`),O=async e=>{try{let t=await fetch("/api/combos",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(t.ok)await E(),x(!1);else{let e=await t.json();alert(e.error||"Failed to create combo")}}catch(e){console.log("Error creating combo:",e)}},T=async(e,t)=>{try{let a=await fetch(`/api/combos/${e}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(a.ok)await E(),p(null);else{let e=await a.json();alert(e.error||"Failed to update combo")}}catch(e){console.log("Error updating combo:",e)}},_=async(e,t)=>{try{let a=g[e]||{},s={...a,...t},l=s.fallbackStrategy,r=new Set(["fallbackStrategy","thinking","autoScale",...{fusion:["judgeModel","fusionTuning"],swarm:["managerModel","staffModel","auditModel","workerCount","swarmTuning","enableTelemetry"],cascade:["cascade"],fallback:[],"round-robin":[]}[l]||[]]),o={};for(let[e,t]of Object.entries(s))r.has(e)&&(o[e]=t);let n=Object.keys(a).some(e=>"fallbackStrategy"!==e&&null!=a[e]&&""!==a[e]),i=Object.keys(o).some(e=>"fallbackStrategy"!==e),c="fallback"===o.fallbackStrategy&&n&&!i;await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({comboStrategies:{[e]:c?null:o}})}),v(t=>{let a={...t};return c?delete a[e]:a[e]=o,a})}catch(e){console.log("Error updating combo strategy:",e)}};return c?(0,s.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,s.jsx)(o.Qv,{}),(0,s.jsx)(o.Qv,{})]}):(0,s.jsxs)("div",{className:"flex min-w-0 flex-col gap-5",children:[(0,s.jsx)(o.zY,{title:"Combos",description:"Group models under one name, then pick a strategy per combo",icon:"layers",actions:(0,s.jsx)(o.$n,{size:"sm",icon:"add",onClick:()=>x(!0),className:"whitespace-nowrap",children:"Create Combo"})}),(0,s.jsx)(o.Iz,{options:z,value:t,onChange:A}),"overview"===t&&(0,s.jsx)(h,{combos:a,comboStrategies:g,activeProviders:b,onViewCombos:()=>A("combos"),onCreate:()=>x(!0)}),"combos"===t&&(0,s.jsx)(S,{combos:a,modelCaps:y,activeProviders:b,comboStrategies:g,copied:M,copy:F,onEdit:p,onDelete:e=>{C({title:"Delete Combo",message:"Delete this combo?",onConfirm:async()=>{C(null);try{let t=await fetch(`/api/combos/${e}`,{method:"DELETE"});if(t.ok)i(t=>t.filter(t=>t.id!==e));else{let e=await t.json().catch(()=>({}));alert(e.error||`Failed to delete combo (${t.status})`)}}catch(e){console.log("Error deleting combo:",e),alert("Failed to delete combo — network error")}}})},onSetStrategy:_,onCreate:()=>x(!0)}),"templates"===t&&(0,s.jsx)($,{combos:a,connections:b,modelIndex:N,onApply:E}),(0,s.jsx)(P,{isOpen:m,onClose:()=>x(!1),onSave:O,activeProviders:b,modelCaps:y},"create"),(0,s.jsx)(P,{isOpen:!!u,combo:u,onClose:()=>p(null),onSave:e=>T(u.id,e),activeProviders:b,modelCaps:y},u?.id||"new"),(0,s.jsx)(o.uo,{isOpen:!!w,onClose:()=>C(null),onConfirm:w?.onConfirm,title:w?.title||"Confirm",message:w?.message,variant:"danger"})]})}function D(){return(0,s.jsx)(l.Suspense,{fallback:(0,s.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,s.jsx)("div",{className:"h-32 animate-pulse rounded-lg bg-sidebar"}),(0,s.jsx)("div",{className:"h-32 animate-pulse rounded-lg bg-sidebar"})]}),children:(0,s.jsx)(_,{})})}}},e=>{e.O(0,[27,7055,8105,1321,705,5497,8441,3794,7358],()=>e(e.s=49293)),_N_E=e.O()}]);