@ltgiang/9router 0.5.60 → 0.5.62

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 (959) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +19 -14
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/prerender-manifest.json +27 -3
  5. package/app/.next-cli-build/required-server-files.json +8 -0
  6. package/app/.next-cli-build/routes-manifest.json +42 -0
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +3 -3
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/expose-models/page.js +2 -0
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/expose-models/page.js.nft.json +1 -0
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/expose-models/page_client-reference-manifest.js +1 -0
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +3 -3
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +3 -3
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +2 -2
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  76. package/app/.next-cli-build/server/app/_global-error/page.js +3 -3
  77. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  78. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  79. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  80. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  81. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  82. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  83. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  84. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  85. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  86. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  87. package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  88. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  89. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  90. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  91. package/app/.next-cli-build/server/app/_not-found.rsc +5 -5
  92. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +5 -5
  93. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  94. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +5 -5
  95. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  96. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  97. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  98. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  99. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  100. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  101. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  102. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  103. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  104. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  105. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  107. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  108. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  109. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  110. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  111. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
  113. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  115. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  117. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  119. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  121. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  123. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  125. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  127. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  129. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +2 -2
  131. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  133. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  135. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +3 -3
  137. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  139. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  141. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  143. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  145. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  147. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/combos/reorder/route.js +1 -1
  149. package/app/.next-cli-build/server/app/api/combos/reorder/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  151. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/expose-combos/[id]/route.js +1 -0
  153. package/app/.next-cli-build/server/app/api/expose-combos/[id]/route.js.nft.json +1 -0
  154. package/app/.next-cli-build/server/app/api/expose-combos/[id]/route_client-reference-manifest.js +1 -0
  155. package/app/.next-cli-build/server/app/api/expose-combos/reorder/route.js +1 -0
  156. package/app/.next-cli-build/server/app/api/expose-combos/reorder/route.js.nft.json +1 -0
  157. package/app/.next-cli-build/server/app/api/expose-combos/reorder/route_client-reference-manifest.js +1 -0
  158. package/app/.next-cli-build/server/app/api/expose-combos/route.js +1 -0
  159. package/app/.next-cli-build/server/app/api/expose-combos/route.js.nft.json +1 -0
  160. package/app/.next-cli-build/server/app/api/expose-combos/route_client-reference-manifest.js +1 -0
  161. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  162. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  164. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
  166. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  168. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  170. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  172. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  174. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  176. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
  178. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
  180. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  182. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  184. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  185. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  186. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  187. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  188. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  190. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  191. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  192. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  194. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  196. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  197. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  198. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/models/order/route.js +1 -1
  200. package/app/.next-cli-build/server/app/api/models/order/route.js.nft.json +1 -1
  201. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  202. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  203. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  204. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  206. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  208. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  209. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  210. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  212. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  214. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  216. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  218. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  220. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  222. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  224. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  225. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  226. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  227. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  228. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  229. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  230. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  231. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  232. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  233. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  234. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  235. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  236. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  238. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/providers/[id]/connections/disabled/route.js +1 -1
  240. package/app/.next-cli-build/server/app/api/providers/[id]/connections/disabled/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  242. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/providers/[id]/pool/pull/route.js +1 -1
  244. package/app/.next-cli-build/server/app/api/providers/[id]/pool/pull/route.js.nft.json +1 -1
  245. package/app/.next-cli-build/server/app/api/providers/[id]/pool/push/route.js +1 -1
  246. package/app/.next-cli-build/server/app/api/providers/[id]/pool/push/route.js.nft.json +1 -1
  247. package/app/.next-cli-build/server/app/api/providers/[id]/pool/route.js +1 -1
  248. package/app/.next-cli-build/server/app/api/providers/[id]/pool/route.js.nft.json +1 -1
  249. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  250. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  252. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  254. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  256. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  257. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  258. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  259. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  260. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  261. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  262. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  263. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  264. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  266. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  267. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  268. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  269. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  270. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  272. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  273. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  274. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  275. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  276. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  277. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  278. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  279. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  280. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  281. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  282. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  284. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  285. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  286. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  287. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  288. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  290. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  291. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  292. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  293. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  294. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  295. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  296. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  297. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  298. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  299. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  300. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  302. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  303. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  304. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  305. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  306. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  307. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  308. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  309. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  310. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  311. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  312. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  313. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  314. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  315. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  316. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  317. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  318. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  319. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  320. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  321. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  322. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  323. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  324. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  325. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  326. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  327. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  328. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  329. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  330. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  331. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  332. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  333. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  334. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  335. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  336. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  337. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  338. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  339. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  340. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  341. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  342. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  343. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  344. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  345. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  346. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  347. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  348. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  349. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  350. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  351. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  352. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  353. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  354. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  355. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  356. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  357. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  358. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  359. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  360. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  361. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  362. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  363. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  364. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  365. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  366. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  367. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  368. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  369. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  370. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  371. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  372. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  373. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  374. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  375. package/app/.next-cli-build/server/app/api/v2/models/route.js +1 -0
  376. package/app/.next-cli-build/server/app/api/v2/models/route.js.nft.json +1 -0
  377. package/app/.next-cli-build/server/app/api/v2/models/route_client-reference-manifest.js +1 -0
  378. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  379. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  380. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  381. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  382. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  383. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  384. package/app/.next-cli-build/server/app/callback/page.js +2 -2
  385. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  386. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  387. package/app/.next-cli-build/server/app/callback.html +1 -1
  388. package/app/.next-cli-build/server/app/callback.rsc +5 -5
  389. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +5 -5
  390. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  391. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +5 -5
  392. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  393. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  394. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  395. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  396. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +7 -7
  397. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  398. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  399. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  400. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  401. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +7 -7
  402. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  403. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +5 -5
  404. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  405. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  406. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +7 -7
  407. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  408. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  409. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  410. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  411. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +7 -7
  412. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  413. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +5 -5
  414. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  415. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  416. package/app/.next-cli-build/server/app/dashboard/combos.rsc +7 -7
  417. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  418. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  419. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  420. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  421. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +7 -7
  422. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  423. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +5 -5
  424. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  425. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  426. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +7 -7
  427. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  428. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  429. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  430. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  431. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +7 -7
  432. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  433. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +5 -5
  434. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  435. package/app/.next-cli-build/server/app/dashboard/expose-models.html +1 -0
  436. package/app/.next-cli-build/server/app/dashboard/expose-models.meta +17 -0
  437. package/app/.next-cli-build/server/app/dashboard/expose-models.rsc +27 -0
  438. package/app/.next-cli-build/server/app/dashboard/expose-models.segments/!KGRhc2hib2FyZCk/dashboard/expose-models/__PAGE__.segment.rsc +9 -0
  439. package/app/.next-cli-build/server/app/dashboard/expose-models.segments/!KGRhc2hib2FyZCk/dashboard/expose-models.segment.rsc +5 -0
  440. package/app/.next-cli-build/server/app/dashboard/expose-models.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  441. package/app/.next-cli-build/server/app/dashboard/expose-models.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  442. package/app/.next-cli-build/server/app/dashboard/expose-models.segments/_full.segment.rsc +27 -0
  443. package/app/.next-cli-build/server/app/dashboard/expose-models.segments/_head.segment.rsc +6 -0
  444. package/app/.next-cli-build/server/app/dashboard/expose-models.segments/_index.segment.rsc +9 -0
  445. package/app/.next-cli-build/server/app/dashboard/expose-models.segments/_tree.segment.rsc +5 -0
  446. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  447. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +7 -7
  448. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  449. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  450. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  451. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  452. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  453. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +7 -7
  454. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  455. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +5 -5
  456. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  457. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  458. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +7 -7
  459. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  460. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  461. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  462. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  463. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +7 -7
  464. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  465. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +5 -5
  466. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  467. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  468. package/app/.next-cli-build/server/app/dashboard/profile.rsc +7 -7
  469. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  470. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  471. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  472. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  473. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +7 -7
  474. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  475. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +5 -5
  476. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  477. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  478. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +7 -7
  479. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  480. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  481. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  482. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  483. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  484. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +7 -7
  485. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  486. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +5 -5
  487. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  488. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  489. package/app/.next-cli-build/server/app/dashboard/providers.rsc +7 -7
  490. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  491. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  492. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  493. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  494. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +7 -7
  495. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  496. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +5 -5
  497. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  498. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  499. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +7 -7
  500. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  501. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  502. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  503. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  504. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +7 -7
  505. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  506. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +5 -5
  507. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  508. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  509. package/app/.next-cli-build/server/app/dashboard/quota.rsc +8 -8
  510. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  511. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  512. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  513. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  514. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +8 -8
  515. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  516. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +5 -5
  517. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  518. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  519. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  520. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  521. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  522. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +5 -5
  523. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -5
  524. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  525. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +5 -5
  526. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  527. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  528. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  529. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  530. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  531. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  532. package/app/.next-cli-build/server/app/dashboard/skills.rsc +7 -7
  533. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  534. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  535. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  536. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  537. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +7 -7
  538. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  539. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +5 -5
  540. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  541. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  542. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +7 -7
  543. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
  544. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
  545. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  546. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  547. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +7 -7
  548. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
  549. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +5 -5
  550. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  551. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  552. package/app/.next-cli-build/server/app/dashboard/translator.rsc +7 -7
  553. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  554. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  555. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  556. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  557. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +7 -7
  558. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  559. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +5 -5
  560. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  561. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  562. package/app/.next-cli-build/server/app/dashboard/usage.rsc +7 -7
  563. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  564. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  565. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  566. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  567. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +7 -7
  568. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  569. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +5 -5
  570. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  571. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  572. package/app/.next-cli-build/server/app/dashboard.rsc +7 -7
  573. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  574. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  575. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  576. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +7 -7
  577. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  578. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +5 -5
  579. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  580. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  581. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  582. package/app/.next-cli-build/server/app/index.html +1 -1
  583. package/app/.next-cli-build/server/app/index.rsc +5 -5
  584. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  585. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +5 -5
  586. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  587. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +5 -5
  588. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  589. package/app/.next-cli-build/server/app/landing/page.js +2 -2
  590. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  591. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  592. package/app/.next-cli-build/server/app/landing.html +1 -1
  593. package/app/.next-cli-build/server/app/landing.rsc +5 -5
  594. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +5 -5
  595. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  596. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +5 -5
  597. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  598. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  599. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  600. package/app/.next-cli-build/server/app/login/page.js +2 -2
  601. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  602. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  603. package/app/.next-cli-build/server/app/login.html +1 -1
  604. package/app/.next-cli-build/server/app/login.rsc +6 -6
  605. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +6 -6
  606. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  607. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +5 -5
  608. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  609. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  610. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  611. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  612. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  613. package/app/.next-cli-build/server/app/page.js +2 -2
  614. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  615. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  616. package/app/.next-cli-build/server/app-paths-manifest.json +19 -14
  617. package/app/.next-cli-build/server/chunks/238.js +1 -1
  618. package/app/.next-cli-build/server/chunks/2845.js +1 -1
  619. package/app/.next-cli-build/server/chunks/3593.js +1 -1
  620. package/app/.next-cli-build/server/chunks/4055.js +1 -1
  621. package/app/.next-cli-build/server/chunks/412.js +1 -1
  622. package/app/.next-cli-build/server/chunks/4739.js +1 -1
  623. package/app/.next-cli-build/server/chunks/4746.js +1 -1
  624. package/app/.next-cli-build/server/chunks/4780.js +1 -1
  625. package/app/.next-cli-build/server/chunks/4827.js +1 -1
  626. package/app/.next-cli-build/server/chunks/4989.js +1 -1
  627. package/app/.next-cli-build/server/chunks/507.js +1 -1
  628. package/app/.next-cli-build/server/chunks/5217.js +1 -1
  629. package/app/.next-cli-build/server/chunks/5258.js +1 -1
  630. package/app/.next-cli-build/server/chunks/5330.js +1 -1
  631. package/app/.next-cli-build/server/chunks/5335.js +1 -0
  632. package/app/.next-cli-build/server/chunks/6167.js +2 -2
  633. package/app/.next-cli-build/server/chunks/6173.js +1 -1
  634. package/app/.next-cli-build/server/chunks/698.js +1 -1
  635. package/app/.next-cli-build/server/chunks/7220.js +1 -1
  636. package/app/.next-cli-build/server/chunks/7965.js +1 -1
  637. package/app/.next-cli-build/server/chunks/8031.js +1 -1
  638. package/app/.next-cli-build/server/chunks/8238.js +1 -1
  639. package/app/.next-cli-build/server/chunks/8520.js +1 -1
  640. package/app/.next-cli-build/server/chunks/8658.js +1 -1
  641. package/app/.next-cli-build/server/chunks/8668.js +1 -1
  642. package/app/.next-cli-build/server/chunks/8895.js +1 -1
  643. package/app/.next-cli-build/server/chunks/9350.js +1 -1
  644. package/app/.next-cli-build/server/chunks/9622.js +21 -0
  645. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  646. package/app/.next-cli-build/server/middleware.js +4 -4
  647. package/app/.next-cli-build/server/pages/404.html +1 -1
  648. package/app/.next-cli-build/server/pages/500.html +1 -1
  649. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  650. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  651. package/app/.next-cli-build/static/chunks/{1321-ed0c05a3926d798d.js → 1321-32feaf03c4e532ff.js} +1 -1
  652. package/app/.next-cli-build/static/chunks/{5497-5c2a4e8c9f6b5339.js → 5497-f24493f33e6e5418.js} +1 -1
  653. package/app/.next-cli-build/static/chunks/7784-40a5085efed87853.js +3 -0
  654. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/expose-models/page-6a438ced5261e2e9.js +1 -0
  655. package/app/.next-cli-build/static/chunks/app/_global-error/page-4d6d6e402758effc.js +1 -0
  656. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-4d6d6e402758effc.js +1 -0
  657. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-4d6d6e402758effc.js +1 -0
  658. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-4d6d6e402758effc.js +1 -0
  659. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-4d6d6e402758effc.js +1 -0
  660. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-4d6d6e402758effc.js +1 -0
  661. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-4d6d6e402758effc.js +1 -0
  662. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-4d6d6e402758effc.js +1 -0
  663. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-4d6d6e402758effc.js +1 -0
  664. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-4d6d6e402758effc.js +1 -0
  665. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-4d6d6e402758effc.js +1 -0
  666. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-4d6d6e402758effc.js +1 -0
  667. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-4d6d6e402758effc.js +1 -0
  668. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-4d6d6e402758effc.js +1 -0
  669. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-4d6d6e402758effc.js +1 -0
  670. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-4d6d6e402758effc.js +1 -0
  671. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-4d6d6e402758effc.js +1 -0
  672. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-4d6d6e402758effc.js +1 -0
  673. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-4d6d6e402758effc.js +1 -0
  674. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-4d6d6e402758effc.js +1 -0
  675. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-4d6d6e402758effc.js +1 -0
  676. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-4d6d6e402758effc.js +1 -0
  677. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-4d6d6e402758effc.js +1 -0
  678. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-4d6d6e402758effc.js +1 -0
  679. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-4d6d6e402758effc.js +1 -0
  680. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-4d6d6e402758effc.js +1 -0
  681. package/app/.next-cli-build/static/chunks/app/api/combos/reorder/route-4d6d6e402758effc.js +1 -0
  682. package/app/.next-cli-build/static/chunks/app/api/combos/route-4d6d6e402758effc.js +1 -0
  683. package/app/.next-cli-build/static/chunks/app/api/expose-combos/[id]/route-4d6d6e402758effc.js +1 -0
  684. package/app/.next-cli-build/static/chunks/app/api/expose-combos/reorder/route-4d6d6e402758effc.js +1 -0
  685. package/app/.next-cli-build/static/chunks/app/api/expose-combos/route-4d6d6e402758effc.js +1 -0
  686. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-4d6d6e402758effc.js +1 -0
  687. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-4d6d6e402758effc.js +1 -0
  688. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-4d6d6e402758effc.js +1 -0
  689. package/app/.next-cli-build/static/chunks/app/api/health/route-4d6d6e402758effc.js +1 -0
  690. package/app/.next-cli-build/static/chunks/app/api/init/route-4d6d6e402758effc.js +1 -0
  691. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-4d6d6e402758effc.js +1 -0
  692. package/app/.next-cli-build/static/chunks/app/api/keys/route-4d6d6e402758effc.js +1 -0
  693. package/app/.next-cli-build/static/chunks/app/api/locale/route-4d6d6e402758effc.js +1 -0
  694. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-4d6d6e402758effc.js +1 -0
  695. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-4d6d6e402758effc.js +1 -0
  696. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-4d6d6e402758effc.js +1 -0
  697. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-4d6d6e402758effc.js +1 -0
  698. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-4d6d6e402758effc.js +1 -0
  699. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-4d6d6e402758effc.js +1 -0
  700. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-4d6d6e402758effc.js +1 -0
  701. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-4d6d6e402758effc.js +1 -0
  702. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-4d6d6e402758effc.js +1 -0
  703. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-4d6d6e402758effc.js +1 -0
  704. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-4d6d6e402758effc.js +1 -0
  705. package/app/.next-cli-build/static/chunks/app/api/models/order/route-4d6d6e402758effc.js +1 -0
  706. package/app/.next-cli-build/static/chunks/app/api/models/route-4d6d6e402758effc.js +1 -0
  707. package/app/.next-cli-build/static/chunks/app/api/models/test/route-4d6d6e402758effc.js +1 -0
  708. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-4d6d6e402758effc.js +1 -0
  709. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-4d6d6e402758effc.js +1 -0
  710. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-4d6d6e402758effc.js +1 -0
  711. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-4d6d6e402758effc.js +1 -0
  712. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-4d6d6e402758effc.js +1 -0
  713. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-4d6d6e402758effc.js +1 -0
  714. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-4d6d6e402758effc.js +1 -0
  715. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-4d6d6e402758effc.js +1 -0
  716. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-4d6d6e402758effc.js +1 -0
  717. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-4d6d6e402758effc.js +1 -0
  718. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-4d6d6e402758effc.js +1 -0
  719. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-4d6d6e402758effc.js +1 -0
  720. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-4d6d6e402758effc.js +1 -0
  721. package/app/.next-cli-build/static/chunks/app/api/pricing/route-4d6d6e402758effc.js +1 -0
  722. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-4d6d6e402758effc.js +1 -0
  723. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-4d6d6e402758effc.js +1 -0
  724. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-4d6d6e402758effc.js +1 -0
  725. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/connections/disabled/route-4d6d6e402758effc.js +1 -0
  726. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-4d6d6e402758effc.js +1 -0
  727. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/pool/pull/route-4d6d6e402758effc.js +1 -0
  728. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/pool/push/route-4d6d6e402758effc.js +1 -0
  729. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/pool/route-4d6d6e402758effc.js +1 -0
  730. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-4d6d6e402758effc.js +1 -0
  731. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-4d6d6e402758effc.js +1 -0
  732. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-4d6d6e402758effc.js +1 -0
  733. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-4d6d6e402758effc.js +1 -0
  734. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-4d6d6e402758effc.js +1 -0
  735. package/app/.next-cli-build/static/chunks/app/api/providers/route-4d6d6e402758effc.js +1 -0
  736. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-4d6d6e402758effc.js +1 -0
  737. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-4d6d6e402758effc.js +1 -0
  738. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-4d6d6e402758effc.js +1 -0
  739. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-4d6d6e402758effc.js +1 -0
  740. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-4d6d6e402758effc.js +1 -0
  741. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-4d6d6e402758effc.js +1 -0
  742. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-4d6d6e402758effc.js +1 -0
  743. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-4d6d6e402758effc.js +1 -0
  744. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-4d6d6e402758effc.js +1 -0
  745. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-4d6d6e402758effc.js +1 -0
  746. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-4d6d6e402758effc.js +1 -0
  747. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-4d6d6e402758effc.js +1 -0
  748. package/app/.next-cli-build/static/chunks/app/api/settings/route-4d6d6e402758effc.js +1 -0
  749. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-4d6d6e402758effc.js +1 -0
  750. package/app/.next-cli-build/static/chunks/app/api/tags/route-4d6d6e402758effc.js +1 -0
  751. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-4d6d6e402758effc.js +1 -0
  752. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-4d6d6e402758effc.js +1 -0
  753. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-4d6d6e402758effc.js +1 -0
  754. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-4d6d6e402758effc.js +1 -0
  755. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-4d6d6e402758effc.js +1 -0
  756. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-4d6d6e402758effc.js +1 -0
  757. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-4d6d6e402758effc.js +1 -0
  758. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-4d6d6e402758effc.js +1 -0
  759. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-4d6d6e402758effc.js +1 -0
  760. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-4d6d6e402758effc.js +1 -0
  761. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-4d6d6e402758effc.js +1 -0
  762. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-4d6d6e402758effc.js +1 -0
  763. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-4d6d6e402758effc.js +1 -0
  764. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-4d6d6e402758effc.js +1 -0
  765. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-4d6d6e402758effc.js +1 -0
  766. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-4d6d6e402758effc.js +1 -0
  767. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-4d6d6e402758effc.js +1 -0
  768. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-4d6d6e402758effc.js +1 -0
  769. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-4d6d6e402758effc.js +1 -0
  770. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-4d6d6e402758effc.js +1 -0
  771. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-4d6d6e402758effc.js +1 -0
  772. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-4d6d6e402758effc.js +1 -0
  773. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-4d6d6e402758effc.js +1 -0
  774. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-4d6d6e402758effc.js +1 -0
  775. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-4d6d6e402758effc.js +1 -0
  776. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-4d6d6e402758effc.js +1 -0
  777. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-4d6d6e402758effc.js +1 -0
  778. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-4d6d6e402758effc.js +1 -0
  779. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-4d6d6e402758effc.js +1 -0
  780. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-4d6d6e402758effc.js +1 -0
  781. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-4d6d6e402758effc.js +1 -0
  782. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-4d6d6e402758effc.js +1 -0
  783. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-4d6d6e402758effc.js +1 -0
  784. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-4d6d6e402758effc.js +1 -0
  785. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-4d6d6e402758effc.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-4d6d6e402758effc.js +1 -0
  787. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-4d6d6e402758effc.js +1 -0
  788. package/app/.next-cli-build/static/chunks/app/api/v1/route-4d6d6e402758effc.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-4d6d6e402758effc.js +1 -0
  790. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-4d6d6e402758effc.js +1 -0
  791. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-4d6d6e402758effc.js +1 -0
  792. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-4d6d6e402758effc.js +1 -0
  793. package/app/.next-cli-build/static/chunks/app/api/v2/models/route-4d6d6e402758effc.js +1 -0
  794. package/app/.next-cli-build/static/chunks/app/api/version/route-4d6d6e402758effc.js +1 -0
  795. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-4d6d6e402758effc.js +1 -0
  796. package/app/.next-cli-build/static/chunks/app/api/version/update/route-4d6d6e402758effc.js +1 -0
  797. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-4d6d6e402758effc.js +1 -0
  798. package/app/.next-cli-build/static/chunks/app/page-4d6d6e402758effc.js +1 -0
  799. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-4d6d6e402758effc.js +1 -0
  800. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-4d6d6e402758effc.js +1 -0
  801. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-4d6d6e402758effc.js +1 -0
  802. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-4d6d6e402758effc.js +1 -0
  803. package/app/.next-cli-build/static/css/04bf574a573ae463.css +1 -0
  804. package/app/.next-cli-build/static/htxRkCUiEGYd3Bsr5Vekk/_buildManifest.js +1 -0
  805. package/app/cli/.build-home/.9router/db/backups/{upgrade-0.5.56-to-0.5.57-0.5.57-20260708-014956 → upgrade-0.5.59-to-0.5.60-0.5.60-20260713-215333}/data.sqlite +0 -0
  806. package/app/cli/.build-home/.9router/db/backups/{upgrade-0.5.55-to-0.5.56-0.5.56-20260707-002425 → upgrade-0.5.60-to-0.5.61-0.5.61-20260823-203925}/data.sqlite +0 -0
  807. package/app/cli/.build-home/.9router/db/data.sqlite +0 -0
  808. package/app/package.json +1 -1
  809. package/app/server.js +1 -1
  810. package/package.json +1 -1
  811. package/app/.next-cli-build/server/chunks/914.js +0 -21
  812. package/app/.next-cli-build/static/chunks/7784-265a15eadd679bdc.js +0 -3
  813. package/app/.next-cli-build/static/chunks/app/_global-error/page-438b0daca26ddc22.js +0 -1
  814. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-438b0daca26ddc22.js +0 -1
  815. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-438b0daca26ddc22.js +0 -1
  816. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-438b0daca26ddc22.js +0 -1
  817. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-438b0daca26ddc22.js +0 -1
  818. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-438b0daca26ddc22.js +0 -1
  819. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-438b0daca26ddc22.js +0 -1
  820. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-438b0daca26ddc22.js +0 -1
  821. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-438b0daca26ddc22.js +0 -1
  822. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-438b0daca26ddc22.js +0 -1
  823. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-438b0daca26ddc22.js +0 -1
  824. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-438b0daca26ddc22.js +0 -1
  825. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-438b0daca26ddc22.js +0 -1
  826. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-438b0daca26ddc22.js +0 -1
  827. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-438b0daca26ddc22.js +0 -1
  828. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-438b0daca26ddc22.js +0 -1
  829. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-438b0daca26ddc22.js +0 -1
  830. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-438b0daca26ddc22.js +0 -1
  831. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-438b0daca26ddc22.js +0 -1
  832. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-438b0daca26ddc22.js +0 -1
  833. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-438b0daca26ddc22.js +0 -1
  834. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-438b0daca26ddc22.js +0 -1
  835. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-438b0daca26ddc22.js +0 -1
  836. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-438b0daca26ddc22.js +0 -1
  837. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-438b0daca26ddc22.js +0 -1
  838. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-438b0daca26ddc22.js +0 -1
  839. package/app/.next-cli-build/static/chunks/app/api/combos/reorder/route-438b0daca26ddc22.js +0 -1
  840. package/app/.next-cli-build/static/chunks/app/api/combos/route-438b0daca26ddc22.js +0 -1
  841. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-438b0daca26ddc22.js +0 -1
  842. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-438b0daca26ddc22.js +0 -1
  843. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-438b0daca26ddc22.js +0 -1
  844. package/app/.next-cli-build/static/chunks/app/api/health/route-438b0daca26ddc22.js +0 -1
  845. package/app/.next-cli-build/static/chunks/app/api/init/route-438b0daca26ddc22.js +0 -1
  846. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-438b0daca26ddc22.js +0 -1
  847. package/app/.next-cli-build/static/chunks/app/api/keys/route-438b0daca26ddc22.js +0 -1
  848. package/app/.next-cli-build/static/chunks/app/api/locale/route-438b0daca26ddc22.js +0 -1
  849. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-438b0daca26ddc22.js +0 -1
  850. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-438b0daca26ddc22.js +0 -1
  851. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-438b0daca26ddc22.js +0 -1
  852. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-438b0daca26ddc22.js +0 -1
  853. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-438b0daca26ddc22.js +0 -1
  854. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-438b0daca26ddc22.js +0 -1
  855. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-438b0daca26ddc22.js +0 -1
  856. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-438b0daca26ddc22.js +0 -1
  857. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-438b0daca26ddc22.js +0 -1
  858. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-438b0daca26ddc22.js +0 -1
  859. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-438b0daca26ddc22.js +0 -1
  860. package/app/.next-cli-build/static/chunks/app/api/models/order/route-438b0daca26ddc22.js +0 -1
  861. package/app/.next-cli-build/static/chunks/app/api/models/route-438b0daca26ddc22.js +0 -1
  862. package/app/.next-cli-build/static/chunks/app/api/models/test/route-438b0daca26ddc22.js +0 -1
  863. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-438b0daca26ddc22.js +0 -1
  864. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-438b0daca26ddc22.js +0 -1
  865. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-438b0daca26ddc22.js +0 -1
  866. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-438b0daca26ddc22.js +0 -1
  867. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-438b0daca26ddc22.js +0 -1
  868. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-438b0daca26ddc22.js +0 -1
  869. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-438b0daca26ddc22.js +0 -1
  870. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-438b0daca26ddc22.js +0 -1
  871. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-438b0daca26ddc22.js +0 -1
  872. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-438b0daca26ddc22.js +0 -1
  873. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-438b0daca26ddc22.js +0 -1
  874. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-438b0daca26ddc22.js +0 -1
  875. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-438b0daca26ddc22.js +0 -1
  876. package/app/.next-cli-build/static/chunks/app/api/pricing/route-438b0daca26ddc22.js +0 -1
  877. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-438b0daca26ddc22.js +0 -1
  878. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-438b0daca26ddc22.js +0 -1
  879. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-438b0daca26ddc22.js +0 -1
  880. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/connections/disabled/route-438b0daca26ddc22.js +0 -1
  881. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-438b0daca26ddc22.js +0 -1
  882. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/pool/pull/route-438b0daca26ddc22.js +0 -1
  883. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/pool/push/route-438b0daca26ddc22.js +0 -1
  884. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/pool/route-438b0daca26ddc22.js +0 -1
  885. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-438b0daca26ddc22.js +0 -1
  886. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-438b0daca26ddc22.js +0 -1
  887. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-438b0daca26ddc22.js +0 -1
  888. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-438b0daca26ddc22.js +0 -1
  889. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-438b0daca26ddc22.js +0 -1
  890. package/app/.next-cli-build/static/chunks/app/api/providers/route-438b0daca26ddc22.js +0 -1
  891. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-438b0daca26ddc22.js +0 -1
  892. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-438b0daca26ddc22.js +0 -1
  893. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-438b0daca26ddc22.js +0 -1
  894. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-438b0daca26ddc22.js +0 -1
  895. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-438b0daca26ddc22.js +0 -1
  896. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-438b0daca26ddc22.js +0 -1
  897. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-438b0daca26ddc22.js +0 -1
  898. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-438b0daca26ddc22.js +0 -1
  899. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-438b0daca26ddc22.js +0 -1
  900. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-438b0daca26ddc22.js +0 -1
  901. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-438b0daca26ddc22.js +0 -1
  902. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-438b0daca26ddc22.js +0 -1
  903. package/app/.next-cli-build/static/chunks/app/api/settings/route-438b0daca26ddc22.js +0 -1
  904. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-438b0daca26ddc22.js +0 -1
  905. package/app/.next-cli-build/static/chunks/app/api/tags/route-438b0daca26ddc22.js +0 -1
  906. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-438b0daca26ddc22.js +0 -1
  907. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-438b0daca26ddc22.js +0 -1
  908. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-438b0daca26ddc22.js +0 -1
  909. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-438b0daca26ddc22.js +0 -1
  910. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-438b0daca26ddc22.js +0 -1
  911. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-438b0daca26ddc22.js +0 -1
  912. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-438b0daca26ddc22.js +0 -1
  913. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-438b0daca26ddc22.js +0 -1
  914. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-438b0daca26ddc22.js +0 -1
  915. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-438b0daca26ddc22.js +0 -1
  916. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-438b0daca26ddc22.js +0 -1
  917. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-438b0daca26ddc22.js +0 -1
  918. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-438b0daca26ddc22.js +0 -1
  919. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-438b0daca26ddc22.js +0 -1
  920. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-438b0daca26ddc22.js +0 -1
  921. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-438b0daca26ddc22.js +0 -1
  922. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-438b0daca26ddc22.js +0 -1
  923. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-438b0daca26ddc22.js +0 -1
  924. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-438b0daca26ddc22.js +0 -1
  925. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-438b0daca26ddc22.js +0 -1
  926. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-438b0daca26ddc22.js +0 -1
  927. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-438b0daca26ddc22.js +0 -1
  928. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-438b0daca26ddc22.js +0 -1
  929. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-438b0daca26ddc22.js +0 -1
  930. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-438b0daca26ddc22.js +0 -1
  931. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-438b0daca26ddc22.js +0 -1
  932. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-438b0daca26ddc22.js +0 -1
  933. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-438b0daca26ddc22.js +0 -1
  934. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-438b0daca26ddc22.js +0 -1
  935. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-438b0daca26ddc22.js +0 -1
  936. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-438b0daca26ddc22.js +0 -1
  937. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-438b0daca26ddc22.js +0 -1
  938. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-438b0daca26ddc22.js +0 -1
  939. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-438b0daca26ddc22.js +0 -1
  940. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-438b0daca26ddc22.js +0 -1
  941. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-438b0daca26ddc22.js +0 -1
  942. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-438b0daca26ddc22.js +0 -1
  943. package/app/.next-cli-build/static/chunks/app/api/v1/route-438b0daca26ddc22.js +0 -1
  944. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-438b0daca26ddc22.js +0 -1
  945. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-438b0daca26ddc22.js +0 -1
  946. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-438b0daca26ddc22.js +0 -1
  947. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-438b0daca26ddc22.js +0 -1
  948. package/app/.next-cli-build/static/chunks/app/api/version/route-438b0daca26ddc22.js +0 -1
  949. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-438b0daca26ddc22.js +0 -1
  950. package/app/.next-cli-build/static/chunks/app/api/version/update/route-438b0daca26ddc22.js +0 -1
  951. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-438b0daca26ddc22.js +0 -1
  952. package/app/.next-cli-build/static/chunks/app/page-438b0daca26ddc22.js +0 -1
  953. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-438b0daca26ddc22.js +0 -1
  954. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-438b0daca26ddc22.js +0 -1
  955. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-438b0daca26ddc22.js +0 -1
  956. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-438b0daca26ddc22.js +0 -1
  957. package/app/.next-cli-build/static/css/7834e98b0ab2c85c.css +0 -1
  958. package/app/.next-cli-build/static/w-ITB5pDWdUgMc8QL6uC_/_buildManifest.js +0 -1
  959. /package/app/.next-cli-build/static/{w-ITB5pDWdUgMc8QL6uC_ → htxRkCUiEGYd3Bsr5Vekk}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=238,exports.ids=[238,1998],exports.modules={5483:(a,b,c)=>{c.d(b,{Gz:()=>m,Yj:()=>j,ZO:()=>l});let d=JSON.parse('{"gemini-2.5-flash":{"rpm":5,"rpd":20,"tpm":250000},"gemini-2.5-pro":{"rpm":0,"rpd":0,"tpm":0},"gemini-2-flash":{"rpm":0,"rpd":0,"tpm":0},"gemini-2-flash-lite":{"rpm":0,"rpd":0,"tpm":0},"gemini-2.5-flash-tts":{"rpm":3,"rpd":10,"tpm":10000},"gemini-2.5-pro-tts":{"rpm":0,"rpd":0,"tpm":0},"imagen-4-generate":{"rpm":-1,"rpd":25,"tpm":-1},"imagen-4-ultra-generate":{"rpm":-1,"rpd":25,"tpm":-1},"imagen-4-fast-generate":{"rpm":-1,"rpd":25,"tpm":-1},"gemma-4-26b-it":{"rpm":15,"rpd":1500,"tpm":-1},"gemma-4-31b-it":{"rpm":15,"rpd":1500,"tpm":-1},"gemini-embedding-exp-03-07":{"rpm":100,"rpd":1000,"tpm":30000},"gemini-3.5-flash":{"rpm":5,"rpd":20,"tpm":250000},"gemini-3.1-flash-lite":{"rpm":15,"rpd":500,"tpm":250000},"gemini-3.1-pro":{"rpm":0,"rpd":0,"tpm":0},"gemini-2.5-flash-lite":{"rpm":10,"rpd":20,"tpm":250000},"nano-banana-gemini-2.5-flash-preview-image":{"rpm":0,"rpd":0,"tpm":0},"nano-banana-pro-gemini-3-pro-image":{"rpm":0,"rpd":0,"tpm":0},"nano-banana-2-gemini-3.1-flash-image":{"rpm":0,"rpd":0,"tpm":0},"lyria-3-clip":{"rpm":0,"rpd":0,"tpm":0},"lyria-3-pro":{"rpm":0,"rpd":0,"tpm":0},"veo-3-generate":{"rpm":0,"rpd":0,"tpm":-1},"veo-3-fast-generate":{"rpm":0,"rpd":0,"tpm":-1},"veo-3-lite-generate":{"rpm":0,"rpd":0,"tpm":-1},"gemini-3.1-flash-tts":{"rpm":3,"rpd":10,"tpm":10000},"gemini-robotics-er-1.5-preview":{"rpm":10,"rpd":20,"tpm":250000},"gemini-robotics-er-1.6-preview":{"rpm":5,"rpd":20,"tpm":250000},"computer-use-preview":{"rpm":0,"rpd":0,"tpm":0},"gemini-embedding-exp-04-07":{"rpm":100,"rpd":1000,"tpm":30000},"gemini-3.5-live-translate":{"rpm":-1,"rpd":-1,"tpm":20000},"gemini-2.5-flash-native-audio-dialog":{"rpm":-1,"rpd":-1,"tpm":1000000},"gemini-3-flash-live":{"rpm":-1,"rpd":-1,"tpm":65000}}'),e=new Map,f=new Map;function g(){return new Date().toISOString().slice(0,10)}function h(a){return a.replace(/^gemini\//,"").trim()}function i(a,b){if(!a)return 0;let c=h(a),e=d[c];if(!e){for(let[a,e]of Object.entries(d))if(c.endsWith(a)||a.endsWith(c)){let a=e[b];return"number"==typeof a&&a>0?a:0}return 0}let f=e[b];return"number"==typeof f&&f>0?f:0}function j(a){let b=i(a,"rpd");return!(b<=0)&&function(a){if(!a)return 0;let b=h(a),c=g(),d=e.get(b);return d&&d.date===c?d.count:0}(a)>=b}function k(a){let b=Date.now()-6e4,c=f.get(a);if(!c)return;let d=0;for(;d<c.length&&c[d]<b;)d++;d>0&&f.set(a,c.slice(d))}function l(a){let b=i(a,"rpm");return!(b<=0)&&function(a){if(!a)return 0;let b=h(a);return k(b),f.get(b)?.length??0}(a)>=b}function m(a){!function(a){if(!a)return;let b=h(a),c=g(),d=e.get(b);d&&d.date===c?d.count++:e.set(b,{date:c,count:1})}(a),function(a){if(!a)return;let b=h(a);k(b);let c=f.get(b)??[];c.push(Date.now()),f.set(b,c)}(a)}},10254:(a,b,c)=>{c.d(b,{hk:()=>an,w7:()=>ak,M$:()=>_,lB:()=>aa,Qo:()=>ao,ls:()=>ac,LN:()=>M,DZ:()=>Z,K7:()=>H,M1:()=>I,xs:()=>am,qw:()=>ab,me:()=>J,je:()=>af,v6:()=>ae,R7:()=>W,CY:()=>$,Ks:()=>ag,E$:()=>Y,p8:()=>ad,pX:()=>X});var d=c(61408),e=c(3662);function f(){return[{id:"opencode-quota-exhausted-headers",match:({status:a,headers:b})=>429!==a?null:"0"===b["x-ratelimit-remaining-requests"]||"0"===b["x-ratelimit-remaining-tokens"]?{reason:"quota_exhausted",scope:"provider"}:null},{id:"opencode-quota-exhausted-body",match:({status:a,body:b})=>{if(429!==a)return null;let c=JSON.stringify(b??"").toLowerCase();return c.includes("organization_quota_exceeded")||c.includes("account_quota_exceeded")||c.includes("plan_limit_reached")?{reason:"quota_exhausted",scope:"provider"}:null}}]}function g(){return[{id:"minimax-per-model-quota",match:({status:a,headers:b})=>{if(429!==a)return null;let c=b["x-model-quota-remaining"];return c&&c.split(",").some(a=>a.split("=")[1]?.trim()==="0")?{reason:"quota_exhausted",scope:"model"}:null}}]}let h=new Map([["opencode",f()],["opencode-go",f()],["opencode-cli",f()],["minimax",g()],["minimax-passthrough",g()]]);var i=c(36081),j=c(50102),k=c(77868),l=c(15300),m=c(40615),n=c(37664),o=c(21968),p=c(5483);function q(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:{}}let r=new Set([408,429,500,502,503,504]),s=new Map,t=setInterval(()=>{let a=Date.now();for(let[b,c]of s)a-c>5e3&&s.delete(b)},6e4);"object"==typeof t&&"unref"in t&&t.unref?.();let u=["account_deactivated","account has been deactivated","account has been disabled","your account has been suspended","this account is deactivated","verify your account to continue","this service has been disabled in this account for violation","this service has been disabled in this account"],v=[],w=["insufficient_quota","billing_hard_limit_reached","exceeded your current quota","exceeded your current usage quota","credit_balance_too_low","your credit balance is too low","credits exhausted","out of credits","payment required","free tier of the model has been exhausted","insufficient balance","insufficient_balance","insufficient account balance"],x=["invalid authentication credentials","oauth 2","login cookie","valid authentication credential","invalid credentials"],y=[/\binput is too long\b/i,/\binput too long\b/i,/\bcontext.*(too long|exceeded|overflow|limit)/i,/\btoo many tokens\b/i,/\bprompt is too long\b/i,/\bcontext window/i,/\bmaximum context/i,/\bmax.*token/i,/\btoken limit/i,/\brequest too large\b/i],z=new Set(["model_not_found","deployment_not_found"]),A=new Set(["not_found_error"]),B=new Set(["permission_error"]),C=[/\binvalid model\b/i,/\bmodel.*not.*(?:available|found|supported|accessible)\b/i,/\bmodel.*(?:does not exist|doesn't exist)\b/i,/\baccess.*denied.*model\b/i,/\bmodel.*access.*denied\b/i,/\bplease select a different model\b/i,/\b(?:access|permission)[\s\S]{0,60}?\bmodel\b/i,/\bmodel[\s\S]{0,60}?\b(?:access|permission)\b/i],D=[/\b(?:invalid|incorrect|expired|missing|revoked)\s+api[\s_-]?key\b/i,/\bapi[\s_-]?key\s+(?:is\s+)?(?:invalid|incorrect|expired|missing|revoked|not\s+valid)\b/i,/\bauthentication\s+(?:failed|error|required)\b/i,/\b(?:invalid|expired|missing|revoked)\s+(?:token|credentials?|bearer)\b/i,/\bunauthorized\b/i,/\bnot\s+authenticated\b/i],E=[/\bimproperly formed request\b/i,/\binvalid.*message.*format/i,/\bmessages must alternate\b/i,/\bempty (message|content)\b/i,/\bfunction'?s? name (?:can't|can not|is|has) (?:blank|empty|missing)/i,/function.*name.*(?:blank|empty|missing)/i,/tool_call.*name.*(?:blank|empty|missing)/i],F=[/high.?frequency/i,/non-compliant/i,/too many requests/i,/rate.?limit/i,/频繁/,/频率/],G=[/max_tokens.*illegal/i,/max_tokens.*must be/i,/max_tokens.*range/i,/parameter is illegal/i,/is illegal.*range/i];function H(a){let b=String(a||"").toLowerCase();return(0===v.length?u:[...u,...v]).some(a=>b.includes(a))}function I(a){let b=String(a||"").toLowerCase();return!!w.some(a=>b.includes(a))||b.includes("insufficient")&&b.includes("balance")}function J(a){let b=String(a||"").toLowerCase();return x.some(a=>b.includes(a))}function K(a,b){let c=b?(0,j.xv)(b):j.aD,e=c.connectionCooldown[a],f=c.providerBreaker[a];return{baseCooldownMs:e.baseCooldownMs,useUpstreamRetryHints:e.useUpstreamRetryHints,useUpstream429BreakerHints:e.useUpstream429BreakerHints,maxCooldownMs:(0,k.Sy)(b).maxCooldownMs,maxBackoffSteps:e.maxBackoffSteps,failureThreshold:f.failureThreshold,resetTimeoutMs:f.resetTimeoutMs,transientCooldown:e.baseCooldownMs,rateLimitCooldown:e.useUpstreamRetryHints?0:e.baseCooldownMs,maxBackoffLevel:e.maxBackoffSteps,circuitBreakerThreshold:f.failureThreshold,circuitBreakerReset:f.resetTimeoutMs,degradationThreshold:f.degradationThreshold,providerFailureThreshold:d.xx[a].providerFailureThreshold,providerFailureWindowMs:d.xx[a].providerFailureWindowMs,maxBackoffMultiplier:d.xx[a].maxBackoffMultiplier,backoffEscalationCount:d.xx[a].backoffEscalationCount,providerCooldownMs:d.xx[a].providerCooldownMs}}function L(a){return K((0,i.oQ)(a))}async function M(a){try{let{getCachedSettings:b}=await c.e(4046).then(c.bind(c,14046)),d=await b(),e=(0,i.oQ)(a||"");return K(e,d)}catch{return L(a||"")}}let N=new Map,O=new Map,P=new Map;function Q(a){let b=P.get(a);return b||(b=(0,m.rs)(a),P.set(a,b)),b}function R(a,b,c){let d=Q(a),e="codex"===d?(0,n.t6)(c):(0,o.M$)(d,c)||c;return`${d}:${b}:${e}`}function S(a,b=Date.now()){let c=N.get(a);c&&b>c.until&&N.delete(a);let d=O.get(a);!d||b-d.lastFailureAt<=d.resetAfterMs+(d.lastCooldownMs??0)||N.has(a)||O.delete(a)}function T(a,b,c=e.EQ.maxLevel){return(Number.isFinite(a)&&a>0?a:1e3)*Math.pow(2,Math.min(Math.max(0,b-1),Math.max(0,c)))}let U=null;function V(){if(!U)try{U=setInterval(()=>{let a=Date.now();for(let b of N.keys())S(b,a);for(let b of O.keys())S(b,a)},15e3),"object"==typeof U&&"unref"in U&&U.unref?.()}catch{}}function W(a,b,c,d,e,f={}){if(!c)return;V();let g=R(a,b,c);S(g);let h=Date.now()+e,i=N.get(g);if(i&&i.until>h){f.failureCount&&f.failureCount>i.failureCount&&(i.failureCount=f.failureCount,i.lastFailureAt=f.lastFailureAt??i.lastFailureAt,i.resetAfterMs=f.resetAfterMs??i.resetAfterMs,N.set(g,i));return}let j=Date.now();N.set(g,{reason:d,until:h,lockedAt:j,failureCount:f.failureCount??i?.failureCount??1,lastFailureAt:f.lastFailureAt??j,resetAfterMs:f.resetAfterMs??i?.resetAfterMs??0})}function X(a,b){return"number"==typeof a&&a>b.baseCooldownMs?a:b.useExponentialBackoff?0:b.baseCooldownMs}function Y(a,b,c,f,g,h,i=null,j={}){V();let k=R(a,b,c),l=Date.now();S(k,l),"quota_exhausted"===f&&"number"!=typeof j.exactCooldownMs&&(j={...j,exactCooldownMs:al()});let m=function(a=null,b=18e5){let c=a?.resetTimeoutMs;return"number"==typeof c&&c>0?c:b}(i),n=O.get(k),o=n&&l-n.lastFailureAt<=n.resetAfterMs+(n.lastCooldownMs??0)?n.failureCount+1:1,p=function(a,b,c=null){return Number.isFinite(b)&&b>0?b:"number"==typeof c?.baseCooldownMs&&c.baseCooldownMs>=0?c.baseCooldownMs:a===d.gx.RATE_LIMITED?function(a=0){return(0,e.KI)(a)}(0):e.Bm.transientInitial}(g,h,i),q="number"==typeof j.maxCooldownMs&&j.maxCooldownMs>0?j.maxCooldownMs:e.EQ.max,r="number"==typeof j.exactCooldownMs&&j.exactCooldownMs>0?j.exactCooldownMs:Math.min(T(p,o,i?.maxBackoffSteps??e.EQ.maxLevel),q);return O.set(k,{failureCount:o,lastFailureAt:l,resetAfterMs:m,lastCooldownMs:r}),W(a,b,c,f,r,{failureCount:o,lastFailureAt:l,resetAfterMs:m}),{cooldownMs:r,failureCount:o,resetAfterMs:m}}function Z(a,b=null,c){return"boolean"==typeof c?c:!!a&&(!!("codex"===Q(a)||"gemini"===a||"github"===a||(0,i.Fp)().has(a))||!!("string"==typeof a&&(a.startsWith("openai-compatible-")||a.startsWith("anthropic-compatible-"))))}function $(a,b,c,d,e,f){return!(!Z(a,c,f)||!c||function(a){let b=a?(0,l.qF)(a):null;return!!b&&!b.canExecute()}(a))&&(W(a,b,c,d,e),!0)}function _(a){return 429===a?"rate_limit":403===a?"quota_exhausted":"unknown"}function aa(a,b,c){let d=R(a,b,c),e=O.get(d);if(!e)return{cleared:!1,newFailureCount:0};let f=Math.floor(e.failureCount/2);return 0===f?(O.delete(d),{cleared:!0,newFailureCount:0}):(O.set(d,{...e,failureCount:f}),{cleared:!1,newFailureCount:f})}function ab(a,b,c){if(!c)return!1;let d=R(a,b,c);return S(d),!!N.get(d)}function ac(a,b,c){if(!c)return null;let d=R(a,b,c);S(d);let e=N.get(d);return e?{reason:e.reason,remainingMs:e.until-Date.now(),lockedAt:new Date(e.lockedAt).toISOString(),failureCount:e.failureCount}:null}function ad(a,b,c,d){if(!a)return;if(c){let b=`${a}:${c}`,d=Date.now(),e=s.get(b);if(e&&d-e<5e3)return;s.delete(b),s.set(b,d),function(){for(;s.size>1e4;){let a=s.keys().next().value;if("string"!=typeof a)return;s.delete(a)}}()}let e=function(a,b){if(!a)return null;let c={...L(a),...b};return c.useUpstream429BreakerHints,(0,l.qF)(a,{failureThreshold:c.failureThreshold??c.circuitBreakerThreshold,resetTimeout:c.resetTimeoutMs??c.circuitBreakerReset,...{},degradationThreshold:c.degradationThreshold,maxBackoffMultiplier:c.maxBackoffMultiplier,backoffEscalationCount:c.backoffEscalationCount})}(a,d);!e||e.canExecute()&&(e._onFailure(),e.canExecute()||b?.warn?.(`[ProviderFailure] ${a}: circuit breaker opened after repeated failures`))}function ae(a){return r.has(a)}function af(a){return!!a.creditsExhausted||!!a.dailyQuotaExhausted||a.reason===d.QS.QUOTA_EXHAUSTED}function ag(a){let b;try{b=q("string"==typeof a?JSON.parse(a):a)}catch{return{retryAfterMs:null,reason:d.QS.UNKNOWN}}if(0===Object.keys(b).length)return{retryAfterMs:null,reason:d.QS.UNKNOWN};let c=q(b.error),e=c.details||b.details||[];for(let a of Array.isArray(e)?e:[]){let b=q(a);if(b.retryDelay)return{retryAfterMs:function(a){if(!a)return null;let b=String(a).trim(),c=/^(\d+)\s*ms$/i.exec(b);if(c)return Number.parseInt(c[1],10);let d=/^(\d+)\s*s$/i.exec(b);if(d)return 1e3*Number.parseInt(d[1],10);let e=/^(\d+)\s*m$/i.exec(b);if(e)return 60*Number.parseInt(e[1],10)*1e3;let f=/^(\d+)\s*h$/i.exec(b);if(f)return 3600*Number.parseInt(f[1],10)*1e3;let g=Number.parseInt(b,10);return Number.isNaN(g)?null:1e3*g}(b.retryDelay),reason:d.QS.RATE_LIMIT_EXCEEDED}}let f=String(c.message||b.message||""),g=/retry\s+after\s+(\d+)\s*s/i.exec(f);if(g)return{retryAfterMs:1e3*Number.parseInt(g[1],10),reason:d.QS.RATE_LIMIT_EXCEEDED};let h=String(c.type||b.type||"");return"rate_limit_error"===h?{retryAfterMs:null,reason:d.QS.RATE_LIMIT_EXCEEDED}:{retryAfterMs:null,reason:ak(f||h)}}function ah(a){if(!a||"string"!=typeof a)return null;let b=String(a),c=/\b(?:try again at|wait until|reset(?:s)? at|available at|retry after)\s+(\d{4}-\d{2}-\d{2}[Tt ]\d{2}:\d{2}(?::\d{2})?(?:\.\d+)?(?:Z|[+-]\d{2}:?\d{2})?)/i.exec(b);if(c){let a=Date.parse(c[1]);if(Number.isFinite(a)){let b=a-Date.now();if(b>0)return b}}let d=/reset after (\d+h)?(\d+m)?(\d+s)?/i.exec(b);if(d?.[1]||d?.[2]||d?.[3])return ai(d);let e=/will reset after (\d+h)?(\d+m)?(\d+s)?/i.exec(b);if(e?.[1]||e?.[2]||e?.[3])return ai(e);let f=/resets? in (\d+h)?(\d+m)?(\d+s)?/i.exec(b);return f?.[1]||f?.[2]||f?.[3]?ai(f):null}function ai(a){let b=0;return a[1]&&(b+=3600*Number.parseInt(a[1],10)*1e3),a[2]&&(b+=60*Number.parseInt(a[2],10)*1e3),a[3]&&(b+=1e3*Number.parseInt(a[3],10)),b>0?Math.min(b,2592e6):null}function aj(a){return a.includes("usage limit reached")||a.includes("usage limit has been")||a.includes("claude pro usage limit")||a.includes("you've reached your usage limit")||a.includes("you have reached your usage limit")}function ak(a){if(!a)return d.QS.UNKNOWN;let b=String(a).toLowerCase();if(b.includes("quota exceeded")||b.includes("quota depleted")||b.includes("quota will reset")||b.includes("your quota will reset")||b.includes("quota has been exceeded")||b.includes("hour quota")||b.includes("billing")||aj(b)||I(b))return d.QS.QUOTA_EXHAUSTED;if(H(b))return d.QS.AUTH_ERROR;let c=(0,e.Mh)(a);return c?.reason?c.reason:b.includes("rate_limit")?d.QS.RATE_LIMIT_EXCEEDED:b.includes("resource exhausted")||b.includes("high demand")?d.QS.MODEL_CAPACITY:b.includes("unauthorized")||b.includes("invalid api key")||b.includes("authentication")?d.QS.AUTH_ERROR:b.includes("server error")||b.includes("internal error")?d.QS.SERVER_ERROR:d.QS.UNKNOWN}function al(){let a=Date.now(),b=new Date(a);b.setDate(b.getDate()+1),b.setHours(0,0,0,0);let c=b.getTime()-a;return c>0&&c<=9e7?c:864e5}function am(a){if(!a)return!1;let b=a.toLowerCase();return b.includes("today's quota")||b.includes("daily quota")||b.includes("try again tomorrow")}function an(a,b,c=0,f=null,g=null,j=null,k=null,l){if(503===a&&j){let a="function"==typeof j.get?j.get("x-omni-fallback-hint"):j["x-omni-fallback-hint"]||j["X-Omni-Fallback-Hint"];if("string"==typeof a&&"connection_cooldown"===a.toLowerCase())return{shouldFallback:!0,cooldownMs:5e3,baseCooldownMs:5e3,newBackoffLevel:0,reason:"service_not_running",skipProviderBreaker:!0}}let m=(b||"").toString(),n=k??(g?L(g):null),o=n?.maxBackoffSteps??e.EQ.maxLevel,q=new Set([d.gx.REQUEST_TIMEOUT,d.gx.RATE_LIMITED,d.gx.SERVER_ERROR,d.gx.BAD_GATEWAY,d.gx.SERVICE_UNAVAILABLE,d.gx.GATEWAY_TIMEOUT]);function r(){if(!n?.useUpstreamRetryHints)return null;let a=function(a){if(!a)return null;let b="function"==typeof a.get?a.get("retry-after"):a["retry-after"]||a["Retry-After"];if(b){let a=Number.parseInt(b,10);if(!Number.isNaN(a)&&String(a)===String(b).trim())return Date.now()+1e3*a;let c=new Date(b);if(!Number.isNaN(c.getTime()))return c.getTime()}let c="function"==typeof a.get?a.get("x-ratelimit-reset"):a["x-ratelimit-reset"]||a["X-RateLimit-Reset"];if(c){let a=Number.parseInt(c,10);if(!Number.isNaN(a))return a>1e10?a:1e3*a}return null}(j);if(a){let b=Math.max(a-Date.now(),0);if(b>0)return b}let b=ah(m);return b&&b>0?b:null}function s(a){let b=r();if("number"==typeof b&&b>0)return{shouldFallback:!0,cooldownMs:b,baseCooldownMs:b,newBackoffLevel:0,usedUpstreamRetryHint:!0,reason:a};let d=function(a=c){let b="number"==typeof n?.baseCooldownMs&&n.baseCooldownMs>=0?n.baseCooldownMs:e.Bm.transientInitial;return{baseCooldownMs:b,cooldownMs:T(b,a+1,o),newBackoffLevel:Math.min(a+1,o)}}(c);return{shouldFallback:!0,cooldownMs:d.cooldownMs,baseCooldownMs:d.baseCooldownMs,newBackoffLevel:d.newBackoffLevel,usedUpstreamRetryHint:!1,reason:a}}let t=a===d.gx.RATE_LIMITED,u=!g||"oauth"===(0,i.oQ)(g),v=!t||u;if(b){if(H(m))return{shouldFallback:!0,cooldownMs:31536e6,reason:d.QS.AUTH_ERROR,permanent:!0};if(v&&I(m))return{shouldFallback:!0,cooldownMs:e.Bm.paymentRequired??36e5,reason:d.QS.QUOTA_EXHAUSTED,creditsExhausted:!0};if(v&&am(m))return{shouldFallback:!0,cooldownMs:Math.min(al(),864e5),reason:d.QS.QUOTA_EXHAUSTED,dailyQuotaExhausted:!0};if(v&&!I(m)&&!am(m)&&aj(m.toLowerCase())){let a=r(),b=ah(m);return{shouldFallback:!0,cooldownMs:a??36e5,reason:d.QS.QUOTA_EXHAUSTED,usedUpstreamRetryHint:!!a,quotaResetHintMs:b??void 0}}let b=ah(m);if(v&&b&&ak(m)===d.QS.QUOTA_EXHAUSTED)return{...s(d.QS.QUOTA_EXHAUSTED),quotaResetHintMs:b};if(a===d.gx.FORBIDDEN&&m.toLowerCase().includes("not authorized for this route"))return{shouldFallback:!1,cooldownMs:0,reason:d.QS.UNKNOWN};if(a===d.gx.FORBIDDEN&&g&&"apikey"===(0,i.oQ)(g)&&!m.toLowerCase().includes("has not been used in project")&&!m.toLowerCase().includes("hour quota")&&!m.toLowerCase().includes("quota has been exceeded"))return s(d.QS.AUTH_ERROR)}if("gemini"===g&&a===d.gx.RATE_LIMITED&&f){if((0,p.Yj)(f))return s(d.QS.QUOTA_EXHAUSTED);if((0,p.ZO)(f))return s(d.QS.RATE_LIMIT_EXCEEDED)}let w=t&&!u?(0,e.UJ)(a):(0,e.lR)(a,m);if(w){if(w.backoff){let b=g?function(a,b,c,d){if(!a)return null;let e=h.get(a.toLowerCase());if(!e)return null;let f=c?"function"==typeof c.get?Object.fromEntries(c.entries()):Object.fromEntries(Object.entries(c).map(([a,b])=>[a.toLowerCase(),b])):{};for(let a of e){let c=a.match({status:b,headers:f,body:d});if(c)return c}return null}(g,a,j,l??null):null;return s(b?b.reason:w.reason??d.QS.UNKNOWN)}let b=w.cooldownMs??0;return{shouldFallback:!0,cooldownMs:b,baseCooldownMs:b,reason:w.reason??d.QS.UNKNOWN}}if(a===d.gx.NOT_ACCEPTABLE||q.has(a))return s(d.QS.SERVER_ERROR);if(a===d.gx.BAD_REQUEST){let a="string"==typeof l?.code?l.code.toLowerCase():"",b="string"==typeof l?.type?l.type.toLowerCase():"",c=!D.some(a=>a.test(m))&&C.some(a=>a.test(m)),e=!!l&&(z.has(a)||A.has(b)||B.has(b)&&c),f=y.some(a=>a.test(m)),g=E.some(a=>a.test(m)),h=G.some(a=>a.test(m));return f||g||h||e||c?{shouldFallback:!0,cooldownMs:0,reason:d.QS.MODEL_CAPACITY}:F.some(a=>a.test(m))?s(d.QS.RATE_LIMIT_EXCEEDED):{shouldFallback:!1,cooldownMs:0,reason:d.QS.UNKNOWN}}return{shouldFallback:!0,cooldownMs:n?.baseCooldownMs??e.Bm.transient,baseCooldownMs:n?.baseCooldownMs??e.Bm.transient,reason:d.QS.UNKNOWN}}function ao(a){if(!a)return"";let b=new Date(a).getTime()-Date.now();if(b<=0)return"reset after 0s";let c=Math.ceil(b/1e3),d=Math.floor(c/3600),e=Math.floor(c%3600/60),f=c%60,g=[];return d>0&&g.push(`${d}h`),e>0&&g.push(`${e}m`),(f>0||0===g.length)&&g.push(`${f}s`),`reset after ${g.join(" ")}`}},15300:(a,b,c)=>{c.d(b,{qF:()=>e});let d={getStatus:()=>({state:"CLOSED"}),reset:()=>{},recordFailure:()=>{},recordSuccess:()=>{}},e=()=>d},16945:(a,b,c)=>{c.d(b,{B:()=>f});var d=c(71998);function e(a){return null==a?"":String(a).trim()}async function f(a={}){try{let b=e(a?.proxyPoolId),c="__none__"===b?"":b,f=function(a={}){let b=a?.connectionProxyEnabled===!0,c=e(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:e(a?.connectionNoProxy)}}(a);if(c){let a=await (0,d.hr)(c),b=e(a?.proxyUrl),f=e(a?.noProxy);if(a&&!0===a.isActive&&b){if("vercel"===a.type||"cloudflare"===a.type||"deno"===a.type)return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:f,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:f,strictProxy:!0===a.strictProxy}}}if(f.connectionProxyEnabled&&f.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,...f};return{source:"none",proxyPoolId:c||null,proxyPool:null,...f}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}},21968:(a,b,c)=>{c.d(b,{M$:()=>f,dv:()=>g});let d="antigravity";function e(a){let b=String(a||"").trim().toLowerCase().replace(/^antigravity\//,""),c=b.indexOf("/"),d=c>=0?b.slice(c+1):b;return d.startsWith("gemini-")||d.includes("/gemini-")||d.includes("gemini")?"gemini":d.startsWith("claude-")||d.startsWith("cloud-")||d.includes("/claude-")||d.includes("/cloud-")||d.includes("anthropic")?"claude":"other"}function f(a,b){if(!b)return null;if(a!==d)return b;let c=e(b);return"other"===c?b:`family:${c}`}function g(a,b){return a!==d||"other"===e(b)?"model":"family"}},50102:(a,b,c)=>{c.d(b,{TR:()=>e,aD:()=>d,xv:()=>f});let d={providerCooldown:{enabled:!1,minRetryCooldownMs:1e3,maxRetryCooldownMs:6e4},requestQueue:{enabled:!1},comboCooldownWait:{enabled:!1,budgetMs:0,maxAttempts:1},quotaShareConcurrencyLimit:{enabled:!1},quotaPreflight:{enabled:!1},streamRecovery:{enabled:!1,continueMidStream:!1},connectionCooldown:{oauth:{baseCooldownMs:1e3,useUpstreamRetryHints:!0,useUpstream429BreakerHints:!0,maxBackoffSteps:5},apikey:{baseCooldownMs:1e3,useUpstreamRetryHints:!0,useUpstream429BreakerHints:!0,maxBackoffSteps:5}},providerBreaker:{oauth:{failureThreshold:5,resetTimeoutMs:3e4,degradationThreshold:.5},apikey:{failureThreshold:5,resetTimeoutMs:3e4,degradationThreshold:.5}}},e=()=>!1,f=a=>d},71998:(a,b,c)=>{c.d(b,{Ax:()=>d.Ax,CK:()=>d.CK,EE:()=>d.EE,Fh:()=>d.Fh,ID:()=>d.ID,Is:()=>d.Is,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Wq:()=>d.Wq,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fu:()=>d.fu,fv:()=>d.fv,g4:()=>d.g4,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,ik:()=>d.ik,o5:()=>d.o5,op:()=>d.op,q5:()=>d.q5,rj:()=>d.updateProviderConnection,sN:()=>d.sN,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},77868:(a,b,c)=>{c.d(b,{Sy:()=>e});let d={enabled:!1,errorCodes:[],baseCooldownMs:3e4,useExponentialBackoff:!1,maxCooldownMs:3e5},e=()=>d},80238:(a,b,c)=>{c.d(b,{Pt:()=>v,Tn:()=>C,Tr:()=>w,c1:()=>s,kI:()=>x,vk:()=>u});var d=c(89718),e=c(16945),f=c(10254),g=c(3662),h=c(40615),i=c(77598),j=c(30184);let k=new Map,l=new Set,m="modelLock_",n="modelLock___all";function o(a,b){let c=a[b?`${m}${b}`:n]||a[n];return!!c&&new Date(c).getTime()>Date.now()}function p(a){if(!a)return null;let b=null,c=Date.now();for(let[d,e]of Object.entries(a)){if(!d.startsWith(m)||!e)continue;let a=new Date(e).getTime();a<=c||(!b||a<b)&&(b=a)}return b?new Date(b).toISOString():null}async function q(){try{let a=await (0,d.getProviderConnections)({provider:"cloudflare-ai"}),b=new Date().toISOString(),c=a.filter(a=>{let c=a.providerSpecificData||{};return!0===c.cloudflareQuotaDisabled&&c.cloudflareReEnableAt&&c.cloudflareReEnableAt<=b});if(0===c.length)return;for(let a of c){let b={...a.providerSpecificData||{}};delete b.cloudflareQuotaDisabled,delete b.cloudflareReEnableAt,await (0,d.updateProviderConnection)(a.id,{isActive:!0,providerSpecificData:b});let c=a.displayName||a.name||a.email||a.id.slice(0,8);j.info("AUTH",`[CLOUDFLARE] Re-enabled ${c} — daily quota cooldown expired (was disabled until ${a.providerSpecificData?.cloudflareReEnableAt})`)}}catch(a){j.warn("AUTH",`[CLOUDFLARE] re-enable check failed: ${a.message}`)}}async function r(){try{let a=await (0,d.getProviderConnections)({}),b=new Date().toISOString(),c=a.filter(a=>{let c=a.providerSpecificData||{};return!0===c.siliconflowBusyDisabled&&c.siliconflowReEnableAt&&c.siliconflowReEnableAt<=b});if(0===c.length)return;for(let a of c){let b={...a.providerSpecificData||{}};delete b.siliconflowBusyDisabled,delete b.siliconflowReEnableAt,await (0,d.updateProviderConnection)(a.id,{isActive:!0,providerSpecificData:b});let c=a.displayName||a.name||a.email||a.id.slice(0,8);j.info("AUTH",`[SILICONFLOW] Re-enabled ${c} — server busy cooldown expired (was disabled until ${a.providerSpecificData?.siliconflowReEnableAt})`)}}catch(a){j.warn("AUTH",`[SILICONFLOW] re-enable check failed: ${a.message}`)}}async function s(a,b=null,c=null,g={}){let i,l=b instanceof Set?b:b?new Set([b]):new Set,m=g?.preferredConnectionId||null,n=g?.allowRateLimited===!0,t=(0,h.rs)(a),u=k.get(t)||Promise.resolve(),v=new Promise(a=>{i=a});k.set(t,v);try{let b;if(await u,"cloudflare-ai"===t&&await q(),("siliconflow"===t||"string"==typeof t&&t.startsWith("openai-compatible-"))&&await r(),h.IS[t]?.noAuth){let a=((await (0,d.getSettings)()).providerStrategies||{})[t]||{},b=await (0,e.B)({proxyPoolId:a.proxyPoolId||""});return{id:"noauth",connectionName:"Public",isActive:!0,accessToken:"public",providerSpecificData:{connectionProxyEnabled:b.connectionProxyEnabled,connectionProxyUrl:b.connectionProxyUrl,connectionNoProxy:b.connectionNoProxy,connectionProxyPoolId:b.proxyPoolId||null,vercelRelayUrl:b.vercelRelayUrl||"",strictProxy:!0===b.strictProxy}}}let g=await (0,d.getProviderConnections)({provider:t,isActive:!0});if(j.debug("AUTH",`${a} | total connections: ${g.length}, excludeIds: ${l.size>0?[...l].join(","):"none"}, model: ${c||"any"}`),0===g.length)return j.warn("AUTH",`No credentials for ${a}`),null;let i=g.filter(a=>!(l.has(a.id)||o(a,c)));if(j.debug("AUTH",`${a} | available: ${i.length}/${g.length}`),g.forEach(a=>{let b=l.has(a.id),d=o(a,c);if(b||d){let e=p(a);j.debug("AUTH",` → ${a.id?.slice(0,8)} | ${b?"excluded":""} ${d?`modelLocked(${c}) until ${e}`:""}`)}}),0===i.length){if(n){let b=g.filter(a=>!l.has(a.id)&&o(a,c));if(b.length>0){b.sort((a,b)=>{let c=new Date(p(a)||0).getTime(),d=new Date(p(b)||0).getTime();return c-d});let c=b[0],d=c.displayName||c.name||c.email||c.id?.slice(0,8),g=p(c);j.warn("AUTH",`[FALLBACK-EMERGENCY] ${a} | all accounts locked — using ${d} (lock expires ${(0,f.Qo)(g)})`);let h=await (0,e.B)(c.providerSpecificData||{});return{authType:c.authType,apiKey:c.apiKey,accessToken:c.accessToken,refreshToken:c.refreshToken,idToken:c.idToken,expiresAt:c.expiresAt,expiresIn:c.expiresIn,lastRefreshAt:c.lastRefreshAt,projectId:c.projectId,connectionName:d,copilotToken:c.providerSpecificData?.copilotToken,providerSpecificData:{...c.providerSpecificData||{},connectionProxyEnabled:h.connectionProxyEnabled,connectionProxyUrl:h.connectionProxyUrl,connectionNoProxy:h.connectionNoProxy,connectionProxyPoolId:h.proxyPoolId||null,vercelRelayUrl:h.vercelRelayUrl||"",strictProxy:!0===h.strictProxy},connectionId:c.id,testStatus:c.testStatus,lastError:c.lastError,_connection:c,emergencyFallback:!0}}}let b=g.filter(a=>o(a,c)),d=b.map(a=>p(a)).filter(Boolean).sort()[0]||null;if(d){let e=b[0];return j.warn("AUTH",`${a} | all ${g.length} accounts locked for ${c||"all"} (${(0,f.Qo)(d)}) | lastError=${e?.lastError?.slice(0,50)}`),{allRateLimited:!0,retryAfter:d,retryAfterHuman:(0,f.Qo)(d),lastError:e?.lastError||null,lastErrorCode:e?.errorCode||null}}return j.warn("AUTH",`${a} | all ${g.length} accounts unavailable`),null}let k=await (0,d.getSettings)(),s=(k.providerStrategies||{})[t]||{},v=s.fallbackStrategy||k.fallbackStrategy||"fill-first";if(m&&(b=i.find(a=>a.id===m))&&j.info("AUTH",`${a} | pinned to ${b.id?.slice(0,8)} (${b.name||b.email||"unnamed"})`),b);else if("round-robin"===v){let a=s.stickyRoundRobinLimit||k.stickyRoundRobinLimit||3,c=[...i].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(b.lastUsedAt)-new Date(a.lastUsedAt):-1:1:(a.priority||999)-(b.priority||999))[0],e=c?.consecutiveUseCount||0;c&&c.lastUsedAt&&e<a?(b=c,await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:(b.consecutiveUseCount||0)+1})):(b=[...i].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(a.lastUsedAt)-new Date(b.lastUsedAt):1:-1:(a.priority||999)-(b.priority||999))[0],await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:1}))}else b=i[0];let w=await (0,e.B)(b.providerSpecificData||{});return{authType:b.authType,apiKey:b.apiKey,accessToken:b.accessToken,refreshToken:b.refreshToken,idToken:b.idToken,expiresAt:b.expiresAt,expiresIn:b.expiresIn,lastRefreshAt:b.lastRefreshAt,projectId:b.projectId,connectionName:b.displayName||b.name||b.email||b.id,copilotToken:b.providerSpecificData?.copilotToken,providerSpecificData:{...b.providerSpecificData||{},connectionProxyEnabled:w.connectionProxyEnabled,connectionProxyUrl:w.connectionProxyUrl,connectionNoProxy:w.connectionNoProxy,connectionProxyPoolId:w.proxyPoolId||null,vercelRelayUrl:w.vercelRelayUrl||"",strictProxy:!0===w.strictProxy},connectionId:b.id,testStatus:b.testStatus,lastError:b.lastError,_connection:b}}finally{i&&i(),k.get(t)===v&&k.delete(t)}}async function t(a,b){if(!l.has(b)){l.add(b);try{let[c,e]=await Promise.all([(0,d.CK)(a),(0,d.getProviderConnections)({provider:a,isActive:!0})]);if(!c)return;let f=e.map(a=>a.apiKey).filter(Boolean),g=await (0,d.Ax)(a,1,f);if(!g.length){j.warn("AUTH",`[POOL] pool empty for ${a}, cannot auto-replace`),await (0,d.updateProviderConnection)(b,{isActive:!1});return}let h=e.find(a=>a.providerSpecificData?.baseUrl)?.providerSpecificData||null,i=await (0,d.q5)(a,g,f,h);0===i&&j.warn("AUTH",`[POOL] replacement key already in connections for ${a}`),await (0,d.updateProviderConnection)(b,{isActive:!1}),j.info("AUTH",`[POOL] auto-replaced key for ${a} (created=${i})`)}catch(a){j.warn("AUTH",`[POOL] auto-replace failed: ${a.message}`)}finally{l.delete(b)}}}async function u(a,b,c,e=null,h=null,i=null){var k;let l,o,p;if(!a||"noauth"===a)return{shouldFallback:!1,cooldownMs:0};let q=await (0,d.getProviderConnections)({provider:e}),r=q.find(b=>b.id===a),s=r?.backoffLevel||0;if(i&&i>Date.now()?(l=!0,o=Math.min(i-Date.now(),g.fh),p=0):{shouldFallback:l,cooldownMs:o,newBackoffLevel:p}=(0,f.hk)(b,c,s),!l)return{shouldFallback:!1,cooldownMs:0};let v="string"==typeof c?c.slice(0,100):"Provider error";if("cloudflare-ai"===e&&"string"==typeof c&&c.toLowerCase().includes("used up your daily free allocation")){let c,e,f=((e=new Date(Date.UTC((c=new Date).getUTCFullYear(),c.getUTCMonth(),c.getUTCDate(),0,10,0,0))).getTime()<=c.getTime()&&e.setUTCDate(e.getUTCDate()+1),e.toISOString()),g={...r?.providerSpecificData||{},cloudflareQuotaDisabled:!0,cloudflareReEnableAt:f};await (0,d.updateProviderConnection)(a,{isActive:!1,providerSpecificData:g,testStatus:"unavailable",lastError:v,errorCode:b,lastErrorAt:new Date().toISOString()});let h=r?.displayName||r?.name||r?.email||a.slice(0,8);return j.warn("AUTH",`[CLOUDFLARE] ${h} disabled due to daily quota exhaustion — will re-enable at ${f}`),console.error(`❌ cloudflare-ai [${b}]: Daily quota exhausted — disabled until ${f}`),{shouldFallback:!0,cooldownMs:0}}let w=(r?.providerSpecificData?.baseUrl||"").toLowerCase();if(("siliconflow"===e||"string"==typeof e&&e.startsWith("openai-compatible-")&&w.includes("siliconflow"))&&"string"==typeof c&&c.toLowerCase().includes("system is really busy")){let a=new Date(Date.now()+6e5).toISOString();for(let c of q){let e={...c.providerSpecificData||{},siliconflowBusyDisabled:!0,siliconflowReEnableAt:a};await (0,d.updateProviderConnection)(c.id,{isActive:!1,providerSpecificData:e,testStatus:"unavailable",lastError:v,errorCode:b,lastErrorAt:new Date().toISOString()})}return j.warn("AUTH",`[SILICONFLOW] Disabled ${q.length} connection(s) due to server busy (503) — will re-enable at ${a}`),console.error(`❌ siliconflow [${b}]: System busy — disabled ${q.length} connection(s) until ${a}`),{shouldFallback:!0,cooldownMs:0}}let x=(k=o,{[h?`${m}${h}`:n]:new Date(Date.now()+k).toISOString()});await (0,d.updateProviderConnection)(a,{...x,testStatus:"unavailable",lastError:v,errorCode:b,lastErrorAt:new Date().toISOString(),backoffLevel:p??s});let y=Object.keys(x)[0],z=r?.displayName||r?.name||r?.email||a.slice(0,8);return j.warn("AUTH",`${z} locked ${y} for ${Math.round(o/1e3)}s [${b}]`),e&&b&&v&&console.error(`❌ ${e} [${b}]: ${v}`),(400===b||402===b||403===b)&&e&&(g.eq.some(a=>v.toLowerCase().includes(a))?t(e,a).catch(()=>{}):403===b&&j.warn("AUTH",`[POOL] 403 received but no quota pattern matched — reason: "${v.slice(0,80)}"`)),{shouldFallback:!0,cooldownMs:o}}async function v(a,b,c=null){if(!a||"noauth"===a)return;let e=b._connection||b,f=Date.now(),g=Object.keys(e).filter(a=>a.startsWith("modelLock_"));if(!e.testStatus&&!e.lastError&&0===g.length)return;let h=g.filter(a=>{if(c&&a===`modelLock_${c}`||c&&"modelLock___all"===a)return!0;let b=e[a];return b&&new Date(b).getTime()<=f});if(0===h.length&&"unavailable"!==e.testStatus&&!e.lastError)return;let i=g.filter(a=>{if(h.includes(a))return!1;let b=e[a];return b&&new Date(b).getTime()>f}),j=Object.fromEntries(h.map(a=>[a,null]));0===i.length&&Object.assign(j,{testStatus:"active",lastError:null,lastErrorAt:null,backoffLevel:0}),await (0,d.updateProviderConnection)(a,j)}function w(a){let b=a.headers.get("Authorization");if(b?.startsWith("Bearer "))return b.slice(7);let c=a.headers.get("x-api-key");return c||null}async function x(a){return!!a&&await (0,d.ek)(a)}function y(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:{}}function z(a,b){if(!a)return null;if("function"==typeof a.get){let c=a.get(b)||a.get(b.toLowerCase());return"string"==typeof c&&c.trim().length>0?c.trim():null}let c=a[b]||a[b.toLowerCase()]||a[b.toUpperCase()];return Array.isArray(c)?"string"==typeof c[0]&&c[0].trim().length>0?c[0].trim():null:"string"==typeof c&&c.trim().length>0?c.trim():null}function A(a,b){if("string"!=typeof a||0===a.trim().length)return null;let c=a.trim();return c.length<=180&&/^[A-Za-z0-9._:-]+$/.test(c)?`${b}:${c}`:`${b}:sha256:${(0,i.createHash)("sha256").update(c).digest("hex")}`}function B(a){if("string"==typeof a)return a;if(Array.isArray(a)){let b=a.map(a=>{if("string"==typeof a)return a;let b=y(a);return"string"==typeof b.text?b.text:"string"==typeof b.content?b.content:null}).filter(Boolean);return b.length>0?b.join("\n"):JSON.stringify(a)}return a&&"object"==typeof a?JSON.stringify(a):null}function C(a,b){let c=A(z(b,"x-codex-session-id")??z(b,"x-session-id")??z(b,"x-omniroute-session"),"header");if(c)return c;let d=y(a),e=y(d.metadata),f=A(e.session_id,"metadata")??A(e.sessionId,"metadata")??A(d.conversation_id,"conversation")??A(d.session_id,"session")??A(d.prompt_cache_key,"prompt-cache");if(f)return f;let g=function(a){let b=y(a);if(void 0!==b.input){if("string"==typeof b.input)return b.input;if(Array.isArray(b.input))for(let a of b.input){let b=B(y(a).content??a);if(b&&b.trim().length>0)return b}let a=B(b.input);if(a&&a.trim().length>0)return a}if(Array.isArray(b.messages)){let a=b.messages.find(a=>"user"===y(a).role)??b.messages[0],c=B(y(a).content??a);if(c&&c.trim().length>0)return c}return null}(a);return g&&0!==g.trim().length?`input:sha256:${(0,i.createHash)("sha256").update(g.slice(0,4096)).digest("hex")}`:null}}};
1
+ "use strict";exports.id=238,exports.ids=[238,1998],exports.modules={5483:(a,b,c)=>{c.d(b,{Gz:()=>m,Yj:()=>j,ZO:()=>l});let d=JSON.parse('{"gemini-2.5-flash":{"rpm":5,"rpd":20,"tpm":250000},"gemini-2.5-pro":{"rpm":0,"rpd":0,"tpm":0},"gemini-2-flash":{"rpm":0,"rpd":0,"tpm":0},"gemini-2-flash-lite":{"rpm":0,"rpd":0,"tpm":0},"gemini-2.5-flash-tts":{"rpm":3,"rpd":10,"tpm":10000},"gemini-2.5-pro-tts":{"rpm":0,"rpd":0,"tpm":0},"imagen-4-generate":{"rpm":-1,"rpd":25,"tpm":-1},"imagen-4-ultra-generate":{"rpm":-1,"rpd":25,"tpm":-1},"imagen-4-fast-generate":{"rpm":-1,"rpd":25,"tpm":-1},"gemma-4-26b-it":{"rpm":15,"rpd":1500,"tpm":-1},"gemma-4-31b-it":{"rpm":15,"rpd":1500,"tpm":-1},"gemini-embedding-exp-03-07":{"rpm":100,"rpd":1000,"tpm":30000},"gemini-3.5-flash":{"rpm":5,"rpd":20,"tpm":250000},"gemini-3.1-flash-lite":{"rpm":15,"rpd":500,"tpm":250000},"gemini-3.1-pro":{"rpm":0,"rpd":0,"tpm":0},"gemini-2.5-flash-lite":{"rpm":10,"rpd":20,"tpm":250000},"nano-banana-gemini-2.5-flash-preview-image":{"rpm":0,"rpd":0,"tpm":0},"nano-banana-pro-gemini-3-pro-image":{"rpm":0,"rpd":0,"tpm":0},"nano-banana-2-gemini-3.1-flash-image":{"rpm":0,"rpd":0,"tpm":0},"lyria-3-clip":{"rpm":0,"rpd":0,"tpm":0},"lyria-3-pro":{"rpm":0,"rpd":0,"tpm":0},"veo-3-generate":{"rpm":0,"rpd":0,"tpm":-1},"veo-3-fast-generate":{"rpm":0,"rpd":0,"tpm":-1},"veo-3-lite-generate":{"rpm":0,"rpd":0,"tpm":-1},"gemini-3.1-flash-tts":{"rpm":3,"rpd":10,"tpm":10000},"gemini-robotics-er-1.5-preview":{"rpm":10,"rpd":20,"tpm":250000},"gemini-robotics-er-1.6-preview":{"rpm":5,"rpd":20,"tpm":250000},"computer-use-preview":{"rpm":0,"rpd":0,"tpm":0},"gemini-embedding-exp-04-07":{"rpm":100,"rpd":1000,"tpm":30000},"gemini-3.5-live-translate":{"rpm":-1,"rpd":-1,"tpm":20000},"gemini-2.5-flash-native-audio-dialog":{"rpm":-1,"rpd":-1,"tpm":1000000},"gemini-3-flash-live":{"rpm":-1,"rpd":-1,"tpm":65000}}'),e=new Map,f=new Map;function g(){return new Date().toISOString().slice(0,10)}function h(a){return a.replace(/^gemini\//,"").trim()}function i(a,b){if(!a)return 0;let c=h(a),e=d[c];if(!e){for(let[a,e]of Object.entries(d))if(c.endsWith(a)||a.endsWith(c)){let a=e[b];return"number"==typeof a&&a>0?a:0}return 0}let f=e[b];return"number"==typeof f&&f>0?f:0}function j(a){let b=i(a,"rpd");return!(b<=0)&&function(a){if(!a)return 0;let b=h(a),c=g(),d=e.get(b);return d&&d.date===c?d.count:0}(a)>=b}function k(a){let b=Date.now()-6e4,c=f.get(a);if(!c)return;let d=0;for(;d<c.length&&c[d]<b;)d++;d>0&&f.set(a,c.slice(d))}function l(a){let b=i(a,"rpm");return!(b<=0)&&function(a){if(!a)return 0;let b=h(a);return k(b),f.get(b)?.length??0}(a)>=b}function m(a){!function(a){if(!a)return;let b=h(a),c=g(),d=e.get(b);d&&d.date===c?d.count++:e.set(b,{date:c,count:1})}(a),function(a){if(!a)return;let b=h(a);k(b);let c=f.get(b)??[];c.push(Date.now()),f.set(b,c)}(a)}},10254:(a,b,c)=>{c.d(b,{hk:()=>an,w7:()=>ak,M$:()=>_,lB:()=>aa,Qo:()=>ao,ls:()=>ac,LN:()=>M,DZ:()=>Z,K7:()=>H,M1:()=>I,xs:()=>am,qw:()=>ab,me:()=>J,je:()=>af,v6:()=>ae,R7:()=>W,CY:()=>$,Ks:()=>ag,E$:()=>Y,p8:()=>ad,pX:()=>X});var d=c(61408),e=c(3662);function f(){return[{id:"opencode-quota-exhausted-headers",match:({status:a,headers:b})=>429!==a?null:"0"===b["x-ratelimit-remaining-requests"]||"0"===b["x-ratelimit-remaining-tokens"]?{reason:"quota_exhausted",scope:"provider"}:null},{id:"opencode-quota-exhausted-body",match:({status:a,body:b})=>{if(429!==a)return null;let c=JSON.stringify(b??"").toLowerCase();return c.includes("organization_quota_exceeded")||c.includes("account_quota_exceeded")||c.includes("plan_limit_reached")?{reason:"quota_exhausted",scope:"provider"}:null}}]}function g(){return[{id:"minimax-per-model-quota",match:({status:a,headers:b})=>{if(429!==a)return null;let c=b["x-model-quota-remaining"];return c&&c.split(",").some(a=>a.split("=")[1]?.trim()==="0")?{reason:"quota_exhausted",scope:"model"}:null}}]}let h=new Map([["opencode",f()],["opencode-go",f()],["opencode-cli",f()],["minimax",g()],["minimax-passthrough",g()]]);var i=c(36081),j=c(50102),k=c(77868),l=c(15300),m=c(40615),n=c(37664),o=c(21968),p=c(5483);function q(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:{}}let r=new Set([408,429,500,502,503,504]),s=new Map,t=setInterval(()=>{let a=Date.now();for(let[b,c]of s)a-c>5e3&&s.delete(b)},6e4);"object"==typeof t&&"unref"in t&&t.unref?.();let u=["account_deactivated","account has been deactivated","account has been disabled","your account has been suspended","this account is deactivated","verify your account to continue","this service has been disabled in this account for violation","this service has been disabled in this account"],v=[],w=["insufficient_quota","billing_hard_limit_reached","exceeded your current quota","exceeded your current usage quota","credit_balance_too_low","your credit balance is too low","credits exhausted","out of credits","payment required","free tier of the model has been exhausted","insufficient balance","insufficient_balance","insufficient account balance"],x=["invalid authentication credentials","oauth 2","login cookie","valid authentication credential","invalid credentials"],y=[/\binput is too long\b/i,/\binput too long\b/i,/\bcontext.*(too long|exceeded|overflow|limit)/i,/\btoo many tokens\b/i,/\bprompt is too long\b/i,/\bcontext window/i,/\bmaximum context/i,/\bmax.*token/i,/\btoken limit/i,/\brequest too large\b/i],z=new Set(["model_not_found","deployment_not_found"]),A=new Set(["not_found_error"]),B=new Set(["permission_error"]),C=[/\binvalid model\b/i,/\bmodel.*not.*(?:available|found|supported|accessible)\b/i,/\bmodel.*(?:does not exist|doesn't exist)\b/i,/\baccess.*denied.*model\b/i,/\bmodel.*access.*denied\b/i,/\bplease select a different model\b/i,/\b(?:access|permission)[\s\S]{0,60}?\bmodel\b/i,/\bmodel[\s\S]{0,60}?\b(?:access|permission)\b/i],D=[/\b(?:invalid|incorrect|expired|missing|revoked)\s+api[\s_-]?key\b/i,/\bapi[\s_-]?key\s+(?:is\s+)?(?:invalid|incorrect|expired|missing|revoked|not\s+valid)\b/i,/\bauthentication\s+(?:failed|error|required)\b/i,/\b(?:invalid|expired|missing|revoked)\s+(?:token|credentials?|bearer)\b/i,/\bunauthorized\b/i,/\bnot\s+authenticated\b/i],E=[/\bimproperly formed request\b/i,/\binvalid.*message.*format/i,/\bmessages must alternate\b/i,/\bempty (message|content)\b/i,/\bfunction'?s? name (?:can't|can not|is|has) (?:blank|empty|missing)/i,/function.*name.*(?:blank|empty|missing)/i,/tool_call.*name.*(?:blank|empty|missing)/i],F=[/high.?frequency/i,/non-compliant/i,/too many requests/i,/rate.?limit/i,/频繁/,/频率/],G=[/max_tokens.*illegal/i,/max_tokens.*must be/i,/max_tokens.*range/i,/parameter is illegal/i,/is illegal.*range/i];function H(a){let b=String(a||"").toLowerCase();return(0===v.length?u:[...u,...v]).some(a=>b.includes(a))}function I(a){let b=String(a||"").toLowerCase();return!!w.some(a=>b.includes(a))||b.includes("insufficient")&&b.includes("balance")}function J(a){let b=String(a||"").toLowerCase();return x.some(a=>b.includes(a))}function K(a,b){let c=b?(0,j.xv)(b):j.aD,e=c.connectionCooldown[a],f=c.providerBreaker[a];return{baseCooldownMs:e.baseCooldownMs,useUpstreamRetryHints:e.useUpstreamRetryHints,useUpstream429BreakerHints:e.useUpstream429BreakerHints,maxCooldownMs:(0,k.Sy)(b).maxCooldownMs,maxBackoffSteps:e.maxBackoffSteps,failureThreshold:f.failureThreshold,resetTimeoutMs:f.resetTimeoutMs,transientCooldown:e.baseCooldownMs,rateLimitCooldown:e.useUpstreamRetryHints?0:e.baseCooldownMs,maxBackoffLevel:e.maxBackoffSteps,circuitBreakerThreshold:f.failureThreshold,circuitBreakerReset:f.resetTimeoutMs,degradationThreshold:f.degradationThreshold,providerFailureThreshold:d.xx[a].providerFailureThreshold,providerFailureWindowMs:d.xx[a].providerFailureWindowMs,maxBackoffMultiplier:d.xx[a].maxBackoffMultiplier,backoffEscalationCount:d.xx[a].backoffEscalationCount,providerCooldownMs:d.xx[a].providerCooldownMs}}function L(a){return K((0,i.oQ)(a))}async function M(a){try{let{getCachedSettings:b}=await c.e(4046).then(c.bind(c,14046)),d=await b(),e=(0,i.oQ)(a||"");return K(e,d)}catch{return L(a||"")}}let N=new Map,O=new Map,P=new Map;function Q(a){let b=P.get(a);return b||(b=(0,m.rs)(a),P.set(a,b)),b}function R(a,b,c){let d=Q(a),e="codex"===d?(0,n.t6)(c):(0,o.M$)(d,c)||c;return`${d}:${b}:${e}`}function S(a,b=Date.now()){let c=N.get(a);c&&b>c.until&&N.delete(a);let d=O.get(a);!d||b-d.lastFailureAt<=d.resetAfterMs+(d.lastCooldownMs??0)||N.has(a)||O.delete(a)}function T(a,b,c=e.EQ.maxLevel){return(Number.isFinite(a)&&a>0?a:1e3)*Math.pow(2,Math.min(Math.max(0,b-1),Math.max(0,c)))}let U=null;function V(){if(!U)try{U=setInterval(()=>{let a=Date.now();for(let b of N.keys())S(b,a);for(let b of O.keys())S(b,a)},15e3),"object"==typeof U&&"unref"in U&&U.unref?.()}catch{}}function W(a,b,c,d,e,f={}){if(!c)return;V();let g=R(a,b,c);S(g);let h=Date.now()+e,i=N.get(g);if(i&&i.until>h){f.failureCount&&f.failureCount>i.failureCount&&(i.failureCount=f.failureCount,i.lastFailureAt=f.lastFailureAt??i.lastFailureAt,i.resetAfterMs=f.resetAfterMs??i.resetAfterMs,N.set(g,i));return}let j=Date.now();N.set(g,{reason:d,until:h,lockedAt:j,failureCount:f.failureCount??i?.failureCount??1,lastFailureAt:f.lastFailureAt??j,resetAfterMs:f.resetAfterMs??i?.resetAfterMs??0})}function X(a,b){return"number"==typeof a&&a>b.baseCooldownMs?a:b.useExponentialBackoff?0:b.baseCooldownMs}function Y(a,b,c,f,g,h,i=null,j={}){V();let k=R(a,b,c),l=Date.now();S(k,l),"quota_exhausted"===f&&"number"!=typeof j.exactCooldownMs&&(j={...j,exactCooldownMs:al()});let m=function(a=null,b=18e5){let c=a?.resetTimeoutMs;return"number"==typeof c&&c>0?c:b}(i),n=O.get(k),o=n&&l-n.lastFailureAt<=n.resetAfterMs+(n.lastCooldownMs??0)?n.failureCount+1:1,p=function(a,b,c=null){return Number.isFinite(b)&&b>0?b:"number"==typeof c?.baseCooldownMs&&c.baseCooldownMs>=0?c.baseCooldownMs:a===d.gx.RATE_LIMITED?function(a=0){return(0,e.KI)(a)}(0):e.Bm.transientInitial}(g,h,i),q="number"==typeof j.maxCooldownMs&&j.maxCooldownMs>0?j.maxCooldownMs:e.EQ.max,r="number"==typeof j.exactCooldownMs&&j.exactCooldownMs>0?j.exactCooldownMs:Math.min(T(p,o,i?.maxBackoffSteps??e.EQ.maxLevel),q);return O.set(k,{failureCount:o,lastFailureAt:l,resetAfterMs:m,lastCooldownMs:r}),W(a,b,c,f,r,{failureCount:o,lastFailureAt:l,resetAfterMs:m}),{cooldownMs:r,failureCount:o,resetAfterMs:m}}function Z(a,b=null,c){return"boolean"==typeof c?c:!!a&&(!!("codex"===Q(a)||"gemini"===a||"github"===a||(0,i.Fp)().has(a))||!!("string"==typeof a&&(a.startsWith("openai-compatible-")||a.startsWith("anthropic-compatible-"))))}function $(a,b,c,d,e,f){return!(!Z(a,c,f)||!c||function(a){let b=a?(0,l.qF)(a):null;return!!b&&!b.canExecute()}(a))&&(W(a,b,c,d,e),!0)}function _(a){return 429===a?"rate_limit":403===a?"quota_exhausted":"unknown"}function aa(a,b,c){let d=R(a,b,c),e=O.get(d);if(!e)return{cleared:!1,newFailureCount:0};let f=Math.floor(e.failureCount/2);return 0===f?(O.delete(d),{cleared:!0,newFailureCount:0}):(O.set(d,{...e,failureCount:f}),{cleared:!1,newFailureCount:f})}function ab(a,b,c){if(!c)return!1;let d=R(a,b,c);return S(d),!!N.get(d)}function ac(a,b,c){if(!c)return null;let d=R(a,b,c);S(d);let e=N.get(d);return e?{reason:e.reason,remainingMs:e.until-Date.now(),lockedAt:new Date(e.lockedAt).toISOString(),failureCount:e.failureCount}:null}function ad(a,b,c,d){if(!a)return;if(c){let b=`${a}:${c}`,d=Date.now(),e=s.get(b);if(e&&d-e<5e3)return;s.delete(b),s.set(b,d),function(){for(;s.size>1e4;){let a=s.keys().next().value;if("string"!=typeof a)return;s.delete(a)}}()}let e=function(a,b){if(!a)return null;let c={...L(a),...b};return c.useUpstream429BreakerHints,(0,l.qF)(a,{failureThreshold:c.failureThreshold??c.circuitBreakerThreshold,resetTimeout:c.resetTimeoutMs??c.circuitBreakerReset,...{},degradationThreshold:c.degradationThreshold,maxBackoffMultiplier:c.maxBackoffMultiplier,backoffEscalationCount:c.backoffEscalationCount})}(a,d);!e||e.canExecute()&&(e._onFailure(),e.canExecute()||b?.warn?.(`[ProviderFailure] ${a}: circuit breaker opened after repeated failures`))}function ae(a){return r.has(a)}function af(a){return!!a.creditsExhausted||!!a.dailyQuotaExhausted||a.reason===d.QS.QUOTA_EXHAUSTED}function ag(a){let b;try{b=q("string"==typeof a?JSON.parse(a):a)}catch{return{retryAfterMs:null,reason:d.QS.UNKNOWN}}if(0===Object.keys(b).length)return{retryAfterMs:null,reason:d.QS.UNKNOWN};let c=q(b.error),e=c.details||b.details||[];for(let a of Array.isArray(e)?e:[]){let b=q(a);if(b.retryDelay)return{retryAfterMs:function(a){if(!a)return null;let b=String(a).trim(),c=/^(\d+)\s*ms$/i.exec(b);if(c)return Number.parseInt(c[1],10);let d=/^(\d+)\s*s$/i.exec(b);if(d)return 1e3*Number.parseInt(d[1],10);let e=/^(\d+)\s*m$/i.exec(b);if(e)return 60*Number.parseInt(e[1],10)*1e3;let f=/^(\d+)\s*h$/i.exec(b);if(f)return 3600*Number.parseInt(f[1],10)*1e3;let g=Number.parseInt(b,10);return Number.isNaN(g)?null:1e3*g}(b.retryDelay),reason:d.QS.RATE_LIMIT_EXCEEDED}}let f=String(c.message||b.message||""),g=/retry\s+after\s+(\d+)\s*s/i.exec(f);if(g)return{retryAfterMs:1e3*Number.parseInt(g[1],10),reason:d.QS.RATE_LIMIT_EXCEEDED};let h=String(c.type||b.type||"");return"rate_limit_error"===h?{retryAfterMs:null,reason:d.QS.RATE_LIMIT_EXCEEDED}:{retryAfterMs:null,reason:ak(f||h)}}function ah(a){if(!a||"string"!=typeof a)return null;let b=String(a),c=/\b(?:try again at|wait until|reset(?:s)? at|available at|retry after)\s+(\d{4}-\d{2}-\d{2}[Tt ]\d{2}:\d{2}(?::\d{2})?(?:\.\d+)?(?:Z|[+-]\d{2}:?\d{2})?)/i.exec(b);if(c){let a=Date.parse(c[1]);if(Number.isFinite(a)){let b=a-Date.now();if(b>0)return b}}let d=/reset after (\d+h)?(\d+m)?(\d+s)?/i.exec(b);if(d?.[1]||d?.[2]||d?.[3])return ai(d);let e=/will reset after (\d+h)?(\d+m)?(\d+s)?/i.exec(b);if(e?.[1]||e?.[2]||e?.[3])return ai(e);let f=/resets? in (\d+h)?(\d+m)?(\d+s)?/i.exec(b);return f?.[1]||f?.[2]||f?.[3]?ai(f):null}function ai(a){let b=0;return a[1]&&(b+=3600*Number.parseInt(a[1],10)*1e3),a[2]&&(b+=60*Number.parseInt(a[2],10)*1e3),a[3]&&(b+=1e3*Number.parseInt(a[3],10)),b>0?Math.min(b,2592e6):null}function aj(a){return a.includes("usage limit reached")||a.includes("usage limit has been")||a.includes("claude pro usage limit")||a.includes("you've reached your usage limit")||a.includes("you have reached your usage limit")}function ak(a){if(!a)return d.QS.UNKNOWN;let b=String(a).toLowerCase();if(b.includes("quota exceeded")||b.includes("quota depleted")||b.includes("quota will reset")||b.includes("your quota will reset")||b.includes("quota has been exceeded")||b.includes("hour quota")||b.includes("billing")||aj(b)||I(b))return d.QS.QUOTA_EXHAUSTED;if(H(b))return d.QS.AUTH_ERROR;let c=(0,e.Mh)(a);return c?.reason?c.reason:b.includes("rate_limit")?d.QS.RATE_LIMIT_EXCEEDED:b.includes("resource exhausted")||b.includes("high demand")?d.QS.MODEL_CAPACITY:b.includes("unauthorized")||b.includes("invalid api key")||b.includes("authentication")?d.QS.AUTH_ERROR:b.includes("server error")||b.includes("internal error")?d.QS.SERVER_ERROR:d.QS.UNKNOWN}function al(){let a=Date.now(),b=new Date(a);b.setDate(b.getDate()+1),b.setHours(0,0,0,0);let c=b.getTime()-a;return c>0&&c<=9e7?c:864e5}function am(a){if(!a)return!1;let b=a.toLowerCase();return b.includes("today's quota")||b.includes("daily quota")||b.includes("try again tomorrow")}function an(a,b,c=0,f=null,g=null,j=null,k=null,l){if(503===a&&j){let a="function"==typeof j.get?j.get("x-omni-fallback-hint"):j["x-omni-fallback-hint"]||j["X-Omni-Fallback-Hint"];if("string"==typeof a&&"connection_cooldown"===a.toLowerCase())return{shouldFallback:!0,cooldownMs:5e3,baseCooldownMs:5e3,newBackoffLevel:0,reason:"service_not_running",skipProviderBreaker:!0}}let m=(b||"").toString(),n=k??(g?L(g):null),o=n?.maxBackoffSteps??e.EQ.maxLevel,q=new Set([d.gx.REQUEST_TIMEOUT,d.gx.RATE_LIMITED,d.gx.SERVER_ERROR,d.gx.BAD_GATEWAY,d.gx.SERVICE_UNAVAILABLE,d.gx.GATEWAY_TIMEOUT]);function r(){if(!n?.useUpstreamRetryHints)return null;let a=function(a){if(!a)return null;let b="function"==typeof a.get?a.get("retry-after"):a["retry-after"]||a["Retry-After"];if(b){let a=Number.parseInt(b,10);if(!Number.isNaN(a)&&String(a)===String(b).trim())return Date.now()+1e3*a;let c=new Date(b);if(!Number.isNaN(c.getTime()))return c.getTime()}let c="function"==typeof a.get?a.get("x-ratelimit-reset"):a["x-ratelimit-reset"]||a["X-RateLimit-Reset"];if(c){let a=Number.parseInt(c,10);if(!Number.isNaN(a))return a>1e10?a:1e3*a}return null}(j);if(a){let b=Math.max(a-Date.now(),0);if(b>0)return b}let b=ah(m);return b&&b>0?b:null}function s(a){let b=r();if("number"==typeof b&&b>0)return{shouldFallback:!0,cooldownMs:b,baseCooldownMs:b,newBackoffLevel:0,usedUpstreamRetryHint:!0,reason:a};let d=function(a=c){let b="number"==typeof n?.baseCooldownMs&&n.baseCooldownMs>=0?n.baseCooldownMs:e.Bm.transientInitial;return{baseCooldownMs:b,cooldownMs:T(b,a+1,o),newBackoffLevel:Math.min(a+1,o)}}(c);return{shouldFallback:!0,cooldownMs:d.cooldownMs,baseCooldownMs:d.baseCooldownMs,newBackoffLevel:d.newBackoffLevel,usedUpstreamRetryHint:!1,reason:a}}let t=a===d.gx.RATE_LIMITED,u=!g||"oauth"===(0,i.oQ)(g),v=!t||u;if(b){if(H(m))return{shouldFallback:!0,cooldownMs:31536e6,reason:d.QS.AUTH_ERROR,permanent:!0};if(v&&I(m))return{shouldFallback:!0,cooldownMs:e.Bm.paymentRequired??36e5,reason:d.QS.QUOTA_EXHAUSTED,creditsExhausted:!0};if(v&&am(m))return{shouldFallback:!0,cooldownMs:Math.min(al(),864e5),reason:d.QS.QUOTA_EXHAUSTED,dailyQuotaExhausted:!0};if(v&&!I(m)&&!am(m)&&aj(m.toLowerCase())){let a=r(),b=ah(m);return{shouldFallback:!0,cooldownMs:a??36e5,reason:d.QS.QUOTA_EXHAUSTED,usedUpstreamRetryHint:!!a,quotaResetHintMs:b??void 0}}let b=ah(m);if(v&&b&&ak(m)===d.QS.QUOTA_EXHAUSTED)return{...s(d.QS.QUOTA_EXHAUSTED),quotaResetHintMs:b};if(a===d.gx.FORBIDDEN&&m.toLowerCase().includes("not authorized for this route"))return{shouldFallback:!1,cooldownMs:0,reason:d.QS.UNKNOWN};if(a===d.gx.FORBIDDEN&&g&&"apikey"===(0,i.oQ)(g)&&!m.toLowerCase().includes("has not been used in project")&&!m.toLowerCase().includes("hour quota")&&!m.toLowerCase().includes("quota has been exceeded"))return s(d.QS.AUTH_ERROR)}if("gemini"===g&&a===d.gx.RATE_LIMITED&&f){if((0,p.Yj)(f))return s(d.QS.QUOTA_EXHAUSTED);if((0,p.ZO)(f))return s(d.QS.RATE_LIMIT_EXCEEDED)}let w=t&&!u?(0,e.UJ)(a):(0,e.lR)(a,m);if(w){if(w.backoff){let b=g?function(a,b,c,d){if(!a)return null;let e=h.get(a.toLowerCase());if(!e)return null;let f=c?"function"==typeof c.get?Object.fromEntries(c.entries()):Object.fromEntries(Object.entries(c).map(([a,b])=>[a.toLowerCase(),b])):{};for(let a of e){let c=a.match({status:b,headers:f,body:d});if(c)return c}return null}(g,a,j,l??null):null;return s(b?b.reason:w.reason??d.QS.UNKNOWN)}let b=w.cooldownMs??0;return{shouldFallback:!0,cooldownMs:b,baseCooldownMs:b,reason:w.reason??d.QS.UNKNOWN}}if(a===d.gx.NOT_ACCEPTABLE||q.has(a))return s(d.QS.SERVER_ERROR);if(a===d.gx.BAD_REQUEST){let a="string"==typeof l?.code?l.code.toLowerCase():"",b="string"==typeof l?.type?l.type.toLowerCase():"",c=!D.some(a=>a.test(m))&&C.some(a=>a.test(m)),e=!!l&&(z.has(a)||A.has(b)||B.has(b)&&c),f=y.some(a=>a.test(m)),g=E.some(a=>a.test(m)),h=G.some(a=>a.test(m));return f||g||h||e||c?{shouldFallback:!0,cooldownMs:0,reason:d.QS.MODEL_CAPACITY}:F.some(a=>a.test(m))?s(d.QS.RATE_LIMIT_EXCEEDED):{shouldFallback:!1,cooldownMs:0,reason:d.QS.UNKNOWN}}return{shouldFallback:!0,cooldownMs:n?.baseCooldownMs??e.Bm.transient,baseCooldownMs:n?.baseCooldownMs??e.Bm.transient,reason:d.QS.UNKNOWN}}function ao(a){if(!a)return"";let b=new Date(a).getTime()-Date.now();if(b<=0)return"reset after 0s";let c=Math.ceil(b/1e3),d=Math.floor(c/3600),e=Math.floor(c%3600/60),f=c%60,g=[];return d>0&&g.push(`${d}h`),e>0&&g.push(`${e}m`),(f>0||0===g.length)&&g.push(`${f}s`),`reset after ${g.join(" ")}`}},15300:(a,b,c)=>{c.d(b,{qF:()=>e});let d={getStatus:()=>({state:"CLOSED"}),reset:()=>{},recordFailure:()=>{},recordSuccess:()=>{}},e=()=>d},16945:(a,b,c)=>{c.d(b,{B:()=>f});var d=c(71998);function e(a){return null==a?"":String(a).trim()}async function f(a={}){try{let b=e(a?.proxyPoolId),c="__none__"===b?"":b,f=function(a={}){let b=a?.connectionProxyEnabled===!0,c=e(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:e(a?.connectionNoProxy)}}(a);if(c){let a=await (0,d.hr)(c),b=e(a?.proxyUrl),f=e(a?.noProxy);if(a&&!0===a.isActive&&b){if("vercel"===a.type||"cloudflare"===a.type||"deno"===a.type)return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:f,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:f,strictProxy:!0===a.strictProxy}}}if(f.connectionProxyEnabled&&f.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,...f};return{source:"none",proxyPoolId:c||null,proxyPool:null,...f}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}},21968:(a,b,c)=>{c.d(b,{M$:()=>f,dv:()=>g});let d="antigravity";function e(a){let b=String(a||"").trim().toLowerCase().replace(/^antigravity\//,""),c=b.indexOf("/"),d=c>=0?b.slice(c+1):b;return d.startsWith("gemini-")||d.includes("/gemini-")||d.includes("gemini")?"gemini":d.startsWith("claude-")||d.startsWith("cloud-")||d.includes("/claude-")||d.includes("/cloud-")||d.includes("anthropic")?"claude":"other"}function f(a,b){if(!b)return null;if(a!==d)return b;let c=e(b);return"other"===c?b:`family:${c}`}function g(a,b){return a!==d||"other"===e(b)?"model":"family"}},50102:(a,b,c)=>{c.d(b,{TR:()=>e,aD:()=>d,xv:()=>f});let d={providerCooldown:{enabled:!1,minRetryCooldownMs:1e3,maxRetryCooldownMs:6e4},requestQueue:{enabled:!1},comboCooldownWait:{enabled:!1,budgetMs:0,maxAttempts:1},quotaShareConcurrencyLimit:{enabled:!1},quotaPreflight:{enabled:!1},streamRecovery:{enabled:!1,continueMidStream:!1},connectionCooldown:{oauth:{baseCooldownMs:1e3,useUpstreamRetryHints:!0,useUpstream429BreakerHints:!0,maxBackoffSteps:5},apikey:{baseCooldownMs:1e3,useUpstreamRetryHints:!0,useUpstream429BreakerHints:!0,maxBackoffSteps:5}},providerBreaker:{oauth:{failureThreshold:5,resetTimeoutMs:3e4,degradationThreshold:.5},apikey:{failureThreshold:5,resetTimeoutMs:3e4,degradationThreshold:.5}}},e=()=>!1,f=a=>d},71998:(a,b,c)=>{c.d(b,{Ax:()=>d.Ax,CK:()=>d.CK,EE:()=>d.EE,Fh:()=>d.Fh,ID:()=>d.ID,Is:()=>d.Is,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Wq:()=>d.Wq,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fu:()=>d.fu,fv:()=>d.fv,g4:()=>d.g4,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,ik:()=>d.ik,o5:()=>d.o5,op:()=>d.op,q5:()=>d.q5,rj:()=>d.updateProviderConnection,sN:()=>d.sN,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},77868:(a,b,c)=>{c.d(b,{Sy:()=>e});let d={enabled:!1,errorCodes:[],baseCooldownMs:3e4,useExponentialBackoff:!1,maxCooldownMs:3e5},e=()=>d},80238:(a,b,c)=>{c.d(b,{OK:()=>z,Pt:()=>v,Tn:()=>E,Tr:()=>w,c1:()=>s,kI:()=>x,vk:()=>u});var d=c(89718),e=c(16945),f=c(10254),g=c(3662),h=c(40615),i=c(77598),j=c(30184);let k=new Map,l=new Set,m="modelLock_",n="modelLock___all";function o(a,b){let c=a[b?`${m}${b}`:n]||a[n];return!!c&&new Date(c).getTime()>Date.now()}function p(a){if(!a)return null;let b=null,c=Date.now();for(let[d,e]of Object.entries(a)){if(!d.startsWith(m)||!e)continue;let a=new Date(e).getTime();a<=c||(!b||a<b)&&(b=a)}return b?new Date(b).toISOString():null}async function q(){try{let a=await (0,d.getProviderConnections)({provider:"cloudflare-ai"}),b=new Date().toISOString(),c=a.filter(a=>{let c=a.providerSpecificData||{};return!0===c.cloudflareQuotaDisabled&&c.cloudflareReEnableAt&&c.cloudflareReEnableAt<=b});if(0===c.length)return;for(let a of c){let b={...a.providerSpecificData||{}};delete b.cloudflareQuotaDisabled,delete b.cloudflareReEnableAt,await (0,d.updateProviderConnection)(a.id,{isActive:!0,providerSpecificData:b});let c=a.displayName||a.name||a.email||a.id.slice(0,8);j.info("AUTH",`[CLOUDFLARE] Re-enabled ${c} — daily quota cooldown expired (was disabled until ${a.providerSpecificData?.cloudflareReEnableAt})`)}}catch(a){j.warn("AUTH",`[CLOUDFLARE] re-enable check failed: ${a.message}`)}}async function r(){try{let a=await (0,d.getProviderConnections)({}),b=new Date().toISOString(),c=a.filter(a=>{let c=a.providerSpecificData||{};return!0===c.siliconflowBusyDisabled&&c.siliconflowReEnableAt&&c.siliconflowReEnableAt<=b});if(0===c.length)return;for(let a of c){let b={...a.providerSpecificData||{}};delete b.siliconflowBusyDisabled,delete b.siliconflowReEnableAt,await (0,d.updateProviderConnection)(a.id,{isActive:!0,providerSpecificData:b});let c=a.displayName||a.name||a.email||a.id.slice(0,8);j.info("AUTH",`[SILICONFLOW] Re-enabled ${c} — server busy cooldown expired (was disabled until ${a.providerSpecificData?.siliconflowReEnableAt})`)}}catch(a){j.warn("AUTH",`[SILICONFLOW] re-enable check failed: ${a.message}`)}}async function s(a,b=null,c=null,g={}){let i,l=b instanceof Set?b:b?new Set([b]):new Set,m=g?.preferredConnectionId||null,n=g?.allowRateLimited===!0,t=(0,h.rs)(a),u=k.get(t)||Promise.resolve(),v=new Promise(a=>{i=a});k.set(t,v);try{let b;if(await u,"cloudflare-ai"===t&&await q(),("siliconflow"===t||"string"==typeof t&&t.startsWith("openai-compatible-"))&&await r(),h.IS[t]?.noAuth){let a=((await (0,d.getSettings)()).providerStrategies||{})[t]||{},b=await (0,e.B)({proxyPoolId:a.proxyPoolId||""});return{id:"noauth",connectionName:"Public",isActive:!0,accessToken:"public",providerSpecificData:{connectionProxyEnabled:b.connectionProxyEnabled,connectionProxyUrl:b.connectionProxyUrl,connectionNoProxy:b.connectionNoProxy,connectionProxyPoolId:b.proxyPoolId||null,vercelRelayUrl:b.vercelRelayUrl||"",strictProxy:!0===b.strictProxy}}}let g=await (0,d.getProviderConnections)({provider:t,isActive:!0});if(j.debug("AUTH",`${a} | total connections: ${g.length}, excludeIds: ${l.size>0?[...l].join(","):"none"}, model: ${c||"any"}`),0===g.length)return j.warn("AUTH",`No credentials for ${a}`),null;let i=g.filter(a=>!(l.has(a.id)||o(a,c)));if(j.debug("AUTH",`${a} | available: ${i.length}/${g.length}`),g.forEach(a=>{let b=l.has(a.id),d=o(a,c);if(b||d){let e=p(a);j.debug("AUTH",` → ${a.id?.slice(0,8)} | ${b?"excluded":""} ${d?`modelLocked(${c}) until ${e}`:""}`)}}),0===i.length){if(n){let b=g.filter(a=>!l.has(a.id)&&o(a,c));if(b.length>0){b.sort((a,b)=>{let c=new Date(p(a)||0).getTime(),d=new Date(p(b)||0).getTime();return c-d});let c=b[0],d=c.displayName||c.name||c.email||c.id?.slice(0,8),g=p(c);j.warn("AUTH",`[FALLBACK-EMERGENCY] ${a} | all accounts locked — using ${d} (lock expires ${(0,f.Qo)(g)})`);let h=await (0,e.B)(c.providerSpecificData||{});return{authType:c.authType,apiKey:c.apiKey,accessToken:c.accessToken,refreshToken:c.refreshToken,idToken:c.idToken,expiresAt:c.expiresAt,expiresIn:c.expiresIn,lastRefreshAt:c.lastRefreshAt,projectId:c.projectId,connectionName:d,copilotToken:c.providerSpecificData?.copilotToken,providerSpecificData:{...c.providerSpecificData||{},connectionProxyEnabled:h.connectionProxyEnabled,connectionProxyUrl:h.connectionProxyUrl,connectionNoProxy:h.connectionNoProxy,connectionProxyPoolId:h.proxyPoolId||null,vercelRelayUrl:h.vercelRelayUrl||"",strictProxy:!0===h.strictProxy},connectionId:c.id,testStatus:c.testStatus,lastError:c.lastError,_connection:c,emergencyFallback:!0}}}let b=g.filter(a=>o(a,c)),d=b.map(a=>p(a)).filter(Boolean).sort()[0]||null;if(d){let e=b[0];return j.warn("AUTH",`${a} | all ${g.length} accounts locked for ${c||"all"} (${(0,f.Qo)(d)}) | lastError=${e?.lastError?.slice(0,50)}`),{allRateLimited:!0,retryAfter:d,retryAfterHuman:(0,f.Qo)(d),lastError:e?.lastError||null,lastErrorCode:e?.errorCode||null}}return j.warn("AUTH",`${a} | all ${g.length} accounts unavailable`),null}let k=await (0,d.getSettings)(),s=(k.providerStrategies||{})[t]||{},v=s.fallbackStrategy||k.fallbackStrategy||"fill-first";if(m&&(b=i.find(a=>a.id===m))&&j.info("AUTH",`${a} | pinned to ${b.id?.slice(0,8)} (${b.name||b.email||"unnamed"})`),b);else if("round-robin"===v){let a=s.stickyRoundRobinLimit||k.stickyRoundRobinLimit||3,c=[...i].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(b.lastUsedAt)-new Date(a.lastUsedAt):-1:1:(a.priority||999)-(b.priority||999))[0],e=c?.consecutiveUseCount||0;c&&c.lastUsedAt&&e<a?(b=c,await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:(b.consecutiveUseCount||0)+1})):(b=[...i].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(a.lastUsedAt)-new Date(b.lastUsedAt):1:-1:(a.priority||999)-(b.priority||999))[0],await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:1}))}else b=i[0];let w=await (0,e.B)(b.providerSpecificData||{});return{authType:b.authType,apiKey:b.apiKey,accessToken:b.accessToken,refreshToken:b.refreshToken,idToken:b.idToken,expiresAt:b.expiresAt,expiresIn:b.expiresIn,lastRefreshAt:b.lastRefreshAt,projectId:b.projectId,connectionName:b.displayName||b.name||b.email||b.id,copilotToken:b.providerSpecificData?.copilotToken,providerSpecificData:{...b.providerSpecificData||{},connectionProxyEnabled:w.connectionProxyEnabled,connectionProxyUrl:w.connectionProxyUrl,connectionNoProxy:w.connectionNoProxy,connectionProxyPoolId:w.proxyPoolId||null,vercelRelayUrl:w.vercelRelayUrl||"",strictProxy:!0===w.strictProxy},connectionId:b.id,testStatus:b.testStatus,lastError:b.lastError,_connection:b}}finally{i&&i(),k.get(t)===v&&k.delete(t)}}async function t(a,b){if(!l.has(b)){l.add(b);try{let[c,e]=await Promise.all([(0,d.CK)(a),(0,d.getProviderConnections)({provider:a,isActive:!0})]);if(!c)return;let f=e.map(a=>a.apiKey).filter(Boolean),g=await (0,d.Ax)(a,1,f);if(!g.length){j.warn("AUTH",`[POOL] pool empty for ${a}, cannot auto-replace`),await (0,d.updateProviderConnection)(b,{isActive:!1});return}let h=e.find(a=>a.providerSpecificData?.baseUrl)?.providerSpecificData||null,i=await (0,d.q5)(a,g,f,h);0===i&&j.warn("AUTH",`[POOL] replacement key already in connections for ${a}`),await (0,d.updateProviderConnection)(b,{isActive:!1}),j.info("AUTH",`[POOL] auto-replaced key for ${a} (created=${i})`)}catch(a){j.warn("AUTH",`[POOL] auto-replace failed: ${a.message}`)}finally{l.delete(b)}}}async function u(a,b,c,e=null,h=null,i=null){var k;let l,o,p;if(!a||"noauth"===a)return{shouldFallback:!1,cooldownMs:0};let q=await (0,d.getProviderConnections)({provider:e}),r=q.find(b=>b.id===a),s=r?.backoffLevel||0;if(i&&i>Date.now()?(l=!0,o=Math.min(i-Date.now(),g.fh),p=0):{shouldFallback:l,cooldownMs:o,newBackoffLevel:p}=(0,f.hk)(b,c,s),!l)return{shouldFallback:!1,cooldownMs:0};let v="string"==typeof c?c.slice(0,100):"Provider error";if("cloudflare-ai"===e&&"string"==typeof c&&c.toLowerCase().includes("used up your daily free allocation")){let c,e,f=((e=new Date(Date.UTC((c=new Date).getUTCFullYear(),c.getUTCMonth(),c.getUTCDate(),0,10,0,0))).getTime()<=c.getTime()&&e.setUTCDate(e.getUTCDate()+1),e.toISOString()),g={...r?.providerSpecificData||{},cloudflareQuotaDisabled:!0,cloudflareReEnableAt:f};await (0,d.updateProviderConnection)(a,{isActive:!1,providerSpecificData:g,testStatus:"unavailable",lastError:v,errorCode:b,lastErrorAt:new Date().toISOString()});let h=r?.displayName||r?.name||r?.email||a.slice(0,8);return j.warn("AUTH",`[CLOUDFLARE] ${h} disabled due to daily quota exhaustion — will re-enable at ${f}`),console.error(`❌ cloudflare-ai [${b}]: Daily quota exhausted — disabled until ${f}`),{shouldFallback:!0,cooldownMs:0}}let w=(r?.providerSpecificData?.baseUrl||"").toLowerCase();if(("siliconflow"===e||"string"==typeof e&&e.startsWith("openai-compatible-")&&w.includes("siliconflow"))&&"string"==typeof c&&c.toLowerCase().includes("system is really busy")){let a=new Date(Date.now()+6e5).toISOString();for(let c of q){let e={...c.providerSpecificData||{},siliconflowBusyDisabled:!0,siliconflowReEnableAt:a};await (0,d.updateProviderConnection)(c.id,{isActive:!1,providerSpecificData:e,testStatus:"unavailable",lastError:v,errorCode:b,lastErrorAt:new Date().toISOString()})}return j.warn("AUTH",`[SILICONFLOW] Disabled ${q.length} connection(s) due to server busy (503) — will re-enable at ${a}`),console.error(`❌ siliconflow [${b}]: System busy — disabled ${q.length} connection(s) until ${a}`),{shouldFallback:!0,cooldownMs:0}}let x=(k=o,{[h?`${m}${h}`:n]:new Date(Date.now()+k).toISOString()});await (0,d.updateProviderConnection)(a,{...x,testStatus:"unavailable",lastError:v,errorCode:b,lastErrorAt:new Date().toISOString(),backoffLevel:p??s});let y=Object.keys(x)[0],z=r?.displayName||r?.name||r?.email||a.slice(0,8);return j.warn("AUTH",`${z} locked ${y} for ${Math.round(o/1e3)}s [${b}]`),e&&b&&v&&console.error(`❌ ${e} [${b}]: ${v}`),(400===b||402===b||403===b)&&e&&(g.eq.some(a=>v.toLowerCase().includes(a))?t(e,a).catch(()=>{}):403===b&&j.warn("AUTH",`[POOL] 403 received but no quota pattern matched — reason: "${v.slice(0,80)}"`)),{shouldFallback:!0,cooldownMs:o}}async function v(a,b,c=null){if(!a||"noauth"===a)return;let e=b._connection||b,f=Date.now(),g=Object.keys(e).filter(a=>a.startsWith("modelLock_"));if(!e.testStatus&&!e.lastError&&0===g.length)return;let h=g.filter(a=>{if(c&&a===`modelLock_${c}`||c&&"modelLock___all"===a)return!0;let b=e[a];return b&&new Date(b).getTime()<=f});if(0===h.length&&"unavailable"!==e.testStatus&&!e.lastError)return;let i=g.filter(a=>{if(h.includes(a))return!1;let b=e[a];return b&&new Date(b).getTime()>f}),j=Object.fromEntries(h.map(a=>[a,null]));0===i.length&&Object.assign(j,{testStatus:"active",lastError:null,lastErrorAt:null,backoffLevel:0}),await (0,d.updateProviderConnection)(a,j)}function w(a){let b=a.headers.get("Authorization");if(b?.startsWith("Bearer "))return b.slice(7);let c=a.headers.get("x-api-key");return c||null}async function x(a){return!!a&&await (0,d.ek)(a)}async function y(a){if(!a)return null;try{return await (0,d.getApiKeyRecord)(a)}catch{return null}}async function z(a,b,d){if(!a)return{allowed:!0};let e=await y(a);if(!e)return{allowed:!1,reason:"Invalid API key"};let f=e.scope||"full";if("full"!==f&&"expose_only"!==f)return{allowed:!0};let g=null,h=null;if(!b.includes("/"))try{let{getCombos:a,getExposeComboByName:d}=await Promise.resolve().then(c.bind(c,89718));g=(await a().catch(()=>[])).find(a=>a.name===b)||null,h=await d(b).catch(()=>null)}catch{}return"full"===f?g?{allowed:!0,comboResolved:!0,comboModels:g.models||[]}:h?{allowed:!1,reason:"This API key (full) cannot call Expose models. Use an expose_only key."}:{allowed:!0}:h?{allowed:!0,comboResolved:!0,comboModels:h.models||[]}:{allowed:!1,reason:"This API key (expose_only) can only call Expose models."}}function A(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:{}}function B(a,b){if(!a)return null;if("function"==typeof a.get){let c=a.get(b)||a.get(b.toLowerCase());return"string"==typeof c&&c.trim().length>0?c.trim():null}let c=a[b]||a[b.toLowerCase()]||a[b.toUpperCase()];return Array.isArray(c)?"string"==typeof c[0]&&c[0].trim().length>0?c[0].trim():null:"string"==typeof c&&c.trim().length>0?c.trim():null}function C(a,b){if("string"!=typeof a||0===a.trim().length)return null;let c=a.trim();return c.length<=180&&/^[A-Za-z0-9._:-]+$/.test(c)?`${b}:${c}`:`${b}:sha256:${(0,i.createHash)("sha256").update(c).digest("hex")}`}function D(a){if("string"==typeof a)return a;if(Array.isArray(a)){let b=a.map(a=>{if("string"==typeof a)return a;let b=A(a);return"string"==typeof b.text?b.text:"string"==typeof b.content?b.content:null}).filter(Boolean);return b.length>0?b.join("\n"):JSON.stringify(a)}return a&&"object"==typeof a?JSON.stringify(a):null}function E(a,b){let c=C(B(b,"x-codex-session-id")??B(b,"x-session-id")??B(b,"x-omniroute-session"),"header");if(c)return c;let d=A(a),e=A(d.metadata),f=C(e.session_id,"metadata")??C(e.sessionId,"metadata")??C(d.conversation_id,"conversation")??C(d.session_id,"session")??C(d.prompt_cache_key,"prompt-cache");if(f)return f;let g=function(a){let b=A(a);if(void 0!==b.input){if("string"==typeof b.input)return b.input;if(Array.isArray(b.input))for(let a of b.input){let b=D(A(a).content??a);if(b&&b.trim().length>0)return b}let a=D(b.input);if(a&&a.trim().length>0)return a}if(Array.isArray(b.messages)){let a=b.messages.find(a=>"user"===A(a).role)??b.messages[0],c=D(A(a).content??a);if(c&&c.trim().length>0)return c}return null}(a);return g&&0!==g.trim().length?`input:sha256:${(0,i.createHash)("sha256").update(g.slice(0,4096)).digest("hex")}`:null}}};
@@ -1 +1 @@
1
- "use strict";exports.id=2845,exports.ids=[2845],exports.modules={16655:(a,b,c)=>{c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(58246)},66306:(a,b,c)=>{c.d(b,{a0:()=>g,nl:()=>k});var d=c(58920);let e={vision:!1,pdf:!1,audioInput:!1,videoInput:!1,imageOutput:!1,audioOutput:!1,search:!1,tools:!0,reasoning:!1,thinkingFormat:null,thinkingCanDisable:!0,thinkingRange:null,contextWindow:2e5,maxOutput:64e3},f={imageToText:{vision:!0},image:{imageOutput:!0},stt:{audioInput:!0},tts:{audioOutput:!0},embedding:{tools:!1}};function g(a){return f[a]||null}let h={"claude-opus-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"gpt-image-1":{imageOutput:!0,tools:!1},"glm-4.6v":{vision:!0,reasoning:!0,thinkingFormat:"zai",contextWindow:128e3},"vision-model":{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6},"coder-model":{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},i={"codebuddy-cn":{"glm-5.2":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:48e3},"glm-5.1":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5.0":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:48e3},"glm-5.0-turbo":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5v-turbo":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:38e3},"glm-4.7":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:48e3},"minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:48e3},"minimax-m2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"kimi-k2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.6":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.5":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:164e3,maxOutput:32e3},"hy3-preview":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:192e3,maxOutput:64e3},"deepseek-v4-pro":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v4-flash":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v3-2-volc":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:96e3,maxOutput:32e3}}},j=[{pattern:"*claude*opus-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.8*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*haiku*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*opus*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*sonnet*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*fable*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude*mythos*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude-3*",caps:{vision:!0}},{pattern:"*claude*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*gemini*image*",caps:{vision:!0,imageOutput:!0,contextWindow:1048576}},{pattern:"*gemini-3*pro*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65535}},{pattern:"*gemini-3*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2.5*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-budget",thinkingRange:{min:0,max:24576},contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2*",caps:{vision:!0,audioInput:!0,videoInput:!0,search:!0,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini*",caps:{vision:!0,search:!0,contextWindow:1048576}},{pattern:"*gemma*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*nanobanana*",caps:{vision:!0,imageOutput:!0}},{pattern:"*gpt-5*image*",caps:{imageOutput:!0}},{pattern:"*gpt-5*codex*",caps:{reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-4o*",caps:{vision:!0,search:!0,contextWindow:128e3,maxOutput:16384}},{pattern:"*gpt-4.1*",caps:{vision:!0,contextWindow:1e6,maxOutput:32768}},{pattern:"*gpt-4-turbo*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*gpt-4*",caps:{contextWindow:128e3}},{pattern:"*gpt-3.5*",caps:{contextWindow:16385,maxOutput:4096}},{pattern:"*gpt-oss*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1-mini*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o4*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*grok*image*",caps:{imageOutput:!0}},{pattern:"*grok-code*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-4*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-3*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:131072}},{pattern:"*grok*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*qwen*vl*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwen*omni*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144,maxOutput:65536}},{pattern:"*qwen*coder*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},{pattern:"*qwen*max*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.5*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.6*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.7*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*plus*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*235b*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwq*",caps:{reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:131072}},{pattern:"*qwen*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*kimi*k2.7*code*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*k2*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*",caps:{reasoning:!0,thinkingFormat:"kimi",contextWindow:262144}},{pattern:"*glm-5*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4.7*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*glm*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*deepseek-v4*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:1e6,maxOutput:384e3}},{pattern:"*reasoner*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-r*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-chat*",caps:{contextWindow:128e3}},{pattern:"*deepseek*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:128e3}},{pattern:"*minimax*image*",caps:{imageOutput:!0}},{pattern:"*minimax-m3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"minimax",contextWindow:1048576,maxOutput:512e3}},{pattern:"*minimax-m2.7*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:204800,maxOutput:131072}},{pattern:"*minimax*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072}},{pattern:"*mimo*v2.5*",caps:{vision:!0,contextWindow:1048576,maxOutput:131072}},{pattern:"*mimo*omni*",caps:{vision:!0,audioInput:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*mimo*",caps:{vision:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*llama-4*",caps:{vision:!0,contextWindow:1e6}},{pattern:"*llama*",caps:{contextWindow:128e3}},{pattern:"*codestral*",caps:{contextWindow:256e3}},{pattern:"*mistral-large*",caps:{vision:!0,contextWindow:256e3}},{pattern:"*mistral*",caps:{contextWindow:128e3}},{pattern:"*command-a-vision*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*command*",caps:{contextWindow:128e3}},{pattern:"*sonar*",caps:{search:!0,contextWindow:128e3}},{pattern:"*pplx*",caps:{search:!0,contextWindow:128e3}},{pattern:"*perplexity*",caps:{search:!0,contextWindow:128e3}},{pattern:"*hunyuan*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"hy3*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"*step-*",caps:{reasoning:!0,thinkingFormat:"step",contextWindow:128e3}},{pattern:"*nemotron*",caps:{reasoning:!0,contextWindow:128e3}},{pattern:"*ling-*",caps:{reasoning:!0,contextWindow:128e3}}];function k(a,b){if(!b)return{...e};if(a&&i[a]?.[b])return{...e,...i[a][b]};let c=b.includes("/")?b.split("/").pop():b;if(h[c])return{...e,...h[c]};if(h[b])return{...e,...h[b]};for(let{pattern:a,caps:f}of j)if((0,d.gH)(a,c)||(0,d.gH)(a,b))return{...e,...f};return{...e}}},81329:(a,b,c)=>{c.d(b,{CP:()=>f,Xg:()=>d.Xg,eh:()=>e,vq:()=>d.PROVIDER_MODELS});var d=c(57247);Object.entries(c(40615).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.PROVIDER_MODELS).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),f=(a,b=null)=>a?.kind||a?.type||b}};
1
+ "use strict";exports.id=2845,exports.ids=[2845],exports.modules={16655:(a,b,c)=>{c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(50906)},66306:(a,b,c)=>{c.d(b,{a0:()=>g,nl:()=>k});var d=c(58920);let e={vision:!1,pdf:!1,audioInput:!1,videoInput:!1,imageOutput:!1,audioOutput:!1,search:!1,tools:!0,reasoning:!1,thinkingFormat:null,thinkingCanDisable:!0,thinkingRange:null,contextWindow:2e5,maxOutput:64e3},f={imageToText:{vision:!0},image:{imageOutput:!0},stt:{audioInput:!0},tts:{audioOutput:!0},embedding:{tools:!1}};function g(a){return f[a]||null}let h={"claude-opus-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"gpt-image-1":{imageOutput:!0,tools:!1},"glm-4.6v":{vision:!0,reasoning:!0,thinkingFormat:"zai",contextWindow:128e3},"vision-model":{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6},"coder-model":{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},i={"codebuddy-cn":{"glm-5.2":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:48e3},"glm-5.1":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5.0":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:48e3},"glm-5.0-turbo":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5v-turbo":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:38e3},"glm-4.7":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:48e3},"minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:48e3},"minimax-m2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"kimi-k2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.6":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.5":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:164e3,maxOutput:32e3},"hy3-preview":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:192e3,maxOutput:64e3},"deepseek-v4-pro":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v4-flash":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v3-2-volc":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:96e3,maxOutput:32e3}}},j=[{pattern:"*claude*opus-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.8*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*haiku*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*opus*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*sonnet*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*fable*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude*mythos*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude-3*",caps:{vision:!0}},{pattern:"*claude*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*gemini*image*",caps:{vision:!0,imageOutput:!0,contextWindow:1048576}},{pattern:"*gemini-3*pro*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65535}},{pattern:"*gemini-3*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2.5*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-budget",thinkingRange:{min:0,max:24576},contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2*",caps:{vision:!0,audioInput:!0,videoInput:!0,search:!0,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini*",caps:{vision:!0,search:!0,contextWindow:1048576}},{pattern:"*gemma*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*nanobanana*",caps:{vision:!0,imageOutput:!0}},{pattern:"*gpt-5*image*",caps:{imageOutput:!0}},{pattern:"*gpt-5*codex*",caps:{reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-4o*",caps:{vision:!0,search:!0,contextWindow:128e3,maxOutput:16384}},{pattern:"*gpt-4.1*",caps:{vision:!0,contextWindow:1e6,maxOutput:32768}},{pattern:"*gpt-4-turbo*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*gpt-4*",caps:{contextWindow:128e3}},{pattern:"*gpt-3.5*",caps:{contextWindow:16385,maxOutput:4096}},{pattern:"*gpt-oss*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1-mini*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o4*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*grok*image*",caps:{imageOutput:!0}},{pattern:"*grok-code*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-4*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-3*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:131072}},{pattern:"*grok*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*qwen*vl*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwen*omni*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144,maxOutput:65536}},{pattern:"*qwen*coder*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},{pattern:"*qwen*max*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.5*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.6*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.7*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*plus*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*235b*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwq*",caps:{reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:131072}},{pattern:"*qwen*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*kimi*k2.7*code*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*k2*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*",caps:{reasoning:!0,thinkingFormat:"kimi",contextWindow:262144}},{pattern:"*glm-5*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4.7*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*glm*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*deepseek-v4*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:1e6,maxOutput:384e3}},{pattern:"*reasoner*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-r*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-chat*",caps:{contextWindow:128e3}},{pattern:"*deepseek*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:128e3}},{pattern:"*minimax*image*",caps:{imageOutput:!0}},{pattern:"*minimax-m3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"minimax",contextWindow:1048576,maxOutput:512e3}},{pattern:"*minimax-m2.7*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:204800,maxOutput:131072}},{pattern:"*minimax*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072}},{pattern:"*mimo*v2.5*",caps:{vision:!0,contextWindow:1048576,maxOutput:131072}},{pattern:"*mimo*omni*",caps:{vision:!0,audioInput:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*mimo*",caps:{vision:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*llama-4*",caps:{vision:!0,contextWindow:1e6}},{pattern:"*llama*",caps:{contextWindow:128e3}},{pattern:"*codestral*",caps:{contextWindow:256e3}},{pattern:"*mistral-large*",caps:{vision:!0,contextWindow:256e3}},{pattern:"*mistral*",caps:{contextWindow:128e3}},{pattern:"*command-a-vision*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*command*",caps:{contextWindow:128e3}},{pattern:"*sonar*",caps:{search:!0,contextWindow:128e3}},{pattern:"*pplx*",caps:{search:!0,contextWindow:128e3}},{pattern:"*perplexity*",caps:{search:!0,contextWindow:128e3}},{pattern:"*hunyuan*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"hy3*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"*step-*",caps:{reasoning:!0,thinkingFormat:"step",contextWindow:128e3}},{pattern:"*nemotron*",caps:{reasoning:!0,contextWindow:128e3}},{pattern:"*ling-*",caps:{reasoning:!0,contextWindow:128e3}}];function k(a,b){if(!b)return{...e};if(a&&i[a]?.[b])return{...e,...i[a][b]};let c=b.includes("/")?b.split("/").pop():b;if(h[c])return{...e,...h[c]};if(h[b])return{...e,...h[b]};for(let{pattern:a,caps:f}of j)if((0,d.gH)(a,c)||(0,d.gH)(a,b))return{...e,...f};return{...e}}},81329:(a,b,c)=>{c.d(b,{CP:()=>f,Xg:()=>d.Xg,eh:()=>e,vq:()=>d.PROVIDER_MODELS});var d=c(57247);Object.entries(c(40615).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.PROVIDER_MODELS).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),f=(a,b=null)=>a?.kind||a?.type||b}};
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
6
6
  PRAGMA cache_size = -64000;
7
7
  PRAGMA foreign_keys = ON;
8
8
  PRAGMA busy_timeout = 5000;
9
- `,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},apiKeyPools:{columns:{poolKey:"TEXT PRIMARY KEY",keys:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"}},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",sortOrder:"INTEGER DEFAULT 0",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},keyPool:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",name:"TEXT",key:"TEXT NOT NULL",data:"TEXT",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_kp_provider ON keyPool(provider)","CREATE UNIQUE INDEX IF NOT EXISTS idx_kp_provider_key ON keyPool(provider, key)"]},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}}};
9
+ `,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",scope:"TEXT DEFAULT 'full'",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},apiKeyPools:{columns:{poolKey:"TEXT PRIMARY KEY",keys:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"}},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",sortOrder:"INTEGER DEFAULT 0",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},exposeCombos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",sortOrder:"INTEGER DEFAULT 0",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_expose_combo_name ON exposeCombos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},keyPool:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",name:"TEXT",key:"TEXT NOT NULL",data:"TEXT",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_kp_provider ON keyPool(provider)","CREATE UNIQUE INDEX IF NOT EXISTS idx_kp_provider_key ON keyPool(provider, key)"]},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}}};
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
6
6
  PRAGMA cache_size = -64000;
7
7
  PRAGMA foreign_keys = ON;
8
8
  PRAGMA busy_timeout = 5000;
9
- `,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},apiKeyPools:{columns:{poolKey:"TEXT PRIMARY KEY",keys:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"}},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",sortOrder:"INTEGER DEFAULT 0",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},keyPool:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",name:"TEXT",key:"TEXT NOT NULL",data:"TEXT",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_kp_provider ON keyPool(provider)","CREATE UNIQUE INDEX IF NOT EXISTS idx_kp_provider_key ON keyPool(provider, key)"]},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}}};
9
+ `,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",scope:"TEXT DEFAULT 'full'",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},apiKeyPools:{columns:{poolKey:"TEXT PRIMARY KEY",keys:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"}},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",sortOrder:"INTEGER DEFAULT 0",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},exposeCombos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",sortOrder:"INTEGER DEFAULT 0",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_expose_combo_name ON exposeCombos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},keyPool:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",name:"TEXT",key:"TEXT NOT NULL",data:"TEXT",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_kp_provider ON keyPool(provider)","CREATE UNIQUE INDEX IF NOT EXISTS idx_kp_provider_key ON keyPool(provider, key)"]},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}}};