omniroute 2.3.1 → 2.3.3

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 (242) hide show
  1. package/README.md +93 -2
  2. package/app/.next/BUILD_ID +1 -1
  3. package/app/.next/app-path-routes-manifest.json +39 -39
  4. package/app/.next/build-manifest.json +2 -2
  5. package/app/.next/prerender-manifest.json +3 -3
  6. package/app/.next/server/app/(dashboard)/dashboard/a2a/page_client-reference-manifest.js +1 -1
  7. package/app/.next/server/app/(dashboard)/dashboard/agents/page_client-reference-manifest.js +1 -1
  8. package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  9. package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
  10. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
  11. package/app/.next/server/app/(dashboard)/dashboard/auto-combo/page_client-reference-manifest.js +1 -1
  12. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  13. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  14. package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
  15. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  16. package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  17. package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
  18. package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
  19. package/app/.next/server/app/(dashboard)/dashboard/mcp/page_client-reference-manifest.js +1 -1
  20. package/app/.next/server/app/(dashboard)/dashboard/media/page_client-reference-manifest.js +1 -1
  21. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
  22. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  23. package/app/.next/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  24. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  25. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  26. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  27. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  28. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  29. package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
  30. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  31. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  32. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  33. package/app/.next/server/app/.well-known/agent.json/route_client-reference-manifest.js +1 -1
  34. package/app/.next/server/app/400/page_client-reference-manifest.js +1 -1
  35. package/app/.next/server/app/401/page_client-reference-manifest.js +1 -1
  36. package/app/.next/server/app/403/page_client-reference-manifest.js +1 -1
  37. package/app/.next/server/app/408/page_client-reference-manifest.js +1 -1
  38. package/app/.next/server/app/429/page_client-reference-manifest.js +1 -1
  39. package/app/.next/server/app/500/page_client-reference-manifest.js +1 -1
  40. package/app/.next/server/app/502/page_client-reference-manifest.js +1 -1
  41. package/app/.next/server/app/503/page_client-reference-manifest.js +1 -1
  42. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  43. package/app/.next/server/app/_global-error.html +2 -2
  44. package/app/.next/server/app/_global-error.rsc +1 -1
  45. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  46. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  47. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  48. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  49. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  50. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  51. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  52. package/app/.next/server/app/a2a/route_client-reference-manifest.js +1 -1
  53. package/app/.next/server/app/api/a2a/status/route_client-reference-manifest.js +1 -1
  54. package/app/.next/server/app/api/a2a/tasks/[id]/cancel/route_client-reference-manifest.js +1 -1
  55. package/app/.next/server/app/api/a2a/tasks/[id]/route_client-reference-manifest.js +1 -1
  56. package/app/.next/server/app/api/a2a/tasks/route_client-reference-manifest.js +1 -1
  57. package/app/.next/server/app/api/acp/agents/route_client-reference-manifest.js +1 -1
  58. package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  59. package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  60. package/app/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  61. package/app/.next/server/app/api/cache/route_client-reference-manifest.js +1 -1
  62. package/app/.next/server/app/api/cache/stats/route_client-reference-manifest.js +1 -1
  63. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +1 -1
  64. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
  65. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  66. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
  67. package/app/.next/server/app/api/cli-tools/backups/route.js +1 -1
  68. package/app/.next/server/app/api/cli-tools/backups/route_client-reference-manifest.js +1 -1
  69. package/app/.next/server/app/api/cli-tools/claude-settings/route.js +1 -1
  70. package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
  71. package/app/.next/server/app/api/cli-tools/cline-settings/route.js +2 -2
  72. package/app/.next/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
  73. package/app/.next/server/app/api/cli-tools/codex-profiles/route.js +2 -2
  74. package/app/.next/server/app/api/cli-tools/codex-profiles/route_client-reference-manifest.js +1 -1
  75. package/app/.next/server/app/api/cli-tools/codex-settings/route.js +2 -2
  76. package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
  77. package/app/.next/server/app/api/cli-tools/droid-settings/route.js +1 -1
  78. package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
  79. package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route_client-reference-manifest.js +1 -1
  80. package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  81. package/app/.next/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
  82. package/app/.next/server/app/api/cli-tools/openclaw/auto-order/route_client-reference-manifest.js +1 -1
  83. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +1 -1
  84. package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
  85. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route.js +2 -2
  86. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route_client-reference-manifest.js +1 -1
  87. package/app/.next/server/app/api/cli-tools/status/route.js +2 -2
  88. package/app/.next/server/app/api/cli-tools/status/route_client-reference-manifest.js +1 -1
  89. package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
  90. package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
  91. package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
  92. package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
  93. package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  94. package/app/.next/server/app/api/combos/auto/route_client-reference-manifest.js +1 -1
  95. package/app/.next/server/app/api/combos/metrics/route_client-reference-manifest.js +1 -1
  96. package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
  97. package/app/.next/server/app/api/combos/test/route_client-reference-manifest.js +1 -1
  98. package/app/.next/server/app/api/compliance/audit-log/route_client-reference-manifest.js +1 -1
  99. package/app/.next/server/app/api/db-backups/export/route_client-reference-manifest.js +1 -1
  100. package/app/.next/server/app/api/db-backups/exportAll/route_client-reference-manifest.js +1 -1
  101. package/app/.next/server/app/api/db-backups/import/route_client-reference-manifest.js +1 -1
  102. package/app/.next/server/app/api/db-backups/route_client-reference-manifest.js +1 -1
  103. package/app/.next/server/app/api/evals/[suiteId]/route_client-reference-manifest.js +1 -1
  104. package/app/.next/server/app/api/evals/route_client-reference-manifest.js +1 -1
  105. package/app/.next/server/app/api/fallback/chains/route_client-reference-manifest.js +1 -1
  106. package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  107. package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  108. package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
  109. package/app/.next/server/app/api/logs/console/route_client-reference-manifest.js +1 -1
  110. package/app/.next/server/app/api/mcp/audit/route_client-reference-manifest.js +1 -1
  111. package/app/.next/server/app/api/mcp/audit/stats/route_client-reference-manifest.js +1 -1
  112. package/app/.next/server/app/api/mcp/sse/route_client-reference-manifest.js +1 -1
  113. package/app/.next/server/app/api/mcp/status/route_client-reference-manifest.js +1 -1
  114. package/app/.next/server/app/api/mcp/stream/route_client-reference-manifest.js +1 -1
  115. package/app/.next/server/app/api/mcp/tools/route_client-reference-manifest.js +1 -1
  116. package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
  117. package/app/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
  118. package/app/.next/server/app/api/models/catalog/route_client-reference-manifest.js +1 -1
  119. package/app/.next/server/app/api/models/openrouter-catalog/route_client-reference-manifest.js +1 -1
  120. package/app/.next/server/app/api/models/route.js +1 -1
  121. package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  122. package/app/.next/server/app/api/monitoring/health/route.js +1 -1
  123. package/app/.next/server/app/api/monitoring/health/route_client-reference-manifest.js +1 -1
  124. package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  125. package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  126. package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  127. package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
  128. package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
  129. package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
  130. package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
  131. package/app/.next/server/app/api/policies/route_client-reference-manifest.js +1 -1
  132. package/app/.next/server/app/api/pricing/defaults/route_client-reference-manifest.js +1 -1
  133. package/app/.next/server/app/api/pricing/models/route_client-reference-manifest.js +1 -1
  134. package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  135. package/app/.next/server/app/api/provider-metrics/route_client-reference-manifest.js +1 -1
  136. package/app/.next/server/app/api/provider-models/route_client-reference-manifest.js +1 -1
  137. package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  138. package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  139. package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  140. package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  141. package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  142. package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  143. package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  144. package/app/.next/server/app/api/providers/route.js +1 -1
  145. package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
  146. package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
  147. package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  148. package/app/.next/server/app/api/rate-limit/route_client-reference-manifest.js +1 -1
  149. package/app/.next/server/app/api/rate-limits/route_client-reference-manifest.js +1 -1
  150. package/app/.next/server/app/api/resilience/reset/route_client-reference-manifest.js +1 -1
  151. package/app/.next/server/app/api/resilience/route_client-reference-manifest.js +1 -1
  152. package/app/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  153. package/app/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  154. package/app/.next/server/app/api/settings/background-degradation/route_client-reference-manifest.js +1 -1
  155. package/app/.next/server/app/api/settings/combo-defaults/route_client-reference-manifest.js +1 -1
  156. package/app/.next/server/app/api/settings/ip-filter/route_client-reference-manifest.js +1 -1
  157. package/app/.next/server/app/api/settings/model-aliases/route_client-reference-manifest.js +1 -1
  158. package/app/.next/server/app/api/settings/proxy/route_client-reference-manifest.js +1 -1
  159. package/app/.next/server/app/api/settings/proxy/test/route_client-reference-manifest.js +1 -1
  160. package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  161. package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  162. package/app/.next/server/app/api/settings/system-prompt/route_client-reference-manifest.js +1 -1
  163. package/app/.next/server/app/api/settings/thinking-budget/route_client-reference-manifest.js +1 -1
  164. package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  165. package/app/.next/server/app/api/storage/health/route_client-reference-manifest.js +1 -1
  166. package/app/.next/server/app/api/sync/cloud/route_client-reference-manifest.js +1 -1
  167. package/app/.next/server/app/api/sync/initialize/route_client-reference-manifest.js +1 -1
  168. package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
  169. package/app/.next/server/app/api/telemetry/summary/route_client-reference-manifest.js +1 -1
  170. package/app/.next/server/app/api/token-health/route_client-reference-manifest.js +1 -1
  171. package/app/.next/server/app/api/translator/detect/route_client-reference-manifest.js +1 -1
  172. package/app/.next/server/app/api/translator/history/route_client-reference-manifest.js +1 -1
  173. package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  174. package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  175. package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  176. package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  177. package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  178. package/app/.next/server/app/api/usage/analytics/route_client-reference-manifest.js +1 -1
  179. package/app/.next/server/app/api/usage/budget/route_client-reference-manifest.js +1 -1
  180. package/app/.next/server/app/api/usage/call-logs/[id]/route_client-reference-manifest.js +1 -1
  181. package/app/.next/server/app/api/usage/call-logs/route_client-reference-manifest.js +1 -1
  182. package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  183. package/app/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
  184. package/app/.next/server/app/api/usage/proxy-logs/route_client-reference-manifest.js +1 -1
  185. package/app/.next/server/app/api/usage/quota/route_client-reference-manifest.js +1 -1
  186. package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  187. package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  188. package/app/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
  189. package/app/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
  190. package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  191. package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
  192. package/app/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
  193. package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  194. package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  195. package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  196. package/app/.next/server/app/api/v1/moderations/route_client-reference-manifest.js +1 -1
  197. package/app/.next/server/app/api/v1/music/generations/route_client-reference-manifest.js +1 -1
  198. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route_client-reference-manifest.js +1 -1
  199. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route_client-reference-manifest.js +1 -1
  200. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route_client-reference-manifest.js +1 -1
  201. package/app/.next/server/app/api/v1/rerank/route_client-reference-manifest.js +1 -1
  202. package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  203. package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
  204. package/app/.next/server/app/api/v1/videos/generations/route_client-reference-manifest.js +1 -1
  205. package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  206. package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  207. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  208. package/app/.next/server/app/docs/page.js +1 -1
  209. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  210. package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
  211. package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  212. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  213. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  214. package/app/.next/server/app/maintenance/page_client-reference-manifest.js +1 -1
  215. package/app/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  216. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  217. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  218. package/app/.next/server/app/status/page_client-reference-manifest.js +1 -1
  219. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  220. package/app/.next/server/app-paths-manifest.json +39 -39
  221. package/app/.next/server/chunks/1960.js +1 -1
  222. package/app/.next/server/chunks/2767.js +2 -2
  223. package/app/.next/server/chunks/3596.js +1 -1
  224. package/app/.next/server/chunks/3922.js +1 -1
  225. package/app/.next/server/chunks/7544.js +1 -1
  226. package/app/.next/server/chunks/7669.js +1 -1
  227. package/app/.next/server/chunks/7889.js +1 -1
  228. package/app/.next/server/middleware.js +1 -1
  229. package/app/.next/server/pages/500.html +2 -2
  230. package/app/.next/server/server-reference-manifest.js +1 -1
  231. package/app/.next/server/server-reference-manifest.json +1 -1
  232. package/app/.next/static/chunks/5846-42d982547e1caf85.js +2 -0
  233. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-7341fec78a6818b3.js +1 -0
  234. package/app/package.json +2 -1
  235. package/bin/omniroute.mjs +12 -21
  236. package/package.json +2 -1
  237. package/scripts/native-binary-compat.mjs +163 -0
  238. package/scripts/postinstall.mjs +77 -43
  239. package/app/.next/static/chunks/5846-4a8ed39a61a586d3.js +0 -2
  240. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-a3b2395f513e893f.js +0 -1
  241. /package/app/.next/static/{4thLnSSHYZ_acsS5-h-8W → 2-Wq7CYQRUOTZ9PqJz4xL}/_buildManifest.js +0 -0
  242. /package/app/.next/static/{4thLnSSHYZ_acsS5-h-8W → 2-Wq7CYQRUOTZ9PqJz4xL}/_ssgManifest.js +0 -0
package/README.md CHANGED
@@ -1508,11 +1508,102 @@ opencode
1508
1508
  - OmniRoute v1.0.6+ includes fallback validation via chat completions
1509
1509
  - Ensure base URL includes `/v1` suffix
1510
1510
 
1511
- ### 🔐 OAuth em Servidor Remoto (Remote OAuth Setup)
1511
+ ### 🔐 OAuth on a Remote Server
1512
1512
 
1513
+ <a name="oauth-on-a-remote-server"></a>
1513
1514
  <a name="oauth-em-servidor-remoto"></a>
1514
1515
 
1515
- > **⚠️ IMPORTANTE para usuários com OmniRoute em VPS/Docker/servidor remoto**
1516
+ > **⚠️ Important for users running OmniRoute on a VPS, Docker, or any remote server**
1517
+
1518
+ #### Why does Antigravity / Gemini CLI OAuth fail on remote servers?
1519
+
1520
+ The **Antigravity** and **Gemini CLI** providers use **Google OAuth 2.0**. Google requires the `redirect_uri` in the OAuth flow to exactly match one of the pre-registered URIs in the app's Google Cloud Console.
1521
+
1522
+ The OAuth credentials bundled in OmniRoute are registered **for `localhost` only**. When you access OmniRoute on a remote server (e.g. `https://omniroute.myserver.com`), Google rejects the authentication with:
1523
+
1524
+ ```
1525
+ Error 400: redirect_uri_mismatch
1526
+ ```
1527
+
1528
+ #### Solution: Configure your own OAuth credentials
1529
+
1530
+ You need to create an **OAuth 2.0 Client ID** in Google Cloud Console with your server's URI.
1531
+
1532
+ #### Step-by-step
1533
+
1534
+ **1. Open Google Cloud Console**
1535
+
1536
+ Go to: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials)
1537
+
1538
+ **2. Create a new OAuth 2.0 Client ID**
1539
+
1540
+ - Click **"+ Create Credentials"** → **"OAuth client ID"**
1541
+ - Application type: **"Web application"**
1542
+ - Name: anything you like (e.g. `OmniRoute Remote`)
1543
+
1544
+ **3. Add Authorized Redirect URIs**
1545
+
1546
+ In the **"Authorized redirect URIs"** field, add:
1547
+
1548
+ ```
1549
+ https://your-server.com/callback
1550
+ ```
1551
+
1552
+ > Replace `your-server.com` with your server's domain or IP (include the port if needed, e.g. `http://45.33.32.156:20128/callback`).
1553
+
1554
+ **4. Save and copy the credentials**
1555
+
1556
+ After creating, Google will show the **Client ID** and **Client Secret**.
1557
+
1558
+ **5. Set environment variables**
1559
+
1560
+ In your `.env` (or Docker environment variables):
1561
+
1562
+ ```bash
1563
+ # For Antigravity:
1564
+ ANTIGRAVITY_OAUTH_CLIENT_ID=your-client-id.apps.googleusercontent.com
1565
+ ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-your-secret
1566
+
1567
+ # For Gemini CLI:
1568
+ GEMINI_OAUTH_CLIENT_ID=your-client-id.apps.googleusercontent.com
1569
+ GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-your-secret
1570
+ GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-your-secret
1571
+ ```
1572
+
1573
+ **6. Restart OmniRoute**
1574
+
1575
+ ```bash
1576
+ # npm:
1577
+ npm run dev
1578
+
1579
+ # Docker:
1580
+ docker restart omniroute
1581
+ ```
1582
+
1583
+ **7. Try connecting again**
1584
+
1585
+ Dashboard → Providers → Antigravity (or Gemini CLI) → OAuth
1586
+
1587
+ Google will now redirect correctly to `https://your-server.com/callback`.
1588
+
1589
+ ---
1590
+
1591
+ #### Temporary workaround (without custom credentials)
1592
+
1593
+ If you don't want to set up your own credentials right now, you can still use the **manual URL flow**:
1594
+
1595
+ 1. OmniRoute opens the Google authorization URL
1596
+ 2. After authorizing, Google tries to redirect to `localhost` (which fails on the remote server)
1597
+ 3. **Copy the full URL** from your browser's address bar (even if the page doesn't load)
1598
+ 4. Paste that URL into the field shown in the OmniRoute connection modal
1599
+ 5. Click **"Connect"**
1600
+
1601
+ > This works because the authorization code in the URL is valid regardless of whether the redirect page loaded.
1602
+
1603
+ ---
1604
+
1605
+ <details>
1606
+ <summary><b>🇧🇷 Versão em Português</b></summary>
1516
1607
 
1517
1608
  #### Por que o OAuth do Antigravity / Gemini CLI falha em servidores remotos?
1518
1609
 
@@ -1 +1 @@
1
- 4thLnSSHYZ_acsS5-h-8W
1
+ 2-Wq7CYQRUOTZ9PqJz4xL
@@ -8,10 +8,10 @@
8
8
  "/api/a2a/tasks/[id]/route": "/api/a2a/tasks/[id]",
9
9
  "/api/a2a/tasks/route": "/api/a2a/tasks",
10
10
  "/api/acp/agents/route": "/api/acp/agents",
11
- "/api/auth/logout/route": "/api/auth/logout",
11
+ "/api/auth/login/route": "/api/auth/login",
12
12
  "/api/auth/status/route": "/api/auth/status",
13
+ "/api/auth/logout/route": "/api/auth/logout",
13
14
  "/api/cache/route": "/api/cache",
14
- "/api/auth/login/route": "/api/auth/login",
15
15
  "/api/cache/stats/route": "/api/cache/stats",
16
16
  "/api/cli-tools/antigravity-mitm/alias/route": "/api/cli-tools/antigravity-mitm/alias",
17
17
  "/api/cli-tools/backups/route": "/api/cli-tools/backups",
@@ -21,12 +21,12 @@
21
21
  "/api/cloud/credentials/update/route": "/api/cloud/credentials/update",
22
22
  "/api/cloud/model/resolve/route": "/api/cloud/model/resolve",
23
23
  "/api/cloud/models/alias/route": "/api/cloud/models/alias",
24
- "/api/combos/auto/route": "/api/combos/auto",
25
24
  "/api/combos/[id]/route": "/api/combos/[id]",
26
25
  "/api/combos/metrics/route": "/api/combos/metrics",
27
26
  "/api/combos/route": "/api/combos",
28
- "/api/db-backups/export/route": "/api/db-backups/export",
27
+ "/api/combos/auto/route": "/api/combos/auto",
29
28
  "/api/compliance/audit-log/route": "/api/compliance/audit-log",
29
+ "/api/db-backups/export/route": "/api/db-backups/export",
30
30
  "/api/db-backups/exportAll/route": "/api/db-backups/exportAll",
31
31
  "/api/db-backups/import/route": "/api/db-backups/import",
32
32
  "/api/db-backups/route": "/api/db-backups",
@@ -36,8 +36,8 @@
36
36
  "/api/init/route": "/api/init",
37
37
  "/api/keys/[id]/route": "/api/keys/[id]",
38
38
  "/api/keys/route": "/api/keys",
39
- "/api/logs/console/route": "/api/logs/console",
40
39
  "/api/mcp/audit/route": "/api/mcp/audit",
40
+ "/api/logs/console/route": "/api/logs/console",
41
41
  "/api/mcp/audit/stats/route": "/api/mcp/audit/stats",
42
42
  "/api/mcp/sse/route": "/api/mcp/sse",
43
43
  "/api/mcp/stream/route": "/api/mcp/stream",
@@ -51,8 +51,8 @@
51
51
  "/api/oauth/cursor/auto-import/route": "/api/oauth/cursor/auto-import",
52
52
  "/api/oauth/cursor/import/route": "/api/oauth/cursor/import",
53
53
  "/api/oauth/kiro/auto-import/route": "/api/oauth/kiro/auto-import",
54
- "/api/oauth/kiro/import/route": "/api/oauth/kiro/import",
55
54
  "/api/oauth/kiro/social-authorize/route": "/api/oauth/kiro/social-authorize",
55
+ "/api/oauth/kiro/import/route": "/api/oauth/kiro/import",
56
56
  "/api/oauth/kiro/social-exchange/route": "/api/oauth/kiro/social-exchange",
57
57
  "/api/policies/route": "/api/policies",
58
58
  "/api/pricing/defaults/route": "/api/pricing/defaults",
@@ -61,10 +61,10 @@
61
61
  "/api/provider-metrics/route": "/api/provider-metrics",
62
62
  "/api/provider-models/route": "/api/provider-models",
63
63
  "/api/provider-nodes/[id]/route": "/api/provider-nodes/[id]",
64
- "/api/provider-nodes/validate/route": "/api/provider-nodes/validate",
65
64
  "/api/providers/[id]/models/route": "/api/providers/[id]/models",
66
- "/api/providers/client/route": "/api/providers/client",
67
65
  "/api/providers/[id]/route": "/api/providers/[id]",
66
+ "/api/provider-nodes/validate/route": "/api/provider-nodes/validate",
67
+ "/api/providers/client/route": "/api/providers/client",
68
68
  "/api/providers/route": "/api/providers",
69
69
  "/api/providers/test-batch/route": "/api/providers/test-batch",
70
70
  "/api/providers/validate/route": "/api/providers/validate",
@@ -73,8 +73,8 @@
73
73
  "/api/resilience/reset/route": "/api/resilience/reset",
74
74
  "/api/resilience/route": "/api/resilience",
75
75
  "/api/restart/route": "/api/restart",
76
- "/api/settings/background-degradation/route": "/api/settings/background-degradation",
77
76
  "/api/sessions/route": "/api/sessions",
77
+ "/api/settings/background-degradation/route": "/api/settings/background-degradation",
78
78
  "/api/settings/combo-defaults/route": "/api/settings/combo-defaults",
79
79
  "/api/settings/ip-filter/route": "/api/settings/ip-filter",
80
80
  "/api/settings/model-aliases/route": "/api/settings/model-aliases",
@@ -83,102 +83,102 @@
83
83
  "/api/settings/thinking-budget/route": "/api/settings/thinking-budget",
84
84
  "/api/shutdown/route": "/api/shutdown",
85
85
  "/api/storage/health/route": "/api/storage/health",
86
- "/api/sync/cloud/route": "/api/sync/cloud",
87
86
  "/api/sync/initialize/route": "/api/sync/initialize",
87
+ "/api/sync/cloud/route": "/api/sync/cloud",
88
88
  "/api/tags/route": "/api/tags",
89
89
  "/api/telemetry/summary/route": "/api/telemetry/summary",
90
90
  "/api/token-health/route": "/api/token-health",
91
- "/api/translator/history/route": "/api/translator/history",
92
- "/api/translator/load/route": "/api/translator/load",
93
91
  "/api/translator/detect/route": "/api/translator/detect",
92
+ "/api/translator/load/route": "/api/translator/load",
93
+ "/api/translator/history/route": "/api/translator/history",
94
94
  "/api/translator/save/route": "/api/translator/save",
95
95
  "/api/translator/send/route": "/api/translator/send",
96
96
  "/api/translator/translate/route": "/api/translator/translate",
97
97
  "/api/usage/analytics/route": "/api/usage/analytics",
98
+ "/api/usage/call-logs/[id]/route": "/api/usage/call-logs/[id]",
99
+ "/api/usage/history/route": "/api/usage/history",
98
100
  "/api/usage/budget/route": "/api/usage/budget",
99
101
  "/api/usage/call-logs/route": "/api/usage/call-logs",
100
- "/api/usage/history/route": "/api/usage/history",
101
- "/api/usage/call-logs/[id]/route": "/api/usage/call-logs/[id]",
102
- "/api/usage/request-logs/route": "/api/usage/request-logs",
103
102
  "/api/usage/logs/route": "/api/usage/logs",
104
103
  "/api/usage/quota/route": "/api/usage/quota",
104
+ "/api/usage/request-logs/route": "/api/usage/request-logs",
105
105
  "/api/v1/api/chat/route": "/api/v1/api/chat",
106
106
  "/api/v1/audio/speech/route": "/api/v1/audio/speech",
107
107
  "/api/v1/audio/transcriptions/route": "/api/v1/audio/transcriptions",
108
108
  "/api/v1/embeddings/route": "/api/v1/embeddings",
109
109
  "/api/v1/images/generations/route": "/api/v1/images/generations",
110
110
  "/api/v1/messages/count_tokens/route": "/api/v1/messages/count_tokens",
111
- "/api/v1/models/route": "/api/v1/models",
112
111
  "/api/v1/messages/route": "/api/v1/messages",
112
+ "/api/v1/models/route": "/api/v1/models",
113
113
  "/api/v1/moderations/route": "/api/v1/moderations",
114
114
  "/api/v1/music/generations/route": "/api/v1/music/generations",
115
115
  "/api/v1/providers/[provider]/chat/completions/route": "/api/v1/providers/[provider]/chat/completions",
116
116
  "/api/v1/providers/[provider]/embeddings/route": "/api/v1/providers/[provider]/embeddings",
117
117
  "/api/v1/providers/[provider]/images/generations/route": "/api/v1/providers/[provider]/images/generations",
118
118
  "/api/v1/rerank/route": "/api/v1/rerank",
119
- "/api/v1/responses/route": "/api/v1/responses",
120
119
  "/api/v1/route": "/api/v1",
121
- "/api/v1beta/models/[...path]/route": "/api/v1beta/models/[...path]",
120
+ "/api/v1/responses/route": "/api/v1/responses",
122
121
  "/api/v1/videos/generations/route": "/api/v1/videos/generations",
122
+ "/api/v1beta/models/[...path]/route": "/api/v1beta/models/[...path]",
123
123
  "/api/v1beta/models/route": "/api/v1beta/models",
124
124
  "/api/cli-tools/antigravity-mitm/route": "/api/cli-tools/antigravity-mitm",
125
- "/api/cli-tools/claude-settings/route": "/api/cli-tools/claude-settings",
126
125
  "/api/cli-tools/cline-settings/route": "/api/cli-tools/cline-settings",
126
+ "/api/cli-tools/codex-settings/route": "/api/cli-tools/codex-settings",
127
127
  "/api/cli-tools/guide-settings/[toolId]/route": "/api/cli-tools/guide-settings/[toolId]",
128
128
  "/api/cli-tools/kilo-settings/route": "/api/cli-tools/kilo-settings",
129
- "/api/cli-tools/droid-settings/route": "/api/cli-tools/droid-settings",
129
+ "/api/cli-tools/openclaw-settings/route": "/api/cli-tools/openclaw-settings",
130
130
  "/api/cli-tools/runtime/[toolId]/route": "/api/cli-tools/runtime/[toolId]",
131
131
  "/api/cli-tools/status/route": "/api/cli-tools/status",
132
- "/api/cli-tools/openclaw-settings/route": "/api/cli-tools/openclaw-settings",
133
- "/api/mcp/status/route": "/api/mcp/status",
132
+ "/api/cli-tools/claude-settings/route": "/api/cli-tools/claude-settings",
134
133
  "/api/combos/test/route": "/api/combos/test",
134
+ "/api/mcp/status/route": "/api/mcp/status",
135
135
  "/api/provider-nodes/route": "/api/provider-nodes",
136
136
  "/api/oauth/[provider]/[action]/route": "/api/oauth/[provider]/[action]",
137
- "/api/providers/[id]/test/route": "/api/providers/[id]/test",
137
+ "/api/cli-tools/droid-settings/route": "/api/cli-tools/droid-settings",
138
138
  "/api/settings/proxy/route": "/api/settings/proxy",
139
139
  "/api/settings/route": "/api/settings",
140
140
  "/api/settings/proxy/test/route": "/api/settings/proxy/test",
141
141
  "/api/usage/proxy-logs/route": "/api/usage/proxy-logs",
142
- "/api/v1/chat/completions/route": "/api/v1/chat/completions",
143
142
  "/api/usage/[connectionId]/route": "/api/usage/[connectionId]",
144
- "/api/cli-tools/codex-settings/route": "/api/cli-tools/codex-settings",
143
+ "/api/v1/chat/completions/route": "/api/v1/chat/completions",
144
+ "/api/providers/[id]/test/route": "/api/providers/[id]/test",
145
145
  "/callback/page": "/callback",
146
- "/docs/page": "/docs",
147
146
  "/forbidden/page": "/forbidden",
148
- "/forgot-password/page": "/forgot-password",
147
+ "/docs/page": "/docs",
149
148
  "/landing/page": "/landing",
150
- "/login/page": "/login",
151
- "/maintenance/page": "/maintenance",
149
+ "/forgot-password/page": "/forgot-password",
152
150
  "/page": "/",
151
+ "/maintenance/page": "/maintenance",
152
+ "/login/page": "/login",
153
153
  "/privacy/page": "/privacy",
154
154
  "/status/page": "/status",
155
155
  "/terms/page": "/terms",
156
156
  "/offline/page": "/offline",
157
- "/(dashboard)/dashboard/agents/page": "/dashboard/agents",
158
157
  "/(dashboard)/dashboard/a2a/page": "/dashboard/a2a",
159
158
  "/(dashboard)/dashboard/analytics/page": "/dashboard/analytics",
160
- "/(dashboard)/dashboard/api-manager/page": "/dashboard/api-manager",
159
+ "/(dashboard)/dashboard/agents/page": "/dashboard/agents",
161
160
  "/(dashboard)/dashboard/audit-log/page": "/dashboard/audit-log",
161
+ "/(dashboard)/dashboard/api-manager/page": "/dashboard/api-manager",
162
162
  "/(dashboard)/dashboard/auto-combo/page": "/dashboard/auto-combo",
163
163
  "/(dashboard)/dashboard/cli-tools/page": "/dashboard/cli-tools",
164
- "/(dashboard)/dashboard/limits/page": "/dashboard/limits",
165
- "/(dashboard)/dashboard/costs/page": "/dashboard/costs",
166
164
  "/(dashboard)/dashboard/health/page": "/dashboard/health",
165
+ "/(dashboard)/dashboard/costs/page": "/dashboard/costs",
166
+ "/(dashboard)/dashboard/limits/page": "/dashboard/limits",
167
167
  "/(dashboard)/dashboard/media/page": "/dashboard/media",
168
168
  "/(dashboard)/dashboard/onboarding/page": "/dashboard/onboarding",
169
169
  "/(dashboard)/dashboard/playground/page": "/dashboard/playground",
170
- "/(dashboard)/dashboard/providers/new/page": "/dashboard/providers/new",
171
170
  "/(dashboard)/dashboard/profile/page": "/dashboard/profile",
171
+ "/(dashboard)/dashboard/providers/new/page": "/dashboard/providers/new",
172
+ "/(dashboard)/dashboard/settings/pricing/page": "/dashboard/settings/pricing",
172
173
  "/(dashboard)/dashboard/settings/page": "/dashboard/settings",
173
174
  "/(dashboard)/dashboard/translator/page": "/dashboard/translator",
174
- "/(dashboard)/dashboard/settings/pricing/page": "/dashboard/settings/pricing",
175
175
  "/400/page": "/400",
176
176
  "/401/page": "/401",
177
177
  "/403/page": "/403",
178
- "/500/page": "/500",
179
178
  "/429/page": "/429",
180
- "/503/page": "/503",
179
+ "/500/page": "/500",
181
180
  "/502/page": "/502",
181
+ "/503/page": "/503",
182
182
  "/(dashboard)/dashboard/logs/page": "/dashboard/logs",
183
183
  "/(dashboard)/dashboard/endpoint/page": "/dashboard/endpoint",
184
184
  "/(dashboard)/dashboard/page": "/dashboard",
@@ -186,6 +186,6 @@
186
186
  "/(dashboard)/dashboard/usage/page": "/dashboard/usage",
187
187
  "/408/page": "/408",
188
188
  "/(dashboard)/dashboard/combos/page": "/dashboard/combos",
189
- "/(dashboard)/dashboard/providers/page": "/dashboard/providers",
190
- "/(dashboard)/dashboard/providers/[id]/page": "/dashboard/providers/[id]"
189
+ "/(dashboard)/dashboard/providers/[id]/page": "/dashboard/providers/[id]",
190
+ "/(dashboard)/dashboard/providers/page": "/dashboard/providers"
191
191
  }
@@ -4,8 +4,8 @@
4
4
  ],
5
5
  "devFiles": [],
6
6
  "lowPriorityFiles": [
7
- "static/4thLnSSHYZ_acsS5-h-8W/_buildManifest.js",
8
- "static/4thLnSSHYZ_acsS5-h-8W/_ssgManifest.js"
7
+ "static/2-Wq7CYQRUOTZ9PqJz4xL/_buildManifest.js",
8
+ "static/2-Wq7CYQRUOTZ9PqJz4xL/_ssgManifest.js"
9
9
  ],
10
10
  "rootMainFiles": [
11
11
  "static/chunks/webpack-9837b0fbf7de0b62.js",
@@ -29,8 +29,8 @@
29
29
  "dynamicRoutes": {},
30
30
  "notFoundRoutes": [],
31
31
  "preview": {
32
- "previewModeId": "698c6359d1caedb1af568b07cb3c18e2",
33
- "previewModeSigningKey": "e6c1e27fe10dc73d6cce0877221ce6926c3f746910e44e0101af31cdc8d64678",
34
- "previewModeEncryptionKey": "d6fb021f0a37a1abbc2c342cac52af26a7f7b4a0a922549bda96ddd430b9773e"
32
+ "previewModeId": "4b70895a6e850cd253cc0b305981745c",
33
+ "previewModeSigningKey": "423ce831581da9ea8c5f656126d0915e9fba9caba0c854bc366fd64df6df5168",
34
+ "previewModeEncryptionKey": "e4354d9a6c8367445d20b4f2e8c66f3b7567dbe3a507e6c14a93344a575a20fa"
35
35
  }
36
36
  }