n9router 0.4.43 → 0.4.44

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 (1005) hide show
  1. package/README.md +1 -1
  2. package/app/.next/BUILD_ID +1 -1
  3. package/app/.next/app-path-routes-manifest.json +13 -12
  4. package/app/.next/build-manifest.json +3 -3
  5. package/app/.next/prerender-manifest.json +3 -3
  6. package/app/.next/required-server-files.json +1 -1
  7. package/app/.next/routes-manifest.json +6 -0
  8. package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  9. package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  10. package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  11. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
  12. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  13. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  14. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  15. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  16. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  17. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  18. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  19. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  20. package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  21. package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  22. package/app/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  23. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  24. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  25. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  26. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
  27. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  28. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  29. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  30. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  31. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  32. package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +3 -3
  33. package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  34. package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  35. package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  36. package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  37. package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  38. package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  39. package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  40. package/app/.next/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  41. package/app/.next/server/app/(dashboard)/dashboard/page.js +2 -2
  42. package/app/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  43. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  44. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  45. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  46. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  47. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +4 -4
  48. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  49. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  50. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  51. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  52. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  53. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  54. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  55. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  56. package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
  57. package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  58. package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  59. package/app/.next/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  60. package/app/.next/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  61. package/app/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  62. package/app/.next/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  63. package/app/.next/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  64. package/app/.next/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  65. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  66. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  67. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  68. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js +3 -3
  69. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  70. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  71. package/app/.next/server/app/_global-error/page.js +3 -3
  72. package/app/.next/server/app/_global-error/page.js.nft.json +1 -1
  73. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  74. package/app/.next/server/app/_global-error.html +1 -1
  75. package/app/.next/server/app/_global-error.rsc +1 -1
  76. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  77. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  78. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  79. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  80. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  81. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  82. package/app/.next/server/app/_not-found/page.js +2 -2
  83. package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
  84. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  85. package/app/.next/server/app/_not-found.html +1 -1
  86. package/app/.next/server/app/_not-found.rsc +6 -6
  87. package/app/.next/server/app/_not-found.segments/_full.segment.rsc +6 -6
  88. package/app/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  89. package/app/.next/server/app/_not-found.segments/_index.segment.rsc +5 -5
  90. package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  91. package/app/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  92. package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +4 -4
  93. package/app/.next/server/app/api/antigravity-app/route.js +1 -1
  94. package/app/.next/server/app/api/antigravity-app/route.js.nft.json +1 -1
  95. package/app/.next/server/app/api/antigravity-app-v2/route.js +1 -1
  96. package/app/.next/server/app/api/antigravity-app-v2/route.js.nft.json +1 -1
  97. package/app/.next/server/app/api/antigravity-ide/route.js +1 -1
  98. package/app/.next/server/app/api/antigravity-ide/route.js.nft.json +1 -1
  99. package/app/.next/server/app/api/antigravity-targets/route.js +1 -1
  100. package/app/.next/server/app/api/antigravity-targets/route.js.nft.json +1 -1
  101. package/app/.next/server/app/api/antigravity-tools/import/route.js +1 -1
  102. package/app/.next/server/app/api/antigravity-tools/import/route.js.nft.json +1 -1
  103. package/app/.next/server/app/api/antigravity-tools/import-refresh-tokens/route.js +1 -1
  104. package/app/.next/server/app/api/antigravity-tools/import-refresh-tokens/route.js.nft.json +1 -1
  105. package/app/.next/server/app/api/auth/login/route.js +1 -1
  106. package/app/.next/server/app/api/auth/login/route.js.nft.json +1 -1
  107. package/app/.next/server/app/api/auth/logout/route.js +1 -1
  108. package/app/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
  109. package/app/.next/server/app/api/auth/oidc/callback/route.js +1 -1
  110. package/app/.next/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  111. package/app/.next/server/app/api/auth/oidc/start/route.js +1 -1
  112. package/app/.next/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  113. package/app/.next/server/app/api/auth/oidc/test/route.js +1 -1
  114. package/app/.next/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  115. package/app/.next/server/app/api/auth/status/route.js +1 -1
  116. package/app/.next/server/app/api/auth/status/route.js.nft.json +1 -1
  117. package/app/.next/server/app/api/cli-tools/all-statuses/route.js +4 -4
  118. package/app/.next/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  119. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  120. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  121. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  122. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  123. package/app/.next/server/app/api/cli-tools/claude-settings/route.js +2 -2
  124. package/app/.next/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  125. package/app/.next/server/app/api/cli-tools/cline-settings/route.js +2 -2
  126. package/app/.next/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  127. package/app/.next/server/app/api/cli-tools/codex-settings/route.js +1 -1
  128. package/app/.next/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  129. package/app/.next/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  130. package/app/.next/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  131. package/app/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  132. package/app/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  133. package/app/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  134. package/app/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  135. package/app/.next/server/app/api/cli-tools/cowork-settings/route.js +2 -2
  136. package/app/.next/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  137. package/app/.next/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  138. package/app/.next/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  139. package/app/.next/server/app/api/cli-tools/droid-settings/route.js +1 -1
  140. package/app/.next/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  141. package/app/.next/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  142. package/app/.next/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  143. package/app/.next/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  144. package/app/.next/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  145. package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  146. package/app/.next/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  147. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  148. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  149. package/app/.next/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  150. package/app/.next/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  151. package/app/.next/server/app/api/combos/[id]/route.js +1 -1
  152. package/app/.next/server/app/api/combos/[id]/route.js.nft.json +1 -1
  153. package/app/.next/server/app/api/combos/route.js +1 -1
  154. package/app/.next/server/app/api/combos/route.js.nft.json +1 -1
  155. package/app/.next/server/app/api/donate/route.js +1 -1
  156. package/app/.next/server/app/api/donate/route.js.nft.json +1 -1
  157. package/app/.next/server/app/api/health/route.js +1 -1
  158. package/app/.next/server/app/api/health/route.js.nft.json +1 -1
  159. package/app/.next/server/app/api/init/route.js +1 -1
  160. package/app/.next/server/app/api/init/route.js.nft.json +1 -1
  161. package/app/.next/server/app/api/internal/account-health/route.js +1 -1
  162. package/app/.next/server/app/api/internal/account-health/route.js.nft.json +1 -1
  163. package/app/.next/server/app/api/internal/request-detail/route.js +1 -1
  164. package/app/.next/server/app/api/internal/request-detail/route.js.nft.json +1 -1
  165. package/app/.next/server/app/api/internal/usage/route.js +1 -1
  166. package/app/.next/server/app/api/internal/usage/route.js.nft.json +1 -1
  167. package/app/.next/server/app/api/keys/[id]/reset-usage/route.js +1 -1
  168. package/app/.next/server/app/api/keys/[id]/reset-usage/route.js.nft.json +1 -1
  169. package/app/.next/server/app/api/keys/[id]/route.js +1 -1
  170. package/app/.next/server/app/api/keys/[id]/route.js.nft.json +1 -1
  171. package/app/.next/server/app/api/keys/[id]/usage/route.js +1 -1
  172. package/app/.next/server/app/api/keys/[id]/usage/route.js.nft.json +1 -1
  173. package/app/.next/server/app/api/keys/route.js +1 -1
  174. package/app/.next/server/app/api/keys/route.js.nft.json +1 -1
  175. package/app/.next/server/app/api/locale/route.js +1 -1
  176. package/app/.next/server/app/api/locale/route.js.nft.json +1 -1
  177. package/app/.next/server/app/api/mcp/[plugin]/message/route.js +1 -1
  178. package/app/.next/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  179. package/app/.next/server/app/api/mcp/[plugin]/sse/route.js +1 -1
  180. package/app/.next/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  181. package/app/.next/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  182. package/app/.next/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  183. package/app/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  184. package/app/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  185. package/app/.next/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  186. package/app/.next/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  187. package/app/.next/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  188. package/app/.next/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  189. package/app/.next/server/app/api/media-providers/tts/voices/route.js +1 -1
  190. package/app/.next/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  191. package/app/.next/server/app/api/models/alias/route.js +1 -1
  192. package/app/.next/server/app/api/models/alias/route.js.nft.json +1 -1
  193. package/app/.next/server/app/api/models/availability/route.js +1 -1
  194. package/app/.next/server/app/api/models/availability/route.js.nft.json +1 -1
  195. package/app/.next/server/app/api/models/custom/route.js +1 -1
  196. package/app/.next/server/app/api/models/custom/route.js.nft.json +1 -1
  197. package/app/.next/server/app/api/models/disabled/route.js +1 -1
  198. package/app/.next/server/app/api/models/disabled/route.js.nft.json +1 -1
  199. package/app/.next/server/app/api/models/route.js +1 -1
  200. package/app/.next/server/app/api/models/route.js.nft.json +1 -1
  201. package/app/.next/server/app/api/models/test/route.js +1 -1
  202. package/app/.next/server/app/api/models/test/route.js.nft.json +1 -1
  203. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  204. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  205. package/app/.next/server/app/api/oauth/codex/import-token/route.js +1 -1
  206. package/app/.next/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  207. package/app/.next/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  208. package/app/.next/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  209. package/app/.next/server/app/api/oauth/cursor/import/route.js +1 -1
  210. package/app/.next/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  211. package/app/.next/server/app/api/oauth/gitlab/pat/route.js +1 -1
  212. package/app/.next/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  213. package/app/.next/server/app/api/oauth/iflow/cookie/route.js +1 -1
  214. package/app/.next/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  215. package/app/.next/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  216. package/app/.next/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  217. package/app/.next/server/app/api/oauth/kiro/import/route.js +1 -1
  218. package/app/.next/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  219. package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  220. package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  221. package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  222. package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  223. package/app/.next/server/app/api/pricing/route.js +1 -1
  224. package/app/.next/server/app/api/pricing/route.js.nft.json +1 -1
  225. package/app/.next/server/app/api/provider-nodes/[id]/route.js +1 -1
  226. package/app/.next/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  227. package/app/.next/server/app/api/provider-nodes/route.js +1 -1
  228. package/app/.next/server/app/api/provider-nodes/route.js.nft.json +1 -1
  229. package/app/.next/server/app/api/provider-nodes/validate/route.js +1 -1
  230. package/app/.next/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  231. package/app/.next/server/app/api/providers/[id]/models/route.js +1 -1
  232. package/app/.next/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  233. package/app/.next/server/app/api/providers/[id]/route.js +1 -1
  234. package/app/.next/server/app/api/providers/[id]/route.js.nft.json +1 -1
  235. package/app/.next/server/app/api/providers/[id]/test/route.js +1 -1
  236. package/app/.next/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  237. package/app/.next/server/app/api/providers/[id]/test-models/route.js +1 -1
  238. package/app/.next/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  239. package/app/.next/server/app/api/providers/client/route.js +1 -1
  240. package/app/.next/server/app/api/providers/client/route.js.nft.json +1 -1
  241. package/app/.next/server/app/api/providers/kilo/free-models/route.js +1 -1
  242. package/app/.next/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  243. package/app/.next/server/app/api/providers/route.js +1 -1
  244. package/app/.next/server/app/api/providers/route.js.nft.json +1 -1
  245. package/app/.next/server/app/api/providers/suggested-models/route.js +1 -1
  246. package/app/.next/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  247. package/app/.next/server/app/api/providers/test-batch/route.js +1 -1
  248. package/app/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  249. package/app/.next/server/app/api/providers/validate/route.js +1 -1
  250. package/app/.next/server/app/api/providers/validate/route.js.nft.json +1 -1
  251. package/app/.next/server/app/api/proxy-pools/[id]/route.js +1 -1
  252. package/app/.next/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  253. package/app/.next/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  254. package/app/.next/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  255. package/app/.next/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  256. package/app/.next/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  257. package/app/.next/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  258. package/app/.next/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  259. package/app/.next/server/app/api/proxy-pools/route.js +1 -1
  260. package/app/.next/server/app/api/proxy-pools/route.js.nft.json +1 -1
  261. package/app/.next/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  262. package/app/.next/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  263. package/app/.next/server/app/api/settings/database/route.js +1 -1
  264. package/app/.next/server/app/api/settings/database/route.js.nft.json +1 -1
  265. package/app/.next/server/app/api/settings/database/selective/route.js +1 -0
  266. package/app/.next/server/app/api/settings/database/selective/route.js.nft.json +1 -0
  267. package/app/.next/server/app/api/settings/database/selective/route_client-reference-manifest.js +1 -0
  268. package/app/.next/server/app/api/settings/proxy-test/route.js +1 -1
  269. package/app/.next/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  270. package/app/.next/server/app/api/settings/require-login/route.js +1 -1
  271. package/app/.next/server/app/api/settings/require-login/route.js.nft.json +1 -1
  272. package/app/.next/server/app/api/settings/route.js +1 -1
  273. package/app/.next/server/app/api/settings/route.js.nft.json +1 -1
  274. package/app/.next/server/app/api/shutdown/route.js +1 -1
  275. package/app/.next/server/app/api/shutdown/route.js.nft.json +1 -1
  276. package/app/.next/server/app/api/tags/route.js +1 -1
  277. package/app/.next/server/app/api/tags/route.js.nft.json +1 -1
  278. package/app/.next/server/app/api/translator/console-logs/route.js +1 -1
  279. package/app/.next/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  280. package/app/.next/server/app/api/translator/console-logs/stream/route.js +2 -2
  281. package/app/.next/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  282. package/app/.next/server/app/api/translator/load/route.js +1 -1
  283. package/app/.next/server/app/api/translator/load/route.js.nft.json +1 -1
  284. package/app/.next/server/app/api/translator/save/route.js +1 -1
  285. package/app/.next/server/app/api/translator/save/route.js.nft.json +1 -1
  286. package/app/.next/server/app/api/translator/send/route.js +1 -1
  287. package/app/.next/server/app/api/translator/send/route.js.nft.json +1 -1
  288. package/app/.next/server/app/api/translator/translate/route.js +1 -1
  289. package/app/.next/server/app/api/translator/translate/route.js.nft.json +1 -1
  290. package/app/.next/server/app/api/tunnel/disable/route.js +1 -1
  291. package/app/.next/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  292. package/app/.next/server/app/api/tunnel/enable/route.js +1 -1
  293. package/app/.next/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  294. package/app/.next/server/app/api/tunnel/status/route.js +1 -1
  295. package/app/.next/server/app/api/tunnel/status/route.js.nft.json +1 -1
  296. package/app/.next/server/app/api/tunnel/tailscale-check/route.js +1 -1
  297. package/app/.next/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  298. package/app/.next/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  299. package/app/.next/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  300. package/app/.next/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  301. package/app/.next/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  302. package/app/.next/server/app/api/tunnel/tailscale-install/route.js +2 -2
  303. package/app/.next/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  304. package/app/.next/server/app/api/usage/[connectionId]/route.js +1 -1
  305. package/app/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  306. package/app/.next/server/app/api/usage/chart/route.js +1 -1
  307. package/app/.next/server/app/api/usage/chart/route.js.nft.json +1 -1
  308. package/app/.next/server/app/api/usage/history/route.js +1 -1
  309. package/app/.next/server/app/api/usage/history/route.js.nft.json +1 -1
  310. package/app/.next/server/app/api/usage/logs/route.js +1 -1
  311. package/app/.next/server/app/api/usage/logs/route.js.nft.json +1 -1
  312. package/app/.next/server/app/api/usage/providers/route.js +1 -1
  313. package/app/.next/server/app/api/usage/providers/route.js.nft.json +1 -1
  314. package/app/.next/server/app/api/usage/report/route.js +1 -1
  315. package/app/.next/server/app/api/usage/report/route.js.nft.json +1 -1
  316. package/app/.next/server/app/api/usage/request-details/route.js +1 -1
  317. package/app/.next/server/app/api/usage/request-details/route.js.nft.json +1 -1
  318. package/app/.next/server/app/api/usage/request-logs/route.js +1 -1
  319. package/app/.next/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  320. package/app/.next/server/app/api/usage/stats/route.js +1 -1
  321. package/app/.next/server/app/api/usage/stats/route.js.nft.json +1 -1
  322. package/app/.next/server/app/api/usage/stream/route.js +2 -2
  323. package/app/.next/server/app/api/usage/stream/route.js.nft.json +1 -1
  324. package/app/.next/server/app/api/v1/api/chat/route.js +1 -1
  325. package/app/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  326. package/app/.next/server/app/api/v1/audio/speech/route.js +1 -1
  327. package/app/.next/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  328. package/app/.next/server/app/api/v1/audio/transcriptions/route.js +1 -1
  329. package/app/.next/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  330. package/app/.next/server/app/api/v1/audio/voices/route.js +1 -1
  331. package/app/.next/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  332. package/app/.next/server/app/api/v1/chat/completions/route.js +1 -1
  333. package/app/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  334. package/app/.next/server/app/api/v1/embeddings/route.js +1 -1
  335. package/app/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  336. package/app/.next/server/app/api/v1/images/generations/route.js +2 -2
  337. package/app/.next/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  338. package/app/.next/server/app/api/v1/messages/count_tokens/route.js +1 -1
  339. package/app/.next/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  340. package/app/.next/server/app/api/v1/messages/route.js +1 -1
  341. package/app/.next/server/app/api/v1/messages/route.js.nft.json +1 -1
  342. package/app/.next/server/app/api/v1/models/[kind]/route.js +1 -1
  343. package/app/.next/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  344. package/app/.next/server/app/api/v1/models/info/route.js +1 -1
  345. package/app/.next/server/app/api/v1/models/info/route.js.nft.json +1 -1
  346. package/app/.next/server/app/api/v1/models/route.js +1 -1
  347. package/app/.next/server/app/api/v1/models/route.js.nft.json +1 -1
  348. package/app/.next/server/app/api/v1/responses/compact/route.js +1 -1
  349. package/app/.next/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  350. package/app/.next/server/app/api/v1/responses/route.js +1 -1
  351. package/app/.next/server/app/api/v1/responses/route.js.nft.json +1 -1
  352. package/app/.next/server/app/api/v1/route.js +1 -1
  353. package/app/.next/server/app/api/v1/route.js.nft.json +1 -1
  354. package/app/.next/server/app/api/v1/search/route.js +1 -1
  355. package/app/.next/server/app/api/v1/search/route.js.nft.json +1 -1
  356. package/app/.next/server/app/api/v1/web/fetch/route.js +1 -1
  357. package/app/.next/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  358. package/app/.next/server/app/api/v1beta/models/[...path]/route.js +1 -1
  359. package/app/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  360. package/app/.next/server/app/api/v1beta/models/route.js +1 -1
  361. package/app/.next/server/app/api/v1beta/models/route.js.nft.json +1 -1
  362. package/app/.next/server/app/api/version/route.js +1 -1
  363. package/app/.next/server/app/api/version/route.js.nft.json +1 -1
  364. package/app/.next/server/app/api/version/shutdown/route.js +1 -1
  365. package/app/.next/server/app/api/version/shutdown/route.js.nft.json +1 -1
  366. package/app/.next/server/app/api/version/update/route.js +1 -1
  367. package/app/.next/server/app/api/version/update/route.js.nft.json +1 -1
  368. package/app/.next/server/app/callback/page.js +2 -2
  369. package/app/.next/server/app/callback/page.js.nft.json +1 -1
  370. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  371. package/app/.next/server/app/callback.html +1 -1
  372. package/app/.next/server/app/callback.rsc +6 -6
  373. package/app/.next/server/app/callback.segments/_full.segment.rsc +6 -6
  374. package/app/.next/server/app/callback.segments/_head.segment.rsc +1 -1
  375. package/app/.next/server/app/callback.segments/_index.segment.rsc +5 -5
  376. package/app/.next/server/app/callback.segments/_tree.segment.rsc +4 -4
  377. package/app/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  378. package/app/.next/server/app/callback.segments/callback.segment.rsc +1 -1
  379. package/app/.next/server/app/dashboard/basic-chat.html +1 -1
  380. package/app/.next/server/app/dashboard/basic-chat.rsc +8 -8
  381. package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  382. package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  383. package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  384. package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  385. package/app/.next/server/app/dashboard/basic-chat.segments/_full.segment.rsc +8 -8
  386. package/app/.next/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  387. package/app/.next/server/app/dashboard/basic-chat.segments/_index.segment.rsc +5 -5
  388. package/app/.next/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +4 -4
  389. package/app/.next/server/app/dashboard/cli-tools.html +1 -1
  390. package/app/.next/server/app/dashboard/cli-tools.rsc +8 -8
  391. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  392. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  393. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  394. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  395. package/app/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +8 -8
  396. package/app/.next/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  397. package/app/.next/server/app/dashboard/cli-tools.segments/_index.segment.rsc +5 -5
  398. package/app/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +4 -4
  399. package/app/.next/server/app/dashboard/combos.html +1 -1
  400. package/app/.next/server/app/dashboard/combos.rsc +8 -8
  401. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  402. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  403. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  404. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  405. package/app/.next/server/app/dashboard/combos.segments/_full.segment.rsc +8 -8
  406. package/app/.next/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  407. package/app/.next/server/app/dashboard/combos.segments/_index.segment.rsc +5 -5
  408. package/app/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +4 -4
  409. package/app/.next/server/app/dashboard/endpoint.html +1 -1
  410. package/app/.next/server/app/dashboard/endpoint.rsc +8 -8
  411. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  412. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  413. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  414. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  415. package/app/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +8 -8
  416. package/app/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  417. package/app/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +5 -5
  418. package/app/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +4 -4
  419. package/app/.next/server/app/dashboard/media-providers/web.html +1 -1
  420. package/app/.next/server/app/dashboard/media-providers/web.rsc +8 -8
  421. package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  422. package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  423. package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  424. package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  425. package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  426. package/app/.next/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +8 -8
  427. package/app/.next/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  428. package/app/.next/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +5 -5
  429. package/app/.next/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +4 -4
  430. package/app/.next/server/app/dashboard/mitm.html +1 -1
  431. package/app/.next/server/app/dashboard/mitm.rsc +8 -8
  432. package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  433. package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  434. package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  435. package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  436. package/app/.next/server/app/dashboard/mitm.segments/_full.segment.rsc +8 -8
  437. package/app/.next/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  438. package/app/.next/server/app/dashboard/mitm.segments/_index.segment.rsc +5 -5
  439. package/app/.next/server/app/dashboard/mitm.segments/_tree.segment.rsc +4 -4
  440. package/app/.next/server/app/dashboard/profile.html +1 -1
  441. package/app/.next/server/app/dashboard/profile.rsc +8 -8
  442. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  443. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  444. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  445. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  446. package/app/.next/server/app/dashboard/profile.segments/_full.segment.rsc +8 -8
  447. package/app/.next/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  448. package/app/.next/server/app/dashboard/profile.segments/_index.segment.rsc +5 -5
  449. package/app/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +4 -4
  450. package/app/.next/server/app/dashboard/providers/new.html +1 -1
  451. package/app/.next/server/app/dashboard/providers/new.rsc +8 -8
  452. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  453. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  454. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  455. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  456. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  457. package/app/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +8 -8
  458. package/app/.next/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  459. package/app/.next/server/app/dashboard/providers/new.segments/_index.segment.rsc +5 -5
  460. package/app/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +4 -4
  461. package/app/.next/server/app/dashboard/providers.html +1 -1
  462. package/app/.next/server/app/dashboard/providers.rsc +8 -8
  463. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  464. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  465. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  466. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  467. package/app/.next/server/app/dashboard/providers.segments/_full.segment.rsc +8 -8
  468. package/app/.next/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  469. package/app/.next/server/app/dashboard/providers.segments/_index.segment.rsc +5 -5
  470. package/app/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +4 -4
  471. package/app/.next/server/app/dashboard/proxy-pools.html +1 -1
  472. package/app/.next/server/app/dashboard/proxy-pools.rsc +8 -8
  473. package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  474. package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  475. package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  476. package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  477. package/app/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +8 -8
  478. package/app/.next/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  479. package/app/.next/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +5 -5
  480. package/app/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +4 -4
  481. package/app/.next/server/app/dashboard/quota.html +2 -2
  482. package/app/.next/server/app/dashboard/quota.rsc +9 -9
  483. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  484. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  485. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  486. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  487. package/app/.next/server/app/dashboard/quota.segments/_full.segment.rsc +9 -9
  488. package/app/.next/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  489. package/app/.next/server/app/dashboard/quota.segments/_index.segment.rsc +5 -5
  490. package/app/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +4 -4
  491. package/app/.next/server/app/dashboard/settings/pricing/page.js +2 -2
  492. package/app/.next/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  493. package/app/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  494. package/app/.next/server/app/dashboard/settings/pricing.html +1 -1
  495. package/app/.next/server/app/dashboard/settings/pricing.rsc +6 -6
  496. package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +6 -6
  497. package/app/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  498. package/app/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +5 -5
  499. package/app/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +4 -4
  500. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  501. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  502. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  503. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  504. package/app/.next/server/app/dashboard/skills.html +1 -1
  505. package/app/.next/server/app/dashboard/skills.rsc +8 -8
  506. package/app/.next/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  507. package/app/.next/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  508. package/app/.next/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  509. package/app/.next/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  510. package/app/.next/server/app/dashboard/skills.segments/_full.segment.rsc +8 -8
  511. package/app/.next/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  512. package/app/.next/server/app/dashboard/skills.segments/_index.segment.rsc +5 -5
  513. package/app/.next/server/app/dashboard/skills.segments/_tree.segment.rsc +4 -4
  514. package/app/.next/server/app/dashboard/translator.html +1 -1
  515. package/app/.next/server/app/dashboard/translator.rsc +8 -8
  516. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  517. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  518. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  519. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  520. package/app/.next/server/app/dashboard/translator.segments/_full.segment.rsc +8 -8
  521. package/app/.next/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  522. package/app/.next/server/app/dashboard/translator.segments/_index.segment.rsc +5 -5
  523. package/app/.next/server/app/dashboard/translator.segments/_tree.segment.rsc +4 -4
  524. package/app/.next/server/app/dashboard/usage.html +1 -1
  525. package/app/.next/server/app/dashboard/usage.rsc +8 -8
  526. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  527. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  528. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  529. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  530. package/app/.next/server/app/dashboard/usage.segments/_full.segment.rsc +8 -8
  531. package/app/.next/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  532. package/app/.next/server/app/dashboard/usage.segments/_index.segment.rsc +5 -5
  533. package/app/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +4 -4
  534. package/app/.next/server/app/dashboard.html +1 -1
  535. package/app/.next/server/app/dashboard.rsc +8 -8
  536. package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  537. package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  538. package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  539. package/app/.next/server/app/dashboard.segments/_full.segment.rsc +8 -8
  540. package/app/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
  541. package/app/.next/server/app/dashboard.segments/_index.segment.rsc +5 -5
  542. package/app/.next/server/app/dashboard.segments/_tree.segment.rsc +4 -4
  543. package/app/.next/server/app/favicon.ico/route.js +1 -1
  544. package/app/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  545. package/app/.next/server/app/index.html +1 -1
  546. package/app/.next/server/app/index.rsc +6 -6
  547. package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  548. package/app/.next/server/app/index.segments/_full.segment.rsc +6 -6
  549. package/app/.next/server/app/index.segments/_head.segment.rsc +1 -1
  550. package/app/.next/server/app/index.segments/_index.segment.rsc +5 -5
  551. package/app/.next/server/app/index.segments/_tree.segment.rsc +4 -4
  552. package/app/.next/server/app/landing/page.js +2 -2
  553. package/app/.next/server/app/landing/page.js.nft.json +1 -1
  554. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  555. package/app/.next/server/app/landing.html +1 -1
  556. package/app/.next/server/app/landing.rsc +6 -6
  557. package/app/.next/server/app/landing.segments/_full.segment.rsc +6 -6
  558. package/app/.next/server/app/landing.segments/_head.segment.rsc +1 -1
  559. package/app/.next/server/app/landing.segments/_index.segment.rsc +5 -5
  560. package/app/.next/server/app/landing.segments/_tree.segment.rsc +4 -4
  561. package/app/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  562. package/app/.next/server/app/landing.segments/landing.segment.rsc +1 -1
  563. package/app/.next/server/app/login/page.js +2 -2
  564. package/app/.next/server/app/login/page.js.nft.json +1 -1
  565. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  566. package/app/.next/server/app/login.html +1 -1
  567. package/app/.next/server/app/login.rsc +7 -7
  568. package/app/.next/server/app/login.segments/_full.segment.rsc +7 -7
  569. package/app/.next/server/app/login.segments/_head.segment.rsc +1 -1
  570. package/app/.next/server/app/login.segments/_index.segment.rsc +5 -5
  571. package/app/.next/server/app/login.segments/_tree.segment.rsc +4 -4
  572. package/app/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  573. package/app/.next/server/app/login.segments/login.segment.rsc +1 -1
  574. package/app/.next/server/app/manifest.webmanifest/route.js +2 -2
  575. package/app/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  576. package/app/.next/server/app/page.js +2 -2
  577. package/app/.next/server/app/page.js.nft.json +1 -1
  578. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  579. package/app/.next/server/app-paths-manifest.json +13 -12
  580. package/app/.next/server/chunks/1051.js +1 -1
  581. package/app/.next/server/chunks/1476.js +1 -1
  582. package/app/.next/server/chunks/1498.js +1 -1
  583. package/app/.next/server/chunks/2569.js +1 -0
  584. package/app/.next/server/chunks/3110.js +10 -8
  585. package/app/.next/server/chunks/318.js +7 -7
  586. package/app/.next/server/chunks/3588.js +1 -1
  587. package/app/.next/server/chunks/365.js +1 -1
  588. package/app/.next/server/chunks/412.js +2 -2
  589. package/app/.next/server/chunks/4177.js +1 -1
  590. package/app/.next/server/chunks/4250.js +1 -1
  591. package/app/.next/server/chunks/4389.js +1 -1
  592. package/app/.next/server/chunks/4404.js +1 -1
  593. package/app/.next/server/chunks/5859.js +1 -0
  594. package/app/.next/server/chunks/5995.js +1 -1
  595. package/app/.next/server/chunks/6108.js +1 -1
  596. package/app/.next/server/chunks/6182.js +1 -1
  597. package/app/.next/server/chunks/6457.js +2 -2
  598. package/app/.next/server/chunks/6811.js +1 -1
  599. package/app/.next/server/chunks/7341.js +1 -1
  600. package/app/.next/server/chunks/7828.js +1 -1
  601. package/app/.next/server/chunks/7879.js +1 -1
  602. package/app/.next/server/chunks/7912.js +1 -0
  603. package/app/.next/server/chunks/7994.js +2 -2
  604. package/app/.next/server/chunks/8473.js +2 -2
  605. package/app/.next/server/chunks/8838.js +1 -0
  606. package/app/.next/server/chunks/8895.js +7 -5
  607. package/app/.next/server/chunks/9295.js +1 -0
  608. package/app/.next/server/chunks/9489.js +1 -1
  609. package/app/.next/server/chunks/9718.js +1 -1
  610. package/app/.next/server/chunks/9807.js +1 -1
  611. package/app/.next/server/middleware-build-manifest.js +1 -1
  612. package/app/.next/server/middleware.js +4 -4
  613. package/app/.next/server/next-font-manifest.js +1 -1
  614. package/app/.next/server/next-font-manifest.json +1 -1
  615. package/app/.next/server/pages/404.html +1 -1
  616. package/app/.next/server/pages/500.html +1 -1
  617. package/app/.next/server/server-reference-manifest.js +1 -1
  618. package/app/.next/server/server-reference-manifest.json +1 -1
  619. package/app/.next/static/chunks/1321-5ac5b0e0510e7bc1.js +1 -0
  620. package/app/.next/static/chunks/2589-89684df31938c4c7.js +3 -0
  621. package/app/.next/static/chunks/{4406-abc51cf55210026c.js → 4406-9357c0d7c2c19d9b.js} +6 -6
  622. package/app/.next/static/chunks/5497-f16d2c74532d4ad3.js +7 -0
  623. package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-5d6cf330f43257e2.js +1 -0
  624. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-bc4b466a331dbb31.js +6 -0
  625. package/app/.next/static/chunks/app/(dashboard)/{layout-1244fdc593309aa9.js → layout-5d6111c3c8c1af01.js} +1 -1
  626. package/app/.next/static/chunks/app/_global-error/{page-9e73c1f718efb820.js → page-663014002ada02ea.js} +1 -1
  627. package/app/.next/static/chunks/app/api/antigravity-app/{route-9e73c1f718efb820.js → route-663014002ada02ea.js} +1 -1
  628. package/app/.next/static/chunks/app/api/antigravity-app-v2/{route-9e73c1f718efb820.js → route-663014002ada02ea.js} +1 -1
  629. package/app/.next/static/chunks/app/api/antigravity-ide/{route-9e73c1f718efb820.js → route-663014002ada02ea.js} +1 -1
  630. package/app/.next/static/chunks/app/api/antigravity-targets/route-663014002ada02ea.js +1 -0
  631. package/app/.next/static/chunks/app/api/antigravity-tools/import/route-663014002ada02ea.js +1 -0
  632. package/app/.next/static/chunks/app/api/antigravity-tools/import-refresh-tokens/route-663014002ada02ea.js +1 -0
  633. package/app/.next/static/chunks/app/api/auth/login/route-663014002ada02ea.js +1 -0
  634. package/app/.next/static/chunks/app/api/auth/logout/route-663014002ada02ea.js +1 -0
  635. package/app/.next/static/chunks/app/api/auth/oidc/callback/route-663014002ada02ea.js +1 -0
  636. package/app/.next/static/chunks/app/api/auth/oidc/start/route-663014002ada02ea.js +1 -0
  637. package/app/.next/static/chunks/app/api/auth/oidc/test/route-663014002ada02ea.js +1 -0
  638. package/app/.next/static/chunks/app/api/auth/status/route-663014002ada02ea.js +1 -0
  639. package/app/.next/static/chunks/app/api/cli-tools/all-statuses/route-663014002ada02ea.js +1 -0
  640. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-663014002ada02ea.js +1 -0
  641. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-663014002ada02ea.js +1 -0
  642. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-663014002ada02ea.js +1 -0
  643. package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-663014002ada02ea.js +1 -0
  644. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-663014002ada02ea.js +1 -0
  645. package/app/.next/static/chunks/app/api/cli-tools/copilot-settings/route-663014002ada02ea.js +1 -0
  646. package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-663014002ada02ea.js +1 -0
  647. package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-663014002ada02ea.js +1 -0
  648. package/app/.next/static/chunks/app/api/cli-tools/cowork-settings/route-663014002ada02ea.js +1 -0
  649. package/app/.next/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-663014002ada02ea.js +1 -0
  650. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-663014002ada02ea.js +1 -0
  651. package/app/.next/static/chunks/app/api/cli-tools/hermes-settings/route-663014002ada02ea.js +1 -0
  652. package/app/.next/static/chunks/app/api/cli-tools/jcode-settings/route-663014002ada02ea.js +1 -0
  653. package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-663014002ada02ea.js +1 -0
  654. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-663014002ada02ea.js +1 -0
  655. package/app/.next/static/chunks/app/api/cli-tools/opencode-settings/route-663014002ada02ea.js +1 -0
  656. package/app/.next/static/chunks/app/api/combos/[id]/route-663014002ada02ea.js +1 -0
  657. package/app/.next/static/chunks/app/api/combos/route-663014002ada02ea.js +1 -0
  658. package/app/.next/static/chunks/app/api/donate/route-663014002ada02ea.js +1 -0
  659. package/app/.next/static/chunks/app/api/health/route-663014002ada02ea.js +1 -0
  660. package/app/.next/static/chunks/app/api/init/route-663014002ada02ea.js +1 -0
  661. package/app/.next/static/chunks/app/api/internal/account-health/route-663014002ada02ea.js +1 -0
  662. package/app/.next/static/chunks/app/api/internal/request-detail/route-663014002ada02ea.js +1 -0
  663. package/app/.next/static/chunks/app/api/internal/usage/route-663014002ada02ea.js +1 -0
  664. package/app/.next/static/chunks/app/api/keys/[id]/reset-usage/route-663014002ada02ea.js +1 -0
  665. package/app/.next/static/chunks/app/api/keys/[id]/route-663014002ada02ea.js +1 -0
  666. package/app/.next/static/chunks/app/api/keys/[id]/usage/route-663014002ada02ea.js +1 -0
  667. package/app/.next/static/chunks/app/api/keys/route-663014002ada02ea.js +1 -0
  668. package/app/.next/static/chunks/app/api/locale/route-663014002ada02ea.js +1 -0
  669. package/app/.next/static/chunks/app/api/mcp/[plugin]/message/route-663014002ada02ea.js +1 -0
  670. package/app/.next/static/chunks/app/api/mcp/[plugin]/sse/route-663014002ada02ea.js +1 -0
  671. package/app/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-663014002ada02ea.js +1 -0
  672. package/app/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-663014002ada02ea.js +1 -0
  673. package/app/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-663014002ada02ea.js +1 -0
  674. package/app/.next/static/chunks/app/api/media-providers/tts/minimax/voices/route-663014002ada02ea.js +1 -0
  675. package/app/.next/static/chunks/app/api/media-providers/tts/voices/route-663014002ada02ea.js +1 -0
  676. package/app/.next/static/chunks/app/api/models/alias/route-663014002ada02ea.js +1 -0
  677. package/app/.next/static/chunks/app/api/models/availability/route-663014002ada02ea.js +1 -0
  678. package/app/.next/static/chunks/app/api/models/custom/route-663014002ada02ea.js +1 -0
  679. package/app/.next/static/chunks/app/api/models/disabled/route-663014002ada02ea.js +1 -0
  680. package/app/.next/static/chunks/app/api/models/route-663014002ada02ea.js +1 -0
  681. package/app/.next/static/chunks/app/api/models/test/route-663014002ada02ea.js +1 -0
  682. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-663014002ada02ea.js +1 -0
  683. package/app/.next/static/chunks/app/api/oauth/codex/import-token/route-663014002ada02ea.js +1 -0
  684. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-663014002ada02ea.js +1 -0
  685. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-663014002ada02ea.js +1 -0
  686. package/app/.next/static/chunks/app/api/oauth/gitlab/pat/route-663014002ada02ea.js +1 -0
  687. package/app/.next/static/chunks/app/api/oauth/iflow/cookie/route-663014002ada02ea.js +1 -0
  688. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-663014002ada02ea.js +1 -0
  689. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-663014002ada02ea.js +1 -0
  690. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-663014002ada02ea.js +1 -0
  691. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-663014002ada02ea.js +1 -0
  692. package/app/.next/static/chunks/app/api/pricing/route-663014002ada02ea.js +1 -0
  693. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-663014002ada02ea.js +1 -0
  694. package/app/.next/static/chunks/app/api/provider-nodes/route-663014002ada02ea.js +1 -0
  695. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-663014002ada02ea.js +1 -0
  696. package/app/.next/static/chunks/app/api/providers/[id]/models/route-663014002ada02ea.js +1 -0
  697. package/app/.next/static/chunks/app/api/providers/[id]/route-663014002ada02ea.js +1 -0
  698. package/app/.next/static/chunks/app/api/providers/[id]/test/route-663014002ada02ea.js +1 -0
  699. package/app/.next/static/chunks/app/api/providers/[id]/test-models/route-663014002ada02ea.js +1 -0
  700. package/app/.next/static/chunks/app/api/providers/client/route-663014002ada02ea.js +1 -0
  701. package/app/.next/static/chunks/app/api/providers/kilo/free-models/route-663014002ada02ea.js +1 -0
  702. package/app/.next/static/chunks/app/api/providers/route-663014002ada02ea.js +1 -0
  703. package/app/.next/static/chunks/app/api/providers/suggested-models/route-663014002ada02ea.js +1 -0
  704. package/app/.next/static/chunks/app/api/providers/test-batch/route-663014002ada02ea.js +1 -0
  705. package/app/.next/static/chunks/app/api/providers/validate/route-663014002ada02ea.js +1 -0
  706. package/app/.next/static/chunks/app/api/proxy-pools/[id]/route-663014002ada02ea.js +1 -0
  707. package/app/.next/static/chunks/app/api/proxy-pools/[id]/test/route-663014002ada02ea.js +1 -0
  708. package/app/.next/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-663014002ada02ea.js +1 -0
  709. package/app/.next/static/chunks/app/api/proxy-pools/deno-deploy/route-663014002ada02ea.js +1 -0
  710. package/app/.next/static/chunks/app/api/proxy-pools/route-663014002ada02ea.js +1 -0
  711. package/app/.next/static/chunks/app/api/proxy-pools/vercel-deploy/route-663014002ada02ea.js +1 -0
  712. package/app/.next/static/chunks/app/api/settings/database/route-663014002ada02ea.js +1 -0
  713. package/app/.next/static/chunks/app/api/settings/database/selective/route-663014002ada02ea.js +1 -0
  714. package/app/.next/static/chunks/app/api/settings/proxy-test/route-663014002ada02ea.js +1 -0
  715. package/app/.next/static/chunks/app/api/settings/require-login/route-663014002ada02ea.js +1 -0
  716. package/app/.next/static/chunks/app/api/settings/route-663014002ada02ea.js +1 -0
  717. package/app/.next/static/chunks/app/api/shutdown/route-663014002ada02ea.js +1 -0
  718. package/app/.next/static/chunks/app/api/tags/route-663014002ada02ea.js +1 -0
  719. package/app/.next/static/chunks/app/api/translator/console-logs/route-663014002ada02ea.js +1 -0
  720. package/app/.next/static/chunks/app/api/translator/console-logs/stream/route-663014002ada02ea.js +1 -0
  721. package/app/.next/static/chunks/app/api/translator/load/route-663014002ada02ea.js +1 -0
  722. package/app/.next/static/chunks/app/api/translator/save/route-663014002ada02ea.js +1 -0
  723. package/app/.next/static/chunks/app/api/translator/send/route-663014002ada02ea.js +1 -0
  724. package/app/.next/static/chunks/app/api/translator/translate/route-663014002ada02ea.js +1 -0
  725. package/app/.next/static/chunks/app/api/tunnel/disable/route-663014002ada02ea.js +1 -0
  726. package/app/.next/static/chunks/app/api/tunnel/enable/route-663014002ada02ea.js +1 -0
  727. package/app/.next/static/chunks/app/api/tunnel/status/route-663014002ada02ea.js +1 -0
  728. package/app/.next/static/chunks/app/api/tunnel/tailscale-check/route-663014002ada02ea.js +1 -0
  729. package/app/.next/static/chunks/app/api/tunnel/tailscale-disable/route-663014002ada02ea.js +1 -0
  730. package/app/.next/static/chunks/app/api/tunnel/tailscale-enable/route-663014002ada02ea.js +1 -0
  731. package/app/.next/static/chunks/app/api/tunnel/tailscale-install/route-663014002ada02ea.js +1 -0
  732. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-663014002ada02ea.js +1 -0
  733. package/app/.next/static/chunks/app/api/usage/chart/route-663014002ada02ea.js +1 -0
  734. package/app/.next/static/chunks/app/api/usage/history/route-663014002ada02ea.js +1 -0
  735. package/app/.next/static/chunks/app/api/usage/logs/route-663014002ada02ea.js +1 -0
  736. package/app/.next/static/chunks/app/api/usage/providers/route-663014002ada02ea.js +1 -0
  737. package/app/.next/static/chunks/app/api/usage/report/route-663014002ada02ea.js +1 -0
  738. package/app/.next/static/chunks/app/api/usage/request-details/route-663014002ada02ea.js +1 -0
  739. package/app/.next/static/chunks/app/api/usage/request-logs/route-663014002ada02ea.js +1 -0
  740. package/app/.next/static/chunks/app/api/usage/stats/route-663014002ada02ea.js +1 -0
  741. package/app/.next/static/chunks/app/api/usage/stream/route-663014002ada02ea.js +1 -0
  742. package/app/.next/static/chunks/app/api/v1/api/chat/route-663014002ada02ea.js +1 -0
  743. package/app/.next/static/chunks/app/api/v1/audio/speech/route-663014002ada02ea.js +1 -0
  744. package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-663014002ada02ea.js +1 -0
  745. package/app/.next/static/chunks/app/api/v1/audio/voices/route-663014002ada02ea.js +1 -0
  746. package/app/.next/static/chunks/app/api/v1/chat/completions/route-663014002ada02ea.js +1 -0
  747. package/app/.next/static/chunks/app/api/v1/embeddings/route-663014002ada02ea.js +1 -0
  748. package/app/.next/static/chunks/app/api/v1/images/generations/route-663014002ada02ea.js +1 -0
  749. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-663014002ada02ea.js +1 -0
  750. package/app/.next/static/chunks/app/api/v1/messages/route-663014002ada02ea.js +1 -0
  751. package/app/.next/static/chunks/app/api/v1/models/[kind]/route-663014002ada02ea.js +1 -0
  752. package/app/.next/static/chunks/app/api/v1/models/info/route-663014002ada02ea.js +1 -0
  753. package/app/.next/static/chunks/app/api/v1/models/route-663014002ada02ea.js +1 -0
  754. package/app/.next/static/chunks/app/api/v1/responses/compact/route-663014002ada02ea.js +1 -0
  755. package/app/.next/static/chunks/app/api/v1/responses/route-663014002ada02ea.js +1 -0
  756. package/app/.next/static/chunks/app/api/v1/route-663014002ada02ea.js +1 -0
  757. package/app/.next/static/chunks/app/api/v1/search/route-663014002ada02ea.js +1 -0
  758. package/app/.next/static/chunks/app/api/v1/web/fetch/route-663014002ada02ea.js +1 -0
  759. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-663014002ada02ea.js +1 -0
  760. package/app/.next/static/chunks/app/api/v1beta/models/route-663014002ada02ea.js +1 -0
  761. package/app/.next/static/chunks/app/api/version/route-663014002ada02ea.js +1 -0
  762. package/app/.next/static/chunks/app/api/version/shutdown/route-663014002ada02ea.js +1 -0
  763. package/app/.next/static/chunks/app/api/version/update/route-663014002ada02ea.js +1 -0
  764. package/app/.next/static/chunks/app/layout-c8d22221de81bd88.js +1 -0
  765. package/app/.next/static/chunks/app/manifest.webmanifest/route-663014002ada02ea.js +1 -0
  766. package/app/.next/static/chunks/app/page-663014002ada02ea.js +1 -0
  767. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-663014002ada02ea.js +1 -0
  768. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-663014002ada02ea.js +1 -0
  769. package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-663014002ada02ea.js +1 -0
  770. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-663014002ada02ea.js +1 -0
  771. package/app/.next/static/chunks/{webpack-c2bac8d80aa27536.js → webpack-3c02ff02ae0645c5.js} +1 -1
  772. package/app/.next/static/css/aadc31e0cf060839.css +1 -0
  773. package/app/.next/static/css/d73c8ccb42eb9a7d.css +1 -0
  774. package/app/.next/static/media/6c596dfcddeca1e9-s.p.woff2 +0 -0
  775. package/app/.next/static/zOWV4f8WCIf4AVjdpAv5I/_buildManifest.js +1 -0
  776. package/app/open-sse/config/providerModels.js +12 -1
  777. package/app/open-sse/config/providers.js +2 -2
  778. package/app/open-sse/config/runtimeConfig.js +2 -2
  779. package/app/open-sse/executors/base.js +6 -6
  780. package/app/open-sse/executors/codex.js +13 -0
  781. package/app/open-sse/executors/default.js +1 -4
  782. package/app/open-sse/executors/index.js +3 -0
  783. package/app/open-sse/executors/qoder.js +6 -6
  784. package/app/open-sse/executors/xiaomi-tokenplan.js +19 -0
  785. package/app/open-sse/handlers/chatCore/nonStreamingHandler.js +6 -2
  786. package/app/open-sse/handlers/chatCore/sseToJsonHandler.js +2 -1
  787. package/app/open-sse/handlers/chatCore/streamingHandler.js +6 -1
  788. package/app/open-sse/handlers/chatCore.js +11 -4
  789. package/app/open-sse/handlers/imageProviders/codex.js +2 -2
  790. package/app/open-sse/index.js +8 -0
  791. package/app/open-sse/rtk/cavemanPrompts.js +46 -3
  792. package/app/open-sse/services/model.js +2 -0
  793. package/app/open-sse/services/oauthCredentialManager.js +151 -0
  794. package/app/open-sse/services/tokenRefresh.js +68 -56
  795. package/app/open-sse/transformer/streamToJsonConverter.js +1 -1
  796. package/app/open-sse/translator/request/openai-to-claude.js +26 -6
  797. package/app/open-sse/translator/request/openai-to-kiro.js +245 -39
  798. package/app/open-sse/translator/response/openai-responses.js +1 -1
  799. package/app/open-sse/utils/claudeCloaking.js +21 -8
  800. package/app/open-sse/utils/reasoningContentInjector.js +4 -2
  801. package/app/open-sse/utils/responsesStreamHelpers.js +49 -0
  802. package/app/open-sse/utils/stream.js +61 -3
  803. package/app/open-sse/utils/streamHandler.js +26 -16
  804. package/app/package.json +1 -1
  805. package/app/public/i18n/literals/ar.json +2 -1
  806. package/app/public/i18n/literals/bn.json +2 -1
  807. package/app/public/i18n/literals/cs.json +2 -1
  808. package/app/public/i18n/literals/da.json +2 -1
  809. package/app/public/i18n/literals/de.json +2 -1
  810. package/app/public/i18n/literals/el.json +2 -1
  811. package/app/public/i18n/literals/es.json +2 -1
  812. package/app/public/i18n/literals/fi.json +2 -1
  813. package/app/public/i18n/literals/fr.json +2 -1
  814. package/app/public/i18n/literals/he.json +2 -1
  815. package/app/public/i18n/literals/hi.json +2 -1
  816. package/app/public/i18n/literals/hu.json +2 -1
  817. package/app/public/i18n/literals/id.json +2 -1
  818. package/app/public/i18n/literals/it.json +2 -1
  819. package/app/public/i18n/literals/ja.json +2 -1
  820. package/app/public/i18n/literals/ko.json +2 -1
  821. package/app/public/i18n/literals/nl.json +2 -1
  822. package/app/public/i18n/literals/no.json +2 -1
  823. package/app/public/i18n/literals/pl.json +2 -1
  824. package/app/public/i18n/literals/pt-BR.json +2 -1
  825. package/app/public/i18n/literals/pt-PT.json +2 -1
  826. package/app/public/i18n/literals/ro.json +2 -1
  827. package/app/public/i18n/literals/ru.json +2 -1
  828. package/app/public/i18n/literals/sv.json +2 -1
  829. package/app/public/i18n/literals/th.json +2 -1
  830. package/app/public/i18n/literals/tl.json +2 -1
  831. package/app/public/i18n/literals/tr.json +2 -1
  832. package/app/public/i18n/literals/uk.json +2 -1
  833. package/app/public/i18n/literals/ur.json +2 -1
  834. package/app/public/i18n/literals/vi.json +2 -1
  835. package/app/public/i18n/literals/zh-CN.json +5 -1
  836. package/app/public/i18n/literals/zh-TW.json +2 -1
  837. package/app/server.js +1 -1
  838. package/app/src/mitm/config.js +16 -2
  839. package/app/src/mitm/handlers/base.js +159 -1
  840. package/app/src/mitm/tokenPool.js +206 -81
  841. package/app/src/shared/constants/cliTools.js +15 -2
  842. package/app/src/shared/constants/locales.js +36 -0
  843. package/app/src/shared/constants/pricing.js +2 -0
  844. package/package.json +1 -1
  845. package/app/.next/server/chunks/1569.js +0 -1
  846. package/app/.next/server/chunks/5221.js +0 -1
  847. package/app/.next/server/chunks/6251.js +0 -1
  848. package/app/.next/server/chunks/8590.js +0 -1
  849. package/app/.next/server/chunks/9609.js +0 -1
  850. package/app/.next/static/chunks/1321-03808de72db0a766.js +0 -1
  851. package/app/.next/static/chunks/2589-d4f1afc5e9f94887.js +0 -3
  852. package/app/.next/static/chunks/5497-6693628388854075.js +0 -7
  853. package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-ff34887f020e7a37.js +0 -1
  854. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-90eac92387b41cd4.js +0 -6
  855. package/app/.next/static/chunks/app/api/antigravity-targets/route-9e73c1f718efb820.js +0 -1
  856. package/app/.next/static/chunks/app/api/antigravity-tools/import/route-9e73c1f718efb820.js +0 -1
  857. package/app/.next/static/chunks/app/api/antigravity-tools/import-refresh-tokens/route-9e73c1f718efb820.js +0 -1
  858. package/app/.next/static/chunks/app/api/auth/login/route-9e73c1f718efb820.js +0 -1
  859. package/app/.next/static/chunks/app/api/auth/logout/route-9e73c1f718efb820.js +0 -1
  860. package/app/.next/static/chunks/app/api/auth/oidc/callback/route-9e73c1f718efb820.js +0 -1
  861. package/app/.next/static/chunks/app/api/auth/oidc/start/route-9e73c1f718efb820.js +0 -1
  862. package/app/.next/static/chunks/app/api/auth/oidc/test/route-9e73c1f718efb820.js +0 -1
  863. package/app/.next/static/chunks/app/api/auth/status/route-9e73c1f718efb820.js +0 -1
  864. package/app/.next/static/chunks/app/api/cli-tools/all-statuses/route-9e73c1f718efb820.js +0 -1
  865. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-9e73c1f718efb820.js +0 -1
  866. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-9e73c1f718efb820.js +0 -1
  867. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-9e73c1f718efb820.js +0 -1
  868. package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-9e73c1f718efb820.js +0 -1
  869. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-9e73c1f718efb820.js +0 -1
  870. package/app/.next/static/chunks/app/api/cli-tools/copilot-settings/route-9e73c1f718efb820.js +0 -1
  871. package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-9e73c1f718efb820.js +0 -1
  872. package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-9e73c1f718efb820.js +0 -1
  873. package/app/.next/static/chunks/app/api/cli-tools/cowork-settings/route-9e73c1f718efb820.js +0 -1
  874. package/app/.next/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-9e73c1f718efb820.js +0 -1
  875. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-9e73c1f718efb820.js +0 -1
  876. package/app/.next/static/chunks/app/api/cli-tools/hermes-settings/route-9e73c1f718efb820.js +0 -1
  877. package/app/.next/static/chunks/app/api/cli-tools/jcode-settings/route-9e73c1f718efb820.js +0 -1
  878. package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-9e73c1f718efb820.js +0 -1
  879. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-9e73c1f718efb820.js +0 -1
  880. package/app/.next/static/chunks/app/api/cli-tools/opencode-settings/route-9e73c1f718efb820.js +0 -1
  881. package/app/.next/static/chunks/app/api/combos/[id]/route-9e73c1f718efb820.js +0 -1
  882. package/app/.next/static/chunks/app/api/combos/route-9e73c1f718efb820.js +0 -1
  883. package/app/.next/static/chunks/app/api/donate/route-9e73c1f718efb820.js +0 -1
  884. package/app/.next/static/chunks/app/api/health/route-9e73c1f718efb820.js +0 -1
  885. package/app/.next/static/chunks/app/api/init/route-9e73c1f718efb820.js +0 -1
  886. package/app/.next/static/chunks/app/api/internal/account-health/route-9e73c1f718efb820.js +0 -1
  887. package/app/.next/static/chunks/app/api/internal/request-detail/route-9e73c1f718efb820.js +0 -1
  888. package/app/.next/static/chunks/app/api/internal/usage/route-9e73c1f718efb820.js +0 -1
  889. package/app/.next/static/chunks/app/api/keys/[id]/reset-usage/route-9e73c1f718efb820.js +0 -1
  890. package/app/.next/static/chunks/app/api/keys/[id]/route-9e73c1f718efb820.js +0 -1
  891. package/app/.next/static/chunks/app/api/keys/[id]/usage/route-9e73c1f718efb820.js +0 -1
  892. package/app/.next/static/chunks/app/api/keys/route-9e73c1f718efb820.js +0 -1
  893. package/app/.next/static/chunks/app/api/locale/route-9e73c1f718efb820.js +0 -1
  894. package/app/.next/static/chunks/app/api/mcp/[plugin]/message/route-9e73c1f718efb820.js +0 -1
  895. package/app/.next/static/chunks/app/api/mcp/[plugin]/sse/route-9e73c1f718efb820.js +0 -1
  896. package/app/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-9e73c1f718efb820.js +0 -1
  897. package/app/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-9e73c1f718efb820.js +0 -1
  898. package/app/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-9e73c1f718efb820.js +0 -1
  899. package/app/.next/static/chunks/app/api/media-providers/tts/minimax/voices/route-9e73c1f718efb820.js +0 -1
  900. package/app/.next/static/chunks/app/api/media-providers/tts/voices/route-9e73c1f718efb820.js +0 -1
  901. package/app/.next/static/chunks/app/api/models/alias/route-9e73c1f718efb820.js +0 -1
  902. package/app/.next/static/chunks/app/api/models/availability/route-9e73c1f718efb820.js +0 -1
  903. package/app/.next/static/chunks/app/api/models/custom/route-9e73c1f718efb820.js +0 -1
  904. package/app/.next/static/chunks/app/api/models/disabled/route-9e73c1f718efb820.js +0 -1
  905. package/app/.next/static/chunks/app/api/models/route-9e73c1f718efb820.js +0 -1
  906. package/app/.next/static/chunks/app/api/models/test/route-9e73c1f718efb820.js +0 -1
  907. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-9e73c1f718efb820.js +0 -1
  908. package/app/.next/static/chunks/app/api/oauth/codex/import-token/route-9e73c1f718efb820.js +0 -1
  909. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-9e73c1f718efb820.js +0 -1
  910. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-9e73c1f718efb820.js +0 -1
  911. package/app/.next/static/chunks/app/api/oauth/gitlab/pat/route-9e73c1f718efb820.js +0 -1
  912. package/app/.next/static/chunks/app/api/oauth/iflow/cookie/route-9e73c1f718efb820.js +0 -1
  913. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-9e73c1f718efb820.js +0 -1
  914. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-9e73c1f718efb820.js +0 -1
  915. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-9e73c1f718efb820.js +0 -1
  916. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-9e73c1f718efb820.js +0 -1
  917. package/app/.next/static/chunks/app/api/pricing/route-9e73c1f718efb820.js +0 -1
  918. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-9e73c1f718efb820.js +0 -1
  919. package/app/.next/static/chunks/app/api/provider-nodes/route-9e73c1f718efb820.js +0 -1
  920. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-9e73c1f718efb820.js +0 -1
  921. package/app/.next/static/chunks/app/api/providers/[id]/models/route-9e73c1f718efb820.js +0 -1
  922. package/app/.next/static/chunks/app/api/providers/[id]/route-9e73c1f718efb820.js +0 -1
  923. package/app/.next/static/chunks/app/api/providers/[id]/test/route-9e73c1f718efb820.js +0 -1
  924. package/app/.next/static/chunks/app/api/providers/[id]/test-models/route-9e73c1f718efb820.js +0 -1
  925. package/app/.next/static/chunks/app/api/providers/client/route-9e73c1f718efb820.js +0 -1
  926. package/app/.next/static/chunks/app/api/providers/kilo/free-models/route-9e73c1f718efb820.js +0 -1
  927. package/app/.next/static/chunks/app/api/providers/route-9e73c1f718efb820.js +0 -1
  928. package/app/.next/static/chunks/app/api/providers/suggested-models/route-9e73c1f718efb820.js +0 -1
  929. package/app/.next/static/chunks/app/api/providers/test-batch/route-9e73c1f718efb820.js +0 -1
  930. package/app/.next/static/chunks/app/api/providers/validate/route-9e73c1f718efb820.js +0 -1
  931. package/app/.next/static/chunks/app/api/proxy-pools/[id]/route-9e73c1f718efb820.js +0 -1
  932. package/app/.next/static/chunks/app/api/proxy-pools/[id]/test/route-9e73c1f718efb820.js +0 -1
  933. package/app/.next/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-9e73c1f718efb820.js +0 -1
  934. package/app/.next/static/chunks/app/api/proxy-pools/deno-deploy/route-9e73c1f718efb820.js +0 -1
  935. package/app/.next/static/chunks/app/api/proxy-pools/route-9e73c1f718efb820.js +0 -1
  936. package/app/.next/static/chunks/app/api/proxy-pools/vercel-deploy/route-9e73c1f718efb820.js +0 -1
  937. package/app/.next/static/chunks/app/api/settings/database/route-9e73c1f718efb820.js +0 -1
  938. package/app/.next/static/chunks/app/api/settings/proxy-test/route-9e73c1f718efb820.js +0 -1
  939. package/app/.next/static/chunks/app/api/settings/require-login/route-9e73c1f718efb820.js +0 -1
  940. package/app/.next/static/chunks/app/api/settings/route-9e73c1f718efb820.js +0 -1
  941. package/app/.next/static/chunks/app/api/shutdown/route-9e73c1f718efb820.js +0 -1
  942. package/app/.next/static/chunks/app/api/tags/route-9e73c1f718efb820.js +0 -1
  943. package/app/.next/static/chunks/app/api/translator/console-logs/route-9e73c1f718efb820.js +0 -1
  944. package/app/.next/static/chunks/app/api/translator/console-logs/stream/route-9e73c1f718efb820.js +0 -1
  945. package/app/.next/static/chunks/app/api/translator/load/route-9e73c1f718efb820.js +0 -1
  946. package/app/.next/static/chunks/app/api/translator/save/route-9e73c1f718efb820.js +0 -1
  947. package/app/.next/static/chunks/app/api/translator/send/route-9e73c1f718efb820.js +0 -1
  948. package/app/.next/static/chunks/app/api/translator/translate/route-9e73c1f718efb820.js +0 -1
  949. package/app/.next/static/chunks/app/api/tunnel/disable/route-9e73c1f718efb820.js +0 -1
  950. package/app/.next/static/chunks/app/api/tunnel/enable/route-9e73c1f718efb820.js +0 -1
  951. package/app/.next/static/chunks/app/api/tunnel/status/route-9e73c1f718efb820.js +0 -1
  952. package/app/.next/static/chunks/app/api/tunnel/tailscale-check/route-9e73c1f718efb820.js +0 -1
  953. package/app/.next/static/chunks/app/api/tunnel/tailscale-disable/route-9e73c1f718efb820.js +0 -1
  954. package/app/.next/static/chunks/app/api/tunnel/tailscale-enable/route-9e73c1f718efb820.js +0 -1
  955. package/app/.next/static/chunks/app/api/tunnel/tailscale-install/route-9e73c1f718efb820.js +0 -1
  956. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-9e73c1f718efb820.js +0 -1
  957. package/app/.next/static/chunks/app/api/usage/chart/route-9e73c1f718efb820.js +0 -1
  958. package/app/.next/static/chunks/app/api/usage/history/route-9e73c1f718efb820.js +0 -1
  959. package/app/.next/static/chunks/app/api/usage/logs/route-9e73c1f718efb820.js +0 -1
  960. package/app/.next/static/chunks/app/api/usage/providers/route-9e73c1f718efb820.js +0 -1
  961. package/app/.next/static/chunks/app/api/usage/report/route-9e73c1f718efb820.js +0 -1
  962. package/app/.next/static/chunks/app/api/usage/request-details/route-9e73c1f718efb820.js +0 -1
  963. package/app/.next/static/chunks/app/api/usage/request-logs/route-9e73c1f718efb820.js +0 -1
  964. package/app/.next/static/chunks/app/api/usage/stats/route-9e73c1f718efb820.js +0 -1
  965. package/app/.next/static/chunks/app/api/usage/stream/route-9e73c1f718efb820.js +0 -1
  966. package/app/.next/static/chunks/app/api/v1/api/chat/route-9e73c1f718efb820.js +0 -1
  967. package/app/.next/static/chunks/app/api/v1/audio/speech/route-9e73c1f718efb820.js +0 -1
  968. package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-9e73c1f718efb820.js +0 -1
  969. package/app/.next/static/chunks/app/api/v1/audio/voices/route-9e73c1f718efb820.js +0 -1
  970. package/app/.next/static/chunks/app/api/v1/chat/completions/route-9e73c1f718efb820.js +0 -1
  971. package/app/.next/static/chunks/app/api/v1/embeddings/route-9e73c1f718efb820.js +0 -1
  972. package/app/.next/static/chunks/app/api/v1/images/generations/route-9e73c1f718efb820.js +0 -1
  973. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-9e73c1f718efb820.js +0 -1
  974. package/app/.next/static/chunks/app/api/v1/messages/route-9e73c1f718efb820.js +0 -1
  975. package/app/.next/static/chunks/app/api/v1/models/[kind]/route-9e73c1f718efb820.js +0 -1
  976. package/app/.next/static/chunks/app/api/v1/models/info/route-9e73c1f718efb820.js +0 -1
  977. package/app/.next/static/chunks/app/api/v1/models/route-9e73c1f718efb820.js +0 -1
  978. package/app/.next/static/chunks/app/api/v1/responses/compact/route-9e73c1f718efb820.js +0 -1
  979. package/app/.next/static/chunks/app/api/v1/responses/route-9e73c1f718efb820.js +0 -1
  980. package/app/.next/static/chunks/app/api/v1/route-9e73c1f718efb820.js +0 -1
  981. package/app/.next/static/chunks/app/api/v1/search/route-9e73c1f718efb820.js +0 -1
  982. package/app/.next/static/chunks/app/api/v1/web/fetch/route-9e73c1f718efb820.js +0 -1
  983. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-9e73c1f718efb820.js +0 -1
  984. package/app/.next/static/chunks/app/api/v1beta/models/route-9e73c1f718efb820.js +0 -1
  985. package/app/.next/static/chunks/app/api/version/route-9e73c1f718efb820.js +0 -1
  986. package/app/.next/static/chunks/app/api/version/shutdown/route-9e73c1f718efb820.js +0 -1
  987. package/app/.next/static/chunks/app/api/version/update/route-9e73c1f718efb820.js +0 -1
  988. package/app/.next/static/chunks/app/layout-35b23f7e08fe3978.js +0 -1
  989. package/app/.next/static/chunks/app/manifest.webmanifest/route-9e73c1f718efb820.js +0 -1
  990. package/app/.next/static/chunks/app/page-9e73c1f718efb820.js +0 -1
  991. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-9e73c1f718efb820.js +0 -1
  992. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-9e73c1f718efb820.js +0 -1
  993. package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-9e73c1f718efb820.js +0 -1
  994. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-9e73c1f718efb820.js +0 -1
  995. package/app/.next/static/css/0f03023a765dc337.css +0 -1
  996. package/app/.next/static/css/958bcd529c8d4b7c.css +0 -1
  997. package/app/.next/static/media/19cfc7226ec3afaa-s.woff2 +0 -0
  998. package/app/.next/static/media/21350d82a1f187e9-s.woff2 +0 -0
  999. package/app/.next/static/media/8e9860b6e62d6359-s.woff2 +0 -0
  1000. package/app/.next/static/media/ba9851c3c22cd980-s.woff2 +0 -0
  1001. package/app/.next/static/media/c5fe6dc8356a8c31-s.woff2 +0 -0
  1002. package/app/.next/static/media/df0a9ae256c0569c-s.woff2 +0 -0
  1003. package/app/.next/static/media/e4af272ccee01ff0-s.p.woff2 +0 -0
  1004. package/app/.next/static/p_zZZ7bGM2zUCztNMVhuB/_buildManifest.js +0 -1
  1005. /package/app/.next/static/{p_zZZ7bGM2zUCztNMVhuB → zOWV4f8WCIf4AVjdpAv5I}/_ssgManifest.js +0 -0
@@ -22,20 +22,20 @@ const CLI_TOKEN_SALT = "9r-cli-auth";
22
22
  const TOKEN_EXPIRY_BUFFER_MS = 5 * 60 * 1000; // refresh 5min before expiry
23
23
  const ROUTER_PORT = process.env.PORT || 20128;
24
24
  const DEFAULT_COOLDOWN_MS = 2 * 60 * 1000;
25
- const DEFAULT_AUTH_COOLDOWN_MS = 10 * 60 * 1000;
25
+ const DEFAULT_AUTH_COOLDOWN_MS = 2 * 60 * 1000;
26
26
  const DEFAULT_STRIKE_THRESHOLD = 3; // consecutive 429s before hard cooldown
27
27
  const CAPACITY_EXHAUSTED_COOLDOWN_MS = 60 * 1000;
28
28
  const SONNET_46_MODEL_KEY = "claude-sonnet-4-6";
29
29
  const REFRESH_RESPONSE_BODY_LIMIT = 500;
30
30
  // Must match DEFAULT_AG_503_RETRY_COUNT in open-sse/config/runtimeConfig.js
31
- const DEFAULT_503_RETRY_COUNT = 3; // default 503 retries per account before switching
31
+ const DEFAULT_503_RETRY_COUNT = 3; // default 503 retries per account before switching
32
32
 
33
33
  // ── In-memory state ──────────────────────────────────────────
34
- const cooldownMap = {}; // { [connectionId]: expiresTimestamp } quota/general cooldown
35
- const authCooldownMap = {}; // { [connectionId]: expiresTimestamp } invalid_token/auth cooldown
36
- const modelCooldownMap = {}; // { [connectionId]: { [model]: expiresTimestamp } }
37
- const strikeMap = {}; // { [connectionId]: consecutiveHitCount }
38
- const modelStrikeMap = {}; // { [connectionId]: { [model]: consecutiveHitCount } }
34
+ const cooldownMap = {}; // { [connectionId]: expiresTimestamp } quota/general cooldown
35
+ const authCooldownMap = {}; // { [connectionId]: expiresTimestamp } invalid_token/auth cooldown
36
+ const modelCooldownMap = {}; // { [connectionId]: { [model]: expiresTimestamp } }
37
+ const strikeMap = {}; // { [connectionId]: consecutiveHitCount }
38
+ const modelStrikeMap = {}; // { [connectionId]: { [model]: consecutiveHitCount } }
39
39
  const refreshRequestMap = new Map(); // { [connectionId:mode]: Promise<refreshResult> }
40
40
  let cachedRawMachineId = null;
41
41
  let cachedCliSecret = null;
@@ -50,7 +50,9 @@ function getStrikeThreshold() {
50
50
  if (!fs.existsSync(DB_FILE)) return DEFAULT_STRIKE_THRESHOLD;
51
51
  const db = JSON.parse(fs.readFileSync(DB_FILE, "utf-8"));
52
52
  return db.settings?.cooldownStrikeThreshold || DEFAULT_STRIKE_THRESHOLD;
53
- } catch { return DEFAULT_STRIKE_THRESHOLD; }
53
+ } catch {
54
+ return DEFAULT_STRIKE_THRESHOLD;
55
+ }
54
56
  }
55
57
 
56
58
  /**
@@ -67,11 +69,15 @@ function recordStrike(connId, durationMs) {
67
69
  const ms = durationMs || DEFAULT_COOLDOWN_MS;
68
70
  cooldownMap[connId] = Date.now() + ms;
69
71
  delete strikeMap[connId];
70
- log(`⏸ [token-pool] cooldown: ${connId.slice(0, 8)}… for ${Math.ceil(ms / 60000)}m (after ${count} strikes)`);
72
+ log(
73
+ `⏸ [token-pool] cooldown: ${connId.slice(0, 8)}… for ${Math.ceil(ms / 60000)}m (after ${count} strikes)`,
74
+ );
71
75
  return true;
72
76
  }
73
77
 
74
- log(`⚡ [token-pool] strike ${count}/${threshold}: ${connId.slice(0, 8)}… (not locked yet)`);
78
+ log(
79
+ `⚡ [token-pool] strike ${count}/${threshold}: ${connId.slice(0, 8)}… (not locked yet)`,
80
+ );
75
81
  return false;
76
82
  }
77
83
 
@@ -83,13 +89,17 @@ function setCooldown(connId, durationMs) {
83
89
  const ms = durationMs || DEFAULT_COOLDOWN_MS;
84
90
  cooldownMap[connId] = Date.now() + ms;
85
91
  delete strikeMap[connId];
86
- log(`⏸ [token-pool] cooldown: ${connId.slice(0, 8)}… for ${Math.ceil(ms / 60000)}m`);
92
+ log(
93
+ `⏸ [token-pool] cooldown: ${connId.slice(0, 8)}… for ${Math.ceil(ms / 60000)}m`,
94
+ );
87
95
  }
88
96
 
89
97
  function setAuthCooldown(connId, durationMs) {
90
98
  const ms = durationMs || DEFAULT_AUTH_COOLDOWN_MS;
91
99
  authCooldownMap[connId] = Date.now() + ms;
92
- log(`🔒 [token-pool] auth-cooldown: ${connId.slice(0, 8)}… for ${Math.ceil(ms / 60000)}m`);
100
+ log(
101
+ `🔒 [token-pool] auth-cooldown: ${connId.slice(0, 8)}… for ${Math.ceil(ms / 60000)}m`,
102
+ );
93
103
  }
94
104
 
95
105
  function getMapExpiry(map, connId) {
@@ -135,11 +145,15 @@ function recordModelStrike(connId, model, durationMs) {
135
145
  if (!modelCooldownMap[connId]) modelCooldownMap[connId] = {};
136
146
  modelCooldownMap[connId][key] = Date.now() + ms;
137
147
  delete modelStrikeMap[connId][key];
138
- log(`⏸ [token-pool] model-cooldown: ${connId.slice(0, 8)}… model="${key}" for ${Math.ceil(ms / 60000)}m (after ${count} strikes)`);
148
+ log(
149
+ `⏸ [token-pool] model-cooldown: ${connId.slice(0, 8)}… model="${key}" for ${Math.ceil(ms / 60000)}m (after ${count} strikes)`,
150
+ );
139
151
  return true;
140
152
  }
141
153
 
142
- log(`⚡ [token-pool] model-strike ${count}/${threshold}: ${connId.slice(0, 8)}… model="${key}" (not locked yet)`);
154
+ log(
155
+ `⚡ [token-pool] model-strike ${count}/${threshold}: ${connId.slice(0, 8)}… model="${key}" (not locked yet)`,
156
+ );
143
157
  return false;
144
158
  }
145
159
 
@@ -154,7 +168,9 @@ function setModelCooldown(connId, model, durationMs) {
154
168
  if (!modelCooldownMap[connId]) modelCooldownMap[connId] = {};
155
169
  modelCooldownMap[connId][key] = Date.now() + ms;
156
170
  if (modelStrikeMap[connId]?.[key]) delete modelStrikeMap[connId][key];
157
- log(`⏸ [token-pool] model-cooldown: ${connId.slice(0, 8)}… model="${key}" for ${Math.ceil(ms / 60000)}m`);
171
+ log(
172
+ `⏸ [token-pool] model-cooldown: ${connId.slice(0, 8)}… model="${key}" for ${Math.ceil(ms / 60000)}m`,
173
+ );
158
174
  }
159
175
 
160
176
  function isModelExhausted(connId, model) {
@@ -178,7 +194,9 @@ function isStoredModelQuotaExhausted(connection, model) {
178
194
  const modelStatus = status[model];
179
195
  if (!modelStatus || typeof modelStatus !== "object") return false;
180
196
 
181
- return modelStatus.exhausted === true || modelStatus.remainingPercentage === 0;
197
+ return (
198
+ modelStatus.exhausted === true || modelStatus.remainingPercentage === 0
199
+ );
182
200
  }
183
201
 
184
202
  function isAntigravitySonnetZeroAutoDisableEnabled(db) {
@@ -190,7 +208,9 @@ function autoDisableAccountIfSonnetQuotaZero(connection, failure = {}) {
190
208
 
191
209
  try {
192
210
  const now = new Date().toISOString();
193
- const statusLabel = failure.statusCode ? `status ${failure.statusCode}` : "request failure";
211
+ const statusLabel = failure.statusCode
212
+ ? `status ${failure.statusCode}`
213
+ : "request failure";
194
214
  const disabled = updateConnectionInDb(connection.id, (conn, db) => {
195
215
  if (!isAntigravitySonnetZeroAutoDisableEnabled(db)) return false;
196
216
  if (conn.isActive === false) return false;
@@ -205,7 +225,10 @@ function autoDisableAccountIfSonnetQuotaZero(connection, failure = {}) {
205
225
  });
206
226
  });
207
227
 
208
- if (disabled) log(`⏸ [token-pool] auto-disabled: ${connection.id.slice(0, 8)}… Claude Sonnet 4.6 quota is 0%`);
228
+ if (disabled)
229
+ log(
230
+ `⏸ [token-pool] auto-disabled: ${connection.id.slice(0, 8)}… Claude Sonnet 4.6 quota is 0%`,
231
+ );
209
232
  return disabled;
210
233
  } catch (e) {
211
234
  log(`⚠️ [token-pool] auto-disable check failed: ${e.message}`);
@@ -220,7 +243,9 @@ function getTokenSwapStrategy() {
220
243
  if (!fs.existsSync(DB_FILE)) return "round-robin";
221
244
  const db = JSON.parse(fs.readFileSync(DB_FILE, "utf-8"));
222
245
  return db.settings?.tokenSwapStrategy || "round-robin";
223
- } catch { return "round-robin"; }
246
+ } catch {
247
+ return "round-robin";
248
+ }
224
249
  }
225
250
 
226
251
  // ── Quota cooldown parser ────────────────────────────────────
@@ -233,9 +258,9 @@ function parseQuotaCooldown(errorBody) {
233
258
  const msg = json?.error?.message || json?.message || "";
234
259
  const reason = String(
235
260
  json?.error?.details?.[0]?.reason ||
236
- json?.error?.reason ||
237
- json?.reason ||
238
- ""
261
+ json?.error?.reason ||
262
+ json?.reason ||
263
+ "",
239
264
  ).toUpperCase();
240
265
  const match = msg.match(/reset after (\d+h)?(\d+m)?(\d+s)?/i);
241
266
  if (match) {
@@ -248,12 +273,18 @@ function parseQuotaCooldown(errorBody) {
248
273
 
249
274
  if (
250
275
  reason === "MODEL_CAPACITY_EXHAUSTED" ||
251
- /no capacity available for model|model capacity exhausted|capacity exhausted/i.test(msg)
276
+ /no capacity available for model|model capacity exhausted|capacity exhausted/i.test(
277
+ msg,
278
+ )
252
279
  ) {
253
280
  return CAPACITY_EXHAUSTED_COOLDOWN_MS;
254
281
  }
255
282
  } catch {
256
- if (/no capacity available for model|model capacity exhausted|capacity exhausted/i.test(raw)) {
283
+ if (
284
+ /no capacity available for model|model capacity exhausted|capacity exhausted/i.test(
285
+ raw,
286
+ )
287
+ ) {
257
288
  return CAPACITY_EXHAUSTED_COOLDOWN_MS;
258
289
  }
259
290
  }
@@ -282,7 +313,9 @@ function getAntigravity503RetryCount(connectionOverride) {
282
313
  if (!fs.existsSync(DB_FILE)) return DEFAULT_503_RETRY_COUNT;
283
314
  const db = JSON.parse(fs.readFileSync(DB_FILE, "utf-8"));
284
315
  return db.settings?.antigravity503RetryCount ?? DEFAULT_503_RETRY_COUNT;
285
- } catch { return DEFAULT_503_RETRY_COUNT; }
316
+ } catch {
317
+ return DEFAULT_503_RETRY_COUNT;
318
+ }
286
319
  }
287
320
 
288
321
  // ── Read connections from db.json (sync) ─────────────────────
@@ -295,16 +328,23 @@ function getActiveConnections(provider) {
295
328
  const now = Date.now();
296
329
 
297
330
  return connections
298
- .filter(c =>
299
- c.provider === provider &&
300
- c.isActive !== false &&
301
- c.accessToken &&
302
- !isInCooldown(c.id) &&
303
- // Skip expired tokens that have no refresh token
304
- !(c.expiresAt && new Date(c.expiresAt).getTime() < now && !c.refreshToken)
331
+ .filter(
332
+ (c) =>
333
+ c.provider === provider &&
334
+ c.isActive !== false &&
335
+ c.accessToken &&
336
+ !isInCooldown(c.id) &&
337
+ // Skip expired tokens that have no refresh token
338
+ !(
339
+ c.expiresAt &&
340
+ new Date(c.expiresAt).getTime() < now &&
341
+ !c.refreshToken
342
+ ),
305
343
  )
306
344
  .sort((a, b) => (a.priority || 999) - (b.priority || 999));
307
- } catch { return []; }
345
+ } catch {
346
+ return [];
347
+ }
308
348
  }
309
349
 
310
350
  function getTokenSwapAvailabilitySummary(provider, model) {
@@ -315,12 +355,14 @@ function getTokenSwapAvailabilitySummary(provider, model) {
315
355
  eligible: 0,
316
356
  skipped: 0,
317
357
  reasons: {},
318
- summaryText: "0/0 account(s) eligible"
358
+ summaryText: "0/0 account(s) eligible",
319
359
  };
320
360
  }
321
361
 
322
362
  const db = JSON.parse(fs.readFileSync(DB_FILE, "utf-8"));
323
- const connections = (db.providerConnections || []).filter(c => c.provider === provider);
363
+ const connections = (db.providerConnections || []).filter(
364
+ (c) => c.provider === provider,
365
+ );
324
366
  const now = Date.now();
325
367
  const strategy = getTokenSwapStrategy();
326
368
  const reasons = {
@@ -343,7 +385,11 @@ function getTokenSwapAvailabilitySummary(provider, model) {
343
385
  reasons.noToken += 1;
344
386
  continue;
345
387
  }
346
- if (connection.expiresAt && new Date(connection.expiresAt).getTime() < now && !connection.refreshToken) {
388
+ if (
389
+ connection.expiresAt &&
390
+ new Date(connection.expiresAt).getTime() < now &&
391
+ !connection.refreshToken
392
+ ) {
347
393
  reasons.expiredNoRefresh += 1;
348
394
  continue;
349
395
  }
@@ -363,7 +409,11 @@ function getTokenSwapAvailabilitySummary(provider, model) {
363
409
  continue;
364
410
  }
365
411
 
366
- if (strategy === "sticky" && model && isModelExhausted(connection.id, model)) {
412
+ if (
413
+ strategy === "sticky" &&
414
+ model &&
415
+ isModelExhausted(connection.id, model)
416
+ ) {
367
417
  reasons.modelCooldown += 1;
368
418
  continue;
369
419
  }
@@ -373,25 +423,36 @@ function getTokenSwapAvailabilitySummary(provider, model) {
373
423
 
374
424
  const skipped = connections.length - eligible;
375
425
  const reasonParts = [];
376
- if (reasons.quotaCooldown) reasonParts.push(`${reasons.quotaCooldown} quota cooldown`);
377
- if (reasons.authCooldown) reasonParts.push(`${reasons.authCooldown} auth cooldown`);
378
- if (reasons.modelCooldown) reasonParts.push(`${reasons.modelCooldown} model cooldown`);
426
+ if (reasons.quotaCooldown)
427
+ reasonParts.push(`${reasons.quotaCooldown} quota cooldown`);
428
+ if (reasons.authCooldown)
429
+ reasonParts.push(`${reasons.authCooldown} auth cooldown`);
430
+ if (reasons.modelCooldown)
431
+ reasonParts.push(`${reasons.modelCooldown} model cooldown`);
379
432
  if (reasons.inactive) reasonParts.push(`${reasons.inactive} inactive`);
380
433
  if (reasons.noToken) reasonParts.push(`${reasons.noToken} missing token`);
381
- if (reasons.expiredNoRefresh) reasonParts.push(`${reasons.expiredNoRefresh} expired-no-refresh`);
434
+ if (reasons.expiredNoRefresh)
435
+ reasonParts.push(`${reasons.expiredNoRefresh} expired-no-refresh`);
382
436
 
383
- const summaryText = skipped > 0
384
- ? `${eligible}/${connections.length} account(s) eligible, skipped ${skipped} (${reasonParts.join(", ")})`
385
- : `${eligible}/${connections.length} account(s) eligible`;
437
+ const summaryText =
438
+ skipped > 0
439
+ ? `${eligible}/${connections.length} account(s) eligible, skipped ${skipped} (${reasonParts.join(", ")})`
440
+ : `${eligible}/${connections.length} account(s) eligible`;
386
441
 
387
- return { total: connections.length, eligible, skipped, reasons, summaryText };
442
+ return {
443
+ total: connections.length,
444
+ eligible,
445
+ skipped,
446
+ reasons,
447
+ summaryText,
448
+ };
388
449
  } catch {
389
450
  return {
390
451
  total: 0,
391
452
  eligible: 0,
392
453
  skipped: 0,
393
454
  reasons: {},
394
- summaryText: "0/0 account(s) eligible"
455
+ summaryText: "0/0 account(s) eligible",
395
456
  };
396
457
  }
397
458
  }
@@ -401,7 +462,7 @@ function getConnectionById(connId) {
401
462
  if (!fs.existsSync(DB_FILE)) return null;
402
463
  const db = JSON.parse(fs.readFileSync(DB_FILE, "utf-8"));
403
464
  const connections = db.providerConnections || [];
404
- return connections.find(c => c.id === connId) || null;
465
+ return connections.find((c) => c.id === connId) || null;
405
466
  } catch {
406
467
  return null;
407
468
  }
@@ -447,7 +508,9 @@ function isTokenSwapEnabled() {
447
508
  if (!fs.existsSync(DB_FILE)) return false;
448
509
  const db = JSON.parse(fs.readFileSync(DB_FILE, "utf-8"));
449
510
  return !!db.settings?.tokenSwapEnabled;
450
- } catch { return false; }
511
+ } catch {
512
+ return false;
513
+ }
451
514
  }
452
515
 
453
516
  function getNextConnection(provider) {
@@ -457,12 +520,18 @@ function getNextConnection(provider) {
457
520
  const selected = connections[0];
458
521
  const strategy = getTokenSwapStrategy();
459
522
  if (connections.length === 1) {
460
- log(`🎯 [token-pool] selected: "${getConnectionLabel(selected)}" (only account)`);
523
+ log(
524
+ `🎯 [token-pool] selected: "${getConnectionLabel(selected)}" (only account)`,
525
+ );
461
526
  return selected;
462
527
  }
463
528
 
464
- const lastUsedTag = selected.lastUsedAt ? ` lastUsed=${selected.lastUsedAt}` : " lastUsed=never";
465
- log(`🎯 [token-pool] ${strategy}[next/${connections.length}]: "${getConnectionLabel(selected)}"${lastUsedTag}`);
529
+ const lastUsedTag = selected.lastUsedAt
530
+ ? ` lastUsed=${selected.lastUsedAt}`
531
+ : " lastUsed=never";
532
+ log(
533
+ `🎯 [token-pool] ${strategy}[next/${connections.length}]: "${getConnectionLabel(selected)}"${lastUsedTag}`,
534
+ );
466
535
  return selected;
467
536
  }
468
537
 
@@ -472,7 +541,7 @@ function getAllActiveConnections(provider, model) {
472
541
 
473
542
  const strategy = getTokenSwapStrategy();
474
543
  const hardAvailable = model
475
- ? connections.filter(c => !isStoredModelQuotaExhausted(c, model))
544
+ ? connections.filter((c) => !isStoredModelQuotaExhausted(c, model))
476
545
  : connections;
477
546
 
478
547
  if (model && hardAvailable.length === 0) {
@@ -483,7 +552,7 @@ function getAllActiveConnections(provider, model) {
483
552
  // Sticky strategy: filter out accounts exhausted for this specific model,
484
553
  // then sort most-recently-used first so the same account sticks across requests.
485
554
  const available = model
486
- ? hardAvailable.filter(c => !isModelExhausted(c.id, model))
555
+ ? hardAvailable.filter((c) => !isModelExhausted(c.id, model))
487
556
  : hardAvailable;
488
557
 
489
558
  // Runtime model cooldowns are temporary and may be false positives,
@@ -492,7 +561,8 @@ function getAllActiveConnections(provider, model) {
492
561
 
493
562
  // Most-recently-used first (sticky within session)
494
563
  return [...pool].sort((a, b) => {
495
- if (!a.lastUsedAt && !b.lastUsedAt) return (a.priority || 999) - (b.priority || 999);
564
+ if (!a.lastUsedAt && !b.lastUsedAt)
565
+ return (a.priority || 999) - (b.priority || 999);
496
566
  if (!a.lastUsedAt) return 1;
497
567
  if (!b.lastUsedAt) return -1;
498
568
  return new Date(b.lastUsedAt) - new Date(a.lastUsedAt);
@@ -503,7 +573,8 @@ function getAllActiveConnections(provider, model) {
503
573
  // update lastUsedAt, so the next selection naturally advances without
504
574
  // extra streak state or in-memory round-robin indexes.
505
575
  return [...hardAvailable].sort((a, b) => {
506
- if (!a.lastUsedAt && !b.lastUsedAt) return (a.priority || 999) - (b.priority || 999);
576
+ if (!a.lastUsedAt && !b.lastUsedAt)
577
+ return (a.priority || 999) - (b.priority || 999);
507
578
  if (!a.lastUsedAt) return -1;
508
579
  if (!b.lastUsedAt) return 1;
509
580
  return new Date(a.lastUsedAt) - new Date(b.lastUsedAt);
@@ -517,7 +588,7 @@ function getAllActiveConnections(provider, model) {
517
588
  function updateConnectionInDb(connId, patchFn) {
518
589
  const result = updateJsonFileSync(DB_FILE, (db) => {
519
590
  const connections = db.providerConnections || [];
520
- const index = connections.findIndex(c => c.id === connId);
591
+ const index = connections.findIndex((c) => c.id === connId);
521
592
  if (index === -1) return false;
522
593
  return patchFn(connections[index], db);
523
594
  });
@@ -549,7 +620,8 @@ function getRefreshPayloadError(payload) {
549
620
  if (!payload) return null;
550
621
  if (typeof payload.error === "string") return payload.error;
551
622
  if (payload.error?.message) return payload.error.message;
552
- if (typeof payload.error_description === "string") return payload.error_description;
623
+ if (typeof payload.error_description === "string")
624
+ return payload.error_description;
553
625
  if (typeof payload.message === "string") return payload.message;
554
626
  return null;
555
627
  }
@@ -595,7 +667,11 @@ function getInternalCliToken() {
595
667
  if (!cachedCliToken) {
596
668
  const raw = loadRawMachineId();
597
669
  const secret = loadCliSecret();
598
- cachedCliToken = crypto.createHash("sha256").update(raw + CLI_TOKEN_SALT + secret).digest("hex").substring(0, 16);
670
+ cachedCliToken = crypto
671
+ .createHash("sha256")
672
+ .update(raw + CLI_TOKEN_SALT + secret)
673
+ .digest("hex")
674
+ .substring(0, 16);
599
675
  }
600
676
  return cachedCliToken;
601
677
  }
@@ -617,17 +693,31 @@ function buildConnectionTestHeaders(payload) {
617
693
  async function runConnectionTestRequest(connection, options = {}) {
618
694
  return await new Promise((resolve) => {
619
695
  if (!connection?.id) {
620
- resolve({ connection, refreshed: false, valid: false, error: "Missing connection id", errorType: "missing_connection_id" });
696
+ resolve({
697
+ connection,
698
+ refreshed: false,
699
+ valid: false,
700
+ error: "Missing connection id",
701
+ errorType: "missing_connection_id",
702
+ });
621
703
  return;
622
704
  }
623
705
 
624
706
  let responseBody = "";
625
- const payload = options.forceRefresh ? JSON.stringify({ forceRefresh: true }) : "";
707
+ const payload = options.forceRefresh
708
+ ? JSON.stringify({ forceRefresh: true })
709
+ : "";
626
710
  const headers = buildConnectionTestHeaders(payload);
627
711
 
628
712
  try {
629
713
  const req = http.request(
630
- { hostname: "127.0.0.1", port: ROUTER_PORT, path: `/api/providers/${connection.id}/test`, method: "POST", headers },
714
+ {
715
+ hostname: "127.0.0.1",
716
+ port: ROUTER_PORT,
717
+ path: `/api/providers/${connection.id}/test`,
718
+ method: "POST",
719
+ headers,
720
+ },
631
721
  (res) => {
632
722
  res.on("data", (chunk) => {
633
723
  responseBody += chunk.toString();
@@ -643,27 +733,43 @@ async function runConnectionTestRequest(connection, options = {}) {
643
733
  }
644
734
 
645
735
  const refreshedConnection = getConnectionById(connection.id);
646
- const tokenChanged = !!(refreshedConnection?.accessToken && refreshedConnection.accessToken !== connection.accessToken);
736
+ const tokenChanged = !!(
737
+ refreshedConnection?.accessToken &&
738
+ refreshedConnection.accessToken !== connection.accessToken
739
+ );
647
740
  const payloadError = getRefreshPayloadError(payload);
648
741
  resolve({
649
742
  connection: refreshedConnection || connection,
650
743
  refreshed: !!payload.refreshed || tokenChanged,
651
744
  valid: !!payload.valid,
652
745
  statusCode: res.statusCode || 0,
653
- error: payloadError || (parseError ? `Invalid JSON response: ${parseError.message}` : null),
654
- errorType: payloadError ? "api_error" : (parseError ? "parse_error" : null),
655
- responseBody: payloadError || parseError ? truncateRefreshBody(responseBody) : undefined,
746
+ error:
747
+ payloadError ||
748
+ (parseError
749
+ ? `Invalid JSON response: ${parseError.message}`
750
+ : null),
751
+ errorType: payloadError
752
+ ? "api_error"
753
+ : parseError
754
+ ? "parse_error"
755
+ : null,
756
+ responseBody:
757
+ payloadError || parseError
758
+ ? truncateRefreshBody(responseBody)
759
+ : undefined,
656
760
  });
657
761
  });
658
- }
762
+ },
763
+ );
764
+ req.on("error", (e) =>
765
+ resolve({
766
+ connection,
767
+ refreshed: false,
768
+ valid: false,
769
+ error: e.message,
770
+ errorType: "request_error",
771
+ }),
659
772
  );
660
- req.on("error", (e) => resolve({
661
- connection,
662
- refreshed: false,
663
- valid: false,
664
- error: e.message,
665
- errorType: "request_error",
666
- }));
667
773
  if (payload) req.write(payload);
668
774
  req.end();
669
775
  } catch (e) {
@@ -687,7 +793,9 @@ async function runConnectionTest(connection, options = {}) {
687
793
  const key = `${connection.id}:${mode}`;
688
794
  const existing = refreshRequestMap.get(key);
689
795
  if (existing) {
690
- log(`⏳ [token-pool] waiting for in-flight ${mode} refresh → ${getConnectionLabel(connection).slice(0, 20)}`);
796
+ log(
797
+ `⏳ [token-pool] waiting for in-flight ${mode} refresh → ${getConnectionLabel(connection).slice(0, 20)}`,
798
+ );
691
799
  return await existing;
692
800
  }
693
801
 
@@ -703,32 +811,49 @@ async function triggerRefreshIfNeeded(connection) {
703
811
 
704
812
  const hasExpiry = !!connection?.expiresAt;
705
813
  const expiresAt = hasExpiry ? new Date(connection.expiresAt).getTime() : 0;
706
- const isExpired = !hasExpiry || (Date.now() + TOKEN_EXPIRY_BUFFER_MS >= expiresAt);
814
+ const isExpired =
815
+ !hasExpiry || Date.now() + TOKEN_EXPIRY_BUFFER_MS >= expiresAt;
707
816
 
708
817
  if (!isExpired) return connection;
709
818
 
710
- log(`🔄 [token-pool] ${!hasExpiry ? "missing-expiry" : "near-expiry"} refresh → ${getConnectionLabel(connection).slice(0, 20)}`);
819
+ log(
820
+ `🔄 [token-pool] ${!hasExpiry ? "missing-expiry" : "near-expiry"} refresh → ${getConnectionLabel(connection).slice(0, 20)}`,
821
+ );
711
822
  const result = await runConnectionTest(connection);
712
823
  if (result.refreshed) {
713
- log(`♻️ [token-pool] refreshed token applied → ${getConnectionLabel(connection).slice(0, 20)}`);
824
+ log(
825
+ `♻️ [token-pool] refreshed token applied → ${getConnectionLabel(connection).slice(0, 20)}`,
826
+ );
714
827
  }
715
828
  return result.connection || connection;
716
829
  }
717
830
 
718
831
  async function forceRefreshConnection(connection) {
719
832
  if (!connection?.refreshToken) {
720
- return { connection, refreshed: false, valid: false, error: "No refresh token", errorType: "missing_refresh_token" };
833
+ return {
834
+ connection,
835
+ refreshed: false,
836
+ valid: false,
837
+ error: "No refresh token",
838
+ errorType: "missing_refresh_token",
839
+ };
721
840
  }
722
841
 
723
- log(`🔄 [token-pool] auth refresh → ${getConnectionLabel(connection).slice(0, 20)}`);
842
+ log(
843
+ `🔄 [token-pool] auth refresh → ${getConnectionLabel(connection).slice(0, 20)}`,
844
+ );
724
845
  const result = await runConnectionTest(connection, { forceRefresh: true });
725
846
  if (result.refreshed) {
726
- log(`♻️ [token-pool] refreshed token applied → ${getConnectionLabel(connection).slice(0, 20)}`);
847
+ log(
848
+ `♻️ [token-pool] refreshed token applied → ${getConnectionLabel(connection).slice(0, 20)}`,
849
+ );
727
850
  } else {
728
851
  const statusTag = result.statusCode ? ` status=${result.statusCode}` : "";
729
852
  const errorTag = result.error ? ` error="${result.error}"` : "";
730
853
  const typeTag = result.errorType ? ` type=${result.errorType}` : "";
731
- log(`⚠️ [token-pool] auth refresh failed → ${getConnectionLabel(connection).slice(0, 20)}${statusTag}${typeTag}${errorTag}`);
854
+ log(
855
+ `⚠️ [token-pool] auth refresh failed → ${getConnectionLabel(connection).slice(0, 20)}${statusTag}${typeTag}${errorTag}`,
856
+ );
732
857
  }
733
858
  return result;
734
859
  }
@@ -10,9 +10,14 @@ export const MITM_TOOLS = {
10
10
  mitmDomain: "daily-cloudcode-pa.googleapis.com",
11
11
  supportsTokenSwap: true,
12
12
  tokenSwapProvider: "antigravity",
13
- modelAliases: ["gemini-3.5-flash-low", "gemini-3-flash-agent", "gemini-3.5-flash-extra-low", "gemini-3.1-pro-low", "gemini-pro-agent", "claude-sonnet-4-6", "claude-opus-4-6-thinking", "gpt-oss-120b-medium", "gemini-3-flash"],
13
+ modelAliases: ["gemini-3-flash-agent", "gemini-3.5-flash-low", "gemini-3.5-flash-extra-low", "gemini-3.1-pro-low", "gemini-pro-agent", "claude-sonnet-4-6", "claude-opus-4-6-thinking", "gpt-oss-120b-medium", "gemini-3-flash"],
14
14
  defaultModels: [
15
- { id: "gemini-3.5-flash-low", name: "Gemini 3.5 Flash (Medium) / Default", alias: "gemini-3.5-flash-low" },
15
+ // `mandatory: true` on the out-of-box agent/Default model verified via MITM dump capture:
16
+ // Antigravity's agent loop sends `gemini-3.5-flash-low` (requestType agent/checkpoint) by
17
+ // default. The other slots only appear when the user explicitly picks that model, so they
18
+ // stay optional. (Tab-autocomplete uses `tab_*` models that are never re-routed — see
19
+ // MODEL_NO_MAP in src/mitm/config.js.)
20
+ { id: "gemini-3.5-flash-low", name: "Gemini 3.5 Flash (Medium) / Default", alias: "gemini-3.5-flash-low", mandatory: true },
16
21
  { id: "gemini-3-flash-agent", name: "Gemini 3.5 Flash (High)", alias: "gemini-3-flash-agent" },
17
22
  { id: "gemini-3.5-flash-extra-low", name: "Gemini 3.5 Flash (Low)", alias: "gemini-3.5-flash-extra-low" },
18
23
  { id: "gemini-3.1-pro-low", name: "Gemini 3.1 Pro (Low)", alias: "gemini-3.1-pro-low" },
@@ -35,6 +40,7 @@ export const MITM_TOOLS = {
35
40
  defaultModels: [
36
41
  { id: "gpt-4o", name: "GPT-4o", alias: "gpt-4o" },
37
42
  { id: "gpt-4.1", name: "GPT-4.1", alias: "gpt-4.1" },
43
+ { id: "gpt-5-mini", name: "GPT-5 Mini", alias: "gpt-5-mini" },
38
44
  { id: "claude-haiku-4.5", name: "Claude Haiku 4.5", alias: "claude-haiku-4.5" },
39
45
  ],
40
46
  },
@@ -47,11 +53,18 @@ export const MITM_TOOLS = {
47
53
  configType: "mitm",
48
54
  mitmDomain: "q.us-east-1.amazonaws.com",
49
55
  defaultModels: [
56
+ // Kiro's agent/"vibe" mode sends modelId "auto" for the main turn and "simple-task"
57
+ // for background sub-tasks (verified via MITM request dump of generateAssistantResponse).
58
+ // Both need a mappable slot — otherwise getMappedModel returns null and the chat call
59
+ // is passed through to AWS instead of being routed to the chosen provider.
60
+ { id: "auto", name: "Auto (Kiro Agent)", alias: "auto" },
50
61
  { id: "claude-sonnet-4.5", name: "Claude Sonnet 4.5", alias: "claude-sonnet-4.5" },
51
62
  { id: "claude-sonnet-4", name: "Claude Sonnet 4", alias: "claude-sonnet-4" },
52
63
  { id: "claude-haiku-4.5", name: "Claude Haiku 4.5", alias: "claude-haiku-4.5" },
53
64
  { id: "deepseek-3.2", name: "DeepSeek 3.2", alias: "deepseek-3.2" },
65
+ { id: "minimax-m2.5", name: "MiniMax M2.5", alias: "minimax-m2.5" },
54
66
  { id: "minimax-m2.1", name: "MiniMax M2.1", alias: "minimax-m2.1" },
67
+ { id: "glm-5", name: "GLM 5", alias: "glm-5" },
55
68
  { id: "simple-task", name: "Qwen3 Coder Next", alias: "simple-task" },
56
69
  ],
57
70
  },
@@ -0,0 +1,36 @@
1
+ // Centralized locale display flags (shared across UI components)
2
+ export const LOCALE_FLAGS = {
3
+ "en": "🇺🇸",
4
+ "vi": "🇻🇳",
5
+ "zh-CN": "🇨🇳",
6
+ "zh-TW": "🇹🇼",
7
+ "ja": "🇯🇵",
8
+ "pt-BR": "🇧🇷",
9
+ "pt-PT": "🇵🇹",
10
+ "ko": "🇰🇷",
11
+ "es": "🇪🇸",
12
+ "de": "🇩🇪",
13
+ "fr": "🇫🇷",
14
+ "he": "🇮🇱",
15
+ "ar": "🇸🇦",
16
+ "ru": "🇷🇺",
17
+ "pl": "🇵🇱",
18
+ "cs": "🇨🇿",
19
+ "nl": "🇳🇱",
20
+ "tr": "🇹🇷",
21
+ "uk": "🇺🇦",
22
+ "tl": "🇵🇭",
23
+ "id": "🇮🇩",
24
+ "th": "🇹🇭",
25
+ "hi": "🇮🇳",
26
+ "bn": "🇧🇩",
27
+ "ur": "🇵🇰",
28
+ "ro": "🇷🇴",
29
+ "sv": "🇸🇪",
30
+ "it": "🇮🇹",
31
+ "el": "🇬🇷",
32
+ "hu": "🇭🇺",
33
+ "fi": "🇫🇮",
34
+ "da": "🇩🇰",
35
+ "no": "🇳🇴",
36
+ };