@yina-npm/openrouterx 0.4.80 → 0.5.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/LICENSE +22 -1
- package/README.md +72 -420
- package/app/.next-cli-build/BUILD_ID +1 -0
- package/app/.next-cli-build/app-path-routes-manifest.json +170 -0
- package/app/.next-cli-build/build-manifest.json +20 -0
- package/app/.next-cli-build/prerender-manifest.json +239 -0
- package/app/.next-cli-build/required-server-files.json +380 -0
- package/app/.next-cli-build/routes-manifest.json +1131 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/admin/keys/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/admin/keys/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/admin/keys/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/admin/users/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/admin/users/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/admin/users/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +24 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +60 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +5 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +11 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +5 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +3 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/user/page.js +5 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/user/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/user/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/_global-error/page.js +32 -0
- package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/_global-error.html +1 -0
- package/app/.next-cli-build/server/app/_global-error.rsc +14 -0
- package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +14 -0
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/app/.next-cli-build/server/app/_not-found/page.js +2 -0
- package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/_not-found.html +1 -0
- package/app/.next-cli-build/server/app/_not-found.rsc +21 -0
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +21 -0
- package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +6 -0
- package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +9 -0
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +4 -0
- package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -0
- package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -0
- package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/auth/me/route.js +1 -0
- package/app/.next-cli-build/server/app/api/auth/me/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -0
- package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -0
- package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -0
- package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -0
- package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -0
- package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +17 -0
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -0
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -0
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -0
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/activate-account/route.js +2 -0
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/activate-account/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -0
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -0
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -0
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +9 -0
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -0
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +10 -0
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +3 -0
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -0
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -0
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -0
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -0
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/combos/route.js +1 -0
- package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -0
- package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/headroom/start/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -0
- package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/headroom/status/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -0
- package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/headroom/stop/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/health/route.js +1 -0
- package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/init/route.js +1 -0
- package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -0
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/keys/route.js +1 -0
- package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/locale/route.js +1 -0
- package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +7 -0
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +10 -0
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -0
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -0
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -0
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -0
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -0
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -0
- package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -0
- package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -0
- package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -0
- package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/models/route.js +1 -0
- package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/models/test/route.js +1 -0
- package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +4 -0
- package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/pricing/route.js +1 -0
- package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -0
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -0
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -0
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/providers/route.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -0
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -0
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +43 -0
- package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +40 -0
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -0
- package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +33 -0
- package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -0
- package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -0
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -0
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/settings/route.js +1 -0
- package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -0
- package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/tags/route.js +1 -0
- package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -0
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +7 -0
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -0
- package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -0
- package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -0
- package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -0
- package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -0
- package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -0
- package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -0
- package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -0
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -0
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -0
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +5 -0
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -0
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -0
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/usage/api-keys/route.js +1 -0
- package/app/.next-cli-build/server/app/api/usage/api-keys/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -0
- package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -0
- package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -0
- package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -0
- package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -0
- package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -0
- package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -0
- package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/usage/stream/route.js +7 -0
- package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/users/[id]/route.js +1 -0
- package/app/.next-cli-build/server/app/api/users/[id]/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/users/route.js +1 -0
- package/app/.next-cli-build/server/app/api/users/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +4 -0
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/version/route.js +1 -0
- package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -0
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/version/update/route.js +1 -0
- package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/callback/page.js +2 -0
- package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/callback.html +1 -0
- package/app/.next-cli-build/server/app/callback.rsc +25 -0
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +25 -0
- package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +6 -0
- package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +9 -0
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +4 -0
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +9 -0
- package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -0
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -0
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +25 -0
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +25 -0
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +6 -0
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +9 -0
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +4 -0
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +9 -0
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -0
- package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/index.html +1 -0
- package/app/.next-cli-build/server/app/index.rsc +20 -0
- package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +6 -0
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +20 -0
- package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +6 -0
- package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +9 -0
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +4 -0
- package/app/.next-cli-build/server/app/landing/page.js +2 -0
- package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/landing.html +1 -0
- package/app/.next-cli-build/server/app/landing.rsc +25 -0
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +25 -0
- package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +6 -0
- package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +9 -0
- package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +4 -0
- package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +9 -0
- package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/login/page.js +2 -0
- package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/login.html +1 -0
- package/app/.next-cli-build/server/app/login.rsc +26 -0
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +26 -0
- package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +6 -0
- package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +9 -0
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +10 -0
- package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +16 -0
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/page.js +2 -0
- package/app/.next-cli-build/server/app/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app-paths-manifest.json +170 -0
- package/app/.next-cli-build/server/chunks/1220.js +3 -0
- package/app/.next-cli-build/server/chunks/1241.js +1 -0
- package/app/.next-cli-build/server/chunks/1275.js +73 -0
- package/app/.next-cli-build/server/chunks/1350.js +2 -0
- package/app/.next-cli-build/server/chunks/1832.js +1 -0
- package/app/.next-cli-build/server/chunks/2059.js +1 -0
- package/app/.next-cli-build/server/chunks/2944.js +1 -0
- package/app/.next-cli-build/server/chunks/319.js +45 -0
- package/app/.next-cli-build/server/chunks/3412.js +1 -0
- package/app/.next-cli-build/server/chunks/3428.js +1 -0
- package/app/.next-cli-build/server/chunks/3535.js +1 -0
- package/app/.next-cli-build/server/chunks/3546.js +1 -0
- package/app/.next-cli-build/server/chunks/3913.js +64 -0
- package/app/.next-cli-build/server/chunks/412.js +7 -0
- package/app/.next-cli-build/server/chunks/4632.js +1 -0
- package/app/.next-cli-build/server/chunks/4922.js +9 -0
- package/app/.next-cli-build/server/chunks/5118.js +1 -0
- package/app/.next-cli-build/server/chunks/5296.js +1 -0
- package/app/.next-cli-build/server/chunks/5592.js +1 -0
- package/app/.next-cli-build/server/chunks/5615.js +43 -0
- package/app/.next-cli-build/server/chunks/5699.js +1 -0
- package/app/.next-cli-build/server/chunks/5816.js +1 -0
- package/app/.next-cli-build/server/chunks/5961.js +1 -0
- package/app/.next-cli-build/server/chunks/6001.js +1 -0
- package/app/.next-cli-build/server/chunks/602.js +1 -0
- package/app/.next-cli-build/server/chunks/6070.js +1 -0
- package/app/.next-cli-build/server/chunks/615.js +1 -0
- package/app/.next-cli-build/server/chunks/6151.js +1 -0
- package/app/.next-cli-build/server/chunks/6182.js +63 -0
- package/app/.next-cli-build/server/chunks/6306.js +1 -0
- package/app/.next-cli-build/server/chunks/6327.js +1 -0
- package/app/.next-cli-build/server/chunks/6482.js +11 -0
- package/app/.next-cli-build/server/chunks/6688.js +1 -0
- package/app/.next-cli-build/server/chunks/6763.js +1 -0
- package/app/.next-cli-build/server/chunks/6777.js +1 -0
- package/app/.next-cli-build/server/chunks/7244.js +1 -0
- package/app/.next-cli-build/server/chunks/7259.js +53 -0
- package/app/.next-cli-build/server/chunks/7774.js +120 -0
- package/app/.next-cli-build/server/chunks/7879.js +10 -0
- package/app/.next-cli-build/server/chunks/7937.js +170 -0
- package/app/.next-cli-build/server/chunks/801.js +3 -0
- package/app/.next-cli-build/server/chunks/8271.js +1 -0
- package/app/.next-cli-build/server/chunks/8895.js +58 -0
- package/app/.next-cli-build/server/chunks/8910.js +2 -0
- package/app/.next-cli-build/server/chunks/8920.js +1 -0
- package/app/.next-cli-build/server/chunks/9718.js +1 -0
- package/app/.next-cli-build/server/chunks/9787.js +31 -0
- package/app/.next-cli-build/server/chunks/9833.js +1 -0
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -0
- package/app/.next-cli-build/server/middleware.js +18 -0
- package/app/.next-cli-build/server/next-font-manifest.js +1 -0
- package/app/.next-cli-build/server/next-font-manifest.json +1 -0
- package/app/.next-cli-build/server/pages/404.html +1 -0
- package/app/.next-cli-build/server/pages/500.html +1 -0
- package/app/.next-cli-build/server/server-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/server-reference-manifest.json +1 -0
- package/app/.next-cli-build/static/DLZR81Hq9OqOrl2Xc2iHn/_buildManifest.js +1 -0
- package/app/.next-cli-build/static/chunks/1321-7d926378b0f39749.js +1 -0
- package/app/.next-cli-build/static/chunks/4072-932473fbd266d3f5.js +3 -0
- package/app/.next-cli-build/static/chunks/5497-53b71597ca1b53f8.js +7 -0
- package/app/.next-cli-build/static/chunks/6069-b72e6803d5df6bb0.js +53 -0
- package/app/.next-cli-build/static/chunks/705-979ff3eb195b9023.js +1 -0
- package/app/.next-cli-build/static/chunks/8982-6d1803817450bcd4.js +11 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/admin/keys/page-770d25a6e4c1c16b.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/admin/users/page-c02ec2a52cb81f6c.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-00067a1ed47e8a1a.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-6b52a6040f91175e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-7e1032515aa7b846.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-b0ea71f0ee7d3f0d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-3255488cfa30dbe8.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-a803dd8339e39a59.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-248f90bb1f8438b5.js +59 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-f2ad20d24fffaed1.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/page-9b1c19519a3fcdd6.js +4 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-c9d255cd986ec35f.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/page-6783a97fcd89ff19.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-35bb7f0efeba6102.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-5cfb7ca8b362af6f.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-1e127be17d25ddd8.js +10 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/page-7c91743514149c71.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-929ab76c6137174e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-022d3cf41ae7126d.js +4 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-561f95b84b06ae49.js +2 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/page-88a024a500d543fa.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/page-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-2551a48ef918b89b.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/user/page-2bb3871609a94258.js +4 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-8151b85461a99f83.js +1 -0
- package/app/.next-cli-build/static/chunks/app/_global-error/page-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/login/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/me/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/status/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/activate-account/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/health/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/init/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/locale/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/alias/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/availability/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/custom/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/test/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pricing/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/client/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/database/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/shutdown/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tags/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/load/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/save/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/send/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/api-keys/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/history/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/users/[id]/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/users/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/search/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/update/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-fa3a6585ef16a942.js +1 -0
- package/app/.next-cli-build/static/chunks/app/layout-666059e0e271094b.js +1 -0
- package/app/.next-cli-build/static/chunks/app/login/page-fc66d6d071e3bcf3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/page-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/webpack-786de0e184ffd859.js +1 -0
- package/app/.next-cli-build/static/css/d477f23f99f30ee7.css +1 -0
- package/app/.next-cli-build/static/css/e60401d99e3ceca2.css +1 -0
- package/app/.next-cli-build/static/media/19cfc7226ec3afaa-s.woff2 +0 -0
- package/app/.next-cli-build/static/media/21350d82a1f187e9-s.woff2 +0 -0
- package/app/.next-cli-build/static/media/8e9860b6e62d6359-s.woff2 +0 -0
- package/app/.next-cli-build/static/media/ba9851c3c22cd980-s.woff2 +0 -0
- package/app/.next-cli-build/static/media/c5fe6dc8356a8c31-s.woff2 +0 -0
- package/app/.next-cli-build/static/media/df0a9ae256c0569c-s.woff2 +0 -0
- package/app/.next-cli-build/static/media/e4af272ccee01ff0-s.p.woff2 +0 -0
- package/app/cli/.build-home/.openrouterx/db.json +43 -0
- package/app/cli/.build-home/.openrouterx/jwt-secret +1 -0
- package/app/cli/.build-home/.openrouterx/machine-id +1 -0
- package/app/cli/.build-home/Library/Preferences/nextjs-nodejs/config.json +7 -0
- package/app/custom-server.js +32 -0
- package/app/package.json +11 -8
- package/app/public/providers/codebuddy-cn.png +0 -0
- package/app/server.js +1 -1
- package/app/src/lib/updater/updater.js +2 -2
- package/app/src/mitm/server.js +60 -435
- package/cli.js +728 -415
- package/hooks/postinstall.js +15 -48
- package/hooks/sqliteRuntime.js +156 -0
- package/hooks/trayRuntime.js +107 -0
- package/package.json +18 -7
- package/src/cli/api/client.js +88 -10
- package/src/cli/menus/cliTools.js +164 -8
- package/src/cli/menus/providers.js +249 -12
- package/src/cli/menus/settings.js +138 -31
- package/src/cli/terminalUI.js +37 -25
- package/src/cli/tray/autostart.js +168 -184
- package/src/cli/tray/tray.js +226 -108
- package/src/cli/tray/tray.ps1 +79 -0
- package/src/cli/tray/trayWin.js +89 -0
- package/src/cli/utils/input.js +64 -137
- package/src/cli/utils/modelSelector.js +7 -4
- package/app/.next/BUILD_ID +0 -1
- package/app/.next/app-path-routes-manifest.json +0 -165
- package/app/.next/build-manifest.json +0 -20
- package/app/.next/prerender-manifest.json +0 -239
- package/app/.next/required-server-files.json +0 -376
- package/app/.next/routes-manifest.json +0 -1094
- package/app/.next/server/app/(dashboard)/dashboard/admin/keys/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/admin/keys/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/admin/keys/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/admin/users/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/admin/users/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/admin/users/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +0 -24
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +0 -60
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +0 -5
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +0 -11
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js +0 -5
- package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/quota/page.js +0 -3
- package/app/.next/server/app/(dashboard)/dashboard/quota/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/skills/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/skills/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/user/page.js +0 -5
- package/app/.next/server/app/(dashboard)/dashboard/user/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/user/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/_global-error/page.js +0 -32
- package/app/.next/server/app/_global-error/page.js.nft.json +0 -1
- package/app/.next/server/app/_global-error/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/_global-error.html +0 -1
- package/app/.next/server/app/_global-error.rsc +0 -14
- package/app/.next/server/app/_global-error.segments/_full.segment.rsc +0 -14
- package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +0 -5
- package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +0 -5
- package/app/.next/server/app/_global-error.segments/_head.segment.rsc +0 -5
- package/app/.next/server/app/_global-error.segments/_index.segment.rsc +0 -5
- package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +0 -1
- package/app/.next/server/app/_not-found/page.js +0 -2
- package/app/.next/server/app/_not-found/page.js.nft.json +0 -1
- package/app/.next/server/app/_not-found/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/_not-found.html +0 -1
- package/app/.next/server/app/_not-found.rsc +0 -19
- package/app/.next/server/app/_not-found.segments/_full.segment.rsc +0 -19
- package/app/.next/server/app/_not-found.segments/_head.segment.rsc +0 -6
- package/app/.next/server/app/_not-found.segments/_index.segment.rsc +0 -8
- package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +0 -5
- package/app/.next/server/app/_not-found.segments/_not-found.segment.rsc +0 -5
- package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +0 -3
- package/app/.next/server/app/api/auth/login/route.js +0 -1
- package/app/.next/server/app/api/auth/login/route.js.nft.json +0 -1
- package/app/.next/server/app/api/auth/logout/route.js +0 -1
- package/app/.next/server/app/api/auth/logout/route.js.nft.json +0 -1
- package/app/.next/server/app/api/auth/me/route.js +0 -1
- package/app/.next/server/app/api/auth/me/route.js.nft.json +0 -1
- package/app/.next/server/app/api/auth/oidc/callback/route.js +0 -1
- package/app/.next/server/app/api/auth/oidc/callback/route.js.nft.json +0 -1
- package/app/.next/server/app/api/auth/oidc/start/route.js +0 -1
- package/app/.next/server/app/api/auth/oidc/start/route.js.nft.json +0 -1
- package/app/.next/server/app/api/auth/oidc/test/route.js +0 -1
- package/app/.next/server/app/api/auth/oidc/test/route.js.nft.json +0 -1
- package/app/.next/server/app/api/auth/reset-password/route.js +0 -1
- package/app/.next/server/app/api/auth/reset-password/route.js.nft.json +0 -1
- package/app/.next/server/app/api/auth/status/route.js +0 -1
- package/app/.next/server/app/api/auth/status/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/all-statuses/route.js +0 -17
- package/app/.next/server/app/api/cli-tools/all-statuses/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +0 -2
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +0 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/claude-settings/route.js +0 -2
- package/app/.next/server/app/api/cli-tools/claude-settings/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/cline-settings/route.js +0 -2
- package/app/.next/server/app/api/cli-tools/cline-settings/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/codex-settings/activate-account/route.js +0 -2
- package/app/.next/server/app/api/cli-tools/codex-settings/activate-account/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/codex-settings/route.js +0 -1
- package/app/.next/server/app/api/cli-tools/codex-settings/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/copilot-settings/route.js +0 -2
- package/app/.next/server/app/api/cli-tools/copilot-settings/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js +0 -2
- package/app/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js +0 -2
- package/app/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/cowork-settings/route.js +0 -1
- package/app/.next/server/app/api/cli-tools/cowork-settings/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/deepseek-tui-settings/route.js +0 -9
- package/app/.next/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/droid-settings/route.js +0 -2
- package/app/.next/server/app/api/cli-tools/droid-settings/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/hermes-settings/route.js +0 -10
- package/app/.next/server/app/api/cli-tools/hermes-settings/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/jcode-settings/route.js +0 -3
- package/app/.next/server/app/api/cli-tools/jcode-settings/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +0 -2
- package/app/.next/server/app/api/cli-tools/kilo-settings/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +0 -2
- package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/opencode-settings/route.js +0 -2
- package/app/.next/server/app/api/cli-tools/opencode-settings/route.js.nft.json +0 -1
- package/app/.next/server/app/api/combos/[id]/route.js +0 -1
- package/app/.next/server/app/api/combos/[id]/route.js.nft.json +0 -1
- package/app/.next/server/app/api/combos/route.js +0 -1
- package/app/.next/server/app/api/combos/route.js.nft.json +0 -1
- package/app/.next/server/app/api/health/route.js +0 -1
- package/app/.next/server/app/api/health/route.js.nft.json +0 -1
- package/app/.next/server/app/api/init/route.js +0 -1
- package/app/.next/server/app/api/init/route.js.nft.json +0 -1
- package/app/.next/server/app/api/keys/[id]/route.js +0 -1
- package/app/.next/server/app/api/keys/[id]/route.js.nft.json +0 -1
- package/app/.next/server/app/api/keys/route.js +0 -1
- package/app/.next/server/app/api/keys/route.js.nft.json +0 -1
- package/app/.next/server/app/api/locale/route.js +0 -1
- package/app/.next/server/app/api/locale/route.js.nft.json +0 -1
- package/app/.next/server/app/api/mcp/[plugin]/message/route.js +0 -7
- package/app/.next/server/app/api/mcp/[plugin]/message/route.js.nft.json +0 -1
- package/app/.next/server/app/api/mcp/[plugin]/sse/route.js +0 -10
- package/app/.next/server/app/api/mcp/[plugin]/sse/route.js.nft.json +0 -1
- package/app/.next/server/app/api/media-providers/tts/deepgram/voices/route.js +0 -1
- package/app/.next/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +0 -1
- package/app/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js +0 -1
- package/app/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +0 -1
- package/app/.next/server/app/api/media-providers/tts/inworld/voices/route.js +0 -1
- package/app/.next/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +0 -1
- package/app/.next/server/app/api/media-providers/tts/minimax/voices/route.js +0 -1
- package/app/.next/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +0 -1
- package/app/.next/server/app/api/media-providers/tts/voices/route.js +0 -1
- package/app/.next/server/app/api/media-providers/tts/voices/route.js.nft.json +0 -1
- package/app/.next/server/app/api/models/alias/route.js +0 -1
- package/app/.next/server/app/api/models/alias/route.js.nft.json +0 -1
- package/app/.next/server/app/api/models/availability/route.js +0 -1
- package/app/.next/server/app/api/models/availability/route.js.nft.json +0 -1
- package/app/.next/server/app/api/models/custom/route.js +0 -1
- package/app/.next/server/app/api/models/custom/route.js.nft.json +0 -1
- package/app/.next/server/app/api/models/disabled/route.js +0 -1
- package/app/.next/server/app/api/models/disabled/route.js.nft.json +0 -1
- package/app/.next/server/app/api/models/route.js +0 -1
- package/app/.next/server/app/api/models/route.js.nft.json +0 -1
- package/app/.next/server/app/api/models/test/route.js +0 -1
- package/app/.next/server/app/api/models/test/route.js.nft.json +0 -1
- package/app/.next/server/app/api/oauth/[provider]/[action]/route.js +0 -1
- package/app/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +0 -1
- package/app/.next/server/app/api/oauth/codex/bulk-import/route.js +0 -1
- package/app/.next/server/app/api/oauth/codex/bulk-import/route.js.nft.json +0 -1
- package/app/.next/server/app/api/oauth/codex/import-token/route.js +0 -1
- package/app/.next/server/app/api/oauth/codex/import-token/route.js.nft.json +0 -1
- package/app/.next/server/app/api/oauth/cursor/auto-import/route.js +0 -4
- package/app/.next/server/app/api/oauth/cursor/auto-import/route.js.nft.json +0 -1
- package/app/.next/server/app/api/oauth/cursor/import/route.js +0 -1
- package/app/.next/server/app/api/oauth/cursor/import/route.js.nft.json +0 -1
- package/app/.next/server/app/api/oauth/gitlab/pat/route.js +0 -1
- package/app/.next/server/app/api/oauth/gitlab/pat/route.js.nft.json +0 -1
- package/app/.next/server/app/api/oauth/iflow/cookie/route.js +0 -1
- package/app/.next/server/app/api/oauth/iflow/cookie/route.js.nft.json +0 -1
- package/app/.next/server/app/api/oauth/kiro/auto-import/route.js +0 -1
- package/app/.next/server/app/api/oauth/kiro/auto-import/route.js.nft.json +0 -1
- package/app/.next/server/app/api/oauth/kiro/import/route.js +0 -1
- package/app/.next/server/app/api/oauth/kiro/import/route.js.nft.json +0 -1
- package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js +0 -1
- package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +0 -1
- package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js +0 -1
- package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +0 -1
- package/app/.next/server/app/api/pricing/route.js +0 -1
- package/app/.next/server/app/api/pricing/route.js.nft.json +0 -1
- package/app/.next/server/app/api/provider-nodes/[id]/route.js +0 -1
- package/app/.next/server/app/api/provider-nodes/[id]/route.js.nft.json +0 -1
- package/app/.next/server/app/api/provider-nodes/route.js +0 -1
- package/app/.next/server/app/api/provider-nodes/route.js.nft.json +0 -1
- package/app/.next/server/app/api/provider-nodes/validate/route.js +0 -1
- package/app/.next/server/app/api/provider-nodes/validate/route.js.nft.json +0 -1
- package/app/.next/server/app/api/providers/[id]/models/route.js +0 -1
- package/app/.next/server/app/api/providers/[id]/models/route.js.nft.json +0 -1
- package/app/.next/server/app/api/providers/[id]/route.js +0 -1
- package/app/.next/server/app/api/providers/[id]/route.js.nft.json +0 -1
- package/app/.next/server/app/api/providers/[id]/test/route.js +0 -1
- package/app/.next/server/app/api/providers/[id]/test/route.js.nft.json +0 -1
- package/app/.next/server/app/api/providers/[id]/test-models/route.js +0 -1
- package/app/.next/server/app/api/providers/[id]/test-models/route.js.nft.json +0 -1
- package/app/.next/server/app/api/providers/client/route.js +0 -1
- package/app/.next/server/app/api/providers/client/route.js.nft.json +0 -1
- package/app/.next/server/app/api/providers/kilo/free-models/route.js +0 -1
- package/app/.next/server/app/api/providers/kilo/free-models/route.js.nft.json +0 -1
- package/app/.next/server/app/api/providers/route.js +0 -1
- package/app/.next/server/app/api/providers/route.js.nft.json +0 -1
- package/app/.next/server/app/api/providers/suggested-models/route.js +0 -1
- package/app/.next/server/app/api/providers/suggested-models/route.js.nft.json +0 -1
- package/app/.next/server/app/api/providers/test-batch/route.js +0 -1
- package/app/.next/server/app/api/providers/test-batch/route.js.nft.json +0 -1
- package/app/.next/server/app/api/providers/validate/route.js +0 -1
- package/app/.next/server/app/api/providers/validate/route.js.nft.json +0 -1
- package/app/.next/server/app/api/proxy-pools/[id]/route.js +0 -1
- package/app/.next/server/app/api/proxy-pools/[id]/route.js.nft.json +0 -1
- package/app/.next/server/app/api/proxy-pools/[id]/test/route.js +0 -1
- package/app/.next/server/app/api/proxy-pools/[id]/test/route.js.nft.json +0 -1
- package/app/.next/server/app/api/proxy-pools/cloudflare-deploy/route.js +0 -43
- package/app/.next/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +0 -1
- package/app/.next/server/app/api/proxy-pools/deno-deploy/route.js +0 -40
- package/app/.next/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +0 -1
- package/app/.next/server/app/api/proxy-pools/route.js +0 -1
- package/app/.next/server/app/api/proxy-pools/route.js.nft.json +0 -1
- package/app/.next/server/app/api/proxy-pools/vercel-deploy/route.js +0 -33
- package/app/.next/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +0 -1
- package/app/.next/server/app/api/settings/database/route.js +0 -1
- package/app/.next/server/app/api/settings/database/route.js.nft.json +0 -1
- package/app/.next/server/app/api/settings/proxy-test/route.js +0 -1
- package/app/.next/server/app/api/settings/proxy-test/route.js.nft.json +0 -1
- package/app/.next/server/app/api/settings/require-login/route.js +0 -1
- package/app/.next/server/app/api/settings/require-login/route.js.nft.json +0 -1
- package/app/.next/server/app/api/settings/route.js +0 -1
- package/app/.next/server/app/api/settings/route.js.nft.json +0 -1
- package/app/.next/server/app/api/shutdown/route.js +0 -1
- package/app/.next/server/app/api/shutdown/route.js.nft.json +0 -1
- package/app/.next/server/app/api/tags/route.js +0 -1
- package/app/.next/server/app/api/tags/route.js.nft.json +0 -1
- package/app/.next/server/app/api/translator/console-logs/route.js +0 -1
- package/app/.next/server/app/api/translator/console-logs/route.js.nft.json +0 -1
- package/app/.next/server/app/api/translator/console-logs/stream/route.js +0 -7
- package/app/.next/server/app/api/translator/console-logs/stream/route.js.nft.json +0 -1
- package/app/.next/server/app/api/translator/load/route.js +0 -1
- package/app/.next/server/app/api/translator/load/route.js.nft.json +0 -1
- package/app/.next/server/app/api/translator/save/route.js +0 -1
- package/app/.next/server/app/api/translator/save/route.js.nft.json +0 -1
- package/app/.next/server/app/api/translator/send/route.js +0 -1
- package/app/.next/server/app/api/translator/send/route.js.nft.json +0 -1
- package/app/.next/server/app/api/translator/translate/route.js +0 -1
- package/app/.next/server/app/api/translator/translate/route.js.nft.json +0 -1
- package/app/.next/server/app/api/tunnel/disable/route.js +0 -1
- package/app/.next/server/app/api/tunnel/disable/route.js.nft.json +0 -1
- package/app/.next/server/app/api/tunnel/enable/route.js +0 -1
- package/app/.next/server/app/api/tunnel/enable/route.js.nft.json +0 -1
- package/app/.next/server/app/api/tunnel/status/route.js +0 -1
- package/app/.next/server/app/api/tunnel/status/route.js.nft.json +0 -1
- package/app/.next/server/app/api/tunnel/tailscale-check/route.js +0 -1
- package/app/.next/server/app/api/tunnel/tailscale-check/route.js.nft.json +0 -1
- package/app/.next/server/app/api/tunnel/tailscale-disable/route.js +0 -1
- package/app/.next/server/app/api/tunnel/tailscale-disable/route.js.nft.json +0 -1
- package/app/.next/server/app/api/tunnel/tailscale-enable/route.js +0 -1
- package/app/.next/server/app/api/tunnel/tailscale-enable/route.js.nft.json +0 -1
- package/app/.next/server/app/api/tunnel/tailscale-install/route.js +0 -5
- package/app/.next/server/app/api/tunnel/tailscale-install/route.js.nft.json +0 -1
- package/app/.next/server/app/api/usage/[connectionId]/route.js +0 -1
- package/app/.next/server/app/api/usage/[connectionId]/route.js.nft.json +0 -1
- package/app/.next/server/app/api/usage/api-keys/route.js +0 -1
- package/app/.next/server/app/api/usage/api-keys/route.js.nft.json +0 -1
- package/app/.next/server/app/api/usage/chart/route.js +0 -1
- package/app/.next/server/app/api/usage/chart/route.js.nft.json +0 -1
- package/app/.next/server/app/api/usage/history/route.js +0 -1
- package/app/.next/server/app/api/usage/history/route.js.nft.json +0 -1
- package/app/.next/server/app/api/usage/logs/route.js +0 -1
- package/app/.next/server/app/api/usage/logs/route.js.nft.json +0 -1
- package/app/.next/server/app/api/usage/providers/route.js +0 -1
- package/app/.next/server/app/api/usage/providers/route.js.nft.json +0 -1
- package/app/.next/server/app/api/usage/request-details/route.js +0 -1
- package/app/.next/server/app/api/usage/request-details/route.js.nft.json +0 -1
- package/app/.next/server/app/api/usage/request-logs/route.js +0 -1
- package/app/.next/server/app/api/usage/request-logs/route.js.nft.json +0 -1
- package/app/.next/server/app/api/usage/stats/route.js +0 -1
- package/app/.next/server/app/api/usage/stats/route.js.nft.json +0 -1
- package/app/.next/server/app/api/usage/stream/route.js +0 -7
- package/app/.next/server/app/api/usage/stream/route.js.nft.json +0 -1
- package/app/.next/server/app/api/users/[id]/route.js +0 -1
- package/app/.next/server/app/api/users/[id]/route.js.nft.json +0 -1
- package/app/.next/server/app/api/users/route.js +0 -1
- package/app/.next/server/app/api/users/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/api/chat/route.js +0 -1
- package/app/.next/server/app/api/v1/api/chat/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/audio/speech/route.js +0 -1
- package/app/.next/server/app/api/v1/audio/speech/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/audio/transcriptions/route.js +0 -1
- package/app/.next/server/app/api/v1/audio/transcriptions/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/audio/voices/route.js +0 -1
- package/app/.next/server/app/api/v1/audio/voices/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/chat/completions/route.js +0 -1
- package/app/.next/server/app/api/v1/chat/completions/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/embeddings/route.js +0 -1
- package/app/.next/server/app/api/v1/embeddings/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/images/generations/route.js +0 -4
- package/app/.next/server/app/api/v1/images/generations/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/messages/count_tokens/route.js +0 -1
- package/app/.next/server/app/api/v1/messages/count_tokens/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/messages/route.js +0 -1
- package/app/.next/server/app/api/v1/messages/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/models/[kind]/route.js +0 -1
- package/app/.next/server/app/api/v1/models/[kind]/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/models/info/route.js +0 -1
- package/app/.next/server/app/api/v1/models/info/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/models/route.js +0 -1
- package/app/.next/server/app/api/v1/models/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/responses/compact/route.js +0 -1
- package/app/.next/server/app/api/v1/responses/compact/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/responses/route.js +0 -1
- package/app/.next/server/app/api/v1/responses/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/route.js +0 -1
- package/app/.next/server/app/api/v1/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/search/route.js +0 -1
- package/app/.next/server/app/api/v1/search/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/web/fetch/route.js +0 -1
- package/app/.next/server/app/api/v1/web/fetch/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1beta/models/[...path]/route.js +0 -1
- package/app/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1beta/models/route.js +0 -1
- package/app/.next/server/app/api/v1beta/models/route.js.nft.json +0 -1
- package/app/.next/server/app/api/version/route.js +0 -1
- package/app/.next/server/app/api/version/route.js.nft.json +0 -1
- package/app/.next/server/app/api/version/shutdown/route.js +0 -1
- package/app/.next/server/app/api/version/shutdown/route.js.nft.json +0 -1
- package/app/.next/server/app/api/version/update/route.js +0 -1
- package/app/.next/server/app/api/version/update/route.js.nft.json +0 -1
- package/app/.next/server/app/callback/page.js +0 -2
- package/app/.next/server/app/callback/page.js.nft.json +0 -1
- package/app/.next/server/app/callback/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/callback.html +0 -1
- package/app/.next/server/app/callback.rsc +0 -23
- package/app/.next/server/app/callback.segments/_full.segment.rsc +0 -23
- package/app/.next/server/app/callback.segments/_head.segment.rsc +0 -6
- package/app/.next/server/app/callback.segments/_index.segment.rsc +0 -8
- package/app/.next/server/app/callback.segments/_tree.segment.rsc +0 -3
- package/app/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +0 -9
- package/app/.next/server/app/callback.segments/callback.segment.rsc +0 -5
- 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/app/dashboard/settings/pricing.html +0 -1
- package/app/.next/server/app/dashboard/settings/pricing.rsc +0 -23
- package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +0 -23
- package/app/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +0 -6
- package/app/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +0 -8
- package/app/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +0 -3
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +0 -9
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +0 -5
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +0 -5
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +0 -5
- package/app/.next/server/app/favicon.ico/route.js +0 -1
- package/app/.next/server/app/favicon.ico/route.js.nft.json +0 -1
- package/app/.next/server/app/index.html +0 -1
- package/app/.next/server/app/index.rsc +0 -18
- package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +0 -6
- package/app/.next/server/app/index.segments/_full.segment.rsc +0 -18
- package/app/.next/server/app/index.segments/_head.segment.rsc +0 -6
- package/app/.next/server/app/index.segments/_index.segment.rsc +0 -8
- package/app/.next/server/app/index.segments/_tree.segment.rsc +0 -3
- package/app/.next/server/app/landing/page.js +0 -2
- package/app/.next/server/app/landing/page.js.nft.json +0 -1
- package/app/.next/server/app/landing/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/landing.html +0 -1
- package/app/.next/server/app/landing.rsc +0 -23
- package/app/.next/server/app/landing.segments/_full.segment.rsc +0 -23
- package/app/.next/server/app/landing.segments/_head.segment.rsc +0 -6
- package/app/.next/server/app/landing.segments/_index.segment.rsc +0 -8
- package/app/.next/server/app/landing.segments/_tree.segment.rsc +0 -3
- package/app/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +0 -9
- package/app/.next/server/app/landing.segments/landing.segment.rsc +0 -5
- package/app/.next/server/app/login/page.js +0 -2
- package/app/.next/server/app/login/page.js.nft.json +0 -1
- package/app/.next/server/app/login/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/login.html +0 -1
- package/app/.next/server/app/login.rsc +0 -24
- package/app/.next/server/app/login.segments/_full.segment.rsc +0 -24
- package/app/.next/server/app/login.segments/_head.segment.rsc +0 -6
- package/app/.next/server/app/login.segments/_index.segment.rsc +0 -8
- package/app/.next/server/app/login.segments/_tree.segment.rsc +0 -4
- package/app/.next/server/app/login.segments/login/__PAGE__.segment.rsc +0 -10
- package/app/.next/server/app/login.segments/login.segment.rsc +0 -5
- package/app/.next/server/app/manifest.webmanifest/route.js +0 -16
- package/app/.next/server/app/manifest.webmanifest/route.js.nft.json +0 -1
- package/app/.next/server/app/page.js +0 -2
- package/app/.next/server/app/page.js.nft.json +0 -1
- package/app/.next/server/app/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app-paths-manifest.json +0 -165
- package/app/.next/server/chunks/1172.js +0 -1
- package/app/.next/server/chunks/1350.js +0 -2
- package/app/.next/server/chunks/1476.js +0 -1
- package/app/.next/server/chunks/1531.js +0 -1
- package/app/.next/server/chunks/1813.js +0 -1
- package/app/.next/server/chunks/2059.js +0 -1
- package/app/.next/server/chunks/2409.js +0 -1
- package/app/.next/server/chunks/2560.js +0 -1
- package/app/.next/server/chunks/2722.js +0 -53
- package/app/.next/server/chunks/2750.js +0 -31
- package/app/.next/server/chunks/3104.js +0 -43
- package/app/.next/server/chunks/319.js +0 -45
- package/app/.next/server/chunks/3205.js +0 -1
- package/app/.next/server/chunks/365.js +0 -1
- package/app/.next/server/chunks/3663.js +0 -1
- package/app/.next/server/chunks/3913.js +0 -64
- package/app/.next/server/chunks/412.js +0 -7
- package/app/.next/server/chunks/4177.js +0 -1
- package/app/.next/server/chunks/4404.js +0 -1
- package/app/.next/server/chunks/4565.js +0 -3
- package/app/.next/server/chunks/4922.js +0 -9
- package/app/.next/server/chunks/5681.js +0 -1
- package/app/.next/server/chunks/6001.js +0 -1
- package/app/.next/server/chunks/6108.js +0 -1
- package/app/.next/server/chunks/6327.js +0 -1
- package/app/.next/server/chunks/7221.js +0 -1
- package/app/.next/server/chunks/7341.js +0 -1
- package/app/.next/server/chunks/7540.js +0 -67
- package/app/.next/server/chunks/7774.js +0 -120
- package/app/.next/server/chunks/7879.js +0 -10
- package/app/.next/server/chunks/7937.js +0 -186
- package/app/.next/server/chunks/8220.js +0 -1
- package/app/.next/server/chunks/8238.js +0 -1
- package/app/.next/server/chunks/8342.js +0 -1
- package/app/.next/server/chunks/8895.js +0 -55
- package/app/.next/server/chunks/9203.js +0 -1
- package/app/.next/server/chunks/9259.js +0 -3
- package/app/.next/server/chunks/9489.js +0 -1
- package/app/.next/server/chunks/9501.js +0 -63
- package/app/.next/server/chunks/9660.js +0 -1
- package/app/.next/server/chunks/9713.js +0 -1
- package/app/.next/server/chunks/9718.js +0 -1
- package/app/.next/server/chunks/9856.js +0 -1
- package/app/.next/server/middleware-build-manifest.js +0 -1
- package/app/.next/server/middleware.js +0 -18
- package/app/.next/server/next-font-manifest.js +0 -1
- package/app/.next/server/next-font-manifest.json +0 -1
- package/app/.next/server/pages/404.html +0 -1
- package/app/.next/server/pages/500.html +0 -1
- package/app/.next/server/server-reference-manifest.js +0 -1
- package/app/.next/server/server-reference-manifest.json +0 -1
- package/app/.next/static/MxcY0EY8eMa4ouCwsP4Cl/_buildManifest.js +0 -1
- package/app/.next/static/chunks/1321-134c6f0196307f47.js +0 -1
- package/app/.next/static/chunks/4072-e3cbc885320b3535.js +0 -3
- package/app/.next/static/chunks/5497-61f5cbbdfc3da704.js +0 -7
- package/app/.next/static/chunks/6069-130fdae38088e4e7.js +0 -53
- package/app/.next/static/chunks/app/(dashboard)/dashboard/admin/keys/page-0d5b57da4abb6962.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/admin/users/page-972703d59d2a3986.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/basic-chat/page-e1bd21507327d2bc.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-ba3be29df191769b.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-a0eaec978d93b101.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/page-ca6a0263fcfc70df.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/console-log/page-57065ce85ec52703.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-c8f75b084231c080.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-e43ee64cc1f1547c.js +0 -59
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-c64dd1d0b2bd9caf.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/page-9586c0b67f30a21b.js +0 -4
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-c7fbf29bdbdabee9.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/mitm/page-b52d2279e8eff62d.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/page-8fceba7ec6407143.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-96d7ec789592a2ec.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-a2ec9b595a5c5600.js +0 -10
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/new/page-0bf3048423ab0128.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-979e3e3663264d2b.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-77e1358581cbeecd.js +0 -4
- package/app/.next/static/chunks/app/(dashboard)/dashboard/quota/page-51f915ba68f44424.js +0 -2
- package/app/.next/static/chunks/app/(dashboard)/dashboard/skills/page-9202b5ce0650c3ab.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/translator/page-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-18d6399108c458a6.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/user/page-12765c664b3c1f6d.js +0 -4
- package/app/.next/static/chunks/app/(dashboard)/layout-2b26025389c75878.js +0 -1
- package/app/.next/static/chunks/app/_global-error/page-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/auth/login/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/auth/logout/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/auth/me/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/auth/oidc/callback/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/auth/oidc/start/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/auth/oidc/test/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/auth/reset-password/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/auth/status/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/all-statuses/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/codex-settings/activate-account/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/copilot-settings/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/cowork-settings/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/hermes-settings/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/jcode-settings/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/opencode-settings/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/combos/[id]/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/combos/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/health/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/init/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/keys/[id]/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/keys/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/locale/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/mcp/[plugin]/message/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/mcp/[plugin]/sse/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/media-providers/tts/minimax/voices/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/media-providers/tts/voices/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/models/alias/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/models/availability/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/models/custom/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/models/disabled/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/models/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/models/test/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/codex/bulk-import/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/codex/import-token/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/cursor/import/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/gitlab/pat/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/iflow/cookie/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/import/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/pricing/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/provider-nodes/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/provider-nodes/validate/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/models/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/test/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/test-models/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/providers/client/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/providers/kilo/free-models/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/providers/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/providers/suggested-models/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/providers/test-batch/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/providers/validate/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/proxy-pools/[id]/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/proxy-pools/[id]/test/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/proxy-pools/deno-deploy/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/proxy-pools/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/proxy-pools/vercel-deploy/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/settings/database/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/settings/proxy-test/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/settings/require-login/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/settings/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/shutdown/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/tags/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/translator/console-logs/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/translator/console-logs/stream/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/translator/load/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/translator/save/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/translator/send/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/translator/translate/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/disable/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/enable/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/status/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/tailscale-check/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/tailscale-disable/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/tailscale-enable/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/tailscale-install/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/usage/[connectionId]/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/usage/api-keys/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/usage/chart/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/usage/history/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/usage/logs/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/usage/providers/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/usage/request-details/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/usage/request-logs/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/usage/stats/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/usage/stream/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/users/[id]/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/users/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/v1/api/chat/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/v1/audio/speech/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/v1/audio/voices/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/v1/chat/completions/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/v1/embeddings/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/v1/images/generations/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/v1/messages/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/v1/models/[kind]/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/v1/models/info/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/v1/models/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/v1/responses/compact/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/v1/responses/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/v1/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/v1/search/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/v1/web/fetch/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/v1beta/models/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/version/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/version/shutdown/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/api/version/update/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/dashboard/settings/pricing/page-9d24273d41fadd28.js +0 -1
- package/app/.next/static/chunks/app/layout-2f20e93bb64f203d.js +0 -1
- package/app/.next/static/chunks/app/login/page-3192fc777d7b8d4d.js +0 -1
- package/app/.next/static/chunks/app/manifest.webmanifest/route-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/app/page-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-8d41d89fe12ae485.js +0 -1
- package/app/.next/static/chunks/webpack-b9b0d264958323b9.js +0 -1
- package/app/.next/static/css/f240ded5456043a2.css +0 -1
- package/app/.next/static/css/fe3b2b4e527f4e99.css +0 -1
- package/app/node_modules/@img/colour/color.cjs +0 -1596
- package/app/node_modules/@img/colour/index.cjs +0 -1
- package/app/node_modules/@img/colour/package.json +0 -58
- package/app/node_modules/@img/sharp-darwin-arm64/LICENSE +0 -191
- package/app/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
- package/app/node_modules/@img/sharp-darwin-arm64/package.json +0 -40
- package/app/node_modules/@img/sharp-libvips-darwin-arm64/lib/index.js +0 -1
- package/app/node_modules/@img/sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib +0 -0
- package/app/node_modules/@img/sharp-libvips-darwin-arm64/package.json +0 -36
- package/app/node_modules/@img/sharp-libvips-darwin-arm64/versions.json +0 -30
- package/app/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
- package/app/node_modules/better-sqlite3/lib/database.js +0 -90
- package/app/node_modules/better-sqlite3/lib/index.js +0 -3
- package/app/node_modules/better-sqlite3/lib/methods/aggregate.js +0 -43
- package/app/node_modules/better-sqlite3/lib/methods/backup.js +0 -67
- package/app/node_modules/better-sqlite3/lib/methods/function.js +0 -31
- package/app/node_modules/better-sqlite3/lib/methods/inspect.js +0 -7
- package/app/node_modules/better-sqlite3/lib/methods/pragma.js +0 -12
- package/app/node_modules/better-sqlite3/lib/methods/serialize.js +0 -16
- package/app/node_modules/better-sqlite3/lib/methods/table.js +0 -189
- package/app/node_modules/better-sqlite3/lib/methods/transaction.js +0 -78
- package/app/node_modules/better-sqlite3/lib/methods/wrappers.js +0 -54
- package/app/node_modules/better-sqlite3/lib/sqlite-error.js +0 -20
- package/app/node_modules/better-sqlite3/lib/util.js +0 -12
- package/app/node_modules/better-sqlite3/package.json +0 -59
- package/app/node_modules/detect-libc/lib/detect-libc.js +0 -313
- package/app/node_modules/detect-libc/lib/elf.js +0 -39
- package/app/node_modules/detect-libc/lib/filesystem.js +0 -51
- package/app/node_modules/detect-libc/lib/process.js +0 -24
- package/app/node_modules/detect-libc/package.json +0 -44
- package/app/node_modules/sharp/lib/channel.js +0 -177
- package/app/node_modules/sharp/lib/colour.js +0 -195
- package/app/node_modules/sharp/lib/composite.js +0 -212
- package/app/node_modules/sharp/lib/constructor.js +0 -499
- package/app/node_modules/sharp/lib/index.js +0 -16
- package/app/node_modules/sharp/lib/input.js +0 -809
- package/app/node_modules/sharp/lib/is.js +0 -143
- package/app/node_modules/sharp/lib/libvips.js +0 -207
- package/app/node_modules/sharp/lib/operation.js +0 -1016
- package/app/node_modules/sharp/lib/output.js +0 -1666
- package/app/node_modules/sharp/lib/resize.js +0 -595
- package/app/node_modules/sharp/lib/sharp.js +0 -121
- package/app/node_modules/sharp/lib/utility.js +0 -291
- package/app/node_modules/sharp/node_modules/semver/classes/comparator.js +0 -143
- package/app/node_modules/sharp/node_modules/semver/classes/range.js +0 -557
- package/app/node_modules/sharp/node_modules/semver/classes/semver.js +0 -333
- package/app/node_modules/sharp/node_modules/semver/functions/cmp.js +0 -54
- package/app/node_modules/sharp/node_modules/semver/functions/coerce.js +0 -62
- package/app/node_modules/sharp/node_modules/semver/functions/compare.js +0 -7
- package/app/node_modules/sharp/node_modules/semver/functions/eq.js +0 -5
- package/app/node_modules/sharp/node_modules/semver/functions/gt.js +0 -5
- package/app/node_modules/sharp/node_modules/semver/functions/gte.js +0 -5
- package/app/node_modules/sharp/node_modules/semver/functions/lt.js +0 -5
- package/app/node_modules/sharp/node_modules/semver/functions/lte.js +0 -5
- package/app/node_modules/sharp/node_modules/semver/functions/neq.js +0 -5
- package/app/node_modules/sharp/node_modules/semver/functions/parse.js +0 -18
- package/app/node_modules/sharp/node_modules/semver/functions/satisfies.js +0 -12
- package/app/node_modules/sharp/node_modules/semver/internal/constants.js +0 -37
- package/app/node_modules/sharp/node_modules/semver/internal/debug.js +0 -11
- package/app/node_modules/sharp/node_modules/semver/internal/identifiers.js +0 -29
- package/app/node_modules/sharp/node_modules/semver/internal/lrucache.js +0 -42
- package/app/node_modules/sharp/node_modules/semver/internal/parse-options.js +0 -17
- package/app/node_modules/sharp/node_modules/semver/internal/re.js +0 -223
- package/app/node_modules/sharp/node_modules/semver/package.json +0 -78
- package/app/node_modules/sharp/package.json +0 -202
- package/app/src/mitm/antigravityIdeVersion.js +0 -50
- package/app/src/mitm/cert/generate.js +0 -32
- package/app/src/mitm/cert/install.js +0 -269
- package/app/src/mitm/cert/rootCA.js +0 -173
- package/app/src/mitm/config.js +0 -89
- package/app/src/mitm/dbReader.js +0 -22
- package/app/src/mitm/dns/dnsConfig.js +0 -266
- package/app/src/mitm/handlers/antigravity.js +0 -33
- package/app/src/mitm/handlers/base.js +0 -226
- package/app/src/mitm/handlers/copilot.js +0 -35
- package/app/src/mitm/handlers/cursor.js +0 -15
- package/app/src/mitm/handlers/kiro.js +0 -526
- package/app/src/mitm/logger.js +0 -106
- package/app/src/mitm/manager.js +0 -851
- package/app/src/mitm/paths.js +0 -32
- package/app/src/mitm/winElevated.js +0 -81
- package/app/src/shared/constants/mitmToolHosts.js +0 -12
- /package/app/{.next → .next-cli-build}/package.json +0 -0
- /package/app/{.next → .next-cli-build}/react-loadable-manifest.json +0 -0
- /package/app/{.next → .next-cli-build}/server/app/_global-error.meta +0 -0
- /package/app/{.next → .next-cli-build}/server/app/_not-found.meta +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/auth/login/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/auth/logout/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/auth/me/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/auth/oidc/callback/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/auth/oidc/start/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/auth/oidc/test/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/auth/reset-password/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/auth/status/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/all-statuses/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/codex-settings/activate-account/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/copilot-settings/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/cowork-mcp-registry/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/cowork-mcp-tools/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/cowork-settings/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/deepseek-tui-settings/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/hermes-settings/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/jcode-settings/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/opencode-settings/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/combos/[id]/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/combos/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/health/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/init/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/keys/[id]/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/keys/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/locale/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/mcp/[plugin]/message/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/mcp/[plugin]/sse/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/media-providers/tts/deepgram/voices/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/media-providers/tts/elevenlabs/voices/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/media-providers/tts/inworld/voices/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/media-providers/tts/minimax/voices/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/media-providers/tts/voices/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/models/alias/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/models/availability/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/models/custom/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/models/disabled/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/models/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/models/test/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/oauth/codex/bulk-import/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/oauth/codex/import-token/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/oauth/gitlab/pat/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/oauth/iflow/cookie/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/pricing/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/provider-nodes/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/providers/[id]/models/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/providers/[id]/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/providers/[id]/test/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/providers/[id]/test-models/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/providers/client/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/providers/kilo/free-models/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/providers/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/providers/suggested-models/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/providers/test-batch/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/providers/validate/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/proxy-pools/[id]/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/proxy-pools/[id]/test/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/proxy-pools/cloudflare-deploy/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/proxy-pools/deno-deploy/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/proxy-pools/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/proxy-pools/vercel-deploy/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/settings/database/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/settings/proxy-test/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/settings/require-login/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/settings/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/shutdown/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/tags/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/translator/console-logs/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/translator/console-logs/stream/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/translator/load/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/translator/save/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/translator/send/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/translator/translate/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/tunnel/disable/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/tunnel/enable/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/tunnel/status/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/tunnel/tailscale-check/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/tunnel/tailscale-disable/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/tunnel/tailscale-enable/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/tunnel/tailscale-install/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/usage/api-keys/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/usage/chart/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/usage/history/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/usage/logs/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/usage/providers/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/usage/request-details/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/usage/request-logs/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/usage/stats/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/usage/stream/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/users/[id]/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/users/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/api/chat/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/audio/speech/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/audio/voices/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/chat/completions/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/embeddings/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/images/generations/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/messages/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/models/[kind]/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/models/info/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/models/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/responses/compact/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/responses/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/search/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/web/fetch/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1beta/models/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/version/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/version/shutdown/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/version/update/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/callback.meta +0 -0
- /package/app/{.next → .next-cli-build}/server/app/dashboard/settings/pricing.meta +0 -0
- /package/app/{.next → .next-cli-build}/server/app/favicon.ico.body +0 -0
- /package/app/{.next → .next-cli-build}/server/app/favicon.ico.meta +0 -0
- /package/app/{.next → .next-cli-build}/server/app/index.meta +0 -0
- /package/app/{.next → .next-cli-build}/server/app/landing.meta +0 -0
- /package/app/{.next → .next-cli-build}/server/app/login.meta +0 -0
- /package/app/{.next → .next-cli-build}/server/app/manifest.webmanifest/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/manifest.webmanifest.body +0 -0
- /package/app/{.next → .next-cli-build}/server/app/manifest.webmanifest.meta +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/1679.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/1998.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/241.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/3593.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/4013.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/4739.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/4741.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/4989.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/5217.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/5258.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/5573.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/6457.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/6844.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/6936.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/7502.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/8473.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/8520.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/8971.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/9460.js +0 -0
- /package/app/{.next → .next-cli-build}/server/functions-config-manifest.json +0 -0
- /package/app/{.next → .next-cli-build}/server/middleware-manifest.json +0 -0
- /package/app/{.next → .next-cli-build}/server/middleware-react-loadable-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/pages-manifest.json +0 -0
- /package/app/{.next → .next-cli-build}/server/prefetch-hints.json +0 -0
- /package/app/{.next → .next-cli-build}/server/webpack-runtime.js +0 -0
- /package/app/{.next/static/MxcY0EY8eMa4ouCwsP4Cl → .next-cli-build/static/DLZR81Hq9OqOrl2Xc2iHn}/_ssgManifest.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/1051-a02f07646d97d6ca.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/1a258343-5938f676ed376386.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/3794-ba2500baa4c52d55.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/4bd1b696-e356ca5ba0218e27.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/5242-bb1a1a7ec3bfb62f.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/5772-901f1092d831ec37.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/7055-e60e20f43bfbe5f8.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/app/_not-found/page-7927650ca4037264.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/app/callback/page-97a750f0d51c3dbe.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/app/landing/page-bf42a9c80c1e6776.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/framework-711ef29bc66f648c.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/main-app-d5f2701c08554961.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/main-b8d198db3858ff3e.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/next/dist/client/components/builtin/global-error-8d51a00b6c966622.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/polyfills-42372ed130431b0a.js +0 -0
- /package/app/{.next → .next-cli-build}/static/css/599369d853c61df7.css +0 -0
- /package/app/{.next → .next-cli-build}/static/media/material-symbols-outlined.1060ac06.woff2 +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=4632,exports.ids=[4632],exports.modules={43659:(a,b,c)=>{c.d(b,{A1:()=>g,lR:()=>i,wO:()=>h,yj:()=>e,zL:()=>f});var d=c(3662);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="";try{c=await a.text()}catch{c=""}if(b&&"function"==typeof b.parseError)try{let e=b.parseError(a,c);if(e&&"object"==typeof e){let b=e.message||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:e.status||a.status,message:b,resetsAtMs:e.resetsAtMs}}}catch{}let e="";try{let a=JSON.parse(c);e=a.error?.message||a.message||a.error||c}catch{e=c}let g=("string"==typeof e?e:JSON.stringify(e))||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:a.status,message:g}}function g(a,b,c){return{success:!1,status:a,error:b,resetsAtMs:c,response:e(a,b)}}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",g=a.cause?.code,h=a.cause?.message,i=g||h?` (cause: ${[g,h].filter(Boolean).join(": ")})`:"";return`[${e}]: ${f}${i}`}},64632:(a,b,c)=>{c.d(b,{Op:()=>S,Nq:()=>E,PE:()=>U});var d=c(4573),e=c(43659),f=c(41004);let g="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36";async function h(a,b="mp3"){let c=await a.arrayBuffer();if(c.byteLength<100)throw Error("Upstream returned empty audio");let e=a.headers.get("content-type")||"",f=b;return e.includes("wav")?f="wav":e.includes("mpeg")||e.includes("mp3")?f="mp3":e.includes("ogg")&&(f="ogg"),{base64:d.Buffer.from(c).toString("base64"),format:f}}async function i(a){let b=await a.text().catch(()=>""),c=`Upstream error (${a.status})`;try{let a=JSON.parse(b);c=a?.error?.message||a?.message||a?.detail?.message||("string"==typeof a?.detail?a.detail:null)||b||c}catch{c=b||c}throw Error(c)}let j={token:null,tokenTime:0},k=0;async function l(){let a=Date.now();if(j.token&&a-j.tokenTime<66e4)return j.token;let b=await fetch("https://translate.google.com/",{headers:{"User-Agent":g}});if(!b.ok)throw Error(`Google translate fetch failed: ${b.status}`);let c=await b.text(),d=c.match(/"FdrFJe":"(.*?)"/)?.[1],e=c.match(/"cfb2h":"(.*?)"/)?.[1];if(!d||!e)throw Error("Failed to parse Google token");return j.token={"f.sid":d,bl:e},j.tokenTime=a,j.token}let m={token:null,tokenTime:0},n=null,o=0;async function p(){let a=Date.now();if(m.token&&a-m.tokenTime<3e5)return m.token;let b=await fetch("https://www.bing.com/translator",{headers:{"User-Agent":g,"Accept-Language":"vi,en-US;q=0.9,en;q=0.8"}});if(!b.ok)throw Error(`Bing translator fetch failed: ${b.status}`);let c=(b.headers.getSetCookie?.()||[]).map(a=>a.split(";")[0]).join("; "),d=(await b.text()).match(/params_AbusePreventionHelper\s*=\s*\[([^,]+),([^,]+),/);if(!d)throw Error("Failed to parse Bing token");return m.token={key:d[1],token:d[2].replace(/"/g,""),cookie:c},m.tokenTime=a,m.token}async function q(a,b,c){let d=b.split("-").slice(0,2).join("-"),e=b.toLowerCase().includes("male")?"Male":"Female",f=`<speak version='1.0' xml:lang='${d}'><voice xml:lang='${d}' xml:gender='${e}' name='${b}'><prosody rate='0.00%'>${a}</prosody></voice></speak>`,h=new URLSearchParams;return h.append("ssml",f),h.append("token",c.token),h.append("key",c.key),fetch("https://www.bing.com/tfettts?isVertical=1&&IG=1&IID=translator.5023&SFX=1",{method:"POST",body:h.toString(),headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"*/*",Origin:"https://www.bing.com",Referer:"https://www.bing.com/translator","User-Agent":g,...c.cookie?{Cookie:c.cookie}:{}}})}async function r(){let a=Date.now();if(n&&a-o<864e5)return n;let b=await fetch("https://speech.platform.bing.com/consumer/speech/synthesize/readaloud/voices/list?trustedclienttoken=6A5AA1D4EAFF4E9FB37E23D68491D6F4",{headers:{"User-Agent":g}});if(!b.ok)throw Error(`Edge TTS voices fetch failed: ${b.status}`);let c=await b.json();return n=c,o=a,c}var s=c(31421),t=c(57975),u=c(51455),v=c(48161),w=c(76760);let x=(0,t.promisify)(s.execFile),y=null;async function z(){let{stdout:a}=await x("say",["-v","?"]),b=[];for(let c of a.split("\n")){let a=c.match(/^([^\s].*?)\s{2,}([a-z]{2}_[A-Z]{2})/);if(!a)continue;let d=a[1].trim(),e=a[2].trim(),f=e.split("_")[0],g=e.split("_")[1];b.push({id:d,name:d,locale:e,lang:f,country:g,gender:""})}return b}async function A(){let{stdout:a}=await x("powershell.exe",["-NoProfile","-NonInteractive","-WindowStyle","Hidden","-Command","Add-Type -AssemblyName System.Speech; $s = New-Object System.Speech.Synthesis.SpeechSynthesizer; $s.GetInstalledVoices() | ForEach-Object { $v = $_.VoiceInfo; [PSCustomObject]@{ Name=$v.Name; Culture=$v.Culture.Name; Gender=$v.Gender } } | ConvertTo-Json -Compress"],{windowsHide:!0}),b=JSON.parse(a.trim()||"[]");return(Array.isArray(b)?b:[b]).map(a=>{let b=a.Culture||"en-US",[c,d=""]=b.split("-");return{id:a.Name,name:a.Name,locale:b.replace("-","_"),lang:c,country:d,gender:({1:"Male",2:"Female",Male:"Male",Female:"Female"})[a.Gender]||""}})}async function B(){if(y)return y;try{let a="win32"===process.platform?await A():await z();return y=a,a}catch{return[]}}async function C(a,b){let c=await (0,u.mkdtemp)((0,w.join)((0,v.tmpdir)(),"tts-")),d=(0,w.join)(c,"out.aiff"),e=(0,w.join)(c,"out.mp3");try{let c=b?["-v",b,"-o",d,a]:["-o",d,a];return await x("say",c),await x("ffmpeg",["-y","-i",d,"-codec:a","libmp3lame","-qscale:a","4",e]),(await (0,u.readFile)(e)).toString("base64")}finally{await (0,u.rm)(c,{recursive:!0,force:!0})}}let D=new Map;async function E(a){if(!a)throw Error("ElevenLabs API key required");let b=Date.now(),c=D.get(a);if(c&&b-c.time<864e5)return c.voices;let d=await fetch("https://api.elevenlabs.io/v1/voices",{headers:{"xi-api-key":a,"Content-Type":"application/json"}});if(!d.ok)throw Error(`ElevenLabs voices fetch failed: ${d.status}`);let e=((await d.json()).voices||[]).map(a=>({...a,lang:a.labels?.language||"en"}));return D.set(a,{voices:e,time:b}),e}var F=c(26070);let G=F.B$.openai?.ttsConfig?.defaultModel,H=F.B$.openrouter?.ttsConfig||{},I=F.B$.gemini?.ttsConfig||{},J=I.baseUrl,K=(I.models||[]).map(a=>a.id),L=K[0],M="Kore",N=[{id:"Zephyr",lang:"en",gender:"Female"},{id:"Puck",lang:"en",gender:"Male"},{id:"Charon",lang:"en",gender:"Male"},{id:"Kore",lang:"en",gender:"Female"},{id:"Fenrir",lang:"en",gender:"Male"},{id:"Leda",lang:"en",gender:"Female"},{id:"Orus",lang:"en",gender:"Male"},{id:"Aoede",lang:"en",gender:"Female"},{id:"Callirrhoe",lang:"en",gender:"Female"},{id:"Autonoe",lang:"en",gender:"Female"},{id:"Enceladus",lang:"en",gender:"Male"},{id:"Iapetus",lang:"en",gender:"Male"},{id:"Umbriel",lang:"en",gender:"Male"},{id:"Algieba",lang:"en",gender:"Male"},{id:"Despina",lang:"en",gender:"Female"},{id:"Erinome",lang:"en",gender:"Female"},{id:"Algenib",lang:"en",gender:"Male"},{id:"Rasalgethi",lang:"en",gender:"Male"},{id:"Laomedeia",lang:"en",gender:"Female"},{id:"Achernar",lang:"en",gender:"Female"},{id:"Alnilam",lang:"en",gender:"Male"},{id:"Schedar",lang:"en",gender:"Male"},{id:"Gacrux",lang:"en",gender:"Female"},{id:"Pulcherrima",lang:"en",gender:"Female"},{id:"Achird",lang:"en",gender:"Male"},{id:"Zubenelgenubi",lang:"en",gender:"Male"},{id:"Vindemiatrix",lang:"en",gender:"Female"},{id:"Sadachbia",lang:"en",gender:"Male"},{id:"Sadaltager",lang:"en",gender:"Male"},{id:"Sulafat",lang:"en",gender:"Female"}];async function O(){return N.map(a=>({voice_id:a.id,name:a.id,labels:{language:a.lang,gender:a.gender}}))}let P={hyperbolic:async function({baseUrl:a,apiKey:b,text:c}){let d=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${b}`},body:JSON.stringify({text:c})});return d.ok||await i(d),{base64:(await d.json()).audio,format:"mp3"}},deepgram:async function({baseUrl:a,apiKey:b,text:c,modelId:d}){let e=new URL(a);e.searchParams.set("model",d||"aura-asteria-en");let f=await fetch(e.toString(),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Token ${b}`},body:JSON.stringify({text:c})});return f.ok||await i(f),h(f,"mp3")},"nvidia-tts":async function({baseUrl:a,apiKey:b,text:c,modelId:d,voiceId:e}){let f=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${b}`},body:JSON.stringify({input:{text:c},voice:e||"default",model:d})});return f.ok||await i(f),h(f,"wav")},"huggingface-tts":async function({baseUrl:a,apiKey:b,text:c,modelId:d}){if(!d||d.includes(".."))throw Error("Invalid HuggingFace model ID");let e=await fetch(`${a}/${d}`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${b}`},body:JSON.stringify({inputs:c})});return e.ok||await i(e),h(e,"wav")},inworld:async function({baseUrl:a,apiKey:b,text:c,modelId:d,voiceId:e}){let f=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Basic ${b}`},body:JSON.stringify({text:c,voiceId:e||"Alex",modelId:d||"inworld-tts-1.5-mini",audioConfig:{audioEncoding:"MP3"}})});f.ok||await i(f);let g=await f.json();if(!g.audioContent)throw Error("Inworld TTS returned no audio");return{base64:g.audioContent,format:"mp3"}},cartesia:async function({baseUrl:a,apiKey:b,text:c,modelId:d,voiceId:e}){let f=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json","X-API-Key":b,"Cartesia-Version":"2024-06-10"},body:JSON.stringify({model_id:d||"sonic-2",transcript:c,...e?{voice:{mode:"id",id:e}}:{},output_format:{container:"mp3",bit_rate:128e3,sample_rate:44100}})});return f.ok||await i(f),h(f,"mp3")},playht:async function({baseUrl:a,apiKey:b,text:c,modelId:d,voiceId:e}){let[f,g]=(b||":").split(":"),j=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Accept:"audio/mpeg","X-USER-ID":f||"",Authorization:`Bearer ${g||b}`},body:JSON.stringify({text:c,voice:e||"s3://voice-cloning-zero-shot/d9ff78ba-d016-47f6-b0ef-dd630f59414e/female-cs/manifest.json",voice_engine:d||"PlayDialog",output_format:"mp3",speed:1})});return j.ok||await i(j),h(j,"mp3")},coqui:async function({baseUrl:a,text:b,voiceId:c}){let d=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:b,...c?{speaker_id:c}:{}})});return d.ok||await i(d),h(d,"wav")},tortoise:async function({baseUrl:a,text:b,voiceId:c}){let d=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:b,voice:c||"random"})});return d.ok||await i(d),h(d,"wav")},openai:async function({baseUrl:a,apiKey:b,text:c,modelId:d,voiceId:e}){let f={"Content-Type":"application/json"};b&&(f.Authorization=`Bearer ${b}`);let g=await fetch(a,{method:"POST",headers:f,body:JSON.stringify({model:d,input:c,voice:e||"alloy",response_format:"mp3",speed:1})});return g.ok||await i(g),h(g,"mp3")},"minimax-tts":async function({baseUrl:a,apiKey:b,text:c,modelId:e,voiceId:f}){let g=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${b}`},body:JSON.stringify({model:e||"speech-2.8-hd",text:c,stream:!1,language_boost:"auto",output_format:"hex",voice_setting:{voice_id:f||"English_expressive_narrator",speed:1,vol:1,pitch:0},audio_setting:{sample_rate:32e3,bitrate:128e3,format:"mp3",channel:1}})}),h=await g.text(),i={};if(h)try{i=JSON.parse(h)}catch{i={}}let j=i.base_resp||i.baseResp||{},k=Number(j.status_code??j.statusCode??0),l=j.status_msg||j.statusMsg||i.message||"";if(!g.ok)throw Error(l||h||`MiniMax TTS error (${g.status})`);if(0!==k)throw Error(l||"MiniMax TTS upstream error");return{base64:function(a){let b="string"==typeof a?a.trim():"";if(!b)throw Error("MiniMax TTS returned no audio");if(b.length%2!=0||!/^[0-9a-f]+$/i.test(b))throw Error("MiniMax TTS returned invalid audio");return d.Buffer.from(b,"hex").toString("base64")}(i.data?.audio),format:i.extra_info?.audio_format||i.extraInfo?.audioFormat||"mp3"}}},Q={"google-tts":{noAuth:!0,async synthesize(a,b){let c=b||"en",d=await l(),e=a.replace(/[@^*()\\/\-_+=><"'\u201c\u201d\u3010\u3011]/g," ").replaceAll(", ",". "),f="jQ1olc",g=1e5*++k+Math.floor(1e3+9e3*Math.random()),h=new URLSearchParams({rpcids:f,"f.sid":d["f.sid"],bl:d.bl,hl:c,"soc-app":1,"soc-platform":1,"soc-device":1,_reqid:g,rt:"c"}),i=[e,c,null,"undefined",[0]],j=new URLSearchParams;j.append("f.req",JSON.stringify([[[f,JSON.stringify(i),null,"generic"]]]));let m=await fetch(`https://translate.google.com/_/TranslateWebserverUi/data/batchexecute?${h}`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Referer:"https://translate.google.com/"},body:j.toString()});if(!m.ok)throw Error(`Google TTS failed: ${m.status}`);let n=JSON.parse(JSON.parse((await m.text()).split("\n")[3])[0][2])[0];if(!n||n.length<100)throw Error("Google TTS returned empty audio");return{base64:n,format:"mp3"}}},"edge-tts":{noAuth:!0,async synthesize(a,b){let c=b||"vi-VN-HoaiMyNeural",e=await p(),f=await q(a,c,e);if((429===f.status||403===f.status)&&(m.token=null,m.tokenTime=0,e=await p(),f=await q(a,c,e)),!f.ok){let a=await f.text().catch(()=>"");throw Error(`Bing TTS failed: ${f.status}${a?" - "+a:""}`)}let g=await f.arrayBuffer();if(g.byteLength<1024)throw Error("Bing TTS returned empty audio");return{base64:d.Buffer.from(g).toString("base64"),format:"mp3"}}},"local-device":{noAuth:!0,synthesize:async(a,b)=>({base64:await C(a,b),format:"mp3"})},elevenlabs:{async synthesize(a,b,c){if(!c?.apiKey)throw Error("ElevenLabs API key required");let e="eleven_flash_v2_5",f=b;b&&b.includes("/")&&([e,f]=b.split("/"));let g=await fetch(`https://api.elevenlabs.io/v1/text-to-speech/${f}`,{method:"POST",headers:{"xi-api-key":c.apiKey,"Content-Type":"application/json"},body:JSON.stringify({text:a,model_id:e,voice_settings:{stability:.5,similarity_boost:.75}})});if(!g.ok){let a=await g.json().catch(()=>({}));throw Error(a?.detail?.message||`ElevenLabs TTS failed: ${g.status}`)}let h=await g.arrayBuffer();if(h.byteLength<1024)throw Error("ElevenLabs TTS returned empty audio");return{base64:d.Buffer.from(h).toString("base64"),format:"mp3"}}},openai:{async synthesize(a,b,c){if(!c?.apiKey)throw Error("No OpenAI API key configured");let e=G,f="alloy";if(b&&b.includes("/")){let a=b.split("/");2===a.length&&([e,f]=a)}else b&&(f=b);let g=(c.baseUrl||"https://api.openai.com").replace(/\/+$/,""),h=await fetch(`${g}/v1/audio/speech`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${c.apiKey}`},body:JSON.stringify({model:e,voice:f,input:a})});if(!h.ok){let a=await h.json().catch(()=>({}));throw Error(a?.error?.message||`OpenAI TTS failed: ${h.status}`)}let i=await h.arrayBuffer();return{base64:d.Buffer.from(i).toString("base64"),format:"mp3"}}},openrouter:{async synthesize(a,b,c){if(!c?.apiKey)throw Error("No OpenRouter API key configured");let d=H.defaultModel,e="alloy";if(b&&b.includes("/")){let a=b.lastIndexOf("/"),c=b.slice(a+1),f=b.slice(0,a);f.includes("/")?(d=f,e=c):e=b}else b&&(e=b);let f=await fetch(H.baseUrl,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${c.apiKey}`,...H.headers||{}},body:JSON.stringify({model:d,modalities:["text","audio"],audio:{voice:e,format:"wav"},stream:!0,messages:[{role:"user",content:a}]})});if(!f.ok){let a=await f.json().catch(()=>({}));throw Error(a?.error?.message||`OpenRouter TTS failed: ${f.status}`)}let g=[],h=f.body.getReader(),i=new TextDecoder,j="";for(;;){let{done:a,value:b}=await h.read();if(a)break;let c=(j+=i.decode(b,{stream:!0})).split("\n");for(let a of(j=c.pop(),c))if(a.startsWith("data: ")&&"data: [DONE]"!==a)try{let b=JSON.parse(a.slice(6)),c=b.choices?.[0]?.delta?.audio?.data;c&&g.push(c)}catch{}}if(0===g.length)throw Error("OpenRouter TTS returned no audio data");return{base64:g.join(""),format:"wav"}}},gemini:{async synthesize(a,b,c,e,f={}){var g,h;let i,j;if(!c?.apiKey)throw Error("No Gemini API key configured");let{modelId:k,voiceId:l}=function(a){if(!a)return{modelId:L,voiceId:M};for(let b of K){if(a===b)return{modelId:b,voiceId:M};if(a.startsWith(`${b}/`))return{modelId:b,voiceId:a.slice(b.length+1)}}return{modelId:L,voiceId:a}}(b),m=`${J}/${k}:generateContent?key=${c.apiKey}`,n=await fetch(m,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contents:[{parts:[{text:(g=f.language,/:\s/.test(a)?a:g?`Say in ${g}: ${a}`:`Say: ${a}`)}]}],generationConfig:{responseModalities:["AUDIO"],speechConfig:{voiceConfig:{prebuiltVoiceConfig:{voiceName:l}}}}})});if(!n.ok){let a=await n.json().catch(()=>({}));throw Error(a?.error?.message||`Gemini TTS failed: ${n.status}`)}let o=await n.json(),p=o?.candidates?.[0]?.content?.parts?.find(a=>a.inlineData?.data)?.inlineData?.data;if(!p){let a=o?.candidates?.[0]?.finishReason||o?.promptFeedback?.blockReason||"unknown";throw Error(`Gemini TTS returned no audio (finishReason: ${a}, voice: ${l}, model: ${k})`)}return{base64:(i=(h=d.Buffer.from(p,"base64")).length,(j=d.Buffer.alloc(44)).write("RIFF",0),j.writeUInt32LE(36+i,4),j.write("WAVE",8),j.write("fmt ",12),j.writeUInt32LE(16,16),j.writeUInt16LE(1,20),j.writeUInt16LE(1,22),j.writeUInt32LE(24e3,24),j.writeUInt32LE(48e3,28),j.writeUInt16LE(2,32),j.writeUInt16LE(16,34),j.write("data",36),j.writeUInt32LE(i,40),d.Buffer.concat([j,h])).toString("base64"),format:"wav"}}}};async function R(a,b,d,e){let{AI_PROVIDERS:f}=await c.e(615).then(c.bind(c,40615)),g=f[a]?.ttsConfig;if(!g)return null;let h=P[g.format];if(!h)return null;let i=e?.apiKey;if("none"!==g.authType&&!i)throw Error(`${a} API key required`);let{PROVIDER_MODELS:j}=await c.e(5699).then(c.bind(c,45699)),k=(j[a]||[]).filter(a=>"tts"===(a.kind||a.type)),{modelId:l,voiceId:m}=function(a,b="",c="",d=[]){if(!a)return{modelId:b,voiceId:c};for(let b of d.map(a=>a.id||a).filter(Boolean).sort((a,b)=>b.length-a.length)){if(a===b)return{modelId:b,voiceId:c};if(a.startsWith(`${b}/`))return{modelId:b,voiceId:a.slice(b.length+1)}}let e=a.lastIndexOf("/");return e>0?{modelId:a.slice(0,e),voiceId:a.slice(e+1)}:{modelId:b||a,voiceId:c||a}}(d,k[0]?.id||"","",k);return h({baseUrl:g.baseUrl,apiKey:i,text:b,modelId:l,voiceId:m})}let S={"edge-tts":r,"local-device":B,elevenlabs:E,gemini:O};function T(a,b,c){let e=d.Buffer.from(a,"base64");return"json"===c?{success:!0,response:new Response(JSON.stringify({audio:a,format:b}),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}:{success:!0,response:new Response(e,{headers:{"Content-Type":`audio/${b}`,"Content-Length":String(e.length),"Access-Control-Allow-Origin":"*"}})}}async function U({provider:a,model:b,input:c,credentials:d,responseFormat:g="mp3",language:h}){if(!c?.trim())return(0,e.A1)(f.gx.BAD_REQUEST,"Missing required field: input");try{let i=Q[a]||null;if(i){let a=await i.synthesize(c.trim(),b,d,g,{language:h});if(void 0!==a.success)return a;return T(a.base64,a.format,g)}let j=await R(a,c.trim(),b,d);if(j)return T(j.base64,j.format,g);return(0,e.A1)(f.gx.BAD_REQUEST,`Provider '${a}' does not support TTS via this route.`)}catch(a){return(0,e.A1)(f.gx.BAD_GATEWAY,a.message||"TTS synthesis failed")}}}};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";exports.id=4922,exports.ids=[4922,9460],exports.modules={644:(a,b,c)=>{function d(a,b=null){if(null==a)return b;if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}function e(a){return JSON.stringify(a??null)}c.d(b,{q:()=>d,s:()=>e})},1129:(a,b,c)=>{c.r(b),c.d(b,{createProviderNode:()=>k,deleteProviderNode:()=>m,getProviderNodeById:()=>j,getProviderNodes:()=>i,updateProviderNode:()=>l});var d=c(94755),e=c(36366),f=c(644);function g(a){return a?{...(0,f.q)(a.data,{}),id:a.id,type:a.type,name:a.name,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function h(a,b){let c=function(a){let{id:b,type:c,name:d,createdAt:e,updatedAt:g,...h}=a;return{id:b,type:c??null,name:d??null,data:(0,f.s)(h),createdAt:e,updatedAt:g}}(b);a.run(`INSERT INTO providerNodes(id, type, name, data, createdAt, updatedAt)
|
|
2
|
+
VALUES(?, ?, ?, ?, ?, ?)
|
|
3
|
+
ON CONFLICT(id) DO UPDATE SET
|
|
4
|
+
type=excluded.type, name=excluded.name, data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.type,c.name,c.data,c.createdAt,c.updatedAt])}async function i(a={}){let b=await (0,e.c)(),c=[],d=[];a.type&&(c.push("type = ?"),d.push(a.type));let f=`SELECT * FROM providerNodes${c.length?` WHERE ${c.join(" AND ")}`:""}`;return b.all(f,d).map(g)}async function j(a){return g((await (0,e.c)()).get("SELECT * FROM providerNodes WHERE id = ?",[a]))}async function k(a){let b=await (0,e.c)(),c=new Date().toISOString(),f={id:a.id||(0,d.A)(),type:a.type,name:a.name,prefix:a.prefix,apiType:a.apiType,baseUrl:a.baseUrl,createdAt:c,updatedAt:c};return h(b,f),f}async function l(a,b){let c=await (0,e.c)(),d=null;return c.transaction(()=>{let e=c.get("SELECT * FROM providerNodes WHERE id = ?",[a]);if(!e)return;let f={...g(e),...b,updatedAt:new Date().toISOString()};h(c,f),d=f}),d}async function m(a){let b=await (0,e.c)(),c=null;return b.transaction(()=>{let d=b.get("SELECT * FROM providerNodes WHERE id = ?",[a]);d&&(c=g(d),b.run("DELETE FROM providerNodes WHERE id = ?",[a]))}),c}},4922:(a,b,c)=>{c.d(b,{tm:()=>h,oF:()=>i,vF:()=>g});var d=c(36366);c(42655),c(5781),c(1129),c(74452),c(9460),c(97914);var e=c(644);let f="disabledModels";async function g(){let a=(await (0,d.c)()).all("SELECT key, value FROM kv WHERE scope = ?",[f]),b={};for(let c of a)b[c.key]=(0,e.q)(c.value,[]);return b}async function h(a,b){if(!a||!Array.isArray(b))return;let c=await (0,d.c)();c.transaction(()=>{let d=c.get("SELECT value FROM kv WHERE scope = ? AND key = ?",[f,a]),g=[...new Set([...d&&(0,e.q)(d.value,[])||[],...b])];c.run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[f,a,(0,e.s)(g)])})}async function i(a,b){if(!a)return;let c=await (0,d.c)();c.transaction(()=>{if(!Array.isArray(b)||0===b.length)return void c.run("DELETE FROM kv WHERE scope = ? AND key = ?",[f,a]);let d=c.get("SELECT value FROM kv WHERE scope = ? AND key = ?",[f,a]),g=d&&(0,e.q)(d.value,[])||[],h=new Set(b),i=g.filter(a=>!h.has(a));0===i.length?c.run("DELETE FROM kv WHERE scope = ? AND key = ?",[f,a]):c.run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[f,a,(0,e.s)(i)])})}var j=c(94735);c(62674),global._pendingRequests||(global._pendingRequests={byModel:{},byAccount:{}}),global._lastErrorProvider||(global._lastErrorProvider={provider:"",ts:0}),global._statsEmitter||(global._statsEmitter=new j.EventEmitter,global._statsEmitter.setMaxListeners(50)),global._pendingTimers||(global._pendingTimers={}),global._recentRing||(global._recentRing={items:[],initialized:!1}),global._connectionMapCache||(global._connectionMapCache={map:{},ts:0}),global._pendingRequests,global._lastErrorProvider,global._pendingTimers,global._recentRing,global._connectionMapCache,global._statsEmitter;let k=null,l=0;async function m(){if(k&&Date.now()-l<5e3)return k;try{let{getSettings:a}=await Promise.resolve().then(c.bind(c,42655)),b=await a(),d="false"!==process.env.OBSERVABILITY_ENABLED;k={enabled:"boolean"==typeof b.enableObservability2?b.enableObservability2:d,maxRecords:b.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:b.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:b.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(b.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{k={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return l=Date.now(),k}let n=[],o=null,p=!1;function q(a,b){let c=JSON.stringify(a||{});return c.length>b?{_truncated:!0,_originalSize:c.length,_preview:c.substring(0,200)}:a||{}}async function r(){if(!p&&0!==n.length){p=!0;try{for(;n.length>0;){let a=n.splice(0,n.length),b=await (0,d.c)(),c=await m();b.transaction(()=>{for(let d of a){d.id||(d.id=function(a){let b=new Date().toISOString(),c=Math.random().toString(36).substring(2,8),d=a?a.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${b}-${c}-${d}`}(d.model)),d.timestamp||(d.timestamp=new Date().toISOString()),d.request?.headers&&(d.request.headers=function(a){if(!a||"object"!=typeof a)return{};let b=["authorization","x-api-key","cookie","token","api-key"],c={...a};for(let a of Object.keys(c))b.some(b=>a.toLowerCase().includes(b))&&delete c[a];return c}(d.request.headers));let a={id:d.id,provider:d.provider||null,model:d.model||null,connectionId:d.connectionId||null,timestamp:d.timestamp,status:d.status||null,latency:d.latency||{},tokens:d.tokens||{},request:q(d.request,c.maxJsonSize),providerRequest:q(d.providerRequest,c.maxJsonSize),providerResponse:q(d.providerResponse,c.maxJsonSize),response:q(d.response,c.maxJsonSize)};b.run("INSERT INTO requestDetails(id, timestamp, provider, model, connectionId, status, data) VALUES(?, ?, ?, ?, ?, ?, ?) ON CONFLICT(id) DO UPDATE SET timestamp = excluded.timestamp, provider = excluded.provider, model = excluded.model, connectionId = excluded.connectionId, status = excluded.status, data = excluded.data",[a.id,a.timestamp,a.provider,a.model,a.connectionId,a.status,(0,e.s)(a)])}let d=b.get("SELECT COUNT(*) as c FROM requestDetails");d&&d.c>c.maxRecords&&b.run("DELETE FROM requestDetails WHERE id IN (SELECT id FROM requestDetails ORDER BY timestamp ASC LIMIT ?)",[d.c-c.maxRecords])})}}catch(a){console.error("[requestDetailsRepo] Batch write failed:",a)}finally{p=!1}}}let s=async()=>{o&&(clearTimeout(o),o=null),n.length>0&&await r()};process.off("beforeExit",s),process.off("SIGINT",s),process.off("SIGTERM",s),process.off("exit",s),process.on("beforeExit",s),process.on("SIGINT",s),process.on("SIGTERM",s),process.on("exit",s)},5781:(a,b,c)=>{c.r(b),c.d(b,{cleanupProviderConnections:()=>r,createProviderConnection:()=>m,deleteProviderConnection:()=>o,deleteProviderConnectionsByProvider:()=>p,getProviderConnectionById:()=>k,getProviderConnections:()=>j,reorderProviderConnections:()=>q,updateProviderConnection:()=>n});var d=c(94755),e=c(36366),f=c(644);let g=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","idToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","errorCode","consecutiveUseCount","idToken","lastRefreshAt"];function h(a){return a?{...(0,f.q)(a.data,{}),id:a.id,provider:a.provider,authType:a.authType,name:a.name,email:a.email,priority:a.priority,isActive:1===a.isActive||!0===a.isActive,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function i(a,b){let c=function(a){let{id:b,provider:c,authType:d,name:e,email:g,priority:h,isActive:i,createdAt:j,updatedAt:k,...l}=a;return{id:b,provider:c,authType:d,name:e??null,email:g??null,priority:h??null,isActive:+(!1!==i),data:(0,f.s)(l),createdAt:j,updatedAt:k}}(b);a.run(`INSERT INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt)
|
|
5
|
+
VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
6
|
+
ON CONFLICT(id) DO UPDATE SET
|
|
7
|
+
provider=excluded.provider, authType=excluded.authType, name=excluded.name,
|
|
8
|
+
email=excluded.email, priority=excluded.priority, isActive=excluded.isActive,
|
|
9
|
+
data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.provider,c.authType,c.name,c.email,c.priority,c.isActive,c.data,c.createdAt,c.updatedAt])}async function j(a={}){let b=await (0,e.c)(),c=[],d=[];a.provider&&(c.push("provider = ?"),d.push(a.provider)),void 0!==a.isActive&&(c.push("isActive = ?"),d.push(+!!a.isActive));let f=`SELECT * FROM providerConnections${c.length?` WHERE ${c.join(" AND ")}`:""}`,g=b.all(f,d).map(h);return g.sort((a,b)=>(a.priority||999)-(b.priority||999)),g}async function k(a){return h((await (0,e.c)()).get("SELECT * FROM providerConnections WHERE id = ?",[a]))}function l(a,b){let c=a.all("SELECT * FROM providerConnections WHERE provider = ?",[b]).map(h);c.sort((a,b)=>{let c=(a.priority||0)-(b.priority||0);return 0!==c?c:new Date(b.updatedAt||0)-new Date(a.updatedAt||0)}),c.forEach((b,c)=>{a.run("UPDATE providerConnections SET priority = ? WHERE id = ?",[c+1,b.id])})}async function m(a){let b,c=await (0,e.c)(),f=new Date().toISOString();return c.transaction(()=>{let e=c.all("SELECT * FROM providerConnections WHERE provider = ?",[a.provider]).map(h),j=null;if("oauth"===a.authType&&a.email){let b=a.providerSpecificData?.chatgptAccountId;j=e.find(c=>{if("oauth"!==c.authType||c.email!==a.email)return!1;let d=c.providerSpecificData?.chatgptAccountId;return!b||!d||b===d})}else"apikey"===a.authType&&a.name&&(j=e.find(b=>"apikey"===b.authType&&b.name===a.name));if(j){let d={...j,...a,updatedAt:f};i(c,d),b=d;return}let k=a.name||null;k||"oauth"!==a.authType&&"access_token"!==a.authType||(k=a.email||`Account ${e.length+1}`);let m=a.priority;m||(m=e.reduce((a,b)=>Math.max(a,b.priority||0),0)+1);let n={id:(0,d.A)(),provider:a.provider,authType:a.authType||"oauth",name:k,priority:m,isActive:void 0===a.isActive||a.isActive,createdAt:f,updatedAt:f};for(let b of g)void 0!==a[b]&&null!==a[b]&&(n[b]=a[b]);a.providerSpecificData&&Object.keys(a.providerSpecificData).length>0&&(n.providerSpecificData=a.providerSpecificData),void 0!==a.email&&(n.email=a.email),i(c,n),l(c,a.provider),b=n}),b}async function n(a,b){let c,d=await (0,e.c)();return d.transaction(()=>{let e=d.get("SELECT * FROM providerConnections WHERE id = ?",[a]);if(!e){c=null;return}let f=h(e),g={...f,...b,updatedAt:new Date().toISOString()};i(d,g),void 0!==b.priority&&l(d,f.provider),c=g}),c}async function o(a){let b=await (0,e.c)(),c=!1;return b.transaction(()=>{let d=b.get("SELECT provider FROM providerConnections WHERE id = ?",[a]);d&&(b.run("DELETE FROM providerConnections WHERE id = ?",[a]),l(b,d.provider),c=!0)}),c}async function p(a){let b=await (0,e.c)(),c=b.get("SELECT COUNT(*) AS n FROM providerConnections WHERE provider = ?",[a]);return b.run("DELETE FROM providerConnections WHERE provider = ?",[a]),c?.n||0}async function q(a){let b=await (0,e.c)();b.transaction(()=>l(b,a))}async function r(){let a=await (0,e.c)(),b=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","consecutiveUseCount"],c=0;return a.transaction(()=>{for(let d of a.all("SELECT * FROM providerConnections")){let e=h(d),f=!1;for(let a of b)(null===e[a]||void 0===e[a])&&a in e&&(delete e[a],c++,f=!0);e.providerSpecificData&&0===Object.keys(e.providerSpecificData).length&&(delete e.providerSpecificData,c++,f=!0),f&&i(a,e)}}),c}},9460:(a,b,c)=>{c.d(b,{getMitmAlias:()=>f}),c(36366);var d=c(22846);(0,d.U)("modelAliases"),(0,d.U)("customModels");let e=(0,d.U)("mitmAlias");async function f(a){return a?await e.get(a)||{}:await e.getAll()}},22846:(a,b,c)=>{c.d(b,{U:()=>f});var d=c(36366),e=c(644);function f(a){return{async get(b,c=null){let f=(await (0,d.c)()).get("SELECT value FROM kv WHERE scope = ? AND key = ?",[a,b]);return f?(0,e.q)(f.value,c):c},async getAll(){let b=(await (0,d.c)()).all("SELECT key, value FROM kv WHERE scope = ?",[a]),c={};for(let a of b)c[a.key]=(0,e.q)(a.value);return c},async set(b,c){(await (0,d.c)()).run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,b,(0,e.s)(c)])},async setMany(b){let c=await (0,d.c)();c.transaction(()=>{for(let[d,f]of Object.entries(b))c.run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,d,(0,e.s)(f)])})},async remove(b){(await (0,d.c)()).run("DELETE FROM kv WHERE scope = ? AND key = ?",[a,b])},async clear(){(await (0,d.c)()).run("DELETE FROM kv WHERE scope = ?",[a])}}}},36366:(a,b,c)=>{c.d(b,{c:()=>k});var d=c(95658);global._dbAdapter||(global._dbAdapter={instance:null,initPromise:null,logged:!1});let e=global._dbAdapter;async function f(){if(!process.versions.bun)return null;try{let{createBunSqliteAdapter:a}=await c.e(4739).then(c.bind(c,24739));return await a(d.AL)}catch(a){return console.warn(`[DB] bun:sqlite unavailable: ${a.message}`),null}}async function g(){if(process.versions.bun)return null;try{let{createBetterSqliteAdapter:a}=await c.e(5258).then(c.bind(c,25258));return a(d.AL)}catch(a){return console.warn(`[DB] better-sqlite3 unavailable: ${a.message}`),null}}async function h(){if(process.versions.bun)return null;let[a,b]=process.versions.node.split(".").map(Number);if(a<22||22===a&&b<5)return null;try{let{createNodeSqliteAdapter:a}=await c.e(8520).then(c.bind(c,88520));return await a(d.AL)}catch(a){return console.warn(`[DB] node:sqlite unavailable: ${a.message}`),null}}async function i(){try{let{createSqlJsAdapter:a}=await c.e(3593).then(c.bind(c,53593));return await a(d.AL)}catch(a){return console.warn(`[DB] sql.js unavailable: ${a.message}`),null}}async function j(){(0,d.Jh)();let a=await f();if(a||(a=await g()),a||(a=await h()),a||(a=await i()),!a)throw Error("[DB] No SQLite driver available (bun/better/node/sql.js all failed)");e.logged||(console.log(`[DB] Driver: ${a.driver} | file: ${d.AL}`),e.logged=!0);let{runMigrationOnce:b}=await c.e(5217).then(c.bind(c,45217));return await b(a),a}async function k(){return e.instance?e.instance:(e.initPromise||(e.initPromise=j().then(a=>(e.instance=a,a))),e.initPromise)}},42655:(a,b,c)=>{c.d(b,{exportSettings:()=>i,getSettings:()=>h});var d=c(36366),e=c(644);let f={cloudEnabled:!1,tunnelEnabled:!1,tunnelUrl:"",tunnelProvider:"cloudflare",tailscaleEnabled:!1,tailscaleUrl:"",stickyRoundRobinLimit:3,providerStrategies:{},comboStrategy:"fallback",comboStickyRoundRobinLimit:1,comboStrategies:{},requireLogin:!0,tunnelDashboardAccess:!0,authMode:"password",oidcIssuerUrl:"",oidcClientId:"",oidcClientSecret:"",oidcScopes:"openid profile email",oidcLoginLabel:"Sign in with OIDC",enableObservability:!0,observabilityMaxRecords:1e3,observabilityBatchSize:20,observabilityFlushIntervalMs:5e3,observabilityMaxJsonSize:5,outboundProxyEnabled:!1,outboundProxyUrl:"",outboundNoProxy:"",mitmRouterBaseUrl:"http://localhost:20128",dnsToolEnabled:{},rtkEnabled:!0,headroomEnabled:!1,headroomUrl:process.env.HEADROOM_URL||"http://localhost:8787",headroomCompressUserMessages:!1,cavemanEnabled:!1,cavemanLevel:"full",ponytailEnabled:!1,ponytailLevel:"full"};async function g(){let a=(await (0,d.c)()).get("SELECT data FROM settings WHERE id = 1");return a?(0,e.q)(a.data,{}):{}}async function h(){var a=await g();let b={...f,...a||{}};for(let[a,c]of Object.entries(f))void 0===b[a]&&("outboundProxyEnabled"===a&&"string"==typeof b.outboundProxyUrl&&b.outboundProxyUrl.trim()?b[a]=!0:b[a]=c);return b}async function i(){return await g()}},62674:(a,b,c)=>{function d(a,b,c=null){let e=a.get("SELECT value FROM _meta WHERE key = ?",[b]);return e?e.value:c}function e(a,b,c){a.run("INSERT INTO _meta(key, value) VALUES(?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value",[b,String(c)])}c.d(b,{dy:()=>d,np:()=>e}),c(36366)},74452:(a,b,c)=>{c.r(b),c.d(b,{createApiKey:()=>i,deleteApiKey:()=>k,getApiKeyById:()=>h,getApiKeys:()=>g,updateApiKey:()=>j,validateApiKey:()=>l});var d=c(94755),e=c(36366);function f(a){return a?{id:a.id,key:a.key,name:a.name,machineId:a.machineId,isActive:1===a.isActive||!0===a.isActive,createdAt:a.createdAt}:null}async function g(){return(await (0,e.c)()).all("SELECT * FROM apiKeys ORDER BY createdAt ASC").map(f)}async function h(a){return f((await (0,e.c)()).get("SELECT * FROM apiKeys WHERE id = ?",[a]))}async function i(a,b){if(!b)throw Error("machineId is required");let f=await (0,e.c)(),{generateApiKeyWithMachine:g}=await c.e(6844).then(c.bind(c,86844)),h=g(b),i={id:(0,d.A)(),name:a,key:h.key,machineId:b,isActive:!0,createdAt:new Date().toISOString()};return f.run("INSERT INTO apiKeys(id, key, name, machineId, isActive, createdAt) VALUES(?, ?, ?, ?, ?, ?)",[i.id,i.key,i.name,i.machineId,1,i.createdAt]),i}async function j(a,b){let c=await (0,e.c)(),d=null;return c.transaction(()=>{let e=c.get("SELECT * FROM apiKeys WHERE id = ?",[a]);if(!e)return;let g={...f(e),...b};c.run("UPDATE apiKeys SET key = ?, name = ?, machineId = ?, isActive = ? WHERE id = ?",[g.key,g.name,g.machineId,+!!g.isActive,a]),d=g}),d}async function k(a){let b=(await (0,e.c)()).run("DELETE FROM apiKeys WHERE id = ?",[a]);return(b?.changes??0)>0}async function l(a){let b=(await (0,e.c)()).get("SELECT isActive FROM apiKeys WHERE key = ?",[a]);return!!b&&(1===b.isActive||!0===b.isActive)}},95658:(a,b,c)=>{c.d(b,{AL:()=>j,HG:()=>i,Jh:()=>m,KQ:()=>k,Or:()=>l});var d=c(76760),e=c.n(d),f=c(73024),g=c.n(f),h=c(49120);let i=e().join(h.nJ,"db"),j=e().join(i,"data.sqlite"),k=e().join(i,"backups"),l={main:e().join(h.nJ,"db.json"),usage:e().join(h.nJ,"usage.json"),disabled:e().join(h.nJ,"disabledModels.json"),details:e().join(h.nJ,"request-details.json")};function m(){for(let a of[h.nJ,i,k])g().existsSync(a)||g().mkdirSync(a,{recursive:!0})}},97914:(a,b,c)=>{c.d(b,{getPricingForModel:()=>f}),c(36366);let d=(0,c(22846).U)("pricing");async function e(){return await d.getAll()}async function f(a,b){if(!b)return null;let d=await e();if(a&&d[a]?.[b])return d[a][b];let{getPricingForModel:f}=await c.e(8920).then(c.bind(c,58920));return f(a,b)}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports.id=5118,exports.ids=[5118],exports.modules={35002:(a,b,c)=>{"use strict";c.d(b,{A:()=>e});var d=c(74129);c(21820);let e=[{id:"alicode",priority:20,alias:"alicode",display:{name:"Alibaba",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://bailian.console.aliyun.com",notice:{apiKeyUrl:"https://bailian.console.aliyun.com/?apiKey=1"}},category:"apikey",transport:{baseUrl:"https://coding.dashscope.aliyuncs.com/v1/chat/completions",headers:{}},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},{id:"alicode-intl",priority:10,alias:"alicode-intl",display:{name:"Alibaba Intl",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://modelstudio.console.alibabacloud.com",notice:{apiKeyUrl:"https://modelstudio.console.alibabacloud.com/?apiKey=1"}},category:"apikey",transport:{baseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions",headers:{}},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},{id:"anthropic",priority:30,alias:"anthropic",display:{name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com",notice:{apiKeyUrl:"https://console.anthropic.com/settings/keys"}},category:"apikey",transport:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"}},models:[{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"claude-opus-4-20250514",name:"Claude Opus 4"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"}],serviceKinds:["llm","imageToText"]},{id:"antigravity",priority:20,alias:"ag",uiAlias:"ag",display:{name:"Antigravity",icon:"rocket_launch",color:"#F59E0B",website:"https://antigravity.google",notice:{signupUrl:"https://antigravity.google"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",serviceKinds:["llm","image"],transport:{baseUrls:["https://daily-cloudcode-pa.googleapis.com","https://daily-cloudcode-pa.sandbox.googleapis.com"],format:"antigravity",headers:{"User-Agent":"antigravity/1.107.0 darwin/arm64"},retry:{429:{attempts:3},503:{attempts:3}},usage:{quotaApiUrl:"https://cloudcode-pa.googleapis.com/v1internal:fetchAvailableModels",loadProjectApiUrl:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",tokenUrl:"https://oauth2.googleapis.com/token"},clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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"},models:[{id:"gemini-3-flash-agent",name:"Gemini 3.5 Flash (High)"},{id:"gemini-3.5-flash-low",name:"Gemini 3.5 Flash (Medium)"},{id:"gemini-3.5-flash-extra-low",name:"Gemini 3.5 Flash (Low)"},{id:"gemini-pro-agent",name:"Gemini 3.1 Pro (High)"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro (Low)"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Thinking)"},{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 (Thinking)"},{id:"gpt-oss-120b-medium",name:"GPT-OSS 120B (Medium)"},{id:"gemini-3-flash",name:"Gemini 3 Flash",thinking:!1},{id:"gemini-3.1-flash-image",name:"Gemini 3.1 Flash (Image)",kind:"image",imageGen:!0,capabilities:["textToImage"]}],oauth:{authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile","https://www.googleapis.com/auth/cclog","https://www.googleapis.com/auth/experimentsandconfigs"],apiEndpoint:"https://cloudcode-pa.googleapis.com",apiVersion:"v1internal",loadCodeAssistEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUserEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser",loadCodeAssistUserAgent:"google-api-nodejs-client/9.15.1",loadCodeAssistApiClient:"google-cloud-sdk vscode_cloudshelleditor/0.1",refreshLeadMs:3e5},features:{usage:!0}},{id:"assemblyai",priority:30,alias:"assemblyai",aliases:["aai"],uiAlias:"aai",display:{name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com",notice:{apiKeyUrl:"https://www.assemblyai.com/app/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.assemblyai.com/v1/audio/transcriptions",validateUrl:"https://api.assemblyai.com/v1/account"},models:[{id:"universal-3-pro",name:"Universal 3 Pro",params:["language"],kind:"stt"},{id:"universal-2",name:"Universal 2",params:["language"],kind:"stt"},{id:"best",name:"Best (Nano + Universal)",kind:"stt"},{id:"nano",name:"Nano (Fast)",kind:"stt"}],serviceKinds:["stt"],sttConfig:{baseUrl:"https://api.assemblyai.com/v2/transcript",authType:"apikey",authHeader:"authorization",format:"assemblyai"}},{id:"aws-polly",alias:"polly",display:{name:"AWS Polly",icon:"record_voice_over",color:"#FF9900",textIcon:"PL",website:"https://aws.amazon.com/polly/",notice:{text:"Use AWS Secret Access Key as API key; set providerSpecificData.accessKeyId and optional region.",apiKeyUrl:"https://console.aws.amazon.com/iam/home#/security_credentials"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://polly.{region}.amazonaws.com/v1/speech",authType:"apikey",authHeader:"aws-sigv4",format:"aws-polly",models:[{id:"standard",name:"Standard"},{id:"neural",name:"Neural"},{id:"long-form",name:"Long-form"},{id:"generative",name:"Generative"}]},hasProviderSpecificData:!0},{id:"azure",priority:40,alias:"azure",display:{name:"Azure OpenAI",icon:"cloud",color:"#0078D4",textIcon:"AZ",website:"https://azure.microsoft.com/en-us/products/ai-services/openai-service",notice:{apiKeyUrl:"https://portal.azure.com/#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/OpenAI"}},category:"apikey",hasProviderSpecificData:!0,transport:{baseUrl:"",headers:{}}},{id:"black-forest-labs",priority:50,alias:"black-forest-labs",aliases:["bfl"],uiAlias:"bfl",display:{name:"Black Forest Labs",icon:"image",color:"#111827",textIcon:"BF",website:"https://blackforestlabs.ai",notice:{apiKeyUrl:"https://api.bfl.ai"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"flux-pro-1.1",name:"FLUX Pro 1.1",params:["n","size"],kind:"image"},{id:"flux-pro-1.1-ultra",name:"FLUX Pro 1.1 Ultra",params:["size"],kind:"image"},{id:"flux-pro",name:"FLUX Pro",params:["n","size"],kind:"image"},{id:"flux-dev",name:"FLUX Dev",params:["n","size"],kind:"image"},{id:"flux-kontext-pro",name:"FLUX Kontext Pro (Edit)",params:["size"],capabilities:["edit"],kind:"image"},{id:"flux-kontext-max",name:"FLUX Kontext Max (Edit)",params:["size"],capabilities:["edit"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.bfl.ai/v1"}},{id:"blackbox",priority:50,alias:"blackbox",aliases:["bb"],uiAlias:"bb",display:{name:"Blackbox AI",icon:"smart_toy",color:"#5B5FEF",textIcon:"BB",website:"https://blackbox.ai",notice:{apiKeyUrl:"https://www.blackbox.ai/api-management"}},category:"apikey",transport:{baseUrl:"https://api.blackbox.ai/chat/completions",thinkingFormat:"openai"},models:[{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o mini"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Legacy)"},{id:"claude-opus-4-6",name:"Claude Opus 4.6 (Legacy)"},{id:"deepseek-chat",name:"DeepSeek Chat"},{id:"deepseek-v3-671b",name:"DeepSeek V3 671B"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"o1",name:"OpenAI o1"},{id:"o3-mini",name:"OpenAI o3-mini"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-max",name:"Qwen3 Max"},{id:"qwen3-vl-plus",name:"Qwen3 VL Plus"}]},{id:"brave-search",alias:"brave",display:{name:"Brave Search",icon:"travel_explore",color:"#FB542B",textIcon:"BR",website:"https://brave.com/search/api",notice:{apiKeyUrl:"https://api-dashboard.search.brave.com/app/keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://api.search.brave.com/res/v1",method:"GET",authType:"apikey",authHeader:"x-subscription-token",costPerQuery:.005,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"byteplus",priority:70,alias:"byteplus",aliases:["bpm"],uiAlias:"bpm",display:{name:"BytePlus ModelArk",icon:"cloud",color:"#2563EB",textIcon:"BP",website:"https://console.byteplus.com/ark",notice:{text:"Free credits for new accounts. Access to Seed 2.0, Kimi K2 Thinking, GLM 4.7, GPT-OSS-120B models.",apiKeyUrl:"https://console.byteplus.com/ark/region:ark+ap-southeast-1/apiKey"}},category:"freeTier",transport:{baseUrl:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",headers:{}},models:[{id:"seed-2-0-pro-260328",name:"Seed 2.0 Pro"},{id:"seed-2-0-code-preview-260328",name:"Seed 2.0 Code Preview"},{id:"seed-2-0-mini-260215",name:"Seed 2.0 Mini"},{id:"seed-2-0-lite-260228",name:"Seed 2.0 Lite"},{id:"kimi-k2-thinking-251104",name:"Kimi K2 Thinking"},{id:"glm-4-7-251222",name:"GLM 4.7"},{id:"gpt-oss-120b-250805",name:"GPT-OSS-120B"}],serviceKinds:["llm"]},{id:"cartesia",alias:"cartesia",display:{name:"Cartesia",icon:"spatial_audio",color:"#FF4F8B",textIcon:"CA",website:"https://cartesia.ai",notice:{apiKeyUrl:"https://play.cartesia.ai/keys"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.cartesia.ai/tts/bytes",authType:"apikey",authHeader:"x-api-key",format:"cartesia",models:[{id:"sonic-2",name:"Sonic 2"},{id:"sonic-3",name:"Sonic 3"}]},hidden:!0},{id:"cerebras",priority:60,alias:"cerebras",display:{name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://www.cerebras.ai",notice:{apiKeyUrl:"https://cloud.cerebras.ai/platform"}},category:"apikey",transport:{baseUrl:"https://api.cerebras.ai/v1/chat/completions",validateUrl:"https://api.cerebras.ai/v1/models",quirks:{dropClientMetadata:!0}},models:[{id:"gpt-oss-120b",name:"GPT OSS 120B"},{id:"zai-glm-4.7",name:"ZAI GLM 4.7"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout"},{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B"},{id:"qwen-3-32b",name:"Qwen3 32B"}]},{id:"chutes",priority:70,alias:"chutes",aliases:["ch"],uiAlias:"ch",display:{name:"Chutes AI",icon:"water_drop",color:"#ffffffff",textIcon:"CH",website:"https://chutes.ai",notice:{apiKeyUrl:"https://chutes.ai/app/api"}},category:"apikey",transport:{baseUrl:"https://llm.chutes.ai/v1/chat/completions",validateUrl:"https://llm.chutes.ai/v1/models"}},{id:"claude",priority:10,alias:"cc",uiAlias:"cc",display:{name:"Claude Code",icon:"smart_toy",color:"#D97757",website:"https://claude.ai",notice:{signupUrl:"https://claude.ai"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",transport:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/2.1.92 (external, sdk-cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.14.0","X-Stainless-Package-Version":"0.80.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":"arm64","X-Stainless-Os":"MacOS","X-Stainless-Timeout":"600"},quirks:{cloakToolsOnOAuth:!0},auth:{apiKey:{header:"x-api-key",scheme:"raw"},oauth:{header:"Authorization",scheme:"bearer"},hooks:["claudeOverlay"]},usage:{oauthUrl:"https://api.anthropic.com/api/oauth/usage",orgUrl:"https://api.anthropic.com/v1/organizations/{org_id}/usage",settingsUrl:"https://api.anthropic.com/v1/settings"}},models:[{id:"claude-opus-4-8",name:"Claude Opus 4.8"},{id:"claude-opus-4-7",name:"Claude Opus 4.7"},{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4-5-20251101",name:"Claude 4.5 Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude 4.5 Sonnet"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}],oauth:{clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorizeUrl:"https://claude.ai/oauth/authorize",tokenUrl:"https://api.anthropic.com/v1/oauth/token",scopes:["org:create_api_key","user:profile","user:inference"],codeChallengeMethod:"S256",refreshLeadMs:144e5,refresh:{encoding:"json"}},features:{usage:!0}},{id:"cline",priority:80,alias:"cl",uiAlias:"cl",display:{name:"Cline",icon:"smart_toy",color:"#5B9BD5",textIcon:"CL",website:"https://cline.bot",notice:{signupUrl:"https://cline.bot"}},category:"oauth",transport:{baseUrl:"https://api.cline.bot/api/v1/chat/completions",headers:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["clineHeaders"]}},models:[{id:"anthropic/claude-opus-4.7",name:"Claude Opus 4.7"},{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6"},{id:"openai/gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"openai/gpt-5.4",name:"GPT-5.4"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"google/gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"kwaipilot/kat-coder-pro",name:"KAT Coder Pro"}],oauth:{appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenExchangeUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"}},{id:"cloudflare-ai",priority:60,hasFree:!0,alias:"cloudflare-ai",aliases:["cf"],uiAlias:"cf",display:{name:"Cloudflare",icon:"cloud",color:"#F38020",textIcon:"CF",website:"https://developers.cloudflare.com/workers-ai/",notice:{text:"Workers AI free tier. Requires a Cloudflare API token and Account ID.",apiKeyUrl:"https://dash.cloudflare.com/profile/api-tokens"}},category:"freeTier",hasProviderSpecificData:!0,transport:{baseUrl:"https://api.cloudflare.com/client/v4/accounts/{accountId}/ai/v1/chat/completions",thinkingFormat:"openai"},models:[{id:"@cf/meta/llama-3.2-1b-instruct",name:"Llama 3.2 1B Instruct"},{id:"@cf/meta/llama-3.2-3b-instruct",name:"Llama 3.2 3B Instruct"},{id:"@cf/meta/llama-3.1-8b-instruct-fp8-fast",name:"Llama 3.1 8B Instruct FP8 Fast"},{id:"@cf/meta/llama-3.1-8b-instruct-awq",name:"Llama 3.1 8B Instruct AWQ"},{id:"@cf/mistralai/mistral-small-3.1-24b-instruct",name:"Mistral Small 3.1 24B Instruct"},{id:"@cf/meta/llama-3.1-70b-instruct-fp8-fast",name:"Llama 3.1 70B Instruct FP8 Fast"},{id:"@cf/meta/llama-3.3-70b-instruct-fp8-fast",name:"Llama 3.3 70B Instruct FP8 Fast"},{id:"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b",name:"DeepSeek R1 Distill Qwen 32B"},{id:"@cf/moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"@cf/moonshotai/kimi-k2.6",name:"Kimi K2.6"},{id:"@cf/zai-org/glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"@cf/qwen/qwq-32b",name:"QwQ 32B"},{id:"@cf/qwen/qwen2.5-coder-32b-instruct",name:"Qwen 2.5 Coder 32B Instruct"},{id:"@cf/black-forest-labs/flux-2-klein-9b",name:"FLUX.2 Klein 9B",params:["size"],kind:"image"},{id:"@cf/black-forest-labs/flux-2-klein-4b",name:"FLUX.2 Klein 4B",params:["size"],kind:"image"},{id:"@cf/black-forest-labs/flux-2-dev",name:"FLUX.2 Dev",params:["size"],kind:"image"},{id:"@cf/leonardo/lucid-origin",name:"Lucid Origin",params:["size"],kind:"image"},{id:"@cf/leonardo/phoenix-1.0",name:"Phoenix 1.0",params:["size"],kind:"image"},{id:"@cf/black-forest-labs/flux-1-schnell",name:"FLUX.1 Schnell",params:["size"],kind:"image"},{id:"@cf/bytedance/stable-diffusion-xl-lightning",name:"SDXL Lightning",params:["size"],kind:"image"},{id:"@cf/lykon/dreamshaper-8-lcm",name:"DreamShaper 8 LCM",params:["size"],kind:"image"},{id:"@cf/runwayml/stable-diffusion-v1-5-img2img",name:"Stable Diffusion v1.5 Img2Img",params:["size"],capabilities:["edit"],kind:"image"},{id:"@cf/runwayml/stable-diffusion-v1-5-inpainting",name:"Stable Diffusion v1.5 Inpainting",params:["size"],capabilities:["edit","mask"],kind:"image"},{id:"@cf/stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0",params:["size"],kind:"image"}],serviceKinds:["llm","image"],imageConfig:{baseUrl:"https://api.cloudflare.com/client/v4/accounts"}},{id:"codebuddy-cn",alias:"cbcn",uiAlias:"cbcn",hidden:!1,priority:90,display:{name:"CodeBuddy CN",icon:"smart_toy",color:"#006EFF",website:"https://copilot.tencent.com",notice:{signupUrl:"https://copilot.tencent.com"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://copilot.tencent.com/v2/chat/completions",forceStream:!0,thinkingFormat:"openai",headers:{"User-Agent":"CLI/2.108.1 CodeBuddy/2.108.1","X-Product":"SaaS","X-IDE-Type":"CLI","X-IDE-Name":"CLI","x-requested-with":"XMLHttpRequest","x-codebuddy-request":"1"},auth:{combined:!0,header:"Authorization",scheme:"bearer"},usage:{url:"https://copilot.tencent.com/v2/billing/meter/get-user-resource"}},models:[{id:"glm-5.2",name:"GLM-5.2"},{id:"glm-5.1",name:"GLM-5.1"},{id:"glm-5.0",name:"GLM-5.0"},{id:"glm-5.0-turbo",name:"GLM-5.0-Turbo"},{id:"glm-5v-turbo",name:"GLM-5v-Turbo"},{id:"glm-4.7",name:"GLM-4.7"},{id:"minimax-m3",name:"MiniMax-M3"},{id:"minimax-m2.7",name:"MiniMax-M2.7"},{id:"kimi-k2.7",name:"Kimi-K2.7-Code"},{id:"kimi-k2.6",name:"Kimi-K2.6"},{id:"kimi-k2.5",name:"Kimi-K2.5"},{id:"hy3-preview",name:"Hy3 Preview"},{id:"deepseek-v4-pro",name:"DeepSeek-V4-Pro"},{id:"deepseek-v4-flash",name:"DeepSeek-V4-Flash"},{id:"deepseek-v3-2-volc",name:"DeepSeek-V3.2"}],oauth:{baseUrl:"https://copilot.tencent.com",stateUrl:"https://copilot.tencent.com/v2/plugin/auth/state",tokenUrl:"https://copilot.tencent.com/v2/plugin/auth/token",refreshUrl:"https://copilot.tencent.com/v2/plugin/auth/token/refresh",userAgent:"CLI/2.63.2 CodeBuddy/2.63.2",platform:"CLI",pollInterval:5e3},features:{usage:!0,usageApikey:!0}},{id:"codex",priority:30,alias:"cx",uiAlias:"cx",display:{name:"OpenAI Codex",icon:"code",color:"#3B82F6",website:"https://chatgpt.com/codex",notice:{signupUrl:"https://chatgpt.com/codex"},deprecated:!0,deprecationNotice:"RISK_NOTICE",kindNotice:{image:"Requires a ChatGPT Plus (or higher) account. Free accounts are not supported for image generation."}},category:"oauth",thinkingConfig:{options:["auto","none","low","medium","high"],defaultMode:"auto"},transport:{baseUrl:"https://chatgpt.com/backend-api/codex/responses",format:"openai-responses",forceStream:!0,headers:{originator:"codex_cli_rs","User-Agent":"codex_cli_rs/0.136.0"},usage:{url:"https://chatgpt.com/backend-api/wham/usage",resetCreditsConsumeUrl:"https://chatgpt.com/backend-api/wham/rate-limit-reset-credits/consume"}},models:[{id:"gpt-5.5",name:"GPT 5.5"},{id:"gpt-5.5-review",name:"GPT 5.5 Review",upstreamModelId:"gpt-5.5",quotaFamily:"review"},{id:"gpt-5.4",name:"GPT 5.4"},{id:"gpt-5.4-review",name:"GPT 5.4 Review",upstreamModelId:"gpt-5.4",quotaFamily:"review"},{id:"gpt-5.4-mini",name:"GPT 5.4 Mini"},{id:"gpt-5.4-mini-review",name:"GPT 5.4 Mini Review",upstreamModelId:"gpt-5.4-mini",quotaFamily:"review"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"},{id:"gpt-5.3-codex-review",name:"GPT 5.3 Codex Review",upstreamModelId:"gpt-5.3-codex",quotaFamily:"review"},{id:"gpt-5.3-codex-xhigh",name:"GPT 5.3 Codex (xHigh)"},{id:"gpt-5.3-codex-xhigh-review",name:"GPT 5.3 Codex (xHigh) Review",upstreamModelId:"gpt-5.3-codex-xhigh",quotaFamily:"review"},{id:"gpt-5.3-codex-high",name:"GPT 5.3 Codex (High)"},{id:"gpt-5.3-codex-high-review",name:"GPT 5.3 Codex (High) Review",upstreamModelId:"gpt-5.3-codex-high",quotaFamily:"review"},{id:"gpt-5.3-codex-low",name:"GPT 5.3 Codex (Low)"},{id:"gpt-5.3-codex-low-review",name:"GPT 5.3 Codex (Low) Review",upstreamModelId:"gpt-5.3-codex-low",quotaFamily:"review"},{id:"gpt-5.3-codex-none",name:"GPT 5.3 Codex (None)"},{id:"gpt-5.3-codex-none-review",name:"GPT 5.3 Codex (None) Review",upstreamModelId:"gpt-5.3-codex-none",quotaFamily:"review"},{id:"gpt-5.3-codex-spark",name:"GPT 5.3 Codex Spark"},{id:"gpt-5.3-codex-spark-review",name:"GPT 5.3 Codex Spark Review",upstreamModelId:"gpt-5.3-codex-spark",quotaFamily:"review"},{id:"gpt-5.5-image",name:"GPT 5.5 Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.4-image",name:"GPT 5.4 Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.3-image",name:"GPT 5.3 Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"}],serviceKinds:["llm","image"],oauth:{clientId:"app_EMoamEEZ73f0CkXaXp7hrann",authorizeUrl:"https://auth.openai.com/oauth/authorize",tokenUrl:"https://auth.openai.com/oauth/token",scope:"openid profile email offline_access",codeChallengeMethod:"S256",fixedPort:1455,callbackPath:"/auth/callback",extraParams:{id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:"codex_cli_rs"},refreshLeadMs:432e6,refresh:{encoding:"form",scope:"openid profile email offline_access"},maxRefreshAgeMs:6912e5,trackRefreshAt:!0},features:{usage:!0}},{id:"cohere",priority:90,alias:"cohere",display:{name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com",notice:{apiKeyUrl:"https://dashboard.cohere.com/api-keys"}},category:"apikey",transport:{baseUrl:"https://api.cohere.ai/v1/chat/completions",validateUrl:"https://api.cohere.ai/v1/models"},models:[{id:"command-r-plus-08-2024",name:"Command R+ (Aug 2024)"},{id:"command-r-08-2024",name:"Command R (Aug 2024)"},{id:"command-a-03-2025",name:"Command A (Mar 2025)"}]},{id:"comfyui",priority:120,alias:"comfyui",display:{name:"ComfyUI",icon:"account_tree",color:"#4CAF50",textIcon:"CF",website:"https://github.com/comfyanonymous/ComfyUI"},category:"apikey",transport:null,models:[{id:"flux-dev",name:"FLUX Dev",params:["n","size"],kind:"image"},{id:"sdxl",name:"SDXL",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"http://localhost:8188"}},{id:"commandcode",priority:100,alias:"commandcode",aliases:["cmc"],uiAlias:"cmc",display:{name:"Command Code",icon:"smart_toy",color:"#000000",textIcon:"CC",website:"https://commandcode.ai",notice:{text:"Use your CommandCode CLI API key (starts with user_...) from ~/.commandcode/auth.json or commandcode.ai/studio.",apiKeyUrl:"https://commandcode.ai/studio"}},category:"apikey",transport:{baseUrl:"https://api.commandcode.ai/alpha/generate",format:"commandcode",forceStream:!0,headers:{"x-command-code-version":"0.25.7","x-cli-environment":"cli"}},models:[{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek/deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"zai-org/GLM-5.1",name:"GLM 5.1"},{id:"zai-org/GLM-5",name:"GLM 5"},{id:"MiniMaxAI/MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"Qwen/Qwen3.6-Max-Preview",name:"Qwen 3.6 Max Preview"},{id:"Qwen/Qwen3.6-Plus",name:"Qwen 3.6 Plus"},{id:"stepfun/Step-3.5-Flash",name:"Step 3.5 Flash"}]},{id:"coqui",alias:"coqui",display:{name:"Coqui TTS",icon:"record_voice_over",color:"#10B981",textIcon:"CQ",website:"https://github.com/coqui-ai/TTS"},category:"freeTier",authType:"none",serviceKinds:["tts"],noAuth:!0,ttsConfig:{baseUrl:"http://localhost:5002/api/tts",authType:"none",authHeader:"none",format:"coqui",models:[{id:"tts_models/en/ljspeech/tacotron2-DDC",name:"Tacotron2 DDC (LJSpeech)"}]},hidden:!0},{id:"cursor",priority:50,alias:"cu",uiAlias:"cu",display:{name:"Cursor IDE",icon:"edit_note",color:"#00D4AA",website:"https://cursor.com",notice:{signupUrl:"https://cursor.com"}},category:"oauth",transport:{baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",format:"cursor",headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"3.1.0"},models:[{id:"default",name:"Auto (Server Picks)"},{id:"claude-4.5-opus-high-thinking",name:"Claude 4.5 Opus High Thinking"},{id:"claude-4.5-opus-high",name:"Claude 4.5 Opus High"},{id:"claude-4.5-sonnet-thinking",name:"Claude 4.5 Sonnet Thinking"},{id:"claude-4.5-sonnet",name:"Claude 4.5 Sonnet"},{id:"claude-4.5-haiku",name:"Claude 4.5 Haiku"},{id:"claude-4.5-opus",name:"Claude 4.5 Opus"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"claude-4.6-opus-max",name:"Claude 4.6 Opus Max"},{id:"claude-4.6-sonnet-medium-thinking",name:"Claude 4.6 Sonnet Medium Thinking"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"}],oauth:{apiEndpoint:"https://api2.cursor.sh",chatEndpoint:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",modelsEndpoint:"/aiserver.v1.AiService/GetDefaultModelNudgeData",api3Endpoint:"https://api3.cursor.sh",agentEndpoint:"https://agent.api5.cursor.sh",agentNonPrivacyEndpoint:"https://agentn.api5.cursor.sh",clientVersion:"3.1.0",clientType:"ide",dbKeys:{accessToken:"cursorAuth/accessToken",machineId:"storage.serviceMachineId"}}},{id:"deepgram",priority:20,alias:"deepgram",aliases:["dg"],uiAlias:"dg",display:{name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com",notice:{text:"$200 free credit on signup (no card required). Aura-1: $0.015/1k chars, Aura-2: $0.030/1k chars (Pay-As-You-Go).",apiKeyUrl:"https://console.deepgram.com/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.deepgram.com/v1/listen"},models:[{id:"nova-3",name:"Nova 3",params:["language"],kind:"stt"},{id:"nova-2",name:"Nova 2",params:["language"],kind:"stt"},{id:"whisper-large",name:"Whisper Large",params:["language"],kind:"stt"},{id:"nova",name:"Nova",kind:"stt"}],serviceKinds:["stt"],sttConfig:{baseUrl:"https://api.deepgram.com/v1/listen",authType:"apikey",authHeader:"token",format:"deepgram"}},{id:"deepseek",priority:110,alias:"deepseek",aliases:["ds"],uiAlias:"ds",display:{name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com",notice:{apiKeyUrl:"https://platform.deepseek.com/api_keys"}},category:"apikey",transport:{baseUrl:"https://api.deepseek.com/chat/completions",validateUrl:"https://api.deepseek.com/models",reasoningInject:{scope:"all"}},transports:[{format:"openai",baseUrl:"https://api.deepseek.com/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.deepseek.com/anthropic/v1/messages",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-v4-pro-max",name:"DeepSeek V4 Pro Max",upstreamModelId:"deepseek-v4-pro"},{id:"deepseek-v4-pro-none",name:"DeepSeek V4 Pro No Thinking",upstreamModelId:"deepseek-v4-pro"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"deepseek-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-reasoner",name:"DeepSeek V3.2 Reasoner"}]},{id:"edge-tts",alias:"edge-tts",display:{name:"Edge TTS",icon:"record_voice_over",color:"#0078D4",textIcon:"ET"},category:"freeTier",authType:"none",serviceKinds:["tts"],mediaPriority:5,noAuth:!0,ttsConfig:{baseUrl:"edge-tts",authType:"none",authHeader:"none",format:"edge-tts",models:[]}},{id:"elevenlabs",alias:"el",display:{name:"ElevenLabs",icon:"record_voice_over",color:"#6C47FF",textIcon:"EL",website:"https://elevenlabs.io",notice:{apiKeyUrl:"https://elevenlabs.io/app/settings/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.elevenlabs.io/v1/text-to-speech",authType:"apikey",authHeader:"xi-api-key",format:"elevenlabs",models:[{id:"eleven_multilingual_v2",name:"Eleven Multilingual v2"},{id:"eleven_turbo_v2_5",name:"Eleven Turbo v2.5"}]}},{id:"exa",alias:"exa",display:{name:"Exa",icon:"manage_search",color:"#2563EB",textIcon:"EX",website:"https://exa.ai",notice:{apiKeyUrl:"https://dashboard.exa.ai/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch","webFetch"],searchConfig:{baseUrl:"https://api.exa.ai/search",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.007,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5},fetchConfig:{baseUrl:"https://api.exa.ai/contents",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.001,freeMonthlyQuota:1e3,formats:["text","markdown"],maxCharacters:1e5,timeoutMs:15e3}},{id:"fal-ai",priority:90,hasFree:!0,alias:"fal-ai",aliases:["fal"],uiAlias:"fal",display:{name:"Fal.ai",icon:"image",color:"#2563EB",textIcon:"FL",website:"https://fal.ai",notice:{apiKeyUrl:"https://fal.ai/dashboard/keys"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"fal-ai/flux/schnell",name:"FLUX Schnell",params:["n","size"],kind:"image"},{id:"fal-ai/flux/dev",name:"FLUX Dev",params:["n","size"],kind:"image"},{id:"fal-ai/flux-pro/v1.1",name:"FLUX Pro v1.1",params:["n","size"],kind:"image"},{id:"fal-ai/flux-pro/v1.1-ultra",name:"FLUX Pro v1.1 Ultra",params:["n","size"],kind:"image"},{id:"fal-ai/recraft-v3",name:"Recraft V3",params:["n","size","style"],kind:"image"},{id:"fal-ai/ideogram/v2",name:"Ideogram V2",params:["n","size","style"],kind:"image"},{id:"fal-ai/stable-diffusion-v35-large",name:"SD 3.5 Large",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://queue.fal.run"}},{id:"firecrawl",alias:"firecrawl",display:{name:"Firecrawl",icon:"local_fire_department",color:"#F59E0B",textIcon:"FC",website:"https://firecrawl.dev",notice:{apiKeyUrl:"https://www.firecrawl.dev/app/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webFetch"],fetchConfig:{baseUrl:"https://api.firecrawl.dev/v1/scrape",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.002,freeMonthlyQuota:500,formats:["markdown","html","text"],maxCharacters:2e5,timeoutMs:3e4}},{id:"fireworks",priority:50,alias:"fireworks",display:{name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai",notice:{apiKeyUrl:"https://fireworks.ai/account/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",validateUrl:"https://api.fireworks.ai/inference/v1/models"},models:[{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1"},{id:"accounts/fireworks/models/llama-v3p3-70b-instruct",name:"Llama 3.3 70B"},{id:"accounts/fireworks/models/qwen3-235b-a22b",name:"Qwen3 235B"},{id:"nomic-ai/nomic-embed-text-v1.5",name:"Nomic Embed Text v1.5",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.fireworks.ai/inference/v1/embeddings"}},{id:"gemini",priority:50,hasFree:!0,alias:"gemini",display:{name:"Gemini",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev",notice:{apiKeyUrl:"https://aistudio.google.com/app/apikey"}},category:"freeTier",mediaPriority:1,transport:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",format:"gemini",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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",auth:{apiKey:{header:"x-goog-api-key",scheme:"raw"},oauth:{header:"Authorization",scheme:"bearer"}}},models:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"gemma-4-31b-it",name:"Gemma 4 31B IT"},{id:"gemini-embedding-2-preview",name:"Gemini Embedding 2 Preview",kind:"embedding"},{id:"gemini-embedding-001",name:"Gemini Embedding 001",kind:"embedding"},{id:"text-embedding-005",name:"Text Embedding 005",kind:"embedding"},{id:"text-embedding-004",name:"Text Embedding 004 (Legacy)",kind:"embedding"},{id:"gemini-3.1-flash-image-preview",name:"Gemini 3.1 Flash Image (Nano Banana 2)",params:[],kind:"image"},{id:"gemini-3-pro-image-preview",name:"Gemini 3 Pro Image (Nano Banana Pro)",params:[],kind:"image"},{id:"gemini-2.5-flash-image",name:"Gemini 2.5 Flash Image (Nano Banana)",params:[],kind:"image"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (Best)",params:["language","prompt"],kind:"stt"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",params:["language","prompt"],kind:"stt"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite (Cheapest)",params:["language","prompt"],kind:"stt"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",params:["language","prompt"],kind:"stt"},{id:"gemini-2.5-flash-preview-tts",name:"Gemini 2.5 Flash TTS",kind:"tts"},{id:"gemini-2.5-pro-preview-tts",name:"Gemini 2.5 Pro TTS",kind:"tts"},{id:"embedding-001",name:"Embedding 001",dimensions:768,kind:"embedding"}],serviceKinds:["llm","embedding","image","imageToText","webSearch","tts","stt"],ttsConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",format:"gemini-tts"},sttConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",format:"gemini-stt"},embeddingConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key"},imageConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models"},searchViaChat:{defaultModel:"gemini-2.5-flash",endpoint:"https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent",pricingUrl:"https://ai.google.dev/pricing",freeTier:"Free tier: 15 RPM, 1M tokens/day on gemini-2.5-flash via AI Studio."}},{id:"gemini-cli",priority:20,hasFree:!0,alias:"gc",uiAlias:"gc",display:{name:"Gemini CLI",icon:"terminal",color:"#4285F4",website:"https://github.com/google-gemini/gemini-cli",notice:{signupUrl:"https://github.com/google-gemini/gemini-cli"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"free",transport:{baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",format:"gemini-cli",cliVersion:"0.34.0",apiClient:"google-genai-sdk/1.41.0 gl-node/v22.19.0",usage:{quotaUrl:"https://cloudcode-pa.googleapis.com/v1internal:retrieveUserQuota",loadCodeAssistUrl:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist"},clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"},models:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"}],oauth:{authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile"],refresh:{encoding:"form"}},features:{usage:!0}},{id:"github",priority:40,alias:"gh",uiAlias:"gh",display:{name:"GitHub Copilot",icon:"code",color:"#333333",website:"https://github.com/features/copilot",notice:{signupUrl:"https://github.com/features/copilot"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",transport:{baseUrl:"https://api.githubcopilot.com/chat/completions",responsesUrl:"https://api.githubcopilot.com/responses",headers:{"copilot-integration-id":"vscode-chat","editor-version":"vscode/1.110.0","editor-plugin-version":"copilot-chat/0.38.0","user-agent":"GitHubCopilotChat/0.38.0","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:"application/json","Content-Type":"application/json"},copilot:{vscodeVersion:"1.110.0",chatVersion:"0.38.0",userAgent:"GitHubCopilotChat/0.38.0",apiVersion:"2025-04-01"},usage:{url:"https://api.github.com/copilot_internal/user"}},models:[{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-opus-4.5",name:"Claude Opus 4.5"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-opus-4.7",name:"Claude Opus 4.7"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro"},{id:"grok-code-fast-1",name:"Grok Code Fast 1"},{id:"oswe-vscode-prime",name:"Raptor Mini"},{id:"goldeneye-free-auto",name:"GoldenEye"},{id:"text-embedding-3-small",name:"Text Embedding 3 Small (GitHub)",kind:"embedding"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large (GitHub)",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://models.github.ai/inference/embeddings",authType:"apikey",authHeader:"bearer"},oauth:{clientId:"Iv1.b507a08c87ecfe98",authorizeUrl:"https://github.com/login/oauth/authorize",deviceCodeUrl:"https://github.com/login/device/code",tokenUrl:"https://github.com/login/oauth/access_token",userInfoUrl:"https://api.github.com/user",scopes:"read:user",apiVersion:"2022-11-28",copilotTokenUrl:"https://api.github.com/copilot_internal/v2/token",userAgent:"GitHubCopilotChat/0.26.7",editorVersion:"vscode/1.85.0",editorPluginVersion:"copilot-chat/0.26.7"},features:{usage:!0}},{id:"gitlab",hidden:!0,priority:100,display:{name:"GitLab Duo",icon:"code",color:"#FC6D26",textIcon:"GL",website:"https://gitlab.com",notice:{signupUrl:"https://gitlab.com"}},category:"oauth",transport:{baseUrl:"https://gitlab.com/api/v4/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},oauth:{defaultBaseUrl:"https://gitlab.com",authorizeUrlPath:"/oauth/authorize",tokenUrlPath:"/oauth/token",userInfoUrlPath:"/api/v4/user",scope:"api read_user",codeChallengeMethod:"S256"}},{id:"glm",priority:140,alias:"glm",display:{name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn",notice:{apiKeyUrl:"https://open.bigmodel.cn/usercenter/apikeys"}},category:"apikey",transport:{baseUrl:"https://api.z.ai/api/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{url:"https://api.z.ai/api/monitor/usage/quota/limit"}},transports:[{format:"openai",baseUrl:"https://api.z.ai/api/coding/paas/v4/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.z.ai/api/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"}],features:{usage:!0,usageApikey:!0}},{id:"glm-cn",priority:130,alias:"glm-cn",display:{name:"GLM (China)",icon:"code",color:"#DC2626",textIcon:"GC",website:"https://open.bigmodel.cn",notice:{apiKeyUrl:"https://open.bigmodel.cn/usercenter/apikeys"}},category:"apikey",transport:{baseUrl:"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",headers:{},usage:{url:"https://open.bigmodel.cn/api/monitor/usage/quota/limit"}},models:[{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM-4.7"},{id:"glm-4.6",name:"GLM-4.6"},{id:"glm-4.5-air",name:"GLM-4.5-Air"}],features:{usage:!0,usageApikey:!0}},{id:"google-pse",alias:"gpse",display:{name:"Google PSE",icon:"search",color:"#4285F4",textIcon:"GP",website:"https://programmablesearchengine.google.com",notice:{apiKeyUrl:"https://programmablesearchengine.google.com/controlpanel/create"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://www.googleapis.com/customsearch/v1",method:"GET",authType:"apikey",authHeader:"key",costPerQuery:.005,freeMonthlyQuota:3e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:10,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"google-tts",alias:"google-tts",display:{name:"Google TTS",icon:"record_voice_over",color:"#4285F4",textIcon:"GT"},category:"freeTier",authType:"none",serviceKinds:["tts"],mediaPriority:5,noAuth:!0,ttsConfig:{baseUrl:"google-tts",authType:"none",authHeader:"none",format:"google-tts",models:[]}},{id:"grok-web",priority:150,alias:"grok-web",aliases:["gw"],uiAlias:"gw",display:{name:"Grok Web (Subscription)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"GW",website:"https://grok.com"},category:"webCookie",authType:"cookie",authHint:"Paste your sso= cookie value from grok.com",transport:{baseUrl:"https://grok.com/rest/app-chat/conversations/new",format:"grok-web",authType:"cookie"},models:[{id:"grok-3",name:"Grok 3"},{id:"grok-3-mini",name:"Grok 3 Mini (Thinking)"},{id:"grok-3-thinking",name:"Grok 3 Thinking"},{id:"grok-4",name:"Grok 4"},{id:"grok-4-mini",name:"Grok 4 Mini (Thinking)"},{id:"grok-4-thinking",name:"Grok 4 Thinking"},{id:"grok-4-heavy",name:"Grok 4 Heavy (SuperGrok)"},{id:"grok-4.1-mini",name:"Grok 4.1 Mini (Thinking)"},{id:"grok-4.1-fast",name:"Grok 4.1 Fast"},{id:"grok-4.1-expert",name:"Grok 4.1 Expert"},{id:"grok-4.1-thinking",name:"Grok 4.1 Thinking"},{id:"grok-4.2",name:"Grok 4.2 (4.20 Beta)"}],passthroughModels:!0},{id:"groq",priority:60,hasFree:!0,alias:"groq",display:{name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com",notice:{apiKeyUrl:"https://console.groq.com/keys"}},category:"apikey",transport:{baseUrl:"https://api.groq.com/openai/v1/chat/completions",validateUrl:"https://api.groq.com/openai/v1/models"},models:[{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B"},{id:"whisper-large-v3",name:"Whisper Large v3",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"whisper-large-v3-turbo",name:"Whisper Large v3 Turbo",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"distil-whisper-large-v3-en",name:"Distil Whisper Large v3 EN",params:["language","response_format","temperature","prompt"],kind:"stt"}],serviceKinds:["llm","imageToText","stt"],sttConfig:{baseUrl:"https://api.groq.com/openai/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"}},{id:"huggingface",priority:70,hasFree:!0,alias:"huggingface",aliases:["hf"],uiAlias:"hf",display:{name:"HuggingFace",icon:"face",color:"#FFD21E",textIcon:"HF",website:"https://huggingface.co",notice:{apiKeyUrl:"https://huggingface.co/settings/tokens"}},category:"apikey",authType:"apikey",hiddenKinds:["tts"],transport:null,models:[{id:"black-forest-labs/FLUX.1-schnell",name:"FLUX.1 Schnell",params:[],kind:"image"},{id:"stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0",params:[],kind:"image"},{id:"openai/whisper-large-v3",name:"Whisper Large v3 (HF)",params:["language"],kind:"stt"},{id:"openai/whisper-small",name:"Whisper Small (HF)",params:["language"],kind:"stt"}],serviceKinds:["image","stt"],imageConfig:{baseUrl:"https://api-inference.huggingface.co/models"}},{id:"hyperbolic",priority:160,alias:"hyperbolic",aliases:["hyp"],uiAlias:"hyp",display:{name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz",notice:{apiKeyUrl:"https://app.hyperbolic.xyz/settings"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",validateUrl:"https://api.hyperbolic.xyz/v1/models"},models:[{id:"Qwen/QwQ-32B",name:"QwQ 32B"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3"},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"meta-llama/Llama-3.2-3B-Instruct",name:"Llama 3.2 3B"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B"},{id:"NousResearch/Hermes-3-Llama-3.1-70B",name:"Hermes 3 70B"}]},{id:"iflow",hidden:!0,priority:110,alias:"if",display:{name:"iFlow AI",icon:"water_drop",color:"#6366F1",website:"https://iflow.cn",notice:{signupUrl:"https://iflow.cn"}},category:"oauth",transport:{baseUrl:"https://apis.iflow.cn/v1/chat/completions",thinkingFormat:"openai",headers:{"User-Agent":"iFlow-Cli"}},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-max",name:"Qwen3 Max"},{id:"qwen3-vl-plus",name:"Qwen3 VL Plus"},{id:"qwen3-max-preview",name:"Qwen3 Max Preview"},{id:"qwen3-235b",name:"Qwen3 235B A22B"},{id:"qwen3-235b-a22b-instruct",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking"},{id:"qwen3-32b",name:"Qwen3 32B"},{id:"kimi-k2",name:"Kimi K2"},{id:"deepseek-v3.2",name:"DeepSeek V3.2 Exp"},{id:"deepseek-v3.1",name:"DeepSeek V3.1 Terminus"},{id:"deepseek-v3",name:"DeepSeek V3 671B"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"glm-4.7",name:"GLM 4.7"},{id:"iflow-rome-30ba3b",name:"iFlow ROME"}],oauth:{clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",authorizeUrl:"https://iflow.cn/oauth",tokenUrl:"https://iflow.cn/oauth/token",userInfoUrl:"https://iflow.cn/api/oauth/getUserInfo",extraParams:{loginMethod:"phone",type:"phone"},refreshLeadMs:864e5}},{id:"inworld",alias:"inworld",display:{name:"Inworld TTS",icon:"record_voice_over",color:"#FF6B6B",textIcon:"IW",website:"https://inworld.ai",notice:{text:"Free tier: 40 minutes/month TTS. Paid: TTS-1.5 Mini $0.01/min ($15/1M chars), TTS-1.5 Max $0.025/min ($30/1M chars). 270+ voices, 15 languages.",apiKeyUrl:"https://platform.inworld.ai/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.inworld.ai/tts/v1/voice",authType:"apikey",authHeader:"basic",format:"inworld",models:[{id:"inworld-tts-1.5-mini",name:"Inworld TTS 1.5 Mini ($0.01/min)"},{id:"inworld-tts-1.5-max",name:"Inworld TTS 1.5 Max ($0.025/min)"}]}},{id:"jina-ai",alias:"jina",display:{name:"Jina AI",icon:"blur_on",color:"#2563EB",textIcon:"JA",website:"https://jina.ai",notice:{text:"10M free tokens on signup (non-commercial), no credit card required.",apiKeyUrl:"https://jina.ai/?sui=apikey"}},category:"apikey",authType:"apikey",serviceKinds:["embedding"],embeddingConfig:{baseUrl:"https://api.jina.ai/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"jina-embeddings-v3",name:"Jina Embeddings v3",dimensions:1024},{id:"jina-embeddings-v2-base-en",name:"Jina Embeddings v2 Base EN",dimensions:768},{id:"jina-embeddings-v2-base-code",name:"Jina Embeddings v2 Base Code",dimensions:768}]}},{id:"jina-reader",alias:"jina-reader",display:{name:"Jina Reader",icon:"menu_book",color:"#000000",textIcon:"JR",website:"https://jina.ai/reader",notice:{apiKeyUrl:"https://jina.ai/?sui=apikey"}},category:"apikey",authType:"apikey",serviceKinds:["webFetch"],fetchConfig:{baseUrl:"https://r.jina.ai",method:"GET",authType:"apikey",authHeader:"bearer",costPerQuery:0,freeMonthlyQuota:1e6,formats:["markdown","text","html"],maxCharacters:2e5,timeoutMs:3e4}},{id:"kilocode",priority:70,alias:"kc",uiAlias:"kc",display:{name:"Kilo Code",icon:"code",color:"#FF6B35",textIcon:"KC",website:"https://kilocode.ai",notice:{signupUrl:"https://kilocode.ai"}},category:"oauth",transport:{baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",headers:{},auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["kilocodeOrg"]}},models:[{id:"anthropic/claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"anthropic/claude-opus-4-20250514",name:"Claude Opus 4"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"openai/gpt-4.1",name:"GPT-4.1"},{id:"openai/o3",name:"o3"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat"},{id:"deepseek/deepseek-reasoner",name:"DeepSeek Reasoner"}],oauth:{apiBaseUrl:"https://api.kilo.ai",initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"}},{id:"kimi",priority:170,alias:"kimi",display:{name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn",notice:{apiKeyUrl:"https://platform.moonshot.ai/console/api-keys"}},category:"apikey",transport:{baseUrl:"https://api.kimi.com/coding/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw"}},transports:[{format:"openai",baseUrl:"https://api.kimi.com/coding/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.kimi.com/coding/v1/messages",urlSuffix:"?beta=true",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}],serviceKinds:["llm","webSearch"],searchViaChat:{defaultModel:"kimi-k2.5",endpoint:"https://api.moonshot.cn/v1/chat/completions",pricingUrl:"https://platform.moonshot.ai/docs/pricing/chat"}},{id:"kimi-coding",hidden:!0,priority:120,alias:"kmc",display:{name:"Kimi Coding",icon:"psychology",color:"#1E40AF",textIcon:"KC",website:"https://kimi.moonshot.cn",notice:{signupUrl:"https://kimi.moonshot.cn"}},category:"oauth",transport:{baseUrl:"https://api.kimi.com/coding/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...d.Bi},clientId:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token",auth:{combined:!0,header:"x-api-key",scheme:"raw",hooks:["kimiHeaders"]}},transports:[{format:"openai",baseUrl:"https://api.kimi.com/coding/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["kimiHeaders"]}},{format:"claude",baseUrl:"https://api.kimi.com/coding/v1/messages",urlSuffix:"?beta=true",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw",hooks:["kimiHeaders"]}}],models:[{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}],oauth:{deviceCodeUrl:"https://auth.kimi.com/api/oauth/device_authorization",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshLeadMs:3e5},features:{usage:!0}},{id:"kiro",priority:10,alias:"kr",uiAlias:"kr",display:{name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35",website:"https://kiro.dev",notice:{signupUrl:"https://kiro.dev"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"free",transport:{baseUrl:"https://runtime.us-east-1.kiro.dev/generateAssistantResponse",baseUrls:["https://runtime.us-east-1.kiro.dev/generateAssistantResponse","https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse","https://q.us-east-1.amazonaws.com/generateAssistantResponse"],format:"kiro",retry:{429:0},headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","X-Amz-Target":"AmazonCodeWhispererStreamingService.GenerateAssistantResponse","User-Agent":"AWS-SDK-JS/3.0.0 kiro-ide/1.0.0","X-Amz-User-Agent":"aws-sdk-js/3.0.0 kiro-ide/1.0.0"},tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev",usage:{cwHost:"https://codewhisperer.us-east-1.amazonaws.com",qHost:"https://q.us-east-1.amazonaws.com",limitsPath:"/getUsageLimits"}},models:[{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"deepseek-3.2",name:"DeepSeek 3.2",strip:["image","audio"]},{id:"qwen3-coder-next",name:"Qwen3 Coder Next",strip:["image","audio"]},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"claude-sonnet-4.5-thinking",name:"Claude Sonnet 4.5 (Thinking)"},{id:"claude-haiku-4.5-thinking",name:"Claude Haiku 4.5 (Thinking)"},{id:"claude-sonnet-4.5-agentic",name:"Claude Sonnet 4.5 (Agentic)"},{id:"claude-haiku-4.5-agentic",name:"Claude Haiku 4.5 (Agentic)"},{id:"claude-sonnet-4.5-thinking-agentic",name:"Claude Sonnet 4.5 (Thinking + Agentic)"},{id:"claude-haiku-4.5-thinking-agentic",name:"Claude Haiku 4.5 (Thinking + Agentic)"}],oauth:{ssoOidcEndpoint:"https://oidc.us-east-1.amazonaws.com",registerClientUrl:"https://oidc.us-east-1.amazonaws.com/client/register",deviceAuthUrl:"https://oidc.us-east-1.amazonaws.com/device_authorization",tokenUrl:"https://oidc.us-east-1.amazonaws.com/token",startUrl:"https://view.awsapps.com/start",clientName:"kiro-oauth-client",clientType:"public",scopes:["codewhisperer:completions","codewhisperer:analysis","codewhisperer:conversations"],grantTypes:["urn:ietf:params:oauth:grant-type:device_code","refresh_token"],issuerUrl:"https://identitycenter.amazonaws.com/ssoins-722374e8c3c8e6c6",socialAuthEndpoint:"https://prod.us-east-1.auth.desktop.kiro.dev",socialLoginUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/login",socialTokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/oauth/token",socialRefreshUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authMethods:["builder-id","idc","google","github","import"]},features:{usage:!0,usageApikey:!0}},{id:"linkup",alias:"linkup",display:{name:"Linkup",icon:"link",color:"#0EA5E9",textIcon:"LK",website:"https://linkup.so",notice:{apiKeyUrl:"https://app.linkup.so/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://api.linkup.so/v1/search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.005,freeMonthlyQuota:1e3,searchTypes:["web"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"local-device",alias:"local-device",display:{name:"Local Device",icon:"speaker",color:"#64748B",textIcon:"LD"},category:"freeTier",authType:"none",serviceKinds:["tts"],mediaPriority:5,noAuth:!0,ttsConfig:{baseUrl:"local-device",authType:"none",authHeader:"none",format:"local-device",models:[]}},{id:"mimo-free",priority:50,hasFree:!0,alias:"mmf",uiAlias:"mmf",display:{name:"MiMo Code Free",icon:"smart_toy",color:"#FF6900",textIcon:"MF"},category:"free",noAuth:!0,transport:{baseUrl:"https://api.xiaomimimo.com/api/free-ai/openai/chat",noAuth:!0},models:[{id:"mimo-auto",name:"MiMo Auto"}],modelsFetcher:{url:"https://models.dev/api.json",type:"mimo-free"},passthroughModels:!0},{id:"minimax",priority:90,alias:"minimax",display:{name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com",notice:{apiKeyUrl:"https://platform.minimaxi.com/user-center/basic-information/interface-key"}},category:"apikey",transport:{baseUrl:"https://api.minimax.io/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...d.Bi},quirks:{dropOutputConfig:!0},reasoningInject:{scope:"all"},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{urls:["https://www.minimax.io/v1/token_plan/remains","https://api.minimax.io/v1/api/openplatform/coding_plan/remains"]}},transports:[{format:"openai",baseUrl:"https://api.minimax.io/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.minimax.io/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"MiniMax-M3",name:"MiniMax M3",targetFormat:"claude"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"},{id:"minimax-image-01",name:"MiniMax Image 01",params:["n","size","response_format"],kind:"image"},{id:"speech-2.8-hd",name:"Speech 2.8 HD",kind:"tts"},{id:"speech-2.8-turbo",name:"Speech 2.8 Turbo",kind:"tts"},{id:"speech-2.6-hd",name:"Speech 2.6 HD",kind:"tts"},{id:"speech-2.6-turbo",name:"Speech 2.6 Turbo",kind:"tts"},{id:"speech-02-hd",name:"Speech 02 HD",kind:"tts"},{id:"speech-02-turbo",name:"Speech 02 Turbo",kind:"tts"},{id:"speech-01-hd",name:"Speech 01 HD",kind:"tts"},{id:"speech-01-turbo",name:"Speech 01 Turbo",kind:"tts"}],serviceKinds:["llm","image","imageToText","webSearch","tts"],ttsConfig:{baseUrl:"https://api.minimax.io/v1/t2a_v2",authType:"apikey",authHeader:"bearer",format:"minimax-tts"},imageConfig:{baseUrl:"https://api.minimaxi.com/v1/images/generations"},searchViaChat:{defaultModel:"MiniMax-M2.7",endpoint:"https://api.minimaxi.com/v1/text/chatcompletion_v2",pricingUrl:"https://www.minimaxi.com/document/price"},features:{usage:!0,usageApikey:!0}},{id:"minimax-cn",priority:190,alias:"minimax-cn",display:{name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com",notice:{apiKeyUrl:"https://platform.minimaxi.com/user-center/basic-information/interface-key"}},category:"apikey",transport:{baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...d.Bi},quirks:{dropOutputConfig:!0},reasoningInject:{scope:"all"},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{urls:["https://www.minimaxi.com/v1/api/openplatform/coding_plan/remains","https://api.minimaxi.com/v1/api/openplatform/coding_plan/remains"]}},transports:[{format:"openai",baseUrl:"https://api.minimaxi.com/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"MiniMax-M3",name:"MiniMax M3",targetFormat:"claude"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"},{id:"speech-2.8-hd",name:"Speech 2.8 HD",kind:"tts"},{id:"speech-2.8-turbo",name:"Speech 2.8 Turbo",kind:"tts"},{id:"speech-2.6-hd",name:"Speech 2.6 HD",kind:"tts"},{id:"speech-2.6-turbo",name:"Speech 2.6 Turbo",kind:"tts"},{id:"speech-02-hd",name:"Speech 02 HD",kind:"tts"},{id:"speech-02-turbo",name:"Speech 02 Turbo",kind:"tts"},{id:"speech-01-hd",name:"Speech 01 HD",kind:"tts"},{id:"speech-01-turbo",name:"Speech 01 Turbo",kind:"tts"}],serviceKinds:["llm","tts"],ttsConfig:{baseUrl:"https://api.minimaxi.com/v1/t2a_v2",authType:"apikey",authHeader:"bearer",format:"minimax-tts"},features:{usage:!0,usageApikey:!0}},{id:"mistral",priority:80,alias:"mistral",display:{name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai",notice:{apiKeyUrl:"https://console.mistral.ai/api-keys"}},category:"apikey",transport:{baseUrl:"https://api.mistral.ai/v1/chat/completions",validateUrl:"https://api.mistral.ai/v1/models",quirks:{dropClientMetadata:!0}},models:[{id:"mistral-large-latest",name:"Mistral Large 3"},{id:"codestral-latest",name:"Codestral"},{id:"mistral-medium-latest",name:"Mistral Medium 3"},{id:"mistral-embed",name:"Mistral Embed",kind:"embedding"}],serviceKinds:["llm","imageToText","embedding"],embeddingConfig:{baseUrl:"https://api.mistral.ai/v1/embeddings",authType:"apikey",authHeader:"bearer"}},{id:"mmf",hidden:!0,priority:200,display:{name:"MMF",icon:"hub",color:"#6366F1",textIcon:"MF"},category:"apikey",transport:{baseUrl:"https://api.xiaomimimo.com/api/free-ai/openai/chat",noAuth:!0},models:[{id:"mimo-auto",name:"MiMo Auto"}]},{id:"nanobanana",priority:80,hasFree:!0,alias:"nanobanana",aliases:["nb"],uiAlias:"nb",display:{name:"NanoBanana API",icon:"extension",color:"#FFD700",textIcon:"\uD83C\uDF4C",website:"https://nanobananaapi.ai",notice:{text:"3rd-party proxy for Google Nano Banana (Gemini 2.5/3 Flash Image). For official, use Gemini provider.",apiKeyUrl:"https://nanobananaapi.ai/dashboard"}},category:"apikey",transport:{baseUrl:"https://api.nanobananaapi.ai/v1/chat/completions",validateUrl:"https://api.nanobananaapi.ai/v1/models"},models:[{id:"nanobanana-flash",name:"NanoBanana Flash",params:["n","size"],kind:"image"},{id:"nanobanana-pro",name:"NanoBanana Pro",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/generate",pollUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/record-info"}},{id:"nebius",priority:70,alias:"nebius",display:{name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com",notice:{apiKeyUrl:"https://studio.nebius.com/settings/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.studio.nebius.ai/v1/chat/completions",validateUrl:"https://api.studio.nebius.ai/v1/models"},models:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct"},{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen3 Embedding 8B",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.tokenfactory.nebius.com/v1/embeddings"}},{id:"nvidia",priority:20,hasFree:!0,alias:"nvidia",display:{name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://developer.nvidia.com/nim",notice:{text:"Free access for NVIDIA Developer Program members (prototyping & testing).",apiKeyUrl:"https://build.nvidia.com/settings/api-keys"}},category:"freeTier",transport:{baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",validateUrl:"https://integrate.api.nvidia.com/v1/models"},models:[{id:"minimaxai/minimax-m2.7",name:"Minimax M2.7"},{id:"z-ai/glm4.7",name:"GLM 4.7"},{id:"nvidia/nv-embedqa-e5-v5",name:"NV EmbedQA E5 v5",kind:"embedding"},{id:"nvidia/parakeet-ctc-1.1b-asr",name:"Parakeet CTC 1.1B",params:["language"],kind:"stt"},{id:"fastpitch",name:"FastPitch",kind:"tts"},{id:"tacotron2",name:"Tacotron2",kind:"tts"}],serviceKinds:["llm","tts","embedding"],ttsConfig:{baseUrl:"https://integrate.api.nvidia.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"nvidia-tts"},embeddingConfig:{baseUrl:"https://integrate.api.nvidia.com/v1/embeddings",authType:"apikey",authHeader:"bearer"}},{id:"ollama",priority:30,hasFree:!0,alias:"ollama",display:{name:"Ollama Cloud",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com",notice:{text:"Free tier: light usage, 1 cloud model at a time (limits reset every 5h & 7d). Pro $20/mo \xb7 Max $100/mo.",apiKeyUrl:"https://ollama.com/settings/keys"}},category:"freeTier",transport:{baseUrl:"https://ollama.com/api/chat",validateUrl:"https://ollama.com/api/tags",format:"ollama"},models:[{id:"gpt-oss:120b",name:"GPT OSS 120B"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"qwen3.5",name:"Qwen3.5"}],serviceKinds:["llm"],features:{usage:!0}},{id:"ollama-local",priority:50,hasFree:!0,alias:"ollama-local",display:{name:"Ollama Local",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com"},category:"apikey",transport:{baseUrl:"http://localhost:11434/api/chat",format:"ollama"},serviceKinds:["llm"]},{id:"openai",priority:30,alias:"openai",display:{name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com",notice:{apiKeyUrl:"https://platform.openai.com/api-keys"}},category:"apikey",thinkingConfig:{options:["auto","none","low","medium","high"],defaultMode:"auto"},transport:{baseUrl:"https://api.openai.com/v1/chat/completions",forceStream:!0},models:[{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-nano",name:"GPT-5 Nano"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini"},{id:"gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"o3",name:"O3"},{id:"o3-mini",name:"O3 Mini"},{id:"o3-pro",name:"O3 Pro"},{id:"o4-mini",name:"O4 Mini"},{id:"o1",name:"O1"},{id:"o1-mini",name:"O1 Mini"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",kind:"embedding"},{id:"text-embedding-3-small",name:"Text Embedding 3 Small",kind:"embedding"},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",kind:"embedding"},{id:"tts-1",name:"TTS-1",kind:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",kind:"tts"},{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",kind:"tts"},{id:"whisper-1",name:"Whisper 1",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-4o-transcribe",name:"GPT-4o Transcribe",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-4o-mini-transcribe",name:"GPT-4o Mini Transcribe",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-image-1",name:"GPT Image 1",params:["n","size","quality","response_format"],kind:"image"},{id:"dall-e-3",name:"DALL-E 3",params:["size","quality","style","response_format"],kind:"image"},{id:"dall-e-2",name:"DALL-E 2",params:["n","size","response_format"],kind:"image"}],serviceKinds:["llm","embedding","tts","stt","image","imageToText","webSearch"],ttsConfig:{baseUrl:"https://api.openai.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"openai",defaultModel:"gpt-4o-mini-tts"},sttConfig:{baseUrl:"https://api.openai.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"},embeddingConfig:{baseUrl:"https://api.openai.com/v1/embeddings",authType:"apikey",authHeader:"bearer"},imageConfig:{baseUrl:"https://api.openai.com/v1/images/generations"},searchViaChat:{defaultModel:"gpt-4o-mini",pricingUrl:"https://openai.com/api/pricing"}},{id:"opencode",priority:40,hasFree:!0,alias:"oc",uiAlias:"oc",display:{name:"OpenCode Free",icon:"terminal",color:"#E87040",textIcon:"OC"},category:"free",noAuth:!0,transport:{baseUrl:"https://opencode.ai",headers:{"x-opencode-client":"desktop"},noAuth:!0},models:[],modelsFetcher:{url:"https://opencode.ai/zen/v1/models",type:"opencode-free"},passthroughModels:!0},{id:"opencode-go",priority:210,alias:"opencode-go",aliases:["ocg"],uiAlias:"ocg",display:{name:"OpenCode Go",icon:"terminal",color:"#E87040",textIcon:"OC",website:"https://opencode.ai/auth",notice:{text:"OpenCode Go subscription: $5/mo (then 0/mo). Access to Kimi, GLM, Qwen, MiMo, MiniMax models.",apiKeyUrl:"https://opencode.ai/auth"}},category:"apikey",transport:{baseUrl:"https://opencode.ai/zen/go/v1/chat/completions",headers:{}},models:[{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.1",name:"GLM 5.1"},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code"},{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"mimo-v2.5",name:"MiMo V2.5"},{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro"},{id:"minimax-m3",name:"MiniMax M3",targetFormat:"claude"},{id:"minimax-m2.7",name:"MiniMax M2.7",targetFormat:"claude"},{id:"minimax-m2.5",name:"MiniMax M2.5",targetFormat:"claude"},{id:"qwen3.7-max",name:"Qwen 3.7 Max",targetFormat:"claude"},{id:"qwen3.7-plus",name:"Qwen 3.7 Plus",targetFormat:"claude"},{id:"qwen3.6-plus",name:"Qwen 3.6 Plus",targetFormat:"claude"}]},{id:"openrouter",priority:10,hasFree:!0,alias:"openrouter",display:{name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",website:"https://openrouter.ai",notice:{text:"Free tier: 27+ free models, no credit card needed, 200 req/day. After 0 credit: 1,000 req/day.",apiKeyUrl:"https://openrouter.ai/settings/keys"}},category:"freeTier",transport:{baseUrl:"https://openrouter.ai/api/v1/chat/completions",thinkingFormat:"openai",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},models:[{id:"openai/text-embedding-3-large",name:"OpenAI Text Embedding 3 Large",kind:"embedding"},{id:"openai/text-embedding-3-small",name:"OpenAI Text Embedding 3 Small",kind:"embedding"},{id:"openai/text-embedding-ada-002",name:"OpenAI Text Embedding Ada 002",kind:"embedding"},{id:"qwen/qwen3-embedding-8b",name:"Qwen3 Embedding 8B",kind:"embedding"},{id:"perplexity/pplx-embed-v1-4b",name:"Perplexity Embed V1 4B",kind:"embedding"},{id:"perplexity/pplx-embed-v1-0.6b",name:"Perplexity Embed V1 0.6B",kind:"embedding"},{id:"nvidia/llama-nemotron-embed-vl-1b-v2:free",name:"NVIDIA Nemotron Embed VL 1B V2 (Free)",kind:"embedding"},{id:"openai/gpt-4o-mini-tts",name:"GPT-4o Mini TTS",kind:"tts"},{id:"openai/tts-1-hd",name:"TTS-1 HD",kind:"tts"},{id:"openai/tts-1",name:"TTS-1",kind:"tts"},{id:"openai/dall-e-3",name:"DALL-E 3 (via OpenRouter)",params:["size","quality","style","response_format"],kind:"image"},{id:"openai/gpt-image-1",name:"GPT Image 1 (via OpenRouter)",params:["n","size","quality","response_format"],kind:"image"},{id:"google/imagen-3.0-generate-002",name:"Imagen 3 (via OpenRouter)",params:["n","size"],kind:"image"},{id:"black-forest-labs/FLUX.1-schnell",name:"FLUX.1 Schnell (via OpenRouter)",params:["n","size"],kind:"image"}],serviceKinds:["llm","embedding","tts","imageToText"],ttsConfig:{baseUrl:"https://openrouter.ai/api/v1/chat/completions",defaultModel:"openai/gpt-4o-mini-tts",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},embeddingConfig:{baseUrl:"https://openrouter.ai/api/v1/embeddings",authType:"apikey",authHeader:"bearer",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},imageConfig:{baseUrl:"https://openrouter.ai/api/v1/images/generations",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},modelsFetcher:{url:"https://openrouter.ai/api/v1/models",type:"openrouter-free"},passthroughModels:!0},{id:"perplexity",priority:180,alias:"perplexity",aliases:["pplx"],uiAlias:"pplx",display:{name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai",notice:{apiKeyUrl:"https://www.perplexity.ai/settings/api"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.perplexity.ai/chat/completions",validateUrl:"https://api.perplexity.ai/models"},models:[{id:"sonar-pro",name:"Sonar Pro"},{id:"sonar",name:"Sonar"}],serviceKinds:["llm","webSearch"],searchViaChat:{defaultModel:"sonar",endpoint:"https://api.perplexity.ai/chat/completions",pricingUrl:"https://docs.perplexity.ai/guides/pricing"}},{id:"perplexity-web",priority:220,alias:"perplexity-web",aliases:["pw"],uiAlias:"pw",display:{name:"Perplexity Web (Pro/Max)",icon:"search",color:"#20808D",textIcon:"PW",website:"https://www.perplexity.ai"},category:"webCookie",authType:"cookie",authHint:"Paste your __Secure-next-auth.session-token cookie value from perplexity.ai",transport:{baseUrl:"https://www.perplexity.ai/rest/sse/perplexity_ask",format:"perplexity-web",authType:"cookie"},models:[{id:"pplx-auto",name:"Perplexity Auto (Free)"},{id:"pplx-sonar",name:"Perplexity Sonar"},{id:"pplx-gpt",name:"GPT-5.4 (via Perplexity)"},{id:"pplx-gemini",name:"Gemini 3.1 Pro (via Perplexity)"},{id:"pplx-sonnet",name:"Claude Sonnet 4.6 (via Perplexity)"},{id:"pplx-opus",name:"Claude Opus 4.6 (via Perplexity)"},{id:"pplx-nemotron",name:"Nemotron 3 Super (via Perplexity)"}]},{id:"playht",alias:"playht",display:{name:"PlayHT",icon:"play_circle",color:"#00B4D8",textIcon:"PH",website:"https://play.ht",notice:{apiKeyUrl:"https://play.ht/studio/api-access"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.play.ht/api/v2/tts/stream",authType:"apikey",authHeader:"playht",format:"playht",models:[{id:"PlayDialog",name:"PlayDialog"},{id:"Play3.0-mini",name:"Play 3.0 Mini"}]},hidden:!0},{id:"qoder",priority:30,alias:"qd",uiAlias:"qd",display:{name:"Qoder",icon:"water_drop",color:"#EC4899",website:"https://qoder.com",notice:{signupUrl:"https://qoder.com"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"free",transport:{baseUrl:"https://api3.qoder.sh/algo/api/v2/service/pro/sse/agent_chat_generation",headers:{},timeoutMs:12e4,stallTimeoutMs:12e4,usage:{url:"https://openapi.qoder.sh/api/v2/quota/usage"}},models:[{id:"qmodel_latest",name:"Qoder Qwen 3.7 Max"}],oauth:{openApiBaseUrl:"https://openapi.qoder.sh",centerBaseUrl:"https://center.qoder.sh",chatBaseUrl:"https://api3.qoder.sh",deviceTokenUrl:"https://openapi.qoder.sh/api/v1/deviceToken/poll",refreshUrl:"https://center.qoder.sh/algo/api/v3/user/refresh_token",userInfoUrl:"https://openapi.qoder.sh/api/v1/userinfo",quotaUsageUrl:"https://openapi.qoder.sh/api/v2/quota/usage",loginUrl:"https://qoder.com/device/selectAccounts"},features:{usage:!0}},{id:"qwen",hidden:!0,priority:130,alias:"qw",display:{name:"Qwen Code",icon:"psychology",color:"#10B981",website:"https://chat.qwen.ai",notice:{signupUrl:"https://chat.qwen.ai"}},category:"oauth",transport:{baseUrl:"https://portal.qwen.ai/v1/chat/completions"},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash"},{id:"vision-model",name:"Qwen3 Vision Model"},{id:"coder-model",name:"Qwen3.6 Coder Model"}],oauth:{clientId:"f0304373b74a44d2b584a3fb70ca9e56",deviceCodeUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",scope:"openid profile email model.completion",codeChallengeMethod:"S256",refreshLeadMs:12e5}},{id:"recraft",priority:70,alias:"recraft",display:{name:"Recraft",icon:"image",color:"#EC4899",textIcon:"RC",website:"https://recraft.ai",notice:{apiKeyUrl:"https://www.recraft.ai/profile/api"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"recraftv3",name:"Recraft V3",params:["n","size","style"],kind:"image"},{id:"recraftv2",name:"Recraft V2",params:["n","size","style"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://external.api.recraft.ai/v1/images/generations"}},{id:"runwayml",priority:80,alias:"runwayml",aliases:["runway"],uiAlias:"runway",display:{name:"Runway ML",icon:"movie",color:"#000000",textIcon:"RW",website:"https://runwayml.com",notice:{apiKeyUrl:"https://dev.runwayml.com"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"gen4_image",name:"Gen-4 Image",params:["size"],kind:"image"},{id:"gen4_image_turbo",name:"Gen-4 Image Turbo",params:["size"],kind:"image"},{id:"gen4_turbo",name:"Gen-4 Turbo",params:[],kind:"video"},{id:"gen3a_turbo",name:"Gen-3 Alpha Turbo",params:[],kind:"video"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.dev.runwayml.com/v1"}},{id:"sdwebui",priority:110,alias:"sdwebui",display:{name:"SD WebUI",icon:"brush",color:"#FF7043",textIcon:"SD",website:"https://github.com/AUTOMATIC1111/stable-diffusion-webui"},category:"apikey",transport:null,models:[{id:"stable-diffusion-v1-5",name:"Stable Diffusion v1.5",params:["n","size"],kind:"image"},{id:"sdxl-base-1.0",name:"SDXL Base 1.0",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"http://localhost:7860/sdapi/v1/txt2img"}},{id:"searchapi",alias:"searchapi",display:{name:"SearchAPI",icon:"search",color:"#0EA5A4",textIcon:"SA",website:"https://www.searchapi.io",notice:{apiKeyUrl:"https://www.searchapi.io/dashboard"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://www.searchapi.io/api/v1/search",method:"GET",authType:"apikey",authHeader:"api_key",costPerQuery:.004,freeMonthlyQuota:100,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"searxng",alias:"searxng",display:{name:"SearXNG",icon:"saved_search",color:"#3B82F6",textIcon:"SX",website:"https://docs.searxng.org"},category:"freeTier",authType:"none",serviceKinds:["webSearch"],noAuth:!0,searchConfig:{baseUrl:"http://localhost:8888/search",method:"GET",authType:"none",authHeader:"none",costPerQuery:0,freeMonthlyQuota:999999,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:18e4}},{id:"serper",alias:"serper",display:{name:"Serper",icon:"search",color:"#4F46E5",textIcon:"SP",website:"https://serper.dev",notice:{apiKeyUrl:"https://serper.dev/api-key"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://google.serper.dev",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.001,freeMonthlyQuota:2500,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"siliconflow",priority:250,alias:"siliconflow",display:{name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com",notice:{apiKeyUrl:"https://cloud.siliconflow.com/account/ak"}},category:"apikey",transport:{baseUrl:"https://api.siliconflow.com/v1/chat/completions",validateUrl:"https://api.siliconflow.com/v1/models",thinkingFormat:"openai"},models:[{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro"},{id:"deepseek-ai/DeepSeek-V4-Flash",name:"DeepSeek V4 Flash"},{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V3.2-Exp",name:"DeepSeek V3.2 Exp"},{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1"},{id:"deepseek-ai/DeepSeek-V3.1-Terminus",name:"DeepSeek V3.1 Terminus"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen 3.5 397B A17B"},{id:"Qwen/Qwen3.5-122B-A10B",name:"Qwen 3.5 122B A10B"},{id:"zai-org/GLM-5.1",name:"GLM 5.1"},{id:"zai-org/GLM-5",name:"GLM 5"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B"},{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"inclusionAI/Ling-flash-2.0",name:"Ling Flash 2.0"}]},{id:"stability-ai",priority:60,alias:"stability-ai",aliases:["stability"],uiAlias:"stability",display:{name:"Stability AI",icon:"image",color:"#8B5CF6",textIcon:"SA",website:"https://stability.ai",notice:{apiKeyUrl:"https://platform.stability.ai/account/keys"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"stable-image-ultra",name:"Stable Image Ultra",params:["size"],kind:"image"},{id:"stable-image-core",name:"Stable Image Core",params:["size","style"],kind:"image"},{id:"sd3.5-large",name:"Stable Diffusion 3.5 Large",params:["size"],kind:"image"},{id:"sd3.5-large-turbo",name:"Stable Diffusion 3.5 Large Turbo",params:["size"],kind:"image"},{id:"sd3.5-medium",name:"Stable Diffusion 3.5 Medium",params:["size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.stability.ai/v2beta/stable-image/generate"}},{id:"tavily",alias:"tavily",display:{name:"Tavily",icon:"search",color:"#5B21B6",textIcon:"TV",website:"https://tavily.com",notice:{apiKeyUrl:"https://app.tavily.com/home"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch","webFetch"],searchConfig:{baseUrl:"https://api.tavily.com/search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.008,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5},fetchConfig:{baseUrl:"https://api.tavily.com/extract",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.008,freeMonthlyQuota:1e3,formats:["markdown","text"],maxCharacters:1e5,timeoutMs:15e3}},{id:"together",priority:60,alias:"together",display:{name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai",notice:{apiKeyUrl:"https://api.together.xyz/settings/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.together.xyz/v1/chat/completions",validateUrl:"https://api.together.xyz/v1/models"},models:[{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Turbo"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"},{id:"BAAI/bge-large-en-v1.5",name:"BGE Large EN v1.5",kind:"embedding"},{id:"togethercomputer/m2-bert-80M-8k-retrieval",name:"M2 BERT 80M 8K",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.together.xyz/v1/embeddings"}},{id:"topaz",alias:"topaz",display:{name:"Topaz",icon:"image",color:"#059669",textIcon:"TP",website:"https://topazlabs.com",notice:{apiKeyUrl:"https://topazlabs.com/account"}},category:"apikey",authType:"apikey",serviceKinds:["image"]},{id:"tortoise",alias:"tortoise",display:{name:"Tortoise TTS",icon:"record_voice_over",color:"#7C3AED",textIcon:"TT",website:"https://github.com/neonbjb/tortoise-tts"},category:"freeTier",authType:"none",serviceKinds:["tts"],noAuth:!0,ttsConfig:{baseUrl:"http://localhost:5000/api/tts",authType:"none",authHeader:"none",format:"tortoise",models:[{id:"tortoise-v2",name:"Tortoise v2"}]},hidden:!0},{id:"vercel-ai-gateway",priority:160,alias:"vercel-ai-gateway",aliases:["vercel"],uiAlias:"vercel",display:{name:"Vercel AI Gateway",icon:"deployed_code",color:"#111827",textIcon:"VG",website:"https://vercel.com/ai-gateway",notice:{text:"Unified OpenAI-compatible endpoint from Vercel. Use your AI Gateway API key, then pick models with provider/model IDs like anthropic/claude-sonnet-4.6 or openai/gpt-5.4.",apiKeyUrl:"https://vercel.com/dashboard/~/ai-gateway"}},category:"apikey",transport:{baseUrl:"https://ai-gateway.vercel.sh/v1/chat/completions",thinkingFormat:"openai",retry:{429:2},usage:{url:"https://ai-gateway.vercel.sh/v1/credits"}},serviceKinds:["llm","embedding","image","imageToText","webSearch"],embeddingConfig:{baseUrl:"https://ai-gateway.vercel.sh/v1/embeddings"},imageConfig:{baseUrl:"https://ai-gateway.vercel.sh/v1/images/generations"},searchViaChat:{defaultModel:"openai/gpt-4o-mini",pricingUrl:"https://vercel.com/docs/ai-gateway/pricing"},modelsFetcher:{url:"https://ai-gateway.vercel.sh/v1/models",type:"openai"},passthroughModels:!0,features:{usage:!0,usageApikey:!0}},{id:"vertex",priority:40,alias:"vertex",aliases:["vx"],uiAlias:"vx",display:{name:"Vertex AI",icon:"cloud",color:"#4285F4",textIcon:"VX",website:"https://cloud.google.com/vertex-ai",notice:{text:"New Google Cloud accounts get $300 free credits. Requires GCP project + Service Account with Vertex AI API enabled.",apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}},category:"freeTier",transport:{baseUrl:"https://aiplatform.googleapis.com",format:"vertex"},models:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"}],serviceKinds:["llm","imageToText"]},{id:"vertex-partner",priority:260,alias:"vertex-partner",aliases:["vxp"],uiAlias:"vxp",display:{name:"Vertex Partner",icon:"cloud",color:"#34A853",textIcon:"VP",website:"https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models",notice:{apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}},category:"apikey",transport:{baseUrl:"https://aiplatform.googleapis.com"},models:[{id:"deepseek-ai/deepseek-v3.2-maas",name:"DeepSeek V3.2 (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-thinking-maas",name:"Qwen3 Next 80B Thinking (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-instruct-maas",name:"Qwen3 Next 80B Instruct (Vertex)"},{id:"zai-org/glm-5-maas",name:"GLM-5 (Vertex)"}]},{id:"volcengine-ark",priority:270,alias:"volcengine-ark",aliases:["ark"],uiAlias:"ark",display:{name:"Volcengine Ark",icon:"cloud",color:"#1677FF",textIcon:"ARK",website:"https://ark.cn-beijing.volces.com",notice:{apiKeyUrl:"https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey"}},category:"apikey",transport:{baseUrl:"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",headers:{}},models:[{id:"Doubao-Seed-2.0-Code",name:"Doubao-Seed-2.0-Code"},{id:"Doubao-Seed-2.0-pro",name:"Doubao-Seed-2.0-pro"},{id:"Doubao-Seed-2.0-lite",name:"Doubao-Seed-2.0-lite"},{id:"Doubao-Seed-Code",name:"Doubao-Seed-Code"},{id:"DeepSeek-V4-Flash",name:"DeepSeek-V4-Flash"},{id:"DeepSeek-V4-Pro",name:"DeepSeek-V4-Pro"},{id:"GLM-5.1",name:"GLM-5.1"},{id:"MiniMax-M2.7",name:"MiniMax-M2.7"},{id:"Kimi-K2.6",name:"Kimi-K2.6"}]},{id:"voyage-ai",priority:40,alias:"voyage-ai",uiAlias:"voyage",display:{name:"Voyage AI",icon:"data_array",color:"#0EA5E9",textIcon:"VG",website:"https://www.voyageai.com",notice:{apiKeyUrl:"https://dash.voyageai.com/api-keys"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"voyage-3-large",name:"Voyage 3 Large",kind:"embedding"},{id:"voyage-3.5",name:"Voyage 3.5",kind:"embedding"},{id:"voyage-3.5-lite",name:"Voyage 3.5 Lite",kind:"embedding"},{id:"voyage-code-3",name:"Voyage Code 3",kind:"embedding"},{id:"voyage-finance-2",name:"Voyage Finance 2",kind:"embedding"},{id:"voyage-law-2",name:"Voyage Law 2",kind:"embedding"},{id:"voyage-multilingual-2",name:"Voyage Multilingual 2",kind:"embedding"}],serviceKinds:["embedding"],embeddingConfig:{baseUrl:"https://api.voyageai.com/v1/embeddings"}},{id:"xai",priority:280,alias:"xai",display:{name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai",notice:{apiKeyUrl:"https://console.x.ai"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://api.x.ai/v1/chat/completions",validateUrl:"https://api.x.ai/v1/models",responsesUrl:"https://api.x.ai/v1/responses",clientId:"b1a00492-073a-47ea-816f-4c329264a828",tokenUrl:"https://auth.x.ai/oauth2/token",refreshUrl:"https://auth.x.ai/oauth2/token"},models:[{id:"grok-4",name:"Grok 4"},{id:"grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning"},{id:"grok-code-fast-1",name:"Grok Code Fast"},{id:"grok-3",name:"Grok 3"},{id:"grok-2-image-1212",name:"Grok 2 Image",params:["n","response_format"],kind:"image"}],serviceKinds:["llm","imageToText","webSearch","image"],imageConfig:{baseUrl:"https://api.x.ai/v1/images/generations",bodyFields:["model","prompt","n","response_format"]},searchViaChat:{defaultModel:"grok-4.20-reasoning",endpoint:"https://api.x.ai/v1/responses",pricingUrl:"https://x.ai/api#pricing"}},{id:"xiaomi-mimo",priority:290,alias:"xiaomi-mimo",aliases:["mimo"],uiAlias:"mimo",display:{name:"Xiaomi MiMo",icon:"smart_toy",color:"#FF6900",textIcon:"XM",website:"https://xiaomimimo.com",notice:{apiKeyUrl:"https://xiaomimimo.com"}},category:"apikey",transport:{baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",validateUrl:"https://api.xiaomimimo.com/v1/models"},transports:[{format:"openai",baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.xiaomimimo.com/anthropic/v1/messages",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro"},{id:"mimo-v2.5",name:"MiMo V2.5"},{id:"mimo-v2-omni",name:"MiMo V2 Omni"},{id:"mimo-v2-flash",name:"MiMo V2 Flash"}]},{id:"xiaomi-tokenplan",priority:300,alias:"xiaomi-tokenplan",aliases:["xmtp"],uiAlias:"xmtp",display:{name:"Xiaomi MiMo (Token Plan)",icon:"smart_toy",color:"#FF6700",textIcon:"XT",website:"https://mimo.xiaomi.com",notice:{text:"Xiaomi MiMo Token Plan subscription (API key starts with tp-). Token Plan keys are cluster-specific — select the region matching your subscription.",apiKeyUrl:"https://mimo.xiaomi.com"}},category:"apikey",hasProviderSpecificData:!0,defaultRegion:"sgp",transport:{baseUrl:"https://token-plan-sgp.xiaomimimo.com/v1/chat/completions",regions:{sgp:"https://token-plan-sgp.xiaomimimo.com/v1",cn:"https://token-plan-cn.xiaomimimo.com/v1",ams:"https://token-plan-ams.xiaomimimo.com/v1"},defaultRegion:"sgp"},transports:[{format:"openai",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro"},{id:"mimo-v2.5-pro-claude",name:"MiMo V2.5 Pro (Claude Native)",targetFormat:"claude",upstreamModelId:"mimo-v2.5-pro"},{id:"mimo-v2.5",name:"MiMo V2.5"},{id:"mimo-v2-pro",name:"MiMo V2 Pro"},{id:"mimo-v2-omni",name:"MiMo V2 Omni"},{id:"mimo-v2-tts",name:"MiMo V2 TTS"},{id:"mimo-v2.5-tts",name:"MiMo V2.5 TTS"},{id:"mimo-v2.5-tts-voiceclone",name:"MiMo V2.5 TTS Voice Clone"},{id:"mimo-v2.5-tts-voicedesign",name:"MiMo V2.5 TTS Voice Design"}]},{id:"youcom",alias:"youcom",display:{name:"You.com Search",icon:"search",color:"#7C3AED",textIcon:"YC",website:"https://you.com",notice:{apiKeyUrl:"https://api.you.com"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://ydc-index.io/v1/search",method:"GET",authType:"apikey",authHeader:"x-api-key",costPerQuery:.005,freeMonthlyQuota:0,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}}]},74129:(a,b,c)=>{"use strict";c.d(b,{$B:()=>g,Bi:()=>f,Es:()=>h,XP:()=>j,b8:()=>e,ky:()=>i,w3:()=>k});var d=c(21820);let e="2023-06-01",f={"Anthropic-Version":e,"Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},g={"Anthropic-Version":e,"Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/2.1.92 (external, sdk-cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.14.0","X-Stainless-Package-Version":"0.80.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":function(){switch((0,d.arch)()){case"x64":return"x64";case"arm64":return"arm64";case"ia32":return"x86";default:return`other::${(0,d.arch)()}`}}(),"X-Stainless-Os":function(){switch((0,d.platform)()){case"darwin":return"MacOS";case"win32":return"Windows";case"linux":return"Linux";case"freebsd":return"FreeBSD";default:return`Other::${(0,d.platform)()}`}}(),"X-Stainless-Timeout":"600"},h="https://api.openai.com/v1",i="https://api.anthropic.com/v1",j={clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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"},k={clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"}},78335:()=>{},96487:()=>{}};
|