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,14 +1,14 @@
|
|
|
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
|
5:I[98500,["8500","static/chunks/8500-98e13bcce54aa7a0.js","7066","static/chunks/app/terms/page-8f74097544a61b9d.js"],""]
|
|
6
6
|
d:I[27123,[],""]
|
|
7
7
|
:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
8
8
|
:HL["/_next/static/css/081a0afca5a9bd20.css","style"]
|
|
9
|
-
:HL["/_next/static/css/
|
|
9
|
+
:HL["/_next/static/css/5309860f6e486620.css","style"]
|
|
10
10
|
:HL["https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","style"]
|
|
11
|
-
0:{"P":null,"b":"
|
|
11
|
+
0:{"P":null,"b":"XnNWFvV2IXZ4xuX0F1Skg","c":["","terms"],"q":"","i":false,"f":[[["",{"children":["terms",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/081a0afca5a9bd20.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/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,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","main",null,{"className":"min-h-screen bg-bg text-text-main","children":["$","div",null,{"className":"max-w-3xl mx-auto px-6 py-16","children":[["$","$L5",null,{"href":"/","className":"inline-flex items-center gap-1 text-sm text-text-muted hover:text-primary transition-colors mb-8","children":[["$","span",null,{"className":"material-symbols-outlined text-[18px]","children":"arrow_back"}],"Back to home"]}],["$","h1",null,{"className":"text-3xl font-bold mb-2","children":"Terms of Service"}],["$","p",null,{"className":"text-sm text-text-muted mb-10","children":"Last updated: February 13, 2026"}],["$","div",null,{"className":"space-y-8 text-text-muted leading-relaxed","children":[["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"1. Overview"}],["$","p",null,{"children":["OmniRoute is a ",["$","strong",null,{"className":"text-text-main","children":"local-first"}]," AI API proxy router that operates entirely on your machine. It routes requests to multiple AI providers with load balancing, failover, and usage tracking."]}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"2. User Responsibilities"}],["$","ul",null,{"className":"list-disc pl-6 space-y-2","children":[["$","li",null,{"children":"You are solely responsible for managing your own API keys and credentials for third-party AI providers (OpenAI, Anthropic, Google, etc.)."}],["$","li",null,{"children":"You must comply with the terms of service of each AI provider whose API you access through OmniRoute."}],["$","li",null,{"children":"You are responsible for the security of your local OmniRoute installation, including setting a password and restricting network access."}]]}]]}],"$L6","$L7","$L8","$L9"]}],"$La"]}]}],null,"$Lb"]}],{},null,false,false]},null,false,false]},null,false,false],"$Lc",false]],"m":"$undefined","G":["$d",[]],"S":true}
|
|
12
12
|
e:I[90484,[],"OutletBoundary"]
|
|
13
13
|
f:"$Sreact.suspense"
|
|
14
14
|
11:I[90484,[],"ViewportBoundary"]
|
|
@@ -1,14 +1,14 @@
|
|
|
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
|
5:I[98500,["8500","static/chunks/8500-98e13bcce54aa7a0.js","7066","static/chunks/app/terms/page-8f74097544a61b9d.js"],""]
|
|
6
6
|
d:I[27123,[],""]
|
|
7
7
|
:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
8
8
|
:HL["/_next/static/css/081a0afca5a9bd20.css","style"]
|
|
9
|
-
:HL["/_next/static/css/
|
|
9
|
+
:HL["/_next/static/css/5309860f6e486620.css","style"]
|
|
10
10
|
:HL["https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","style"]
|
|
11
|
-
0:{"P":null,"b":"
|
|
11
|
+
0:{"P":null,"b":"XnNWFvV2IXZ4xuX0F1Skg","c":["","terms"],"q":"","i":false,"f":[[["",{"children":["terms",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/081a0afca5a9bd20.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/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,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","main",null,{"className":"min-h-screen bg-bg text-text-main","children":["$","div",null,{"className":"max-w-3xl mx-auto px-6 py-16","children":[["$","$L5",null,{"href":"/","className":"inline-flex items-center gap-1 text-sm text-text-muted hover:text-primary transition-colors mb-8","children":[["$","span",null,{"className":"material-symbols-outlined text-[18px]","children":"arrow_back"}],"Back to home"]}],["$","h1",null,{"className":"text-3xl font-bold mb-2","children":"Terms of Service"}],["$","p",null,{"className":"text-sm text-text-muted mb-10","children":"Last updated: February 13, 2026"}],["$","div",null,{"className":"space-y-8 text-text-muted leading-relaxed","children":[["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"1. Overview"}],["$","p",null,{"children":["OmniRoute is a ",["$","strong",null,{"className":"text-text-main","children":"local-first"}]," AI API proxy router that operates entirely on your machine. It routes requests to multiple AI providers with load balancing, failover, and usage tracking."]}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"2. User Responsibilities"}],["$","ul",null,{"className":"list-disc pl-6 space-y-2","children":[["$","li",null,{"children":"You are solely responsible for managing your own API keys and credentials for third-party AI providers (OpenAI, Anthropic, Google, etc.)."}],["$","li",null,{"children":"You must comply with the terms of service of each AI provider whose API you access through OmniRoute."}],["$","li",null,{"children":"You are responsible for the security of your local OmniRoute installation, including setting a password and restricting network access."}]]}]]}],"$L6","$L7","$L8","$L9"]}],"$La"]}]}],null,"$Lb"]}],{},null,false,false]},null,false,false]},null,false,false],"$Lc",false]],"m":"$undefined","G":["$d",[]],"S":true}
|
|
12
12
|
e:I[90484,[],"OutletBoundary"]
|
|
13
13
|
f:"$Sreact.suspense"
|
|
14
14
|
11:I[90484,[],"ViewportBoundary"]
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
3:I[90484,[],"MetadataBoundary"]
|
|
4
4
|
4:"$Sreact.suspense"
|
|
5
5
|
5:I[86869,[],"IconMark"]
|
|
6
|
-
0:{"buildId":"
|
|
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":"Terms of Service | OmniRoute"}],["$","meta","1",{"name":"description","content":"Terms of service for the OmniRoute AI API proxy router."}],["$","link","2",{"rel":"icon","href":"/favicon.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":"terms","paramType":null,"paramKey":"terms","hasRuntimePrefetch":false,"slots":{"children":{"name":"__PAGE__","paramType":null,"paramKey":"__PAGE__","hasRuntimePrefetch":false,"slots":null,"isRootLayout":false}},"isRootLayout":false}},"isRootLayout":true},"staleTime":300}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
2:I[98500,["8500","static/chunks/8500-98e13bcce54aa7a0.js","7066","static/chunks/app/terms/page-8f74097544a61b9d.js"],""]
|
|
3
3
|
3:I[90484,[],"OutletBoundary"]
|
|
4
4
|
4:"$Sreact.suspense"
|
|
5
|
-
0:{"buildId":"
|
|
5
|
+
0:{"buildId":"XnNWFvV2IXZ4xuX0F1Skg","rsc":["$","$1","c",{"children":[["$","main",null,{"className":"min-h-screen bg-bg text-text-main","children":["$","div",null,{"className":"max-w-3xl mx-auto px-6 py-16","children":[["$","$L2",null,{"href":"/","className":"inline-flex items-center gap-1 text-sm text-text-muted hover:text-primary transition-colors mb-8","children":[["$","span",null,{"className":"material-symbols-outlined text-[18px]","children":"arrow_back"}],"Back to home"]}],["$","h1",null,{"className":"text-3xl font-bold mb-2","children":"Terms of Service"}],["$","p",null,{"className":"text-sm text-text-muted mb-10","children":"Last updated: February 13, 2026"}],["$","div",null,{"className":"space-y-8 text-text-muted leading-relaxed","children":[["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"1. Overview"}],["$","p",null,{"children":["OmniRoute is a ",["$","strong",null,{"className":"text-text-main","children":"local-first"}]," AI API proxy router that operates entirely on your machine. It routes requests to multiple AI providers with load balancing, failover, and usage tracking."]}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"2. User Responsibilities"}],["$","ul",null,{"className":"list-disc pl-6 space-y-2","children":[["$","li",null,{"children":"You are solely responsible for managing your own API keys and credentials for third-party AI providers (OpenAI, Anthropic, Google, etc.)."}],["$","li",null,{"children":"You must comply with the terms of service of each AI provider whose API you access through OmniRoute."}],["$","li",null,{"children":"You are responsible for the security of your local OmniRoute installation, including setting a password and restricting network access."}]]}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"3. How It Works"}],["$","p",null,{"children":"OmniRoute acts as an intermediary proxy. API calls sent to OmniRoute are translated and forwarded to your configured AI providers. OmniRoute does not modify the content of your requests or responses beyond the necessary protocol translation."}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"4. Data Handling"}],["$","ul",null,{"className":"list-disc pl-6 space-y-2","children":[["$","li",null,{"children":["All data is stored ",["$","strong",null,{"className":"text-text-main","children":"locally"}]," on your machine in a SQLite database."]}],["$","li",null,{"children":"OmniRoute does not transmit any data to external servers unless you explicitly enable cloud sync features."}],["$","li",null,{"children":["Usage logs, API keys, and configuration are stored in"," ",["$","code",null,{"className":"text-primary text-sm","children":"~/.omniroute/"}],"."]}]]}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"5. Disclaimer"}],["$","p",null,{"children":"OmniRoute is provided “as is” without warranty of any kind. We are not responsible for any costs incurred through API usage, service disruptions, or data loss. Always maintain backups of your configuration."}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"6. Open Source"}],["$","p",null,{"children":"OmniRoute is open-source software. You are free to inspect, modify, and distribute it under the terms of its license."}]]}]]}],["$","div",null,{"className":"mt-12 pt-8 border-t border-white/[0.06] text-sm text-text-muted","children":["$","p",null,{"children":["Questions? Visit our"," ",["$","a",null,{"href":"https://github.com/decolua/omniroute","className":"text-primary hover:underline","target":"_blank","rel":"noopener noreferrer","children":"GitHub repository"}],"."]}]}]]}]}],null,["$","$L3",null,{"children":["$","$4",null,{"name":"Next.MetadataOutlet","children":"$@5"}]}]]}],"loading":null,"isPartial":false}
|
|
6
6
|
5:null
|
|
@@ -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}
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
"/_not-found/page": "app/_not-found/page.js",
|
|
3
3
|
"/_global-error/page": "app/_global-error/page.js",
|
|
4
4
|
"/api/auth/login/route": "app/api/auth/login/route.js",
|
|
5
|
-
"/api/auth/logout/route": "app/api/auth/logout/route.js",
|
|
6
5
|
"/api/cli-tools/antigravity-mitm/alias/route": "app/api/cli-tools/antigravity-mitm/alias/route.js",
|
|
6
|
+
"/api/auth/logout/route": "app/api/auth/logout/route.js",
|
|
7
7
|
"/api/cli-tools/backups/route": "app/api/cli-tools/backups/route.js",
|
|
8
8
|
"/api/cli-tools/codex-profiles/route": "app/api/cli-tools/codex-profiles/route.js",
|
|
9
9
|
"/api/cli-tools/guide-settings/[toolId]/route": "app/api/cli-tools/guide-settings/[toolId]/route.js",
|
|
10
|
-
"/api/cloud/auth/route": "app/api/cloud/auth/route.js",
|
|
11
10
|
"/api/cloud/credentials/update/route": "app/api/cloud/credentials/update/route.js",
|
|
11
|
+
"/api/cloud/auth/route": "app/api/cloud/auth/route.js",
|
|
12
12
|
"/api/cloud/model/resolve/route": "app/api/cloud/model/resolve/route.js",
|
|
13
13
|
"/api/cloud/models/alias/route": "app/api/cloud/models/alias/route.js",
|
|
14
14
|
"/api/combos/[id]/route": "app/api/combos/[id]/route.js",
|
|
@@ -19,20 +19,21 @@
|
|
|
19
19
|
"/api/init/route": "app/api/init/route.js",
|
|
20
20
|
"/api/keys/[id]/route": "app/api/keys/[id]/route.js",
|
|
21
21
|
"/api/keys/route": "app/api/keys/route.js",
|
|
22
|
-
"/api/models/alias/route": "app/api/models/alias/route.js",
|
|
23
22
|
"/api/models/catalog/route": "app/api/models/catalog/route.js",
|
|
23
|
+
"/api/models/alias/route": "app/api/models/alias/route.js",
|
|
24
24
|
"/api/models/route": "app/api/models/route.js",
|
|
25
|
-
"/api/oauth/cursor/auto-import/route": "app/api/oauth/cursor/auto-import/route.js",
|
|
26
25
|
"/api/oauth/[provider]/[action]/route": "app/api/oauth/[provider]/[action]/route.js",
|
|
27
26
|
"/api/oauth/cursor/import/route": "app/api/oauth/cursor/import/route.js",
|
|
28
27
|
"/api/oauth/kiro/auto-import/route": "app/api/oauth/kiro/auto-import/route.js",
|
|
28
|
+
"/api/oauth/cursor/auto-import/route": "app/api/oauth/cursor/auto-import/route.js",
|
|
29
29
|
"/api/oauth/kiro/import/route": "app/api/oauth/kiro/import/route.js",
|
|
30
|
+
"/api/oauth/kiro/social-authorize/route": "app/api/oauth/kiro/social-authorize/route.js",
|
|
31
|
+
"/api/pricing/defaults/route": "app/api/pricing/defaults/route.js",
|
|
30
32
|
"/api/oauth/kiro/social-exchange/route": "app/api/oauth/kiro/social-exchange/route.js",
|
|
33
|
+
"/api/pricing/models/route": "app/api/pricing/models/route.js",
|
|
31
34
|
"/api/pricing/route": "app/api/pricing/route.js",
|
|
32
|
-
"/api/pricing/defaults/route": "app/api/pricing/defaults/route.js",
|
|
33
|
-
"/api/oauth/kiro/social-authorize/route": "app/api/oauth/kiro/social-authorize/route.js",
|
|
34
|
-
"/api/provider-models/route": "app/api/provider-models/route.js",
|
|
35
35
|
"/api/provider-nodes/[id]/route": "app/api/provider-nodes/[id]/route.js",
|
|
36
|
+
"/api/provider-models/route": "app/api/provider-models/route.js",
|
|
36
37
|
"/api/provider-nodes/validate/route": "app/api/provider-nodes/validate/route.js",
|
|
37
38
|
"/api/providers/[id]/models/route": "app/api/providers/[id]/models/route.js",
|
|
38
39
|
"/api/providers/[id]/route": "app/api/providers/[id]/route.js",
|
|
@@ -41,15 +42,20 @@
|
|
|
41
42
|
"/api/providers/test-batch/route": "app/api/providers/test-batch/route.js",
|
|
42
43
|
"/api/providers/validate/route": "app/api/providers/validate/route.js",
|
|
43
44
|
"/api/rate-limit/route": "app/api/rate-limit/route.js",
|
|
45
|
+
"/api/rate-limits/route": "app/api/rate-limits/route.js",
|
|
44
46
|
"/api/restart/route": "app/api/restart/route.js",
|
|
47
|
+
"/api/sessions/route": "app/api/sessions/route.js",
|
|
45
48
|
"/api/settings/combo-defaults/route": "app/api/settings/combo-defaults/route.js",
|
|
49
|
+
"/api/settings/ip-filter/route": "app/api/settings/ip-filter/route.js",
|
|
46
50
|
"/api/settings/require-login/route": "app/api/settings/require-login/route.js",
|
|
47
51
|
"/api/settings/route": "app/api/settings/route.js",
|
|
52
|
+
"/api/settings/system-prompt/route": "app/api/settings/system-prompt/route.js",
|
|
48
53
|
"/api/shutdown/route": "app/api/shutdown/route.js",
|
|
54
|
+
"/api/settings/thinking-budget/route": "app/api/settings/thinking-budget/route.js",
|
|
49
55
|
"/api/storage/health/route": "app/api/storage/health/route.js",
|
|
50
56
|
"/api/sync/cloud/route": "app/api/sync/cloud/route.js",
|
|
51
|
-
"/api/sync/initialize/route": "app/api/sync/initialize/route.js",
|
|
52
57
|
"/api/tags/route": "app/api/tags/route.js",
|
|
58
|
+
"/api/sync/initialize/route": "app/api/sync/initialize/route.js",
|
|
53
59
|
"/api/translator/detect/route": "app/api/translator/detect/route.js",
|
|
54
60
|
"/api/translator/history/route": "app/api/translator/history/route.js",
|
|
55
61
|
"/api/translator/load/route": "app/api/translator/load/route.js",
|
|
@@ -57,24 +63,24 @@
|
|
|
57
63
|
"/api/translator/send/route": "app/api/translator/send/route.js",
|
|
58
64
|
"/api/translator/translate/route": "app/api/translator/translate/route.js",
|
|
59
65
|
"/api/usage/[connectionId]/route": "app/api/usage/[connectionId]/route.js",
|
|
60
|
-
"/api/usage/call-logs/[id]/route": "app/api/usage/call-logs/[id]/route.js",
|
|
61
66
|
"/api/usage/analytics/route": "app/api/usage/analytics/route.js",
|
|
67
|
+
"/api/usage/call-logs/[id]/route": "app/api/usage/call-logs/[id]/route.js",
|
|
68
|
+
"/api/usage/call-logs/route": "app/api/usage/call-logs/route.js",
|
|
62
69
|
"/api/usage/history/route": "app/api/usage/history/route.js",
|
|
63
70
|
"/api/usage/logs/route": "app/api/usage/logs/route.js",
|
|
64
|
-
"/api/usage/call-logs/route": "app/api/usage/call-logs/route.js",
|
|
65
71
|
"/api/usage/request-logs/route": "app/api/usage/request-logs/route.js",
|
|
66
72
|
"/api/v1/api/chat/route": "app/api/v1/api/chat/route.js",
|
|
67
73
|
"/api/v1/audio/speech/route": "app/api/v1/audio/speech/route.js",
|
|
68
74
|
"/api/v1/audio/transcriptions/route": "app/api/v1/audio/transcriptions/route.js",
|
|
69
75
|
"/api/v1/chat/completions/route": "app/api/v1/chat/completions/route.js",
|
|
70
|
-
"/api/v1/embeddings/route": "app/api/v1/embeddings/route.js",
|
|
71
76
|
"/api/v1/images/generations/route": "app/api/v1/images/generations/route.js",
|
|
72
|
-
"/api/v1/
|
|
73
|
-
"/api/v1/messages/route": "app/api/v1/messages/route.js",
|
|
77
|
+
"/api/v1/embeddings/route": "app/api/v1/embeddings/route.js",
|
|
74
78
|
"/api/v1/models/route": "app/api/v1/models/route.js",
|
|
79
|
+
"/api/v1/messages/route": "app/api/v1/messages/route.js",
|
|
80
|
+
"/api/v1/messages/count_tokens/route": "app/api/v1/messages/count_tokens/route.js",
|
|
75
81
|
"/api/v1/moderations/route": "app/api/v1/moderations/route.js",
|
|
76
|
-
"/api/v1/providers/[provider]/chat/completions/route": "app/api/v1/providers/[provider]/chat/completions/route.js",
|
|
77
82
|
"/api/v1/providers/[provider]/embeddings/route": "app/api/v1/providers/[provider]/embeddings/route.js",
|
|
83
|
+
"/api/v1/providers/[provider]/chat/completions/route": "app/api/v1/providers/[provider]/chat/completions/route.js",
|
|
78
84
|
"/api/v1/providers/[provider]/images/generations/route": "app/api/v1/providers/[provider]/images/generations/route.js",
|
|
79
85
|
"/api/v1/rerank/route": "app/api/v1/rerank/route.js",
|
|
80
86
|
"/api/v1/responses/route": "app/api/v1/responses/route.js",
|
|
@@ -92,27 +98,27 @@
|
|
|
92
98
|
"/api/provider-nodes/route": "app/api/provider-nodes/route.js",
|
|
93
99
|
"/api/cli-tools/codex-settings/route": "app/api/cli-tools/codex-settings/route.js",
|
|
94
100
|
"/api/providers/[id]/test/route": "app/api/providers/[id]/test/route.js",
|
|
101
|
+
"/api/settings/proxy/test/route": "app/api/settings/proxy/test/route.js",
|
|
95
102
|
"/api/settings/proxy/route": "app/api/settings/proxy/route.js",
|
|
96
103
|
"/api/usage/proxy-logs/route": "app/api/usage/proxy-logs/route.js",
|
|
97
|
-
"/api/settings/proxy/test/route": "app/api/settings/proxy/test/route.js",
|
|
98
104
|
"/callback/page": "app/callback/page.js",
|
|
99
|
-
"/dashboard/settings/pricing/page": "app/dashboard/settings/pricing/page.js",
|
|
100
|
-
"/docs/page": "app/docs/page.js",
|
|
101
105
|
"/landing/page": "app/landing/page.js",
|
|
106
|
+
"/docs/page": "app/docs/page.js",
|
|
102
107
|
"/login/page": "app/login/page.js",
|
|
103
108
|
"/page": "app/page.js",
|
|
104
|
-
"/privacy/page": "app/privacy/page.js",
|
|
105
109
|
"/terms/page": "app/terms/page.js",
|
|
106
|
-
"/
|
|
110
|
+
"/privacy/page": "app/privacy/page.js",
|
|
107
111
|
"/(dashboard)/dashboard/cli-tools/page": "app/(dashboard)/dashboard/cli-tools/page.js",
|
|
112
|
+
"/(dashboard)/dashboard/endpoint/page": "app/(dashboard)/dashboard/endpoint/page.js",
|
|
108
113
|
"/(dashboard)/dashboard/profile/page": "app/(dashboard)/dashboard/profile/page.js",
|
|
109
114
|
"/(dashboard)/dashboard/providers/new/page": "app/(dashboard)/dashboard/providers/new/page.js",
|
|
110
115
|
"/(dashboard)/dashboard/settings/page": "app/(dashboard)/dashboard/settings/page.js",
|
|
116
|
+
"/(dashboard)/dashboard/settings/pricing/page": "app/(dashboard)/dashboard/settings/pricing/page.js",
|
|
111
117
|
"/(dashboard)/dashboard/page": "app/(dashboard)/dashboard/page.js",
|
|
112
118
|
"/(dashboard)/dashboard/onboarding/page": "app/(dashboard)/dashboard/onboarding/page.js",
|
|
113
119
|
"/(dashboard)/dashboard/translator/page": "app/(dashboard)/dashboard/translator/page.js",
|
|
114
120
|
"/(dashboard)/dashboard/usage/page": "app/(dashboard)/dashboard/usage/page.js",
|
|
115
|
-
"/(dashboard)/dashboard/combos/page": "app/(dashboard)/dashboard/combos/page.js",
|
|
116
121
|
"/(dashboard)/dashboard/providers/page": "app/(dashboard)/dashboard/providers/page.js",
|
|
122
|
+
"/(dashboard)/dashboard/combos/page": "app/(dashboard)/dashboard/combos/page.js",
|
|
117
123
|
"/(dashboard)/dashboard/providers/[id]/page": "app/(dashboard)/dashboard/providers/[id]/page.js"
|
|
118
124
|
}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
exports.id=1483,exports.ids=[1483,7136],exports.modules={14469:(a,b,c)=>{"use strict";c.d(b,{G6:()=>p,I8:()=>i,NJ:()=>m,jX:()=>s,kB:()=>o,m1:()=>h,nJ:()=>j,oh:()=>k,sm:()=>r});var d=c(87550),e=c(76760),f=c(73024),g=c(32677);let h="object"==typeof globalThis.caches&&null!==globalThis.caches,i="phase-production-build"===process.env.NEXT_PHASE,j=(0,g._3)({isCloud:h});h||(0,g.sm)();let k=h?null:e.join(j,"storage.sqlite"),l=h?null:e.join(j,"db.json"),m=h?null:e.join(j,"db_backups");h||f.existsSync(j)||f.mkdirSync(j,{recursive:!0});let n=`
|
|
2
|
+
CREATE TABLE IF NOT EXISTS provider_connections (
|
|
3
|
+
id TEXT PRIMARY KEY,
|
|
4
|
+
provider TEXT NOT NULL,
|
|
5
|
+
auth_type TEXT,
|
|
6
|
+
name TEXT,
|
|
7
|
+
email TEXT,
|
|
8
|
+
priority INTEGER DEFAULT 0,
|
|
9
|
+
is_active INTEGER DEFAULT 1,
|
|
10
|
+
access_token TEXT,
|
|
11
|
+
refresh_token TEXT,
|
|
12
|
+
expires_at TEXT,
|
|
13
|
+
token_expires_at TEXT,
|
|
14
|
+
scope TEXT,
|
|
15
|
+
project_id TEXT,
|
|
16
|
+
test_status TEXT,
|
|
17
|
+
error_code TEXT,
|
|
18
|
+
last_error TEXT,
|
|
19
|
+
last_error_at TEXT,
|
|
20
|
+
last_error_type TEXT,
|
|
21
|
+
last_error_source TEXT,
|
|
22
|
+
backoff_level INTEGER DEFAULT 0,
|
|
23
|
+
rate_limited_until TEXT,
|
|
24
|
+
health_check_interval INTEGER,
|
|
25
|
+
last_health_check_at TEXT,
|
|
26
|
+
last_tested TEXT,
|
|
27
|
+
api_key TEXT,
|
|
28
|
+
id_token TEXT,
|
|
29
|
+
provider_specific_data TEXT,
|
|
30
|
+
expires_in INTEGER,
|
|
31
|
+
display_name TEXT,
|
|
32
|
+
global_priority INTEGER,
|
|
33
|
+
default_model TEXT,
|
|
34
|
+
token_type TEXT,
|
|
35
|
+
consecutive_use_count INTEGER DEFAULT 0,
|
|
36
|
+
rate_limit_protection INTEGER DEFAULT 0,
|
|
37
|
+
created_at TEXT NOT NULL,
|
|
38
|
+
updated_at TEXT NOT NULL
|
|
39
|
+
);
|
|
40
|
+
CREATE INDEX IF NOT EXISTS idx_pc_provider ON provider_connections(provider);
|
|
41
|
+
CREATE INDEX IF NOT EXISTS idx_pc_active ON provider_connections(is_active);
|
|
42
|
+
CREATE INDEX IF NOT EXISTS idx_pc_priority ON provider_connections(provider, priority);
|
|
43
|
+
|
|
44
|
+
CREATE TABLE IF NOT EXISTS provider_nodes (
|
|
45
|
+
id TEXT PRIMARY KEY,
|
|
46
|
+
type TEXT NOT NULL,
|
|
47
|
+
name TEXT NOT NULL,
|
|
48
|
+
prefix TEXT,
|
|
49
|
+
api_type TEXT,
|
|
50
|
+
base_url TEXT,
|
|
51
|
+
created_at TEXT NOT NULL,
|
|
52
|
+
updated_at TEXT NOT NULL
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
CREATE TABLE IF NOT EXISTS key_value (
|
|
56
|
+
namespace TEXT NOT NULL,
|
|
57
|
+
key TEXT NOT NULL,
|
|
58
|
+
value TEXT NOT NULL,
|
|
59
|
+
PRIMARY KEY (namespace, key)
|
|
60
|
+
);
|
|
61
|
+
|
|
62
|
+
CREATE TABLE IF NOT EXISTS combos (
|
|
63
|
+
id TEXT PRIMARY KEY,
|
|
64
|
+
name TEXT NOT NULL UNIQUE,
|
|
65
|
+
data TEXT NOT NULL,
|
|
66
|
+
created_at TEXT NOT NULL,
|
|
67
|
+
updated_at TEXT NOT NULL
|
|
68
|
+
);
|
|
69
|
+
|
|
70
|
+
CREATE TABLE IF NOT EXISTS api_keys (
|
|
71
|
+
id TEXT PRIMARY KEY,
|
|
72
|
+
name TEXT NOT NULL,
|
|
73
|
+
key TEXT NOT NULL UNIQUE,
|
|
74
|
+
machine_id TEXT,
|
|
75
|
+
created_at TEXT NOT NULL
|
|
76
|
+
);
|
|
77
|
+
CREATE INDEX IF NOT EXISTS idx_ak_key ON api_keys(key);
|
|
78
|
+
|
|
79
|
+
CREATE TABLE IF NOT EXISTS db_meta (
|
|
80
|
+
key TEXT PRIMARY KEY,
|
|
81
|
+
value TEXT
|
|
82
|
+
);
|
|
83
|
+
|
|
84
|
+
CREATE TABLE IF NOT EXISTS usage_history (
|
|
85
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
86
|
+
provider TEXT,
|
|
87
|
+
model TEXT,
|
|
88
|
+
connection_id TEXT,
|
|
89
|
+
api_key_id TEXT,
|
|
90
|
+
api_key_name TEXT,
|
|
91
|
+
tokens_input INTEGER DEFAULT 0,
|
|
92
|
+
tokens_output INTEGER DEFAULT 0,
|
|
93
|
+
tokens_cache_read INTEGER DEFAULT 0,
|
|
94
|
+
tokens_cache_creation INTEGER DEFAULT 0,
|
|
95
|
+
tokens_reasoning INTEGER DEFAULT 0,
|
|
96
|
+
status TEXT,
|
|
97
|
+
timestamp TEXT NOT NULL
|
|
98
|
+
);
|
|
99
|
+
CREATE INDEX IF NOT EXISTS idx_uh_timestamp ON usage_history(timestamp);
|
|
100
|
+
CREATE INDEX IF NOT EXISTS idx_uh_provider ON usage_history(provider);
|
|
101
|
+
CREATE INDEX IF NOT EXISTS idx_uh_model ON usage_history(model);
|
|
102
|
+
|
|
103
|
+
CREATE TABLE IF NOT EXISTS call_logs (
|
|
104
|
+
id TEXT PRIMARY KEY,
|
|
105
|
+
timestamp TEXT NOT NULL,
|
|
106
|
+
method TEXT,
|
|
107
|
+
path TEXT,
|
|
108
|
+
status INTEGER,
|
|
109
|
+
model TEXT,
|
|
110
|
+
provider TEXT,
|
|
111
|
+
account TEXT,
|
|
112
|
+
connection_id TEXT,
|
|
113
|
+
duration INTEGER DEFAULT 0,
|
|
114
|
+
tokens_in INTEGER DEFAULT 0,
|
|
115
|
+
tokens_out INTEGER DEFAULT 0,
|
|
116
|
+
source_format TEXT,
|
|
117
|
+
target_format TEXT,
|
|
118
|
+
api_key_id TEXT,
|
|
119
|
+
api_key_name TEXT,
|
|
120
|
+
combo_name TEXT,
|
|
121
|
+
request_body TEXT,
|
|
122
|
+
response_body TEXT,
|
|
123
|
+
error TEXT
|
|
124
|
+
);
|
|
125
|
+
CREATE INDEX IF NOT EXISTS idx_cl_timestamp ON call_logs(timestamp);
|
|
126
|
+
CREATE INDEX IF NOT EXISTS idx_cl_status ON call_logs(status);
|
|
127
|
+
`;function o(a){if(!a)return null;let b={};for(let[c,d]of Object.entries(a)){let a=c.replace(/_([a-z])/g,(a,b)=>b.toUpperCase());if("isActive"===a||"rateLimitProtection"===a)b[a]=1===d||!0===d;else if("providerSpecificData"===a&&"string"==typeof d)try{b[a]=JSON.parse(d)}catch{b[a]=d}else b[a]=d}return b}function p(a){let b={};for(let[c,d]of Object.entries(a))null!=d&&(b[c]=d);return b}let q=null;function r(){if(q)return q;if(h||i)return i&&console.log("[DB] Build phase detected — using in-memory SQLite (read-only)"),(q=new d(":memory:")).pragma("journal_mode = WAL"),q.exec(n),q;if(f.existsSync(k))try{let a=new d(k,{readonly:!0}),b=a.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='schema_migrations'").get();if(a.close(),b){let a=k+".old-schema";for(let b of(console.log(`[DB] Old incompatible schema detected — renaming to ${e.basename(a)}`),f.renameSync(k,a),["-wal","-shm"]))try{f.existsSync(k+b)&&f.unlinkSync(k+b)}catch{}}}catch(a){console.warn("[DB] Could not probe existing DB, will create fresh:",a.message);try{f.unlinkSync(k)}catch{}}(q=new d(k)).pragma("journal_mode = WAL"),q.pragma("busy_timeout = 5000"),q.pragma("synchronous = NORMAL"),q.exec(n);var a=q;try{let b=a.prepare("PRAGMA table_info(provider_connections)").all();new Set(b.map(a=>a.name)).has("rate_limit_protection")||(a.exec("ALTER TABLE provider_connections ADD COLUMN rate_limit_protection INTEGER DEFAULT 0"),console.log("[DB] Added provider_connections.rate_limit_protection column"))}catch(a){console.warn("[DB] Failed to verify provider_connections schema:",a.message)}return l&&f.existsSync(l)&&function(a,b){try{let c=f.readFileSync(b,"utf-8"),d=JSON.parse(c),g=(d.providerConnections||[]).length,h=(d.providerNodes||[]).length,i=(d.apiKeys||[]).length;if(0===g&&0===h&&0===i){console.log("[DB] db.json has no data to migrate, skipping"),f.renameSync(b,b+".empty");return}console.log(`[DB] Migrating db.json → SQLite (${g} connections, ${h} nodes, ${i} keys)...`),a.transaction(()=>{let b=a.prepare(`
|
|
128
|
+
INSERT OR REPLACE INTO provider_connections (
|
|
129
|
+
id, provider, auth_type, name, email, priority, is_active,
|
|
130
|
+
access_token, refresh_token, expires_at, token_expires_at,
|
|
131
|
+
scope, project_id, test_status, error_code, last_error,
|
|
132
|
+
last_error_at, last_error_type, last_error_source, backoff_level,
|
|
133
|
+
rate_limited_until, health_check_interval, last_health_check_at,
|
|
134
|
+
last_tested, api_key, id_token, provider_specific_data,
|
|
135
|
+
expires_in, display_name, global_priority, default_model,
|
|
136
|
+
token_type, consecutive_use_count, rate_limit_protection, created_at, updated_at
|
|
137
|
+
) VALUES (
|
|
138
|
+
@id, @provider, @authType, @name, @email, @priority, @isActive,
|
|
139
|
+
@accessToken, @refreshToken, @expiresAt, @tokenExpiresAt,
|
|
140
|
+
@scope, @projectId, @testStatus, @errorCode, @lastError,
|
|
141
|
+
@lastErrorAt, @lastErrorType, @lastErrorSource, @backoffLevel,
|
|
142
|
+
@rateLimitedUntil, @healthCheckInterval, @lastHealthCheckAt,
|
|
143
|
+
@lastTested, @apiKey, @idToken, @providerSpecificData,
|
|
144
|
+
@expiresIn, @displayName, @globalPriority, @defaultModel,
|
|
145
|
+
@tokenType, @consecutiveUseCount, @rateLimitProtection, @createdAt, @updatedAt
|
|
146
|
+
)
|
|
147
|
+
`);for(let a of d.providerConnections||[])b.run({id:a.id,provider:a.provider,authType:a.authType||"oauth",name:a.name||null,email:a.email||null,priority:a.priority||0,isActive:+(!1!==a.isActive),accessToken:a.accessToken||null,refreshToken:a.refreshToken||null,expiresAt:a.expiresAt||null,tokenExpiresAt:a.tokenExpiresAt||null,scope:a.scope||null,projectId:a.projectId||null,testStatus:a.testStatus||null,errorCode:a.errorCode||null,lastError:a.lastError||null,lastErrorAt:a.lastErrorAt||null,lastErrorType:a.lastErrorType||null,lastErrorSource:a.lastErrorSource||null,backoffLevel:a.backoffLevel||0,rateLimitedUntil:a.rateLimitedUntil||null,healthCheckInterval:a.healthCheckInterval||null,lastHealthCheckAt:a.lastHealthCheckAt||null,lastTested:a.lastTested||null,apiKey:a.apiKey||null,idToken:a.idToken||null,providerSpecificData:a.providerSpecificData?JSON.stringify(a.providerSpecificData):null,expiresIn:a.expiresIn||null,displayName:a.displayName||null,globalPriority:a.globalPriority||null,defaultModel:a.defaultModel||null,tokenType:a.tokenType||null,consecutiveUseCount:a.consecutiveUseCount||0,rateLimitProtection:+(!0===a.rateLimitProtection||1===a.rateLimitProtection),createdAt:a.createdAt||new Date().toISOString(),updatedAt:a.updatedAt||new Date().toISOString()});let c=a.prepare(`
|
|
148
|
+
INSERT OR REPLACE INTO provider_nodes (id, type, name, prefix, api_type, base_url, created_at, updated_at)
|
|
149
|
+
VALUES (@id, @type, @name, @prefix, @apiType, @baseUrl, @createdAt, @updatedAt)
|
|
150
|
+
`);for(let a of d.providerNodes||[])c.run({id:a.id,type:a.type,name:a.name,prefix:a.prefix||null,apiType:a.apiType||null,baseUrl:a.baseUrl||null,createdAt:a.createdAt||new Date().toISOString(),updatedAt:a.updatedAt||new Date().toISOString()});let e=a.prepare("INSERT OR REPLACE INTO key_value (namespace, key, value) VALUES (?, ?, ?)");for(let[a,b]of Object.entries(d.modelAliases||{}))e.run("modelAliases",a,JSON.stringify(b));for(let[a,b]of Object.entries(d.mitmAlias||{}))e.run("mitmAlias",a,JSON.stringify(b));for(let[a,b]of Object.entries(d.settings||{}))e.run("settings",a,JSON.stringify(b));for(let[a,b]of Object.entries(d.pricing||{}))e.run("pricing",a,JSON.stringify(b));for(let[a,b]of Object.entries(d.customModels||{}))e.run("customModels",a,JSON.stringify(b));d.proxyConfig&&(e.run("proxyConfig","global",JSON.stringify(d.proxyConfig.global||null)),e.run("proxyConfig","providers",JSON.stringify(d.proxyConfig.providers||{})),e.run("proxyConfig","combos",JSON.stringify(d.proxyConfig.combos||{})),e.run("proxyConfig","keys",JSON.stringify(d.proxyConfig.keys||{})));let f=a.prepare(`
|
|
151
|
+
INSERT OR REPLACE INTO combos (id, name, data, created_at, updated_at)
|
|
152
|
+
VALUES (@id, @name, @data, @createdAt, @updatedAt)
|
|
153
|
+
`);for(let a of d.combos||[])f.run({id:a.id,name:a.name,data:JSON.stringify(a),createdAt:a.createdAt||new Date().toISOString(),updatedAt:a.updatedAt||new Date().toISOString()});let g=a.prepare(`
|
|
154
|
+
INSERT OR REPLACE INTO api_keys (id, name, key, machine_id, created_at)
|
|
155
|
+
VALUES (@id, @name, @key, @machineId, @createdAt)
|
|
156
|
+
`);for(let a of d.apiKeys||[])g.run({id:a.id,name:a.name,key:a.key,machineId:a.machineId||null,createdAt:a.createdAt||new Date().toISOString()})})();let k=b+".migrated";f.renameSync(b,k),console.log(`[DB] ✓ Migration complete. Original saved as ${k}`);let l=e.join(j,"db_backups");if(f.existsSync(l)){let a=f.readdirSync(l).filter(a=>a.endsWith(".json"));a.length>0&&console.log(`[DB] Note: ${a.length} legacy .json backups remain in ${l}`)}}catch(a){console.error("[DB] Migration from db.json failed:",a.message)}}(q,l),q.prepare("INSERT OR REPLACE INTO db_meta (key, value) VALUES ('schema_version', '1')").run(),console.log(`[DB] SQLite database ready: ${k}`),q}function s(){q&&(q.close(),q=null)}},15040:(a,b,c)=>{"use strict";c.d(b,{Pt:()=>j,Tr:()=>k,c1:()=>h,kI:()=>l,vk:()=>i});var d=c(60021),e=c(49263),f=c(26262);let g=Promise.resolve();async function h(a,b=null){let c,i=g;g=new Promise(a=>{c=a});try{let c;await i;let g=await (0,d.getProviderConnections)({provider:a,isActive:!0});if(f.debug("AUTH",`${a} | total connections: ${g.length}, excludeId: ${b||"none"}`),0===g.length){let b=await (0,d.getProviderConnections)({provider:a});if(f.debug("AUTH",`${a} | all connections (incl inactive): ${b.length}`),b.length>0){let c=(0,e.UY)(b);if(c)return f.warn("AUTH",`${a} | all ${b.length} accounts rate limited (${(0,e.Qo)(c)})`),{allRateLimited:!0,retryAfter:c,retryAfterHuman:(0,e.Qo)(c)};f.warn("AUTH",`${a} | ${b.length} accounts found but none active`),b.forEach(a=>{f.debug("AUTH",` → ${a.id?.slice(0,8)} | isActive=${a.isActive} | rateLimitedUntil=${a.rateLimitedUntil||"none"} | testStatus=${a.testStatus}`)})}return f.warn("AUTH",`No credentials for ${a}`),null}let h=g.filter(a=>!(b&&a.id===b||(0,e.AO)(a.rateLimitedUntil)));if(f.debug("AUTH",`${a} | available: ${h.length}/${g.length}`),g.forEach(a=>{let c=b&&a.id===b,d=(0,e.AO)(a.rateLimitedUntil);(c||d)&&f.debug("AUTH",` → ${a.id?.slice(0,8)} | ${c?"excluded":""} ${d?`rateLimited until ${a.rateLimitedUntil}`:""}`)}),0===h.length){let b=(0,e.UY)(g);if(b){let c=g.filter(a=>a.rateLimitedUntil&&new Date(a.rateLimitedUntil).getTime()>Date.now()).sort((a,b)=>new Date(a.rateLimitedUntil)-new Date(b.rateLimitedUntil))[0];return f.warn("AUTH",`${a} | all ${g.length} active accounts rate limited (${(0,e.Qo)(b)}) | lastErrorCode=${c?.errorCode}, lastError=${c?.lastError?.slice(0,50)}`),{allRateLimited:!0,retryAfter:b,retryAfterHuman:(0,e.Qo)(b),lastError:c?.lastError||null,lastErrorCode:c?.errorCode||null}}return f.warn("AUTH",`${a} | all ${g.length} accounts unavailable`),null}let j=await (0,d.mt)(),k=j.fallbackStrategy||"fill-first";if("round-robin"===k){let a=j.stickyRoundRobinLimit||3,b=[...h].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(b.lastUsedAt)-new Date(a.lastUsedAt):-1:1:(a.priority||999)-(b.priority||999))[0],e=b?.consecutiveUseCount||0;b&&b.lastUsedAt&&e<a?(c=b,await (0,d.rj)(c.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:(c.consecutiveUseCount||0)+1})):(c=[...h].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(a.lastUsedAt)-new Date(b.lastUsedAt):1:-1:(a.priority||999)-(b.priority||999))[0],await (0,d.rj)(c.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:1}))}else c=h[0];return{apiKey:c.apiKey,accessToken:c.accessToken,refreshToken:c.refreshToken,expiresAt:c.tokenExpiresAt||c.expiresAt||null,projectId:c.projectId,copilotToken:c.providerSpecificData?.copilotToken,providerSpecificData:c.providerSpecificData,connectionId:c.id,testStatus:c.testStatus,lastError:c.lastError,rateLimitedUntil:c.rateLimitedUntil}}finally{c&&c()}}async function i(a,b,c,f=null,g=null){let h=(await (0,d.getProviderConnections)({provider:f})).find(b=>b.id===a),j=h?.backoffLevel||0,{shouldFallback:k,cooldownMs:l,newBackoffLevel:m,reason:n}=(0,e.hk)(b,c,j,g);if(!k)return{shouldFallback:!1,cooldownMs:0};let o=(0,e.vp)(l),p="string"==typeof c?c.slice(0,100):"Provider error";return await (0,d.rj)(a,{rateLimitedUntil:o,testStatus:"unavailable",lastError:p,errorCode:b,lastErrorAt:new Date().toISOString(),backoffLevel:m??j}),f&&g&&l>0&&(0,e.R7)(f,a,g,n||"unknown",l),f&&b&&p&&console.error(`❌ ${f} [${b}]: ${p}`),{shouldFallback:!0,cooldownMs:l}}async function j(a,b){("unavailable"===b.testStatus||b.lastError||b.rateLimitedUntil)&&(await (0,d.rj)(a,{testStatus:"active",lastError:null,lastErrorAt:null,rateLimitedUntil:null,backoffLevel:0}),f.info("AUTH",`Account ${a.slice(0,8)} error cleared`))}function k(a){let b=a.headers.get("Authorization");return b?.startsWith("Bearer ")?b.slice(7):null}async function l(a){return!!a&&await (0,d.ek)(a)}},19225:(a,b,c)=>{"use strict";a.exports=c(44870)},26262:(a,b,c)=>{"use strict";c.r(b),c.d(b,{debug:()=>h,error:()=>k,info:()=>i,maskKey:()=>f,request:()=>l,response:()=>m,stream:()=>n,warn:()=>j});var d=c(74552);let e={level:process.env.LOG_LEVEL||"info",base:{service:"omniroute"},timestamp:d.stdTimeFunctions.isoTime,formatters:{level:a=>({level:a})}};function f(a){return!a||a.length<8?"***":`${a.slice(0,4)}...${a.slice(-4)}`}let g=d({...e}).child({module:"sse"});function h(a,b,c){g.debug({tag:a,...o(c)},b)}function i(a,b,c){g.info({tag:a,...o(c)},b)}function j(a,b,c){g.warn({tag:a,...o(c)},b)}function k(a,b,c){g.error({tag:a,...o(c)},b)}function l(a,b,c){g.info({tag:"HTTP",method:a,path:b,...o(c)},`📥 ${a} ${b}`)}function m(a,b,c){g[a<400?"info":"error"]({tag:"HTTP",status:a,duration:b,...o(c)},`📤 ${a} (${b}ms)`)}function n(a,b){g.debug({tag:"STREAM",event:a,...o(b)},`🌊 ${a}`)}function o(a){return a?"string"==typeof a?{detail:a}:"object"==typeof a?a:{detail:String(a)}:{}}},32677:(a,b,c)=>{"use strict";c.d(b,{_3:()=>j,sm:()=>i,ys:()=>k});var d=c(76760),e=c(48161);let f="omniroute";function g(){try{return e.homedir()}catch{return process.cwd()}}function h(a){if("string"!=typeof a)return null;let b=a.trim();return b?d.resolve(b):null}function i(){return d.join(g(),`.${f}`)}function j({isCloud:a=!1}={}){if(a)return"/tmp";let b=h(process.env.DATA_DIR);if(b)return b;let c=g();if("win32"===process.platform){let a=process.env.APPDATA||d.join(c,"AppData","Roaming");return d.join(a,f)}let e=h(process.env.XDG_CONFIG_HOME);return e?d.join(e,f):i()}function k(a,b){if(!a||!b)return!1;let c=d.resolve(a),e=d.resolve(b);return"win32"===process.platform?c.toLowerCase()===e.toLowerCase():c===e}},50122:(a,b,c)=>{"use strict";c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},62402:(a,b,c)=>{"use strict";c.d(b,{Lb:()=>e,QG:()=>f,zD:()=>g});let d={nebius:{id:"nebius",baseUrl:"https://api.tokenfactory.nebius.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen3 Embedding 8B",dimensions:4096}]},openai:{id:"openai",baseUrl:"https://api.openai.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"text-embedding-3-small",name:"Text Embedding 3 Small",dimensions:1536},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",dimensions:3072},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",dimensions:1536}]},mistral:{id:"mistral",baseUrl:"https://api.mistral.ai/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"mistral-embed",name:"Mistral Embed",dimensions:1024}]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"BAAI/bge-large-en-v1.5",name:"BGE Large EN v1.5",dimensions:1024},{id:"togethercomputer/m2-bert-80M-8k-retrieval",name:"M2 BERT 80M 8K",dimensions:768}]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nomic-ai/nomic-embed-text-v1.5",name:"Nomic Embed Text v1.5",dimensions:768}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nvidia/nv-embedqa-e5-v5",name:"NV EmbedQA E5 v5",dimensions:1024}]}};function e(a){return d[a]||null}function f(a){if(!a)return{provider:null,model:null};let b=a.indexOf("/");if(b>0){for(let[b,c]of Object.entries(d))if(a.startsWith(b+"/"))return{provider:b,model:a.slice(b.length+1)};return{provider:a.slice(0,b),model:a.slice(b+1)}}for(let[b,c]of Object.entries(d))if(c.models.some(b=>b.id===a))return{provider:b,model:a};return{provider:null,model:a}}function g(){let a=[];for(let[b,c]of Object.entries(d))for(let d of c.models)a.push({id:`${b}/${d.id}`,name:d.name,provider:b,dimensions:d.dimensions});return a}},77825:(a,b,c)=>{"use strict";c.d(b,{Q:()=>f});var d=c(62402),e=c(17132);async function f({body:a,credentials:b,log:c}){let{provider:f,model:g}=(0,d.QG)(a.model),h=Date.now(),i={model:a.model,input_count:Array.isArray(a.input)?a.input.length:1,dimensions:a.dimensions||void 0};if(!f)return{success:!1,status:400,error:`Invalid embedding model: ${a.model}. Use format: provider/model`};let j=(0,d.Lb)(f);if(!j)return{success:!1,status:400,error:`Unknown embedding provider: ${f}`};let k={model:g,input:a.input};void 0!==a.dimensions&&(k.dimensions=a.dimensions),void 0!==a.encoding_format&&(k.encoding_format=a.encoding_format);let l={"Content-Type":"application/json"},m=b.apiKey||b.accessToken;"bearer"===j.authHeader?l.Authorization=`Bearer ${m}`:"x-api-key"===j.authHeader&&(l["x-api-key"]=m),c&&c.info("EMBED",`${f}/${g} | input: ${Array.isArray(a.input)?a.input.length+" items":"1 item"}`);try{let a=await fetch(j.baseUrl,{method:"POST",headers:l,body:JSON.stringify(k)});if(!a.ok){let b=await a.text();return c&&c.error("EMBED",`${f} error ${a.status}: ${b.slice(0,200)}`),(0,e.gK)({method:"POST",path:"/v1/embeddings",status:a.status,model:`${f}/${g}`,provider:f,duration:Date.now()-h,error:b.slice(0,500),requestBody:i}).catch(()=>{}),{success:!1,status:a.status,error:b}}let b=await a.json();return(0,e.gK)({method:"POST",path:"/v1/embeddings",status:200,model:`${f}/${g}`,provider:f,duration:Date.now()-h,tokens:{prompt_tokens:b.usage?.prompt_tokens||b.usage?.total_tokens||0,completion_tokens:0},requestBody:i,responseBody:{usage:b.usage||null,object:"list",data_count:b.data?.length||0}}).catch(()=>{}),{success:!0,data:{object:"list",data:b.data||b,model:`${f}/${g}`,usage:b.usage||{prompt_tokens:0,total_tokens:0}}}}catch(a){return c&&c.error("EMBED",`${f} fetch error: ${a.message}`),(0,e.gK)({method:"POST",path:"/v1/embeddings",status:502,model:`${f}/${g}`,provider:f,duration:Date.now()-h,error:a.message,requestBody:i}).catch(()=>{}),{success:!1,status:502,error:`Embedding provider error: ${a.message}`}}}},78335:()=>{},92280:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},94755:(a,b,c)=>{"use strict";c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}},96487:()=>{},97271:(a,b,c)=>{"use strict";c.d(b,{$V:()=>n,EQ:()=>u,Co:()=>m,Bm:()=>w,O:()=>t,Uc:()=>p,eo:()=>q,LY:()=>s,MT:()=>j,gx:()=>r,NA:()=>o,xq:()=>l,QS:()=>v,C8:()=>x,TH:()=>k});var d=c(29021),e=c(33873);let f=["clientId","clientSecret","tokenUrl","authUrl","refreshUrl"],g=0,h=null;var i=c(28108);let j=parseInt(process.env.FETCH_TIMEOUT_MS||"120000",10),k=parseInt(process.env.STREAM_IDLE_TIMEOUT_MS||"60000",10),l=(0,i.Z0)();!function(a){let b;if(h&&Date.now()-g<6e4)return;let c=(b=process.env.DATA_DIR||(0,e.join)(process.cwd(),"data"),(0,e.join)(b,"provider-credentials.json"));if(!(0,d.existsSync)(c))return h||console.log("[CREDENTIALS] No external credentials file found, using defaults."),h=a,g=Date.now();try{let b=(0,d.readFileSync)(c,"utf-8"),e=JSON.parse(b),g=0;for(let[b,c]of Object.entries(e)){if(!a[b]){console.log(`[CREDENTIALS] Warning: unknown provider "${b}" in credentials file, skipping.`);continue}if(!c||"object"!=typeof c){console.log(`[CREDENTIALS] Warning: provider "${b}" value must be an object, got ${typeof c}. Skipping.`);continue}for(let d of f)void 0!==c[d]&&(a[b][d]=c[d],g++)}let i=null!==h;console.log(`[CREDENTIALS] ${i?"Reloaded":"Loaded"} external credentials: ${g} field(s) from ${c}`)}catch(a){console.log(`[CREDENTIALS] Error reading credentials file: ${a.message}. Using defaults.`)}h=a,g=Date.now()}(l);let m="You are Claude Code, Anthropic's official CLI for Claude.",n="Please ignore the following [ignore]You are Antigravity, a powerful agentic AI coding assistant designed by the Google Deepmind team working on Advanced Agentic Coding.You are pair programming with a USER to solve their coding task. The task may require creating a new codebase, modifying or debugging an existing codebase, or simply answering a question.**Absolute paths only****Proactiveness**[/ignore]",o={google:{token:"https://oauth2.googleapis.com/token",auth:"https://accounts.google.com/o/oauth2/auth"},openai:{token:"https://auth.openai.com/oauth/token",auth:"https://auth.openai.com/oauth/authorize"},anthropic:{token:"https://console.anthropic.com/v1/oauth/token",auth:"https://console.anthropic.com/v1/oauth/authorize"},qwen:{token:"https://chat.qwen.ai/api/v1/oauth2/token",auth:"https://chat.qwen.ai/api/v1/oauth2/device/code"},iflow:{token:"https://iflow.cn/oauth/token",auth:"https://iflow.cn/oauth"},github:{token:"https://github.com/login/oauth/access_token",auth:"https://github.com/login/oauth/authorize",deviceCode:"https://github.com/login/device/code"}},p=64e3,q=32e3,r={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},s={[r.BAD_REQUEST]:{type:"invalid_request_error",code:"bad_request"},[r.UNAUTHORIZED]:{type:"authentication_error",code:"invalid_api_key"},[r.FORBIDDEN]:{type:"permission_error",code:"insufficient_quota"},[r.NOT_FOUND]:{type:"invalid_request_error",code:"model_not_found"},[r.RATE_LIMITED]:{type:"rate_limit_error",code:"rate_limit_exceeded"},[r.SERVER_ERROR]:{type:"server_error",code:"internal_server_error"},[r.BAD_GATEWAY]:{type:"server_error",code:"bad_gateway"},[r.SERVICE_UNAVAILABLE]:{type:"server_error",code:"service_unavailable"},[r.GATEWAY_TIMEOUT]:{type:"server_error",code:"gateway_timeout"}},t={[r.BAD_REQUEST]:"Bad request",[r.UNAUTHORIZED]:"Invalid API key provided",[r.FORBIDDEN]:"You exceeded your current quota",[r.NOT_FOUND]:"Model not found",[r.RATE_LIMITED]:"Rate limit exceeded",[r.SERVER_ERROR]:"Internal server error",[r.BAD_GATEWAY]:"Bad gateway - upstream provider error",[r.SERVICE_UNAVAILABLE]:"Service temporarily unavailable",[r.GATEWAY_TIMEOUT]:"Gateway timeout"},u={base:1e3,max:12e4,maxLevel:15},v={QUOTA_EXHAUSTED:"quota_exhausted",RATE_LIMIT_EXCEEDED:"rate_limit_exceeded",MODEL_CAPACITY:"model_capacity",SERVER_ERROR:"server_error",AUTH_ERROR:"auth_error",UNKNOWN:"unknown"},w={unauthorized:12e4,paymentRequired:12e4,notFound:12e4,transient:3e4,requestNotAllowed:5e3,rateLimit:12e4,serviceUnavailable:2e3,authExpired:12e4},x=["Please write a 5-10 word title for the following conversation:"]}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=2399,exports.ids=[2399],exports.modules={49263:(a,b,c)=>{c.d(b,{AO:()=>j,N:()=>g,Qo:()=>m,R7:()=>f,UY:()=>l,hk:()=>i,vp:()=>k});var d=c(97271);let e=new Map;function f(a,b,c,d,f){if(!c)return;let g=`${a}:${b}:${c}`;e.set(g,{reason:d,until:Date.now()+f,lockedAt:Date.now()})}function g(){let a=Date.now(),b=[];for(let[c,d]of e)if(a<=d.until){let[e,f,g]=c.split(":");b.push({provider:e,connectionId:f,model:g,reason:d.reason,remainingMs:d.until-a})}return b}function h(a=0){return Math.min(d.EQ.base*Math.pow(2,a),d.EQ.max)}function i(a,b,c=0,e=null){if(b){let a="string"==typeof b?b:JSON.stringify(b),e=a.toLowerCase();if(e.includes("no credentials"))return{shouldFallback:!0,cooldownMs:d.Bm.notFound,reason:d.QS.AUTH_ERROR};if(e.includes("request not allowed"))return{shouldFallback:!0,cooldownMs:d.Bm.requestNotAllowed,reason:d.QS.RATE_LIMIT_EXCEEDED};if(e.includes("rate limit")||e.includes("too many requests")||e.includes("quota exceeded")||e.includes("capacity")||e.includes("overloaded")){let b=Math.min(c+1,d.EQ.maxLevel),e=function(a){if(!a)return d.QS.UNKNOWN;let b=String(a).toLowerCase();return b.includes("quota exceeded")||b.includes("quota depleted")||b.includes("billing")?d.QS.QUOTA_EXHAUSTED:b.includes("rate limit")||b.includes("too many requests")||b.includes("rate_limit")?d.QS.RATE_LIMIT_EXCEEDED:b.includes("capacity")||b.includes("overloaded")||b.includes("resource exhausted")?d.QS.MODEL_CAPACITY:b.includes("unauthorized")||b.includes("invalid api key")||b.includes("authentication")?d.QS.AUTH_ERROR:b.includes("server error")||b.includes("internal error")?d.QS.SERVER_ERROR:d.QS.UNKNOWN}(a);return{shouldFallback:!0,cooldownMs:h(c),newBackoffLevel:b,reason:e}}}if(a===d.gx.UNAUTHORIZED)return{shouldFallback:!0,cooldownMs:d.Bm.unauthorized,reason:d.QS.AUTH_ERROR};if(a===d.gx.PAYMENT_REQUIRED||a===d.gx.FORBIDDEN)return{shouldFallback:!0,cooldownMs:d.Bm.paymentRequired,reason:d.QS.QUOTA_EXHAUSTED};if(a===d.gx.NOT_FOUND)return{shouldFallback:!0,cooldownMs:d.Bm.notFound,reason:d.QS.UNKNOWN};if(a===d.gx.RATE_LIMITED){let a=Math.min(c+1,d.EQ.maxLevel);return{shouldFallback:!0,cooldownMs:h(c),newBackoffLevel:a,reason:d.QS.RATE_LIMIT_EXCEEDED}}return[d.gx.NOT_ACCEPTABLE,d.gx.REQUEST_TIMEOUT,d.gx.SERVER_ERROR,d.gx.BAD_GATEWAY,d.gx.SERVICE_UNAVAILABLE,d.gx.GATEWAY_TIMEOUT].includes(a)?{shouldFallback:!0,cooldownMs:d.Bm.transient,reason:d.QS.SERVER_ERROR}:a===d.gx.BAD_REQUEST?{shouldFallback:!1,cooldownMs:0,reason:d.QS.UNKNOWN}:{shouldFallback:!0,cooldownMs:d.Bm.transient,reason:d.QS.UNKNOWN}}function j(a){return!!a&&new Date(a).getTime()>Date.now()}function k(a){return new Date(Date.now()+a).toISOString()}function l(a){let b=null,c=Date.now();for(let d of a){if(!d.rateLimitedUntil)continue;let a=new Date(d.rateLimitedUntil).getTime();a<=c||(!b||a<b)&&(b=a)}return b?new Date(b).toISOString():null}function m(a){if(!a)return"";let b=new Date(a).getTime()-Date.now();if(b<=0)return"reset after 0s";let c=Math.ceil(b/1e3),d=Math.floor(c/3600),e=Math.floor(c%3600/60),f=c%60,g=[];return d>0&&g.push(`${d}h`),e>0&&g.push(`${e}m`),(f>0||0===g.length)&&g.push(`${f}s`),`reset after ${g.join(" ")}`}setInterval(()=>{let a=Date.now();for(let[b,c]of e)a>c.until&&e.delete(b)},15e3).unref()},89865:(a,b,c)=>{c.d(b,{A1:()=>g,lR:()=>i,wO:()=>h,yj:()=>e,zL:()=>f});var d=c(97271);function e(a,b){let c;return new Response(JSON.stringify((c=d.LY[a]||(a>=500?{type:"server_error",code:"internal_server_error"}:{type:"invalid_request_error",code:""}),{error:{message:b||d.O[a]||"An error occurred",type:c.type,code:c.code}})),{status:a,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}async function f(a,b=null){let c="",d=null;try{let b=await a.text();try{let a=JSON.parse(b);c=a.error?.message||a.message||a.error||b}catch{c=b}}catch{c=`Upstream error: ${a.status}`}let e="string"==typeof c?c:JSON.stringify(c);return"antigravity"===b&&429===a.status&&(d=function(a){if("string"!=typeof a)return null;let b=a.match(/reset after (\d+h)?(\d+m)?(\d+s)?/i);if(!b)return null;let c=0;return b[1]&&(c+=60*parseInt(b[1])*6e4),b[2]&&(c+=60*parseInt(b[2])*1e3),b[3]&&(c+=1e3*parseInt(b[3])),c>0?c:null}(e)),{statusCode:a.status,message:e,retryAfterMs:d}}function g(a,b,c=null){let d={success:!1,status:a,error:b,response:e(a,b)};return c&&(d.retryAfterMs=c),d}function h(a,b,c,d){let e=Math.max(Math.ceil((new Date(c).getTime()-Date.now())/1e3),1);return new Response(JSON.stringify({error:{message:`${b} (${d})`}}),{status:a,headers:{"Content-Type":"application/json","Retry-After":String(e)}})}function i(a,b,c,d){let e=d||a.code||"FETCH_FAILED",f=a.message||"Unknown error";return`[${e}]: ${f}`}}};
|