n9router 0.4.44 → 0.4.46

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 (1317) hide show
  1. package/app/.next/BUILD_ID +1 -1
  2. package/app/.next/app-path-routes-manifest.json +25 -16
  3. package/app/.next/build-manifest.json +2 -2
  4. package/app/.next/prerender-manifest.json +27 -3
  5. package/app/.next/required-server-files.json +12 -0
  6. package/app/.next/routes-manifest.json +71 -0
  7. package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  8. package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  9. package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  10. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +3 -3
  11. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  12. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  13. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  14. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  15. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  16. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  17. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  18. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  19. package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  20. package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  21. package/app/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  22. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  23. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  24. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  25. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +30 -30
  26. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  27. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  28. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  29. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  30. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  31. package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +3 -3
  32. package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  33. package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  34. package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  35. package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  36. package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  37. package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  38. package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  39. package/app/.next/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  40. package/app/.next/server/app/(dashboard)/dashboard/page.js +2 -2
  41. package/app/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  42. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  43. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  44. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  45. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  46. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +10 -6
  47. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  48. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  49. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  50. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  51. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  52. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  53. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  54. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  55. package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js +3 -3
  56. package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  57. package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  58. package/app/.next/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  59. package/app/.next/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  60. package/app/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  61. package/app/.next/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  62. package/app/.next/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  63. package/app/.next/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  64. package/app/.next/server/app/(dashboard)/dashboard/token-saver/page.js +2 -0
  65. package/app/.next/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -0
  66. package/app/.next/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -0
  67. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  68. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  69. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  70. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js +3 -3
  71. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  72. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  73. package/app/.next/server/app/_global-error/page.js +3 -3
  74. package/app/.next/server/app/_global-error/page.js.nft.json +1 -1
  75. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  76. package/app/.next/server/app/_global-error.html +1 -1
  77. package/app/.next/server/app/_global-error.rsc +1 -1
  78. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  79. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  80. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  81. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  82. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  83. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  84. package/app/.next/server/app/_not-found/page.js +2 -2
  85. package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
  86. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  87. package/app/.next/server/app/_not-found.html +1 -1
  88. package/app/.next/server/app/_not-found.rsc +4 -4
  89. package/app/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
  90. package/app/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  91. package/app/.next/server/app/_not-found.segments/_index.segment.rsc +4 -4
  92. package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  93. package/app/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  94. package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  95. package/app/.next/server/app/api/antigravity-app/route.js +1 -1
  96. package/app/.next/server/app/api/antigravity-app/route.js.nft.json +1 -1
  97. package/app/.next/server/app/api/antigravity-app-v2/route.js +1 -1
  98. package/app/.next/server/app/api/antigravity-app-v2/route.js.nft.json +1 -1
  99. package/app/.next/server/app/api/antigravity-ide/route.js +1 -1
  100. package/app/.next/server/app/api/antigravity-ide/route.js.nft.json +1 -1
  101. package/app/.next/server/app/api/antigravity-targets/route.js +1 -1
  102. package/app/.next/server/app/api/antigravity-targets/route.js.nft.json +1 -1
  103. package/app/.next/server/app/api/antigravity-tools/import/route.js +1 -1
  104. package/app/.next/server/app/api/antigravity-tools/import/route.js.nft.json +1 -1
  105. package/app/.next/server/app/api/antigravity-tools/import-refresh-tokens/route.js +1 -1
  106. package/app/.next/server/app/api/antigravity-tools/import-refresh-tokens/route.js.nft.json +1 -1
  107. package/app/.next/server/app/api/auth/login/route.js +1 -1
  108. package/app/.next/server/app/api/auth/login/route.js.nft.json +1 -1
  109. package/app/.next/server/app/api/auth/logout/route.js +1 -1
  110. package/app/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
  111. package/app/.next/server/app/api/auth/oidc/callback/route.js +1 -1
  112. package/app/.next/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  113. package/app/.next/server/app/api/auth/oidc/start/route.js +1 -1
  114. package/app/.next/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  115. package/app/.next/server/app/api/auth/oidc/test/route.js +1 -1
  116. package/app/.next/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  117. package/app/.next/server/app/api/auth/reset-password/route.js +1 -0
  118. package/app/.next/server/app/api/auth/reset-password/route.js.nft.json +1 -0
  119. package/app/.next/server/app/api/auth/reset-password/route_client-reference-manifest.js +1 -0
  120. package/app/.next/server/app/api/auth/status/route.js +1 -1
  121. package/app/.next/server/app/api/auth/status/route.js.nft.json +1 -1
  122. package/app/.next/server/app/api/cli-tools/all-statuses/route.js +4 -4
  123. package/app/.next/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  124. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  125. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  126. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  127. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  128. package/app/.next/server/app/api/cli-tools/claude-settings/route.js +2 -2
  129. package/app/.next/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  130. package/app/.next/server/app/api/cli-tools/cline-settings/route.js +1 -1
  131. package/app/.next/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  132. package/app/.next/server/app/api/cli-tools/codex-settings/route.js +1 -1
  133. package/app/.next/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  134. package/app/.next/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  135. package/app/.next/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  136. package/app/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  137. package/app/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  138. package/app/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  139. package/app/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  140. package/app/.next/server/app/api/cli-tools/cowork-settings/route.js +2 -2
  141. package/app/.next/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  142. package/app/.next/server/app/api/cli-tools/deepseek-tui-settings/route.js +3 -3
  143. package/app/.next/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  144. package/app/.next/server/app/api/cli-tools/droid-settings/route.js +1 -1
  145. package/app/.next/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  146. package/app/.next/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  147. package/app/.next/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  148. package/app/.next/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  149. package/app/.next/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  150. package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  151. package/app/.next/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  152. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  153. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  154. package/app/.next/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  155. package/app/.next/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  156. package/app/.next/server/app/api/combos/[id]/route.js +1 -1
  157. package/app/.next/server/app/api/combos/[id]/route.js.nft.json +1 -1
  158. package/app/.next/server/app/api/combos/route.js +1 -1
  159. package/app/.next/server/app/api/combos/route.js.nft.json +1 -1
  160. package/app/.next/server/app/api/donate/route.js +1 -1
  161. package/app/.next/server/app/api/donate/route.js.nft.json +1 -1
  162. package/app/.next/server/app/api/headroom/start/route.js +1 -0
  163. package/app/.next/server/app/api/headroom/start/route.js.nft.json +1 -0
  164. package/app/.next/server/app/api/headroom/start/route_client-reference-manifest.js +1 -0
  165. package/app/.next/server/app/api/headroom/status/route.js +1 -0
  166. package/app/.next/server/app/api/headroom/status/route.js.nft.json +1 -0
  167. package/app/.next/server/app/api/headroom/status/route_client-reference-manifest.js +1 -0
  168. package/app/.next/server/app/api/headroom/stop/route.js +1 -0
  169. package/app/.next/server/app/api/headroom/stop/route.js.nft.json +1 -0
  170. package/app/.next/server/app/api/headroom/stop/route_client-reference-manifest.js +1 -0
  171. package/app/.next/server/app/api/health/route.js +1 -1
  172. package/app/.next/server/app/api/health/route.js.nft.json +1 -1
  173. package/app/.next/server/app/api/init/route.js +1 -1
  174. package/app/.next/server/app/api/init/route.js.nft.json +1 -1
  175. package/app/.next/server/app/api/internal/account-health/route.js +1 -1
  176. package/app/.next/server/app/api/internal/account-health/route.js.nft.json +1 -1
  177. package/app/.next/server/app/api/internal/request-detail/route.js +1 -1
  178. package/app/.next/server/app/api/internal/request-detail/route.js.nft.json +1 -1
  179. package/app/.next/server/app/api/internal/usage/route.js +1 -1
  180. package/app/.next/server/app/api/internal/usage/route.js.nft.json +1 -1
  181. package/app/.next/server/app/api/keys/[id]/reset-usage/route.js +1 -1
  182. package/app/.next/server/app/api/keys/[id]/reset-usage/route.js.nft.json +1 -1
  183. package/app/.next/server/app/api/keys/[id]/route.js +1 -1
  184. package/app/.next/server/app/api/keys/[id]/route.js.nft.json +1 -1
  185. package/app/.next/server/app/api/keys/[id]/usage/route.js +1 -1
  186. package/app/.next/server/app/api/keys/[id]/usage/route.js.nft.json +1 -1
  187. package/app/.next/server/app/api/keys/route.js +1 -1
  188. package/app/.next/server/app/api/keys/route.js.nft.json +1 -1
  189. package/app/.next/server/app/api/locale/route.js +1 -1
  190. package/app/.next/server/app/api/locale/route.js.nft.json +1 -1
  191. package/app/.next/server/app/api/mcp/[plugin]/message/route.js +3 -3
  192. package/app/.next/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  193. package/app/.next/server/app/api/mcp/[plugin]/sse/route.js +6 -3
  194. package/app/.next/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  195. package/app/.next/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  196. package/app/.next/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  197. package/app/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  198. package/app/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  199. package/app/.next/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  200. package/app/.next/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  201. package/app/.next/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  202. package/app/.next/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  203. package/app/.next/server/app/api/media-providers/tts/voices/route.js +1 -1
  204. package/app/.next/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  205. package/app/.next/server/app/api/models/alias/route.js +1 -1
  206. package/app/.next/server/app/api/models/alias/route.js.nft.json +1 -1
  207. package/app/.next/server/app/api/models/availability/route.js +1 -1
  208. package/app/.next/server/app/api/models/availability/route.js.nft.json +1 -1
  209. package/app/.next/server/app/api/models/custom/route.js +1 -1
  210. package/app/.next/server/app/api/models/custom/route.js.nft.json +1 -1
  211. package/app/.next/server/app/api/models/disabled/route.js +1 -1
  212. package/app/.next/server/app/api/models/disabled/route.js.nft.json +1 -1
  213. package/app/.next/server/app/api/models/route.js +1 -1
  214. package/app/.next/server/app/api/models/route.js.nft.json +1 -1
  215. package/app/.next/server/app/api/models/test/route.js +1 -1
  216. package/app/.next/server/app/api/models/test/route.js.nft.json +1 -1
  217. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  218. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  219. package/app/.next/server/app/api/oauth/codex/bulk-import/route.js +1 -0
  220. package/app/.next/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -0
  221. package/app/.next/server/app/api/oauth/codex/bulk-import/route_client-reference-manifest.js +1 -0
  222. package/app/.next/server/app/api/oauth/codex/import-token/route.js +1 -1
  223. package/app/.next/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  224. package/app/.next/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  225. package/app/.next/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  226. package/app/.next/server/app/api/oauth/cursor/import/route.js +1 -1
  227. package/app/.next/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  228. package/app/.next/server/app/api/oauth/gitlab/pat/route.js +1 -1
  229. package/app/.next/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  230. package/app/.next/server/app/api/oauth/iflow/cookie/route.js +1 -1
  231. package/app/.next/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  232. package/app/.next/server/app/api/oauth/kiro/api-key/route.js +1 -0
  233. package/app/.next/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -0
  234. package/app/.next/server/app/api/oauth/kiro/api-key/route_client-reference-manifest.js +1 -0
  235. package/app/.next/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  236. package/app/.next/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  237. package/app/.next/server/app/api/oauth/kiro/import/route.js +1 -1
  238. package/app/.next/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  239. package/app/.next/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -0
  240. package/app/.next/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -0
  241. package/app/.next/server/app/api/oauth/kiro/import-cli-proxy/route_client-reference-manifest.js +1 -0
  242. package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  243. package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  244. package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  245. package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  246. package/app/.next/server/app/api/pricing/route.js +1 -1
  247. package/app/.next/server/app/api/pricing/route.js.nft.json +1 -1
  248. package/app/.next/server/app/api/provider-nodes/[id]/route.js +1 -1
  249. package/app/.next/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  250. package/app/.next/server/app/api/provider-nodes/route.js +1 -1
  251. package/app/.next/server/app/api/provider-nodes/route.js.nft.json +1 -1
  252. package/app/.next/server/app/api/provider-nodes/validate/route.js +1 -1
  253. package/app/.next/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  254. package/app/.next/server/app/api/providers/[id]/models/route.js +1 -1
  255. package/app/.next/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  256. package/app/.next/server/app/api/providers/[id]/route.js +1 -1
  257. package/app/.next/server/app/api/providers/[id]/route.js.nft.json +1 -1
  258. package/app/.next/server/app/api/providers/[id]/test/route.js +1 -1
  259. package/app/.next/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  260. package/app/.next/server/app/api/providers/[id]/test-models/route.js +1 -1
  261. package/app/.next/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  262. package/app/.next/server/app/api/providers/client/route.js +1 -1
  263. package/app/.next/server/app/api/providers/client/route.js.nft.json +1 -1
  264. package/app/.next/server/app/api/providers/kilo/free-models/route.js +1 -1
  265. package/app/.next/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  266. package/app/.next/server/app/api/providers/route.js +1 -1
  267. package/app/.next/server/app/api/providers/route.js.nft.json +1 -1
  268. package/app/.next/server/app/api/providers/suggested-models/route.js +1 -1
  269. package/app/.next/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  270. package/app/.next/server/app/api/providers/test-batch/route.js +1 -1
  271. package/app/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  272. package/app/.next/server/app/api/providers/validate/route.js +1 -1
  273. package/app/.next/server/app/api/providers/validate/route.js.nft.json +1 -1
  274. package/app/.next/server/app/api/proxy-pools/[id]/route.js +1 -1
  275. package/app/.next/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  276. package/app/.next/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  277. package/app/.next/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  278. package/app/.next/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  279. package/app/.next/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  280. package/app/.next/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  281. package/app/.next/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  282. package/app/.next/server/app/api/proxy-pools/route.js +1 -1
  283. package/app/.next/server/app/api/proxy-pools/route.js.nft.json +1 -1
  284. package/app/.next/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  285. package/app/.next/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  286. package/app/.next/server/app/api/settings/database/route.js +1 -1
  287. package/app/.next/server/app/api/settings/database/route.js.nft.json +1 -1
  288. package/app/.next/server/app/api/settings/database/selective/route.js +1 -1
  289. package/app/.next/server/app/api/settings/database/selective/route.js.nft.json +1 -1
  290. package/app/.next/server/app/api/settings/proxy-test/route.js +1 -1
  291. package/app/.next/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  292. package/app/.next/server/app/api/settings/require-login/route.js +1 -1
  293. package/app/.next/server/app/api/settings/require-login/route.js.nft.json +1 -1
  294. package/app/.next/server/app/api/settings/route.js +1 -1
  295. package/app/.next/server/app/api/settings/route.js.nft.json +1 -1
  296. package/app/.next/server/app/api/shutdown/route.js +1 -1
  297. package/app/.next/server/app/api/shutdown/route.js.nft.json +1 -1
  298. package/app/.next/server/app/api/tags/route.js +1 -1
  299. package/app/.next/server/app/api/tags/route.js.nft.json +1 -1
  300. package/app/.next/server/app/api/translator/console-logs/route.js +1 -1
  301. package/app/.next/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  302. package/app/.next/server/app/api/translator/console-logs/stream/route.js +4 -2
  303. package/app/.next/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  304. package/app/.next/server/app/api/translator/load/route.js +1 -1
  305. package/app/.next/server/app/api/translator/load/route.js.nft.json +1 -1
  306. package/app/.next/server/app/api/translator/save/route.js +1 -1
  307. package/app/.next/server/app/api/translator/save/route.js.nft.json +1 -1
  308. package/app/.next/server/app/api/translator/send/route.js +1 -1
  309. package/app/.next/server/app/api/translator/send/route.js.nft.json +1 -1
  310. package/app/.next/server/app/api/translator/translate/route.js +1 -1
  311. package/app/.next/server/app/api/translator/translate/route.js.nft.json +1 -1
  312. package/app/.next/server/app/api/tunnel/disable/route.js +1 -1
  313. package/app/.next/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  314. package/app/.next/server/app/api/tunnel/enable/route.js +1 -1
  315. package/app/.next/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  316. package/app/.next/server/app/api/tunnel/status/route.js +1 -1
  317. package/app/.next/server/app/api/tunnel/status/route.js.nft.json +1 -1
  318. package/app/.next/server/app/api/tunnel/tailscale-check/route.js +1 -1
  319. package/app/.next/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  320. package/app/.next/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  321. package/app/.next/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  322. package/app/.next/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  323. package/app/.next/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  324. package/app/.next/server/app/api/tunnel/tailscale-install/route.js +2 -2
  325. package/app/.next/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  326. package/app/.next/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -0
  327. package/app/.next/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -0
  328. package/app/.next/server/app/api/usage/[connectionId]/codex-reset-credits/route_client-reference-manifest.js +1 -0
  329. package/app/.next/server/app/api/usage/[connectionId]/route.js +1 -1
  330. package/app/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  331. package/app/.next/server/app/api/usage/chart/route.js +1 -1
  332. package/app/.next/server/app/api/usage/chart/route.js.nft.json +1 -1
  333. package/app/.next/server/app/api/usage/history/route.js +1 -1
  334. package/app/.next/server/app/api/usage/history/route.js.nft.json +1 -1
  335. package/app/.next/server/app/api/usage/logs/route.js +1 -1
  336. package/app/.next/server/app/api/usage/logs/route.js.nft.json +1 -1
  337. package/app/.next/server/app/api/usage/providers/route.js +1 -1
  338. package/app/.next/server/app/api/usage/providers/route.js.nft.json +1 -1
  339. package/app/.next/server/app/api/usage/report/route.js +1 -1
  340. package/app/.next/server/app/api/usage/report/route.js.nft.json +1 -1
  341. package/app/.next/server/app/api/usage/request-details/route.js +1 -1
  342. package/app/.next/server/app/api/usage/request-details/route.js.nft.json +1 -1
  343. package/app/.next/server/app/api/usage/request-logs/route.js +1 -1
  344. package/app/.next/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  345. package/app/.next/server/app/api/usage/stats/route.js +1 -1
  346. package/app/.next/server/app/api/usage/stats/route.js.nft.json +1 -1
  347. package/app/.next/server/app/api/usage/stream/route.js +2 -2
  348. package/app/.next/server/app/api/usage/stream/route.js.nft.json +1 -1
  349. package/app/.next/server/app/api/v1/api/chat/route.js +1 -1
  350. package/app/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  351. package/app/.next/server/app/api/v1/audio/speech/route.js +1 -1
  352. package/app/.next/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  353. package/app/.next/server/app/api/v1/audio/transcriptions/route.js +1 -1
  354. package/app/.next/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  355. package/app/.next/server/app/api/v1/audio/voices/route.js +1 -1
  356. package/app/.next/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  357. package/app/.next/server/app/api/v1/chat/completions/route.js +1 -1
  358. package/app/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  359. package/app/.next/server/app/api/v1/embeddings/route.js +1 -1
  360. package/app/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  361. package/app/.next/server/app/api/v1/images/generations/route.js +2 -2
  362. package/app/.next/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  363. package/app/.next/server/app/api/v1/messages/count_tokens/route.js +1 -1
  364. package/app/.next/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  365. package/app/.next/server/app/api/v1/messages/route.js +1 -1
  366. package/app/.next/server/app/api/v1/messages/route.js.nft.json +1 -1
  367. package/app/.next/server/app/api/v1/models/[kind]/route.js +1 -1
  368. package/app/.next/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  369. package/app/.next/server/app/api/v1/models/info/route.js +1 -1
  370. package/app/.next/server/app/api/v1/models/info/route.js.nft.json +1 -1
  371. package/app/.next/server/app/api/v1/models/route.js +1 -1
  372. package/app/.next/server/app/api/v1/models/route.js.nft.json +1 -1
  373. package/app/.next/server/app/api/v1/responses/compact/route.js +1 -1
  374. package/app/.next/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  375. package/app/.next/server/app/api/v1/responses/route.js +1 -1
  376. package/app/.next/server/app/api/v1/responses/route.js.nft.json +1 -1
  377. package/app/.next/server/app/api/v1/route.js +1 -1
  378. package/app/.next/server/app/api/v1/route.js.nft.json +1 -1
  379. package/app/.next/server/app/api/v1/search/route.js +1 -1
  380. package/app/.next/server/app/api/v1/search/route.js.nft.json +1 -1
  381. package/app/.next/server/app/api/v1/web/fetch/route.js +1 -1
  382. package/app/.next/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  383. package/app/.next/server/app/api/v1beta/models/[...path]/route.js +1 -1
  384. package/app/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  385. package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  386. package/app/.next/server/app/api/v1beta/models/route.js +1 -1
  387. package/app/.next/server/app/api/v1beta/models/route.js.nft.json +1 -1
  388. package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  389. package/app/.next/server/app/api/version/route.js +1 -1
  390. package/app/.next/server/app/api/version/route.js.nft.json +1 -1
  391. package/app/.next/server/app/api/version/shutdown/route.js +1 -1
  392. package/app/.next/server/app/api/version/shutdown/route.js.nft.json +1 -1
  393. package/app/.next/server/app/api/version/update/route.js +1 -1
  394. package/app/.next/server/app/api/version/update/route.js.nft.json +1 -1
  395. package/app/.next/server/app/callback/page.js +2 -2
  396. package/app/.next/server/app/callback/page.js.nft.json +1 -1
  397. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  398. package/app/.next/server/app/callback.html +1 -1
  399. package/app/.next/server/app/callback.rsc +5 -5
  400. package/app/.next/server/app/callback.segments/_full.segment.rsc +5 -5
  401. package/app/.next/server/app/callback.segments/_head.segment.rsc +1 -1
  402. package/app/.next/server/app/callback.segments/_index.segment.rsc +4 -4
  403. package/app/.next/server/app/callback.segments/_tree.segment.rsc +2 -2
  404. package/app/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +2 -2
  405. package/app/.next/server/app/callback.segments/callback.segment.rsc +1 -1
  406. package/app/.next/server/app/dashboard/basic-chat.html +1 -1
  407. package/app/.next/server/app/dashboard/basic-chat.rsc +6 -6
  408. package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  409. package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  410. package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  411. package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  412. package/app/.next/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
  413. package/app/.next/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  414. package/app/.next/server/app/dashboard/basic-chat.segments/_index.segment.rsc +4 -4
  415. package/app/.next/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  416. package/app/.next/server/app/dashboard/cli-tools.html +1 -1
  417. package/app/.next/server/app/dashboard/cli-tools.rsc +6 -6
  418. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  419. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  420. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  421. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  422. package/app/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +6 -6
  423. package/app/.next/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  424. package/app/.next/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
  425. package/app/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  426. package/app/.next/server/app/dashboard/combos.html +1 -1
  427. package/app/.next/server/app/dashboard/combos.rsc +6 -6
  428. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  429. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  430. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  431. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  432. package/app/.next/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
  433. package/app/.next/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  434. package/app/.next/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
  435. package/app/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  436. package/app/.next/server/app/dashboard/endpoint.html +1 -1
  437. package/app/.next/server/app/dashboard/endpoint.rsc +6 -6
  438. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  439. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  440. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  441. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  442. package/app/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +6 -6
  443. package/app/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  444. package/app/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
  445. package/app/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  446. package/app/.next/server/app/dashboard/media-providers/web.html +1 -1
  447. package/app/.next/server/app/dashboard/media-providers/web.rsc +6 -6
  448. package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  449. package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  450. package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  451. package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  452. package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  453. package/app/.next/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +6 -6
  454. package/app/.next/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  455. package/app/.next/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +4 -4
  456. package/app/.next/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  457. package/app/.next/server/app/dashboard/mitm.html +1 -1
  458. package/app/.next/server/app/dashboard/mitm.rsc +6 -6
  459. package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  460. package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  461. package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  462. package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  463. package/app/.next/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
  464. package/app/.next/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  465. package/app/.next/server/app/dashboard/mitm.segments/_index.segment.rsc +4 -4
  466. package/app/.next/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  467. package/app/.next/server/app/dashboard/profile.html +1 -1
  468. package/app/.next/server/app/dashboard/profile.rsc +6 -6
  469. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  470. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  471. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  472. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  473. package/app/.next/server/app/dashboard/profile.segments/_full.segment.rsc +6 -6
  474. package/app/.next/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  475. package/app/.next/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
  476. package/app/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  477. package/app/.next/server/app/dashboard/providers/new.html +1 -1
  478. package/app/.next/server/app/dashboard/providers/new.rsc +6 -6
  479. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  480. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  481. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  482. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  483. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  484. package/app/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +6 -6
  485. package/app/.next/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  486. package/app/.next/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
  487. package/app/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  488. package/app/.next/server/app/dashboard/providers.html +1 -1
  489. package/app/.next/server/app/dashboard/providers.rsc +6 -6
  490. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  491. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  492. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  493. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  494. package/app/.next/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
  495. package/app/.next/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  496. package/app/.next/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
  497. package/app/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  498. package/app/.next/server/app/dashboard/proxy-pools.html +1 -1
  499. package/app/.next/server/app/dashboard/proxy-pools.rsc +6 -6
  500. package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  501. package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  502. package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  503. package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  504. package/app/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
  505. package/app/.next/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  506. package/app/.next/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +4 -4
  507. package/app/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  508. package/app/.next/server/app/dashboard/quota.html +2 -2
  509. package/app/.next/server/app/dashboard/quota.rsc +7 -7
  510. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  511. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  512. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  513. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  514. package/app/.next/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
  515. package/app/.next/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  516. package/app/.next/server/app/dashboard/quota.segments/_index.segment.rsc +4 -4
  517. package/app/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  518. package/app/.next/server/app/dashboard/settings/pricing/page.js +2 -2
  519. package/app/.next/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  520. package/app/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  521. package/app/.next/server/app/dashboard/settings/pricing.html +1 -1
  522. package/app/.next/server/app/dashboard/settings/pricing.rsc +5 -5
  523. package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -5
  524. package/app/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  525. package/app/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
  526. package/app/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  527. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +2 -2
  528. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  529. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  530. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  531. package/app/.next/server/app/dashboard/skills.html +1 -1
  532. package/app/.next/server/app/dashboard/skills.rsc +6 -6
  533. package/app/.next/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  534. package/app/.next/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  535. package/app/.next/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  536. package/app/.next/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  537. package/app/.next/server/app/dashboard/skills.segments/_full.segment.rsc +6 -6
  538. package/app/.next/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  539. package/app/.next/server/app/dashboard/skills.segments/_index.segment.rsc +4 -4
  540. package/app/.next/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  541. package/app/.next/server/app/dashboard/token-saver.html +1 -0
  542. package/app/.next/server/app/dashboard/token-saver.meta +17 -0
  543. package/app/.next/server/app/dashboard/token-saver.rsc +23 -0
  544. package/app/.next/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +6 -0
  545. package/app/.next/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +5 -0
  546. package/app/.next/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  547. package/app/.next/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  548. package/app/.next/server/app/dashboard/token-saver.segments/_full.segment.rsc +23 -0
  549. package/app/.next/server/app/dashboard/token-saver.segments/_head.segment.rsc +6 -0
  550. package/app/.next/server/app/dashboard/token-saver.segments/_index.segment.rsc +8 -0
  551. package/app/.next/server/app/dashboard/token-saver.segments/_tree.segment.rsc +5 -0
  552. package/app/.next/server/app/dashboard/translator.html +1 -1
  553. package/app/.next/server/app/dashboard/translator.rsc +6 -6
  554. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  555. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  556. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  557. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  558. package/app/.next/server/app/dashboard/translator.segments/_full.segment.rsc +6 -6
  559. package/app/.next/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  560. package/app/.next/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
  561. package/app/.next/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  562. package/app/.next/server/app/dashboard/usage.html +1 -1
  563. package/app/.next/server/app/dashboard/usage.rsc +6 -6
  564. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  565. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  566. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  567. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  568. package/app/.next/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
  569. package/app/.next/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  570. package/app/.next/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
  571. package/app/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  572. package/app/.next/server/app/dashboard.html +1 -1
  573. package/app/.next/server/app/dashboard.rsc +6 -6
  574. package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  575. package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  576. package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  577. package/app/.next/server/app/dashboard.segments/_full.segment.rsc +6 -6
  578. package/app/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
  579. package/app/.next/server/app/dashboard.segments/_index.segment.rsc +4 -4
  580. package/app/.next/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  581. package/app/.next/server/app/favicon.ico/route.js +1 -1
  582. package/app/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  583. package/app/.next/server/app/index.html +1 -1
  584. package/app/.next/server/app/index.rsc +4 -4
  585. package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  586. package/app/.next/server/app/index.segments/_full.segment.rsc +4 -4
  587. package/app/.next/server/app/index.segments/_head.segment.rsc +1 -1
  588. package/app/.next/server/app/index.segments/_index.segment.rsc +4 -4
  589. package/app/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  590. package/app/.next/server/app/landing/page.js +2 -2
  591. package/app/.next/server/app/landing/page.js.nft.json +1 -1
  592. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  593. package/app/.next/server/app/landing.html +1 -1
  594. package/app/.next/server/app/landing.rsc +4 -4
  595. package/app/.next/server/app/landing.segments/_full.segment.rsc +4 -4
  596. package/app/.next/server/app/landing.segments/_head.segment.rsc +1 -1
  597. package/app/.next/server/app/landing.segments/_index.segment.rsc +4 -4
  598. package/app/.next/server/app/landing.segments/_tree.segment.rsc +2 -2
  599. package/app/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  600. package/app/.next/server/app/landing.segments/landing.segment.rsc +1 -1
  601. package/app/.next/server/app/login/page.js +2 -2
  602. package/app/.next/server/app/login/page.js.nft.json +1 -1
  603. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  604. package/app/.next/server/app/login.html +1 -1
  605. package/app/.next/server/app/login.rsc +5 -5
  606. package/app/.next/server/app/login.segments/_full.segment.rsc +5 -5
  607. package/app/.next/server/app/login.segments/_head.segment.rsc +1 -1
  608. package/app/.next/server/app/login.segments/_index.segment.rsc +4 -4
  609. package/app/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  610. package/app/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  611. package/app/.next/server/app/login.segments/login.segment.rsc +1 -1
  612. package/app/.next/server/app/manifest.webmanifest/route.js +2 -2
  613. package/app/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  614. package/app/.next/server/app/page.js +2 -2
  615. package/app/.next/server/app/page.js.nft.json +1 -1
  616. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  617. package/app/.next/server/app-paths-manifest.json +25 -16
  618. package/app/.next/server/chunks/1051.js +1 -1
  619. package/app/.next/server/chunks/1241.js +1 -0
  620. package/app/.next/server/chunks/1350.js +1 -0
  621. package/app/.next/server/chunks/1470.js +1 -0
  622. package/app/.next/server/chunks/1719.js +1 -0
  623. package/app/.next/server/chunks/2041.js +1 -0
  624. package/app/.next/server/chunks/220.js +1 -0
  625. package/app/.next/server/chunks/2701.js +10 -0
  626. package/app/.next/server/chunks/318.js +21 -44
  627. package/app/.next/server/chunks/3535.js +1 -0
  628. package/app/.next/server/chunks/{1531.js → 3546.js} +1 -1
  629. package/app/.next/server/chunks/3955.js +1 -0
  630. package/app/.next/server/chunks/412.js +5 -5
  631. package/app/.next/server/chunks/4250.js +2 -2
  632. package/app/.next/server/chunks/4306.js +1 -0
  633. package/app/.next/server/chunks/4334.js +1 -1
  634. package/app/.next/server/chunks/4632.js +1 -0
  635. package/app/.next/server/chunks/4989.js +2 -2
  636. package/app/.next/server/chunks/5612.js +1 -0
  637. package/app/.next/server/chunks/5615.js +43 -0
  638. package/app/.next/server/chunks/5699.js +1 -0
  639. package/app/.next/server/chunks/5961.js +1 -0
  640. package/app/.next/server/chunks/5995.js +3 -3
  641. package/app/.next/server/chunks/6070.js +1 -0
  642. package/app/.next/server/chunks/6114.js +1 -0
  643. package/app/.next/server/chunks/615.js +1 -0
  644. package/app/.next/server/chunks/6182.js +6 -6
  645. package/app/.next/server/chunks/6292.js +1 -0
  646. package/app/.next/server/chunks/63.js +3 -3
  647. package/app/.next/server/chunks/6306.js +1 -0
  648. package/app/.next/server/chunks/6328.js +1 -0
  649. package/app/.next/server/chunks/6457.js +4 -4
  650. package/app/.next/server/chunks/{5433.js → 6630.js} +1 -1
  651. package/app/.next/server/chunks/{6108.js → 6763.js} +1 -1
  652. package/app/.next/server/chunks/6777.js +1 -0
  653. package/app/.next/server/chunks/{7912.js → 7186.js} +1 -1
  654. package/app/.next/server/chunks/7774.js +2 -2
  655. package/app/.next/server/chunks/7886.js +1 -0
  656. package/app/.next/server/chunks/7994.js +1 -1
  657. package/app/.next/server/chunks/8056.js +1 -0
  658. package/app/.next/server/chunks/8238.js +1 -0
  659. package/app/.next/server/chunks/8271.js +1 -0
  660. package/app/.next/server/chunks/8833.js +75 -0
  661. package/app/.next/server/chunks/8895.js +52 -6
  662. package/app/.next/server/chunks/8910.js +2 -0
  663. package/app/.next/server/chunks/8920.js +1 -0
  664. package/app/.next/server/chunks/9718.js +1 -1
  665. package/app/.next/server/middleware-build-manifest.js +1 -1
  666. package/app/.next/server/middleware.js +4 -4
  667. package/app/.next/server/pages/404.html +1 -1
  668. package/app/.next/server/pages/500.html +1 -1
  669. package/app/.next/server/server-reference-manifest.js +1 -1
  670. package/app/.next/server/server-reference-manifest.json +1 -1
  671. package/app/.next/static/27Vk-YuF5IVK9FBSw9u-7/_buildManifest.js +1 -0
  672. package/app/.next/static/chunks/1321-04bdf1999f780065.js +1 -0
  673. package/app/.next/static/chunks/4406-7c91480ba4750afb.js +53 -0
  674. package/app/.next/static/chunks/5497-5cecb2d0cc54a0f8.js +7 -0
  675. package/app/.next/static/chunks/705-979ff3eb195b9023.js +1 -0
  676. package/app/.next/static/chunks/8198-78a2e809aa3deb41.js +1 -0
  677. package/app/.next/static/chunks/app/(dashboard)/dashboard/basic-chat/{page-068dda6eab2b9c36.js → page-32d43003bf779725.js} +1 -1
  678. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/{page-67d36bbaeb6af871.js → page-15778114f19494f8.js} +1 -1
  679. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-51957200aaa0e0f7.js → page-925d6a9314cf0c45.js} +1 -1
  680. package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/page-4bb3df15dc91fcb2.js +1 -0
  681. package/app/.next/static/chunks/app/(dashboard)/dashboard/console-log/page-f60417f258999845.js +1 -0
  682. package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-74bfeda48c347058.js +1 -0
  683. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-73b10fa11c40c00c.js +59 -0
  684. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/{page-af17247a74fa851d.js → page-0f5128a45c7624cc.js} +1 -1
  685. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-2db8cc9e18677705.js → page-ff27d7416104ba6f.js} +2 -2
  686. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/web/{page-3dda3de79f6783b9.js → page-e95e43c710b79a65.js} +1 -1
  687. package/app/.next/static/chunks/app/(dashboard)/dashboard/mitm/{page-8cb9c569a7822a0a.js → page-7c06afe89ff9c503.js} +1 -1
  688. package/app/.next/static/chunks/app/(dashboard)/dashboard/page-89ea8a0102dcfaa6.js +1 -0
  689. package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/{page-5d6cf330f43257e2.js → page-ddac36832067712f.js} +1 -1
  690. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-658bcd33b491d685.js +10 -0
  691. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/new/{page-90c4c56b239fd343.js → page-01642ff508f9e4da.js} +1 -1
  692. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-cf238376512e0f73.js +1 -0
  693. package/app/.next/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-b9da35538f423062.js → page-5d746bc98c25d89d.js} +1 -1
  694. package/app/.next/static/chunks/app/(dashboard)/dashboard/quota/page-c38f42b5a56fb89a.js +1 -0
  695. package/app/.next/static/chunks/app/(dashboard)/dashboard/skills/{page-00d80332b8940cff.js → page-78cef8869d7870c1.js} +1 -1
  696. package/app/.next/static/chunks/app/(dashboard)/dashboard/token-saver/page-74ebd1e0d5566f44.js +1 -0
  697. package/app/.next/static/chunks/app/(dashboard)/dashboard/translator/{page-216b24f865b63695.js → page-260de68ca87258e3.js} +1 -1
  698. package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-40fda9a4c08e7bd5.js +3 -0
  699. package/app/.next/static/chunks/app/(dashboard)/layout-9e8819851f57b3cb.js +1 -0
  700. package/app/.next/static/chunks/app/_global-error/page-270635328efa0901.js +1 -0
  701. package/app/.next/static/chunks/app/api/antigravity-app/route-270635328efa0901.js +1 -0
  702. package/app/.next/static/chunks/app/api/antigravity-app-v2/route-270635328efa0901.js +1 -0
  703. package/app/.next/static/chunks/app/api/antigravity-ide/route-270635328efa0901.js +1 -0
  704. package/app/.next/static/chunks/app/api/antigravity-targets/route-270635328efa0901.js +1 -0
  705. package/app/.next/static/chunks/app/api/antigravity-tools/import/route-270635328efa0901.js +1 -0
  706. package/app/.next/static/chunks/app/api/antigravity-tools/import-refresh-tokens/route-270635328efa0901.js +1 -0
  707. package/app/.next/static/chunks/app/api/auth/login/route-270635328efa0901.js +1 -0
  708. package/app/.next/static/chunks/app/api/auth/logout/route-270635328efa0901.js +1 -0
  709. package/app/.next/static/chunks/app/api/auth/oidc/callback/route-270635328efa0901.js +1 -0
  710. package/app/.next/static/chunks/app/api/auth/oidc/start/route-270635328efa0901.js +1 -0
  711. package/app/.next/static/chunks/app/api/auth/oidc/test/route-270635328efa0901.js +1 -0
  712. package/app/.next/static/chunks/app/api/auth/reset-password/route-270635328efa0901.js +1 -0
  713. package/app/.next/static/chunks/app/api/auth/status/route-270635328efa0901.js +1 -0
  714. package/app/.next/static/chunks/app/api/cli-tools/all-statuses/route-270635328efa0901.js +1 -0
  715. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-270635328efa0901.js +1 -0
  716. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-270635328efa0901.js +1 -0
  717. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-270635328efa0901.js +1 -0
  718. package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-270635328efa0901.js +1 -0
  719. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-270635328efa0901.js +1 -0
  720. package/app/.next/static/chunks/app/api/cli-tools/copilot-settings/route-270635328efa0901.js +1 -0
  721. package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-270635328efa0901.js +1 -0
  722. package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-270635328efa0901.js +1 -0
  723. package/app/.next/static/chunks/app/api/cli-tools/cowork-settings/route-270635328efa0901.js +1 -0
  724. package/app/.next/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-270635328efa0901.js +1 -0
  725. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-270635328efa0901.js +1 -0
  726. package/app/.next/static/chunks/app/api/cli-tools/hermes-settings/route-270635328efa0901.js +1 -0
  727. package/app/.next/static/chunks/app/api/cli-tools/jcode-settings/route-270635328efa0901.js +1 -0
  728. package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-270635328efa0901.js +1 -0
  729. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-270635328efa0901.js +1 -0
  730. package/app/.next/static/chunks/app/api/cli-tools/opencode-settings/route-270635328efa0901.js +1 -0
  731. package/app/.next/static/chunks/app/api/combos/[id]/route-270635328efa0901.js +1 -0
  732. package/app/.next/static/chunks/app/api/combos/route-270635328efa0901.js +1 -0
  733. package/app/.next/static/chunks/app/api/donate/route-270635328efa0901.js +1 -0
  734. package/app/.next/static/chunks/app/api/headroom/start/route-270635328efa0901.js +1 -0
  735. package/app/.next/static/chunks/app/api/headroom/status/route-270635328efa0901.js +1 -0
  736. package/app/.next/static/chunks/app/api/headroom/stop/route-270635328efa0901.js +1 -0
  737. package/app/.next/static/chunks/app/api/health/route-270635328efa0901.js +1 -0
  738. package/app/.next/static/chunks/app/api/init/route-270635328efa0901.js +1 -0
  739. package/app/.next/static/chunks/app/api/internal/account-health/route-270635328efa0901.js +1 -0
  740. package/app/.next/static/chunks/app/api/internal/request-detail/route-270635328efa0901.js +1 -0
  741. package/app/.next/static/chunks/app/api/internal/usage/route-270635328efa0901.js +1 -0
  742. package/app/.next/static/chunks/app/api/keys/[id]/reset-usage/route-270635328efa0901.js +1 -0
  743. package/app/.next/static/chunks/app/api/keys/[id]/route-270635328efa0901.js +1 -0
  744. package/app/.next/static/chunks/app/api/keys/[id]/usage/route-270635328efa0901.js +1 -0
  745. package/app/.next/static/chunks/app/api/keys/route-270635328efa0901.js +1 -0
  746. package/app/.next/static/chunks/app/api/locale/route-270635328efa0901.js +1 -0
  747. package/app/.next/static/chunks/app/api/mcp/[plugin]/message/route-270635328efa0901.js +1 -0
  748. package/app/.next/static/chunks/app/api/mcp/[plugin]/sse/route-270635328efa0901.js +1 -0
  749. package/app/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-270635328efa0901.js +1 -0
  750. package/app/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-270635328efa0901.js +1 -0
  751. package/app/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-270635328efa0901.js +1 -0
  752. package/app/.next/static/chunks/app/api/media-providers/tts/minimax/voices/route-270635328efa0901.js +1 -0
  753. package/app/.next/static/chunks/app/api/media-providers/tts/voices/route-270635328efa0901.js +1 -0
  754. package/app/.next/static/chunks/app/api/models/alias/route-270635328efa0901.js +1 -0
  755. package/app/.next/static/chunks/app/api/models/availability/route-270635328efa0901.js +1 -0
  756. package/app/.next/static/chunks/app/api/models/custom/route-270635328efa0901.js +1 -0
  757. package/app/.next/static/chunks/app/api/models/disabled/route-270635328efa0901.js +1 -0
  758. package/app/.next/static/chunks/app/api/models/route-270635328efa0901.js +1 -0
  759. package/app/.next/static/chunks/app/api/models/test/route-270635328efa0901.js +1 -0
  760. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-270635328efa0901.js +1 -0
  761. package/app/.next/static/chunks/app/api/oauth/codex/bulk-import/route-270635328efa0901.js +1 -0
  762. package/app/.next/static/chunks/app/api/oauth/codex/import-token/route-270635328efa0901.js +1 -0
  763. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-270635328efa0901.js +1 -0
  764. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-270635328efa0901.js +1 -0
  765. package/app/.next/static/chunks/app/api/oauth/gitlab/pat/route-270635328efa0901.js +1 -0
  766. package/app/.next/static/chunks/app/api/oauth/iflow/cookie/route-270635328efa0901.js +1 -0
  767. package/app/.next/static/chunks/app/api/oauth/kiro/api-key/route-270635328efa0901.js +1 -0
  768. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-270635328efa0901.js +1 -0
  769. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-270635328efa0901.js +1 -0
  770. package/app/.next/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-270635328efa0901.js +1 -0
  771. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-270635328efa0901.js +1 -0
  772. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-270635328efa0901.js +1 -0
  773. package/app/.next/static/chunks/app/api/pricing/route-270635328efa0901.js +1 -0
  774. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-270635328efa0901.js +1 -0
  775. package/app/.next/static/chunks/app/api/provider-nodes/route-270635328efa0901.js +1 -0
  776. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-270635328efa0901.js +1 -0
  777. package/app/.next/static/chunks/app/api/providers/[id]/models/route-270635328efa0901.js +1 -0
  778. package/app/.next/static/chunks/app/api/providers/[id]/route-270635328efa0901.js +1 -0
  779. package/app/.next/static/chunks/app/api/providers/[id]/test/route-270635328efa0901.js +1 -0
  780. package/app/.next/static/chunks/app/api/providers/[id]/test-models/route-270635328efa0901.js +1 -0
  781. package/app/.next/static/chunks/app/api/providers/client/route-270635328efa0901.js +1 -0
  782. package/app/.next/static/chunks/app/api/providers/kilo/free-models/route-270635328efa0901.js +1 -0
  783. package/app/.next/static/chunks/app/api/providers/route-270635328efa0901.js +1 -0
  784. package/app/.next/static/chunks/app/api/providers/suggested-models/route-270635328efa0901.js +1 -0
  785. package/app/.next/static/chunks/app/api/providers/test-batch/route-270635328efa0901.js +1 -0
  786. package/app/.next/static/chunks/app/api/providers/validate/route-270635328efa0901.js +1 -0
  787. package/app/.next/static/chunks/app/api/proxy-pools/[id]/route-270635328efa0901.js +1 -0
  788. package/app/.next/static/chunks/app/api/proxy-pools/[id]/test/route-270635328efa0901.js +1 -0
  789. package/app/.next/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-270635328efa0901.js +1 -0
  790. package/app/.next/static/chunks/app/api/proxy-pools/deno-deploy/route-270635328efa0901.js +1 -0
  791. package/app/.next/static/chunks/app/api/proxy-pools/route-270635328efa0901.js +1 -0
  792. package/app/.next/static/chunks/app/api/proxy-pools/vercel-deploy/route-270635328efa0901.js +1 -0
  793. package/app/.next/static/chunks/app/api/settings/database/route-270635328efa0901.js +1 -0
  794. package/app/.next/static/chunks/app/api/settings/database/selective/route-270635328efa0901.js +1 -0
  795. package/app/.next/static/chunks/app/api/settings/proxy-test/route-270635328efa0901.js +1 -0
  796. package/app/.next/static/chunks/app/api/settings/require-login/route-270635328efa0901.js +1 -0
  797. package/app/.next/static/chunks/app/api/settings/route-270635328efa0901.js +1 -0
  798. package/app/.next/static/chunks/app/api/shutdown/route-270635328efa0901.js +1 -0
  799. package/app/.next/static/chunks/app/api/tags/route-270635328efa0901.js +1 -0
  800. package/app/.next/static/chunks/app/api/translator/console-logs/route-270635328efa0901.js +1 -0
  801. package/app/.next/static/chunks/app/api/translator/console-logs/stream/route-270635328efa0901.js +1 -0
  802. package/app/.next/static/chunks/app/api/translator/load/route-270635328efa0901.js +1 -0
  803. package/app/.next/static/chunks/app/api/translator/save/route-270635328efa0901.js +1 -0
  804. package/app/.next/static/chunks/app/api/translator/send/route-270635328efa0901.js +1 -0
  805. package/app/.next/static/chunks/app/api/translator/translate/route-270635328efa0901.js +1 -0
  806. package/app/.next/static/chunks/app/api/tunnel/disable/route-270635328efa0901.js +1 -0
  807. package/app/.next/static/chunks/app/api/tunnel/enable/route-270635328efa0901.js +1 -0
  808. package/app/.next/static/chunks/app/api/tunnel/status/route-270635328efa0901.js +1 -0
  809. package/app/.next/static/chunks/app/api/tunnel/tailscale-check/route-270635328efa0901.js +1 -0
  810. package/app/.next/static/chunks/app/api/tunnel/tailscale-disable/route-270635328efa0901.js +1 -0
  811. package/app/.next/static/chunks/app/api/tunnel/tailscale-enable/route-270635328efa0901.js +1 -0
  812. package/app/.next/static/chunks/app/api/tunnel/tailscale-install/route-270635328efa0901.js +1 -0
  813. package/app/.next/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-270635328efa0901.js +1 -0
  814. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-270635328efa0901.js +1 -0
  815. package/app/.next/static/chunks/app/api/usage/chart/route-270635328efa0901.js +1 -0
  816. package/app/.next/static/chunks/app/api/usage/history/route-270635328efa0901.js +1 -0
  817. package/app/.next/static/chunks/app/api/usage/logs/route-270635328efa0901.js +1 -0
  818. package/app/.next/static/chunks/app/api/usage/providers/route-270635328efa0901.js +1 -0
  819. package/app/.next/static/chunks/app/api/usage/report/route-270635328efa0901.js +1 -0
  820. package/app/.next/static/chunks/app/api/usage/request-details/route-270635328efa0901.js +1 -0
  821. package/app/.next/static/chunks/app/api/usage/request-logs/route-270635328efa0901.js +1 -0
  822. package/app/.next/static/chunks/app/api/usage/stats/route-270635328efa0901.js +1 -0
  823. package/app/.next/static/chunks/app/api/usage/stream/route-270635328efa0901.js +1 -0
  824. package/app/.next/static/chunks/app/api/v1/api/chat/route-270635328efa0901.js +1 -0
  825. package/app/.next/static/chunks/app/api/v1/audio/speech/route-270635328efa0901.js +1 -0
  826. package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-270635328efa0901.js +1 -0
  827. package/app/.next/static/chunks/app/api/v1/audio/voices/route-270635328efa0901.js +1 -0
  828. package/app/.next/static/chunks/app/api/v1/chat/completions/route-270635328efa0901.js +1 -0
  829. package/app/.next/static/chunks/app/api/v1/embeddings/route-270635328efa0901.js +1 -0
  830. package/app/.next/static/chunks/app/api/v1/images/generations/route-270635328efa0901.js +1 -0
  831. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-270635328efa0901.js +1 -0
  832. package/app/.next/static/chunks/app/api/v1/messages/route-270635328efa0901.js +1 -0
  833. package/app/.next/static/chunks/app/api/v1/models/[kind]/route-270635328efa0901.js +1 -0
  834. package/app/.next/static/chunks/app/api/v1/models/info/route-270635328efa0901.js +1 -0
  835. package/app/.next/static/chunks/app/api/v1/models/route-270635328efa0901.js +1 -0
  836. package/app/.next/static/chunks/app/api/v1/responses/compact/route-270635328efa0901.js +1 -0
  837. package/app/.next/static/chunks/app/api/v1/responses/route-270635328efa0901.js +1 -0
  838. package/app/.next/static/chunks/app/api/v1/route-270635328efa0901.js +1 -0
  839. package/app/.next/static/chunks/app/api/v1/search/route-270635328efa0901.js +1 -0
  840. package/app/.next/static/chunks/app/api/v1/web/fetch/route-270635328efa0901.js +1 -0
  841. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-270635328efa0901.js +1 -0
  842. package/app/.next/static/chunks/app/api/v1beta/models/route-270635328efa0901.js +1 -0
  843. package/app/.next/static/chunks/app/api/version/route-270635328efa0901.js +1 -0
  844. package/app/.next/static/chunks/app/api/version/shutdown/route-270635328efa0901.js +1 -0
  845. package/app/.next/static/chunks/app/api/version/update/route-270635328efa0901.js +1 -0
  846. package/app/.next/static/chunks/app/callback/page-b12814e445464090.js +1 -0
  847. package/app/.next/static/chunks/app/dashboard/settings/pricing/page-71c6f6edfe7b111f.js +1 -0
  848. package/app/.next/static/chunks/app/login/page-1b46e625d19cb04a.js +1 -0
  849. package/app/.next/static/chunks/app/manifest.webmanifest/route-270635328efa0901.js +1 -0
  850. package/app/.next/static/chunks/app/page-270635328efa0901.js +1 -0
  851. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-270635328efa0901.js +1 -0
  852. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-270635328efa0901.js +1 -0
  853. package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-270635328efa0901.js +1 -0
  854. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-270635328efa0901.js +1 -0
  855. package/app/.next/static/css/7eb3c00f858e3692.css +1 -0
  856. package/app/open-sse/AGENTS.md +39 -0
  857. package/app/open-sse/config/appConstants.js +20 -41
  858. package/app/open-sse/config/kiroConstants.js +55 -40
  859. package/app/open-sse/config/mediaConfig.js +27 -0
  860. package/app/open-sse/config/providerModels.js +15 -851
  861. package/app/open-sse/config/providers.js +6 -444
  862. package/app/open-sse/config/runtimeConfig.js +18 -3
  863. package/app/open-sse/config/ttsModels.js +2 -0
  864. package/app/open-sse/executors/antigravity.js +211 -125
  865. package/app/open-sse/executors/base.js +18 -8
  866. package/app/open-sse/executors/codebuddy-cn.js +40 -0
  867. package/app/open-sse/executors/codex.js +21 -89
  868. package/app/open-sse/executors/commandcode.js +10 -4
  869. package/app/open-sse/executors/cursor.js +96 -203
  870. package/app/open-sse/executors/default.js +148 -130
  871. package/app/open-sse/executors/github.js +5 -39
  872. package/app/open-sse/executors/grok-web.js +5 -7
  873. package/app/open-sse/executors/index.js +10 -0
  874. package/app/open-sse/executors/kimchi.js +123 -0
  875. package/app/open-sse/executors/kiro.js +126 -25
  876. package/app/open-sse/executors/mimo-free.js +167 -0
  877. package/app/open-sse/executors/opencode-go.js +12 -4
  878. package/app/open-sse/executors/opencode.js +1 -1
  879. package/app/open-sse/executors/perplexity-web.js +5 -7
  880. package/app/open-sse/executors/qoder.js +18 -10
  881. package/app/open-sse/executors/vertex.js +53 -7
  882. package/app/open-sse/executors/xiaomi-tokenplan.js +6 -5
  883. package/app/open-sse/handlers/chatCore/nonStreamingHandler.js +103 -12
  884. package/app/open-sse/handlers/chatCore/requestDetail.js +6 -10
  885. package/app/open-sse/handlers/chatCore/sseToJsonHandler.js +6 -2
  886. package/app/open-sse/handlers/chatCore/streamingHandler.js +51 -15
  887. package/app/open-sse/handlers/chatCore.js +58 -5
  888. package/app/open-sse/handlers/embeddingProviders/index.js +1 -0
  889. package/app/open-sse/handlers/embeddingProviders/openai.js +8 -16
  890. package/app/open-sse/handlers/imageGenerationCore.js +66 -6
  891. package/app/open-sse/handlers/imageProviders/antigravity.js +73 -0
  892. package/app/open-sse/handlers/imageProviders/blackForestLabs.js +2 -1
  893. package/app/open-sse/handlers/imageProviders/cloudflareAi.js +2 -1
  894. package/app/open-sse/handlers/imageProviders/codex.js +2 -1
  895. package/app/open-sse/handlers/imageProviders/comfyui.js +5 -1
  896. package/app/open-sse/handlers/imageProviders/falAi.js +2 -1
  897. package/app/open-sse/handlers/imageProviders/gemini.js +2 -1
  898. package/app/open-sse/handlers/imageProviders/huggingface.js +2 -1
  899. package/app/open-sse/handlers/imageProviders/index.js +5 -0
  900. package/app/open-sse/handlers/imageProviders/nanobanana.js +4 -2
  901. package/app/open-sse/handlers/imageProviders/openai.js +15 -22
  902. package/app/open-sse/handlers/imageProviders/runwayml.js +2 -1
  903. package/app/open-sse/handlers/imageProviders/sdwebui.js +4 -1
  904. package/app/open-sse/handlers/imageProviders/stabilityAi.js +2 -1
  905. package/app/open-sse/handlers/responsesHandler.js +3 -7
  906. package/app/open-sse/handlers/search/chatSearch.js +13 -14
  907. package/app/open-sse/handlers/sttCore.js +2 -3
  908. package/app/open-sse/handlers/ttsProviders/gemini.js +14 -3
  909. package/app/open-sse/handlers/ttsProviders/index.js +4 -2
  910. package/app/open-sse/handlers/ttsProviders/openai.js +4 -1
  911. package/app/open-sse/handlers/ttsProviders/openrouter.js +7 -4
  912. package/app/open-sse/index.js +0 -3
  913. package/app/open-sse/providers/REGISTRY_TEMPLATE.js +98 -0
  914. package/app/open-sse/providers/capabilities.js +291 -0
  915. package/app/open-sse/providers/index.js +51 -0
  916. package/app/open-sse/providers/models/helpers.js +20 -0
  917. package/app/open-sse/providers/models/namePatterns.js +33 -0
  918. package/app/open-sse/providers/models/schema.js +31 -0
  919. package/app/{src/shared/constants → open-sse/providers}/pricing.js +8 -5
  920. package/app/open-sse/providers/registry/alicode-intl.js +30 -0
  921. package/app/open-sse/providers/registry/alicode.js +31 -0
  922. package/app/open-sse/providers/registry/anthropic.js +32 -0
  923. package/app/open-sse/providers/registry/antigravity.js +85 -0
  924. package/app/open-sse/providers/registry/assemblyai.js +38 -0
  925. package/app/open-sse/providers/registry/aws-polly.js +45 -0
  926. package/app/open-sse/providers/registry/azure.js +21 -0
  927. package/app/open-sse/providers/registry/black-forest-labs.js +32 -0
  928. package/app/open-sse/providers/registry/blackbox.js +41 -0
  929. package/app/open-sse/providers/registry/brave-search.js +35 -0
  930. package/app/open-sse/providers/registry/byteplus.js +35 -0
  931. package/app/open-sse/providers/registry/cartesia.js +36 -0
  932. package/app/open-sse/providers/registry/cerebras.js +31 -0
  933. package/app/open-sse/providers/registry/chutes.js +24 -0
  934. package/app/open-sse/providers/registry/claude.js +89 -0
  935. package/app/open-sse/providers/registry/cline.js +51 -0
  936. package/app/open-sse/providers/registry/clinepass.js +57 -0
  937. package/app/open-sse/providers/registry/cloudflare-ai.js +55 -0
  938. package/app/open-sse/providers/registry/codebuddy-cn.js +77 -0
  939. package/app/open-sse/providers/registry/codex.js +95 -0
  940. package/app/open-sse/providers/registry/cohere.js +25 -0
  941. package/app/open-sse/providers/registry/comfyui.js +20 -0
  942. package/app/open-sse/providers/registry/commandcode.js +43 -0
  943. package/app/open-sse/providers/registry/coqui.js +30 -0
  944. package/app/open-sse/providers/registry/cursor.js +58 -0
  945. package/app/open-sse/providers/registry/deepgram.js +33 -0
  946. package/app/open-sse/providers/registry/deepseek.js +51 -0
  947. package/app/open-sse/providers/registry/edge-tts.js +24 -0
  948. package/app/open-sse/providers/registry/elevenlabs.js +35 -0
  949. package/app/open-sse/providers/registry/exa.js +50 -0
  950. package/app/open-sse/providers/registry/fal-ai.js +34 -0
  951. package/app/open-sse/providers/registry/firecrawl.js +34 -0
  952. package/app/open-sse/providers/registry/fireworks.js +29 -0
  953. package/app/open-sse/providers/registry/gemini-cli.js +58 -0
  954. package/app/open-sse/providers/registry/gemini.js +81 -0
  955. package/app/open-sse/providers/registry/github.js +82 -0
  956. package/app/open-sse/providers/registry/gitlab.js +32 -0
  957. package/app/open-sse/providers/registry/glm-cn.js +35 -0
  958. package/app/open-sse/providers/registry/glm.js +58 -0
  959. package/app/open-sse/providers/registry/google-pse.js +35 -0
  960. package/app/open-sse/providers/registry/google-tts.js +24 -0
  961. package/app/open-sse/providers/registry/grok-web.js +39 -0
  962. package/app/open-sse/providers/registry/groq.js +37 -0
  963. package/app/open-sse/providers/registry/huggingface.js +34 -0
  964. package/app/open-sse/providers/registry/hyperbolic.js +35 -0
  965. package/app/open-sse/providers/registry/iflow.js +52 -0
  966. package/app/open-sse/providers/registry/index.js +198 -0
  967. package/app/open-sse/providers/registry/inworld.js +36 -0
  968. package/app/open-sse/providers/registry/jina-ai.js +42 -0
  969. package/app/open-sse/providers/registry/jina-reader.js +34 -0
  970. package/app/open-sse/providers/registry/kilocode.js +51 -0
  971. package/app/open-sse/providers/registry/kimchi.js +49 -0
  972. package/app/open-sse/providers/registry/kimi-coding.js +65 -0
  973. package/app/open-sse/providers/registry/kimi.js +56 -0
  974. package/app/open-sse/providers/registry/kiro.js +96 -0
  975. package/app/open-sse/providers/registry/linkup.js +34 -0
  976. package/app/open-sse/providers/registry/local-device.js +24 -0
  977. package/app/open-sse/providers/registry/mimo-free.js +24 -0
  978. package/app/open-sse/providers/registry/minimax-cn.js +76 -0
  979. package/app/open-sse/providers/registry/minimax.js +83 -0
  980. package/app/open-sse/providers/registry/mistral.js +31 -0
  981. package/app/open-sse/providers/registry/mmf.js +19 -0
  982. package/app/open-sse/providers/registry/nanobanana.js +35 -0
  983. package/app/open-sse/providers/registry/nebius.js +27 -0
  984. package/app/open-sse/providers/registry/nvidia.js +43 -0
  985. package/app/open-sse/providers/registry/ollama-local.js +19 -0
  986. package/app/open-sse/providers/registry/ollama.js +36 -0
  987. package/app/open-sse/providers/registry/openai.js +81 -0
  988. package/app/open-sse/providers/registry/opencode-go.js +41 -0
  989. package/app/open-sse/providers/registry/opencode.js +25 -0
  990. package/app/open-sse/providers/registry/openrouter.js +60 -0
  991. package/app/open-sse/providers/registry/perplexity-web.js +33 -0
  992. package/app/open-sse/providers/registry/perplexity.js +35 -0
  993. package/app/open-sse/providers/registry/playht.js +36 -0
  994. package/app/open-sse/providers/registry/qoder.js +54 -0
  995. package/app/open-sse/providers/registry/qwen.js +33 -0
  996. package/app/open-sse/providers/registry/recraft.js +24 -0
  997. package/app/open-sse/providers/registry/runwayml.js +30 -0
  998. package/app/open-sse/providers/registry/sdwebui.js +20 -0
  999. package/app/open-sse/providers/registry/searchapi.js +35 -0
  1000. package/app/open-sse/providers/registry/searxng.js +33 -0
  1001. package/app/open-sse/providers/registry/serper.js +35 -0
  1002. package/app/open-sse/providers/registry/siliconflow.js +39 -0
  1003. package/app/open-sse/providers/registry/stability-ai.js +31 -0
  1004. package/app/open-sse/providers/registry/tavily.js +50 -0
  1005. package/app/open-sse/providers/registry/together.js +31 -0
  1006. package/app/open-sse/providers/registry/topaz.js +19 -0
  1007. package/app/open-sse/providers/registry/tortoise.js +30 -0
  1008. package/app/open-sse/providers/registry/venice.js +56 -0
  1009. package/app/open-sse/providers/registry/vercel-ai-gateway.js +41 -0
  1010. package/app/open-sse/providers/registry/vertex-partner.js +29 -0
  1011. package/app/open-sse/providers/registry/vertex.js +32 -0
  1012. package/app/open-sse/providers/registry/volcengine-ark.js +35 -0
  1013. package/app/open-sse/providers/registry/voyage-ai.js +30 -0
  1014. package/app/open-sse/providers/registry/xai.js +43 -0
  1015. package/app/open-sse/providers/registry/xiaomi-mimo.js +46 -0
  1016. package/app/open-sse/providers/registry/xiaomi-tokenplan.js +63 -0
  1017. package/app/open-sse/providers/registry/youcom.js +35 -0
  1018. package/app/open-sse/providers/schema.js +76 -0
  1019. package/app/open-sse/providers/shared.js +67 -0
  1020. package/app/open-sse/rtk/caveman.js +2 -93
  1021. package/app/open-sse/rtk/constants.js +6 -2
  1022. package/app/open-sse/rtk/filters/find.js +2 -3
  1023. package/app/open-sse/rtk/headroom.js +215 -0
  1024. package/app/open-sse/rtk/ponytail.js +9 -0
  1025. package/app/open-sse/rtk/ponytailPrompt.js +52 -0
  1026. package/app/open-sse/rtk/systemInject.js +98 -0
  1027. package/app/open-sse/services/clinepassModels.js +63 -0
  1028. package/app/open-sse/services/combo.js +375 -2
  1029. package/app/open-sse/services/copilotModels.js +155 -0
  1030. package/app/open-sse/services/kimchiModels.js +176 -0
  1031. package/app/open-sse/services/model.js +22 -145
  1032. package/app/open-sse/services/oauthCredentialManager.js +10 -5
  1033. package/app/open-sse/services/provider.js +17 -204
  1034. package/app/open-sse/services/qoderModels.js +2 -2
  1035. package/app/open-sse/services/tokenRefresh/dedup.js +31 -0
  1036. package/app/open-sse/services/tokenRefresh/providers.js +624 -0
  1037. package/app/open-sse/services/tokenRefresh.js +97 -735
  1038. package/app/open-sse/services/usage/claude.js +147 -0
  1039. package/app/open-sse/services/usage/codebuddy-cn.js +138 -0
  1040. package/app/open-sse/services/usage/codex.js +201 -0
  1041. package/app/open-sse/services/usage/github.js +100 -0
  1042. package/app/open-sse/services/usage/google.js +279 -0
  1043. package/app/open-sse/services/usage/kiro.js +188 -0
  1044. package/app/open-sse/services/usage/minimax.js +234 -0
  1045. package/app/open-sse/services/usage/misc.js +269 -0
  1046. package/app/open-sse/services/usage/shared.js +70 -0
  1047. package/app/open-sse/services/usage.js +40 -1295
  1048. package/app/open-sse/shared/clineAuth.js +37 -0
  1049. package/app/open-sse/shared/machineId.js +19 -0
  1050. package/app/open-sse/shared/qoder/constants.js +64 -0
  1051. package/app/open-sse/shared/qoder/cosy.js +175 -0
  1052. package/app/open-sse/shared/qoder/encoding.js +55 -0
  1053. package/app/open-sse/translator/concerns/chunk.js +11 -0
  1054. package/app/open-sse/translator/concerns/finishReason.js +63 -0
  1055. package/app/open-sse/translator/concerns/image.js +124 -0
  1056. package/app/open-sse/translator/concerns/json.js +5 -0
  1057. package/app/open-sse/translator/concerns/message.js +7 -0
  1058. package/app/open-sse/translator/concerns/modality.js +155 -0
  1059. package/app/open-sse/translator/concerns/paramSupport.js +44 -0
  1060. package/app/open-sse/translator/concerns/prefetch.js +96 -0
  1061. package/app/open-sse/translator/concerns/reasoning.js +24 -0
  1062. package/app/open-sse/translator/concerns/thinking.js +53 -0
  1063. package/app/open-sse/translator/concerns/thinkingUnified.js +271 -0
  1064. package/app/open-sse/translator/{helpers/toolCallHelper.js → concerns/toolCall.js} +5 -0
  1065. package/app/open-sse/translator/concerns/usage.js +69 -0
  1066. package/app/open-sse/translator/formats/claude.js +351 -0
  1067. package/app/open-sse/translator/{helpers/geminiHelper.js → formats/gemini.js} +24 -16
  1068. package/app/open-sse/translator/{helpers/maxTokensHelper.js → formats/maxTokens.js} +4 -1
  1069. package/app/open-sse/translator/{helpers/openaiHelper.js → formats/openai.js} +35 -31
  1070. package/app/open-sse/translator/{helpers/responsesApiHelper.js → formats/responsesApi.js} +17 -15
  1071. package/app/open-sse/translator/index.js +89 -56
  1072. package/app/open-sse/translator/request/antigravity-to-openai.js +40 -27
  1073. package/app/open-sse/translator/request/claude-to-kiro.js +466 -0
  1074. package/app/open-sse/translator/request/claude-to-openai.js +61 -33
  1075. package/app/open-sse/translator/request/gemini-to-openai.js +18 -13
  1076. package/app/open-sse/translator/request/openai-responses.js +39 -30
  1077. package/app/open-sse/translator/request/openai-to-claude.js +59 -90
  1078. package/app/open-sse/translator/request/openai-to-commandcode.js +23 -21
  1079. package/app/open-sse/translator/request/openai-to-cursor.js +25 -23
  1080. package/app/open-sse/translator/request/openai-to-gemini.js +42 -46
  1081. package/app/open-sse/translator/request/openai-to-kiro.js +56 -36
  1082. package/app/open-sse/translator/request/openai-to-ollama.js +16 -13
  1083. package/app/open-sse/translator/response/claude-to-openai.js +51 -80
  1084. package/app/open-sse/translator/response/commandcode-to-openai.js +25 -38
  1085. package/app/open-sse/translator/response/cursor-to-openai.js +2 -2
  1086. package/app/open-sse/translator/response/gemini-to-openai.js +66 -164
  1087. package/app/open-sse/translator/response/kiro-to-claude.js +261 -0
  1088. package/app/open-sse/translator/response/kiro-to-openai.js +37 -72
  1089. package/app/open-sse/translator/response/ollama-to-openai.js +21 -39
  1090. package/app/open-sse/translator/response/openai-responses.js +68 -123
  1091. package/app/open-sse/translator/response/openai-to-antigravity.js +7 -6
  1092. package/app/open-sse/translator/response/openai-to-claude.js +18 -19
  1093. package/app/open-sse/translator/schema/blocks.js +43 -0
  1094. package/app/open-sse/translator/schema/defaults.js +7 -0
  1095. package/app/open-sse/translator/schema/finishReasons.js +27 -0
  1096. package/app/open-sse/translator/schema/index.js +8 -0
  1097. package/app/open-sse/translator/schema/roles.js +16 -0
  1098. package/app/open-sse/utils/bypassHandler.js +18 -3
  1099. package/app/open-sse/utils/claudeCloaking.js +15 -5
  1100. package/app/open-sse/utils/claudeSignature.js +41 -0
  1101. package/app/open-sse/utils/reasoningContentInjector.js +4 -7
  1102. package/app/open-sse/utils/responsesStreamHelpers.js +1 -0
  1103. package/app/open-sse/utils/sessionManager.js +149 -0
  1104. package/app/open-sse/utils/sse.js +14 -0
  1105. package/app/open-sse/utils/sseConstants.js +23 -0
  1106. package/app/open-sse/utils/stream.js +47 -39
  1107. package/app/open-sse/utils/streamHandler.js +8 -6
  1108. package/app/open-sse/utils/usageTracking.js +93 -18
  1109. package/app/package.json +5 -2
  1110. package/app/public/i18n/literals/zh-CN.json +1 -0
  1111. package/app/public/providers/clinepass.png +0 -0
  1112. package/app/public/providers/codebuddy-cn.png +0 -0
  1113. package/app/public/providers/kimchi.png +0 -0
  1114. package/app/public/providers/kimchi.svg +4 -0
  1115. package/app/public/providers/mimo-free.png +0 -0
  1116. package/app/server.js +1 -1
  1117. package/app/src/mitm/cert/generate.js +2 -2
  1118. package/app/src/mitm/cert/rootCA.js +1 -1
  1119. package/app/src/mitm/config.js +3 -1
  1120. package/app/src/mitm/manager.js +29 -2
  1121. package/app/src/shared/constants/cliTools.js +23 -25
  1122. package/app/src/shared/constants/config.js +28 -18
  1123. package/app/src/shared/constants/coworkPlugins.js +1 -4
  1124. package/app/src/shared/constants/mitmToolHosts.js +1 -1
  1125. package/app/src/shared/constants/models.js +9 -0
  1126. package/app/src/shared/constants/providers.js +65 -180
  1127. package/app/src/shared/constants/providersDisplay.js +12 -0
  1128. package/package.json +1 -1
  1129. package/app/.next/server/chunks/1476.js +0 -1
  1130. package/app/.next/server/chunks/1498.js +0 -1
  1131. package/app/.next/server/chunks/1699.js +0 -1
  1132. package/app/.next/server/chunks/2569.js +0 -1
  1133. package/app/.next/server/chunks/3104.js +0 -43
  1134. package/app/.next/server/chunks/3110.js +0 -67
  1135. package/app/.next/server/chunks/3245.js +0 -1
  1136. package/app/.next/server/chunks/3588.js +0 -1
  1137. package/app/.next/server/chunks/4013.js +0 -1
  1138. package/app/.next/server/chunks/4177.js +0 -1
  1139. package/app/.next/server/chunks/4389.js +0 -1
  1140. package/app/.next/server/chunks/4404.js +0 -1
  1141. package/app/.next/server/chunks/5681.js +0 -1
  1142. package/app/.next/server/chunks/5859.js +0 -1
  1143. package/app/.next/server/chunks/6811.js +0 -1
  1144. package/app/.next/server/chunks/7341.js +0 -1
  1145. package/app/.next/server/chunks/7828.js +0 -1
  1146. package/app/.next/server/chunks/7879.js +0 -10
  1147. package/app/.next/server/chunks/8255.js +0 -1
  1148. package/app/.next/server/chunks/9295.js +0 -1
  1149. package/app/.next/server/chunks/9396.js +0 -44
  1150. package/app/.next/server/chunks/9489.js +0 -1
  1151. package/app/.next/server/chunks/9807.js +0 -7
  1152. package/app/.next/static/chunks/1321-5ac5b0e0510e7bc1.js +0 -1
  1153. package/app/.next/static/chunks/4406-9357c0d7c2c19d9b.js +0 -53
  1154. package/app/.next/static/chunks/5497-f16d2c74532d4ad3.js +0 -7
  1155. package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/page-1271df5d411ef013.js +0 -1
  1156. package/app/.next/static/chunks/app/(dashboard)/dashboard/console-log/page-56d9eac21ab09df1.js +0 -1
  1157. package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-770486eb0371891f.js +0 -1
  1158. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-e680a27ecacbfd49.js +0 -59
  1159. package/app/.next/static/chunks/app/(dashboard)/dashboard/page-68288fb612a60026.js +0 -1
  1160. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-bc4b466a331dbb31.js +0 -6
  1161. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-de08b6b9ad238de4.js +0 -1
  1162. package/app/.next/static/chunks/app/(dashboard)/dashboard/quota/page-1389351bfdd842f9.js +0 -1
  1163. package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-d6fce7b8e1d3fdec.js +0 -3
  1164. package/app/.next/static/chunks/app/(dashboard)/layout-5d6111c3c8c1af01.js +0 -1
  1165. package/app/.next/static/chunks/app/_global-error/page-663014002ada02ea.js +0 -1
  1166. package/app/.next/static/chunks/app/api/antigravity-app/route-663014002ada02ea.js +0 -1
  1167. package/app/.next/static/chunks/app/api/antigravity-app-v2/route-663014002ada02ea.js +0 -1
  1168. package/app/.next/static/chunks/app/api/antigravity-ide/route-663014002ada02ea.js +0 -1
  1169. package/app/.next/static/chunks/app/api/antigravity-targets/route-663014002ada02ea.js +0 -1
  1170. package/app/.next/static/chunks/app/api/antigravity-tools/import/route-663014002ada02ea.js +0 -1
  1171. package/app/.next/static/chunks/app/api/antigravity-tools/import-refresh-tokens/route-663014002ada02ea.js +0 -1
  1172. package/app/.next/static/chunks/app/api/auth/login/route-663014002ada02ea.js +0 -1
  1173. package/app/.next/static/chunks/app/api/auth/logout/route-663014002ada02ea.js +0 -1
  1174. package/app/.next/static/chunks/app/api/auth/oidc/callback/route-663014002ada02ea.js +0 -1
  1175. package/app/.next/static/chunks/app/api/auth/oidc/start/route-663014002ada02ea.js +0 -1
  1176. package/app/.next/static/chunks/app/api/auth/oidc/test/route-663014002ada02ea.js +0 -1
  1177. package/app/.next/static/chunks/app/api/auth/status/route-663014002ada02ea.js +0 -1
  1178. package/app/.next/static/chunks/app/api/cli-tools/all-statuses/route-663014002ada02ea.js +0 -1
  1179. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-663014002ada02ea.js +0 -1
  1180. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-663014002ada02ea.js +0 -1
  1181. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-663014002ada02ea.js +0 -1
  1182. package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-663014002ada02ea.js +0 -1
  1183. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-663014002ada02ea.js +0 -1
  1184. package/app/.next/static/chunks/app/api/cli-tools/copilot-settings/route-663014002ada02ea.js +0 -1
  1185. package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-663014002ada02ea.js +0 -1
  1186. package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-663014002ada02ea.js +0 -1
  1187. package/app/.next/static/chunks/app/api/cli-tools/cowork-settings/route-663014002ada02ea.js +0 -1
  1188. package/app/.next/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-663014002ada02ea.js +0 -1
  1189. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-663014002ada02ea.js +0 -1
  1190. package/app/.next/static/chunks/app/api/cli-tools/hermes-settings/route-663014002ada02ea.js +0 -1
  1191. package/app/.next/static/chunks/app/api/cli-tools/jcode-settings/route-663014002ada02ea.js +0 -1
  1192. package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-663014002ada02ea.js +0 -1
  1193. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-663014002ada02ea.js +0 -1
  1194. package/app/.next/static/chunks/app/api/cli-tools/opencode-settings/route-663014002ada02ea.js +0 -1
  1195. package/app/.next/static/chunks/app/api/combos/[id]/route-663014002ada02ea.js +0 -1
  1196. package/app/.next/static/chunks/app/api/combos/route-663014002ada02ea.js +0 -1
  1197. package/app/.next/static/chunks/app/api/donate/route-663014002ada02ea.js +0 -1
  1198. package/app/.next/static/chunks/app/api/health/route-663014002ada02ea.js +0 -1
  1199. package/app/.next/static/chunks/app/api/init/route-663014002ada02ea.js +0 -1
  1200. package/app/.next/static/chunks/app/api/internal/account-health/route-663014002ada02ea.js +0 -1
  1201. package/app/.next/static/chunks/app/api/internal/request-detail/route-663014002ada02ea.js +0 -1
  1202. package/app/.next/static/chunks/app/api/internal/usage/route-663014002ada02ea.js +0 -1
  1203. package/app/.next/static/chunks/app/api/keys/[id]/reset-usage/route-663014002ada02ea.js +0 -1
  1204. package/app/.next/static/chunks/app/api/keys/[id]/route-663014002ada02ea.js +0 -1
  1205. package/app/.next/static/chunks/app/api/keys/[id]/usage/route-663014002ada02ea.js +0 -1
  1206. package/app/.next/static/chunks/app/api/keys/route-663014002ada02ea.js +0 -1
  1207. package/app/.next/static/chunks/app/api/locale/route-663014002ada02ea.js +0 -1
  1208. package/app/.next/static/chunks/app/api/mcp/[plugin]/message/route-663014002ada02ea.js +0 -1
  1209. package/app/.next/static/chunks/app/api/mcp/[plugin]/sse/route-663014002ada02ea.js +0 -1
  1210. package/app/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-663014002ada02ea.js +0 -1
  1211. package/app/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-663014002ada02ea.js +0 -1
  1212. package/app/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-663014002ada02ea.js +0 -1
  1213. package/app/.next/static/chunks/app/api/media-providers/tts/minimax/voices/route-663014002ada02ea.js +0 -1
  1214. package/app/.next/static/chunks/app/api/media-providers/tts/voices/route-663014002ada02ea.js +0 -1
  1215. package/app/.next/static/chunks/app/api/models/alias/route-663014002ada02ea.js +0 -1
  1216. package/app/.next/static/chunks/app/api/models/availability/route-663014002ada02ea.js +0 -1
  1217. package/app/.next/static/chunks/app/api/models/custom/route-663014002ada02ea.js +0 -1
  1218. package/app/.next/static/chunks/app/api/models/disabled/route-663014002ada02ea.js +0 -1
  1219. package/app/.next/static/chunks/app/api/models/route-663014002ada02ea.js +0 -1
  1220. package/app/.next/static/chunks/app/api/models/test/route-663014002ada02ea.js +0 -1
  1221. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-663014002ada02ea.js +0 -1
  1222. package/app/.next/static/chunks/app/api/oauth/codex/import-token/route-663014002ada02ea.js +0 -1
  1223. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-663014002ada02ea.js +0 -1
  1224. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-663014002ada02ea.js +0 -1
  1225. package/app/.next/static/chunks/app/api/oauth/gitlab/pat/route-663014002ada02ea.js +0 -1
  1226. package/app/.next/static/chunks/app/api/oauth/iflow/cookie/route-663014002ada02ea.js +0 -1
  1227. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-663014002ada02ea.js +0 -1
  1228. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-663014002ada02ea.js +0 -1
  1229. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-663014002ada02ea.js +0 -1
  1230. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-663014002ada02ea.js +0 -1
  1231. package/app/.next/static/chunks/app/api/pricing/route-663014002ada02ea.js +0 -1
  1232. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-663014002ada02ea.js +0 -1
  1233. package/app/.next/static/chunks/app/api/provider-nodes/route-663014002ada02ea.js +0 -1
  1234. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-663014002ada02ea.js +0 -1
  1235. package/app/.next/static/chunks/app/api/providers/[id]/models/route-663014002ada02ea.js +0 -1
  1236. package/app/.next/static/chunks/app/api/providers/[id]/route-663014002ada02ea.js +0 -1
  1237. package/app/.next/static/chunks/app/api/providers/[id]/test/route-663014002ada02ea.js +0 -1
  1238. package/app/.next/static/chunks/app/api/providers/[id]/test-models/route-663014002ada02ea.js +0 -1
  1239. package/app/.next/static/chunks/app/api/providers/client/route-663014002ada02ea.js +0 -1
  1240. package/app/.next/static/chunks/app/api/providers/kilo/free-models/route-663014002ada02ea.js +0 -1
  1241. package/app/.next/static/chunks/app/api/providers/route-663014002ada02ea.js +0 -1
  1242. package/app/.next/static/chunks/app/api/providers/suggested-models/route-663014002ada02ea.js +0 -1
  1243. package/app/.next/static/chunks/app/api/providers/test-batch/route-663014002ada02ea.js +0 -1
  1244. package/app/.next/static/chunks/app/api/providers/validate/route-663014002ada02ea.js +0 -1
  1245. package/app/.next/static/chunks/app/api/proxy-pools/[id]/route-663014002ada02ea.js +0 -1
  1246. package/app/.next/static/chunks/app/api/proxy-pools/[id]/test/route-663014002ada02ea.js +0 -1
  1247. package/app/.next/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-663014002ada02ea.js +0 -1
  1248. package/app/.next/static/chunks/app/api/proxy-pools/deno-deploy/route-663014002ada02ea.js +0 -1
  1249. package/app/.next/static/chunks/app/api/proxy-pools/route-663014002ada02ea.js +0 -1
  1250. package/app/.next/static/chunks/app/api/proxy-pools/vercel-deploy/route-663014002ada02ea.js +0 -1
  1251. package/app/.next/static/chunks/app/api/settings/database/route-663014002ada02ea.js +0 -1
  1252. package/app/.next/static/chunks/app/api/settings/database/selective/route-663014002ada02ea.js +0 -1
  1253. package/app/.next/static/chunks/app/api/settings/proxy-test/route-663014002ada02ea.js +0 -1
  1254. package/app/.next/static/chunks/app/api/settings/require-login/route-663014002ada02ea.js +0 -1
  1255. package/app/.next/static/chunks/app/api/settings/route-663014002ada02ea.js +0 -1
  1256. package/app/.next/static/chunks/app/api/shutdown/route-663014002ada02ea.js +0 -1
  1257. package/app/.next/static/chunks/app/api/tags/route-663014002ada02ea.js +0 -1
  1258. package/app/.next/static/chunks/app/api/translator/console-logs/route-663014002ada02ea.js +0 -1
  1259. package/app/.next/static/chunks/app/api/translator/console-logs/stream/route-663014002ada02ea.js +0 -1
  1260. package/app/.next/static/chunks/app/api/translator/load/route-663014002ada02ea.js +0 -1
  1261. package/app/.next/static/chunks/app/api/translator/save/route-663014002ada02ea.js +0 -1
  1262. package/app/.next/static/chunks/app/api/translator/send/route-663014002ada02ea.js +0 -1
  1263. package/app/.next/static/chunks/app/api/translator/translate/route-663014002ada02ea.js +0 -1
  1264. package/app/.next/static/chunks/app/api/tunnel/disable/route-663014002ada02ea.js +0 -1
  1265. package/app/.next/static/chunks/app/api/tunnel/enable/route-663014002ada02ea.js +0 -1
  1266. package/app/.next/static/chunks/app/api/tunnel/status/route-663014002ada02ea.js +0 -1
  1267. package/app/.next/static/chunks/app/api/tunnel/tailscale-check/route-663014002ada02ea.js +0 -1
  1268. package/app/.next/static/chunks/app/api/tunnel/tailscale-disable/route-663014002ada02ea.js +0 -1
  1269. package/app/.next/static/chunks/app/api/tunnel/tailscale-enable/route-663014002ada02ea.js +0 -1
  1270. package/app/.next/static/chunks/app/api/tunnel/tailscale-install/route-663014002ada02ea.js +0 -1
  1271. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-663014002ada02ea.js +0 -1
  1272. package/app/.next/static/chunks/app/api/usage/chart/route-663014002ada02ea.js +0 -1
  1273. package/app/.next/static/chunks/app/api/usage/history/route-663014002ada02ea.js +0 -1
  1274. package/app/.next/static/chunks/app/api/usage/logs/route-663014002ada02ea.js +0 -1
  1275. package/app/.next/static/chunks/app/api/usage/providers/route-663014002ada02ea.js +0 -1
  1276. package/app/.next/static/chunks/app/api/usage/report/route-663014002ada02ea.js +0 -1
  1277. package/app/.next/static/chunks/app/api/usage/request-details/route-663014002ada02ea.js +0 -1
  1278. package/app/.next/static/chunks/app/api/usage/request-logs/route-663014002ada02ea.js +0 -1
  1279. package/app/.next/static/chunks/app/api/usage/stats/route-663014002ada02ea.js +0 -1
  1280. package/app/.next/static/chunks/app/api/usage/stream/route-663014002ada02ea.js +0 -1
  1281. package/app/.next/static/chunks/app/api/v1/api/chat/route-663014002ada02ea.js +0 -1
  1282. package/app/.next/static/chunks/app/api/v1/audio/speech/route-663014002ada02ea.js +0 -1
  1283. package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-663014002ada02ea.js +0 -1
  1284. package/app/.next/static/chunks/app/api/v1/audio/voices/route-663014002ada02ea.js +0 -1
  1285. package/app/.next/static/chunks/app/api/v1/chat/completions/route-663014002ada02ea.js +0 -1
  1286. package/app/.next/static/chunks/app/api/v1/embeddings/route-663014002ada02ea.js +0 -1
  1287. package/app/.next/static/chunks/app/api/v1/images/generations/route-663014002ada02ea.js +0 -1
  1288. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-663014002ada02ea.js +0 -1
  1289. package/app/.next/static/chunks/app/api/v1/messages/route-663014002ada02ea.js +0 -1
  1290. package/app/.next/static/chunks/app/api/v1/models/[kind]/route-663014002ada02ea.js +0 -1
  1291. package/app/.next/static/chunks/app/api/v1/models/info/route-663014002ada02ea.js +0 -1
  1292. package/app/.next/static/chunks/app/api/v1/models/route-663014002ada02ea.js +0 -1
  1293. package/app/.next/static/chunks/app/api/v1/responses/compact/route-663014002ada02ea.js +0 -1
  1294. package/app/.next/static/chunks/app/api/v1/responses/route-663014002ada02ea.js +0 -1
  1295. package/app/.next/static/chunks/app/api/v1/route-663014002ada02ea.js +0 -1
  1296. package/app/.next/static/chunks/app/api/v1/search/route-663014002ada02ea.js +0 -1
  1297. package/app/.next/static/chunks/app/api/v1/web/fetch/route-663014002ada02ea.js +0 -1
  1298. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-663014002ada02ea.js +0 -1
  1299. package/app/.next/static/chunks/app/api/v1beta/models/route-663014002ada02ea.js +0 -1
  1300. package/app/.next/static/chunks/app/api/version/route-663014002ada02ea.js +0 -1
  1301. package/app/.next/static/chunks/app/api/version/shutdown/route-663014002ada02ea.js +0 -1
  1302. package/app/.next/static/chunks/app/api/version/update/route-663014002ada02ea.js +0 -1
  1303. package/app/.next/static/chunks/app/callback/page-1ac4b69a5de26857.js +0 -1
  1304. package/app/.next/static/chunks/app/dashboard/settings/pricing/page-29c50a560c8c4d2b.js +0 -1
  1305. package/app/.next/static/chunks/app/login/page-98aaabbf53ef75f6.js +0 -1
  1306. package/app/.next/static/chunks/app/manifest.webmanifest/route-663014002ada02ea.js +0 -1
  1307. package/app/.next/static/chunks/app/page-663014002ada02ea.js +0 -1
  1308. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-663014002ada02ea.js +0 -1
  1309. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-663014002ada02ea.js +0 -1
  1310. package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-663014002ada02ea.js +0 -1
  1311. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-663014002ada02ea.js +0 -1
  1312. package/app/.next/static/css/d73c8ccb42eb9a7d.css +0 -1
  1313. package/app/.next/static/zOWV4f8WCIf4AVjdpAv5I/_buildManifest.js +0 -1
  1314. package/app/open-sse/translator/helpers/claudeHelper.js +0 -216
  1315. package/app/open-sse/translator/helpers/imageHelper.js +0 -34
  1316. package/app/open-sse/translator/request/openai-to-kiro.old.js +0 -278
  1317. /package/app/.next/static/{zOWV4f8WCIf4AVjdpAv5I → 27Vk-YuF5IVK9FBSw9u-7}/_ssgManifest.js +0 -0
@@ -0,0 +1,176 @@
1
+ import { createHash } from "crypto";
2
+
3
+ import { proxyAwareFetch } from "../utils/proxyFetch.js";
4
+
5
+ export const KIMCHI_API = "https://llm.kimchi.dev";
6
+ export const KIMCHI_USER_AGENT = "kimchi/0.1.40";
7
+
8
+ const FETCH_TIMEOUT_MS = 20_000;
9
+ const CACHE_TTL_MS = 5 * 60 * 1000;
10
+ const RETRYABLE_STATUSES = new Set([429, 500, 502, 503, 504]);
11
+
12
+ /** @type {Map<string, { expiresAt: number, models: object[], rawModels: object[] }>} */
13
+ const catalogCache = new Map();
14
+ /** @type {Map<string, object>} */
15
+ const metadataByModelId = new Map();
16
+
17
+ function normalizeKimchiEndpoint(endpoint) {
18
+ const raw = typeof endpoint === "string" ? endpoint.trim() : "";
19
+ return (raw || KIMCHI_API).replace(/\/+$/, "");
20
+ }
21
+
22
+ export function buildKimchiModelsUrl(endpoint) {
23
+ return `${normalizeKimchiEndpoint(endpoint)}/v1/models/metadata?include_in_cli=true`;
24
+ }
25
+
26
+ function readToken(credentials) {
27
+ return (
28
+ credentials?.accessToken
29
+ || credentials?.apiKey
30
+ || credentials?.providerSpecificData?.apiKey
31
+ || null
32
+ );
33
+ }
34
+
35
+ function cacheKey(credentials, endpoint) {
36
+ const psd = credentials?.providerSpecificData || {};
37
+ const seed = psd.userId || psd.username || credentials?.refreshToken || readToken(credentials) || "anonymous";
38
+ return createHash("sha256")
39
+ .update(`kimchi:${normalizeKimchiEndpoint(endpoint)}:${seed}`)
40
+ .digest("hex");
41
+ }
42
+
43
+ function toModelKind(inputModalities) {
44
+ return Array.isArray(inputModalities) && inputModalities.includes("image")
45
+ ? "imageToText"
46
+ : "llm";
47
+ }
48
+
49
+ export function normalizeKimchiModel(item) {
50
+ if (!item || typeof item !== "object") return null;
51
+ const id = item.slug || item.id || item.model || item.name;
52
+ if (typeof id !== "string" || id.trim() === "") return null;
53
+
54
+ const inputModalities = Array.isArray(item.input_modalities)
55
+ ? item.input_modalities.filter((value) => value === "text" || value === "image")
56
+ : [];
57
+ const limits = item.limits && typeof item.limits === "object" ? item.limits : {};
58
+ const contextLength = Number(limits.context_window || item.contextLength || item.context_length) || undefined;
59
+ const maxOutputTokens = Number(limits.max_output_tokens || item.maxOutputTokens || item.max_output_tokens) || undefined;
60
+ const upstreamProvider = typeof item.provider === "string" ? item.provider : "";
61
+ const reasoning = item.reasoning === true;
62
+ const kind = toModelKind(inputModalities);
63
+
64
+ const model = {
65
+ ...item,
66
+ id: id.trim(),
67
+ name: String(item.display_name || item.displayName || item.name || id).trim(),
68
+ provider: upstreamProvider,
69
+ upstreamProvider,
70
+ reasoning,
71
+ inputModalities,
72
+ kind,
73
+ type: kind,
74
+ capabilities: {
75
+ vision: inputModalities.includes("image"),
76
+ reasoning,
77
+ ...(contextLength ? { contextWindow: contextLength } : {}),
78
+ ...(maxOutputTokens ? { maxOutput: maxOutputTokens } : {}),
79
+ ...(upstreamProvider ? { upstreamProvider } : {}),
80
+ },
81
+ ...(contextLength ? { contextLength } : {}),
82
+ ...(maxOutputTokens ? { maxOutputTokens } : {}),
83
+ };
84
+
85
+ if (upstreamProvider === "anthropic") {
86
+ model.compat = { supportsReasoningEffort: false, cacheControlFormat: "anthropic" };
87
+ }
88
+
89
+ return model;
90
+ }
91
+
92
+ function rememberModels(models) {
93
+ for (const model of models || []) {
94
+ if (!model?.id) continue;
95
+ metadataByModelId.set(model.id, model);
96
+ metadataByModelId.set(model.id.toLowerCase(), model);
97
+ }
98
+ }
99
+
100
+ export function getCachedKimchiModelMetadata(modelId) {
101
+ if (typeof modelId !== "string" || modelId.trim() === "") return null;
102
+ const raw = modelId.includes("/") ? modelId.split("/").pop() : modelId;
103
+ return metadataByModelId.get(raw) || metadataByModelId.get(raw.toLowerCase()) || null;
104
+ }
105
+
106
+ async function fetchKimchiCatalogRaw(token, endpoint, options = {}) {
107
+ const url = buildKimchiModelsUrl(endpoint);
108
+ const controller = new AbortController();
109
+ const timeout = setTimeout(() => controller.abort(new Error("Kimchi models fetch timeout")), FETCH_TIMEOUT_MS);
110
+ const signal = options.signal
111
+ ? AbortSignal.any([options.signal, controller.signal])
112
+ : controller.signal;
113
+
114
+ try {
115
+ const response = await proxyAwareFetch(url, {
116
+ method: "GET",
117
+ headers: {
118
+ "Accept": "application/json",
119
+ "Authorization": `Bearer ${token}`,
120
+ "User-Agent": KIMCHI_USER_AGENT,
121
+ },
122
+ cache: "no-store",
123
+ signal,
124
+ }, options.proxyOptions || null);
125
+
126
+ if (!response.ok) {
127
+ const error = new Error(`Kimchi models ${response.status}: ${response.statusText}`);
128
+ error.status = response.status;
129
+ error.retryable = RETRYABLE_STATUSES.has(response.status);
130
+ throw error;
131
+ }
132
+
133
+ const data = await response.json();
134
+ return Array.isArray(data?.models) ? data.models : [];
135
+ } finally {
136
+ clearTimeout(timeout);
137
+ }
138
+ }
139
+
140
+ export async function resolveKimchiModels(credentials, options = {}) {
141
+ const token = readToken(credentials);
142
+ if (!token) return null;
143
+
144
+ const endpoint = credentials?.providerSpecificData?.kimchiEndpoint || options.endpoint || KIMCHI_API;
145
+ const key = cacheKey(credentials, endpoint);
146
+ const now = Date.now();
147
+ if (!options.forceRefresh) {
148
+ const cached = catalogCache.get(key);
149
+ if (cached && cached.expiresAt > now) return cached;
150
+ }
151
+
152
+ let rawModels;
153
+ try {
154
+ rawModels = await fetchKimchiCatalogRaw(token, endpoint, options);
155
+ } catch (error) {
156
+ options.log?.warn?.("KIMCHI_MODELS", error.message);
157
+ return null;
158
+ }
159
+
160
+ const models = rawModels.map(normalizeKimchiModel).filter(Boolean);
161
+ if (models.length === 0) return null;
162
+
163
+ rememberModels(models);
164
+ const entry = {
165
+ expiresAt: Date.now() + CACHE_TTL_MS,
166
+ models,
167
+ rawModels,
168
+ };
169
+ catalogCache.set(key, entry);
170
+ return entry;
171
+ }
172
+
173
+ export function clearKimchiCatalog() {
174
+ catalogCache.clear();
175
+ metadataByModelId.clear();
176
+ }
@@ -1,147 +1,22 @@
1
- // Provider alias to ID mapping
2
- const ALIAS_TO_PROVIDER_ID = {
3
- cc: "claude",
4
- cx: "codex",
5
- gc: "gemini-cli",
6
- qw: "qwen",
7
- if: "iflow",
8
- ag: "antigravity",
9
- gh: "github",
10
- kr: "kiro",
11
- cu: "cursor",
12
- kc: "kilocode",
13
- kmc: "kimi-coding",
14
- cl: "cline",
15
- oc: "opencode",
16
- ocg: "opencode-go",
17
- qd: "qoder",
18
- qoder: "qoder",
19
- // TTS providers
1
+ import REGISTRY from "../providers/registry/index.js";
2
+
3
+ // Alias→id derived from registry single-source: id→id, alias→id, aliases[]→id.
4
+ // Media-only providers without a registry transport entry keep explicit aliases here.
5
+ const MEDIA_ONLY_ALIASES = {
20
6
  el: "elevenlabs",
21
- // API Key providers
22
- openai: "openai",
23
- vercel: "vercel-ai-gateway",
24
- "vercel-ai-gateway": "vercel-ai-gateway",
25
- anthropic: "anthropic",
26
- gemini: "gemini",
27
- openrouter: "openrouter",
28
- glm: "glm",
29
- kimi: "kimi",
30
- minimax: "minimax",
31
- "minimax-cn": "minimax-cn",
32
- hf: "huggingface",
33
- huggingface: "huggingface",
34
- ds: "deepseek",
35
- deepseek: "deepseek",
36
- cmc: "commandcode",
37
- commandcode: "commandcode",
38
- groq: "groq",
39
- xai: "xai",
40
- mistral: "mistral",
41
- pplx: "perplexity",
42
- perplexity: "perplexity",
43
- together: "together",
44
- fireworks: "fireworks",
45
- cerebras: "cerebras",
46
- cohere: "cohere",
47
- nvidia: "nvidia",
48
- nebius: "nebius",
49
- siliconflow: "siliconflow",
50
- hyp: "hyperbolic",
51
- hyperbolic: "hyperbolic",
52
- dg: "deepgram",
53
- deepgram: "deepgram",
54
- aai: "assemblyai",
55
- assemblyai: "assemblyai",
56
- nb: "nanobanana",
57
- nanobanana: "nanobanana",
58
- ch: "chutes",
59
- chutes: "chutes",
60
- ark: "volcengine-ark",
61
- "volcengine-ark": "volcengine-ark",
62
- byteplus: "byteplus",
63
- bpm: "byteplus",
64
- cursor: "cursor",
65
- vx: "vertex",
66
- vertex: "vertex",
67
- vxp: "vertex-partner",
68
- "vertex-partner": "vertex-partner",
69
- // Web cookie providers
70
- gw: "grok-web",
71
- "grok-web": "grok-web",
72
- pw: "perplexity-web",
73
- "perplexity-web": "perplexity-web",
74
- mimo: "xiaomi-mimo",
75
- "xiaomi-mimo": "xiaomi-mimo",
76
- xmtp: "xiaomi-tokenplan",
77
- "xiaomi-tokenplan": "xiaomi-tokenplan",
78
- cf: "cloudflare-ai",
79
- "cloudflare-ai": "cloudflare-ai",
80
- // Image/video providers
81
- fal: "fal-ai",
82
- "fal-ai": "fal-ai",
83
- stability: "stability-ai",
84
- "stability-ai": "stability-ai",
85
- bfl: "black-forest-labs",
86
- "black-forest-labs": "black-forest-labs",
87
- recraft: "recraft",
88
- topaz: "topaz",
89
- runway: "runwayml",
90
- runwayml: "runwayml",
91
- // Embedding/rerank
92
7
  jina: "jina-ai",
93
8
  "jina-ai": "jina-ai",
94
- // TTS
95
9
  polly: "aws-polly",
96
10
  "aws-polly": "aws-polly",
97
- // Free-tier providers (synced from OmniRoute)
98
- agentrouter: "agentrouter",
99
- aimlapi: "aimlapi",
100
- aiml: "aimlapi",
101
- novita: "novita",
102
- modal: "modal",
103
- mdl: "modal",
104
- reka: "reka",
105
- nlpcloud: "nlpcloud",
106
- nlpc: "nlpcloud",
107
- bazaarlink: "bazaarlink",
108
- bzl: "bazaarlink",
109
- completions: "completions",
110
- cpl: "completions",
111
- enally: "enally",
112
- enly: "enally",
113
- freetheai: "freetheai",
114
- fta: "freetheai",
115
- llm7: "llm7",
116
- lepton: "lepton",
117
- kluster: "kluster",
118
- ai21: "ai21",
119
- "inference-net": "inference-net",
120
- inet: "inference-net",
121
- predibase: "predibase",
122
- bytez: "bytez",
123
- morph: "morph",
124
- longcat: "longcat",
125
- lc: "longcat",
126
- puter: "puter",
127
- pu: "puter",
128
- uncloseai: "uncloseai",
129
- unc: "uncloseai",
130
- scaleway: "scaleway",
131
- scw: "scaleway",
132
- deepinfra: "deepinfra",
133
- sambanova: "sambanova",
134
- samba: "sambanova",
135
- nscale: "nscale",
136
- baseten: "baseten",
137
- publicai: "publicai",
138
- "nous-research": "nous-research",
139
- nous: "nous-research",
140
- glhf: "glhf",
141
- bb: "blackbox",
142
- blackbox: "blackbox",
143
11
  };
144
12
 
13
+ const ALIAS_TO_PROVIDER_ID = { ...MEDIA_ONLY_ALIASES };
14
+ for (const entry of REGISTRY) {
15
+ ALIAS_TO_PROVIDER_ID[entry.id] = entry.id;
16
+ if (entry.alias) ALIAS_TO_PROVIDER_ID[entry.alias] = entry.id;
17
+ for (const a of entry.aliases || []) ALIAS_TO_PROVIDER_ID[a] = entry.id;
18
+ }
19
+
145
20
  /**
146
21
  * Resolve provider alias to provider ID
147
22
  */
@@ -241,6 +116,15 @@ export async function getModelInfoCore(modelStr, aliasesOrGetter) {
241
116
  };
242
117
  }
243
118
 
119
+ // Config-driven prefix → provider inference (first match wins, fallback "openai").
120
+ const MODEL_PREFIX_PROVIDERS = [
121
+ [/^claude-/, "anthropic"],
122
+ [/^gemini-/, "gemini"],
123
+ [/^gpt-/, "openai"],
124
+ [/^o[134]/, "openai"],
125
+ [/^deepseek-/, "openrouter"],
126
+ ];
127
+
244
128
  /**
245
129
  * Infer provider from model name prefix
246
130
  * Used as fallback when no provider prefix or alias is given
@@ -248,12 +132,5 @@ export async function getModelInfoCore(modelStr, aliasesOrGetter) {
248
132
  function inferProviderFromModelName(modelName) {
249
133
  if (!modelName) return "openai";
250
134
  const m = modelName.toLowerCase();
251
- if (m.startsWith("claude-")) return "anthropic";
252
- if (m.startsWith("gemini-")) return "gemini";
253
- if (m.startsWith("gpt-")) return "openai";
254
- if (m.startsWith("o1") || m.startsWith("o3") || m.startsWith("o4"))
255
- return "openai";
256
- if (m.startsWith("deepseek-")) return "openrouter";
257
- // Default fallback
258
- return "openai";
135
+ return MODEL_PREFIX_PROVIDERS.find(([re]) => re.test(m))?.[1] || "openai";
259
136
  }
@@ -3,8 +3,10 @@ import {
3
3
  isUnrecoverableRefreshError,
4
4
  refreshTokenByProvider,
5
5
  } from "./tokenRefresh.js";
6
+ import { PROVIDER_OAUTH } from "../providers/index.js";
6
7
 
7
- export const CODEX_MAX_REFRESH_AGE_MS = 8 * 24 * 60 * 60 * 1000;
8
+ // Single source: codex.oauth.maxRefreshAgeMs (8 days) proactive refresh window
9
+ export const CODEX_MAX_REFRESH_AGE_MS = PROVIDER_OAUTH["codex"]?.maxRefreshAgeMs;
8
10
 
9
11
  const refreshLocks = new Map();
10
12
 
@@ -35,9 +37,9 @@ export function getCredentialLastRefreshMs(credentials) {
35
37
  );
36
38
  }
37
39
 
38
- export function isCodexRefreshStale(credentials, nowMs = Date.now()) {
40
+ export function isCodexRefreshStale(credentials, nowMs = Date.now(), maxAgeMs = CODEX_MAX_REFRESH_AGE_MS) {
39
41
  const lastRefreshMs = getCredentialLastRefreshMs(credentials);
40
- return !lastRefreshMs || nowMs - lastRefreshMs >= CODEX_MAX_REFRESH_AGE_MS;
42
+ return !lastRefreshMs || nowMs - lastRefreshMs >= maxAgeMs;
41
43
  }
42
44
 
43
45
  export function shouldRefreshCredentials(provider, credentials, nowMs = Date.now()) {
@@ -48,7 +50,9 @@ export function shouldRefreshCredentials(provider, credentials, nowMs = Date.now
48
50
  return true;
49
51
  }
50
52
 
51
- if (provider === "codex" && credentials.refreshToken && isCodexRefreshStale(credentials, nowMs)) {
53
+ // Proactive stale refresh for providers declaring oauth.maxRefreshAgeMs (e.g. codex)
54
+ const maxAgeMs = PROVIDER_OAUTH[provider]?.maxRefreshAgeMs;
55
+ if (maxAgeMs && credentials.refreshToken && isCodexRefreshStale(credentials, nowMs, maxAgeMs)) {
52
56
  return true;
53
57
  }
54
58
 
@@ -101,8 +105,9 @@ export function mergeRefreshedCredentials(provider, currentCredentials, refreshe
101
105
  next.copilotTokenExpiresAt = refreshedCredentials.copilotTokenExpiresAt;
102
106
  }
103
107
 
108
+ // trackRefreshAt providers (e.g. codex) always stamp lastRefreshAt for staleness tracking
104
109
  if (
105
- provider === "codex" ||
110
+ PROVIDER_OAUTH[provider]?.trackRefreshAt ||
106
111
  next.accessToken ||
107
112
  next.apiKey ||
108
113
  next.token ||
@@ -1,14 +1,14 @@
1
1
  import { PROVIDERS } from "../config/providers.js";
2
- import { buildClineHeaders } from "../../src/shared/utils/clineAuth.js";
2
+ import { OPENAI_COMPAT_BASE, ANTHROPIC_COMPAT_BASE } from "../providers/shared.js";
3
3
 
4
4
  const OPENAI_COMPATIBLE_PREFIX = "openai-compatible-";
5
5
  const OPENAI_COMPATIBLE_DEFAULTS = {
6
- baseUrl: "https://api.openai.com/v1",
6
+ baseUrl: OPENAI_COMPAT_BASE,
7
7
  };
8
8
 
9
9
  const ANTHROPIC_COMPATIBLE_PREFIX = "anthropic-compatible-";
10
10
  const ANTHROPIC_COMPATIBLE_DEFAULTS = {
11
- baseUrl: "https://api.anthropic.com/v1",
11
+ baseUrl: ANTHROPIC_COMPAT_BASE,
12
12
  };
13
13
 
14
14
  function isOpenAICompatible(provider) {
@@ -24,27 +24,6 @@ function getOpenAICompatibleType(provider) {
24
24
  return provider.includes("responses") ? "responses" : "chat";
25
25
  }
26
26
 
27
- function buildOpenAICompatibleUrl(baseUrl, apiType) {
28
- const normalized = baseUrl.replace(/\/$/, "");
29
- const path = apiType === "responses" ? "/responses" : "/chat/completions";
30
- return `${normalized}${path}`;
31
- }
32
-
33
- function buildAnthropicCompatibleUrl(baseUrl) {
34
- const normalized = baseUrl.replace(/\/$/, "");
35
- return `${normalized}/messages`;
36
- }
37
-
38
- function buildQwenBaseUrl(resourceUrl, fallbackBaseUrl) {
39
- const fallback = (fallbackBaseUrl || "").replace(/\/chat\/completions$/, "");
40
- const raw = typeof resourceUrl === "string" ? resourceUrl.trim() : "";
41
- if (!raw) return fallback;
42
- if (raw.startsWith("http://") || raw.startsWith("https://")) {
43
- return raw.replace(/\/$/, "");
44
- }
45
- return `https://${raw.replace(/\/$/, "")}/v1`;
46
- }
47
-
48
27
  // Detect request format from body structure
49
28
  export function detectFormat(body) {
50
29
  // OpenAI Responses API: has input (array or string) instead of messages[]
@@ -125,8 +104,8 @@ export function detectFormat(body) {
125
104
  return "openai";
126
105
  }
127
106
 
128
- // Get provider config
129
- export function getProviderConfig(provider) {
107
+ // Get provider config (internal — no external runtime consumer)
108
+ function getProviderConfig(provider) {
130
109
  if (isOpenAICompatible(provider)) {
131
110
  const apiType = getOpenAICompatibleType(provider);
132
111
  return {
@@ -145,180 +124,6 @@ export function getProviderConfig(provider) {
145
124
  return PROVIDERS[provider] || PROVIDERS.openai;
146
125
  }
147
126
 
148
- // Get number of fallback URLs for provider (for retry logic)
149
- export function getProviderFallbackCount(provider) {
150
- const config = getProviderConfig(provider);
151
- return config.baseUrls?.length || 1;
152
- }
153
-
154
- // Build provider URL
155
- export function buildProviderUrl(provider, model, stream = true, options = {}) {
156
- if (isOpenAICompatible(provider)) {
157
- const apiType = getOpenAICompatibleType(provider);
158
- const baseUrl = options?.baseUrl || OPENAI_COMPATIBLE_DEFAULTS.baseUrl;
159
- return buildOpenAICompatibleUrl(baseUrl, apiType);
160
- }
161
- if (isAnthropicCompatible(provider)) {
162
- const baseUrl = options?.baseUrl || ANTHROPIC_COMPATIBLE_DEFAULTS.baseUrl;
163
- return buildAnthropicCompatibleUrl(baseUrl);
164
- }
165
- const config = getProviderConfig(provider);
166
-
167
- switch (provider) {
168
- case "claude":
169
- return `${config.baseUrl}?beta=true`;
170
-
171
- case "gemini": {
172
- const action = stream ? "streamGenerateContent?alt=sse" : "generateContent";
173
- return `${config.baseUrl}/${model}:${action}`;
174
- }
175
-
176
- case "gemini-cli": {
177
- const action = stream ? "streamGenerateContent?alt=sse" : "generateContent";
178
- return `${config.baseUrl}:${action}`;
179
- }
180
-
181
- case "antigravity": {
182
- // Use baseUrlIndex from options or default to 0
183
- const urlIndex = options?.baseUrlIndex || 0;
184
- const baseUrl = config.baseUrls[urlIndex] || config.baseUrls[0];
185
- const path = stream ? "/v1internal:streamGenerateContent?alt=sse" : "/v1internal:generateContent";
186
- return `${baseUrl}${path}`;
187
- }
188
-
189
- case "codex":
190
- return config.baseUrl;
191
-
192
- case "qwen": {
193
- const baseUrl = buildQwenBaseUrl(options?.qwenResourceUrl, config.baseUrl);
194
- return `${baseUrl}/chat/completions`;
195
- }
196
-
197
- case "github":
198
- return config.baseUrl;
199
-
200
- case "glm":
201
- case "kimi":
202
- case "minimax":
203
- // Claude-compatible providers
204
- return `${config.baseUrl}?beta=true`;
205
-
206
- default:
207
- return config.baseUrl;
208
- }
209
- }
210
-
211
- // Build provider headers
212
- export function buildProviderHeaders(provider, credentials, stream = true, body = null) {
213
- const config = getProviderConfig(provider);
214
- const headers = {
215
- "Content-Type": "application/json",
216
- ...config.headers
217
- };
218
-
219
- // Add auth header
220
- // Specific override for Anthropic Compatible
221
- if (isAnthropicCompatible(provider)) {
222
- if (credentials.apiKey) {
223
- headers["x-api-key"] = credentials.apiKey;
224
- // Do NOT send Authorization header when apiKey is present for Anthropic Compatible
225
- // as it causes issues with some providers (e.g. opencode.ai)
226
- } else if (credentials.accessToken) {
227
- headers["Authorization"] = `Bearer ${credentials.accessToken}`;
228
- }
229
- // Add default Anthropic version if not present (some proxies require it)
230
- if (!headers["anthropic-version"]) {
231
- headers["anthropic-version"] = "2023-06-01";
232
- }
233
- } else {
234
- switch (provider) {
235
- case "gemini":
236
- if (credentials.apiKey) {
237
- headers["x-goog-api-key"] = credentials.apiKey;
238
- } else if (credentials.accessToken) {
239
- headers["Authorization"] = `Bearer ${credentials.accessToken}`;
240
- }
241
- break;
242
-
243
- case "antigravity":
244
- case "gemini-cli":
245
- // Antigravity and Gemini CLI use OAuth access token
246
- headers["Authorization"] = `Bearer ${credentials.accessToken}`;
247
- break;
248
-
249
- case "claude":
250
- // Claude uses x-api-key header for API key, or Authorization for OAuth
251
- if (credentials.apiKey) {
252
- headers["x-api-key"] = credentials.apiKey;
253
- } else if (credentials.accessToken) {
254
- headers["Authorization"] = `Bearer ${credentials.accessToken}`;
255
- }
256
- break;
257
-
258
- case "github": {
259
- // GitHub Copilot requires special headers to mimic VSCode
260
- // Prioritize copilotToken from providerSpecificData, fallback to accessToken
261
- const githubToken = credentials.copilotToken || credentials.accessToken;
262
- // Add headers in exact same order as test endpoint
263
- headers["Authorization"] = `Bearer ${githubToken}`;
264
- headers["Content-Type"] = "application/json";
265
- headers["copilot-integration-id"] = "vscode-chat";
266
- headers["editor-version"] = "vscode/1.107.1";
267
- headers["editor-plugin-version"] = "copilot-chat/0.26.7";
268
- headers["user-agent"] = "GitHubCopilotChat/0.26.7";
269
- headers["openai-intent"] = "conversation-panel";
270
- headers["x-github-api-version"] = "2025-04-01";
271
- // Generate a UUID for x-request-id (Cloudflare Workers compatible)
272
- headers["x-request-id"] = crypto.randomUUID ? crypto.randomUUID() :
273
- 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
274
- const r = Math.random() * 16 | 0;
275
- const v = c == 'x' ? r : (r & 0x3 | 0x8);
276
- return v.toString(16);
277
- });
278
- headers["x-vscode-user-agent-library-version"] = "electron-fetch";
279
- headers["X-Initiator"] = "user";
280
- headers["Accept"] = "application/json";
281
- break;
282
- }
283
-
284
- case "codex":
285
- case "qwen":
286
- case "openai":
287
- case "openrouter":
288
- headers["Authorization"] = `Bearer ${credentials.apiKey || credentials.accessToken}`;
289
- break;
290
-
291
- case "cline":
292
- Object.assign(headers, buildClineHeaders(credentials.apiKey || credentials.accessToken));
293
- break;
294
-
295
- case "glm":
296
- case "kimi":
297
- case "minimax":
298
- // Claude-compatible API providers use x-api-key
299
- headers["x-api-key"] = credentials.apiKey;
300
- break;
301
-
302
- case "vertex":
303
- case "vertex-partner":
304
- // Vertex uses async token minting — headers are set by VertexExecutor._buildHeadersAsync()
305
- // Do NOT set Authorization here; it would leak the raw SA JSON as Bearer token
306
- break;
307
-
308
- default:
309
- headers["Authorization"] = `Bearer ${credentials.apiKey || credentials.accessToken}`;
310
- break;
311
- }
312
- }
313
-
314
- // Stream accept header
315
- if (stream) {
316
- headers["Accept"] = "text/event-stream";
317
- }
318
-
319
- return headers;
320
- }
321
-
322
127
  // Get target format for provider
323
128
  export function getTargetFormat(provider) {
324
129
  if (isOpenAICompatible(provider)) {
@@ -331,6 +136,16 @@ export function getTargetFormat(provider) {
331
136
  return config.format || "openai";
332
137
  }
333
138
 
139
+ // Resolve which transport to use for a provider given the client sourceFormat.
140
+ // Multi-endpoint providers (transport.transports[]) pick the entry matching sourceFormat
141
+ // to avoid lossy translation; falls back to the default transport when no match.
142
+ export function resolveTransport(provider, sourceFormat) {
143
+ const config = PROVIDERS[provider];
144
+ const transports = config?.transports;
145
+ if (!Array.isArray(transports) || !transports.length) return null;
146
+ return transports.find(t => t.format === sourceFormat) || null;
147
+ }
148
+
334
149
  // Check if last message is from user
335
150
  export function isLastMessageFromUser(body) {
336
151
  const messages = body.messages || body.contents;
@@ -344,12 +159,10 @@ export function hasThinkingConfig(body) {
344
159
  return !!(body.reasoning_effort || body.thinking?.type === "enabled");
345
160
  }
346
161
 
347
- // Normalize thinking config based on last message role
348
- // - If lastMessage is not user remove thinking config
349
- // - If lastMessage is user AND has thinking config → keep it (force enable)
162
+ // Normalize provider-native thinking config based on last message role.
163
+ // OpenAI reasoning_effort is request-level and must survive tool-result turns.
350
164
  export function normalizeThinkingConfig(body) {
351
165
  if (!isLastMessageFromUser(body)) {
352
- delete body.reasoning_effort;
353
166
  delete body.thinking;
354
167
  }
355
168
  return body;
@@ -15,10 +15,10 @@
15
15
  import { createHash } from "crypto";
16
16
 
17
17
  import { proxyAwareFetch } from "../utils/proxyFetch.js";
18
- import { buildCosyHeaders } from "@/lib/qoder/cosy.js";
18
+ import { buildCosyHeaders } from "../shared/qoder/cosy.js";
19
19
  import {
20
20
  QODER_MODEL_LIST_URL,
21
- } from "@/lib/qoder/constants.js";
21
+ } from "../shared/qoder/constants.js";
22
22
 
23
23
  const FETCH_TIMEOUT_MS = 15_000;
24
24
  const CACHE_TTL_MS = 60 * 60 * 1000; // 1h, same as the Kiro catalog