omniroute 0.8.8 β†’ 1.0.0

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 (693) hide show
  1. package/README.de.md +995 -0
  2. package/README.es.md +995 -0
  3. package/README.fr.md +995 -0
  4. package/README.it.md +995 -0
  5. package/README.md +756 -81
  6. package/README.pt-BR.md +1048 -0
  7. package/README.ru.md +995 -0
  8. package/README.zh-CN.md +995 -0
  9. package/app/.next/BUILD_ID +1 -1
  10. package/app/.next/app-path-routes-manifest.json +33 -30
  11. package/app/.next/build-manifest.json +2 -2
  12. package/app/.next/prerender-manifest.json +3 -3
  13. package/app/.next/routes-manifest.json +18 -0
  14. package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  15. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  16. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  17. package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
  18. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  19. package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  20. package/app/.next/server/app/(dashboard)/dashboard/limits/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/profile/page_client-reference-manifest.js +1 -1
  24. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  25. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  26. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  27. package/app/.next/server/app/(dashboard)/dashboard/settings/page.js +2 -2
  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.js +2 -2
  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/_global-error/page_client-reference-manifest.js +1 -1
  34. package/app/.next/server/app/_global-error.html +2 -2
  35. package/app/.next/server/app/_global-error.rsc +1 -1
  36. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  37. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  38. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  39. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  40. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  41. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  42. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  43. package/app/.next/server/app/_not-found.html +1 -1
  44. package/app/.next/server/app/_not-found.rsc +3 -3
  45. package/app/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  46. package/app/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  47. package/app/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  48. package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  49. package/app/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  50. package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  51. package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  52. package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  53. package/app/.next/server/app/api/cache/route_client-reference-manifest.js +1 -1
  54. package/app/.next/server/app/api/cache/stats/route_client-reference-manifest.js +1 -1
  55. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  56. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
  57. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +2 -2
  58. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
  59. package/app/.next/server/app/api/cli-tools/backups/route.js +1 -1
  60. package/app/.next/server/app/api/cli-tools/backups/route_client-reference-manifest.js +1 -1
  61. package/app/.next/server/app/api/cli-tools/claude-settings/route.js +1 -1
  62. package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
  63. package/app/.next/server/app/api/cli-tools/cline-settings/route.js +1 -1
  64. package/app/.next/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
  65. package/app/.next/server/app/api/cli-tools/codex-profiles/route.js +1 -1
  66. package/app/.next/server/app/api/cli-tools/codex-profiles/route_client-reference-manifest.js +1 -1
  67. package/app/.next/server/app/api/cli-tools/codex-settings/route.js +1 -1
  68. package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
  69. package/app/.next/server/app/api/cli-tools/droid-settings/route.js +1 -1
  70. package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
  71. package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route_client-reference-manifest.js +1 -1
  72. package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  73. package/app/.next/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
  74. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +1 -1
  75. package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
  76. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route.js +2 -2
  77. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route_client-reference-manifest.js +1 -1
  78. package/app/.next/server/app/api/cli-tools/status/route.js +1 -1
  79. package/app/.next/server/app/api/cli-tools/status/route_client-reference-manifest.js +1 -1
  80. package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
  81. package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
  82. package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
  83. package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
  84. package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  85. package/app/.next/server/app/api/combos/metrics/route_client-reference-manifest.js +1 -1
  86. package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
  87. package/app/.next/server/app/api/combos/test/route_client-reference-manifest.js +1 -1
  88. package/app/.next/server/app/api/compliance/audit-log/route_client-reference-manifest.js +1 -1
  89. package/app/.next/server/app/api/db-backups/export/route.js +1 -0
  90. package/app/.next/server/app/api/db-backups/export/route.js.nft.json +1 -0
  91. package/app/.next/server/app/api/db-backups/export/route_client-reference-manifest.js +1 -0
  92. package/app/.next/server/app/api/db-backups/exportAll/route.js +1 -0
  93. package/app/.next/server/app/api/db-backups/exportAll/route.js.nft.json +1 -0
  94. package/app/.next/server/app/api/db-backups/exportAll/route_client-reference-manifest.js +1 -0
  95. package/app/.next/server/app/api/db-backups/import/route.js +1 -0
  96. package/app/.next/server/app/api/db-backups/import/route.js.nft.json +1 -0
  97. package/app/.next/server/app/api/db-backups/import/route_client-reference-manifest.js +1 -0
  98. package/app/.next/server/app/api/db-backups/route_client-reference-manifest.js +1 -1
  99. package/app/.next/server/app/api/evals/[suiteId]/route_client-reference-manifest.js +1 -1
  100. package/app/.next/server/app/api/evals/route_client-reference-manifest.js +1 -1
  101. package/app/.next/server/app/api/fallback/chains/route_client-reference-manifest.js +1 -1
  102. package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  103. package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  104. package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
  105. package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
  106. package/app/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
  107. package/app/.next/server/app/api/models/catalog/route_client-reference-manifest.js +1 -1
  108. package/app/.next/server/app/api/models/route.js +1 -1
  109. package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  110. package/app/.next/server/app/api/monitoring/health/route.js +1 -1
  111. package/app/.next/server/app/api/monitoring/health/route_client-reference-manifest.js +1 -1
  112. package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  113. package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  114. package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  115. package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
  116. package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
  117. package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
  118. package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
  119. package/app/.next/server/app/api/policies/route_client-reference-manifest.js +1 -1
  120. package/app/.next/server/app/api/pricing/defaults/route_client-reference-manifest.js +1 -1
  121. package/app/.next/server/app/api/pricing/models/route_client-reference-manifest.js +1 -1
  122. package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  123. package/app/.next/server/app/api/provider-metrics/route_client-reference-manifest.js +1 -1
  124. package/app/.next/server/app/api/provider-models/route_client-reference-manifest.js +1 -1
  125. package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  126. package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  127. package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  128. package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  129. package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  130. package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  131. package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  132. package/app/.next/server/app/api/providers/route.js +1 -1
  133. package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
  134. package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
  135. package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  136. package/app/.next/server/app/api/rate-limit/route_client-reference-manifest.js +1 -1
  137. package/app/.next/server/app/api/rate-limits/route_client-reference-manifest.js +1 -1
  138. package/app/.next/server/app/api/resilience/reset/route_client-reference-manifest.js +1 -1
  139. package/app/.next/server/app/api/resilience/route_client-reference-manifest.js +1 -1
  140. package/app/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  141. package/app/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  142. package/app/.next/server/app/api/settings/combo-defaults/route_client-reference-manifest.js +1 -1
  143. package/app/.next/server/app/api/settings/ip-filter/route_client-reference-manifest.js +1 -1
  144. package/app/.next/server/app/api/settings/proxy/route_client-reference-manifest.js +1 -1
  145. package/app/.next/server/app/api/settings/proxy/test/route_client-reference-manifest.js +1 -1
  146. package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  147. package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  148. package/app/.next/server/app/api/settings/system-prompt/route_client-reference-manifest.js +1 -1
  149. package/app/.next/server/app/api/settings/thinking-budget/route_client-reference-manifest.js +1 -1
  150. package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  151. package/app/.next/server/app/api/storage/health/route_client-reference-manifest.js +1 -1
  152. package/app/.next/server/app/api/sync/cloud/route_client-reference-manifest.js +1 -1
  153. package/app/.next/server/app/api/sync/initialize/route_client-reference-manifest.js +1 -1
  154. package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
  155. package/app/.next/server/app/api/telemetry/summary/route_client-reference-manifest.js +1 -1
  156. package/app/.next/server/app/api/token-health/route_client-reference-manifest.js +1 -1
  157. package/app/.next/server/app/api/translator/detect/route_client-reference-manifest.js +1 -1
  158. package/app/.next/server/app/api/translator/history/route_client-reference-manifest.js +1 -1
  159. package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  160. package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  161. package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  162. package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  163. package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  164. package/app/.next/server/app/api/usage/analytics/route_client-reference-manifest.js +1 -1
  165. package/app/.next/server/app/api/usage/budget/route_client-reference-manifest.js +1 -1
  166. package/app/.next/server/app/api/usage/call-logs/[id]/route_client-reference-manifest.js +1 -1
  167. package/app/.next/server/app/api/usage/call-logs/route_client-reference-manifest.js +1 -1
  168. package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  169. package/app/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
  170. package/app/.next/server/app/api/usage/proxy-logs/route_client-reference-manifest.js +1 -1
  171. package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  172. package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  173. package/app/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
  174. package/app/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
  175. package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  176. package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
  177. package/app/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
  178. package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  179. package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  180. package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  181. package/app/.next/server/app/api/v1/moderations/route_client-reference-manifest.js +1 -1
  182. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route_client-reference-manifest.js +1 -1
  183. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route_client-reference-manifest.js +1 -1
  184. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route_client-reference-manifest.js +1 -1
  185. package/app/.next/server/app/api/v1/rerank/route_client-reference-manifest.js +1 -1
  186. package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  187. package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
  188. package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  189. package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  190. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  191. package/app/.next/server/app/callback.html +1 -1
  192. package/app/.next/server/app/callback.rsc +3 -3
  193. package/app/.next/server/app/callback.segments/_full.segment.rsc +3 -3
  194. package/app/.next/server/app/callback.segments/_head.segment.rsc +1 -1
  195. package/app/.next/server/app/callback.segments/_index.segment.rsc +3 -3
  196. package/app/.next/server/app/callback.segments/_tree.segment.rsc +2 -2
  197. package/app/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  198. package/app/.next/server/app/callback.segments/callback.segment.rsc +1 -1
  199. package/app/.next/server/app/dashboard/analytics.html +1 -1
  200. package/app/.next/server/app/dashboard/analytics.rsc +5 -5
  201. package/app/.next/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard/analytics/__PAGE__.segment.rsc +2 -2
  202. package/app/.next/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard/analytics.segment.rsc +1 -1
  203. package/app/.next/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  204. package/app/.next/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  205. package/app/.next/server/app/dashboard/analytics.segments/_full.segment.rsc +5 -5
  206. package/app/.next/server/app/dashboard/analytics.segments/_head.segment.rsc +1 -1
  207. package/app/.next/server/app/dashboard/analytics.segments/_index.segment.rsc +3 -3
  208. package/app/.next/server/app/dashboard/analytics.segments/_tree.segment.rsc +2 -2
  209. package/app/.next/server/app/dashboard/cli-tools.html +1 -1
  210. package/app/.next/server/app/dashboard/cli-tools.rsc +5 -5
  211. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  212. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  213. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  214. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  215. package/app/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +5 -5
  216. package/app/.next/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  217. package/app/.next/server/app/dashboard/cli-tools.segments/_index.segment.rsc +3 -3
  218. package/app/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  219. package/app/.next/server/app/dashboard/combos.html +1 -1
  220. package/app/.next/server/app/dashboard/combos.rsc +5 -5
  221. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  222. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  223. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  224. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  225. package/app/.next/server/app/dashboard/combos.segments/_full.segment.rsc +5 -5
  226. package/app/.next/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  227. package/app/.next/server/app/dashboard/combos.segments/_index.segment.rsc +3 -3
  228. package/app/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  229. package/app/.next/server/app/dashboard/costs.html +1 -1
  230. package/app/.next/server/app/dashboard/costs.rsc +5 -5
  231. package/app/.next/server/app/dashboard/costs.segments/!KGRhc2hib2FyZCk/dashboard/costs/__PAGE__.segment.rsc +2 -2
  232. package/app/.next/server/app/dashboard/costs.segments/!KGRhc2hib2FyZCk/dashboard/costs.segment.rsc +1 -1
  233. package/app/.next/server/app/dashboard/costs.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  234. package/app/.next/server/app/dashboard/costs.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  235. package/app/.next/server/app/dashboard/costs.segments/_full.segment.rsc +5 -5
  236. package/app/.next/server/app/dashboard/costs.segments/_head.segment.rsc +1 -1
  237. package/app/.next/server/app/dashboard/costs.segments/_index.segment.rsc +3 -3
  238. package/app/.next/server/app/dashboard/costs.segments/_tree.segment.rsc +2 -2
  239. package/app/.next/server/app/dashboard/endpoint.html +1 -1
  240. package/app/.next/server/app/dashboard/endpoint.rsc +5 -5
  241. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  242. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  243. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  244. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  245. package/app/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +5 -5
  246. package/app/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  247. package/app/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +3 -3
  248. package/app/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  249. package/app/.next/server/app/dashboard/health.html +1 -1
  250. package/app/.next/server/app/dashboard/health.rsc +5 -5
  251. package/app/.next/server/app/dashboard/health.segments/!KGRhc2hib2FyZCk/dashboard/health/__PAGE__.segment.rsc +2 -2
  252. package/app/.next/server/app/dashboard/health.segments/!KGRhc2hib2FyZCk/dashboard/health.segment.rsc +1 -1
  253. package/app/.next/server/app/dashboard/health.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  254. package/app/.next/server/app/dashboard/health.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  255. package/app/.next/server/app/dashboard/health.segments/_full.segment.rsc +5 -5
  256. package/app/.next/server/app/dashboard/health.segments/_head.segment.rsc +1 -1
  257. package/app/.next/server/app/dashboard/health.segments/_index.segment.rsc +3 -3
  258. package/app/.next/server/app/dashboard/health.segments/_tree.segment.rsc +2 -2
  259. package/app/.next/server/app/dashboard/limits.html +2 -2
  260. package/app/.next/server/app/dashboard/limits.rsc +5 -5
  261. package/app/.next/server/app/dashboard/limits.segments/!KGRhc2hib2FyZCk/dashboard/limits/__PAGE__.segment.rsc +2 -2
  262. package/app/.next/server/app/dashboard/limits.segments/!KGRhc2hib2FyZCk/dashboard/limits.segment.rsc +1 -1
  263. package/app/.next/server/app/dashboard/limits.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  264. package/app/.next/server/app/dashboard/limits.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  265. package/app/.next/server/app/dashboard/limits.segments/_full.segment.rsc +5 -5
  266. package/app/.next/server/app/dashboard/limits.segments/_head.segment.rsc +1 -1
  267. package/app/.next/server/app/dashboard/limits.segments/_index.segment.rsc +3 -3
  268. package/app/.next/server/app/dashboard/limits.segments/_tree.segment.rsc +2 -2
  269. package/app/.next/server/app/dashboard/onboarding.html +1 -1
  270. package/app/.next/server/app/dashboard/onboarding.rsc +4 -4
  271. package/app/.next/server/app/dashboard/onboarding.segments/!KGRhc2hib2FyZCk/dashboard/onboarding/__PAGE__.segment.rsc +1 -1
  272. package/app/.next/server/app/dashboard/onboarding.segments/!KGRhc2hib2FyZCk/dashboard/onboarding.segment.rsc +1 -1
  273. package/app/.next/server/app/dashboard/onboarding.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  274. package/app/.next/server/app/dashboard/onboarding.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  275. package/app/.next/server/app/dashboard/onboarding.segments/_full.segment.rsc +4 -4
  276. package/app/.next/server/app/dashboard/onboarding.segments/_head.segment.rsc +1 -1
  277. package/app/.next/server/app/dashboard/onboarding.segments/_index.segment.rsc +3 -3
  278. package/app/.next/server/app/dashboard/onboarding.segments/_tree.segment.rsc +2 -2
  279. package/app/.next/server/app/dashboard/profile.html +1 -1
  280. package/app/.next/server/app/dashboard/profile.rsc +4 -4
  281. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +1 -1
  282. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  283. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  284. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  285. package/app/.next/server/app/dashboard/profile.segments/_full.segment.rsc +4 -4
  286. package/app/.next/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  287. package/app/.next/server/app/dashboard/profile.segments/_index.segment.rsc +3 -3
  288. package/app/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  289. package/app/.next/server/app/dashboard/providers/new.html +1 -1
  290. package/app/.next/server/app/dashboard/providers/new.rsc +5 -5
  291. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  292. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  293. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  294. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  295. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  296. package/app/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +5 -5
  297. package/app/.next/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  298. package/app/.next/server/app/dashboard/providers/new.segments/_index.segment.rsc +3 -3
  299. package/app/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  300. package/app/.next/server/app/dashboard/providers.html +1 -1
  301. package/app/.next/server/app/dashboard/providers.rsc +5 -5
  302. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  303. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  304. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  305. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  306. package/app/.next/server/app/dashboard/providers.segments/_full.segment.rsc +5 -5
  307. package/app/.next/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  308. package/app/.next/server/app/dashboard/providers.segments/_index.segment.rsc +3 -3
  309. package/app/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  310. package/app/.next/server/app/dashboard/settings/pricing.html +1 -1
  311. package/app/.next/server/app/dashboard/settings/pricing.rsc +4 -4
  312. package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  313. package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing.segment.rsc +1 -1
  314. package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings.segment.rsc +1 -1
  315. package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  316. package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  317. package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  318. package/app/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  319. package/app/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +3 -3
  320. package/app/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  321. package/app/.next/server/app/dashboard/settings.html +1 -1
  322. package/app/.next/server/app/dashboard/settings.rsc +5 -5
  323. package/app/.next/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk/dashboard/settings/__PAGE__.segment.rsc +2 -2
  324. package/app/.next/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk/dashboard/settings.segment.rsc +1 -1
  325. package/app/.next/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  326. package/app/.next/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  327. package/app/.next/server/app/dashboard/settings.segments/_full.segment.rsc +5 -5
  328. package/app/.next/server/app/dashboard/settings.segments/_head.segment.rsc +1 -1
  329. package/app/.next/server/app/dashboard/settings.segments/_index.segment.rsc +3 -3
  330. package/app/.next/server/app/dashboard/settings.segments/_tree.segment.rsc +2 -2
  331. package/app/.next/server/app/dashboard/translator.html +2 -2
  332. package/app/.next/server/app/dashboard/translator.rsc +5 -5
  333. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  334. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  335. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  336. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  337. package/app/.next/server/app/dashboard/translator.segments/_full.segment.rsc +5 -5
  338. package/app/.next/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  339. package/app/.next/server/app/dashboard/translator.segments/_index.segment.rsc +3 -3
  340. package/app/.next/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  341. package/app/.next/server/app/dashboard/usage.html +1 -1
  342. package/app/.next/server/app/dashboard/usage.rsc +5 -5
  343. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  344. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  345. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  346. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  347. package/app/.next/server/app/dashboard/usage.segments/_full.segment.rsc +5 -5
  348. package/app/.next/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  349. package/app/.next/server/app/dashboard/usage.segments/_index.segment.rsc +3 -3
  350. package/app/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  351. package/app/.next/server/app/docs/page.js +1 -1
  352. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  353. package/app/.next/server/app/docs.html +1 -1
  354. package/app/.next/server/app/docs.rsc +3 -3
  355. package/app/.next/server/app/docs.segments/_full.segment.rsc +3 -3
  356. package/app/.next/server/app/docs.segments/_head.segment.rsc +1 -1
  357. package/app/.next/server/app/docs.segments/_index.segment.rsc +3 -3
  358. package/app/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
  359. package/app/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +1 -1
  360. package/app/.next/server/app/docs.segments/docs.segment.rsc +1 -1
  361. package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
  362. package/app/.next/server/app/forbidden.html +1 -1
  363. package/app/.next/server/app/forbidden.rsc +3 -3
  364. package/app/.next/server/app/forbidden.segments/_full.segment.rsc +3 -3
  365. package/app/.next/server/app/forbidden.segments/_head.segment.rsc +1 -1
  366. package/app/.next/server/app/forbidden.segments/_index.segment.rsc +3 -3
  367. package/app/.next/server/app/forbidden.segments/_tree.segment.rsc +2 -2
  368. package/app/.next/server/app/forbidden.segments/forbidden/__PAGE__.segment.rsc +1 -1
  369. package/app/.next/server/app/forbidden.segments/forbidden.segment.rsc +1 -1
  370. package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  371. package/app/.next/server/app/forgot-password.html +1 -1
  372. package/app/.next/server/app/forgot-password.rsc +4 -4
  373. package/app/.next/server/app/forgot-password.segments/_full.segment.rsc +4 -4
  374. package/app/.next/server/app/forgot-password.segments/_head.segment.rsc +1 -1
  375. package/app/.next/server/app/forgot-password.segments/_index.segment.rsc +3 -3
  376. package/app/.next/server/app/forgot-password.segments/_tree.segment.rsc +2 -2
  377. package/app/.next/server/app/forgot-password.segments/forgot-password/__PAGE__.segment.rsc +2 -2
  378. package/app/.next/server/app/forgot-password.segments/forgot-password.segment.rsc +1 -1
  379. package/app/.next/server/app/index.html +1 -1
  380. package/app/.next/server/app/index.rsc +3 -3
  381. package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  382. package/app/.next/server/app/index.segments/_full.segment.rsc +3 -3
  383. package/app/.next/server/app/index.segments/_head.segment.rsc +1 -1
  384. package/app/.next/server/app/index.segments/_index.segment.rsc +3 -3
  385. package/app/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  386. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  387. package/app/.next/server/app/landing.html +1 -1
  388. package/app/.next/server/app/landing.rsc +3 -3
  389. package/app/.next/server/app/landing.segments/_full.segment.rsc +3 -3
  390. package/app/.next/server/app/landing.segments/_head.segment.rsc +1 -1
  391. package/app/.next/server/app/landing.segments/_index.segment.rsc +3 -3
  392. package/app/.next/server/app/landing.segments/_tree.segment.rsc +2 -2
  393. package/app/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  394. package/app/.next/server/app/landing.segments/landing.segment.rsc +1 -1
  395. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  396. package/app/.next/server/app/login.html +1 -1
  397. package/app/.next/server/app/login.rsc +4 -4
  398. package/app/.next/server/app/login.segments/_full.segment.rsc +4 -4
  399. package/app/.next/server/app/login.segments/_head.segment.rsc +1 -1
  400. package/app/.next/server/app/login.segments/_index.segment.rsc +3 -3
  401. package/app/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  402. package/app/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  403. package/app/.next/server/app/login.segments/login.segment.rsc +1 -1
  404. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  405. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  406. package/app/.next/server/app/privacy.html +1 -1
  407. package/app/.next/server/app/privacy.rsc +3 -3
  408. package/app/.next/server/app/privacy.segments/_full.segment.rsc +3 -3
  409. package/app/.next/server/app/privacy.segments/_head.segment.rsc +1 -1
  410. package/app/.next/server/app/privacy.segments/_index.segment.rsc +3 -3
  411. package/app/.next/server/app/privacy.segments/_tree.segment.rsc +2 -2
  412. package/app/.next/server/app/privacy.segments/privacy/__PAGE__.segment.rsc +1 -1
  413. package/app/.next/server/app/privacy.segments/privacy.segment.rsc +1 -1
  414. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  415. package/app/.next/server/app/terms.html +1 -1
  416. package/app/.next/server/app/terms.rsc +3 -3
  417. package/app/.next/server/app/terms.segments/_full.segment.rsc +3 -3
  418. package/app/.next/server/app/terms.segments/_head.segment.rsc +1 -1
  419. package/app/.next/server/app/terms.segments/_index.segment.rsc +3 -3
  420. package/app/.next/server/app/terms.segments/_tree.segment.rsc +2 -2
  421. package/app/.next/server/app/terms.segments/terms/__PAGE__.segment.rsc +1 -1
  422. package/app/.next/server/app/terms.segments/terms.segment.rsc +1 -1
  423. package/app/.next/server/app-paths-manifest.json +33 -30
  424. package/app/.next/server/chunks/5583.js +1 -1
  425. package/app/.next/server/chunks/8369.js +1 -1
  426. package/app/.next/server/chunks/9824.js +2 -2
  427. package/app/.next/server/pages/404.html +1 -1
  428. package/app/.next/server/pages/500.html +2 -2
  429. package/app/.next/server/server-reference-manifest.js +1 -1
  430. package/app/.next/server/server-reference-manifest.json +1 -1
  431. package/app/.next/static/chunks/{5846-b70d10291438712b.js β†’ 5846-e5043393303d82cc.js} +1 -1
  432. package/app/.next/static/chunks/{993-d43d3ceef35b3300.js β†’ 993-547810f7937fb3fe.js} +2 -2
  433. package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-58b169603fdf1d6f.js +1 -0
  434. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/page-cdc5fc5dfecc1047.js +1 -0
  435. package/app/.next/static/chunks/app/(dashboard)/dashboard/translator/{page-efca884c20a509a4.js β†’ page-775e1506821cac94.js} +2 -2
  436. package/app/.next/static/chunks/app/_global-error/page-58b169603fdf1d6f.js +1 -0
  437. package/app/.next/static/chunks/app/_not-found/page-58b169603fdf1d6f.js +1 -0
  438. package/app/.next/static/chunks/app/api/auth/login/route-58b169603fdf1d6f.js +1 -0
  439. package/app/.next/static/chunks/app/api/auth/logout/route-58b169603fdf1d6f.js +1 -0
  440. package/app/.next/static/chunks/app/api/cache/route-58b169603fdf1d6f.js +1 -0
  441. package/app/.next/static/chunks/app/api/cache/stats/route-58b169603fdf1d6f.js +1 -0
  442. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-58b169603fdf1d6f.js +1 -0
  443. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-58b169603fdf1d6f.js +1 -0
  444. package/app/.next/static/chunks/app/api/cli-tools/backups/route-58b169603fdf1d6f.js +1 -0
  445. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-58b169603fdf1d6f.js +1 -0
  446. package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-58b169603fdf1d6f.js +1 -0
  447. package/app/.next/static/chunks/app/api/cli-tools/codex-profiles/route-58b169603fdf1d6f.js +1 -0
  448. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-58b169603fdf1d6f.js +1 -0
  449. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-58b169603fdf1d6f.js +1 -0
  450. package/app/.next/static/chunks/app/api/cli-tools/guide-settings/[toolId]/route-58b169603fdf1d6f.js +1 -0
  451. package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-58b169603fdf1d6f.js +1 -0
  452. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-58b169603fdf1d6f.js +1 -0
  453. package/app/.next/static/chunks/app/api/cli-tools/runtime/[toolId]/route-58b169603fdf1d6f.js +1 -0
  454. package/app/.next/static/chunks/app/api/cli-tools/status/route-58b169603fdf1d6f.js +1 -0
  455. package/app/.next/static/chunks/app/api/cloud/auth/route-58b169603fdf1d6f.js +1 -0
  456. package/app/.next/static/chunks/app/api/cloud/credentials/update/route-58b169603fdf1d6f.js +1 -0
  457. package/app/.next/static/chunks/app/api/cloud/model/resolve/route-58b169603fdf1d6f.js +1 -0
  458. package/app/.next/static/chunks/app/api/cloud/models/alias/route-58b169603fdf1d6f.js +1 -0
  459. package/app/.next/static/chunks/app/api/combos/[id]/route-58b169603fdf1d6f.js +1 -0
  460. package/app/.next/static/chunks/app/api/combos/metrics/route-58b169603fdf1d6f.js +1 -0
  461. package/app/.next/static/chunks/app/api/combos/route-58b169603fdf1d6f.js +1 -0
  462. package/app/.next/static/chunks/app/api/combos/test/route-58b169603fdf1d6f.js +1 -0
  463. package/app/.next/static/chunks/app/api/compliance/audit-log/route-58b169603fdf1d6f.js +1 -0
  464. package/app/.next/static/chunks/app/api/db-backups/export/route-58b169603fdf1d6f.js +1 -0
  465. package/app/.next/static/chunks/app/api/db-backups/exportAll/route-58b169603fdf1d6f.js +1 -0
  466. package/app/.next/static/chunks/app/api/db-backups/import/route-58b169603fdf1d6f.js +1 -0
  467. package/app/.next/static/chunks/app/api/db-backups/route-58b169603fdf1d6f.js +1 -0
  468. package/app/.next/static/chunks/app/api/evals/[suiteId]/route-58b169603fdf1d6f.js +1 -0
  469. package/app/.next/static/chunks/app/api/evals/route-58b169603fdf1d6f.js +1 -0
  470. package/app/.next/static/chunks/app/api/fallback/chains/route-58b169603fdf1d6f.js +1 -0
  471. package/app/.next/static/chunks/app/api/init/route-58b169603fdf1d6f.js +1 -0
  472. package/app/.next/static/chunks/app/api/keys/[id]/route-58b169603fdf1d6f.js +1 -0
  473. package/app/.next/static/chunks/app/api/keys/route-58b169603fdf1d6f.js +1 -0
  474. package/app/.next/static/chunks/app/api/models/alias/route-58b169603fdf1d6f.js +1 -0
  475. package/app/.next/static/chunks/app/api/models/availability/route-58b169603fdf1d6f.js +1 -0
  476. package/app/.next/static/chunks/app/api/models/catalog/route-58b169603fdf1d6f.js +1 -0
  477. package/app/.next/static/chunks/app/api/models/route-58b169603fdf1d6f.js +1 -0
  478. package/app/.next/static/chunks/app/api/monitoring/health/route-58b169603fdf1d6f.js +1 -0
  479. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-58b169603fdf1d6f.js +1 -0
  480. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-58b169603fdf1d6f.js +1 -0
  481. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-58b169603fdf1d6f.js +1 -0
  482. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-58b169603fdf1d6f.js +1 -0
  483. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-58b169603fdf1d6f.js +1 -0
  484. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-58b169603fdf1d6f.js +1 -0
  485. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-58b169603fdf1d6f.js +1 -0
  486. package/app/.next/static/chunks/app/api/policies/route-58b169603fdf1d6f.js +1 -0
  487. package/app/.next/static/chunks/app/api/pricing/defaults/route-58b169603fdf1d6f.js +1 -0
  488. package/app/.next/static/chunks/app/api/pricing/models/route-58b169603fdf1d6f.js +1 -0
  489. package/app/.next/static/chunks/app/api/pricing/route-58b169603fdf1d6f.js +1 -0
  490. package/app/.next/static/chunks/app/api/provider-metrics/route-58b169603fdf1d6f.js +1 -0
  491. package/app/.next/static/chunks/app/api/provider-models/route-58b169603fdf1d6f.js +1 -0
  492. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-58b169603fdf1d6f.js +1 -0
  493. package/app/.next/static/chunks/app/api/provider-nodes/route-58b169603fdf1d6f.js +1 -0
  494. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-58b169603fdf1d6f.js +1 -0
  495. package/app/.next/static/chunks/app/api/providers/[id]/models/route-58b169603fdf1d6f.js +1 -0
  496. package/app/.next/static/chunks/app/api/providers/[id]/route-58b169603fdf1d6f.js +1 -0
  497. package/app/.next/static/chunks/app/api/providers/[id]/test/route-58b169603fdf1d6f.js +1 -0
  498. package/app/.next/static/chunks/app/api/providers/client/route-58b169603fdf1d6f.js +1 -0
  499. package/app/.next/static/chunks/app/api/providers/route-58b169603fdf1d6f.js +1 -0
  500. package/app/.next/static/chunks/app/api/providers/test-batch/route-58b169603fdf1d6f.js +1 -0
  501. package/app/.next/static/chunks/app/api/providers/validate/route-58b169603fdf1d6f.js +1 -0
  502. package/app/.next/static/chunks/app/api/rate-limit/route-58b169603fdf1d6f.js +1 -0
  503. package/app/.next/static/chunks/app/api/rate-limits/route-58b169603fdf1d6f.js +1 -0
  504. package/app/.next/static/chunks/app/api/resilience/reset/route-58b169603fdf1d6f.js +1 -0
  505. package/app/.next/static/chunks/app/api/resilience/route-58b169603fdf1d6f.js +1 -0
  506. package/app/.next/static/chunks/app/api/restart/route-58b169603fdf1d6f.js +1 -0
  507. package/app/.next/static/chunks/app/api/sessions/route-58b169603fdf1d6f.js +1 -0
  508. package/app/.next/static/chunks/app/api/settings/combo-defaults/route-58b169603fdf1d6f.js +1 -0
  509. package/app/.next/static/chunks/app/api/settings/ip-filter/route-58b169603fdf1d6f.js +1 -0
  510. package/app/.next/static/chunks/app/api/settings/proxy/route-58b169603fdf1d6f.js +1 -0
  511. package/app/.next/static/chunks/app/api/settings/proxy/test/route-58b169603fdf1d6f.js +1 -0
  512. package/app/.next/static/chunks/app/api/settings/require-login/route-58b169603fdf1d6f.js +1 -0
  513. package/app/.next/static/chunks/app/api/settings/route-58b169603fdf1d6f.js +1 -0
  514. package/app/.next/static/chunks/app/api/settings/system-prompt/route-58b169603fdf1d6f.js +1 -0
  515. package/app/.next/static/chunks/app/api/settings/thinking-budget/route-58b169603fdf1d6f.js +1 -0
  516. package/app/.next/static/chunks/app/api/shutdown/route-58b169603fdf1d6f.js +1 -0
  517. package/app/.next/static/chunks/app/api/storage/health/route-58b169603fdf1d6f.js +1 -0
  518. package/app/.next/static/chunks/app/api/sync/cloud/route-58b169603fdf1d6f.js +1 -0
  519. package/app/.next/static/chunks/app/api/sync/initialize/route-58b169603fdf1d6f.js +1 -0
  520. package/app/.next/static/chunks/app/api/tags/route-58b169603fdf1d6f.js +1 -0
  521. package/app/.next/static/chunks/app/api/telemetry/summary/route-58b169603fdf1d6f.js +1 -0
  522. package/app/.next/static/chunks/app/api/token-health/route-58b169603fdf1d6f.js +1 -0
  523. package/app/.next/static/chunks/app/api/translator/detect/route-58b169603fdf1d6f.js +1 -0
  524. package/app/.next/static/chunks/app/api/translator/history/route-58b169603fdf1d6f.js +1 -0
  525. package/app/.next/static/chunks/app/api/translator/load/route-58b169603fdf1d6f.js +1 -0
  526. package/app/.next/static/chunks/app/api/translator/save/route-58b169603fdf1d6f.js +1 -0
  527. package/app/.next/static/chunks/app/api/translator/send/route-58b169603fdf1d6f.js +1 -0
  528. package/app/.next/static/chunks/app/api/translator/translate/route-58b169603fdf1d6f.js +1 -0
  529. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-58b169603fdf1d6f.js +1 -0
  530. package/app/.next/static/chunks/app/api/usage/analytics/route-58b169603fdf1d6f.js +1 -0
  531. package/app/.next/static/chunks/app/api/usage/budget/route-58b169603fdf1d6f.js +1 -0
  532. package/app/.next/static/chunks/app/api/usage/call-logs/[id]/route-58b169603fdf1d6f.js +1 -0
  533. package/app/.next/static/chunks/app/api/usage/call-logs/route-58b169603fdf1d6f.js +1 -0
  534. package/app/.next/static/chunks/app/api/usage/history/route-58b169603fdf1d6f.js +1 -0
  535. package/app/.next/static/chunks/app/api/usage/logs/route-58b169603fdf1d6f.js +1 -0
  536. package/app/.next/static/chunks/app/api/usage/proxy-logs/route-58b169603fdf1d6f.js +1 -0
  537. package/app/.next/static/chunks/app/api/usage/request-logs/route-58b169603fdf1d6f.js +1 -0
  538. package/app/.next/static/chunks/app/api/v1/api/chat/route-58b169603fdf1d6f.js +1 -0
  539. package/app/.next/static/chunks/app/api/v1/audio/speech/route-58b169603fdf1d6f.js +1 -0
  540. package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-58b169603fdf1d6f.js +1 -0
  541. package/app/.next/static/chunks/app/api/v1/chat/completions/route-58b169603fdf1d6f.js +1 -0
  542. package/app/.next/static/chunks/app/api/v1/embeddings/route-58b169603fdf1d6f.js +1 -0
  543. package/app/.next/static/chunks/app/api/v1/images/generations/route-58b169603fdf1d6f.js +1 -0
  544. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-58b169603fdf1d6f.js +1 -0
  545. package/app/.next/static/chunks/app/api/v1/messages/route-58b169603fdf1d6f.js +1 -0
  546. package/app/.next/static/chunks/app/api/v1/models/route-58b169603fdf1d6f.js +1 -0
  547. package/app/.next/static/chunks/app/api/v1/moderations/route-58b169603fdf1d6f.js +1 -0
  548. package/app/.next/static/chunks/app/api/v1/providers/[provider]/chat/completions/route-58b169603fdf1d6f.js +1 -0
  549. package/app/.next/static/chunks/app/api/v1/providers/[provider]/embeddings/route-58b169603fdf1d6f.js +1 -0
  550. package/app/.next/static/chunks/app/api/v1/providers/[provider]/images/generations/route-58b169603fdf1d6f.js +1 -0
  551. package/app/.next/static/chunks/app/api/v1/rerank/route-58b169603fdf1d6f.js +1 -0
  552. package/app/.next/static/chunks/app/api/v1/responses/route-58b169603fdf1d6f.js +1 -0
  553. package/app/.next/static/chunks/app/api/v1/route-58b169603fdf1d6f.js +1 -0
  554. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-58b169603fdf1d6f.js +1 -0
  555. package/app/.next/static/chunks/app/api/v1beta/models/route-58b169603fdf1d6f.js +1 -0
  556. package/app/.next/static/chunks/app/page-58b169603fdf1d6f.js +1 -0
  557. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-58b169603fdf1d6f.js +1 -0
  558. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-58b169603fdf1d6f.js +1 -0
  559. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-58b169603fdf1d6f.js +1 -0
  560. package/app/.next/static/css/{1c99dc691f001331.css β†’ 99e359b9e40091af.css} +1 -1
  561. package/app/.next/static/r6jUR903zdObDI9pgxvsU/_buildManifest.js +1 -0
  562. package/app/package.json +2 -2
  563. package/app/public/providers/ironclaw.png +0 -0
  564. package/app/public/providers/nanobot.png +0 -0
  565. package/app/public/providers/opencode.svg +18 -0
  566. package/app/public/providers/picoclaw.jpg +0 -0
  567. package/app/public/providers/zeroclaw.png +0 -0
  568. package/package.json +2 -2
  569. package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-9dc1eebb90668f5a.js +0 -1
  570. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/page-3ac21c16bcfde2e4.js +0 -1
  571. package/app/.next/static/chunks/app/_global-error/page-9dc1eebb90668f5a.js +0 -1
  572. package/app/.next/static/chunks/app/_not-found/page-9dc1eebb90668f5a.js +0 -1
  573. package/app/.next/static/chunks/app/api/auth/login/route-9dc1eebb90668f5a.js +0 -1
  574. package/app/.next/static/chunks/app/api/auth/logout/route-9dc1eebb90668f5a.js +0 -1
  575. package/app/.next/static/chunks/app/api/cache/route-9dc1eebb90668f5a.js +0 -1
  576. package/app/.next/static/chunks/app/api/cache/stats/route-9dc1eebb90668f5a.js +0 -1
  577. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-9dc1eebb90668f5a.js +0 -1
  578. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-9dc1eebb90668f5a.js +0 -1
  579. package/app/.next/static/chunks/app/api/cli-tools/backups/route-9dc1eebb90668f5a.js +0 -1
  580. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-9dc1eebb90668f5a.js +0 -1
  581. package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-9dc1eebb90668f5a.js +0 -1
  582. package/app/.next/static/chunks/app/api/cli-tools/codex-profiles/route-9dc1eebb90668f5a.js +0 -1
  583. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-9dc1eebb90668f5a.js +0 -1
  584. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-9dc1eebb90668f5a.js +0 -1
  585. package/app/.next/static/chunks/app/api/cli-tools/guide-settings/[toolId]/route-9dc1eebb90668f5a.js +0 -1
  586. package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-9dc1eebb90668f5a.js +0 -1
  587. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-9dc1eebb90668f5a.js +0 -1
  588. package/app/.next/static/chunks/app/api/cli-tools/runtime/[toolId]/route-9dc1eebb90668f5a.js +0 -1
  589. package/app/.next/static/chunks/app/api/cli-tools/status/route-9dc1eebb90668f5a.js +0 -1
  590. package/app/.next/static/chunks/app/api/cloud/auth/route-9dc1eebb90668f5a.js +0 -1
  591. package/app/.next/static/chunks/app/api/cloud/credentials/update/route-9dc1eebb90668f5a.js +0 -1
  592. package/app/.next/static/chunks/app/api/cloud/model/resolve/route-9dc1eebb90668f5a.js +0 -1
  593. package/app/.next/static/chunks/app/api/cloud/models/alias/route-9dc1eebb90668f5a.js +0 -1
  594. package/app/.next/static/chunks/app/api/combos/[id]/route-9dc1eebb90668f5a.js +0 -1
  595. package/app/.next/static/chunks/app/api/combos/metrics/route-9dc1eebb90668f5a.js +0 -1
  596. package/app/.next/static/chunks/app/api/combos/route-9dc1eebb90668f5a.js +0 -1
  597. package/app/.next/static/chunks/app/api/combos/test/route-9dc1eebb90668f5a.js +0 -1
  598. package/app/.next/static/chunks/app/api/compliance/audit-log/route-9dc1eebb90668f5a.js +0 -1
  599. package/app/.next/static/chunks/app/api/db-backups/route-9dc1eebb90668f5a.js +0 -1
  600. package/app/.next/static/chunks/app/api/evals/[suiteId]/route-9dc1eebb90668f5a.js +0 -1
  601. package/app/.next/static/chunks/app/api/evals/route-9dc1eebb90668f5a.js +0 -1
  602. package/app/.next/static/chunks/app/api/fallback/chains/route-9dc1eebb90668f5a.js +0 -1
  603. package/app/.next/static/chunks/app/api/init/route-9dc1eebb90668f5a.js +0 -1
  604. package/app/.next/static/chunks/app/api/keys/[id]/route-9dc1eebb90668f5a.js +0 -1
  605. package/app/.next/static/chunks/app/api/keys/route-9dc1eebb90668f5a.js +0 -1
  606. package/app/.next/static/chunks/app/api/models/alias/route-9dc1eebb90668f5a.js +0 -1
  607. package/app/.next/static/chunks/app/api/models/availability/route-9dc1eebb90668f5a.js +0 -1
  608. package/app/.next/static/chunks/app/api/models/catalog/route-9dc1eebb90668f5a.js +0 -1
  609. package/app/.next/static/chunks/app/api/models/route-9dc1eebb90668f5a.js +0 -1
  610. package/app/.next/static/chunks/app/api/monitoring/health/route-9dc1eebb90668f5a.js +0 -1
  611. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-9dc1eebb90668f5a.js +0 -1
  612. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-9dc1eebb90668f5a.js +0 -1
  613. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-9dc1eebb90668f5a.js +0 -1
  614. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-9dc1eebb90668f5a.js +0 -1
  615. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-9dc1eebb90668f5a.js +0 -1
  616. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-9dc1eebb90668f5a.js +0 -1
  617. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-9dc1eebb90668f5a.js +0 -1
  618. package/app/.next/static/chunks/app/api/policies/route-9dc1eebb90668f5a.js +0 -1
  619. package/app/.next/static/chunks/app/api/pricing/defaults/route-9dc1eebb90668f5a.js +0 -1
  620. package/app/.next/static/chunks/app/api/pricing/models/route-9dc1eebb90668f5a.js +0 -1
  621. package/app/.next/static/chunks/app/api/pricing/route-9dc1eebb90668f5a.js +0 -1
  622. package/app/.next/static/chunks/app/api/provider-metrics/route-9dc1eebb90668f5a.js +0 -1
  623. package/app/.next/static/chunks/app/api/provider-models/route-9dc1eebb90668f5a.js +0 -1
  624. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-9dc1eebb90668f5a.js +0 -1
  625. package/app/.next/static/chunks/app/api/provider-nodes/route-9dc1eebb90668f5a.js +0 -1
  626. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-9dc1eebb90668f5a.js +0 -1
  627. package/app/.next/static/chunks/app/api/providers/[id]/models/route-9dc1eebb90668f5a.js +0 -1
  628. package/app/.next/static/chunks/app/api/providers/[id]/route-9dc1eebb90668f5a.js +0 -1
  629. package/app/.next/static/chunks/app/api/providers/[id]/test/route-9dc1eebb90668f5a.js +0 -1
  630. package/app/.next/static/chunks/app/api/providers/client/route-9dc1eebb90668f5a.js +0 -1
  631. package/app/.next/static/chunks/app/api/providers/route-9dc1eebb90668f5a.js +0 -1
  632. package/app/.next/static/chunks/app/api/providers/test-batch/route-9dc1eebb90668f5a.js +0 -1
  633. package/app/.next/static/chunks/app/api/providers/validate/route-9dc1eebb90668f5a.js +0 -1
  634. package/app/.next/static/chunks/app/api/rate-limit/route-9dc1eebb90668f5a.js +0 -1
  635. package/app/.next/static/chunks/app/api/rate-limits/route-9dc1eebb90668f5a.js +0 -1
  636. package/app/.next/static/chunks/app/api/resilience/reset/route-9dc1eebb90668f5a.js +0 -1
  637. package/app/.next/static/chunks/app/api/resilience/route-9dc1eebb90668f5a.js +0 -1
  638. package/app/.next/static/chunks/app/api/restart/route-9dc1eebb90668f5a.js +0 -1
  639. package/app/.next/static/chunks/app/api/sessions/route-9dc1eebb90668f5a.js +0 -1
  640. package/app/.next/static/chunks/app/api/settings/combo-defaults/route-9dc1eebb90668f5a.js +0 -1
  641. package/app/.next/static/chunks/app/api/settings/ip-filter/route-9dc1eebb90668f5a.js +0 -1
  642. package/app/.next/static/chunks/app/api/settings/proxy/route-9dc1eebb90668f5a.js +0 -1
  643. package/app/.next/static/chunks/app/api/settings/proxy/test/route-9dc1eebb90668f5a.js +0 -1
  644. package/app/.next/static/chunks/app/api/settings/require-login/route-9dc1eebb90668f5a.js +0 -1
  645. package/app/.next/static/chunks/app/api/settings/route-9dc1eebb90668f5a.js +0 -1
  646. package/app/.next/static/chunks/app/api/settings/system-prompt/route-9dc1eebb90668f5a.js +0 -1
  647. package/app/.next/static/chunks/app/api/settings/thinking-budget/route-9dc1eebb90668f5a.js +0 -1
  648. package/app/.next/static/chunks/app/api/shutdown/route-9dc1eebb90668f5a.js +0 -1
  649. package/app/.next/static/chunks/app/api/storage/health/route-9dc1eebb90668f5a.js +0 -1
  650. package/app/.next/static/chunks/app/api/sync/cloud/route-9dc1eebb90668f5a.js +0 -1
  651. package/app/.next/static/chunks/app/api/sync/initialize/route-9dc1eebb90668f5a.js +0 -1
  652. package/app/.next/static/chunks/app/api/tags/route-9dc1eebb90668f5a.js +0 -1
  653. package/app/.next/static/chunks/app/api/telemetry/summary/route-9dc1eebb90668f5a.js +0 -1
  654. package/app/.next/static/chunks/app/api/token-health/route-9dc1eebb90668f5a.js +0 -1
  655. package/app/.next/static/chunks/app/api/translator/detect/route-9dc1eebb90668f5a.js +0 -1
  656. package/app/.next/static/chunks/app/api/translator/history/route-9dc1eebb90668f5a.js +0 -1
  657. package/app/.next/static/chunks/app/api/translator/load/route-9dc1eebb90668f5a.js +0 -1
  658. package/app/.next/static/chunks/app/api/translator/save/route-9dc1eebb90668f5a.js +0 -1
  659. package/app/.next/static/chunks/app/api/translator/send/route-9dc1eebb90668f5a.js +0 -1
  660. package/app/.next/static/chunks/app/api/translator/translate/route-9dc1eebb90668f5a.js +0 -1
  661. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-9dc1eebb90668f5a.js +0 -1
  662. package/app/.next/static/chunks/app/api/usage/analytics/route-9dc1eebb90668f5a.js +0 -1
  663. package/app/.next/static/chunks/app/api/usage/budget/route-9dc1eebb90668f5a.js +0 -1
  664. package/app/.next/static/chunks/app/api/usage/call-logs/[id]/route-9dc1eebb90668f5a.js +0 -1
  665. package/app/.next/static/chunks/app/api/usage/call-logs/route-9dc1eebb90668f5a.js +0 -1
  666. package/app/.next/static/chunks/app/api/usage/history/route-9dc1eebb90668f5a.js +0 -1
  667. package/app/.next/static/chunks/app/api/usage/logs/route-9dc1eebb90668f5a.js +0 -1
  668. package/app/.next/static/chunks/app/api/usage/proxy-logs/route-9dc1eebb90668f5a.js +0 -1
  669. package/app/.next/static/chunks/app/api/usage/request-logs/route-9dc1eebb90668f5a.js +0 -1
  670. package/app/.next/static/chunks/app/api/v1/api/chat/route-9dc1eebb90668f5a.js +0 -1
  671. package/app/.next/static/chunks/app/api/v1/audio/speech/route-9dc1eebb90668f5a.js +0 -1
  672. package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-9dc1eebb90668f5a.js +0 -1
  673. package/app/.next/static/chunks/app/api/v1/chat/completions/route-9dc1eebb90668f5a.js +0 -1
  674. package/app/.next/static/chunks/app/api/v1/embeddings/route-9dc1eebb90668f5a.js +0 -1
  675. package/app/.next/static/chunks/app/api/v1/images/generations/route-9dc1eebb90668f5a.js +0 -1
  676. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-9dc1eebb90668f5a.js +0 -1
  677. package/app/.next/static/chunks/app/api/v1/messages/route-9dc1eebb90668f5a.js +0 -1
  678. package/app/.next/static/chunks/app/api/v1/models/route-9dc1eebb90668f5a.js +0 -1
  679. package/app/.next/static/chunks/app/api/v1/moderations/route-9dc1eebb90668f5a.js +0 -1
  680. package/app/.next/static/chunks/app/api/v1/providers/[provider]/chat/completions/route-9dc1eebb90668f5a.js +0 -1
  681. package/app/.next/static/chunks/app/api/v1/providers/[provider]/embeddings/route-9dc1eebb90668f5a.js +0 -1
  682. package/app/.next/static/chunks/app/api/v1/providers/[provider]/images/generations/route-9dc1eebb90668f5a.js +0 -1
  683. package/app/.next/static/chunks/app/api/v1/rerank/route-9dc1eebb90668f5a.js +0 -1
  684. package/app/.next/static/chunks/app/api/v1/responses/route-9dc1eebb90668f5a.js +0 -1
  685. package/app/.next/static/chunks/app/api/v1/route-9dc1eebb90668f5a.js +0 -1
  686. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-9dc1eebb90668f5a.js +0 -1
  687. package/app/.next/static/chunks/app/api/v1beta/models/route-9dc1eebb90668f5a.js +0 -1
  688. package/app/.next/static/chunks/app/page-9dc1eebb90668f5a.js +0 -1
  689. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-9dc1eebb90668f5a.js +0 -1
  690. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-9dc1eebb90668f5a.js +0 -1
  691. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-9dc1eebb90668f5a.js +0 -1
  692. package/app/.next/static/xW2ax6VohvDsTIIwd1zWK/_buildManifest.js +0 -1
  693. /package/app/.next/static/{xW2ax6VohvDsTIIwd1zWK β†’ r6jUR903zdObDI9pgxvsU}/_ssgManifest.js +0 -0
package/README.md CHANGED
@@ -1,26 +1,110 @@
1
1
  <div align="center">
2
2
  <img src="./images/omniroute.png" alt="OmniRoute Dashboard" width="800"/>
3
3
 
4
- # OmniRoute - Free AI Router
5
-
6
- **Never stop coding. Auto-route to FREE & cheap AI models with smart fallback.**
7
-
8
- **36+ Providers β€’ Embeddings β€’ Image Generation β€’ Audio β€’ Reranking β€’ Full TypeScript**
9
-
10
- **Free AI Provider for OpenClaw.**
11
-
12
- <p align="center">
13
- <img src="./public/providers/openclaw.png" alt="OpenClaw" width="80"/>
14
- </p>
15
-
16
- > *This project is inspired by and originally forked from [9router](https://github.com/decolua/9router) by [decolua](https://github.com/decolua). Thank you for the incredible foundation!*
17
-
18
- [![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute)
19
- [![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute)
20
- [![License](https://img.shields.io/github/license/diegosouzapw/OmniRoute)](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE)
21
- [![Website](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online)
22
-
23
- [🌐 Website](https://omniroute.online) β€’ [πŸš€ Quick Start](#-quick-start) β€’ [πŸ’‘ Features](#-key-features) β€’ [πŸ“– Docs](#-documentation)
4
+ # πŸš€ OmniRoute β€” The Free AI Gateway
5
+
6
+ ### Never stop coding. Smart routing to **FREE & low-cost AI models** with automatic fallback.
7
+
8
+ _Your universal API proxy β€” one endpoint, 36+ providers, zero downtime._
9
+
10
+ **Chat Completions β€’ Embeddings β€’ Image Generation β€’ Audio β€’ Reranking β€’ 100% TypeScript**
11
+
12
+ ---
13
+
14
+ ### πŸ€– Free AI Provider for your favorite coding agents
15
+
16
+ _Connect any AI-powered IDE or CLI tool through OmniRoute β€” free API gateway for unlimited coding._
17
+
18
+ <table>
19
+ <tr>
20
+ <td align="center" width="110">
21
+ <a href="https://github.com/cline/cline">
22
+ <img src="./public/providers/openclaw.png" alt="OpenClaw" width="48"/><br/>
23
+ <b>OpenClaw</b>
24
+ </a><br/>
25
+ <sub>⭐ 205K</sub>
26
+ </td>
27
+ <td align="center" width="110">
28
+ <a href="https://github.com/HKUDS/nanobot">
29
+ <img src="./public/providers/nanobot.png" alt="NanoBot" width="48"/><br/>
30
+ <b>NanoBot</b>
31
+ </a><br/>
32
+ <sub>⭐ 20.9K</sub>
33
+ </td>
34
+ <td align="center" width="110">
35
+ <a href="https://github.com/sipeed/picoclaw">
36
+ <img src="./public/providers/picoclaw.jpg" alt="PicoClaw" width="48"/><br/>
37
+ <b>PicoClaw</b>
38
+ </a><br/>
39
+ <sub>⭐ 14.6K</sub>
40
+ </td>
41
+ <td align="center" width="110">
42
+ <a href="https://github.com/zeroclaw-labs/zeroclaw">
43
+ <img src="./public/providers/zeroclaw.png" alt="ZeroClaw" width="48"/><br/>
44
+ <b>ZeroClaw</b>
45
+ </a><br/>
46
+ <sub>⭐ 9.9K</sub>
47
+ </td>
48
+ <td align="center" width="110">
49
+ <a href="https://github.com/nearai/ironclaw">
50
+ <img src="./public/providers/ironclaw.png" alt="IronClaw" width="48"/><br/>
51
+ <b>IronClaw</b>
52
+ </a><br/>
53
+ <sub>⭐ 2.1K</sub>
54
+ </td>
55
+ </tr>
56
+ <tr>
57
+ <td align="center" width="110">
58
+ <a href="https://github.com/anomalyco/opencode">
59
+ <img src="./public/providers/opencode.svg" alt="OpenCode" width="48"/><br/>
60
+ <b>OpenCode</b>
61
+ </a><br/>
62
+ <sub>⭐ 106K</sub>
63
+ </td>
64
+ <td align="center" width="110">
65
+ <a href="https://github.com/openai/codex">
66
+ <img src="./public/providers/codex.png" alt="Codex CLI" width="48"/><br/>
67
+ <b>Codex CLI</b>
68
+ </a><br/>
69
+ <sub>⭐ 60.8K</sub>
70
+ </td>
71
+ <td align="center" width="110">
72
+ <a href="https://github.com/anthropics/claude-code">
73
+ <img src="./public/providers/claude.png" alt="Claude Code" width="48"/><br/>
74
+ <b>Claude Code</b>
75
+ </a><br/>
76
+ <sub>⭐ 67.3K</sub>
77
+ </td>
78
+ <td align="center" width="110">
79
+ <a href="https://github.com/google-gemini/gemini-cli">
80
+ <img src="./public/providers/gemini-cli.png" alt="Gemini CLI" width="48"/><br/>
81
+ <b>Gemini CLI</b>
82
+ </a><br/>
83
+ <sub>⭐ 94.7K</sub>
84
+ </td>
85
+ <td align="center" width="110">
86
+ <a href="https://github.com/Kilo-Org/kilocode">
87
+ <img src="./public/providers/kilocode.png" alt="Kilo Code" width="48"/><br/>
88
+ <b>Kilo Code</b>
89
+ </a><br/>
90
+ <sub>⭐ 15.5K</sub>
91
+ </td>
92
+ </tr>
93
+ </table>
94
+
95
+ <sub>πŸ“‘ All agents connect via <code>http://localhost:20128/v1</code> or <code>http://cloud.omniroute.online/v1</code> β€” one config, unlimited models and quota</sub>
96
+
97
+ ---
98
+
99
+ [![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute)
100
+ [![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute)
101
+ [![License](https://img.shields.io/github/license/diegosouzapw/OmniRoute)](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE)
102
+ [![Website](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online)
103
+
104
+ [🌐 Website](https://omniroute.online) β€’ [πŸš€ Quick Start](#-quick-start) β€’ [πŸ’‘ Features](#-key-features) β€’ [πŸ“– Docs](#-documentation) β€’ [πŸ’° Pricing](#-pricing-at-a-glance)
105
+
106
+ 🌐 **Available in:** [English](README.md) | [PortuguΓͺs](README.pt-BR.md) | [EspaΓ±ol](README.es.md) | [Русский](README.ru.md) | [δΈ­ζ–‡](README.zh-CN.md) | [Deutsch](README.de.md) | [FranΓ§ais](README.fr.md) | [Italiano](README.it.md)
107
+
24
108
  </div>
25
109
 
26
110
  ---
@@ -29,17 +113,17 @@
29
113
 
30
114
  **Stop wasting money and hitting limits:**
31
115
 
32
- - ❌ Subscription quota expires unused every month
33
- - ❌ Rate limits stop you mid-coding
34
- - ❌ Expensive APIs ($20-50/month per provider)
35
- - ❌ Manual switching between providers
116
+ - <img src="https://img.shields.io/badge/βœ—-e74c3c?style=flat-square" height="16"/> Subscription quota expires unused every month
117
+ - <img src="https://img.shields.io/badge/βœ—-e74c3c?style=flat-square" height="16"/> Rate limits stop you mid-coding
118
+ - <img src="https://img.shields.io/badge/βœ—-e74c3c?style=flat-square" height="16"/> Expensive APIs ($20-50/month per provider)
119
+ - <img src="https://img.shields.io/badge/βœ—-e74c3c?style=flat-square" height="16"/> Manual switching between providers
36
120
 
37
121
  **OmniRoute solves this:**
38
122
 
39
123
  - βœ… **Maximize subscriptions** - Track quota, use every bit before reset
40
- - βœ… **Auto fallback** - Subscription β†’ Cheap β†’ Free, zero downtime
124
+ - βœ… **Auto fallback** - Subscription β†’ API Key β†’ Cheap β†’ Free, zero downtime
41
125
  - βœ… **Multi-account** - Round-robin between accounts per provider
42
- - βœ… **Universal** - Works with Claude Code, Codex, Gemini CLI, Cursor, Cline, any CLI tool
126
+ - βœ… **Universal** - Works with Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, any CLI tool
43
127
 
44
128
  ---
45
129
 
@@ -61,7 +145,7 @@
61
145
  β”‚
62
146
  β”œβ”€β†’ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI
63
147
  β”‚ ↓ quota exhausted
64
- β”œβ”€β†’ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, Together, etc.
148
+ β”œβ”€β†’ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc.
65
149
  β”‚ ↓ budget limit
66
150
  β”œβ”€β†’ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M)
67
151
  β”‚ ↓ budget limit
@@ -158,7 +242,93 @@ docker compose --profile cli up -d
158
242
  | Image | Tag | Size | Description |
159
243
  | ------------------------ | -------- | ------ | --------------------- |
160
244
  | `diegosouzapw/omniroute` | `latest` | ~250MB | Latest stable release |
161
- | `diegosouzapw/omniroute` | `0.8.8` | ~250MB | Current version |
245
+ | `diegosouzapw/omniroute` | `1.0.0` | ~250MB | Current version |
246
+
247
+ ---
248
+
249
+ ## πŸ’° Pricing at a Glance
250
+
251
+ | Tier | Provider | Cost | Quota Reset | Best For |
252
+ | ------------------- | ----------------- | ----------------------- | ---------------- | -------------------- |
253
+ | **πŸ’³ SUBSCRIPTION** | Claude Code (Pro) | $20/mo | 5h + weekly | Already subscribed |
254
+ | | Codex (Plus/Pro) | $20-200/mo | 5h + weekly | OpenAI users |
255
+ | | Gemini CLI | **FREE** | 180K/mo + 1K/day | Everyone! |
256
+ | | GitHub Copilot | $10-19/mo | Monthly | GitHub users |
257
+ | **πŸ”‘ API KEY** | NVIDIA NIM | **FREE** (1000 credits) | One-time | Free tier testing |
258
+ | | DeepSeek | Pay-per-use | None | Best price/quality |
259
+ | | Groq | Free tier + paid | Rate limited | Ultra-fast inference |
260
+ | | xAI (Grok) | Pay-per-use | None | Grok models |
261
+ | | Mistral | Free tier + paid | Rate limited | European AI |
262
+ | | OpenRouter | Pay-per-use | None | 100+ models |
263
+ | **πŸ’° CHEAP** | GLM-4.7 | $0.6/1M | Daily 10AM | Budget backup |
264
+ | | MiniMax M2.1 | $0.2/1M | 5-hour rolling | Cheapest option |
265
+ | | Kimi K2 | $9/mo flat | 10M tokens/mo | Predictable cost |
266
+ | **πŸ†“ FREE** | iFlow | $0 | Unlimited | 8 models free |
267
+ | | Qwen | $0 | Unlimited | 3 models free |
268
+ | | Kiro | $0 | Unlimited | Claude free |
269
+
270
+ **πŸ’‘ Pro Tip:** Start with Gemini CLI (180K free/month) + iFlow (unlimited free) combo = $0 cost!
271
+
272
+ ---
273
+
274
+ ## 🎯 Use Cases
275
+
276
+ ### Case 1: "I have Claude Pro subscription"
277
+
278
+ **Problem:** Quota expires unused, rate limits during heavy coding
279
+
280
+ ```
281
+ Combo: "maximize-claude"
282
+ 1. cc/claude-opus-4-6 (use subscription fully)
283
+ 2. glm/glm-4.7 (cheap backup when quota out)
284
+ 3. if/kimi-k2-thinking (free emergency fallback)
285
+
286
+ Monthly cost: $20 (subscription) + ~$5 (backup) = $25 total
287
+ vs. $20 + hitting limits = frustration
288
+ ```
289
+
290
+ ### Case 2: "I want zero cost"
291
+
292
+ **Problem:** Can't afford subscriptions, need reliable AI coding
293
+
294
+ ```
295
+ Combo: "free-forever"
296
+ 1. gc/gemini-3-flash (180K free/month)
297
+ 2. if/kimi-k2-thinking (unlimited free)
298
+ 3. qw/qwen3-coder-plus (unlimited free)
299
+
300
+ Monthly cost: $0
301
+ Quality: Production-ready models
302
+ ```
303
+
304
+ ### Case 3: "I need 24/7 coding, no interruptions"
305
+
306
+ **Problem:** Deadlines, can't afford downtime
307
+
308
+ ```
309
+ Combo: "always-on"
310
+ 1. cc/claude-opus-4-6 (best quality)
311
+ 2. cx/gpt-5.2-codex (second subscription)
312
+ 3. glm/glm-4.7 (cheap, resets daily)
313
+ 4. minimax/MiniMax-M2.1 (cheapest, 5h reset)
314
+ 5. if/kimi-k2-thinking (free unlimited)
315
+
316
+ Result: 5 layers of fallback = zero downtime
317
+ ```
318
+
319
+ ### Case 4: "I want FREE AI in OpenClaw"
320
+
321
+ **Problem:** Need AI assistant in messaging apps, completely free
322
+
323
+ ```
324
+ Combo: "openclaw-free"
325
+ 1. if/glm-4.7 (unlimited free)
326
+ 2. if/minimax-m2.1 (unlimited free)
327
+ 3. if/kimi-k2-thinking (unlimited free)
328
+
329
+ Monthly cost: $0
330
+ Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal...
331
+ ```
162
332
 
163
333
  ---
164
334
 
@@ -201,7 +371,6 @@ docker compose --profile cli up -d
201
371
  | ⚑ **Request Idempotency** | 5s dedup window for duplicate requests |
202
372
  | πŸ”’ **TLS Fingerprint Spoofing** | Bypass TLS-based bot detection via wreq-js |
203
373
  | 🌐 **IP Filtering** | Allowlist/blocklist for API access control |
204
- | πŸ“‹ **Compliance Audit Log** | Tamper-proof request logs with opt-out per API key |
205
374
  | πŸ“Š **Editable Rate Limits** | Configurable RPM, min gap, and max concurrent at system level |
206
375
 
207
376
  ### πŸ“Š Observability & Analytics
@@ -215,14 +384,447 @@ docker compose --profile cli up -d
215
384
  | πŸ§ͺ **LLM Evaluations** | Golden set testing with 4 match strategies |
216
385
  | πŸ” **Request Telemetry** | p50/p95/p99 latency aggregation + X-Request-Id tracing |
217
386
  | πŸ“‹ **Request Logs + Quotas** | Dedicated pages for log browsing and limits/quotas tracking |
387
+ | πŸ₯ **Health Dashboard** | System uptime, circuit breaker states, lockouts, cache stats |
388
+ | πŸ’° **Cost Tracking** | Budget management + per-model pricing configuration |
218
389
 
219
390
  ### ☁️ Deployment & Sync
220
391
 
221
- | Feature | What It Does |
222
- | ------------------------- | ------------------------------------------------- |
223
- | πŸ’Ύ **Cloud Sync** | Sync config across devices via Cloudflare Workers |
224
- | 🌐 **Deploy Anywhere** | Localhost, VPS, Docker, Cloudflare Workers |
225
- | πŸ”‘ **API Key Management** | Generate, rotate, and scope API keys per provider |
392
+ | Feature | What It Does |
393
+ | -------------------------- | --------------------------------------------------------------------- |
394
+ | πŸ’Ύ **Cloud Sync** | Sync config across devices via Cloudflare Workers |
395
+ | 🌐 **Deploy Anywhere** | Localhost, VPS, Docker, Cloudflare Workers |
396
+ | πŸ”‘ **API Key Management** | Generate, rotate, and scope API keys per provider |
397
+ | πŸ§™ **Onboarding Wizard** | 4-step guided setup for first-time users |
398
+ | πŸ”§ **CLI Tools Dashboard** | One-click configure Claude, Codex, Cline, OpenClaw, Kilo, Antigravity |
399
+ | πŸ”„ **DB Backups** | Automatic backup, restore, export & import for all settings |
400
+
401
+ <details>
402
+ <summary><b>πŸ“– Feature Details</b></summary>
403
+
404
+ ### 🎯 Smart 4-Tier Fallback
405
+
406
+ Create combos with automatic fallback:
407
+
408
+ ```
409
+ Combo: "my-coding-stack"
410
+ 1. cc/claude-opus-4-6 (your subscription)
411
+ 2. nvidia/llama-3.3-70b (free NVIDIA API)
412
+ 3. glm/glm-4.7 (cheap backup, $0.6/1M)
413
+ 4. if/kimi-k2-thinking (free fallback)
414
+
415
+ β†’ Auto switches when quota runs out or errors occur
416
+ ```
417
+
418
+ ### πŸ“Š Real-Time Quota Tracking
419
+
420
+ - Token consumption per provider
421
+ - Reset countdown (5-hour, daily, weekly)
422
+ - Cost estimation for paid tiers
423
+ - Monthly spending reports
424
+
425
+ ### πŸ”„ Format Translation
426
+
427
+ Seamless translation between formats:
428
+
429
+ - **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **OpenAI Responses**
430
+ - Your CLI tool sends OpenAI format β†’ OmniRoute translates β†’ Provider receives native format
431
+ - Works with any tool that supports custom OpenAI endpoints
432
+
433
+ ### πŸ‘₯ Multi-Account Support
434
+
435
+ - Add multiple accounts per provider
436
+ - Auto round-robin or priority-based routing
437
+ - Fallback to next account when one hits quota
438
+
439
+ ### πŸ”„ Auto Token Refresh
440
+
441
+ - OAuth tokens automatically refresh before expiration
442
+ - No manual re-authentication needed
443
+ - Seamless experience across all providers
444
+
445
+ ### 🎨 Custom Combos
446
+
447
+ - Create unlimited model combinations
448
+ - 6 strategies: fill-first, round-robin, power-of-two-choices, random, least-used, cost-optimized
449
+ - Share combos across devices with Cloud Sync
450
+
451
+ ### πŸ₯ Health Dashboard
452
+
453
+ - System status (uptime, version, memory usage)
454
+ - Circuit breaker states per provider (Closed/Open/Half-Open)
455
+ - Rate limit status and active lockouts
456
+ - Signature cache statistics
457
+ - Latency telemetry (p50/p95/p99) + prompt cache
458
+ - Reset health status with one click
459
+
460
+ ### πŸ”§ Translator Playground
461
+
462
+ OmniRoute includes a powerful built-in Translator Playground with **4 modes** for debugging, testing, and monitoring API translations:
463
+
464
+ | Mode | Description |
465
+ | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
466
+ | **πŸ’» Playground** | Direct format translation β€” paste any API request body and instantly see how OmniRoute translates it between provider formats (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). Includes example templates and format auto-detection. |
467
+ | **πŸ’¬ Chat Tester** | Send real chat requests through OmniRoute and see the full round-trip: your input, the translated request, the provider response, and the translated response back. Invaluable for validating combo routing. |
468
+ | **πŸ§ͺ Test Bench** | Batch testing mode β€” define multiple test cases with different inputs and expected outputs, run them all at once, and compare results across providers and models. |
469
+ | **πŸ“± Live Monitor** | Real-time request monitoring β€” watch incoming requests as they flow through OmniRoute, see format translations happening live, and identify issues instantly. |
470
+
471
+ **Access:** Dashboard β†’ Translator (sidebar)
472
+
473
+ ### πŸ’Ύ Cloud Sync
474
+
475
+ - Sync providers, combos, and settings across devices
476
+ - Automatic background sync
477
+ - Secure encrypted storage
478
+
479
+ </details>
480
+
481
+ ---
482
+
483
+ ## πŸ“– Setup Guide
484
+
485
+ <details>
486
+ <summary><b>πŸ’³ Subscription Providers</b></summary>
487
+
488
+ ### Claude Code (Pro/Max)
489
+
490
+ ```bash
491
+ Dashboard β†’ Providers β†’ Connect Claude Code
492
+ β†’ OAuth login β†’ Auto token refresh
493
+ β†’ 5-hour + weekly quota tracking
494
+
495
+ Models:
496
+ cc/claude-opus-4-6
497
+ cc/claude-sonnet-4-5-20250929
498
+ cc/claude-haiku-4-5-20251001
499
+ ```
500
+
501
+ **Pro Tip:** Use Opus for complex tasks, Sonnet for speed. OmniRoute tracks quota per model!
502
+
503
+ ### OpenAI Codex (Plus/Pro)
504
+
505
+ ```bash
506
+ Dashboard β†’ Providers β†’ Connect Codex
507
+ β†’ OAuth login (port 1455)
508
+ β†’ 5-hour + weekly reset
509
+
510
+ Models:
511
+ cx/gpt-5.2-codex
512
+ cx/gpt-5.1-codex-max
513
+ ```
514
+
515
+ ### Gemini CLI (FREE 180K/month!)
516
+
517
+ ```bash
518
+ Dashboard β†’ Providers β†’ Connect Gemini CLI
519
+ β†’ Google OAuth
520
+ β†’ 180K completions/month + 1K/day
521
+
522
+ Models:
523
+ gc/gemini-3-flash-preview
524
+ gc/gemini-2.5-pro
525
+ ```
526
+
527
+ **Best Value:** Huge free tier! Use this before paid tiers.
528
+
529
+ ### GitHub Copilot
530
+
531
+ ```bash
532
+ Dashboard β†’ Providers β†’ Connect GitHub
533
+ β†’ OAuth via GitHub
534
+ β†’ Monthly reset (1st of month)
535
+
536
+ Models:
537
+ gh/gpt-5
538
+ gh/claude-4.5-sonnet
539
+ gh/gemini-3-pro
540
+ ```
541
+
542
+ </details>
543
+
544
+ <details>
545
+ <summary><b>πŸ”‘ API Key Providers</b></summary>
546
+
547
+ ### NVIDIA NIM (FREE 1000 credits!)
548
+
549
+ 1. Sign up: [build.nvidia.com](https://build.nvidia.com)
550
+ 2. Get free API key (1000 inference credits included)
551
+ 3. Dashboard β†’ Add Provider β†’ NVIDIA NIM:
552
+ - API Key: `nvapi-your-key`
553
+
554
+ **Models:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct`, and 50+ more
555
+
556
+ **Pro Tip:** OpenAI-compatible API β€” works seamlessly with OmniRoute's format translation!
557
+
558
+ ### DeepSeek
559
+
560
+ 1. Sign up: [platform.deepseek.com](https://platform.deepseek.com)
561
+ 2. Get API key
562
+ 3. Dashboard β†’ Add Provider β†’ DeepSeek
563
+
564
+ **Models:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder`
565
+
566
+ ### Groq (Free Tier Available!)
567
+
568
+ 1. Sign up: [console.groq.com](https://console.groq.com)
569
+ 2. Get API key (free tier included)
570
+ 3. Dashboard β†’ Add Provider β†’ Groq
571
+
572
+ **Models:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b`
573
+
574
+ **Pro Tip:** Ultra-fast inference β€” best for real-time coding!
575
+
576
+ ### OpenRouter (100+ Models)
577
+
578
+ 1. Sign up: [openrouter.ai](https://openrouter.ai)
579
+ 2. Get API key
580
+ 3. Dashboard β†’ Add Provider β†’ OpenRouter
581
+
582
+ **Models:** Access 100+ models from all major providers through a single API key.
583
+
584
+ </details>
585
+
586
+ <details>
587
+ <summary><b>πŸ’° Cheap Providers (Backup)</b></summary>
588
+
589
+ ### GLM-4.7 (Daily reset, $0.6/1M)
590
+
591
+ 1. Sign up: [Zhipu AI](https://open.bigmodel.cn/)
592
+ 2. Get API key from Coding Plan
593
+ 3. Dashboard β†’ Add API Key:
594
+ - Provider: `glm`
595
+ - API Key: `your-key`
596
+
597
+ **Use:** `glm/glm-4.7`
598
+
599
+ **Pro Tip:** Coding Plan offers 3Γ— quota at 1/7 cost! Reset daily 10:00 AM.
600
+
601
+ ### MiniMax M2.1 (5h reset, $0.20/1M)
602
+
603
+ 1. Sign up: [MiniMax](https://www.minimax.io/)
604
+ 2. Get API key
605
+ 3. Dashboard β†’ Add API Key
606
+
607
+ **Use:** `minimax/MiniMax-M2.1`
608
+
609
+ **Pro Tip:** Cheapest option for long context (1M tokens)!
610
+
611
+ ### Kimi K2 ($9/month flat)
612
+
613
+ 1. Subscribe: [Moonshot AI](https://platform.moonshot.ai/)
614
+ 2. Get API key
615
+ 3. Dashboard β†’ Add API Key
616
+
617
+ **Use:** `kimi/kimi-latest`
618
+
619
+ **Pro Tip:** Fixed $9/month for 10M tokens = $0.90/1M effective cost!
620
+
621
+ </details>
622
+
623
+ <details>
624
+ <summary><b>πŸ†“ FREE Providers (Emergency Backup)</b></summary>
625
+
626
+ ### iFlow (8 FREE models)
627
+
628
+ ```bash
629
+ Dashboard β†’ Connect iFlow
630
+ β†’ iFlow OAuth login
631
+ β†’ Unlimited usage
632
+
633
+ Models:
634
+ if/kimi-k2-thinking
635
+ if/qwen3-coder-plus
636
+ if/glm-4.7
637
+ if/minimax-m2
638
+ if/deepseek-r1
639
+ ```
640
+
641
+ ### Qwen (3 FREE models)
642
+
643
+ ```bash
644
+ Dashboard β†’ Connect Qwen
645
+ β†’ Device code authorization
646
+ β†’ Unlimited usage
647
+
648
+ Models:
649
+ qw/qwen3-coder-plus
650
+ qw/qwen3-coder-flash
651
+ ```
652
+
653
+ ### Kiro (Claude FREE)
654
+
655
+ ```bash
656
+ Dashboard β†’ Connect Kiro
657
+ β†’ AWS Builder ID or Google/GitHub
658
+ β†’ Unlimited usage
659
+
660
+ Models:
661
+ kr/claude-sonnet-4.5
662
+ kr/claude-haiku-4.5
663
+ ```
664
+
665
+ </details>
666
+
667
+ <details>
668
+ <summary><b>🎨 Create Combos</b></summary>
669
+
670
+ ### Example 1: Maximize Subscription β†’ Cheap Backup
671
+
672
+ ```
673
+ Dashboard β†’ Combos β†’ Create New
674
+
675
+ Name: premium-coding
676
+ Models:
677
+ 1. cc/claude-opus-4-6 (Subscription primary)
678
+ 2. glm/glm-4.7 (Cheap backup, $0.6/1M)
679
+ 3. minimax/MiniMax-M2.1 (Cheapest fallback, $0.20/1M)
680
+
681
+ Use in CLI: premium-coding
682
+ ```
683
+
684
+ ### Example 2: Free-Only (Zero Cost)
685
+
686
+ ```
687
+ Name: free-combo
688
+ Models:
689
+ 1. gc/gemini-3-flash-preview (180K free/month)
690
+ 2. if/kimi-k2-thinking (unlimited)
691
+ 3. qw/qwen3-coder-plus (unlimited)
692
+
693
+ Cost: $0 forever!
694
+ ```
695
+
696
+ </details>
697
+
698
+ <details>
699
+ <summary><b>πŸ”§ CLI Integration</b></summary>
700
+
701
+ ### Cursor IDE
702
+
703
+ ```
704
+ Settings β†’ Models β†’ Advanced:
705
+ OpenAI API Base URL: http://localhost:20128/v1
706
+ OpenAI API Key: [from OmniRoute dashboard]
707
+ Model: cc/claude-opus-4-6
708
+ ```
709
+
710
+ ### Claude Code
711
+
712
+ Use the **CLI Tools** page in the dashboard for one-click configuration, or edit `~/.claude/settings.json` manually.
713
+
714
+ ### Codex CLI
715
+
716
+ ```bash
717
+ export OPENAI_BASE_URL="http://localhost:20128"
718
+ export OPENAI_API_KEY="your-omniroute-api-key"
719
+
720
+ codex "your prompt"
721
+ ```
722
+
723
+ ### OpenClaw
724
+
725
+ **Option 1 β€” Dashboard (recommended):**
726
+
727
+ ```
728
+ Dashboard β†’ CLI Tools β†’ OpenClaw β†’ Select Model β†’ Apply
729
+ ```
730
+
731
+ **Option 2 β€” Manual:** Edit `~/.openclaw/openclaw.json`:
732
+
733
+ ```json
734
+ {
735
+ "models": {
736
+ "providers": {
737
+ "omniroute": {
738
+ "baseUrl": "http://127.0.0.1:20128/v1",
739
+ "apiKey": "sk_omniroute",
740
+ "api": "openai-completions"
741
+ }
742
+ }
743
+ }
744
+ }
745
+ ```
746
+
747
+ > **Note:** OpenClaw only works with local OmniRoute. Use `127.0.0.1` instead of `localhost` to avoid IPv6 resolution issues.
748
+
749
+ ### Cline / Continue / RooCode
750
+
751
+ ```
752
+ Settings β†’ API Configuration:
753
+ Provider: OpenAI Compatible
754
+ Base URL: http://localhost:20128/v1
755
+ API Key: [from OmniRoute dashboard]
756
+ Model: if/kimi-k2-thinking
757
+ ```
758
+
759
+ </details>
760
+
761
+ ---
762
+
763
+ ## πŸ“Š Available Models
764
+
765
+ <details>
766
+ <summary><b>View all available models</b></summary>
767
+
768
+ **Claude Code (`cc/`)** - Pro/Max:
769
+
770
+ - `cc/claude-opus-4-6`
771
+ - `cc/claude-sonnet-4-5-20250929`
772
+ - `cc/claude-haiku-4-5-20251001`
773
+
774
+ **Codex (`cx/`)** - Plus/Pro:
775
+
776
+ - `cx/gpt-5.2-codex`
777
+ - `cx/gpt-5.1-codex-max`
778
+
779
+ **Gemini CLI (`gc/`)** - FREE:
780
+
781
+ - `gc/gemini-3-flash-preview`
782
+ - `gc/gemini-2.5-pro`
783
+
784
+ **GitHub Copilot (`gh/`)**:
785
+
786
+ - `gh/gpt-5`
787
+ - `gh/claude-4.5-sonnet`
788
+
789
+ **NVIDIA NIM (`nvidia/`)** - FREE credits:
790
+
791
+ - `nvidia/llama-3.3-70b-instruct`
792
+ - `nvidia/mistral-7b-instruct`
793
+ - 50+ more models on [build.nvidia.com](https://build.nvidia.com)
794
+
795
+ **GLM (`glm/`)** - $0.6/1M:
796
+
797
+ - `glm/glm-4.7`
798
+
799
+ **MiniMax (`minimax/`)** - $0.2/1M:
800
+
801
+ - `minimax/MiniMax-M2.1`
802
+
803
+ **iFlow (`if/`)** - FREE:
804
+
805
+ - `if/kimi-k2-thinking`
806
+ - `if/qwen3-coder-plus`
807
+ - `if/deepseek-r1`
808
+ - `if/glm-4.7`
809
+ - `if/minimax-m2`
810
+
811
+ **Qwen (`qw/`)** - FREE:
812
+
813
+ - `qw/qwen3-coder-plus`
814
+ - `qw/qwen3-coder-flash`
815
+
816
+ **Kiro (`kr/`)** - FREE:
817
+
818
+ - `kr/claude-sonnet-4.5`
819
+ - `kr/claude-haiku-4.5`
820
+
821
+ **OpenRouter (`or/`)** - 100+ models:
822
+
823
+ - `or/anthropic/claude-4-sonnet`
824
+ - `or/google/gemini-2.5-pro`
825
+ - Any model from [openrouter.ai/models](https://openrouter.ai/models)
826
+
827
+ </details>
226
828
 
227
829
  ---
228
830
 
@@ -238,13 +840,6 @@ The pre-loaded "OmniRoute Golden Set" contains 10 test cases covering:
238
840
  - JSON format compliance, translation, markdown
239
841
  - Safety refusal (harmful content), counting, boolean logic
240
842
 
241
- ### How It Works
242
-
243
- 1. Click **"Run Eval"** on a suite in the dashboard
244
- 2. Each test case is sent to your proxy endpoint (`/v1/chat/completions`)
245
- 3. Real LLM responses are collected and evaluated against expected criteria
246
- 4. Results show pass/fail status, latency per case, and overall pass rate
247
-
248
843
  ### Evaluation Strategies
249
844
 
250
845
  | Strategy | Description | Example |
@@ -254,47 +849,67 @@ The pre-loaded "OmniRoute Golden Set" contains 10 test cases covering:
254
849
  | `regex` | Output must match regex pattern | `"1.*2.*3"` |
255
850
  | `custom` | Custom JS function returns true/false | `(output) => output.length > 10` |
256
851
 
257
- ### API Usage
852
+ ---
258
853
 
259
- ```bash
260
- # List all eval suites
261
- curl http://localhost:20128/api/evals
854
+ ## πŸ› Troubleshooting
262
855
 
263
- # Run a suite with pre-collected outputs
264
- curl -X POST http://localhost:20128/api/evals \
265
- -H 'Content-Type: application/json' \
266
- -d '{"suiteId": "golden-set", "outputs": {"gs-01": "Hello there!", "gs-02": "4"}}'
856
+ <details>
857
+ <summary><b>Click to expand troubleshooting guide</b></summary>
267
858
 
268
- # Get suite details
269
- curl http://localhost:20128/api/evals/golden-set
270
- ```
859
+ **"Language model did not provide messages"**
271
860
 
272
- ### Custom Suites
861
+ - Provider quota exhausted β†’ Check dashboard quota tracker
862
+ - Solution: Use combo fallback or switch to cheaper tier
273
863
 
274
- Register custom suites programmatically via `registerSuite()` in `src/lib/evals/evalRunner.ts`:
864
+ **Rate limiting**
275
865
 
276
- ```typescript
277
- registerSuite({
278
- id: "my-suite",
279
- name: "Custom Eval Suite",
280
- cases: [
281
- {
282
- id: "c-01",
283
- name: "API response",
284
- model: "gpt-4o",
285
- input: { messages: [{ role: "user", content: "Say OK" }] },
286
- expected: { strategy: "contains", value: "OK" },
287
- },
288
- ],
289
- });
290
- ```
866
+ - Subscription quota out β†’ Fallback to GLM/MiniMax
867
+ - Add combo: `cc/claude-opus-4-6 β†’ glm/glm-4.7 β†’ if/kimi-k2-thinking`
868
+
869
+ **OAuth token expired**
870
+
871
+ - Auto-refreshed by OmniRoute
872
+ - If issues persist: Dashboard β†’ Provider β†’ Reconnect
873
+
874
+ **High costs**
875
+
876
+ - Check usage stats in Dashboard β†’ Costs
877
+ - Switch primary model to GLM/MiniMax
878
+ - Use free tier (Gemini CLI, iFlow) for non-critical tasks
879
+
880
+ **Dashboard opens on wrong port**
881
+
882
+ - Set `PORT=20128` and `NEXT_PUBLIC_BASE_URL=http://localhost:20128`
883
+
884
+ **Cloud sync errors**
885
+
886
+ - Verify `BASE_URL` points to your running instance
887
+ - Verify `CLOUD_URL` points to your expected cloud endpoint
888
+ - Keep `NEXT_PUBLIC_*` values aligned with server-side values
889
+
890
+ **First login not working**
891
+
892
+ - Check `INITIAL_PASSWORD` in `.env`
893
+ - If unset, fallback password is `123456`
894
+
895
+ **No request logs**
896
+
897
+ - Set `ENABLE_REQUEST_LOGS=true` in `.env`
898
+
899
+ **Connection test shows "Invalid" for OpenAI-compatible providers**
900
+
901
+ - Many providers don't expose a `/models` endpoint
902
+ - OmniRoute v1.0.0+ includes fallback validation via chat completions
903
+ - Ensure base URL includes `/v1` suffix
904
+
905
+ </details>
291
906
 
292
907
  ---
293
908
 
294
909
  ## πŸ› οΈ Tech Stack
295
910
 
296
911
  - **Runtime**: Node.js 20+
297
- - **Language**: TypeScript 5.9 β€” **100% TypeScript** across `src/` and `open-sse/` (v0.8.8)
912
+ - **Language**: TypeScript 5.9 β€” **100% TypeScript** across `src/` and `open-sse/` (v1.0.0)
298
913
  - **Framework**: Next.js 16 + React 19 + Tailwind CSS 4
299
914
  - **Database**: LowDB (JSON) + SQLite (domain state + proxy logs)
300
915
  - **Streaming**: Server-Sent Events (SSE)
@@ -310,15 +925,61 @@ registerSuite({
310
925
 
311
926
  ## πŸ“– Documentation
312
927
 
313
- | Document | Description |
314
- | ------------------------------------------ | ---------------------------------------------- |
315
- | [User Guide](docs/USER_GUIDE.md) | Providers, combos, CLI integration, deployment |
316
- | [API Reference](docs/API_REFERENCE.md) | All endpoints with examples |
317
- | [Troubleshooting](docs/TROUBLESHOOTING.md) | Common problems and solutions |
318
- | [Architecture](docs/ARCHITECTURE.md) | System architecture and internals |
319
- | [Contributing](CONTRIBUTING.md) | Development setup and guidelines |
320
- | [OpenAPI Spec](docs/openapi.yaml) | OpenAPI 3.0 specification |
321
- | [Security Policy](SECURITY.md) | Vulnerability reporting and security practices |
928
+ | Document | Description |
929
+ | -------------------------------------------- | ---------------------------------------------- |
930
+ | [User Guide](docs/USER_GUIDE.md) | Providers, combos, CLI integration, deployment |
931
+ | [API Reference](docs/API_REFERENCE.md) | All endpoints with examples |
932
+ | [Troubleshooting](docs/TROUBLESHOOTING.md) | Common problems and solutions |
933
+ | [Architecture](docs/ARCHITECTURE.md) | System architecture and internals |
934
+ | [Contributing](CONTRIBUTING.md) | Development setup and guidelines |
935
+ | [OpenAPI Spec](docs/openapi.yaml) | OpenAPI 3.0 specification |
936
+ | [Security Policy](SECURITY.md) | Vulnerability reporting and security practices |
937
+ | [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | Complete guide: VM + nginx + Cloudflare setup |
938
+ | [Features Gallery](docs/FEATURES.md) | Visual dashboard tour with screenshots |
939
+
940
+ ### πŸ“Έ Dashboard Preview
941
+
942
+ <details>
943
+ <summary><b>Click to see dashboard screenshots</b></summary>
944
+
945
+ | Page | Screenshot |
946
+ | -------------- | ------------------------------------------------- |
947
+ | **Providers** | ![Providers](docs/screenshots/01-providers.png) |
948
+ | **Combos** | ![Combos](docs/screenshots/02-combos.png) |
949
+ | **Analytics** | ![Analytics](docs/screenshots/03-analytics.png) |
950
+ | **Health** | ![Health](docs/screenshots/04-health.png) |
951
+ | **Translator** | ![Translator](docs/screenshots/05-translator.png) |
952
+ | **Settings** | ![Settings](docs/screenshots/06-settings.png) |
953
+ | **CLI Tools** | ![CLI Tools](docs/screenshots/07-cli-tools.png) |
954
+ | **Usage Logs** | ![Usage](docs/screenshots/08-usage.png) |
955
+ | **Endpoint** | ![Endpoint](docs/screenshots/09-endpoint.png) |
956
+
957
+ </details>
958
+
959
+ ---
960
+
961
+ ## πŸ—ΊοΈ Roadmap
962
+
963
+ OmniRoute has **210+ features planned** across multiple development phases. Here are the key areas:
964
+
965
+ | Category | Planned Features | Highlights |
966
+ | ----------------------------- | ---------------- | -------------------------------------------------------------------------------------- |
967
+ | 🧠 **Routing & Intelligence** | 25+ | Lowest-latency routing, tag-based routing, quota preflight, P2C account selection |
968
+ | πŸ”’ **Security & Compliance** | 20+ | SSRF hardening, credential cloaking, rate-limit per endpoint, management key scoping |
969
+ | πŸ“Š **Observability** | 15+ | OpenTelemetry integration, real-time quota monitoring, cost tracking per model |
970
+ | πŸ”„ **Provider Integrations** | 20+ | Dynamic model registry, provider cooldowns, multi-account Codex, Copilot quota parsing |
971
+ | ⚑ **Performance** | 15+ | Dual cache layer, prompt cache, response cache, streaming keepalive, batch API |
972
+ | 🌐 **Ecosystem** | 10+ | WebSocket API, config hot-reload, distributed config store, commercial mode |
973
+
974
+ ### πŸ”œ Coming Soon
975
+
976
+ - πŸ”— **OpenCode Integration** β€” Native provider support for the OpenCode AI coding IDE
977
+ - πŸ”— **TRAE Integration** β€” Full support for the TRAE AI development framework
978
+ - πŸ“¦ **Batch API** β€” Asynchronous batch processing for bulk requests
979
+ - 🎯 **Tag-Based Routing** β€” Route requests based on custom tags and metadata
980
+ - πŸ’° **Lowest-Cost Strategy** β€” Automatically select the cheapest available provider
981
+
982
+ > πŸ“ Full feature specifications available in [`docs/new-features/`](docs/new-features/) (217 detailed specs)
322
983
 
323
984
  ---
324
985
 
@@ -349,14 +1010,28 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.
349
1010
 
350
1011
  ```bash
351
1012
  # Create a release β€” npm publish happens automatically
352
- gh release create v0.8.8 --title "v0.8.8" --generate-notes
1013
+ gh release create v1.0.0 --title "v1.0.0" --generate-notes
353
1014
  ```
354
1015
 
355
1016
  ---
356
1017
 
1018
+ ## πŸ“Š Star History
1019
+
1020
+ <a href="https://star-history.com/#diegosouzapw/OmniRoute&Date">
1021
+ <picture>
1022
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=diegosouzapw/OmniRoute&type=Date&theme=dark" />
1023
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=diegosouzapw/OmniRoute&type=Date" />
1024
+ <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=diegosouzapw/OmniRoute&type=Date" />
1025
+ </picture>
1026
+ </a>
1027
+
1028
+ ---
1029
+
357
1030
  ## πŸ™ Acknowledgments
358
1031
 
359
- Special thanks to **CLIProxyAPI** - the original Go implementation that inspired this JavaScript port.
1032
+ Special thanks to **[9router](https://github.com/decolua/9router)** by **[decolua](https://github.com/decolua)** β€” the original project that inspired this fork. OmniRoute builds upon that incredible foundation with additional features, multi-modal APIs, and a full TypeScript rewrite.
1033
+
1034
+ Special thanks to **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** β€” the original Go implementation that inspired this JavaScript port.
360
1035
 
361
1036
  ---
362
1037