omniroute 1.7.12 → 1.7.13

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 (437) hide show
  1. package/app/.env +122 -0
  2. package/app/.next/BUILD_ID +1 -1
  3. package/app/.next/app-path-routes-manifest.json +49 -49
  4. package/app/.next/build-manifest.json +3 -3
  5. package/app/.next/prerender-manifest.json +3 -3
  6. package/app/.next/required-server-files.json +1 -1
  7. package/app/.next/server/app/(dashboard)/dashboard/analytics/page.js +2 -2
  8. package/app/.next/server/app/(dashboard)/dashboard/analytics/page.js.nft.json +1 -1
  9. package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  10. package/app/.next/server/app/(dashboard)/dashboard/api-manager/page.js +2 -2
  11. package/app/.next/server/app/(dashboard)/dashboard/api-manager/page.js.nft.json +1 -1
  12. package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
  13. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page.js +2 -2
  14. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page.js.nft.json +1 -1
  15. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
  16. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +3 -3
  17. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  18. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  19. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  20. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  21. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  22. package/app/.next/server/app/(dashboard)/dashboard/costs/page.js +2 -2
  23. package/app/.next/server/app/(dashboard)/dashboard/costs/page.js.nft.json +1 -1
  24. package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
  25. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  26. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  27. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  28. package/app/.next/server/app/(dashboard)/dashboard/health/page.js +2 -2
  29. package/app/.next/server/app/(dashboard)/dashboard/health/page.js.nft.json +1 -1
  30. package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  31. package/app/.next/server/app/(dashboard)/dashboard/limits/page.js +2 -2
  32. package/app/.next/server/app/(dashboard)/dashboard/limits/page.js.nft.json +1 -1
  33. package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
  34. package/app/.next/server/app/(dashboard)/dashboard/logs/page.js +2 -2
  35. package/app/.next/server/app/(dashboard)/dashboard/logs/page.js.nft.json +1 -1
  36. package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
  37. package/app/.next/server/app/(dashboard)/dashboard/media/page.js +2 -2
  38. package/app/.next/server/app/(dashboard)/dashboard/media/page.js.nft.json +1 -1
  39. package/app/.next/server/app/(dashboard)/dashboard/media/page_client-reference-manifest.js +1 -1
  40. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page.js +2 -2
  41. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page.js.nft.json +1 -1
  42. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
  43. package/app/.next/server/app/(dashboard)/dashboard/page.js +2 -2
  44. package/app/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  45. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  46. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  47. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  48. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  49. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  50. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  51. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  52. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  53. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  54. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  55. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  56. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  57. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  58. package/app/.next/server/app/(dashboard)/dashboard/settings/page.js +2 -2
  59. package/app/.next/server/app/(dashboard)/dashboard/settings/page.js.nft.json +1 -1
  60. package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
  61. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page.js +2 -2
  62. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page.js.nft.json +1 -1
  63. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  64. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js +3 -3
  65. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  66. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  67. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  68. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  69. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  70. package/app/.next/server/app/_global-error/page.js +3 -3
  71. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  72. package/app/.next/server/app/_global-error.html +2 -2
  73. package/app/.next/server/app/_global-error.rsc +4 -4
  74. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +4 -4
  75. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  76. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  77. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  78. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  79. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  80. package/app/.next/server/app/_not-found/page.js +2 -2
  81. package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
  82. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  83. package/app/.next/server/app/api/auth/login/route.js +1 -1
  84. package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  85. package/app/.next/server/app/api/auth/logout/route.js +1 -1
  86. package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  87. package/app/.next/server/app/api/auth/status/route.js +1 -1
  88. package/app/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  89. package/app/.next/server/app/api/cache/route.js +1 -1
  90. package/app/.next/server/app/api/cache/route_client-reference-manifest.js +1 -1
  91. package/app/.next/server/app/api/cache/stats/route.js +1 -1
  92. package/app/.next/server/app/api/cache/stats/route_client-reference-manifest.js +1 -1
  93. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  94. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
  95. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +2 -2
  96. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
  97. package/app/.next/server/app/api/cli-tools/backups/route.js +2 -2
  98. package/app/.next/server/app/api/cli-tools/backups/route_client-reference-manifest.js +1 -1
  99. package/app/.next/server/app/api/cli-tools/claude-settings/route.js +2 -2
  100. package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
  101. package/app/.next/server/app/api/cli-tools/cline-settings/route.js +2 -2
  102. package/app/.next/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
  103. package/app/.next/server/app/api/cli-tools/codex-profiles/route.js +2 -2
  104. package/app/.next/server/app/api/cli-tools/codex-profiles/route_client-reference-manifest.js +1 -1
  105. package/app/.next/server/app/api/cli-tools/codex-settings/route.js +2 -2
  106. package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
  107. package/app/.next/server/app/api/cli-tools/droid-settings/route.js +2 -2
  108. package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
  109. package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route.js +1 -1
  110. package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route_client-reference-manifest.js +1 -1
  111. package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  112. package/app/.next/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
  113. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +1 -1
  114. package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
  115. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route.js +2 -2
  116. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route_client-reference-manifest.js +1 -1
  117. package/app/.next/server/app/api/cli-tools/status/route.js +2 -2
  118. package/app/.next/server/app/api/cli-tools/status/route_client-reference-manifest.js +1 -1
  119. package/app/.next/server/app/api/cloud/auth/route.js +1 -1
  120. package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
  121. package/app/.next/server/app/api/cloud/credentials/update/route.js +1 -1
  122. package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
  123. package/app/.next/server/app/api/cloud/model/resolve/route.js +1 -1
  124. package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
  125. package/app/.next/server/app/api/cloud/models/alias/route.js +1 -1
  126. package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
  127. package/app/.next/server/app/api/combos/[id]/route.js +1 -1
  128. package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  129. package/app/.next/server/app/api/combos/metrics/route.js +1 -1
  130. package/app/.next/server/app/api/combos/metrics/route_client-reference-manifest.js +1 -1
  131. package/app/.next/server/app/api/combos/route.js +1 -1
  132. package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
  133. package/app/.next/server/app/api/combos/test/route.js +1 -1
  134. package/app/.next/server/app/api/combos/test/route_client-reference-manifest.js +1 -1
  135. package/app/.next/server/app/api/compliance/audit-log/route.js +1 -1
  136. package/app/.next/server/app/api/compliance/audit-log/route_client-reference-manifest.js +1 -1
  137. package/app/.next/server/app/api/db-backups/export/route.js +1 -1
  138. package/app/.next/server/app/api/db-backups/export/route_client-reference-manifest.js +1 -1
  139. package/app/.next/server/app/api/db-backups/exportAll/route.js +1 -1
  140. package/app/.next/server/app/api/db-backups/exportAll/route_client-reference-manifest.js +1 -1
  141. package/app/.next/server/app/api/db-backups/import/route.js +1 -1
  142. package/app/.next/server/app/api/db-backups/import/route_client-reference-manifest.js +1 -1
  143. package/app/.next/server/app/api/db-backups/route.js +1 -1
  144. package/app/.next/server/app/api/db-backups/route_client-reference-manifest.js +1 -1
  145. package/app/.next/server/app/api/evals/[suiteId]/route.js +1 -1
  146. package/app/.next/server/app/api/evals/[suiteId]/route_client-reference-manifest.js +1 -1
  147. package/app/.next/server/app/api/evals/route.js +1 -1
  148. package/app/.next/server/app/api/evals/route_client-reference-manifest.js +1 -1
  149. package/app/.next/server/app/api/fallback/chains/route.js +2 -2
  150. package/app/.next/server/app/api/fallback/chains/route_client-reference-manifest.js +1 -1
  151. package/app/.next/server/app/api/init/route.js +1 -1
  152. package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  153. package/app/.next/server/app/api/keys/[id]/route.js +1 -1
  154. package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  155. package/app/.next/server/app/api/keys/route.js +1 -1
  156. package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
  157. package/app/.next/server/app/api/logs/console/route.js +1 -1
  158. package/app/.next/server/app/api/logs/console/route_client-reference-manifest.js +1 -1
  159. package/app/.next/server/app/api/models/alias/route.js +1 -1
  160. package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
  161. package/app/.next/server/app/api/models/availability/route.js +1 -1
  162. package/app/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
  163. package/app/.next/server/app/api/models/catalog/route.js +2 -2
  164. package/app/.next/server/app/api/models/catalog/route_client-reference-manifest.js +1 -1
  165. package/app/.next/server/app/api/models/route.js +2 -2
  166. package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  167. package/app/.next/server/app/api/monitoring/health/route.js +2 -2
  168. package/app/.next/server/app/api/monitoring/health/route_client-reference-manifest.js +1 -1
  169. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js +2 -2
  170. package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  171. package/app/.next/server/app/api/oauth/cursor/auto-import/route.js +1 -1
  172. package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  173. package/app/.next/server/app/api/oauth/cursor/import/route.js +1 -1
  174. package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  175. package/app/.next/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  176. package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
  177. package/app/.next/server/app/api/oauth/kiro/import/route.js +1 -1
  178. package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
  179. package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  180. package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
  181. package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  182. package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
  183. package/app/.next/server/app/api/policies/route.js +2 -2
  184. package/app/.next/server/app/api/policies/route_client-reference-manifest.js +1 -1
  185. package/app/.next/server/app/api/pricing/defaults/route.js +1 -1
  186. package/app/.next/server/app/api/pricing/defaults/route_client-reference-manifest.js +1 -1
  187. package/app/.next/server/app/api/pricing/models/route.js +1 -1
  188. package/app/.next/server/app/api/pricing/models/route_client-reference-manifest.js +1 -1
  189. package/app/.next/server/app/api/pricing/route.js +1 -1
  190. package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  191. package/app/.next/server/app/api/provider-metrics/route.js +2 -2
  192. package/app/.next/server/app/api/provider-metrics/route_client-reference-manifest.js +1 -1
  193. package/app/.next/server/app/api/provider-models/route.js +1 -1
  194. package/app/.next/server/app/api/provider-models/route_client-reference-manifest.js +1 -1
  195. package/app/.next/server/app/api/provider-nodes/[id]/route.js +1 -1
  196. package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  197. package/app/.next/server/app/api/provider-nodes/route.js +2 -2
  198. package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  199. package/app/.next/server/app/api/provider-nodes/validate/route.js +1 -1
  200. package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  201. package/app/.next/server/app/api/providers/[id]/models/route.js +2 -2
  202. package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  203. package/app/.next/server/app/api/providers/[id]/route.js +1 -1
  204. package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  205. package/app/.next/server/app/api/providers/[id]/test/route.js +1 -1
  206. package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  207. package/app/.next/server/app/api/providers/client/route.js +1 -1
  208. package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  209. package/app/.next/server/app/api/providers/route.js +2 -2
  210. package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
  211. package/app/.next/server/app/api/providers/test-batch/route.js +1 -1
  212. package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
  213. package/app/.next/server/app/api/providers/validate/route.js +1 -1
  214. package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  215. package/app/.next/server/app/api/rate-limit/route.js +1 -1
  216. package/app/.next/server/app/api/rate-limit/route_client-reference-manifest.js +1 -1
  217. package/app/.next/server/app/api/rate-limits/route.js +1 -1
  218. package/app/.next/server/app/api/rate-limits/route_client-reference-manifest.js +1 -1
  219. package/app/.next/server/app/api/resilience/reset/route.js +1 -1
  220. package/app/.next/server/app/api/resilience/reset/route_client-reference-manifest.js +1 -1
  221. package/app/.next/server/app/api/resilience/route.js +1 -1
  222. package/app/.next/server/app/api/resilience/route_client-reference-manifest.js +1 -1
  223. package/app/.next/server/app/api/restart/route.js +1 -1
  224. package/app/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  225. package/app/.next/server/app/api/sessions/route.js +1 -1
  226. package/app/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  227. package/app/.next/server/app/api/settings/background-degradation/route.js +1 -1
  228. package/app/.next/server/app/api/settings/background-degradation/route_client-reference-manifest.js +1 -1
  229. package/app/.next/server/app/api/settings/combo-defaults/route.js +1 -1
  230. package/app/.next/server/app/api/settings/combo-defaults/route_client-reference-manifest.js +1 -1
  231. package/app/.next/server/app/api/settings/ip-filter/route.js +1 -1
  232. package/app/.next/server/app/api/settings/ip-filter/route_client-reference-manifest.js +1 -1
  233. package/app/.next/server/app/api/settings/model-aliases/route.js +1 -1
  234. package/app/.next/server/app/api/settings/model-aliases/route_client-reference-manifest.js +1 -1
  235. package/app/.next/server/app/api/settings/proxy/route.js +1 -1
  236. package/app/.next/server/app/api/settings/proxy/route_client-reference-manifest.js +1 -1
  237. package/app/.next/server/app/api/settings/proxy/test/route.js +1 -1
  238. package/app/.next/server/app/api/settings/proxy/test/route_client-reference-manifest.js +1 -1
  239. package/app/.next/server/app/api/settings/require-login/route.js +1 -1
  240. package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  241. package/app/.next/server/app/api/settings/route.js +1 -1
  242. package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  243. package/app/.next/server/app/api/settings/system-prompt/route.js +1 -1
  244. package/app/.next/server/app/api/settings/system-prompt/route_client-reference-manifest.js +1 -1
  245. package/app/.next/server/app/api/settings/thinking-budget/route.js +1 -1
  246. package/app/.next/server/app/api/settings/thinking-budget/route_client-reference-manifest.js +1 -1
  247. package/app/.next/server/app/api/shutdown/route.js +1 -1
  248. package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  249. package/app/.next/server/app/api/storage/health/route.js +1 -1
  250. package/app/.next/server/app/api/storage/health/route_client-reference-manifest.js +1 -1
  251. package/app/.next/server/app/api/sync/cloud/route.js +1 -1
  252. package/app/.next/server/app/api/sync/cloud/route_client-reference-manifest.js +1 -1
  253. package/app/.next/server/app/api/sync/initialize/route.js +1 -1
  254. package/app/.next/server/app/api/sync/initialize/route_client-reference-manifest.js +1 -1
  255. package/app/.next/server/app/api/tags/route.js +1 -1
  256. package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
  257. package/app/.next/server/app/api/telemetry/summary/route.js +1 -1
  258. package/app/.next/server/app/api/telemetry/summary/route_client-reference-manifest.js +1 -1
  259. package/app/.next/server/app/api/token-health/route.js +1 -1
  260. package/app/.next/server/app/api/token-health/route_client-reference-manifest.js +1 -1
  261. package/app/.next/server/app/api/translator/detect/route.js +1 -1
  262. package/app/.next/server/app/api/translator/detect/route_client-reference-manifest.js +1 -1
  263. package/app/.next/server/app/api/translator/history/route.js +1 -1
  264. package/app/.next/server/app/api/translator/history/route_client-reference-manifest.js +1 -1
  265. package/app/.next/server/app/api/translator/load/route.js +1 -1
  266. package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  267. package/app/.next/server/app/api/translator/save/route.js +1 -1
  268. package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  269. package/app/.next/server/app/api/translator/send/route.js +1 -1
  270. package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  271. package/app/.next/server/app/api/translator/translate/route.js +1 -1
  272. package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  273. package/app/.next/server/app/api/usage/[connectionId]/route.js +1 -1
  274. package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  275. package/app/.next/server/app/api/usage/analytics/route.js +1 -1
  276. package/app/.next/server/app/api/usage/analytics/route_client-reference-manifest.js +1 -1
  277. package/app/.next/server/app/api/usage/budget/route.js +2 -2
  278. package/app/.next/server/app/api/usage/budget/route_client-reference-manifest.js +1 -1
  279. package/app/.next/server/app/api/usage/call-logs/[id]/route.js +1 -1
  280. package/app/.next/server/app/api/usage/call-logs/[id]/route_client-reference-manifest.js +1 -1
  281. package/app/.next/server/app/api/usage/call-logs/route.js +1 -1
  282. package/app/.next/server/app/api/usage/call-logs/route_client-reference-manifest.js +1 -1
  283. package/app/.next/server/app/api/usage/history/route.js +1 -1
  284. package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  285. package/app/.next/server/app/api/usage/logs/route.js +1 -1
  286. package/app/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
  287. package/app/.next/server/app/api/usage/proxy-logs/route.js +1 -1
  288. package/app/.next/server/app/api/usage/proxy-logs/route_client-reference-manifest.js +1 -1
  289. package/app/.next/server/app/api/usage/request-logs/route.js +1 -1
  290. package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  291. package/app/.next/server/app/api/v1/api/chat/route.js +1 -1
  292. package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  293. package/app/.next/server/app/api/v1/audio/speech/route.js +1 -1
  294. package/app/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
  295. package/app/.next/server/app/api/v1/audio/transcriptions/route.js +1 -1
  296. package/app/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
  297. package/app/.next/server/app/api/v1/chat/completions/route.js +1 -1
  298. package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  299. package/app/.next/server/app/api/v1/embeddings/route.js +1 -1
  300. package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
  301. package/app/.next/server/app/api/v1/images/generations/route.js +1 -1
  302. package/app/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
  303. package/app/.next/server/app/api/v1/messages/count_tokens/route.js +1 -1
  304. package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  305. package/app/.next/server/app/api/v1/messages/route.js +1 -1
  306. package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  307. package/app/.next/server/app/api/v1/models/route.js +2 -2
  308. package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  309. package/app/.next/server/app/api/v1/moderations/route.js +1 -1
  310. package/app/.next/server/app/api/v1/moderations/route_client-reference-manifest.js +1 -1
  311. package/app/.next/server/app/api/v1/music/generations/route.js +1 -1
  312. package/app/.next/server/app/api/v1/music/generations/route_client-reference-manifest.js +1 -1
  313. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route.js +1 -1
  314. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route_client-reference-manifest.js +1 -1
  315. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route.js +1 -1
  316. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route_client-reference-manifest.js +1 -1
  317. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route.js +1 -1
  318. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route_client-reference-manifest.js +1 -1
  319. package/app/.next/server/app/api/v1/rerank/route.js +1 -1
  320. package/app/.next/server/app/api/v1/rerank/route_client-reference-manifest.js +1 -1
  321. package/app/.next/server/app/api/v1/responses/route.js +1 -1
  322. package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  323. package/app/.next/server/app/api/v1/route.js +1 -1
  324. package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
  325. package/app/.next/server/app/api/v1/videos/generations/route.js +1 -1
  326. package/app/.next/server/app/api/v1/videos/generations/route_client-reference-manifest.js +1 -1
  327. package/app/.next/server/app/api/v1beta/models/[...path]/route.js +1 -1
  328. package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  329. package/app/.next/server/app/api/v1beta/models/route.js +2 -2
  330. package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  331. package/app/.next/server/app/callback/page.js +2 -2
  332. package/app/.next/server/app/callback/page.js.nft.json +1 -1
  333. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  334. package/app/.next/server/app/docs/page.js +3 -3
  335. package/app/.next/server/app/docs/page.js.nft.json +1 -1
  336. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  337. package/app/.next/server/app/forbidden/page.js +2 -2
  338. package/app/.next/server/app/forbidden/page.js.nft.json +1 -1
  339. package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
  340. package/app/.next/server/app/forgot-password/page.js +2 -2
  341. package/app/.next/server/app/forgot-password/page.js.nft.json +1 -1
  342. package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  343. package/app/.next/server/app/landing/page.js +2 -2
  344. package/app/.next/server/app/landing/page.js.nft.json +1 -1
  345. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  346. package/app/.next/server/app/login/page.js +2 -2
  347. package/app/.next/server/app/login/page.js.nft.json +1 -1
  348. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  349. package/app/.next/server/app/page.js +2 -2
  350. package/app/.next/server/app/page.js.nft.json +1 -1
  351. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  352. package/app/.next/server/app/privacy/page.js +2 -2
  353. package/app/.next/server/app/privacy/page.js.nft.json +1 -1
  354. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  355. package/app/.next/server/app/terms/page.js +2 -2
  356. package/app/.next/server/app/terms/page.js.nft.json +1 -1
  357. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  358. package/app/.next/server/app-paths-manifest.json +49 -49
  359. package/app/.next/server/chunks/2180.js +1 -1
  360. package/app/.next/server/chunks/2910.js +1 -1
  361. package/app/.next/server/chunks/3498.js +1 -1
  362. package/app/.next/server/chunks/3801.js +2 -0
  363. package/app/.next/server/chunks/4488.js +1 -1
  364. package/app/.next/server/chunks/7109.js +1 -1
  365. package/app/.next/server/chunks/8020.js +3 -3
  366. package/app/.next/server/chunks/9548.js +1 -0
  367. package/app/.next/server/chunks/9824.js +2 -2
  368. package/app/.next/server/middleware-build-manifest.js +1 -1
  369. package/app/.next/server/middleware.js +3 -3
  370. package/app/.next/server/next-font-manifest.js +1 -1
  371. package/app/.next/server/next-font-manifest.json +1 -1
  372. package/app/.next/server/pages/500.html +2 -2
  373. package/app/.next/server/server-reference-manifest.js +1 -1
  374. package/app/.next/server/server-reference-manifest.json +1 -1
  375. package/app/.next/static/chunks/{5846-87d36f43a6a3659e.js → 5846-0ee1f53245d92ec3.js} +1 -1
  376. package/app/.next/static/chunks/{993-035473765d7d1871.js → 993-9f36b0b069ca090e.js} +2 -2
  377. package/app/.next/static/chunks/app/(dashboard)/dashboard/analytics/loading-ce5214cdf489c9df.js +1 -0
  378. package/app/.next/static/chunks/app/(dashboard)/dashboard/analytics/{page-52f76c7c91444ec2.js → page-20786f2c7fdbab57.js} +1 -1
  379. package/app/.next/static/chunks/app/(dashboard)/dashboard/api-manager/page-12d772841a253032.js +1 -0
  380. package/app/.next/static/chunks/app/(dashboard)/dashboard/audit-log/page-c9b98846b8479f3f.js +1 -0
  381. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-5e34630a5dc32825.js +15 -0
  382. package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/{page-3dce7fccfcf177dd.js → page-85a3e6a423aceded.js} +1 -1
  383. package/app/.next/static/chunks/app/(dashboard)/dashboard/costs/{page-3ed2a7685adf9b91.js → page-cdb8071441476da9.js} +1 -1
  384. package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-3f3a5f45e045051f.js +1 -0
  385. package/app/.next/static/chunks/app/(dashboard)/dashboard/health/{page-9a6519bf1468f16e.js → page-b480b3cb318782d7.js} +1 -1
  386. package/app/.next/static/chunks/app/(dashboard)/dashboard/limits/page-0ae1d6cc5fc4671f.js +1 -0
  387. package/app/.next/static/chunks/app/(dashboard)/dashboard/logs/{page-833d24f322a20f5a.js → page-ffdc1dcf074c7528.js} +1 -1
  388. package/app/.next/static/chunks/app/(dashboard)/dashboard/media/page-72b768421394b42c.js +1 -0
  389. package/app/.next/static/chunks/app/(dashboard)/dashboard/onboarding/{page-d424641c7e428be9.js → page-5378e9473a20cd6a.js} +1 -1
  390. package/app/.next/static/chunks/app/(dashboard)/dashboard/page-5c87e49261a22fd5.js +1 -0
  391. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-b38f2d03bae8166a.js +1 -0
  392. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/{error-2f0177a2197dd556.js → error-f0730d6d62d02e82.js} +1 -1
  393. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/{loading-99ab4d478260d53b.js → loading-59cbccd6d5185ca9.js} +1 -1
  394. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/new/page-a7fb36872be60fe0.js +1 -0
  395. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/{page-1f022385b812b987.js → page-40dc5ac82df708e9.js} +1 -1
  396. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/{error-e844916e39172c8b.js → error-cc85c3ff1f63aea6.js} +1 -1
  397. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/{loading-bb068659ee679ff4.js → loading-19fc771a287bcb4c.js} +1 -1
  398. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/{page-cea3403400ee20c8.js → page-2442cf2a6452a899.js} +1 -1
  399. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/pricing/{page-a4b8b03ffb39da1d.js → page-69eb8b0eb0e9de00.js} +1 -1
  400. package/app/.next/static/chunks/app/(dashboard)/dashboard/translator/{page-83b07523f81d6282.js → page-534e13a69cb60a4f.js} +1 -1
  401. package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/{page-9cc99ab874fc36e7.js → page-86a076d820931a30.js} +1 -1
  402. package/app/.next/static/chunks/app/(dashboard)/{layout-00d5d56af65098a9.js → layout-16302e54f9ef3d0e.js} +1 -1
  403. package/app/.next/static/chunks/app/callback/{page-585a53f7dc6a30f1.js → page-0f0ebc0820dd18a5.js} +1 -1
  404. package/app/.next/static/chunks/app/docs/{page-2fe9dcbeb3f738c0.js → page-3658b3f15df3a19e.js} +1 -1
  405. package/app/.next/static/chunks/app/{error-0d59fc4efafbc38c.js → error-f918d9961a2368d3.js} +1 -1
  406. package/app/.next/static/chunks/app/forbidden/page-77657dfa95e61cd8.js +1 -0
  407. package/app/.next/static/chunks/app/forgot-password/page-be3bacc125c30a6b.js +1 -0
  408. package/app/.next/static/chunks/app/global-error-504ff9093e2a997d.js +1 -0
  409. package/app/.next/static/chunks/app/landing/page-75b0c988db383cfc.js +1 -0
  410. package/app/.next/static/chunks/app/{layout-108592eafb959363.js → layout-070972eb026af319.js} +1 -1
  411. package/app/.next/static/chunks/app/login/{page-121c612ee459e7c2.js → page-6c769465e407368f.js} +1 -1
  412. package/app/.next/static/chunks/app/not-found-11b712c853d93172.js +1 -0
  413. package/app/.next/static/chunks/app/privacy/{page-2fe9dcbeb3f738c0.js → page-3658b3f15df3a19e.js} +1 -1
  414. package/app/.next/static/chunks/app/terms/{page-2fe9dcbeb3f738c0.js → page-3658b3f15df3a19e.js} +1 -1
  415. package/app/.next/static/chunks/{main-app-c9da11a8061df107.js → main-app-ae230f6bf51a5edb.js} +1 -1
  416. package/app/package.json +1 -1
  417. package/app/server.js +1 -1
  418. package/package.json +1 -1
  419. package/app/.next/server/chunks/5248.js +0 -1
  420. package/app/.next/server/chunks/5393.js +0 -2
  421. package/app/.next/static/chunks/app/(dashboard)/dashboard/analytics/loading-6f1750506292c630.js +0 -1
  422. package/app/.next/static/chunks/app/(dashboard)/dashboard/api-manager/page-1dd4d0c348a7b0a6.js +0 -1
  423. package/app/.next/static/chunks/app/(dashboard)/dashboard/audit-log/page-e5bf8955e7b9a4f5.js +0 -1
  424. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-77ab26722f5c56c7.js +0 -15
  425. package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-84be54df40abf969.js +0 -1
  426. package/app/.next/static/chunks/app/(dashboard)/dashboard/limits/page-f4a2d6d07df5ddc4.js +0 -1
  427. package/app/.next/static/chunks/app/(dashboard)/dashboard/media/page-1d0ca9b5d3eaf7cd.js +0 -1
  428. package/app/.next/static/chunks/app/(dashboard)/dashboard/page-388840686801f3f5.js +0 -1
  429. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-9c8ffb212f855704.js +0 -1
  430. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/new/page-31cdb6e15134d8c2.js +0 -1
  431. package/app/.next/static/chunks/app/forbidden/page-df886dfa2d5bd9fa.js +0 -1
  432. package/app/.next/static/chunks/app/forgot-password/page-2a495f0b0c653ab4.js +0 -1
  433. package/app/.next/static/chunks/app/global-error-41eef2a698918fc1.js +0 -1
  434. package/app/.next/static/chunks/app/landing/page-9d540ab1716f8e3e.js +0 -1
  435. package/app/.next/static/chunks/app/not-found-1dbd8c3e506fe00f.js +0 -1
  436. /package/app/.next/static/{JKW3SWuOlZ-iZJt5gdVEf → aCT5wOLH_n6lt0LkCh2w7}/_buildManifest.js +0 -0
  437. /package/app/.next/static/{JKW3SWuOlZ-iZJt5gdVEf → aCT5wOLH_n6lt0LkCh2w7}/_ssgManifest.js +0 -0
@@ -0,0 +1,2 @@
1
+ exports.id=3801,exports.ids=[3801],exports.modules={3845:(a,b,c)=>{var d={"./ar.json":[48464,8464],"./bg.json":[60944,944],"./da.json":[18976,8976],"./de.json":[22372,2372],"./en.json":[31960,1960],"./es.json":[87011,7011],"./fi.json":[96118,6118],"./fr.json":[53911,3911],"./he.json":[51248,1248],"./hu.json":[50496,496],"./id.json":[16930,6930],"./in.json":[30708,708],"./it.json":[32594,2594],"./ja.json":[37650,7650],"./ko.json":[79837,9837],"./ms.json":[55752,3371],"./nl.json":[35097,5097],"./no.json":[88220,8220],"./phi.json":[28706,8706],"./pl.json":[99119,9119],"./pt-BR.json":[41990,1990],"./pt.json":[11623,1623],"./ro.json":[71880,1880],"./ru.json":[61526,1526],"./sk.json":[25945,5945],"./sv.json":[85094,5094],"./th.json":[55047,5047],"./uk-UA.json":[11584,1584],"./vi.json":[22214,2214],"./zh-CN.json":[65521,5521]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=3845,a.exports=e},8979:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/diegosouzapw/dev/proxys/9router/src/app/not-found.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/diegosouzapw/dev/proxys/9router/src/app/not-found.tsx","default")},14004:(a,b,c)=>{Promise.resolve().then(c.bind(c,81227))},14521:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,15098,23)),Promise.resolve().then(c.t.bind(c,47644,23)),Promise.resolve().then(c.t.bind(c,33859,23)),Promise.resolve().then(c.t.bind(c,98099,23)),Promise.resolve().then(c.t.bind(c,16237,23)),Promise.resolve().then(c.t.bind(c,98562,23)),Promise.resolve().then(c.t.bind(c,36675,23))},17084:(a,b,c)=>{"use strict";c.d(b,{Q2:()=>o,DI:()=>l,fg:()=>j,MA:()=>p,IS:()=>h,zN:()=>i,JH:()=>k,wb:()=>s,wG:()=>r,zt:()=>q,gb:()=>n,mq:()=>m});var d=c(60258);let e=d.Ikc({id:d.YjP().min(1),alias:d.YjP().min(1),name:d.YjP().min(1),icon:d.YjP().min(1),color:d.YjP().regex(/^#[0-9A-Fa-f]{6}$/,"Must be a valid hex color (#RRGGBB)"),textIcon:d.YjP().optional(),website:d.YjP().url().optional(),passthroughModels:d.zMY().optional()}),f=d.g1P(d.YjP(),e);function g(a,b){let c=f.safeParse(a);if(!c.success){let a=c.error.issues.map(a=>` ${a.path.join(".")}: ${a.message}`).join("\n");throw console.error(`[PROVIDER VALIDATION] ${b} has invalid entries:
2
+ ${a}`),Error(`Provider validation failed for ${b}`)}}let h={iflow:{id:"iflow",alias:"if",name:"iFlow AI",icon:"water_drop",color:"#6366F1"},qwen:{id:"qwen",alias:"qw",name:"Qwen Code",icon:"psychology",color:"#10B981"},"gemini-cli":{id:"gemini-cli",alias:"gc",name:"Gemini CLI",icon:"terminal",color:"#4285F4"},kiro:{id:"kiro",alias:"kr",name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35"}},i={claude:{id:"claude",alias:"cc",name:"Claude Code",icon:"smart_toy",color:"#D97757"},antigravity:{id:"antigravity",alias:"ag",name:"Antigravity",icon:"rocket_launch",color:"#F59E0B"},codex:{id:"codex",alias:"cx",name:"OpenAI Codex",icon:"code",color:"#3B82F6"},github:{id:"github",alias:"gh",name:"GitHub Copilot",icon:"code",color:"#333333"},cursor:{id:"cursor",alias:"cu",name:"Cursor IDE",icon:"edit_note",color:"#00D4AA"},"kimi-coding":{id:"kimi-coding",alias:"kmc",name:"Kimi Coding",icon:"psychology",color:"#1E40AF",textIcon:"KC"},kilocode:{id:"kilocode",alias:"kc",name:"Kilo Code",icon:"code",color:"#FF6B35",textIcon:"KC"},cline:{id:"cline",alias:"cl",name:"Cline",icon:"smart_toy",color:"#5B9BD5",textIcon:"CL"}},j={openrouter:{id:"openrouter",alias:"openrouter",name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",passthroughModels:!0,website:"https://openrouter.ai"},glm:{id:"glm",alias:"glm",name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn"},kimi:{id:"kimi",alias:"kimi",name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn"},minimax:{id:"minimax",alias:"minimax",name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com"},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com"},openai:{id:"openai",alias:"openai",name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com"},anthropic:{id:"anthropic",alias:"anthropic",name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com"},gemini:{id:"gemini",alias:"gemini",name:"Gemini",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev"},deepseek:{id:"deepseek",alias:"ds",name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com"},groq:{id:"groq",alias:"groq",name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com"},blackbox:{id:"blackbox",alias:"bb",name:"Blackbox AI",icon:"view_in_ar",color:"#1A1A2E",textIcon:"BB",website:"https://blackbox.ai"},xai:{id:"xai",alias:"xai",name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai"},mistral:{id:"mistral",alias:"mistral",name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai"},perplexity:{id:"perplexity",alias:"pplx",name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai"},together:{id:"together",alias:"together",name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai"},fireworks:{id:"fireworks",alias:"fireworks",name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai"},cerebras:{id:"cerebras",alias:"cerebras",name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://www.cerebras.ai"},cohere:{id:"cohere",alias:"cohere",name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com"},nvidia:{id:"nvidia",alias:"nvidia",name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://developer.nvidia.com/nim"},nebius:{id:"nebius",alias:"nebius",name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com"},siliconflow:{id:"siliconflow",alias:"siliconflow",name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com"},hyperbolic:{id:"hyperbolic",alias:"hyp",name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz"},deepgram:{id:"deepgram",alias:"dg",name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com"},assemblyai:{id:"assemblyai",alias:"aai",name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com"},nanobanana:{id:"nanobanana",alias:"nb",name:"NanoBanana",icon:"image",color:"#FFD700",textIcon:"NB",website:"https://nanobananaapi.ai"}},k="openai-compatible-",l="anthropic-compatible-";function m(a){return"string"==typeof a&&a.startsWith(k)}function n(a){return"string"==typeof a&&a.startsWith(l)}let o={...h,...i,...j},p={oauth:{id:"oauth",name:"OAuth",icon:"lock"},apikey:{id:"apikey",name:"API Key",icon:"key"}};function q(a){for(let b of Object.values(o))if(b.alias===a||b.id===a)return b;return null}function r(a){let b=o[a];return b?.alias||a}Object.values(o).reduce((a,b)=>(a[b.alias]=b.id,a),{}),Object.values(o).reduce((a,b)=>(a[b.id]=b.alias,a),{});let s=["antigravity","kiro","github","codex","claude"];g(h,"FREE_PROVIDERS"),g(i,"OAUTH_PROVIDERS"),g(j,"APIKEY_PROVIDERS")},21280:(a,b,c)=>{"use strict";c.d(b,{S_:()=>m});var d=c(22901),e=c(87068);let f="[HealthCheck]",g=null,h=0,i=null;async function j(){let a=Date.now();return null!==g&&a-h<3e4?g:null!==i?i:i=(async()=>{try{let b=await (0,d.V7)();return g=!0===b.hideHealthCheckLogs,h=a,g}catch{return!1}finally{i=null}})()}function k(a,...b){j().then(c=>{c||console.log(a,...b)})}function l(a,...b){j().then(c=>{c||console.error(a,...b)})}function m(){g=null,h=0}let n=!1;async function o(){try{let a=await (0,d.getProviderConnections)({authType:"oauth"});if(!a||0===a.length)return;for(let b of a)try{await p(b)}catch(a){l(`${f} Error checking ${b.name||b.id}:`,a.message)}}catch(a){l(`${f} Sweep error:`,a.message)}}async function p(a){let b=a.healthCheckInterval??60;if(b<=0||!a.isActive||!a.refreshToken||"string"!=typeof a.refreshToken||"expired"===a.testStatus)return;if(!(0,e.Ny)(a.provider)){let b=new Date().toISOString();await (0,d.rj)(a.id,{lastHealthCheckAt:b}),k(`${f} Skipping ${a.provider}/${a.name||a.email||a.id} (refresh unsupported)`);return}let c=a.lastHealthCheckAt?new Date(a.lastHealthCheckAt).getTime():0;if(Date.now()-c<60*b*1e3)return;k(`${f} Refreshing ${a.provider}/${a.name||a.email||a.id} (interval: ${b}min)`);let g={refreshToken:a.refreshToken,accessToken:a.accessToken,expiresAt:a.tokenExpiresAt,providerSpecificData:a.providerSpecificData},h=await j(),i=await (0,e.iD)(a.provider,g,{info:(a,b)=>{h||console.log(`${f} [${a}] ${b}`)},warn:(a,b)=>{h||console.warn(`${f} [${a}] ${b}`)},error:(a,b,c)=>{h||console.error(`${f} [${a}] ${b}`,c||"")}}),m=new Date().toISOString();if((0,e.jT)(i)){await (0,d.rj)(a.id,{lastHealthCheckAt:m,testStatus:"expired",lastError:`Refresh token consumed (${i.error}). Please re-authenticate this account.`,lastErrorAt:m,lastErrorType:i.error,lastErrorSource:"oauth",errorCode:i.error,isActive:!1,refreshToken:null}),l(`${f} ✗ ${a.provider}/${a.name||a.email||a.id} — Refresh token is permanently invalid (${i.error}). Connection deactivated. Re-authenticate to restore.`);return}if(i&&i.accessToken){let b={accessToken:i.accessToken,lastHealthCheckAt:m,testStatus:"active",lastError:null,lastErrorAt:null,lastErrorType:null,lastErrorSource:null,errorCode:null};i.refreshToken&&(b.refreshToken=i.refreshToken),i.expiresIn&&(b.tokenExpiresAt=new Date(Date.now()+1e3*i.expiresIn).toISOString()),await (0,d.rj)(a.id,b),k(`${f} ✓ ${a.provider}/${a.name||a.email||a.id} refreshed`)}else await (0,d.rj)(a.id,{lastHealthCheckAt:m,testStatus:"error",lastError:"Health check: token refresh failed",lastErrorAt:m,lastErrorType:"token_refresh_failed",lastErrorSource:"oauth",errorCode:"refresh_failed"}),function(a,...b){j().then(c=>{c||console.warn(a,...b)})}(`${f} ✗ ${a.provider}/${a.name||a.email||a.id} refresh failed`)}n=!0,k(`${f} Starting proactive token health-check (tick every 60s)`),setTimeout(()=>{o(),setInterval(o,6e4)},1e4)},30807:(a,b,c)=>{Promise.resolve().then(c.bind(c,62626)),Promise.resolve().then(c.bind(c,75146))},32444:(a,b,c)=>{"use strict";c.d(b,{ThemeProvider:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/diegosouzapw/dev/proxys/9router/src/shared/components/ThemeProvider.tsx","ThemeProvider")},33314:(a,b,c)=>{Promise.resolve().then(c.bind(c,64385))},45300:(a,b,c)=>{Promise.resolve().then(c.bind(c,8979))},47508:(a,b,c)=>{Promise.resolve().then(c.bind(c,73857))},47695:(a,b,c)=>{"use strict";c.d(b,{A:()=>i,F:()=>h});var d=c(31417),e=c(300),f=c(73959);let g=(0,d.v)()((0,e.Zr)((a,b)=>({theme:f.B2.defaultTheme,colorTheme:"coral",customColor:"#3b82f6",setTheme:b=>{a({theme:b})},setColorTheme:c=>{a({colorTheme:c}),b().customColor},setCustomColorTheme:b=>{let c=function(a){let b=(a||"").trim(),c=b.startsWith("#")?b:`#${b}`;return/^#([0-9a-fA-F]{6})$/.test(c)?c.toLowerCase():"#3b82f6"}(b);a({colorTheme:"custom",customColor:c})},toggleTheme:()=>{let c="dark"===b().theme?"light":"dark";a({theme:c})},initTheme:()=>{let{theme:a,colorTheme:c,customColor:d}=b()}}),{name:f.B2.storageKey})),h={coral:"#e54d5e",blue:"#3b82f6",red:"#ef4444",green:"#22c55e",violet:"#8b5cf6",orange:"#f97316",cyan:"#06b6d4"},i=g},47825:(a,b,c)=>{"use strict";c.d(b,{KC:()=>d.KC,Xg:()=>d.Xg});var d=c(97319);Object.entries(c(17084).Q2).filter(([,a])=>a.passthroughModels).map(([a])=>a),Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))},49226:(a,b,c)=>{"use strict";c.d(b,{A:()=>l});var d=c(90357),e=c(22901);let{dashboardPort:f}=(0,c(83238).z)(),g=process.env.BASE_URL||"http://localhost:20128";class h{constructor(a=null,b=15){this.machineId=a,this.intervalMinutes=b,this.intervalId=null}async initializeMachineId(){this.machineId||(this.machineId=await (0,d.Xj)())}async start(){this.intervalId||(await this.initializeMachineId(),setTimeout(()=>{this.syncWithRetry().catch(()=>{})},3e4),this.intervalId=setInterval(()=>{this.syncWithRetry().catch(()=>{})},60*this.intervalMinutes*1e3))}stop(){this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null)}async syncWithRetry(a=1){for(let b=1;b<=a;b++)try{return await this.sync()}catch(d){if(b===a)return null;let c=Math.min(1e3*Math.pow(2,b),1e4);await new Promise(a=>setTimeout(a,c))}}async sync(){if(!await (0,e.Nx)())return null;await this.initializeMachineId();let a=await fetch(`${g}/api/sync/cloud`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({machineId:this.machineId,action:"sync"})});if(!a.ok)throw Error((await a.json().catch(()=>({}))).error||"Sync failed");return await a.json()}isRunning(){return null!==this.intervalId}}let i=null;async function j(a=null,b=15){return i||(i=new h(a,b)),i}async function k(){try{await (0,e.bI)();let a=await j(null,15);return await a.start(),a}catch(a){throw console.error("[CloudSync] Error initializing scheduler:",a),a}}a=c.hmd(a),c.c[c.s]===a&&k().catch(a=>console.error("[CloudSync] init failed:",a));let l=k},50969:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,60440,23)),Promise.resolve().then(c.t.bind(c,84342,23)),Promise.resolve().then(c.t.bind(c,82265,23)),Promise.resolve().then(c.t.bind(c,35421,23)),Promise.resolve().then(c.t.bind(c,61335,23)),Promise.resolve().then(c.t.bind(c,70664,23)),Promise.resolve().then(c.bind(c,74661))},51466:(a,b,c)=>{Promise.resolve().then(c.bind(c,97507))},61135:()=>{},64385:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/diegosouzapw/dev/proxys/9router/src/app/error.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/diegosouzapw/dev/proxys/9router/src/app/error.tsx","default")},66740:(a,b,c)=>{Promise.resolve().then(c.bind(c,67045))},67045:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(48249);function e({error:a,reset:b}){return(0,d.jsx)("html",{lang:"en",children:(0,d.jsx)("body",{className:"flex flex-col items-center justify-center min-h-screen p-6 bg-[#0a0a0f] text-[#e0e0e0] font-[system-ui,-apple-system,sans-serif] text-center m-0",children:(0,d.jsxs)("main",{role:"alert","aria-live":"assertive",className:"flex flex-col items-center",children:[(0,d.jsx)("div",{className:"text-[64px] mb-4","aria-hidden":"true",children:"⚠️"}),(0,d.jsx)("h1",{className:"text-[28px] font-bold mb-2",children:"Something went wrong"}),(0,d.jsx)("p",{className:"text-[15px] text-[#888] max-w-[400px] leading-relaxed mb-6",children:"An unexpected error occurred. This has been logged and our team will investigate."}),!1,(0,d.jsx)("button",{onClick:b,"aria-label":"Retry loading the page",className:"px-8 py-3 rounded-[10px] text-white border-none text-sm font-semibold cursor-pointer transition-transform duration-200 shadow-[0_4px_16px_rgba(99,102,241,0.3)] hover:-translate-y-0.5 bg-gradient-to-br from-[#6366f1] to-[#8b5cf6] focus:outline-2 focus:outline-offset-2 focus:outline-[#6366f1]",children:"Try Again"})]})})})}},70559:(a,b,c)=>{Promise.resolve().then(c.bind(c,86392)),Promise.resolve().then(c.bind(c,32444))},73857:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>g});var d=c(48249),e=c(2116),f=c.n(e);function g(){return(0,d.jsxs)("div",{className:"flex flex-col items-center justify-center min-h-screen p-6 bg-bg text-text-main text-center",role:"main","aria-labelledby":"not-found-title",children:[(0,d.jsx)("div",{className:"text-[96px] font-extrabold leading-none mb-2 bg-gradient-to-br from-primary to-primary-hover bg-clip-text text-transparent","aria-hidden":"true",children:"404"}),(0,d.jsx)("h1",{id:"not-found-title",className:"text-2xl font-semibold mb-2",children:"Page not found"}),(0,d.jsx)("p",{className:"text-[15px] text-text-muted max-w-[400px] leading-relaxed mb-8",children:"The page you're looking for doesn't exist or has been moved."}),(0,d.jsx)(f(),{href:"/dashboard",className:"px-8 py-3 rounded-xl text-white text-sm font-medium no-underline transition-all duration-200 shadow-warm hover:-translate-y-0.5 bg-gradient-to-br from-primary to-primary-hover hover:shadow-elevated focus:outline-2 focus:outline-offset-2 focus:outline-primary","aria-label":"Return to dashboard",children:"Go to Dashboard"})]})}},73959:(a,b,c)=>{"use strict";c.d(b,{Q2:()=>d.Q2,fg:()=>d.fg,vQ:()=>e,MA:()=>d.MA,zN:()=>d.zN,B2:()=>f});var d=c(17084);c(47825);let e={name:"OmniRoute",description:"AI Gateway for Multi-Provider LLMs",version:"1.7.13"},f={storageKey:"theme",defaultTheme:"system"}},75146:(a,b,c)=>{"use strict";c.d(b,{ThemeProvider:()=>f});var d=c(48249);c(67484);var e=c(47695);function f({children:a}){let{initTheme:b}=(0,e.A)();return(0,d.jsx)(d.Fragment,{children:a})}},76537:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>m,metadata:()=>l});var d=c(5735),e=c(50609),f=c.n(e);c(61135);var g=c(32444);c(91057);var h=c(68625),i=c(62026),j=c(28440),k=c(83750);let l={title:"OmniRoute — AI Gateway for Multi-Provider LLMs",description:"OmniRoute is an AI gateway for multi-provider LLMs. One endpoint for all your AI providers.",icons:{icon:"/favicon.svg",apple:"/apple-touch-icon.svg"}};async function m({children:a}){let b=await (0,i.A)(),c=await (0,j.A)(),e=k.rB.includes(b);return(0,d.jsxs)("html",{lang:b,dir:e?"rtl":"ltr",suppressHydrationWarning:!0,children:[(0,d.jsxs)("head",{children:[(0,d.jsx)("link",{rel:"preconnect",href:"https://fonts.googleapis.com"}),(0,d.jsx)("link",{rel:"preconnect",href:"https://fonts.gstatic.com",crossOrigin:"anonymous"}),(0,d.jsx)("link",{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"})]}),(0,d.jsxs)("body",{className:`${f().variable} font-sans antialiased`,suppressHydrationWarning:!0,children:[(0,d.jsx)("a",{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"}),(0,d.jsx)(h.A,{locale:b,messages:c,children:(0,d.jsx)(g.ThemeProvider,{children:a})})]})]})}},79803:(a,b,c)=>{"use strict";c.d(b,{A:()=>g});var d=c(29389),e=c(65573),f=c(83750);let g=(0,d.A)(async()=>{let a=await (0,e.UL)(),b=a.get(f.CL)?.value||"";b||(b=(await (0,e.b3)()).get("x-locale")||""),f.YZ.includes(b)||(b=f.Xn);let d=(await c(3845)(`./${b}.json`)).default;return{locale:b,messages:d}})},81227:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/diegosouzapw/dev/proxys/9router/src/app/global-error.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/diegosouzapw/dev/proxys/9router/src/app/global-error.tsx","default")},83238:(a,b,c)=>{"use strict";function d(a,b){if(!a)return b;let c=Number.parseInt(String(a),10);return!Number.isFinite(c)||c<1||c>65535?b:c}function e(){let a=d(process.env.OMNIROUTE_PORT||process.env.PORT,20128),b=!!process.env.API_PORT,c=!!process.env.DASHBOARD_PORT;return{port:a,apiPort:d(process.env.API_PORT,a),dashboardPort:d(process.env.DASHBOARD_PORT,a),apiPortExplicit:b,dashboardPortExplicit:c}}c.d(b,{z:()=>e})},83750:(a,b,c)=>{"use strict";c.d(b,{CL:()=>g,Xn:()=>e,YZ:()=>d,rB:()=>f});let d=["en","pt-BR","es","fr","it","ru","zh-CN","de","in","th","uk-UA","ar","ja","vi","bg","da","fi","he","hu","id","ko","ms","nl","no","pt","ro","pl","sk","sv","phi"],e="en",f=["ar","he"],g="NEXT_LOCALE"},90357:(a,b,c)=>{"use strict";c.d(b,{Xj:()=>e});var d=c(19713);async function e(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt";try{let a=(0,d.machineIdSync)();return(await Promise.resolve().then(c.t.bind(c,55511,23))).createHash("sha256").update(a+b).digest("hex").substring(0,16)}catch(a){return console.log("Error getting machine ID:",a),crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){let b=16*Math.random()|0;return("x"==a?b:3&b|8).toString(16)})}}},91057:(a,b,c)=>{"use strict";var d=c(49226);c(21280);let e=!1;(async function(){if(!e)try{await (0,d.A)(),e=!0}catch(a){console.error("[ServerInit] Error initializing cloud sync:",a)}return e})().catch(a=>console.error("[CloudSync] ensure failed:",a))},97319:(a,b,c)=>{"use strict";c.d(b,{Xg:()=>g,vq:()=>f,KC:()=>h});let d={claude:{id:"claude",alias:"cc",format:"claude",executor:"default",baseUrl:"https://api.anthropic.com/v1/messages",urlSuffix:"?beta=true",authType:"oauth",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14,context-management-2025-06-27","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/1.0.83 (external, cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.3.0","X-Stainless-Package-Version":"0.55.1","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":"arm64","X-Stainless-Os":"MacOS","X-Stainless-Timeout":"60"},oauth:{clientIdEnv:"CLAUDE_OAUTH_CLIENT_ID",clientIdDefault:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",tokenUrl:"https://console.anthropic.com/v1/oauth/token"},models:[{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-opus-4-5-20251101",name:"Claude 4.5 Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude 4.5 Sonnet"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}]},gemini:{id:"gemini",alias:"gemini",format:"gemini",executor:"default",baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",urlBuilder:(a,b,c)=>`${a}/${b}:${c?"streamGenerateContent?alt=sse":"generateContent"}`,authType:"apikey",authHeader:"x-goog-api-key",oauth:{clientIdEnv:"GEMINI_OAUTH_CLIENT_ID",clientIdDefault:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecretEnv:"GEMINI_OAUTH_CLIENT_SECRET",clientSecretDefault:"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"},models:[{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3.1-flash",name:"Gemini 3.1 Flash"},{id:"gemini-3-pro-preview",name:"Gemini 3.0 Pro Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3.0 Flash Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"}]},"gemini-cli":{id:"gemini-cli",alias:"gc",format:"gemini-cli",executor:"gemini-cli",baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",urlBuilder:(a,b,c)=>`${a}:${c?"streamGenerateContent?alt=sse":"generateContent"}`,authType:"oauth",authHeader:"bearer",oauth:{clientIdEnv:"GEMINI_CLI_OAUTH_CLIENT_ID",clientIdDefault:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecretEnv:"GEMINI_CLI_OAUTH_CLIENT_SECRET",clientSecretDefault:"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"},models:[{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3.1-flash",name:"Gemini 3.1 Flash"},{id:"gemini-3-flash-preview",name:"Gemini 3.0 Flash Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3.0 Pro Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"}]},codex:{id:"codex",alias:"cx",format:"openai-responses",executor:"codex",baseUrl:"https://chatgpt.com/backend-api/codex/responses",authType:"oauth",authHeader:"bearer",headers:{Version:"0.92.0","Openai-Beta":"responses=experimental","User-Agent":"codex-cli/0.92.0 (Windows 10.0.26100; x64)"},oauth:{clientIdEnv:"CODEX_OAUTH_CLIENT_ID",clientIdDefault:"app_EMoamEEZ73f0CkXaXp7hrann",clientSecretEnv:"CODEX_OAUTH_CLIENT_SECRET",clientSecretDefault:"",tokenUrl:"https://auth.openai.com/oauth/token"},models:[{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"},{id:"gpt-5.3-codex-xhigh",name:"GPT 5.3 Codex (xHigh)"},{id:"gpt-5.3-codex-high",name:"GPT 5.3 Codex (High)"},{id:"gpt-5.3-codex-low",name:"GPT 5.3 Codex (Low)"},{id:"gpt-5.3-codex-none",name:"GPT 5.3 Codex (None)"},{id:"gpt-5.1-codex-mini",name:"GPT 5.1 Codex Mini"},{id:"gpt-5.1-codex-mini-high",name:"GPT 5.1 Codex Mini (High)"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.1-codex-max",name:"GPT 5.1 Codex Max"},{id:"gpt-5.1-codex",name:"GPT 5.1 Codex"},{id:"gpt-5.1",name:"GPT 5.1"},{id:"gpt-5-codex",name:"GPT 5 Codex"},{id:"gpt-5-codex-mini",name:"GPT 5 Codex Mini"}]},qwen:{id:"qwen",alias:"qw",format:"openai",executor:"default",baseUrl:"https://portal.qwen.ai/v1/chat/completions",authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"gl-node/22.17.0"},oauth:{clientIdEnv:"QWEN_OAUTH_CLIENT_ID",clientIdDefault:"f0304373b74a44d2b584a3fb70ca9e56",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",authUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code"},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash"},{id:"vision-model",name:"Qwen3 Vision Model"}]},iflow:{id:"iflow",alias:"if",format:"openai",executor:"iflow",baseUrl:"https://apis.iflow.cn/v1/chat/completions",authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"iFlow-Cli"},oauth:{clientIdEnv:"IFLOW_OAUTH_CLIENT_ID",clientIdDefault:"10009311001",clientSecretEnv:"IFLOW_OAUTH_CLIENT_SECRET",clientSecretDefault:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",tokenUrl:"https://iflow.cn/oauth/token",authUrl:"https://iflow.cn/oauth"},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"kimi-k2",name:"Kimi K2"},{id:"kimi-k2-thinking",name:"Kimi K2 Thinking"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"deepseek-v3.2-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-v3.2-reasoner",name:"DeepSeek V3.2 Reasoner"},{id:"minimax-m2.1",name:"MiniMax M2.1"},{id:"glm-4.7",name:"GLM 4.7"}]},antigravity:{id:"antigravity",alias:"ag",format:"antigravity",executor:"antigravity",baseUrls:["https://daily-cloudcode-pa.googleapis.com","https://cloudcode-pa.googleapis.com"],urlBuilder:(a,b,c)=>`${a}${c?"/v1internal:streamGenerateContent?alt=sse":"/v1internal:generateContent"}`,authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"antigravity/1.104.0 darwin/arm64"},oauth:{clientIdEnv:"ANTIGRAVITY_OAUTH_CLIENT_ID",clientIdDefault:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecretEnv:"ANTIGRAVITY_OAUTH_CLIENT_SECRET",clientSecretDefault:"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"},models:[{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"gemini-3.1-pro-high",name:"Gemini 3.1 Pro High"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro Low"},{id:"gemini-3.1-flash",name:"Gemini 3.1 Flash"},{id:"gemini-3-flash",name:"Gemini 3.0 Flash"},{id:"gpt-oss-120b-medium",name:"GPT OSS 120B Medium"}]},github:{id:"github",alias:"gh",format:"openai",executor:"github",baseUrl:"https://api.githubcopilot.com/chat/completions",responsesBaseUrl:"https://api.githubcopilot.com/responses",authType:"oauth",authHeader:"bearer",headers:{"copilot-integration-id":"vscode-chat","editor-version":"vscode/1.107.1","editor-plugin-version":"copilot-chat/0.26.7","user-agent":"GitHubCopilotChat/0.26.7","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:"application/json","Content-Type":"application/json"},models:[{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4",name:"GPT-4"},{id:"gpt-3.5-turbo",name:"GPT-3.5 Turbo"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-codex",name:"GPT-5 Codex",targetFormat:"openai-responses"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",targetFormat:"openai-responses"},{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini",targetFormat:"openai-responses"},{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",targetFormat:"openai-responses"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",targetFormat:"openai-responses"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-opus-4.1",name:"Claude Opus 4.1"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5 (Full ID)"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview"},{id:"grok-code-fast-1",name:"Grok Code Fast 1"},{id:"oswe-vscode-prime",name:"Raptor Mini"}]},kiro:{id:"kiro",alias:"kr",format:"kiro",executor:"kiro",baseUrl:"https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse",authType:"oauth",authHeader:"bearer",headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","X-Amz-Target":"AmazonCodeWhispererStreamingService.GenerateAssistantResponse","User-Agent":"AWS-SDK-JS/3.0.0 kiro-ide/1.0.0","X-Amz-User-Agent":"aws-sdk-js/3.0.0 kiro-ide/1.0.0"},oauth:{tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev"},models:[{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"}]},cursor:{id:"cursor",alias:"cu",format:"cursor",executor:"cursor",baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",authType:"oauth",authHeader:"bearer",headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"1.1.3",models:[{id:"default",name:"Auto (Server Picks)"},{id:"claude-4.5-opus-high-thinking",name:"Claude 4.5 Opus High Thinking"},{id:"claude-4.5-opus-high",name:"Claude 4.5 Opus High"},{id:"claude-4.5-sonnet-thinking",name:"Claude 4.5 Sonnet Thinking"},{id:"claude-4.5-sonnet",name:"Claude 4.5 Sonnet"},{id:"claude-4.5-haiku",name:"Claude 4.5 Haiku"},{id:"claude-4.5-opus",name:"Claude 4.5 Opus"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"}]},openai:{id:"openai",alias:"openai",format:"openai",executor:"default",baseUrl:"https://api.openai.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"o1",name:"O1"},{id:"o1-mini",name:"O1 Mini"}]},anthropic:{id:"anthropic",alias:"anthropic",format:"claude",executor:"default",baseUrl:"https://api.anthropic.com/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01"},models:[{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"claude-opus-4-20250514",name:"Claude Opus 4"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"}]},openrouter:{id:"openrouter",alias:"openrouter",format:"openai",executor:"default",baseUrl:"https://openrouter.ai/api/v1/chat/completions",authType:"apikey",authHeader:"bearer",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"},models:[{id:"auto",name:"Auto (Best Available)"}]},glm:{id:"glm",alias:"glm",format:"claude",executor:"default",baseUrl:"https://api.z.ai/api/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"},{id:"glm-4.6",name:"GLM 4.6"},{id:"glm-4.5v",name:"GLM 4.5V (Vision)"},{id:"glm-4.5",name:"GLM 4.5"},{id:"glm-4.5-air",name:"GLM 4.5 Air"},{id:"glm-4-32b",name:"GLM 4 32B"}]},kimi:{id:"kimi",alias:"kimi",format:"openai",executor:"default",baseUrl:"https://api.moonshot.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}]},"kimi-coding":{id:"kimi-coding",alias:"kmc",format:"claude",executor:"default",baseUrl:"https://api.kimi.com/coding/v1/messages",urlSuffix:"?beta=true",authType:"oauth",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},oauth:{clientIdEnv:"KIMI_CODING_OAUTH_CLIENT_ID",clientIdDefault:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token",authUrl:"https://auth.kimi.com/api/oauth/device_authorization"},models:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}]},kilocode:{id:"kilocode",alias:"kc",format:"openrouter",executor:"openrouter",baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",modelsUrl:"https://api.kilo.ai/api/openrouter/models",authType:"oauth",authHeader:"Authorization",authPrefix:"Bearer ",oauth:{initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"},models:[{id:"openrouter/free",name:"Free Models Router"},{id:"qwen/qwen3-vl-235b-a22b-thinking",name:"Qwen3 VL 235B A22B Thinking"},{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507"},{id:"qwen/qwen3-vl-30b-a3b-thinking",name:"Qwen3 VL 30B A3B Thinking"},{id:"stepfun/step-3.5-flash:free",name:"StepFun Step 3.5 Flash"},{id:"arcee-ai/trinity-large-preview:free",name:"Arcee AI Trinity Large Preview"},{id:"openai/gpt-4o-mini",name:"GPT-4o Mini"},{id:"openai/gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"openai/gpt-5-nano",name:"GPT-5 Nano"},{id:"openai/gpt-5-mini",name:"GPT-5 Mini"},{id:"anthropic/claude-3-haiku",name:"Claude 3 Haiku"},{id:"google/gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek V3.1"},{id:"deepseek/deepseek-v3.2",name:"DeepSeek V3.2"},{id:"meta-llama/llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-scout",name:"Llama 4 Scout"},{id:"meta-llama/llama-4-maverick",name:"Llama 4 Maverick"},{id:"qwen/qwen3-8b",name:"Qwen3 8B"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"qwen/qwen3-coder",name:"Qwen3 Coder 480B"},{id:"qwen/qwq-32b",name:"QwQ 32B"},{id:"mistralai/mistral-small-24b-instruct-2501",name:"Mistral Small 3"},{id:"mistralai/mistral-7b-instruct",name:"Mistral 7B"},{id:"x-ai/grok-code-fast-1",name:"Grok Code Fast 1"},{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"}],passthroughModels:!0},cline:{id:"cline",alias:"cl",format:"openai",executor:"openai",baseUrl:"https://api.cline.bot/api/v1/chat/completions",authType:"oauth",authHeader:"Authorization",authPrefix:"Bearer ",oauth:{tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh",authUrl:"https://api.cline.bot/api/v1/auth/authorize"},extraHeaders:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},models:[{id:"anthropic/claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"anthropic/claude-opus-4-20250514",name:"Claude Opus 4"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"openai/gpt-4.1",name:"GPT-4.1"},{id:"openai/o3",name:"o3"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat"}],passthroughModels:!0},minimax:{id:"minimax",alias:"minimax",format:"claude",executor:"default",baseUrl:"https://api.minimax.io/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"MiniMax-M2.1",name:"MiniMax M2.1"}]},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",format:"claude",executor:"default",baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"MiniMax-M2.1",name:"MiniMax M2.1"}]},deepseek:{id:"deepseek",alias:"ds",format:"openai",executor:"default",baseUrl:"https://api.deepseek.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"deepseek-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-reasoner",name:"DeepSeek V3.2 Reasoner"}]},groq:{id:"groq",alias:"groq",format:"openai",executor:"default",baseUrl:"https://api.groq.com/openai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B"}]},blackbox:{id:"blackbox",alias:"bb",format:"openai",executor:"default",baseUrl:"https://api.blackbox.ai/v1/chat/completions",modelsUrl:"https://api.blackbox.ai/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-4o",name:"GPT-4o"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"deepseek-v3",name:"DeepSeek V3"},{id:"blackboxai",name:"Blackbox AI"},{id:"blackboxai-pro",name:"Blackbox AI Pro"}]},xai:{id:"xai",alias:"xai",format:"openai",executor:"default",baseUrl:"https://api.x.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"grok-4",name:"Grok 4"},{id:"grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning"},{id:"grok-code-fast-1",name:"Grok Code Fast"},{id:"grok-3",name:"Grok 3"}]},mistral:{id:"mistral",alias:"mistral",format:"openai",executor:"default",baseUrl:"https://api.mistral.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"mistral-large-latest",name:"Mistral Large 3"},{id:"codestral-latest",name:"Codestral"},{id:"mistral-medium-latest",name:"Mistral Medium 3"}]},perplexity:{id:"perplexity",alias:"pplx",format:"openai",executor:"default",baseUrl:"https://api.perplexity.ai/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"sonar-pro",name:"Sonar Pro"},{id:"sonar",name:"Sonar"}]},together:{id:"together",alias:"together",format:"openai",executor:"default",baseUrl:"https://api.together.xyz/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Turbo"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"}]},fireworks:{id:"fireworks",alias:"fireworks",format:"openai",executor:"default",baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1"},{id:"accounts/fireworks/models/llama-v3p3-70b-instruct",name:"Llama 3.3 70B"},{id:"accounts/fireworks/models/qwen3-235b-a22b",name:"Qwen3 235B"}]},cerebras:{id:"cerebras",alias:"cerebras",format:"openai",executor:"default",baseUrl:"https://api.cerebras.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-oss-120b",name:"GPT OSS 120B"},{id:"zai-glm-4.7",name:"ZAI GLM 4.7"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout"},{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B"},{id:"qwen-3-32b",name:"Qwen3 32B"}]},cohere:{id:"cohere",alias:"cohere",format:"openai",executor:"default",baseUrl:"https://api.cohere.com/v2/chat",authType:"apikey",authHeader:"bearer",models:[{id:"command-r-plus-08-2024",name:"Command R+ (Aug 2024)"},{id:"command-r-08-2024",name:"Command R (Aug 2024)"},{id:"command-a-03-2025",name:"Command A (Mar 2025)"}]},nvidia:{id:"nvidia",alias:"nvidia",format:"openai",executor:"default",baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"z-ai/glm4.7",name:"GLM 4.7"},{id:"deepseek-ai/deepseek-v3.2",name:"DeepSeek V3.2"},{id:"nvidia/llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"meta/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"deepseek/deepseek-r1",name:"DeepSeek R1"}]},nebius:{id:"nebius",alias:"nebius",format:"openai",executor:"default",baseUrl:"https://api.tokenfactory.nebius.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct"}]},siliconflow:{id:"siliconflow",alias:"siliconflow",format:"openai",executor:"default",baseUrl:"https://api.siliconflow.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B"},{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3 Coder 480B"},{id:"Qwen/Qwen3-32B",name:"Qwen3 32B"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"zai-org/GLM-4.7",name:"GLM 4.7"},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B"},{id:"baidu/ERNIE-4.5-300B-A47B",name:"ERNIE 4.5 300B"}]},hyperbolic:{id:"hyperbolic",alias:"hyp",format:"openai",executor:"default",baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"Qwen/QwQ-32B",name:"QwQ 32B"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3"},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"meta-llama/Llama-3.2-3B-Instruct",name:"Llama 3.2 3B"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B"},{id:"NousResearch/Hermes-3-Llama-3.1-70B",name:"Hermes 3 70B"}]}},e=new Map;for(let a of Object.values(d))a.alias&&a.alias!==a.id&&e.set(a.alias,a);let f=function(){let a={};for(let b of Object.values(d))if(b.models&&b.models.length>0){let c=b.alias||b.id;a[c]||(a[c]=b.models)}return a}(),g=function(){let a={};for(let b of Object.values(d))a[b.id]=b.alias||b.id;return a}();function h(a){return f[g[a]||a]||[]}},97507:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(48249);function e({error:a,reset:b}){return(0,d.jsxs)("div",{className:"flex flex-col items-center justify-center min-h-[60vh] p-6 text-center",role:"alert","aria-live":"assertive",children:[(0,d.jsx)("div",{className:"text-[64px] mb-4","aria-hidden":"true",children:"\uD83D\uDD27"}),(0,d.jsx)("h1",{className:"text-[28px] font-bold mb-2 text-[var(--color-text-main)]",children:"Internal Server Error"}),(0,d.jsx)("p",{className:"text-[15px] text-[var(--color-text-muted)] max-w-[400px] leading-relaxed mb-2",children:"Something went wrong while processing your request. Our team has been notified and is working on a fix."}),a?.digest&&(0,d.jsxs)("p",{className:"text-xs text-[var(--color-text-muted)] mb-6 font-mono",children:["Error ID: ",a.digest]}),!1,(0,d.jsxs)("div",{className:"flex gap-3",children:[(0,d.jsx)("button",{onClick:b,"aria-label":"Retry loading the page",className:"px-6 py-2.5 rounded-lg text-white text-sm font-semibold cursor-pointer transition-all duration-200 bg-[var(--color-accent)] hover:bg-[var(--color-accent-hover)] focus:outline-2 focus:outline-offset-2 focus:outline-[var(--color-accent)]",children:"Try Again"}),(0,d.jsx)("a",{href:"/dashboard",className:"px-6 py-2.5 rounded-lg text-[var(--color-text-main)] text-sm font-semibold cursor-pointer transition-all duration-200 border border-[var(--color-border)] hover:bg-[var(--color-bg-alt)] no-underline focus:outline-2 focus:outline-offset-2 focus:outline-[var(--color-accent)]","aria-label":"Return to dashboard",children:"Go to Dashboard"})]})]})}}};
@@ -1,4 +1,4 @@
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");if(r||g().join(t,"db_backups"),!r&&!i().existsSync(t))try{i().mkdirSync(t,{recursive:!0})}catch(b){let a=b instanceof Error?b.message:String(b);console.warn(`[DB] Cannot create data directory '${t}': ${a}
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/diegosouzapw/dev/proxys/9router/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");if(r||g().join(t,"db_backups"),!r&&!i().existsSync(t))try{i().mkdirSync(t,{recursive:!0})}catch(b){let a=b instanceof Error?b.message:String(b);console.warn(`[DB] Cannot create data directory '${t}': ${a}
2
2
  [DB] Set the DATA_DIR environment variable to a writable path, e.g.:
3
3
  [DB] DATA_DIR=/path/to/writable/dir omniroute`)}let w=`
4
4
  CREATE TABLE IF NOT EXISTS provider_connections (
@@ -5,4 +5,4 @@
5
5
  @level, @levelId, @provider, @targetUrl, @publicIp, @latencyMs, @error,
6
6
  @connectionId, @comboId, @account, @tlsFingerprint)`).run({id:b.id,timestamp:b.timestamp,status:b.status,proxyType:b.proxy?.type||null,proxyHost:b.proxy?.host||null,proxyPort:b.proxy?.port?Number(b.proxy.port):null,level:b.level,levelId:b.levelId,provider:b.provider,targetUrl:b.targetUrl,publicIp:b.publicIp,latencyMs:b.latencyMs,error:b.error,connectionId:b.connectionId,comboId:b.comboId,account:b.account,tlsFingerprint:+!!b.tlsFingerprint});let c=a.prepare("SELECT COUNT(*) as cnt FROM proxy_logs").get()?.cnt||0;c>g&&a.prepare(`DELETE FROM proxy_logs WHERE id IN (
7
7
  SELECT id FROM proxy_logs ORDER BY timestamp ASC LIMIT ?
8
- )`).run(c-g)}catch(a){console.warn("[proxyLogger] Failed to persist:",a.message)}return b}function j(a={}){let b=[...h];if(a.status&&(b="ok"===a.status?b.filter(a=>"success"===a.status):b.filter(b=>b.status===a.status)),a.type&&(b=b.filter(b=>b.proxy?.type===a.type)),a.provider&&(b=b.filter(b=>b.provider===a.provider)),a.level&&(b=b.filter(b=>b.level===a.level)),a.search){let c=a.search.toLowerCase();b=b.filter(a=>(a.proxy?.host||"").toLowerCase().includes(c)||(a.provider||"").toLowerCase().includes(c)||(a.targetUrl||"").toLowerCase().includes(c)||(a.publicIp||"").toLowerCase().includes(c)||(a.level||"").toLowerCase().includes(c)||(a.error||"").toLowerCase().includes(c)||(a.account||"").toLowerCase().includes(c))}let c=a.limit||300;return b.slice(0,c)}function k(){if(h.length=0,f)try{(0,e.sm)().prepare("DELETE FROM proxy_logs").run()}catch(a){console.warn("[proxyLogger] Failed to clear DB:",a.message)}}},44963:(a,b,c)=>{c.d(b,{AF:()=>h,of:()=>e,u9:()=>g});var d=c(22901);let e=process.env.CLOUD_URL||process.env.NEXT_PUBLIC_CLOUD_URL,f=Number(process.env.CLOUD_SYNC_TIMEOUT_MS||12e3);async function g(a,b={},c=f){let d=new AbortController,e=setTimeout(()=>d.abort(),c);try{return await fetch(a,{...b,signal:d.signal})}finally{clearTimeout(e)}}async function h(a,b=null){let c;if(!e)return{error:"NEXT_PUBLIC_CLOUD_URL is not configured"};let f=await (0,d.getProviderConnections)(),j=await (0,d.OM)(),k=await (0,d.Uv)(),l=await (0,d.PX)();try{c=await g(`${e}/sync/${a}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({providers:f,modelAliases:j,combos:k,apiKeys:l})})}catch(a){return{error:a?.name==="AbortError"?"Cloud sync timeout":"Cloud sync request failed"}}if(!c.ok){let a=await c.text(),b=a.length>200?a.slice(0,200)+"…":a;return console.log(`Cloud sync failed (${c.status}):`,b),{error:"Cloud sync failed"}}let m=await c.json();m.data&&m.data.providers&&await i(m.data.providers);let n={success:!0,message:"Synced successfully",changes:m.changes};return b&&(n.createdKey=b),n}async function i(a){for(let b of(await (0,d.getProviderConnections)())){let c=a[b.id];if(c){if(new Date(c.updatedAt||0).getTime()>new Date(b.updatedAt||0).getTime()){let a={accessToken:c.accessToken,refreshToken:c.refreshToken,expiresAt:c.expiresAt,expiresIn:c.expiresIn,providerSpecificData:c.providerSpecificData||b.providerSpecificData,testStatus:c.status||"active",lastError:c.lastError,lastErrorAt:c.lastErrorAt,errorCode:c.errorCode,rateLimitedUntil:c.rateLimitedUntil,updatedAt:c.updatedAt};await (0,d.rj)(b.id,a)}}}}},76340:(a,b,c)=>{let d;c.d(b,{Wk:()=>s,jf:()=>p,qT:()=>r});var e=c(16698),f=c(79522);try{({createSession:d}=c(22546))}catch{d=null}class g{constructor(){this.session=null,this.available=!!d}async getSession(){if(!this.available)return null;if(this.session)return this.session;let a=process.env.HTTPS_PROXY||process.env.https_proxy||process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy||void 0,b={browser:"chrome_124",os:"macos"};return a&&(b.proxy=a,console.log(`[TlsClient] Using proxy: ${a}`)),this.session=await d(b),console.log("[TlsClient] Session created (Chrome 124 TLS fingerprint)"),this.session}async fetch(a,b={}){let c=await this.getSession();if(!c)throw Error("wreq-js not available");let d={method:(b.method||"GET").toUpperCase(),headers:b.headers,body:b.body,redirect:"manual"===b.redirect?"manual":"follow"};return b.signal&&(d.signal=b.signal),await c.fetch(a,d)}async exit(){this.session&&(await this.session.close(),this.session=null)}}let h=new g;function i(){return"true"===process.env.ENABLE_TLS_FINGERPRINT}let j=new e.AsyncLocalStorage,k="u">typeof caches&&"object"==typeof caches,l=Symbol.for("omniroute.proxyFetch.state"),m=(globalThis[l]||(globalThis[l]={originalFetch:globalThis.fetch,proxyContext:new e.AsyncLocalStorage,isPatched:!1}),globalThis[l]),n=m.originalFetch,o=m.proxyContext;async function p(a,b){if("function"!=typeof b)throw TypeError("runWithProxyContext requires a callback function");let c=a?(0,f.HN)(a):null;return o.run(a||null,async()=>(c&&console.log(`[ProxyFetch] Applied request proxy context: ${(0,f.OK)(c)}`),b()))}async function q(a,b={}){let c;if(b?.dispatcher)return n(a,b);let d="string"==typeof a?a:a&&"string"==typeof a.url?a.url:String(a);try{c=function(a){let b=o.getStore();if(b)return{source:"context",proxyUrl:(0,f.HN)(b)};let c=function(a){let b;if(function(a){let b,c=process.env.NO_PROXY||process.env.no_proxy;if(!c)return!1;try{b=new URL(a)}catch{return!1}let d=b.hostname.toLowerCase(),e=b.port||("https:"===b.protocol?"443":"80");return c.split(",").map(a=>a.trim().toLowerCase()).filter(Boolean).some(a=>{if("*"===a)return!0;let[b,c]=a.split(":");return(!c||c===e)&&!!b&&(b.startsWith(".")?d.endsWith(b)||d===b.slice(1):d===b||d.endsWith(`.${b}`))})}(a))return null;try{b=new URL(a).protocol}catch{return null}let c="https:"===b?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy;return c?(0,f.zP)(c,"environment proxy"):null}(a);return c?{source:"env",proxyUrl:c}:{source:"direct",proxyUrl:null}}(d)}catch(b){let a=b instanceof Error?b.message:String(b);throw console.error(`[ProxyFetch] Proxy configuration error: ${a}`),b}let{source:e,proxyUrl:g}=c;if(!g){if(i()&&h.available)try{let a=j.getStore();return a&&(a.used=!0),await h.fetch(d,b)}catch(c){let a=c instanceof Error?c.message:String(c);console.warn(`[ProxyFetch] TLS fingerprint failed, falling back to native fetch: ${a}`);let b=j.getStore();b&&(b.used=!1)}return n(a,b)}try{let c=(0,f.I_)(g);return await n(a,{...b,dispatcher:c})}catch(b){let a=b instanceof Error?b.message:String(b);throw console.error(`[ProxyFetch] Proxy request failed (${e}, fail-closed): ${a}`),b}}async function r(a){let b={used:!1};return{result:await j.run(b,a),tlsFingerprintUsed:b.used}}function s(){return i()&&h.available}k||m.isPatched||(globalThis.fetch=q,m.isPatched=!0)},79522:(a,b,c)=>{c.d(b,{HN:()=>p,I_:()=>q,L8:()=>i,OK:()=>n,QX:()=>m,zP:()=>o});var d=c(47774),e=c(20406);let f=Symbol.for("omniroute.proxyDispatcher.cache"),g=new Set(["http:","https:","socks5:"]);function h(){return globalThis[f]||(globalThis[f]=new Map),globalThis[f]}function i(){h().clear()}function j(a){try{let b=a.match(/:\/\/(?:[^@]*@)?[^:/\s]+:(\d+)/);if(b){let a=Number(b[1]);if(Number.isInteger(a)&&a>=1&&a<=65535)return String(a)}}catch{}return null}function k(a){return"https:"===a||"wss:"===a?"443":"socks5:"===a?"1080":"8080"}function l(a,b){if(!a)return k(b);let c=Number(a);if(!Number.isInteger(c)||c<1||c>65535)throw Error("[ProxyDispatcher] Invalid proxy port");return String(c)}function m(){return"true"===process.env.ENABLE_SOCKS5_PROXY}function n(a){let b=j(a),c=new URL(a),d=b||c.port||k(c.protocol);return`${c.protocol}//${c.hostname}:${d}`}function o(a,b="proxy",{allowSocks5:c=m()}={}){var d;let e,f,h=j(a);try{e=new URL(a)}catch{throw Error(`[ProxyDispatcher] Invalid ${b} URL`)}if(!g.has(e.protocol))throw Error(`[ProxyDispatcher] Unsupported ${b} protocol: ${e.protocol.replace(":","")}`);if("socks5:"===e.protocol&&!c)throw Error("[ProxyDispatcher] SOCKS5 proxy is disabled (set ENABLE_SOCKS5_PROXY=true to enable)");if(!e.hostname)throw Error(`[ProxyDispatcher] Invalid ${b} host`);let i=h||l(e.port,e.protocol);return f=(d=e).username?`${d.username}${d.password?`:${d.password}`:""}@`:"",`${d.protocol}//${f}${d.hostname}:${i}`}function p(a,{allowSocks5:b=m()}={}){if(!a)return null;if("string"==typeof a)return o(a,"context proxy",{allowSocks5:b});if("object"!=typeof a||Array.isArray(a))throw Error("[ProxyDispatcher] Invalid context proxy config");let c=String(a.type||"http").toLowerCase(),d=`${c}:`;if(!g.has(d))throw Error(`[ProxyDispatcher] Unsupported context proxy protocol: ${c}`);if("socks5:"===d&&!b)throw Error("[ProxyDispatcher] SOCKS5 proxy is disabled (set ENABLE_SOCKS5_PROXY=true to enable)");if(!a.host)throw Error("[ProxyDispatcher] Context proxy host is required");let e=l(a.port,d),f=a.username?`${encodeURIComponent(a.username)}:${a.password?encodeURIComponent(a.password):""}@`:"";return o(`${c}://${f}${a.host}:${e}`,"context proxy",{allowSocks5:b})}function q(a){let b=o(a,"proxy dispatcher"),c=h(),f=c.get(b);if(f)return f;let g=new URL(b),i=j(b)||l(g.port,g.protocol);if("socks5:"===g.protocol){let a={type:5,host:g.hostname,port:Number(i)};g.username&&(a.userId=decodeURIComponent(g.username)),g.password&&(a.password=decodeURIComponent(g.password)),f=(0,e.vI)(a)}else f=new d.ProxyAgent(b);return c.set(b,f),f}},90357:(a,b,c)=>{c.d(b,{Xj:()=>e});var d=c(19713);async function e(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt";try{let a=(0,d.machineIdSync)();return(await Promise.resolve().then(c.t.bind(c,55511,23))).createHash("sha256").update(a+b).digest("hex").substring(0,16)}catch(a){return console.log("Error getting machine ID:",a),crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){let b=16*Math.random()|0;return("x"==a?b:3&b|8).toString(16)})}}}};
8
+ )`).run(c-g)}catch(a){console.warn("[proxyLogger] Failed to persist:",a.message)}return b}function j(a={}){let b=[...h];if(a.status&&(b="ok"===a.status?b.filter(a=>"success"===a.status):b.filter(b=>b.status===a.status)),a.type&&(b=b.filter(b=>b.proxy?.type===a.type)),a.provider&&(b=b.filter(b=>b.provider===a.provider)),a.level&&(b=b.filter(b=>b.level===a.level)),a.search){let c=a.search.toLowerCase();b=b.filter(a=>(a.proxy?.host||"").toLowerCase().includes(c)||(a.provider||"").toLowerCase().includes(c)||(a.targetUrl||"").toLowerCase().includes(c)||(a.publicIp||"").toLowerCase().includes(c)||(a.level||"").toLowerCase().includes(c)||(a.error||"").toLowerCase().includes(c)||(a.account||"").toLowerCase().includes(c))}let c=a.limit||300;return b.slice(0,c)}function k(){if(h.length=0,f)try{(0,e.sm)().prepare("DELETE FROM proxy_logs").run()}catch(a){console.warn("[proxyLogger] Failed to clear DB:",a.message)}}},44963:(a,b,c)=>{c.d(b,{AF:()=>h,of:()=>e,u9:()=>g});var d=c(22901);let e=process.env.CLOUD_URL||"https://cloud.omniroute.online",f=Number(process.env.CLOUD_SYNC_TIMEOUT_MS||12e3);async function g(a,b={},c=f){let d=new AbortController,e=setTimeout(()=>d.abort(),c);try{return await fetch(a,{...b,signal:d.signal})}finally{clearTimeout(e)}}async function h(a,b=null){let c;if(!e)return{error:"NEXT_PUBLIC_CLOUD_URL is not configured"};let f=await (0,d.getProviderConnections)(),j=await (0,d.OM)(),k=await (0,d.Uv)(),l=await (0,d.PX)();try{c=await g(`${e}/sync/${a}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({providers:f,modelAliases:j,combos:k,apiKeys:l})})}catch(a){return{error:a?.name==="AbortError"?"Cloud sync timeout":"Cloud sync request failed"}}if(!c.ok){let a=await c.text(),b=a.length>200?a.slice(0,200)+"…":a;return console.log(`Cloud sync failed (${c.status}):`,b),{error:"Cloud sync failed"}}let m=await c.json();m.data&&m.data.providers&&await i(m.data.providers);let n={success:!0,message:"Synced successfully",changes:m.changes};return b&&(n.createdKey=b),n}async function i(a){for(let b of(await (0,d.getProviderConnections)())){let c=a[b.id];if(c){if(new Date(c.updatedAt||0).getTime()>new Date(b.updatedAt||0).getTime()){let a={accessToken:c.accessToken,refreshToken:c.refreshToken,expiresAt:c.expiresAt,expiresIn:c.expiresIn,providerSpecificData:c.providerSpecificData||b.providerSpecificData,testStatus:c.status||"active",lastError:c.lastError,lastErrorAt:c.lastErrorAt,errorCode:c.errorCode,rateLimitedUntil:c.rateLimitedUntil,updatedAt:c.updatedAt};await (0,d.rj)(b.id,a)}}}}},76340:(a,b,c)=>{let d;c.d(b,{Wk:()=>s,jf:()=>p,qT:()=>r});var e=c(16698),f=c(79522);try{({createSession:d}=c(22546))}catch{d=null}class g{constructor(){this.session=null,this.available=!!d}async getSession(){if(!this.available)return null;if(this.session)return this.session;let a=process.env.HTTPS_PROXY||process.env.https_proxy||process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy||void 0,b={browser:"chrome_124",os:"macos"};return a&&(b.proxy=a,console.log(`[TlsClient] Using proxy: ${a}`)),this.session=await d(b),console.log("[TlsClient] Session created (Chrome 124 TLS fingerprint)"),this.session}async fetch(a,b={}){let c=await this.getSession();if(!c)throw Error("wreq-js not available");let d={method:(b.method||"GET").toUpperCase(),headers:b.headers,body:b.body,redirect:"manual"===b.redirect?"manual":"follow"};return b.signal&&(d.signal=b.signal),await c.fetch(a,d)}async exit(){this.session&&(await this.session.close(),this.session=null)}}let h=new g;function i(){return"true"===process.env.ENABLE_TLS_FINGERPRINT}let j=new e.AsyncLocalStorage,k="u">typeof caches&&"object"==typeof caches,l=Symbol.for("omniroute.proxyFetch.state"),m=(globalThis[l]||(globalThis[l]={originalFetch:globalThis.fetch,proxyContext:new e.AsyncLocalStorage,isPatched:!1}),globalThis[l]),n=m.originalFetch,o=m.proxyContext;async function p(a,b){if("function"!=typeof b)throw TypeError("runWithProxyContext requires a callback function");let c=a?(0,f.HN)(a):null;return o.run(a||null,async()=>(c&&console.log(`[ProxyFetch] Applied request proxy context: ${(0,f.OK)(c)}`),b()))}async function q(a,b={}){let c;if(b?.dispatcher)return n(a,b);let d="string"==typeof a?a:a&&"string"==typeof a.url?a.url:String(a);try{c=function(a){let b=o.getStore();if(b)return{source:"context",proxyUrl:(0,f.HN)(b)};let c=function(a){let b;if(function(a){let b,c=process.env.NO_PROXY||process.env.no_proxy;if(!c)return!1;try{b=new URL(a)}catch{return!1}let d=b.hostname.toLowerCase(),e=b.port||("https:"===b.protocol?"443":"80");return c.split(",").map(a=>a.trim().toLowerCase()).filter(Boolean).some(a=>{if("*"===a)return!0;let[b,c]=a.split(":");return(!c||c===e)&&!!b&&(b.startsWith(".")?d.endsWith(b)||d===b.slice(1):d===b||d.endsWith(`.${b}`))})}(a))return null;try{b=new URL(a).protocol}catch{return null}let c="https:"===b?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy;return c?(0,f.zP)(c,"environment proxy"):null}(a);return c?{source:"env",proxyUrl:c}:{source:"direct",proxyUrl:null}}(d)}catch(b){let a=b instanceof Error?b.message:String(b);throw console.error(`[ProxyFetch] Proxy configuration error: ${a}`),b}let{source:e,proxyUrl:g}=c;if(!g){if(i()&&h.available)try{let a=j.getStore();return a&&(a.used=!0),await h.fetch(d,b)}catch(c){let a=c instanceof Error?c.message:String(c);console.warn(`[ProxyFetch] TLS fingerprint failed, falling back to native fetch: ${a}`);let b=j.getStore();b&&(b.used=!1)}return n(a,b)}try{let c=(0,f.I_)(g);return await n(a,{...b,dispatcher:c})}catch(b){let a=b instanceof Error?b.message:String(b);throw console.error(`[ProxyFetch] Proxy request failed (${e}, fail-closed): ${a}`),b}}async function r(a){let b={used:!1};return{result:await j.run(b,a),tlsFingerprintUsed:b.used}}function s(){return i()&&h.available}k||m.isPatched||(globalThis.fetch=q,m.isPatched=!0)},79522:(a,b,c)=>{c.d(b,{HN:()=>p,I_:()=>q,L8:()=>i,OK:()=>n,QX:()=>m,zP:()=>o});var d=c(47774),e=c(20406);let f=Symbol.for("omniroute.proxyDispatcher.cache"),g=new Set(["http:","https:","socks5:"]);function h(){return globalThis[f]||(globalThis[f]=new Map),globalThis[f]}function i(){h().clear()}function j(a){try{let b=a.match(/:\/\/(?:[^@]*@)?[^:/\s]+:(\d+)/);if(b){let a=Number(b[1]);if(Number.isInteger(a)&&a>=1&&a<=65535)return String(a)}}catch{}return null}function k(a){return"https:"===a||"wss:"===a?"443":"socks5:"===a?"1080":"8080"}function l(a,b){if(!a)return k(b);let c=Number(a);if(!Number.isInteger(c)||c<1||c>65535)throw Error("[ProxyDispatcher] Invalid proxy port");return String(c)}function m(){return"true"===process.env.ENABLE_SOCKS5_PROXY}function n(a){let b=j(a),c=new URL(a),d=b||c.port||k(c.protocol);return`${c.protocol}//${c.hostname}:${d}`}function o(a,b="proxy",{allowSocks5:c=m()}={}){var d;let e,f,h=j(a);try{e=new URL(a)}catch{throw Error(`[ProxyDispatcher] Invalid ${b} URL`)}if(!g.has(e.protocol))throw Error(`[ProxyDispatcher] Unsupported ${b} protocol: ${e.protocol.replace(":","")}`);if("socks5:"===e.protocol&&!c)throw Error("[ProxyDispatcher] SOCKS5 proxy is disabled (set ENABLE_SOCKS5_PROXY=true to enable)");if(!e.hostname)throw Error(`[ProxyDispatcher] Invalid ${b} host`);let i=h||l(e.port,e.protocol);return f=(d=e).username?`${d.username}${d.password?`:${d.password}`:""}@`:"",`${d.protocol}//${f}${d.hostname}:${i}`}function p(a,{allowSocks5:b=m()}={}){if(!a)return null;if("string"==typeof a)return o(a,"context proxy",{allowSocks5:b});if("object"!=typeof a||Array.isArray(a))throw Error("[ProxyDispatcher] Invalid context proxy config");let c=String(a.type||"http").toLowerCase(),d=`${c}:`;if(!g.has(d))throw Error(`[ProxyDispatcher] Unsupported context proxy protocol: ${c}`);if("socks5:"===d&&!b)throw Error("[ProxyDispatcher] SOCKS5 proxy is disabled (set ENABLE_SOCKS5_PROXY=true to enable)");if(!a.host)throw Error("[ProxyDispatcher] Context proxy host is required");let e=l(a.port,d),f=a.username?`${encodeURIComponent(a.username)}:${a.password?encodeURIComponent(a.password):""}@`:"";return o(`${c}://${f}${a.host}:${e}`,"context proxy",{allowSocks5:b})}function q(a){let b=o(a,"proxy dispatcher"),c=h(),f=c.get(b);if(f)return f;let g=new URL(b),i=j(b)||l(g.port,g.protocol);if("socks5:"===g.protocol){let a={type:5,host:g.hostname,port:Number(i)};g.username&&(a.userId=decodeURIComponent(g.username)),g.password&&(a.password=decodeURIComponent(g.password)),f=(0,e.vI)(a)}else f=new d.ProxyAgent(b);return c.set(b,f),f}},90357:(a,b,c)=>{c.d(b,{Xj:()=>e});var d=c(19713);async function e(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt";try{let a=(0,d.machineIdSync)();return(await Promise.resolve().then(c.t.bind(c,55511,23))).createHash("sha256").update(a+b).digest("hex").substring(0,16)}catch(a){return console.log("Error getting machine ID:",a),crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){let b=16*Math.random()|0;return("x"==a?b:3&b|8).toString(16)})}}}};