@yina-npm/openrouterx 0.4.7 → 0.4.10

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 (811) hide show
  1. package/README.md +196 -138
  2. package/app/.next/BUILD_ID +1 -1
  3. package/app/.next/app-path-routes-manifest.json +8 -2
  4. package/app/.next/build-manifest.json +2 -2
  5. package/app/.next/prerender-manifest.json +24 -0
  6. package/app/.next/required-server-files.json +3 -3
  7. package/app/.next/routes-manifest.json +38 -0
  8. package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  9. package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  10. package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  11. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  12. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  13. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  14. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  15. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  16. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  17. package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  18. package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  19. package/app/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  20. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  21. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  22. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  23. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +16 -14
  24. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  25. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  26. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  27. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  28. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  29. package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/combo/[id]/page.js +5 -0
  30. package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/combo/[id]/page.js.nft.json +1 -0
  31. package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/combo/[id]/page_client-reference-manifest.js +1 -0
  32. package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -0
  33. package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -0
  34. package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -0
  35. package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  36. package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  37. package/app/.next/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  38. package/app/.next/server/app/(dashboard)/dashboard/page.js +2 -2
  39. package/app/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  40. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  41. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  42. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  43. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  44. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  45. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  46. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  47. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  48. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  49. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  50. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  51. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  52. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  53. package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
  54. package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  55. package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  56. package/app/.next/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  57. package/app/.next/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  58. package/app/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  59. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  60. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  61. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  62. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  63. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  64. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  65. package/app/.next/server/app/_global-error/page.js +2 -2
  66. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  67. package/app/.next/server/app/_global-error.html +1 -1
  68. package/app/.next/server/app/_global-error.rsc +1 -1
  69. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  70. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  71. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  72. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  73. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  74. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  75. package/app/.next/server/app/_not-found/page.js +2 -2
  76. package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
  77. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  78. package/app/.next/server/app/_not-found.html +1 -1
  79. package/app/.next/server/app/_not-found.rsc +4 -4
  80. package/app/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
  81. package/app/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  82. package/app/.next/server/app/_not-found.segments/_index.segment.rsc +4 -4
  83. package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  84. package/app/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  85. package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  86. package/app/.next/server/app/api/auth/login/route.js +1 -1
  87. package/app/.next/server/app/api/auth/login/route.js.nft.json +1 -1
  88. package/app/.next/server/app/api/auth/logout/route.js +1 -1
  89. package/app/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
  90. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  91. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  92. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  93. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  94. package/app/.next/server/app/api/cli-tools/claude-settings/route.js +2 -2
  95. package/app/.next/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  96. package/app/.next/server/app/api/cli-tools/codex-settings/route.js +2 -2
  97. package/app/.next/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  98. package/app/.next/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  99. package/app/.next/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  100. package/app/.next/server/app/api/cli-tools/droid-settings/route.js +1 -1
  101. package/app/.next/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  102. package/app/.next/server/app/api/cli-tools/hermes-settings/route.js +1 -1
  103. package/app/.next/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  104. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +1 -1
  105. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  106. package/app/.next/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  107. package/app/.next/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  108. package/app/.next/server/app/api/cloud/auth/route.js +1 -1
  109. package/app/.next/server/app/api/cloud/auth/route.js.nft.json +1 -1
  110. package/app/.next/server/app/api/cloud/credentials/update/route.js +1 -1
  111. package/app/.next/server/app/api/cloud/credentials/update/route.js.nft.json +1 -1
  112. package/app/.next/server/app/api/cloud/model/resolve/route.js +1 -1
  113. package/app/.next/server/app/api/cloud/model/resolve/route.js.nft.json +1 -1
  114. package/app/.next/server/app/api/cloud/models/alias/route.js +1 -1
  115. package/app/.next/server/app/api/cloud/models/alias/route.js.nft.json +1 -1
  116. package/app/.next/server/app/api/combos/[id]/route.js +1 -1
  117. package/app/.next/server/app/api/combos/[id]/route.js.nft.json +1 -1
  118. package/app/.next/server/app/api/combos/route.js +1 -1
  119. package/app/.next/server/app/api/combos/route.js.nft.json +1 -1
  120. package/app/.next/server/app/api/health/route.js +1 -1
  121. package/app/.next/server/app/api/health/route.js.nft.json +1 -1
  122. package/app/.next/server/app/api/init/route.js +1 -1
  123. package/app/.next/server/app/api/init/route.js.nft.json +1 -1
  124. package/app/.next/server/app/api/keys/[id]/route.js +1 -1
  125. package/app/.next/server/app/api/keys/[id]/route.js.nft.json +1 -1
  126. package/app/.next/server/app/api/keys/route.js +1 -1
  127. package/app/.next/server/app/api/keys/route.js.nft.json +1 -1
  128. package/app/.next/server/app/api/locale/route.js +1 -1
  129. package/app/.next/server/app/api/locale/route.js.nft.json +1 -1
  130. package/app/.next/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -0
  131. package/app/.next/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -0
  132. package/app/.next/server/app/api/media-providers/tts/deepgram/voices/route_client-reference-manifest.js +1 -0
  133. package/app/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  134. package/app/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  135. package/app/.next/server/app/api/media-providers/tts/inworld/voices/route.js +1 -0
  136. package/app/.next/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -0
  137. package/app/.next/server/app/api/media-providers/tts/inworld/voices/route_client-reference-manifest.js +1 -0
  138. package/app/.next/server/app/api/media-providers/tts/voices/route.js +1 -1
  139. package/app/.next/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  140. package/app/.next/server/app/api/models/alias/route.js +1 -1
  141. package/app/.next/server/app/api/models/alias/route.js.nft.json +1 -1
  142. package/app/.next/server/app/api/models/availability/route.js +1 -1
  143. package/app/.next/server/app/api/models/availability/route.js.nft.json +1 -1
  144. package/app/.next/server/app/api/models/custom/route.js +1 -1
  145. package/app/.next/server/app/api/models/custom/route.js.nft.json +1 -1
  146. package/app/.next/server/app/api/models/route.js +1 -1
  147. package/app/.next/server/app/api/models/route.js.nft.json +1 -1
  148. package/app/.next/server/app/api/models/test/route.js +1 -1
  149. package/app/.next/server/app/api/models/test/route.js.nft.json +1 -1
  150. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  151. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  152. package/app/.next/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  153. package/app/.next/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  154. package/app/.next/server/app/api/oauth/cursor/import/route.js +1 -1
  155. package/app/.next/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  156. package/app/.next/server/app/api/oauth/gitlab/pat/route.js +1 -1
  157. package/app/.next/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  158. package/app/.next/server/app/api/oauth/iflow/cookie/route.js +1 -1
  159. package/app/.next/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  160. package/app/.next/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  161. package/app/.next/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  162. package/app/.next/server/app/api/oauth/kiro/import/route.js +1 -1
  163. package/app/.next/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  164. package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  165. package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  166. package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  167. package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  168. package/app/.next/server/app/api/pricing/route.js +1 -1
  169. package/app/.next/server/app/api/pricing/route.js.nft.json +1 -1
  170. package/app/.next/server/app/api/provider-nodes/[id]/route.js +1 -1
  171. package/app/.next/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  172. package/app/.next/server/app/api/provider-nodes/route.js +1 -1
  173. package/app/.next/server/app/api/provider-nodes/route.js.nft.json +1 -1
  174. package/app/.next/server/app/api/provider-nodes/validate/route.js +1 -1
  175. package/app/.next/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  176. package/app/.next/server/app/api/providers/[id]/models/route.js +1 -1
  177. package/app/.next/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  178. package/app/.next/server/app/api/providers/[id]/route.js +1 -1
  179. package/app/.next/server/app/api/providers/[id]/route.js.nft.json +1 -1
  180. package/app/.next/server/app/api/providers/[id]/test/route.js +1 -1
  181. package/app/.next/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  182. package/app/.next/server/app/api/providers/[id]/test-models/route.js +1 -1
  183. package/app/.next/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  184. package/app/.next/server/app/api/providers/client/route.js +1 -1
  185. package/app/.next/server/app/api/providers/client/route.js.nft.json +1 -1
  186. package/app/.next/server/app/api/providers/kilo/free-models/route.js +1 -1
  187. package/app/.next/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  188. package/app/.next/server/app/api/providers/route.js +1 -1
  189. package/app/.next/server/app/api/providers/route.js.nft.json +1 -1
  190. package/app/.next/server/app/api/providers/suggested-models/route.js +1 -1
  191. package/app/.next/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  192. package/app/.next/server/app/api/providers/test-batch/route.js +1 -1
  193. package/app/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  194. package/app/.next/server/app/api/providers/validate/route.js +1 -1
  195. package/app/.next/server/app/api/providers/validate/route.js.nft.json +1 -1
  196. package/app/.next/server/app/api/proxy-pools/[id]/route.js +1 -1
  197. package/app/.next/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  198. package/app/.next/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  199. package/app/.next/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  200. package/app/.next/server/app/api/proxy-pools/route.js +1 -1
  201. package/app/.next/server/app/api/proxy-pools/route.js.nft.json +1 -1
  202. package/app/.next/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  203. package/app/.next/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  204. package/app/.next/server/app/api/settings/database/route.js +1 -1
  205. package/app/.next/server/app/api/settings/database/route.js.nft.json +1 -1
  206. package/app/.next/server/app/api/settings/proxy-test/route.js +1 -1
  207. package/app/.next/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  208. package/app/.next/server/app/api/settings/require-login/route.js +1 -1
  209. package/app/.next/server/app/api/settings/require-login/route.js.nft.json +1 -1
  210. package/app/.next/server/app/api/settings/route.js +1 -1
  211. package/app/.next/server/app/api/settings/route.js.nft.json +1 -1
  212. package/app/.next/server/app/api/shutdown/route.js +1 -1
  213. package/app/.next/server/app/api/shutdown/route.js.nft.json +1 -1
  214. package/app/.next/server/app/api/tags/route.js +1 -1
  215. package/app/.next/server/app/api/translator/console-logs/route.js +1 -1
  216. package/app/.next/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  217. package/app/.next/server/app/api/translator/console-logs/stream/route.js +2 -2
  218. package/app/.next/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  219. package/app/.next/server/app/api/translator/load/route.js +1 -1
  220. package/app/.next/server/app/api/translator/load/route.js.nft.json +1 -1
  221. package/app/.next/server/app/api/translator/save/route.js +1 -1
  222. package/app/.next/server/app/api/translator/save/route.js.nft.json +1 -1
  223. package/app/.next/server/app/api/translator/send/route.js +1 -1
  224. package/app/.next/server/app/api/translator/send/route.js.nft.json +1 -1
  225. package/app/.next/server/app/api/translator/translate/route.js +1 -1
  226. package/app/.next/server/app/api/translator/translate/route.js.nft.json +1 -1
  227. package/app/.next/server/app/api/tunnel/disable/route.js +1 -1
  228. package/app/.next/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  229. package/app/.next/server/app/api/tunnel/enable/route.js +1 -1
  230. package/app/.next/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  231. package/app/.next/server/app/api/tunnel/status/route.js +1 -1
  232. package/app/.next/server/app/api/tunnel/status/route.js.nft.json +1 -1
  233. package/app/.next/server/app/api/tunnel/tailscale-check/route.js +23 -4
  234. package/app/.next/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  235. package/app/.next/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  236. package/app/.next/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  237. package/app/.next/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  238. package/app/.next/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  239. package/app/.next/server/app/api/tunnel/tailscale-install/route.js +1 -1
  240. package/app/.next/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  241. package/app/.next/server/app/api/tunnel/tailscale-login/route.js +23 -4
  242. package/app/.next/server/app/api/tunnel/tailscale-login/route.js.nft.json +1 -1
  243. package/app/.next/server/app/api/tunnel/tailscale-start-daemon/route.js +1 -1
  244. package/app/.next/server/app/api/tunnel/tailscale-start-daemon/route.js.nft.json +1 -1
  245. package/app/.next/server/app/api/usage/[connectionId]/route.js +1 -1
  246. package/app/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  247. package/app/.next/server/app/api/usage/chart/route.js +1 -1
  248. package/app/.next/server/app/api/usage/chart/route.js.nft.json +1 -1
  249. package/app/.next/server/app/api/usage/history/route.js +1 -1
  250. package/app/.next/server/app/api/usage/history/route.js.nft.json +1 -1
  251. package/app/.next/server/app/api/usage/logs/route.js +1 -1
  252. package/app/.next/server/app/api/usage/logs/route.js.nft.json +1 -1
  253. package/app/.next/server/app/api/usage/providers/route.js +1 -1
  254. package/app/.next/server/app/api/usage/providers/route.js.nft.json +1 -1
  255. package/app/.next/server/app/api/usage/request-details/route.js +1 -1
  256. package/app/.next/server/app/api/usage/request-details/route.js.nft.json +1 -1
  257. package/app/.next/server/app/api/usage/request-logs/route.js +1 -1
  258. package/app/.next/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  259. package/app/.next/server/app/api/usage/stats/route.js +1 -1
  260. package/app/.next/server/app/api/usage/stats/route.js.nft.json +1 -1
  261. package/app/.next/server/app/api/usage/stream/route.js +2 -2
  262. package/app/.next/server/app/api/usage/stream/route.js.nft.json +1 -1
  263. package/app/.next/server/app/api/v1/api/chat/route.js +1 -1
  264. package/app/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  265. package/app/.next/server/app/api/v1/audio/speech/route.js +1 -1
  266. package/app/.next/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  267. package/app/.next/server/app/api/v1/chat/completions/route.js +1 -1
  268. package/app/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  269. package/app/.next/server/app/api/v1/embeddings/route.js +1 -1
  270. package/app/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  271. package/app/.next/server/app/api/v1/images/generations/route.js +4 -1
  272. package/app/.next/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  273. package/app/.next/server/app/api/v1/messages/count_tokens/route.js +1 -1
  274. package/app/.next/server/app/api/v1/messages/route.js +1 -1
  275. package/app/.next/server/app/api/v1/messages/route.js.nft.json +1 -1
  276. package/app/.next/server/app/api/v1/models/route.js +1 -1
  277. package/app/.next/server/app/api/v1/models/route.js.nft.json +1 -1
  278. package/app/.next/server/app/api/v1/responses/compact/route.js +1 -1
  279. package/app/.next/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  280. package/app/.next/server/app/api/v1/responses/route.js +1 -1
  281. package/app/.next/server/app/api/v1/responses/route.js.nft.json +1 -1
  282. package/app/.next/server/app/api/v1/route.js +1 -1
  283. package/app/.next/server/app/api/v1/search/route.js +1 -0
  284. package/app/.next/server/app/api/v1/search/route.js.nft.json +1 -0
  285. package/app/.next/server/app/api/v1/search/route_client-reference-manifest.js +1 -0
  286. package/app/.next/server/app/api/v1/web/fetch/route.js +1 -0
  287. package/app/.next/server/app/api/v1/web/fetch/route.js.nft.json +1 -0
  288. package/app/.next/server/app/api/v1/web/fetch/route_client-reference-manifest.js +1 -0
  289. package/app/.next/server/app/api/v1beta/models/[...path]/route.js +1 -1
  290. package/app/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  291. package/app/.next/server/app/api/v1beta/models/route.js +1 -1
  292. package/app/.next/server/app/api/v1beta/models/route.js.nft.json +1 -1
  293. package/app/.next/server/app/api/version/route.js +1 -1
  294. package/app/.next/server/app/api/version/update/route.js +1 -1
  295. package/app/.next/server/app/api/version/update/route.js.nft.json +1 -1
  296. package/app/.next/server/app/callback/page.js +2 -2
  297. package/app/.next/server/app/callback/page.js.nft.json +1 -1
  298. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  299. package/app/.next/server/app/callback.html +1 -1
  300. package/app/.next/server/app/callback.rsc +4 -4
  301. package/app/.next/server/app/callback.segments/_full.segment.rsc +4 -4
  302. package/app/.next/server/app/callback.segments/_head.segment.rsc +1 -1
  303. package/app/.next/server/app/callback.segments/_index.segment.rsc +4 -4
  304. package/app/.next/server/app/callback.segments/_tree.segment.rsc +2 -2
  305. package/app/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  306. package/app/.next/server/app/callback.segments/callback.segment.rsc +1 -1
  307. package/app/.next/server/app/dashboard/basic-chat.html +1 -1
  308. package/app/.next/server/app/dashboard/basic-chat.rsc +6 -6
  309. package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  310. package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  311. package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  312. package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  313. package/app/.next/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
  314. package/app/.next/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  315. package/app/.next/server/app/dashboard/basic-chat.segments/_index.segment.rsc +4 -4
  316. package/app/.next/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  317. package/app/.next/server/app/dashboard/cli-tools.html +1 -1
  318. package/app/.next/server/app/dashboard/cli-tools.rsc +6 -6
  319. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  320. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  321. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  322. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  323. package/app/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +6 -6
  324. package/app/.next/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  325. package/app/.next/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
  326. package/app/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  327. package/app/.next/server/app/dashboard/combos.html +1 -1
  328. package/app/.next/server/app/dashboard/combos.rsc +6 -6
  329. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  330. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  331. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  332. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  333. package/app/.next/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
  334. package/app/.next/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  335. package/app/.next/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
  336. package/app/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  337. package/app/.next/server/app/dashboard/endpoint.html +1 -1
  338. package/app/.next/server/app/dashboard/endpoint.rsc +6 -6
  339. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  340. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  341. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  342. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  343. package/app/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +6 -6
  344. package/app/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  345. package/app/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
  346. package/app/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  347. package/app/.next/server/app/dashboard/media-providers/web.html +1 -0
  348. package/app/.next/server/app/dashboard/media-providers/web.meta +18 -0
  349. package/app/.next/server/app/dashboard/media-providers/web.rsc +27 -0
  350. package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +9 -0
  351. package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +5 -0
  352. package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +5 -0
  353. package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  354. package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  355. package/app/.next/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +27 -0
  356. package/app/.next/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +6 -0
  357. package/app/.next/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +9 -0
  358. package/app/.next/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +6 -0
  359. package/app/.next/server/app/dashboard/mitm.html +1 -1
  360. package/app/.next/server/app/dashboard/mitm.rsc +6 -6
  361. package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  362. package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  363. package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  364. package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  365. package/app/.next/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
  366. package/app/.next/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  367. package/app/.next/server/app/dashboard/mitm.segments/_index.segment.rsc +4 -4
  368. package/app/.next/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  369. package/app/.next/server/app/dashboard/profile.html +1 -1
  370. package/app/.next/server/app/dashboard/profile.rsc +6 -6
  371. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  372. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  373. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  374. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  375. package/app/.next/server/app/dashboard/profile.segments/_full.segment.rsc +6 -6
  376. package/app/.next/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  377. package/app/.next/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
  378. package/app/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  379. package/app/.next/server/app/dashboard/providers/new.html +1 -1
  380. package/app/.next/server/app/dashboard/providers/new.rsc +6 -6
  381. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  382. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  383. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  384. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  385. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  386. package/app/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +6 -6
  387. package/app/.next/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  388. package/app/.next/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
  389. package/app/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  390. package/app/.next/server/app/dashboard/providers.html +1 -1
  391. package/app/.next/server/app/dashboard/providers.rsc +6 -6
  392. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  393. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  394. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  395. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  396. package/app/.next/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
  397. package/app/.next/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  398. package/app/.next/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
  399. package/app/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  400. package/app/.next/server/app/dashboard/proxy-pools.html +1 -1
  401. package/app/.next/server/app/dashboard/proxy-pools.rsc +6 -6
  402. package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  403. package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  404. package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  405. package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  406. package/app/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
  407. package/app/.next/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  408. package/app/.next/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +4 -4
  409. package/app/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  410. package/app/.next/server/app/dashboard/quota.html +2 -2
  411. package/app/.next/server/app/dashboard/quota.rsc +7 -7
  412. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  413. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  414. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  415. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  416. package/app/.next/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
  417. package/app/.next/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  418. package/app/.next/server/app/dashboard/quota.segments/_index.segment.rsc +4 -4
  419. package/app/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  420. package/app/.next/server/app/dashboard/settings/pricing/page.js +2 -2
  421. package/app/.next/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  422. package/app/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  423. package/app/.next/server/app/dashboard/settings/pricing.html +1 -1
  424. package/app/.next/server/app/dashboard/settings/pricing.rsc +4 -4
  425. package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  426. package/app/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  427. package/app/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
  428. package/app/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  429. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  430. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  431. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  432. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  433. package/app/.next/server/app/dashboard/translator.html +1 -1
  434. package/app/.next/server/app/dashboard/translator.rsc +6 -6
  435. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  436. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  437. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  438. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  439. package/app/.next/server/app/dashboard/translator.segments/_full.segment.rsc +6 -6
  440. package/app/.next/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  441. package/app/.next/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
  442. package/app/.next/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  443. package/app/.next/server/app/dashboard/usage.html +1 -1
  444. package/app/.next/server/app/dashboard/usage.rsc +6 -6
  445. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  446. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  447. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  448. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  449. package/app/.next/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
  450. package/app/.next/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  451. package/app/.next/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
  452. package/app/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  453. package/app/.next/server/app/dashboard.html +1 -1
  454. package/app/.next/server/app/dashboard.rsc +6 -6
  455. package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  456. package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  457. package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  458. package/app/.next/server/app/dashboard.segments/_full.segment.rsc +6 -6
  459. package/app/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
  460. package/app/.next/server/app/dashboard.segments/_index.segment.rsc +4 -4
  461. package/app/.next/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  462. package/app/.next/server/app/favicon.ico/route.js +1 -1
  463. package/app/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  464. package/app/.next/server/app/index.html +1 -1
  465. package/app/.next/server/app/index.rsc +4 -4
  466. package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  467. package/app/.next/server/app/index.segments/_full.segment.rsc +4 -4
  468. package/app/.next/server/app/index.segments/_head.segment.rsc +1 -1
  469. package/app/.next/server/app/index.segments/_index.segment.rsc +4 -4
  470. package/app/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  471. package/app/.next/server/app/landing/page.js +2 -2
  472. package/app/.next/server/app/landing/page.js.nft.json +1 -1
  473. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  474. package/app/.next/server/app/landing.html +1 -1
  475. package/app/.next/server/app/landing.rsc +4 -4
  476. package/app/.next/server/app/landing.segments/_full.segment.rsc +4 -4
  477. package/app/.next/server/app/landing.segments/_head.segment.rsc +1 -1
  478. package/app/.next/server/app/landing.segments/_index.segment.rsc +4 -4
  479. package/app/.next/server/app/landing.segments/_tree.segment.rsc +2 -2
  480. package/app/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  481. package/app/.next/server/app/landing.segments/landing.segment.rsc +1 -1
  482. package/app/.next/server/app/login/page.js +2 -2
  483. package/app/.next/server/app/login/page.js.nft.json +1 -1
  484. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  485. package/app/.next/server/app/login.html +1 -1
  486. package/app/.next/server/app/login.rsc +5 -5
  487. package/app/.next/server/app/login.segments/_full.segment.rsc +5 -5
  488. package/app/.next/server/app/login.segments/_head.segment.rsc +1 -1
  489. package/app/.next/server/app/login.segments/_index.segment.rsc +4 -4
  490. package/app/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  491. package/app/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  492. package/app/.next/server/app/login.segments/login.segment.rsc +1 -1
  493. package/app/.next/server/app/manifest.webmanifest/route.js +2 -2
  494. package/app/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  495. package/app/.next/server/app/page.js +2 -2
  496. package/app/.next/server/app/page.js.nft.json +1 -1
  497. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  498. package/app/.next/server/app-paths-manifest.json +8 -2
  499. package/app/.next/server/chunks/1202.js +1 -1
  500. package/app/.next/server/chunks/2020.js +1 -0
  501. package/app/.next/server/chunks/2506.js +2 -2
  502. package/app/.next/server/chunks/2549.js +1 -0
  503. package/app/.next/server/chunks/318.js +13 -13
  504. package/app/.next/server/chunks/3245.js +1 -0
  505. package/app/.next/server/chunks/3855.js +1 -1
  506. package/app/.next/server/chunks/3913.js +2 -2
  507. package/app/.next/server/chunks/412.js +3 -3
  508. package/app/.next/server/chunks/4122.js +1 -1
  509. package/app/.next/server/chunks/5599.js +3 -3
  510. package/app/.next/server/chunks/5681.js +1 -0
  511. package/app/.next/server/chunks/6555.js +1 -0
  512. package/app/.next/server/chunks/7595.js +1 -1
  513. package/app/.next/server/chunks/7774.js +3 -3
  514. package/app/.next/server/chunks/7828.js +1 -0
  515. package/app/.next/server/chunks/8491.js +1 -0
  516. package/app/.next/server/chunks/8590.js +1 -1
  517. package/app/.next/server/chunks/8760.js +1 -0
  518. package/app/.next/server/chunks/8895.js +2 -2
  519. package/app/.next/server/chunks/9489.js +1 -0
  520. package/app/.next/server/chunks/9501.js +37 -5
  521. package/app/.next/server/chunks/9718.js +1 -1
  522. package/app/.next/server/middleware-build-manifest.js +1 -1
  523. package/app/.next/server/middleware.js +2 -2
  524. package/app/.next/server/pages/404.html +1 -1
  525. package/app/.next/server/pages/500.html +1 -1
  526. package/app/.next/static/ahyS0wV6v2JdXWYSEruR6/_buildManifest.js +1 -0
  527. package/app/.next/static/chunks/1321-4ac1e9664ca05f67.js +1 -0
  528. package/app/.next/static/chunks/5497-9056ce5497a8e830.js +7 -0
  529. package/app/.next/static/chunks/5555-c4cf1b2b38d07337.js +3 -0
  530. package/app/.next/static/chunks/{698-646ba5259113c1a0.js → 698-438ce154948ce831.js} +6 -6
  531. package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/{page-bc388a93f092e16d.js → page-0d9325464cd6e849.js} +1 -1
  532. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-0494f10cf7d2cae0.js +53 -0
  533. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-521aecf4ccb7b03e.js +1 -0
  534. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/web/combo/[id]/page-d594f315360645f3.js +4 -0
  535. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-ec14043bae22768d.js +1 -0
  536. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-7985e45ad78144eb.js +1 -0
  537. package/app/.next/static/chunks/app/(dashboard)/dashboard/quota/page-fae4c95586692227.js +1 -0
  538. package/app/.next/static/chunks/app/(dashboard)/layout-91efa9c70d2328e0.js +1 -0
  539. package/app/.next/static/chunks/app/_global-error/page-a95908d3fe52339a.js +1 -0
  540. package/app/.next/static/chunks/app/api/auth/login/route-a95908d3fe52339a.js +1 -0
  541. package/app/.next/static/chunks/app/api/auth/logout/route-a95908d3fe52339a.js +1 -0
  542. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-a95908d3fe52339a.js +1 -0
  543. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-a95908d3fe52339a.js +1 -0
  544. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-a95908d3fe52339a.js +1 -0
  545. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-a95908d3fe52339a.js +1 -0
  546. package/app/.next/static/chunks/app/api/cli-tools/copilot-settings/route-a95908d3fe52339a.js +1 -0
  547. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-a95908d3fe52339a.js +1 -0
  548. package/app/.next/static/chunks/app/api/cli-tools/hermes-settings/route-a95908d3fe52339a.js +1 -0
  549. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-a95908d3fe52339a.js +1 -0
  550. package/app/.next/static/chunks/app/api/cli-tools/opencode-settings/route-a95908d3fe52339a.js +1 -0
  551. package/app/.next/static/chunks/app/api/cloud/auth/route-a95908d3fe52339a.js +1 -0
  552. package/app/.next/static/chunks/app/api/cloud/credentials/update/route-a95908d3fe52339a.js +1 -0
  553. package/app/.next/static/chunks/app/api/cloud/model/resolve/route-a95908d3fe52339a.js +1 -0
  554. package/app/.next/static/chunks/app/api/cloud/models/alias/route-a95908d3fe52339a.js +1 -0
  555. package/app/.next/static/chunks/app/api/combos/[id]/route-a95908d3fe52339a.js +1 -0
  556. package/app/.next/static/chunks/app/api/combos/route-a95908d3fe52339a.js +1 -0
  557. package/app/.next/static/chunks/app/api/health/route-a95908d3fe52339a.js +1 -0
  558. package/app/.next/static/chunks/app/api/init/route-a95908d3fe52339a.js +1 -0
  559. package/app/.next/static/chunks/app/api/keys/[id]/route-a95908d3fe52339a.js +1 -0
  560. package/app/.next/static/chunks/app/api/keys/route-a95908d3fe52339a.js +1 -0
  561. package/app/.next/static/chunks/app/api/locale/route-a95908d3fe52339a.js +1 -0
  562. package/app/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-a95908d3fe52339a.js +1 -0
  563. package/app/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-a95908d3fe52339a.js +1 -0
  564. package/app/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-a95908d3fe52339a.js +1 -0
  565. package/app/.next/static/chunks/app/api/media-providers/tts/voices/route-a95908d3fe52339a.js +1 -0
  566. package/app/.next/static/chunks/app/api/models/alias/route-a95908d3fe52339a.js +1 -0
  567. package/app/.next/static/chunks/app/api/models/availability/route-a95908d3fe52339a.js +1 -0
  568. package/app/.next/static/chunks/app/api/models/custom/route-a95908d3fe52339a.js +1 -0
  569. package/app/.next/static/chunks/app/api/models/route-a95908d3fe52339a.js +1 -0
  570. package/app/.next/static/chunks/app/api/models/test/route-a95908d3fe52339a.js +1 -0
  571. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-a95908d3fe52339a.js +1 -0
  572. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-a95908d3fe52339a.js +1 -0
  573. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-a95908d3fe52339a.js +1 -0
  574. package/app/.next/static/chunks/app/api/oauth/gitlab/pat/route-a95908d3fe52339a.js +1 -0
  575. package/app/.next/static/chunks/app/api/oauth/iflow/cookie/route-a95908d3fe52339a.js +1 -0
  576. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-a95908d3fe52339a.js +1 -0
  577. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-a95908d3fe52339a.js +1 -0
  578. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-a95908d3fe52339a.js +1 -0
  579. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-a95908d3fe52339a.js +1 -0
  580. package/app/.next/static/chunks/app/api/pricing/route-a95908d3fe52339a.js +1 -0
  581. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-a95908d3fe52339a.js +1 -0
  582. package/app/.next/static/chunks/app/api/provider-nodes/route-a95908d3fe52339a.js +1 -0
  583. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-a95908d3fe52339a.js +1 -0
  584. package/app/.next/static/chunks/app/api/providers/[id]/models/route-a95908d3fe52339a.js +1 -0
  585. package/app/.next/static/chunks/app/api/providers/[id]/route-a95908d3fe52339a.js +1 -0
  586. package/app/.next/static/chunks/app/api/providers/[id]/test/route-a95908d3fe52339a.js +1 -0
  587. package/app/.next/static/chunks/app/api/providers/[id]/test-models/route-a95908d3fe52339a.js +1 -0
  588. package/app/.next/static/chunks/app/api/providers/client/route-a95908d3fe52339a.js +1 -0
  589. package/app/.next/static/chunks/app/api/providers/kilo/free-models/route-a95908d3fe52339a.js +1 -0
  590. package/app/.next/static/chunks/app/api/providers/route-a95908d3fe52339a.js +1 -0
  591. package/app/.next/static/chunks/app/api/providers/suggested-models/route-a95908d3fe52339a.js +1 -0
  592. package/app/.next/static/chunks/app/api/providers/test-batch/route-a95908d3fe52339a.js +1 -0
  593. package/app/.next/static/chunks/app/api/providers/validate/route-a95908d3fe52339a.js +1 -0
  594. package/app/.next/static/chunks/app/api/proxy-pools/[id]/route-a95908d3fe52339a.js +1 -0
  595. package/app/.next/static/chunks/app/api/proxy-pools/[id]/test/route-a95908d3fe52339a.js +1 -0
  596. package/app/.next/static/chunks/app/api/proxy-pools/route-a95908d3fe52339a.js +1 -0
  597. package/app/.next/static/chunks/app/api/proxy-pools/vercel-deploy/route-a95908d3fe52339a.js +1 -0
  598. package/app/.next/static/chunks/app/api/settings/database/route-a95908d3fe52339a.js +1 -0
  599. package/app/.next/static/chunks/app/api/settings/proxy-test/route-a95908d3fe52339a.js +1 -0
  600. package/app/.next/static/chunks/app/api/settings/require-login/route-a95908d3fe52339a.js +1 -0
  601. package/app/.next/static/chunks/app/api/settings/route-a95908d3fe52339a.js +1 -0
  602. package/app/.next/static/chunks/app/api/shutdown/route-a95908d3fe52339a.js +1 -0
  603. package/app/.next/static/chunks/app/api/tags/route-a95908d3fe52339a.js +1 -0
  604. package/app/.next/static/chunks/app/api/translator/console-logs/route-a95908d3fe52339a.js +1 -0
  605. package/app/.next/static/chunks/app/api/translator/console-logs/stream/route-a95908d3fe52339a.js +1 -0
  606. package/app/.next/static/chunks/app/api/translator/load/route-a95908d3fe52339a.js +1 -0
  607. package/app/.next/static/chunks/app/api/translator/save/route-a95908d3fe52339a.js +1 -0
  608. package/app/.next/static/chunks/app/api/translator/send/route-a95908d3fe52339a.js +1 -0
  609. package/app/.next/static/chunks/app/api/translator/translate/route-a95908d3fe52339a.js +1 -0
  610. package/app/.next/static/chunks/app/api/tunnel/disable/route-a95908d3fe52339a.js +1 -0
  611. package/app/.next/static/chunks/app/api/tunnel/enable/route-a95908d3fe52339a.js +1 -0
  612. package/app/.next/static/chunks/app/api/tunnel/status/route-a95908d3fe52339a.js +1 -0
  613. package/app/.next/static/chunks/app/api/tunnel/tailscale-check/route-a95908d3fe52339a.js +1 -0
  614. package/app/.next/static/chunks/app/api/tunnel/tailscale-disable/route-a95908d3fe52339a.js +1 -0
  615. package/app/.next/static/chunks/app/api/tunnel/tailscale-enable/route-a95908d3fe52339a.js +1 -0
  616. package/app/.next/static/chunks/app/api/tunnel/tailscale-install/route-a95908d3fe52339a.js +1 -0
  617. package/app/.next/static/chunks/app/api/tunnel/tailscale-login/route-a95908d3fe52339a.js +1 -0
  618. package/app/.next/static/chunks/app/api/tunnel/tailscale-start-daemon/route-a95908d3fe52339a.js +1 -0
  619. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-a95908d3fe52339a.js +1 -0
  620. package/app/.next/static/chunks/app/api/usage/chart/route-a95908d3fe52339a.js +1 -0
  621. package/app/.next/static/chunks/app/api/usage/history/route-a95908d3fe52339a.js +1 -0
  622. package/app/.next/static/chunks/app/api/usage/logs/route-a95908d3fe52339a.js +1 -0
  623. package/app/.next/static/chunks/app/api/usage/providers/route-a95908d3fe52339a.js +1 -0
  624. package/app/.next/static/chunks/app/api/usage/request-details/route-a95908d3fe52339a.js +1 -0
  625. package/app/.next/static/chunks/app/api/usage/request-logs/route-a95908d3fe52339a.js +1 -0
  626. package/app/.next/static/chunks/app/api/usage/stats/route-a95908d3fe52339a.js +1 -0
  627. package/app/.next/static/chunks/app/api/usage/stream/route-a95908d3fe52339a.js +1 -0
  628. package/app/.next/static/chunks/app/api/v1/api/chat/route-a95908d3fe52339a.js +1 -0
  629. package/app/.next/static/chunks/app/api/v1/audio/speech/route-a95908d3fe52339a.js +1 -0
  630. package/app/.next/static/chunks/app/api/v1/chat/completions/route-a95908d3fe52339a.js +1 -0
  631. package/app/.next/static/chunks/app/api/v1/embeddings/route-a95908d3fe52339a.js +1 -0
  632. package/app/.next/static/chunks/app/api/v1/images/generations/route-a95908d3fe52339a.js +1 -0
  633. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-a95908d3fe52339a.js +1 -0
  634. package/app/.next/static/chunks/app/api/v1/messages/route-a95908d3fe52339a.js +1 -0
  635. package/app/.next/static/chunks/app/api/v1/models/route-a95908d3fe52339a.js +1 -0
  636. package/app/.next/static/chunks/app/api/v1/responses/compact/route-a95908d3fe52339a.js +1 -0
  637. package/app/.next/static/chunks/app/api/v1/responses/route-a95908d3fe52339a.js +1 -0
  638. package/app/.next/static/chunks/app/api/v1/route-a95908d3fe52339a.js +1 -0
  639. package/app/.next/static/chunks/app/api/v1/search/route-a95908d3fe52339a.js +1 -0
  640. package/app/.next/static/chunks/app/api/v1/web/fetch/route-a95908d3fe52339a.js +1 -0
  641. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-a95908d3fe52339a.js +1 -0
  642. package/app/.next/static/chunks/app/api/v1beta/models/route-a95908d3fe52339a.js +1 -0
  643. package/app/.next/static/chunks/app/api/version/route-a95908d3fe52339a.js +1 -0
  644. package/app/.next/static/chunks/app/api/version/update/route-a95908d3fe52339a.js +1 -0
  645. package/app/.next/static/chunks/app/manifest.webmanifest/route-a95908d3fe52339a.js +1 -0
  646. package/app/.next/static/chunks/app/page-a95908d3fe52339a.js +1 -0
  647. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-a95908d3fe52339a.js +1 -0
  648. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-a95908d3fe52339a.js +1 -0
  649. package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-a95908d3fe52339a.js +1 -0
  650. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-a95908d3fe52339a.js +1 -0
  651. package/app/.next/static/css/1ef6107a5d5fd71c.css +1 -0
  652. package/app/package.json +1 -1
  653. package/app/public/providers/azure.png +0 -0
  654. package/app/public/providers/blackbox.png +0 -0
  655. package/app/public/providers/brave-search.png +0 -0
  656. package/app/public/providers/byteplus.png +0 -0
  657. package/app/public/providers/coqui.png +0 -0
  658. package/app/public/providers/exa.png +0 -0
  659. package/app/public/providers/firecrawl.png +0 -0
  660. package/app/public/providers/google-pse.png +0 -0
  661. package/app/public/providers/grok-web.png +0 -0
  662. package/app/public/providers/inworld.png +0 -0
  663. package/app/public/providers/jina-reader.png +0 -0
  664. package/app/public/providers/linkup.png +0 -0
  665. package/app/public/providers/perplexity-web.png +0 -0
  666. package/app/public/providers/searchapi.png +0 -0
  667. package/app/public/providers/searxng.png +0 -0
  668. package/app/public/providers/serper.png +0 -0
  669. package/app/public/providers/tavily.png +0 -0
  670. package/app/public/providers/tortoise.png +0 -0
  671. package/app/public/providers/voyage-ai.png +0 -0
  672. package/app/public/providers/youcom.png +0 -0
  673. package/app/server.js +1 -1
  674. package/app/src/lib/updater/updater.js +25 -2
  675. package/app/src/mitm/cert/install.js +31 -24
  676. package/app/src/mitm/config.js +15 -1
  677. package/app/src/mitm/dns/dnsConfig.js +48 -62
  678. package/app/src/mitm/handlers/antigravity.js +18 -6
  679. package/app/src/mitm/handlers/base.js +12 -10
  680. package/app/src/mitm/logger.js +102 -1
  681. package/app/src/mitm/manager.js +22 -5
  682. package/app/src/mitm/server.js +39 -29
  683. package/app/src/mitm/winElevated.js +79 -0
  684. package/package.json +1 -1
  685. package/app/.next/server/chunks/1357.js +0 -1
  686. package/app/.next/server/chunks/2409.js +0 -1
  687. package/app/.next/server/chunks/289.js +0 -1
  688. package/app/.next/server/chunks/4404.js +0 -1
  689. package/app/.next/server/chunks/541.js +0 -1
  690. package/app/.next/server/chunks/6143.js +0 -1
  691. package/app/.next/server/chunks/6327.js +0 -1
  692. package/app/.next/server/chunks/6386.js +0 -1
  693. package/app/.next/static/GWqgJg45jqUgh4iLz365f/_buildManifest.js +0 -1
  694. package/app/.next/static/chunks/1321-c5a3513d1c657677.js +0 -1
  695. package/app/.next/static/chunks/5497-2b813df1aa4bc9ba.js +0 -7
  696. package/app/.next/static/chunks/5555-26f687e754d40f93.js +0 -3
  697. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-89b8138c3ac2e04f.js +0 -51
  698. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-154824cbf44c34b2.js +0 -1
  699. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-6d84cac6ca90a61c.js +0 -1
  700. package/app/.next/static/chunks/app/(dashboard)/dashboard/quota/page-18e13f60a38c4be4.js +0 -1
  701. package/app/.next/static/chunks/app/(dashboard)/layout-9b93641ed57cec1d.js +0 -1
  702. package/app/.next/static/chunks/app/_global-error/page-de0b0e689b74bc54.js +0 -1
  703. package/app/.next/static/chunks/app/api/auth/login/route-de0b0e689b74bc54.js +0 -1
  704. package/app/.next/static/chunks/app/api/auth/logout/route-de0b0e689b74bc54.js +0 -1
  705. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-de0b0e689b74bc54.js +0 -1
  706. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-de0b0e689b74bc54.js +0 -1
  707. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-de0b0e689b74bc54.js +0 -1
  708. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-de0b0e689b74bc54.js +0 -1
  709. package/app/.next/static/chunks/app/api/cli-tools/copilot-settings/route-de0b0e689b74bc54.js +0 -1
  710. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-de0b0e689b74bc54.js +0 -1
  711. package/app/.next/static/chunks/app/api/cli-tools/hermes-settings/route-de0b0e689b74bc54.js +0 -1
  712. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-de0b0e689b74bc54.js +0 -1
  713. package/app/.next/static/chunks/app/api/cli-tools/opencode-settings/route-de0b0e689b74bc54.js +0 -1
  714. package/app/.next/static/chunks/app/api/cloud/auth/route-de0b0e689b74bc54.js +0 -1
  715. package/app/.next/static/chunks/app/api/cloud/credentials/update/route-de0b0e689b74bc54.js +0 -1
  716. package/app/.next/static/chunks/app/api/cloud/model/resolve/route-de0b0e689b74bc54.js +0 -1
  717. package/app/.next/static/chunks/app/api/cloud/models/alias/route-de0b0e689b74bc54.js +0 -1
  718. package/app/.next/static/chunks/app/api/combos/[id]/route-de0b0e689b74bc54.js +0 -1
  719. package/app/.next/static/chunks/app/api/combos/route-de0b0e689b74bc54.js +0 -1
  720. package/app/.next/static/chunks/app/api/health/route-de0b0e689b74bc54.js +0 -1
  721. package/app/.next/static/chunks/app/api/init/route-de0b0e689b74bc54.js +0 -1
  722. package/app/.next/static/chunks/app/api/keys/[id]/route-de0b0e689b74bc54.js +0 -1
  723. package/app/.next/static/chunks/app/api/keys/route-de0b0e689b74bc54.js +0 -1
  724. package/app/.next/static/chunks/app/api/locale/route-de0b0e689b74bc54.js +0 -1
  725. package/app/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-de0b0e689b74bc54.js +0 -1
  726. package/app/.next/static/chunks/app/api/media-providers/tts/voices/route-de0b0e689b74bc54.js +0 -1
  727. package/app/.next/static/chunks/app/api/models/alias/route-de0b0e689b74bc54.js +0 -1
  728. package/app/.next/static/chunks/app/api/models/availability/route-de0b0e689b74bc54.js +0 -1
  729. package/app/.next/static/chunks/app/api/models/custom/route-de0b0e689b74bc54.js +0 -1
  730. package/app/.next/static/chunks/app/api/models/route-de0b0e689b74bc54.js +0 -1
  731. package/app/.next/static/chunks/app/api/models/test/route-de0b0e689b74bc54.js +0 -1
  732. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-de0b0e689b74bc54.js +0 -1
  733. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-de0b0e689b74bc54.js +0 -1
  734. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-de0b0e689b74bc54.js +0 -1
  735. package/app/.next/static/chunks/app/api/oauth/gitlab/pat/route-de0b0e689b74bc54.js +0 -1
  736. package/app/.next/static/chunks/app/api/oauth/iflow/cookie/route-de0b0e689b74bc54.js +0 -1
  737. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-de0b0e689b74bc54.js +0 -1
  738. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-de0b0e689b74bc54.js +0 -1
  739. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-de0b0e689b74bc54.js +0 -1
  740. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-de0b0e689b74bc54.js +0 -1
  741. package/app/.next/static/chunks/app/api/pricing/route-de0b0e689b74bc54.js +0 -1
  742. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-de0b0e689b74bc54.js +0 -1
  743. package/app/.next/static/chunks/app/api/provider-nodes/route-de0b0e689b74bc54.js +0 -1
  744. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-de0b0e689b74bc54.js +0 -1
  745. package/app/.next/static/chunks/app/api/providers/[id]/models/route-de0b0e689b74bc54.js +0 -1
  746. package/app/.next/static/chunks/app/api/providers/[id]/route-de0b0e689b74bc54.js +0 -1
  747. package/app/.next/static/chunks/app/api/providers/[id]/test/route-de0b0e689b74bc54.js +0 -1
  748. package/app/.next/static/chunks/app/api/providers/[id]/test-models/route-de0b0e689b74bc54.js +0 -1
  749. package/app/.next/static/chunks/app/api/providers/client/route-de0b0e689b74bc54.js +0 -1
  750. package/app/.next/static/chunks/app/api/providers/kilo/free-models/route-de0b0e689b74bc54.js +0 -1
  751. package/app/.next/static/chunks/app/api/providers/route-de0b0e689b74bc54.js +0 -1
  752. package/app/.next/static/chunks/app/api/providers/suggested-models/route-de0b0e689b74bc54.js +0 -1
  753. package/app/.next/static/chunks/app/api/providers/test-batch/route-de0b0e689b74bc54.js +0 -1
  754. package/app/.next/static/chunks/app/api/providers/validate/route-de0b0e689b74bc54.js +0 -1
  755. package/app/.next/static/chunks/app/api/proxy-pools/[id]/route-de0b0e689b74bc54.js +0 -1
  756. package/app/.next/static/chunks/app/api/proxy-pools/[id]/test/route-de0b0e689b74bc54.js +0 -1
  757. package/app/.next/static/chunks/app/api/proxy-pools/route-de0b0e689b74bc54.js +0 -1
  758. package/app/.next/static/chunks/app/api/proxy-pools/vercel-deploy/route-de0b0e689b74bc54.js +0 -1
  759. package/app/.next/static/chunks/app/api/settings/database/route-de0b0e689b74bc54.js +0 -1
  760. package/app/.next/static/chunks/app/api/settings/proxy-test/route-de0b0e689b74bc54.js +0 -1
  761. package/app/.next/static/chunks/app/api/settings/require-login/route-de0b0e689b74bc54.js +0 -1
  762. package/app/.next/static/chunks/app/api/settings/route-de0b0e689b74bc54.js +0 -1
  763. package/app/.next/static/chunks/app/api/shutdown/route-de0b0e689b74bc54.js +0 -1
  764. package/app/.next/static/chunks/app/api/tags/route-de0b0e689b74bc54.js +0 -1
  765. package/app/.next/static/chunks/app/api/translator/console-logs/route-de0b0e689b74bc54.js +0 -1
  766. package/app/.next/static/chunks/app/api/translator/console-logs/stream/route-de0b0e689b74bc54.js +0 -1
  767. package/app/.next/static/chunks/app/api/translator/load/route-de0b0e689b74bc54.js +0 -1
  768. package/app/.next/static/chunks/app/api/translator/save/route-de0b0e689b74bc54.js +0 -1
  769. package/app/.next/static/chunks/app/api/translator/send/route-de0b0e689b74bc54.js +0 -1
  770. package/app/.next/static/chunks/app/api/translator/translate/route-de0b0e689b74bc54.js +0 -1
  771. package/app/.next/static/chunks/app/api/tunnel/disable/route-de0b0e689b74bc54.js +0 -1
  772. package/app/.next/static/chunks/app/api/tunnel/enable/route-de0b0e689b74bc54.js +0 -1
  773. package/app/.next/static/chunks/app/api/tunnel/status/route-de0b0e689b74bc54.js +0 -1
  774. package/app/.next/static/chunks/app/api/tunnel/tailscale-check/route-de0b0e689b74bc54.js +0 -1
  775. package/app/.next/static/chunks/app/api/tunnel/tailscale-disable/route-de0b0e689b74bc54.js +0 -1
  776. package/app/.next/static/chunks/app/api/tunnel/tailscale-enable/route-de0b0e689b74bc54.js +0 -1
  777. package/app/.next/static/chunks/app/api/tunnel/tailscale-install/route-de0b0e689b74bc54.js +0 -1
  778. package/app/.next/static/chunks/app/api/tunnel/tailscale-login/route-de0b0e689b74bc54.js +0 -1
  779. package/app/.next/static/chunks/app/api/tunnel/tailscale-start-daemon/route-de0b0e689b74bc54.js +0 -1
  780. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-de0b0e689b74bc54.js +0 -1
  781. package/app/.next/static/chunks/app/api/usage/chart/route-de0b0e689b74bc54.js +0 -1
  782. package/app/.next/static/chunks/app/api/usage/history/route-de0b0e689b74bc54.js +0 -1
  783. package/app/.next/static/chunks/app/api/usage/logs/route-de0b0e689b74bc54.js +0 -1
  784. package/app/.next/static/chunks/app/api/usage/providers/route-de0b0e689b74bc54.js +0 -1
  785. package/app/.next/static/chunks/app/api/usage/request-details/route-de0b0e689b74bc54.js +0 -1
  786. package/app/.next/static/chunks/app/api/usage/request-logs/route-de0b0e689b74bc54.js +0 -1
  787. package/app/.next/static/chunks/app/api/usage/stats/route-de0b0e689b74bc54.js +0 -1
  788. package/app/.next/static/chunks/app/api/usage/stream/route-de0b0e689b74bc54.js +0 -1
  789. package/app/.next/static/chunks/app/api/v1/api/chat/route-de0b0e689b74bc54.js +0 -1
  790. package/app/.next/static/chunks/app/api/v1/audio/speech/route-de0b0e689b74bc54.js +0 -1
  791. package/app/.next/static/chunks/app/api/v1/chat/completions/route-de0b0e689b74bc54.js +0 -1
  792. package/app/.next/static/chunks/app/api/v1/embeddings/route-de0b0e689b74bc54.js +0 -1
  793. package/app/.next/static/chunks/app/api/v1/images/generations/route-de0b0e689b74bc54.js +0 -1
  794. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-de0b0e689b74bc54.js +0 -1
  795. package/app/.next/static/chunks/app/api/v1/messages/route-de0b0e689b74bc54.js +0 -1
  796. package/app/.next/static/chunks/app/api/v1/models/route-de0b0e689b74bc54.js +0 -1
  797. package/app/.next/static/chunks/app/api/v1/responses/compact/route-de0b0e689b74bc54.js +0 -1
  798. package/app/.next/static/chunks/app/api/v1/responses/route-de0b0e689b74bc54.js +0 -1
  799. package/app/.next/static/chunks/app/api/v1/route-de0b0e689b74bc54.js +0 -1
  800. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-de0b0e689b74bc54.js +0 -1
  801. package/app/.next/static/chunks/app/api/v1beta/models/route-de0b0e689b74bc54.js +0 -1
  802. package/app/.next/static/chunks/app/api/version/route-de0b0e689b74bc54.js +0 -1
  803. package/app/.next/static/chunks/app/api/version/update/route-de0b0e689b74bc54.js +0 -1
  804. package/app/.next/static/chunks/app/manifest.webmanifest/route-de0b0e689b74bc54.js +0 -1
  805. package/app/.next/static/chunks/app/page-de0b0e689b74bc54.js +0 -1
  806. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-de0b0e689b74bc54.js +0 -1
  807. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-de0b0e689b74bc54.js +0 -1
  808. package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-de0b0e689b74bc54.js +0 -1
  809. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-de0b0e689b74bc54.js +0 -1
  810. package/app/.next/static/css/d663c02ecd9b71d6.css +0 -1
  811. /package/app/.next/static/{GWqgJg45jqUgh4iLz365f → ahyS0wV6v2JdXWYSEruR6}/_ssgManifest.js +0 -0
package/README.md CHANGED
@@ -1,15 +1,17 @@
1
1
  <div align="center">
2
2
  <img src="./images/9router.png?1" alt="openrouterx Dashboard" width="800"/>
3
3
 
4
- # openrouterx - Free AI Router
4
+ # 9Router - FREE AI Router & Token Saver
5
5
 
6
- **Never stop coding. Auto-route to FREE & cheap AI models with smart fallback.**
6
+ **Never stop coding. Save 20-40% tokens with RTK + auto-fallback to FREE & cheap AI models.**
7
7
 
8
8
  **Connect All AI Code Tools (Claude Code, Cursor, Antigravity, Copilot, Codex, Gemini, OpenCode, Cline, OpenClaw...) to 40+ AI Providers & 100+ Models.**
9
9
 
10
10
  [![npm](https://img.shields.io/npm/v/9router.svg)](https://www.npmjs.com/package/9router)
11
11
  [![Downloads](https://img.shields.io/npm/dm/9router.svg)](https://www.npmjs.com/package/9router)
12
12
  [![License](https://img.shields.io/npm/l/9router.svg)](https://github.com/decolua/9router/blob/main/LICENSE)
13
+
14
+ <a href="https://trendshift.io/repositories/22628" target="_blank"><img src="https://trendshift.io/api/badge/repositories/22628" alt="decolua%2F9router | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
13
15
 
14
16
  [🚀 Quick Start](#-quick-start) • [💡 Features](#-key-features) • [📖 Setup](#-setup-guide) • [🌐 Website](https://9router.com)
15
17
 
@@ -20,19 +22,21 @@
20
22
 
21
23
  ## 🤔 Why openrouterx?
22
24
 
23
- **Stop wasting money and hitting limits:**
25
+ **Stop wasting money, tokens and hitting limits:**
24
26
 
25
27
  - ❌ Subscription quota expires unused every month
26
28
  - ❌ Rate limits stop you mid-coding
29
+ - ❌ Tool outputs (git diff, grep, ls...) burn tokens fast
27
30
  - ❌ Expensive APIs ($20-50/month per provider)
28
31
  - ❌ Manual switching between providers
29
32
 
30
33
  **openrouterx solves this:**
31
34
 
35
+ - ✅ **RTK Token Saver** - Auto-compress tool_result content, save 20-40% tokens per request
32
36
  - ✅ **Maximize subscriptions** - Track quota, use every bit before reset
33
37
  - ✅ **Auto fallback** - Subscription → Cheap → Free, zero downtime
34
38
  - ✅ **Multi-account** - Round-robin between accounts per provider
35
- - ✅ **Universal** - Works with Claude Code, Codex, Gemini CLI, Cursor, Cline, any CLI tool
39
+ - ✅ **Universal** - Works with Claude Code, Codex, Cursor, Cline, any CLI tool
36
40
 
37
41
  ---
38
42
 
@@ -40,25 +44,26 @@
40
44
 
41
45
  ```
42
46
  ┌─────────────┐
43
- │ Your CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...)
47
+ │ Your CLI │ (Claude Code, Codex, OpenClaw, Cursor, Cline...)
44
48
  │ Tool │
45
49
  └──────┬──────┘
46
50
  │ http://localhost:20128/v1
47
51
 
48
- ┌─────────────────────────────────────────┐
49
- │ 9Router (Smart Router)
50
- │ • Format translation (OpenAI Claude) │
51
- │ • Quota tracking
52
- │ • Auto token refresh
53
- └──────┬──────────────────────────────────┘
52
+ ┌─────────────────────────────────────────────┐
53
+ │ 9Router (Smart Router)
54
+ │ • RTK Token Saver (cut tool_result tokens) │
55
+ │ • Format translation (OpenAI ↔ Claude)
56
+ │ • Quota tracking
57
+ │ • Auto token refresh │
58
+ └──────┬──────────────────────────────────────┘
54
59
 
55
- ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI
60
+ ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, GitHub Copilot
56
61
  │ ↓ quota exhausted
57
62
  ├─→ [Tier 2: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M)
58
63
  │ ↓ budget limit
59
- └─→ [Tier 3: FREE] iFlow, Qwen, Kiro (unlimited)
64
+ └─→ [Tier 3: FREE] Kiro, OpenCode Free, Vertex ($300 credits)
60
65
 
61
- Result: Never stop coding, minimal cost
66
+ Result: Never stop coding, minimal cost + 20-40% token savings via RTK
62
67
  ```
63
68
 
64
69
  ---
@@ -76,15 +81,15 @@ npm install -g 9router
76
81
 
77
82
  **2. Connect a FREE provider (no signup needed):**
78
83
 
79
- Dashboard → Providers → Connect **Claude Code** or **Antigravity** OAuth login → Done!
84
+ Dashboard → Providers → Connect **Kiro AI** (free Claude unlimited) or **OpenCode Free** (no auth) → Done!
80
85
 
81
86
  **3. Use in your CLI tool:**
82
87
 
83
88
  ```
84
- Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings:
89
+ Claude Code/Codex/OpenClaw/Cursor/Cline Settings:
85
90
  Endpoint: http://localhost:20128/v1
86
91
  API Key: [copy from dashboard]
87
- Model: if/kimi-k2-thinking
92
+ Model: kr/claude-sonnet-4.5
88
93
  ```
89
94
 
90
95
  **That's it!** Start coding with FREE AI models.
@@ -234,29 +239,26 @@ Default URLs:
234
239
  <table>
235
240
  <tr>
236
241
  <td align="center" width="150">
237
- <img src="./public/providers/iflow.png" width="70" alt="iFlow"/><br/>
238
- <b>iFlow AI</b><br/>
239
- <sub>8+ models Unlimited</sub>
242
+ <img src="./public/providers/kiro.png" width="70" alt="Kiro"/><br/>
243
+ <b>Kiro AI</b><br/>
244
+ <sub>Claude 4.5 + GLM-5 + MiniMax<br/>Unlimited FREE</sub>
240
245
  </td>
241
246
  <td align="center" width="150">
242
- <img src="./public/providers/qwen.png" width="70" alt="Qwen"/><br/>
243
- <b>Qwen Code</b><br/>
244
- <sub>3+ models • Unlimited</sub>
247
+ <img src="./public/providers/opencode.png" width="70" alt="OpenCode Free"/><br/>
248
+ <b>OpenCode Free</b><br/>
249
+ <sub>No authAuto-fetch models<br/>Unlimited FREE</sub>
245
250
  </td>
246
251
  <td align="center" width="150">
247
- <img src="./public/providers/gemini-cli.png" width="70" alt="Gemini CLI"/><br/>
248
- <b>Gemini CLI</b><br/>
249
- <sub>180K/month FREE</sub>
250
- </td>
251
- <td align="center" width="150">
252
- <img src="./public/providers/kiro.png" width="70" alt="Kiro"/><br/>
253
- <b>Kiro AI</b><br/>
254
- <sub>Claude • Unlimited</sub>
252
+ <img src="./public/providers/gemini.png" width="70" alt="Vertex AI"/><br/>
253
+ <b>Vertex AI</b><br/>
254
+ <sub>Gemini 3 Pro + GLM-5 + DeepSeek<br/>$300 credits free</sub>
255
255
  </td>
256
256
  </tr>
257
257
  </table>
258
258
  </div>
259
259
 
260
+ > **Note:** iFlow, Qwen and Gemini CLI free tiers were discontinued in 2026. Use Kiro / OpenCode Free / Vertex instead.
261
+
260
262
  ### 🔑 API Key Providers (40+)
261
263
 
262
264
  <div align="center">
@@ -349,9 +351,10 @@ Default URLs:
349
351
 
350
352
  | Feature | What It Does | Why It Matters |
351
353
  |---------|--------------|----------------|
354
+ | 🚀 **RTK Token Saver** | Auto-compress tool_result content (git-diff, grep, find, ls, tree...) before sending to LLM | Save 20-40% tokens per request, keep more context window |
352
355
  | 🎯 **Smart 3-Tier Fallback** | Auto-route: Subscription → Cheap → Free | Never stop coding, zero downtime |
353
356
  | 📊 **Real-Time Quota Tracking** | Live token count + reset countdown | Maximize subscription value |
354
- | 🔄 **Format Translation** | OpenAI ↔ Claude ↔ Gemini seamless | Works with any CLI tool |
357
+ | 🔄 **Format Translation** | OpenAI ↔ Claude ↔ Gemini Cursor ↔ Kiro ↔ Vertex | Works with any CLI tool |
355
358
  | 👥 **Multi-Account Support** | Multiple accounts per provider | Load balancing + redundancy |
356
359
  | 🔄 **Auto Token Refresh** | OAuth tokens refresh automatically | No manual re-login needed |
357
360
  | 🎨 **Custom Combos** | Create unlimited model combinations | Tailor fallback to your needs |
@@ -363,6 +366,21 @@ Default URLs:
363
366
  <details>
364
367
  <summary><b>📖 Feature Details</b></summary>
365
368
 
369
+ ### 🚀 RTK Token Saver
370
+
371
+ Tool outputs (`git diff`, `grep`, `find`, `ls`, `tree`, log dumps...) often eat 30-50% of your prompt budget. RTK detects them and applies smart, lossless compression **before** the request hits the LLM:
372
+
373
+ - **Filters:** `git-diff`, `git-status`, `grep`, `find`, `ls`, `tree`, `dedup-log`, `smart-truncate`, `read-numbered`, `search-list`
374
+ - **Auto-detect:** No config needed — RTK peeks the first 1KB of each `tool_result` and picks the right filter.
375
+ - **Safe by design:** If a filter fails, throws, or makes output bigger, RTK silently keeps the original text. Errors never break your request.
376
+ - **Universal:** Works across all formats (OpenAI, Claude, Gemini, Cursor, Kiro, OpenAI Responses) because it runs **before** any format translation.
377
+ - **Default ON:** Toggle anytime in Dashboard → Endpoint settings.
378
+
379
+ ```
380
+ Without RTK: 47K tokens sent to LLM
381
+ With RTK: 28K tokens sent to LLM (40% saved · same context · same answer)
382
+ ```
383
+
366
384
  ### 🎯 Smart 3-Tier Fallback
367
385
 
368
386
  Create combos with automatic fallback:
@@ -386,7 +404,7 @@ Combo: "my-coding-stack"
386
404
  ### 🔄 Format Translation
387
405
 
388
406
  Seamless translation between formats:
389
- - **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **OpenAI Responses**
407
+ - **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **Cursor** ↔ **Kiro** ↔ **Vertex** ↔ **Antigravity** ↔ **Ollama** ↔ **OpenAI Responses**
390
408
  - Your CLI tool sends OpenAI format → 9Router translates → Provider receives native format
391
409
  - Works with any tool that supports custom OpenAI endpoints
392
410
 
@@ -464,18 +482,19 @@ Seamless translation between formats:
464
482
 
465
483
  | Tier | Provider | Cost | Quota Reset | Best For |
466
484
  |------|----------|------|-------------|----------|
467
- | **💳 SUBSCRIPTION** | Claude Code (Pro) | $20/mo | 5h + weekly | Already subscribed |
485
+ | **🚀 TOKEN SAVER** | **RTK (built-in)** | **FREE** | Always on | **Save 20-40% tokens on EVERY request** |
486
+ | **💳 SUBSCRIPTION** | Claude Code (Pro/Max) | $20-200/mo | 5h + weekly | Already subscribed |
468
487
  | | Codex (Plus/Pro) | $20-200/mo | 5h + weekly | OpenAI users |
469
- | | Gemini CLI | **FREE** | 180K/mo + 1K/day | Everyone! |
470
488
  | | GitHub Copilot | $10-19/mo | Monthly | GitHub users |
471
- | **💰 CHEAP** | GLM-4.7 | $0.6/1M | Daily 10AM | Budget backup |
472
- | | MiniMax M2.1 | $0.2/1M | 5-hour rolling | Cheapest option |
473
- | | Kimi K2 | $9/mo flat | 10M tokens/mo | Predictable cost |
474
- | **🆓 FREE** | iFlow | $0 | Unlimited | 8 models free |
475
- | | Qwen | $0 | Unlimited | 3 models free |
476
- | | Kiro | $0 | Unlimited | Claude free |
489
+ | | Cursor IDE | $20/mo | Monthly | Cursor users |
490
+ | **💰 CHEAP** | GLM-5.1 / GLM-4.7 | $0.6/1M | Daily 10AM | Budget backup |
491
+ | | MiniMax M2.7 | $0.2/1M | 5-hour rolling | Cheapest option |
492
+ | | Kimi K2.5 | $9/mo flat | 10M tokens/mo | Predictable cost |
493
+ | **🆓 FREE** | Kiro AI | $0 | Unlimited | Claude 4.5 + GLM-5 + MiniMax free |
494
+ | | OpenCode Free | $0 | Unlimited | No auth, auto-fetch models |
495
+ | | Vertex AI | $300 credits | New GCP accounts | Gemini 3 Pro + DeepSeek + GLM-5 |
477
496
 
478
- **💡 Pro Tip:** Start with Gemini CLI (180K free/month) + iFlow (unlimited free) combo = $0 cost!
497
+ **💡 Pro Tip:** RTK + Kiro AI + OpenCode Free combo = **$0 cost + 20-40% token savings**!
479
498
 
480
499
  ---
481
500
 
@@ -523,9 +542,9 @@ Reality Check:
523
542
  **Solution:**
524
543
  ```
525
544
  Combo: "maximize-claude"
526
- 1. cc/claude-opus-4-6 (use subscription fully)
527
- 2. glm/glm-4.7 (cheap backup when quota out)
528
- 3. if/kimi-k2-thinking (free emergency fallback)
545
+ 1. cc/claude-opus-4-7 (use subscription fully)
546
+ 2. glm/glm-5.1 (cheap backup when quota out)
547
+ 3. kr/claude-sonnet-4.5 (free emergency fallback)
529
548
 
530
549
  Monthly cost: $20 (subscription) + ~$5 (backup) = $25 total
531
550
  vs. $20 + hitting limits = frustration
@@ -538,12 +557,12 @@ vs. $20 + hitting limits = frustration
538
557
  **Solution:**
539
558
  ```
540
559
  Combo: "free-forever"
541
- 1. gc/gemini-3-flash (180K free/month)
542
- 2. if/kimi-k2-thinking (unlimited free)
543
- 3. qw/qwen3-coder-plus (unlimited free)
560
+ 1. kr/claude-sonnet-4.5 (Claude 4.5 free unlimited)
561
+ 2. kr/glm-5 (GLM-5 free via Kiro)
562
+ 3. oc/<auto> (OpenCode Free, no auth)
544
563
 
545
564
  Monthly cost: $0
546
- Quality: Production-ready models
565
+ Quality: Production-ready models + RTK saves 20-40% tokens
547
566
  ```
548
567
 
549
568
  ### Case 3: "I need 24/7 coding, no interruptions"
@@ -553,11 +572,11 @@ Quality: Production-ready models
553
572
  **Solution:**
554
573
  ```
555
574
  Combo: "always-on"
556
- 1. cc/claude-opus-4-6 (best quality)
557
- 2. cx/gpt-5.2-codex (second subscription)
558
- 3. glm/glm-4.7 (cheap, resets daily)
559
- 4. minimax/MiniMax-M2.1 (cheapest, 5h reset)
560
- 5. if/kimi-k2-thinking (free unlimited)
575
+ 1. cc/claude-opus-4-7 (best quality)
576
+ 2. cx/gpt-5.5 (second subscription)
577
+ 3. glm/glm-5.1 (cheap, resets daily)
578
+ 4. minimax/MiniMax-M2.7 (cheapest, 5h reset)
579
+ 5. kr/claude-sonnet-4.5 (free unlimited)
561
580
 
562
581
  Result: 5 layers of fallback = zero downtime
563
582
  Monthly cost: $20-200 (subscriptions) + $10-20 (backup)
@@ -570,9 +589,9 @@ Monthly cost: $20-200 (subscriptions) + $10-20 (backup)
570
589
  **Solution:**
571
590
  ```
572
591
  Combo: "openclaw-free"
573
- 1. if/glm-4.7 (unlimited free)
574
- 2. if/minimax-m2.1 (unlimited free)
575
- 3. if/kimi-k2-thinking (unlimited free)
592
+ 1. kr/claude-sonnet-4.5 (Claude 4.5 free)
593
+ 2. kr/glm-5 (GLM-5 free)
594
+ 3. kr/MiniMax-M2.5 (MiniMax free)
576
595
 
577
596
  Monthly cost: $0
578
597
  Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal...
@@ -614,16 +633,19 @@ The cost display is a "savings tracker" to help you understand your usage patter
614
633
  <details>
615
634
  <summary><b>🆓 Are FREE providers really unlimited?</b></summary>
616
635
 
617
- **Yes!** Providers marked as FREE (iFlow, Kiro, Qwen) are genuinely unlimited with **no hidden charges**.
636
+ **Yes!** The current FREE providers (Kiro, OpenCode Free, Vertex) are genuinely free with **no hidden charges**.
618
637
 
619
638
  These are free services offered by those respective companies:
620
- - **iFlow**: Free unlimited access to 8+ models via OAuth
621
- - **Kiro**: Free unlimited Claude models via AWS Builder ID
622
- - **Qwen**: Free unlimited access to Qwen models via device auth
639
+ - **Kiro AI**: Free unlimited Claude 4.5 + GLM-5 + MiniMax via AWS Builder ID / Google / GitHub OAuth
640
+ - **OpenCode Free**: No-auth passthrough proxy, models auto-fetched from `opencode.ai/zen/v1/models`
641
+ - **Vertex AI**: $300 free credits for new Google Cloud accounts (90 days)
623
642
 
624
643
  9Router just routes your requests to them - there's no "catch" or future billing. They're truly free services, and 9Router makes them easy to use with fallback support.
625
644
 
626
- **Note:** Some subscription providers (Antigravity, GitHub Copilot) may have free preview periods that could become paid later, but this would be clearly announced by those providers, not 9Router.
645
+ **Discontinued free tiers (no longer recommended):**
646
+ - ❌ **iFlow**: Was free unlimited, now changed to paid (2026)
647
+ - ❌ **Qwen Code**: Free OAuth tier discontinued by Alibaba on 2026-04-15
648
+ - ❌ **Gemini CLI**: Still works, but using it with non-CLI tools (Claude, Codex, Cursor...) may result in account bans — only use if you stick to Gemini CLI itself
627
649
 
628
650
  </details>
629
651
 
@@ -689,8 +711,9 @@ Dashboard → Providers → Connect Claude Code
689
711
  → 5-hour + weekly quota tracking
690
712
 
691
713
  Models:
714
+ cc/claude-opus-4-7
692
715
  cc/claude-opus-4-6
693
- cc/claude-sonnet-4-5-20250929
716
+ cc/claude-sonnet-4-6
694
717
  cc/claude-haiku-4-5-20251001
695
718
  ```
696
719
 
@@ -704,35 +727,38 @@ Dashboard → Providers → Connect Codex
704
727
  → 5-hour + weekly reset
705
728
 
706
729
  Models:
730
+ cx/gpt-5.5
731
+ cx/gpt-5.4
732
+ cx/gpt-5.3-codex
707
733
  cx/gpt-5.2-codex
708
- cx/gpt-5.1-codex-max
709
734
  ```
710
735
 
711
- ### Gemini CLI (FREE 180K/month!)
736
+ ### GitHub Copilot
712
737
 
713
738
  ```bash
714
- Dashboard → Providers → Connect Gemini CLI
715
- Google OAuth
716
- 180K completions/month + 1K/day
739
+ Dashboard → Providers → Connect GitHub
740
+ OAuth via GitHub
741
+ Monthly reset (1st of month)
717
742
 
718
743
  Models:
719
- gc/gemini-3-flash-preview
720
- gc/gemini-2.5-pro
744
+ gh/gpt-5.4
745
+ gh/claude-opus-4.7
746
+ gh/claude-sonnet-4.6
747
+ gh/gemini-3.1-pro-preview
748
+ gh/grok-code-fast-1
721
749
  ```
722
750
 
723
- **Best Value:** Huge free tier! Use this before paid tiers.
724
-
725
- ### GitHub Copilot
751
+ ### Cursor IDE
726
752
 
727
753
  ```bash
728
- Dashboard → Providers → Connect GitHub
729
- → OAuth via GitHub
730
- → Monthly reset (1st of month)
754
+ Dashboard → Providers → Connect Cursor
755
+ → OAuth login
756
+ → Monthly subscription
731
757
 
732
758
  Models:
733
- gh/gpt-5
734
- gh/claude-4.5-sonnet
735
- gh/gemini-3-pro
759
+ cu/claude-4.6-opus-max
760
+ cu/claude-4.5-sonnet-thinking
761
+ cu/gpt-5.3-codex
736
762
  ```
737
763
 
738
764
  </details>
@@ -740,7 +766,7 @@ Models:
740
766
  <details>
741
767
  <summary><b>💰 Cheap Providers (Backup)</b></summary>
742
768
 
743
- ### GLM-4.7 (Daily reset, $0.6/1M)
769
+ ### GLM-5.1 / GLM-4.7 (Daily reset, $0.6/1M)
744
770
 
745
771
  1. Sign up: [Zhipu AI](https://open.bigmodel.cn/)
746
772
  2. Get API key from Coding Plan
@@ -748,74 +774,83 @@ Models:
748
774
  - Provider: `glm`
749
775
  - API Key: `your-key`
750
776
 
751
- **Use:** `glm/glm-4.7`
777
+ **Use:** `glm/glm-5.1`, `glm/glm-5`, `glm/glm-4.7`
752
778
 
753
779
  **Pro Tip:** Coding Plan offers 3× quota at 1/7 cost! Reset daily 10:00 AM.
754
780
 
755
- ### MiniMax M2.1 (5h reset, $0.20/1M)
781
+ ### MiniMax M2.7 (5h reset, $0.20/1M)
756
782
 
757
783
  1. Sign up: [MiniMax](https://www.minimax.io/)
758
784
  2. Get API key
759
785
  3. Dashboard → Add API Key
760
786
 
761
- **Use:** `minimax/MiniMax-M2.1`
787
+ **Use:** `minimax/MiniMax-M2.7`, `minimax/MiniMax-M2.5`
762
788
 
763
789
  **Pro Tip:** Cheapest option for long context (1M tokens)!
764
790
 
765
- ### Kimi K2 ($9/month flat)
791
+ ### Kimi K2.5 ($9/month flat)
766
792
 
767
793
  1. Subscribe: [Moonshot AI](https://platform.moonshot.ai/)
768
794
  2. Get API key
769
795
  3. Dashboard → Add API Key
770
796
 
771
- **Use:** `kimi/kimi-latest`
797
+ **Use:** `kimi/kimi-k2.5`, `kimi/kimi-k2.5-thinking`
772
798
 
773
799
  **Pro Tip:** Fixed $9/month for 10M tokens = $0.90/1M effective cost!
774
800
 
775
801
  </details>
776
802
 
777
803
  <details>
778
- <summary><b>🆓 FREE Providers (Emergency Backup)</b></summary>
804
+ <summary><b>🆓 FREE Providers (Recommended)</b></summary>
779
805
 
780
- ### iFlow (8 FREE models)
806
+ ### Kiro AI (Claude 4.5 + GLM-5 + MiniMax FREE)
781
807
 
782
808
  ```bash
783
- Dashboard → Connect iFlow
784
- iFlow OAuth login
809
+ Dashboard → Connect Kiro
810
+ AWS Builder ID, AWS IAM Identity Center, Google, or GitHub
785
811
  → Unlimited usage
786
812
 
787
813
  Models:
788
- if/kimi-k2-thinking
789
- if/qwen3-coder-plus
790
- if/glm-4.7
791
- if/minimax-m2
792
- if/deepseek-r1
814
+ kr/claude-sonnet-4.5
815
+ kr/claude-haiku-4.5
816
+ kr/glm-5
817
+ kr/MiniMax-M2.5
818
+ kr/qwen3-coder-next
819
+ kr/deepseek-3.2
793
820
  ```
794
821
 
795
- ### Qwen (3 FREE models)
822
+ **Pro Tip:** Best free option for Claude. No API key, no payment, fully unlimited.
796
823
 
797
- ```bash
798
- Dashboard → Connect Qwen
799
- → Device code authorization
800
- → Unlimited usage
824
+ ### OpenCode Free (No auth, auto-fetch models)
801
825
 
802
- Models:
803
- qw/qwen3-coder-plus
804
- qw/qwen3-coder-flash
826
+ ```bash
827
+ Dashboard → Connect OpenCode Free
828
+ → No login required (passthrough proxy)
829
+ → Models auto-fetched from opencode.ai/zen/v1/models
805
830
  ```
806
831
 
807
- ### Kiro (Claude FREE)
832
+ **Pro Tip:** Fastest setup. Just connect and start coding.
833
+
834
+ ### Vertex AI ($300 free credits for new GCP accounts)
808
835
 
809
836
  ```bash
810
- Dashboard → Connect Kiro
811
- AWS Builder ID, AWS IAM Identity Center, Google, GitHub
812
- Unlimited usage
837
+ Dashboard → Connect Vertex AI
838
+ Upload Google Cloud Service Account JSON
839
+ Enable Vertex AI API in your GCP project
813
840
 
814
841
  Models:
815
- kr/claude-sonnet-4.5
816
- kr/claude-haiku-4.5
842
+ vertex/gemini-3.1-pro-preview
843
+ vertex/gemini-3-flash-preview
844
+ vertex/gemini-2.5-flash
845
+
846
+ Vertex Partner (Anthropic / DeepSeek / GLM / Qwen via Vertex):
847
+ vertex-partner/glm-5-maas
848
+ vertex-partner/deepseek-v3.2-maas
849
+ vertex-partner/qwen3-next-80b-a3b-thinking-maas
817
850
  ```
818
851
 
852
+ **Pro Tip:** New Google Cloud accounts get $300 credits free for 90 days. Plenty for daily coding.
853
+
819
854
  </details>
820
855
 
821
856
  <details>
@@ -828,9 +863,9 @@ Dashboard → Combos → Create New
828
863
 
829
864
  Name: premium-coding
830
865
  Models:
831
- 1. cc/claude-opus-4-6 (Subscription primary)
832
- 2. glm/glm-4.7 (Cheap backup, $0.6/1M)
833
- 3. minimax/MiniMax-M2.1 (Cheapest fallback, $0.20/1M)
866
+ 1. cc/claude-opus-4-7 (Subscription primary)
867
+ 2. glm/glm-5.1 (Cheap backup, $0.6/1M)
868
+ 3. minimax/MiniMax-M2.7 (Cheapest fallback, $0.20/1M)
834
869
 
835
870
  Use in CLI: premium-coding
836
871
 
@@ -846,11 +881,11 @@ Monthly cost example (100M tokens):
846
881
  ```
847
882
  Name: free-combo
848
883
  Models:
849
- 1. gc/gemini-3-flash-preview (180K free/month)
850
- 2. if/kimi-k2-thinking (unlimited)
851
- 3. qw/qwen3-coder-plus (unlimited)
884
+ 1. kr/claude-sonnet-4.5 (Claude 4.5 free unlimited)
885
+ 2. kr/glm-5 (GLM-5 free via Kiro)
886
+ 3. vertex/gemini-3.1-pro-preview ($300 free credits)
852
887
 
853
- Cost: $0 forever!
888
+ Cost: $0 forever (+ 20-40% token savings via RTK)!
854
889
  ```
855
890
 
856
891
  </details>
@@ -864,7 +899,7 @@ Cost: $0 forever!
864
899
  Settings → Models → Advanced:
865
900
  OpenAI API Base URL: http://localhost:20128/v1
866
901
  OpenAI API Key: [from 9router dashboard]
867
- Model: cc/claude-opus-4-6
902
+ Model: cc/claude-opus-4-7
868
903
  ```
869
904
 
870
905
  Or use combo: `premium-coding`
@@ -904,7 +939,7 @@ Dashboard → CLI Tools → OpenClaw → Select Model → Apply
904
939
  "agents": {
905
940
  "defaults": {
906
941
  "model": {
907
- "primary": "9router/if/glm-4.7"
942
+ "primary": "9router/kr/claude-sonnet-4.5"
908
943
  }
909
944
  }
910
945
  },
@@ -916,8 +951,8 @@ Dashboard → CLI Tools → OpenClaw → Select Model → Apply
916
951
  "api": "openai-completions",
917
952
  "models": [
918
953
  {
919
- "id": "if/glm-4.7",
920
- "name": "glm-4.7"
954
+ "id": "kr/claude-sonnet-4.5",
955
+ "name": "Claude Sonnet 4.5 (Kiro Free)"
921
956
  }
922
957
  ]
923
958
  }
@@ -934,7 +969,7 @@ Dashboard → CLI Tools → OpenClaw → Select Model → Apply
934
969
  Provider: OpenAI Compatible
935
970
  Base URL: http://localhost:20128/v1
936
971
  API Key: [from dashboard]
937
- Model: cc/claude-opus-4-6
972
+ Model: cc/claude-opus-4-7
938
973
  ```
939
974
 
940
975
  </details>
@@ -1057,40 +1092,62 @@ Notes:
1057
1092
  <summary><b>View all available models</b></summary>
1058
1093
 
1059
1094
  **Claude Code (`cc/`)** - Pro/Max:
1095
+ - `cc/claude-opus-4-7`
1060
1096
  - `cc/claude-opus-4-6`
1097
+ - `cc/claude-sonnet-4-6`
1061
1098
  - `cc/claude-sonnet-4-5-20250929`
1062
1099
  - `cc/claude-haiku-4-5-20251001`
1063
1100
 
1064
1101
  **Codex (`cx/`)** - Plus/Pro:
1102
+ - `cx/gpt-5.5`
1103
+ - `cx/gpt-5.4`
1104
+ - `cx/gpt-5.3-codex`
1065
1105
  - `cx/gpt-5.2-codex`
1066
1106
  - `cx/gpt-5.1-codex-max`
1067
1107
 
1068
- **Gemini CLI (`gc/`)** - FREE:
1069
- - `gc/gemini-3-flash-preview`
1070
- - `gc/gemini-2.5-pro`
1071
-
1072
1108
  **GitHub Copilot (`gh/`)**:
1073
- - `gh/gpt-5`
1074
- - `gh/claude-4.5-sonnet`
1109
+ - `gh/gpt-5.4`
1110
+ - `gh/claude-opus-4.7`
1111
+ - `gh/claude-sonnet-4.6`
1112
+ - `gh/gemini-3.1-pro-preview`
1113
+ - `gh/grok-code-fast-1`
1114
+
1115
+ **Cursor (`cu/`)** - Subscription:
1116
+ - `cu/claude-4.6-opus-max`
1117
+ - `cu/claude-4.5-sonnet-thinking`
1118
+ - `cu/gpt-5.3-codex`
1119
+ - `cu/kimi-k2.5`
1075
1120
 
1076
1121
  **GLM (`glm/`)** - $0.6/1M:
1122
+ - `glm/glm-5.1`
1123
+ - `glm/glm-5`
1077
1124
  - `glm/glm-4.7`
1078
1125
 
1079
1126
  **MiniMax (`minimax/`)** - $0.2/1M:
1080
- - `minimax/MiniMax-M2.1`
1081
-
1082
- **iFlow (`if/`)** - FREE:
1083
- - `if/kimi-k2-thinking`
1084
- - `if/qwen3-coder-plus`
1085
- - `if/deepseek-r1`
1127
+ - `minimax/MiniMax-M2.7`
1128
+ - `minimax/MiniMax-M2.5`
1086
1129
 
1087
- **Qwen (`qw/`)** - FREE:
1088
- - `qw/qwen3-coder-plus`
1089
- - `qw/qwen3-coder-flash`
1130
+ **Kimi (`kimi/`)** - $9/mo flat:
1131
+ - `kimi/kimi-k2.5`
1132
+ - `kimi/kimi-k2.5-thinking`
1090
1133
 
1091
- **Kiro (`kr/`)** - FREE:
1134
+ **Kiro (`kr/`)** - FREE unlimited:
1092
1135
  - `kr/claude-sonnet-4.5`
1093
1136
  - `kr/claude-haiku-4.5`
1137
+ - `kr/glm-5`
1138
+ - `kr/MiniMax-M2.5`
1139
+ - `kr/qwen3-coder-next`
1140
+ - `kr/deepseek-3.2`
1141
+
1142
+ **OpenCode Free (`oc/`)** - FREE no-auth:
1143
+ - Auto-fetched from `opencode.ai/zen/v1/models`
1144
+
1145
+ **Vertex AI (`vertex/`)** - $300 free credits:
1146
+ - `vertex/gemini-3.1-pro-preview`
1147
+ - `vertex/gemini-3-flash-preview`
1148
+ - `vertex/gemini-2.5-flash`
1149
+ - `vertex-partner/glm-5-maas`
1150
+ - `vertex-partner/deepseek-v3.2-maas`
1094
1151
 
1095
1152
  </details>
1096
1153
 
@@ -1104,16 +1161,17 @@ Notes:
1104
1161
 
1105
1162
  **Rate limiting**
1106
1163
  - Subscription quota out → Fallback to GLM/MiniMax
1107
- - Add combo: `cc/claude-opus-4-6 → glm/glm-4.7if/kimi-k2-thinking`
1164
+ - Add combo: `cc/claude-opus-4-7 → glm/glm-5.1kr/claude-sonnet-4.5`
1108
1165
 
1109
1166
  **OAuth token expired**
1110
1167
  - Auto-refreshed by 9Router
1111
1168
  - If issues persist: Dashboard → Provider → Reconnect
1112
1169
 
1113
1170
  **High costs**
1171
+ - Enable RTK in Dashboard → Endpoint settings (default ON, saves 20-40% tokens)
1114
1172
  - Check usage stats in Dashboard
1115
1173
  - Switch primary model to GLM/MiniMax
1116
- - Use free tier (Gemini CLI, iFlow) for non-critical tasks
1174
+ - Use free tier (Kiro, OpenCode Free, Vertex) for non-critical tasks
1117
1175
 
1118
1176
  **Dashboard opens on wrong port**
1119
1177
  - Set `PORT=20128` and `NEXT_PUBLIC_BASE_URL=http://localhost:20128`
@@ -1 +1 @@
1
- GWqgJg45jqUgh4iLz365f
1
+ ahyS0wV6v2JdXWYSEruR6