omniroute 1.0.7 → 1.0.8

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 (473) hide show
  1. package/README.md +1 -0
  2. package/README.pt-BR.md +1 -0
  3. package/app/.next/BUILD_ID +1 -1
  4. package/app/.next/app-path-routes-manifest.json +28 -28
  5. package/app/.next/build-manifest.json +2 -2
  6. package/app/.next/prerender-manifest.json +3 -3
  7. package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  8. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
  9. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  10. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  11. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  12. package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
  13. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  14. package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  15. package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
  16. package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
  17. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
  18. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  19. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  20. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  21. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  22. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  23. package/app/.next/server/app/(dashboard)/dashboard/settings/page.js +1 -1
  24. package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
  25. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  26. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  27. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  28. package/app/.next/server/app/_global-error/page.js +1 -1
  29. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  30. package/app/.next/server/app/_global-error.html +2 -2
  31. package/app/.next/server/app/_global-error.rsc +2 -2
  32. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
  33. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  34. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  35. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  36. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +2 -2
  37. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  38. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  39. package/app/.next/server/app/_not-found.html +1 -1
  40. package/app/.next/server/app/_not-found.rsc +4 -4
  41. package/app/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
  42. package/app/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  43. package/app/.next/server/app/_not-found.segments/_index.segment.rsc +4 -4
  44. package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  45. package/app/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  46. package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  47. package/app/.next/server/app/api/auth/login/route.js +1 -1
  48. package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  49. package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  50. package/app/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  51. package/app/.next/server/app/api/cache/route_client-reference-manifest.js +1 -1
  52. package/app/.next/server/app/api/cache/stats/route_client-reference-manifest.js +1 -1
  53. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  54. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
  55. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +2 -2
  56. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
  57. package/app/.next/server/app/api/cli-tools/backups/route.js +2 -2
  58. package/app/.next/server/app/api/cli-tools/backups/route_client-reference-manifest.js +1 -1
  59. package/app/.next/server/app/api/cli-tools/claude-settings/route.js +2 -2
  60. package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
  61. package/app/.next/server/app/api/cli-tools/cline-settings/route.js +2 -2
  62. package/app/.next/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
  63. package/app/.next/server/app/api/cli-tools/codex-profiles/route.js +1 -1
  64. package/app/.next/server/app/api/cli-tools/codex-profiles/route_client-reference-manifest.js +1 -1
  65. package/app/.next/server/app/api/cli-tools/codex-settings/route.js +1 -1
  66. package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
  67. package/app/.next/server/app/api/cli-tools/droid-settings/route.js +2 -2
  68. package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
  69. package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route_client-reference-manifest.js +1 -1
  70. package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  71. package/app/.next/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
  72. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  73. package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
  74. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route.js +2 -2
  75. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route_client-reference-manifest.js +1 -1
  76. package/app/.next/server/app/api/cli-tools/status/route.js +2 -2
  77. package/app/.next/server/app/api/cli-tools/status/route_client-reference-manifest.js +1 -1
  78. package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
  79. package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
  80. package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
  81. package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
  82. package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  83. package/app/.next/server/app/api/combos/metrics/route_client-reference-manifest.js +1 -1
  84. package/app/.next/server/app/api/combos/route.js +1 -1
  85. package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
  86. package/app/.next/server/app/api/combos/test/route_client-reference-manifest.js +1 -1
  87. package/app/.next/server/app/api/compliance/audit-log/route_client-reference-manifest.js +1 -1
  88. package/app/.next/server/app/api/db-backups/export/route_client-reference-manifest.js +1 -1
  89. package/app/.next/server/app/api/db-backups/exportAll/route_client-reference-manifest.js +1 -1
  90. package/app/.next/server/app/api/db-backups/import/route_client-reference-manifest.js +1 -1
  91. package/app/.next/server/app/api/db-backups/route_client-reference-manifest.js +1 -1
  92. package/app/.next/server/app/api/evals/[suiteId]/route_client-reference-manifest.js +1 -1
  93. package/app/.next/server/app/api/evals/route_client-reference-manifest.js +1 -1
  94. package/app/.next/server/app/api/fallback/chains/route_client-reference-manifest.js +1 -1
  95. package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  96. package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  97. package/app/.next/server/app/api/keys/route.js +1 -1
  98. package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
  99. package/app/.next/server/app/api/logs/console/route_client-reference-manifest.js +1 -1
  100. package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
  101. package/app/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
  102. package/app/.next/server/app/api/models/catalog/route_client-reference-manifest.js +1 -1
  103. package/app/.next/server/app/api/models/route.js +1 -1
  104. package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  105. package/app/.next/server/app/api/monitoring/health/route.js +1 -1
  106. package/app/.next/server/app/api/monitoring/health/route_client-reference-manifest.js +1 -1
  107. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  108. package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  109. package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  110. package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  111. package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
  112. package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
  113. package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
  114. package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
  115. package/app/.next/server/app/api/policies/route_client-reference-manifest.js +1 -1
  116. package/app/.next/server/app/api/pricing/defaults/route_client-reference-manifest.js +1 -1
  117. package/app/.next/server/app/api/pricing/models/route_client-reference-manifest.js +1 -1
  118. package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  119. package/app/.next/server/app/api/provider-metrics/route_client-reference-manifest.js +1 -1
  120. package/app/.next/server/app/api/provider-models/route_client-reference-manifest.js +1 -1
  121. package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  122. package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  123. package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  124. package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  125. package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  126. package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  127. package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  128. package/app/.next/server/app/api/providers/route.js +1 -1
  129. package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
  130. package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
  131. package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  132. package/app/.next/server/app/api/rate-limit/route_client-reference-manifest.js +1 -1
  133. package/app/.next/server/app/api/rate-limits/route_client-reference-manifest.js +1 -1
  134. package/app/.next/server/app/api/resilience/reset/route_client-reference-manifest.js +1 -1
  135. package/app/.next/server/app/api/resilience/route_client-reference-manifest.js +1 -1
  136. package/app/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  137. package/app/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  138. package/app/.next/server/app/api/settings/combo-defaults/route_client-reference-manifest.js +1 -1
  139. package/app/.next/server/app/api/settings/ip-filter/route_client-reference-manifest.js +1 -1
  140. package/app/.next/server/app/api/settings/proxy/route_client-reference-manifest.js +1 -1
  141. package/app/.next/server/app/api/settings/proxy/test/route_client-reference-manifest.js +1 -1
  142. package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  143. package/app/.next/server/app/api/settings/route.js +1 -1
  144. package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  145. package/app/.next/server/app/api/settings/system-prompt/route_client-reference-manifest.js +1 -1
  146. package/app/.next/server/app/api/settings/thinking-budget/route_client-reference-manifest.js +1 -1
  147. package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  148. package/app/.next/server/app/api/storage/health/route_client-reference-manifest.js +1 -1
  149. package/app/.next/server/app/api/sync/cloud/route_client-reference-manifest.js +1 -1
  150. package/app/.next/server/app/api/sync/initialize/route_client-reference-manifest.js +1 -1
  151. package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
  152. package/app/.next/server/app/api/telemetry/summary/route_client-reference-manifest.js +1 -1
  153. package/app/.next/server/app/api/token-health/route_client-reference-manifest.js +1 -1
  154. package/app/.next/server/app/api/translator/detect/route_client-reference-manifest.js +1 -1
  155. package/app/.next/server/app/api/translator/history/route_client-reference-manifest.js +1 -1
  156. package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  157. package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  158. package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  159. package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  160. package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  161. package/app/.next/server/app/api/usage/analytics/route_client-reference-manifest.js +1 -1
  162. package/app/.next/server/app/api/usage/budget/route_client-reference-manifest.js +1 -1
  163. package/app/.next/server/app/api/usage/call-logs/[id]/route_client-reference-manifest.js +1 -1
  164. package/app/.next/server/app/api/usage/call-logs/route_client-reference-manifest.js +1 -1
  165. package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  166. package/app/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
  167. package/app/.next/server/app/api/usage/proxy-logs/route_client-reference-manifest.js +1 -1
  168. package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  169. package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  170. package/app/.next/server/app/api/v1/audio/speech/route.js +1 -1
  171. package/app/.next/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  172. package/app/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
  173. package/app/.next/server/app/api/v1/audio/transcriptions/route.js +1 -1
  174. package/app/.next/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  175. package/app/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
  176. package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  177. package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
  178. package/app/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
  179. package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  180. package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  181. package/app/.next/server/app/api/v1/models/route.js +2 -2
  182. package/app/.next/server/app/api/v1/models/route.js.nft.json +1 -1
  183. package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  184. package/app/.next/server/app/api/v1/moderations/route_client-reference-manifest.js +1 -1
  185. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route_client-reference-manifest.js +1 -1
  186. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route_client-reference-manifest.js +1 -1
  187. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route_client-reference-manifest.js +1 -1
  188. package/app/.next/server/app/api/v1/rerank/route_client-reference-manifest.js +1 -1
  189. package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  190. package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
  191. package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  192. package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  193. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  194. package/app/.next/server/app/callback.html +1 -1
  195. package/app/.next/server/app/callback.rsc +4 -4
  196. package/app/.next/server/app/callback.segments/_full.segment.rsc +4 -4
  197. package/app/.next/server/app/callback.segments/_head.segment.rsc +1 -1
  198. package/app/.next/server/app/callback.segments/_index.segment.rsc +4 -4
  199. package/app/.next/server/app/callback.segments/_tree.segment.rsc +2 -2
  200. package/app/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  201. package/app/.next/server/app/callback.segments/callback.segment.rsc +1 -1
  202. package/app/.next/server/app/dashboard/analytics.html +2 -2
  203. package/app/.next/server/app/dashboard/analytics.rsc +6 -6
  204. package/app/.next/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard/analytics/__PAGE__.segment.rsc +2 -2
  205. package/app/.next/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard/analytics.segment.rsc +1 -1
  206. package/app/.next/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  207. package/app/.next/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  208. package/app/.next/server/app/dashboard/analytics.segments/_full.segment.rsc +6 -6
  209. package/app/.next/server/app/dashboard/analytics.segments/_head.segment.rsc +1 -1
  210. package/app/.next/server/app/dashboard/analytics.segments/_index.segment.rsc +4 -4
  211. package/app/.next/server/app/dashboard/analytics.segments/_tree.segment.rsc +2 -2
  212. package/app/.next/server/app/dashboard/audit-log.html +1 -1
  213. package/app/.next/server/app/dashboard/audit-log.rsc +5 -5
  214. package/app/.next/server/app/dashboard/audit-log.segments/!KGRhc2hib2FyZCk/dashboard/audit-log/__PAGE__.segment.rsc +1 -1
  215. package/app/.next/server/app/dashboard/audit-log.segments/!KGRhc2hib2FyZCk/dashboard/audit-log.segment.rsc +1 -1
  216. package/app/.next/server/app/dashboard/audit-log.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  217. package/app/.next/server/app/dashboard/audit-log.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  218. package/app/.next/server/app/dashboard/audit-log.segments/_full.segment.rsc +5 -5
  219. package/app/.next/server/app/dashboard/audit-log.segments/_head.segment.rsc +1 -1
  220. package/app/.next/server/app/dashboard/audit-log.segments/_index.segment.rsc +4 -4
  221. package/app/.next/server/app/dashboard/audit-log.segments/_tree.segment.rsc +2 -2
  222. package/app/.next/server/app/dashboard/cli-tools.html +1 -1
  223. package/app/.next/server/app/dashboard/cli-tools.rsc +6 -6
  224. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  225. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  226. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  227. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  228. package/app/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +6 -6
  229. package/app/.next/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  230. package/app/.next/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
  231. package/app/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  232. package/app/.next/server/app/dashboard/combos.html +1 -1
  233. package/app/.next/server/app/dashboard/combos.rsc +6 -6
  234. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  235. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  236. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  237. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  238. package/app/.next/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
  239. package/app/.next/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  240. package/app/.next/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
  241. package/app/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  242. package/app/.next/server/app/dashboard/costs.html +1 -1
  243. package/app/.next/server/app/dashboard/costs.rsc +6 -6
  244. package/app/.next/server/app/dashboard/costs.segments/!KGRhc2hib2FyZCk/dashboard/costs/__PAGE__.segment.rsc +2 -2
  245. package/app/.next/server/app/dashboard/costs.segments/!KGRhc2hib2FyZCk/dashboard/costs.segment.rsc +1 -1
  246. package/app/.next/server/app/dashboard/costs.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  247. package/app/.next/server/app/dashboard/costs.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  248. package/app/.next/server/app/dashboard/costs.segments/_full.segment.rsc +6 -6
  249. package/app/.next/server/app/dashboard/costs.segments/_head.segment.rsc +1 -1
  250. package/app/.next/server/app/dashboard/costs.segments/_index.segment.rsc +4 -4
  251. package/app/.next/server/app/dashboard/costs.segments/_tree.segment.rsc +2 -2
  252. package/app/.next/server/app/dashboard/endpoint.html +1 -1
  253. package/app/.next/server/app/dashboard/endpoint.rsc +6 -6
  254. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  255. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  256. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  257. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  258. package/app/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +6 -6
  259. package/app/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  260. package/app/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
  261. package/app/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  262. package/app/.next/server/app/dashboard/health.html +1 -1
  263. package/app/.next/server/app/dashboard/health.rsc +6 -6
  264. package/app/.next/server/app/dashboard/health.segments/!KGRhc2hib2FyZCk/dashboard/health/__PAGE__.segment.rsc +2 -2
  265. package/app/.next/server/app/dashboard/health.segments/!KGRhc2hib2FyZCk/dashboard/health.segment.rsc +1 -1
  266. package/app/.next/server/app/dashboard/health.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  267. package/app/.next/server/app/dashboard/health.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  268. package/app/.next/server/app/dashboard/health.segments/_full.segment.rsc +6 -6
  269. package/app/.next/server/app/dashboard/health.segments/_head.segment.rsc +1 -1
  270. package/app/.next/server/app/dashboard/health.segments/_index.segment.rsc +4 -4
  271. package/app/.next/server/app/dashboard/health.segments/_tree.segment.rsc +2 -2
  272. package/app/.next/server/app/dashboard/limits.html +2 -2
  273. package/app/.next/server/app/dashboard/limits.rsc +6 -6
  274. package/app/.next/server/app/dashboard/limits.segments/!KGRhc2hib2FyZCk/dashboard/limits/__PAGE__.segment.rsc +2 -2
  275. package/app/.next/server/app/dashboard/limits.segments/!KGRhc2hib2FyZCk/dashboard/limits.segment.rsc +1 -1
  276. package/app/.next/server/app/dashboard/limits.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  277. package/app/.next/server/app/dashboard/limits.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  278. package/app/.next/server/app/dashboard/limits.segments/_full.segment.rsc +6 -6
  279. package/app/.next/server/app/dashboard/limits.segments/_head.segment.rsc +1 -1
  280. package/app/.next/server/app/dashboard/limits.segments/_index.segment.rsc +4 -4
  281. package/app/.next/server/app/dashboard/limits.segments/_tree.segment.rsc +2 -2
  282. package/app/.next/server/app/dashboard/logs.html +1 -1
  283. package/app/.next/server/app/dashboard/logs.rsc +6 -6
  284. package/app/.next/server/app/dashboard/logs.segments/!KGRhc2hib2FyZCk/dashboard/logs/__PAGE__.segment.rsc +2 -2
  285. package/app/.next/server/app/dashboard/logs.segments/!KGRhc2hib2FyZCk/dashboard/logs.segment.rsc +1 -1
  286. package/app/.next/server/app/dashboard/logs.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  287. package/app/.next/server/app/dashboard/logs.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  288. package/app/.next/server/app/dashboard/logs.segments/_full.segment.rsc +6 -6
  289. package/app/.next/server/app/dashboard/logs.segments/_head.segment.rsc +1 -1
  290. package/app/.next/server/app/dashboard/logs.segments/_index.segment.rsc +4 -4
  291. package/app/.next/server/app/dashboard/logs.segments/_tree.segment.rsc +2 -2
  292. package/app/.next/server/app/dashboard/onboarding.html +1 -1
  293. package/app/.next/server/app/dashboard/onboarding.rsc +5 -5
  294. package/app/.next/server/app/dashboard/onboarding.segments/!KGRhc2hib2FyZCk/dashboard/onboarding/__PAGE__.segment.rsc +1 -1
  295. package/app/.next/server/app/dashboard/onboarding.segments/!KGRhc2hib2FyZCk/dashboard/onboarding.segment.rsc +1 -1
  296. package/app/.next/server/app/dashboard/onboarding.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  297. package/app/.next/server/app/dashboard/onboarding.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  298. package/app/.next/server/app/dashboard/onboarding.segments/_full.segment.rsc +5 -5
  299. package/app/.next/server/app/dashboard/onboarding.segments/_head.segment.rsc +1 -1
  300. package/app/.next/server/app/dashboard/onboarding.segments/_index.segment.rsc +4 -4
  301. package/app/.next/server/app/dashboard/onboarding.segments/_tree.segment.rsc +2 -2
  302. package/app/.next/server/app/dashboard/profile.html +1 -1
  303. package/app/.next/server/app/dashboard/profile.rsc +5 -5
  304. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +1 -1
  305. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  306. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  307. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  308. package/app/.next/server/app/dashboard/profile.segments/_full.segment.rsc +5 -5
  309. package/app/.next/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  310. package/app/.next/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
  311. package/app/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  312. package/app/.next/server/app/dashboard/providers/new.html +2 -2
  313. package/app/.next/server/app/dashboard/providers/new.rsc +6 -6
  314. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  315. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  316. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  317. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  318. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  319. package/app/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +6 -6
  320. package/app/.next/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  321. package/app/.next/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
  322. package/app/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  323. package/app/.next/server/app/dashboard/providers.html +2 -2
  324. package/app/.next/server/app/dashboard/providers.rsc +6 -6
  325. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  326. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  327. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  328. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  329. package/app/.next/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
  330. package/app/.next/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  331. package/app/.next/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
  332. package/app/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  333. package/app/.next/server/app/dashboard/settings/pricing.html +2 -2
  334. package/app/.next/server/app/dashboard/settings/pricing.rsc +5 -5
  335. package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  336. package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing.segment.rsc +1 -1
  337. package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings.segment.rsc +1 -1
  338. package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  339. package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  340. package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -5
  341. package/app/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  342. package/app/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
  343. package/app/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  344. package/app/.next/server/app/dashboard/settings.html +1 -2
  345. package/app/.next/server/app/dashboard/settings.rsc +6 -6
  346. package/app/.next/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk/dashboard/settings/__PAGE__.segment.rsc +2 -2
  347. package/app/.next/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk/dashboard/settings.segment.rsc +1 -1
  348. package/app/.next/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  349. package/app/.next/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  350. package/app/.next/server/app/dashboard/settings.segments/_full.segment.rsc +6 -6
  351. package/app/.next/server/app/dashboard/settings.segments/_head.segment.rsc +1 -1
  352. package/app/.next/server/app/dashboard/settings.segments/_index.segment.rsc +4 -4
  353. package/app/.next/server/app/dashboard/settings.segments/_tree.segment.rsc +2 -2
  354. package/app/.next/server/app/dashboard/translator.html +2 -2
  355. package/app/.next/server/app/dashboard/translator.rsc +6 -6
  356. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  357. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  358. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  359. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  360. package/app/.next/server/app/dashboard/translator.segments/_full.segment.rsc +6 -6
  361. package/app/.next/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  362. package/app/.next/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
  363. package/app/.next/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  364. package/app/.next/server/app/dashboard/usage.html +1 -1
  365. package/app/.next/server/app/dashboard/usage.rsc +6 -6
  366. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  367. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  368. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  369. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  370. package/app/.next/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
  371. package/app/.next/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  372. package/app/.next/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
  373. package/app/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  374. package/app/.next/server/app/docs/page.js +1 -1
  375. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  376. package/app/.next/server/app/docs.html +1 -1
  377. package/app/.next/server/app/docs.rsc +4 -4
  378. package/app/.next/server/app/docs.segments/_full.segment.rsc +4 -4
  379. package/app/.next/server/app/docs.segments/_head.segment.rsc +1 -1
  380. package/app/.next/server/app/docs.segments/_index.segment.rsc +4 -4
  381. package/app/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
  382. package/app/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +1 -1
  383. package/app/.next/server/app/docs.segments/docs.segment.rsc +1 -1
  384. package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
  385. package/app/.next/server/app/forbidden.html +1 -1
  386. package/app/.next/server/app/forbidden.rsc +4 -4
  387. package/app/.next/server/app/forbidden.segments/_full.segment.rsc +4 -4
  388. package/app/.next/server/app/forbidden.segments/_head.segment.rsc +1 -1
  389. package/app/.next/server/app/forbidden.segments/_index.segment.rsc +4 -4
  390. package/app/.next/server/app/forbidden.segments/_tree.segment.rsc +2 -2
  391. package/app/.next/server/app/forbidden.segments/forbidden/__PAGE__.segment.rsc +1 -1
  392. package/app/.next/server/app/forbidden.segments/forbidden.segment.rsc +1 -1
  393. package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  394. package/app/.next/server/app/forgot-password.html +1 -1
  395. package/app/.next/server/app/forgot-password.rsc +5 -5
  396. package/app/.next/server/app/forgot-password.segments/_full.segment.rsc +5 -5
  397. package/app/.next/server/app/forgot-password.segments/_head.segment.rsc +1 -1
  398. package/app/.next/server/app/forgot-password.segments/_index.segment.rsc +4 -4
  399. package/app/.next/server/app/forgot-password.segments/_tree.segment.rsc +2 -2
  400. package/app/.next/server/app/forgot-password.segments/forgot-password/__PAGE__.segment.rsc +2 -2
  401. package/app/.next/server/app/forgot-password.segments/forgot-password.segment.rsc +1 -1
  402. package/app/.next/server/app/index.html +1 -1
  403. package/app/.next/server/app/index.rsc +4 -4
  404. package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  405. package/app/.next/server/app/index.segments/_full.segment.rsc +4 -4
  406. package/app/.next/server/app/index.segments/_head.segment.rsc +1 -1
  407. package/app/.next/server/app/index.segments/_index.segment.rsc +4 -4
  408. package/app/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  409. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  410. package/app/.next/server/app/landing.html +1 -1
  411. package/app/.next/server/app/landing.rsc +4 -4
  412. package/app/.next/server/app/landing.segments/_full.segment.rsc +4 -4
  413. package/app/.next/server/app/landing.segments/_head.segment.rsc +1 -1
  414. package/app/.next/server/app/landing.segments/_index.segment.rsc +4 -4
  415. package/app/.next/server/app/landing.segments/_tree.segment.rsc +2 -2
  416. package/app/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  417. package/app/.next/server/app/landing.segments/landing.segment.rsc +1 -1
  418. package/app/.next/server/app/login/page.js +1 -1
  419. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  420. package/app/.next/server/app/login.html +1 -1
  421. package/app/.next/server/app/login.rsc +5 -5
  422. package/app/.next/server/app/login.segments/_full.segment.rsc +5 -5
  423. package/app/.next/server/app/login.segments/_head.segment.rsc +1 -1
  424. package/app/.next/server/app/login.segments/_index.segment.rsc +4 -4
  425. package/app/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  426. package/app/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  427. package/app/.next/server/app/login.segments/login.segment.rsc +1 -1
  428. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  429. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  430. package/app/.next/server/app/privacy.html +1 -1
  431. package/app/.next/server/app/privacy.rsc +4 -4
  432. package/app/.next/server/app/privacy.segments/_full.segment.rsc +4 -4
  433. package/app/.next/server/app/privacy.segments/_head.segment.rsc +1 -1
  434. package/app/.next/server/app/privacy.segments/_index.segment.rsc +4 -4
  435. package/app/.next/server/app/privacy.segments/_tree.segment.rsc +2 -2
  436. package/app/.next/server/app/privacy.segments/privacy/__PAGE__.segment.rsc +1 -1
  437. package/app/.next/server/app/privacy.segments/privacy.segment.rsc +1 -1
  438. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  439. package/app/.next/server/app/terms.html +1 -1
  440. package/app/.next/server/app/terms.rsc +4 -4
  441. package/app/.next/server/app/terms.segments/_full.segment.rsc +4 -4
  442. package/app/.next/server/app/terms.segments/_head.segment.rsc +1 -1
  443. package/app/.next/server/app/terms.segments/_index.segment.rsc +4 -4
  444. package/app/.next/server/app/terms.segments/_tree.segment.rsc +2 -2
  445. package/app/.next/server/app/terms.segments/terms/__PAGE__.segment.rsc +1 -1
  446. package/app/.next/server/app/terms.segments/terms.segment.rsc +1 -1
  447. package/app/.next/server/app-paths-manifest.json +28 -28
  448. package/app/.next/server/chunks/1998.js +1 -0
  449. package/app/.next/server/chunks/2180.js +4 -4
  450. package/app/.next/server/chunks/2910.js +4 -4
  451. package/app/.next/server/chunks/4488.js +4 -4
  452. package/app/.next/server/chunks/9979.js +1 -1
  453. package/app/.next/server/instrumentation.js +1 -1
  454. package/app/.next/server/middleware.js +5 -5
  455. package/app/.next/server/pages/404.html +1 -1
  456. package/app/.next/server/pages/500.html +2 -2
  457. package/app/.next/server/server-reference-manifest.js +1 -1
  458. package/app/.next/server/server-reference-manifest.json +1 -1
  459. package/app/.next/static/chunks/{5846-f71a47329aa16e15.js → 5846-2239171d59388fe8.js} +1 -1
  460. package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/page-24700772c6569500.js +1 -0
  461. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/page-98664026bfb4b4a9.js +1 -0
  462. package/app/.next/static/chunks/app/login/page-ca4dde4376ccd169.js +1 -0
  463. package/app/.next/static/chunks/app/not-found-1dbd8c3e506fe00f.js +1 -0
  464. package/app/.next/static/css/67c4b9dbfb14fddd.css +1 -0
  465. package/app/package.json +1 -1
  466. package/package.json +1 -1
  467. package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/page-572de2c66460c226.js +0 -1
  468. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/page-1067b7b1be3728d7.js +0 -1
  469. package/app/.next/static/chunks/app/login/page-40a8824400706b5e.js +0 -1
  470. package/app/.next/static/chunks/app/not-found-38123f3e1e5abc33.js +0 -1
  471. package/app/.next/static/css/c5b80d2d58d2e417.css +0 -1
  472. /package/app/.next/static/{AovxXDy-uEIQphhmUHFfm → rS_1Zfl9zlKFJcFPfMyip}/_buildManifest.js +0 -0
  473. /package/app/.next/static/{AovxXDy-uEIQphhmUHFfm → rS_1Zfl9zlKFJcFPfMyip}/_ssgManifest.js +0 -0
@@ -1,16 +1,16 @@
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-f71a47329aa16e15.js","993","static/chunks/993-549657c6dd78bae8.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-2239171d59388fe8.js","993","static/chunks/993-549657c6dd78bae8.js","9305","static/chunks/app/(dashboard)/layout-cf710bbfb7c3ba11.js"],"ThemeProvider"]
3
3
  3:I[57121,[],""]
4
4
  4:I[17267,["8039","static/chunks/app/error-0d59fc4efafbc38c.js"],"default"]
5
5
  5:I[74581,[],""]
6
- 6:I[37145,["8500","static/chunks/8500-98e13bcce54aa7a0.js","4345","static/chunks/app/not-found-38123f3e1e5abc33.js"],"default"]
6
+ 6:I[37145,["8500","static/chunks/8500-98e13bcce54aa7a0.js","4345","static/chunks/app/not-found-1dbd8c3e506fe00f.js"],"default"]
7
7
  7:I[98500,["8500","static/chunks/8500-98e13bcce54aa7a0.js","7066","static/chunks/app/terms/page-8f74097544a61b9d.js"],""]
8
8
  10:I[26719,["4219","static/chunks/app/global-error-41eef2a698918fc1.js"],"default"]
9
9
  :HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
10
10
  :HL["/_next/static/css/081a0afca5a9bd20.css","style"]
11
- :HL["/_next/static/css/c5b80d2d58d2e417.css","style"]
11
+ :HL["/_next/static/css/67c4b9dbfb14fddd.css","style"]
12
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"]
13
- 0:{"P":null,"b":"AovxXDy-uEIQphhmUHFfm","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/c5b80d2d58d2e417.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}
13
+ 0:{"P":null,"b":"rS_1Zfl9zlKFJcFPfMyip","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/67c4b9dbfb14fddd.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
14
  11:I[90484,[],"OutletBoundary"]
15
15
  12:"$Sreact.suspense"
16
16
  14:I[90484,[],"ViewportBoundary"]
@@ -3,4 +3,4 @@
3
3
  3:I[90484,[],"MetadataBoundary"]
4
4
  4:"$Sreact.suspense"
5
5
  5:I[86869,[],"IconMark"]
6
- 0:{"buildId":"AovxXDy-uEIQphhmUHFfm","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":"rS_1Zfl9zlKFJcFPfMyip","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,10 +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-f71a47329aa16e15.js","993","static/chunks/993-549657c6dd78bae8.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-2239171d59388fe8.js","993","static/chunks/993-549657c6dd78bae8.js","9305","static/chunks/app/(dashboard)/layout-cf710bbfb7c3ba11.js"],"ThemeProvider"]
3
3
  3:I[57121,[],""]
4
4
  4:I[17267,["8039","static/chunks/app/error-0d59fc4efafbc38c.js"],"default"]
5
5
  5:I[74581,[],""]
6
- 6:I[37145,["8500","static/chunks/8500-98e13bcce54aa7a0.js","4345","static/chunks/app/not-found-38123f3e1e5abc33.js"],"default"]
6
+ 6:I[37145,["8500","static/chunks/8500-98e13bcce54aa7a0.js","4345","static/chunks/app/not-found-1dbd8c3e506fe00f.js"],"default"]
7
7
  :HL["/_next/static/css/081a0afca5a9bd20.css","style"]
8
- :HL["/_next/static/css/c5b80d2d58d2e417.css","style"]
8
+ :HL["/_next/static/css/67c4b9dbfb14fddd.css","style"]
9
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"]
10
- 0:{"buildId":"AovxXDy-uEIQphhmUHFfm","rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/081a0afca5a9bd20.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/c5b80d2d58d2e417.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}
10
+ 0:{"buildId":"rS_1Zfl9zlKFJcFPfMyip","rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/081a0afca5a9bd20.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/67c4b9dbfb14fddd.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/c5b80d2d58d2e417.css","style"]
3
+ :HL["/_next/static/css/67c4b9dbfb14fddd.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":"AovxXDy-uEIQphhmUHFfm","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":"rS_1Zfl9zlKFJcFPfMyip","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":"AovxXDy-uEIQphhmUHFfm","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":"rS_1Zfl9zlKFJcFPfMyip","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":"AovxXDy-uEIQphhmUHFfm","rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"loading":null,"isPartial":false}
4
+ 0:{"buildId":"rS_1Zfl9zlKFJcFPfMyip","rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"loading":null,"isPartial":false}
@@ -2,8 +2,8 @@
2
2
  "/_not-found/page": "app/_not-found/page.js",
3
3
  "/_global-error/page": "app/_global-error/page.js",
4
4
  "/api/auth/login/route": "app/api/auth/login/route.js",
5
- "/api/auth/status/route": "app/api/auth/status/route.js",
6
5
  "/api/auth/logout/route": "app/api/auth/logout/route.js",
6
+ "/api/auth/status/route": "app/api/auth/status/route.js",
7
7
  "/api/cache/route": "app/api/cache/route.js",
8
8
  "/api/cache/stats/route": "app/api/cache/stats/route.js",
9
9
  "/api/cli-tools/antigravity-mitm/alias/route": "app/api/cli-tools/antigravity-mitm/alias/route.js",
@@ -11,26 +11,26 @@
11
11
  "/api/cli-tools/codex-profiles/route": "app/api/cli-tools/codex-profiles/route.js",
12
12
  "/api/cli-tools/guide-settings/[toolId]/route": "app/api/cli-tools/guide-settings/[toolId]/route.js",
13
13
  "/api/cloud/auth/route": "app/api/cloud/auth/route.js",
14
- "/api/cloud/credentials/update/route": "app/api/cloud/credentials/update/route.js",
15
14
  "/api/cloud/model/resolve/route": "app/api/cloud/model/resolve/route.js",
16
- "/api/combos/[id]/route": "app/api/combos/[id]/route.js",
15
+ "/api/cloud/credentials/update/route": "app/api/cloud/credentials/update/route.js",
17
16
  "/api/cloud/models/alias/route": "app/api/cloud/models/alias/route.js",
17
+ "/api/combos/[id]/route": "app/api/combos/[id]/route.js",
18
18
  "/api/combos/metrics/route": "app/api/combos/metrics/route.js",
19
19
  "/api/combos/route": "app/api/combos/route.js",
20
20
  "/api/compliance/audit-log/route": "app/api/compliance/audit-log/route.js",
21
21
  "/api/db-backups/export/route": "app/api/db-backups/export/route.js",
22
22
  "/api/db-backups/exportAll/route": "app/api/db-backups/exportAll/route.js",
23
23
  "/api/db-backups/import/route": "app/api/db-backups/import/route.js",
24
- "/api/evals/[suiteId]/route": "app/api/evals/[suiteId]/route.js",
25
24
  "/api/db-backups/route": "app/api/db-backups/route.js",
26
- "/api/evals/route": "app/api/evals/route.js",
25
+ "/api/evals/[suiteId]/route": "app/api/evals/[suiteId]/route.js",
27
26
  "/api/fallback/chains/route": "app/api/fallback/chains/route.js",
27
+ "/api/evals/route": "app/api/evals/route.js",
28
28
  "/api/init/route": "app/api/init/route.js",
29
29
  "/api/keys/[id]/route": "app/api/keys/[id]/route.js",
30
30
  "/api/keys/route": "app/api/keys/route.js",
31
31
  "/api/logs/console/route": "app/api/logs/console/route.js",
32
- "/api/models/availability/route": "app/api/models/availability/route.js",
33
32
  "/api/models/alias/route": "app/api/models/alias/route.js",
33
+ "/api/models/availability/route": "app/api/models/availability/route.js",
34
34
  "/api/models/catalog/route": "app/api/models/catalog/route.js",
35
35
  "/api/models/route": "app/api/models/route.js",
36
36
  "/api/monitoring/health/route": "app/api/monitoring/health/route.js",
@@ -39,8 +39,8 @@
39
39
  "/api/oauth/cursor/import/route": "app/api/oauth/cursor/import/route.js",
40
40
  "/api/oauth/kiro/auto-import/route": "app/api/oauth/kiro/auto-import/route.js",
41
41
  "/api/oauth/kiro/import/route": "app/api/oauth/kiro/import/route.js",
42
- "/api/oauth/kiro/social-authorize/route": "app/api/oauth/kiro/social-authorize/route.js",
43
42
  "/api/oauth/kiro/social-exchange/route": "app/api/oauth/kiro/social-exchange/route.js",
43
+ "/api/oauth/kiro/social-authorize/route": "app/api/oauth/kiro/social-authorize/route.js",
44
44
  "/api/policies/route": "app/api/policies/route.js",
45
45
  "/api/pricing/defaults/route": "app/api/pricing/defaults/route.js",
46
46
  "/api/pricing/models/route": "app/api/pricing/models/route.js",
@@ -49,17 +49,17 @@
49
49
  "/api/provider-models/route": "app/api/provider-models/route.js",
50
50
  "/api/provider-nodes/[id]/route": "app/api/provider-nodes/[id]/route.js",
51
51
  "/api/provider-nodes/validate/route": "app/api/provider-nodes/validate/route.js",
52
- "/api/providers/[id]/models/route": "app/api/providers/[id]/models/route.js",
53
52
  "/api/providers/[id]/route": "app/api/providers/[id]/route.js",
53
+ "/api/providers/[id]/models/route": "app/api/providers/[id]/models/route.js",
54
54
  "/api/providers/client/route": "app/api/providers/client/route.js",
55
55
  "/api/providers/route": "app/api/providers/route.js",
56
+ "/api/providers/test-batch/route": "app/api/providers/test-batch/route.js",
56
57
  "/api/providers/validate/route": "app/api/providers/validate/route.js",
57
58
  "/api/rate-limit/route": "app/api/rate-limit/route.js",
58
- "/api/providers/test-batch/route": "app/api/providers/test-batch/route.js",
59
59
  "/api/rate-limits/route": "app/api/rate-limits/route.js",
60
60
  "/api/resilience/reset/route": "app/api/resilience/reset/route.js",
61
- "/api/restart/route": "app/api/restart/route.js",
62
61
  "/api/resilience/route": "app/api/resilience/route.js",
62
+ "/api/restart/route": "app/api/restart/route.js",
63
63
  "/api/sessions/route": "app/api/sessions/route.js",
64
64
  "/api/settings/combo-defaults/route": "app/api/settings/combo-defaults/route.js",
65
65
  "/api/settings/ip-filter/route": "app/api/settings/ip-filter/route.js",
@@ -72,15 +72,15 @@
72
72
  "/api/sync/initialize/route": "app/api/sync/initialize/route.js",
73
73
  "/api/sync/cloud/route": "app/api/sync/cloud/route.js",
74
74
  "/api/tags/route": "app/api/tags/route.js",
75
- "/api/telemetry/summary/route": "app/api/telemetry/summary/route.js",
76
75
  "/api/token-health/route": "app/api/token-health/route.js",
76
+ "/api/telemetry/summary/route": "app/api/telemetry/summary/route.js",
77
77
  "/api/translator/detect/route": "app/api/translator/detect/route.js",
78
- "/api/translator/history/route": "app/api/translator/history/route.js",
79
78
  "/api/translator/load/route": "app/api/translator/load/route.js",
79
+ "/api/translator/history/route": "app/api/translator/history/route.js",
80
80
  "/api/translator/save/route": "app/api/translator/save/route.js",
81
81
  "/api/translator/send/route": "app/api/translator/send/route.js",
82
- "/api/translator/translate/route": "app/api/translator/translate/route.js",
83
82
  "/api/usage/[connectionId]/route": "app/api/usage/[connectionId]/route.js",
83
+ "/api/translator/translate/route": "app/api/translator/translate/route.js",
84
84
  "/api/usage/analytics/route": "app/api/usage/analytics/route.js",
85
85
  "/api/usage/budget/route": "app/api/usage/budget/route.js",
86
86
  "/api/usage/call-logs/route": "app/api/usage/call-logs/route.js",
@@ -89,16 +89,16 @@
89
89
  "/api/usage/logs/route": "app/api/usage/logs/route.js",
90
90
  "/api/usage/request-logs/route": "app/api/usage/request-logs/route.js",
91
91
  "/api/v1/api/chat/route": "app/api/v1/api/chat/route.js",
92
- "/api/v1/audio/transcriptions/route": "app/api/v1/audio/transcriptions/route.js",
93
92
  "/api/v1/audio/speech/route": "app/api/v1/audio/speech/route.js",
94
- "/api/v1/embeddings/route": "app/api/v1/embeddings/route.js",
93
+ "/api/v1/audio/transcriptions/route": "app/api/v1/audio/transcriptions/route.js",
95
94
  "/api/v1/images/generations/route": "app/api/v1/images/generations/route.js",
96
- "/api/v1/messages/route": "app/api/v1/messages/route.js",
97
95
  "/api/v1/messages/count_tokens/route": "app/api/v1/messages/count_tokens/route.js",
96
+ "/api/v1/embeddings/route": "app/api/v1/embeddings/route.js",
97
+ "/api/v1/messages/route": "app/api/v1/messages/route.js",
98
98
  "/api/v1/models/route": "app/api/v1/models/route.js",
99
99
  "/api/v1/moderations/route": "app/api/v1/moderations/route.js",
100
- "/api/v1/providers/[provider]/embeddings/route": "app/api/v1/providers/[provider]/embeddings/route.js",
101
100
  "/api/v1/providers/[provider]/chat/completions/route": "app/api/v1/providers/[provider]/chat/completions/route.js",
101
+ "/api/v1/providers/[provider]/embeddings/route": "app/api/v1/providers/[provider]/embeddings/route.js",
102
102
  "/api/v1/providers/[provider]/images/generations/route": "app/api/v1/providers/[provider]/images/generations/route.js",
103
103
  "/api/v1/rerank/route": "app/api/v1/rerank/route.js",
104
104
  "/api/v1/responses/route": "app/api/v1/responses/route.js",
@@ -108,35 +108,35 @@
108
108
  "/api/cli-tools/antigravity-mitm/route": "app/api/cli-tools/antigravity-mitm/route.js",
109
109
  "/api/cli-tools/claude-settings/route": "app/api/cli-tools/claude-settings/route.js",
110
110
  "/api/cli-tools/cline-settings/route": "app/api/cli-tools/cline-settings/route.js",
111
- "/api/cli-tools/codex-settings/route": "app/api/cli-tools/codex-settings/route.js",
111
+ "/api/cli-tools/droid-settings/route": "app/api/cli-tools/droid-settings/route.js",
112
112
  "/api/cli-tools/kilo-settings/route": "app/api/cli-tools/kilo-settings/route.js",
113
- "/api/cli-tools/openclaw-settings/route": "app/api/cli-tools/openclaw-settings/route.js",
114
- "/api/cli-tools/runtime/[toolId]/route": "app/api/cli-tools/runtime/[toolId]/route.js",
115
113
  "/api/cli-tools/status/route": "app/api/cli-tools/status/route.js",
114
+ "/api/cli-tools/runtime/[toolId]/route": "app/api/cli-tools/runtime/[toolId]/route.js",
116
115
  "/api/combos/test/route": "app/api/combos/test/route.js",
116
+ "/api/cli-tools/openclaw-settings/route": "app/api/cli-tools/openclaw-settings/route.js",
117
117
  "/api/provider-nodes/route": "app/api/provider-nodes/route.js",
118
- "/api/cli-tools/droid-settings/route": "app/api/cli-tools/droid-settings/route.js",
118
+ "/api/cli-tools/codex-settings/route": "app/api/cli-tools/codex-settings/route.js",
119
+ "/api/providers/[id]/test/route": "app/api/providers/[id]/test/route.js",
119
120
  "/api/settings/proxy/test/route": "app/api/settings/proxy/test/route.js",
120
- "/api/settings/proxy/route": "app/api/settings/proxy/route.js",
121
- "/api/usage/proxy-logs/route": "app/api/usage/proxy-logs/route.js",
122
121
  "/api/v1/chat/completions/route": "app/api/v1/chat/completions/route.js",
123
- "/api/providers/[id]/test/route": "app/api/providers/[id]/test/route.js",
122
+ "/api/usage/proxy-logs/route": "app/api/usage/proxy-logs/route.js",
123
+ "/api/settings/proxy/route": "app/api/settings/proxy/route.js",
124
124
  "/callback/page": "app/callback/page.js",
125
125
  "/docs/page": "app/docs/page.js",
126
- "/forbidden/page": "app/forbidden/page.js",
127
126
  "/forgot-password/page": "app/forgot-password/page.js",
127
+ "/forbidden/page": "app/forbidden/page.js",
128
128
  "/landing/page": "app/landing/page.js",
129
- "/page": "app/page.js",
130
129
  "/login/page": "app/login/page.js",
131
- "/terms/page": "app/terms/page.js",
130
+ "/page": "app/page.js",
132
131
  "/privacy/page": "app/privacy/page.js",
132
+ "/terms/page": "app/terms/page.js",
133
133
  "/(dashboard)/dashboard/analytics/page": "app/(dashboard)/dashboard/analytics/page.js",
134
134
  "/(dashboard)/dashboard/cli-tools/page": "app/(dashboard)/dashboard/cli-tools/page.js",
135
135
  "/(dashboard)/dashboard/audit-log/page": "app/(dashboard)/dashboard/audit-log/page.js",
136
136
  "/(dashboard)/dashboard/costs/page": "app/(dashboard)/dashboard/costs/page.js",
137
137
  "/(dashboard)/dashboard/endpoint/page": "app/(dashboard)/dashboard/endpoint/page.js",
138
- "/(dashboard)/dashboard/limits/page": "app/(dashboard)/dashboard/limits/page.js",
139
138
  "/(dashboard)/dashboard/health/page": "app/(dashboard)/dashboard/health/page.js",
139
+ "/(dashboard)/dashboard/limits/page": "app/(dashboard)/dashboard/limits/page.js",
140
140
  "/(dashboard)/dashboard/providers/new/page": "app/(dashboard)/dashboard/providers/new/page.js",
141
141
  "/(dashboard)/dashboard/profile/page": "app/(dashboard)/dashboard/profile/page.js",
142
142
  "/(dashboard)/dashboard/settings/page": "app/(dashboard)/dashboard/settings/page.js",
@@ -0,0 +1 @@
1
+ exports.id=1998,exports.ids=[293,1998,4755],exports.modules={19225:(a,b,c)=>{"use strict";a.exports=c(44870)},50122:(a,b,c)=>{"use strict";c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},60293:(a,b,c)=>{"use strict";c.d(b,{$V:()=>n,EQ:()=>u,Co:()=>m,Bm:()=>w,DEFAULT_API_LIMITS:()=>y,O:()=>t,Uc:()=>p,eo:()=>q,LY:()=>s,MT:()=>j,gx:()=>r,NA:()=>o,xq:()=>l,PROVIDER_PROFILES:()=>x,QS:()=>v,C8:()=>z,TH:()=>k});var d=c(29021),e=c(33873);let f=["clientId","clientSecret","tokenUrl","authUrl","refreshUrl"],g=0,h=null;var i=c(83596);let j=parseInt(process.env.FETCH_TIMEOUT_MS||"120000",10),k=parseInt(process.env.STREAM_IDLE_TIMEOUT_MS||"60000",10),l=(0,i.Z0)();!function(a){let b;if(h&&Date.now()-g<6e4)return;let c=(b=process.env.DATA_DIR||(0,e.join)(process.cwd(),"data"),(0,e.join)(b,"provider-credentials.json"));if(!(0,d.existsSync)(c))return h||console.log("[CREDENTIALS] No external credentials file found, using defaults."),h=a,g=Date.now();try{let b=(0,d.readFileSync)(c,"utf-8"),e=JSON.parse(b),g=0;for(let[b,c]of Object.entries(e)){if(!a[b]){console.log(`[CREDENTIALS] Warning: unknown provider "${b}" in credentials file, skipping.`);continue}if(!c||"object"!=typeof c){console.log(`[CREDENTIALS] Warning: provider "${b}" value must be an object, got ${typeof c}. Skipping.`);continue}for(let d of f)void 0!==c[d]&&(a[b][d]=c[d],g++)}let i=null!==h;console.log(`[CREDENTIALS] ${i?"Reloaded":"Loaded"} external credentials: ${g} field(s) from ${c}`)}catch(a){console.log(`[CREDENTIALS] Error reading credentials file: ${a.message}. Using defaults.`)}h=a,g=Date.now()}(l);let m="You are Claude Code, Anthropic's official CLI for Claude.",n="Please ignore the following [ignore]You are Antigravity, a powerful agentic AI coding assistant designed by the Google Deepmind team working on Advanced Agentic Coding.You are pair programming with a USER to solve their coding task. The task may require creating a new codebase, modifying or debugging an existing codebase, or simply answering a question.**Absolute paths only****Proactiveness**[/ignore]",o={google:{token:"https://oauth2.googleapis.com/token",auth:"https://accounts.google.com/o/oauth2/auth"},openai:{token:"https://auth.openai.com/oauth/token",auth:"https://auth.openai.com/oauth/authorize"},anthropic:{token:"https://console.anthropic.com/v1/oauth/token",auth:"https://console.anthropic.com/v1/oauth/authorize"},qwen:{token:"https://chat.qwen.ai/api/v1/oauth2/token",auth:"https://chat.qwen.ai/api/v1/oauth2/device/code"},iflow:{token:"https://iflow.cn/oauth/token",auth:"https://iflow.cn/oauth"},github:{token:"https://github.com/login/oauth/access_token",auth:"https://github.com/login/oauth/authorize",deviceCode:"https://github.com/login/device/code"}},p=64e3,q=32e3,r={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},s={[r.BAD_REQUEST]:{type:"invalid_request_error",code:"bad_request"},[r.UNAUTHORIZED]:{type:"authentication_error",code:"invalid_api_key"},[r.FORBIDDEN]:{type:"permission_error",code:"insufficient_quota"},[r.NOT_FOUND]:{type:"invalid_request_error",code:"model_not_found"},[r.RATE_LIMITED]:{type:"rate_limit_error",code:"rate_limit_exceeded"},[r.SERVER_ERROR]:{type:"server_error",code:"internal_server_error"},[r.BAD_GATEWAY]:{type:"server_error",code:"bad_gateway"},[r.SERVICE_UNAVAILABLE]:{type:"server_error",code:"service_unavailable"},[r.GATEWAY_TIMEOUT]:{type:"server_error",code:"gateway_timeout"}},t={[r.BAD_REQUEST]:"Bad request",[r.UNAUTHORIZED]:"Invalid API key provided",[r.FORBIDDEN]:"You exceeded your current quota",[r.NOT_FOUND]:"Model not found",[r.RATE_LIMITED]:"Rate limit exceeded",[r.SERVER_ERROR]:"Internal server error",[r.BAD_GATEWAY]:"Bad gateway - upstream provider error",[r.SERVICE_UNAVAILABLE]:"Service temporarily unavailable",[r.GATEWAY_TIMEOUT]:"Gateway timeout"},u={base:1e3,max:12e4,maxLevel:15},v={QUOTA_EXHAUSTED:"quota_exhausted",RATE_LIMIT_EXCEEDED:"rate_limit_exceeded",MODEL_CAPACITY:"model_capacity",SERVER_ERROR:"server_error",AUTH_ERROR:"auth_error",UNKNOWN:"unknown"},w={unauthorized:12e4,paymentRequired:12e4,notFound:12e4,transientInitial:5e3,transientMax:6e4,transient:5e3,requestNotAllowed:5e3,rateLimit:12e4,serviceUnavailable:2e3,authExpired:12e4},x={oauth:{transientCooldown:5e3,rateLimitCooldown:6e4,maxBackoffLevel:8,circuitBreakerThreshold:3,circuitBreakerReset:6e4},apikey:{transientCooldown:3e3,rateLimitCooldown:0,maxBackoffLevel:5,circuitBreakerThreshold:5,circuitBreakerReset:3e4}},y={requestsPerMinute:100,minTimeBetweenRequests:200,concurrentRequests:10},z=["Please write a 5-10 word title for the following conversation:"]},78335:()=>{},81565:(a,b,c)=>{"use strict";c.d(b,{FW:()=>i,Yj:()=>f,ah:()=>k,pD:()=>j,uM:()=>g});let d={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",models:[{id:"whisper-1",name:"Whisper 1"},{id:"gpt-4o-transcription",name:"GPT-4o Transcription"}]},groq:{id:"groq",baseUrl:"https://api.groq.com/openai/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",models:[{id:"whisper-large-v3",name:"Whisper Large v3"},{id:"whisper-large-v3-turbo",name:"Whisper Large v3 Turbo"},{id:"distil-whisper-large-v3-en",name:"Distil Whisper Large v3 EN"}]},deepgram:{id:"deepgram",baseUrl:"https://api.deepgram.com/v1/listen",authType:"apikey",authHeader:"token",format:"deepgram",models:[{id:"nova-3",name:"Nova 3"},{id:"nova-2",name:"Nova 2"},{id:"whisper-large",name:"Whisper Large"}]},assemblyai:{id:"assemblyai",baseUrl:"https://api.assemblyai.com/v2/transcript",authType:"apikey",authHeader:"bearer",async:!0,format:"assemblyai",models:[{id:"universal-3-pro",name:"Universal 3 Pro"},{id:"universal-2",name:"Universal 2"}]}},e={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",models:[{id:"tts-1",name:"TTS 1"},{id:"tts-1-hd",name:"TTS 1 HD"},{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS"}]},hyperbolic:{id:"hyperbolic",baseUrl:"https://api.hyperbolic.xyz/v1/audio/generation",authType:"apikey",authHeader:"bearer",format:"hyperbolic",models:[{id:"melo-tts",name:"Melo TTS"}]},deepgram:{id:"deepgram",baseUrl:"https://api.deepgram.com/v1/speak",authType:"apikey",authHeader:"token",format:"deepgram",models:[{id:"aura-asteria-en",name:"Aura Asteria (EN)"},{id:"aura-luna-en",name:"Aura Luna (EN)"},{id:"aura-stella-en",name:"Aura Stella (EN)"}]}};function f(a){return d[a]||null}function g(a){return e[a]||null}function h(a,b){if(!a)return{provider:null,model:null};for(let[c,d]of Object.entries(b))if(a.startsWith(c+"/"))return{provider:c,model:a.slice(c.length+1)};for(let[c,d]of Object.entries(b))if(d.models.some(b=>b.id===a))return{provider:c,model:a};return{provider:null,model:a}}function i(a){return h(a,d)}function j(a){return h(a,e)}function k(){let a=[];for(let[b,c]of Object.entries(d))for(let d of c.models)a.push({id:`${b}/${d.id}`,name:d.name,provider:b,subtype:"transcription"});for(let[b,c]of Object.entries(e))for(let d of c.models)a.push({id:`${b}/${d.id}`,name:d.name,provider:b,subtype:"speech"});return a}},92280:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},94755:(a,b,c)=>{"use strict";c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}},96487:()=>{}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=2180,exports.ids=[2180,4488],exports.modules={44488:(a,b,c)=>{c.d(b,{getDbInstance:()=>z});var d=c(87550),e=c.n(d),f=c(76760),g=c.n(f),h=c(73024),i=c.n(h),j=c(48161),k=c.n(j);let l="omniroute";function m(){try{return k().homedir()}catch{return process.cwd()}}function n(a){if("string"!=typeof a)return null;let b=a.trim();return b?g().resolve(b):null}function o(){return g().join(m(),`.${l}`)}let p=(0,c(73136).fileURLToPath)("file:///home/runner/work/OmniRoute/OmniRoute/src/lib/db/migrationRunner.ts"),q=g().dirname(p),r=g().join(q,"migrations"),s="object"==typeof globalThis.caches&&null!==globalThis.caches,t="phase-production-build"===process.env.NEXT_PHASE,u=function({isCloud:a=!1}={}){if(a)return"/tmp";let b=n(process.env.DATA_DIR);if(b)return b;let c=m();if("win32"===process.platform){let a=process.env.APPDATA||g().join(c,"AppData","Roaming");return g().join(a,l)}let d=n(process.env.XDG_CONFIG_HOME);return d?g().join(d,l):o()}({isCloud:s});s||o();let v=s?null:g().join(u,"storage.sqlite"),w=s?null:g().join(u,"db.json");s||g().join(u,"db_backups"),s||i().existsSync(u)||i().mkdirSync(u,{recursive:!0});let x=`
1
+ "use strict";exports.id=2180,exports.ids=[2180,4488],exports.modules={44488:(a,b,c)=>{c.d(b,{getDbInstance:()=>y});var d=c(87550),e=c.n(d),f=c(76760),g=c.n(f),h=c(73024),i=c.n(h),j=c(48161),k=c.n(j);let l="omniroute";function m(){try{return k().homedir()}catch{return process.cwd()}}function n(a){if("string"!=typeof a)return null;let b=a.trim();return b?g().resolve(b):null}function o(){return g().join(m(),`.${l}`)}var p=c(73136);let q=function(){try{let a="file:///home/runner/work/OmniRoute/OmniRoute/src/lib/db/migrationRunner.ts";if(a&&a.startsWith("file://")){let b=(0,p.fileURLToPath)(a);return g().join(g().dirname(b),"migrations")}}catch{}return g().join(process.cwd(),"src","lib","db","migrations")}(),r="object"==typeof globalThis.caches&&null!==globalThis.caches,s="phase-production-build"===process.env.NEXT_PHASE,t=function({isCloud:a=!1}={}){if(a)return"/tmp";let b=n(process.env.DATA_DIR);if(b)return b;let c=m();if("win32"===process.platform){let a=process.env.APPDATA||g().join(c,"AppData","Roaming");return g().join(a,l)}let d=n(process.env.XDG_CONFIG_HOME);return d?g().join(d,l):o()}({isCloud:r});r||o();let u=r?null:g().join(t,"storage.sqlite"),v=r?null:g().join(t,"db.json");r||g().join(t,"db_backups"),r||i().existsSync(t)||i().mkdirSync(t,{recursive:!0});let w=`
2
2
  CREATE TABLE IF NOT EXISTS provider_connections (
3
3
  id TEXT PRIMARY KEY,
4
4
  provider TEXT NOT NULL,
@@ -197,7 +197,7 @@
197
197
  );
198
198
  CREATE INDEX IF NOT EXISTS idx_sc_sig ON semantic_cache(signature);
199
199
  CREATE INDEX IF NOT EXISTS idx_sc_model ON semantic_cache(model);
200
- `,y=null;function z(){if(y)return y;if(s||t)return t&&console.log("[DB] Build phase detected — using in-memory SQLite (read-only)"),(y=new(e())(":memory:")).pragma("journal_mode = WAL"),y.exec(x),y;if(i().existsSync(v))try{let a=new(e())(v,{readonly:!0}),b=a.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='schema_migrations'").get();if(a.close(),b){let a=v+".old-schema";for(let b of(console.log(`[DB] Old incompatible schema detected — renaming to ${g().basename(a)}`),i().renameSync(v,a),["-wal","-shm"]))try{i().existsSync(v+b)&&i().unlinkSync(v+b)}catch{}}}catch(a){console.warn("[DB] Could not probe existing DB, will create fresh:",a.message);try{i().unlinkSync(v)}catch{}}(y=new(e())(v)).pragma("journal_mode = WAL"),y.pragma("busy_timeout = 5000"),y.pragma("synchronous = NORMAL"),y.exec(x);var a=y;try{let b=a.prepare("PRAGMA table_info(provider_connections)").all();new Set(b.map(a=>a.name)).has("rate_limit_protection")||(a.exec("ALTER TABLE provider_connections ADD COLUMN rate_limit_protection INTEGER DEFAULT 0"),console.log("[DB] Added provider_connections.rate_limit_protection column"))}catch(a){console.warn("[DB] Failed to verify provider_connections schema:",a.message)}return y.exec(`
200
+ `,x=null;function y(){if(x)return x;if(r||s)return s&&console.log("[DB] Build phase detected — using in-memory SQLite (read-only)"),(x=new(e())(":memory:")).pragma("journal_mode = WAL"),x.exec(w),x;if(i().existsSync(u))try{let a=new(e())(u,{readonly:!0}),b=a.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='schema_migrations'").get();if(a.close(),b){let a=u+".old-schema";for(let b of(console.log(`[DB] Old incompatible schema detected — renaming to ${g().basename(a)}`),i().renameSync(u,a),["-wal","-shm"]))try{i().existsSync(u+b)&&i().unlinkSync(u+b)}catch{}}}catch(a){console.warn("[DB] Could not probe existing DB, will create fresh:",a.message);try{i().unlinkSync(u)}catch{}}(x=new(e())(u)).pragma("journal_mode = WAL"),x.pragma("busy_timeout = 5000"),x.pragma("synchronous = NORMAL"),x.exec(w);var a=x;try{let b=a.prepare("PRAGMA table_info(provider_connections)").all();new Set(b.map(a=>a.name)).has("rate_limit_protection")||(a.exec("ALTER TABLE provider_connections ADD COLUMN rate_limit_protection INTEGER DEFAULT 0"),console.log("[DB] Added provider_connections.rate_limit_protection column"))}catch(a){console.warn("[DB] Failed to verify provider_connections schema:",a.message)}return x.exec(`
201
201
  CREATE TABLE IF NOT EXISTS _omniroute_migrations (
202
202
  version TEXT PRIMARY KEY,
203
203
  name TEXT NOT NULL,
@@ -211,7 +211,7 @@
211
211
  name TEXT NOT NULL,
212
212
  applied_at TEXT NOT NULL DEFAULT (datetime('now'))
213
213
  );
214
- `);let b=i().existsSync(r)?i().readdirSync(r).filter(a=>a.endsWith(".sql")).sort().map(a=>{let b=a.match(/^(\d+)_(.+)\.sql$/);return b?{version:b[1],name:b[2],path:g().join(r,a)}:null}).filter(Boolean):[],c=new Set(a.prepare("SELECT version FROM _omniroute_migrations").all().map(a=>a.version)),d=0;for(let e of b){if(c.has(e.version))continue;let b=i().readFileSync(e.path,"utf-8"),f=a.transaction(()=>{a.exec(b),a.prepare("INSERT INTO _omniroute_migrations (version, name) VALUES (?, ?)").run(e.version,e.name)});try{f(),d++,console.log(`[Migration] Applied: ${e.version}_${e.name}`)}catch(b){let a=b instanceof Error?b.message:String(b);throw console.error(`[Migration] FAILED: ${e.version}_${e.name} — ${a}`),b}}d>0&&console.log(`[Migration] ${d} migration(s) applied successfully.`)}(y),w&&i().existsSync(w)&&function(a,b){try{let c=i().readFileSync(b,"utf-8"),d=JSON.parse(c),e=(d.providerConnections||[]).length,f=(d.providerNodes||[]).length,h=(d.apiKeys||[]).length;if(0===e&&0===f&&0===h){console.log("[DB] db.json has no data to migrate, skipping"),i().renameSync(b,b+".empty");return}console.log(`[DB] Migrating db.json → SQLite (${e} connections, ${f} nodes, ${h} keys)...`),a.transaction(()=>{let b=a.prepare(`
214
+ `);let b=i().existsSync(q)?i().readdirSync(q).filter(a=>a.endsWith(".sql")).sort().map(a=>{let b=a.match(/^(\d+)_(.+)\.sql$/);return b?{version:b[1],name:b[2],path:g().join(q,a)}:null}).filter(Boolean):[],c=new Set(a.prepare("SELECT version FROM _omniroute_migrations").all().map(a=>a.version)),d=0;for(let e of b){if(c.has(e.version))continue;let b=i().readFileSync(e.path,"utf-8"),f=a.transaction(()=>{a.exec(b),a.prepare("INSERT INTO _omniroute_migrations (version, name) VALUES (?, ?)").run(e.version,e.name)});try{f(),d++,console.log(`[Migration] Applied: ${e.version}_${e.name}`)}catch(b){let a=b instanceof Error?b.message:String(b);throw console.error(`[Migration] FAILED: ${e.version}_${e.name} — ${a}`),b}}d>0&&console.log(`[Migration] ${d} migration(s) applied successfully.`)}(x),v&&i().existsSync(v)&&function(a,b){try{let c=i().readFileSync(b,"utf-8"),d=JSON.parse(c),e=(d.providerConnections||[]).length,f=(d.providerNodes||[]).length,h=(d.apiKeys||[]).length;if(0===e&&0===f&&0===h){console.log("[DB] db.json has no data to migrate, skipping"),i().renameSync(b,b+".empty");return}console.log(`[DB] Migrating db.json → SQLite (${e} connections, ${f} nodes, ${h} keys)...`),a.transaction(()=>{let b=a.prepare(`
215
215
  INSERT OR REPLACE INTO provider_connections (
216
216
  id, provider, auth_type, name, email, priority, is_active,
217
217
  access_token, refresh_token, expires_at, token_expires_at,
@@ -240,7 +240,7 @@
240
240
  `);for(let a of d.combos||[])f.run({id:a.id,name:a.name,data:JSON.stringify(a),createdAt:a.createdAt||new Date().toISOString(),updatedAt:a.updatedAt||new Date().toISOString()});let g=a.prepare(`
241
241
  INSERT OR REPLACE INTO api_keys (id, name, key, machine_id, created_at)
242
242
  VALUES (@id, @name, @key, @machineId, @createdAt)
243
- `);for(let a of d.apiKeys||[])g.run({id:a.id,name:a.name,key:a.key,machineId:a.machineId||null,createdAt:a.createdAt||new Date().toISOString()})})();let j=b+".migrated";i().renameSync(b,j),console.log(`[DB] ✓ Migration complete. Original saved as ${j}`);let k=g().join(u,"db_backups");if(i().existsSync(k)){let a=i().readdirSync(k).filter(a=>a.endsWith(".json"));a.length>0&&console.log(`[DB] Note: ${a.length} legacy .json backups remain in ${k}`)}}catch(a){console.error("[DB] Migration from db.json failed:",a.message)}}(y,w),y.prepare("INSERT OR REPLACE INTO db_meta (key, value) VALUES ('schema_version', '1')").run(),console.log(`[DB] SQLite database ready: ${v}`),y}},82180:(a,b,c)=>{c.d(b,{cleanupExpiredLogs:()=>h,initAuditLog:()=>g});var d=c(44488);function e(){try{return(0,d.getDbInstance)()}catch{return null}}let f=parseInt(process.env.LOG_RETENTION_DAYS||"90",10);function g(){let a=e();a&&a.exec(`
243
+ `);for(let a of d.apiKeys||[])g.run({id:a.id,name:a.name,key:a.key,machineId:a.machineId||null,createdAt:a.createdAt||new Date().toISOString()})})();let j=b+".migrated";i().renameSync(b,j),console.log(`[DB] ✓ Migration complete. Original saved as ${j}`);let k=g().join(t,"db_backups");if(i().existsSync(k)){let a=i().readdirSync(k).filter(a=>a.endsWith(".json"));a.length>0&&console.log(`[DB] Note: ${a.length} legacy .json backups remain in ${k}`)}}catch(a){console.error("[DB] Migration from db.json failed:",a.message)}}(x,v),x.prepare("INSERT OR REPLACE INTO db_meta (key, value) VALUES ('schema_version', '1')").run(),console.log(`[DB] SQLite database ready: ${u}`),x}},82180:(a,b,c)=>{c.d(b,{cleanupExpiredLogs:()=>h,initAuditLog:()=>g});var d=c(44488);function e(){try{return(0,d.getDbInstance)()}catch{return null}}let f=parseInt(process.env.LOG_RETENTION_DAYS||"90",10);function g(){let a=e();a&&a.exec(`
244
244
  CREATE TABLE IF NOT EXISTS audit_log (
245
245
  id INTEGER PRIMARY KEY AUTOINCREMENT,
246
246
  timestamp TEXT NOT NULL DEFAULT (datetime('now')),
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=2910,exports.ids=[2910],exports.modules={42910:(a,b,c)=>{c.d(b,{nJ:()=>p,NJ:()=>s,oh:()=>q,G6:()=>v,sm:()=>x,I8:()=>o,m1:()=>n,jX:()=>y,kB:()=>u});var d=c(87550),e=c.n(d),f=c(76760),g=c.n(f),h=c(73024),i=c.n(h),j=c(88189);let k=(0,c(73136).fileURLToPath)("file:///home/runner/work/OmniRoute/OmniRoute/src/lib/db/migrationRunner.ts"),l=g().dirname(k),m=g().join(l,"migrations"),n="object"==typeof globalThis.caches&&null!==globalThis.caches,o="phase-production-build"===process.env.NEXT_PHASE,p=(0,j._3)({isCloud:n});n||(0,j.sm)();let q=n?null:g().join(p,"storage.sqlite"),r=n?null:g().join(p,"db.json"),s=n?null:g().join(p,"db_backups");n||i().existsSync(p)||i().mkdirSync(p,{recursive:!0});let t=`
1
+ "use strict";exports.id=2910,exports.ids=[2910],exports.modules={42910:(a,b,c)=>{c.d(b,{nJ:()=>o,NJ:()=>r,oh:()=>p,G6:()=>u,sm:()=>w,I8:()=>n,m1:()=>m,jX:()=>x,kB:()=>t});var d=c(87550),e=c.n(d),f=c(76760),g=c.n(f),h=c(73024),i=c.n(h),j=c(88189),k=c(73136);let l=function(){try{let a="file:///home/runner/work/OmniRoute/OmniRoute/src/lib/db/migrationRunner.ts";if(a&&a.startsWith("file://")){let b=(0,k.fileURLToPath)(a);return g().join(g().dirname(b),"migrations")}}catch{}return g().join(process.cwd(),"src","lib","db","migrations")}(),m="object"==typeof globalThis.caches&&null!==globalThis.caches,n="phase-production-build"===process.env.NEXT_PHASE,o=(0,j._3)({isCloud:m});m||(0,j.sm)();let p=m?null:g().join(o,"storage.sqlite"),q=m?null:g().join(o,"db.json"),r=m?null:g().join(o,"db_backups");m||i().existsSync(o)||i().mkdirSync(o,{recursive:!0});let s=`
2
2
  CREATE TABLE IF NOT EXISTS provider_connections (
3
3
  id TEXT PRIMARY KEY,
4
4
  provider TEXT NOT NULL,
@@ -197,7 +197,7 @@
197
197
  );
198
198
  CREATE INDEX IF NOT EXISTS idx_sc_sig ON semantic_cache(signature);
199
199
  CREATE INDEX IF NOT EXISTS idx_sc_model ON semantic_cache(model);
200
- `;function u(a){if(!a)return null;let b={};for(let[c,d]of Object.entries(a)){let a=c.replace(/_([a-z])/g,(a,b)=>b.toUpperCase());if("isActive"===a||"rateLimitProtection"===a)b[a]=1===d||!0===d;else if("providerSpecificData"===a&&"string"==typeof d)try{b[a]=JSON.parse(d)}catch{b[a]=d}else b[a]=d}return b}function v(a){let b={};for(let[c,d]of Object.entries(a))null!=d&&(b[c]=d);return b}let w=null;function x(){if(w)return w;if(n||o)return o&&console.log("[DB] Build phase detected — using in-memory SQLite (read-only)"),(w=new(e())(":memory:")).pragma("journal_mode = WAL"),w.exec(t),w;if(i().existsSync(q))try{let a=new(e())(q,{readonly:!0}),b=a.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='schema_migrations'").get();if(a.close(),b){let a=q+".old-schema";for(let b of(console.log(`[DB] Old incompatible schema detected — renaming to ${g().basename(a)}`),i().renameSync(q,a),["-wal","-shm"]))try{i().existsSync(q+b)&&i().unlinkSync(q+b)}catch{}}}catch(a){console.warn("[DB] Could not probe existing DB, will create fresh:",a.message);try{i().unlinkSync(q)}catch{}}(w=new(e())(q)).pragma("journal_mode = WAL"),w.pragma("busy_timeout = 5000"),w.pragma("synchronous = NORMAL"),w.exec(t);var a=w;try{let b=a.prepare("PRAGMA table_info(provider_connections)").all();new Set(b.map(a=>a.name)).has("rate_limit_protection")||(a.exec("ALTER TABLE provider_connections ADD COLUMN rate_limit_protection INTEGER DEFAULT 0"),console.log("[DB] Added provider_connections.rate_limit_protection column"))}catch(a){console.warn("[DB] Failed to verify provider_connections schema:",a.message)}return w.exec(`
200
+ `;function t(a){if(!a)return null;let b={};for(let[c,d]of Object.entries(a)){let a=c.replace(/_([a-z])/g,(a,b)=>b.toUpperCase());if("isActive"===a||"rateLimitProtection"===a)b[a]=1===d||!0===d;else if("providerSpecificData"===a&&"string"==typeof d)try{b[a]=JSON.parse(d)}catch{b[a]=d}else b[a]=d}return b}function u(a){let b={};for(let[c,d]of Object.entries(a))null!=d&&(b[c]=d);return b}let v=null;function w(){if(v)return v;if(m||n)return n&&console.log("[DB] Build phase detected — using in-memory SQLite (read-only)"),(v=new(e())(":memory:")).pragma("journal_mode = WAL"),v.exec(s),v;if(i().existsSync(p))try{let a=new(e())(p,{readonly:!0}),b=a.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='schema_migrations'").get();if(a.close(),b){let a=p+".old-schema";for(let b of(console.log(`[DB] Old incompatible schema detected — renaming to ${g().basename(a)}`),i().renameSync(p,a),["-wal","-shm"]))try{i().existsSync(p+b)&&i().unlinkSync(p+b)}catch{}}}catch(a){console.warn("[DB] Could not probe existing DB, will create fresh:",a.message);try{i().unlinkSync(p)}catch{}}(v=new(e())(p)).pragma("journal_mode = WAL"),v.pragma("busy_timeout = 5000"),v.pragma("synchronous = NORMAL"),v.exec(s);var a=v;try{let b=a.prepare("PRAGMA table_info(provider_connections)").all();new Set(b.map(a=>a.name)).has("rate_limit_protection")||(a.exec("ALTER TABLE provider_connections ADD COLUMN rate_limit_protection INTEGER DEFAULT 0"),console.log("[DB] Added provider_connections.rate_limit_protection column"))}catch(a){console.warn("[DB] Failed to verify provider_connections schema:",a.message)}return v.exec(`
201
201
  CREATE TABLE IF NOT EXISTS _omniroute_migrations (
202
202
  version TEXT PRIMARY KEY,
203
203
  name TEXT NOT NULL,
@@ -211,7 +211,7 @@
211
211
  name TEXT NOT NULL,
212
212
  applied_at TEXT NOT NULL DEFAULT (datetime('now'))
213
213
  );
214
- `);let b=i().existsSync(m)?i().readdirSync(m).filter(a=>a.endsWith(".sql")).sort().map(a=>{let b=a.match(/^(\d+)_(.+)\.sql$/);return b?{version:b[1],name:b[2],path:g().join(m,a)}:null}).filter(Boolean):[],c=new Set(a.prepare("SELECT version FROM _omniroute_migrations").all().map(a=>a.version)),d=0;for(let e of b){if(c.has(e.version))continue;let b=i().readFileSync(e.path,"utf-8"),f=a.transaction(()=>{a.exec(b),a.prepare("INSERT INTO _omniroute_migrations (version, name) VALUES (?, ?)").run(e.version,e.name)});try{f(),d++,console.log(`[Migration] Applied: ${e.version}_${e.name}`)}catch(b){let a=b instanceof Error?b.message:String(b);throw console.error(`[Migration] FAILED: ${e.version}_${e.name} — ${a}`),b}}d>0&&console.log(`[Migration] ${d} migration(s) applied successfully.`)}(w),r&&i().existsSync(r)&&function(a,b){try{let c=i().readFileSync(b,"utf-8"),d=JSON.parse(c),e=(d.providerConnections||[]).length,f=(d.providerNodes||[]).length,h=(d.apiKeys||[]).length;if(0===e&&0===f&&0===h){console.log("[DB] db.json has no data to migrate, skipping"),i().renameSync(b,b+".empty");return}console.log(`[DB] Migrating db.json → SQLite (${e} connections, ${f} nodes, ${h} keys)...`),a.transaction(()=>{let b=a.prepare(`
214
+ `);let b=i().existsSync(l)?i().readdirSync(l).filter(a=>a.endsWith(".sql")).sort().map(a=>{let b=a.match(/^(\d+)_(.+)\.sql$/);return b?{version:b[1],name:b[2],path:g().join(l,a)}:null}).filter(Boolean):[],c=new Set(a.prepare("SELECT version FROM _omniroute_migrations").all().map(a=>a.version)),d=0;for(let e of b){if(c.has(e.version))continue;let b=i().readFileSync(e.path,"utf-8"),f=a.transaction(()=>{a.exec(b),a.prepare("INSERT INTO _omniroute_migrations (version, name) VALUES (?, ?)").run(e.version,e.name)});try{f(),d++,console.log(`[Migration] Applied: ${e.version}_${e.name}`)}catch(b){let a=b instanceof Error?b.message:String(b);throw console.error(`[Migration] FAILED: ${e.version}_${e.name} — ${a}`),b}}d>0&&console.log(`[Migration] ${d} migration(s) applied successfully.`)}(v),q&&i().existsSync(q)&&function(a,b){try{let c=i().readFileSync(b,"utf-8"),d=JSON.parse(c),e=(d.providerConnections||[]).length,f=(d.providerNodes||[]).length,h=(d.apiKeys||[]).length;if(0===e&&0===f&&0===h){console.log("[DB] db.json has no data to migrate, skipping"),i().renameSync(b,b+".empty");return}console.log(`[DB] Migrating db.json → SQLite (${e} connections, ${f} nodes, ${h} keys)...`),a.transaction(()=>{let b=a.prepare(`
215
215
  INSERT OR REPLACE INTO provider_connections (
216
216
  id, provider, auth_type, name, email, priority, is_active,
217
217
  access_token, refresh_token, expires_at, token_expires_at,
@@ -240,4 +240,4 @@
240
240
  `);for(let a of d.combos||[])f.run({id:a.id,name:a.name,data:JSON.stringify(a),createdAt:a.createdAt||new Date().toISOString(),updatedAt:a.updatedAt||new Date().toISOString()});let g=a.prepare(`
241
241
  INSERT OR REPLACE INTO api_keys (id, name, key, machine_id, created_at)
242
242
  VALUES (@id, @name, @key, @machineId, @createdAt)
243
- `);for(let a of d.apiKeys||[])g.run({id:a.id,name:a.name,key:a.key,machineId:a.machineId||null,createdAt:a.createdAt||new Date().toISOString()})})();let j=b+".migrated";i().renameSync(b,j),console.log(`[DB] ✓ Migration complete. Original saved as ${j}`);let k=g().join(p,"db_backups");if(i().existsSync(k)){let a=i().readdirSync(k).filter(a=>a.endsWith(".json"));a.length>0&&console.log(`[DB] Note: ${a.length} legacy .json backups remain in ${k}`)}}catch(a){console.error("[DB] Migration from db.json failed:",a.message)}}(w,r),w.prepare("INSERT OR REPLACE INTO db_meta (key, value) VALUES ('schema_version', '1')").run(),console.log(`[DB] SQLite database ready: ${q}`),w}function y(){w&&(w.close(),w=null)}},88189:(a,b,c)=>{c.d(b,{_3:()=>l,sm:()=>k,ys:()=>m});var d=c(76760),e=c.n(d),f=c(48161),g=c.n(f);let h="omniroute";function i(){try{return g().homedir()}catch{return process.cwd()}}function j(a){if("string"!=typeof a)return null;let b=a.trim();return b?e().resolve(b):null}function k(){return e().join(i(),`.${h}`)}function l({isCloud:a=!1}={}){if(a)return"/tmp";let b=j(process.env.DATA_DIR);if(b)return b;let c=i();if("win32"===process.platform){let a=process.env.APPDATA||e().join(c,"AppData","Roaming");return e().join(a,h)}let d=j(process.env.XDG_CONFIG_HOME);return d?e().join(d,h):k()}function m(a,b){if(!a||!b)return!1;let c=e().resolve(a),d=e().resolve(b);return"win32"===process.platform?c.toLowerCase()===d.toLowerCase():c===d}}};
243
+ `);for(let a of d.apiKeys||[])g.run({id:a.id,name:a.name,key:a.key,machineId:a.machineId||null,createdAt:a.createdAt||new Date().toISOString()})})();let j=b+".migrated";i().renameSync(b,j),console.log(`[DB] ✓ Migration complete. Original saved as ${j}`);let k=g().join(o,"db_backups");if(i().existsSync(k)){let a=i().readdirSync(k).filter(a=>a.endsWith(".json"));a.length>0&&console.log(`[DB] Note: ${a.length} legacy .json backups remain in ${k}`)}}catch(a){console.error("[DB] Migration from db.json failed:",a.message)}}(v,q),v.prepare("INSERT OR REPLACE INTO db_meta (key, value) VALUES ('schema_version', '1')").run(),console.log(`[DB] SQLite database ready: ${p}`),v}function x(){v&&(v.close(),v=null)}},88189:(a,b,c)=>{c.d(b,{_3:()=>l,sm:()=>k,ys:()=>m});var d=c(76760),e=c.n(d),f=c(48161),g=c.n(f);let h="omniroute";function i(){try{return g().homedir()}catch{return process.cwd()}}function j(a){if("string"!=typeof a)return null;let b=a.trim();return b?e().resolve(b):null}function k(){return e().join(i(),`.${h}`)}function l({isCloud:a=!1}={}){if(a)return"/tmp";let b=j(process.env.DATA_DIR);if(b)return b;let c=i();if("win32"===process.platform){let a=process.env.APPDATA||e().join(c,"AppData","Roaming");return e().join(a,h)}let d=j(process.env.XDG_CONFIG_HOME);return d?e().join(d,h):k()}function m(a,b){if(!a||!b)return!1;let c=e().resolve(a),d=e().resolve(b);return"win32"===process.platform?c.toLowerCase()===d.toLowerCase():c===d}}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=4488,exports.ids=[4488],exports.modules={44488:(a,b,c)=>{c.d(b,{getDbInstance:()=>z});var d=c(87550),e=c.n(d),f=c(76760),g=c.n(f),h=c(73024),i=c.n(h),j=c(48161),k=c.n(j);let l="omniroute";function m(){try{return k().homedir()}catch{return process.cwd()}}function n(a){if("string"!=typeof a)return null;let b=a.trim();return b?g().resolve(b):null}function o(){return g().join(m(),`.${l}`)}let p=(0,c(73136).fileURLToPath)("file:///home/runner/work/OmniRoute/OmniRoute/src/lib/db/migrationRunner.ts"),q=g().dirname(p),r=g().join(q,"migrations"),s="object"==typeof globalThis.caches&&null!==globalThis.caches,t="phase-production-build"===process.env.NEXT_PHASE,u=function({isCloud:a=!1}={}){if(a)return"/tmp";let b=n(process.env.DATA_DIR);if(b)return b;let c=m();if("win32"===process.platform){let a=process.env.APPDATA||g().join(c,"AppData","Roaming");return g().join(a,l)}let d=n(process.env.XDG_CONFIG_HOME);return d?g().join(d,l):o()}({isCloud:s});s||o();let v=s?null:g().join(u,"storage.sqlite"),w=s?null:g().join(u,"db.json");s||g().join(u,"db_backups"),s||i().existsSync(u)||i().mkdirSync(u,{recursive:!0});let x=`
1
+ "use strict";exports.id=4488,exports.ids=[4488],exports.modules={44488:(a,b,c)=>{c.d(b,{getDbInstance:()=>y});var d=c(87550),e=c.n(d),f=c(76760),g=c.n(f),h=c(73024),i=c.n(h),j=c(48161),k=c.n(j);let l="omniroute";function m(){try{return k().homedir()}catch{return process.cwd()}}function n(a){if("string"!=typeof a)return null;let b=a.trim();return b?g().resolve(b):null}function o(){return g().join(m(),`.${l}`)}var p=c(73136);let q=function(){try{let a="file:///home/runner/work/OmniRoute/OmniRoute/src/lib/db/migrationRunner.ts";if(a&&a.startsWith("file://")){let b=(0,p.fileURLToPath)(a);return g().join(g().dirname(b),"migrations")}}catch{}return g().join(process.cwd(),"src","lib","db","migrations")}(),r="object"==typeof globalThis.caches&&null!==globalThis.caches,s="phase-production-build"===process.env.NEXT_PHASE,t=function({isCloud:a=!1}={}){if(a)return"/tmp";let b=n(process.env.DATA_DIR);if(b)return b;let c=m();if("win32"===process.platform){let a=process.env.APPDATA||g().join(c,"AppData","Roaming");return g().join(a,l)}let d=n(process.env.XDG_CONFIG_HOME);return d?g().join(d,l):o()}({isCloud:r});r||o();let u=r?null:g().join(t,"storage.sqlite"),v=r?null:g().join(t,"db.json");r||g().join(t,"db_backups"),r||i().existsSync(t)||i().mkdirSync(t,{recursive:!0});let w=`
2
2
  CREATE TABLE IF NOT EXISTS provider_connections (
3
3
  id TEXT PRIMARY KEY,
4
4
  provider TEXT NOT NULL,
@@ -197,7 +197,7 @@
197
197
  );
198
198
  CREATE INDEX IF NOT EXISTS idx_sc_sig ON semantic_cache(signature);
199
199
  CREATE INDEX IF NOT EXISTS idx_sc_model ON semantic_cache(model);
200
- `,y=null;function z(){if(y)return y;if(s||t)return t&&console.log("[DB] Build phase detected — using in-memory SQLite (read-only)"),(y=new(e())(":memory:")).pragma("journal_mode = WAL"),y.exec(x),y;if(i().existsSync(v))try{let a=new(e())(v,{readonly:!0}),b=a.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='schema_migrations'").get();if(a.close(),b){let a=v+".old-schema";for(let b of(console.log(`[DB] Old incompatible schema detected — renaming to ${g().basename(a)}`),i().renameSync(v,a),["-wal","-shm"]))try{i().existsSync(v+b)&&i().unlinkSync(v+b)}catch{}}}catch(a){console.warn("[DB] Could not probe existing DB, will create fresh:",a.message);try{i().unlinkSync(v)}catch{}}(y=new(e())(v)).pragma("journal_mode = WAL"),y.pragma("busy_timeout = 5000"),y.pragma("synchronous = NORMAL"),y.exec(x);var a=y;try{let b=a.prepare("PRAGMA table_info(provider_connections)").all();new Set(b.map(a=>a.name)).has("rate_limit_protection")||(a.exec("ALTER TABLE provider_connections ADD COLUMN rate_limit_protection INTEGER DEFAULT 0"),console.log("[DB] Added provider_connections.rate_limit_protection column"))}catch(a){console.warn("[DB] Failed to verify provider_connections schema:",a.message)}return y.exec(`
200
+ `,x=null;function y(){if(x)return x;if(r||s)return s&&console.log("[DB] Build phase detected — using in-memory SQLite (read-only)"),(x=new(e())(":memory:")).pragma("journal_mode = WAL"),x.exec(w),x;if(i().existsSync(u))try{let a=new(e())(u,{readonly:!0}),b=a.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='schema_migrations'").get();if(a.close(),b){let a=u+".old-schema";for(let b of(console.log(`[DB] Old incompatible schema detected — renaming to ${g().basename(a)}`),i().renameSync(u,a),["-wal","-shm"]))try{i().existsSync(u+b)&&i().unlinkSync(u+b)}catch{}}}catch(a){console.warn("[DB] Could not probe existing DB, will create fresh:",a.message);try{i().unlinkSync(u)}catch{}}(x=new(e())(u)).pragma("journal_mode = WAL"),x.pragma("busy_timeout = 5000"),x.pragma("synchronous = NORMAL"),x.exec(w);var a=x;try{let b=a.prepare("PRAGMA table_info(provider_connections)").all();new Set(b.map(a=>a.name)).has("rate_limit_protection")||(a.exec("ALTER TABLE provider_connections ADD COLUMN rate_limit_protection INTEGER DEFAULT 0"),console.log("[DB] Added provider_connections.rate_limit_protection column"))}catch(a){console.warn("[DB] Failed to verify provider_connections schema:",a.message)}return x.exec(`
201
201
  CREATE TABLE IF NOT EXISTS _omniroute_migrations (
202
202
  version TEXT PRIMARY KEY,
203
203
  name TEXT NOT NULL,
@@ -211,7 +211,7 @@
211
211
  name TEXT NOT NULL,
212
212
  applied_at TEXT NOT NULL DEFAULT (datetime('now'))
213
213
  );
214
- `);let b=i().existsSync(r)?i().readdirSync(r).filter(a=>a.endsWith(".sql")).sort().map(a=>{let b=a.match(/^(\d+)_(.+)\.sql$/);return b?{version:b[1],name:b[2],path:g().join(r,a)}:null}).filter(Boolean):[],c=new Set(a.prepare("SELECT version FROM _omniroute_migrations").all().map(a=>a.version)),d=0;for(let e of b){if(c.has(e.version))continue;let b=i().readFileSync(e.path,"utf-8"),f=a.transaction(()=>{a.exec(b),a.prepare("INSERT INTO _omniroute_migrations (version, name) VALUES (?, ?)").run(e.version,e.name)});try{f(),d++,console.log(`[Migration] Applied: ${e.version}_${e.name}`)}catch(b){let a=b instanceof Error?b.message:String(b);throw console.error(`[Migration] FAILED: ${e.version}_${e.name} — ${a}`),b}}d>0&&console.log(`[Migration] ${d} migration(s) applied successfully.`)}(y),w&&i().existsSync(w)&&function(a,b){try{let c=i().readFileSync(b,"utf-8"),d=JSON.parse(c),e=(d.providerConnections||[]).length,f=(d.providerNodes||[]).length,h=(d.apiKeys||[]).length;if(0===e&&0===f&&0===h){console.log("[DB] db.json has no data to migrate, skipping"),i().renameSync(b,b+".empty");return}console.log(`[DB] Migrating db.json → SQLite (${e} connections, ${f} nodes, ${h} keys)...`),a.transaction(()=>{let b=a.prepare(`
214
+ `);let b=i().existsSync(q)?i().readdirSync(q).filter(a=>a.endsWith(".sql")).sort().map(a=>{let b=a.match(/^(\d+)_(.+)\.sql$/);return b?{version:b[1],name:b[2],path:g().join(q,a)}:null}).filter(Boolean):[],c=new Set(a.prepare("SELECT version FROM _omniroute_migrations").all().map(a=>a.version)),d=0;for(let e of b){if(c.has(e.version))continue;let b=i().readFileSync(e.path,"utf-8"),f=a.transaction(()=>{a.exec(b),a.prepare("INSERT INTO _omniroute_migrations (version, name) VALUES (?, ?)").run(e.version,e.name)});try{f(),d++,console.log(`[Migration] Applied: ${e.version}_${e.name}`)}catch(b){let a=b instanceof Error?b.message:String(b);throw console.error(`[Migration] FAILED: ${e.version}_${e.name} — ${a}`),b}}d>0&&console.log(`[Migration] ${d} migration(s) applied successfully.`)}(x),v&&i().existsSync(v)&&function(a,b){try{let c=i().readFileSync(b,"utf-8"),d=JSON.parse(c),e=(d.providerConnections||[]).length,f=(d.providerNodes||[]).length,h=(d.apiKeys||[]).length;if(0===e&&0===f&&0===h){console.log("[DB] db.json has no data to migrate, skipping"),i().renameSync(b,b+".empty");return}console.log(`[DB] Migrating db.json → SQLite (${e} connections, ${f} nodes, ${h} keys)...`),a.transaction(()=>{let b=a.prepare(`
215
215
  INSERT OR REPLACE INTO provider_connections (
216
216
  id, provider, auth_type, name, email, priority, is_active,
217
217
  access_token, refresh_token, expires_at, token_expires_at,
@@ -240,4 +240,4 @@
240
240
  `);for(let a of d.combos||[])f.run({id:a.id,name:a.name,data:JSON.stringify(a),createdAt:a.createdAt||new Date().toISOString(),updatedAt:a.updatedAt||new Date().toISOString()});let g=a.prepare(`
241
241
  INSERT OR REPLACE INTO api_keys (id, name, key, machine_id, created_at)
242
242
  VALUES (@id, @name, @key, @machineId, @createdAt)
243
- `);for(let a of d.apiKeys||[])g.run({id:a.id,name:a.name,key:a.key,machineId:a.machineId||null,createdAt:a.createdAt||new Date().toISOString()})})();let j=b+".migrated";i().renameSync(b,j),console.log(`[DB] ✓ Migration complete. Original saved as ${j}`);let k=g().join(u,"db_backups");if(i().existsSync(k)){let a=i().readdirSync(k).filter(a=>a.endsWith(".json"));a.length>0&&console.log(`[DB] Note: ${a.length} legacy .json backups remain in ${k}`)}}catch(a){console.error("[DB] Migration from db.json failed:",a.message)}}(y,w),y.prepare("INSERT OR REPLACE INTO db_meta (key, value) VALUES ('schema_version', '1')").run(),console.log(`[DB] SQLite database ready: ${v}`),y}}};
243
+ `);for(let a of d.apiKeys||[])g.run({id:a.id,name:a.name,key:a.key,machineId:a.machineId||null,createdAt:a.createdAt||new Date().toISOString()})})();let j=b+".migrated";i().renameSync(b,j),console.log(`[DB] ✓ Migration complete. Original saved as ${j}`);let k=g().join(t,"db_backups");if(i().existsSync(k)){let a=i().readdirSync(k).filter(a=>a.endsWith(".json"));a.length>0&&console.log(`[DB] Note: ${a.length} legacy .json backups remain in ${k}`)}}catch(a){console.error("[DB] Migration from db.json failed:",a.message)}}(x,v),x.prepare("INSERT OR REPLACE INTO db_meta (key, value) VALUES ('schema_version', '1')").run(),console.log(`[DB] SQLite database ready: ${u}`),x}}};