omniroute 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -3
- package/app/.next/BUILD_ID +1 -1
- package/app/.next/app-path-routes-manifest.json +26 -20
- package/app/.next/build-manifest.json +3 -3
- package/app/.next/prerender-manifest.json +15 -15
- package/app/.next/required-server-files.json +3 -3
- package/app/.next/routes-manifest.json +36 -0
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 -0
- package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page.js.nft.json +1 -0
- package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -0
- package/app/.next/server/app/(dashboard)/dashboard/translator/page.js +1 -1
- 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 +1 -1
- 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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error.html +2 -2
- package/app/.next/server/app/_global-error.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- 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 +1 -1
- package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +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 +3 -3
- package/app/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/app/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
- package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- 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/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 +2 -2
- 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 +2 -2
- 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.js.nft.json +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.js.nft.json +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/db-backups/route_client-reference-manifest.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_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/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/pricing/defaults/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/pricing/models/route.js +156 -0
- package/app/.next/server/app/api/pricing/models/route.js.nft.json +1 -0
- package/app/.next/server/app/api/pricing/models/route_client-reference-manifest.js +1 -0
- 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_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 +1 -1
- 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 -0
- package/app/.next/server/app/api/rate-limits/route.js.nft.json +1 -0
- package/app/.next/server/app/api/rate-limits/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.js +1 -0
- package/app/.next/server/app/api/sessions/route.js.nft.json +1 -0
- package/app/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -0
- 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.js +1 -0
- package/app/.next/server/app/api/settings/ip-filter/route.js.nft.json +1 -0
- package/app/.next/server/app/api/settings/ip-filter/route_client-reference-manifest.js +1 -0
- 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.js +156 -0
- package/app/.next/server/app/api/settings/system-prompt/route.js.nft.json +1 -0
- package/app/.next/server/app/api/settings/system-prompt/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/settings/thinking-budget/route.js +156 -0
- package/app/.next/server/app/api/settings/thinking-budget/route.js.nft.json +1 -0
- package/app/.next/server/app/api/settings/thinking-budget/route_client-reference-manifest.js +1 -0
- 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/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 -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 +1 -1
- package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_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_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 -1
- 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 -1
- 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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/moderations/route.js +1 -1
- 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 +1 -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 +1 -1
- 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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/callback.html +1 -1
- package/app/.next/server/app/callback.rsc +3 -3
- package/app/.next/server/app/callback.segments/_full.segment.rsc +3 -3
- package/app/.next/server/app/callback.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/callback.segments/_index.segment.rsc +3 -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 +5 -5
- 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 +5 -5
- 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 +3 -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 +5 -5
- 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 +5 -5
- package/app/.next/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/combos.segments/_index.segment.rsc +3 -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 +5 -5
- 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 +5 -5
- package/app/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +3 -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 +4 -4
- 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 +4 -4
- package/app/.next/server/app/dashboard/onboarding.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/onboarding.segments/_index.segment.rsc +3 -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 +4 -4
- 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 +4 -4
- package/app/.next/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/profile.segments/_index.segment.rsc +3 -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 +5 -5
- 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 +5 -5
- 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 +3 -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 +5 -5
- 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 +5 -5
- package/app/.next/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers.segments/_index.segment.rsc +3 -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.meta +6 -5
- package/app/.next/server/app/dashboard/settings/pricing.rsc +17 -16
- package/app/.next/server/app/dashboard/settings/pricing.segments/{dashboard → !KGRhc2hib2FyZCk/dashboard}/settings/pricing/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/settings/pricing.segments/{dashboard → !KGRhc2hib2FyZCk/dashboard}/settings/pricing.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/{dashboard → !KGRhc2hib2FyZCk/dashboard}/settings.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/{dashboard.segment.rsc → !KGRhc2hib2FyZCk/dashboard.segment.rsc} +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -0
- package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +17 -16
- 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 +3 -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 +5 -5
- 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 +5 -5
- package/app/.next/server/app/dashboard/settings.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings.segments/_index.segment.rsc +3 -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 +5 -5
- 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 +5 -5
- package/app/.next/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/translator.segments/_index.segment.rsc +3 -3
- package/app/.next/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/usage.html +1 -1
- package/app/.next/server/app/dashboard/usage.rsc +5 -5
- 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 +5 -5
- package/app/.next/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/usage.segments/_index.segment.rsc +3 -3
- package/app/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/docs/page.js +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 +3 -3
- package/app/.next/server/app/docs.segments/_full.segment.rsc +3 -3
- package/app/.next/server/app/docs.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/docs.segments/_index.segment.rsc +3 -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 +3 -3
- package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/app/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/index.segments/_index.segment.rsc +3 -3
- package/app/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- 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 +3 -3
- package/app/.next/server/app/landing.segments/_full.segment.rsc +3 -3
- package/app/.next/server/app/landing.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/landing.segments/_index.segment.rsc +3 -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 +1 -1
- 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 +4 -4
- package/app/.next/server/app/login.segments/_full.segment.rsc +4 -4
- package/app/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/login.segments/_index.segment.rsc +3 -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_client-reference-manifest.js +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 +3 -3
- package/app/.next/server/app/privacy.segments/_full.segment.rsc +3 -3
- package/app/.next/server/app/privacy.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/privacy.segments/_index.segment.rsc +3 -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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/terms.html +1 -1
- package/app/.next/server/app/terms.rsc +3 -3
- package/app/.next/server/app/terms.segments/_full.segment.rsc +3 -3
- package/app/.next/server/app/terms.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/terms.segments/_index.segment.rsc +3 -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 +26 -20
- package/app/.next/server/chunks/1483.js +156 -0
- package/app/.next/server/chunks/2399.js +1 -0
- package/app/.next/server/chunks/3542.js +2 -2
- package/app/.next/server/chunks/4755.js +1 -1
- package/app/.next/server/chunks/5640.js +1 -1
- package/app/.next/server/chunks/6194.js +1 -0
- package/app/.next/server/chunks/7615.js +1 -1
- package/app/.next/server/chunks/8108.js +1 -1
- package/app/.next/server/chunks/867.js +1 -0
- package/app/.next/server/chunks/9188.js +1 -1
- package/app/.next/server/middleware-build-manifest.js +1 -1
- 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/XnNWFvV2IXZ4xuX0F1Skg/_buildManifest.js +1 -0
- package/app/.next/static/chunks/1525-8aaae9ffdaa67144.js +7 -0
- package/app/.next/static/chunks/{7896-81ec5010e89beaf8.js → 7896-4e519429f67f381e.js} +1 -1
- package/app/.next/static/chunks/8013-04b90e92e614b5d9.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-cef5a81883757c60.js → page-148b0ad18f6bec86.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/{page-82b1b6f14eca9957.js → page-49caa7328acff82d.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-ab8b870377087bc7.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/page-bc5764734a448526.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-b731afd377df1fa6.js → page-fb1fa9ae8a3af8c8.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/new/{page-3c6d0b7fade7dd73.js → page-4bd8ea64f2e8008b.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/{page-e5b8862ba1197935.js → page-4140db5a52fc7323.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/page-70619a1bafdc9c4c.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/pricing/page-a22d14af518d5b43.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/translator/{page-b018be5904c4909c.js → page-c891465a1a2938d2.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-9ee5997edb778414.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/{layout-c26bba15e099e382.js → layout-0ee92d902ee7a39c.js} +1 -1
- package/app/.next/static/chunks/app/_global-error/page-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/auth/login/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/auth/logout/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/backups/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/codex-profiles/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/guide-settings/[toolId]/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/runtime/[toolId]/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/cloud/auth/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/cloud/credentials/update/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/cloud/model/resolve/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/cloud/models/alias/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/combos/[id]/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/combos/metrics/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/combos/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/combos/test/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/db-backups/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/init/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/keys/[id]/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/keys/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/models/alias/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/models/catalog/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/models/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/cursor/import/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/kiro/import/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/pricing/defaults/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/pricing/models/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/pricing/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/provider-models/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/provider-nodes/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/provider-nodes/validate/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/providers/[id]/models/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/providers/[id]/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/providers/[id]/test/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/providers/client/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/providers/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/providers/test-batch/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/providers/validate/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/rate-limit/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/rate-limits/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/restart/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/sessions/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/settings/combo-defaults/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/settings/ip-filter/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/settings/proxy/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/settings/proxy/test/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/settings/require-login/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/settings/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/settings/system-prompt/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/settings/thinking-budget/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/shutdown/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/storage/health/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/sync/cloud/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/sync/initialize/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/tags/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/translator/detect/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/translator/history/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/translator/load/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/translator/save/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/translator/send/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/translator/translate/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/usage/[connectionId]/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/usage/analytics/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/usage/call-logs/[id]/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/usage/call-logs/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/usage/history/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/usage/logs/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/usage/proxy-logs/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/usage/request-logs/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/v1/api/chat/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/v1/audio/speech/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/v1/chat/completions/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/v1/embeddings/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/v1/images/generations/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/v1/messages/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/v1/models/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/v1/moderations/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/v1/providers/[provider]/chat/completions/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/v1/providers/[provider]/embeddings/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/v1/providers/[provider]/images/generations/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/v1/rerank/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/v1/responses/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/v1/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/api/v1beta/models/route-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/app/login/{page-6ae7a54603d39926.js → page-e99ed6a85e91ae7c.js} +1 -1
- package/app/.next/static/chunks/app/page-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-c452284fb77ecee0.js +1 -0
- package/app/.next/static/chunks/webpack-a2b6b20e2db553f5.js +1 -0
- package/app/.next/static/css/5309860f6e486620.css +1 -0
- package/app/package.json +1 -1
- package/app/server.js +1 -1
- package/package.json +1 -1
- package/app/.next/server/app/dashboard/settings/pricing/page.js +0 -2
- package/app/.next/server/app/dashboard/settings/pricing/page.js.nft.json +0 -1
- package/app/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +0 -1
- package/app/.next/server/chunks/1137.js +0 -1
- package/app/.next/server/chunks/351.js +0 -1
- package/app/.next/server/chunks/8152.js +0 -1
- package/app/.next/server/chunks/8668.js +0 -156
- package/app/.next/static/chunks/1525-92e9b6d0efa5de15.js +0 -7
- package/app/.next/static/chunks/7765-b6a02dccdc69da55.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-db18d6249d1949df.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/page-03ddcbc4fc0b6c18.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/page-8e8021b6e227b5a9.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-bd8e6146106d32af.js +0 -1
- package/app/.next/static/chunks/app/_global-error/page-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/auth/login/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/auth/logout/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/backups/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/codex-profiles/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/guide-settings/[toolId]/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/runtime/[toolId]/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/cloud/auth/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/cloud/credentials/update/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/cloud/model/resolve/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/cloud/models/alias/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/combos/[id]/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/combos/metrics/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/combos/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/combos/test/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/db-backups/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/init/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/keys/[id]/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/keys/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/models/alias/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/models/catalog/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/models/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/cursor/import/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/import/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/pricing/defaults/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/pricing/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/provider-models/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/provider-nodes/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/provider-nodes/validate/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/models/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/test/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/providers/client/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/providers/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/providers/test-batch/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/providers/validate/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/rate-limit/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/restart/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/settings/combo-defaults/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/settings/proxy/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/settings/proxy/test/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/settings/require-login/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/settings/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/shutdown/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/storage/health/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/sync/cloud/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/sync/initialize/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/tags/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/translator/detect/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/translator/history/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/translator/load/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/translator/save/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/translator/send/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/translator/translate/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/usage/[connectionId]/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/usage/analytics/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/usage/call-logs/[id]/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/usage/call-logs/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/usage/history/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/usage/logs/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/usage/proxy-logs/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/usage/request-logs/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/v1/api/chat/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/v1/audio/speech/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/v1/chat/completions/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/v1/embeddings/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/v1/images/generations/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/v1/messages/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/v1/models/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/v1/moderations/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/v1/providers/[provider]/chat/completions/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/v1/providers/[provider]/embeddings/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/v1/providers/[provider]/images/generations/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/v1/rerank/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/v1/responses/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/v1/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/api/v1beta/models/route-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/app/dashboard/settings/pricing/page-878ee68a0303128f.js +0 -1
- package/app/.next/static/chunks/app/page-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-529101fdcd1e3b30.js +0 -1
- package/app/.next/static/chunks/webpack-f742cb5c6c3130ec.js +0 -1
- package/app/.next/static/css/777d65a484db49a1.css +0 -1
- package/app/.next/static/l-F9C6gggjrUWKnAln0Wn/_buildManifest.js +0 -1
- /package/app/.next/static/{l-F9C6gggjrUWKnAln0Wn → XnNWFvV2IXZ4xuX0F1Skg}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><!--l_F9C6gggjrUWKnAln0Wn--><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/777d65a484db49a1.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-f742cb5c6c3130ec.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/7765-b6a02dccdc69da55.js" async=""></script><script src="/_next/static/chunks/7896-81ec5010e89beaf8.js" async=""></script><script src="/_next/static/chunks/1525-92e9b6d0efa5de15.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-c26bba15e099e382.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/dashboard/usage/page-bd8e6146106d32af.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"/><meta name="next-size-adjust" content=""/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><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="flex h-screen w-full overflow-hidden bg-bg"><div class="hidden lg:flex"><aside class="flex flex-col border-r border-black/5 dark:border-white/5 bg-vibrancy backdrop-blur-xl transition-all duration-300 ease-in-out w-72"><a href="#main-content" class="sr-only focus:not-sr-only focus:absolute focus:z-50 focus:p-3 focus:bg-primary focus:text-white focus:rounded-md focus:m-2">Skip to content</a><div class="flex items-center gap-2 pt-5 pb-2 px-6" aria-hidden="true"><div class="w-3 h-3 rounded-full bg-[#FF5F56]"></div><div class="w-3 h-3 rounded-full bg-[#FFBD2E]"></div><div class="w-3 h-3 rounded-full bg-[#27C93F]"></div><div class="flex-1"></div><button title="Collapse sidebar" aria-expanded="true" aria-label="Collapse sidebar" class="p-1 rounded-md text-text-muted/50 hover:text-text-muted hover:bg-black/5 dark:hover:bg-white/5 transition-colors"><span class="material-symbols-outlined text-[16px]" aria-hidden="true">chevron_left</span></button></div><div class="py-4 px-6"><a class="flex items-center gap-3" href="/dashboard"><div class="flex items-center justify-center size-9 rounded bg-linear-to-br from-[#f97815] to-[#c2590a] shrink-0"><span class="material-symbols-outlined text-white text-[20px]">hub</span></div><div class="flex flex-col"><h1 class="text-lg font-semibold tracking-tight text-text-main">OmniRoute</h1><span class="text-xs text-text-muted">v<!-- -->0.1.0</span></div></a></div><nav aria-label="Main navigation" class="flex-1 py-2 space-y-1 overflow-y-auto custom-scrollbar px-4"><a class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 text-text-muted hover:bg-surface/50 hover:text-text-main" href="/dashboard/endpoint"><span class="material-symbols-outlined text-[18px] group-hover:text-primary transition-colors">api</span><span class="text-sm font-medium">Endpoint</span></a><a class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 text-text-muted hover:bg-surface/50 hover:text-text-main" href="/dashboard/providers"><span class="material-symbols-outlined text-[18px] group-hover:text-primary transition-colors">dns</span><span class="text-sm font-medium">Providers</span></a><a class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 text-text-muted hover:bg-surface/50 hover:text-text-main" href="/dashboard/combos"><span class="material-symbols-outlined text-[18px] group-hover:text-primary transition-colors">layers</span><span class="text-sm font-medium">Combos</span></a><a class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 bg-primary/10 text-primary" href="/dashboard/usage"><span class="material-symbols-outlined text-[18px] fill-1">bar_chart</span><span class="text-sm font-medium">Usage</span></a><a class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 text-text-muted hover:bg-surface/50 hover:text-text-main" href="/dashboard/cli-tools"><span class="material-symbols-outlined text-[18px] group-hover:text-primary transition-colors">terminal</span><span class="text-sm font-medium">CLI Tools</span></a><div class="pt-4 mt-2"><p class="px-4 text-xs font-semibold text-text-muted/60 uppercase tracking-wider mb-2">System</p><a class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 text-text-muted hover:bg-surface/50 hover:text-text-main" href="/dashboard/settings"><span class="material-symbols-outlined text-[18px] group-hover:text-primary transition-colors">settings</span><span class="text-sm font-medium">Settings</span></a></div><div class="pt-4 mt-2"><p class="px-4 text-xs font-semibold text-text-muted/60 uppercase tracking-wider mb-2">Help</p><a class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 text-text-muted hover:bg-surface/50 hover:text-text-main" href="/docs"><span class="material-symbols-outlined text-[18px] group-hover:text-primary transition-colors">menu_book</span><span class="text-sm font-medium">Docs</span></a><a href="https://github.com/decolua/omniroute/issues" target="_blank" rel="noopener noreferrer" class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 text-text-muted hover:bg-surface/50 hover:text-text-main"><span class="material-symbols-outlined text-[18px] group-hover:text-primary transition-colors">bug_report</span><span class="text-sm font-medium">Issues</span></a></div></nav><div class="border-t border-black/5 dark:border-white/5 p-3 flex gap-2"><button title="Restart server" class="flex items-center justify-center gap-2 rounded-lg font-medium transition-all text-amber-500 hover:bg-amber-500/10 border border-amber-500/20 hover:border-amber-500/40 flex-1 px-3 py-2 text-sm"><span class="material-symbols-outlined text-[18px]">restart_alt</span>Restart</button><button title="Shutdown server" class="flex items-center justify-center gap-2 rounded-lg font-medium transition-all text-red-500 hover:bg-red-500/10 border border-red-500/20 hover:border-red-500/40 flex-1 px-3 py-2 text-sm"><span class="material-symbols-outlined text-[18px]">power_settings_new</span>Shutdown</button></div></aside></div><div class="fixed inset-y-0 left-0 z-50 transform lg:hidden transition-transform duration-300 ease-in-out -translate-x-full"><aside class="flex flex-col border-r border-black/5 dark:border-white/5 bg-vibrancy backdrop-blur-xl transition-all duration-300 ease-in-out w-72"><a href="#main-content" class="sr-only focus:not-sr-only focus:absolute focus:z-50 focus:p-3 focus:bg-primary focus:text-white focus:rounded-md focus:m-2">Skip to content</a><div class="flex items-center gap-2 pt-5 pb-2 px-6" aria-hidden="true"><div class="w-3 h-3 rounded-full bg-[#FF5F56]"></div><div class="w-3 h-3 rounded-full bg-[#FFBD2E]"></div><div class="w-3 h-3 rounded-full bg-[#27C93F]"></div><div class="flex-1"></div></div><div class="py-4 px-6"><a class="flex items-center gap-3" href="/dashboard"><div class="flex items-center justify-center size-9 rounded bg-linear-to-br from-[#f97815] to-[#c2590a] shrink-0"><span class="material-symbols-outlined text-white text-[20px]">hub</span></div><div class="flex flex-col"><h1 class="text-lg font-semibold tracking-tight text-text-main">OmniRoute</h1><span class="text-xs text-text-muted">v<!-- -->0.1.0</span></div></a></div><nav aria-label="Main navigation" class="flex-1 py-2 space-y-1 overflow-y-auto custom-scrollbar px-4"><a class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 text-text-muted hover:bg-surface/50 hover:text-text-main" href="/dashboard/endpoint"><span class="material-symbols-outlined text-[18px] group-hover:text-primary transition-colors">api</span><span class="text-sm font-medium">Endpoint</span></a><a class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 text-text-muted hover:bg-surface/50 hover:text-text-main" href="/dashboard/providers"><span class="material-symbols-outlined text-[18px] group-hover:text-primary transition-colors">dns</span><span class="text-sm font-medium">Providers</span></a><a class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 text-text-muted hover:bg-surface/50 hover:text-text-main" href="/dashboard/combos"><span class="material-symbols-outlined text-[18px] group-hover:text-primary transition-colors">layers</span><span class="text-sm font-medium">Combos</span></a><a class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 bg-primary/10 text-primary" href="/dashboard/usage"><span class="material-symbols-outlined text-[18px] fill-1">bar_chart</span><span class="text-sm font-medium">Usage</span></a><a class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 text-text-muted hover:bg-surface/50 hover:text-text-main" href="/dashboard/cli-tools"><span class="material-symbols-outlined text-[18px] group-hover:text-primary transition-colors">terminal</span><span class="text-sm font-medium">CLI Tools</span></a><div class="pt-4 mt-2"><p class="px-4 text-xs font-semibold text-text-muted/60 uppercase tracking-wider mb-2">System</p><a class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 text-text-muted hover:bg-surface/50 hover:text-text-main" href="/dashboard/settings"><span class="material-symbols-outlined text-[18px] group-hover:text-primary transition-colors">settings</span><span class="text-sm font-medium">Settings</span></a></div><div class="pt-4 mt-2"><p class="px-4 text-xs font-semibold text-text-muted/60 uppercase tracking-wider mb-2">Help</p><a class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 text-text-muted hover:bg-surface/50 hover:text-text-main" href="/docs"><span class="material-symbols-outlined text-[18px] group-hover:text-primary transition-colors">menu_book</span><span class="text-sm font-medium">Docs</span></a><a href="https://github.com/decolua/omniroute/issues" target="_blank" rel="noopener noreferrer" class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 text-text-muted hover:bg-surface/50 hover:text-text-main"><span class="material-symbols-outlined text-[18px] group-hover:text-primary transition-colors">bug_report</span><span class="text-sm font-medium">Issues</span></a></div></nav><div class="border-t border-black/5 dark:border-white/5 p-3 flex gap-2"><button title="Restart server" class="flex items-center justify-center gap-2 rounded-lg font-medium transition-all text-amber-500 hover:bg-amber-500/10 border border-amber-500/20 hover:border-amber-500/40 flex-1 px-3 py-2 text-sm"><span class="material-symbols-outlined text-[18px]">restart_alt</span>Restart</button><button title="Shutdown server" class="flex items-center justify-center gap-2 rounded-lg font-medium transition-all text-red-500 hover:bg-red-500/10 border border-red-500/20 hover:border-red-500/40 flex-1 px-3 py-2 text-sm"><span class="material-symbols-outlined text-[18px]">power_settings_new</span>Shutdown</button></div></aside></div><main id="main-content" class="flex flex-col flex-1 h-full min-w-0 relative transition-colors duration-300"><header class="flex items-center justify-between px-8 py-5 border-b border-black/5 dark:border-white/5 bg-bg/80 backdrop-blur-xl z-10 sticky top-0"><div class="flex items-center gap-3 lg:hidden"><button class="text-text-main hover:text-primary transition-colors"><span class="material-symbols-outlined">menu</span></button></div><div class="hidden lg:flex flex-col"><div><h1 class="text-2xl font-semibold text-text-main tracking-tight">Usage & Analytics</h1><p class="text-sm text-text-muted">Monitor your API usage, token consumption, and request logs</p></div></div><div class="flex items-center gap-3 ml-auto"><button class="flex items-center justify-center size-10 rounded-full text-text-muted hover:bg-black/5 hover:text-text-main transition-colors" aria-label="Switch to dark mode" title="Switch to dark mode"><span class="material-symbols-outlined text-[22px]">dark_mode</span></button><button class="flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-red-500 hover:bg-red-500/10 transition-all" title="Logout"><span class="material-symbols-outlined">logout</span></button></div></header><div class="flex-1 overflow-y-auto custom-scrollbar p-6 lg:p-10"><div class="max-w-7xl mx-auto"><div class="flex flex-col gap-6"><div role="tablist" class="inline-flex items-center p-1 rounded-lg bg-black/5 dark:bg-white/5"><button role="tab" aria-selected="true" tabindex="0" class="px-4 rounded-md font-medium transition-all h-9 text-sm bg-white dark:bg-white/10 text-text-main shadow-sm">Overview</button><button role="tab" aria-selected="false" tabindex="-1" class="px-4 rounded-md font-medium transition-all h-9 text-sm text-text-muted hover:text-text-main">Logger</button><button role="tab" aria-selected="false" tabindex="-1" class="px-4 rounded-md font-medium transition-all h-9 text-sm text-text-muted hover:text-text-main">Proxy</button><button role="tab" aria-selected="false" tabindex="-1" class="px-4 rounded-md font-medium transition-all h-9 text-sm text-text-muted hover:text-text-main">Limits</button></div><!--$--><div class="p-6 rounded-xl border border-border bg-surface"><div class="flex items-center justify-between mb-4"><div aria-hidden="true" class="animate-pulse rounded-lg bg-border h-4 w-24"></div><div aria-hidden="true" class="animate-pulse rounded-lg bg-border size-10 rounded-lg"></div></div><div aria-hidden="true" class="animate-pulse rounded-lg bg-border h-8 w-16 mb-2"></div><div aria-hidden="true" class="animate-pulse rounded-lg bg-border h-3 w-20"></div></div><!--/$--></div><!--$--><!--/$--></div></div></main></div><script src="/_next/static/chunks/webpack-f742cb5c6c3130ec.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\",\"7765\",\"static/chunks/7765-b6a02dccdc69da55.js\",\"7896\",\"static/chunks/7896-81ec5010e89beaf8.js\",\"1525\",\"static/chunks/1525-92e9b6d0efa5de15.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-c26bba15e099e382.js\"],\"ThemeProvider\"]\n3:I[57121,[],\"\"]\n4:I[74581,[],\"\"]\n5:I[33730,[\"8500\",\"static/chunks/8500-98e13bcce54aa7a0.js\",\"600\",\"static/chunks/600-84211b75b24af21c.js\",\"7765\",\"static/chunks/7765-b6a02dccdc69da55.js\",\"7896\",\"static/chunks/7896-81ec5010e89beaf8.js\",\"1525\",\"static/chunks/1525-92e9b6d0efa5de15.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-c26bba15e099e382.js\"],\"default\"]\n6:I[61304,[],\"ClientPageRoot\"]\n7:I[14235,[\"8500\",\"static/chunks/8500-98e13bcce54aa7a0.js\",\"600\",\"static/chunks/600-84211b75b24af21c.js\",\"7765\",\"static/chunks/7765-b6a02dccdc69da55.js\",\"7896\",\"static/chunks/7896-81ec5010e89beaf8.js\",\"1525\",\"static/chunks/1525-92e9b6d0efa5de15.js\",\"2825\",\"static/chunks/app/(dashboard)/dashboard/usage/page-bd8e6146106d32af.js\"],\"default\"]\na:I[90484,[],\"OutletBoundary\"]\nb:\"$Sreact.suspense\"\nd:I[90484,[],\"ViewportBoundary\"]\nf:I[90484,[],\"MetadataBoundary\"]\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/777d65a484db49a1.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\":\"l-F9C6gggjrUWKnAln0Wn\",\"c\":[\"\",\"dashboard\",\"usage\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"(dashboard)\",{\"children\":[\"dashboard\",{\"children\":[\"usage\",{\"children\":[\"__PAGE__\",{}]}]}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/081a0afca5a9bd20.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/777d65a484db49a1.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://fonts.googleapis.com\"}],[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://fonts.gstatic.com\",\"crossOrigin\":\"anonymous\"}],[\"$\",\"link\",null,{\"href\":\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200\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,[\"$\",\"$L5\",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\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:style\",\"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\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"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\":[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\":[[\"$\",\"$L6\",null,{\"Component\":\"$7\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@8\",\"$@9\"]}}],null,[\"$\",\"$La\",null,{\"children\":[\"$\",\"$b\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@c\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lf\",null,{\"children\":[\"$\",\"$b\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L10\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$11\",[]],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:{}\n9:\"$0:f:0:1:1:children:1:children:1:children:1:children:0:props:children:0:props:serverProvidedParams:params\"\n"])</script><script>self.__next_f.push([1,"e:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"12:I[86869,[],\"IconMark\"]\nc:null\n10:[[\"$\",\"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\"}],[\"$\",\"$L12\",\"4\",{}]]\n"])</script></body></html>
|
|
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/(dashboard)/dashboard/usage/page-9ee5997edb778414.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"/><meta name="next-size-adjust" content=""/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><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="flex h-screen w-full overflow-hidden bg-bg"><div class="hidden lg:flex"><aside class="flex flex-col border-r border-black/5 dark:border-white/5 bg-vibrancy backdrop-blur-xl transition-all duration-300 ease-in-out w-72"><a href="#main-content" class="sr-only focus:not-sr-only focus:absolute focus:z-50 focus:p-3 focus:bg-primary focus:text-white focus:rounded-md focus:m-2">Skip to content</a><div class="flex items-center gap-2 pt-5 pb-2 px-6" aria-hidden="true"><div class="w-3 h-3 rounded-full bg-[#FF5F56]"></div><div class="w-3 h-3 rounded-full bg-[#FFBD2E]"></div><div class="w-3 h-3 rounded-full bg-[#27C93F]"></div><div class="flex-1"></div><button title="Collapse sidebar" aria-expanded="true" aria-label="Collapse sidebar" class="p-1 rounded-md text-text-muted/50 hover:text-text-muted hover:bg-black/5 dark:hover:bg-white/5 transition-colors"><span class="material-symbols-outlined text-[16px]" aria-hidden="true">chevron_left</span></button></div><div class="py-4 px-6"><a class="flex items-center gap-3" href="/dashboard"><div class="flex items-center justify-center size-9 rounded bg-linear-to-br from-[#f97815] to-[#c2590a] shrink-0"><span class="material-symbols-outlined text-white text-[20px]">hub</span></div><div class="flex flex-col"><h1 class="text-lg font-semibold tracking-tight text-text-main">OmniRoute</h1><span class="text-xs text-text-muted">v<!-- -->0.2.0</span></div></a></div><nav aria-label="Main navigation" class="flex-1 py-2 space-y-1 overflow-y-auto custom-scrollbar px-4"><a class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 text-text-muted hover:bg-surface/50 hover:text-text-main" href="/dashboard/endpoint"><span class="material-symbols-outlined text-[18px] group-hover:text-primary transition-colors">api</span><span class="text-sm font-medium">Endpoint</span></a><a class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 text-text-muted hover:bg-surface/50 hover:text-text-main" href="/dashboard/providers"><span class="material-symbols-outlined text-[18px] group-hover:text-primary transition-colors">dns</span><span class="text-sm font-medium">Providers</span></a><a class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 text-text-muted hover:bg-surface/50 hover:text-text-main" href="/dashboard/combos"><span class="material-symbols-outlined text-[18px] group-hover:text-primary transition-colors">layers</span><span class="text-sm font-medium">Combos</span></a><a class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 bg-primary/10 text-primary" href="/dashboard/usage"><span class="material-symbols-outlined text-[18px] fill-1">bar_chart</span><span class="text-sm font-medium">Usage</span></a><a class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 text-text-muted hover:bg-surface/50 hover:text-text-main" href="/dashboard/cli-tools"><span class="material-symbols-outlined text-[18px] group-hover:text-primary transition-colors">terminal</span><span class="text-sm font-medium">CLI Tools</span></a><div class="pt-4 mt-2"><p class="px-4 text-xs font-semibold text-text-muted/60 uppercase tracking-wider mb-2">System</p><a class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 text-text-muted hover:bg-surface/50 hover:text-text-main" href="/dashboard/settings"><span class="material-symbols-outlined text-[18px] group-hover:text-primary transition-colors">settings</span><span class="text-sm font-medium">Settings</span></a></div><div class="pt-4 mt-2"><p class="px-4 text-xs font-semibold text-text-muted/60 uppercase tracking-wider mb-2">Help</p><a class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 text-text-muted hover:bg-surface/50 hover:text-text-main" href="/docs"><span class="material-symbols-outlined text-[18px] group-hover:text-primary transition-colors">menu_book</span><span class="text-sm font-medium">Docs</span></a><a href="https://github.com/decolua/omniroute/issues" target="_blank" rel="noopener noreferrer" class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 text-text-muted hover:bg-surface/50 hover:text-text-main"><span class="material-symbols-outlined text-[18px] group-hover:text-primary transition-colors">bug_report</span><span class="text-sm font-medium">Issues</span></a></div></nav><div class="border-t border-black/5 dark:border-white/5 p-3 flex gap-2"><button title="Restart server" class="flex items-center justify-center gap-2 rounded-lg font-medium transition-all text-amber-500 hover:bg-amber-500/10 border border-amber-500/20 hover:border-amber-500/40 flex-1 px-3 py-2 text-sm"><span class="material-symbols-outlined text-[18px]">restart_alt</span>Restart</button><button title="Shutdown server" class="flex items-center justify-center gap-2 rounded-lg font-medium transition-all text-red-500 hover:bg-red-500/10 border border-red-500/20 hover:border-red-500/40 flex-1 px-3 py-2 text-sm"><span class="material-symbols-outlined text-[18px]">power_settings_new</span>Shutdown</button></div></aside></div><div class="fixed inset-y-0 left-0 z-50 transform lg:hidden transition-transform duration-300 ease-in-out -translate-x-full"><aside class="flex flex-col border-r border-black/5 dark:border-white/5 bg-vibrancy backdrop-blur-xl transition-all duration-300 ease-in-out w-72"><a href="#main-content" class="sr-only focus:not-sr-only focus:absolute focus:z-50 focus:p-3 focus:bg-primary focus:text-white focus:rounded-md focus:m-2">Skip to content</a><div class="flex items-center gap-2 pt-5 pb-2 px-6" aria-hidden="true"><div class="w-3 h-3 rounded-full bg-[#FF5F56]"></div><div class="w-3 h-3 rounded-full bg-[#FFBD2E]"></div><div class="w-3 h-3 rounded-full bg-[#27C93F]"></div><div class="flex-1"></div></div><div class="py-4 px-6"><a class="flex items-center gap-3" href="/dashboard"><div class="flex items-center justify-center size-9 rounded bg-linear-to-br from-[#f97815] to-[#c2590a] shrink-0"><span class="material-symbols-outlined text-white text-[20px]">hub</span></div><div class="flex flex-col"><h1 class="text-lg font-semibold tracking-tight text-text-main">OmniRoute</h1><span class="text-xs text-text-muted">v<!-- -->0.2.0</span></div></a></div><nav aria-label="Main navigation" class="flex-1 py-2 space-y-1 overflow-y-auto custom-scrollbar px-4"><a class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 text-text-muted hover:bg-surface/50 hover:text-text-main" href="/dashboard/endpoint"><span class="material-symbols-outlined text-[18px] group-hover:text-primary transition-colors">api</span><span class="text-sm font-medium">Endpoint</span></a><a class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 text-text-muted hover:bg-surface/50 hover:text-text-main" href="/dashboard/providers"><span class="material-symbols-outlined text-[18px] group-hover:text-primary transition-colors">dns</span><span class="text-sm font-medium">Providers</span></a><a class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 text-text-muted hover:bg-surface/50 hover:text-text-main" href="/dashboard/combos"><span class="material-symbols-outlined text-[18px] group-hover:text-primary transition-colors">layers</span><span class="text-sm font-medium">Combos</span></a><a class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 bg-primary/10 text-primary" href="/dashboard/usage"><span class="material-symbols-outlined text-[18px] fill-1">bar_chart</span><span class="text-sm font-medium">Usage</span></a><a class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 text-text-muted hover:bg-surface/50 hover:text-text-main" href="/dashboard/cli-tools"><span class="material-symbols-outlined text-[18px] group-hover:text-primary transition-colors">terminal</span><span class="text-sm font-medium">CLI Tools</span></a><div class="pt-4 mt-2"><p class="px-4 text-xs font-semibold text-text-muted/60 uppercase tracking-wider mb-2">System</p><a class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 text-text-muted hover:bg-surface/50 hover:text-text-main" href="/dashboard/settings"><span class="material-symbols-outlined text-[18px] group-hover:text-primary transition-colors">settings</span><span class="text-sm font-medium">Settings</span></a></div><div class="pt-4 mt-2"><p class="px-4 text-xs font-semibold text-text-muted/60 uppercase tracking-wider mb-2">Help</p><a class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 text-text-muted hover:bg-surface/50 hover:text-text-main" href="/docs"><span class="material-symbols-outlined text-[18px] group-hover:text-primary transition-colors">menu_book</span><span class="text-sm font-medium">Docs</span></a><a href="https://github.com/decolua/omniroute/issues" target="_blank" rel="noopener noreferrer" class="flex items-center gap-3 rounded-lg transition-all group px-4 py-2 text-text-muted hover:bg-surface/50 hover:text-text-main"><span class="material-symbols-outlined text-[18px] group-hover:text-primary transition-colors">bug_report</span><span class="text-sm font-medium">Issues</span></a></div></nav><div class="border-t border-black/5 dark:border-white/5 p-3 flex gap-2"><button title="Restart server" class="flex items-center justify-center gap-2 rounded-lg font-medium transition-all text-amber-500 hover:bg-amber-500/10 border border-amber-500/20 hover:border-amber-500/40 flex-1 px-3 py-2 text-sm"><span class="material-symbols-outlined text-[18px]">restart_alt</span>Restart</button><button title="Shutdown server" class="flex items-center justify-center gap-2 rounded-lg font-medium transition-all text-red-500 hover:bg-red-500/10 border border-red-500/20 hover:border-red-500/40 flex-1 px-3 py-2 text-sm"><span class="material-symbols-outlined text-[18px]">power_settings_new</span>Shutdown</button></div></aside></div><main id="main-content" class="flex flex-col flex-1 h-full min-w-0 relative transition-colors duration-300"><header class="flex items-center justify-between px-8 py-5 border-b border-black/5 dark:border-white/5 bg-bg/80 backdrop-blur-xl z-10 sticky top-0"><div class="flex items-center gap-3 lg:hidden"><button class="text-text-main hover:text-primary transition-colors"><span class="material-symbols-outlined">menu</span></button></div><div class="hidden lg:flex flex-col"><div><h1 class="text-2xl font-semibold text-text-main tracking-tight">Usage & Analytics</h1><p class="text-sm text-text-muted">Monitor your API usage, token consumption, and request logs</p></div></div><div class="flex items-center gap-3 ml-auto"><button class="flex items-center justify-center size-10 rounded-full text-text-muted hover:bg-black/5 hover:text-text-main transition-colors" aria-label="Switch to dark mode" title="Switch to dark mode"><span class="material-symbols-outlined text-[22px]">dark_mode</span></button><button class="flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-red-500 hover:bg-red-500/10 transition-all" title="Logout"><span class="material-symbols-outlined">logout</span></button></div></header><div class="flex-1 overflow-y-auto custom-scrollbar p-6 lg:p-10"><div class="max-w-7xl mx-auto"><div class="flex flex-col gap-6"><div role="tablist" class="inline-flex items-center p-1 rounded-lg bg-black/5 dark:bg-white/5"><button role="tab" aria-selected="true" tabindex="0" class="px-4 rounded-md font-medium transition-all h-9 text-sm bg-white dark:bg-white/10 text-text-main shadow-sm">Overview</button><button role="tab" aria-selected="false" tabindex="-1" class="px-4 rounded-md font-medium transition-all h-9 text-sm text-text-muted hover:text-text-main">Logger</button><button role="tab" aria-selected="false" tabindex="-1" class="px-4 rounded-md font-medium transition-all h-9 text-sm text-text-muted hover:text-text-main">Proxy</button><button role="tab" aria-selected="false" tabindex="-1" class="px-4 rounded-md font-medium transition-all h-9 text-sm text-text-muted hover:text-text-main">Limits</button><button role="tab" aria-selected="false" tabindex="-1" class="px-4 rounded-md font-medium transition-all h-9 text-sm text-text-muted hover:text-text-main">Sessions</button></div><!--$--><div class="p-6 rounded-xl border border-border bg-surface"><div class="flex items-center justify-between mb-4"><div aria-hidden="true" class="animate-pulse rounded-lg bg-border h-4 w-24"></div><div aria-hidden="true" class="animate-pulse rounded-lg bg-border size-10 rounded-lg"></div></div><div aria-hidden="true" class="animate-pulse rounded-lg bg-border h-8 w-16 mb-2"></div><div aria-hidden="true" class="animate-pulse rounded-lg bg-border h-3 w-20"></div></div><!--/$--></div><!--$--><!--/$--></div></div></main></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[33730,[\"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\"],\"default\"]\n6:I[61304,[],\"ClientPageRoot\"]\n7:I[25852,[\"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\",\"2825\",\"static/chunks/app/(dashboard)/dashboard/usage/page-9ee5997edb778414.js\"],\"default\"]\na:I[90484,[],\"OutletBoundary\"]\nb:\"$Sreact.suspense\"\nd:I[90484,[],\"ViewportBoundary\"]\nf:I[90484,[],\"MetadataBoundary\"]\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\":[\"\",\"dashboard\",\"usage\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"(dashboard)\",{\"children\":[\"dashboard\",{\"children\":[\"usage\",{\"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,[\"$\",\"$L5\",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\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:style\",\"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\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"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\":[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\":[[\"$\",\"$L6\",null,{\"Component\":\"$7\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@8\",\"$@9\"]}}],null,[\"$\",\"$La\",null,{\"children\":[\"$\",\"$b\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@c\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lf\",null,{\"children\":[\"$\",\"$b\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L10\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$11\",[]],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:{}\n9:\"$0:f:0:1:1:children:1:children:1:children:1:children:0:props:children:0:props:serverProvidedParams:params\"\n"])</script><script>self.__next_f.push([1,"e:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"12:I[86869,[],\"IconMark\"]\nc:null\n10:[[\"$\",\"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\"}],[\"$\",\"$L12\",\"4\",{}]]\n"])</script></body></html>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[57896,["8500","static/chunks/8500-98e13bcce54aa7a0.js","600","static/chunks/600-84211b75b24af21c.js","
|
|
2
|
+
2:I[57896,["8500","static/chunks/8500-98e13bcce54aa7a0.js","600","static/chunks/600-84211b75b24af21c.js","8013","static/chunks/8013-04b90e92e614b5d9.js","7896","static/chunks/7896-4e519429f67f381e.js","1525","static/chunks/1525-8aaae9ffdaa67144.js","9305","static/chunks/app/(dashboard)/layout-0ee92d902ee7a39c.js"],"ThemeProvider"]
|
|
3
3
|
3:I[57121,[],""]
|
|
4
4
|
4:I[74581,[],""]
|
|
5
|
-
5:I[33730,["8500","static/chunks/8500-98e13bcce54aa7a0.js","600","static/chunks/600-84211b75b24af21c.js","
|
|
5
|
+
5:I[33730,["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"],"default"]
|
|
6
6
|
6:I[61304,[],"ClientPageRoot"]
|
|
7
|
-
7:I[
|
|
7
|
+
7:I[25852,["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","2825","static/chunks/app/(dashboard)/dashboard/usage/page-9ee5997edb778414.js"],"default"]
|
|
8
8
|
a:I[90484,[],"OutletBoundary"]
|
|
9
9
|
b:"$Sreact.suspense"
|
|
10
10
|
d:I[90484,[],"ViewportBoundary"]
|
|
@@ -12,9 +12,9 @@ f:I[90484,[],"MetadataBoundary"]
|
|
|
12
12
|
11:I[27123,[],""]
|
|
13
13
|
:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
14
14
|
:HL["/_next/static/css/081a0afca5a9bd20.css","style"]
|
|
15
|
-
:HL["/_next/static/css/
|
|
15
|
+
:HL["/_next/static/css/5309860f6e486620.css","style"]
|
|
16
16
|
: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"]
|
|
17
|
-
0:{"P":null,"b":"
|
|
17
|
+
0:{"P":null,"b":"XnNWFvV2IXZ4xuX0F1Skg","c":["","dashboard","usage"],"q":"","i":false,"f":[[["",{"children":["(dashboard)",{"children":["dashboard",{"children":["usage",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/081a0afca5a9bd20.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/5309860f6e486620.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","link",null,{"rel":"preconnect","href":"https://fonts.googleapis.com"}],["$","link",null,{"rel":"preconnect","href":"https://fonts.gstatic.com","crossOrigin":"anonymous"}],["$","link",null,{"href":"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","rel":"stylesheet"}]]}],["$","body",null,{"className":"__variable_f367f3 font-sans antialiased","suppressHydrationWarning":true,"children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L5",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":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:style","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":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","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":[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":[["$","$L6",null,{"Component":"$7","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@8","$@9"]}}],null,["$","$La",null,{"children":["$","$b",null,{"name":"Next.MetadataOutlet","children":"$@c"}]}]]}],{},null,false,false]},null,false,false]},null,false,false]},null,false,false]},null,false,false],["$","$1","h",{"children":[null,["$","$Ld",null,{"children":"$Le"}],["$","div",null,{"hidden":true,"children":["$","$Lf",null,{"children":["$","$b",null,{"name":"Next.Metadata","children":"$L10"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$11",[]],"S":true}
|
|
18
18
|
8:{}
|
|
19
19
|
9:"$0:f:0:1:1:children:1:children:1:children:1:children:0:props:children:0:props:serverProvidedParams:params"
|
|
20
20
|
e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
2
|
2:I[61304,[],"ClientPageRoot"]
|
|
3
|
-
3:I[
|
|
3
|
+
3:I[25852,["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","2825","static/chunks/app/(dashboard)/dashboard/usage/page-9ee5997edb778414.js"],"default"]
|
|
4
4
|
6:I[90484,[],"OutletBoundary"]
|
|
5
5
|
7:"$Sreact.suspense"
|
|
6
|
-
0:{"buildId":"
|
|
6
|
+
0:{"buildId":"XnNWFvV2IXZ4xuX0F1Skg","rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],null,["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"loading":null,"isPartial":false}
|
|
7
7
|
4:{}
|
|
8
8
|
5:"$0:rsc:props:children:0:props:serverProvidedParams:params"
|
|
9
9
|
8:null
|
package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
2
|
2:I[57121,[],""]
|
|
3
3
|
3:I[74581,[],""]
|
|
4
|
-
0:{"buildId":"
|
|
4
|
+
0:{"buildId":"XnNWFvV2IXZ4xuX0F1Skg","rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"loading":null,"isPartial":false}
|
package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
2
|
2:I[57121,[],""]
|
|
3
3
|
3:I[74581,[],""]
|
|
4
|
-
0:{"buildId":"
|
|
4
|
+
0:{"buildId":"XnNWFvV2IXZ4xuX0F1Skg","rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"loading":null,"isPartial":false}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[33730,["8500","static/chunks/8500-98e13bcce54aa7a0.js","600","static/chunks/600-84211b75b24af21c.js","
|
|
2
|
+
2:I[33730,["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"],"default"]
|
|
3
3
|
3:I[57121,[],""]
|
|
4
4
|
4:I[74581,[],""]
|
|
5
|
-
0:{"buildId":"
|
|
5
|
+
0:{"buildId":"XnNWFvV2IXZ4xuX0F1Skg","rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]]}],"loading":null,"isPartial":false}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[57896,["8500","static/chunks/8500-98e13bcce54aa7a0.js","600","static/chunks/600-84211b75b24af21c.js","
|
|
2
|
+
2:I[57896,["8500","static/chunks/8500-98e13bcce54aa7a0.js","600","static/chunks/600-84211b75b24af21c.js","8013","static/chunks/8013-04b90e92e614b5d9.js","7896","static/chunks/7896-4e519429f67f381e.js","1525","static/chunks/1525-8aaae9ffdaa67144.js","9305","static/chunks/app/(dashboard)/layout-0ee92d902ee7a39c.js"],"ThemeProvider"]
|
|
3
3
|
3:I[57121,[],""]
|
|
4
4
|
4:I[74581,[],""]
|
|
5
|
-
5:I[33730,["8500","static/chunks/8500-98e13bcce54aa7a0.js","600","static/chunks/600-84211b75b24af21c.js","
|
|
5
|
+
5:I[33730,["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"],"default"]
|
|
6
6
|
6:I[61304,[],"ClientPageRoot"]
|
|
7
|
-
7:I[
|
|
7
|
+
7:I[25852,["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","2825","static/chunks/app/(dashboard)/dashboard/usage/page-9ee5997edb778414.js"],"default"]
|
|
8
8
|
a:I[90484,[],"OutletBoundary"]
|
|
9
9
|
b:"$Sreact.suspense"
|
|
10
10
|
d:I[90484,[],"ViewportBoundary"]
|
|
@@ -12,9 +12,9 @@ f:I[90484,[],"MetadataBoundary"]
|
|
|
12
12
|
11:I[27123,[],""]
|
|
13
13
|
:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
14
14
|
:HL["/_next/static/css/081a0afca5a9bd20.css","style"]
|
|
15
|
-
:HL["/_next/static/css/
|
|
15
|
+
:HL["/_next/static/css/5309860f6e486620.css","style"]
|
|
16
16
|
: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"]
|
|
17
|
-
0:{"P":null,"b":"
|
|
17
|
+
0:{"P":null,"b":"XnNWFvV2IXZ4xuX0F1Skg","c":["","dashboard","usage"],"q":"","i":false,"f":[[["",{"children":["(dashboard)",{"children":["dashboard",{"children":["usage",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/081a0afca5a9bd20.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/5309860f6e486620.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","link",null,{"rel":"preconnect","href":"https://fonts.googleapis.com"}],["$","link",null,{"rel":"preconnect","href":"https://fonts.gstatic.com","crossOrigin":"anonymous"}],["$","link",null,{"href":"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","rel":"stylesheet"}]]}],["$","body",null,{"className":"__variable_f367f3 font-sans antialiased","suppressHydrationWarning":true,"children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L5",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":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:style","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":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","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":[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":[["$","$L6",null,{"Component":"$7","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@8","$@9"]}}],null,["$","$La",null,{"children":["$","$b",null,{"name":"Next.MetadataOutlet","children":"$@c"}]}]]}],{},null,false,false]},null,false,false]},null,false,false]},null,false,false]},null,false,false],["$","$1","h",{"children":[null,["$","$Ld",null,{"children":"$Le"}],["$","div",null,{"hidden":true,"children":["$","$Lf",null,{"children":["$","$b",null,{"name":"Next.Metadata","children":"$L10"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$11",[]],"S":true}
|
|
18
18
|
8:{}
|
|
19
19
|
9:"$0:f:0:1:1:children:1:children:1:children:1:children:0:props:children:0:props:serverProvidedParams:params"
|
|
20
20
|
e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
@@ -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":"XnNWFvV2IXZ4xuX0F1Skg","rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"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,8 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[57896,["8500","static/chunks/8500-98e13bcce54aa7a0.js","600","static/chunks/600-84211b75b24af21c.js","
|
|
2
|
+
2:I[57896,["8500","static/chunks/8500-98e13bcce54aa7a0.js","600","static/chunks/600-84211b75b24af21c.js","8013","static/chunks/8013-04b90e92e614b5d9.js","7896","static/chunks/7896-4e519429f67f381e.js","1525","static/chunks/1525-8aaae9ffdaa67144.js","9305","static/chunks/app/(dashboard)/layout-0ee92d902ee7a39c.js"],"ThemeProvider"]
|
|
3
3
|
3:I[57121,[],""]
|
|
4
4
|
4:I[74581,[],""]
|
|
5
5
|
:HL["/_next/static/css/081a0afca5a9bd20.css","style"]
|
|
6
|
-
:HL["/_next/static/css/
|
|
6
|
+
:HL["/_next/static/css/5309860f6e486620.css","style"]
|
|
7
7
|
:HL["https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","style"]
|
|
8
|
-
0:{"buildId":"
|
|
8
|
+
0:{"buildId":"XnNWFvV2IXZ4xuX0F1Skg","rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/081a0afca5a9bd20.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/5309860f6e486620.css","precedence":"next"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","link",null,{"rel":"preconnect","href":"https://fonts.googleapis.com"}],["$","link",null,{"rel":"preconnect","href":"https://fonts.gstatic.com","crossOrigin":"anonymous"}],["$","link",null,{"href":"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","rel":"stylesheet"}]]}],["$","body",null,{"className":"__variable_f367f3 font-sans antialiased","suppressHydrationWarning":true,"children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]}]]}]]}],"loading":null,"isPartial":false}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
2
2
|
:HL["/_next/static/css/081a0afca5a9bd20.css","style"]
|
|
3
|
-
:HL["/_next/static/css/
|
|
3
|
+
:HL["/_next/static/css/5309860f6e486620.css","style"]
|
|
4
4
|
:HL["https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","style"]
|
|
5
|
-
0:{"buildId":"
|
|
5
|
+
0:{"buildId":"XnNWFvV2IXZ4xuX0F1Skg","tree":{"name":"","paramType":null,"paramKey":"","hasRuntimePrefetch":false,"slots":{"children":{"name":"(dashboard)","paramType":null,"paramKey":"(dashboard)","hasRuntimePrefetch":false,"slots":{"children":{"name":"dashboard","paramType":null,"paramKey":"dashboard","hasRuntimePrefetch":false,"slots":{"children":{"name":"usage","paramType":null,"paramKey":"usage","hasRuntimePrefetch":false,"slots":{"children":{"name":"__PAGE__","paramType":null,"paramKey":"__PAGE__","hasRuntimePrefetch":false,"slots":null,"isRootLayout":false}},"isRootLayout":false}},"isRootLayout":false}},"isRootLayout":false}},"isRootLayout":true},"staleTime":300}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
(()=>{var a={};a.id=9040,a.ids=[9040],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},5175:(a,b,c)=>{"use strict";c.d(b,{DI:()=>h,IS:()=>d,JH:()=>g,Q2:()=>k,fg:()=>f,gb:()=>j,js:()=>l,mq:()=>i,zN:()=>e});let d={iflow:{id:"iflow",alias:"if",name:"iFlow AI",icon:"water_drop",color:"#6366F1"},qwen:{id:"qwen",alias:"qw",name:"Qwen Code",icon:"psychology",color:"#10B981"},"gemini-cli":{id:"gemini-cli",alias:"gc",name:"Gemini CLI",icon:"terminal",color:"#4285F4"},kiro:{id:"kiro",alias:"kr",name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35"}},e={claude:{id:"claude",alias:"cc",name:"Claude Code",icon:"smart_toy",color:"#D97757"},antigravity:{id:"antigravity",alias:"ag",name:"Antigravity",icon:"rocket_launch",color:"#F59E0B"},codex:{id:"codex",alias:"cx",name:"OpenAI Codex",icon:"code",color:"#3B82F6"},github:{id:"github",alias:"gh",name:"GitHub Copilot",icon:"code",color:"#333333"},cursor:{id:"cursor",alias:"cu",name:"Cursor IDE",icon:"edit_note",color:"#00D4AA"},"kimi-coding":{id:"kimi-coding",alias:"kmc",name:"Kimi Coding",icon:"psychology",color:"#1E40AF",textIcon:"KC"},kilocode:{id:"kilocode",alias:"kc",name:"Kilo Code",icon:"code",color:"#FF6B35",textIcon:"KC"},cline:{id:"cline",alias:"cl",name:"Cline",icon:"smart_toy",color:"#5B9BD5",textIcon:"CL"}},f={openrouter:{id:"openrouter",alias:"openrouter",name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",passthroughModels:!0,website:"https://openrouter.ai"},glm:{id:"glm",alias:"glm",name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn"},kimi:{id:"kimi",alias:"kimi",name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn"},minimax:{id:"minimax",alias:"minimax",name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com"},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com"},openai:{id:"openai",alias:"openai",name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com"},anthropic:{id:"anthropic",alias:"anthropic",name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com"},gemini:{id:"gemini",alias:"gemini",name:"Gemini",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev"},deepseek:{id:"deepseek",alias:"ds",name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com"},groq:{id:"groq",alias:"groq",name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com"},xai:{id:"xai",alias:"xai",name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai"},mistral:{id:"mistral",alias:"mistral",name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai"},perplexity:{id:"perplexity",alias:"pplx",name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai"},together:{id:"together",alias:"together",name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai"},fireworks:{id:"fireworks",alias:"fireworks",name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai"},cerebras:{id:"cerebras",alias:"cerebras",name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://www.cerebras.ai"},cohere:{id:"cohere",alias:"cohere",name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com"},nvidia:{id:"nvidia",alias:"nvidia",name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://developer.nvidia.com/nim"},nebius:{id:"nebius",alias:"nebius",name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com"},siliconflow:{id:"siliconflow",alias:"siliconflow",name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com"},hyperbolic:{id:"hyperbolic",alias:"hyp",name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz"},deepgram:{id:"deepgram",alias:"dg",name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com"},assemblyai:{id:"assemblyai",alias:"aai",name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com"},nanobanana:{id:"nanobanana",alias:"nb",name:"NanoBanana",icon:"image",color:"#FFD700",textIcon:"NB",website:"https://nanobananaapi.ai"}},g="openai-compatible-",h="anthropic-compatible-";function i(a){return"string"==typeof a&&a.startsWith(g)}function j(a){return"string"==typeof a&&a.startsWith(h)}let k={...d,...e,...f},l=Object.values(k).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(k).reduce((a,b)=>(a[b.id]=b.alias,a),{})},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21004:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>D.a,__next_app__:()=>L,handler:()=>N,routeModule:()=>M});var d=c(7553),e=c(84006),f=c(67798),g=c(34775),h=c(99373),i=c(73461),j=c(1020),k=c(26349),l=c(54365),m=c(16023),n=c(63747),o=c(24235),p=c(23938),q=c(261),r=c(66758),s=c(77243),t=c(26713),u=c(37527),v=c(22820),w=c(88216),x=c(47929),y=c(79551),z=c(89125),A=c(86439),B=c(77068),C=c(95547),D=c.n(C),E=c(61287),F=c(81494),G=c(70722),H=c(70753),I=c(43954),J={};for(let a in E)0>["default","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(J[a]=()=>E[a]);c.d(b,J);let K={children:["",{children:["docs",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,93638)),"/home/runner/work/OmniRoute/OmniRoute/src/app/docs/page.js"]}]},{metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,70440))).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}}]},{layout:[()=>Promise.resolve().then(c.bind(c,20651)),"/home/runner/work/OmniRoute/OmniRoute/src/app/layout.js"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,55091,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,45270,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,28193,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,70440))).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}}]}.children,L={require:c,loadChunk:()=>Promise.resolve()},M=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/docs/page",pathname:"/docs",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:K},distDir:".next",relativeProjectDir:""});async function N(a,b,d){var C;M.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let J=!!(0,h.getRequestMeta)(a,"minimalMode"),O="/docs/page";"/index"===O&&(O="/");let P=await M.prepare(a,b,{srcPage:O,multiZoneDraftMode:!1});if(!P)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Q,query:R,params:S,pageIsDynamic:T,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,serverActionsManifest:X,clientReferenceManifest:Y,subresourceIntegrityManifest:Z,prerenderManifest:$,isDraftMode:_,resolvedPathname:aa,revalidateOnlyGenerated:ab,routerServerContext:ac,nextConfig:ad,parsedUrl:ae,interceptionRoutePatterns:af,deploymentId:ag}=P,ah=(0,q.normalizeAppPath)(O),{isOnDemandRevalidate:ai}=P,aj=ad.experimental.ppr&&!ad.cacheComponents&&(0,I.isInterceptionRouteAppPath)(aa)?null:M.match(aa,$),ak=!!$.routes[aa],al=a.headers["user-agent"]||"",am=(0,t.getBotType)(al),an=(0,p.isHtmlBotRequest)(a),ao=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[s.NEXT_ROUTER_PREFETCH_HEADER],ap=(0,h.getRequestMeta)(a,"isRSCRequest")??!!a.headers[s.RSC_HEADER],aq=(0,r.getIsPossibleServerAction)(a),ar=(0,m.checkIsAppPPREnabled)(ad.experimental.ppr);if(!(0,h.getRequestMeta)(a,"postponed")&&ar&&"1"===a.headers[x.NEXT_RESUME_HEADER]&&"POST"===a.method){let b=[];for await(let c of a)b.push(c);let c=Buffer.concat(b).toString("utf8");(0,h.addRequestMeta)(a,"postponed",c)}let as=ar&&(null==(C=$.routes[ah]??$.dynamicRoutes[ah])?void 0:C.renderingMode)==="PARTIALLY_STATIC",at=!1,au=!1,av=as?(0,h.getRequestMeta)(a,"postponed"):void 0,aw=as&&ap&&!ao;J&&(aw=aw&&!!av);let ax=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ay=(!an||!as)&&(!al||(0,p.shouldServeStreamingMetadata)(al,ad.htmlLimitedBots)),az=!!((aj||ak||$.routes[ah])&&!(an&&as)),aA=as&&!0===ad.cacheComponents,aB=!0===M.isDev||!az||"string"==typeof av||(aA&&(0,h.getRequestMeta)(a,"onCacheEntryV2")?aw&&!J:aw),aC=an&&as,aD=null;_||!az||aB||aq||av||aw||(aD=aa);let aE=aD;!aE&&M.isDev&&(aE=aa),M.isDev||_||!az||!ap||aw||(0,k.d)(a.headers);let aF={...E,tree:K,GlobalError:D(),handler:N,routeModule:M,__next_app__:L};X&&Y&&(0,o.setManifestsSingleton)({page:O,clientReferenceManifest:Y,serverActionsManifest:X});let aG=a.method||"GET",aH=(0,g.getTracer)(),aI=aH.getActiveScopeSpan(),aJ=async()=>((null==ac?void 0:ac.render404)?await ac.render404(a,b,ae,!1):b.end("This page could not be found"),null);try{let f=M.getVaryHeader(aa,af);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return M.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aH.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aG} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aG} ${O}`)})},m=(0,h.getRequestMeta)(a,"incrementalCache"),o=async({span:e,postponed:f,fallbackRouteParams:g,forceStaticRender:i})=>{let l={query:R,params:S,page:ah,sharedContext:{buildId:Q},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aF,Component:(0,j.T)(aF),params:S,routeModule:M,page:O,postponed:f,shouldWaitOnAllReady:aC,serveStreamingMetadata:ay,supportsDynamicResponse:"string"==typeof f||aB,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,subresourceIntegrityManifest:Z,setCacheStatus:null==ac?void 0:ac.setCacheStatus,setIsrStatus:null==ac?void 0:ac.setIsrStatus,setReactDebugChannel:null==ac?void 0:ac.setReactDebugChannel,sendErrorsToBrowser:null==ac?void 0:ac.sendErrorsToBrowser,dir:c(33873).join(process.cwd(),M.relativeProjectDir),isDraftMode:_,botType:am,isOnDemandRevalidate:ai,isPossibleServerAction:aq,assetPrefix:ad.assetPrefix,nextConfigOutput:ad.output,crossOrigin:ad.crossOrigin,trailingSlash:ad.trailingSlash,images:ad.images,previewProps:$.preview,deploymentId:ag,enableTainting:ad.experimental.taint,htmlLimitedBots:ad.htmlLimitedBots,reactMaxHeadersLength:ad.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:m,cacheLifeProfiles:ad.cacheLife,basePath:ad.basePath,serverActions:ad.experimental.serverActions,...at||au?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:at}:{},cacheComponents:!!ad.cacheComponents,experimental:{isRoutePPREnabled:as,expireTime:ad.expireTime,staleTimes:ad.experimental.staleTimes,dynamicOnHover:!!ad.experimental.dynamicOnHover,inlineCss:!!ad.experimental.inlineCss,authInterrupts:!!ad.experimental.authInterrupts,clientTraceMetadata:ad.experimental.clientTraceMetadata||[],clientParamParsingOrigins:ad.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,B.parseMaxPostponedStateSize)(ad.experimental.maxPostponedStateSize)},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>M.onRequestError(a,b,d,e,ac),err:(0,h.getRequestMeta)(a,"invokeError"),dev:M.isDev}};at&&(l.renderOpts.nextExport=!0,l.renderOpts.supportsDynamicResponse=!1,l.renderOpts.isDebugDynamicAccesses=at),i&&(l.renderOpts.supportsDynamicResponse=!1);let n=await k(e,l),{metadata:o}=n,{cacheControl:p,headers:q={},fetchTags:r,fetchMetrics:s}=o;if(r&&(q[x.NEXT_CACHE_TAGS_HEADER]=r),a.fetchMetrics=s,az&&(null==p?void 0:p.revalidate)===0&&!M.isDev&&!as){let a=o.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${aa}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
|
|
2
|
-
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:u.CachedRouteKind.APP_PAGE,html:n,headers:q,rscData:o.flightData,postponed:o.postponed,status:o.statusCode,segmentData:o.segmentData},cacheControl:p}},p=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i,forceStaticRender:j=!1})=>{let k,l=!1===M.isDev,q=c||b.writableEnded;if(ai&&ab&&!f&&!J)return(null==ac?void 0:ac.render404)?await ac.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(aj&&(k=(0,v.parseFallbackField)(aj.fallback)),k===v.FallbackMode.PRERENDER&&(0,t.isBot)(al)&&(!as||an)&&(k=v.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ai=!0),ai&&(k!==v.FallbackMode.NOT_FOUND||f)&&(k=v.FallbackMode.BLOCKING_STATIC_RENDER),!J&&k!==v.FallbackMode.BLOCKING_STATIC_RENDER&&aE&&!q&&!_&&T&&(l||!ak)){if((l||aj)&&k===v.FallbackMode.NOT_FOUND){if(ad.experimental.adapterPath)return await aJ();throw new A.NoFallbackError}if(as&&(ad.cacheComponents?!aw:!ap)){let b=l&&"string"==typeof(null==aj?void 0:aj.fallback)?aj.fallback:ah,c=l&&(null==aj?void 0:aj.fallbackRouteParams)?(0,n.createOpaqueFallbackRouteParams)(aj.fallbackRouteParams):au?(0,n.getFallbackRouteParams)(ah,M):null,f=await M.handleResponse({cacheKey:b,req:a,nextConfig:ad,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:$,isRoutePPREnabled:as,responseGenerator:async()=>o({span:i,postponed:void 0,fallbackRouteParams:c,forceStaticRender:!1}),waitUntil:d.waitUntil,isMinimalMode:J});if(null===f)return null;if(f)return delete f.cacheControl,f}}let r=ai||g||!av?void 0:av;if(aA&&!J&&m&&aw&&!j){let b=await m.get(aa,{kind:u.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===u.CachedRouteKind.APP_PAGE&&(r=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,H.scheduleOnNextTick)(async()=>{let b=M.getResponseCache(a);try{await b.revalidate(aa,m,as,!1,a=>p({...a,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if(at&&void 0!==r)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:u.CachedRouteKind.PAGES,html:w.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let s=l&&(null==aj?void 0:aj.fallbackRouteParams)&&(0,h.getRequestMeta)(a,"renderFallbackShell")?(0,n.createOpaqueFallbackRouteParams)(aj.fallbackRouteParams):au?(0,n.getFallbackRouteParams)(ah,M):null;return o({span:i,postponed:r,fallbackRouteParams:s,forceStaticRender:j})},q=async c=>{var f,g,i,j,k;let l,m=await M.handleResponse({cacheKey:aD,responseGenerator:a=>p({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ai,isRoutePPREnabled:as,req:a,nextConfig:ad,prerenderManifest:$,waitUntil:d.waitUntil,isMinimalMode:J});if(_&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),M.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!m){if(aD)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=m.value)?void 0:f.kind)!==u.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=m.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let n="string"==typeof m.value.postponed;az&&!aw&&(!n||ao)&&(J||b.setHeader("x-nextjs-cache",ai?"REVALIDATED":m.isMiss?"MISS":m.isStale?"STALE":"HIT"),b.setHeader(s.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=m;if(av)l={revalidate:0,expire:void 0};else if(aw)l={revalidate:0,expire:void 0};else if(!M.isDev)if(_)l={revalidate:0,expire:void 0};else if(az){if(m.cacheControl)if("number"==typeof m.cacheControl.revalidate){if(m.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${m.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:m.cacheControl.revalidate,expire:(null==(j=m.cacheControl)?void 0:j.expire)??ad.expireTime}}else l={revalidate:x.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(m.cacheControl=l,"string"==typeof ax&&(null==q?void 0:q.kind)===u.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(s.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[x.NEXT_CACHE_TAGS_HEADER];J&&az&&c&&"string"==typeof c&&b.setHeader(x.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(ax);return void 0!==d?(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:w.default.fromStatic(d,s.RSC_CONTENT_TYPE_HEADER),cacheControl:m.cacheControl}):(b.statusCode=204,(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:w.default.EMPTY,cacheControl:m.cacheControl}))}let r=aA?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r(m,{url:(0,h.getRequestMeta)(a,"initURL")??a.url}))return null;if(q.headers){let a={...q.headers};for(let[c,d]of(J&&az||delete a[x.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let t=null==(g=q.headers)?void 0:g[x.NEXT_CACHE_TAGS_HEADER];if(J&&az&&t&&"string"==typeof t&&b.setHeader(x.NEXT_CACHE_TAGS_HEADER,t),!q.status||ap&&as||(b.statusCode=q.status),!J&&q.status&&F.RedirectStatusCode[q.status]&&ap&&(b.statusCode=200),n&&!aw&&b.setHeader(s.NEXT_DID_POSTPONE_HEADER,"1"),ap&&!_){if(void 0===q.rscData){if(q.html.contentType!==s.RSC_CONTENT_TYPE_HEADER)if(ad.cacheComponents)return b.statusCode=404,(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:w.default.EMPTY,cacheControl:m.cacheControl});else throw Object.defineProperty(new G.InvariantError(`Expected RSC response, got ${q.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:q.html,cacheControl:m.cacheControl})}return(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:w.default.fromStatic(q.rscData,s.RSC_CONTENT_TYPE_HEADER),cacheControl:m.cacheControl})}let v=q.html;if(!n||J||ap)return(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:v,cacheControl:m.cacheControl});if(at)return v.push(new ReadableStream({start(a){a.enqueue(y.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}});let A=new TransformStream;return v.push(A.readable),o({span:c,postponed:q.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==u.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(A.writable)}).catch(a=>{A.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}})};if(!aI)return await aH.withPropagatedContext(a.headers,()=>aH.trace(i.BaseServerSpan.handleRequest,{spanName:`${aG} ${O}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aG,"http.target":a.url}},q));await q(aI)}catch(b){throw b instanceof A.NoFallbackError||await M.onRequestError(a,b,{routerKind:"App Router",routePath:O,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:az,isOnDemandRevalidate:ai})},!1,ac),b}}},23318:(a,b,c)=>{let{createProxy:d}=c(78830);a.exports=d("/home/runner/work/OmniRoute/OmniRoute/node_modules/next/dist/client/app-dir/link.js")},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},26755:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,2116,23))},27435:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,23318,23))},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30855:(a,b,c)=>{"use strict";c.d(b,{Xg:()=>d.PROVIDER_ID_TO_ALIAS,eh:()=>e,vq:()=>d.vq});var d=c(29485);Object.entries(c(5175).Q2).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))},33873:a=>{"use strict";a.exports=require("path")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},48161:a=>{"use strict";a.exports=require("node:os")},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63059:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={default:function(){return i},useLinkStatus:function(){return h.useLinkStatus}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(7904),g=c(5735),h=f._(c(23318));function i(a){let b=a.legacyBehavior,c="string"==typeof a.children||"number"==typeof a.children||"string"==typeof a.children?.type,d=a.children?.type?.$$typeof===Symbol.for("react.client.reference");return!b||c||d||(a.children?.type?.$$typeof===Symbol.for("react.lazy")?console.error("Using a Lazy Component as a direct child of `<Link legacyBehavior>` from a Server Component is not supported. If you need legacyBehavior, wrap your Lazy Component in a Client Component that renders the Link's `<a>` tag."):console.error("Using a Server Component as a direct child of `<Link legacyBehavior>` is not supported. If you need legacyBehavior, wrap your Server Component in a Client Component that renders the Link's `<a>` tag.")),(0,g.jsx)(h.default,{...a})}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},77598:a=>{"use strict";a.exports=require("node:crypto")},79646:a=>{"use strict";a.exports=require("child_process")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},93638:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>j});var d=c(5735),e=c(63059),f=c(94106);let g=[{path:"/v1/chat/completions",note:"OpenAI-compatible chat endpoint (default)."},{path:"/v1/responses",note:"Responses API endpoint (supported)."},{path:"/v1/models",note:"Model catalog for connected providers."},{path:"/chat/completions",note:"Rewrite helper for clients that do not include /v1."},{path:"/responses",note:"Rewrite helper for Responses clients without /v1."},{path:"/models",note:"Rewrite helper for model discovery without /v1."}],h=[{title:"Single endpoint for many providers",text:"Point clients to one base URL and route by model prefix (for example: gh/, cc/, kr/, openai/)."},{title:"Fallback and model switching with combos",text:"Create combo models in Dashboard and keep client config stable while providers rotate internally."},{title:"Usage, cost and debug visibility",text:"Track tokens/cost by provider, account and API key in Usage + Logger tabs."}],i=["If the client fails with model routing, use explicit provider/model (for example: gh/gpt-5.1-codex).","If you receive ambiguous model errors, pick a provider prefix instead of a bare model ID.","For GitHub Codex-family models, keep model as gh/<codex-model>; router selects /responses automatically.","Use Dashboard > Providers > Test Connection before testing from IDEs or external clients."];function j(){return(0,d.jsx)("div",{className:"min-h-screen bg-bg text-text-main",children:(0,d.jsxs)("div",{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:[(0,d.jsx)("header",{className:"rounded-2xl border border-border bg-bg-subtle p-6 md:p-8",children:(0,d.jsxs)("div",{className:"flex flex-col gap-4 md:flex-row md:items-center md:justify-between",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-xs uppercase tracking-wider text-text-muted",children:"In-App Documentation"}),(0,d.jsxs)("h1",{className:"text-3xl md:text-4xl font-bold mt-1",children:[f.vQ.name," Docs"]}),(0,d.jsx)("p",{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."})]}),(0,d.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,d.jsx)(e,{href:"/dashboard/endpoint",className:"px-3 py-2 rounded-lg border border-border text-sm hover:bg-bg transition-colors",children:"Open Endpoint Page"}),(0,d.jsx)("a",{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"})]})]})}),(0,d.jsxs)("section",{id:"quick-start",className:"rounded-2xl border border-border bg-bg-subtle p-6",children:[(0,d.jsx)("h2",{className:"text-xl font-semibold",children:"Quick Start"}),(0,d.jsxs)("ol",{className:"mt-4 grid grid-cols-1 md:grid-cols-2 gap-3 text-sm",children:[(0,d.jsxs)("li",{className:"rounded-lg border border-border p-3 bg-bg",children:[(0,d.jsx)("span",{className:"font-semibold",children:"1. Create API key"}),(0,d.jsx)("p",{className:"text-text-muted mt-1",children:"Generate one key per app/environment."})]}),(0,d.jsxs)("li",{className:"rounded-lg border border-border p-3 bg-bg",children:[(0,d.jsx)("span",{className:"font-semibold",children:"2. Connect providers"}),(0,d.jsx)("p",{className:"text-text-muted mt-1",children:"Add provider accounts in Dashboard and run Test Connection."})]}),(0,d.jsxs)("li",{className:"rounded-lg border border-border p-3 bg-bg",children:[(0,d.jsx)("span",{className:"font-semibold",children:"3. Set client base URL"}),(0,d.jsxs)("p",{className:"text-text-muted mt-1",children:["Prefer ",(0,d.jsx)("code",{className:"px-1 rounded bg-bg-subtle",children:"https://<host>/v1"}),"."]})]}),(0,d.jsxs)("li",{className:"rounded-lg border border-border p-3 bg-bg",children:[(0,d.jsx)("span",{className:"font-semibold",children:"4. Choose model"}),(0,d.jsxs)("p",{className:"text-text-muted mt-1",children:["Prefer explicit provider prefix, for example"," ",(0,d.jsx)("code",{className:"px-1 rounded bg-bg-subtle",children:"gh/gpt-5.1-codex"}),"."]})]})]})]}),(0,d.jsxs)("section",{id:"use-cases",className:"rounded-2xl border border-border bg-bg-subtle p-6",children:[(0,d.jsx)("h2",{className:"text-xl font-semibold",children:"Common Use Cases"}),(0,d.jsx)("div",{className:"mt-4 grid grid-cols-1 md:grid-cols-3 gap-3",children:h.map(a=>(0,d.jsxs)("article",{className:"rounded-lg border border-border p-4 bg-bg",children:[(0,d.jsx)("h3",{className:"font-semibold",children:a.title}),(0,d.jsx)("p",{className:"text-sm text-text-muted mt-2",children:a.text})]},a.title))})]}),(0,d.jsxs)("section",{id:"client-compatibility",className:"rounded-2xl border border-border bg-bg-subtle p-6",children:[(0,d.jsx)("h2",{className:"text-xl font-semibold",children:"Client Compatibility"}),(0,d.jsxs)("div",{className:"mt-4 grid grid-cols-1 md:grid-cols-2 gap-3 text-sm",children:[(0,d.jsxs)("article",{id:"cherry-studio",className:"rounded-lg border border-border p-4 bg-bg",children:[(0,d.jsx)("h3",{className:"font-semibold",children:"Cherry Studio"}),(0,d.jsxs)("ul",{className:"mt-2 text-text-muted space-y-1",children:[(0,d.jsxs)("li",{children:["Base URL:"," ",(0,d.jsx)("code",{className:"px-1 rounded bg-bg-subtle",children:"https://<host>/v1"})]}),(0,d.jsxs)("li",{children:["Chat endpoint:"," ",(0,d.jsx)("code",{className:"px-1 rounded bg-bg-subtle",children:"/chat/completions"})]}),(0,d.jsxs)("li",{children:["Model recommendation: explicit prefix (",(0,d.jsx)("code",{className:"px-1 rounded bg-bg-subtle",children:"gh/..."}),","," ",(0,d.jsx)("code",{className:"px-1 rounded bg-bg-subtle",children:"cc/..."}),")"]})]})]}),(0,d.jsxs)("article",{id:"codex-copilot",className:"rounded-lg border border-border p-4 bg-bg",children:[(0,d.jsx)("h3",{className:"font-semibold",children:"Codex / GitHub Copilot Models"}),(0,d.jsxs)("ul",{className:"mt-2 text-text-muted space-y-1",children:[(0,d.jsxs)("li",{children:["Use model IDs with ",(0,d.jsx)("code",{className:"px-1 rounded bg-bg-subtle",children:"gh/"})," prefix."]}),(0,d.jsxs)("li",{children:["Codex-family models auto-route to"," ",(0,d.jsx)("code",{className:"px-1 rounded bg-bg-subtle",children:"/responses"}),"."]}),(0,d.jsxs)("li",{children:["Non-Codex models continue on"," ",(0,d.jsx)("code",{className:"px-1 rounded bg-bg-subtle",children:"/chat/completions"}),"."]})]})]})]})]}),(0,d.jsxs)("section",{id:"api-reference",className:"rounded-2xl border border-border bg-bg-subtle p-6",children:[(0,d.jsx)("h2",{className:"text-xl font-semibold",children:"Endpoint Reference"}),(0,d.jsx)("div",{className:"mt-4 overflow-x-auto",children:(0,d.jsxs)("table",{className:"w-full text-sm border-collapse",children:[(0,d.jsx)("thead",{children:(0,d.jsxs)("tr",{className:"border-b border-border",children:[(0,d.jsx)("th",{className:"text-left py-2 pr-4",children:"Path"}),(0,d.jsx)("th",{className:"text-left py-2",children:"Notes"})]})}),(0,d.jsx)("tbody",{children:g.map(a=>(0,d.jsxs)("tr",{className:"border-b border-border/60",children:[(0,d.jsx)("td",{className:"py-2 pr-4 font-mono",children:a.path}),(0,d.jsx)("td",{className:"py-2 text-text-muted",children:a.note})]},a.path))})]})})]}),(0,d.jsxs)("section",{id:"troubleshooting",className:"rounded-2xl border border-border bg-bg-subtle p-6",children:[(0,d.jsx)("h2",{className:"text-xl font-semibold",children:"Troubleshooting"}),(0,d.jsx)("ul",{className:"mt-4 list-disc list-inside text-sm text-text-muted space-y-2",children:i.map(a=>(0,d.jsx)("li",{children:a},a))})]})]})})}},94106:(a,b,c)=>{"use strict";c.d(b,{eh:()=>e.eh,fg:()=>d.fg,vQ:()=>f});var d=c(5175),e=c(30855);let f={name:"OmniRoute",description:"AI Gateway for Multi-Provider LLMs",version:"0.1.0"}}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,595,7471,3919,2116,8108,21,481,5640,9188],()=>b(b.s=21004));module.exports=c})();
|
|
2
|
+
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:u.CachedRouteKind.APP_PAGE,html:n,headers:q,rscData:o.flightData,postponed:o.postponed,status:o.statusCode,segmentData:o.segmentData},cacheControl:p}},p=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i,forceStaticRender:j=!1})=>{let k,l=!1===M.isDev,q=c||b.writableEnded;if(ai&&ab&&!f&&!J)return(null==ac?void 0:ac.render404)?await ac.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(aj&&(k=(0,v.parseFallbackField)(aj.fallback)),k===v.FallbackMode.PRERENDER&&(0,t.isBot)(al)&&(!as||an)&&(k=v.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ai=!0),ai&&(k!==v.FallbackMode.NOT_FOUND||f)&&(k=v.FallbackMode.BLOCKING_STATIC_RENDER),!J&&k!==v.FallbackMode.BLOCKING_STATIC_RENDER&&aE&&!q&&!_&&T&&(l||!ak)){if((l||aj)&&k===v.FallbackMode.NOT_FOUND){if(ad.experimental.adapterPath)return await aJ();throw new A.NoFallbackError}if(as&&(ad.cacheComponents?!aw:!ap)){let b=l&&"string"==typeof(null==aj?void 0:aj.fallback)?aj.fallback:ah,c=l&&(null==aj?void 0:aj.fallbackRouteParams)?(0,n.createOpaqueFallbackRouteParams)(aj.fallbackRouteParams):au?(0,n.getFallbackRouteParams)(ah,M):null,f=await M.handleResponse({cacheKey:b,req:a,nextConfig:ad,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:$,isRoutePPREnabled:as,responseGenerator:async()=>o({span:i,postponed:void 0,fallbackRouteParams:c,forceStaticRender:!1}),waitUntil:d.waitUntil,isMinimalMode:J});if(null===f)return null;if(f)return delete f.cacheControl,f}}let r=ai||g||!av?void 0:av;if(aA&&!J&&m&&aw&&!j){let b=await m.get(aa,{kind:u.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===u.CachedRouteKind.APP_PAGE&&(r=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,H.scheduleOnNextTick)(async()=>{let b=M.getResponseCache(a);try{await b.revalidate(aa,m,as,!1,a=>p({...a,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if(at&&void 0!==r)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:u.CachedRouteKind.PAGES,html:w.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let s=l&&(null==aj?void 0:aj.fallbackRouteParams)&&(0,h.getRequestMeta)(a,"renderFallbackShell")?(0,n.createOpaqueFallbackRouteParams)(aj.fallbackRouteParams):au?(0,n.getFallbackRouteParams)(ah,M):null;return o({span:i,postponed:r,fallbackRouteParams:s,forceStaticRender:j})},q=async c=>{var f,g,i,j,k;let l,m=await M.handleResponse({cacheKey:aD,responseGenerator:a=>p({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ai,isRoutePPREnabled:as,req:a,nextConfig:ad,prerenderManifest:$,waitUntil:d.waitUntil,isMinimalMode:J});if(_&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),M.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!m){if(aD)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=m.value)?void 0:f.kind)!==u.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=m.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let n="string"==typeof m.value.postponed;az&&!aw&&(!n||ao)&&(J||b.setHeader("x-nextjs-cache",ai?"REVALIDATED":m.isMiss?"MISS":m.isStale?"STALE":"HIT"),b.setHeader(s.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=m;if(av)l={revalidate:0,expire:void 0};else if(aw)l={revalidate:0,expire:void 0};else if(!M.isDev)if(_)l={revalidate:0,expire:void 0};else if(az){if(m.cacheControl)if("number"==typeof m.cacheControl.revalidate){if(m.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${m.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:m.cacheControl.revalidate,expire:(null==(j=m.cacheControl)?void 0:j.expire)??ad.expireTime}}else l={revalidate:x.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(m.cacheControl=l,"string"==typeof ax&&(null==q?void 0:q.kind)===u.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(s.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[x.NEXT_CACHE_TAGS_HEADER];J&&az&&c&&"string"==typeof c&&b.setHeader(x.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(ax);return void 0!==d?(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:w.default.fromStatic(d,s.RSC_CONTENT_TYPE_HEADER),cacheControl:m.cacheControl}):(b.statusCode=204,(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:w.default.EMPTY,cacheControl:m.cacheControl}))}let r=aA?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r(m,{url:(0,h.getRequestMeta)(a,"initURL")??a.url}))return null;if(q.headers){let a={...q.headers};for(let[c,d]of(J&&az||delete a[x.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let t=null==(g=q.headers)?void 0:g[x.NEXT_CACHE_TAGS_HEADER];if(J&&az&&t&&"string"==typeof t&&b.setHeader(x.NEXT_CACHE_TAGS_HEADER,t),!q.status||ap&&as||(b.statusCode=q.status),!J&&q.status&&F.RedirectStatusCode[q.status]&&ap&&(b.statusCode=200),n&&!aw&&b.setHeader(s.NEXT_DID_POSTPONE_HEADER,"1"),ap&&!_){if(void 0===q.rscData){if(q.html.contentType!==s.RSC_CONTENT_TYPE_HEADER)if(ad.cacheComponents)return b.statusCode=404,(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:w.default.EMPTY,cacheControl:m.cacheControl});else throw Object.defineProperty(new G.InvariantError(`Expected RSC response, got ${q.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:q.html,cacheControl:m.cacheControl})}return(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:w.default.fromStatic(q.rscData,s.RSC_CONTENT_TYPE_HEADER),cacheControl:m.cacheControl})}let v=q.html;if(!n||J||ap)return(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:v,cacheControl:m.cacheControl});if(at)return v.push(new ReadableStream({start(a){a.enqueue(y.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}});let A=new TransformStream;return v.push(A.readable),o({span:c,postponed:q.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==u.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(A.writable)}).catch(a=>{A.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}})};if(!aI)return await aH.withPropagatedContext(a.headers,()=>aH.trace(i.BaseServerSpan.handleRequest,{spanName:`${aG} ${O}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aG,"http.target":a.url}},q));await q(aI)}catch(b){throw b instanceof A.NoFallbackError||await M.onRequestError(a,b,{routerKind:"App Router",routePath:O,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:az,isOnDemandRevalidate:ai})},!1,ac),b}}},23318:(a,b,c)=>{let{createProxy:d}=c(78830);a.exports=d("/home/runner/work/OmniRoute/OmniRoute/node_modules/next/dist/client/app-dir/link.js")},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},26755:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,2116,23))},27435:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,23318,23))},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30855:(a,b,c)=>{"use strict";c.d(b,{Xg:()=>d.PROVIDER_ID_TO_ALIAS,eh:()=>e,vq:()=>d.vq});var d=c(29485);Object.entries(c(5175).Q2).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))},33873:a=>{"use strict";a.exports=require("path")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},48161:a=>{"use strict";a.exports=require("node:os")},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63059:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={default:function(){return i},useLinkStatus:function(){return h.useLinkStatus}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(7904),g=c(5735),h=f._(c(23318));function i(a){let b=a.legacyBehavior,c="string"==typeof a.children||"number"==typeof a.children||"string"==typeof a.children?.type,d=a.children?.type?.$$typeof===Symbol.for("react.client.reference");return!b||c||d||(a.children?.type?.$$typeof===Symbol.for("react.lazy")?console.error("Using a Lazy Component as a direct child of `<Link legacyBehavior>` from a Server Component is not supported. If you need legacyBehavior, wrap your Lazy Component in a Client Component that renders the Link's `<a>` tag."):console.error("Using a Server Component as a direct child of `<Link legacyBehavior>` is not supported. If you need legacyBehavior, wrap your Server Component in a Client Component that renders the Link's `<a>` tag.")),(0,g.jsx)(h.default,{...a})}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},77598:a=>{"use strict";a.exports=require("node:crypto")},79646:a=>{"use strict";a.exports=require("child_process")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},93638:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>j});var d=c(5735),e=c(63059),f=c(94106);let g=[{path:"/v1/chat/completions",note:"OpenAI-compatible chat endpoint (default)."},{path:"/v1/responses",note:"Responses API endpoint (supported)."},{path:"/v1/models",note:"Model catalog for connected providers."},{path:"/chat/completions",note:"Rewrite helper for clients that do not include /v1."},{path:"/responses",note:"Rewrite helper for Responses clients without /v1."},{path:"/models",note:"Rewrite helper for model discovery without /v1."}],h=[{title:"Single endpoint for many providers",text:"Point clients to one base URL and route by model prefix (for example: gh/, cc/, kr/, openai/)."},{title:"Fallback and model switching with combos",text:"Create combo models in Dashboard and keep client config stable while providers rotate internally."},{title:"Usage, cost and debug visibility",text:"Track tokens/cost by provider, account and API key in Usage + Logger tabs."}],i=["If the client fails with model routing, use explicit provider/model (for example: gh/gpt-5.1-codex).","If you receive ambiguous model errors, pick a provider prefix instead of a bare model ID.","For GitHub Codex-family models, keep model as gh/<codex-model>; router selects /responses automatically.","Use Dashboard > Providers > Test Connection before testing from IDEs or external clients."];function j(){return(0,d.jsx)("div",{className:"min-h-screen bg-bg text-text-main",children:(0,d.jsxs)("div",{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:[(0,d.jsx)("header",{className:"rounded-2xl border border-border bg-bg-subtle p-6 md:p-8",children:(0,d.jsxs)("div",{className:"flex flex-col gap-4 md:flex-row md:items-center md:justify-between",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-xs uppercase tracking-wider text-text-muted",children:"In-App Documentation"}),(0,d.jsxs)("h1",{className:"text-3xl md:text-4xl font-bold mt-1",children:[f.vQ.name," Docs"]}),(0,d.jsx)("p",{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."})]}),(0,d.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,d.jsx)(e,{href:"/dashboard/endpoint",className:"px-3 py-2 rounded-lg border border-border text-sm hover:bg-bg transition-colors",children:"Open Endpoint Page"}),(0,d.jsx)("a",{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"})]})]})}),(0,d.jsxs)("section",{id:"quick-start",className:"rounded-2xl border border-border bg-bg-subtle p-6",children:[(0,d.jsx)("h2",{className:"text-xl font-semibold",children:"Quick Start"}),(0,d.jsxs)("ol",{className:"mt-4 grid grid-cols-1 md:grid-cols-2 gap-3 text-sm",children:[(0,d.jsxs)("li",{className:"rounded-lg border border-border p-3 bg-bg",children:[(0,d.jsx)("span",{className:"font-semibold",children:"1. Create API key"}),(0,d.jsx)("p",{className:"text-text-muted mt-1",children:"Generate one key per app/environment."})]}),(0,d.jsxs)("li",{className:"rounded-lg border border-border p-3 bg-bg",children:[(0,d.jsx)("span",{className:"font-semibold",children:"2. Connect providers"}),(0,d.jsx)("p",{className:"text-text-muted mt-1",children:"Add provider accounts in Dashboard and run Test Connection."})]}),(0,d.jsxs)("li",{className:"rounded-lg border border-border p-3 bg-bg",children:[(0,d.jsx)("span",{className:"font-semibold",children:"3. Set client base URL"}),(0,d.jsxs)("p",{className:"text-text-muted mt-1",children:["Prefer ",(0,d.jsx)("code",{className:"px-1 rounded bg-bg-subtle",children:"https://<host>/v1"}),"."]})]}),(0,d.jsxs)("li",{className:"rounded-lg border border-border p-3 bg-bg",children:[(0,d.jsx)("span",{className:"font-semibold",children:"4. Choose model"}),(0,d.jsxs)("p",{className:"text-text-muted mt-1",children:["Prefer explicit provider prefix, for example"," ",(0,d.jsx)("code",{className:"px-1 rounded bg-bg-subtle",children:"gh/gpt-5.1-codex"}),"."]})]})]})]}),(0,d.jsxs)("section",{id:"use-cases",className:"rounded-2xl border border-border bg-bg-subtle p-6",children:[(0,d.jsx)("h2",{className:"text-xl font-semibold",children:"Common Use Cases"}),(0,d.jsx)("div",{className:"mt-4 grid grid-cols-1 md:grid-cols-3 gap-3",children:h.map(a=>(0,d.jsxs)("article",{className:"rounded-lg border border-border p-4 bg-bg",children:[(0,d.jsx)("h3",{className:"font-semibold",children:a.title}),(0,d.jsx)("p",{className:"text-sm text-text-muted mt-2",children:a.text})]},a.title))})]}),(0,d.jsxs)("section",{id:"client-compatibility",className:"rounded-2xl border border-border bg-bg-subtle p-6",children:[(0,d.jsx)("h2",{className:"text-xl font-semibold",children:"Client Compatibility"}),(0,d.jsxs)("div",{className:"mt-4 grid grid-cols-1 md:grid-cols-2 gap-3 text-sm",children:[(0,d.jsxs)("article",{id:"cherry-studio",className:"rounded-lg border border-border p-4 bg-bg",children:[(0,d.jsx)("h3",{className:"font-semibold",children:"Cherry Studio"}),(0,d.jsxs)("ul",{className:"mt-2 text-text-muted space-y-1",children:[(0,d.jsxs)("li",{children:["Base URL:"," ",(0,d.jsx)("code",{className:"px-1 rounded bg-bg-subtle",children:"https://<host>/v1"})]}),(0,d.jsxs)("li",{children:["Chat endpoint:"," ",(0,d.jsx)("code",{className:"px-1 rounded bg-bg-subtle",children:"/chat/completions"})]}),(0,d.jsxs)("li",{children:["Model recommendation: explicit prefix (",(0,d.jsx)("code",{className:"px-1 rounded bg-bg-subtle",children:"gh/..."}),","," ",(0,d.jsx)("code",{className:"px-1 rounded bg-bg-subtle",children:"cc/..."}),")"]})]})]}),(0,d.jsxs)("article",{id:"codex-copilot",className:"rounded-lg border border-border p-4 bg-bg",children:[(0,d.jsx)("h3",{className:"font-semibold",children:"Codex / GitHub Copilot Models"}),(0,d.jsxs)("ul",{className:"mt-2 text-text-muted space-y-1",children:[(0,d.jsxs)("li",{children:["Use model IDs with ",(0,d.jsx)("code",{className:"px-1 rounded bg-bg-subtle",children:"gh/"})," prefix."]}),(0,d.jsxs)("li",{children:["Codex-family models auto-route to"," ",(0,d.jsx)("code",{className:"px-1 rounded bg-bg-subtle",children:"/responses"}),"."]}),(0,d.jsxs)("li",{children:["Non-Codex models continue on"," ",(0,d.jsx)("code",{className:"px-1 rounded bg-bg-subtle",children:"/chat/completions"}),"."]})]})]})]})]}),(0,d.jsxs)("section",{id:"api-reference",className:"rounded-2xl border border-border bg-bg-subtle p-6",children:[(0,d.jsx)("h2",{className:"text-xl font-semibold",children:"Endpoint Reference"}),(0,d.jsx)("div",{className:"mt-4 overflow-x-auto",children:(0,d.jsxs)("table",{className:"w-full text-sm border-collapse",children:[(0,d.jsx)("thead",{children:(0,d.jsxs)("tr",{className:"border-b border-border",children:[(0,d.jsx)("th",{className:"text-left py-2 pr-4",children:"Path"}),(0,d.jsx)("th",{className:"text-left py-2",children:"Notes"})]})}),(0,d.jsx)("tbody",{children:g.map(a=>(0,d.jsxs)("tr",{className:"border-b border-border/60",children:[(0,d.jsx)("td",{className:"py-2 pr-4 font-mono",children:a.path}),(0,d.jsx)("td",{className:"py-2 text-text-muted",children:a.note})]},a.path))})]})})]}),(0,d.jsxs)("section",{id:"troubleshooting",className:"rounded-2xl border border-border bg-bg-subtle p-6",children:[(0,d.jsx)("h2",{className:"text-xl font-semibold",children:"Troubleshooting"}),(0,d.jsx)("ul",{className:"mt-4 list-disc list-inside text-sm text-text-muted space-y-2",children:i.map(a=>(0,d.jsx)("li",{children:a},a))})]})]})})}},94106:(a,b,c)=>{"use strict";c.d(b,{eh:()=>e.eh,fg:()=>d.fg,vQ:()=>f});var d=c(5175),e=c(30855);let f={name:"OmniRoute",description:"AI Gateway for Multi-Provider LLMs",version:"0.2.0"}}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,595,7471,3919,2116,8108,21,481,5640,9188],()=>b(b.s=21004));module.exports=c})();
|