omniroute 2.3.1 → 2.3.2

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 (238) 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 +38 -38
  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_client-reference-manifest.js +1 -1
  28. package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
  29. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  30. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  31. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  32. package/app/.next/server/app/.well-known/agent.json/route_client-reference-manifest.js +1 -1
  33. package/app/.next/server/app/400/page_client-reference-manifest.js +1 -1
  34. package/app/.next/server/app/401/page_client-reference-manifest.js +1 -1
  35. package/app/.next/server/app/403/page_client-reference-manifest.js +1 -1
  36. package/app/.next/server/app/408/page_client-reference-manifest.js +1 -1
  37. package/app/.next/server/app/429/page_client-reference-manifest.js +1 -1
  38. package/app/.next/server/app/500/page_client-reference-manifest.js +1 -1
  39. package/app/.next/server/app/502/page_client-reference-manifest.js +1 -1
  40. package/app/.next/server/app/503/page_client-reference-manifest.js +1 -1
  41. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  42. package/app/.next/server/app/_global-error.html +2 -2
  43. package/app/.next/server/app/_global-error.rsc +1 -1
  44. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  45. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  46. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  47. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  48. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  49. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  50. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  51. package/app/.next/server/app/a2a/route_client-reference-manifest.js +1 -1
  52. package/app/.next/server/app/api/a2a/status/route_client-reference-manifest.js +1 -1
  53. package/app/.next/server/app/api/a2a/tasks/[id]/cancel/route_client-reference-manifest.js +1 -1
  54. package/app/.next/server/app/api/a2a/tasks/[id]/route_client-reference-manifest.js +1 -1
  55. package/app/.next/server/app/api/a2a/tasks/route_client-reference-manifest.js +1 -1
  56. package/app/.next/server/app/api/acp/agents/route_client-reference-manifest.js +1 -1
  57. package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  58. package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  59. package/app/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  60. package/app/.next/server/app/api/cache/route_client-reference-manifest.js +1 -1
  61. package/app/.next/server/app/api/cache/stats/route_client-reference-manifest.js +1 -1
  62. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  63. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
  64. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +2 -2
  65. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
  66. package/app/.next/server/app/api/cli-tools/backups/route.js +1 -1
  67. package/app/.next/server/app/api/cli-tools/backups/route_client-reference-manifest.js +1 -1
  68. package/app/.next/server/app/api/cli-tools/claude-settings/route.js +1 -1
  69. package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
  70. package/app/.next/server/app/api/cli-tools/cline-settings/route.js +1 -1
  71. package/app/.next/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
  72. package/app/.next/server/app/api/cli-tools/codex-profiles/route.js +2 -2
  73. package/app/.next/server/app/api/cli-tools/codex-profiles/route_client-reference-manifest.js +1 -1
  74. package/app/.next/server/app/api/cli-tools/codex-settings/route.js +2 -2
  75. package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
  76. package/app/.next/server/app/api/cli-tools/droid-settings/route.js +1 -1
  77. package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
  78. package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route_client-reference-manifest.js +1 -1
  79. package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +1 -1
  80. package/app/.next/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
  81. package/app/.next/server/app/api/cli-tools/openclaw/auto-order/route_client-reference-manifest.js +1 -1
  82. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  83. package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
  84. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route.js +2 -2
  85. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route_client-reference-manifest.js +1 -1
  86. package/app/.next/server/app/api/cli-tools/status/route.js +1 -1
  87. package/app/.next/server/app/api/cli-tools/status/route_client-reference-manifest.js +1 -1
  88. package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
  89. package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
  90. package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
  91. package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
  92. package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  93. package/app/.next/server/app/api/combos/auto/route_client-reference-manifest.js +1 -1
  94. package/app/.next/server/app/api/combos/metrics/route_client-reference-manifest.js +1 -1
  95. package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
  96. package/app/.next/server/app/api/combos/test/route_client-reference-manifest.js +1 -1
  97. package/app/.next/server/app/api/compliance/audit-log/route_client-reference-manifest.js +1 -1
  98. package/app/.next/server/app/api/db-backups/export/route_client-reference-manifest.js +1 -1
  99. package/app/.next/server/app/api/db-backups/exportAll/route_client-reference-manifest.js +1 -1
  100. package/app/.next/server/app/api/db-backups/import/route_client-reference-manifest.js +1 -1
  101. package/app/.next/server/app/api/db-backups/route_client-reference-manifest.js +1 -1
  102. package/app/.next/server/app/api/evals/[suiteId]/route_client-reference-manifest.js +1 -1
  103. package/app/.next/server/app/api/evals/route_client-reference-manifest.js +1 -1
  104. package/app/.next/server/app/api/fallback/chains/route_client-reference-manifest.js +1 -1
  105. package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  106. package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  107. package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
  108. package/app/.next/server/app/api/logs/console/route_client-reference-manifest.js +1 -1
  109. package/app/.next/server/app/api/mcp/audit/route_client-reference-manifest.js +1 -1
  110. package/app/.next/server/app/api/mcp/audit/stats/route_client-reference-manifest.js +1 -1
  111. package/app/.next/server/app/api/mcp/sse/route_client-reference-manifest.js +1 -1
  112. package/app/.next/server/app/api/mcp/status/route_client-reference-manifest.js +1 -1
  113. package/app/.next/server/app/api/mcp/stream/route_client-reference-manifest.js +1 -1
  114. package/app/.next/server/app/api/mcp/tools/route_client-reference-manifest.js +1 -1
  115. package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
  116. package/app/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
  117. package/app/.next/server/app/api/models/catalog/route_client-reference-manifest.js +1 -1
  118. package/app/.next/server/app/api/models/openrouter-catalog/route_client-reference-manifest.js +1 -1
  119. package/app/.next/server/app/api/models/route.js +1 -1
  120. package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  121. package/app/.next/server/app/api/monitoring/health/route.js +1 -1
  122. package/app/.next/server/app/api/monitoring/health/route_client-reference-manifest.js +1 -1
  123. package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  124. package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  125. package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  126. package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
  127. package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
  128. package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
  129. package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
  130. package/app/.next/server/app/api/policies/route_client-reference-manifest.js +1 -1
  131. package/app/.next/server/app/api/pricing/defaults/route_client-reference-manifest.js +1 -1
  132. package/app/.next/server/app/api/pricing/models/route_client-reference-manifest.js +1 -1
  133. package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  134. package/app/.next/server/app/api/provider-metrics/route_client-reference-manifest.js +1 -1
  135. package/app/.next/server/app/api/provider-models/route_client-reference-manifest.js +1 -1
  136. package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  137. package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  138. package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  139. package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  140. package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  141. package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  142. package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  143. package/app/.next/server/app/api/providers/route.js +1 -1
  144. package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
  145. package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
  146. package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  147. package/app/.next/server/app/api/rate-limit/route_client-reference-manifest.js +1 -1
  148. package/app/.next/server/app/api/rate-limits/route_client-reference-manifest.js +1 -1
  149. package/app/.next/server/app/api/resilience/reset/route_client-reference-manifest.js +1 -1
  150. package/app/.next/server/app/api/resilience/route_client-reference-manifest.js +1 -1
  151. package/app/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  152. package/app/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  153. package/app/.next/server/app/api/settings/background-degradation/route_client-reference-manifest.js +1 -1
  154. package/app/.next/server/app/api/settings/combo-defaults/route_client-reference-manifest.js +1 -1
  155. package/app/.next/server/app/api/settings/ip-filter/route_client-reference-manifest.js +1 -1
  156. package/app/.next/server/app/api/settings/model-aliases/route_client-reference-manifest.js +1 -1
  157. package/app/.next/server/app/api/settings/proxy/route_client-reference-manifest.js +1 -1
  158. package/app/.next/server/app/api/settings/proxy/test/route_client-reference-manifest.js +1 -1
  159. package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  160. package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  161. package/app/.next/server/app/api/settings/system-prompt/route_client-reference-manifest.js +1 -1
  162. package/app/.next/server/app/api/settings/thinking-budget/route_client-reference-manifest.js +1 -1
  163. package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  164. package/app/.next/server/app/api/storage/health/route_client-reference-manifest.js +1 -1
  165. package/app/.next/server/app/api/sync/cloud/route_client-reference-manifest.js +1 -1
  166. package/app/.next/server/app/api/sync/initialize/route_client-reference-manifest.js +1 -1
  167. package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
  168. package/app/.next/server/app/api/telemetry/summary/route_client-reference-manifest.js +1 -1
  169. package/app/.next/server/app/api/token-health/route_client-reference-manifest.js +1 -1
  170. package/app/.next/server/app/api/translator/detect/route_client-reference-manifest.js +1 -1
  171. package/app/.next/server/app/api/translator/history/route_client-reference-manifest.js +1 -1
  172. package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  173. package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  174. package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  175. package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  176. package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  177. package/app/.next/server/app/api/usage/analytics/route_client-reference-manifest.js +1 -1
  178. package/app/.next/server/app/api/usage/budget/route_client-reference-manifest.js +1 -1
  179. package/app/.next/server/app/api/usage/call-logs/[id]/route_client-reference-manifest.js +1 -1
  180. package/app/.next/server/app/api/usage/call-logs/route_client-reference-manifest.js +1 -1
  181. package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  182. package/app/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
  183. package/app/.next/server/app/api/usage/proxy-logs/route_client-reference-manifest.js +1 -1
  184. package/app/.next/server/app/api/usage/quota/route_client-reference-manifest.js +1 -1
  185. package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  186. package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  187. package/app/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
  188. package/app/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
  189. package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  190. package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
  191. package/app/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
  192. package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  193. package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  194. package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  195. package/app/.next/server/app/api/v1/moderations/route_client-reference-manifest.js +1 -1
  196. package/app/.next/server/app/api/v1/music/generations/route_client-reference-manifest.js +1 -1
  197. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route_client-reference-manifest.js +1 -1
  198. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route_client-reference-manifest.js +1 -1
  199. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route_client-reference-manifest.js +1 -1
  200. package/app/.next/server/app/api/v1/rerank/route_client-reference-manifest.js +1 -1
  201. package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  202. package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
  203. package/app/.next/server/app/api/v1/videos/generations/route_client-reference-manifest.js +1 -1
  204. package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  205. package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  206. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  207. package/app/.next/server/app/docs/page.js +1 -1
  208. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  209. package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
  210. package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  211. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  212. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  213. package/app/.next/server/app/maintenance/page_client-reference-manifest.js +1 -1
  214. package/app/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  215. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  216. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  217. package/app/.next/server/app/status/page_client-reference-manifest.js +1 -1
  218. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  219. package/app/.next/server/app-paths-manifest.json +38 -38
  220. package/app/.next/server/chunks/2767.js +2 -2
  221. package/app/.next/server/chunks/3596.js +1 -1
  222. package/app/.next/server/chunks/3922.js +1 -1
  223. package/app/.next/server/chunks/7544.js +1 -1
  224. package/app/.next/server/chunks/7669.js +1 -1
  225. package/app/.next/server/chunks/7889.js +1 -1
  226. package/app/.next/server/middleware.js +1 -1
  227. package/app/.next/server/pages/500.html +2 -2
  228. package/app/.next/server/server-reference-manifest.js +1 -1
  229. package/app/.next/server/server-reference-manifest.json +1 -1
  230. package/app/.next/static/chunks/5846-84577ede994ae924.js +2 -0
  231. package/app/package.json +2 -1
  232. package/bin/omniroute.mjs +12 -21
  233. package/package.json +2 -1
  234. package/scripts/native-binary-compat.mjs +163 -0
  235. package/scripts/postinstall.mjs +77 -43
  236. package/app/.next/static/chunks/5846-4a8ed39a61a586d3.js +0 -2
  237. /package/app/.next/static/{4thLnSSHYZ_acsS5-h-8W → 7FD4jyAisteodGBKMWbqD}/_buildManifest.js +0 -0
  238. /package/app/.next/static/{4thLnSSHYZ_acsS5-h-8W → 7FD4jyAisteodGBKMWbqD}/_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
+ 7FD4jyAisteodGBKMWbqD
@@ -5,28 +5,28 @@
5
5
  "/a2a/route": "/a2a",
6
6
  "/api/a2a/status/route": "/api/a2a/status",
7
7
  "/api/a2a/tasks/[id]/cancel/route": "/api/a2a/tasks/[id]/cancel",
8
- "/api/a2a/tasks/[id]/route": "/api/a2a/tasks/[id]",
9
8
  "/api/a2a/tasks/route": "/api/a2a/tasks",
9
+ "/api/a2a/tasks/[id]/route": "/api/a2a/tasks/[id]",
10
10
  "/api/acp/agents/route": "/api/acp/agents",
11
+ "/api/auth/login/route": "/api/auth/login",
11
12
  "/api/auth/logout/route": "/api/auth/logout",
12
13
  "/api/auth/status/route": "/api/auth/status",
13
14
  "/api/cache/route": "/api/cache",
14
- "/api/auth/login/route": "/api/auth/login",
15
- "/api/cache/stats/route": "/api/cache/stats",
16
15
  "/api/cli-tools/antigravity-mitm/alias/route": "/api/cli-tools/antigravity-mitm/alias",
16
+ "/api/cache/stats/route": "/api/cache/stats",
17
17
  "/api/cli-tools/backups/route": "/api/cli-tools/backups",
18
18
  "/api/cli-tools/codex-profiles/route": "/api/cli-tools/codex-profiles",
19
19
  "/api/cli-tools/openclaw/auto-order/route": "/api/cli-tools/openclaw/auto-order",
20
20
  "/api/cloud/auth/route": "/api/cloud/auth",
21
21
  "/api/cloud/credentials/update/route": "/api/cloud/credentials/update",
22
- "/api/cloud/model/resolve/route": "/api/cloud/model/resolve",
23
22
  "/api/cloud/models/alias/route": "/api/cloud/models/alias",
23
+ "/api/cloud/model/resolve/route": "/api/cloud/model/resolve",
24
24
  "/api/combos/auto/route": "/api/combos/auto",
25
25
  "/api/combos/[id]/route": "/api/combos/[id]",
26
26
  "/api/combos/metrics/route": "/api/combos/metrics",
27
27
  "/api/combos/route": "/api/combos",
28
- "/api/db-backups/export/route": "/api/db-backups/export",
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",
@@ -41,12 +41,12 @@
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",
44
- "/api/mcp/tools/route": "/api/mcp/tools",
45
44
  "/api/models/alias/route": "/api/models/alias",
46
45
  "/api/models/availability/route": "/api/models/availability",
46
+ "/api/mcp/tools/route": "/api/mcp/tools",
47
47
  "/api/models/catalog/route": "/api/models/catalog",
48
- "/api/models/route": "/api/models",
49
48
  "/api/models/openrouter-catalog/route": "/api/models/openrouter-catalog",
49
+ "/api/models/route": "/api/models",
50
50
  "/api/monitoring/health/route": "/api/monitoring/health",
51
51
  "/api/oauth/cursor/auto-import/route": "/api/oauth/cursor/auto-import",
52
52
  "/api/oauth/cursor/import/route": "/api/oauth/cursor/import",
@@ -54,8 +54,8 @@
54
54
  "/api/oauth/kiro/import/route": "/api/oauth/kiro/import",
55
55
  "/api/oauth/kiro/social-authorize/route": "/api/oauth/kiro/social-authorize",
56
56
  "/api/oauth/kiro/social-exchange/route": "/api/oauth/kiro/social-exchange",
57
- "/api/policies/route": "/api/policies",
58
57
  "/api/pricing/defaults/route": "/api/pricing/defaults",
58
+ "/api/policies/route": "/api/policies",
59
59
  "/api/pricing/models/route": "/api/pricing/models",
60
60
  "/api/pricing/route": "/api/pricing",
61
61
  "/api/provider-metrics/route": "/api/provider-metrics",
@@ -63,18 +63,18 @@
63
63
  "/api/provider-nodes/[id]/route": "/api/provider-nodes/[id]",
64
64
  "/api/provider-nodes/validate/route": "/api/provider-nodes/validate",
65
65
  "/api/providers/[id]/models/route": "/api/providers/[id]/models",
66
- "/api/providers/client/route": "/api/providers/client",
67
66
  "/api/providers/[id]/route": "/api/providers/[id]",
68
67
  "/api/providers/route": "/api/providers",
68
+ "/api/providers/client/route": "/api/providers/client",
69
69
  "/api/providers/test-batch/route": "/api/providers/test-batch",
70
70
  "/api/providers/validate/route": "/api/providers/validate",
71
- "/api/rate-limits/route": "/api/rate-limits",
72
71
  "/api/rate-limit/route": "/api/rate-limit",
72
+ "/api/rate-limits/route": "/api/rate-limits",
73
73
  "/api/resilience/reset/route": "/api/resilience/reset",
74
- "/api/resilience/route": "/api/resilience",
75
74
  "/api/restart/route": "/api/restart",
76
- "/api/settings/background-degradation/route": "/api/settings/background-degradation",
77
75
  "/api/sessions/route": "/api/sessions",
76
+ "/api/resilience/route": "/api/resilience",
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",
@@ -86,62 +86,62 @@
86
86
  "/api/sync/cloud/route": "/api/sync/cloud",
87
87
  "/api/sync/initialize/route": "/api/sync/initialize",
88
88
  "/api/tags/route": "/api/tags",
89
- "/api/telemetry/summary/route": "/api/telemetry/summary",
90
89
  "/api/token-health/route": "/api/token-health",
90
+ "/api/telemetry/summary/route": "/api/telemetry/summary",
91
+ "/api/translator/detect/route": "/api/translator/detect",
91
92
  "/api/translator/history/route": "/api/translator/history",
92
93
  "/api/translator/load/route": "/api/translator/load",
93
- "/api/translator/detect/route": "/api/translator/detect",
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
98
  "/api/usage/budget/route": "/api/usage/budget",
99
99
  "/api/usage/call-logs/route": "/api/usage/call-logs",
100
- "/api/usage/history/route": "/api/usage/history",
101
100
  "/api/usage/call-logs/[id]/route": "/api/usage/call-logs/[id]",
102
- "/api/usage/request-logs/route": "/api/usage/request-logs",
101
+ "/api/usage/history/route": "/api/usage/history",
103
102
  "/api/usage/logs/route": "/api/usage/logs",
104
103
  "/api/usage/quota/route": "/api/usage/quota",
105
- "/api/v1/api/chat/route": "/api/v1/api/chat",
104
+ "/api/usage/request-logs/route": "/api/usage/request-logs",
106
105
  "/api/v1/audio/speech/route": "/api/v1/audio/speech",
106
+ "/api/v1/api/chat/route": "/api/v1/api/chat",
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
+ "/api/v1/messages/route": "/api/v1/messages",
110
111
  "/api/v1/messages/count_tokens/route": "/api/v1/messages/count_tokens",
111
112
  "/api/v1/models/route": "/api/v1/models",
112
- "/api/v1/messages/route": "/api/v1/messages",
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
- "/api/v1/providers/[provider]/images/generations/route": "/api/v1/providers/[provider]/images/generations",
118
117
  "/api/v1/rerank/route": "/api/v1/rerank",
118
+ "/api/v1/providers/[provider]/images/generations/route": "/api/v1/providers/[provider]/images/generations",
119
119
  "/api/v1/responses/route": "/api/v1/responses",
120
120
  "/api/v1/route": "/api/v1",
121
- "/api/v1beta/models/[...path]/route": "/api/v1beta/models/[...path]",
122
121
  "/api/v1/videos/generations/route": "/api/v1/videos/generations",
123
122
  "/api/v1beta/models/route": "/api/v1beta/models",
124
- "/api/cli-tools/antigravity-mitm/route": "/api/cli-tools/antigravity-mitm",
123
+ "/api/v1beta/models/[...path]/route": "/api/v1beta/models/[...path]",
125
124
  "/api/cli-tools/claude-settings/route": "/api/cli-tools/claude-settings",
126
125
  "/api/cli-tools/cline-settings/route": "/api/cli-tools/cline-settings",
127
- "/api/cli-tools/guide-settings/[toolId]/route": "/api/cli-tools/guide-settings/[toolId]",
128
- "/api/cli-tools/kilo-settings/route": "/api/cli-tools/kilo-settings",
129
126
  "/api/cli-tools/droid-settings/route": "/api/cli-tools/droid-settings",
127
+ "/api/cli-tools/codex-settings/route": "/api/cli-tools/codex-settings",
128
+ "/api/cli-tools/guide-settings/[toolId]/route": "/api/cli-tools/guide-settings/[toolId]",
129
+ "/api/cli-tools/antigravity-mitm/route": "/api/cli-tools/antigravity-mitm",
130
130
  "/api/cli-tools/runtime/[toolId]/route": "/api/cli-tools/runtime/[toolId]",
131
+ "/api/cli-tools/kilo-settings/route": "/api/cli-tools/kilo-settings",
131
132
  "/api/cli-tools/status/route": "/api/cli-tools/status",
132
- "/api/cli-tools/openclaw-settings/route": "/api/cli-tools/openclaw-settings",
133
133
  "/api/mcp/status/route": "/api/mcp/status",
134
134
  "/api/combos/test/route": "/api/combos/test",
135
135
  "/api/provider-nodes/route": "/api/provider-nodes",
136
+ "/api/cli-tools/openclaw-settings/route": "/api/cli-tools/openclaw-settings",
137
+ "/api/settings/proxy/test/route": "/api/settings/proxy/test",
136
138
  "/api/oauth/[provider]/[action]/route": "/api/oauth/[provider]/[action]",
137
- "/api/providers/[id]/test/route": "/api/providers/[id]/test",
138
- "/api/settings/proxy/route": "/api/settings/proxy",
139
139
  "/api/settings/route": "/api/settings",
140
- "/api/settings/proxy/test/route": "/api/settings/proxy/test",
140
+ "/api/settings/proxy/route": "/api/settings/proxy",
141
141
  "/api/usage/proxy-logs/route": "/api/usage/proxy-logs",
142
142
  "/api/v1/chat/completions/route": "/api/v1/chat/completions",
143
+ "/api/providers/[id]/test/route": "/api/providers/[id]/test",
143
144
  "/api/usage/[connectionId]/route": "/api/usage/[connectionId]",
144
- "/api/cli-tools/codex-settings/route": "/api/cli-tools/codex-settings",
145
145
  "/callback/page": "/callback",
146
146
  "/docs/page": "/docs",
147
147
  "/forbidden/page": "/forbidden",
@@ -154,38 +154,38 @@
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",
162
- "/(dashboard)/dashboard/auto-combo/page": "/dashboard/auto-combo",
161
+ "/(dashboard)/dashboard/api-manager/page": "/dashboard/api-manager",
163
162
  "/(dashboard)/dashboard/cli-tools/page": "/dashboard/cli-tools",
164
- "/(dashboard)/dashboard/limits/page": "/dashboard/limits",
165
163
  "/(dashboard)/dashboard/costs/page": "/dashboard/costs",
164
+ "/(dashboard)/dashboard/auto-combo/page": "/dashboard/auto-combo",
166
165
  "/(dashboard)/dashboard/health/page": "/dashboard/health",
167
166
  "/(dashboard)/dashboard/media/page": "/dashboard/media",
167
+ "/(dashboard)/dashboard/limits/page": "/dashboard/limits",
168
168
  "/(dashboard)/dashboard/onboarding/page": "/dashboard/onboarding",
169
+ "/(dashboard)/dashboard/profile/page": "/dashboard/profile",
169
170
  "/(dashboard)/dashboard/playground/page": "/dashboard/playground",
170
171
  "/(dashboard)/dashboard/providers/new/page": "/dashboard/providers/new",
171
- "/(dashboard)/dashboard/profile/page": "/dashboard/profile",
172
172
  "/(dashboard)/dashboard/settings/page": "/dashboard/settings",
173
- "/(dashboard)/dashboard/translator/page": "/dashboard/translator",
174
173
  "/(dashboard)/dashboard/settings/pricing/page": "/dashboard/settings/pricing",
174
+ "/(dashboard)/dashboard/translator/page": "/dashboard/translator",
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
179
  "/503/page": "/503",
181
180
  "/502/page": "/502",
181
+ "/500/page": "/500",
182
182
  "/(dashboard)/dashboard/logs/page": "/dashboard/logs",
183
- "/(dashboard)/dashboard/endpoint/page": "/dashboard/endpoint",
184
183
  "/(dashboard)/dashboard/page": "/dashboard",
184
+ "/(dashboard)/dashboard/endpoint/page": "/dashboard/endpoint",
185
185
  "/(dashboard)/dashboard/mcp/page": "/dashboard/mcp",
186
- "/(dashboard)/dashboard/usage/page": "/dashboard/usage",
186
+ "/(dashboard)/dashboard/providers/page": "/dashboard/providers",
187
187
  "/408/page": "/408",
188
+ "/(dashboard)/dashboard/usage/page": "/dashboard/usage",
188
189
  "/(dashboard)/dashboard/combos/page": "/dashboard/combos",
189
- "/(dashboard)/dashboard/providers/page": "/dashboard/providers",
190
190
  "/(dashboard)/dashboard/providers/[id]/page": "/dashboard/providers/[id]"
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/7FD4jyAisteodGBKMWbqD/_buildManifest.js",
8
+ "static/7FD4jyAisteodGBKMWbqD/_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": "2cc5d7c48bd87178c40fe713075e9d0d",
33
+ "previewModeSigningKey": "c3514d150e6923787fea8a0a4ee524ce892c66b9262a3742b9e68f2f6f4308ba",
34
+ "previewModeEncryptionKey": "2efd2a7fe64fa1e6baa59240be5a84bdce1cc25f2b1e4dfd9cb178b2bc78cbdd"
35
35
  }
36
36
  }