omniroute 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +38 -26
- package/app/.next/BUILD_ID +1 -1
- package/app/.next/app-path-routes-manifest.json +37 -25
- package/app/.next/build-manifest.json +3 -3
- package/app/.next/prerender-manifest.json +3 -3
- package/app/.next/routes-manifest.json +74 -0
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/onboarding/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/onboarding/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/settings/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error/page.js +3 -3
- package/app/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error.html +2 -2
- package/app/.next/server/app/_global-error.rsc +10 -9
- package/app/.next/server/app/_global-error.segments/_full.segment.rsc +10 -9
- package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_index.segment.rsc +2 -1
- package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/_not-found/page.js +2 -2
- package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_not-found.html +1 -1
- package/app/.next/server/app/_not-found.rsc +16 -12
- package/app/.next/server/app/_not-found.segments/_full.segment.rsc +16 -12
- package/app/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/_not-found.segments/_index.segment.rsc +4 -3
- package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +8 -4
- package/app/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cache/stats/route.js +1 -0
- package/app/.next/server/app/api/cache/stats/route.js.nft.json +1 -0
- package/app/.next/server/app/api/cache/stats/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/backups/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/backups/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/cline-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/codex-profiles/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/codex-profiles/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/codex-settings/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/droid-settings/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/[id]/route.js +1 -1
- package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/metrics/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/route.js +1 -1
- package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/compliance/audit-log/route.js +156 -0
- package/app/.next/server/app/api/compliance/audit-log/route.js.nft.json +1 -0
- package/app/.next/server/app/api/compliance/audit-log/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/db-backups/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/evals/[suiteId]/route.js +1 -0
- package/app/.next/server/app/api/evals/[suiteId]/route.js.nft.json +1 -0
- package/app/.next/server/app/api/evals/[suiteId]/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/evals/route.js +1 -0
- package/app/.next/server/app/api/evals/route.js.nft.json +1 -0
- package/app/.next/server/app/api/evals/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/fallback/chains/route.js +1 -0
- package/app/.next/server/app/api/fallback/chains/route.js.nft.json +1 -0
- package/app/.next/server/app/api/fallback/chains/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/init/route.js +1 -1
- package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/keys/route.js +1 -1
- package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/availability/route.js +1 -0
- package/app/.next/server/app/api/models/availability/route.js.nft.json +1 -0
- package/app/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/models/catalog/route.js +156 -1
- package/app/.next/server/app/api/models/catalog/route.js.nft.json +1 -1
- package/app/.next/server/app/api/models/catalog/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/route.js +1 -1
- package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/policies/route.js +1 -0
- package/app/.next/server/app/api/policies/route.js.nft.json +1 -0
- package/app/.next/server/app/api/policies/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/pricing/defaults/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/pricing/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/test/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/route.js +1 -1
- package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/rate-limit/route.js +2 -2
- package/app/.next/server/app/api/rate-limit/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/rate-limits/route.js +1 -1
- package/app/.next/server/app/api/rate-limits/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/resilience/reset/route.js +1 -0
- package/app/.next/server/app/api/resilience/reset/route.js.nft.json +1 -0
- package/app/.next/server/app/api/resilience/reset/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/resilience/route.js +156 -0
- package/app/.next/server/app/api/resilience/route.js.nft.json +1 -0
- package/app/.next/server/app/api/resilience/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/combo-defaults/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/ip-filter/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/proxy/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/proxy/test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/system-prompt/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/thinking-budget/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/storage/health/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/sync/cloud/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/sync/initialize/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/telemetry/summary/route.js +1 -0
- package/app/.next/server/app/api/telemetry/summary/route.js.nft.json +1 -0
- package/app/.next/server/app/api/telemetry/summary/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/token-health/route.js +156 -0
- package/app/.next/server/app/api/token-health/route.js.nft.json +1 -0
- package/app/.next/server/app/api/token-health/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/translator/detect/route.js +1 -1
- package/app/.next/server/app/api/translator/detect/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/history/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/send/route.js +1 -156
- package/app/.next/server/app/api/translator/send/route.js.nft.json +1 -1
- package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/translate/route.js +2 -2
- package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/[connectionId]/route.js +1 -1
- package/app/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/analytics/route.js +1 -1
- package/app/.next/server/app/api/usage/analytics/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/analytics/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/budget/route.js +1 -0
- package/app/.next/server/app/api/usage/budget/route.js.nft.json +1 -0
- package/app/.next/server/app/api/usage/budget/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/usage/call-logs/[id]/route.js +1 -1
- package/app/.next/server/app/api/usage/call-logs/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/call-logs/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/call-logs/route.js +1 -1
- package/app/.next/server/app/api/usage/call-logs/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/call-logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/history/route.js +1 -1
- package/app/.next/server/app/api/usage/history/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/logs/route.js +1 -1
- package/app/.next/server/app/api/usage/logs/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/proxy-logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/request-logs/route.js +1 -1
- package/app/.next/server/app/api/usage/request-logs/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/api/chat/route.js +1 -1
- package/app/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/audio/speech/route.js +1 -156
- package/app/.next/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/audio/transcriptions/route.js +1 -156
- package/app/.next/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/chat/completions/route.js +1 -1
- package/app/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/embeddings/route.js +1 -1
- package/app/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/images/generations/route.js +1 -1
- package/app/.next/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/messages/route.js +1 -1
- package/app/.next/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/models/route.js +1 -1
- package/app/.next/server/app/api/v1/models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/moderations/route.js +2 -2
- package/app/.next/server/app/api/v1/moderations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/moderations/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route.js +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route.js +156 -1
- package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route.js +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/rerank/route.js +2 -2
- package/app/.next/server/app/api/v1/rerank/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/rerank/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/responses/route.js +1 -1
- package/app/.next/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/app/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/callback/page.js +2 -2
- package/app/.next/server/app/callback/page.js.nft.json +1 -1
- package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/callback.html +1 -1
- package/app/.next/server/app/callback.rsc +17 -16
- package/app/.next/server/app/callback.segments/_full.segment.rsc +17 -16
- package/app/.next/server/app/callback.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/callback.segments/_index.segment.rsc +4 -3
- package/app/.next/server/app/callback.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/callback.segments/callback.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next/server/app/dashboard/cli-tools.rsc +16 -15
- package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +16 -15
- package/app/.next/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -3
- package/app/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/combos.html +1 -1
- package/app/.next/server/app/dashboard/combos.rsc +18 -17
- package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/combos.segments/_full.segment.rsc +18 -17
- package/app/.next/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/combos.segments/_index.segment.rsc +4 -3
- package/app/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/endpoint.html +1 -1
- package/app/.next/server/app/dashboard/endpoint.rsc +16 -15
- package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +16 -15
- package/app/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -3
- package/app/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/onboarding.html +1 -1
- package/app/.next/server/app/dashboard/onboarding.rsc +18 -17
- package/app/.next/server/app/dashboard/onboarding.segments/!KGRhc2hib2FyZCk/dashboard/onboarding/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/onboarding.segments/!KGRhc2hib2FyZCk/dashboard/onboarding.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/onboarding.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/onboarding.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/onboarding.segments/_full.segment.rsc +18 -17
- package/app/.next/server/app/dashboard/onboarding.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/onboarding.segments/_index.segment.rsc +4 -3
- package/app/.next/server/app/dashboard/onboarding.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/profile.html +1 -1
- package/app/.next/server/app/dashboard/profile.rsc +15 -14
- package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/profile.segments/_full.segment.rsc +15 -14
- package/app/.next/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/profile.segments/_index.segment.rsc +4 -3
- package/app/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers/new.html +1 -1
- package/app/.next/server/app/dashboard/providers/new.rsc +18 -17
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +18 -17
- package/app/.next/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -3
- package/app/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers.html +1 -1
- package/app/.next/server/app/dashboard/providers.rsc +18 -17
- package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers.segments/_full.segment.rsc +18 -17
- package/app/.next/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers.segments/_index.segment.rsc +4 -3
- package/app/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.rsc +18 -17
- package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +18 -17
- package/app/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -3
- package/app/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/settings.html +1 -1
- package/app/.next/server/app/dashboard/settings.rsc +18 -17
- package/app/.next/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk/dashboard/settings/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk/dashboard/settings.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/settings.segments/_full.segment.rsc +18 -17
- package/app/.next/server/app/dashboard/settings.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings.segments/_index.segment.rsc +4 -3
- package/app/.next/server/app/dashboard/settings.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/translator.html +2 -2
- package/app/.next/server/app/dashboard/translator.rsc +15 -14
- package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/translator.segments/_full.segment.rsc +15 -14
- package/app/.next/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/translator.segments/_index.segment.rsc +4 -3
- package/app/.next/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/usage.html +2 -1
- package/app/.next/server/app/dashboard/usage.rsc +18 -17
- package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/usage.segments/_full.segment.rsc +18 -17
- package/app/.next/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/usage.segments/_index.segment.rsc +4 -3
- package/app/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/docs/page.js +2 -2
- package/app/.next/server/app/docs/page.js.nft.json +1 -1
- package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/docs.html +1 -1
- package/app/.next/server/app/docs.rsc +21 -24
- package/app/.next/server/app/docs.segments/_full.segment.rsc +21 -24
- package/app/.next/server/app/docs.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/docs.segments/_index.segment.rsc +4 -3
- package/app/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/docs.segments/docs.segment.rsc +1 -1
- package/app/.next/server/app/index.html +1 -1
- package/app/.next/server/app/index.rsc +14 -13
- package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/index.segments/_full.segment.rsc +14 -13
- package/app/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/index.segments/_index.segment.rsc +4 -3
- package/app/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/landing/page.js +2 -2
- package/app/.next/server/app/landing/page.js.nft.json +1 -1
- package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/landing.html +1 -1
- package/app/.next/server/app/landing.rsc +17 -16
- package/app/.next/server/app/landing.segments/_full.segment.rsc +17 -16
- package/app/.next/server/app/landing.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/landing.segments/_index.segment.rsc +4 -3
- package/app/.next/server/app/landing.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/landing.segments/landing.segment.rsc +1 -1
- package/app/.next/server/app/login/page.js +2 -2
- package/app/.next/server/app/login/page.js.nft.json +1 -1
- package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/login.html +1 -1
- package/app/.next/server/app/login.rsc +17 -16
- package/app/.next/server/app/login.segments/_full.segment.rsc +17 -16
- package/app/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/login.segments/_index.segment.rsc +4 -3
- package/app/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/app/.next/server/app/page.js +2 -2
- package/app/.next/server/app/page.js.nft.json +1 -1
- package/app/.next/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/privacy/page.js +2 -2
- package/app/.next/server/app/privacy/page.js.nft.json +1 -1
- package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/privacy.html +1 -1
- package/app/.next/server/app/privacy.rsc +22 -23
- package/app/.next/server/app/privacy.segments/_full.segment.rsc +22 -23
- package/app/.next/server/app/privacy.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/privacy.segments/_index.segment.rsc +4 -3
- package/app/.next/server/app/privacy.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/privacy.segments/privacy/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/privacy.segments/privacy.segment.rsc +1 -1
- package/app/.next/server/app/terms/page.js +2 -2
- package/app/.next/server/app/terms/page.js.nft.json +1 -1
- package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/terms.html +1 -1
- package/app/.next/server/app/terms.rsc +7 -7
- package/app/.next/server/app/terms.segments/_full.segment.rsc +7 -7
- package/app/.next/server/app/terms.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/terms.segments/_index.segment.rsc +4 -3
- package/app/.next/server/app/terms.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/terms.segments/terms/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/terms.segments/terms.segment.rsc +1 -1
- package/app/.next/server/app-paths-manifest.json +37 -25
- package/app/.next/server/chunks/1228.js +1 -0
- package/app/.next/server/chunks/1362.js +1 -1
- package/app/.next/server/chunks/152.js +1 -0
- package/app/.next/server/chunks/{3919.js → 1969.js} +1 -1
- package/app/.next/server/chunks/2399.js +1 -1
- package/app/.next/server/chunks/3676.js +1 -0
- package/app/.next/server/chunks/4004.js +1 -0
- package/app/.next/server/chunks/{6937.js → 4412.js} +2 -2
- package/app/.next/server/chunks/4755.js +15 -1
- package/app/.next/server/chunks/{7132.js → 4832.js} +2 -2
- package/app/.next/server/chunks/5040.js +1 -0
- package/app/.next/server/chunks/5267.js +1 -0
- package/app/.next/server/chunks/5640.js +1 -1
- package/app/.next/server/chunks/7271.js +1 -0
- package/app/.next/server/chunks/7615.js +1 -1
- package/app/.next/server/chunks/7968.js +1 -1
- package/app/.next/server/chunks/8020.js +13 -0
- package/app/.next/server/chunks/8108.js +1 -1
- package/app/.next/server/chunks/8259.js +1 -1
- package/app/.next/server/chunks/8400.js +1 -1
- package/app/.next/server/chunks/9328.js +156 -0
- package/app/.next/server/middleware-build-manifest.js +1 -1
- package/app/.next/server/middleware.js +2 -2
- package/app/.next/server/pages/404.html +1 -1
- package/app/.next/server/pages/500.html +2 -2
- package/app/.next/server/server-reference-manifest.js +1 -1
- package/app/.next/server/server-reference-manifest.json +1 -1
- package/app/.next/static/HcUrNktdfL89Ss5F7FHxP/_buildManifest.js +1 -0
- package/app/.next/static/chunks/1525-213a0aff01eb1c70.js +21 -0
- package/app/.next/static/chunks/{7896-4e519429f67f381e.js → 7896-5591822b8348e380.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/page-28e46119138cf102.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-fc3451fe77f856f1.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/page-95b884cdbf859e56.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-7a0943932e7e5e51.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/layout-e84875e22efbf437.js +1 -0
- package/app/.next/static/chunks/app/_global-error/page-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/_not-found/page-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/auth/login/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/auth/logout/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/cache/stats/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/backups/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/codex-profiles/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/guide-settings/[toolId]/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/runtime/[toolId]/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/cloud/auth/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/cloud/credentials/update/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/cloud/model/resolve/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/cloud/models/alias/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/combos/[id]/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/combos/metrics/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/combos/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/combos/test/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/compliance/audit-log/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/db-backups/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/evals/[suiteId]/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/evals/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/fallback/chains/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/init/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/keys/[id]/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/keys/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/models/alias/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/models/availability/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/models/catalog/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/models/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/cursor/import/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/kiro/import/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/policies/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/pricing/defaults/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/pricing/models/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/pricing/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/provider-models/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/provider-nodes/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/provider-nodes/validate/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/providers/[id]/models/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/providers/[id]/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/providers/[id]/test/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/providers/client/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/providers/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/providers/test-batch/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/providers/validate/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/rate-limit/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/rate-limits/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/resilience/reset/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/resilience/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/restart/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/sessions/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/settings/combo-defaults/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/settings/ip-filter/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/settings/proxy/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/settings/proxy/test/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/settings/require-login/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/settings/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/settings/system-prompt/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/settings/thinking-budget/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/shutdown/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/storage/health/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/sync/cloud/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/sync/initialize/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/tags/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/telemetry/summary/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/token-health/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/translator/detect/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/translator/history/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/translator/load/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/translator/save/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/translator/send/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/translator/translate/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/usage/[connectionId]/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/usage/analytics/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/usage/budget/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/usage/call-logs/[id]/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/usage/call-logs/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/usage/history/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/usage/logs/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/usage/proxy-logs/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/usage/request-logs/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/v1/api/chat/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/v1/audio/speech/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/v1/chat/completions/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/v1/embeddings/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/v1/images/generations/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/v1/messages/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/v1/models/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/v1/moderations/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/v1/providers/[provider]/chat/completions/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/v1/providers/[provider]/embeddings/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/v1/providers/[provider]/images/generations/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/v1/rerank/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/v1/responses/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/v1/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/api/v1beta/models/route-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/app/global-error-bbdc13af28c5aba1.js +1 -0
- package/app/.next/static/chunks/app/not-found-2ba4520c9df30430.js +1 -0
- package/app/.next/static/chunks/app/page-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/main-app-c9da11a8061df107.js +1 -0
- package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-329f30be723f33ce.js +1 -0
- package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-329f30be723f33ce.js +1 -0
- package/app/.next/static/css/2862d4067eab20b2.css +1 -0
- package/app/package.json +9 -5
- package/app/src/shared/utils/apiKey.js +5 -1
- package/bin/reset-password.mjs +116 -0
- package/package.json +9 -5
- package/app/.next/server/chunks/1483.js +0 -156
- package/app/.next/server/chunks/2116.js +0 -1
- package/app/.next/server/chunks/2250.js +0 -1
- package/app/.next/server/chunks/6194.js +0 -1
- package/app/.next/server/chunks/7471.js +0 -13
- package/app/.next/server/chunks/9188.js +0 -1
- package/app/.next/static/XnNWFvV2IXZ4xuX0F1Skg/_buildManifest.js +0 -1
- package/app/.next/static/chunks/1525-8aaae9ffdaa67144.js +0 -7
- package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/page-49caa7328acff82d.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-4140db5a52fc7323.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/page-70619a1bafdc9c4c.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-9ee5997edb778414.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/layout-0ee92d902ee7a39c.js +0 -1
- package/app/.next/static/chunks/app/_global-error/page-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/_not-found/page-a99a85b5268f1c54.js +0 -1
- package/app/.next/static/chunks/app/api/auth/login/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/auth/logout/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/backups/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/codex-profiles/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/guide-settings/[toolId]/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/runtime/[toolId]/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/cloud/auth/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/cloud/credentials/update/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/cloud/model/resolve/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/cloud/models/alias/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/combos/[id]/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/combos/metrics/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/combos/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/combos/test/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/db-backups/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/init/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/keys/[id]/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/keys/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/models/alias/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/models/catalog/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/models/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/cursor/import/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/import/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/pricing/defaults/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/pricing/models/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/pricing/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/provider-models/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/provider-nodes/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/provider-nodes/validate/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/models/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/test/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/providers/client/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/providers/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/providers/test-batch/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/providers/validate/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/rate-limit/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/rate-limits/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/restart/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/sessions/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/settings/combo-defaults/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/settings/ip-filter/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/settings/proxy/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/settings/proxy/test/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/settings/require-login/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/settings/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/settings/system-prompt/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/settings/thinking-budget/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/shutdown/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/storage/health/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/sync/cloud/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/sync/initialize/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/tags/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/translator/detect/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/translator/history/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/translator/load/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/translator/save/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/translator/send/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/translator/translate/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/usage/[connectionId]/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/usage/analytics/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/usage/call-logs/[id]/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/usage/call-logs/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/usage/history/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/usage/logs/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/usage/proxy-logs/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/usage/request-logs/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/v1/api/chat/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/v1/audio/speech/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/v1/chat/completions/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/v1/embeddings/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/v1/images/generations/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/v1/messages/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/v1/models/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/v1/moderations/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/v1/providers/[provider]/chat/completions/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/v1/providers/[provider]/embeddings/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/v1/providers/[provider]/images/generations/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/v1/rerank/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/v1/responses/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/v1/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/api/v1beta/models/route-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/app/page-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/main-app-fbc16f70c595b197.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/global-error-d91548a7b6ba5970.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-c452284fb77ecee0.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-c452284fb77ecee0.js +0 -1
- package/app/.next/static/css/5309860f6e486620.css +0 -1
- /package/app/.next/static/{XnNWFvV2IXZ4xuX0F1Skg → HcUrNktdfL89Ss5F7FHxP}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><!--XnNWFvV2IXZ4xuX0F1Skg--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/081a0afca5a9bd20.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/5309860f6e486620.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a2b6b20e2db553f5.js"/><script src="/_next/static/chunks/4bd1b696-e5d7c65570c947b7.js" async=""></script><script src="/_next/static/chunks/3794-337d1ca25ad99a89.js" async=""></script><script src="/_next/static/chunks/main-app-fbc16f70c595b197.js" async=""></script><script src="/_next/static/chunks/8500-98e13bcce54aa7a0.js" async=""></script><script src="/_next/static/chunks/600-84211b75b24af21c.js" async=""></script><script src="/_next/static/chunks/8013-04b90e92e614b5d9.js" async=""></script><script src="/_next/static/chunks/7896-4e519429f67f381e.js" async=""></script><script src="/_next/static/chunks/1525-8aaae9ffdaa67144.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-0ee92d902ee7a39c.js" async=""></script><script src="/_next/static/chunks/app/docs/page-8f74097544a61b9d.js" async=""></script><link rel="preload" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap" as="style"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><meta name="next-size-adjust" content=""/><title>OmniRoute — AI Gateway for Multi-Provider LLMs</title><meta name="description" content="OmniRoute is an AI gateway for multi-provider LLMs. One endpoint for all your AI providers."/><link rel="icon" href="/favicon.ico?603d046c9a6fdfbb" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/favicon.svg"/><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"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_f367f3 font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div class="min-h-screen bg-bg text-text-main"><div class="mx-auto max-w-6xl px-4 sm:px-6 lg:px-8 py-10 md:py-14 flex flex-col gap-8"><header class="rounded-2xl border border-border bg-bg-subtle p-6 md:p-8"><div class="flex flex-col gap-4 md:flex-row md:items-center md:justify-between"><div><p class="text-xs uppercase tracking-wider text-text-muted">In-App Documentation</p><h1 class="text-3xl md:text-4xl font-bold mt-1">OmniRoute<!-- --> Docs</h1><p class="text-sm md:text-base text-text-muted mt-2 max-w-3xl">Quick setup, client compatibility notes, and endpoint reference to run OpenAI-compatible clients, Codex/Copilot models, and Cherry Studio integrations on this server.</p></div><div class="flex flex-wrap gap-2"><a class="px-3 py-2 rounded-lg border border-border text-sm hover:bg-bg transition-colors" href="/dashboard/endpoint">Open Endpoint Page</a><a href="https://github.com/decolua/omniroute/issues" target="_blank" rel="noopener noreferrer" class="px-3 py-2 rounded-lg border border-border text-sm hover:bg-bg transition-colors">Report Issue</a></div></div></header><section id="quick-start" class="rounded-2xl border border-border bg-bg-subtle p-6"><h2 class="text-xl font-semibold">Quick Start</h2><ol class="mt-4 grid grid-cols-1 md:grid-cols-2 gap-3 text-sm"><li class="rounded-lg border border-border p-3 bg-bg"><span class="font-semibold">1. Create API key</span><p class="text-text-muted mt-1">Generate one key per app/environment.</p></li><li class="rounded-lg border border-border p-3 bg-bg"><span class="font-semibold">2. Connect providers</span><p class="text-text-muted mt-1">Add provider accounts in Dashboard and run Test Connection.</p></li><li class="rounded-lg border border-border p-3 bg-bg"><span class="font-semibold">3. Set client base URL</span><p class="text-text-muted mt-1">Prefer <code class="px-1 rounded bg-bg-subtle">https://<host>/v1</code>.</p></li><li class="rounded-lg border border-border p-3 bg-bg"><span class="font-semibold">4. Choose model</span><p class="text-text-muted mt-1">Prefer explicit provider prefix, for example<!-- --> <code class="px-1 rounded bg-bg-subtle">gh/gpt-5.1-codex</code>.</p></li></ol></section><section id="use-cases" class="rounded-2xl border border-border bg-bg-subtle p-6"><h2 class="text-xl font-semibold">Common Use Cases</h2><div class="mt-4 grid grid-cols-1 md:grid-cols-3 gap-3"><article class="rounded-lg border border-border p-4 bg-bg"><h3 class="font-semibold">Single endpoint for many providers</h3><p class="text-sm text-text-muted mt-2">Point clients to one base URL and route by model prefix (for example: gh/, cc/, kr/, openai/).</p></article><article class="rounded-lg border border-border p-4 bg-bg"><h3 class="font-semibold">Fallback and model switching with combos</h3><p class="text-sm text-text-muted mt-2">Create combo models in Dashboard and keep client config stable while providers rotate internally.</p></article><article class="rounded-lg border border-border p-4 bg-bg"><h3 class="font-semibold">Usage, cost and debug visibility</h3><p class="text-sm text-text-muted mt-2">Track tokens/cost by provider, account and API key in Usage + Logger tabs.</p></article></div></section><section id="client-compatibility" class="rounded-2xl border border-border bg-bg-subtle p-6"><h2 class="text-xl font-semibold">Client Compatibility</h2><div class="mt-4 grid grid-cols-1 md:grid-cols-2 gap-3 text-sm"><article id="cherry-studio" class="rounded-lg border border-border p-4 bg-bg"><h3 class="font-semibold">Cherry Studio</h3><ul class="mt-2 text-text-muted space-y-1"><li>Base URL:<!-- --> <code class="px-1 rounded bg-bg-subtle">https://<host>/v1</code></li><li>Chat endpoint:<!-- --> <code class="px-1 rounded bg-bg-subtle">/chat/completions</code></li><li>Model recommendation: explicit prefix (<code class="px-1 rounded bg-bg-subtle">gh/...</code>,<!-- --> <code class="px-1 rounded bg-bg-subtle">cc/...</code>)</li></ul></article><article id="codex-copilot" class="rounded-lg border border-border p-4 bg-bg"><h3 class="font-semibold">Codex / GitHub Copilot Models</h3><ul class="mt-2 text-text-muted space-y-1"><li>Use model IDs with <code class="px-1 rounded bg-bg-subtle">gh/</code> prefix.</li><li>Codex-family models auto-route to<!-- --> <code class="px-1 rounded bg-bg-subtle">/responses</code>.</li><li>Non-Codex models continue on<!-- --> <code class="px-1 rounded bg-bg-subtle">/chat/completions</code>.</li></ul></article></div></section><section id="api-reference" class="rounded-2xl border border-border bg-bg-subtle p-6"><h2 class="text-xl font-semibold">Endpoint Reference</h2><div class="mt-4 overflow-x-auto"><table class="w-full text-sm border-collapse"><thead><tr class="border-b border-border"><th class="text-left py-2 pr-4">Path</th><th class="text-left py-2">Notes</th></tr></thead><tbody><tr class="border-b border-border/60"><td class="py-2 pr-4 font-mono">/v1/chat/completions</td><td class="py-2 text-text-muted">OpenAI-compatible chat endpoint (default).</td></tr><tr class="border-b border-border/60"><td class="py-2 pr-4 font-mono">/v1/responses</td><td class="py-2 text-text-muted">Responses API endpoint (supported).</td></tr><tr class="border-b border-border/60"><td class="py-2 pr-4 font-mono">/v1/models</td><td class="py-2 text-text-muted">Model catalog for connected providers.</td></tr><tr class="border-b border-border/60"><td class="py-2 pr-4 font-mono">/chat/completions</td><td class="py-2 text-text-muted">Rewrite helper for clients that do not include /v1.</td></tr><tr class="border-b border-border/60"><td class="py-2 pr-4 font-mono">/responses</td><td class="py-2 text-text-muted">Rewrite helper for Responses clients without /v1.</td></tr><tr class="border-b border-border/60"><td class="py-2 pr-4 font-mono">/models</td><td class="py-2 text-text-muted">Rewrite helper for model discovery without /v1.</td></tr></tbody></table></div></section><section id="troubleshooting" class="rounded-2xl border border-border bg-bg-subtle p-6"><h2 class="text-xl font-semibold">Troubleshooting</h2><ul class="mt-4 list-disc list-inside text-sm text-text-muted space-y-2"><li>If the client fails with model routing, use explicit provider/model (for example: gh/gpt-5.1-codex).</li><li>If you receive ambiguous model errors, pick a provider prefix instead of a bare model ID.</li><li>For GitHub Codex-family models, keep model as gh/<codex-model>; router selects /responses automatically.</li><li>Use Dashboard > Providers > Test Connection before testing from IDEs or external clients.</li></ul></section></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-a2b6b20e2db553f5.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57896,[\"8500\",\"static/chunks/8500-98e13bcce54aa7a0.js\",\"600\",\"static/chunks/600-84211b75b24af21c.js\",\"8013\",\"static/chunks/8013-04b90e92e614b5d9.js\",\"7896\",\"static/chunks/7896-4e519429f67f381e.js\",\"1525\",\"static/chunks/1525-8aaae9ffdaa67144.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-0ee92d902ee7a39c.js\"],\"ThemeProvider\"]\n3:I[57121,[],\"\"]\n4:I[74581,[],\"\"]\n5:I[98500,[\"8500\",\"static/chunks/8500-98e13bcce54aa7a0.js\",\"9040\",\"static/chunks/app/docs/page-8f74097544a61b9d.js\"],\"\"]\n11:I[27123,[],\"\"]\n:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/081a0afca5a9bd20.css\",\"style\"]\n:HL[\"/_next/static/css/5309860f6e486620.css\",\"style\"]\n:HL[\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200\u0026display=swap\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"XnNWFvV2IXZ4xuX0F1Skg\",\"c\":[\"\",\"docs\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"docs\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/081a0afca5a9bd20.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/5309860f6e486620.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://fonts.googleapis.com\"}],[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://fonts.gstatic.com\",\"crossOrigin\":\"anonymous\"}],[\"$\",\"link\",null,{\"href\":\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200\u0026display=swap\",\"rel\":\"stylesheet\"}]]}],[\"$\",\"body\",null,{\"className\":\"__variable_f367f3 font-sans antialiased\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"div\",null,{\"className\":\"min-h-screen bg-bg text-text-main\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-6xl px-4 sm:px-6 lg:px-8 py-10 md:py-14 flex flex-col gap-8\",\"children\":[[\"$\",\"header\",null,{\"className\":\"rounded-2xl border border-border bg-bg-subtle p-6 md:p-8\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-4 md:flex-row md:items-center md:justify-between\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"text-xs uppercase tracking-wider text-text-muted\",\"children\":\"In-App Documentation\"}],[\"$\",\"h1\",null,{\"className\":\"text-3xl md:text-4xl font-bold mt-1\",\"children\":[\"OmniRoute\",\" Docs\"]}],[\"$\",\"p\",null,{\"className\":\"text-sm md:text-base text-text-muted mt-2 max-w-3xl\",\"children\":\"Quick setup, client compatibility notes, and endpoint reference to run OpenAI-compatible clients, Codex/Copilot models, and Cherry Studio integrations on this server.\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap gap-2\",\"children\":[[\"$\",\"$L5\",null,{\"href\":\"/dashboard/endpoint\",\"className\":\"px-3 py-2 rounded-lg border border-border text-sm hover:bg-bg transition-colors\",\"children\":\"Open Endpoint Page\"}],[\"$\",\"a\",null,{\"href\":\"https://github.com/decolua/omniroute/issues\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"px-3 py-2 rounded-lg border border-border text-sm hover:bg-bg transition-colors\",\"children\":\"Report Issue\"}]]}]]}]}],[\"$\",\"section\",null,{\"id\":\"quick-start\",\"className\":\"rounded-2xl border border-border bg-bg-subtle p-6\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-xl font-semibold\",\"children\":\"Quick Start\"}],[\"$\",\"ol\",null,{\"className\":\"mt-4 grid grid-cols-1 md:grid-cols-2 gap-3 text-sm\",\"children\":[[\"$\",\"li\",null,{\"className\":\"rounded-lg border border-border p-3 bg-bg\",\"children\":[\"$L6\",\"$L7\"]}],\"$L8\",\"$L9\",\"$La\"]}]]}],\"$Lb\",\"$Lc\",\"$Ld\",\"$Le\"]}]}],null,\"$Lf\"]}],{},null,false,false]},null,false,false]},null,false,false],\"$L10\",false]],\"m\":\"$undefined\",\"G\":[\"$11\",[]],\"S\":true}\n"])</script><script>self.__next_f.push([1,"12:I[90484,[],\"OutletBoundary\"]\n13:\"$Sreact.suspense\"\n15:I[90484,[],\"ViewportBoundary\"]\n17:I[90484,[],\"MetadataBoundary\"]\n6:[\"$\",\"span\",null,{\"className\":\"font-semibold\",\"children\":\"1. Create API key\"}]\n7:[\"$\",\"p\",null,{\"className\":\"text-text-muted mt-1\",\"children\":\"Generate one key per app/environment.\"}]\n8:[\"$\",\"li\",null,{\"className\":\"rounded-lg border border-border p-3 bg-bg\",\"children\":[[\"$\",\"span\",null,{\"className\":\"font-semibold\",\"children\":\"2. Connect providers\"}],[\"$\",\"p\",null,{\"className\":\"text-text-muted mt-1\",\"children\":\"Add provider accounts in Dashboard and run Test Connection.\"}]]}]\n9:[\"$\",\"li\",null,{\"className\":\"rounded-lg border border-border p-3 bg-bg\",\"children\":[[\"$\",\"span\",null,{\"className\":\"font-semibold\",\"children\":\"3. Set client base URL\"}],[\"$\",\"p\",null,{\"className\":\"text-text-muted mt-1\",\"children\":[\"Prefer \",[\"$\",\"code\",null,{\"className\":\"px-1 rounded bg-bg-subtle\",\"children\":\"https://\u003chost\u003e/v1\"}],\".\"]}]]}]\na:[\"$\",\"li\",null,{\"className\":\"rounded-lg border border-border p-3 bg-bg\",\"children\":[[\"$\",\"span\",null,{\"className\":\"font-semibold\",\"children\":\"4. Choose model\"}],[\"$\",\"p\",null,{\"className\":\"text-text-muted mt-1\",\"children\":[\"Prefer explicit provider prefix, for example\",\" \",[\"$\",\"code\",null,{\"className\":\"px-1 rounded bg-bg-subtle\",\"children\":\"gh/gpt-5.1-codex\"}],\".\"]}]]}]\n"])</script><script>self.__next_f.push([1,"b:[\"$\",\"section\",null,{\"id\":\"use-cases\",\"className\":\"rounded-2xl border border-border bg-bg-subtle p-6\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-xl font-semibold\",\"children\":\"Common Use Cases\"}],[\"$\",\"div\",null,{\"className\":\"mt-4 grid grid-cols-1 md:grid-cols-3 gap-3\",\"children\":[[\"$\",\"article\",\"Single endpoint for many providers\",{\"className\":\"rounded-lg border border-border p-4 bg-bg\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-semibold\",\"children\":\"Single endpoint for many providers\"}],[\"$\",\"p\",null,{\"className\":\"text-sm text-text-muted mt-2\",\"children\":\"Point clients to one base URL and route by model prefix (for example: gh/, cc/, kr/, openai/).\"}]]}],[\"$\",\"article\",\"Fallback and model switching with combos\",{\"className\":\"rounded-lg border border-border p-4 bg-bg\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-semibold\",\"children\":\"Fallback and model switching with combos\"}],[\"$\",\"p\",null,{\"className\":\"text-sm text-text-muted mt-2\",\"children\":\"Create combo models in Dashboard and keep client config stable while providers rotate internally.\"}]]}],[\"$\",\"article\",\"Usage, cost and debug visibility\",{\"className\":\"rounded-lg border border-border p-4 bg-bg\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-semibold\",\"children\":\"Usage, cost and debug visibility\"}],[\"$\",\"p\",null,{\"className\":\"text-sm text-text-muted mt-2\",\"children\":\"Track tokens/cost by provider, account and API key in Usage + Logger tabs.\"}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"c:[\"$\",\"section\",null,{\"id\":\"client-compatibility\",\"className\":\"rounded-2xl border border-border bg-bg-subtle p-6\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-xl font-semibold\",\"children\":\"Client Compatibility\"}],[\"$\",\"div\",null,{\"className\":\"mt-4 grid grid-cols-1 md:grid-cols-2 gap-3 text-sm\",\"children\":[[\"$\",\"article\",null,{\"id\":\"cherry-studio\",\"className\":\"rounded-lg border border-border p-4 bg-bg\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-semibold\",\"children\":\"Cherry Studio\"}],[\"$\",\"ul\",null,{\"className\":\"mt-2 text-text-muted space-y-1\",\"children\":[[\"$\",\"li\",null,{\"children\":[\"Base URL:\",\" \",[\"$\",\"code\",null,{\"className\":\"px-1 rounded bg-bg-subtle\",\"children\":\"https://\u003chost\u003e/v1\"}]]}],[\"$\",\"li\",null,{\"children\":[\"Chat endpoint:\",\" \",[\"$\",\"code\",null,{\"className\":\"px-1 rounded bg-bg-subtle\",\"children\":\"/chat/completions\"}]]}],[\"$\",\"li\",null,{\"children\":[\"Model recommendation: explicit prefix (\",[\"$\",\"code\",null,{\"className\":\"px-1 rounded bg-bg-subtle\",\"children\":\"gh/...\"}],\",\",\" \",[\"$\",\"code\",null,{\"className\":\"px-1 rounded bg-bg-subtle\",\"children\":\"cc/...\"}],\")\"]}]]}]]}],[\"$\",\"article\",null,{\"id\":\"codex-copilot\",\"className\":\"rounded-lg border border-border p-4 bg-bg\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-semibold\",\"children\":\"Codex / GitHub Copilot Models\"}],[\"$\",\"ul\",null,{\"className\":\"mt-2 text-text-muted space-y-1\",\"children\":[[\"$\",\"li\",null,{\"children\":[\"Use model IDs with \",[\"$\",\"code\",null,{\"className\":\"px-1 rounded bg-bg-subtle\",\"children\":\"gh/\"}],\" prefix.\"]}],[\"$\",\"li\",null,{\"children\":[\"Codex-family models auto-route to\",\" \",[\"$\",\"code\",null,{\"className\":\"px-1 rounded bg-bg-subtle\",\"children\":\"/responses\"}],\".\"]}],[\"$\",\"li\",null,{\"children\":[\"Non-Codex models continue on\",\" \",[\"$\",\"code\",null,{\"className\":\"px-1 rounded bg-bg-subtle\",\"children\":\"/chat/completions\"}],\".\"]}]]}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"d:[\"$\",\"section\",null,{\"id\":\"api-reference\",\"className\":\"rounded-2xl border border-border bg-bg-subtle p-6\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-xl font-semibold\",\"children\":\"Endpoint Reference\"}],[\"$\",\"div\",null,{\"className\":\"mt-4 overflow-x-auto\",\"children\":[\"$\",\"table\",null,{\"className\":\"w-full text-sm border-collapse\",\"children\":[[\"$\",\"thead\",null,{\"children\":[\"$\",\"tr\",null,{\"className\":\"border-b border-border\",\"children\":[[\"$\",\"th\",null,{\"className\":\"text-left py-2 pr-4\",\"children\":\"Path\"}],[\"$\",\"th\",null,{\"className\":\"text-left py-2\",\"children\":\"Notes\"}]]}]}],[\"$\",\"tbody\",null,{\"children\":[[\"$\",\"tr\",\"/v1/chat/completions\",{\"className\":\"border-b border-border/60\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono\",\"children\":\"/v1/chat/completions\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-text-muted\",\"children\":\"OpenAI-compatible chat endpoint (default).\"}]]}],[\"$\",\"tr\",\"/v1/responses\",{\"className\":\"border-b border-border/60\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono\",\"children\":\"/v1/responses\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-text-muted\",\"children\":\"Responses API endpoint (supported).\"}]]}],[\"$\",\"tr\",\"/v1/models\",{\"className\":\"border-b border-border/60\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono\",\"children\":\"/v1/models\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-text-muted\",\"children\":\"Model catalog for connected providers.\"}]]}],[\"$\",\"tr\",\"/chat/completions\",{\"className\":\"border-b border-border/60\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono\",\"children\":\"/chat/completions\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-text-muted\",\"children\":\"Rewrite helper for clients that do not include /v1.\"}]]}],[\"$\",\"tr\",\"/responses\",{\"className\":\"border-b border-border/60\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono\",\"children\":\"/responses\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-text-muted\",\"children\":\"Rewrite helper for Responses clients without /v1.\"}]]}],[\"$\",\"tr\",\"/models\",{\"className\":\"border-b border-border/60\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono\",\"children\":\"/models\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-text-muted\",\"children\":\"Rewrite helper for model discovery without /v1.\"}]]}]]}]]}]}]]}]\n"])</script><script>self.__next_f.push([1,"e:[\"$\",\"section\",null,{\"id\":\"troubleshooting\",\"className\":\"rounded-2xl border border-border bg-bg-subtle p-6\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-xl font-semibold\",\"children\":\"Troubleshooting\"}],[\"$\",\"ul\",null,{\"className\":\"mt-4 list-disc list-inside text-sm text-text-muted space-y-2\",\"children\":[[\"$\",\"li\",\"If the client fails with model routing, use explicit provider/model (for example: gh/gpt-5.1-codex).\",{\"children\":\"If the client fails with model routing, use explicit provider/model (for example: gh/gpt-5.1-codex).\"}],[\"$\",\"li\",\"If you receive ambiguous model errors, pick a provider prefix instead of a bare model ID.\",{\"children\":\"If you receive ambiguous model errors, pick a provider prefix instead of a bare model ID.\"}],[\"$\",\"li\",\"For GitHub Codex-family models, keep model as gh/\u003ccodex-model\u003e; router selects /responses automatically.\",{\"children\":\"For GitHub Codex-family models, keep model as gh/\u003ccodex-model\u003e; router selects /responses automatically.\"}],[\"$\",\"li\",\"Use Dashboard \u003e Providers \u003e Test Connection before testing from IDEs or external clients.\",{\"children\":\"Use Dashboard \u003e Providers \u003e Test Connection before testing from IDEs or external clients.\"}]]}]]}]\nf:[\"$\",\"$L12\",null,{\"children\":[\"$\",\"$13\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@14\"}]}]\n10:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L15\",null,{\"children\":\"$L16\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L17\",null,{\"children\":[\"$\",\"$13\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L18\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n"])</script><script>self.__next_f.push([1,"16:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"19:I[86869,[],\"IconMark\"]\n14:null\n18:[[\"$\",\"title\",\"0\",{\"children\":\"OmniRoute — AI Gateway for Multi-Provider LLMs\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"OmniRoute is an AI gateway for multi-provider LLMs. One endpoint for all your AI providers.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?603d046c9a6fdfbb\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"$L19\",\"4\",{}]]\n"])</script></body></html>
|
|
1
|
+
<!DOCTYPE html><!--HcUrNktdfL89Ss5F7FHxP--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/081a0afca5a9bd20.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/2862d4067eab20b2.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a2b6b20e2db553f5.js"/><script src="/_next/static/chunks/4bd1b696-e5d7c65570c947b7.js" async=""></script><script src="/_next/static/chunks/3794-337d1ca25ad99a89.js" async=""></script><script src="/_next/static/chunks/main-app-c9da11a8061df107.js" async=""></script><script src="/_next/static/chunks/8500-98e13bcce54aa7a0.js" async=""></script><script src="/_next/static/chunks/600-84211b75b24af21c.js" async=""></script><script src="/_next/static/chunks/8013-04b90e92e614b5d9.js" async=""></script><script src="/_next/static/chunks/7896-5591822b8348e380.js" async=""></script><script src="/_next/static/chunks/1525-213a0aff01eb1c70.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-e84875e22efbf437.js" async=""></script><script src="/_next/static/chunks/app/not-found-2ba4520c9df30430.js" async=""></script><script src="/_next/static/chunks/app/docs/page-8f74097544a61b9d.js" async=""></script><script src="/_next/static/chunks/app/global-error-bbdc13af28c5aba1.js" async=""></script><link rel="preload" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap" as="style"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><meta name="next-size-adjust" content=""/><title>OmniRoute — AI Gateway for Multi-Provider LLMs</title><meta name="description" content="OmniRoute is an AI gateway for multi-provider LLMs. One endpoint for all your AI providers."/><link rel="icon" href="/favicon.ico?603d046c9a6fdfbb" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/favicon.svg"/><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"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_f367f3 font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div class="min-h-screen bg-bg text-text-main"><div class="mx-auto max-w-6xl px-4 sm:px-6 lg:px-8 py-10 md:py-14 flex flex-col gap-8"><header class="rounded-2xl border border-border bg-bg-subtle p-6 md:p-8"><div class="flex flex-col gap-4 md:flex-row md:items-center md:justify-between"><div><p class="text-xs uppercase tracking-wider text-text-muted">In-App Documentation</p><h1 class="text-3xl md:text-4xl font-bold mt-1">OmniRoute<!-- --> Docs</h1><p class="text-sm md:text-base text-text-muted mt-2 max-w-3xl">Quick setup, client compatibility notes, and endpoint reference to run OpenAI-compatible clients, Codex/Copilot models, and Cherry Studio integrations on this server.</p></div><div class="flex flex-wrap gap-2"><a class="px-3 py-2 rounded-lg border border-border text-sm hover:bg-bg transition-colors" href="/dashboard/endpoint">Open Endpoint Page</a><a href="https://github.com/decolua/omniroute/issues" target="_blank" rel="noopener noreferrer" class="px-3 py-2 rounded-lg border border-border text-sm hover:bg-bg transition-colors">Report Issue</a></div></div></header><section id="quick-start" class="rounded-2xl border border-border bg-bg-subtle p-6"><h2 class="text-xl font-semibold">Quick Start</h2><ol class="mt-4 grid grid-cols-1 md:grid-cols-2 gap-3 text-sm"><li class="rounded-lg border border-border p-3 bg-bg"><span class="font-semibold">1. Create API key</span><p class="text-text-muted mt-1">Generate one key per app/environment.</p></li><li class="rounded-lg border border-border p-3 bg-bg"><span class="font-semibold">2. Connect providers</span><p class="text-text-muted mt-1">Add provider accounts in Dashboard and run Test Connection.</p></li><li class="rounded-lg border border-border p-3 bg-bg"><span class="font-semibold">3. Set client base URL</span><p class="text-text-muted mt-1">Prefer <code class="px-1 rounded bg-bg-subtle">https://<host>/v1</code>.</p></li><li class="rounded-lg border border-border p-3 bg-bg"><span class="font-semibold">4. Choose model</span><p class="text-text-muted mt-1">Prefer explicit provider prefix, for example<!-- --> <code class="px-1 rounded bg-bg-subtle">gh/gpt-5.1-codex</code>.</p></li></ol></section><section id="use-cases" class="rounded-2xl border border-border bg-bg-subtle p-6"><h2 class="text-xl font-semibold">Common Use Cases</h2><div class="mt-4 grid grid-cols-1 md:grid-cols-3 gap-3"><article class="rounded-lg border border-border p-4 bg-bg"><h3 class="font-semibold">Single endpoint for many providers</h3><p class="text-sm text-text-muted mt-2">Point clients to one base URL and route by model prefix (for example: gh/, cc/, kr/, openai/).</p></article><article class="rounded-lg border border-border p-4 bg-bg"><h3 class="font-semibold">Fallback and model switching with combos</h3><p class="text-sm text-text-muted mt-2">Create combo models in Dashboard and keep client config stable while providers rotate internally.</p></article><article class="rounded-lg border border-border p-4 bg-bg"><h3 class="font-semibold">Usage, cost and debug visibility</h3><p class="text-sm text-text-muted mt-2">Track tokens/cost by provider, account and API key in Usage + Logger tabs.</p></article></div></section><section id="client-compatibility" class="rounded-2xl border border-border bg-bg-subtle p-6"><h2 class="text-xl font-semibold">Client Compatibility</h2><div class="mt-4 grid grid-cols-1 md:grid-cols-2 gap-3 text-sm"><article id="cherry-studio" class="rounded-lg border border-border p-4 bg-bg"><h3 class="font-semibold">Cherry Studio</h3><ul class="mt-2 text-text-muted space-y-1"><li>Base URL:<!-- --> <code class="px-1 rounded bg-bg-subtle">https://<host>/v1</code></li><li>Chat endpoint:<!-- --> <code class="px-1 rounded bg-bg-subtle">/chat/completions</code></li><li>Model recommendation: explicit prefix (<code class="px-1 rounded bg-bg-subtle">gh/...</code>,<!-- --> <code class="px-1 rounded bg-bg-subtle">cc/...</code>)</li></ul></article><article id="codex-copilot" class="rounded-lg border border-border p-4 bg-bg"><h3 class="font-semibold">Codex / GitHub Copilot Models</h3><ul class="mt-2 text-text-muted space-y-1"><li>Use model IDs with <code class="px-1 rounded bg-bg-subtle">gh/</code> prefix.</li><li>Codex-family models auto-route to<!-- --> <code class="px-1 rounded bg-bg-subtle">/responses</code>.</li><li>Non-Codex models continue on<!-- --> <code class="px-1 rounded bg-bg-subtle">/chat/completions</code>.</li></ul></article></div></section><section id="api-reference" class="rounded-2xl border border-border bg-bg-subtle p-6"><h2 class="text-xl font-semibold">Endpoint Reference</h2><div class="mt-4 overflow-x-auto"><table class="w-full text-sm border-collapse"><thead><tr class="border-b border-border"><th class="text-left py-2 pr-4">Path</th><th class="text-left py-2">Notes</th></tr></thead><tbody><tr class="border-b border-border/60"><td class="py-2 pr-4 font-mono">/v1/chat/completions</td><td class="py-2 text-text-muted">OpenAI-compatible chat endpoint (default).</td></tr><tr class="border-b border-border/60"><td class="py-2 pr-4 font-mono">/v1/responses</td><td class="py-2 text-text-muted">Responses API endpoint (supported).</td></tr><tr class="border-b border-border/60"><td class="py-2 pr-4 font-mono">/v1/models</td><td class="py-2 text-text-muted">Model catalog for connected providers.</td></tr><tr class="border-b border-border/60"><td class="py-2 pr-4 font-mono">/chat/completions</td><td class="py-2 text-text-muted">Rewrite helper for clients that do not include /v1.</td></tr><tr class="border-b border-border/60"><td class="py-2 pr-4 font-mono">/responses</td><td class="py-2 text-text-muted">Rewrite helper for Responses clients without /v1.</td></tr><tr class="border-b border-border/60"><td class="py-2 pr-4 font-mono">/models</td><td class="py-2 text-text-muted">Rewrite helper for model discovery without /v1.</td></tr></tbody></table></div></section><section id="troubleshooting" class="rounded-2xl border border-border bg-bg-subtle p-6"><h2 class="text-xl font-semibold">Troubleshooting</h2><ul class="mt-4 list-disc list-inside text-sm text-text-muted space-y-2"><li>If the client fails with model routing, use explicit provider/model (for example: gh/gpt-5.1-codex).</li><li>If you receive ambiguous model errors, pick a provider prefix instead of a bare model ID.</li><li>For GitHub Codex-family models, keep model as gh/<codex-model>; router selects /responses automatically.</li><li>Use Dashboard > Providers > Test Connection before testing from IDEs or external clients.</li></ul></section></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-a2b6b20e2db553f5.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57896,[\"8500\",\"static/chunks/8500-98e13bcce54aa7a0.js\",\"600\",\"static/chunks/600-84211b75b24af21c.js\",\"8013\",\"static/chunks/8013-04b90e92e614b5d9.js\",\"7896\",\"static/chunks/7896-5591822b8348e380.js\",\"1525\",\"static/chunks/1525-213a0aff01eb1c70.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-e84875e22efbf437.js\"],\"ThemeProvider\"]\n3:I[57121,[],\"\"]\n4:I[74581,[],\"\"]\n5:I[91369,[\"8500\",\"static/chunks/8500-98e13bcce54aa7a0.js\",\"4345\",\"static/chunks/app/not-found-2ba4520c9df30430.js\"],\"default\"]\n6:I[98500,[\"8500\",\"static/chunks/8500-98e13bcce54aa7a0.js\",\"9040\",\"static/chunks/app/docs/page-8f74097544a61b9d.js\"],\"\"]\ne:I[96243,[\"4219\",\"static/chunks/app/global-error-bbdc13af28c5aba1.js\"],\"default\"]\n:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/081a0afca5a9bd20.css\",\"style\"]\n:HL[\"/_next/static/css/2862d4067eab20b2.css\",\"style\"]\n:HL[\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200\u0026display=swap\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"HcUrNktdfL89Ss5F7FHxP\",\"c\":[\"\",\"docs\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"docs\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/081a0afca5a9bd20.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/2862d4067eab20b2.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://fonts.googleapis.com\"}],[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://fonts.gstatic.com\",\"crossOrigin\":\"anonymous\"}],[\"$\",\"link\",null,{\"href\":\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200\u0026display=swap\",\"rel\":\"stylesheet\"}]]}],[\"$\",\"body\",null,{\"className\":\"__variable_f367f3 font-sans antialiased\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$L5\",null,{}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"div\",null,{\"className\":\"min-h-screen bg-bg text-text-main\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-6xl px-4 sm:px-6 lg:px-8 py-10 md:py-14 flex flex-col gap-8\",\"children\":[[\"$\",\"header\",null,{\"className\":\"rounded-2xl border border-border bg-bg-subtle p-6 md:p-8\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-4 md:flex-row md:items-center md:justify-between\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"text-xs uppercase tracking-wider text-text-muted\",\"children\":\"In-App Documentation\"}],[\"$\",\"h1\",null,{\"className\":\"text-3xl md:text-4xl font-bold mt-1\",\"children\":[\"OmniRoute\",\" Docs\"]}],[\"$\",\"p\",null,{\"className\":\"text-sm md:text-base text-text-muted mt-2 max-w-3xl\",\"children\":\"Quick setup, client compatibility notes, and endpoint reference to run OpenAI-compatible clients, Codex/Copilot models, and Cherry Studio integrations on this server.\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap gap-2\",\"children\":[[\"$\",\"$L6\",null,{\"href\":\"/dashboard/endpoint\",\"className\":\"px-3 py-2 rounded-lg border border-border text-sm hover:bg-bg transition-colors\",\"children\":\"Open Endpoint Page\"}],[\"$\",\"a\",null,{\"href\":\"https://github.com/decolua/omniroute/issues\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"px-3 py-2 rounded-lg border border-border text-sm hover:bg-bg transition-colors\",\"children\":\"Report Issue\"}]]}]]}]}],[\"$\",\"section\",null,{\"id\":\"quick-start\",\"className\":\"rounded-2xl border border-border bg-bg-subtle p-6\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-xl font-semibold\",\"children\":\"Quick Start\"}],[\"$\",\"ol\",null,{\"className\":\"mt-4 grid grid-cols-1 md:grid-cols-2 gap-3 text-sm\",\"children\":[[\"$\",\"li\",null,{\"className\":\"rounded-lg border border-border p-3 bg-bg\",\"children\":[[\"$\",\"span\",null,{\"className\":\"font-semibold\",\"children\":\"1. Create API key\"}],[\"$\",\"p\",null,{\"className\":\"text-text-muted mt-1\",\"children\":\"Generate one key per app/environment.\"}]]}],[\"$\",\"li\",null,{\"className\":\"rounded-lg border border-border p-3 bg-bg\",\"children\":[[\"$\",\"span\",null,{\"className\":\"font-semibold\",\"children\":\"2. Connect providers\"}],[\"$\",\"p\",null,{\"className\":\"text-text-muted mt-1\",\"children\":\"Add provider accounts in Dashboard and run Test Connection.\"}]]}],[\"$\",\"li\",null,{\"className\":\"rounded-lg border border-border p-3 bg-bg\",\"children\":[[\"$\",\"span\",null,{\"className\":\"font-semibold\",\"children\":\"3. Set client base URL\"}],[\"$\",\"p\",null,{\"className\":\"text-text-muted mt-1\",\"children\":[\"Prefer \",[\"$\",\"code\",null,{\"className\":\"px-1 rounded bg-bg-subtle\",\"children\":\"https://\u003chost\u003e/v1\"}],\".\"]}]]}],[\"$\",\"li\",null,{\"className\":\"rounded-lg border border-border p-3 bg-bg\",\"children\":[[\"$\",\"span\",null,{\"className\":\"font-semibold\",\"children\":\"4. Choose model\"}],[\"$\",\"p\",null,{\"className\":\"text-text-muted mt-1\",\"children\":[\"Prefer explicit provider prefix, for example\",\" \",\"$L7\",\".\"]}]]}]]}]]}],\"$L8\",\"$L9\",\"$La\",\"$Lb\"]}]}],null,\"$Lc\"]}],{},null,false,false]},null,false,false]},null,false,false],\"$Ld\",false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"S\":true}\n"])</script><script>self.__next_f.push([1,"f:I[90484,[],\"OutletBoundary\"]\n10:\"$Sreact.suspense\"\n12:I[90484,[],\"ViewportBoundary\"]\n14:I[90484,[],\"MetadataBoundary\"]\n7:[\"$\",\"code\",null,{\"className\":\"px-1 rounded bg-bg-subtle\",\"children\":\"gh/gpt-5.1-codex\"}]\n"])</script><script>self.__next_f.push([1,"8:[\"$\",\"section\",null,{\"id\":\"use-cases\",\"className\":\"rounded-2xl border border-border bg-bg-subtle p-6\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-xl font-semibold\",\"children\":\"Common Use Cases\"}],[\"$\",\"div\",null,{\"className\":\"mt-4 grid grid-cols-1 md:grid-cols-3 gap-3\",\"children\":[[\"$\",\"article\",\"Single endpoint for many providers\",{\"className\":\"rounded-lg border border-border p-4 bg-bg\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-semibold\",\"children\":\"Single endpoint for many providers\"}],[\"$\",\"p\",null,{\"className\":\"text-sm text-text-muted mt-2\",\"children\":\"Point clients to one base URL and route by model prefix (for example: gh/, cc/, kr/, openai/).\"}]]}],[\"$\",\"article\",\"Fallback and model switching with combos\",{\"className\":\"rounded-lg border border-border p-4 bg-bg\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-semibold\",\"children\":\"Fallback and model switching with combos\"}],[\"$\",\"p\",null,{\"className\":\"text-sm text-text-muted mt-2\",\"children\":\"Create combo models in Dashboard and keep client config stable while providers rotate internally.\"}]]}],[\"$\",\"article\",\"Usage, cost and debug visibility\",{\"className\":\"rounded-lg border border-border p-4 bg-bg\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-semibold\",\"children\":\"Usage, cost and debug visibility\"}],[\"$\",\"p\",null,{\"className\":\"text-sm text-text-muted mt-2\",\"children\":\"Track tokens/cost by provider, account and API key in Usage + Logger tabs.\"}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"9:[\"$\",\"section\",null,{\"id\":\"client-compatibility\",\"className\":\"rounded-2xl border border-border bg-bg-subtle p-6\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-xl font-semibold\",\"children\":\"Client Compatibility\"}],[\"$\",\"div\",null,{\"className\":\"mt-4 grid grid-cols-1 md:grid-cols-2 gap-3 text-sm\",\"children\":[[\"$\",\"article\",null,{\"id\":\"cherry-studio\",\"className\":\"rounded-lg border border-border p-4 bg-bg\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-semibold\",\"children\":\"Cherry Studio\"}],[\"$\",\"ul\",null,{\"className\":\"mt-2 text-text-muted space-y-1\",\"children\":[[\"$\",\"li\",null,{\"children\":[\"Base URL:\",\" \",[\"$\",\"code\",null,{\"className\":\"px-1 rounded bg-bg-subtle\",\"children\":\"https://\u003chost\u003e/v1\"}]]}],[\"$\",\"li\",null,{\"children\":[\"Chat endpoint:\",\" \",[\"$\",\"code\",null,{\"className\":\"px-1 rounded bg-bg-subtle\",\"children\":\"/chat/completions\"}]]}],[\"$\",\"li\",null,{\"children\":[\"Model recommendation: explicit prefix (\",[\"$\",\"code\",null,{\"className\":\"px-1 rounded bg-bg-subtle\",\"children\":\"gh/...\"}],\",\",\" \",[\"$\",\"code\",null,{\"className\":\"px-1 rounded bg-bg-subtle\",\"children\":\"cc/...\"}],\")\"]}]]}]]}],[\"$\",\"article\",null,{\"id\":\"codex-copilot\",\"className\":\"rounded-lg border border-border p-4 bg-bg\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-semibold\",\"children\":\"Codex / GitHub Copilot Models\"}],[\"$\",\"ul\",null,{\"className\":\"mt-2 text-text-muted space-y-1\",\"children\":[[\"$\",\"li\",null,{\"children\":[\"Use model IDs with \",[\"$\",\"code\",null,{\"className\":\"px-1 rounded bg-bg-subtle\",\"children\":\"gh/\"}],\" prefix.\"]}],[\"$\",\"li\",null,{\"children\":[\"Codex-family models auto-route to\",\" \",[\"$\",\"code\",null,{\"className\":\"px-1 rounded bg-bg-subtle\",\"children\":\"/responses\"}],\".\"]}],[\"$\",\"li\",null,{\"children\":[\"Non-Codex models continue on\",\" \",[\"$\",\"code\",null,{\"className\":\"px-1 rounded bg-bg-subtle\",\"children\":\"/chat/completions\"}],\".\"]}]]}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"a:[\"$\",\"section\",null,{\"id\":\"api-reference\",\"className\":\"rounded-2xl border border-border bg-bg-subtle p-6\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-xl font-semibold\",\"children\":\"Endpoint Reference\"}],[\"$\",\"div\",null,{\"className\":\"mt-4 overflow-x-auto\",\"children\":[\"$\",\"table\",null,{\"className\":\"w-full text-sm border-collapse\",\"children\":[[\"$\",\"thead\",null,{\"children\":[\"$\",\"tr\",null,{\"className\":\"border-b border-border\",\"children\":[[\"$\",\"th\",null,{\"className\":\"text-left py-2 pr-4\",\"children\":\"Path\"}],[\"$\",\"th\",null,{\"className\":\"text-left py-2\",\"children\":\"Notes\"}]]}]}],[\"$\",\"tbody\",null,{\"children\":[[\"$\",\"tr\",\"/v1/chat/completions\",{\"className\":\"border-b border-border/60\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono\",\"children\":\"/v1/chat/completions\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-text-muted\",\"children\":\"OpenAI-compatible chat endpoint (default).\"}]]}],[\"$\",\"tr\",\"/v1/responses\",{\"className\":\"border-b border-border/60\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono\",\"children\":\"/v1/responses\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-text-muted\",\"children\":\"Responses API endpoint (supported).\"}]]}],[\"$\",\"tr\",\"/v1/models\",{\"className\":\"border-b border-border/60\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono\",\"children\":\"/v1/models\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-text-muted\",\"children\":\"Model catalog for connected providers.\"}]]}],[\"$\",\"tr\",\"/chat/completions\",{\"className\":\"border-b border-border/60\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono\",\"children\":\"/chat/completions\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-text-muted\",\"children\":\"Rewrite helper for clients that do not include /v1.\"}]]}],[\"$\",\"tr\",\"/responses\",{\"className\":\"border-b border-border/60\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono\",\"children\":\"/responses\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-text-muted\",\"children\":\"Rewrite helper for Responses clients without /v1.\"}]]}],[\"$\",\"tr\",\"/models\",{\"className\":\"border-b border-border/60\",\"children\":[[\"$\",\"td\",null,{\"className\":\"py-2 pr-4 font-mono\",\"children\":\"/models\"}],[\"$\",\"td\",null,{\"className\":\"py-2 text-text-muted\",\"children\":\"Rewrite helper for model discovery without /v1.\"}]]}]]}]]}]}]]}]\n"])</script><script>self.__next_f.push([1,"b:[\"$\",\"section\",null,{\"id\":\"troubleshooting\",\"className\":\"rounded-2xl border border-border bg-bg-subtle p-6\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-xl font-semibold\",\"children\":\"Troubleshooting\"}],[\"$\",\"ul\",null,{\"className\":\"mt-4 list-disc list-inside text-sm text-text-muted space-y-2\",\"children\":[[\"$\",\"li\",\"If the client fails with model routing, use explicit provider/model (for example: gh/gpt-5.1-codex).\",{\"children\":\"If the client fails with model routing, use explicit provider/model (for example: gh/gpt-5.1-codex).\"}],[\"$\",\"li\",\"If you receive ambiguous model errors, pick a provider prefix instead of a bare model ID.\",{\"children\":\"If you receive ambiguous model errors, pick a provider prefix instead of a bare model ID.\"}],[\"$\",\"li\",\"For GitHub Codex-family models, keep model as gh/\u003ccodex-model\u003e; router selects /responses automatically.\",{\"children\":\"For GitHub Codex-family models, keep model as gh/\u003ccodex-model\u003e; router selects /responses automatically.\"}],[\"$\",\"li\",\"Use Dashboard \u003e Providers \u003e Test Connection before testing from IDEs or external clients.\",{\"children\":\"Use Dashboard \u003e Providers \u003e Test Connection before testing from IDEs or external clients.\"}]]}]]}]\nc:[\"$\",\"$Lf\",null,{\"children\":[\"$\",\"$10\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@11\"}]}]\nd:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L12\",null,{\"children\":\"$L13\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L14\",null,{\"children\":[\"$\",\"$10\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L15\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n"])</script><script>self.__next_f.push([1,"13:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"16:I[86869,[],\"IconMark\"]\n11:null\n15:[[\"$\",\"title\",\"0\",{\"children\":\"OmniRoute — AI Gateway for Multi-Provider LLMs\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"OmniRoute is an AI gateway for multi-provider LLMs. One endpoint for all your AI providers.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?603d046c9a6fdfbb\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"$L16\",\"4\",{}]]\n"])</script></body></html>
|
|
@@ -1,30 +1,27 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[57896,["8500","static/chunks/8500-98e13bcce54aa7a0.js","600","static/chunks/600-84211b75b24af21c.js","8013","static/chunks/8013-04b90e92e614b5d9.js","7896","static/chunks/7896-
|
|
2
|
+
2:I[57896,["8500","static/chunks/8500-98e13bcce54aa7a0.js","600","static/chunks/600-84211b75b24af21c.js","8013","static/chunks/8013-04b90e92e614b5d9.js","7896","static/chunks/7896-5591822b8348e380.js","1525","static/chunks/1525-213a0aff01eb1c70.js","9305","static/chunks/app/(dashboard)/layout-e84875e22efbf437.js"],"ThemeProvider"]
|
|
3
3
|
3:I[57121,[],""]
|
|
4
4
|
4:I[74581,[],""]
|
|
5
|
-
5:I[
|
|
6
|
-
|
|
5
|
+
5:I[91369,["8500","static/chunks/8500-98e13bcce54aa7a0.js","4345","static/chunks/app/not-found-2ba4520c9df30430.js"],"default"]
|
|
6
|
+
6:I[98500,["8500","static/chunks/8500-98e13bcce54aa7a0.js","9040","static/chunks/app/docs/page-8f74097544a61b9d.js"],""]
|
|
7
|
+
e:I[96243,["4219","static/chunks/app/global-error-bbdc13af28c5aba1.js"],"default"]
|
|
7
8
|
:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
8
9
|
:HL["/_next/static/css/081a0afca5a9bd20.css","style"]
|
|
9
|
-
:HL["/_next/static/css/
|
|
10
|
+
:HL["/_next/static/css/2862d4067eab20b2.css","style"]
|
|
10
11
|
:HL["https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","style"]
|
|
11
|
-
0:{"P":null,"b":"
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
16:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
28
|
-
19:I[86869,[],"IconMark"]
|
|
29
|
-
14:null
|
|
30
|
-
18:[["$","title","0",{"children":"OmniRoute — AI Gateway for Multi-Provider LLMs"}],["$","meta","1",{"name":"description","content":"OmniRoute is an AI gateway for multi-provider LLMs. One endpoint for all your AI providers."}],["$","link","2",{"rel":"icon","href":"/favicon.ico?603d046c9a6fdfbb","type":"image/x-icon","sizes":"16x16"}],["$","link","3",{"rel":"icon","href":"/favicon.svg"}],["$","$L19","4",{}]]
|
|
12
|
+
0:{"P":null,"b":"HcUrNktdfL89Ss5F7FHxP","c":["","docs"],"q":"","i":false,"f":[[["",{"children":["docs",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/081a0afca5a9bd20.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/2862d4067eab20b2.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","link",null,{"rel":"preconnect","href":"https://fonts.googleapis.com"}],["$","link",null,{"rel":"preconnect","href":"https://fonts.gstatic.com","crossOrigin":"anonymous"}],["$","link",null,{"href":"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","rel":"stylesheet"}]]}],["$","body",null,{"className":"__variable_f367f3 font-sans antialiased","suppressHydrationWarning":true,"children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","$L5",null,{}],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"min-h-screen bg-bg text-text-main","children":["$","div",null,{"className":"mx-auto max-w-6xl px-4 sm:px-6 lg:px-8 py-10 md:py-14 flex flex-col gap-8","children":[["$","header",null,{"className":"rounded-2xl border border-border bg-bg-subtle p-6 md:p-8","children":["$","div",null,{"className":"flex flex-col gap-4 md:flex-row md:items-center md:justify-between","children":[["$","div",null,{"children":[["$","p",null,{"className":"text-xs uppercase tracking-wider text-text-muted","children":"In-App Documentation"}],["$","h1",null,{"className":"text-3xl md:text-4xl font-bold mt-1","children":["OmniRoute"," Docs"]}],["$","p",null,{"className":"text-sm md:text-base text-text-muted mt-2 max-w-3xl","children":"Quick setup, client compatibility notes, and endpoint reference to run OpenAI-compatible clients, Codex/Copilot models, and Cherry Studio integrations on this server."}]]}],["$","div",null,{"className":"flex flex-wrap gap-2","children":[["$","$L6",null,{"href":"/dashboard/endpoint","className":"px-3 py-2 rounded-lg border border-border text-sm hover:bg-bg transition-colors","children":"Open Endpoint Page"}],["$","a",null,{"href":"https://github.com/decolua/omniroute/issues","target":"_blank","rel":"noopener noreferrer","className":"px-3 py-2 rounded-lg border border-border text-sm hover:bg-bg transition-colors","children":"Report Issue"}]]}]]}]}],["$","section",null,{"id":"quick-start","className":"rounded-2xl border border-border bg-bg-subtle p-6","children":[["$","h2",null,{"className":"text-xl font-semibold","children":"Quick Start"}],["$","ol",null,{"className":"mt-4 grid grid-cols-1 md:grid-cols-2 gap-3 text-sm","children":[["$","li",null,{"className":"rounded-lg border border-border p-3 bg-bg","children":[["$","span",null,{"className":"font-semibold","children":"1. Create API key"}],["$","p",null,{"className":"text-text-muted mt-1","children":"Generate one key per app/environment."}]]}],["$","li",null,{"className":"rounded-lg border border-border p-3 bg-bg","children":[["$","span",null,{"className":"font-semibold","children":"2. Connect providers"}],["$","p",null,{"className":"text-text-muted mt-1","children":"Add provider accounts in Dashboard and run Test Connection."}]]}],["$","li",null,{"className":"rounded-lg border border-border p-3 bg-bg","children":[["$","span",null,{"className":"font-semibold","children":"3. Set client base URL"}],["$","p",null,{"className":"text-text-muted mt-1","children":["Prefer ",["$","code",null,{"className":"px-1 rounded bg-bg-subtle","children":"https://<host>/v1"}],"."]}]]}],["$","li",null,{"className":"rounded-lg border border-border p-3 bg-bg","children":[["$","span",null,{"className":"font-semibold","children":"4. Choose model"}],["$","p",null,{"className":"text-text-muted mt-1","children":["Prefer explicit provider prefix, for example"," ","$L7","."]}]]}]]}]]}],"$L8","$L9","$La","$Lb"]}]}],null,"$Lc"]}],{},null,false,false]},null,false,false]},null,false,false],"$Ld",false]],"m":"$undefined","G":["$e",[]],"S":true}
|
|
13
|
+
f:I[90484,[],"OutletBoundary"]
|
|
14
|
+
10:"$Sreact.suspense"
|
|
15
|
+
12:I[90484,[],"ViewportBoundary"]
|
|
16
|
+
14:I[90484,[],"MetadataBoundary"]
|
|
17
|
+
7:["$","code",null,{"className":"px-1 rounded bg-bg-subtle","children":"gh/gpt-5.1-codex"}]
|
|
18
|
+
8:["$","section",null,{"id":"use-cases","className":"rounded-2xl border border-border bg-bg-subtle p-6","children":[["$","h2",null,{"className":"text-xl font-semibold","children":"Common Use Cases"}],["$","div",null,{"className":"mt-4 grid grid-cols-1 md:grid-cols-3 gap-3","children":[["$","article","Single endpoint for many providers",{"className":"rounded-lg border border-border p-4 bg-bg","children":[["$","h3",null,{"className":"font-semibold","children":"Single endpoint for many providers"}],["$","p",null,{"className":"text-sm text-text-muted mt-2","children":"Point clients to one base URL and route by model prefix (for example: gh/, cc/, kr/, openai/)."}]]}],["$","article","Fallback and model switching with combos",{"className":"rounded-lg border border-border p-4 bg-bg","children":[["$","h3",null,{"className":"font-semibold","children":"Fallback and model switching with combos"}],["$","p",null,{"className":"text-sm text-text-muted mt-2","children":"Create combo models in Dashboard and keep client config stable while providers rotate internally."}]]}],["$","article","Usage, cost and debug visibility",{"className":"rounded-lg border border-border p-4 bg-bg","children":[["$","h3",null,{"className":"font-semibold","children":"Usage, cost and debug visibility"}],["$","p",null,{"className":"text-sm text-text-muted mt-2","children":"Track tokens/cost by provider, account and API key in Usage + Logger tabs."}]]}]]}]]}]
|
|
19
|
+
9:["$","section",null,{"id":"client-compatibility","className":"rounded-2xl border border-border bg-bg-subtle p-6","children":[["$","h2",null,{"className":"text-xl font-semibold","children":"Client Compatibility"}],["$","div",null,{"className":"mt-4 grid grid-cols-1 md:grid-cols-2 gap-3 text-sm","children":[["$","article",null,{"id":"cherry-studio","className":"rounded-lg border border-border p-4 bg-bg","children":[["$","h3",null,{"className":"font-semibold","children":"Cherry Studio"}],["$","ul",null,{"className":"mt-2 text-text-muted space-y-1","children":[["$","li",null,{"children":["Base URL:"," ",["$","code",null,{"className":"px-1 rounded bg-bg-subtle","children":"https://<host>/v1"}]]}],["$","li",null,{"children":["Chat endpoint:"," ",["$","code",null,{"className":"px-1 rounded bg-bg-subtle","children":"/chat/completions"}]]}],["$","li",null,{"children":["Model recommendation: explicit prefix (",["$","code",null,{"className":"px-1 rounded bg-bg-subtle","children":"gh/..."}],","," ",["$","code",null,{"className":"px-1 rounded bg-bg-subtle","children":"cc/..."}],")"]}]]}]]}],["$","article",null,{"id":"codex-copilot","className":"rounded-lg border border-border p-4 bg-bg","children":[["$","h3",null,{"className":"font-semibold","children":"Codex / GitHub Copilot Models"}],["$","ul",null,{"className":"mt-2 text-text-muted space-y-1","children":[["$","li",null,{"children":["Use model IDs with ",["$","code",null,{"className":"px-1 rounded bg-bg-subtle","children":"gh/"}]," prefix."]}],["$","li",null,{"children":["Codex-family models auto-route to"," ",["$","code",null,{"className":"px-1 rounded bg-bg-subtle","children":"/responses"}],"."]}],["$","li",null,{"children":["Non-Codex models continue on"," ",["$","code",null,{"className":"px-1 rounded bg-bg-subtle","children":"/chat/completions"}],"."]}]]}]]}]]}]]}]
|
|
20
|
+
a:["$","section",null,{"id":"api-reference","className":"rounded-2xl border border-border bg-bg-subtle p-6","children":[["$","h2",null,{"className":"text-xl font-semibold","children":"Endpoint Reference"}],["$","div",null,{"className":"mt-4 overflow-x-auto","children":["$","table",null,{"className":"w-full text-sm border-collapse","children":[["$","thead",null,{"children":["$","tr",null,{"className":"border-b border-border","children":[["$","th",null,{"className":"text-left py-2 pr-4","children":"Path"}],["$","th",null,{"className":"text-left py-2","children":"Notes"}]]}]}],["$","tbody",null,{"children":[["$","tr","/v1/chat/completions",{"className":"border-b border-border/60","children":[["$","td",null,{"className":"py-2 pr-4 font-mono","children":"/v1/chat/completions"}],["$","td",null,{"className":"py-2 text-text-muted","children":"OpenAI-compatible chat endpoint (default)."}]]}],["$","tr","/v1/responses",{"className":"border-b border-border/60","children":[["$","td",null,{"className":"py-2 pr-4 font-mono","children":"/v1/responses"}],["$","td",null,{"className":"py-2 text-text-muted","children":"Responses API endpoint (supported)."}]]}],["$","tr","/v1/models",{"className":"border-b border-border/60","children":[["$","td",null,{"className":"py-2 pr-4 font-mono","children":"/v1/models"}],["$","td",null,{"className":"py-2 text-text-muted","children":"Model catalog for connected providers."}]]}],["$","tr","/chat/completions",{"className":"border-b border-border/60","children":[["$","td",null,{"className":"py-2 pr-4 font-mono","children":"/chat/completions"}],["$","td",null,{"className":"py-2 text-text-muted","children":"Rewrite helper for clients that do not include /v1."}]]}],["$","tr","/responses",{"className":"border-b border-border/60","children":[["$","td",null,{"className":"py-2 pr-4 font-mono","children":"/responses"}],["$","td",null,{"className":"py-2 text-text-muted","children":"Rewrite helper for Responses clients without /v1."}]]}],["$","tr","/models",{"className":"border-b border-border/60","children":[["$","td",null,{"className":"py-2 pr-4 font-mono","children":"/models"}],["$","td",null,{"className":"py-2 text-text-muted","children":"Rewrite helper for model discovery without /v1."}]]}]]}]]}]}]]}]
|
|
21
|
+
b:["$","section",null,{"id":"troubleshooting","className":"rounded-2xl border border-border bg-bg-subtle p-6","children":[["$","h2",null,{"className":"text-xl font-semibold","children":"Troubleshooting"}],["$","ul",null,{"className":"mt-4 list-disc list-inside text-sm text-text-muted space-y-2","children":[["$","li","If the client fails with model routing, use explicit provider/model (for example: gh/gpt-5.1-codex).",{"children":"If the client fails with model routing, use explicit provider/model (for example: gh/gpt-5.1-codex)."}],["$","li","If you receive ambiguous model errors, pick a provider prefix instead of a bare model ID.",{"children":"If you receive ambiguous model errors, pick a provider prefix instead of a bare model ID."}],["$","li","For GitHub Codex-family models, keep model as gh/<codex-model>; router selects /responses automatically.",{"children":"For GitHub Codex-family models, keep model as gh/<codex-model>; router selects /responses automatically."}],["$","li","Use Dashboard > Providers > Test Connection before testing from IDEs or external clients.",{"children":"Use Dashboard > Providers > Test Connection before testing from IDEs or external clients."}]]}]]}]
|
|
22
|
+
c:["$","$Lf",null,{"children":["$","$10",null,{"name":"Next.MetadataOutlet","children":"$@11"}]}]
|
|
23
|
+
d:["$","$1","h",{"children":[null,["$","$L12",null,{"children":"$L13"}],["$","div",null,{"hidden":true,"children":["$","$L14",null,{"children":["$","$10",null,{"name":"Next.Metadata","children":"$L15"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}]
|
|
24
|
+
13:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
25
|
+
16:I[86869,[],"IconMark"]
|
|
26
|
+
11:null
|
|
27
|
+
15:[["$","title","0",{"children":"OmniRoute — AI Gateway for Multi-Provider LLMs"}],["$","meta","1",{"name":"description","content":"OmniRoute is an AI gateway for multi-provider LLMs. One endpoint for all your AI providers."}],["$","link","2",{"rel":"icon","href":"/favicon.ico?603d046c9a6fdfbb","type":"image/x-icon","sizes":"16x16"}],["$","link","3",{"rel":"icon","href":"/favicon.svg"}],["$","$L16","4",{}]]
|
|
@@ -1,30 +1,27 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[57896,["8500","static/chunks/8500-98e13bcce54aa7a0.js","600","static/chunks/600-84211b75b24af21c.js","8013","static/chunks/8013-04b90e92e614b5d9.js","7896","static/chunks/7896-
|
|
2
|
+
2:I[57896,["8500","static/chunks/8500-98e13bcce54aa7a0.js","600","static/chunks/600-84211b75b24af21c.js","8013","static/chunks/8013-04b90e92e614b5d9.js","7896","static/chunks/7896-5591822b8348e380.js","1525","static/chunks/1525-213a0aff01eb1c70.js","9305","static/chunks/app/(dashboard)/layout-e84875e22efbf437.js"],"ThemeProvider"]
|
|
3
3
|
3:I[57121,[],""]
|
|
4
4
|
4:I[74581,[],""]
|
|
5
|
-
5:I[
|
|
6
|
-
|
|
5
|
+
5:I[91369,["8500","static/chunks/8500-98e13bcce54aa7a0.js","4345","static/chunks/app/not-found-2ba4520c9df30430.js"],"default"]
|
|
6
|
+
6:I[98500,["8500","static/chunks/8500-98e13bcce54aa7a0.js","9040","static/chunks/app/docs/page-8f74097544a61b9d.js"],""]
|
|
7
|
+
e:I[96243,["4219","static/chunks/app/global-error-bbdc13af28c5aba1.js"],"default"]
|
|
7
8
|
:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
8
9
|
:HL["/_next/static/css/081a0afca5a9bd20.css","style"]
|
|
9
|
-
:HL["/_next/static/css/
|
|
10
|
+
:HL["/_next/static/css/2862d4067eab20b2.css","style"]
|
|
10
11
|
:HL["https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","style"]
|
|
11
|
-
0:{"P":null,"b":"
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
16:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
28
|
-
19:I[86869,[],"IconMark"]
|
|
29
|
-
14:null
|
|
30
|
-
18:[["$","title","0",{"children":"OmniRoute — AI Gateway for Multi-Provider LLMs"}],["$","meta","1",{"name":"description","content":"OmniRoute is an AI gateway for multi-provider LLMs. One endpoint for all your AI providers."}],["$","link","2",{"rel":"icon","href":"/favicon.ico?603d046c9a6fdfbb","type":"image/x-icon","sizes":"16x16"}],["$","link","3",{"rel":"icon","href":"/favicon.svg"}],["$","$L19","4",{}]]
|
|
12
|
+
0:{"P":null,"b":"HcUrNktdfL89Ss5F7FHxP","c":["","docs"],"q":"","i":false,"f":[[["",{"children":["docs",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/081a0afca5a9bd20.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/2862d4067eab20b2.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","link",null,{"rel":"preconnect","href":"https://fonts.googleapis.com"}],["$","link",null,{"rel":"preconnect","href":"https://fonts.gstatic.com","crossOrigin":"anonymous"}],["$","link",null,{"href":"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","rel":"stylesheet"}]]}],["$","body",null,{"className":"__variable_f367f3 font-sans antialiased","suppressHydrationWarning":true,"children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","$L5",null,{}],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"min-h-screen bg-bg text-text-main","children":["$","div",null,{"className":"mx-auto max-w-6xl px-4 sm:px-6 lg:px-8 py-10 md:py-14 flex flex-col gap-8","children":[["$","header",null,{"className":"rounded-2xl border border-border bg-bg-subtle p-6 md:p-8","children":["$","div",null,{"className":"flex flex-col gap-4 md:flex-row md:items-center md:justify-between","children":[["$","div",null,{"children":[["$","p",null,{"className":"text-xs uppercase tracking-wider text-text-muted","children":"In-App Documentation"}],["$","h1",null,{"className":"text-3xl md:text-4xl font-bold mt-1","children":["OmniRoute"," Docs"]}],["$","p",null,{"className":"text-sm md:text-base text-text-muted mt-2 max-w-3xl","children":"Quick setup, client compatibility notes, and endpoint reference to run OpenAI-compatible clients, Codex/Copilot models, and Cherry Studio integrations on this server."}]]}],["$","div",null,{"className":"flex flex-wrap gap-2","children":[["$","$L6",null,{"href":"/dashboard/endpoint","className":"px-3 py-2 rounded-lg border border-border text-sm hover:bg-bg transition-colors","children":"Open Endpoint Page"}],["$","a",null,{"href":"https://github.com/decolua/omniroute/issues","target":"_blank","rel":"noopener noreferrer","className":"px-3 py-2 rounded-lg border border-border text-sm hover:bg-bg transition-colors","children":"Report Issue"}]]}]]}]}],["$","section",null,{"id":"quick-start","className":"rounded-2xl border border-border bg-bg-subtle p-6","children":[["$","h2",null,{"className":"text-xl font-semibold","children":"Quick Start"}],["$","ol",null,{"className":"mt-4 grid grid-cols-1 md:grid-cols-2 gap-3 text-sm","children":[["$","li",null,{"className":"rounded-lg border border-border p-3 bg-bg","children":[["$","span",null,{"className":"font-semibold","children":"1. Create API key"}],["$","p",null,{"className":"text-text-muted mt-1","children":"Generate one key per app/environment."}]]}],["$","li",null,{"className":"rounded-lg border border-border p-3 bg-bg","children":[["$","span",null,{"className":"font-semibold","children":"2. Connect providers"}],["$","p",null,{"className":"text-text-muted mt-1","children":"Add provider accounts in Dashboard and run Test Connection."}]]}],["$","li",null,{"className":"rounded-lg border border-border p-3 bg-bg","children":[["$","span",null,{"className":"font-semibold","children":"3. Set client base URL"}],["$","p",null,{"className":"text-text-muted mt-1","children":["Prefer ",["$","code",null,{"className":"px-1 rounded bg-bg-subtle","children":"https://<host>/v1"}],"."]}]]}],["$","li",null,{"className":"rounded-lg border border-border p-3 bg-bg","children":[["$","span",null,{"className":"font-semibold","children":"4. Choose model"}],["$","p",null,{"className":"text-text-muted mt-1","children":["Prefer explicit provider prefix, for example"," ","$L7","."]}]]}]]}]]}],"$L8","$L9","$La","$Lb"]}]}],null,"$Lc"]}],{},null,false,false]},null,false,false]},null,false,false],"$Ld",false]],"m":"$undefined","G":["$e",[]],"S":true}
|
|
13
|
+
f:I[90484,[],"OutletBoundary"]
|
|
14
|
+
10:"$Sreact.suspense"
|
|
15
|
+
12:I[90484,[],"ViewportBoundary"]
|
|
16
|
+
14:I[90484,[],"MetadataBoundary"]
|
|
17
|
+
7:["$","code",null,{"className":"px-1 rounded bg-bg-subtle","children":"gh/gpt-5.1-codex"}]
|
|
18
|
+
8:["$","section",null,{"id":"use-cases","className":"rounded-2xl border border-border bg-bg-subtle p-6","children":[["$","h2",null,{"className":"text-xl font-semibold","children":"Common Use Cases"}],["$","div",null,{"className":"mt-4 grid grid-cols-1 md:grid-cols-3 gap-3","children":[["$","article","Single endpoint for many providers",{"className":"rounded-lg border border-border p-4 bg-bg","children":[["$","h3",null,{"className":"font-semibold","children":"Single endpoint for many providers"}],["$","p",null,{"className":"text-sm text-text-muted mt-2","children":"Point clients to one base URL and route by model prefix (for example: gh/, cc/, kr/, openai/)."}]]}],["$","article","Fallback and model switching with combos",{"className":"rounded-lg border border-border p-4 bg-bg","children":[["$","h3",null,{"className":"font-semibold","children":"Fallback and model switching with combos"}],["$","p",null,{"className":"text-sm text-text-muted mt-2","children":"Create combo models in Dashboard and keep client config stable while providers rotate internally."}]]}],["$","article","Usage, cost and debug visibility",{"className":"rounded-lg border border-border p-4 bg-bg","children":[["$","h3",null,{"className":"font-semibold","children":"Usage, cost and debug visibility"}],["$","p",null,{"className":"text-sm text-text-muted mt-2","children":"Track tokens/cost by provider, account and API key in Usage + Logger tabs."}]]}]]}]]}]
|
|
19
|
+
9:["$","section",null,{"id":"client-compatibility","className":"rounded-2xl border border-border bg-bg-subtle p-6","children":[["$","h2",null,{"className":"text-xl font-semibold","children":"Client Compatibility"}],["$","div",null,{"className":"mt-4 grid grid-cols-1 md:grid-cols-2 gap-3 text-sm","children":[["$","article",null,{"id":"cherry-studio","className":"rounded-lg border border-border p-4 bg-bg","children":[["$","h3",null,{"className":"font-semibold","children":"Cherry Studio"}],["$","ul",null,{"className":"mt-2 text-text-muted space-y-1","children":[["$","li",null,{"children":["Base URL:"," ",["$","code",null,{"className":"px-1 rounded bg-bg-subtle","children":"https://<host>/v1"}]]}],["$","li",null,{"children":["Chat endpoint:"," ",["$","code",null,{"className":"px-1 rounded bg-bg-subtle","children":"/chat/completions"}]]}],["$","li",null,{"children":["Model recommendation: explicit prefix (",["$","code",null,{"className":"px-1 rounded bg-bg-subtle","children":"gh/..."}],","," ",["$","code",null,{"className":"px-1 rounded bg-bg-subtle","children":"cc/..."}],")"]}]]}]]}],["$","article",null,{"id":"codex-copilot","className":"rounded-lg border border-border p-4 bg-bg","children":[["$","h3",null,{"className":"font-semibold","children":"Codex / GitHub Copilot Models"}],["$","ul",null,{"className":"mt-2 text-text-muted space-y-1","children":[["$","li",null,{"children":["Use model IDs with ",["$","code",null,{"className":"px-1 rounded bg-bg-subtle","children":"gh/"}]," prefix."]}],["$","li",null,{"children":["Codex-family models auto-route to"," ",["$","code",null,{"className":"px-1 rounded bg-bg-subtle","children":"/responses"}],"."]}],["$","li",null,{"children":["Non-Codex models continue on"," ",["$","code",null,{"className":"px-1 rounded bg-bg-subtle","children":"/chat/completions"}],"."]}]]}]]}]]}]]}]
|
|
20
|
+
a:["$","section",null,{"id":"api-reference","className":"rounded-2xl border border-border bg-bg-subtle p-6","children":[["$","h2",null,{"className":"text-xl font-semibold","children":"Endpoint Reference"}],["$","div",null,{"className":"mt-4 overflow-x-auto","children":["$","table",null,{"className":"w-full text-sm border-collapse","children":[["$","thead",null,{"children":["$","tr",null,{"className":"border-b border-border","children":[["$","th",null,{"className":"text-left py-2 pr-4","children":"Path"}],["$","th",null,{"className":"text-left py-2","children":"Notes"}]]}]}],["$","tbody",null,{"children":[["$","tr","/v1/chat/completions",{"className":"border-b border-border/60","children":[["$","td",null,{"className":"py-2 pr-4 font-mono","children":"/v1/chat/completions"}],["$","td",null,{"className":"py-2 text-text-muted","children":"OpenAI-compatible chat endpoint (default)."}]]}],["$","tr","/v1/responses",{"className":"border-b border-border/60","children":[["$","td",null,{"className":"py-2 pr-4 font-mono","children":"/v1/responses"}],["$","td",null,{"className":"py-2 text-text-muted","children":"Responses API endpoint (supported)."}]]}],["$","tr","/v1/models",{"className":"border-b border-border/60","children":[["$","td",null,{"className":"py-2 pr-4 font-mono","children":"/v1/models"}],["$","td",null,{"className":"py-2 text-text-muted","children":"Model catalog for connected providers."}]]}],["$","tr","/chat/completions",{"className":"border-b border-border/60","children":[["$","td",null,{"className":"py-2 pr-4 font-mono","children":"/chat/completions"}],["$","td",null,{"className":"py-2 text-text-muted","children":"Rewrite helper for clients that do not include /v1."}]]}],["$","tr","/responses",{"className":"border-b border-border/60","children":[["$","td",null,{"className":"py-2 pr-4 font-mono","children":"/responses"}],["$","td",null,{"className":"py-2 text-text-muted","children":"Rewrite helper for Responses clients without /v1."}]]}],["$","tr","/models",{"className":"border-b border-border/60","children":[["$","td",null,{"className":"py-2 pr-4 font-mono","children":"/models"}],["$","td",null,{"className":"py-2 text-text-muted","children":"Rewrite helper for model discovery without /v1."}]]}]]}]]}]}]]}]
|
|
21
|
+
b:["$","section",null,{"id":"troubleshooting","className":"rounded-2xl border border-border bg-bg-subtle p-6","children":[["$","h2",null,{"className":"text-xl font-semibold","children":"Troubleshooting"}],["$","ul",null,{"className":"mt-4 list-disc list-inside text-sm text-text-muted space-y-2","children":[["$","li","If the client fails with model routing, use explicit provider/model (for example: gh/gpt-5.1-codex).",{"children":"If the client fails with model routing, use explicit provider/model (for example: gh/gpt-5.1-codex)."}],["$","li","If you receive ambiguous model errors, pick a provider prefix instead of a bare model ID.",{"children":"If you receive ambiguous model errors, pick a provider prefix instead of a bare model ID."}],["$","li","For GitHub Codex-family models, keep model as gh/<codex-model>; router selects /responses automatically.",{"children":"For GitHub Codex-family models, keep model as gh/<codex-model>; router selects /responses automatically."}],["$","li","Use Dashboard > Providers > Test Connection before testing from IDEs or external clients.",{"children":"Use Dashboard > Providers > Test Connection before testing from IDEs or external clients."}]]}]]}]
|
|
22
|
+
c:["$","$Lf",null,{"children":["$","$10",null,{"name":"Next.MetadataOutlet","children":"$@11"}]}]
|
|
23
|
+
d:["$","$1","h",{"children":[null,["$","$L12",null,{"children":"$L13"}],["$","div",null,{"hidden":true,"children":["$","$L14",null,{"children":["$","$10",null,{"name":"Next.Metadata","children":"$L15"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}]
|
|
24
|
+
13:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
25
|
+
16:I[86869,[],"IconMark"]
|
|
26
|
+
11:null
|
|
27
|
+
15:[["$","title","0",{"children":"OmniRoute — AI Gateway for Multi-Provider LLMs"}],["$","meta","1",{"name":"description","content":"OmniRoute is an AI gateway for multi-provider LLMs. One endpoint for all your AI providers."}],["$","link","2",{"rel":"icon","href":"/favicon.ico?603d046c9a6fdfbb","type":"image/x-icon","sizes":"16x16"}],["$","link","3",{"rel":"icon","href":"/favicon.svg"}],["$","$L16","4",{}]]
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
3:I[90484,[],"MetadataBoundary"]
|
|
4
4
|
4:"$Sreact.suspense"
|
|
5
5
|
5:I[86869,[],"IconMark"]
|
|
6
|
-
0:{"buildId":"
|
|
6
|
+
0:{"buildId":"HcUrNktdfL89Ss5F7FHxP","rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"OmniRoute — AI Gateway for Multi-Provider LLMs"}],["$","meta","1",{"name":"description","content":"OmniRoute is an AI gateway for multi-provider LLMs. One endpoint for all your AI providers."}],["$","link","2",{"rel":"icon","href":"/favicon.ico?603d046c9a6fdfbb","type":"image/x-icon","sizes":"16x16"}],["$","link","3",{"rel":"icon","href":"/favicon.svg"}],["$","$L5","4",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"loading":null,"isPartial":false}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[57896,["8500","static/chunks/8500-98e13bcce54aa7a0.js","600","static/chunks/600-84211b75b24af21c.js","8013","static/chunks/8013-04b90e92e614b5d9.js","7896","static/chunks/7896-
|
|
2
|
+
2:I[57896,["8500","static/chunks/8500-98e13bcce54aa7a0.js","600","static/chunks/600-84211b75b24af21c.js","8013","static/chunks/8013-04b90e92e614b5d9.js","7896","static/chunks/7896-5591822b8348e380.js","1525","static/chunks/1525-213a0aff01eb1c70.js","9305","static/chunks/app/(dashboard)/layout-e84875e22efbf437.js"],"ThemeProvider"]
|
|
3
3
|
3:I[57121,[],""]
|
|
4
4
|
4:I[74581,[],""]
|
|
5
|
+
5:I[91369,["8500","static/chunks/8500-98e13bcce54aa7a0.js","4345","static/chunks/app/not-found-2ba4520c9df30430.js"],"default"]
|
|
5
6
|
:HL["/_next/static/css/081a0afca5a9bd20.css","style"]
|
|
6
|
-
:HL["/_next/static/css/
|
|
7
|
+
:HL["/_next/static/css/2862d4067eab20b2.css","style"]
|
|
7
8
|
:HL["https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","style"]
|
|
8
|
-
0:{"buildId":"
|
|
9
|
+
0:{"buildId":"HcUrNktdfL89Ss5F7FHxP","rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/081a0afca5a9bd20.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/2862d4067eab20b2.css","precedence":"next"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","link",null,{"rel":"preconnect","href":"https://fonts.googleapis.com"}],["$","link",null,{"rel":"preconnect","href":"https://fonts.gstatic.com","crossOrigin":"anonymous"}],["$","link",null,{"href":"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","rel":"stylesheet"}]]}],["$","body",null,{"className":"__variable_f367f3 font-sans antialiased","suppressHydrationWarning":true,"children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":[["$","$L5",null,{}],[]]}]}]}]]}]]}],"loading":null,"isPartial":false}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
2
2
|
:HL["/_next/static/css/081a0afca5a9bd20.css","style"]
|
|
3
|
-
:HL["/_next/static/css/
|
|
3
|
+
:HL["/_next/static/css/2862d4067eab20b2.css","style"]
|
|
4
4
|
:HL["https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","style"]
|
|
5
|
-
0:{"buildId":"
|
|
5
|
+
0:{"buildId":"HcUrNktdfL89Ss5F7FHxP","tree":{"name":"","paramType":null,"paramKey":"","hasRuntimePrefetch":false,"slots":{"children":{"name":"docs","paramType":null,"paramKey":"docs","hasRuntimePrefetch":false,"slots":{"children":{"name":"__PAGE__","paramType":null,"paramKey":"__PAGE__","hasRuntimePrefetch":false,"slots":null,"isRootLayout":false}},"isRootLayout":false}},"isRootLayout":true},"staleTime":300}
|