omniroute 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (956) hide show
  1. package/README.de.md +4 -4
  2. package/README.es.md +4 -4
  3. package/README.fr.md +4 -4
  4. package/README.it.md +4 -4
  5. package/README.md +9 -5
  6. package/README.pt-BR.md +4 -4
  7. package/README.ru.md +4 -4
  8. package/README.zh-CN.md +4 -4
  9. package/app/.next/BUILD_ID +1 -1
  10. package/app/.next/app-path-routes-manifest.json +30 -28
  11. package/app/.next/build-manifest.json +2 -2
  12. package/app/.next/prerender-manifest.json +27 -3
  13. package/app/.next/required-server-files.json +6 -2
  14. package/app/.next/routes-manifest.json +12 -0
  15. package/app/.next/server/app/(dashboard)/dashboard/analytics/page.js +2 -2
  16. package/app/.next/server/app/(dashboard)/dashboard/analytics/page.js.nft.json +1 -1
  17. package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  18. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page.js +2 -0
  19. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page.js.nft.json +1 -0
  20. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -0
  21. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  22. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  23. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  24. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  25. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  26. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  27. package/app/.next/server/app/(dashboard)/dashboard/costs/page.js +2 -2
  28. package/app/.next/server/app/(dashboard)/dashboard/costs/page.js.nft.json +1 -1
  29. package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
  30. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  31. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  32. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  33. package/app/.next/server/app/(dashboard)/dashboard/health/page.js +2 -2
  34. package/app/.next/server/app/(dashboard)/dashboard/health/page.js.nft.json +1 -1
  35. package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  36. package/app/.next/server/app/(dashboard)/dashboard/limits/page.js +2 -2
  37. package/app/.next/server/app/(dashboard)/dashboard/limits/page.js.nft.json +1 -1
  38. package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
  39. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page.js +2 -2
  40. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page.js.nft.json +1 -1
  41. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
  42. package/app/.next/server/app/(dashboard)/dashboard/page.js +2 -2
  43. package/app/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  44. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  45. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  46. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  47. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  48. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  49. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  50. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  51. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  52. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  53. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  54. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  55. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  56. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  57. package/app/.next/server/app/(dashboard)/dashboard/settings/page.js +2 -2
  58. package/app/.next/server/app/(dashboard)/dashboard/settings/page.js.nft.json +1 -1
  59. package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
  60. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page.js +2 -2
  61. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page.js.nft.json +1 -1
  62. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  63. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js +3 -3
  64. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  65. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  66. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  67. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  68. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  69. package/app/.next/server/app/_global-error/page.js +3 -3
  70. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  71. package/app/.next/server/app/_global-error.html +2 -2
  72. package/app/.next/server/app/_global-error.rsc +12 -11
  73. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +12 -11
  74. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  75. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  76. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  77. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +4 -3
  78. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  79. package/app/.next/server/app/_not-found/page.js +2 -2
  80. package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
  81. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  82. package/app/.next/server/app/_not-found.html +1 -1
  83. package/app/.next/server/app/_not-found.rsc +18 -17
  84. package/app/.next/server/app/_not-found.segments/_full.segment.rsc +18 -17
  85. package/app/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  86. package/app/.next/server/app/_not-found.segments/_index.segment.rsc +6 -5
  87. package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  88. package/app/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  89. package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  90. package/app/.next/server/app/api/auth/login/route.js +1 -1
  91. package/app/.next/server/app/api/auth/login/route.js.nft.json +1 -1
  92. package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  93. package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  94. package/app/.next/server/app/api/auth/status/route.js +1 -0
  95. package/app/.next/server/app/api/auth/status/route.js.nft.json +1 -0
  96. package/app/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -0
  97. package/app/.next/server/app/api/cache/route.js +2 -2
  98. package/app/.next/server/app/api/cache/route.js.nft.json +1 -1
  99. package/app/.next/server/app/api/cache/route_client-reference-manifest.js +1 -1
  100. package/app/.next/server/app/api/cache/stats/route_client-reference-manifest.js +1 -1
  101. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  102. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  103. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
  104. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +2 -2
  105. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
  106. package/app/.next/server/app/api/cli-tools/backups/route.js +2 -2
  107. package/app/.next/server/app/api/cli-tools/backups/route_client-reference-manifest.js +1 -1
  108. package/app/.next/server/app/api/cli-tools/claude-settings/route.js +1 -1
  109. package/app/.next/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  110. package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
  111. package/app/.next/server/app/api/cli-tools/cline-settings/route.js +2 -2
  112. package/app/.next/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  113. package/app/.next/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
  114. package/app/.next/server/app/api/cli-tools/codex-profiles/route.js +2 -2
  115. package/app/.next/server/app/api/cli-tools/codex-profiles/route_client-reference-manifest.js +1 -1
  116. package/app/.next/server/app/api/cli-tools/codex-settings/route.js +1 -1
  117. package/app/.next/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  118. package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
  119. package/app/.next/server/app/api/cli-tools/droid-settings/route.js +2 -2
  120. package/app/.next/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  121. package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
  122. package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route_client-reference-manifest.js +1 -1
  123. package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +1 -1
  124. package/app/.next/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  125. package/app/.next/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
  126. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +1 -1
  127. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  128. package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
  129. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route.js +1 -1
  130. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route_client-reference-manifest.js +1 -1
  131. package/app/.next/server/app/api/cli-tools/status/route.js +2 -2
  132. package/app/.next/server/app/api/cli-tools/status/route.js.nft.json +1 -1
  133. package/app/.next/server/app/api/cli-tools/status/route_client-reference-manifest.js +1 -1
  134. package/app/.next/server/app/api/cloud/auth/route.js +1 -1
  135. package/app/.next/server/app/api/cloud/auth/route.js.nft.json +1 -1
  136. package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
  137. package/app/.next/server/app/api/cloud/credentials/update/route.js +1 -1
  138. package/app/.next/server/app/api/cloud/credentials/update/route.js.nft.json +1 -1
  139. package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
  140. package/app/.next/server/app/api/cloud/model/resolve/route.js +1 -1
  141. package/app/.next/server/app/api/cloud/model/resolve/route.js.nft.json +1 -1
  142. package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
  143. package/app/.next/server/app/api/cloud/models/alias/route.js +1 -1
  144. package/app/.next/server/app/api/cloud/models/alias/route.js.nft.json +1 -1
  145. package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
  146. package/app/.next/server/app/api/combos/[id]/route.js +1 -1
  147. package/app/.next/server/app/api/combos/[id]/route.js.nft.json +1 -1
  148. package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  149. package/app/.next/server/app/api/combos/metrics/route_client-reference-manifest.js +1 -1
  150. package/app/.next/server/app/api/combos/route.js +1 -1
  151. package/app/.next/server/app/api/combos/route.js.nft.json +1 -1
  152. package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
  153. package/app/.next/server/app/api/combos/test/route.js +1 -1
  154. package/app/.next/server/app/api/combos/test/route.js.nft.json +1 -1
  155. package/app/.next/server/app/api/combos/test/route_client-reference-manifest.js +1 -1
  156. package/app/.next/server/app/api/compliance/audit-log/route.js +1 -1
  157. package/app/.next/server/app/api/compliance/audit-log/route.js.nft.json +1 -1
  158. package/app/.next/server/app/api/compliance/audit-log/route_client-reference-manifest.js +1 -1
  159. package/app/.next/server/app/api/db-backups/export/route.js +1 -1
  160. package/app/.next/server/app/api/db-backups/export/route.js.nft.json +1 -1
  161. package/app/.next/server/app/api/db-backups/export/route_client-reference-manifest.js +1 -1
  162. package/app/.next/server/app/api/db-backups/exportAll/route.js +1 -1
  163. package/app/.next/server/app/api/db-backups/exportAll/route.js.nft.json +1 -1
  164. package/app/.next/server/app/api/db-backups/exportAll/route_client-reference-manifest.js +1 -1
  165. package/app/.next/server/app/api/db-backups/import/route.js +1 -1
  166. package/app/.next/server/app/api/db-backups/import/route.js.nft.json +1 -1
  167. package/app/.next/server/app/api/db-backups/import/route_client-reference-manifest.js +1 -1
  168. package/app/.next/server/app/api/db-backups/route.js +1 -1
  169. package/app/.next/server/app/api/db-backups/route.js.nft.json +1 -1
  170. package/app/.next/server/app/api/db-backups/route_client-reference-manifest.js +1 -1
  171. package/app/.next/server/app/api/evals/[suiteId]/route_client-reference-manifest.js +1 -1
  172. package/app/.next/server/app/api/evals/route_client-reference-manifest.js +1 -1
  173. package/app/.next/server/app/api/fallback/chains/route.js +2 -2
  174. package/app/.next/server/app/api/fallback/chains/route.js.nft.json +1 -1
  175. package/app/.next/server/app/api/fallback/chains/route_client-reference-manifest.js +1 -1
  176. package/app/.next/server/app/api/init/route.js +1 -1
  177. package/app/.next/server/app/api/init/route.js.nft.json +1 -1
  178. package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  179. package/app/.next/server/app/api/keys/[id]/route.js +1 -1
  180. package/app/.next/server/app/api/keys/[id]/route.js.nft.json +1 -1
  181. package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  182. package/app/.next/server/app/api/keys/route.js +1 -1
  183. package/app/.next/server/app/api/keys/route.js.nft.json +1 -1
  184. package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
  185. package/app/.next/server/app/api/models/alias/route.js +1 -1
  186. package/app/.next/server/app/api/models/alias/route.js.nft.json +1 -1
  187. package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
  188. package/app/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
  189. package/app/.next/server/app/api/models/catalog/route.js +2 -2
  190. package/app/.next/server/app/api/models/catalog/route.js.nft.json +1 -1
  191. package/app/.next/server/app/api/models/catalog/route_client-reference-manifest.js +1 -1
  192. package/app/.next/server/app/api/models/route.js +2 -2
  193. package/app/.next/server/app/api/models/route.js.nft.json +1 -1
  194. package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  195. package/app/.next/server/app/api/monitoring/health/route.js +2 -2
  196. package/app/.next/server/app/api/monitoring/health/route.js.nft.json +1 -1
  197. package/app/.next/server/app/api/monitoring/health/route_client-reference-manifest.js +1 -1
  198. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  199. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  200. package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  201. package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  202. package/app/.next/server/app/api/oauth/cursor/import/route.js +1 -1
  203. package/app/.next/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  204. package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  205. package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
  206. package/app/.next/server/app/api/oauth/kiro/import/route.js +1 -1
  207. package/app/.next/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  208. package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
  209. package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
  210. package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  211. package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  212. package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
  213. package/app/.next/server/app/api/policies/route.js +2 -2
  214. package/app/.next/server/app/api/policies/route.js.nft.json +1 -1
  215. package/app/.next/server/app/api/policies/route_client-reference-manifest.js +1 -1
  216. package/app/.next/server/app/api/pricing/defaults/route_client-reference-manifest.js +1 -1
  217. package/app/.next/server/app/api/pricing/models/route.js +1 -1
  218. package/app/.next/server/app/api/pricing/models/route.js.nft.json +1 -1
  219. package/app/.next/server/app/api/pricing/models/route_client-reference-manifest.js +1 -1
  220. package/app/.next/server/app/api/pricing/route.js +1 -1
  221. package/app/.next/server/app/api/pricing/route.js.nft.json +1 -1
  222. package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  223. package/app/.next/server/app/api/provider-metrics/route.js +2 -2
  224. package/app/.next/server/app/api/provider-metrics/route.js.nft.json +1 -1
  225. package/app/.next/server/app/api/provider-metrics/route_client-reference-manifest.js +1 -1
  226. package/app/.next/server/app/api/provider-models/route.js +1 -1
  227. package/app/.next/server/app/api/provider-models/route.js.nft.json +1 -1
  228. package/app/.next/server/app/api/provider-models/route_client-reference-manifest.js +1 -1
  229. package/app/.next/server/app/api/provider-nodes/[id]/route.js +1 -1
  230. package/app/.next/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  231. package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  232. package/app/.next/server/app/api/provider-nodes/route.js +2 -2
  233. package/app/.next/server/app/api/provider-nodes/route.js.nft.json +1 -1
  234. package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  235. package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  236. package/app/.next/server/app/api/providers/[id]/models/route.js +2 -2
  237. package/app/.next/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  238. package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  239. package/app/.next/server/app/api/providers/[id]/route.js +1 -1
  240. package/app/.next/server/app/api/providers/[id]/route.js.nft.json +1 -1
  241. package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  242. package/app/.next/server/app/api/providers/[id]/test/route.js +1 -1
  243. package/app/.next/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  244. package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  245. package/app/.next/server/app/api/providers/client/route.js +1 -1
  246. package/app/.next/server/app/api/providers/client/route.js.nft.json +1 -1
  247. package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  248. package/app/.next/server/app/api/providers/route.js +2 -2
  249. package/app/.next/server/app/api/providers/route.js.nft.json +1 -1
  250. package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
  251. package/app/.next/server/app/api/providers/test-batch/route.js +1 -1
  252. package/app/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  253. package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
  254. package/app/.next/server/app/api/providers/validate/route.js +1 -1
  255. package/app/.next/server/app/api/providers/validate/route.js.nft.json +1 -1
  256. package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  257. package/app/.next/server/app/api/rate-limit/route_client-reference-manifest.js +1 -1
  258. package/app/.next/server/app/api/rate-limits/route.js +1 -1
  259. package/app/.next/server/app/api/rate-limits/route.js.nft.json +1 -1
  260. package/app/.next/server/app/api/rate-limits/route_client-reference-manifest.js +1 -1
  261. package/app/.next/server/app/api/resilience/reset/route.js +1 -1
  262. package/app/.next/server/app/api/resilience/reset/route.js.nft.json +1 -1
  263. package/app/.next/server/app/api/resilience/reset/route_client-reference-manifest.js +1 -1
  264. package/app/.next/server/app/api/resilience/route.js +1 -1
  265. package/app/.next/server/app/api/resilience/route.js.nft.json +1 -1
  266. package/app/.next/server/app/api/resilience/route_client-reference-manifest.js +1 -1
  267. package/app/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  268. package/app/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  269. package/app/.next/server/app/api/settings/combo-defaults/route.js +1 -1
  270. package/app/.next/server/app/api/settings/combo-defaults/route.js.nft.json +1 -1
  271. package/app/.next/server/app/api/settings/combo-defaults/route_client-reference-manifest.js +1 -1
  272. package/app/.next/server/app/api/settings/ip-filter/route_client-reference-manifest.js +1 -1
  273. package/app/.next/server/app/api/settings/proxy/route.js +1 -1
  274. package/app/.next/server/app/api/settings/proxy/route.js.nft.json +1 -1
  275. package/app/.next/server/app/api/settings/proxy/route_client-reference-manifest.js +1 -1
  276. package/app/.next/server/app/api/settings/proxy/test/route_client-reference-manifest.js +1 -1
  277. package/app/.next/server/app/api/settings/require-login/route.js +1 -1
  278. package/app/.next/server/app/api/settings/require-login/route.js.nft.json +1 -1
  279. package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  280. package/app/.next/server/app/api/settings/route.js +1 -1
  281. package/app/.next/server/app/api/settings/route.js.nft.json +1 -1
  282. package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  283. package/app/.next/server/app/api/settings/system-prompt/route.js +1 -1
  284. package/app/.next/server/app/api/settings/system-prompt/route.js.nft.json +1 -1
  285. package/app/.next/server/app/api/settings/system-prompt/route_client-reference-manifest.js +1 -1
  286. package/app/.next/server/app/api/settings/thinking-budget/route.js +1 -1
  287. package/app/.next/server/app/api/settings/thinking-budget/route.js.nft.json +1 -1
  288. package/app/.next/server/app/api/settings/thinking-budget/route_client-reference-manifest.js +1 -1
  289. package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  290. package/app/.next/server/app/api/storage/health/route_client-reference-manifest.js +1 -1
  291. package/app/.next/server/app/api/sync/cloud/route.js +1 -1
  292. package/app/.next/server/app/api/sync/cloud/route.js.nft.json +1 -1
  293. package/app/.next/server/app/api/sync/cloud/route_client-reference-manifest.js +1 -1
  294. package/app/.next/server/app/api/sync/initialize/route.js +1 -1
  295. package/app/.next/server/app/api/sync/initialize/route.js.nft.json +1 -1
  296. package/app/.next/server/app/api/sync/initialize/route_client-reference-manifest.js +1 -1
  297. package/app/.next/server/app/api/tags/route.js +1 -1
  298. package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
  299. package/app/.next/server/app/api/telemetry/summary/route_client-reference-manifest.js +1 -1
  300. package/app/.next/server/app/api/token-health/route.js +1 -1
  301. package/app/.next/server/app/api/token-health/route.js.nft.json +1 -1
  302. package/app/.next/server/app/api/token-health/route_client-reference-manifest.js +1 -1
  303. package/app/.next/server/app/api/translator/detect/route_client-reference-manifest.js +1 -1
  304. package/app/.next/server/app/api/translator/history/route_client-reference-manifest.js +1 -1
  305. package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  306. package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  307. package/app/.next/server/app/api/translator/send/route.js +1 -1
  308. package/app/.next/server/app/api/translator/send/route.js.nft.json +1 -1
  309. package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  310. package/app/.next/server/app/api/translator/translate/route.js +1 -1
  311. package/app/.next/server/app/api/translator/translate/route.js.nft.json +1 -1
  312. package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  313. package/app/.next/server/app/api/usage/[connectionId]/route.js +1 -1
  314. package/app/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  315. package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  316. package/app/.next/server/app/api/usage/analytics/route.js +1 -1
  317. package/app/.next/server/app/api/usage/analytics/route.js.nft.json +1 -1
  318. package/app/.next/server/app/api/usage/analytics/route_client-reference-manifest.js +1 -1
  319. package/app/.next/server/app/api/usage/budget/route.js +2 -2
  320. package/app/.next/server/app/api/usage/budget/route.js.nft.json +1 -1
  321. package/app/.next/server/app/api/usage/budget/route_client-reference-manifest.js +1 -1
  322. package/app/.next/server/app/api/usage/call-logs/[id]/route.js +1 -1
  323. package/app/.next/server/app/api/usage/call-logs/[id]/route.js.nft.json +1 -1
  324. package/app/.next/server/app/api/usage/call-logs/[id]/route_client-reference-manifest.js +1 -1
  325. package/app/.next/server/app/api/usage/call-logs/route.js +1 -1
  326. package/app/.next/server/app/api/usage/call-logs/route.js.nft.json +1 -1
  327. package/app/.next/server/app/api/usage/call-logs/route_client-reference-manifest.js +1 -1
  328. package/app/.next/server/app/api/usage/history/route.js +1 -1
  329. package/app/.next/server/app/api/usage/history/route.js.nft.json +1 -1
  330. package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  331. package/app/.next/server/app/api/usage/logs/route.js +1 -1
  332. package/app/.next/server/app/api/usage/logs/route.js.nft.json +1 -1
  333. package/app/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
  334. package/app/.next/server/app/api/usage/proxy-logs/route.js +2 -2
  335. package/app/.next/server/app/api/usage/proxy-logs/route.js.nft.json +1 -1
  336. package/app/.next/server/app/api/usage/proxy-logs/route_client-reference-manifest.js +1 -1
  337. package/app/.next/server/app/api/usage/request-logs/route.js +1 -1
  338. package/app/.next/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  339. package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  340. package/app/.next/server/app/api/v1/api/chat/route.js +1 -1
  341. package/app/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  342. package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  343. package/app/.next/server/app/api/v1/audio/speech/route.js +1 -1
  344. package/app/.next/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  345. package/app/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
  346. package/app/.next/server/app/api/v1/audio/transcriptions/route.js +1 -1
  347. package/app/.next/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  348. package/app/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
  349. package/app/.next/server/app/api/v1/chat/completions/route.js +1 -1
  350. package/app/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  351. package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  352. package/app/.next/server/app/api/v1/embeddings/route.js +1 -1
  353. package/app/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  354. package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
  355. package/app/.next/server/app/api/v1/images/generations/route.js +1 -1
  356. package/app/.next/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  357. package/app/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
  358. package/app/.next/server/app/api/v1/messages/count_tokens/route.js +1 -1
  359. package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  360. package/app/.next/server/app/api/v1/messages/route.js +1 -1
  361. package/app/.next/server/app/api/v1/messages/route.js.nft.json +1 -1
  362. package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  363. package/app/.next/server/app/api/v1/models/route.js +2 -2
  364. package/app/.next/server/app/api/v1/models/route.js.nft.json +1 -1
  365. package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  366. package/app/.next/server/app/api/v1/moderations/route.js +1 -1
  367. package/app/.next/server/app/api/v1/moderations/route.js.nft.json +1 -1
  368. package/app/.next/server/app/api/v1/moderations/route_client-reference-manifest.js +1 -1
  369. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route.js +1 -1
  370. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route.js.nft.json +1 -1
  371. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route_client-reference-manifest.js +1 -1
  372. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route.js +1 -1
  373. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route.js.nft.json +1 -1
  374. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route_client-reference-manifest.js +1 -1
  375. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route.js +1 -1
  376. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route.js.nft.json +1 -1
  377. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route_client-reference-manifest.js +1 -1
  378. package/app/.next/server/app/api/v1/rerank/route.js +1 -1
  379. package/app/.next/server/app/api/v1/rerank/route.js.nft.json +1 -1
  380. package/app/.next/server/app/api/v1/rerank/route_client-reference-manifest.js +1 -1
  381. package/app/.next/server/app/api/v1/responses/route.js +1 -1
  382. package/app/.next/server/app/api/v1/responses/route.js.nft.json +1 -1
  383. package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  384. package/app/.next/server/app/api/v1/route.js +1 -1
  385. package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
  386. package/app/.next/server/app/api/v1beta/models/[...path]/route.js +1 -1
  387. package/app/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  388. package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  389. package/app/.next/server/app/api/v1beta/models/route.js +1 -1
  390. package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  391. package/app/.next/server/app/callback/page.js +2 -2
  392. package/app/.next/server/app/callback/page.js.nft.json +1 -1
  393. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  394. package/app/.next/server/app/callback.html +1 -1
  395. package/app/.next/server/app/callback.rsc +19 -18
  396. package/app/.next/server/app/callback.segments/_full.segment.rsc +19 -18
  397. package/app/.next/server/app/callback.segments/_head.segment.rsc +1 -1
  398. package/app/.next/server/app/callback.segments/_index.segment.rsc +6 -5
  399. package/app/.next/server/app/callback.segments/_tree.segment.rsc +2 -2
  400. package/app/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  401. package/app/.next/server/app/callback.segments/callback.segment.rsc +1 -1
  402. package/app/.next/server/app/dashboard/analytics.html +2 -1
  403. package/app/.next/server/app/dashboard/analytics.rsc +21 -19
  404. package/app/.next/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard/analytics/__PAGE__.segment.rsc +2 -2
  405. package/app/.next/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard/analytics.segment.rsc +2 -1
  406. package/app/.next/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  407. package/app/.next/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  408. package/app/.next/server/app/dashboard/analytics.segments/_full.segment.rsc +21 -19
  409. package/app/.next/server/app/dashboard/analytics.segments/_head.segment.rsc +1 -1
  410. package/app/.next/server/app/dashboard/analytics.segments/_index.segment.rsc +6 -5
  411. package/app/.next/server/app/dashboard/analytics.segments/_tree.segment.rsc +2 -2
  412. package/app/.next/server/app/dashboard/audit-log.html +1 -0
  413. package/app/.next/server/app/dashboard/audit-log.meta +17 -0
  414. package/app/.next/server/app/dashboard/audit-log.rsc +25 -0
  415. package/app/.next/server/app/dashboard/audit-log.segments/!KGRhc2hib2FyZCk/dashboard/audit-log/__PAGE__.segment.rsc +9 -0
  416. package/app/.next/server/app/dashboard/audit-log.segments/!KGRhc2hib2FyZCk/dashboard/audit-log.segment.rsc +4 -0
  417. package/app/.next/server/app/dashboard/audit-log.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +4 -0
  418. package/app/.next/server/app/dashboard/audit-log.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -0
  419. package/app/.next/server/app/dashboard/audit-log.segments/_full.segment.rsc +25 -0
  420. package/app/.next/server/app/dashboard/audit-log.segments/_head.segment.rsc +6 -0
  421. package/app/.next/server/app/dashboard/audit-log.segments/_index.segment.rsc +10 -0
  422. package/app/.next/server/app/dashboard/audit-log.segments/_tree.segment.rsc +5 -0
  423. package/app/.next/server/app/dashboard/cli-tools.html +1 -1
  424. package/app/.next/server/app/dashboard/cli-tools.rsc +18 -17
  425. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  426. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  427. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  428. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  429. package/app/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +18 -17
  430. package/app/.next/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  431. package/app/.next/server/app/dashboard/cli-tools.segments/_index.segment.rsc +6 -5
  432. package/app/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  433. package/app/.next/server/app/dashboard/combos.html +1 -1
  434. package/app/.next/server/app/dashboard/combos.rsc +20 -19
  435. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  436. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  437. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  438. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  439. package/app/.next/server/app/dashboard/combos.segments/_full.segment.rsc +20 -19
  440. package/app/.next/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  441. package/app/.next/server/app/dashboard/combos.segments/_index.segment.rsc +6 -5
  442. package/app/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  443. package/app/.next/server/app/dashboard/costs.html +1 -1
  444. package/app/.next/server/app/dashboard/costs.rsc +20 -19
  445. package/app/.next/server/app/dashboard/costs.segments/!KGRhc2hib2FyZCk/dashboard/costs/__PAGE__.segment.rsc +2 -2
  446. package/app/.next/server/app/dashboard/costs.segments/!KGRhc2hib2FyZCk/dashboard/costs.segment.rsc +1 -1
  447. package/app/.next/server/app/dashboard/costs.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  448. package/app/.next/server/app/dashboard/costs.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  449. package/app/.next/server/app/dashboard/costs.segments/_full.segment.rsc +20 -19
  450. package/app/.next/server/app/dashboard/costs.segments/_head.segment.rsc +1 -1
  451. package/app/.next/server/app/dashboard/costs.segments/_index.segment.rsc +6 -5
  452. package/app/.next/server/app/dashboard/costs.segments/_tree.segment.rsc +2 -2
  453. package/app/.next/server/app/dashboard/endpoint.html +1 -1
  454. package/app/.next/server/app/dashboard/endpoint.rsc +18 -17
  455. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  456. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  457. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  458. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  459. package/app/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +18 -17
  460. package/app/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  461. package/app/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +6 -5
  462. package/app/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  463. package/app/.next/server/app/dashboard/health.html +1 -1
  464. package/app/.next/server/app/dashboard/health.rsc +20 -19
  465. package/app/.next/server/app/dashboard/health.segments/!KGRhc2hib2FyZCk/dashboard/health/__PAGE__.segment.rsc +2 -2
  466. package/app/.next/server/app/dashboard/health.segments/!KGRhc2hib2FyZCk/dashboard/health.segment.rsc +1 -1
  467. package/app/.next/server/app/dashboard/health.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  468. package/app/.next/server/app/dashboard/health.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  469. package/app/.next/server/app/dashboard/health.segments/_full.segment.rsc +20 -19
  470. package/app/.next/server/app/dashboard/health.segments/_head.segment.rsc +1 -1
  471. package/app/.next/server/app/dashboard/health.segments/_index.segment.rsc +6 -5
  472. package/app/.next/server/app/dashboard/health.segments/_tree.segment.rsc +2 -2
  473. package/app/.next/server/app/dashboard/limits.html +2 -2
  474. package/app/.next/server/app/dashboard/limits.rsc +20 -19
  475. package/app/.next/server/app/dashboard/limits.segments/!KGRhc2hib2FyZCk/dashboard/limits/__PAGE__.segment.rsc +2 -2
  476. package/app/.next/server/app/dashboard/limits.segments/!KGRhc2hib2FyZCk/dashboard/limits.segment.rsc +1 -1
  477. package/app/.next/server/app/dashboard/limits.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  478. package/app/.next/server/app/dashboard/limits.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  479. package/app/.next/server/app/dashboard/limits.segments/_full.segment.rsc +20 -19
  480. package/app/.next/server/app/dashboard/limits.segments/_head.segment.rsc +1 -1
  481. package/app/.next/server/app/dashboard/limits.segments/_index.segment.rsc +6 -5
  482. package/app/.next/server/app/dashboard/limits.segments/_tree.segment.rsc +2 -2
  483. package/app/.next/server/app/dashboard/onboarding.html +1 -1
  484. package/app/.next/server/app/dashboard/onboarding.rsc +20 -19
  485. package/app/.next/server/app/dashboard/onboarding.segments/!KGRhc2hib2FyZCk/dashboard/onboarding/__PAGE__.segment.rsc +2 -2
  486. package/app/.next/server/app/dashboard/onboarding.segments/!KGRhc2hib2FyZCk/dashboard/onboarding.segment.rsc +1 -1
  487. package/app/.next/server/app/dashboard/onboarding.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  488. package/app/.next/server/app/dashboard/onboarding.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  489. package/app/.next/server/app/dashboard/onboarding.segments/_full.segment.rsc +20 -19
  490. package/app/.next/server/app/dashboard/onboarding.segments/_head.segment.rsc +1 -1
  491. package/app/.next/server/app/dashboard/onboarding.segments/_index.segment.rsc +6 -5
  492. package/app/.next/server/app/dashboard/onboarding.segments/_tree.segment.rsc +2 -2
  493. package/app/.next/server/app/dashboard/profile.html +1 -1
  494. package/app/.next/server/app/dashboard/profile.rsc +17 -16
  495. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +1 -1
  496. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  497. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  498. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  499. package/app/.next/server/app/dashboard/profile.segments/_full.segment.rsc +17 -16
  500. package/app/.next/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  501. package/app/.next/server/app/dashboard/profile.segments/_index.segment.rsc +6 -5
  502. package/app/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  503. package/app/.next/server/app/dashboard/providers/new.html +2 -1
  504. package/app/.next/server/app/dashboard/providers/new.rsc +22 -19
  505. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  506. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  507. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +4 -2
  508. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  509. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  510. package/app/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +22 -19
  511. package/app/.next/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  512. package/app/.next/server/app/dashboard/providers/new.segments/_index.segment.rsc +6 -5
  513. package/app/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  514. package/app/.next/server/app/dashboard/providers.html +2 -1
  515. package/app/.next/server/app/dashboard/providers.rsc +22 -19
  516. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  517. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +4 -2
  518. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  519. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  520. package/app/.next/server/app/dashboard/providers.segments/_full.segment.rsc +22 -19
  521. package/app/.next/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  522. package/app/.next/server/app/dashboard/providers.segments/_index.segment.rsc +6 -5
  523. package/app/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  524. package/app/.next/server/app/dashboard/settings/pricing.html +2 -1
  525. package/app/.next/server/app/dashboard/settings/pricing.rsc +22 -19
  526. package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  527. package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing.segment.rsc +1 -1
  528. package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings.segment.rsc +4 -2
  529. package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  530. package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  531. package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +22 -19
  532. package/app/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  533. package/app/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +6 -5
  534. package/app/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  535. package/app/.next/server/app/dashboard/settings.html +2 -1
  536. package/app/.next/server/app/dashboard/settings.rsc +22 -19
  537. package/app/.next/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk/dashboard/settings/__PAGE__.segment.rsc +2 -2
  538. package/app/.next/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk/dashboard/settings.segment.rsc +4 -2
  539. package/app/.next/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  540. package/app/.next/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  541. package/app/.next/server/app/dashboard/settings.segments/_full.segment.rsc +22 -19
  542. package/app/.next/server/app/dashboard/settings.segments/_head.segment.rsc +1 -1
  543. package/app/.next/server/app/dashboard/settings.segments/_index.segment.rsc +6 -5
  544. package/app/.next/server/app/dashboard/settings.segments/_tree.segment.rsc +2 -2
  545. package/app/.next/server/app/dashboard/translator.html +2 -2
  546. package/app/.next/server/app/dashboard/translator.rsc +17 -16
  547. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  548. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  549. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  550. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  551. package/app/.next/server/app/dashboard/translator.segments/_full.segment.rsc +17 -16
  552. package/app/.next/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  553. package/app/.next/server/app/dashboard/translator.segments/_index.segment.rsc +6 -5
  554. package/app/.next/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  555. package/app/.next/server/app/dashboard/usage.html +1 -1
  556. package/app/.next/server/app/dashboard/usage.rsc +20 -19
  557. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  558. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  559. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  560. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  561. package/app/.next/server/app/dashboard/usage.segments/_full.segment.rsc +20 -19
  562. package/app/.next/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  563. package/app/.next/server/app/dashboard/usage.segments/_index.segment.rsc +6 -5
  564. package/app/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  565. package/app/.next/server/app/docs/page.js +3 -3
  566. package/app/.next/server/app/docs/page.js.nft.json +1 -1
  567. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  568. package/app/.next/server/app/docs.html +1 -1
  569. package/app/.next/server/app/docs.rsc +83 -82
  570. package/app/.next/server/app/docs.segments/_full.segment.rsc +83 -82
  571. package/app/.next/server/app/docs.segments/_head.segment.rsc +1 -1
  572. package/app/.next/server/app/docs.segments/_index.segment.rsc +6 -5
  573. package/app/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
  574. package/app/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +2 -2
  575. package/app/.next/server/app/docs.segments/docs.segment.rsc +1 -1
  576. package/app/.next/server/app/forbidden/page.js +2 -2
  577. package/app/.next/server/app/forbidden/page.js.nft.json +1 -1
  578. package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
  579. package/app/.next/server/app/forbidden.html +1 -1
  580. package/app/.next/server/app/forbidden.rsc +19 -18
  581. package/app/.next/server/app/forbidden.segments/_full.segment.rsc +19 -18
  582. package/app/.next/server/app/forbidden.segments/_head.segment.rsc +1 -1
  583. package/app/.next/server/app/forbidden.segments/_index.segment.rsc +6 -5
  584. package/app/.next/server/app/forbidden.segments/_tree.segment.rsc +2 -2
  585. package/app/.next/server/app/forbidden.segments/forbidden/__PAGE__.segment.rsc +1 -1
  586. package/app/.next/server/app/forbidden.segments/forbidden.segment.rsc +1 -1
  587. package/app/.next/server/app/forgot-password/page.js +2 -2
  588. package/app/.next/server/app/forgot-password/page.js.nft.json +1 -1
  589. package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  590. package/app/.next/server/app/forgot-password.html +1 -1
  591. package/app/.next/server/app/forgot-password.rsc +19 -18
  592. package/app/.next/server/app/forgot-password.segments/_full.segment.rsc +19 -18
  593. package/app/.next/server/app/forgot-password.segments/_head.segment.rsc +1 -1
  594. package/app/.next/server/app/forgot-password.segments/_index.segment.rsc +6 -5
  595. package/app/.next/server/app/forgot-password.segments/_tree.segment.rsc +2 -2
  596. package/app/.next/server/app/forgot-password.segments/forgot-password/__PAGE__.segment.rsc +2 -2
  597. package/app/.next/server/app/forgot-password.segments/forgot-password.segment.rsc +1 -1
  598. package/app/.next/server/app/index.html +1 -1
  599. package/app/.next/server/app/index.rsc +16 -15
  600. package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  601. package/app/.next/server/app/index.segments/_full.segment.rsc +16 -15
  602. package/app/.next/server/app/index.segments/_head.segment.rsc +1 -1
  603. package/app/.next/server/app/index.segments/_index.segment.rsc +6 -5
  604. package/app/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  605. package/app/.next/server/app/landing/page.js +2 -2
  606. package/app/.next/server/app/landing/page.js.nft.json +1 -1
  607. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  608. package/app/.next/server/app/landing.html +1 -1
  609. package/app/.next/server/app/landing.rsc +19 -18
  610. package/app/.next/server/app/landing.segments/_full.segment.rsc +19 -18
  611. package/app/.next/server/app/landing.segments/_head.segment.rsc +1 -1
  612. package/app/.next/server/app/landing.segments/_index.segment.rsc +6 -5
  613. package/app/.next/server/app/landing.segments/_tree.segment.rsc +2 -2
  614. package/app/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  615. package/app/.next/server/app/landing.segments/landing.segment.rsc +1 -1
  616. package/app/.next/server/app/login/page.js +2 -2
  617. package/app/.next/server/app/login/page.js.nft.json +1 -1
  618. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  619. package/app/.next/server/app/login.html +1 -1
  620. package/app/.next/server/app/login.rsc +19 -18
  621. package/app/.next/server/app/login.segments/_full.segment.rsc +19 -18
  622. package/app/.next/server/app/login.segments/_head.segment.rsc +1 -1
  623. package/app/.next/server/app/login.segments/_index.segment.rsc +6 -5
  624. package/app/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  625. package/app/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  626. package/app/.next/server/app/login.segments/login.segment.rsc +1 -1
  627. package/app/.next/server/app/page.js +2 -2
  628. package/app/.next/server/app/page.js.nft.json +1 -1
  629. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  630. package/app/.next/server/app/privacy/page.js +2 -2
  631. package/app/.next/server/app/privacy/page.js.nft.json +1 -1
  632. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  633. package/app/.next/server/app/privacy.html +1 -1
  634. package/app/.next/server/app/privacy.rsc +23 -22
  635. package/app/.next/server/app/privacy.segments/_full.segment.rsc +23 -22
  636. package/app/.next/server/app/privacy.segments/_head.segment.rsc +1 -1
  637. package/app/.next/server/app/privacy.segments/_index.segment.rsc +6 -5
  638. package/app/.next/server/app/privacy.segments/_tree.segment.rsc +2 -2
  639. package/app/.next/server/app/privacy.segments/privacy/__PAGE__.segment.rsc +1 -1
  640. package/app/.next/server/app/privacy.segments/privacy.segment.rsc +1 -1
  641. package/app/.next/server/app/terms/page.js +2 -2
  642. package/app/.next/server/app/terms/page.js.nft.json +1 -1
  643. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  644. package/app/.next/server/app/terms.html +1 -1
  645. package/app/.next/server/app/terms.rsc +24 -23
  646. package/app/.next/server/app/terms.segments/_full.segment.rsc +24 -23
  647. package/app/.next/server/app/terms.segments/_head.segment.rsc +1 -1
  648. package/app/.next/server/app/terms.segments/_index.segment.rsc +6 -5
  649. package/app/.next/server/app/terms.segments/_tree.segment.rsc +2 -2
  650. package/app/.next/server/app/terms.segments/terms/__PAGE__.segment.rsc +1 -1
  651. package/app/.next/server/app/terms.segments/terms.segment.rsc +1 -1
  652. package/app/.next/server/app-paths-manifest.json +30 -28
  653. package/app/.next/server/chunks/1079.js +1 -1
  654. package/app/.next/server/chunks/239.js +1 -1
  655. package/app/.next/server/chunks/2620.js +1 -1
  656. package/app/.next/server/chunks/2767.js +6 -6
  657. package/app/.next/server/chunks/287.js +1 -1
  658. package/app/.next/server/chunks/{1549.js → 2910.js} +17 -3
  659. package/app/.next/server/chunks/3447.js +9 -0
  660. package/app/.next/server/chunks/4133.js +1 -0
  661. package/app/.next/server/chunks/4488.js +243 -0
  662. package/app/.next/server/chunks/7109.js +1 -1
  663. package/app/.next/server/chunks/7230.js +4 -4
  664. package/app/.next/server/chunks/73.js +1 -0
  665. package/app/.next/server/chunks/7669.js +1 -1
  666. package/app/.next/server/chunks/7723.js +2 -0
  667. package/app/.next/server/chunks/9979.js +2 -0
  668. package/app/.next/server/functions-config-manifest.json +4 -0
  669. package/app/.next/server/instrumentation.js +1 -0
  670. package/app/.next/server/middleware.js +18 -4
  671. package/app/.next/server/pages/404.html +1 -1
  672. package/app/.next/server/pages/500.html +2 -2
  673. package/app/.next/server/server-reference-manifest.js +1 -1
  674. package/app/.next/server/server-reference-manifest.json +1 -1
  675. package/app/.next/static/chunks/{5846-dfe52e95348ffdd8.js → 5846-69e259486db2f6f8.js} +1 -1
  676. package/app/.next/static/chunks/app/(dashboard)/dashboard/analytics/loading-6f1750506292c630.js +1 -0
  677. package/app/.next/static/chunks/app/(dashboard)/dashboard/analytics/{page-74ac2092c2a6b3dc.js → page-f8b57e41a1b6fce6.js} +1 -1
  678. package/app/.next/static/chunks/app/(dashboard)/dashboard/audit-log/page-c37f849e39b1bf02.js +1 -0
  679. package/app/.next/static/chunks/app/(dashboard)/dashboard/onboarding/page-19072ecdea202e4e.js +1 -0
  680. package/app/.next/static/chunks/app/(dashboard)/dashboard/page-d2651dc387e7fdfd.js +1 -0
  681. package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/{page-58b169603fdf1d6f.js → page-2e6b2c37e502d893.js} +1 -1
  682. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/error-2f0177a2197dd556.js +1 -0
  683. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/loading-99ab4d478260d53b.js +1 -0
  684. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/error-e844916e39172c8b.js +1 -0
  685. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/loading-bb068659ee679ff4.js +1 -0
  686. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/page-1067b7b1be3728d7.js +1 -0
  687. package/app/.next/static/chunks/app/_global-error/{page-58b169603fdf1d6f.js → page-2e6b2c37e502d893.js} +1 -1
  688. package/app/.next/static/chunks/app/_not-found/{page-58b169603fdf1d6f.js → page-2e6b2c37e502d893.js} +1 -1
  689. package/app/.next/static/chunks/app/api/auth/login/{route-58b169603fdf1d6f.js → route-2e6b2c37e502d893.js} +1 -1
  690. package/app/.next/static/chunks/app/api/auth/logout/route-2e6b2c37e502d893.js +1 -0
  691. package/app/.next/static/chunks/app/api/auth/status/route-2e6b2c37e502d893.js +1 -0
  692. package/app/.next/static/chunks/app/api/cache/route-2e6b2c37e502d893.js +1 -0
  693. package/app/.next/static/chunks/app/api/cache/stats/route-2e6b2c37e502d893.js +1 -0
  694. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-2e6b2c37e502d893.js +1 -0
  695. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-2e6b2c37e502d893.js +1 -0
  696. package/app/.next/static/chunks/app/api/cli-tools/backups/route-2e6b2c37e502d893.js +1 -0
  697. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-2e6b2c37e502d893.js +1 -0
  698. package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-2e6b2c37e502d893.js +1 -0
  699. package/app/.next/static/chunks/app/api/cli-tools/codex-profiles/route-2e6b2c37e502d893.js +1 -0
  700. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-2e6b2c37e502d893.js +1 -0
  701. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-2e6b2c37e502d893.js +1 -0
  702. package/app/.next/static/chunks/app/api/cli-tools/guide-settings/[toolId]/route-2e6b2c37e502d893.js +1 -0
  703. package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-2e6b2c37e502d893.js +1 -0
  704. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-2e6b2c37e502d893.js +1 -0
  705. package/app/.next/static/chunks/app/api/cli-tools/runtime/[toolId]/route-2e6b2c37e502d893.js +1 -0
  706. package/app/.next/static/chunks/app/api/cli-tools/status/route-2e6b2c37e502d893.js +1 -0
  707. package/app/.next/static/chunks/app/api/cloud/auth/route-2e6b2c37e502d893.js +1 -0
  708. package/app/.next/static/chunks/app/api/cloud/credentials/update/route-2e6b2c37e502d893.js +1 -0
  709. package/app/.next/static/chunks/app/api/cloud/model/resolve/route-2e6b2c37e502d893.js +1 -0
  710. package/app/.next/static/chunks/app/api/cloud/models/alias/route-2e6b2c37e502d893.js +1 -0
  711. package/app/.next/static/chunks/app/api/combos/[id]/route-2e6b2c37e502d893.js +1 -0
  712. package/app/.next/static/chunks/app/api/combos/metrics/route-2e6b2c37e502d893.js +1 -0
  713. package/app/.next/static/chunks/app/api/combos/route-2e6b2c37e502d893.js +1 -0
  714. package/app/.next/static/chunks/app/api/combos/test/route-2e6b2c37e502d893.js +1 -0
  715. package/app/.next/static/chunks/app/api/compliance/audit-log/route-2e6b2c37e502d893.js +1 -0
  716. package/app/.next/static/chunks/app/api/db-backups/export/route-2e6b2c37e502d893.js +1 -0
  717. package/app/.next/static/chunks/app/api/db-backups/exportAll/route-2e6b2c37e502d893.js +1 -0
  718. package/app/.next/static/chunks/app/api/db-backups/import/route-2e6b2c37e502d893.js +1 -0
  719. package/app/.next/static/chunks/app/api/db-backups/route-2e6b2c37e502d893.js +1 -0
  720. package/app/.next/static/chunks/app/api/evals/[suiteId]/route-2e6b2c37e502d893.js +1 -0
  721. package/app/.next/static/chunks/app/api/evals/route-2e6b2c37e502d893.js +1 -0
  722. package/app/.next/static/chunks/app/api/fallback/chains/route-2e6b2c37e502d893.js +1 -0
  723. package/app/.next/static/chunks/app/api/init/route-2e6b2c37e502d893.js +1 -0
  724. package/app/.next/static/chunks/app/api/keys/[id]/route-2e6b2c37e502d893.js +1 -0
  725. package/app/.next/static/chunks/app/api/keys/route-2e6b2c37e502d893.js +1 -0
  726. package/app/.next/static/chunks/app/api/models/alias/route-2e6b2c37e502d893.js +1 -0
  727. package/app/.next/static/chunks/app/api/models/availability/route-2e6b2c37e502d893.js +1 -0
  728. package/app/.next/static/chunks/app/api/models/catalog/route-2e6b2c37e502d893.js +1 -0
  729. package/app/.next/static/chunks/app/api/models/route-2e6b2c37e502d893.js +1 -0
  730. package/app/.next/static/chunks/app/api/monitoring/health/route-2e6b2c37e502d893.js +1 -0
  731. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-2e6b2c37e502d893.js +1 -0
  732. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-2e6b2c37e502d893.js +1 -0
  733. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-2e6b2c37e502d893.js +1 -0
  734. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-2e6b2c37e502d893.js +1 -0
  735. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-2e6b2c37e502d893.js +1 -0
  736. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-2e6b2c37e502d893.js +1 -0
  737. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-2e6b2c37e502d893.js +1 -0
  738. package/app/.next/static/chunks/app/api/policies/route-2e6b2c37e502d893.js +1 -0
  739. package/app/.next/static/chunks/app/api/pricing/defaults/route-2e6b2c37e502d893.js +1 -0
  740. package/app/.next/static/chunks/app/api/pricing/models/route-2e6b2c37e502d893.js +1 -0
  741. package/app/.next/static/chunks/app/api/pricing/route-2e6b2c37e502d893.js +1 -0
  742. package/app/.next/static/chunks/app/api/provider-metrics/route-2e6b2c37e502d893.js +1 -0
  743. package/app/.next/static/chunks/app/api/provider-models/route-2e6b2c37e502d893.js +1 -0
  744. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-2e6b2c37e502d893.js +1 -0
  745. package/app/.next/static/chunks/app/api/provider-nodes/route-2e6b2c37e502d893.js +1 -0
  746. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-2e6b2c37e502d893.js +1 -0
  747. package/app/.next/static/chunks/app/api/providers/[id]/models/route-2e6b2c37e502d893.js +1 -0
  748. package/app/.next/static/chunks/app/api/providers/[id]/route-2e6b2c37e502d893.js +1 -0
  749. package/app/.next/static/chunks/app/api/providers/[id]/test/route-2e6b2c37e502d893.js +1 -0
  750. package/app/.next/static/chunks/app/api/providers/client/route-2e6b2c37e502d893.js +1 -0
  751. package/app/.next/static/chunks/app/api/providers/route-2e6b2c37e502d893.js +1 -0
  752. package/app/.next/static/chunks/app/api/providers/test-batch/route-2e6b2c37e502d893.js +1 -0
  753. package/app/.next/static/chunks/app/api/providers/validate/route-2e6b2c37e502d893.js +1 -0
  754. package/app/.next/static/chunks/app/api/rate-limit/route-2e6b2c37e502d893.js +1 -0
  755. package/app/.next/static/chunks/app/api/rate-limits/route-2e6b2c37e502d893.js +1 -0
  756. package/app/.next/static/chunks/app/api/resilience/reset/route-2e6b2c37e502d893.js +1 -0
  757. package/app/.next/static/chunks/app/api/resilience/route-2e6b2c37e502d893.js +1 -0
  758. package/app/.next/static/chunks/app/api/restart/route-2e6b2c37e502d893.js +1 -0
  759. package/app/.next/static/chunks/app/api/sessions/route-2e6b2c37e502d893.js +1 -0
  760. package/app/.next/static/chunks/app/api/settings/combo-defaults/route-2e6b2c37e502d893.js +1 -0
  761. package/app/.next/static/chunks/app/api/settings/ip-filter/route-2e6b2c37e502d893.js +1 -0
  762. package/app/.next/static/chunks/app/api/settings/proxy/route-2e6b2c37e502d893.js +1 -0
  763. package/app/.next/static/chunks/app/api/settings/proxy/test/route-2e6b2c37e502d893.js +1 -0
  764. package/app/.next/static/chunks/app/api/settings/require-login/route-2e6b2c37e502d893.js +1 -0
  765. package/app/.next/static/chunks/app/api/settings/route-2e6b2c37e502d893.js +1 -0
  766. package/app/.next/static/chunks/app/api/settings/system-prompt/route-2e6b2c37e502d893.js +1 -0
  767. package/app/.next/static/chunks/app/api/settings/thinking-budget/route-2e6b2c37e502d893.js +1 -0
  768. package/app/.next/static/chunks/app/api/shutdown/route-2e6b2c37e502d893.js +1 -0
  769. package/app/.next/static/chunks/app/api/storage/health/route-2e6b2c37e502d893.js +1 -0
  770. package/app/.next/static/chunks/app/api/sync/cloud/route-2e6b2c37e502d893.js +1 -0
  771. package/app/.next/static/chunks/app/api/sync/initialize/route-2e6b2c37e502d893.js +1 -0
  772. package/app/.next/static/chunks/app/api/tags/route-2e6b2c37e502d893.js +1 -0
  773. package/app/.next/static/chunks/app/api/telemetry/summary/route-2e6b2c37e502d893.js +1 -0
  774. package/app/.next/static/chunks/app/api/token-health/route-2e6b2c37e502d893.js +1 -0
  775. package/app/.next/static/chunks/app/api/translator/detect/route-2e6b2c37e502d893.js +1 -0
  776. package/app/.next/static/chunks/app/api/translator/history/route-2e6b2c37e502d893.js +1 -0
  777. package/app/.next/static/chunks/app/api/translator/load/route-2e6b2c37e502d893.js +1 -0
  778. package/app/.next/static/chunks/app/api/translator/save/route-2e6b2c37e502d893.js +1 -0
  779. package/app/.next/static/chunks/app/api/translator/send/route-2e6b2c37e502d893.js +1 -0
  780. package/app/.next/static/chunks/app/api/translator/translate/route-2e6b2c37e502d893.js +1 -0
  781. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-2e6b2c37e502d893.js +1 -0
  782. package/app/.next/static/chunks/app/api/usage/analytics/route-2e6b2c37e502d893.js +1 -0
  783. package/app/.next/static/chunks/app/api/usage/budget/route-2e6b2c37e502d893.js +1 -0
  784. package/app/.next/static/chunks/app/api/usage/call-logs/[id]/route-2e6b2c37e502d893.js +1 -0
  785. package/app/.next/static/chunks/app/api/usage/call-logs/route-2e6b2c37e502d893.js +1 -0
  786. package/app/.next/static/chunks/app/api/usage/history/route-2e6b2c37e502d893.js +1 -0
  787. package/app/.next/static/chunks/app/api/usage/logs/route-2e6b2c37e502d893.js +1 -0
  788. package/app/.next/static/chunks/app/api/usage/proxy-logs/route-2e6b2c37e502d893.js +1 -0
  789. package/app/.next/static/chunks/app/api/usage/request-logs/route-2e6b2c37e502d893.js +1 -0
  790. package/app/.next/static/chunks/app/api/v1/api/chat/route-2e6b2c37e502d893.js +1 -0
  791. package/app/.next/static/chunks/app/api/v1/audio/speech/route-2e6b2c37e502d893.js +1 -0
  792. package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-2e6b2c37e502d893.js +1 -0
  793. package/app/.next/static/chunks/app/api/v1/chat/completions/route-2e6b2c37e502d893.js +1 -0
  794. package/app/.next/static/chunks/app/api/v1/embeddings/route-2e6b2c37e502d893.js +1 -0
  795. package/app/.next/static/chunks/app/api/v1/images/generations/route-2e6b2c37e502d893.js +1 -0
  796. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-2e6b2c37e502d893.js +1 -0
  797. package/app/.next/static/chunks/app/api/v1/messages/route-2e6b2c37e502d893.js +1 -0
  798. package/app/.next/static/chunks/app/api/v1/models/route-2e6b2c37e502d893.js +1 -0
  799. package/app/.next/static/chunks/app/api/v1/moderations/route-2e6b2c37e502d893.js +1 -0
  800. package/app/.next/static/chunks/app/api/v1/providers/[provider]/chat/completions/route-2e6b2c37e502d893.js +1 -0
  801. package/app/.next/static/chunks/app/api/v1/providers/[provider]/embeddings/route-2e6b2c37e502d893.js +1 -0
  802. package/app/.next/static/chunks/app/api/v1/providers/[provider]/images/generations/route-2e6b2c37e502d893.js +1 -0
  803. package/app/.next/static/chunks/app/api/v1/rerank/route-2e6b2c37e502d893.js +1 -0
  804. package/app/.next/static/chunks/app/api/v1/responses/route-2e6b2c37e502d893.js +1 -0
  805. package/app/.next/static/chunks/app/api/v1/route-2e6b2c37e502d893.js +1 -0
  806. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-2e6b2c37e502d893.js +1 -0
  807. package/app/.next/static/chunks/app/api/v1beta/models/route-2e6b2c37e502d893.js +1 -0
  808. package/app/.next/static/chunks/app/error-0d59fc4efafbc38c.js +1 -0
  809. package/app/.next/static/chunks/app/global-error-41eef2a698918fc1.js +1 -0
  810. package/app/.next/static/chunks/app/login/page-40a8824400706b5e.js +1 -0
  811. package/app/.next/static/chunks/app/not-found-38123f3e1e5abc33.js +1 -0
  812. package/app/.next/static/chunks/app/page-2e6b2c37e502d893.js +1 -0
  813. package/app/.next/static/chunks/{main-db1120009090c406.js → main-47efa2ccb55b4a8d.js} +1 -1
  814. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-2e6b2c37e502d893.js +1 -0
  815. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-2e6b2c37e502d893.js +1 -0
  816. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-2e6b2c37e502d893.js +1 -0
  817. package/app/.next/static/css/039e32048ea8e51e.css +1 -0
  818. package/app/.next/static/kMztjIo6CDmStqcKcXLeh/_buildManifest.js +1 -0
  819. package/app/package.json +4 -3
  820. package/app/server.js +1 -1
  821. package/app/src/lib/db/migrations/001_initial_schema.sql +202 -0
  822. package/app/src/mitm/server.ts +48 -3
  823. package/package.json +4 -3
  824. package/app/.next/server/chunks/1020.js +0 -1
  825. package/app/.next/server/chunks/2817.js +0 -4
  826. package/app/.next/server/chunks/5583.js +0 -2
  827. package/app/.next/static/chunks/app/(dashboard)/dashboard/onboarding/page-207d4961e362eae5.js +0 -1
  828. package/app/.next/static/chunks/app/(dashboard)/dashboard/page-3c840eaf6d7cd77d.js +0 -1
  829. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/page-cdc5fc5dfecc1047.js +0 -1
  830. package/app/.next/static/chunks/app/api/auth/logout/route-58b169603fdf1d6f.js +0 -1
  831. package/app/.next/static/chunks/app/api/cache/route-58b169603fdf1d6f.js +0 -1
  832. package/app/.next/static/chunks/app/api/cache/stats/route-58b169603fdf1d6f.js +0 -1
  833. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-58b169603fdf1d6f.js +0 -1
  834. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-58b169603fdf1d6f.js +0 -1
  835. package/app/.next/static/chunks/app/api/cli-tools/backups/route-58b169603fdf1d6f.js +0 -1
  836. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-58b169603fdf1d6f.js +0 -1
  837. package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-58b169603fdf1d6f.js +0 -1
  838. package/app/.next/static/chunks/app/api/cli-tools/codex-profiles/route-58b169603fdf1d6f.js +0 -1
  839. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-58b169603fdf1d6f.js +0 -1
  840. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-58b169603fdf1d6f.js +0 -1
  841. package/app/.next/static/chunks/app/api/cli-tools/guide-settings/[toolId]/route-58b169603fdf1d6f.js +0 -1
  842. package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-58b169603fdf1d6f.js +0 -1
  843. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-58b169603fdf1d6f.js +0 -1
  844. package/app/.next/static/chunks/app/api/cli-tools/runtime/[toolId]/route-58b169603fdf1d6f.js +0 -1
  845. package/app/.next/static/chunks/app/api/cli-tools/status/route-58b169603fdf1d6f.js +0 -1
  846. package/app/.next/static/chunks/app/api/cloud/auth/route-58b169603fdf1d6f.js +0 -1
  847. package/app/.next/static/chunks/app/api/cloud/credentials/update/route-58b169603fdf1d6f.js +0 -1
  848. package/app/.next/static/chunks/app/api/cloud/model/resolve/route-58b169603fdf1d6f.js +0 -1
  849. package/app/.next/static/chunks/app/api/cloud/models/alias/route-58b169603fdf1d6f.js +0 -1
  850. package/app/.next/static/chunks/app/api/combos/[id]/route-58b169603fdf1d6f.js +0 -1
  851. package/app/.next/static/chunks/app/api/combos/metrics/route-58b169603fdf1d6f.js +0 -1
  852. package/app/.next/static/chunks/app/api/combos/route-58b169603fdf1d6f.js +0 -1
  853. package/app/.next/static/chunks/app/api/combos/test/route-58b169603fdf1d6f.js +0 -1
  854. package/app/.next/static/chunks/app/api/compliance/audit-log/route-58b169603fdf1d6f.js +0 -1
  855. package/app/.next/static/chunks/app/api/db-backups/export/route-58b169603fdf1d6f.js +0 -1
  856. package/app/.next/static/chunks/app/api/db-backups/exportAll/route-58b169603fdf1d6f.js +0 -1
  857. package/app/.next/static/chunks/app/api/db-backups/import/route-58b169603fdf1d6f.js +0 -1
  858. package/app/.next/static/chunks/app/api/db-backups/route-58b169603fdf1d6f.js +0 -1
  859. package/app/.next/static/chunks/app/api/evals/[suiteId]/route-58b169603fdf1d6f.js +0 -1
  860. package/app/.next/static/chunks/app/api/evals/route-58b169603fdf1d6f.js +0 -1
  861. package/app/.next/static/chunks/app/api/fallback/chains/route-58b169603fdf1d6f.js +0 -1
  862. package/app/.next/static/chunks/app/api/init/route-58b169603fdf1d6f.js +0 -1
  863. package/app/.next/static/chunks/app/api/keys/[id]/route-58b169603fdf1d6f.js +0 -1
  864. package/app/.next/static/chunks/app/api/keys/route-58b169603fdf1d6f.js +0 -1
  865. package/app/.next/static/chunks/app/api/models/alias/route-58b169603fdf1d6f.js +0 -1
  866. package/app/.next/static/chunks/app/api/models/availability/route-58b169603fdf1d6f.js +0 -1
  867. package/app/.next/static/chunks/app/api/models/catalog/route-58b169603fdf1d6f.js +0 -1
  868. package/app/.next/static/chunks/app/api/models/route-58b169603fdf1d6f.js +0 -1
  869. package/app/.next/static/chunks/app/api/monitoring/health/route-58b169603fdf1d6f.js +0 -1
  870. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-58b169603fdf1d6f.js +0 -1
  871. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-58b169603fdf1d6f.js +0 -1
  872. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-58b169603fdf1d6f.js +0 -1
  873. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-58b169603fdf1d6f.js +0 -1
  874. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-58b169603fdf1d6f.js +0 -1
  875. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-58b169603fdf1d6f.js +0 -1
  876. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-58b169603fdf1d6f.js +0 -1
  877. package/app/.next/static/chunks/app/api/policies/route-58b169603fdf1d6f.js +0 -1
  878. package/app/.next/static/chunks/app/api/pricing/defaults/route-58b169603fdf1d6f.js +0 -1
  879. package/app/.next/static/chunks/app/api/pricing/models/route-58b169603fdf1d6f.js +0 -1
  880. package/app/.next/static/chunks/app/api/pricing/route-58b169603fdf1d6f.js +0 -1
  881. package/app/.next/static/chunks/app/api/provider-metrics/route-58b169603fdf1d6f.js +0 -1
  882. package/app/.next/static/chunks/app/api/provider-models/route-58b169603fdf1d6f.js +0 -1
  883. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-58b169603fdf1d6f.js +0 -1
  884. package/app/.next/static/chunks/app/api/provider-nodes/route-58b169603fdf1d6f.js +0 -1
  885. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-58b169603fdf1d6f.js +0 -1
  886. package/app/.next/static/chunks/app/api/providers/[id]/models/route-58b169603fdf1d6f.js +0 -1
  887. package/app/.next/static/chunks/app/api/providers/[id]/route-58b169603fdf1d6f.js +0 -1
  888. package/app/.next/static/chunks/app/api/providers/[id]/test/route-58b169603fdf1d6f.js +0 -1
  889. package/app/.next/static/chunks/app/api/providers/client/route-58b169603fdf1d6f.js +0 -1
  890. package/app/.next/static/chunks/app/api/providers/route-58b169603fdf1d6f.js +0 -1
  891. package/app/.next/static/chunks/app/api/providers/test-batch/route-58b169603fdf1d6f.js +0 -1
  892. package/app/.next/static/chunks/app/api/providers/validate/route-58b169603fdf1d6f.js +0 -1
  893. package/app/.next/static/chunks/app/api/rate-limit/route-58b169603fdf1d6f.js +0 -1
  894. package/app/.next/static/chunks/app/api/rate-limits/route-58b169603fdf1d6f.js +0 -1
  895. package/app/.next/static/chunks/app/api/resilience/reset/route-58b169603fdf1d6f.js +0 -1
  896. package/app/.next/static/chunks/app/api/resilience/route-58b169603fdf1d6f.js +0 -1
  897. package/app/.next/static/chunks/app/api/restart/route-58b169603fdf1d6f.js +0 -1
  898. package/app/.next/static/chunks/app/api/sessions/route-58b169603fdf1d6f.js +0 -1
  899. package/app/.next/static/chunks/app/api/settings/combo-defaults/route-58b169603fdf1d6f.js +0 -1
  900. package/app/.next/static/chunks/app/api/settings/ip-filter/route-58b169603fdf1d6f.js +0 -1
  901. package/app/.next/static/chunks/app/api/settings/proxy/route-58b169603fdf1d6f.js +0 -1
  902. package/app/.next/static/chunks/app/api/settings/proxy/test/route-58b169603fdf1d6f.js +0 -1
  903. package/app/.next/static/chunks/app/api/settings/require-login/route-58b169603fdf1d6f.js +0 -1
  904. package/app/.next/static/chunks/app/api/settings/route-58b169603fdf1d6f.js +0 -1
  905. package/app/.next/static/chunks/app/api/settings/system-prompt/route-58b169603fdf1d6f.js +0 -1
  906. package/app/.next/static/chunks/app/api/settings/thinking-budget/route-58b169603fdf1d6f.js +0 -1
  907. package/app/.next/static/chunks/app/api/shutdown/route-58b169603fdf1d6f.js +0 -1
  908. package/app/.next/static/chunks/app/api/storage/health/route-58b169603fdf1d6f.js +0 -1
  909. package/app/.next/static/chunks/app/api/sync/cloud/route-58b169603fdf1d6f.js +0 -1
  910. package/app/.next/static/chunks/app/api/sync/initialize/route-58b169603fdf1d6f.js +0 -1
  911. package/app/.next/static/chunks/app/api/tags/route-58b169603fdf1d6f.js +0 -1
  912. package/app/.next/static/chunks/app/api/telemetry/summary/route-58b169603fdf1d6f.js +0 -1
  913. package/app/.next/static/chunks/app/api/token-health/route-58b169603fdf1d6f.js +0 -1
  914. package/app/.next/static/chunks/app/api/translator/detect/route-58b169603fdf1d6f.js +0 -1
  915. package/app/.next/static/chunks/app/api/translator/history/route-58b169603fdf1d6f.js +0 -1
  916. package/app/.next/static/chunks/app/api/translator/load/route-58b169603fdf1d6f.js +0 -1
  917. package/app/.next/static/chunks/app/api/translator/save/route-58b169603fdf1d6f.js +0 -1
  918. package/app/.next/static/chunks/app/api/translator/send/route-58b169603fdf1d6f.js +0 -1
  919. package/app/.next/static/chunks/app/api/translator/translate/route-58b169603fdf1d6f.js +0 -1
  920. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-58b169603fdf1d6f.js +0 -1
  921. package/app/.next/static/chunks/app/api/usage/analytics/route-58b169603fdf1d6f.js +0 -1
  922. package/app/.next/static/chunks/app/api/usage/budget/route-58b169603fdf1d6f.js +0 -1
  923. package/app/.next/static/chunks/app/api/usage/call-logs/[id]/route-58b169603fdf1d6f.js +0 -1
  924. package/app/.next/static/chunks/app/api/usage/call-logs/route-58b169603fdf1d6f.js +0 -1
  925. package/app/.next/static/chunks/app/api/usage/history/route-58b169603fdf1d6f.js +0 -1
  926. package/app/.next/static/chunks/app/api/usage/logs/route-58b169603fdf1d6f.js +0 -1
  927. package/app/.next/static/chunks/app/api/usage/proxy-logs/route-58b169603fdf1d6f.js +0 -1
  928. package/app/.next/static/chunks/app/api/usage/request-logs/route-58b169603fdf1d6f.js +0 -1
  929. package/app/.next/static/chunks/app/api/v1/api/chat/route-58b169603fdf1d6f.js +0 -1
  930. package/app/.next/static/chunks/app/api/v1/audio/speech/route-58b169603fdf1d6f.js +0 -1
  931. package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-58b169603fdf1d6f.js +0 -1
  932. package/app/.next/static/chunks/app/api/v1/chat/completions/route-58b169603fdf1d6f.js +0 -1
  933. package/app/.next/static/chunks/app/api/v1/embeddings/route-58b169603fdf1d6f.js +0 -1
  934. package/app/.next/static/chunks/app/api/v1/images/generations/route-58b169603fdf1d6f.js +0 -1
  935. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-58b169603fdf1d6f.js +0 -1
  936. package/app/.next/static/chunks/app/api/v1/messages/route-58b169603fdf1d6f.js +0 -1
  937. package/app/.next/static/chunks/app/api/v1/models/route-58b169603fdf1d6f.js +0 -1
  938. package/app/.next/static/chunks/app/api/v1/moderations/route-58b169603fdf1d6f.js +0 -1
  939. package/app/.next/static/chunks/app/api/v1/providers/[provider]/chat/completions/route-58b169603fdf1d6f.js +0 -1
  940. package/app/.next/static/chunks/app/api/v1/providers/[provider]/embeddings/route-58b169603fdf1d6f.js +0 -1
  941. package/app/.next/static/chunks/app/api/v1/providers/[provider]/images/generations/route-58b169603fdf1d6f.js +0 -1
  942. package/app/.next/static/chunks/app/api/v1/rerank/route-58b169603fdf1d6f.js +0 -1
  943. package/app/.next/static/chunks/app/api/v1/responses/route-58b169603fdf1d6f.js +0 -1
  944. package/app/.next/static/chunks/app/api/v1/route-58b169603fdf1d6f.js +0 -1
  945. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-58b169603fdf1d6f.js +0 -1
  946. package/app/.next/static/chunks/app/api/v1beta/models/route-58b169603fdf1d6f.js +0 -1
  947. package/app/.next/static/chunks/app/global-error-ece0210f8bb4e441.js +0 -1
  948. package/app/.next/static/chunks/app/login/page-8a9aa887783f2370.js +0 -1
  949. package/app/.next/static/chunks/app/not-found-a1cabc3706cf5b84.js +0 -1
  950. package/app/.next/static/chunks/app/page-58b169603fdf1d6f.js +0 -1
  951. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-58b169603fdf1d6f.js +0 -1
  952. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-58b169603fdf1d6f.js +0 -1
  953. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-58b169603fdf1d6f.js +0 -1
  954. package/app/.next/static/css/99e359b9e40091af.css +0 -1
  955. package/app/.next/static/mo3wTjoSYKP1E96Wu512B/_buildManifest.js +0 -1
  956. /package/app/.next/static/{mo3wTjoSYKP1E96Wu512B → kMztjIo6CDmStqcKcXLeh}/_ssgManifest.js +0 -0
@@ -1,28 +1,29 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[55846,["8500","static/chunks/8500-98e13bcce54aa7a0.js","9751","static/chunks/9751-3a35163d337d54ea.js","782","static/chunks/782-5e138760b7f7bf48.js","1149","static/chunks/1149-fefe7f95f0e9842f.js","5846","static/chunks/5846-dfe52e95348ffdd8.js","993","static/chunks/993-5102e3fd1db64935.js","9305","static/chunks/app/(dashboard)/layout-cf710bbfb7c3ba11.js"],"ThemeProvider"]
2
+ 2:I[55846,["8500","static/chunks/8500-98e13bcce54aa7a0.js","9751","static/chunks/9751-3a35163d337d54ea.js","782","static/chunks/782-5e138760b7f7bf48.js","1149","static/chunks/1149-fefe7f95f0e9842f.js","5846","static/chunks/5846-69e259486db2f6f8.js","993","static/chunks/993-5102e3fd1db64935.js","9305","static/chunks/app/(dashboard)/layout-cf710bbfb7c3ba11.js"],"ThemeProvider"]
3
3
  3:I[57121,[],""]
4
- 4:I[74581,[],""]
5
- 5:I[37145,["8500","static/chunks/8500-98e13bcce54aa7a0.js","4345","static/chunks/app/not-found-a1cabc3706cf5b84.js"],"default"]
6
- 6:I[98500,["8500","static/chunks/8500-98e13bcce54aa7a0.js","7066","static/chunks/app/terms/page-8f74097544a61b9d.js"],""]
7
- f:I[26719,["4219","static/chunks/app/global-error-ece0210f8bb4e441.js"],"default"]
4
+ 4:I[17267,["8039","static/chunks/app/error-0d59fc4efafbc38c.js"],"default"]
5
+ 5:I[74581,[],""]
6
+ 6:I[37145,["8500","static/chunks/8500-98e13bcce54aa7a0.js","4345","static/chunks/app/not-found-38123f3e1e5abc33.js"],"default"]
7
+ 7:I[98500,["8500","static/chunks/8500-98e13bcce54aa7a0.js","7066","static/chunks/app/terms/page-8f74097544a61b9d.js"],""]
8
+ 10:I[26719,["4219","static/chunks/app/global-error-41eef2a698918fc1.js"],"default"]
8
9
  :HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
9
10
  :HL["/_next/static/css/081a0afca5a9bd20.css","style"]
10
- :HL["/_next/static/css/99e359b9e40091af.css","style"]
11
+ :HL["/_next/static/css/039e32048ea8e51e.css","style"]
11
12
  :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"]
12
- 0:{"P":null,"b":"mo3wTjoSYKP1E96Wu512B","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/99e359b9e40091af.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":[["$","a",null,{"href":"#main-content","className":"sr-only focus:not-sr-only focus:absolute focus:top-2 focus:left-2 focus:z-50 focus:px-4 focus:py-2 focus:bg-[#6366f1] focus:text-white focus:rounded-lg focus:text-sm focus:font-semibold focus:shadow-lg","children":"Skip to content"}],["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","$L5",null,{}],[]],"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":[["$","$L6",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":["$L7","$L8","$L9"]}]]}],"$La","$Lb"]}],"$Lc"]}]}],null,"$Ld"]}],{},null,false,false]},null,false,false]},null,false,false],"$Le",false]],"m":"$undefined","G":["$f",[]],"S":true}
13
- 10:I[90484,[],"OutletBoundary"]
14
- 11:"$Sreact.suspense"
15
- 13:I[90484,[],"ViewportBoundary"]
16
- 15:I[90484,[],"MetadataBoundary"]
17
- 7:["$","li",null,{"children":["All data is stored ",["$","strong",null,{"className":"text-text-main","children":"locally"}]," on your machine in a SQLite database."]}]
18
- 8:["$","li",null,{"children":"OmniRoute does not transmit any data to external servers unless you explicitly enable cloud sync features."}]
19
- 9:["$","li",null,{"children":["Usage logs, API keys, and configuration are stored in"," ",["$","code",null,{"className":"text-primary text-sm","children":"~/.omniroute/"}],"."]}]
20
- a:["$","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."}]]}]
21
- b:["$","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."}]]}]
22
- c:["$","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/diegosouzapw/OmniRoute","className":"text-primary hover:underline","target":"_blank","rel":"noopener noreferrer","children":"GitHub repository"}],"."]}]}]
23
- d:["$","$L10",null,{"children":["$","$11",null,{"name":"Next.MetadataOutlet","children":"$@12"}]}]
24
- e:["$","$1","h",{"children":[null,["$","$L13",null,{"children":"$L14"}],["$","div",null,{"hidden":true,"children":["$","$L15",null,{"children":["$","$11",null,{"name":"Next.Metadata","children":"$L16"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}]
25
- 14:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
26
- 17:I[86869,[],"IconMark"]
27
- 12:null
28
- 16:[["$","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.svg"}],["$","link","3",{"rel":"apple-touch-icon","href":"/apple-touch-icon.svg"}],["$","$L17","4",{}]]
13
+ 0:{"P":null,"b":"kMztjIo6CDmStqcKcXLeh","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/039e32048ea8e51e.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":[["$","a",null,{"href":"#main-content","className":"sr-only focus:not-sr-only focus:absolute focus:top-2 focus:left-2 focus:z-50 focus:px-4 focus:py-2 focus:bg-[#6366f1] focus:text-white focus:rounded-lg focus:text-sm focus:font-semibold focus:shadow-lg","children":"Skip to content"}],["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$4","errorStyles":[],"errorScripts":[],"template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","$L6",null,{}],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",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":[["$","$L7",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":["$L8","$L9","$La"]}]]}],"$Lb","$Lc"]}],"$Ld"]}]}],null,"$Le"]}],{},null,false,false]},null,false,false]},null,false,false],"$Lf",false]],"m":"$undefined","G":["$10",[]],"S":true}
14
+ 11:I[90484,[],"OutletBoundary"]
15
+ 12:"$Sreact.suspense"
16
+ 14:I[90484,[],"ViewportBoundary"]
17
+ 16:I[90484,[],"MetadataBoundary"]
18
+ 8:["$","li",null,{"children":["All data is stored ",["$","strong",null,{"className":"text-text-main","children":"locally"}]," on your machine in a SQLite database."]}]
19
+ 9:["$","li",null,{"children":"OmniRoute does not transmit any data to external servers unless you explicitly enable cloud sync features."}]
20
+ a:["$","li",null,{"children":["Usage logs, API keys, and configuration are stored in"," ",["$","code",null,{"className":"text-primary text-sm","children":"~/.omniroute/"}],"."]}]
21
+ b:["$","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."}]]}]
22
+ c:["$","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."}]]}]
23
+ d:["$","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/diegosouzapw/OmniRoute","className":"text-primary hover:underline","target":"_blank","rel":"noopener noreferrer","children":"GitHub repository"}],"."]}]}]
24
+ e:["$","$L11",null,{"children":["$","$12",null,{"name":"Next.MetadataOutlet","children":"$@13"}]}]
25
+ f:["$","$1","h",{"children":[null,["$","$L14",null,{"children":"$L15"}],["$","div",null,{"hidden":true,"children":["$","$L16",null,{"children":["$","$12",null,{"name":"Next.Metadata","children":"$L17"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}]
26
+ 15:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
27
+ 18:I[86869,[],"IconMark"]
28
+ 13:null
29
+ 17:[["$","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.svg"}],["$","link","3",{"rel":"apple-touch-icon","href":"/apple-touch-icon.svg"}],["$","$L18","4",{}]]
@@ -1,28 +1,29 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[55846,["8500","static/chunks/8500-98e13bcce54aa7a0.js","9751","static/chunks/9751-3a35163d337d54ea.js","782","static/chunks/782-5e138760b7f7bf48.js","1149","static/chunks/1149-fefe7f95f0e9842f.js","5846","static/chunks/5846-dfe52e95348ffdd8.js","993","static/chunks/993-5102e3fd1db64935.js","9305","static/chunks/app/(dashboard)/layout-cf710bbfb7c3ba11.js"],"ThemeProvider"]
2
+ 2:I[55846,["8500","static/chunks/8500-98e13bcce54aa7a0.js","9751","static/chunks/9751-3a35163d337d54ea.js","782","static/chunks/782-5e138760b7f7bf48.js","1149","static/chunks/1149-fefe7f95f0e9842f.js","5846","static/chunks/5846-69e259486db2f6f8.js","993","static/chunks/993-5102e3fd1db64935.js","9305","static/chunks/app/(dashboard)/layout-cf710bbfb7c3ba11.js"],"ThemeProvider"]
3
3
  3:I[57121,[],""]
4
- 4:I[74581,[],""]
5
- 5:I[37145,["8500","static/chunks/8500-98e13bcce54aa7a0.js","4345","static/chunks/app/not-found-a1cabc3706cf5b84.js"],"default"]
6
- 6:I[98500,["8500","static/chunks/8500-98e13bcce54aa7a0.js","7066","static/chunks/app/terms/page-8f74097544a61b9d.js"],""]
7
- f:I[26719,["4219","static/chunks/app/global-error-ece0210f8bb4e441.js"],"default"]
4
+ 4:I[17267,["8039","static/chunks/app/error-0d59fc4efafbc38c.js"],"default"]
5
+ 5:I[74581,[],""]
6
+ 6:I[37145,["8500","static/chunks/8500-98e13bcce54aa7a0.js","4345","static/chunks/app/not-found-38123f3e1e5abc33.js"],"default"]
7
+ 7:I[98500,["8500","static/chunks/8500-98e13bcce54aa7a0.js","7066","static/chunks/app/terms/page-8f74097544a61b9d.js"],""]
8
+ 10:I[26719,["4219","static/chunks/app/global-error-41eef2a698918fc1.js"],"default"]
8
9
  :HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
9
10
  :HL["/_next/static/css/081a0afca5a9bd20.css","style"]
10
- :HL["/_next/static/css/99e359b9e40091af.css","style"]
11
+ :HL["/_next/static/css/039e32048ea8e51e.css","style"]
11
12
  :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"]
12
- 0:{"P":null,"b":"mo3wTjoSYKP1E96Wu512B","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/99e359b9e40091af.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":[["$","a",null,{"href":"#main-content","className":"sr-only focus:not-sr-only focus:absolute focus:top-2 focus:left-2 focus:z-50 focus:px-4 focus:py-2 focus:bg-[#6366f1] focus:text-white focus:rounded-lg focus:text-sm focus:font-semibold focus:shadow-lg","children":"Skip to content"}],["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","$L5",null,{}],[]],"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":[["$","$L6",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":["$L7","$L8","$L9"]}]]}],"$La","$Lb"]}],"$Lc"]}]}],null,"$Ld"]}],{},null,false,false]},null,false,false]},null,false,false],"$Le",false]],"m":"$undefined","G":["$f",[]],"S":true}
13
- 10:I[90484,[],"OutletBoundary"]
14
- 11:"$Sreact.suspense"
15
- 13:I[90484,[],"ViewportBoundary"]
16
- 15:I[90484,[],"MetadataBoundary"]
17
- 7:["$","li",null,{"children":["All data is stored ",["$","strong",null,{"className":"text-text-main","children":"locally"}]," on your machine in a SQLite database."]}]
18
- 8:["$","li",null,{"children":"OmniRoute does not transmit any data to external servers unless you explicitly enable cloud sync features."}]
19
- 9:["$","li",null,{"children":["Usage logs, API keys, and configuration are stored in"," ",["$","code",null,{"className":"text-primary text-sm","children":"~/.omniroute/"}],"."]}]
20
- a:["$","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."}]]}]
21
- b:["$","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."}]]}]
22
- c:["$","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/diegosouzapw/OmniRoute","className":"text-primary hover:underline","target":"_blank","rel":"noopener noreferrer","children":"GitHub repository"}],"."]}]}]
23
- d:["$","$L10",null,{"children":["$","$11",null,{"name":"Next.MetadataOutlet","children":"$@12"}]}]
24
- e:["$","$1","h",{"children":[null,["$","$L13",null,{"children":"$L14"}],["$","div",null,{"hidden":true,"children":["$","$L15",null,{"children":["$","$11",null,{"name":"Next.Metadata","children":"$L16"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}]
25
- 14:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
26
- 17:I[86869,[],"IconMark"]
27
- 12:null
28
- 16:[["$","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.svg"}],["$","link","3",{"rel":"apple-touch-icon","href":"/apple-touch-icon.svg"}],["$","$L17","4",{}]]
13
+ 0:{"P":null,"b":"kMztjIo6CDmStqcKcXLeh","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/039e32048ea8e51e.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":[["$","a",null,{"href":"#main-content","className":"sr-only focus:not-sr-only focus:absolute focus:top-2 focus:left-2 focus:z-50 focus:px-4 focus:py-2 focus:bg-[#6366f1] focus:text-white focus:rounded-lg focus:text-sm focus:font-semibold focus:shadow-lg","children":"Skip to content"}],["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$4","errorStyles":[],"errorScripts":[],"template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","$L6",null,{}],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",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":[["$","$L7",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":["$L8","$L9","$La"]}]]}],"$Lb","$Lc"]}],"$Ld"]}]}],null,"$Le"]}],{},null,false,false]},null,false,false]},null,false,false],"$Lf",false]],"m":"$undefined","G":["$10",[]],"S":true}
14
+ 11:I[90484,[],"OutletBoundary"]
15
+ 12:"$Sreact.suspense"
16
+ 14:I[90484,[],"ViewportBoundary"]
17
+ 16:I[90484,[],"MetadataBoundary"]
18
+ 8:["$","li",null,{"children":["All data is stored ",["$","strong",null,{"className":"text-text-main","children":"locally"}]," on your machine in a SQLite database."]}]
19
+ 9:["$","li",null,{"children":"OmniRoute does not transmit any data to external servers unless you explicitly enable cloud sync features."}]
20
+ a:["$","li",null,{"children":["Usage logs, API keys, and configuration are stored in"," ",["$","code",null,{"className":"text-primary text-sm","children":"~/.omniroute/"}],"."]}]
21
+ b:["$","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."}]]}]
22
+ c:["$","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."}]]}]
23
+ d:["$","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/diegosouzapw/OmniRoute","className":"text-primary hover:underline","target":"_blank","rel":"noopener noreferrer","children":"GitHub repository"}],"."]}]}]
24
+ e:["$","$L11",null,{"children":["$","$12",null,{"name":"Next.MetadataOutlet","children":"$@13"}]}]
25
+ f:["$","$1","h",{"children":[null,["$","$L14",null,{"children":"$L15"}],["$","div",null,{"hidden":true,"children":["$","$L16",null,{"children":["$","$12",null,{"name":"Next.Metadata","children":"$L17"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}]
26
+ 15:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
27
+ 18:I[86869,[],"IconMark"]
28
+ 13:null
29
+ 17:[["$","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.svg"}],["$","link","3",{"rel":"apple-touch-icon","href":"/apple-touch-icon.svg"}],["$","$L18","4",{}]]
@@ -3,4 +3,4 @@
3
3
  3:I[90484,[],"MetadataBoundary"]
4
4
  4:"$Sreact.suspense"
5
5
  5:I[86869,[],"IconMark"]
6
- 0:{"buildId":"mo3wTjoSYKP1E96Wu512B","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.svg"}],["$","link","3",{"rel":"apple-touch-icon","href":"/apple-touch-icon.svg"}],["$","$L5","4",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"loading":null,"isPartial":false}
6
+ 0:{"buildId":"kMztjIo6CDmStqcKcXLeh","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.svg"}],["$","link","3",{"rel":"apple-touch-icon","href":"/apple-touch-icon.svg"}],["$","$L5","4",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"loading":null,"isPartial":false}
@@ -1,9 +1,10 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[55846,["8500","static/chunks/8500-98e13bcce54aa7a0.js","9751","static/chunks/9751-3a35163d337d54ea.js","782","static/chunks/782-5e138760b7f7bf48.js","1149","static/chunks/1149-fefe7f95f0e9842f.js","5846","static/chunks/5846-dfe52e95348ffdd8.js","993","static/chunks/993-5102e3fd1db64935.js","9305","static/chunks/app/(dashboard)/layout-cf710bbfb7c3ba11.js"],"ThemeProvider"]
2
+ 2:I[55846,["8500","static/chunks/8500-98e13bcce54aa7a0.js","9751","static/chunks/9751-3a35163d337d54ea.js","782","static/chunks/782-5e138760b7f7bf48.js","1149","static/chunks/1149-fefe7f95f0e9842f.js","5846","static/chunks/5846-69e259486db2f6f8.js","993","static/chunks/993-5102e3fd1db64935.js","9305","static/chunks/app/(dashboard)/layout-cf710bbfb7c3ba11.js"],"ThemeProvider"]
3
3
  3:I[57121,[],""]
4
- 4:I[74581,[],""]
5
- 5:I[37145,["8500","static/chunks/8500-98e13bcce54aa7a0.js","4345","static/chunks/app/not-found-a1cabc3706cf5b84.js"],"default"]
4
+ 4:I[17267,["8039","static/chunks/app/error-0d59fc4efafbc38c.js"],"default"]
5
+ 5:I[74581,[],""]
6
+ 6:I[37145,["8500","static/chunks/8500-98e13bcce54aa7a0.js","4345","static/chunks/app/not-found-38123f3e1e5abc33.js"],"default"]
6
7
  :HL["/_next/static/css/081a0afca5a9bd20.css","style"]
7
- :HL["/_next/static/css/99e359b9e40091af.css","style"]
8
+ :HL["/_next/static/css/039e32048ea8e51e.css","style"]
8
9
  :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"]
9
- 0:{"buildId":"mo3wTjoSYKP1E96Wu512B","rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/081a0afca5a9bd20.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/99e359b9e40091af.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":[["$","a",null,{"href":"#main-content","className":"sr-only focus:not-sr-only focus:absolute focus:top-2 focus:left-2 focus:z-50 focus:px-4 focus:py-2 focus:bg-[#6366f1] focus:text-white focus:rounded-lg focus:text-sm focus:font-semibold focus:shadow-lg","children":"Skip to content"}],["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":[["$","$L5",null,{}],[]]}]}]]}]]}]]}],"loading":null,"isPartial":false}
10
+ 0:{"buildId":"kMztjIo6CDmStqcKcXLeh","rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/081a0afca5a9bd20.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/039e32048ea8e51e.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":[["$","a",null,{"href":"#main-content","className":"sr-only focus:not-sr-only focus:absolute focus:top-2 focus:left-2 focus:z-50 focus:px-4 focus:py-2 focus:bg-[#6366f1] focus:text-white focus:rounded-lg focus:text-sm focus:font-semibold focus:shadow-lg","children":"Skip to content"}],["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$4","errorStyles":[],"errorScripts":[],"template":["$","$L5",null,{}],"notFound":[["$","$L6",null,{}],[]]}]}]]}]]}]]}],"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/99e359b9e40091af.css","style"]
3
+ :HL["/_next/static/css/039e32048ea8e51e.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":"mo3wTjoSYKP1E96Wu512B","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":"kMztjIo6CDmStqcKcXLeh","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,6 +2,6 @@
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
  5:"$Sreact.suspense"
5
- 0:{"buildId":"mo3wTjoSYKP1E96Wu512B","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/diegosouzapw/OmniRoute","className":"text-primary hover:underline","target":"_blank","rel":"noopener noreferrer","children":"GitHub repository"}],"."]}]}]]}]}],null,["$","$L3",null,{"children":"$L4"}]]}],"loading":null,"isPartial":false}
5
+ 0:{"buildId":"kMztjIo6CDmStqcKcXLeh","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/diegosouzapw/OmniRoute","className":"text-primary hover:underline","target":"_blank","rel":"noopener noreferrer","children":"GitHub repository"}],"."]}]}]]}]}],null,["$","$L3",null,{"children":"$L4"}]]}],"loading":null,"isPartial":false}
6
6
  4:["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@6"}]
7
7
  6:null
@@ -1,4 +1,4 @@
1
1
  1:"$Sreact.fragment"
2
2
  2:I[57121,[],""]
3
3
  3:I[74581,[],""]
4
- 0:{"buildId":"mo3wTjoSYKP1E96Wu512B","rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"loading":null,"isPartial":false}
4
+ 0:{"buildId":"kMztjIo6CDmStqcKcXLeh","rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"loading":null,"isPartial":false}
@@ -3,14 +3,15 @@
3
3
  "/_global-error/page": "app/_global-error/page.js",
4
4
  "/api/auth/login/route": "app/api/auth/login/route.js",
5
5
  "/api/auth/logout/route": "app/api/auth/logout/route.js",
6
+ "/api/auth/status/route": "app/api/auth/status/route.js",
6
7
  "/api/cache/route": "app/api/cache/route.js",
7
8
  "/api/cache/stats/route": "app/api/cache/stats/route.js",
8
9
  "/api/cli-tools/antigravity-mitm/alias/route": "app/api/cli-tools/antigravity-mitm/alias/route.js",
9
10
  "/api/cli-tools/backups/route": "app/api/cli-tools/backups/route.js",
10
11
  "/api/cli-tools/codex-profiles/route": "app/api/cli-tools/codex-profiles/route.js",
11
12
  "/api/cli-tools/guide-settings/[toolId]/route": "app/api/cli-tools/guide-settings/[toolId]/route.js",
12
- "/api/cloud/auth/route": "app/api/cloud/auth/route.js",
13
13
  "/api/cloud/credentials/update/route": "app/api/cloud/credentials/update/route.js",
14
+ "/api/cloud/auth/route": "app/api/cloud/auth/route.js",
14
15
  "/api/cloud/model/resolve/route": "app/api/cloud/model/resolve/route.js",
15
16
  "/api/cloud/models/alias/route": "app/api/cloud/models/alias/route.js",
16
17
  "/api/combos/[id]/route": "app/api/combos/[id]/route.js",
@@ -18,31 +19,31 @@
18
19
  "/api/combos/route": "app/api/combos/route.js",
19
20
  "/api/compliance/audit-log/route": "app/api/compliance/audit-log/route.js",
20
21
  "/api/db-backups/export/route": "app/api/db-backups/export/route.js",
21
- "/api/db-backups/exportAll/route": "app/api/db-backups/exportAll/route.js",
22
22
  "/api/db-backups/import/route": "app/api/db-backups/import/route.js",
23
+ "/api/db-backups/exportAll/route": "app/api/db-backups/exportAll/route.js",
24
+ "/api/evals/[suiteId]/route": "app/api/evals/[suiteId]/route.js",
23
25
  "/api/db-backups/route": "app/api/db-backups/route.js",
26
+ "/api/fallback/chains/route": "app/api/fallback/chains/route.js",
24
27
  "/api/evals/route": "app/api/evals/route.js",
25
- "/api/evals/[suiteId]/route": "app/api/evals/[suiteId]/route.js",
26
28
  "/api/init/route": "app/api/init/route.js",
27
- "/api/fallback/chains/route": "app/api/fallback/chains/route.js",
28
29
  "/api/keys/[id]/route": "app/api/keys/[id]/route.js",
29
- "/api/keys/route": "app/api/keys/route.js",
30
30
  "/api/models/alias/route": "app/api/models/alias/route.js",
31
+ "/api/keys/route": "app/api/keys/route.js",
31
32
  "/api/models/availability/route": "app/api/models/availability/route.js",
32
33
  "/api/models/catalog/route": "app/api/models/catalog/route.js",
33
34
  "/api/models/route": "app/api/models/route.js",
34
35
  "/api/monitoring/health/route": "app/api/monitoring/health/route.js",
35
36
  "/api/oauth/[provider]/[action]/route": "app/api/oauth/[provider]/[action]/route.js",
37
+ "/api/oauth/kiro/auto-import/route": "app/api/oauth/kiro/auto-import/route.js",
36
38
  "/api/oauth/cursor/auto-import/route": "app/api/oauth/cursor/auto-import/route.js",
37
39
  "/api/oauth/cursor/import/route": "app/api/oauth/cursor/import/route.js",
38
- "/api/oauth/kiro/auto-import/route": "app/api/oauth/kiro/auto-import/route.js",
39
40
  "/api/oauth/kiro/import/route": "app/api/oauth/kiro/import/route.js",
40
41
  "/api/oauth/kiro/social-authorize/route": "app/api/oauth/kiro/social-authorize/route.js",
41
42
  "/api/oauth/kiro/social-exchange/route": "app/api/oauth/kiro/social-exchange/route.js",
42
- "/api/pricing/defaults/route": "app/api/pricing/defaults/route.js",
43
43
  "/api/policies/route": "app/api/policies/route.js",
44
- "/api/pricing/route": "app/api/pricing/route.js",
44
+ "/api/pricing/defaults/route": "app/api/pricing/defaults/route.js",
45
45
  "/api/pricing/models/route": "app/api/pricing/models/route.js",
46
+ "/api/pricing/route": "app/api/pricing/route.js",
46
47
  "/api/provider-metrics/route": "app/api/provider-metrics/route.js",
47
48
  "/api/provider-models/route": "app/api/provider-models/route.js",
48
49
  "/api/provider-nodes/[id]/route": "app/api/provider-nodes/[id]/route.js",
@@ -55,8 +56,8 @@
55
56
  "/api/providers/validate/route": "app/api/providers/validate/route.js",
56
57
  "/api/rate-limit/route": "app/api/rate-limit/route.js",
57
58
  "/api/rate-limits/route": "app/api/rate-limits/route.js",
58
- "/api/resilience/reset/route": "app/api/resilience/reset/route.js",
59
59
  "/api/resilience/route": "app/api/resilience/route.js",
60
+ "/api/resilience/reset/route": "app/api/resilience/reset/route.js",
60
61
  "/api/restart/route": "app/api/restart/route.js",
61
62
  "/api/sessions/route": "app/api/sessions/route.js",
62
63
  "/api/settings/combo-defaults/route": "app/api/settings/combo-defaults/route.js",
@@ -68,15 +69,15 @@
68
69
  "/api/shutdown/route": "app/api/shutdown/route.js",
69
70
  "/api/storage/health/route": "app/api/storage/health/route.js",
70
71
  "/api/sync/cloud/route": "app/api/sync/cloud/route.js",
71
- "/api/tags/route": "app/api/tags/route.js",
72
72
  "/api/sync/initialize/route": "app/api/sync/initialize/route.js",
73
- "/api/telemetry/summary/route": "app/api/telemetry/summary/route.js",
73
+ "/api/tags/route": "app/api/tags/route.js",
74
74
  "/api/token-health/route": "app/api/token-health/route.js",
75
+ "/api/telemetry/summary/route": "app/api/telemetry/summary/route.js",
76
+ "/api/translator/history/route": "app/api/translator/history/route.js",
75
77
  "/api/translator/detect/route": "app/api/translator/detect/route.js",
76
78
  "/api/translator/load/route": "app/api/translator/load/route.js",
77
- "/api/translator/history/route": "app/api/translator/history/route.js",
78
- "/api/translator/save/route": "app/api/translator/save/route.js",
79
79
  "/api/translator/send/route": "app/api/translator/send/route.js",
80
+ "/api/translator/save/route": "app/api/translator/save/route.js",
80
81
  "/api/translator/translate/route": "app/api/translator/translate/route.js",
81
82
  "/api/usage/[connectionId]/route": "app/api/usage/[connectionId]/route.js",
82
83
  "/api/usage/analytics/route": "app/api/usage/analytics/route.js",
@@ -87,53 +88,54 @@
87
88
  "/api/usage/logs/route": "app/api/usage/logs/route.js",
88
89
  "/api/usage/request-logs/route": "app/api/usage/request-logs/route.js",
89
90
  "/api/v1/api/chat/route": "app/api/v1/api/chat/route.js",
90
- "/api/v1/audio/transcriptions/route": "app/api/v1/audio/transcriptions/route.js",
91
91
  "/api/v1/audio/speech/route": "app/api/v1/audio/speech/route.js",
92
- "/api/v1/chat/completions/route": "app/api/v1/chat/completions/route.js",
92
+ "/api/v1/audio/transcriptions/route": "app/api/v1/audio/transcriptions/route.js",
93
93
  "/api/v1/embeddings/route": "app/api/v1/embeddings/route.js",
94
- "/api/v1/images/generations/route": "app/api/v1/images/generations/route.js",
95
94
  "/api/v1/messages/count_tokens/route": "app/api/v1/messages/count_tokens/route.js",
95
+ "/api/v1/images/generations/route": "app/api/v1/images/generations/route.js",
96
96
  "/api/v1/messages/route": "app/api/v1/messages/route.js",
97
+ "/api/v1/models/route": "app/api/v1/models/route.js",
97
98
  "/api/v1/moderations/route": "app/api/v1/moderations/route.js",
98
99
  "/api/v1/providers/[provider]/chat/completions/route": "app/api/v1/providers/[provider]/chat/completions/route.js",
99
- "/api/v1/models/route": "app/api/v1/models/route.js",
100
100
  "/api/v1/providers/[provider]/embeddings/route": "app/api/v1/providers/[provider]/embeddings/route.js",
101
101
  "/api/v1/providers/[provider]/images/generations/route": "app/api/v1/providers/[provider]/images/generations/route.js",
102
+ "/api/v1/rerank/route": "app/api/v1/rerank/route.js",
102
103
  "/api/v1/responses/route": "app/api/v1/responses/route.js",
103
104
  "/api/v1/route": "app/api/v1/route.js",
104
105
  "/api/v1beta/models/route": "app/api/v1beta/models/route.js",
105
- "/api/v1/rerank/route": "app/api/v1/rerank/route.js",
106
106
  "/api/v1beta/models/[...path]/route": "app/api/v1beta/models/[...path]/route.js",
107
107
  "/api/cli-tools/antigravity-mitm/route": "app/api/cli-tools/antigravity-mitm/route.js",
108
- "/api/cli-tools/cline-settings/route": "app/api/cli-tools/cline-settings/route.js",
109
108
  "/api/cli-tools/claude-settings/route": "app/api/cli-tools/claude-settings/route.js",
109
+ "/api/cli-tools/cline-settings/route": "app/api/cli-tools/cline-settings/route.js",
110
110
  "/api/cli-tools/droid-settings/route": "app/api/cli-tools/droid-settings/route.js",
111
111
  "/api/cli-tools/codex-settings/route": "app/api/cli-tools/codex-settings/route.js",
112
- "/api/cli-tools/kilo-settings/route": "app/api/cli-tools/kilo-settings/route.js",
113
112
  "/api/cli-tools/runtime/[toolId]/route": "app/api/cli-tools/runtime/[toolId]/route.js",
114
113
  "/api/cli-tools/status/route": "app/api/cli-tools/status/route.js",
114
+ "/api/cli-tools/kilo-settings/route": "app/api/cli-tools/kilo-settings/route.js",
115
115
  "/api/combos/test/route": "app/api/combos/test/route.js",
116
116
  "/api/provider-nodes/route": "app/api/provider-nodes/route.js",
117
+ "/api/providers/[id]/test/route": "app/api/providers/[id]/test/route.js",
118
+ "/api/settings/proxy/test/route": "app/api/settings/proxy/test/route.js",
117
119
  "/api/cli-tools/openclaw-settings/route": "app/api/cli-tools/openclaw-settings/route.js",
118
- "/api/settings/proxy/route": "app/api/settings/proxy/route.js",
119
120
  "/api/usage/proxy-logs/route": "app/api/usage/proxy-logs/route.js",
120
- "/api/settings/proxy/test/route": "app/api/settings/proxy/test/route.js",
121
- "/api/providers/[id]/test/route": "app/api/providers/[id]/test/route.js",
121
+ "/api/v1/chat/completions/route": "app/api/v1/chat/completions/route.js",
122
+ "/api/settings/proxy/route": "app/api/settings/proxy/route.js",
122
123
  "/callback/page": "app/callback/page.js",
123
- "/docs/page": "app/docs/page.js",
124
124
  "/forbidden/page": "app/forbidden/page.js",
125
+ "/docs/page": "app/docs/page.js",
125
126
  "/forgot-password/page": "app/forgot-password/page.js",
126
127
  "/landing/page": "app/landing/page.js",
127
128
  "/login/page": "app/login/page.js",
128
129
  "/page": "app/page.js",
129
- "/privacy/page": "app/privacy/page.js",
130
130
  "/terms/page": "app/terms/page.js",
131
- "/(dashboard)/dashboard/costs/page": "app/(dashboard)/dashboard/costs/page.js",
131
+ "/privacy/page": "app/privacy/page.js",
132
+ "/(dashboard)/dashboard/audit-log/page": "app/(dashboard)/dashboard/audit-log/page.js",
132
133
  "/(dashboard)/dashboard/analytics/page": "app/(dashboard)/dashboard/analytics/page.js",
133
134
  "/(dashboard)/dashboard/cli-tools/page": "app/(dashboard)/dashboard/cli-tools/page.js",
135
+ "/(dashboard)/dashboard/costs/page": "app/(dashboard)/dashboard/costs/page.js",
134
136
  "/(dashboard)/dashboard/endpoint/page": "app/(dashboard)/dashboard/endpoint/page.js",
135
- "/(dashboard)/dashboard/limits/page": "app/(dashboard)/dashboard/limits/page.js",
136
137
  "/(dashboard)/dashboard/health/page": "app/(dashboard)/dashboard/health/page.js",
138
+ "/(dashboard)/dashboard/limits/page": "app/(dashboard)/dashboard/limits/page.js",
137
139
  "/(dashboard)/dashboard/profile/page": "app/(dashboard)/dashboard/profile/page.js",
138
140
  "/(dashboard)/dashboard/providers/new/page": "app/(dashboard)/dashboard/providers/new/page.js",
139
141
  "/(dashboard)/dashboard/settings/page": "app/(dashboard)/dashboard/settings/page.js",
@@ -141,8 +143,8 @@
141
143
  "/(dashboard)/dashboard/page": "app/(dashboard)/dashboard/page.js",
142
144
  "/(dashboard)/dashboard/usage/page": "app/(dashboard)/dashboard/usage/page.js",
143
145
  "/(dashboard)/dashboard/onboarding/page": "app/(dashboard)/dashboard/onboarding/page.js",
144
- "/(dashboard)/dashboard/combos/page": "app/(dashboard)/dashboard/combos/page.js",
145
146
  "/(dashboard)/dashboard/translator/page": "app/(dashboard)/dashboard/translator/page.js",
146
147
  "/(dashboard)/dashboard/providers/page": "app/(dashboard)/dashboard/providers/page.js",
148
+ "/(dashboard)/dashboard/combos/page": "app/(dashboard)/dashboard/combos/page.js",
147
149
  "/(dashboard)/dashboard/providers/[id]/page": "app/(dashboard)/dashboard/providers/[id]/page.js"
148
150
  }
@@ -1 +1 @@
1
- "use strict";exports.id=1079,exports.ids=[1079],exports.modules={71861:(a,b,c)=>{c.d(b,{A1:()=>g,lR:()=>i,wO:()=>h,yj:()=>e,zL:()=>f});var d=c(60293);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}`}},74163:(a,b,c)=>{c.d(b,{AO:()=>l,Qo:()=>o,R7:()=>h,T_:()=>f,UY:()=>n,getAllModelLockouts:()=>i,hk:()=>k,vp:()=>m});var d=c(60293),e=c(83596);function f(a){let b=(0,e.oQ)(a);return d.PROVIDER_PROFILES[b]??d.PROVIDER_PROFILES.apikey}let g=new Map;function h(a,b,c,d,e){if(!c)return;let f=`${a}:${b}:${c}`;g.set(f,{reason:d,until:Date.now()+e,lockedAt:Date.now()})}function i(){let a=Date.now(),b=[];for(let[c,d]of g)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 j(a=0){return Math.min(d.EQ.base*Math.pow(2,a),d.EQ.max)}function k(a,b,c=0,e=null,g=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:j(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:j(c),newBackoffLevel:a,reason:d.QS.RATE_LIMIT_EXCEEDED}}if([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)){let a=g?f(g):null,b=a?.transientCooldown??d.Bm.transientInitial,e=a?.maxBackoffLevel??d.EQ.maxLevel;return{shouldFallback:!0,cooldownMs:Math.min(b*Math.pow(2,c),d.Bm.transientMax),newBackoffLevel:Math.min(c+1,e),reason:d.QS.SERVER_ERROR}}return a===d.gx.BAD_REQUEST?{shouldFallback:!1,cooldownMs:0,reason:d.QS.UNKNOWN}:{shouldFallback:!0,cooldownMs:d.Bm.transient,reason:d.QS.UNKNOWN}}function l(a){return!!a&&new Date(a).getTime()>Date.now()}function m(a){return new Date(Date.now()+a).toISOString()}function n(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 o(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 g)a>c.until&&g.delete(b)},15e3).unref()}};
1
+ "use strict";exports.id=1079,exports.ids=[1079],exports.modules={71861:(a,b,c)=>{c.d(b,{A1:()=>h,lR:()=>j,wO:()=>i,yj:()=>f,zL:()=>g});var d=c(95982),e=c(60293);function f(a,b){let c;return new Response(JSON.stringify((c=e.LY[a]||(a>=500?{type:"server_error",code:"internal_server_error"}:{type:"invalid_request_error",code:""}),{error:{message:b||e.O[a]||"An error occurred",type:c.type,code:c.code}})),{status:a,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":(0,d.i)()}})}async function g(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 h(a,b,c=null){let d={success:!1,status:a,error:b,response:f(a,b)};return c&&(d.retryAfterMs=c),d}function i(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 j(a,b,c,d){let e=d||a.code||"FETCH_FAILED",f=a.message||"Unknown error";return`[${e}]: ${f}`}},74163:(a,b,c)=>{c.d(b,{AO:()=>l,Qo:()=>o,R7:()=>h,T_:()=>f,UY:()=>n,getAllModelLockouts:()=>i,hk:()=>k,vp:()=>m});var d=c(60293),e=c(83596);function f(a){let b=(0,e.oQ)(a);return d.PROVIDER_PROFILES[b]??d.PROVIDER_PROFILES.apikey}let g=new Map;function h(a,b,c,d,e){if(!c)return;let f=`${a}:${b}:${c}`;g.set(f,{reason:d,until:Date.now()+e,lockedAt:Date.now()})}function i(){let a=Date.now(),b=[];for(let[c,d]of g)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 j(a=0){return Math.min(d.EQ.base*Math.pow(2,a),d.EQ.max)}function k(a,b,c=0,e=null,g=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:j(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:j(c),newBackoffLevel:a,reason:d.QS.RATE_LIMIT_EXCEEDED}}if([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)){let a=g?f(g):null,b=a?.transientCooldown??d.Bm.transientInitial,e=a?.maxBackoffLevel??d.EQ.maxLevel;return{shouldFallback:!0,cooldownMs:Math.min(b*Math.pow(2,c),d.Bm.transientMax),newBackoffLevel:Math.min(c+1,e),reason:d.QS.SERVER_ERROR}}return a===d.gx.BAD_REQUEST?{shouldFallback:!1,cooldownMs:0,reason:d.QS.UNKNOWN}:{shouldFallback:!0,cooldownMs:d.Bm.transient,reason:d.QS.UNKNOWN}}function l(a){return!!a&&new Date(a).getTime()>Date.now()}function m(a){return new Date(Date.now()+a).toISOString()}function n(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 o(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 g)a>c.until&&g.delete(b)},15e3).unref()},95982:(a,b,c)=>{c.d(b,{i:()=>e});let d=process.env.CORS_ORIGIN||"*";function e(){return d}}};
@@ -1,3 +1,3 @@
1
- "use strict";exports.id=239,exports.ids=[239,2620],exports.modules={12620:(a,b,c)=>{c.d(b,{ez:()=>i,getAllCircuitBreakerStatuses:()=>l,getCircuitBreaker:()=>k,resetAllCircuitBreakers:()=>m});var d=c(97917);let e="CLOSED",f="OPEN",g="HALF_OPEN";class h{constructor(a,b={}){this.name=a,this.failureThreshold=b.failureThreshold??5,this.resetTimeout=b.resetTimeout??3e4,this.halfOpenRequests=b.halfOpenRequests??1,this.onStateChange=b.onStateChange||null,this.isFailure=b.isFailure||(()=>!0),this.state=e,this.failureCount=0,this.successCount=0,this.lastFailureTime=null,this.halfOpenAllowed=0,this._restoreFromDb()}_restoreFromDb(){try{let a=(0,d.vX)(this.name);a&&(this.state=a.state,this.failureCount=a.failureCount,this.lastFailureTime=a.lastFailureTime,this.state===g&&(this.halfOpenAllowed=this.halfOpenRequests))}catch{}}_persistToDb(){try{(0,d.QM)(this.name,{state:this.state,failureCount:this.failureCount,lastFailureTime:this.lastFailureTime,options:{failureThreshold:this.failureThreshold,resetTimeout:this.resetTimeout,halfOpenRequests:this.halfOpenRequests}})}catch{}}async execute(a){if(this.state===f)if(this._shouldAttemptReset())this._transition(g);else throw new i(`Circuit breaker "${this.name}" is OPEN. Try again later.`,this.name,this._timeUntilReset());if(this.state===g&&this.halfOpenAllowed<=0)throw new i(`Circuit breaker "${this.name}" is HALF_OPEN, no more probe requests allowed.`,this.name,this._timeUntilReset());this.state===g&&this.halfOpenAllowed--;try{let b=await a();return this._onSuccess(),b}catch(a){throw this.isFailure(a)&&this._onFailure(),a}}canExecute(){return this.state===e||(this.state===f?this._shouldAttemptReset():this.state===g&&this.halfOpenAllowed>0)}getStatus(){return{name:this.name,state:this.state,failureCount:this.failureCount,lastFailureTime:this.lastFailureTime}}reset(){this._transition(e),this.failureCount=0,this.successCount=0,this.lastFailureTime=null,this._persistToDb()}_onSuccess(){this.state===g&&(this.successCount++,this._transition(e),this.failureCount=0),this.failureCount=0,this._persistToDb()}_onFailure(){this.failureCount++,this.lastFailureTime=Date.now(),this.state===g?this._transition(f):this.failureCount>=this.failureThreshold&&this._transition(f),this._persistToDb()}_shouldAttemptReset(){return!this.lastFailureTime||Date.now()-this.lastFailureTime>=this.resetTimeout}_timeUntilReset(){return this.lastFailureTime?Math.max(0,this.resetTimeout-(Date.now()-this.lastFailureTime)):0}_transition(a){let b=this.state;this.state=a,a===g&&(this.halfOpenAllowed=this.halfOpenRequests),this.onStateChange&&b!==a&&this.onStateChange(this.name,b,a)}}class i extends Error{constructor(a,b,c){super(a),this.name="CircuitBreakerOpenError",this.circuitName=b,this.retryAfterMs=c}}let j=new Map;function k(a,b){return j.has(a)||j.set(a,new h(a,b)),j.get(a)}function l(){try{for(let a of(0,d.xd)())j.has(a.name)||k(a.name)}catch{}return Array.from(j.values()).map(a=>a.getStatus())}function m(){for(let a of j.values())a.reset();j.clear();try{(0,d.G7)()}catch{}}},97917:(a,b,c)=>{c.d(b,{G7:()=>q,M4:()=>m,QM:()=>n,_s:()=>l,io:()=>i,mE:()=>f,qA:()=>k,tv:()=>j,vX:()=>o,xV:()=>e,xd:()=>p,z$:()=>g,zd:()=>h});var d=c(41549);function e(a,b){(0,d.sm)().prepare("INSERT OR REPLACE INTO domain_fallback_chains (model, chain) VALUES (?, ?)").run(a,JSON.stringify(b))}function f(){let a=(0,d.sm)().prepare("SELECT model, chain FROM domain_fallback_chains").all(),b={};for(let c of a)b[c.model]=JSON.parse(c.chain);return b}function g(a){return(0,d.sm)().prepare("DELETE FROM domain_fallback_chains WHERE model = ?").run(a).changes>0}function h(a,b){(0,d.sm)().prepare(`INSERT OR REPLACE INTO domain_budgets (api_key_id, daily_limit_usd, monthly_limit_usd, warning_threshold)
1
+ "use strict";exports.id=239,exports.ids=[239,2620],exports.modules={12620:(a,b,c)=>{c.d(b,{ez:()=>i,getAllCircuitBreakerStatuses:()=>l,getCircuitBreaker:()=>k,resetAllCircuitBreakers:()=>m});var d=c(97917);let e="CLOSED",f="OPEN",g="HALF_OPEN";class h{constructor(a,b={}){this.name=a,this.failureThreshold=b.failureThreshold??5,this.resetTimeout=b.resetTimeout??3e4,this.halfOpenRequests=b.halfOpenRequests??1,this.onStateChange=b.onStateChange||null,this.isFailure=b.isFailure||(()=>!0),this.state=e,this.failureCount=0,this.successCount=0,this.lastFailureTime=null,this.halfOpenAllowed=0,this._restoreFromDb()}_restoreFromDb(){try{let a=(0,d.vX)(this.name);a&&(this.state=a.state,this.failureCount=a.failureCount,this.lastFailureTime=a.lastFailureTime,this.state===g&&(this.halfOpenAllowed=this.halfOpenRequests))}catch{}}_persistToDb(){try{(0,d.QM)(this.name,{state:this.state,failureCount:this.failureCount,lastFailureTime:this.lastFailureTime,options:{failureThreshold:this.failureThreshold,resetTimeout:this.resetTimeout,halfOpenRequests:this.halfOpenRequests}})}catch{}}async execute(a){if(this.state===f)if(this._shouldAttemptReset())this._transition(g);else throw new i(`Circuit breaker "${this.name}" is OPEN. Try again later.`,this.name,this._timeUntilReset());if(this.state===g&&this.halfOpenAllowed<=0)throw new i(`Circuit breaker "${this.name}" is HALF_OPEN, no more probe requests allowed.`,this.name,this._timeUntilReset());this.state===g&&this.halfOpenAllowed--;try{let b=await a();return this._onSuccess(),b}catch(a){throw this.isFailure(a)&&this._onFailure(),a}}canExecute(){return this.state===e||(this.state===f?this._shouldAttemptReset():this.state===g&&this.halfOpenAllowed>0)}getStatus(){return{name:this.name,state:this.state,failureCount:this.failureCount,lastFailureTime:this.lastFailureTime}}reset(){this._transition(e),this.failureCount=0,this.successCount=0,this.lastFailureTime=null,this._persistToDb()}_onSuccess(){this.state===g&&(this.successCount++,this._transition(e),this.failureCount=0),this.failureCount=0,this._persistToDb()}_onFailure(){this.failureCount++,this.lastFailureTime=Date.now(),this.state===g?this._transition(f):this.failureCount>=this.failureThreshold&&this._transition(f),this._persistToDb()}_shouldAttemptReset(){return!this.lastFailureTime||Date.now()-this.lastFailureTime>=this.resetTimeout}_timeUntilReset(){return this.lastFailureTime?Math.max(0,this.resetTimeout-(Date.now()-this.lastFailureTime)):0}_transition(a){let b=this.state;this.state=a,a===g&&(this.halfOpenAllowed=this.halfOpenRequests),this.onStateChange&&b!==a&&this.onStateChange(this.name,b,a)}}class i extends Error{constructor(a,b,c){super(a),this.name="CircuitBreakerOpenError",this.circuitName=b,this.retryAfterMs=c}}let j=new Map;function k(a,b){return j.has(a)||j.set(a,new h(a,b)),j.get(a)}function l(){try{for(let a of(0,d.xd)())j.has(a.name)||k(a.name)}catch{}return Array.from(j.values()).map(a=>a.getStatus())}function m(){for(let a of j.values())a.reset();j.clear();try{(0,d.G7)()}catch{}}},97917:(a,b,c)=>{c.d(b,{G7:()=>q,M4:()=>m,QM:()=>n,_s:()=>l,io:()=>i,mE:()=>f,qA:()=>k,tv:()=>j,vX:()=>o,xV:()=>e,xd:()=>p,z$:()=>g,zd:()=>h});var d=c(42910);function e(a,b){(0,d.sm)().prepare("INSERT OR REPLACE INTO domain_fallback_chains (model, chain) VALUES (?, ?)").run(a,JSON.stringify(b))}function f(){let a=(0,d.sm)().prepare("SELECT model, chain FROM domain_fallback_chains").all(),b={};for(let c of a)b[c.model]=JSON.parse(c.chain);return b}function g(a){return(0,d.sm)().prepare("DELETE FROM domain_fallback_chains WHERE model = ?").run(a).changes>0}function h(a,b){(0,d.sm)().prepare(`INSERT OR REPLACE INTO domain_budgets (api_key_id, daily_limit_usd, monthly_limit_usd, warning_threshold)
2
2
  VALUES (?, ?, ?, ?)`).run(a,b.dailyLimitUsd,b.monthlyLimitUsd||0,b.warningThreshold??.8)}function i(a){let b=(0,d.sm)().prepare("SELECT * FROM domain_budgets WHERE api_key_id = ?").get(a);return b?{dailyLimitUsd:b.daily_limit_usd,monthlyLimitUsd:b.monthly_limit_usd,warningThreshold:b.warning_threshold}:null}function j(a,b,c=Date.now()){(0,d.sm)().prepare("INSERT INTO domain_cost_history (api_key_id, cost, timestamp) VALUES (?, ?, ?)").run(a,b,c)}function k(a,b){return(0,d.sm)().prepare("SELECT cost, timestamp FROM domain_cost_history WHERE api_key_id = ? AND timestamp >= ? ORDER BY timestamp").all(a,b)}function l(a){(0,d.sm)().prepare("DELETE FROM domain_lockout_state WHERE identifier = ?").run(a)}function m(){let a=(0,d.sm)(),b=Date.now();return a.prepare("SELECT identifier, locked_until FROM domain_lockout_state WHERE locked_until IS NOT NULL AND locked_until > ?").all(b).map(a=>({identifier:a.identifier,lockedUntil:a.locked_until}))}function n(a,b){(0,d.sm)().prepare(`INSERT OR REPLACE INTO domain_circuit_breakers (name, state, failure_count, last_failure_time, options)
3
3
  VALUES (?, ?, ?, ?, ?)`).run(a,b.state,b.failureCount,b.lastFailureTime,b.options?JSON.stringify(b.options):null)}function o(a){let b=(0,d.sm)().prepare("SELECT * FROM domain_circuit_breakers WHERE name = ?").get(a);return b?{state:b.state,failureCount:b.failure_count,lastFailureTime:b.last_failure_time,options:b.options?JSON.parse(b.options):null}:null}function p(){return(0,d.sm)().prepare("SELECT name, state, failure_count, last_failure_time FROM domain_circuit_breakers").all().map(a=>({name:a.name,state:a.state,failureCount:a.failure_count,lastFailureTime:a.last_failure_time}))}function q(){(0,d.sm)().prepare("DELETE FROM domain_circuit_breakers").run()}}};
@@ -1,3 +1,3 @@
1
- "use strict";exports.id=2620,exports.ids=[239,2620],exports.modules={12620:(a,b,c)=>{c.d(b,{ez:()=>i,getAllCircuitBreakerStatuses:()=>l,getCircuitBreaker:()=>k,resetAllCircuitBreakers:()=>m});var d=c(97917);let e="CLOSED",f="OPEN",g="HALF_OPEN";class h{constructor(a,b={}){this.name=a,this.failureThreshold=b.failureThreshold??5,this.resetTimeout=b.resetTimeout??3e4,this.halfOpenRequests=b.halfOpenRequests??1,this.onStateChange=b.onStateChange||null,this.isFailure=b.isFailure||(()=>!0),this.state=e,this.failureCount=0,this.successCount=0,this.lastFailureTime=null,this.halfOpenAllowed=0,this._restoreFromDb()}_restoreFromDb(){try{let a=(0,d.vX)(this.name);a&&(this.state=a.state,this.failureCount=a.failureCount,this.lastFailureTime=a.lastFailureTime,this.state===g&&(this.halfOpenAllowed=this.halfOpenRequests))}catch{}}_persistToDb(){try{(0,d.QM)(this.name,{state:this.state,failureCount:this.failureCount,lastFailureTime:this.lastFailureTime,options:{failureThreshold:this.failureThreshold,resetTimeout:this.resetTimeout,halfOpenRequests:this.halfOpenRequests}})}catch{}}async execute(a){if(this.state===f)if(this._shouldAttemptReset())this._transition(g);else throw new i(`Circuit breaker "${this.name}" is OPEN. Try again later.`,this.name,this._timeUntilReset());if(this.state===g&&this.halfOpenAllowed<=0)throw new i(`Circuit breaker "${this.name}" is HALF_OPEN, no more probe requests allowed.`,this.name,this._timeUntilReset());this.state===g&&this.halfOpenAllowed--;try{let b=await a();return this._onSuccess(),b}catch(a){throw this.isFailure(a)&&this._onFailure(),a}}canExecute(){return this.state===e||(this.state===f?this._shouldAttemptReset():this.state===g&&this.halfOpenAllowed>0)}getStatus(){return{name:this.name,state:this.state,failureCount:this.failureCount,lastFailureTime:this.lastFailureTime}}reset(){this._transition(e),this.failureCount=0,this.successCount=0,this.lastFailureTime=null,this._persistToDb()}_onSuccess(){this.state===g&&(this.successCount++,this._transition(e),this.failureCount=0),this.failureCount=0,this._persistToDb()}_onFailure(){this.failureCount++,this.lastFailureTime=Date.now(),this.state===g?this._transition(f):this.failureCount>=this.failureThreshold&&this._transition(f),this._persistToDb()}_shouldAttemptReset(){return!this.lastFailureTime||Date.now()-this.lastFailureTime>=this.resetTimeout}_timeUntilReset(){return this.lastFailureTime?Math.max(0,this.resetTimeout-(Date.now()-this.lastFailureTime)):0}_transition(a){let b=this.state;this.state=a,a===g&&(this.halfOpenAllowed=this.halfOpenRequests),this.onStateChange&&b!==a&&this.onStateChange(this.name,b,a)}}class i extends Error{constructor(a,b,c){super(a),this.name="CircuitBreakerOpenError",this.circuitName=b,this.retryAfterMs=c}}let j=new Map;function k(a,b){return j.has(a)||j.set(a,new h(a,b)),j.get(a)}function l(){try{for(let a of(0,d.xd)())j.has(a.name)||k(a.name)}catch{}return Array.from(j.values()).map(a=>a.getStatus())}function m(){for(let a of j.values())a.reset();j.clear();try{(0,d.G7)()}catch{}}},97917:(a,b,c)=>{c.d(b,{G7:()=>q,M4:()=>m,QM:()=>n,_s:()=>l,io:()=>i,mE:()=>f,qA:()=>k,tv:()=>j,vX:()=>o,xV:()=>e,xd:()=>p,z$:()=>g,zd:()=>h});var d=c(41549);function e(a,b){(0,d.sm)().prepare("INSERT OR REPLACE INTO domain_fallback_chains (model, chain) VALUES (?, ?)").run(a,JSON.stringify(b))}function f(){let a=(0,d.sm)().prepare("SELECT model, chain FROM domain_fallback_chains").all(),b={};for(let c of a)b[c.model]=JSON.parse(c.chain);return b}function g(a){return(0,d.sm)().prepare("DELETE FROM domain_fallback_chains WHERE model = ?").run(a).changes>0}function h(a,b){(0,d.sm)().prepare(`INSERT OR REPLACE INTO domain_budgets (api_key_id, daily_limit_usd, monthly_limit_usd, warning_threshold)
1
+ "use strict";exports.id=2620,exports.ids=[239,2620],exports.modules={12620:(a,b,c)=>{c.d(b,{ez:()=>i,getAllCircuitBreakerStatuses:()=>l,getCircuitBreaker:()=>k,resetAllCircuitBreakers:()=>m});var d=c(97917);let e="CLOSED",f="OPEN",g="HALF_OPEN";class h{constructor(a,b={}){this.name=a,this.failureThreshold=b.failureThreshold??5,this.resetTimeout=b.resetTimeout??3e4,this.halfOpenRequests=b.halfOpenRequests??1,this.onStateChange=b.onStateChange||null,this.isFailure=b.isFailure||(()=>!0),this.state=e,this.failureCount=0,this.successCount=0,this.lastFailureTime=null,this.halfOpenAllowed=0,this._restoreFromDb()}_restoreFromDb(){try{let a=(0,d.vX)(this.name);a&&(this.state=a.state,this.failureCount=a.failureCount,this.lastFailureTime=a.lastFailureTime,this.state===g&&(this.halfOpenAllowed=this.halfOpenRequests))}catch{}}_persistToDb(){try{(0,d.QM)(this.name,{state:this.state,failureCount:this.failureCount,lastFailureTime:this.lastFailureTime,options:{failureThreshold:this.failureThreshold,resetTimeout:this.resetTimeout,halfOpenRequests:this.halfOpenRequests}})}catch{}}async execute(a){if(this.state===f)if(this._shouldAttemptReset())this._transition(g);else throw new i(`Circuit breaker "${this.name}" is OPEN. Try again later.`,this.name,this._timeUntilReset());if(this.state===g&&this.halfOpenAllowed<=0)throw new i(`Circuit breaker "${this.name}" is HALF_OPEN, no more probe requests allowed.`,this.name,this._timeUntilReset());this.state===g&&this.halfOpenAllowed--;try{let b=await a();return this._onSuccess(),b}catch(a){throw this.isFailure(a)&&this._onFailure(),a}}canExecute(){return this.state===e||(this.state===f?this._shouldAttemptReset():this.state===g&&this.halfOpenAllowed>0)}getStatus(){return{name:this.name,state:this.state,failureCount:this.failureCount,lastFailureTime:this.lastFailureTime}}reset(){this._transition(e),this.failureCount=0,this.successCount=0,this.lastFailureTime=null,this._persistToDb()}_onSuccess(){this.state===g&&(this.successCount++,this._transition(e),this.failureCount=0),this.failureCount=0,this._persistToDb()}_onFailure(){this.failureCount++,this.lastFailureTime=Date.now(),this.state===g?this._transition(f):this.failureCount>=this.failureThreshold&&this._transition(f),this._persistToDb()}_shouldAttemptReset(){return!this.lastFailureTime||Date.now()-this.lastFailureTime>=this.resetTimeout}_timeUntilReset(){return this.lastFailureTime?Math.max(0,this.resetTimeout-(Date.now()-this.lastFailureTime)):0}_transition(a){let b=this.state;this.state=a,a===g&&(this.halfOpenAllowed=this.halfOpenRequests),this.onStateChange&&b!==a&&this.onStateChange(this.name,b,a)}}class i extends Error{constructor(a,b,c){super(a),this.name="CircuitBreakerOpenError",this.circuitName=b,this.retryAfterMs=c}}let j=new Map;function k(a,b){return j.has(a)||j.set(a,new h(a,b)),j.get(a)}function l(){try{for(let a of(0,d.xd)())j.has(a.name)||k(a.name)}catch{}return Array.from(j.values()).map(a=>a.getStatus())}function m(){for(let a of j.values())a.reset();j.clear();try{(0,d.G7)()}catch{}}},97917:(a,b,c)=>{c.d(b,{G7:()=>q,M4:()=>m,QM:()=>n,_s:()=>l,io:()=>i,mE:()=>f,qA:()=>k,tv:()=>j,vX:()=>o,xV:()=>e,xd:()=>p,z$:()=>g,zd:()=>h});var d=c(42910);function e(a,b){(0,d.sm)().prepare("INSERT OR REPLACE INTO domain_fallback_chains (model, chain) VALUES (?, ?)").run(a,JSON.stringify(b))}function f(){let a=(0,d.sm)().prepare("SELECT model, chain FROM domain_fallback_chains").all(),b={};for(let c of a)b[c.model]=JSON.parse(c.chain);return b}function g(a){return(0,d.sm)().prepare("DELETE FROM domain_fallback_chains WHERE model = ?").run(a).changes>0}function h(a,b){(0,d.sm)().prepare(`INSERT OR REPLACE INTO domain_budgets (api_key_id, daily_limit_usd, monthly_limit_usd, warning_threshold)
2
2
  VALUES (?, ?, ?, ?)`).run(a,b.dailyLimitUsd,b.monthlyLimitUsd||0,b.warningThreshold??.8)}function i(a){let b=(0,d.sm)().prepare("SELECT * FROM domain_budgets WHERE api_key_id = ?").get(a);return b?{dailyLimitUsd:b.daily_limit_usd,monthlyLimitUsd:b.monthly_limit_usd,warningThreshold:b.warning_threshold}:null}function j(a,b,c=Date.now()){(0,d.sm)().prepare("INSERT INTO domain_cost_history (api_key_id, cost, timestamp) VALUES (?, ?, ?)").run(a,b,c)}function k(a,b){return(0,d.sm)().prepare("SELECT cost, timestamp FROM domain_cost_history WHERE api_key_id = ? AND timestamp >= ? ORDER BY timestamp").all(a,b)}function l(a){(0,d.sm)().prepare("DELETE FROM domain_lockout_state WHERE identifier = ?").run(a)}function m(){let a=(0,d.sm)(),b=Date.now();return a.prepare("SELECT identifier, locked_until FROM domain_lockout_state WHERE locked_until IS NOT NULL AND locked_until > ?").all(b).map(a=>({identifier:a.identifier,lockedUntil:a.locked_until}))}function n(a,b){(0,d.sm)().prepare(`INSERT OR REPLACE INTO domain_circuit_breakers (name, state, failure_count, last_failure_time, options)
3
3
  VALUES (?, ?, ?, ?, ?)`).run(a,b.state,b.failureCount,b.lastFailureTime,b.options?JSON.stringify(b.options):null)}function o(a){let b=(0,d.sm)().prepare("SELECT * FROM domain_circuit_breakers WHERE name = ?").get(a);return b?{state:b.state,failureCount:b.failure_count,lastFailureTime:b.last_failure_time,options:b.options?JSON.parse(b.options):null}:null}function p(){return(0,d.sm)().prepare("SELECT name, state, failure_count, last_failure_time FROM domain_circuit_breakers").all().map(a=>({name:a.name,state:a.state,failureCount:a.failure_count,lastFailureTime:a.last_failure_time}))}function q(){(0,d.sm)().prepare("DELETE FROM domain_circuit_breakers").run()}}};