@yina-npm/openrouterx 0.4.7 → 0.4.10
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 +196 -138
- package/app/.next/BUILD_ID +1 -1
- package/app/.next/app-path-routes-manifest.json +8 -2
- package/app/.next/build-manifest.json +2 -2
- package/app/.next/prerender-manifest.json +24 -0
- package/app/.next/required-server-files.json +3 -3
- package/app/.next/routes-manifest.json +38 -0
- package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +16 -14
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/combo/[id]/page.js +5 -0
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/combo/[id]/page.js.nft.json +1 -0
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/combo/[id]/page_client-reference-manifest.js +1 -0
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -0
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -0
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -0
- package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/quota/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error/page.js +2 -2
- package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error.html +1 -1
- 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.js +2 -2
- package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_not-found.html +1 -1
- package/app/.next/server/app/_not-found.rsc +4 -4
- package/app/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
- package/app/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/_not-found.segments/_index.segment.rsc +4 -4
- 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.js +1 -1
- package/app/.next/server/app/api/auth/login/route.js.nft.json +1 -1
- package/app/.next/server/app/api/auth/logout/route.js +1 -1
- package/app/.next/server/app/api/auth/logout/route.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +1 -1
- package/app/.next/server/app/api/cli-tools/codex-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cli-tools/copilot-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cli-tools/droid-settings/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cli-tools/hermes-settings/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/hermes-settings/route.js.nft.json +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.js.nft.json +1 -1
- package/app/.next/server/app/api/cli-tools/opencode-settings/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cloud/auth/route.js +1 -1
- package/app/.next/server/app/api/cloud/auth/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cloud/credentials/update/route.js +1 -1
- package/app/.next/server/app/api/cloud/credentials/update/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cloud/model/resolve/route.js +1 -1
- package/app/.next/server/app/api/cloud/model/resolve/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cloud/models/alias/route.js +1 -1
- package/app/.next/server/app/api/cloud/models/alias/route.js.nft.json +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/route.js +1 -1
- package/app/.next/server/app/api/combos/route.js.nft.json +1 -1
- package/app/.next/server/app/api/health/route.js +1 -1
- package/app/.next/server/app/api/health/route.js.nft.json +1 -1
- package/app/.next/server/app/api/init/route.js +1 -1
- package/app/.next/server/app/api/init/route.js.nft.json +1 -1
- package/app/.next/server/app/api/keys/[id]/route.js +1 -1
- package/app/.next/server/app/api/keys/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/keys/route.js +1 -1
- package/app/.next/server/app/api/keys/route.js.nft.json +1 -1
- package/app/.next/server/app/api/locale/route.js +1 -1
- package/app/.next/server/app/api/locale/route.js.nft.json +1 -1
- package/app/.next/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -0
- package/app/.next/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -0
- package/app/.next/server/app/api/media-providers/tts/deepgram/voices/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
- package/app/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
- package/app/.next/server/app/api/media-providers/tts/inworld/voices/route.js +1 -0
- package/app/.next/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -0
- package/app/.next/server/app/api/media-providers/tts/inworld/voices/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/media-providers/tts/voices/route.js +1 -1
- package/app/.next/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
- package/app/.next/server/app/api/models/alias/route.js +1 -1
- package/app/.next/server/app/api/models/alias/route.js.nft.json +1 -1
- package/app/.next/server/app/api/models/availability/route.js +1 -1
- package/app/.next/server/app/api/models/availability/route.js.nft.json +1 -1
- package/app/.next/server/app/api/models/custom/route.js +1 -1
- package/app/.next/server/app/api/models/custom/route.js.nft.json +1 -1
- package/app/.next/server/app/api/models/route.js +1 -1
- package/app/.next/server/app/api/models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/models/test/route.js +1 -1
- package/app/.next/server/app/api/models/test/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -1
- package/app/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/cursor/auto-import/route.js +2 -2
- package/app/.next/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/cursor/import/route.js +1 -1
- package/app/.next/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/gitlab/pat/route.js +1 -1
- package/app/.next/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/iflow/cookie/route.js +1 -1
- package/app/.next/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/kiro/auto-import/route.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/kiro/import/route.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
- package/app/.next/server/app/api/pricing/route.js +1 -1
- package/app/.next/server/app/api/pricing/route.js.nft.json +1 -1
- package/app/.next/server/app/api/provider-nodes/[id]/route.js +1 -1
- package/app/.next/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/provider-nodes/route.js +1 -1
- package/app/.next/server/app/api/provider-nodes/route.js.nft.json +1 -1
- package/app/.next/server/app/api/provider-nodes/validate/route.js +1 -1
- package/app/.next/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/[id]/models/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/[id]/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/[id]/test/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/[id]/test-models/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/client/route.js +1 -1
- package/app/.next/server/app/api/providers/client/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/kilo/free-models/route.js +1 -1
- package/app/.next/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/route.js +1 -1
- package/app/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/suggested-models/route.js +1 -1
- package/app/.next/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/test-batch/route.js +1 -1
- package/app/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/validate/route.js +1 -1
- package/app/.next/server/app/api/providers/validate/route.js.nft.json +1 -1
- package/app/.next/server/app/api/proxy-pools/[id]/route.js +1 -1
- package/app/.next/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/proxy-pools/[id]/test/route.js +1 -1
- package/app/.next/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
- package/app/.next/server/app/api/proxy-pools/route.js +1 -1
- package/app/.next/server/app/api/proxy-pools/route.js.nft.json +1 -1
- package/app/.next/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
- package/app/.next/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
- package/app/.next/server/app/api/settings/database/route.js +1 -1
- package/app/.next/server/app/api/settings/database/route.js.nft.json +1 -1
- package/app/.next/server/app/api/settings/proxy-test/route.js +1 -1
- package/app/.next/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
- package/app/.next/server/app/api/settings/require-login/route.js +1 -1
- package/app/.next/server/app/api/settings/require-login/route.js.nft.json +1 -1
- package/app/.next/server/app/api/settings/route.js +1 -1
- package/app/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/shutdown/route.js +1 -1
- package/app/.next/server/app/api/shutdown/route.js.nft.json +1 -1
- package/app/.next/server/app/api/tags/route.js +1 -1
- package/app/.next/server/app/api/translator/console-logs/route.js +1 -1
- package/app/.next/server/app/api/translator/console-logs/route.js.nft.json +1 -1
- package/app/.next/server/app/api/translator/console-logs/stream/route.js +2 -2
- package/app/.next/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
- package/app/.next/server/app/api/translator/load/route.js +1 -1
- package/app/.next/server/app/api/translator/load/route.js.nft.json +1 -1
- package/app/.next/server/app/api/translator/save/route.js +1 -1
- package/app/.next/server/app/api/translator/save/route.js.nft.json +1 -1
- package/app/.next/server/app/api/translator/send/route.js +1 -1
- package/app/.next/server/app/api/translator/send/route.js.nft.json +1 -1
- package/app/.next/server/app/api/translator/translate/route.js +1 -1
- package/app/.next/server/app/api/translator/translate/route.js.nft.json +1 -1
- package/app/.next/server/app/api/tunnel/disable/route.js +1 -1
- package/app/.next/server/app/api/tunnel/disable/route.js.nft.json +1 -1
- package/app/.next/server/app/api/tunnel/enable/route.js +1 -1
- package/app/.next/server/app/api/tunnel/enable/route.js.nft.json +1 -1
- package/app/.next/server/app/api/tunnel/status/route.js +1 -1
- package/app/.next/server/app/api/tunnel/status/route.js.nft.json +1 -1
- package/app/.next/server/app/api/tunnel/tailscale-check/route.js +23 -4
- package/app/.next/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
- package/app/.next/server/app/api/tunnel/tailscale-disable/route.js +1 -1
- package/app/.next/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
- package/app/.next/server/app/api/tunnel/tailscale-enable/route.js +1 -1
- package/app/.next/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
- package/app/.next/server/app/api/tunnel/tailscale-install/route.js +1 -1
- package/app/.next/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
- package/app/.next/server/app/api/tunnel/tailscale-login/route.js +23 -4
- package/app/.next/server/app/api/tunnel/tailscale-login/route.js.nft.json +1 -1
- package/app/.next/server/app/api/tunnel/tailscale-start-daemon/route.js +1 -1
- package/app/.next/server/app/api/tunnel/tailscale-start-daemon/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/[connectionId]/route.js +1 -1
- package/app/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/chart/route.js +1 -1
- package/app/.next/server/app/api/usage/chart/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/history/route.js +1 -1
- package/app/.next/server/app/api/usage/history/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/logs/route.js +1 -1
- package/app/.next/server/app/api/usage/logs/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/providers/route.js +1 -1
- package/app/.next/server/app/api/usage/providers/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/request-details/route.js +1 -1
- package/app/.next/server/app/api/usage/request-details/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/request-logs/route.js +1 -1
- package/app/.next/server/app/api/usage/request-logs/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/stats/route.js +1 -1
- package/app/.next/server/app/api/usage/stats/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/stream/route.js +2 -2
- package/app/.next/server/app/api/usage/stream/route.js.nft.json +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/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/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/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/images/generations/route.js +4 -1
- package/app/.next/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/messages/count_tokens/route.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/models/route.js +1 -1
- package/app/.next/server/app/api/v1/models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/responses/compact/route.js +1 -1
- package/app/.next/server/app/api/v1/responses/compact/route.js.nft.json +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/route.js +1 -1
- package/app/.next/server/app/api/v1/search/route.js +1 -0
- package/app/.next/server/app/api/v1/search/route.js.nft.json +1 -0
- package/app/.next/server/app/api/v1/search/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/v1/web/fetch/route.js +1 -0
- package/app/.next/server/app/api/v1/web/fetch/route.js.nft.json +1 -0
- package/app/.next/server/app/api/v1/web/fetch/route_client-reference-manifest.js +1 -0
- 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/route.js +1 -1
- package/app/.next/server/app/api/v1beta/models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/version/route.js +1 -1
- package/app/.next/server/app/api/version/update/route.js +1 -1
- package/app/.next/server/app/api/version/update/route.js.nft.json +1 -1
- package/app/.next/server/app/callback/page.js +2 -2
- package/app/.next/server/app/callback/page.js.nft.json +1 -1
- package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/callback.html +1 -1
- package/app/.next/server/app/callback.rsc +4 -4
- package/app/.next/server/app/callback.segments/_full.segment.rsc +4 -4
- package/app/.next/server/app/callback.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/callback.segments/_index.segment.rsc +4 -4
- 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/basic-chat.html +1 -1
- package/app/.next/server/app/dashboard/basic-chat.rsc +6 -6
- package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
- package/app/.next/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/basic-chat.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next/server/app/dashboard/cli-tools.rsc +6 -6
- 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 +6 -6
- package/app/.next/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
- 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 +6 -6
- 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 +6 -6
- package/app/.next/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
- 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 +6 -6
- 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 +6 -6
- package/app/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/media-providers/web.html +1 -0
- package/app/.next/server/app/dashboard/media-providers/web.meta +18 -0
- package/app/.next/server/app/dashboard/media-providers/web.rsc +27 -0
- package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +9 -0
- package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +5 -0
- package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +5 -0
- package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
- package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
- package/app/.next/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +27 -0
- package/app/.next/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +6 -0
- package/app/.next/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +9 -0
- package/app/.next/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +6 -0
- package/app/.next/server/app/dashboard/mitm.html +1 -1
- package/app/.next/server/app/dashboard/mitm.rsc +6 -6
- package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
- package/app/.next/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/mitm.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/profile.html +1 -1
- package/app/.next/server/app/dashboard/profile.rsc +6 -6
- package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
- 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 +6 -6
- package/app/.next/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
- 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 +6 -6
- 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 +6 -6
- package/app/.next/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
- 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 +6 -6
- 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 +6 -6
- package/app/.next/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/proxy-pools.html +1 -1
- package/app/.next/server/app/dashboard/proxy-pools.rsc +6 -6
- package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
- package/app/.next/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/quota.html +2 -2
- package/app/.next/server/app/dashboard/quota.rsc +7 -7
- package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
- package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
- package/app/.next/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/quota.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/settings/pricing/page.js +2 -2
- package/app/.next/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
- package/app/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.rsc +4 -4
- package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/translator.html +1 -1
- package/app/.next/server/app/dashboard/translator.rsc +6 -6
- 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 +6 -6
- package/app/.next/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
- 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 +6 -6
- 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 +6 -6
- package/app/.next/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard.html +1 -1
- package/app/.next/server/app/dashboard.rsc +6 -6
- package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard.segments/_full.segment.rsc +6 -6
- package/app/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/favicon.ico/route.js +1 -1
- package/app/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/app/.next/server/app/index.html +1 -1
- package/app/.next/server/app/index.rsc +4 -4
- package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/index.segments/_full.segment.rsc +4 -4
- package/app/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/index.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/landing/page.js +2 -2
- package/app/.next/server/app/landing/page.js.nft.json +1 -1
- package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/landing.html +1 -1
- package/app/.next/server/app/landing.rsc +4 -4
- package/app/.next/server/app/landing.segments/_full.segment.rsc +4 -4
- package/app/.next/server/app/landing.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/landing.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/landing.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/landing.segments/landing.segment.rsc +1 -1
- package/app/.next/server/app/login/page.js +2 -2
- package/app/.next/server/app/login/page.js.nft.json +1 -1
- package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/login.html +1 -1
- package/app/.next/server/app/login.rsc +5 -5
- package/app/.next/server/app/login.segments/_full.segment.rsc +5 -5
- package/app/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/login.segments/_index.segment.rsc +4 -4
- 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/manifest.webmanifest/route.js +2 -2
- package/app/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/app/.next/server/app/page.js +2 -2
- package/app/.next/server/app/page.js.nft.json +1 -1
- package/app/.next/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app-paths-manifest.json +8 -2
- package/app/.next/server/chunks/1202.js +1 -1
- package/app/.next/server/chunks/2020.js +1 -0
- package/app/.next/server/chunks/2506.js +2 -2
- package/app/.next/server/chunks/2549.js +1 -0
- package/app/.next/server/chunks/318.js +13 -13
- package/app/.next/server/chunks/3245.js +1 -0
- package/app/.next/server/chunks/3855.js +1 -1
- package/app/.next/server/chunks/3913.js +2 -2
- package/app/.next/server/chunks/412.js +3 -3
- package/app/.next/server/chunks/4122.js +1 -1
- package/app/.next/server/chunks/5599.js +3 -3
- package/app/.next/server/chunks/5681.js +1 -0
- package/app/.next/server/chunks/6555.js +1 -0
- package/app/.next/server/chunks/7595.js +1 -1
- package/app/.next/server/chunks/7774.js +3 -3
- package/app/.next/server/chunks/7828.js +1 -0
- package/app/.next/server/chunks/8491.js +1 -0
- package/app/.next/server/chunks/8590.js +1 -1
- package/app/.next/server/chunks/8760.js +1 -0
- package/app/.next/server/chunks/8895.js +2 -2
- package/app/.next/server/chunks/9489.js +1 -0
- package/app/.next/server/chunks/9501.js +37 -5
- package/app/.next/server/chunks/9718.js +1 -1
- package/app/.next/server/middleware-build-manifest.js +1 -1
- package/app/.next/server/middleware.js +2 -2
- package/app/.next/server/pages/404.html +1 -1
- package/app/.next/server/pages/500.html +1 -1
- package/app/.next/static/ahyS0wV6v2JdXWYSEruR6/_buildManifest.js +1 -0
- package/app/.next/static/chunks/1321-4ac1e9664ca05f67.js +1 -0
- package/app/.next/static/chunks/5497-9056ce5497a8e830.js +7 -0
- package/app/.next/static/chunks/5555-c4cf1b2b38d07337.js +3 -0
- package/app/.next/static/chunks/{698-646ba5259113c1a0.js → 698-438ce154948ce831.js} +6 -6
- package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/{page-bc388a93f092e16d.js → page-0d9325464cd6e849.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-0494f10cf7d2cae0.js +53 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-521aecf4ccb7b03e.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/web/combo/[id]/page-d594f315360645f3.js +4 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-ec14043bae22768d.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-7985e45ad78144eb.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/quota/page-fae4c95586692227.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/layout-91efa9c70d2328e0.js +1 -0
- package/app/.next/static/chunks/app/_global-error/page-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/auth/login/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/auth/logout/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/copilot-settings/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/hermes-settings/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/opencode-settings/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/cloud/auth/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/cloud/credentials/update/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/cloud/model/resolve/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/cloud/models/alias/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/combos/[id]/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/combos/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/health/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/init/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/keys/[id]/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/keys/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/locale/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/media-providers/tts/voices/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/models/alias/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/models/availability/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/models/custom/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/models/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/models/test/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/cursor/import/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/gitlab/pat/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/iflow/cookie/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/kiro/import/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/pricing/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/provider-nodes/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/provider-nodes/validate/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/providers/[id]/models/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/providers/[id]/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/providers/[id]/test/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/providers/[id]/test-models/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/providers/client/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/providers/kilo/free-models/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/providers/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/providers/suggested-models/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/providers/test-batch/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/providers/validate/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/proxy-pools/[id]/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/proxy-pools/[id]/test/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/proxy-pools/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/proxy-pools/vercel-deploy/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/settings/database/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/settings/proxy-test/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/settings/require-login/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/settings/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/shutdown/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/tags/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/translator/console-logs/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/translator/console-logs/stream/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/translator/load/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/translator/save/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/translator/send/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/translator/translate/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/tunnel/disable/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/tunnel/enable/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/tunnel/status/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/tunnel/tailscale-check/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/tunnel/tailscale-disable/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/tunnel/tailscale-enable/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/tunnel/tailscale-install/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/tunnel/tailscale-login/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/tunnel/tailscale-start-daemon/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/usage/[connectionId]/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/usage/chart/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/usage/history/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/usage/logs/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/usage/providers/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/usage/request-details/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/usage/request-logs/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/usage/stats/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/usage/stream/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/api/chat/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/audio/speech/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/chat/completions/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/embeddings/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/images/generations/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/messages/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/models/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/responses/compact/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/responses/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/search/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/web/fetch/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/v1beta/models/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/version/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/api/version/update/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/manifest.webmanifest/route-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/app/page-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-a95908d3fe52339a.js +1 -0
- package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-a95908d3fe52339a.js +1 -0
- package/app/.next/static/css/1ef6107a5d5fd71c.css +1 -0
- package/app/package.json +1 -1
- package/app/public/providers/azure.png +0 -0
- package/app/public/providers/blackbox.png +0 -0
- package/app/public/providers/brave-search.png +0 -0
- package/app/public/providers/byteplus.png +0 -0
- package/app/public/providers/coqui.png +0 -0
- package/app/public/providers/exa.png +0 -0
- package/app/public/providers/firecrawl.png +0 -0
- package/app/public/providers/google-pse.png +0 -0
- package/app/public/providers/grok-web.png +0 -0
- package/app/public/providers/inworld.png +0 -0
- package/app/public/providers/jina-reader.png +0 -0
- package/app/public/providers/linkup.png +0 -0
- package/app/public/providers/perplexity-web.png +0 -0
- package/app/public/providers/searchapi.png +0 -0
- package/app/public/providers/searxng.png +0 -0
- package/app/public/providers/serper.png +0 -0
- package/app/public/providers/tavily.png +0 -0
- package/app/public/providers/tortoise.png +0 -0
- package/app/public/providers/voyage-ai.png +0 -0
- package/app/public/providers/youcom.png +0 -0
- package/app/server.js +1 -1
- package/app/src/lib/updater/updater.js +25 -2
- package/app/src/mitm/cert/install.js +31 -24
- package/app/src/mitm/config.js +15 -1
- package/app/src/mitm/dns/dnsConfig.js +48 -62
- package/app/src/mitm/handlers/antigravity.js +18 -6
- package/app/src/mitm/handlers/base.js +12 -10
- package/app/src/mitm/logger.js +102 -1
- package/app/src/mitm/manager.js +22 -5
- package/app/src/mitm/server.js +39 -29
- package/app/src/mitm/winElevated.js +79 -0
- package/package.json +1 -1
- package/app/.next/server/chunks/1357.js +0 -1
- package/app/.next/server/chunks/2409.js +0 -1
- package/app/.next/server/chunks/289.js +0 -1
- package/app/.next/server/chunks/4404.js +0 -1
- package/app/.next/server/chunks/541.js +0 -1
- package/app/.next/server/chunks/6143.js +0 -1
- package/app/.next/server/chunks/6327.js +0 -1
- package/app/.next/server/chunks/6386.js +0 -1
- package/app/.next/static/GWqgJg45jqUgh4iLz365f/_buildManifest.js +0 -1
- package/app/.next/static/chunks/1321-c5a3513d1c657677.js +0 -1
- package/app/.next/static/chunks/5497-2b813df1aa4bc9ba.js +0 -7
- package/app/.next/static/chunks/5555-26f687e754d40f93.js +0 -3
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-89b8138c3ac2e04f.js +0 -51
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-154824cbf44c34b2.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-6d84cac6ca90a61c.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/quota/page-18e13f60a38c4be4.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/layout-9b93641ed57cec1d.js +0 -1
- package/app/.next/static/chunks/app/_global-error/page-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/auth/login/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/auth/logout/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/copilot-settings/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/hermes-settings/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/opencode-settings/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/cloud/auth/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/cloud/credentials/update/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/cloud/model/resolve/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/cloud/models/alias/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/combos/[id]/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/combos/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/health/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/init/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/keys/[id]/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/keys/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/locale/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/media-providers/tts/voices/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/models/alias/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/models/availability/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/models/custom/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/models/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/models/test/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/cursor/import/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/gitlab/pat/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/iflow/cookie/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/import/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/pricing/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/provider-nodes/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/provider-nodes/validate/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/models/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/test/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/test-models/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/providers/client/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/providers/kilo/free-models/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/providers/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/providers/suggested-models/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/providers/test-batch/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/providers/validate/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/proxy-pools/[id]/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/proxy-pools/[id]/test/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/proxy-pools/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/proxy-pools/vercel-deploy/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/settings/database/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/settings/proxy-test/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/settings/require-login/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/settings/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/shutdown/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/tags/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/translator/console-logs/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/translator/console-logs/stream/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/translator/load/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/translator/save/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/translator/send/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/translator/translate/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/disable/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/enable/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/status/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/tailscale-check/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/tailscale-disable/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/tailscale-enable/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/tailscale-install/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/tailscale-login/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/tailscale-start-daemon/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/usage/[connectionId]/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/usage/chart/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/usage/history/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/usage/logs/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/usage/providers/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/usage/request-details/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/usage/request-logs/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/usage/stats/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/usage/stream/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/v1/api/chat/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/v1/audio/speech/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/v1/chat/completions/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/v1/embeddings/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/v1/images/generations/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/v1/messages/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/v1/models/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/v1/responses/compact/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/v1/responses/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/v1/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/v1beta/models/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/version/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/api/version/update/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/manifest.webmanifest/route-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/app/page-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-de0b0e689b74bc54.js +0 -1
- package/app/.next/static/css/d663c02ecd9b71d6.css +0 -1
- /package/app/.next/static/{GWqgJg45jqUgh4iLz365f → ahyS0wV6v2JdXWYSEruR6}/_ssgManifest.js +0 -0
package/README.md
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
<img src="./images/9router.png?1" alt="openrouterx Dashboard" width="800"/>
|
|
3
3
|
|
|
4
|
-
#
|
|
4
|
+
# 9Router - FREE AI Router & Token Saver
|
|
5
5
|
|
|
6
|
-
**Never stop coding.
|
|
6
|
+
**Never stop coding. Save 20-40% tokens with RTK + auto-fallback to FREE & cheap AI models.**
|
|
7
7
|
|
|
8
8
|
**Connect All AI Code Tools (Claude Code, Cursor, Antigravity, Copilot, Codex, Gemini, OpenCode, Cline, OpenClaw...) to 40+ AI Providers & 100+ Models.**
|
|
9
9
|
|
|
10
10
|
[](https://www.npmjs.com/package/9router)
|
|
11
11
|
[](https://www.npmjs.com/package/9router)
|
|
12
12
|
[](https://github.com/decolua/9router/blob/main/LICENSE)
|
|
13
|
+
|
|
14
|
+
<a href="https://trendshift.io/repositories/22628" target="_blank"><img src="https://trendshift.io/api/badge/repositories/22628" alt="decolua%2F9router | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
|
|
13
15
|
|
|
14
16
|
[🚀 Quick Start](#-quick-start) • [💡 Features](#-key-features) • [📖 Setup](#-setup-guide) • [🌐 Website](https://9router.com)
|
|
15
17
|
|
|
@@ -20,19 +22,21 @@
|
|
|
20
22
|
|
|
21
23
|
## 🤔 Why openrouterx?
|
|
22
24
|
|
|
23
|
-
**Stop wasting money and hitting limits:**
|
|
25
|
+
**Stop wasting money, tokens and hitting limits:**
|
|
24
26
|
|
|
25
27
|
- ❌ Subscription quota expires unused every month
|
|
26
28
|
- ❌ Rate limits stop you mid-coding
|
|
29
|
+
- ❌ Tool outputs (git diff, grep, ls...) burn tokens fast
|
|
27
30
|
- ❌ Expensive APIs ($20-50/month per provider)
|
|
28
31
|
- ❌ Manual switching between providers
|
|
29
32
|
|
|
30
33
|
**openrouterx solves this:**
|
|
31
34
|
|
|
35
|
+
- ✅ **RTK Token Saver** - Auto-compress tool_result content, save 20-40% tokens per request
|
|
32
36
|
- ✅ **Maximize subscriptions** - Track quota, use every bit before reset
|
|
33
37
|
- ✅ **Auto fallback** - Subscription → Cheap → Free, zero downtime
|
|
34
38
|
- ✅ **Multi-account** - Round-robin between accounts per provider
|
|
35
|
-
- ✅ **Universal** - Works with Claude Code, Codex,
|
|
39
|
+
- ✅ **Universal** - Works with Claude Code, Codex, Cursor, Cline, any CLI tool
|
|
36
40
|
|
|
37
41
|
---
|
|
38
42
|
|
|
@@ -40,25 +44,26 @@
|
|
|
40
44
|
|
|
41
45
|
```
|
|
42
46
|
┌─────────────┐
|
|
43
|
-
│ Your CLI │ (Claude Code, Codex,
|
|
47
|
+
│ Your CLI │ (Claude Code, Codex, OpenClaw, Cursor, Cline...)
|
|
44
48
|
│ Tool │
|
|
45
49
|
└──────┬──────┘
|
|
46
50
|
│ http://localhost:20128/v1
|
|
47
51
|
↓
|
|
48
|
-
|
|
49
|
-
│ 9Router (Smart Router)
|
|
50
|
-
│ •
|
|
51
|
-
│ •
|
|
52
|
-
│ •
|
|
53
|
-
|
|
52
|
+
┌─────────────────────────────────────────────┐
|
|
53
|
+
│ 9Router (Smart Router) │
|
|
54
|
+
│ • RTK Token Saver (cut tool_result tokens) │
|
|
55
|
+
│ • Format translation (OpenAI ↔ Claude) │
|
|
56
|
+
│ • Quota tracking │
|
|
57
|
+
│ • Auto token refresh │
|
|
58
|
+
└──────┬──────────────────────────────────────┘
|
|
54
59
|
│
|
|
55
|
-
├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex,
|
|
60
|
+
├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, GitHub Copilot
|
|
56
61
|
│ ↓ quota exhausted
|
|
57
62
|
├─→ [Tier 2: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M)
|
|
58
63
|
│ ↓ budget limit
|
|
59
|
-
└─→ [Tier 3: FREE]
|
|
64
|
+
└─→ [Tier 3: FREE] Kiro, OpenCode Free, Vertex ($300 credits)
|
|
60
65
|
|
|
61
|
-
Result: Never stop coding, minimal cost
|
|
66
|
+
Result: Never stop coding, minimal cost + 20-40% token savings via RTK
|
|
62
67
|
```
|
|
63
68
|
|
|
64
69
|
---
|
|
@@ -76,15 +81,15 @@ npm install -g 9router
|
|
|
76
81
|
|
|
77
82
|
**2. Connect a FREE provider (no signup needed):**
|
|
78
83
|
|
|
79
|
-
Dashboard → Providers → Connect **
|
|
84
|
+
Dashboard → Providers → Connect **Kiro AI** (free Claude unlimited) or **OpenCode Free** (no auth) → Done!
|
|
80
85
|
|
|
81
86
|
**3. Use in your CLI tool:**
|
|
82
87
|
|
|
83
88
|
```
|
|
84
|
-
Claude Code/Codex/
|
|
89
|
+
Claude Code/Codex/OpenClaw/Cursor/Cline Settings:
|
|
85
90
|
Endpoint: http://localhost:20128/v1
|
|
86
91
|
API Key: [copy from dashboard]
|
|
87
|
-
Model:
|
|
92
|
+
Model: kr/claude-sonnet-4.5
|
|
88
93
|
```
|
|
89
94
|
|
|
90
95
|
**That's it!** Start coding with FREE AI models.
|
|
@@ -234,29 +239,26 @@ Default URLs:
|
|
|
234
239
|
<table>
|
|
235
240
|
<tr>
|
|
236
241
|
<td align="center" width="150">
|
|
237
|
-
<img src="./public/providers/
|
|
238
|
-
<b>
|
|
239
|
-
<sub>
|
|
242
|
+
<img src="./public/providers/kiro.png" width="70" alt="Kiro"/><br/>
|
|
243
|
+
<b>Kiro AI</b><br/>
|
|
244
|
+
<sub>Claude 4.5 + GLM-5 + MiniMax<br/>Unlimited FREE</sub>
|
|
240
245
|
</td>
|
|
241
246
|
<td align="center" width="150">
|
|
242
|
-
<img src="./public/providers/
|
|
243
|
-
<b>
|
|
244
|
-
<sub>
|
|
247
|
+
<img src="./public/providers/opencode.png" width="70" alt="OpenCode Free"/><br/>
|
|
248
|
+
<b>OpenCode Free</b><br/>
|
|
249
|
+
<sub>No auth • Auto-fetch models<br/>Unlimited FREE</sub>
|
|
245
250
|
</td>
|
|
246
251
|
<td align="center" width="150">
|
|
247
|
-
<img src="./public/providers/gemini
|
|
248
|
-
<b>
|
|
249
|
-
<sub>
|
|
250
|
-
</td>
|
|
251
|
-
<td align="center" width="150">
|
|
252
|
-
<img src="./public/providers/kiro.png" width="70" alt="Kiro"/><br/>
|
|
253
|
-
<b>Kiro AI</b><br/>
|
|
254
|
-
<sub>Claude • Unlimited</sub>
|
|
252
|
+
<img src="./public/providers/gemini.png" width="70" alt="Vertex AI"/><br/>
|
|
253
|
+
<b>Vertex AI</b><br/>
|
|
254
|
+
<sub>Gemini 3 Pro + GLM-5 + DeepSeek<br/>$300 credits free</sub>
|
|
255
255
|
</td>
|
|
256
256
|
</tr>
|
|
257
257
|
</table>
|
|
258
258
|
</div>
|
|
259
259
|
|
|
260
|
+
> **Note:** iFlow, Qwen and Gemini CLI free tiers were discontinued in 2026. Use Kiro / OpenCode Free / Vertex instead.
|
|
261
|
+
|
|
260
262
|
### 🔑 API Key Providers (40+)
|
|
261
263
|
|
|
262
264
|
<div align="center">
|
|
@@ -349,9 +351,10 @@ Default URLs:
|
|
|
349
351
|
|
|
350
352
|
| Feature | What It Does | Why It Matters |
|
|
351
353
|
|---------|--------------|----------------|
|
|
354
|
+
| 🚀 **RTK Token Saver** | Auto-compress tool_result content (git-diff, grep, find, ls, tree...) before sending to LLM | Save 20-40% tokens per request, keep more context window |
|
|
352
355
|
| 🎯 **Smart 3-Tier Fallback** | Auto-route: Subscription → Cheap → Free | Never stop coding, zero downtime |
|
|
353
356
|
| 📊 **Real-Time Quota Tracking** | Live token count + reset countdown | Maximize subscription value |
|
|
354
|
-
| 🔄 **Format Translation** | OpenAI ↔ Claude ↔ Gemini
|
|
357
|
+
| 🔄 **Format Translation** | OpenAI ↔ Claude ↔ Gemini ↔ Cursor ↔ Kiro ↔ Vertex | Works with any CLI tool |
|
|
355
358
|
| 👥 **Multi-Account Support** | Multiple accounts per provider | Load balancing + redundancy |
|
|
356
359
|
| 🔄 **Auto Token Refresh** | OAuth tokens refresh automatically | No manual re-login needed |
|
|
357
360
|
| 🎨 **Custom Combos** | Create unlimited model combinations | Tailor fallback to your needs |
|
|
@@ -363,6 +366,21 @@ Default URLs:
|
|
|
363
366
|
<details>
|
|
364
367
|
<summary><b>📖 Feature Details</b></summary>
|
|
365
368
|
|
|
369
|
+
### 🚀 RTK Token Saver
|
|
370
|
+
|
|
371
|
+
Tool outputs (`git diff`, `grep`, `find`, `ls`, `tree`, log dumps...) often eat 30-50% of your prompt budget. RTK detects them and applies smart, lossless compression **before** the request hits the LLM:
|
|
372
|
+
|
|
373
|
+
- **Filters:** `git-diff`, `git-status`, `grep`, `find`, `ls`, `tree`, `dedup-log`, `smart-truncate`, `read-numbered`, `search-list`
|
|
374
|
+
- **Auto-detect:** No config needed — RTK peeks the first 1KB of each `tool_result` and picks the right filter.
|
|
375
|
+
- **Safe by design:** If a filter fails, throws, or makes output bigger, RTK silently keeps the original text. Errors never break your request.
|
|
376
|
+
- **Universal:** Works across all formats (OpenAI, Claude, Gemini, Cursor, Kiro, OpenAI Responses) because it runs **before** any format translation.
|
|
377
|
+
- **Default ON:** Toggle anytime in Dashboard → Endpoint settings.
|
|
378
|
+
|
|
379
|
+
```
|
|
380
|
+
Without RTK: 47K tokens sent to LLM
|
|
381
|
+
With RTK: 28K tokens sent to LLM (40% saved · same context · same answer)
|
|
382
|
+
```
|
|
383
|
+
|
|
366
384
|
### 🎯 Smart 3-Tier Fallback
|
|
367
385
|
|
|
368
386
|
Create combos with automatic fallback:
|
|
@@ -386,7 +404,7 @@ Combo: "my-coding-stack"
|
|
|
386
404
|
### 🔄 Format Translation
|
|
387
405
|
|
|
388
406
|
Seamless translation between formats:
|
|
389
|
-
- **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **OpenAI Responses**
|
|
407
|
+
- **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **Cursor** ↔ **Kiro** ↔ **Vertex** ↔ **Antigravity** ↔ **Ollama** ↔ **OpenAI Responses**
|
|
390
408
|
- Your CLI tool sends OpenAI format → 9Router translates → Provider receives native format
|
|
391
409
|
- Works with any tool that supports custom OpenAI endpoints
|
|
392
410
|
|
|
@@ -464,18 +482,19 @@ Seamless translation between formats:
|
|
|
464
482
|
|
|
465
483
|
| Tier | Provider | Cost | Quota Reset | Best For |
|
|
466
484
|
|------|----------|------|-------------|----------|
|
|
467
|
-
|
|
|
485
|
+
| **🚀 TOKEN SAVER** | **RTK (built-in)** | **FREE** | Always on | **Save 20-40% tokens on EVERY request** |
|
|
486
|
+
| **💳 SUBSCRIPTION** | Claude Code (Pro/Max) | $20-200/mo | 5h + weekly | Already subscribed |
|
|
468
487
|
| | Codex (Plus/Pro) | $20-200/mo | 5h + weekly | OpenAI users |
|
|
469
|
-
| | Gemini CLI | **FREE** | 180K/mo + 1K/day | Everyone! |
|
|
470
488
|
| | GitHub Copilot | $10-19/mo | Monthly | GitHub users |
|
|
471
|
-
|
|
|
472
|
-
| |
|
|
473
|
-
| |
|
|
474
|
-
|
|
|
475
|
-
| |
|
|
476
|
-
| |
|
|
489
|
+
| | Cursor IDE | $20/mo | Monthly | Cursor users |
|
|
490
|
+
| **💰 CHEAP** | GLM-5.1 / GLM-4.7 | $0.6/1M | Daily 10AM | Budget backup |
|
|
491
|
+
| | MiniMax M2.7 | $0.2/1M | 5-hour rolling | Cheapest option |
|
|
492
|
+
| | Kimi K2.5 | $9/mo flat | 10M tokens/mo | Predictable cost |
|
|
493
|
+
| **🆓 FREE** | Kiro AI | $0 | Unlimited | Claude 4.5 + GLM-5 + MiniMax free |
|
|
494
|
+
| | OpenCode Free | $0 | Unlimited | No auth, auto-fetch models |
|
|
495
|
+
| | Vertex AI | $300 credits | New GCP accounts | Gemini 3 Pro + DeepSeek + GLM-5 |
|
|
477
496
|
|
|
478
|
-
**💡 Pro Tip:**
|
|
497
|
+
**💡 Pro Tip:** RTK + Kiro AI + OpenCode Free combo = **$0 cost + 20-40% token savings**!
|
|
479
498
|
|
|
480
499
|
---
|
|
481
500
|
|
|
@@ -523,9 +542,9 @@ Reality Check:
|
|
|
523
542
|
**Solution:**
|
|
524
543
|
```
|
|
525
544
|
Combo: "maximize-claude"
|
|
526
|
-
1. cc/claude-opus-4-
|
|
527
|
-
2. glm/glm-
|
|
528
|
-
3.
|
|
545
|
+
1. cc/claude-opus-4-7 (use subscription fully)
|
|
546
|
+
2. glm/glm-5.1 (cheap backup when quota out)
|
|
547
|
+
3. kr/claude-sonnet-4.5 (free emergency fallback)
|
|
529
548
|
|
|
530
549
|
Monthly cost: $20 (subscription) + ~$5 (backup) = $25 total
|
|
531
550
|
vs. $20 + hitting limits = frustration
|
|
@@ -538,12 +557,12 @@ vs. $20 + hitting limits = frustration
|
|
|
538
557
|
**Solution:**
|
|
539
558
|
```
|
|
540
559
|
Combo: "free-forever"
|
|
541
|
-
1.
|
|
542
|
-
2.
|
|
543
|
-
3.
|
|
560
|
+
1. kr/claude-sonnet-4.5 (Claude 4.5 free unlimited)
|
|
561
|
+
2. kr/glm-5 (GLM-5 free via Kiro)
|
|
562
|
+
3. oc/<auto> (OpenCode Free, no auth)
|
|
544
563
|
|
|
545
564
|
Monthly cost: $0
|
|
546
|
-
Quality: Production-ready models
|
|
565
|
+
Quality: Production-ready models + RTK saves 20-40% tokens
|
|
547
566
|
```
|
|
548
567
|
|
|
549
568
|
### Case 3: "I need 24/7 coding, no interruptions"
|
|
@@ -553,11 +572,11 @@ Quality: Production-ready models
|
|
|
553
572
|
**Solution:**
|
|
554
573
|
```
|
|
555
574
|
Combo: "always-on"
|
|
556
|
-
1. cc/claude-opus-4-
|
|
557
|
-
2. cx/gpt-5.
|
|
558
|
-
3. glm/glm-
|
|
559
|
-
4. minimax/MiniMax-M2.
|
|
560
|
-
5.
|
|
575
|
+
1. cc/claude-opus-4-7 (best quality)
|
|
576
|
+
2. cx/gpt-5.5 (second subscription)
|
|
577
|
+
3. glm/glm-5.1 (cheap, resets daily)
|
|
578
|
+
4. minimax/MiniMax-M2.7 (cheapest, 5h reset)
|
|
579
|
+
5. kr/claude-sonnet-4.5 (free unlimited)
|
|
561
580
|
|
|
562
581
|
Result: 5 layers of fallback = zero downtime
|
|
563
582
|
Monthly cost: $20-200 (subscriptions) + $10-20 (backup)
|
|
@@ -570,9 +589,9 @@ Monthly cost: $20-200 (subscriptions) + $10-20 (backup)
|
|
|
570
589
|
**Solution:**
|
|
571
590
|
```
|
|
572
591
|
Combo: "openclaw-free"
|
|
573
|
-
1.
|
|
574
|
-
2.
|
|
575
|
-
3.
|
|
592
|
+
1. kr/claude-sonnet-4.5 (Claude 4.5 free)
|
|
593
|
+
2. kr/glm-5 (GLM-5 free)
|
|
594
|
+
3. kr/MiniMax-M2.5 (MiniMax free)
|
|
576
595
|
|
|
577
596
|
Monthly cost: $0
|
|
578
597
|
Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal...
|
|
@@ -614,16 +633,19 @@ The cost display is a "savings tracker" to help you understand your usage patter
|
|
|
614
633
|
<details>
|
|
615
634
|
<summary><b>🆓 Are FREE providers really unlimited?</b></summary>
|
|
616
635
|
|
|
617
|
-
**Yes!**
|
|
636
|
+
**Yes!** The current FREE providers (Kiro, OpenCode Free, Vertex) are genuinely free with **no hidden charges**.
|
|
618
637
|
|
|
619
638
|
These are free services offered by those respective companies:
|
|
620
|
-
- **
|
|
621
|
-
- **
|
|
622
|
-
- **
|
|
639
|
+
- **Kiro AI**: Free unlimited Claude 4.5 + GLM-5 + MiniMax via AWS Builder ID / Google / GitHub OAuth
|
|
640
|
+
- **OpenCode Free**: No-auth passthrough proxy, models auto-fetched from `opencode.ai/zen/v1/models`
|
|
641
|
+
- **Vertex AI**: $300 free credits for new Google Cloud accounts (90 days)
|
|
623
642
|
|
|
624
643
|
9Router just routes your requests to them - there's no "catch" or future billing. They're truly free services, and 9Router makes them easy to use with fallback support.
|
|
625
644
|
|
|
626
|
-
**
|
|
645
|
+
**Discontinued free tiers (no longer recommended):**
|
|
646
|
+
- ❌ **iFlow**: Was free unlimited, now changed to paid (2026)
|
|
647
|
+
- ❌ **Qwen Code**: Free OAuth tier discontinued by Alibaba on 2026-04-15
|
|
648
|
+
- ❌ **Gemini CLI**: Still works, but using it with non-CLI tools (Claude, Codex, Cursor...) may result in account bans — only use if you stick to Gemini CLI itself
|
|
627
649
|
|
|
628
650
|
</details>
|
|
629
651
|
|
|
@@ -689,8 +711,9 @@ Dashboard → Providers → Connect Claude Code
|
|
|
689
711
|
→ 5-hour + weekly quota tracking
|
|
690
712
|
|
|
691
713
|
Models:
|
|
714
|
+
cc/claude-opus-4-7
|
|
692
715
|
cc/claude-opus-4-6
|
|
693
|
-
cc/claude-sonnet-4-
|
|
716
|
+
cc/claude-sonnet-4-6
|
|
694
717
|
cc/claude-haiku-4-5-20251001
|
|
695
718
|
```
|
|
696
719
|
|
|
@@ -704,35 +727,38 @@ Dashboard → Providers → Connect Codex
|
|
|
704
727
|
→ 5-hour + weekly reset
|
|
705
728
|
|
|
706
729
|
Models:
|
|
730
|
+
cx/gpt-5.5
|
|
731
|
+
cx/gpt-5.4
|
|
732
|
+
cx/gpt-5.3-codex
|
|
707
733
|
cx/gpt-5.2-codex
|
|
708
|
-
cx/gpt-5.1-codex-max
|
|
709
734
|
```
|
|
710
735
|
|
|
711
|
-
###
|
|
736
|
+
### GitHub Copilot
|
|
712
737
|
|
|
713
738
|
```bash
|
|
714
|
-
Dashboard → Providers → Connect
|
|
715
|
-
→
|
|
716
|
-
→
|
|
739
|
+
Dashboard → Providers → Connect GitHub
|
|
740
|
+
→ OAuth via GitHub
|
|
741
|
+
→ Monthly reset (1st of month)
|
|
717
742
|
|
|
718
743
|
Models:
|
|
719
|
-
|
|
720
|
-
|
|
744
|
+
gh/gpt-5.4
|
|
745
|
+
gh/claude-opus-4.7
|
|
746
|
+
gh/claude-sonnet-4.6
|
|
747
|
+
gh/gemini-3.1-pro-preview
|
|
748
|
+
gh/grok-code-fast-1
|
|
721
749
|
```
|
|
722
750
|
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
### GitHub Copilot
|
|
751
|
+
### Cursor IDE
|
|
726
752
|
|
|
727
753
|
```bash
|
|
728
|
-
Dashboard → Providers → Connect
|
|
729
|
-
→ OAuth
|
|
730
|
-
→ Monthly
|
|
754
|
+
Dashboard → Providers → Connect Cursor
|
|
755
|
+
→ OAuth login
|
|
756
|
+
→ Monthly subscription
|
|
731
757
|
|
|
732
758
|
Models:
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
759
|
+
cu/claude-4.6-opus-max
|
|
760
|
+
cu/claude-4.5-sonnet-thinking
|
|
761
|
+
cu/gpt-5.3-codex
|
|
736
762
|
```
|
|
737
763
|
|
|
738
764
|
</details>
|
|
@@ -740,7 +766,7 @@ Models:
|
|
|
740
766
|
<details>
|
|
741
767
|
<summary><b>💰 Cheap Providers (Backup)</b></summary>
|
|
742
768
|
|
|
743
|
-
### GLM-4.7 (Daily reset, $0.6/1M)
|
|
769
|
+
### GLM-5.1 / GLM-4.7 (Daily reset, $0.6/1M)
|
|
744
770
|
|
|
745
771
|
1. Sign up: [Zhipu AI](https://open.bigmodel.cn/)
|
|
746
772
|
2. Get API key from Coding Plan
|
|
@@ -748,74 +774,83 @@ Models:
|
|
|
748
774
|
- Provider: `glm`
|
|
749
775
|
- API Key: `your-key`
|
|
750
776
|
|
|
751
|
-
**Use:** `glm/glm-4.7`
|
|
777
|
+
**Use:** `glm/glm-5.1`, `glm/glm-5`, `glm/glm-4.7`
|
|
752
778
|
|
|
753
779
|
**Pro Tip:** Coding Plan offers 3× quota at 1/7 cost! Reset daily 10:00 AM.
|
|
754
780
|
|
|
755
|
-
### MiniMax M2.
|
|
781
|
+
### MiniMax M2.7 (5h reset, $0.20/1M)
|
|
756
782
|
|
|
757
783
|
1. Sign up: [MiniMax](https://www.minimax.io/)
|
|
758
784
|
2. Get API key
|
|
759
785
|
3. Dashboard → Add API Key
|
|
760
786
|
|
|
761
|
-
**Use:** `minimax/MiniMax-M2.
|
|
787
|
+
**Use:** `minimax/MiniMax-M2.7`, `minimax/MiniMax-M2.5`
|
|
762
788
|
|
|
763
789
|
**Pro Tip:** Cheapest option for long context (1M tokens)!
|
|
764
790
|
|
|
765
|
-
### Kimi K2 ($9/month flat)
|
|
791
|
+
### Kimi K2.5 ($9/month flat)
|
|
766
792
|
|
|
767
793
|
1. Subscribe: [Moonshot AI](https://platform.moonshot.ai/)
|
|
768
794
|
2. Get API key
|
|
769
795
|
3. Dashboard → Add API Key
|
|
770
796
|
|
|
771
|
-
**Use:** `kimi/kimi-
|
|
797
|
+
**Use:** `kimi/kimi-k2.5`, `kimi/kimi-k2.5-thinking`
|
|
772
798
|
|
|
773
799
|
**Pro Tip:** Fixed $9/month for 10M tokens = $0.90/1M effective cost!
|
|
774
800
|
|
|
775
801
|
</details>
|
|
776
802
|
|
|
777
803
|
<details>
|
|
778
|
-
<summary><b>🆓 FREE Providers (
|
|
804
|
+
<summary><b>🆓 FREE Providers (Recommended)</b></summary>
|
|
779
805
|
|
|
780
|
-
###
|
|
806
|
+
### Kiro AI (Claude 4.5 + GLM-5 + MiniMax FREE)
|
|
781
807
|
|
|
782
808
|
```bash
|
|
783
|
-
Dashboard → Connect
|
|
784
|
-
→
|
|
809
|
+
Dashboard → Connect Kiro
|
|
810
|
+
→ AWS Builder ID, AWS IAM Identity Center, Google, or GitHub
|
|
785
811
|
→ Unlimited usage
|
|
786
812
|
|
|
787
813
|
Models:
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
814
|
+
kr/claude-sonnet-4.5
|
|
815
|
+
kr/claude-haiku-4.5
|
|
816
|
+
kr/glm-5
|
|
817
|
+
kr/MiniMax-M2.5
|
|
818
|
+
kr/qwen3-coder-next
|
|
819
|
+
kr/deepseek-3.2
|
|
793
820
|
```
|
|
794
821
|
|
|
795
|
-
|
|
822
|
+
**Pro Tip:** Best free option for Claude. No API key, no payment, fully unlimited.
|
|
796
823
|
|
|
797
|
-
|
|
798
|
-
Dashboard → Connect Qwen
|
|
799
|
-
→ Device code authorization
|
|
800
|
-
→ Unlimited usage
|
|
824
|
+
### OpenCode Free (No auth, auto-fetch models)
|
|
801
825
|
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
826
|
+
```bash
|
|
827
|
+
Dashboard → Connect OpenCode Free
|
|
828
|
+
→ No login required (passthrough proxy)
|
|
829
|
+
→ Models auto-fetched from opencode.ai/zen/v1/models
|
|
805
830
|
```
|
|
806
831
|
|
|
807
|
-
|
|
832
|
+
**Pro Tip:** Fastest setup. Just connect and start coding.
|
|
833
|
+
|
|
834
|
+
### Vertex AI ($300 free credits for new GCP accounts)
|
|
808
835
|
|
|
809
836
|
```bash
|
|
810
|
-
Dashboard → Connect
|
|
811
|
-
→
|
|
812
|
-
→
|
|
837
|
+
Dashboard → Connect Vertex AI
|
|
838
|
+
→ Upload Google Cloud Service Account JSON
|
|
839
|
+
→ Enable Vertex AI API in your GCP project
|
|
813
840
|
|
|
814
841
|
Models:
|
|
815
|
-
|
|
816
|
-
|
|
842
|
+
vertex/gemini-3.1-pro-preview
|
|
843
|
+
vertex/gemini-3-flash-preview
|
|
844
|
+
vertex/gemini-2.5-flash
|
|
845
|
+
|
|
846
|
+
Vertex Partner (Anthropic / DeepSeek / GLM / Qwen via Vertex):
|
|
847
|
+
vertex-partner/glm-5-maas
|
|
848
|
+
vertex-partner/deepseek-v3.2-maas
|
|
849
|
+
vertex-partner/qwen3-next-80b-a3b-thinking-maas
|
|
817
850
|
```
|
|
818
851
|
|
|
852
|
+
**Pro Tip:** New Google Cloud accounts get $300 credits free for 90 days. Plenty for daily coding.
|
|
853
|
+
|
|
819
854
|
</details>
|
|
820
855
|
|
|
821
856
|
<details>
|
|
@@ -828,9 +863,9 @@ Dashboard → Combos → Create New
|
|
|
828
863
|
|
|
829
864
|
Name: premium-coding
|
|
830
865
|
Models:
|
|
831
|
-
1. cc/claude-opus-4-
|
|
832
|
-
2. glm/glm-
|
|
833
|
-
3. minimax/MiniMax-M2.
|
|
866
|
+
1. cc/claude-opus-4-7 (Subscription primary)
|
|
867
|
+
2. glm/glm-5.1 (Cheap backup, $0.6/1M)
|
|
868
|
+
3. minimax/MiniMax-M2.7 (Cheapest fallback, $0.20/1M)
|
|
834
869
|
|
|
835
870
|
Use in CLI: premium-coding
|
|
836
871
|
|
|
@@ -846,11 +881,11 @@ Monthly cost example (100M tokens):
|
|
|
846
881
|
```
|
|
847
882
|
Name: free-combo
|
|
848
883
|
Models:
|
|
849
|
-
1.
|
|
850
|
-
2.
|
|
851
|
-
3.
|
|
884
|
+
1. kr/claude-sonnet-4.5 (Claude 4.5 free unlimited)
|
|
885
|
+
2. kr/glm-5 (GLM-5 free via Kiro)
|
|
886
|
+
3. vertex/gemini-3.1-pro-preview ($300 free credits)
|
|
852
887
|
|
|
853
|
-
Cost: $0 forever!
|
|
888
|
+
Cost: $0 forever (+ 20-40% token savings via RTK)!
|
|
854
889
|
```
|
|
855
890
|
|
|
856
891
|
</details>
|
|
@@ -864,7 +899,7 @@ Cost: $0 forever!
|
|
|
864
899
|
Settings → Models → Advanced:
|
|
865
900
|
OpenAI API Base URL: http://localhost:20128/v1
|
|
866
901
|
OpenAI API Key: [from 9router dashboard]
|
|
867
|
-
Model: cc/claude-opus-4-
|
|
902
|
+
Model: cc/claude-opus-4-7
|
|
868
903
|
```
|
|
869
904
|
|
|
870
905
|
Or use combo: `premium-coding`
|
|
@@ -904,7 +939,7 @@ Dashboard → CLI Tools → OpenClaw → Select Model → Apply
|
|
|
904
939
|
"agents": {
|
|
905
940
|
"defaults": {
|
|
906
941
|
"model": {
|
|
907
|
-
"primary": "9router/
|
|
942
|
+
"primary": "9router/kr/claude-sonnet-4.5"
|
|
908
943
|
}
|
|
909
944
|
}
|
|
910
945
|
},
|
|
@@ -916,8 +951,8 @@ Dashboard → CLI Tools → OpenClaw → Select Model → Apply
|
|
|
916
951
|
"api": "openai-completions",
|
|
917
952
|
"models": [
|
|
918
953
|
{
|
|
919
|
-
"id": "
|
|
920
|
-
"name": "
|
|
954
|
+
"id": "kr/claude-sonnet-4.5",
|
|
955
|
+
"name": "Claude Sonnet 4.5 (Kiro Free)"
|
|
921
956
|
}
|
|
922
957
|
]
|
|
923
958
|
}
|
|
@@ -934,7 +969,7 @@ Dashboard → CLI Tools → OpenClaw → Select Model → Apply
|
|
|
934
969
|
Provider: OpenAI Compatible
|
|
935
970
|
Base URL: http://localhost:20128/v1
|
|
936
971
|
API Key: [from dashboard]
|
|
937
|
-
Model: cc/claude-opus-4-
|
|
972
|
+
Model: cc/claude-opus-4-7
|
|
938
973
|
```
|
|
939
974
|
|
|
940
975
|
</details>
|
|
@@ -1057,40 +1092,62 @@ Notes:
|
|
|
1057
1092
|
<summary><b>View all available models</b></summary>
|
|
1058
1093
|
|
|
1059
1094
|
**Claude Code (`cc/`)** - Pro/Max:
|
|
1095
|
+
- `cc/claude-opus-4-7`
|
|
1060
1096
|
- `cc/claude-opus-4-6`
|
|
1097
|
+
- `cc/claude-sonnet-4-6`
|
|
1061
1098
|
- `cc/claude-sonnet-4-5-20250929`
|
|
1062
1099
|
- `cc/claude-haiku-4-5-20251001`
|
|
1063
1100
|
|
|
1064
1101
|
**Codex (`cx/`)** - Plus/Pro:
|
|
1102
|
+
- `cx/gpt-5.5`
|
|
1103
|
+
- `cx/gpt-5.4`
|
|
1104
|
+
- `cx/gpt-5.3-codex`
|
|
1065
1105
|
- `cx/gpt-5.2-codex`
|
|
1066
1106
|
- `cx/gpt-5.1-codex-max`
|
|
1067
1107
|
|
|
1068
|
-
**Gemini CLI (`gc/`)** - FREE:
|
|
1069
|
-
- `gc/gemini-3-flash-preview`
|
|
1070
|
-
- `gc/gemini-2.5-pro`
|
|
1071
|
-
|
|
1072
1108
|
**GitHub Copilot (`gh/`)**:
|
|
1073
|
-
- `gh/gpt-5`
|
|
1074
|
-
- `gh/claude-4.
|
|
1109
|
+
- `gh/gpt-5.4`
|
|
1110
|
+
- `gh/claude-opus-4.7`
|
|
1111
|
+
- `gh/claude-sonnet-4.6`
|
|
1112
|
+
- `gh/gemini-3.1-pro-preview`
|
|
1113
|
+
- `gh/grok-code-fast-1`
|
|
1114
|
+
|
|
1115
|
+
**Cursor (`cu/`)** - Subscription:
|
|
1116
|
+
- `cu/claude-4.6-opus-max`
|
|
1117
|
+
- `cu/claude-4.5-sonnet-thinking`
|
|
1118
|
+
- `cu/gpt-5.3-codex`
|
|
1119
|
+
- `cu/kimi-k2.5`
|
|
1075
1120
|
|
|
1076
1121
|
**GLM (`glm/`)** - $0.6/1M:
|
|
1122
|
+
- `glm/glm-5.1`
|
|
1123
|
+
- `glm/glm-5`
|
|
1077
1124
|
- `glm/glm-4.7`
|
|
1078
1125
|
|
|
1079
1126
|
**MiniMax (`minimax/`)** - $0.2/1M:
|
|
1080
|
-
- `minimax/MiniMax-M2.
|
|
1081
|
-
|
|
1082
|
-
**iFlow (`if/`)** - FREE:
|
|
1083
|
-
- `if/kimi-k2-thinking`
|
|
1084
|
-
- `if/qwen3-coder-plus`
|
|
1085
|
-
- `if/deepseek-r1`
|
|
1127
|
+
- `minimax/MiniMax-M2.7`
|
|
1128
|
+
- `minimax/MiniMax-M2.5`
|
|
1086
1129
|
|
|
1087
|
-
**
|
|
1088
|
-
- `
|
|
1089
|
-
- `
|
|
1130
|
+
**Kimi (`kimi/`)** - $9/mo flat:
|
|
1131
|
+
- `kimi/kimi-k2.5`
|
|
1132
|
+
- `kimi/kimi-k2.5-thinking`
|
|
1090
1133
|
|
|
1091
|
-
**Kiro (`kr/`)** - FREE:
|
|
1134
|
+
**Kiro (`kr/`)** - FREE unlimited:
|
|
1092
1135
|
- `kr/claude-sonnet-4.5`
|
|
1093
1136
|
- `kr/claude-haiku-4.5`
|
|
1137
|
+
- `kr/glm-5`
|
|
1138
|
+
- `kr/MiniMax-M2.5`
|
|
1139
|
+
- `kr/qwen3-coder-next`
|
|
1140
|
+
- `kr/deepseek-3.2`
|
|
1141
|
+
|
|
1142
|
+
**OpenCode Free (`oc/`)** - FREE no-auth:
|
|
1143
|
+
- Auto-fetched from `opencode.ai/zen/v1/models`
|
|
1144
|
+
|
|
1145
|
+
**Vertex AI (`vertex/`)** - $300 free credits:
|
|
1146
|
+
- `vertex/gemini-3.1-pro-preview`
|
|
1147
|
+
- `vertex/gemini-3-flash-preview`
|
|
1148
|
+
- `vertex/gemini-2.5-flash`
|
|
1149
|
+
- `vertex-partner/glm-5-maas`
|
|
1150
|
+
- `vertex-partner/deepseek-v3.2-maas`
|
|
1094
1151
|
|
|
1095
1152
|
</details>
|
|
1096
1153
|
|
|
@@ -1104,16 +1161,17 @@ Notes:
|
|
|
1104
1161
|
|
|
1105
1162
|
**Rate limiting**
|
|
1106
1163
|
- Subscription quota out → Fallback to GLM/MiniMax
|
|
1107
|
-
- Add combo: `cc/claude-opus-4-
|
|
1164
|
+
- Add combo: `cc/claude-opus-4-7 → glm/glm-5.1 → kr/claude-sonnet-4.5`
|
|
1108
1165
|
|
|
1109
1166
|
**OAuth token expired**
|
|
1110
1167
|
- Auto-refreshed by 9Router
|
|
1111
1168
|
- If issues persist: Dashboard → Provider → Reconnect
|
|
1112
1169
|
|
|
1113
1170
|
**High costs**
|
|
1171
|
+
- Enable RTK in Dashboard → Endpoint settings (default ON, saves 20-40% tokens)
|
|
1114
1172
|
- Check usage stats in Dashboard
|
|
1115
1173
|
- Switch primary model to GLM/MiniMax
|
|
1116
|
-
- Use free tier (
|
|
1174
|
+
- Use free tier (Kiro, OpenCode Free, Vertex) for non-critical tasks
|
|
1117
1175
|
|
|
1118
1176
|
**Dashboard opens on wrong port**
|
|
1119
1177
|
- Set `PORT=20128` and `NEXT_PUBLIC_BASE_URL=http://localhost:20128`
|
package/app/.next/BUILD_ID
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
ahyS0wV6v2JdXWYSEruR6
|