omniroute 0.1.0 → 0.2.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 (664) hide show
  1. package/README.md +35 -3
  2. package/app/.next/BUILD_ID +1 -1
  3. package/app/.next/app-path-routes-manifest.json +26 -20
  4. package/app/.next/build-manifest.json +3 -3
  5. package/app/.next/prerender-manifest.json +15 -15
  6. package/app/.next/required-server-files.json +3 -3
  7. package/app/.next/routes-manifest.json +36 -0
  8. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  9. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  10. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  11. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  12. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  13. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  14. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
  15. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  16. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  17. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page.js +1 -1
  18. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page.js.nft.json +1 -1
  19. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
  20. package/app/.next/server/app/(dashboard)/dashboard/page.js +1 -1
  21. package/app/.next/server/app/(dashboard)/dashboard/page.js.nft.json +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.js +1 -1
  24. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  25. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  26. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +1 -1
  27. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  28. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  29. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  30. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  31. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  32. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  33. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  34. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  35. package/app/.next/server/app/(dashboard)/dashboard/settings/page.js +2 -2
  36. package/app/.next/server/app/(dashboard)/dashboard/settings/page.js.nft.json +1 -1
  37. package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
  38. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page.js +2 -0
  39. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page.js.nft.json +1 -0
  40. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -0
  41. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js +1 -1
  42. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  43. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  44. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  45. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  46. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  47. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  48. package/app/.next/server/app/_global-error.html +2 -2
  49. package/app/.next/server/app/_global-error.rsc +1 -1
  50. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  51. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  52. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  53. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  54. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  55. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  56. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  57. package/app/.next/server/app/_not-found.html +1 -1
  58. package/app/.next/server/app/_not-found.rsc +3 -3
  59. package/app/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  60. package/app/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  61. package/app/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  62. package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  63. package/app/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  64. package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  65. package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  66. package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  67. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  68. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
  69. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  70. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
  71. package/app/.next/server/app/api/cli-tools/backups/route.js +1 -1
  72. package/app/.next/server/app/api/cli-tools/backups/route_client-reference-manifest.js +1 -1
  73. package/app/.next/server/app/api/cli-tools/claude-settings/route.js +2 -2
  74. package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
  75. package/app/.next/server/app/api/cli-tools/cline-settings/route.js +2 -2
  76. package/app/.next/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
  77. package/app/.next/server/app/api/cli-tools/codex-profiles/route.js +2 -2
  78. package/app/.next/server/app/api/cli-tools/codex-profiles/route_client-reference-manifest.js +1 -1
  79. package/app/.next/server/app/api/cli-tools/codex-settings/route.js +1 -1
  80. package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
  81. package/app/.next/server/app/api/cli-tools/droid-settings/route.js +2 -2
  82. package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
  83. package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route_client-reference-manifest.js +1 -1
  84. package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  85. package/app/.next/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
  86. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +1 -1
  87. package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
  88. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route.js +2 -2
  89. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route_client-reference-manifest.js +1 -1
  90. package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
  91. package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
  92. package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
  93. package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
  94. package/app/.next/server/app/api/combos/[id]/route.js +1 -1
  95. package/app/.next/server/app/api/combos/[id]/route.js.nft.json +1 -1
  96. package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  97. package/app/.next/server/app/api/combos/metrics/route_client-reference-manifest.js +1 -1
  98. package/app/.next/server/app/api/combos/route.js +1 -1
  99. package/app/.next/server/app/api/combos/route.js.nft.json +1 -1
  100. package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
  101. package/app/.next/server/app/api/combos/test/route_client-reference-manifest.js +1 -1
  102. package/app/.next/server/app/api/db-backups/route_client-reference-manifest.js +1 -1
  103. package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  104. package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  105. package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
  106. package/app/.next/server/app/api/models/alias/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/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  111. package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  112. package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  113. package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
  114. package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
  115. package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
  116. package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
  117. package/app/.next/server/app/api/pricing/defaults/route_client-reference-manifest.js +1 -1
  118. package/app/.next/server/app/api/pricing/models/route.js +156 -0
  119. package/app/.next/server/app/api/pricing/models/route.js.nft.json +1 -0
  120. package/app/.next/server/app/api/pricing/models/route_client-reference-manifest.js +1 -0
  121. package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  122. package/app/.next/server/app/api/provider-models/route_client-reference-manifest.js +1 -1
  123. package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  124. package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  125. package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  126. package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  127. package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  128. package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  129. package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  130. package/app/.next/server/app/api/providers/route.js +1 -1
  131. package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
  132. package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
  133. package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  134. package/app/.next/server/app/api/rate-limit/route.js +1 -1
  135. package/app/.next/server/app/api/rate-limit/route_client-reference-manifest.js +1 -1
  136. package/app/.next/server/app/api/rate-limits/route.js +1 -0
  137. package/app/.next/server/app/api/rate-limits/route.js.nft.json +1 -0
  138. package/app/.next/server/app/api/rate-limits/route_client-reference-manifest.js +1 -0
  139. package/app/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  140. package/app/.next/server/app/api/sessions/route.js +1 -0
  141. package/app/.next/server/app/api/sessions/route.js.nft.json +1 -0
  142. package/app/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -0
  143. package/app/.next/server/app/api/settings/combo-defaults/route_client-reference-manifest.js +1 -1
  144. package/app/.next/server/app/api/settings/ip-filter/route.js +1 -0
  145. package/app/.next/server/app/api/settings/ip-filter/route.js.nft.json +1 -0
  146. package/app/.next/server/app/api/settings/ip-filter/route_client-reference-manifest.js +1 -0
  147. package/app/.next/server/app/api/settings/proxy/route_client-reference-manifest.js +1 -1
  148. package/app/.next/server/app/api/settings/proxy/test/route_client-reference-manifest.js +1 -1
  149. package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  150. package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  151. package/app/.next/server/app/api/settings/system-prompt/route.js +156 -0
  152. package/app/.next/server/app/api/settings/system-prompt/route.js.nft.json +1 -0
  153. package/app/.next/server/app/api/settings/system-prompt/route_client-reference-manifest.js +1 -0
  154. package/app/.next/server/app/api/settings/thinking-budget/route.js +156 -0
  155. package/app/.next/server/app/api/settings/thinking-budget/route.js.nft.json +1 -0
  156. package/app/.next/server/app/api/settings/thinking-budget/route_client-reference-manifest.js +1 -0
  157. package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  158. package/app/.next/server/app/api/storage/health/route_client-reference-manifest.js +1 -1
  159. package/app/.next/server/app/api/sync/cloud/route_client-reference-manifest.js +1 -1
  160. package/app/.next/server/app/api/sync/initialize/route_client-reference-manifest.js +1 -1
  161. package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
  162. package/app/.next/server/app/api/translator/detect/route.js +1 -1
  163. package/app/.next/server/app/api/translator/detect/route_client-reference-manifest.js +1 -1
  164. package/app/.next/server/app/api/translator/history/route_client-reference-manifest.js +1 -1
  165. package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  166. package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  167. package/app/.next/server/app/api/translator/send/route.js +1 -1
  168. package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  169. package/app/.next/server/app/api/translator/translate/route.js +1 -1
  170. package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  171. package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  172. package/app/.next/server/app/api/usage/analytics/route_client-reference-manifest.js +1 -1
  173. package/app/.next/server/app/api/usage/call-logs/[id]/route_client-reference-manifest.js +1 -1
  174. package/app/.next/server/app/api/usage/call-logs/route_client-reference-manifest.js +1 -1
  175. package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  176. package/app/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
  177. package/app/.next/server/app/api/usage/proxy-logs/route_client-reference-manifest.js +1 -1
  178. package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  179. package/app/.next/server/app/api/v1/api/chat/route.js +1 -1
  180. package/app/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  181. package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  182. package/app/.next/server/app/api/v1/audio/speech/route.js +1 -1
  183. package/app/.next/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  184. package/app/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
  185. package/app/.next/server/app/api/v1/audio/transcriptions/route.js +1 -1
  186. package/app/.next/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  187. package/app/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
  188. package/app/.next/server/app/api/v1/chat/completions/route.js +1 -1
  189. package/app/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  190. package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  191. package/app/.next/server/app/api/v1/embeddings/route.js +1 -1
  192. package/app/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  193. package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
  194. package/app/.next/server/app/api/v1/images/generations/route.js +1 -1
  195. package/app/.next/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  196. package/app/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
  197. package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  198. package/app/.next/server/app/api/v1/messages/route.js +1 -1
  199. package/app/.next/server/app/api/v1/messages/route.js.nft.json +1 -1
  200. package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  201. package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  202. package/app/.next/server/app/api/v1/moderations/route.js +1 -1
  203. package/app/.next/server/app/api/v1/moderations/route.js.nft.json +1 -1
  204. package/app/.next/server/app/api/v1/moderations/route_client-reference-manifest.js +1 -1
  205. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route.js +1 -1
  206. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route.js.nft.json +1 -1
  207. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route_client-reference-manifest.js +1 -1
  208. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route.js +1 -1
  209. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route.js.nft.json +1 -1
  210. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route_client-reference-manifest.js +1 -1
  211. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route.js +1 -1
  212. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route.js.nft.json +1 -1
  213. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route_client-reference-manifest.js +1 -1
  214. package/app/.next/server/app/api/v1/rerank/route.js +1 -1
  215. package/app/.next/server/app/api/v1/rerank/route.js.nft.json +1 -1
  216. package/app/.next/server/app/api/v1/rerank/route_client-reference-manifest.js +1 -1
  217. package/app/.next/server/app/api/v1/responses/route.js +1 -1
  218. package/app/.next/server/app/api/v1/responses/route.js.nft.json +1 -1
  219. package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  220. package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
  221. package/app/.next/server/app/api/v1beta/models/[...path]/route.js +1 -1
  222. package/app/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  223. package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  224. package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  225. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  226. package/app/.next/server/app/callback.html +1 -1
  227. package/app/.next/server/app/callback.rsc +3 -3
  228. package/app/.next/server/app/callback.segments/_full.segment.rsc +3 -3
  229. package/app/.next/server/app/callback.segments/_head.segment.rsc +1 -1
  230. package/app/.next/server/app/callback.segments/_index.segment.rsc +3 -3
  231. package/app/.next/server/app/callback.segments/_tree.segment.rsc +2 -2
  232. package/app/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  233. package/app/.next/server/app/callback.segments/callback.segment.rsc +1 -1
  234. package/app/.next/server/app/dashboard/cli-tools.html +1 -1
  235. package/app/.next/server/app/dashboard/cli-tools.rsc +5 -5
  236. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  237. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  238. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  239. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  240. package/app/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +5 -5
  241. package/app/.next/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  242. package/app/.next/server/app/dashboard/cli-tools.segments/_index.segment.rsc +3 -3
  243. package/app/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  244. package/app/.next/server/app/dashboard/combos.html +1 -1
  245. package/app/.next/server/app/dashboard/combos.rsc +5 -5
  246. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  247. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  248. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  249. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  250. package/app/.next/server/app/dashboard/combos.segments/_full.segment.rsc +5 -5
  251. package/app/.next/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  252. package/app/.next/server/app/dashboard/combos.segments/_index.segment.rsc +3 -3
  253. package/app/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  254. package/app/.next/server/app/dashboard/endpoint.html +1 -1
  255. package/app/.next/server/app/dashboard/endpoint.rsc +5 -5
  256. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  257. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  258. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  259. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  260. package/app/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +5 -5
  261. package/app/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  262. package/app/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +3 -3
  263. package/app/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  264. package/app/.next/server/app/dashboard/onboarding.html +1 -1
  265. package/app/.next/server/app/dashboard/onboarding.rsc +4 -4
  266. package/app/.next/server/app/dashboard/onboarding.segments/!KGRhc2hib2FyZCk/dashboard/onboarding/__PAGE__.segment.rsc +1 -1
  267. package/app/.next/server/app/dashboard/onboarding.segments/!KGRhc2hib2FyZCk/dashboard/onboarding.segment.rsc +1 -1
  268. package/app/.next/server/app/dashboard/onboarding.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  269. package/app/.next/server/app/dashboard/onboarding.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  270. package/app/.next/server/app/dashboard/onboarding.segments/_full.segment.rsc +4 -4
  271. package/app/.next/server/app/dashboard/onboarding.segments/_head.segment.rsc +1 -1
  272. package/app/.next/server/app/dashboard/onboarding.segments/_index.segment.rsc +3 -3
  273. package/app/.next/server/app/dashboard/onboarding.segments/_tree.segment.rsc +2 -2
  274. package/app/.next/server/app/dashboard/profile.html +1 -1
  275. package/app/.next/server/app/dashboard/profile.rsc +4 -4
  276. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +1 -1
  277. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  278. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  279. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  280. package/app/.next/server/app/dashboard/profile.segments/_full.segment.rsc +4 -4
  281. package/app/.next/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  282. package/app/.next/server/app/dashboard/profile.segments/_index.segment.rsc +3 -3
  283. package/app/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  284. package/app/.next/server/app/dashboard/providers/new.html +1 -1
  285. package/app/.next/server/app/dashboard/providers/new.rsc +5 -5
  286. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  287. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  288. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  289. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  290. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  291. package/app/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +5 -5
  292. package/app/.next/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  293. package/app/.next/server/app/dashboard/providers/new.segments/_index.segment.rsc +3 -3
  294. package/app/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  295. package/app/.next/server/app/dashboard/providers.html +1 -1
  296. package/app/.next/server/app/dashboard/providers.rsc +5 -5
  297. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  298. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  299. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  300. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  301. package/app/.next/server/app/dashboard/providers.segments/_full.segment.rsc +5 -5
  302. package/app/.next/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  303. package/app/.next/server/app/dashboard/providers.segments/_index.segment.rsc +3 -3
  304. package/app/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  305. package/app/.next/server/app/dashboard/settings/pricing.html +1 -1
  306. package/app/.next/server/app/dashboard/settings/pricing.meta +6 -5
  307. package/app/.next/server/app/dashboard/settings/pricing.rsc +17 -16
  308. package/app/.next/server/app/dashboard/settings/pricing.segments/{dashboard → !KGRhc2hib2FyZCk/dashboard}/settings/pricing/__PAGE__.segment.rsc +2 -2
  309. package/app/.next/server/app/dashboard/settings/pricing.segments/{dashboard → !KGRhc2hib2FyZCk/dashboard}/settings/pricing.segment.rsc +1 -1
  310. package/app/.next/server/app/dashboard/settings/pricing.segments/{dashboard → !KGRhc2hib2FyZCk/dashboard}/settings.segment.rsc +1 -1
  311. package/app/.next/server/app/dashboard/settings/pricing.segments/{dashboard.segment.rsc → !KGRhc2hib2FyZCk/dashboard.segment.rsc} +1 -1
  312. package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -0
  313. package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +17 -16
  314. package/app/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  315. package/app/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +3 -3
  316. package/app/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  317. package/app/.next/server/app/dashboard/settings.html +1 -1
  318. package/app/.next/server/app/dashboard/settings.rsc +5 -5
  319. package/app/.next/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk/dashboard/settings/__PAGE__.segment.rsc +2 -2
  320. package/app/.next/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk/dashboard/settings.segment.rsc +1 -1
  321. package/app/.next/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  322. package/app/.next/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  323. package/app/.next/server/app/dashboard/settings.segments/_full.segment.rsc +5 -5
  324. package/app/.next/server/app/dashboard/settings.segments/_head.segment.rsc +1 -1
  325. package/app/.next/server/app/dashboard/settings.segments/_index.segment.rsc +3 -3
  326. package/app/.next/server/app/dashboard/settings.segments/_tree.segment.rsc +2 -2
  327. package/app/.next/server/app/dashboard/translator.html +2 -2
  328. package/app/.next/server/app/dashboard/translator.rsc +5 -5
  329. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  330. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  331. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  332. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  333. package/app/.next/server/app/dashboard/translator.segments/_full.segment.rsc +5 -5
  334. package/app/.next/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  335. package/app/.next/server/app/dashboard/translator.segments/_index.segment.rsc +3 -3
  336. package/app/.next/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  337. package/app/.next/server/app/dashboard/usage.html +1 -1
  338. package/app/.next/server/app/dashboard/usage.rsc +5 -5
  339. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  340. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  341. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  342. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  343. package/app/.next/server/app/dashboard/usage.segments/_full.segment.rsc +5 -5
  344. package/app/.next/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  345. package/app/.next/server/app/dashboard/usage.segments/_index.segment.rsc +3 -3
  346. package/app/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  347. package/app/.next/server/app/docs/page.js +1 -1
  348. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  349. package/app/.next/server/app/docs.html +1 -1
  350. package/app/.next/server/app/docs.rsc +3 -3
  351. package/app/.next/server/app/docs.segments/_full.segment.rsc +3 -3
  352. package/app/.next/server/app/docs.segments/_head.segment.rsc +1 -1
  353. package/app/.next/server/app/docs.segments/_index.segment.rsc +3 -3
  354. package/app/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
  355. package/app/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +1 -1
  356. package/app/.next/server/app/docs.segments/docs.segment.rsc +1 -1
  357. package/app/.next/server/app/index.html +1 -1
  358. package/app/.next/server/app/index.rsc +3 -3
  359. package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  360. package/app/.next/server/app/index.segments/_full.segment.rsc +3 -3
  361. package/app/.next/server/app/index.segments/_head.segment.rsc +1 -1
  362. package/app/.next/server/app/index.segments/_index.segment.rsc +3 -3
  363. package/app/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  364. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  365. package/app/.next/server/app/landing.html +1 -1
  366. package/app/.next/server/app/landing.rsc +3 -3
  367. package/app/.next/server/app/landing.segments/_full.segment.rsc +3 -3
  368. package/app/.next/server/app/landing.segments/_head.segment.rsc +1 -1
  369. package/app/.next/server/app/landing.segments/_index.segment.rsc +3 -3
  370. package/app/.next/server/app/landing.segments/_tree.segment.rsc +2 -2
  371. package/app/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  372. package/app/.next/server/app/landing.segments/landing.segment.rsc +1 -1
  373. package/app/.next/server/app/login/page.js +1 -1
  374. package/app/.next/server/app/login/page.js.nft.json +1 -1
  375. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  376. package/app/.next/server/app/login.html +1 -1
  377. package/app/.next/server/app/login.rsc +4 -4
  378. package/app/.next/server/app/login.segments/_full.segment.rsc +4 -4
  379. package/app/.next/server/app/login.segments/_head.segment.rsc +1 -1
  380. package/app/.next/server/app/login.segments/_index.segment.rsc +3 -3
  381. package/app/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  382. package/app/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  383. package/app/.next/server/app/login.segments/login.segment.rsc +1 -1
  384. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  385. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  386. package/app/.next/server/app/privacy.html +1 -1
  387. package/app/.next/server/app/privacy.rsc +3 -3
  388. package/app/.next/server/app/privacy.segments/_full.segment.rsc +3 -3
  389. package/app/.next/server/app/privacy.segments/_head.segment.rsc +1 -1
  390. package/app/.next/server/app/privacy.segments/_index.segment.rsc +3 -3
  391. package/app/.next/server/app/privacy.segments/_tree.segment.rsc +2 -2
  392. package/app/.next/server/app/privacy.segments/privacy/__PAGE__.segment.rsc +1 -1
  393. package/app/.next/server/app/privacy.segments/privacy.segment.rsc +1 -1
  394. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  395. package/app/.next/server/app/terms.html +1 -1
  396. package/app/.next/server/app/terms.rsc +3 -3
  397. package/app/.next/server/app/terms.segments/_full.segment.rsc +3 -3
  398. package/app/.next/server/app/terms.segments/_head.segment.rsc +1 -1
  399. package/app/.next/server/app/terms.segments/_index.segment.rsc +3 -3
  400. package/app/.next/server/app/terms.segments/_tree.segment.rsc +2 -2
  401. package/app/.next/server/app/terms.segments/terms/__PAGE__.segment.rsc +1 -1
  402. package/app/.next/server/app/terms.segments/terms.segment.rsc +1 -1
  403. package/app/.next/server/app-paths-manifest.json +26 -20
  404. package/app/.next/server/chunks/1483.js +156 -0
  405. package/app/.next/server/chunks/2399.js +1 -0
  406. package/app/.next/server/chunks/3542.js +2 -2
  407. package/app/.next/server/chunks/4755.js +1 -1
  408. package/app/.next/server/chunks/5640.js +1 -1
  409. package/app/.next/server/chunks/6194.js +1 -0
  410. package/app/.next/server/chunks/7615.js +1 -1
  411. package/app/.next/server/chunks/8108.js +1 -1
  412. package/app/.next/server/chunks/867.js +1 -0
  413. package/app/.next/server/chunks/9188.js +1 -1
  414. package/app/.next/server/middleware-build-manifest.js +1 -1
  415. package/app/.next/server/pages/404.html +1 -1
  416. package/app/.next/server/pages/500.html +2 -2
  417. package/app/.next/server/server-reference-manifest.js +1 -1
  418. package/app/.next/server/server-reference-manifest.json +1 -1
  419. package/app/.next/static/XnNWFvV2IXZ4xuX0F1Skg/_buildManifest.js +1 -0
  420. package/app/.next/static/chunks/1525-8aaae9ffdaa67144.js +7 -0
  421. package/app/.next/static/chunks/{7896-81ec5010e89beaf8.js → 7896-4e519429f67f381e.js} +1 -1
  422. package/app/.next/static/chunks/8013-04b90e92e614b5d9.js +1 -0
  423. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-cef5a81883757c60.js → page-148b0ad18f6bec86.js} +1 -1
  424. package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/{page-82b1b6f14eca9957.js → page-49caa7328acff82d.js} +1 -1
  425. package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-ab8b870377087bc7.js +1 -0
  426. package/app/.next/static/chunks/app/(dashboard)/dashboard/page-bc5764734a448526.js +1 -0
  427. package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-c452284fb77ecee0.js +1 -0
  428. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-b731afd377df1fa6.js → page-fb1fa9ae8a3af8c8.js} +1 -1
  429. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/new/{page-3c6d0b7fade7dd73.js → page-4bd8ea64f2e8008b.js} +1 -1
  430. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/{page-e5b8862ba1197935.js → page-4140db5a52fc7323.js} +1 -1
  431. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/page-70619a1bafdc9c4c.js +1 -0
  432. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/pricing/page-a22d14af518d5b43.js +1 -0
  433. package/app/.next/static/chunks/app/(dashboard)/dashboard/translator/{page-b018be5904c4909c.js → page-c891465a1a2938d2.js} +1 -1
  434. package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-9ee5997edb778414.js +1 -0
  435. package/app/.next/static/chunks/app/(dashboard)/{layout-c26bba15e099e382.js → layout-0ee92d902ee7a39c.js} +1 -1
  436. package/app/.next/static/chunks/app/_global-error/page-c452284fb77ecee0.js +1 -0
  437. package/app/.next/static/chunks/app/api/auth/login/route-c452284fb77ecee0.js +1 -0
  438. package/app/.next/static/chunks/app/api/auth/logout/route-c452284fb77ecee0.js +1 -0
  439. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-c452284fb77ecee0.js +1 -0
  440. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-c452284fb77ecee0.js +1 -0
  441. package/app/.next/static/chunks/app/api/cli-tools/backups/route-c452284fb77ecee0.js +1 -0
  442. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-c452284fb77ecee0.js +1 -0
  443. package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-c452284fb77ecee0.js +1 -0
  444. package/app/.next/static/chunks/app/api/cli-tools/codex-profiles/route-c452284fb77ecee0.js +1 -0
  445. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-c452284fb77ecee0.js +1 -0
  446. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-c452284fb77ecee0.js +1 -0
  447. package/app/.next/static/chunks/app/api/cli-tools/guide-settings/[toolId]/route-c452284fb77ecee0.js +1 -0
  448. package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-c452284fb77ecee0.js +1 -0
  449. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-c452284fb77ecee0.js +1 -0
  450. package/app/.next/static/chunks/app/api/cli-tools/runtime/[toolId]/route-c452284fb77ecee0.js +1 -0
  451. package/app/.next/static/chunks/app/api/cloud/auth/route-c452284fb77ecee0.js +1 -0
  452. package/app/.next/static/chunks/app/api/cloud/credentials/update/route-c452284fb77ecee0.js +1 -0
  453. package/app/.next/static/chunks/app/api/cloud/model/resolve/route-c452284fb77ecee0.js +1 -0
  454. package/app/.next/static/chunks/app/api/cloud/models/alias/route-c452284fb77ecee0.js +1 -0
  455. package/app/.next/static/chunks/app/api/combos/[id]/route-c452284fb77ecee0.js +1 -0
  456. package/app/.next/static/chunks/app/api/combos/metrics/route-c452284fb77ecee0.js +1 -0
  457. package/app/.next/static/chunks/app/api/combos/route-c452284fb77ecee0.js +1 -0
  458. package/app/.next/static/chunks/app/api/combos/test/route-c452284fb77ecee0.js +1 -0
  459. package/app/.next/static/chunks/app/api/db-backups/route-c452284fb77ecee0.js +1 -0
  460. package/app/.next/static/chunks/app/api/init/route-c452284fb77ecee0.js +1 -0
  461. package/app/.next/static/chunks/app/api/keys/[id]/route-c452284fb77ecee0.js +1 -0
  462. package/app/.next/static/chunks/app/api/keys/route-c452284fb77ecee0.js +1 -0
  463. package/app/.next/static/chunks/app/api/models/alias/route-c452284fb77ecee0.js +1 -0
  464. package/app/.next/static/chunks/app/api/models/catalog/route-c452284fb77ecee0.js +1 -0
  465. package/app/.next/static/chunks/app/api/models/route-c452284fb77ecee0.js +1 -0
  466. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-c452284fb77ecee0.js +1 -0
  467. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-c452284fb77ecee0.js +1 -0
  468. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-c452284fb77ecee0.js +1 -0
  469. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-c452284fb77ecee0.js +1 -0
  470. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-c452284fb77ecee0.js +1 -0
  471. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-c452284fb77ecee0.js +1 -0
  472. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-c452284fb77ecee0.js +1 -0
  473. package/app/.next/static/chunks/app/api/pricing/defaults/route-c452284fb77ecee0.js +1 -0
  474. package/app/.next/static/chunks/app/api/pricing/models/route-c452284fb77ecee0.js +1 -0
  475. package/app/.next/static/chunks/app/api/pricing/route-c452284fb77ecee0.js +1 -0
  476. package/app/.next/static/chunks/app/api/provider-models/route-c452284fb77ecee0.js +1 -0
  477. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-c452284fb77ecee0.js +1 -0
  478. package/app/.next/static/chunks/app/api/provider-nodes/route-c452284fb77ecee0.js +1 -0
  479. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-c452284fb77ecee0.js +1 -0
  480. package/app/.next/static/chunks/app/api/providers/[id]/models/route-c452284fb77ecee0.js +1 -0
  481. package/app/.next/static/chunks/app/api/providers/[id]/route-c452284fb77ecee0.js +1 -0
  482. package/app/.next/static/chunks/app/api/providers/[id]/test/route-c452284fb77ecee0.js +1 -0
  483. package/app/.next/static/chunks/app/api/providers/client/route-c452284fb77ecee0.js +1 -0
  484. package/app/.next/static/chunks/app/api/providers/route-c452284fb77ecee0.js +1 -0
  485. package/app/.next/static/chunks/app/api/providers/test-batch/route-c452284fb77ecee0.js +1 -0
  486. package/app/.next/static/chunks/app/api/providers/validate/route-c452284fb77ecee0.js +1 -0
  487. package/app/.next/static/chunks/app/api/rate-limit/route-c452284fb77ecee0.js +1 -0
  488. package/app/.next/static/chunks/app/api/rate-limits/route-c452284fb77ecee0.js +1 -0
  489. package/app/.next/static/chunks/app/api/restart/route-c452284fb77ecee0.js +1 -0
  490. package/app/.next/static/chunks/app/api/sessions/route-c452284fb77ecee0.js +1 -0
  491. package/app/.next/static/chunks/app/api/settings/combo-defaults/route-c452284fb77ecee0.js +1 -0
  492. package/app/.next/static/chunks/app/api/settings/ip-filter/route-c452284fb77ecee0.js +1 -0
  493. package/app/.next/static/chunks/app/api/settings/proxy/route-c452284fb77ecee0.js +1 -0
  494. package/app/.next/static/chunks/app/api/settings/proxy/test/route-c452284fb77ecee0.js +1 -0
  495. package/app/.next/static/chunks/app/api/settings/require-login/route-c452284fb77ecee0.js +1 -0
  496. package/app/.next/static/chunks/app/api/settings/route-c452284fb77ecee0.js +1 -0
  497. package/app/.next/static/chunks/app/api/settings/system-prompt/route-c452284fb77ecee0.js +1 -0
  498. package/app/.next/static/chunks/app/api/settings/thinking-budget/route-c452284fb77ecee0.js +1 -0
  499. package/app/.next/static/chunks/app/api/shutdown/route-c452284fb77ecee0.js +1 -0
  500. package/app/.next/static/chunks/app/api/storage/health/route-c452284fb77ecee0.js +1 -0
  501. package/app/.next/static/chunks/app/api/sync/cloud/route-c452284fb77ecee0.js +1 -0
  502. package/app/.next/static/chunks/app/api/sync/initialize/route-c452284fb77ecee0.js +1 -0
  503. package/app/.next/static/chunks/app/api/tags/route-c452284fb77ecee0.js +1 -0
  504. package/app/.next/static/chunks/app/api/translator/detect/route-c452284fb77ecee0.js +1 -0
  505. package/app/.next/static/chunks/app/api/translator/history/route-c452284fb77ecee0.js +1 -0
  506. package/app/.next/static/chunks/app/api/translator/load/route-c452284fb77ecee0.js +1 -0
  507. package/app/.next/static/chunks/app/api/translator/save/route-c452284fb77ecee0.js +1 -0
  508. package/app/.next/static/chunks/app/api/translator/send/route-c452284fb77ecee0.js +1 -0
  509. package/app/.next/static/chunks/app/api/translator/translate/route-c452284fb77ecee0.js +1 -0
  510. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-c452284fb77ecee0.js +1 -0
  511. package/app/.next/static/chunks/app/api/usage/analytics/route-c452284fb77ecee0.js +1 -0
  512. package/app/.next/static/chunks/app/api/usage/call-logs/[id]/route-c452284fb77ecee0.js +1 -0
  513. package/app/.next/static/chunks/app/api/usage/call-logs/route-c452284fb77ecee0.js +1 -0
  514. package/app/.next/static/chunks/app/api/usage/history/route-c452284fb77ecee0.js +1 -0
  515. package/app/.next/static/chunks/app/api/usage/logs/route-c452284fb77ecee0.js +1 -0
  516. package/app/.next/static/chunks/app/api/usage/proxy-logs/route-c452284fb77ecee0.js +1 -0
  517. package/app/.next/static/chunks/app/api/usage/request-logs/route-c452284fb77ecee0.js +1 -0
  518. package/app/.next/static/chunks/app/api/v1/api/chat/route-c452284fb77ecee0.js +1 -0
  519. package/app/.next/static/chunks/app/api/v1/audio/speech/route-c452284fb77ecee0.js +1 -0
  520. package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-c452284fb77ecee0.js +1 -0
  521. package/app/.next/static/chunks/app/api/v1/chat/completions/route-c452284fb77ecee0.js +1 -0
  522. package/app/.next/static/chunks/app/api/v1/embeddings/route-c452284fb77ecee0.js +1 -0
  523. package/app/.next/static/chunks/app/api/v1/images/generations/route-c452284fb77ecee0.js +1 -0
  524. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-c452284fb77ecee0.js +1 -0
  525. package/app/.next/static/chunks/app/api/v1/messages/route-c452284fb77ecee0.js +1 -0
  526. package/app/.next/static/chunks/app/api/v1/models/route-c452284fb77ecee0.js +1 -0
  527. package/app/.next/static/chunks/app/api/v1/moderations/route-c452284fb77ecee0.js +1 -0
  528. package/app/.next/static/chunks/app/api/v1/providers/[provider]/chat/completions/route-c452284fb77ecee0.js +1 -0
  529. package/app/.next/static/chunks/app/api/v1/providers/[provider]/embeddings/route-c452284fb77ecee0.js +1 -0
  530. package/app/.next/static/chunks/app/api/v1/providers/[provider]/images/generations/route-c452284fb77ecee0.js +1 -0
  531. package/app/.next/static/chunks/app/api/v1/rerank/route-c452284fb77ecee0.js +1 -0
  532. package/app/.next/static/chunks/app/api/v1/responses/route-c452284fb77ecee0.js +1 -0
  533. package/app/.next/static/chunks/app/api/v1/route-c452284fb77ecee0.js +1 -0
  534. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-c452284fb77ecee0.js +1 -0
  535. package/app/.next/static/chunks/app/api/v1beta/models/route-c452284fb77ecee0.js +1 -0
  536. package/app/.next/static/chunks/app/login/{page-6ae7a54603d39926.js → page-e99ed6a85e91ae7c.js} +1 -1
  537. package/app/.next/static/chunks/app/page-c452284fb77ecee0.js +1 -0
  538. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-c452284fb77ecee0.js +1 -0
  539. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-c452284fb77ecee0.js +1 -0
  540. package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-c452284fb77ecee0.js +1 -0
  541. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-c452284fb77ecee0.js +1 -0
  542. package/app/.next/static/chunks/webpack-a2b6b20e2db553f5.js +1 -0
  543. package/app/.next/static/css/5309860f6e486620.css +1 -0
  544. package/app/package.json +1 -1
  545. package/app/server.js +1 -1
  546. package/package.json +1 -1
  547. package/app/.next/server/app/dashboard/settings/pricing/page.js +0 -2
  548. package/app/.next/server/app/dashboard/settings/pricing/page.js.nft.json +0 -1
  549. package/app/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +0 -1
  550. package/app/.next/server/chunks/1137.js +0 -1
  551. package/app/.next/server/chunks/351.js +0 -1
  552. package/app/.next/server/chunks/8152.js +0 -1
  553. package/app/.next/server/chunks/8668.js +0 -156
  554. package/app/.next/static/chunks/1525-92e9b6d0efa5de15.js +0 -7
  555. package/app/.next/static/chunks/7765-b6a02dccdc69da55.js +0 -1
  556. package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-db18d6249d1949df.js +0 -1
  557. package/app/.next/static/chunks/app/(dashboard)/dashboard/page-03ddcbc4fc0b6c18.js +0 -1
  558. package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-529101fdcd1e3b30.js +0 -1
  559. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/page-8e8021b6e227b5a9.js +0 -1
  560. package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-bd8e6146106d32af.js +0 -1
  561. package/app/.next/static/chunks/app/_global-error/page-529101fdcd1e3b30.js +0 -1
  562. package/app/.next/static/chunks/app/api/auth/login/route-529101fdcd1e3b30.js +0 -1
  563. package/app/.next/static/chunks/app/api/auth/logout/route-529101fdcd1e3b30.js +0 -1
  564. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-529101fdcd1e3b30.js +0 -1
  565. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-529101fdcd1e3b30.js +0 -1
  566. package/app/.next/static/chunks/app/api/cli-tools/backups/route-529101fdcd1e3b30.js +0 -1
  567. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-529101fdcd1e3b30.js +0 -1
  568. package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-529101fdcd1e3b30.js +0 -1
  569. package/app/.next/static/chunks/app/api/cli-tools/codex-profiles/route-529101fdcd1e3b30.js +0 -1
  570. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-529101fdcd1e3b30.js +0 -1
  571. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-529101fdcd1e3b30.js +0 -1
  572. package/app/.next/static/chunks/app/api/cli-tools/guide-settings/[toolId]/route-529101fdcd1e3b30.js +0 -1
  573. package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-529101fdcd1e3b30.js +0 -1
  574. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-529101fdcd1e3b30.js +0 -1
  575. package/app/.next/static/chunks/app/api/cli-tools/runtime/[toolId]/route-529101fdcd1e3b30.js +0 -1
  576. package/app/.next/static/chunks/app/api/cloud/auth/route-529101fdcd1e3b30.js +0 -1
  577. package/app/.next/static/chunks/app/api/cloud/credentials/update/route-529101fdcd1e3b30.js +0 -1
  578. package/app/.next/static/chunks/app/api/cloud/model/resolve/route-529101fdcd1e3b30.js +0 -1
  579. package/app/.next/static/chunks/app/api/cloud/models/alias/route-529101fdcd1e3b30.js +0 -1
  580. package/app/.next/static/chunks/app/api/combos/[id]/route-529101fdcd1e3b30.js +0 -1
  581. package/app/.next/static/chunks/app/api/combos/metrics/route-529101fdcd1e3b30.js +0 -1
  582. package/app/.next/static/chunks/app/api/combos/route-529101fdcd1e3b30.js +0 -1
  583. package/app/.next/static/chunks/app/api/combos/test/route-529101fdcd1e3b30.js +0 -1
  584. package/app/.next/static/chunks/app/api/db-backups/route-529101fdcd1e3b30.js +0 -1
  585. package/app/.next/static/chunks/app/api/init/route-529101fdcd1e3b30.js +0 -1
  586. package/app/.next/static/chunks/app/api/keys/[id]/route-529101fdcd1e3b30.js +0 -1
  587. package/app/.next/static/chunks/app/api/keys/route-529101fdcd1e3b30.js +0 -1
  588. package/app/.next/static/chunks/app/api/models/alias/route-529101fdcd1e3b30.js +0 -1
  589. package/app/.next/static/chunks/app/api/models/catalog/route-529101fdcd1e3b30.js +0 -1
  590. package/app/.next/static/chunks/app/api/models/route-529101fdcd1e3b30.js +0 -1
  591. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-529101fdcd1e3b30.js +0 -1
  592. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-529101fdcd1e3b30.js +0 -1
  593. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-529101fdcd1e3b30.js +0 -1
  594. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-529101fdcd1e3b30.js +0 -1
  595. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-529101fdcd1e3b30.js +0 -1
  596. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-529101fdcd1e3b30.js +0 -1
  597. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-529101fdcd1e3b30.js +0 -1
  598. package/app/.next/static/chunks/app/api/pricing/defaults/route-529101fdcd1e3b30.js +0 -1
  599. package/app/.next/static/chunks/app/api/pricing/route-529101fdcd1e3b30.js +0 -1
  600. package/app/.next/static/chunks/app/api/provider-models/route-529101fdcd1e3b30.js +0 -1
  601. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-529101fdcd1e3b30.js +0 -1
  602. package/app/.next/static/chunks/app/api/provider-nodes/route-529101fdcd1e3b30.js +0 -1
  603. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-529101fdcd1e3b30.js +0 -1
  604. package/app/.next/static/chunks/app/api/providers/[id]/models/route-529101fdcd1e3b30.js +0 -1
  605. package/app/.next/static/chunks/app/api/providers/[id]/route-529101fdcd1e3b30.js +0 -1
  606. package/app/.next/static/chunks/app/api/providers/[id]/test/route-529101fdcd1e3b30.js +0 -1
  607. package/app/.next/static/chunks/app/api/providers/client/route-529101fdcd1e3b30.js +0 -1
  608. package/app/.next/static/chunks/app/api/providers/route-529101fdcd1e3b30.js +0 -1
  609. package/app/.next/static/chunks/app/api/providers/test-batch/route-529101fdcd1e3b30.js +0 -1
  610. package/app/.next/static/chunks/app/api/providers/validate/route-529101fdcd1e3b30.js +0 -1
  611. package/app/.next/static/chunks/app/api/rate-limit/route-529101fdcd1e3b30.js +0 -1
  612. package/app/.next/static/chunks/app/api/restart/route-529101fdcd1e3b30.js +0 -1
  613. package/app/.next/static/chunks/app/api/settings/combo-defaults/route-529101fdcd1e3b30.js +0 -1
  614. package/app/.next/static/chunks/app/api/settings/proxy/route-529101fdcd1e3b30.js +0 -1
  615. package/app/.next/static/chunks/app/api/settings/proxy/test/route-529101fdcd1e3b30.js +0 -1
  616. package/app/.next/static/chunks/app/api/settings/require-login/route-529101fdcd1e3b30.js +0 -1
  617. package/app/.next/static/chunks/app/api/settings/route-529101fdcd1e3b30.js +0 -1
  618. package/app/.next/static/chunks/app/api/shutdown/route-529101fdcd1e3b30.js +0 -1
  619. package/app/.next/static/chunks/app/api/storage/health/route-529101fdcd1e3b30.js +0 -1
  620. package/app/.next/static/chunks/app/api/sync/cloud/route-529101fdcd1e3b30.js +0 -1
  621. package/app/.next/static/chunks/app/api/sync/initialize/route-529101fdcd1e3b30.js +0 -1
  622. package/app/.next/static/chunks/app/api/tags/route-529101fdcd1e3b30.js +0 -1
  623. package/app/.next/static/chunks/app/api/translator/detect/route-529101fdcd1e3b30.js +0 -1
  624. package/app/.next/static/chunks/app/api/translator/history/route-529101fdcd1e3b30.js +0 -1
  625. package/app/.next/static/chunks/app/api/translator/load/route-529101fdcd1e3b30.js +0 -1
  626. package/app/.next/static/chunks/app/api/translator/save/route-529101fdcd1e3b30.js +0 -1
  627. package/app/.next/static/chunks/app/api/translator/send/route-529101fdcd1e3b30.js +0 -1
  628. package/app/.next/static/chunks/app/api/translator/translate/route-529101fdcd1e3b30.js +0 -1
  629. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-529101fdcd1e3b30.js +0 -1
  630. package/app/.next/static/chunks/app/api/usage/analytics/route-529101fdcd1e3b30.js +0 -1
  631. package/app/.next/static/chunks/app/api/usage/call-logs/[id]/route-529101fdcd1e3b30.js +0 -1
  632. package/app/.next/static/chunks/app/api/usage/call-logs/route-529101fdcd1e3b30.js +0 -1
  633. package/app/.next/static/chunks/app/api/usage/history/route-529101fdcd1e3b30.js +0 -1
  634. package/app/.next/static/chunks/app/api/usage/logs/route-529101fdcd1e3b30.js +0 -1
  635. package/app/.next/static/chunks/app/api/usage/proxy-logs/route-529101fdcd1e3b30.js +0 -1
  636. package/app/.next/static/chunks/app/api/usage/request-logs/route-529101fdcd1e3b30.js +0 -1
  637. package/app/.next/static/chunks/app/api/v1/api/chat/route-529101fdcd1e3b30.js +0 -1
  638. package/app/.next/static/chunks/app/api/v1/audio/speech/route-529101fdcd1e3b30.js +0 -1
  639. package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-529101fdcd1e3b30.js +0 -1
  640. package/app/.next/static/chunks/app/api/v1/chat/completions/route-529101fdcd1e3b30.js +0 -1
  641. package/app/.next/static/chunks/app/api/v1/embeddings/route-529101fdcd1e3b30.js +0 -1
  642. package/app/.next/static/chunks/app/api/v1/images/generations/route-529101fdcd1e3b30.js +0 -1
  643. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-529101fdcd1e3b30.js +0 -1
  644. package/app/.next/static/chunks/app/api/v1/messages/route-529101fdcd1e3b30.js +0 -1
  645. package/app/.next/static/chunks/app/api/v1/models/route-529101fdcd1e3b30.js +0 -1
  646. package/app/.next/static/chunks/app/api/v1/moderations/route-529101fdcd1e3b30.js +0 -1
  647. package/app/.next/static/chunks/app/api/v1/providers/[provider]/chat/completions/route-529101fdcd1e3b30.js +0 -1
  648. package/app/.next/static/chunks/app/api/v1/providers/[provider]/embeddings/route-529101fdcd1e3b30.js +0 -1
  649. package/app/.next/static/chunks/app/api/v1/providers/[provider]/images/generations/route-529101fdcd1e3b30.js +0 -1
  650. package/app/.next/static/chunks/app/api/v1/rerank/route-529101fdcd1e3b30.js +0 -1
  651. package/app/.next/static/chunks/app/api/v1/responses/route-529101fdcd1e3b30.js +0 -1
  652. package/app/.next/static/chunks/app/api/v1/route-529101fdcd1e3b30.js +0 -1
  653. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-529101fdcd1e3b30.js +0 -1
  654. package/app/.next/static/chunks/app/api/v1beta/models/route-529101fdcd1e3b30.js +0 -1
  655. package/app/.next/static/chunks/app/dashboard/settings/pricing/page-878ee68a0303128f.js +0 -1
  656. package/app/.next/static/chunks/app/page-529101fdcd1e3b30.js +0 -1
  657. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-529101fdcd1e3b30.js +0 -1
  658. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-529101fdcd1e3b30.js +0 -1
  659. package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-529101fdcd1e3b30.js +0 -1
  660. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-529101fdcd1e3b30.js +0 -1
  661. package/app/.next/static/chunks/webpack-f742cb5c6c3130ec.js +0 -1
  662. package/app/.next/static/css/777d65a484db49a1.css +0 -1
  663. package/app/.next/static/l-F9C6gggjrUWKnAln0Wn/_buildManifest.js +0 -1
  664. /package/app/.next/static/{l-F9C6gggjrUWKnAln0Wn → XnNWFvV2IXZ4xuX0F1Skg}/_ssgManifest.js +0 -0
@@ -1,14 +1,14 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[57896,["8500","static/chunks/8500-98e13bcce54aa7a0.js","600","static/chunks/600-84211b75b24af21c.js","7765","static/chunks/7765-b6a02dccdc69da55.js","7896","static/chunks/7896-81ec5010e89beaf8.js","1525","static/chunks/1525-92e9b6d0efa5de15.js","9305","static/chunks/app/(dashboard)/layout-c26bba15e099e382.js"],"ThemeProvider"]
2
+ 2:I[57896,["8500","static/chunks/8500-98e13bcce54aa7a0.js","600","static/chunks/600-84211b75b24af21c.js","8013","static/chunks/8013-04b90e92e614b5d9.js","7896","static/chunks/7896-4e519429f67f381e.js","1525","static/chunks/1525-8aaae9ffdaa67144.js","9305","static/chunks/app/(dashboard)/layout-0ee92d902ee7a39c.js"],"ThemeProvider"]
3
3
  3:I[57121,[],""]
4
4
  4:I[74581,[],""]
5
5
  5:I[98500,["8500","static/chunks/8500-98e13bcce54aa7a0.js","7066","static/chunks/app/terms/page-8f74097544a61b9d.js"],""]
6
6
  d:I[27123,[],""]
7
7
  :HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
8
8
  :HL["/_next/static/css/081a0afca5a9bd20.css","style"]
9
- :HL["/_next/static/css/777d65a484db49a1.css","style"]
9
+ :HL["/_next/static/css/5309860f6e486620.css","style"]
10
10
  :HL["https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","style"]
11
- 0:{"P":null,"b":"l-F9C6gggjrUWKnAln0Wn","c":["","terms"],"q":"","i":false,"f":[[["",{"children":["terms",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/081a0afca5a9bd20.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/777d65a484db49a1.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","link",null,{"rel":"preconnect","href":"https://fonts.googleapis.com"}],["$","link",null,{"rel":"preconnect","href":"https://fonts.gstatic.com","crossOrigin":"anonymous"}],["$","link",null,{"href":"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","rel":"stylesheet"}]]}],["$","body",null,{"className":"__variable_f367f3 font-sans antialiased","suppressHydrationWarning":true,"children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","main",null,{"className":"min-h-screen bg-bg text-text-main","children":["$","div",null,{"className":"max-w-3xl mx-auto px-6 py-16","children":[["$","$L5",null,{"href":"/","className":"inline-flex items-center gap-1 text-sm text-text-muted hover:text-primary transition-colors mb-8","children":[["$","span",null,{"className":"material-symbols-outlined text-[18px]","children":"arrow_back"}],"Back to home"]}],["$","h1",null,{"className":"text-3xl font-bold mb-2","children":"Terms of Service"}],["$","p",null,{"className":"text-sm text-text-muted mb-10","children":"Last updated: February 13, 2026"}],["$","div",null,{"className":"space-y-8 text-text-muted leading-relaxed","children":[["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"1. Overview"}],["$","p",null,{"children":["OmniRoute is a ",["$","strong",null,{"className":"text-text-main","children":"local-first"}]," AI API proxy router that operates entirely on your machine. It routes requests to multiple AI providers with load balancing, failover, and usage tracking."]}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"2. User Responsibilities"}],["$","ul",null,{"className":"list-disc pl-6 space-y-2","children":[["$","li",null,{"children":"You are solely responsible for managing your own API keys and credentials for third-party AI providers (OpenAI, Anthropic, Google, etc.)."}],["$","li",null,{"children":"You must comply with the terms of service of each AI provider whose API you access through OmniRoute."}],["$","li",null,{"children":"You are responsible for the security of your local OmniRoute installation, including setting a password and restricting network access."}]]}]]}],"$L6","$L7","$L8","$L9"]}],"$La"]}]}],null,"$Lb"]}],{},null,false,false]},null,false,false]},null,false,false],"$Lc",false]],"m":"$undefined","G":["$d",[]],"S":true}
11
+ 0:{"P":null,"b":"XnNWFvV2IXZ4xuX0F1Skg","c":["","terms"],"q":"","i":false,"f":[[["",{"children":["terms",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/081a0afca5a9bd20.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/5309860f6e486620.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","link",null,{"rel":"preconnect","href":"https://fonts.googleapis.com"}],["$","link",null,{"rel":"preconnect","href":"https://fonts.gstatic.com","crossOrigin":"anonymous"}],["$","link",null,{"href":"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","rel":"stylesheet"}]]}],["$","body",null,{"className":"__variable_f367f3 font-sans antialiased","suppressHydrationWarning":true,"children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","main",null,{"className":"min-h-screen bg-bg text-text-main","children":["$","div",null,{"className":"max-w-3xl mx-auto px-6 py-16","children":[["$","$L5",null,{"href":"/","className":"inline-flex items-center gap-1 text-sm text-text-muted hover:text-primary transition-colors mb-8","children":[["$","span",null,{"className":"material-symbols-outlined text-[18px]","children":"arrow_back"}],"Back to home"]}],["$","h1",null,{"className":"text-3xl font-bold mb-2","children":"Terms of Service"}],["$","p",null,{"className":"text-sm text-text-muted mb-10","children":"Last updated: February 13, 2026"}],["$","div",null,{"className":"space-y-8 text-text-muted leading-relaxed","children":[["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"1. Overview"}],["$","p",null,{"children":["OmniRoute is a ",["$","strong",null,{"className":"text-text-main","children":"local-first"}]," AI API proxy router that operates entirely on your machine. It routes requests to multiple AI providers with load balancing, failover, and usage tracking."]}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"2. User Responsibilities"}],["$","ul",null,{"className":"list-disc pl-6 space-y-2","children":[["$","li",null,{"children":"You are solely responsible for managing your own API keys and credentials for third-party AI providers (OpenAI, Anthropic, Google, etc.)."}],["$","li",null,{"children":"You must comply with the terms of service of each AI provider whose API you access through OmniRoute."}],["$","li",null,{"children":"You are responsible for the security of your local OmniRoute installation, including setting a password and restricting network access."}]]}]]}],"$L6","$L7","$L8","$L9"]}],"$La"]}]}],null,"$Lb"]}],{},null,false,false]},null,false,false]},null,false,false],"$Lc",false]],"m":"$undefined","G":["$d",[]],"S":true}
12
12
  e:I[90484,[],"OutletBoundary"]
13
13
  f:"$Sreact.suspense"
14
14
  11:I[90484,[],"ViewportBoundary"]
@@ -1,14 +1,14 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[57896,["8500","static/chunks/8500-98e13bcce54aa7a0.js","600","static/chunks/600-84211b75b24af21c.js","7765","static/chunks/7765-b6a02dccdc69da55.js","7896","static/chunks/7896-81ec5010e89beaf8.js","1525","static/chunks/1525-92e9b6d0efa5de15.js","9305","static/chunks/app/(dashboard)/layout-c26bba15e099e382.js"],"ThemeProvider"]
2
+ 2:I[57896,["8500","static/chunks/8500-98e13bcce54aa7a0.js","600","static/chunks/600-84211b75b24af21c.js","8013","static/chunks/8013-04b90e92e614b5d9.js","7896","static/chunks/7896-4e519429f67f381e.js","1525","static/chunks/1525-8aaae9ffdaa67144.js","9305","static/chunks/app/(dashboard)/layout-0ee92d902ee7a39c.js"],"ThemeProvider"]
3
3
  3:I[57121,[],""]
4
4
  4:I[74581,[],""]
5
5
  5:I[98500,["8500","static/chunks/8500-98e13bcce54aa7a0.js","7066","static/chunks/app/terms/page-8f74097544a61b9d.js"],""]
6
6
  d:I[27123,[],""]
7
7
  :HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
8
8
  :HL["/_next/static/css/081a0afca5a9bd20.css","style"]
9
- :HL["/_next/static/css/777d65a484db49a1.css","style"]
9
+ :HL["/_next/static/css/5309860f6e486620.css","style"]
10
10
  :HL["https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","style"]
11
- 0:{"P":null,"b":"l-F9C6gggjrUWKnAln0Wn","c":["","terms"],"q":"","i":false,"f":[[["",{"children":["terms",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/081a0afca5a9bd20.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/777d65a484db49a1.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","link",null,{"rel":"preconnect","href":"https://fonts.googleapis.com"}],["$","link",null,{"rel":"preconnect","href":"https://fonts.gstatic.com","crossOrigin":"anonymous"}],["$","link",null,{"href":"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","rel":"stylesheet"}]]}],["$","body",null,{"className":"__variable_f367f3 font-sans antialiased","suppressHydrationWarning":true,"children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","main",null,{"className":"min-h-screen bg-bg text-text-main","children":["$","div",null,{"className":"max-w-3xl mx-auto px-6 py-16","children":[["$","$L5",null,{"href":"/","className":"inline-flex items-center gap-1 text-sm text-text-muted hover:text-primary transition-colors mb-8","children":[["$","span",null,{"className":"material-symbols-outlined text-[18px]","children":"arrow_back"}],"Back to home"]}],["$","h1",null,{"className":"text-3xl font-bold mb-2","children":"Terms of Service"}],["$","p",null,{"className":"text-sm text-text-muted mb-10","children":"Last updated: February 13, 2026"}],["$","div",null,{"className":"space-y-8 text-text-muted leading-relaxed","children":[["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"1. Overview"}],["$","p",null,{"children":["OmniRoute is a ",["$","strong",null,{"className":"text-text-main","children":"local-first"}]," AI API proxy router that operates entirely on your machine. It routes requests to multiple AI providers with load balancing, failover, and usage tracking."]}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"2. User Responsibilities"}],["$","ul",null,{"className":"list-disc pl-6 space-y-2","children":[["$","li",null,{"children":"You are solely responsible for managing your own API keys and credentials for third-party AI providers (OpenAI, Anthropic, Google, etc.)."}],["$","li",null,{"children":"You must comply with the terms of service of each AI provider whose API you access through OmniRoute."}],["$","li",null,{"children":"You are responsible for the security of your local OmniRoute installation, including setting a password and restricting network access."}]]}]]}],"$L6","$L7","$L8","$L9"]}],"$La"]}]}],null,"$Lb"]}],{},null,false,false]},null,false,false]},null,false,false],"$Lc",false]],"m":"$undefined","G":["$d",[]],"S":true}
11
+ 0:{"P":null,"b":"XnNWFvV2IXZ4xuX0F1Skg","c":["","terms"],"q":"","i":false,"f":[[["",{"children":["terms",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/081a0afca5a9bd20.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/5309860f6e486620.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","link",null,{"rel":"preconnect","href":"https://fonts.googleapis.com"}],["$","link",null,{"rel":"preconnect","href":"https://fonts.gstatic.com","crossOrigin":"anonymous"}],["$","link",null,{"href":"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","rel":"stylesheet"}]]}],["$","body",null,{"className":"__variable_f367f3 font-sans antialiased","suppressHydrationWarning":true,"children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","main",null,{"className":"min-h-screen bg-bg text-text-main","children":["$","div",null,{"className":"max-w-3xl mx-auto px-6 py-16","children":[["$","$L5",null,{"href":"/","className":"inline-flex items-center gap-1 text-sm text-text-muted hover:text-primary transition-colors mb-8","children":[["$","span",null,{"className":"material-symbols-outlined text-[18px]","children":"arrow_back"}],"Back to home"]}],["$","h1",null,{"className":"text-3xl font-bold mb-2","children":"Terms of Service"}],["$","p",null,{"className":"text-sm text-text-muted mb-10","children":"Last updated: February 13, 2026"}],["$","div",null,{"className":"space-y-8 text-text-muted leading-relaxed","children":[["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"1. Overview"}],["$","p",null,{"children":["OmniRoute is a ",["$","strong",null,{"className":"text-text-main","children":"local-first"}]," AI API proxy router that operates entirely on your machine. It routes requests to multiple AI providers with load balancing, failover, and usage tracking."]}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"2. User Responsibilities"}],["$","ul",null,{"className":"list-disc pl-6 space-y-2","children":[["$","li",null,{"children":"You are solely responsible for managing your own API keys and credentials for third-party AI providers (OpenAI, Anthropic, Google, etc.)."}],["$","li",null,{"children":"You must comply with the terms of service of each AI provider whose API you access through OmniRoute."}],["$","li",null,{"children":"You are responsible for the security of your local OmniRoute installation, including setting a password and restricting network access."}]]}]]}],"$L6","$L7","$L8","$L9"]}],"$La"]}]}],null,"$Lb"]}],{},null,false,false]},null,false,false]},null,false,false],"$Lc",false]],"m":"$undefined","G":["$d",[]],"S":true}
12
12
  e:I[90484,[],"OutletBoundary"]
13
13
  f:"$Sreact.suspense"
14
14
  11:I[90484,[],"ViewportBoundary"]
@@ -3,4 +3,4 @@
3
3
  3:I[90484,[],"MetadataBoundary"]
4
4
  4:"$Sreact.suspense"
5
5
  5:I[86869,[],"IconMark"]
6
- 0:{"buildId":"l-F9C6gggjrUWKnAln0Wn","rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Terms of Service | OmniRoute"}],["$","meta","1",{"name":"description","content":"Terms of service for the OmniRoute AI API proxy router."}],["$","link","2",{"rel":"icon","href":"/favicon.ico?603d046c9a6fdfbb","type":"image/x-icon","sizes":"16x16"}],["$","link","3",{"rel":"icon","href":"/favicon.svg"}],["$","$L5","4",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"loading":null,"isPartial":false}
6
+ 0:{"buildId":"XnNWFvV2IXZ4xuX0F1Skg","rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Terms of Service | OmniRoute"}],["$","meta","1",{"name":"description","content":"Terms of service for the OmniRoute AI API proxy router."}],["$","link","2",{"rel":"icon","href":"/favicon.ico?603d046c9a6fdfbb","type":"image/x-icon","sizes":"16x16"}],["$","link","3",{"rel":"icon","href":"/favicon.svg"}],["$","$L5","4",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"loading":null,"isPartial":false}
@@ -1,8 +1,8 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[57896,["8500","static/chunks/8500-98e13bcce54aa7a0.js","600","static/chunks/600-84211b75b24af21c.js","7765","static/chunks/7765-b6a02dccdc69da55.js","7896","static/chunks/7896-81ec5010e89beaf8.js","1525","static/chunks/1525-92e9b6d0efa5de15.js","9305","static/chunks/app/(dashboard)/layout-c26bba15e099e382.js"],"ThemeProvider"]
2
+ 2:I[57896,["8500","static/chunks/8500-98e13bcce54aa7a0.js","600","static/chunks/600-84211b75b24af21c.js","8013","static/chunks/8013-04b90e92e614b5d9.js","7896","static/chunks/7896-4e519429f67f381e.js","1525","static/chunks/1525-8aaae9ffdaa67144.js","9305","static/chunks/app/(dashboard)/layout-0ee92d902ee7a39c.js"],"ThemeProvider"]
3
3
  3:I[57121,[],""]
4
4
  4:I[74581,[],""]
5
5
  :HL["/_next/static/css/081a0afca5a9bd20.css","style"]
6
- :HL["/_next/static/css/777d65a484db49a1.css","style"]
6
+ :HL["/_next/static/css/5309860f6e486620.css","style"]
7
7
  :HL["https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","style"]
8
- 0:{"buildId":"l-F9C6gggjrUWKnAln0Wn","rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/081a0afca5a9bd20.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/777d65a484db49a1.css","precedence":"next"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","link",null,{"rel":"preconnect","href":"https://fonts.googleapis.com"}],["$","link",null,{"rel":"preconnect","href":"https://fonts.gstatic.com","crossOrigin":"anonymous"}],["$","link",null,{"href":"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","rel":"stylesheet"}]]}],["$","body",null,{"className":"__variable_f367f3 font-sans antialiased","suppressHydrationWarning":true,"children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]}]]}]]}],"loading":null,"isPartial":false}
8
+ 0:{"buildId":"XnNWFvV2IXZ4xuX0F1Skg","rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/081a0afca5a9bd20.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/5309860f6e486620.css","precedence":"next"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","link",null,{"rel":"preconnect","href":"https://fonts.googleapis.com"}],["$","link",null,{"rel":"preconnect","href":"https://fonts.gstatic.com","crossOrigin":"anonymous"}],["$","link",null,{"href":"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","rel":"stylesheet"}]]}],["$","body",null,{"className":"__variable_f367f3 font-sans antialiased","suppressHydrationWarning":true,"children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]}]]}]]}],"loading":null,"isPartial":false}
@@ -1,5 +1,5 @@
1
1
  :HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
2
2
  :HL["/_next/static/css/081a0afca5a9bd20.css","style"]
3
- :HL["/_next/static/css/777d65a484db49a1.css","style"]
3
+ :HL["/_next/static/css/5309860f6e486620.css","style"]
4
4
  :HL["https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","style"]
5
- 0:{"buildId":"l-F9C6gggjrUWKnAln0Wn","tree":{"name":"","paramType":null,"paramKey":"","hasRuntimePrefetch":false,"slots":{"children":{"name":"terms","paramType":null,"paramKey":"terms","hasRuntimePrefetch":false,"slots":{"children":{"name":"__PAGE__","paramType":null,"paramKey":"__PAGE__","hasRuntimePrefetch":false,"slots":null,"isRootLayout":false}},"isRootLayout":false}},"isRootLayout":true},"staleTime":300}
5
+ 0:{"buildId":"XnNWFvV2IXZ4xuX0F1Skg","tree":{"name":"","paramType":null,"paramKey":"","hasRuntimePrefetch":false,"slots":{"children":{"name":"terms","paramType":null,"paramKey":"terms","hasRuntimePrefetch":false,"slots":{"children":{"name":"__PAGE__","paramType":null,"paramKey":"__PAGE__","hasRuntimePrefetch":false,"slots":null,"isRootLayout":false}},"isRootLayout":false}},"isRootLayout":true},"staleTime":300}
@@ -2,5 +2,5 @@
2
2
  2:I[98500,["8500","static/chunks/8500-98e13bcce54aa7a0.js","7066","static/chunks/app/terms/page-8f74097544a61b9d.js"],""]
3
3
  3:I[90484,[],"OutletBoundary"]
4
4
  4:"$Sreact.suspense"
5
- 0:{"buildId":"l-F9C6gggjrUWKnAln0Wn","rsc":["$","$1","c",{"children":[["$","main",null,{"className":"min-h-screen bg-bg text-text-main","children":["$","div",null,{"className":"max-w-3xl mx-auto px-6 py-16","children":[["$","$L2",null,{"href":"/","className":"inline-flex items-center gap-1 text-sm text-text-muted hover:text-primary transition-colors mb-8","children":[["$","span",null,{"className":"material-symbols-outlined text-[18px]","children":"arrow_back"}],"Back to home"]}],["$","h1",null,{"className":"text-3xl font-bold mb-2","children":"Terms of Service"}],["$","p",null,{"className":"text-sm text-text-muted mb-10","children":"Last updated: February 13, 2026"}],["$","div",null,{"className":"space-y-8 text-text-muted leading-relaxed","children":[["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"1. Overview"}],["$","p",null,{"children":["OmniRoute is a ",["$","strong",null,{"className":"text-text-main","children":"local-first"}]," AI API proxy router that operates entirely on your machine. It routes requests to multiple AI providers with load balancing, failover, and usage tracking."]}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"2. User Responsibilities"}],["$","ul",null,{"className":"list-disc pl-6 space-y-2","children":[["$","li",null,{"children":"You are solely responsible for managing your own API keys and credentials for third-party AI providers (OpenAI, Anthropic, Google, etc.)."}],["$","li",null,{"children":"You must comply with the terms of service of each AI provider whose API you access through OmniRoute."}],["$","li",null,{"children":"You are responsible for the security of your local OmniRoute installation, including setting a password and restricting network access."}]]}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"3. How It Works"}],["$","p",null,{"children":"OmniRoute acts as an intermediary proxy. API calls sent to OmniRoute are translated and forwarded to your configured AI providers. OmniRoute does not modify the content of your requests or responses beyond the necessary protocol translation."}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"4. Data Handling"}],["$","ul",null,{"className":"list-disc pl-6 space-y-2","children":[["$","li",null,{"children":["All data is stored ",["$","strong",null,{"className":"text-text-main","children":"locally"}]," on your machine in a SQLite database."]}],["$","li",null,{"children":"OmniRoute does not transmit any data to external servers unless you explicitly enable cloud sync features."}],["$","li",null,{"children":["Usage logs, API keys, and configuration are stored in"," ",["$","code",null,{"className":"text-primary text-sm","children":"~/.omniroute/"}],"."]}]]}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"5. Disclaimer"}],["$","p",null,{"children":"OmniRoute is provided “as is” without warranty of any kind. We are not responsible for any costs incurred through API usage, service disruptions, or data loss. Always maintain backups of your configuration."}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"6. Open Source"}],["$","p",null,{"children":"OmniRoute is open-source software. You are free to inspect, modify, and distribute it under the terms of its license."}]]}]]}],["$","div",null,{"className":"mt-12 pt-8 border-t border-white/[0.06] text-sm text-text-muted","children":["$","p",null,{"children":["Questions? Visit our"," ",["$","a",null,{"href":"https://github.com/decolua/omniroute","className":"text-primary hover:underline","target":"_blank","rel":"noopener noreferrer","children":"GitHub repository"}],"."]}]}]]}]}],null,["$","$L3",null,{"children":["$","$4",null,{"name":"Next.MetadataOutlet","children":"$@5"}]}]]}],"loading":null,"isPartial":false}
5
+ 0:{"buildId":"XnNWFvV2IXZ4xuX0F1Skg","rsc":["$","$1","c",{"children":[["$","main",null,{"className":"min-h-screen bg-bg text-text-main","children":["$","div",null,{"className":"max-w-3xl mx-auto px-6 py-16","children":[["$","$L2",null,{"href":"/","className":"inline-flex items-center gap-1 text-sm text-text-muted hover:text-primary transition-colors mb-8","children":[["$","span",null,{"className":"material-symbols-outlined text-[18px]","children":"arrow_back"}],"Back to home"]}],["$","h1",null,{"className":"text-3xl font-bold mb-2","children":"Terms of Service"}],["$","p",null,{"className":"text-sm text-text-muted mb-10","children":"Last updated: February 13, 2026"}],["$","div",null,{"className":"space-y-8 text-text-muted leading-relaxed","children":[["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"1. Overview"}],["$","p",null,{"children":["OmniRoute is a ",["$","strong",null,{"className":"text-text-main","children":"local-first"}]," AI API proxy router that operates entirely on your machine. It routes requests to multiple AI providers with load balancing, failover, and usage tracking."]}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"2. User Responsibilities"}],["$","ul",null,{"className":"list-disc pl-6 space-y-2","children":[["$","li",null,{"children":"You are solely responsible for managing your own API keys and credentials for third-party AI providers (OpenAI, Anthropic, Google, etc.)."}],["$","li",null,{"children":"You must comply with the terms of service of each AI provider whose API you access through OmniRoute."}],["$","li",null,{"children":"You are responsible for the security of your local OmniRoute installation, including setting a password and restricting network access."}]]}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"3. How It Works"}],["$","p",null,{"children":"OmniRoute acts as an intermediary proxy. API calls sent to OmniRoute are translated and forwarded to your configured AI providers. OmniRoute does not modify the content of your requests or responses beyond the necessary protocol translation."}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"4. Data Handling"}],["$","ul",null,{"className":"list-disc pl-6 space-y-2","children":[["$","li",null,{"children":["All data is stored ",["$","strong",null,{"className":"text-text-main","children":"locally"}]," on your machine in a SQLite database."]}],["$","li",null,{"children":"OmniRoute does not transmit any data to external servers unless you explicitly enable cloud sync features."}],["$","li",null,{"children":["Usage logs, API keys, and configuration are stored in"," ",["$","code",null,{"className":"text-primary text-sm","children":"~/.omniroute/"}],"."]}]]}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"5. Disclaimer"}],["$","p",null,{"children":"OmniRoute is provided “as is” without warranty of any kind. We are not responsible for any costs incurred through API usage, service disruptions, or data loss. Always maintain backups of your configuration."}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"6. Open Source"}],["$","p",null,{"children":"OmniRoute is open-source software. You are free to inspect, modify, and distribute it under the terms of its license."}]]}]]}],["$","div",null,{"className":"mt-12 pt-8 border-t border-white/[0.06] text-sm text-text-muted","children":["$","p",null,{"children":["Questions? Visit our"," ",["$","a",null,{"href":"https://github.com/decolua/omniroute","className":"text-primary hover:underline","target":"_blank","rel":"noopener noreferrer","children":"GitHub repository"}],"."]}]}]]}]}],null,["$","$L3",null,{"children":["$","$4",null,{"name":"Next.MetadataOutlet","children":"$@5"}]}]]}],"loading":null,"isPartial":false}
6
6
  5:null
@@ -1,4 +1,4 @@
1
1
  1:"$Sreact.fragment"
2
2
  2:I[57121,[],""]
3
3
  3:I[74581,[],""]
4
- 0:{"buildId":"l-F9C6gggjrUWKnAln0Wn","rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"loading":null,"isPartial":false}
4
+ 0:{"buildId":"XnNWFvV2IXZ4xuX0F1Skg","rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"loading":null,"isPartial":false}
@@ -2,13 +2,13 @@
2
2
  "/_not-found/page": "app/_not-found/page.js",
3
3
  "/_global-error/page": "app/_global-error/page.js",
4
4
  "/api/auth/login/route": "app/api/auth/login/route.js",
5
- "/api/auth/logout/route": "app/api/auth/logout/route.js",
6
5
  "/api/cli-tools/antigravity-mitm/alias/route": "app/api/cli-tools/antigravity-mitm/alias/route.js",
6
+ "/api/auth/logout/route": "app/api/auth/logout/route.js",
7
7
  "/api/cli-tools/backups/route": "app/api/cli-tools/backups/route.js",
8
8
  "/api/cli-tools/codex-profiles/route": "app/api/cli-tools/codex-profiles/route.js",
9
9
  "/api/cli-tools/guide-settings/[toolId]/route": "app/api/cli-tools/guide-settings/[toolId]/route.js",
10
- "/api/cloud/auth/route": "app/api/cloud/auth/route.js",
11
10
  "/api/cloud/credentials/update/route": "app/api/cloud/credentials/update/route.js",
11
+ "/api/cloud/auth/route": "app/api/cloud/auth/route.js",
12
12
  "/api/cloud/model/resolve/route": "app/api/cloud/model/resolve/route.js",
13
13
  "/api/cloud/models/alias/route": "app/api/cloud/models/alias/route.js",
14
14
  "/api/combos/[id]/route": "app/api/combos/[id]/route.js",
@@ -19,20 +19,21 @@
19
19
  "/api/init/route": "app/api/init/route.js",
20
20
  "/api/keys/[id]/route": "app/api/keys/[id]/route.js",
21
21
  "/api/keys/route": "app/api/keys/route.js",
22
- "/api/models/alias/route": "app/api/models/alias/route.js",
23
22
  "/api/models/catalog/route": "app/api/models/catalog/route.js",
23
+ "/api/models/alias/route": "app/api/models/alias/route.js",
24
24
  "/api/models/route": "app/api/models/route.js",
25
- "/api/oauth/cursor/auto-import/route": "app/api/oauth/cursor/auto-import/route.js",
26
25
  "/api/oauth/[provider]/[action]/route": "app/api/oauth/[provider]/[action]/route.js",
27
26
  "/api/oauth/cursor/import/route": "app/api/oauth/cursor/import/route.js",
28
27
  "/api/oauth/kiro/auto-import/route": "app/api/oauth/kiro/auto-import/route.js",
28
+ "/api/oauth/cursor/auto-import/route": "app/api/oauth/cursor/auto-import/route.js",
29
29
  "/api/oauth/kiro/import/route": "app/api/oauth/kiro/import/route.js",
30
+ "/api/oauth/kiro/social-authorize/route": "app/api/oauth/kiro/social-authorize/route.js",
31
+ "/api/pricing/defaults/route": "app/api/pricing/defaults/route.js",
30
32
  "/api/oauth/kiro/social-exchange/route": "app/api/oauth/kiro/social-exchange/route.js",
33
+ "/api/pricing/models/route": "app/api/pricing/models/route.js",
31
34
  "/api/pricing/route": "app/api/pricing/route.js",
32
- "/api/pricing/defaults/route": "app/api/pricing/defaults/route.js",
33
- "/api/oauth/kiro/social-authorize/route": "app/api/oauth/kiro/social-authorize/route.js",
34
- "/api/provider-models/route": "app/api/provider-models/route.js",
35
35
  "/api/provider-nodes/[id]/route": "app/api/provider-nodes/[id]/route.js",
36
+ "/api/provider-models/route": "app/api/provider-models/route.js",
36
37
  "/api/provider-nodes/validate/route": "app/api/provider-nodes/validate/route.js",
37
38
  "/api/providers/[id]/models/route": "app/api/providers/[id]/models/route.js",
38
39
  "/api/providers/[id]/route": "app/api/providers/[id]/route.js",
@@ -41,15 +42,20 @@
41
42
  "/api/providers/test-batch/route": "app/api/providers/test-batch/route.js",
42
43
  "/api/providers/validate/route": "app/api/providers/validate/route.js",
43
44
  "/api/rate-limit/route": "app/api/rate-limit/route.js",
45
+ "/api/rate-limits/route": "app/api/rate-limits/route.js",
44
46
  "/api/restart/route": "app/api/restart/route.js",
47
+ "/api/sessions/route": "app/api/sessions/route.js",
45
48
  "/api/settings/combo-defaults/route": "app/api/settings/combo-defaults/route.js",
49
+ "/api/settings/ip-filter/route": "app/api/settings/ip-filter/route.js",
46
50
  "/api/settings/require-login/route": "app/api/settings/require-login/route.js",
47
51
  "/api/settings/route": "app/api/settings/route.js",
52
+ "/api/settings/system-prompt/route": "app/api/settings/system-prompt/route.js",
48
53
  "/api/shutdown/route": "app/api/shutdown/route.js",
54
+ "/api/settings/thinking-budget/route": "app/api/settings/thinking-budget/route.js",
49
55
  "/api/storage/health/route": "app/api/storage/health/route.js",
50
56
  "/api/sync/cloud/route": "app/api/sync/cloud/route.js",
51
- "/api/sync/initialize/route": "app/api/sync/initialize/route.js",
52
57
  "/api/tags/route": "app/api/tags/route.js",
58
+ "/api/sync/initialize/route": "app/api/sync/initialize/route.js",
53
59
  "/api/translator/detect/route": "app/api/translator/detect/route.js",
54
60
  "/api/translator/history/route": "app/api/translator/history/route.js",
55
61
  "/api/translator/load/route": "app/api/translator/load/route.js",
@@ -57,24 +63,24 @@
57
63
  "/api/translator/send/route": "app/api/translator/send/route.js",
58
64
  "/api/translator/translate/route": "app/api/translator/translate/route.js",
59
65
  "/api/usage/[connectionId]/route": "app/api/usage/[connectionId]/route.js",
60
- "/api/usage/call-logs/[id]/route": "app/api/usage/call-logs/[id]/route.js",
61
66
  "/api/usage/analytics/route": "app/api/usage/analytics/route.js",
67
+ "/api/usage/call-logs/[id]/route": "app/api/usage/call-logs/[id]/route.js",
68
+ "/api/usage/call-logs/route": "app/api/usage/call-logs/route.js",
62
69
  "/api/usage/history/route": "app/api/usage/history/route.js",
63
70
  "/api/usage/logs/route": "app/api/usage/logs/route.js",
64
- "/api/usage/call-logs/route": "app/api/usage/call-logs/route.js",
65
71
  "/api/usage/request-logs/route": "app/api/usage/request-logs/route.js",
66
72
  "/api/v1/api/chat/route": "app/api/v1/api/chat/route.js",
67
73
  "/api/v1/audio/speech/route": "app/api/v1/audio/speech/route.js",
68
74
  "/api/v1/audio/transcriptions/route": "app/api/v1/audio/transcriptions/route.js",
69
75
  "/api/v1/chat/completions/route": "app/api/v1/chat/completions/route.js",
70
- "/api/v1/embeddings/route": "app/api/v1/embeddings/route.js",
71
76
  "/api/v1/images/generations/route": "app/api/v1/images/generations/route.js",
72
- "/api/v1/messages/count_tokens/route": "app/api/v1/messages/count_tokens/route.js",
73
- "/api/v1/messages/route": "app/api/v1/messages/route.js",
77
+ "/api/v1/embeddings/route": "app/api/v1/embeddings/route.js",
74
78
  "/api/v1/models/route": "app/api/v1/models/route.js",
79
+ "/api/v1/messages/route": "app/api/v1/messages/route.js",
80
+ "/api/v1/messages/count_tokens/route": "app/api/v1/messages/count_tokens/route.js",
75
81
  "/api/v1/moderations/route": "app/api/v1/moderations/route.js",
76
- "/api/v1/providers/[provider]/chat/completions/route": "app/api/v1/providers/[provider]/chat/completions/route.js",
77
82
  "/api/v1/providers/[provider]/embeddings/route": "app/api/v1/providers/[provider]/embeddings/route.js",
83
+ "/api/v1/providers/[provider]/chat/completions/route": "app/api/v1/providers/[provider]/chat/completions/route.js",
78
84
  "/api/v1/providers/[provider]/images/generations/route": "app/api/v1/providers/[provider]/images/generations/route.js",
79
85
  "/api/v1/rerank/route": "app/api/v1/rerank/route.js",
80
86
  "/api/v1/responses/route": "app/api/v1/responses/route.js",
@@ -92,27 +98,27 @@
92
98
  "/api/provider-nodes/route": "app/api/provider-nodes/route.js",
93
99
  "/api/cli-tools/codex-settings/route": "app/api/cli-tools/codex-settings/route.js",
94
100
  "/api/providers/[id]/test/route": "app/api/providers/[id]/test/route.js",
101
+ "/api/settings/proxy/test/route": "app/api/settings/proxy/test/route.js",
95
102
  "/api/settings/proxy/route": "app/api/settings/proxy/route.js",
96
103
  "/api/usage/proxy-logs/route": "app/api/usage/proxy-logs/route.js",
97
- "/api/settings/proxy/test/route": "app/api/settings/proxy/test/route.js",
98
104
  "/callback/page": "app/callback/page.js",
99
- "/dashboard/settings/pricing/page": "app/dashboard/settings/pricing/page.js",
100
- "/docs/page": "app/docs/page.js",
101
105
  "/landing/page": "app/landing/page.js",
106
+ "/docs/page": "app/docs/page.js",
102
107
  "/login/page": "app/login/page.js",
103
108
  "/page": "app/page.js",
104
- "/privacy/page": "app/privacy/page.js",
105
109
  "/terms/page": "app/terms/page.js",
106
- "/(dashboard)/dashboard/endpoint/page": "app/(dashboard)/dashboard/endpoint/page.js",
110
+ "/privacy/page": "app/privacy/page.js",
107
111
  "/(dashboard)/dashboard/cli-tools/page": "app/(dashboard)/dashboard/cli-tools/page.js",
112
+ "/(dashboard)/dashboard/endpoint/page": "app/(dashboard)/dashboard/endpoint/page.js",
108
113
  "/(dashboard)/dashboard/profile/page": "app/(dashboard)/dashboard/profile/page.js",
109
114
  "/(dashboard)/dashboard/providers/new/page": "app/(dashboard)/dashboard/providers/new/page.js",
110
115
  "/(dashboard)/dashboard/settings/page": "app/(dashboard)/dashboard/settings/page.js",
116
+ "/(dashboard)/dashboard/settings/pricing/page": "app/(dashboard)/dashboard/settings/pricing/page.js",
111
117
  "/(dashboard)/dashboard/page": "app/(dashboard)/dashboard/page.js",
112
118
  "/(dashboard)/dashboard/onboarding/page": "app/(dashboard)/dashboard/onboarding/page.js",
113
119
  "/(dashboard)/dashboard/translator/page": "app/(dashboard)/dashboard/translator/page.js",
114
120
  "/(dashboard)/dashboard/usage/page": "app/(dashboard)/dashboard/usage/page.js",
115
- "/(dashboard)/dashboard/combos/page": "app/(dashboard)/dashboard/combos/page.js",
116
121
  "/(dashboard)/dashboard/providers/page": "app/(dashboard)/dashboard/providers/page.js",
122
+ "/(dashboard)/dashboard/combos/page": "app/(dashboard)/dashboard/combos/page.js",
117
123
  "/(dashboard)/dashboard/providers/[id]/page": "app/(dashboard)/dashboard/providers/[id]/page.js"
118
124
  }
@@ -0,0 +1,156 @@
1
+ exports.id=1483,exports.ids=[1483,7136],exports.modules={14469:(a,b,c)=>{"use strict";c.d(b,{G6:()=>p,I8:()=>i,NJ:()=>m,jX:()=>s,kB:()=>o,m1:()=>h,nJ:()=>j,oh:()=>k,sm:()=>r});var d=c(87550),e=c(76760),f=c(73024),g=c(32677);let h="object"==typeof globalThis.caches&&null!==globalThis.caches,i="phase-production-build"===process.env.NEXT_PHASE,j=(0,g._3)({isCloud:h});h||(0,g.sm)();let k=h?null:e.join(j,"storage.sqlite"),l=h?null:e.join(j,"db.json"),m=h?null:e.join(j,"db_backups");h||f.existsSync(j)||f.mkdirSync(j,{recursive:!0});let n=`
2
+ CREATE TABLE IF NOT EXISTS provider_connections (
3
+ id TEXT PRIMARY KEY,
4
+ provider TEXT NOT NULL,
5
+ auth_type TEXT,
6
+ name TEXT,
7
+ email TEXT,
8
+ priority INTEGER DEFAULT 0,
9
+ is_active INTEGER DEFAULT 1,
10
+ access_token TEXT,
11
+ refresh_token TEXT,
12
+ expires_at TEXT,
13
+ token_expires_at TEXT,
14
+ scope TEXT,
15
+ project_id TEXT,
16
+ test_status TEXT,
17
+ error_code TEXT,
18
+ last_error TEXT,
19
+ last_error_at TEXT,
20
+ last_error_type TEXT,
21
+ last_error_source TEXT,
22
+ backoff_level INTEGER DEFAULT 0,
23
+ rate_limited_until TEXT,
24
+ health_check_interval INTEGER,
25
+ last_health_check_at TEXT,
26
+ last_tested TEXT,
27
+ api_key TEXT,
28
+ id_token TEXT,
29
+ provider_specific_data TEXT,
30
+ expires_in INTEGER,
31
+ display_name TEXT,
32
+ global_priority INTEGER,
33
+ default_model TEXT,
34
+ token_type TEXT,
35
+ consecutive_use_count INTEGER DEFAULT 0,
36
+ rate_limit_protection INTEGER DEFAULT 0,
37
+ created_at TEXT NOT NULL,
38
+ updated_at TEXT NOT NULL
39
+ );
40
+ CREATE INDEX IF NOT EXISTS idx_pc_provider ON provider_connections(provider);
41
+ CREATE INDEX IF NOT EXISTS idx_pc_active ON provider_connections(is_active);
42
+ CREATE INDEX IF NOT EXISTS idx_pc_priority ON provider_connections(provider, priority);
43
+
44
+ CREATE TABLE IF NOT EXISTS provider_nodes (
45
+ id TEXT PRIMARY KEY,
46
+ type TEXT NOT NULL,
47
+ name TEXT NOT NULL,
48
+ prefix TEXT,
49
+ api_type TEXT,
50
+ base_url TEXT,
51
+ created_at TEXT NOT NULL,
52
+ updated_at TEXT NOT NULL
53
+ );
54
+
55
+ CREATE TABLE IF NOT EXISTS key_value (
56
+ namespace TEXT NOT NULL,
57
+ key TEXT NOT NULL,
58
+ value TEXT NOT NULL,
59
+ PRIMARY KEY (namespace, key)
60
+ );
61
+
62
+ CREATE TABLE IF NOT EXISTS combos (
63
+ id TEXT PRIMARY KEY,
64
+ name TEXT NOT NULL UNIQUE,
65
+ data TEXT NOT NULL,
66
+ created_at TEXT NOT NULL,
67
+ updated_at TEXT NOT NULL
68
+ );
69
+
70
+ CREATE TABLE IF NOT EXISTS api_keys (
71
+ id TEXT PRIMARY KEY,
72
+ name TEXT NOT NULL,
73
+ key TEXT NOT NULL UNIQUE,
74
+ machine_id TEXT,
75
+ created_at TEXT NOT NULL
76
+ );
77
+ CREATE INDEX IF NOT EXISTS idx_ak_key ON api_keys(key);
78
+
79
+ CREATE TABLE IF NOT EXISTS db_meta (
80
+ key TEXT PRIMARY KEY,
81
+ value TEXT
82
+ );
83
+
84
+ CREATE TABLE IF NOT EXISTS usage_history (
85
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
86
+ provider TEXT,
87
+ model TEXT,
88
+ connection_id TEXT,
89
+ api_key_id TEXT,
90
+ api_key_name TEXT,
91
+ tokens_input INTEGER DEFAULT 0,
92
+ tokens_output INTEGER DEFAULT 0,
93
+ tokens_cache_read INTEGER DEFAULT 0,
94
+ tokens_cache_creation INTEGER DEFAULT 0,
95
+ tokens_reasoning INTEGER DEFAULT 0,
96
+ status TEXT,
97
+ timestamp TEXT NOT NULL
98
+ );
99
+ CREATE INDEX IF NOT EXISTS idx_uh_timestamp ON usage_history(timestamp);
100
+ CREATE INDEX IF NOT EXISTS idx_uh_provider ON usage_history(provider);
101
+ CREATE INDEX IF NOT EXISTS idx_uh_model ON usage_history(model);
102
+
103
+ CREATE TABLE IF NOT EXISTS call_logs (
104
+ id TEXT PRIMARY KEY,
105
+ timestamp TEXT NOT NULL,
106
+ method TEXT,
107
+ path TEXT,
108
+ status INTEGER,
109
+ model TEXT,
110
+ provider TEXT,
111
+ account TEXT,
112
+ connection_id TEXT,
113
+ duration INTEGER DEFAULT 0,
114
+ tokens_in INTEGER DEFAULT 0,
115
+ tokens_out INTEGER DEFAULT 0,
116
+ source_format TEXT,
117
+ target_format TEXT,
118
+ api_key_id TEXT,
119
+ api_key_name TEXT,
120
+ combo_name TEXT,
121
+ request_body TEXT,
122
+ response_body TEXT,
123
+ error TEXT
124
+ );
125
+ CREATE INDEX IF NOT EXISTS idx_cl_timestamp ON call_logs(timestamp);
126
+ CREATE INDEX IF NOT EXISTS idx_cl_status ON call_logs(status);
127
+ `;function o(a){if(!a)return null;let b={};for(let[c,d]of Object.entries(a)){let a=c.replace(/_([a-z])/g,(a,b)=>b.toUpperCase());if("isActive"===a||"rateLimitProtection"===a)b[a]=1===d||!0===d;else if("providerSpecificData"===a&&"string"==typeof d)try{b[a]=JSON.parse(d)}catch{b[a]=d}else b[a]=d}return b}function p(a){let b={};for(let[c,d]of Object.entries(a))null!=d&&(b[c]=d);return b}let q=null;function r(){if(q)return q;if(h||i)return i&&console.log("[DB] Build phase detected — using in-memory SQLite (read-only)"),(q=new d(":memory:")).pragma("journal_mode = WAL"),q.exec(n),q;if(f.existsSync(k))try{let a=new d(k,{readonly:!0}),b=a.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='schema_migrations'").get();if(a.close(),b){let a=k+".old-schema";for(let b of(console.log(`[DB] Old incompatible schema detected — renaming to ${e.basename(a)}`),f.renameSync(k,a),["-wal","-shm"]))try{f.existsSync(k+b)&&f.unlinkSync(k+b)}catch{}}}catch(a){console.warn("[DB] Could not probe existing DB, will create fresh:",a.message);try{f.unlinkSync(k)}catch{}}(q=new d(k)).pragma("journal_mode = WAL"),q.pragma("busy_timeout = 5000"),q.pragma("synchronous = NORMAL"),q.exec(n);var a=q;try{let b=a.prepare("PRAGMA table_info(provider_connections)").all();new Set(b.map(a=>a.name)).has("rate_limit_protection")||(a.exec("ALTER TABLE provider_connections ADD COLUMN rate_limit_protection INTEGER DEFAULT 0"),console.log("[DB] Added provider_connections.rate_limit_protection column"))}catch(a){console.warn("[DB] Failed to verify provider_connections schema:",a.message)}return l&&f.existsSync(l)&&function(a,b){try{let c=f.readFileSync(b,"utf-8"),d=JSON.parse(c),g=(d.providerConnections||[]).length,h=(d.providerNodes||[]).length,i=(d.apiKeys||[]).length;if(0===g&&0===h&&0===i){console.log("[DB] db.json has no data to migrate, skipping"),f.renameSync(b,b+".empty");return}console.log(`[DB] Migrating db.json → SQLite (${g} connections, ${h} nodes, ${i} keys)...`),a.transaction(()=>{let b=a.prepare(`
128
+ INSERT OR REPLACE INTO provider_connections (
129
+ id, provider, auth_type, name, email, priority, is_active,
130
+ access_token, refresh_token, expires_at, token_expires_at,
131
+ scope, project_id, test_status, error_code, last_error,
132
+ last_error_at, last_error_type, last_error_source, backoff_level,
133
+ rate_limited_until, health_check_interval, last_health_check_at,
134
+ last_tested, api_key, id_token, provider_specific_data,
135
+ expires_in, display_name, global_priority, default_model,
136
+ token_type, consecutive_use_count, rate_limit_protection, created_at, updated_at
137
+ ) VALUES (
138
+ @id, @provider, @authType, @name, @email, @priority, @isActive,
139
+ @accessToken, @refreshToken, @expiresAt, @tokenExpiresAt,
140
+ @scope, @projectId, @testStatus, @errorCode, @lastError,
141
+ @lastErrorAt, @lastErrorType, @lastErrorSource, @backoffLevel,
142
+ @rateLimitedUntil, @healthCheckInterval, @lastHealthCheckAt,
143
+ @lastTested, @apiKey, @idToken, @providerSpecificData,
144
+ @expiresIn, @displayName, @globalPriority, @defaultModel,
145
+ @tokenType, @consecutiveUseCount, @rateLimitProtection, @createdAt, @updatedAt
146
+ )
147
+ `);for(let a of d.providerConnections||[])b.run({id:a.id,provider:a.provider,authType:a.authType||"oauth",name:a.name||null,email:a.email||null,priority:a.priority||0,isActive:+(!1!==a.isActive),accessToken:a.accessToken||null,refreshToken:a.refreshToken||null,expiresAt:a.expiresAt||null,tokenExpiresAt:a.tokenExpiresAt||null,scope:a.scope||null,projectId:a.projectId||null,testStatus:a.testStatus||null,errorCode:a.errorCode||null,lastError:a.lastError||null,lastErrorAt:a.lastErrorAt||null,lastErrorType:a.lastErrorType||null,lastErrorSource:a.lastErrorSource||null,backoffLevel:a.backoffLevel||0,rateLimitedUntil:a.rateLimitedUntil||null,healthCheckInterval:a.healthCheckInterval||null,lastHealthCheckAt:a.lastHealthCheckAt||null,lastTested:a.lastTested||null,apiKey:a.apiKey||null,idToken:a.idToken||null,providerSpecificData:a.providerSpecificData?JSON.stringify(a.providerSpecificData):null,expiresIn:a.expiresIn||null,displayName:a.displayName||null,globalPriority:a.globalPriority||null,defaultModel:a.defaultModel||null,tokenType:a.tokenType||null,consecutiveUseCount:a.consecutiveUseCount||0,rateLimitProtection:+(!0===a.rateLimitProtection||1===a.rateLimitProtection),createdAt:a.createdAt||new Date().toISOString(),updatedAt:a.updatedAt||new Date().toISOString()});let c=a.prepare(`
148
+ INSERT OR REPLACE INTO provider_nodes (id, type, name, prefix, api_type, base_url, created_at, updated_at)
149
+ VALUES (@id, @type, @name, @prefix, @apiType, @baseUrl, @createdAt, @updatedAt)
150
+ `);for(let a of d.providerNodes||[])c.run({id:a.id,type:a.type,name:a.name,prefix:a.prefix||null,apiType:a.apiType||null,baseUrl:a.baseUrl||null,createdAt:a.createdAt||new Date().toISOString(),updatedAt:a.updatedAt||new Date().toISOString()});let e=a.prepare("INSERT OR REPLACE INTO key_value (namespace, key, value) VALUES (?, ?, ?)");for(let[a,b]of Object.entries(d.modelAliases||{}))e.run("modelAliases",a,JSON.stringify(b));for(let[a,b]of Object.entries(d.mitmAlias||{}))e.run("mitmAlias",a,JSON.stringify(b));for(let[a,b]of Object.entries(d.settings||{}))e.run("settings",a,JSON.stringify(b));for(let[a,b]of Object.entries(d.pricing||{}))e.run("pricing",a,JSON.stringify(b));for(let[a,b]of Object.entries(d.customModels||{}))e.run("customModels",a,JSON.stringify(b));d.proxyConfig&&(e.run("proxyConfig","global",JSON.stringify(d.proxyConfig.global||null)),e.run("proxyConfig","providers",JSON.stringify(d.proxyConfig.providers||{})),e.run("proxyConfig","combos",JSON.stringify(d.proxyConfig.combos||{})),e.run("proxyConfig","keys",JSON.stringify(d.proxyConfig.keys||{})));let f=a.prepare(`
151
+ INSERT OR REPLACE INTO combos (id, name, data, created_at, updated_at)
152
+ VALUES (@id, @name, @data, @createdAt, @updatedAt)
153
+ `);for(let a of d.combos||[])f.run({id:a.id,name:a.name,data:JSON.stringify(a),createdAt:a.createdAt||new Date().toISOString(),updatedAt:a.updatedAt||new Date().toISOString()});let g=a.prepare(`
154
+ INSERT OR REPLACE INTO api_keys (id, name, key, machine_id, created_at)
155
+ VALUES (@id, @name, @key, @machineId, @createdAt)
156
+ `);for(let a of d.apiKeys||[])g.run({id:a.id,name:a.name,key:a.key,machineId:a.machineId||null,createdAt:a.createdAt||new Date().toISOString()})})();let k=b+".migrated";f.renameSync(b,k),console.log(`[DB] ✓ Migration complete. Original saved as ${k}`);let l=e.join(j,"db_backups");if(f.existsSync(l)){let a=f.readdirSync(l).filter(a=>a.endsWith(".json"));a.length>0&&console.log(`[DB] Note: ${a.length} legacy .json backups remain in ${l}`)}}catch(a){console.error("[DB] Migration from db.json failed:",a.message)}}(q,l),q.prepare("INSERT OR REPLACE INTO db_meta (key, value) VALUES ('schema_version', '1')").run(),console.log(`[DB] SQLite database ready: ${k}`),q}function s(){q&&(q.close(),q=null)}},15040:(a,b,c)=>{"use strict";c.d(b,{Pt:()=>j,Tr:()=>k,c1:()=>h,kI:()=>l,vk:()=>i});var d=c(60021),e=c(49263),f=c(26262);let g=Promise.resolve();async function h(a,b=null){let c,i=g;g=new Promise(a=>{c=a});try{let c;await i;let g=await (0,d.getProviderConnections)({provider:a,isActive:!0});if(f.debug("AUTH",`${a} | total connections: ${g.length}, excludeId: ${b||"none"}`),0===g.length){let b=await (0,d.getProviderConnections)({provider:a});if(f.debug("AUTH",`${a} | all connections (incl inactive): ${b.length}`),b.length>0){let c=(0,e.UY)(b);if(c)return f.warn("AUTH",`${a} | all ${b.length} accounts rate limited (${(0,e.Qo)(c)})`),{allRateLimited:!0,retryAfter:c,retryAfterHuman:(0,e.Qo)(c)};f.warn("AUTH",`${a} | ${b.length} accounts found but none active`),b.forEach(a=>{f.debug("AUTH",` → ${a.id?.slice(0,8)} | isActive=${a.isActive} | rateLimitedUntil=${a.rateLimitedUntil||"none"} | testStatus=${a.testStatus}`)})}return f.warn("AUTH",`No credentials for ${a}`),null}let h=g.filter(a=>!(b&&a.id===b||(0,e.AO)(a.rateLimitedUntil)));if(f.debug("AUTH",`${a} | available: ${h.length}/${g.length}`),g.forEach(a=>{let c=b&&a.id===b,d=(0,e.AO)(a.rateLimitedUntil);(c||d)&&f.debug("AUTH",` → ${a.id?.slice(0,8)} | ${c?"excluded":""} ${d?`rateLimited until ${a.rateLimitedUntil}`:""}`)}),0===h.length){let b=(0,e.UY)(g);if(b){let c=g.filter(a=>a.rateLimitedUntil&&new Date(a.rateLimitedUntil).getTime()>Date.now()).sort((a,b)=>new Date(a.rateLimitedUntil)-new Date(b.rateLimitedUntil))[0];return f.warn("AUTH",`${a} | all ${g.length} active accounts rate limited (${(0,e.Qo)(b)}) | lastErrorCode=${c?.errorCode}, lastError=${c?.lastError?.slice(0,50)}`),{allRateLimited:!0,retryAfter:b,retryAfterHuman:(0,e.Qo)(b),lastError:c?.lastError||null,lastErrorCode:c?.errorCode||null}}return f.warn("AUTH",`${a} | all ${g.length} accounts unavailable`),null}let j=await (0,d.mt)(),k=j.fallbackStrategy||"fill-first";if("round-robin"===k){let a=j.stickyRoundRobinLimit||3,b=[...h].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(b.lastUsedAt)-new Date(a.lastUsedAt):-1:1:(a.priority||999)-(b.priority||999))[0],e=b?.consecutiveUseCount||0;b&&b.lastUsedAt&&e<a?(c=b,await (0,d.rj)(c.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:(c.consecutiveUseCount||0)+1})):(c=[...h].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(a.lastUsedAt)-new Date(b.lastUsedAt):1:-1:(a.priority||999)-(b.priority||999))[0],await (0,d.rj)(c.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:1}))}else c=h[0];return{apiKey:c.apiKey,accessToken:c.accessToken,refreshToken:c.refreshToken,expiresAt:c.tokenExpiresAt||c.expiresAt||null,projectId:c.projectId,copilotToken:c.providerSpecificData?.copilotToken,providerSpecificData:c.providerSpecificData,connectionId:c.id,testStatus:c.testStatus,lastError:c.lastError,rateLimitedUntil:c.rateLimitedUntil}}finally{c&&c()}}async function i(a,b,c,f=null,g=null){let h=(await (0,d.getProviderConnections)({provider:f})).find(b=>b.id===a),j=h?.backoffLevel||0,{shouldFallback:k,cooldownMs:l,newBackoffLevel:m,reason:n}=(0,e.hk)(b,c,j,g);if(!k)return{shouldFallback:!1,cooldownMs:0};let o=(0,e.vp)(l),p="string"==typeof c?c.slice(0,100):"Provider error";return await (0,d.rj)(a,{rateLimitedUntil:o,testStatus:"unavailable",lastError:p,errorCode:b,lastErrorAt:new Date().toISOString(),backoffLevel:m??j}),f&&g&&l>0&&(0,e.R7)(f,a,g,n||"unknown",l),f&&b&&p&&console.error(`❌ ${f} [${b}]: ${p}`),{shouldFallback:!0,cooldownMs:l}}async function j(a,b){("unavailable"===b.testStatus||b.lastError||b.rateLimitedUntil)&&(await (0,d.rj)(a,{testStatus:"active",lastError:null,lastErrorAt:null,rateLimitedUntil:null,backoffLevel:0}),f.info("AUTH",`Account ${a.slice(0,8)} error cleared`))}function k(a){let b=a.headers.get("Authorization");return b?.startsWith("Bearer ")?b.slice(7):null}async function l(a){return!!a&&await (0,d.ek)(a)}},19225:(a,b,c)=>{"use strict";a.exports=c(44870)},26262:(a,b,c)=>{"use strict";c.r(b),c.d(b,{debug:()=>h,error:()=>k,info:()=>i,maskKey:()=>f,request:()=>l,response:()=>m,stream:()=>n,warn:()=>j});var d=c(74552);let e={level:process.env.LOG_LEVEL||"info",base:{service:"omniroute"},timestamp:d.stdTimeFunctions.isoTime,formatters:{level:a=>({level:a})}};function f(a){return!a||a.length<8?"***":`${a.slice(0,4)}...${a.slice(-4)}`}let g=d({...e}).child({module:"sse"});function h(a,b,c){g.debug({tag:a,...o(c)},b)}function i(a,b,c){g.info({tag:a,...o(c)},b)}function j(a,b,c){g.warn({tag:a,...o(c)},b)}function k(a,b,c){g.error({tag:a,...o(c)},b)}function l(a,b,c){g.info({tag:"HTTP",method:a,path:b,...o(c)},`📥 ${a} ${b}`)}function m(a,b,c){g[a<400?"info":"error"]({tag:"HTTP",status:a,duration:b,...o(c)},`📤 ${a} (${b}ms)`)}function n(a,b){g.debug({tag:"STREAM",event:a,...o(b)},`🌊 ${a}`)}function o(a){return a?"string"==typeof a?{detail:a}:"object"==typeof a?a:{detail:String(a)}:{}}},32677:(a,b,c)=>{"use strict";c.d(b,{_3:()=>j,sm:()=>i,ys:()=>k});var d=c(76760),e=c(48161);let f="omniroute";function g(){try{return e.homedir()}catch{return process.cwd()}}function h(a){if("string"!=typeof a)return null;let b=a.trim();return b?d.resolve(b):null}function i(){return d.join(g(),`.${f}`)}function j({isCloud:a=!1}={}){if(a)return"/tmp";let b=h(process.env.DATA_DIR);if(b)return b;let c=g();if("win32"===process.platform){let a=process.env.APPDATA||d.join(c,"AppData","Roaming");return d.join(a,f)}let e=h(process.env.XDG_CONFIG_HOME);return e?d.join(e,f):i()}function k(a,b){if(!a||!b)return!1;let c=d.resolve(a),e=d.resolve(b);return"win32"===process.platform?c.toLowerCase()===e.toLowerCase():c===e}},50122:(a,b,c)=>{"use strict";c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},62402:(a,b,c)=>{"use strict";c.d(b,{Lb:()=>e,QG:()=>f,zD:()=>g});let d={nebius:{id:"nebius",baseUrl:"https://api.tokenfactory.nebius.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen3 Embedding 8B",dimensions:4096}]},openai:{id:"openai",baseUrl:"https://api.openai.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"text-embedding-3-small",name:"Text Embedding 3 Small",dimensions:1536},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",dimensions:3072},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",dimensions:1536}]},mistral:{id:"mistral",baseUrl:"https://api.mistral.ai/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"mistral-embed",name:"Mistral Embed",dimensions:1024}]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"BAAI/bge-large-en-v1.5",name:"BGE Large EN v1.5",dimensions:1024},{id:"togethercomputer/m2-bert-80M-8k-retrieval",name:"M2 BERT 80M 8K",dimensions:768}]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nomic-ai/nomic-embed-text-v1.5",name:"Nomic Embed Text v1.5",dimensions:768}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nvidia/nv-embedqa-e5-v5",name:"NV EmbedQA E5 v5",dimensions:1024}]}};function e(a){return d[a]||null}function f(a){if(!a)return{provider:null,model:null};let b=a.indexOf("/");if(b>0){for(let[b,c]of Object.entries(d))if(a.startsWith(b+"/"))return{provider:b,model:a.slice(b.length+1)};return{provider:a.slice(0,b),model:a.slice(b+1)}}for(let[b,c]of Object.entries(d))if(c.models.some(b=>b.id===a))return{provider:b,model:a};return{provider:null,model:a}}function g(){let a=[];for(let[b,c]of Object.entries(d))for(let d of c.models)a.push({id:`${b}/${d.id}`,name:d.name,provider:b,dimensions:d.dimensions});return a}},77825:(a,b,c)=>{"use strict";c.d(b,{Q:()=>f});var d=c(62402),e=c(17132);async function f({body:a,credentials:b,log:c}){let{provider:f,model:g}=(0,d.QG)(a.model),h=Date.now(),i={model:a.model,input_count:Array.isArray(a.input)?a.input.length:1,dimensions:a.dimensions||void 0};if(!f)return{success:!1,status:400,error:`Invalid embedding model: ${a.model}. Use format: provider/model`};let j=(0,d.Lb)(f);if(!j)return{success:!1,status:400,error:`Unknown embedding provider: ${f}`};let k={model:g,input:a.input};void 0!==a.dimensions&&(k.dimensions=a.dimensions),void 0!==a.encoding_format&&(k.encoding_format=a.encoding_format);let l={"Content-Type":"application/json"},m=b.apiKey||b.accessToken;"bearer"===j.authHeader?l.Authorization=`Bearer ${m}`:"x-api-key"===j.authHeader&&(l["x-api-key"]=m),c&&c.info("EMBED",`${f}/${g} | input: ${Array.isArray(a.input)?a.input.length+" items":"1 item"}`);try{let a=await fetch(j.baseUrl,{method:"POST",headers:l,body:JSON.stringify(k)});if(!a.ok){let b=await a.text();return c&&c.error("EMBED",`${f} error ${a.status}: ${b.slice(0,200)}`),(0,e.gK)({method:"POST",path:"/v1/embeddings",status:a.status,model:`${f}/${g}`,provider:f,duration:Date.now()-h,error:b.slice(0,500),requestBody:i}).catch(()=>{}),{success:!1,status:a.status,error:b}}let b=await a.json();return(0,e.gK)({method:"POST",path:"/v1/embeddings",status:200,model:`${f}/${g}`,provider:f,duration:Date.now()-h,tokens:{prompt_tokens:b.usage?.prompt_tokens||b.usage?.total_tokens||0,completion_tokens:0},requestBody:i,responseBody:{usage:b.usage||null,object:"list",data_count:b.data?.length||0}}).catch(()=>{}),{success:!0,data:{object:"list",data:b.data||b,model:`${f}/${g}`,usage:b.usage||{prompt_tokens:0,total_tokens:0}}}}catch(a){return c&&c.error("EMBED",`${f} fetch error: ${a.message}`),(0,e.gK)({method:"POST",path:"/v1/embeddings",status:502,model:`${f}/${g}`,provider:f,duration:Date.now()-h,error:a.message,requestBody:i}).catch(()=>{}),{success:!1,status:502,error:`Embedding provider error: ${a.message}`}}}},78335:()=>{},92280:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},94755:(a,b,c)=>{"use strict";c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}},96487:()=>{},97271:(a,b,c)=>{"use strict";c.d(b,{$V:()=>n,EQ:()=>u,Co:()=>m,Bm:()=>w,O:()=>t,Uc:()=>p,eo:()=>q,LY:()=>s,MT:()=>j,gx:()=>r,NA:()=>o,xq:()=>l,QS:()=>v,C8:()=>x,TH:()=>k});var d=c(29021),e=c(33873);let f=["clientId","clientSecret","tokenUrl","authUrl","refreshUrl"],g=0,h=null;var i=c(28108);let j=parseInt(process.env.FETCH_TIMEOUT_MS||"120000",10),k=parseInt(process.env.STREAM_IDLE_TIMEOUT_MS||"60000",10),l=(0,i.Z0)();!function(a){let b;if(h&&Date.now()-g<6e4)return;let c=(b=process.env.DATA_DIR||(0,e.join)(process.cwd(),"data"),(0,e.join)(b,"provider-credentials.json"));if(!(0,d.existsSync)(c))return h||console.log("[CREDENTIALS] No external credentials file found, using defaults."),h=a,g=Date.now();try{let b=(0,d.readFileSync)(c,"utf-8"),e=JSON.parse(b),g=0;for(let[b,c]of Object.entries(e)){if(!a[b]){console.log(`[CREDENTIALS] Warning: unknown provider "${b}" in credentials file, skipping.`);continue}if(!c||"object"!=typeof c){console.log(`[CREDENTIALS] Warning: provider "${b}" value must be an object, got ${typeof c}. Skipping.`);continue}for(let d of f)void 0!==c[d]&&(a[b][d]=c[d],g++)}let i=null!==h;console.log(`[CREDENTIALS] ${i?"Reloaded":"Loaded"} external credentials: ${g} field(s) from ${c}`)}catch(a){console.log(`[CREDENTIALS] Error reading credentials file: ${a.message}. Using defaults.`)}h=a,g=Date.now()}(l);let m="You are Claude Code, Anthropic's official CLI for Claude.",n="Please ignore the following [ignore]You are Antigravity, a powerful agentic AI coding assistant designed by the Google Deepmind team working on Advanced Agentic Coding.You are pair programming with a USER to solve their coding task. The task may require creating a new codebase, modifying or debugging an existing codebase, or simply answering a question.**Absolute paths only****Proactiveness**[/ignore]",o={google:{token:"https://oauth2.googleapis.com/token",auth:"https://accounts.google.com/o/oauth2/auth"},openai:{token:"https://auth.openai.com/oauth/token",auth:"https://auth.openai.com/oauth/authorize"},anthropic:{token:"https://console.anthropic.com/v1/oauth/token",auth:"https://console.anthropic.com/v1/oauth/authorize"},qwen:{token:"https://chat.qwen.ai/api/v1/oauth2/token",auth:"https://chat.qwen.ai/api/v1/oauth2/device/code"},iflow:{token:"https://iflow.cn/oauth/token",auth:"https://iflow.cn/oauth"},github:{token:"https://github.com/login/oauth/access_token",auth:"https://github.com/login/oauth/authorize",deviceCode:"https://github.com/login/device/code"}},p=64e3,q=32e3,r={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},s={[r.BAD_REQUEST]:{type:"invalid_request_error",code:"bad_request"},[r.UNAUTHORIZED]:{type:"authentication_error",code:"invalid_api_key"},[r.FORBIDDEN]:{type:"permission_error",code:"insufficient_quota"},[r.NOT_FOUND]:{type:"invalid_request_error",code:"model_not_found"},[r.RATE_LIMITED]:{type:"rate_limit_error",code:"rate_limit_exceeded"},[r.SERVER_ERROR]:{type:"server_error",code:"internal_server_error"},[r.BAD_GATEWAY]:{type:"server_error",code:"bad_gateway"},[r.SERVICE_UNAVAILABLE]:{type:"server_error",code:"service_unavailable"},[r.GATEWAY_TIMEOUT]:{type:"server_error",code:"gateway_timeout"}},t={[r.BAD_REQUEST]:"Bad request",[r.UNAUTHORIZED]:"Invalid API key provided",[r.FORBIDDEN]:"You exceeded your current quota",[r.NOT_FOUND]:"Model not found",[r.RATE_LIMITED]:"Rate limit exceeded",[r.SERVER_ERROR]:"Internal server error",[r.BAD_GATEWAY]:"Bad gateway - upstream provider error",[r.SERVICE_UNAVAILABLE]:"Service temporarily unavailable",[r.GATEWAY_TIMEOUT]:"Gateway timeout"},u={base:1e3,max:12e4,maxLevel:15},v={QUOTA_EXHAUSTED:"quota_exhausted",RATE_LIMIT_EXCEEDED:"rate_limit_exceeded",MODEL_CAPACITY:"model_capacity",SERVER_ERROR:"server_error",AUTH_ERROR:"auth_error",UNKNOWN:"unknown"},w={unauthorized:12e4,paymentRequired:12e4,notFound:12e4,transient:3e4,requestNotAllowed:5e3,rateLimit:12e4,serviceUnavailable:2e3,authExpired:12e4},x=["Please write a 5-10 word title for the following conversation:"]}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=2399,exports.ids=[2399],exports.modules={49263:(a,b,c)=>{c.d(b,{AO:()=>j,N:()=>g,Qo:()=>m,R7:()=>f,UY:()=>l,hk:()=>i,vp:()=>k});var d=c(97271);let e=new Map;function f(a,b,c,d,f){if(!c)return;let g=`${a}:${b}:${c}`;e.set(g,{reason:d,until:Date.now()+f,lockedAt:Date.now()})}function g(){let a=Date.now(),b=[];for(let[c,d]of e)if(a<=d.until){let[e,f,g]=c.split(":");b.push({provider:e,connectionId:f,model:g,reason:d.reason,remainingMs:d.until-a})}return b}function h(a=0){return Math.min(d.EQ.base*Math.pow(2,a),d.EQ.max)}function i(a,b,c=0,e=null){if(b){let a="string"==typeof b?b:JSON.stringify(b),e=a.toLowerCase();if(e.includes("no credentials"))return{shouldFallback:!0,cooldownMs:d.Bm.notFound,reason:d.QS.AUTH_ERROR};if(e.includes("request not allowed"))return{shouldFallback:!0,cooldownMs:d.Bm.requestNotAllowed,reason:d.QS.RATE_LIMIT_EXCEEDED};if(e.includes("rate limit")||e.includes("too many requests")||e.includes("quota exceeded")||e.includes("capacity")||e.includes("overloaded")){let b=Math.min(c+1,d.EQ.maxLevel),e=function(a){if(!a)return d.QS.UNKNOWN;let b=String(a).toLowerCase();return b.includes("quota exceeded")||b.includes("quota depleted")||b.includes("billing")?d.QS.QUOTA_EXHAUSTED:b.includes("rate limit")||b.includes("too many requests")||b.includes("rate_limit")?d.QS.RATE_LIMIT_EXCEEDED:b.includes("capacity")||b.includes("overloaded")||b.includes("resource exhausted")?d.QS.MODEL_CAPACITY:b.includes("unauthorized")||b.includes("invalid api key")||b.includes("authentication")?d.QS.AUTH_ERROR:b.includes("server error")||b.includes("internal error")?d.QS.SERVER_ERROR:d.QS.UNKNOWN}(a);return{shouldFallback:!0,cooldownMs:h(c),newBackoffLevel:b,reason:e}}}if(a===d.gx.UNAUTHORIZED)return{shouldFallback:!0,cooldownMs:d.Bm.unauthorized,reason:d.QS.AUTH_ERROR};if(a===d.gx.PAYMENT_REQUIRED||a===d.gx.FORBIDDEN)return{shouldFallback:!0,cooldownMs:d.Bm.paymentRequired,reason:d.QS.QUOTA_EXHAUSTED};if(a===d.gx.NOT_FOUND)return{shouldFallback:!0,cooldownMs:d.Bm.notFound,reason:d.QS.UNKNOWN};if(a===d.gx.RATE_LIMITED){let a=Math.min(c+1,d.EQ.maxLevel);return{shouldFallback:!0,cooldownMs:h(c),newBackoffLevel:a,reason:d.QS.RATE_LIMIT_EXCEEDED}}return[d.gx.NOT_ACCEPTABLE,d.gx.REQUEST_TIMEOUT,d.gx.SERVER_ERROR,d.gx.BAD_GATEWAY,d.gx.SERVICE_UNAVAILABLE,d.gx.GATEWAY_TIMEOUT].includes(a)?{shouldFallback:!0,cooldownMs:d.Bm.transient,reason:d.QS.SERVER_ERROR}:a===d.gx.BAD_REQUEST?{shouldFallback:!1,cooldownMs:0,reason:d.QS.UNKNOWN}:{shouldFallback:!0,cooldownMs:d.Bm.transient,reason:d.QS.UNKNOWN}}function j(a){return!!a&&new Date(a).getTime()>Date.now()}function k(a){return new Date(Date.now()+a).toISOString()}function l(a){let b=null,c=Date.now();for(let d of a){if(!d.rateLimitedUntil)continue;let a=new Date(d.rateLimitedUntil).getTime();a<=c||(!b||a<b)&&(b=a)}return b?new Date(b).toISOString():null}function m(a){if(!a)return"";let b=new Date(a).getTime()-Date.now();if(b<=0)return"reset after 0s";let c=Math.ceil(b/1e3),d=Math.floor(c/3600),e=Math.floor(c%3600/60),f=c%60,g=[];return d>0&&g.push(`${d}h`),e>0&&g.push(`${e}m`),(f>0||0===g.length)&&g.push(`${f}s`),`reset after ${g.join(" ")}`}setInterval(()=>{let a=Date.now();for(let[b,c]of e)a>c.until&&e.delete(b)},15e3).unref()},89865:(a,b,c)=>{c.d(b,{A1:()=>g,lR:()=>i,wO:()=>h,yj:()=>e,zL:()=>f});var d=c(97271);function e(a,b){let c;return new Response(JSON.stringify((c=d.LY[a]||(a>=500?{type:"server_error",code:"internal_server_error"}:{type:"invalid_request_error",code:""}),{error:{message:b||d.O[a]||"An error occurred",type:c.type,code:c.code}})),{status:a,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}async function f(a,b=null){let c="",d=null;try{let b=await a.text();try{let a=JSON.parse(b);c=a.error?.message||a.message||a.error||b}catch{c=b}}catch{c=`Upstream error: ${a.status}`}let e="string"==typeof c?c:JSON.stringify(c);return"antigravity"===b&&429===a.status&&(d=function(a){if("string"!=typeof a)return null;let b=a.match(/reset after (\d+h)?(\d+m)?(\d+s)?/i);if(!b)return null;let c=0;return b[1]&&(c+=60*parseInt(b[1])*6e4),b[2]&&(c+=60*parseInt(b[2])*1e3),b[3]&&(c+=1e3*parseInt(b[3])),c>0?c:null}(e)),{statusCode:a.status,message:e,retryAfterMs:d}}function g(a,b,c=null){let d={success:!1,status:a,error:b,response:e(a,b)};return c&&(d.retryAfterMs=c),d}function h(a,b,c,d){let e=Math.max(Math.ceil((new Date(c).getTime()-Date.now())/1e3),1);return new Response(JSON.stringify({error:{message:`${b} (${d})`}}),{status:a,headers:{"Content-Type":"application/json","Retry-After":String(e)}})}function i(a,b,c,d){let e=d||a.code||"FETCH_FAILED",f=a.message||"Unknown error";return`[${e}]: ${f}`}}};