@amir83nasr/10router 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -0
- package/.next/app-path-routes-manifest.json +169 -0
- package/.next/build-manifest.json +20 -0
- package/.next/export-marker.json +6 -0
- package/.next/images-manifest.json +68 -0
- package/.next/next-minimal-server.js.nft.json +1 -0
- package/.next/next-server.js.nft.json +1 -0
- package/.next/package.json +1 -0
- package/.next/prerender-manifest.json +633 -0
- package/.next/react-loadable-manifest.json +11 -0
- package/.next/required-server-files.json +410 -0
- package/.next/routes-manifest.json +1132 -0
- package/.next/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -0
- package/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +40 -0
- package/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -0
- package/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -0
- package/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/combos/page.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -0
- package/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/console-log/page.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -0
- package/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/endpoint/page.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -0
- package/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/[id]/page.js +10 -0
- package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/[id]/page.js.nft.json +1 -0
- package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/[id]/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/page.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/page.js.nft.json +1 -0
- package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/page.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -0
- package/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/profile/page.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -0
- package/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +21 -0
- package/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -0
- package/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/providers/new/page.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -0
- package/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/providers/page.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -0
- package/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js +4 -0
- package/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -0
- package/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -0
- package/.next/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/quota/page.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -0
- package/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/token-saver/page.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -0
- package/.next/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/usage/page.js +1 -0
- package/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -0
- package/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -0
- package/.next/server/app/_global-error/page.js +31 -0
- package/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -0
- package/.next/server/app/_global-error.html +1 -0
- package/.next/server/app/_global-error.meta +27 -0
- package/.next/server/app/_global-error.rsc +14 -0
- package/.next/server/app/_global-error.segments/_full.segment.rsc +14 -0
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +20 -0
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/.next/server/app/_not-found/page.js +1 -0
- package/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
- package/.next/server/app/_not-found.html +1 -0
- package/.next/server/app/_not-found.meta +27 -0
- package/.next/server/app/_not-found.rsc +24 -0
- package/.next/server/app/_not-found.segments/_full.segment.rsc +24 -0
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +27 -0
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +6 -0
- package/.next/server/app/api/auth/login/route.js +3 -0
- package/.next/server/app/api/auth/login/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/logout/route.js +1 -0
- package/.next/server/app/api/auth/logout/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/oidc/callback/route.js +1 -0
- package/.next/server/app/api/auth/oidc/callback/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/oidc/callback/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/oidc/start/route.js +1 -0
- package/.next/server/app/api/auth/oidc/start/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/oidc/start/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/oidc/test/route.js +1 -0
- package/.next/server/app/api/auth/oidc/test/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/oidc/test/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/reset-password/route.js +1 -0
- package/.next/server/app/api/auth/reset-password/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/reset-password/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/saml/acs/route.js +3 -0
- package/.next/server/app/api/auth/saml/acs/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/saml/acs/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/saml/metadata/route.js +3 -0
- package/.next/server/app/api/auth/saml/metadata/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/saml/metadata/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/saml/start/route.js +3 -0
- package/.next/server/app/api/auth/saml/start/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/saml/start/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/saml/test/route.js +3 -0
- package/.next/server/app/api/auth/saml/test/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/saml/test/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/status/route.js +3 -0
- package/.next/server/app/api/auth/status/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/changelog/route.js +1 -0
- package/.next/server/app/api/changelog/route.js.nft.json +1 -0
- package/.next/server/app/api/changelog/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/cli-tools/all-statuses/route.js +1 -0
- package/.next/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -0
- package/.next/server/app/api/cli-tools/all-statuses/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/cli-tools/claude-settings/route.js +2 -0
- package/.next/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -0
- package/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/cli-tools/codex-settings/route.js +2 -0
- package/.next/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -0
- package/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -0
- package/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -0
- package/.next/server/app/api/cli-tools/cowork-mcp-registry/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -0
- package/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -0
- package/.next/server/app/api/cli-tools/cowork-mcp-tools/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/cli-tools/cowork-settings/route.js +2 -0
- package/.next/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -0
- package/.next/server/app/api/cli-tools/cowork-settings/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/cli-tools/dsh-settings/route.js +1 -0
- package/.next/server/app/api/cli-tools/dsh-settings/route.js.nft.json +1 -0
- package/.next/server/app/api/cli-tools/dsh-settings/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/cli-tools/opencode-settings/route.js +2 -0
- package/.next/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -0
- package/.next/server/app/api/cli-tools/opencode-settings/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/combos/[id]/route.js +1 -0
- package/.next/server/app/api/combos/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/combos/route.js +1 -0
- package/.next/server/app/api/combos/route.js.nft.json +1 -0
- package/.next/server/app/api/combos/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/headroom/extras/route.js +1 -0
- package/.next/server/app/api/headroom/extras/route.js.nft.json +1 -0
- package/.next/server/app/api/headroom/extras/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/headroom/proxy/[...path]/route.js +1 -0
- package/.next/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -0
- package/.next/server/app/api/headroom/proxy/[...path]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/headroom/restart/route.js +1 -0
- package/.next/server/app/api/headroom/restart/route.js.nft.json +1 -0
- package/.next/server/app/api/headroom/restart/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/headroom/start/route.js +1 -0
- package/.next/server/app/api/headroom/start/route.js.nft.json +1 -0
- package/.next/server/app/api/headroom/start/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/headroom/status/route.js +1 -0
- package/.next/server/app/api/headroom/status/route.js.nft.json +1 -0
- package/.next/server/app/api/headroom/status/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/headroom/stop/route.js +1 -0
- package/.next/server/app/api/headroom/stop/route.js.nft.json +1 -0
- package/.next/server/app/api/headroom/stop/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/health/route.js +1 -0
- package/.next/server/app/api/health/route.js.nft.json +1 -0
- package/.next/server/app/api/health/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/init/route.js +1 -0
- package/.next/server/app/api/init/route.js.nft.json +1 -0
- package/.next/server/app/api/init/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/keys/[id]/route.js +1 -0
- package/.next/server/app/api/keys/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/keys/route.js +1 -0
- package/.next/server/app/api/keys/route.js.nft.json +1 -0
- package/.next/server/app/api/keys/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/locale/route.js +1 -0
- package/.next/server/app/api/locale/route.js.nft.json +1 -0
- package/.next/server/app/api/locale/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/mcp/[plugin]/message/route.js +7 -0
- package/.next/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -0
- package/.next/server/app/api/mcp/[plugin]/message/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/mcp/[plugin]/sse/route.js +10 -0
- package/.next/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -0
- package/.next/server/app/api/mcp/[plugin]/sse/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -0
- package/.next/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -0
- package/.next/server/app/api/media-providers/tts/deepgram/voices/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -0
- package/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -0
- package/.next/server/app/api/media-providers/tts/elevenlabs/voices/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/media-providers/tts/inworld/voices/route.js +1 -0
- package/.next/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -0
- package/.next/server/app/api/media-providers/tts/inworld/voices/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/media-providers/tts/minimax/voices/route.js +1 -0
- package/.next/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -0
- package/.next/server/app/api/media-providers/tts/minimax/voices/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/media-providers/tts/voices/route.js +1 -0
- package/.next/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -0
- package/.next/server/app/api/media-providers/tts/voices/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models/alias/route.js +1 -0
- package/.next/server/app/api/models/alias/route.js.nft.json +1 -0
- package/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models/availability/route.js +1 -0
- package/.next/server/app/api/models/availability/route.js.nft.json +1 -0
- package/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models/catalog-sync/route.js +1 -0
- package/.next/server/app/api/models/catalog-sync/route.js.nft.json +1 -0
- package/.next/server/app/api/models/catalog-sync/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models/custom/route.js +1 -0
- package/.next/server/app/api/models/custom/route.js.nft.json +1 -0
- package/.next/server/app/api/models/custom/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models/disabled/route.js +1 -0
- package/.next/server/app/api/models/disabled/route.js.nft.json +1 -0
- package/.next/server/app/api/models/disabled/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models/route.js +1 -0
- package/.next/server/app/api/models/route.js.nft.json +1 -0
- package/.next/server/app/api/models/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models/test/route.js +1 -0
- package/.next/server/app/api/models/test/route.js.nft.json +1 -0
- package/.next/server/app/api/models/test/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -0
- package/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -0
- package/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/oauth/codex/bulk-import/route.js +1 -0
- package/.next/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -0
- package/.next/server/app/api/oauth/codex/bulk-import/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/oauth/codex/import-token/route.js +1 -0
- package/.next/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -0
- package/.next/server/app/api/oauth/codex/import-token/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/oauth/cursor/auto-import/route.js +4 -0
- package/.next/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -0
- package/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/oauth/cursor/import/route.js +1 -0
- package/.next/server/app/api/oauth/cursor/import/route.js.nft.json +1 -0
- package/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/oauth/gitlab/pat/route.js +1 -0
- package/.next/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -0
- package/.next/server/app/api/oauth/gitlab/pat/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/oauth/grok-cli/bulk-import/route.js +1 -0
- package/.next/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -0
- package/.next/server/app/api/oauth/grok-cli/bulk-import/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/oauth/iflow/cookie/route.js +1 -0
- package/.next/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -0
- package/.next/server/app/api/oauth/iflow/cookie/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/oauth/xiaomi-mimo/api-key/route.js +1 -0
- package/.next/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -0
- package/.next/server/app/api/oauth/xiaomi-mimo/api-key/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +4 -0
- package/.next/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -0
- package/.next/server/app/api/oauth/xiaomi-mimo/auto-import/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/pricing/route.js +1 -0
- package/.next/server/app/api/pricing/route.js.nft.json +1 -0
- package/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/provider-nodes/[id]/route.js +1 -0
- package/.next/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/provider-nodes/route.js +1 -0
- package/.next/server/app/api/provider-nodes/route.js.nft.json +1 -0
- package/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/provider-nodes/validate/route.js +1 -0
- package/.next/server/app/api/provider-nodes/validate/route.js.nft.json +1 -0
- package/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/providers/[id]/models/route.js +1 -0
- package/.next/server/app/api/providers/[id]/models/route.js.nft.json +1 -0
- package/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/providers/[id]/route.js +1 -0
- package/.next/server/app/api/providers/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/providers/[id]/test/route.js +1 -0
- package/.next/server/app/api/providers/[id]/test/route.js.nft.json +1 -0
- package/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/providers/[id]/test-models/route.js +1 -0
- package/.next/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -0
- package/.next/server/app/api/providers/[id]/test-models/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/providers/client/route.js +1 -0
- package/.next/server/app/api/providers/client/route.js.nft.json +1 -0
- package/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/providers/kilo/free-models/route.js +1 -0
- package/.next/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -0
- package/.next/server/app/api/providers/kilo/free-models/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/providers/route.js +1 -0
- package/.next/server/app/api/providers/route.js.nft.json +1 -0
- package/.next/server/app/api/providers/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/providers/suggested-models/route.js +1 -0
- package/.next/server/app/api/providers/suggested-models/route.js.nft.json +1 -0
- package/.next/server/app/api/providers/suggested-models/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/providers/test-batch/route.js +1 -0
- package/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -0
- package/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/providers/validate/route.js +1 -0
- package/.next/server/app/api/providers/validate/route.js.nft.json +1 -0
- package/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/proxy-pools/[id]/route.js +1 -0
- package/.next/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/proxy-pools/[id]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/proxy-pools/[id]/test/route.js +1 -0
- package/.next/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -0
- package/.next/server/app/api/proxy-pools/[id]/test/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/proxy-pools/cloudflare-deploy/route.js +43 -0
- package/.next/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -0
- package/.next/server/app/api/proxy-pools/cloudflare-deploy/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/proxy-pools/deno-deploy/route.js +40 -0
- package/.next/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -0
- package/.next/server/app/api/proxy-pools/deno-deploy/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/proxy-pools/route.js +1 -0
- package/.next/server/app/api/proxy-pools/route.js.nft.json +1 -0
- package/.next/server/app/api/proxy-pools/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/proxy-pools/vercel-deploy/route.js +33 -0
- package/.next/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -0
- package/.next/server/app/api/proxy-pools/vercel-deploy/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/pxpipe/health/route.js +3 -0
- package/.next/server/app/api/pxpipe/health/route.js.nft.json +1 -0
- package/.next/server/app/api/pxpipe/health/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/pxpipe/install/route.js +3 -0
- package/.next/server/app/api/pxpipe/install/route.js.nft.json +1 -0
- package/.next/server/app/api/pxpipe/install/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/pxpipe/logs/route.js +3 -0
- package/.next/server/app/api/pxpipe/logs/route.js.nft.json +1 -0
- package/.next/server/app/api/pxpipe/logs/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/pxpipe/restart/route.js +3 -0
- package/.next/server/app/api/pxpipe/restart/route.js.nft.json +1 -0
- package/.next/server/app/api/pxpipe/restart/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/pxpipe/start/route.js +3 -0
- package/.next/server/app/api/pxpipe/start/route.js.nft.json +1 -0
- package/.next/server/app/api/pxpipe/start/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/pxpipe/stats/route.js +3 -0
- package/.next/server/app/api/pxpipe/stats/route.js.nft.json +1 -0
- package/.next/server/app/api/pxpipe/stats/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/pxpipe/status/route.js +3 -0
- package/.next/server/app/api/pxpipe/status/route.js.nft.json +1 -0
- package/.next/server/app/api/pxpipe/status/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/pxpipe/stop/route.js +3 -0
- package/.next/server/app/api/pxpipe/stop/route.js.nft.json +1 -0
- package/.next/server/app/api/pxpipe/stop/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/settings/database/route.js +1 -0
- package/.next/server/app/api/settings/database/route.js.nft.json +1 -0
- package/.next/server/app/api/settings/database/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/settings/proxy-test/route.js +1 -0
- package/.next/server/app/api/settings/proxy-test/route.js.nft.json +1 -0
- package/.next/server/app/api/settings/proxy-test/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/settings/require-login/route.js +1 -0
- package/.next/server/app/api/settings/require-login/route.js.nft.json +1 -0
- package/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/settings/route.js +1 -0
- package/.next/server/app/api/settings/route.js.nft.json +1 -0
- package/.next/server/app/api/settings/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/shutdown/route.js +1 -0
- package/.next/server/app/api/shutdown/route.js.nft.json +1 -0
- package/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/tags/route.js +1 -0
- package/.next/server/app/api/tags/route.js.nft.json +1 -0
- package/.next/server/app/api/tags/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/translator/console-logs/route.js +1 -0
- package/.next/server/app/api/translator/console-logs/route.js.nft.json +1 -0
- package/.next/server/app/api/translator/console-logs/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/translator/console-logs/stream/route.js +9 -0
- package/.next/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -0
- package/.next/server/app/api/translator/console-logs/stream/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/translator/load/route.js +1 -0
- package/.next/server/app/api/translator/load/route.js.nft.json +1 -0
- package/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/translator/save/route.js +1 -0
- package/.next/server/app/api/translator/save/route.js.nft.json +1 -0
- package/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/translator/send/route.js +1 -0
- package/.next/server/app/api/translator/send/route.js.nft.json +1 -0
- package/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/translator/translate/route.js +1 -0
- package/.next/server/app/api/translator/translate/route.js.nft.json +1 -0
- package/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/tunnel/disable/route.js +1 -0
- package/.next/server/app/api/tunnel/disable/route.js.nft.json +1 -0
- package/.next/server/app/api/tunnel/disable/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/tunnel/enable/route.js +1 -0
- package/.next/server/app/api/tunnel/enable/route.js.nft.json +1 -0
- package/.next/server/app/api/tunnel/enable/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/tunnel/status/route.js +1 -0
- package/.next/server/app/api/tunnel/status/route.js.nft.json +1 -0
- package/.next/server/app/api/tunnel/status/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/tunnel/tailscale-check/route.js +1 -0
- package/.next/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -0
- package/.next/server/app/api/tunnel/tailscale-check/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/tunnel/tailscale-disable/route.js +1 -0
- package/.next/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -0
- package/.next/server/app/api/tunnel/tailscale-disable/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/tunnel/tailscale-enable/route.js +1 -0
- package/.next/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -0
- package/.next/server/app/api/tunnel/tailscale-enable/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/tunnel/tailscale-install/route.js +5 -0
- package/.next/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -0
- package/.next/server/app/api/tunnel/tailscale-install/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -0
- package/.next/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -0
- package/.next/server/app/api/usage/[connectionId]/codex-reset-credits/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/usage/[connectionId]/route.js +1 -0
- package/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -0
- package/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/usage/chart/route.js +1 -0
- package/.next/server/app/api/usage/chart/route.js.nft.json +1 -0
- package/.next/server/app/api/usage/chart/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/usage/history/route.js +1 -0
- package/.next/server/app/api/usage/history/route.js.nft.json +1 -0
- package/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/usage/logs/route.js +1 -0
- package/.next/server/app/api/usage/logs/route.js.nft.json +1 -0
- package/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/usage/providers/route.js +1 -0
- package/.next/server/app/api/usage/providers/route.js.nft.json +1 -0
- package/.next/server/app/api/usage/providers/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/usage/request-details/route.js +1 -0
- package/.next/server/app/api/usage/request-details/route.js.nft.json +1 -0
- package/.next/server/app/api/usage/request-details/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/usage/request-logs/route.js +1 -0
- package/.next/server/app/api/usage/request-logs/route.js.nft.json +1 -0
- package/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/usage/stats/route.js +1 -0
- package/.next/server/app/api/usage/stats/route.js.nft.json +1 -0
- package/.next/server/app/api/usage/stats/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/usage/stream/route.js +7 -0
- package/.next/server/app/api/usage/stream/route.js.nft.json +1 -0
- package/.next/server/app/api/usage/stream/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/v1/api/chat/route.js +1 -0
- package/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/v1/audio/speech/route.js +1 -0
- package/.next/server/app/api/v1/audio/speech/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/v1/audio/transcriptions/route.js +1 -0
- package/.next/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/v1/audio/voices/route.js +1 -0
- package/.next/server/app/api/v1/audio/voices/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/audio/voices/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/v1/chat/completions/route.js +1 -0
- package/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/v1/embeddings/route.js +1 -0
- package/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/v1/images/generations/route.js +4 -0
- package/.next/server/app/api/v1/images/generations/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/v1/messages/count_tokens/route.js +1 -0
- package/.next/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/v1/messages/route.js +1 -0
- package/.next/server/app/api/v1/messages/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/v1/models/[...model]/route.js +1 -0
- package/.next/server/app/api/v1/models/[...model]/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/models/[...model]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/v1/models/info/route.js +1 -0
- package/.next/server/app/api/v1/models/info/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/models/info/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/v1/models/route.js +1 -0
- package/.next/server/app/api/v1/models/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/v1/responses/compact/route.js +1 -0
- package/.next/server/app/api/v1/responses/compact/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/responses/compact/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/v1/responses/route.js +1 -0
- package/.next/server/app/api/v1/responses/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/v1/route.js +1 -0
- package/.next/server/app/api/v1/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/v1/search/route.js +1 -0
- package/.next/server/app/api/v1/search/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/search/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/v1/systemone/route.js +1 -0
- package/.next/server/app/api/v1/systemone/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/systemone/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/v1/videos/[id]/route.js +1 -0
- package/.next/server/app/api/v1/videos/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/videos/[id]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/v1/videos/edits/route.js +1 -0
- package/.next/server/app/api/v1/videos/edits/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/videos/edits/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/v1/videos/extensions/route.js +1 -0
- package/.next/server/app/api/v1/videos/extensions/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/videos/extensions/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/v1/videos/generations/route.js +1 -0
- package/.next/server/app/api/v1/videos/generations/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/videos/generations/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/v1/web/fetch/route.js +1 -0
- package/.next/server/app/api/v1/web/fetch/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/web/fetch/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/v1beta/models/[...path]/route.js +1 -0
- package/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -0
- package/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/v1beta/models/route.js +1 -0
- package/.next/server/app/api/v1beta/models/route.js.nft.json +1 -0
- package/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/version/route.js +1 -0
- package/.next/server/app/api/version/route.js.nft.json +1 -0
- package/.next/server/app/api/version/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/version/shutdown/route.js +1 -0
- package/.next/server/app/api/version/shutdown/route.js.nft.json +1 -0
- package/.next/server/app/api/version/shutdown/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/version/update/route.js +1 -0
- package/.next/server/app/api/version/update/route.js.nft.json +1 -0
- package/.next/server/app/api/version/update/route_client-reference-manifest.js +1 -0
- package/.next/server/app/callback/page.js +1 -0
- package/.next/server/app/callback/page.js.nft.json +1 -0
- package/.next/server/app/callback/page_client-reference-manifest.js +1 -0
- package/.next/server/app/callback.html +1 -0
- package/.next/server/app/callback.meta +26 -0
- package/.next/server/app/callback.rsc +28 -0
- package/.next/server/app/callback.segments/_full.segment.rsc +28 -0
- package/.next/server/app/callback.segments/_tree.segment.rsc +6 -0
- package/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +31 -0
- package/.next/server/app/dashboard/basic-chat.html +1 -0
- package/.next/server/app/dashboard/basic-chat.meta +36 -0
- package/.next/server/app/dashboard/basic-chat.rsc +26 -0
- package/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +31 -0
- package/.next/server/app/dashboard/basic-chat.segments/_full.segment.rsc +26 -0
- package/.next/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +6 -0
- package/.next/server/app/dashboard/cli-tools.html +1 -0
- package/.next/server/app/dashboard/cli-tools.meta +36 -0
- package/.next/server/app/dashboard/cli-tools.rsc +27 -0
- package/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +31 -0
- package/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +27 -0
- package/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +6 -0
- package/.next/server/app/dashboard/combos.html +1 -0
- package/.next/server/app/dashboard/combos.meta +36 -0
- package/.next/server/app/dashboard/combos.rsc +29 -0
- package/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +34 -0
- package/.next/server/app/dashboard/combos.segments/_full.segment.rsc +29 -0
- package/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +6 -0
- package/.next/server/app/dashboard/endpoint.html +1 -0
- package/.next/server/app/dashboard/endpoint.meta +36 -0
- package/.next/server/app/dashboard/endpoint.rsc +27 -0
- package/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +31 -0
- package/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +27 -0
- package/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +6 -0
- package/.next/server/app/dashboard/media-providers/systemone.html +1 -0
- package/.next/server/app/dashboard/media-providers/systemone.meta +41 -0
- package/.next/server/app/dashboard/media-providers/systemone.rsc +29 -0
- package/.next/server/app/dashboard/media-providers/systemone.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/systemone/__PAGE__.segment.rsc +35 -0
- package/.next/server/app/dashboard/media-providers/systemone.segments/_full.segment.rsc +29 -0
- package/.next/server/app/dashboard/media-providers/systemone.segments/_tree.segment.rsc +6 -0
- package/.next/server/app/dashboard/profile.html +1 -0
- package/.next/server/app/dashboard/profile.meta +36 -0
- package/.next/server/app/dashboard/profile.rsc +29 -0
- package/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +34 -0
- package/.next/server/app/dashboard/profile.segments/_full.segment.rsc +29 -0
- package/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +6 -0
- package/.next/server/app/dashboard/providers/new.html +1 -0
- package/.next/server/app/dashboard/providers/new.meta +41 -0
- package/.next/server/app/dashboard/providers/new.rsc +29 -0
- package/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +35 -0
- package/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +29 -0
- package/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +6 -0
- package/.next/server/app/dashboard/providers.html +1 -0
- package/.next/server/app/dashboard/providers.meta +36 -0
- package/.next/server/app/dashboard/providers.rsc +29 -0
- package/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +34 -0
- package/.next/server/app/dashboard/providers.segments/_full.segment.rsc +29 -0
- package/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +6 -0
- package/.next/server/app/dashboard/proxy-pools.html +1 -0
- package/.next/server/app/dashboard/proxy-pools.meta +36 -0
- package/.next/server/app/dashboard/proxy-pools.rsc +29 -0
- package/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +34 -0
- package/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +29 -0
- package/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +6 -0
- package/.next/server/app/dashboard/pxpipe.html +1 -0
- package/.next/server/app/dashboard/pxpipe.meta +36 -0
- package/.next/server/app/dashboard/pxpipe.rsc +26 -0
- package/.next/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +31 -0
- package/.next/server/app/dashboard/pxpipe.segments/_full.segment.rsc +26 -0
- package/.next/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +6 -0
- package/.next/server/app/dashboard/quota.html +2 -0
- package/.next/server/app/dashboard/quota.meta +36 -0
- package/.next/server/app/dashboard/quota.rsc +27 -0
- package/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +32 -0
- package/.next/server/app/dashboard/quota.segments/_full.segment.rsc +27 -0
- package/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +6 -0
- package/.next/server/app/dashboard/settings/pricing/page.js +1 -0
- package/.next/server/app/dashboard/settings/pricing/page.js.nft.json +1 -0
- package/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -0
- package/.next/server/app/dashboard/settings/pricing.html +1 -0
- package/.next/server/app/dashboard/settings/pricing.meta +36 -0
- package/.next/server/app/dashboard/settings/pricing.rsc +28 -0
- package/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +28 -0
- package/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +6 -0
- package/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +33 -0
- package/.next/server/app/dashboard/token-saver.html +1 -0
- package/.next/server/app/dashboard/token-saver.meta +36 -0
- package/.next/server/app/dashboard/token-saver.rsc +26 -0
- package/.next/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +31 -0
- package/.next/server/app/dashboard/token-saver.segments/_full.segment.rsc +26 -0
- package/.next/server/app/dashboard/token-saver.segments/_tree.segment.rsc +6 -0
- package/.next/server/app/dashboard/usage.html +2 -0
- package/.next/server/app/dashboard/usage.meta +36 -0
- package/.next/server/app/dashboard/usage.rsc +29 -0
- package/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +34 -0
- package/.next/server/app/dashboard/usage.segments/_full.segment.rsc +29 -0
- package/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +6 -0
- package/.next/server/app/dashboard.html +1 -0
- package/.next/server/app/dashboard.meta +31 -0
- package/.next/server/app/dashboard.rsc +27 -0
- package/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +30 -0
- package/.next/server/app/dashboard.segments/_full.segment.rsc +27 -0
- package/.next/server/app/dashboard.segments/_tree.segment.rsc +6 -0
- package/.next/server/app/index.html +1 -0
- package/.next/server/app/index.meta +23 -0
- package/.next/server/app/index.rsc +23 -0
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +25 -0
- package/.next/server/app/index.segments/_full.segment.rsc +23 -0
- package/.next/server/app/index.segments/_tree.segment.rsc +6 -0
- package/.next/server/app/landing/page.js +1 -0
- package/.next/server/app/landing/page.js.nft.json +1 -0
- package/.next/server/app/landing/page_client-reference-manifest.js +1 -0
- package/.next/server/app/landing.html +1 -0
- package/.next/server/app/landing.meta +26 -0
- package/.next/server/app/landing.rsc +28 -0
- package/.next/server/app/landing.segments/_full.segment.rsc +28 -0
- package/.next/server/app/landing.segments/_tree.segment.rsc +6 -0
- package/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +31 -0
- package/.next/server/app/login/page.js +1 -0
- package/.next/server/app/login/page.js.nft.json +1 -0
- package/.next/server/app/login/page_client-reference-manifest.js +1 -0
- package/.next/server/app/login.html +1 -0
- package/.next/server/app/login.meta +26 -0
- package/.next/server/app/login.rsc +28 -0
- package/.next/server/app/login.segments/_full.segment.rsc +28 -0
- package/.next/server/app/login.segments/_tree.segment.rsc +6 -0
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +31 -0
- package/.next/server/app/manifest.webmanifest/route.js +17 -0
- package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -0
- package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -0
- package/.next/server/app/manifest.webmanifest.body +1 -0
- package/.next/server/app/manifest.webmanifest.meta +1 -0
- package/.next/server/app/page.js +1 -0
- package/.next/server/app/page.js.nft.json +1 -0
- package/.next/server/app/page_client-reference-manifest.js +1 -0
- package/.next/server/app-paths-manifest.json +169 -0
- package/.next/server/chunks/1003.js +1 -0
- package/.next/server/chunks/1011.js +1 -0
- package/.next/server/chunks/1126.js +1 -0
- package/.next/server/chunks/1157.js +1 -0
- package/.next/server/chunks/1194.js +1 -0
- package/.next/server/chunks/1238.js +1 -0
- package/.next/server/chunks/1273.js +1 -0
- package/.next/server/chunks/1316.js +165 -0
- package/.next/server/chunks/1336.js +1 -0
- package/.next/server/chunks/1412.js +1 -0
- package/.next/server/chunks/1470.js +1 -0
- package/.next/server/chunks/1564.js +1 -0
- package/.next/server/chunks/1612.js +33 -0
- package/.next/server/chunks/1633.js +1 -0
- package/.next/server/chunks/1985.js +1 -0
- package/.next/server/chunks/2076.js +1 -0
- package/.next/server/chunks/2143.js +1 -0
- package/.next/server/chunks/2151.js +1 -0
- package/.next/server/chunks/2225.js +9 -0
- package/.next/server/chunks/224.js +1 -0
- package/.next/server/chunks/2282.js +150 -0
- package/.next/server/chunks/2310.js +2 -0
- package/.next/server/chunks/2339.js +1 -0
- package/.next/server/chunks/2426.js +1 -0
- package/.next/server/chunks/257.js +67 -0
- package/.next/server/chunks/2638.js +1 -0
- package/.next/server/chunks/2706.js +1 -0
- package/.next/server/chunks/3023.js +9 -0
- package/.next/server/chunks/3034.js +9 -0
- package/.next/server/chunks/3179.js +1 -0
- package/.next/server/chunks/3250.js +9 -0
- package/.next/server/chunks/3336.js +1 -0
- package/.next/server/chunks/3425.js +1 -0
- package/.next/server/chunks/3481.js +9 -0
- package/.next/server/chunks/3512.js +29 -0
- package/.next/server/chunks/3533.js +1 -0
- package/.next/server/chunks/3544.js +1 -0
- package/.next/server/chunks/4129.js +1 -0
- package/.next/server/chunks/4139.js +9 -0
- package/.next/server/chunks/4301.js +7 -0
- package/.next/server/chunks/4364.js +1 -0
- package/.next/server/chunks/4464.js +1 -0
- package/.next/server/chunks/460.js +1 -0
- package/.next/server/chunks/4793.js +1 -0
- package/.next/server/chunks/4915.js +62 -0
- package/.next/server/chunks/4961.js +7 -0
- package/.next/server/chunks/537.js +9 -0
- package/.next/server/chunks/5412.js +9 -0
- package/.next/server/chunks/5496.js +1 -0
- package/.next/server/chunks/5761.js +1 -0
- package/.next/server/chunks/5939.js +9 -0
- package/.next/server/chunks/6009.js +1 -0
- package/.next/server/chunks/6056.js +1 -0
- package/.next/server/chunks/613.js +1 -0
- package/.next/server/chunks/6343.js +72 -0
- package/.next/server/chunks/6461.js +5 -0
- package/.next/server/chunks/6823.js +1 -0
- package/.next/server/chunks/7002.js +9 -0
- package/.next/server/chunks/7019.js +3 -0
- package/.next/server/chunks/7156.js +1 -0
- package/.next/server/chunks/7257.js +1 -0
- package/.next/server/chunks/7268.js +1 -0
- package/.next/server/chunks/7459.js +120 -0
- package/.next/server/chunks/7504.js +1 -0
- package/.next/server/chunks/7535.js +21 -0
- package/.next/server/chunks/7816.js +1 -0
- package/.next/server/chunks/7963.js +193 -0
- package/.next/server/chunks/8066.js +31 -0
- package/.next/server/chunks/8567.js +1 -0
- package/.next/server/chunks/8569.js +11 -0
- package/.next/server/chunks/8784.js +1 -0
- package/.next/server/chunks/881.js +10 -0
- package/.next/server/chunks/8857.js +1 -0
- package/.next/server/chunks/8923.js +1 -0
- package/.next/server/chunks/8940.js +1 -0
- package/.next/server/chunks/9018.js +1 -0
- package/.next/server/chunks/9250.js +7 -0
- package/.next/server/chunks/9287.js +1 -0
- package/.next/server/chunks/9429.js +2 -0
- package/.next/server/chunks/9603.js +1 -0
- package/.next/server/chunks/9614.js +1 -0
- package/.next/server/chunks/9646.js +1 -0
- package/.next/server/chunks/9792.js +9 -0
- package/.next/server/functions-config-manifest.json +25 -0
- package/.next/server/instrumentation.js +1 -0
- package/.next/server/instrumentation.js.nft.json +1 -0
- package/.next/server/interception-route-rewrite-manifest.js +1 -0
- package/.next/server/middleware-build-manifest.js +1 -0
- package/.next/server/middleware-manifest.json +6 -0
- package/.next/server/middleware-react-loadable-manifest.js +1 -0
- package/.next/server/middleware.js +171 -0
- package/.next/server/middleware.js.nft.json +1 -0
- package/.next/server/next-font-manifest.js +1 -0
- package/.next/server/next-font-manifest.json +1 -0
- package/.next/server/pages/404.html +1 -0
- package/.next/server/pages/500.html +1 -0
- package/.next/server/pages-manifest.json +4 -0
- package/.next/server/prefetch-hints.json +446 -0
- package/.next/server/server-reference-manifest.js +1 -0
- package/.next/server/server-reference-manifest.json +1 -0
- package/.next/server/webpack-runtime.js +1 -0
- package/.next/static/AiSMDHTT8m1mHG-uAmkFq/_buildManifest.js +1 -0
- package/.next/static/AiSMDHTT8m1mHG-uAmkFq/_ssgManifest.js +1 -0
- package/.next/static/chunks/1078-965aa38f6ae4f5b7.js +1 -0
- package/.next/static/chunks/1278-d7d5375869132de1.js +1 -0
- package/.next/static/chunks/1471-10f225f62f7469cc.js +1 -0
- package/.next/static/chunks/159-17737a7c99ff1a65.js +1 -0
- package/.next/static/chunks/1722-bb40b4311197204b.js +1 -0
- package/.next/static/chunks/1830-901fe48c3c62604f.js +1 -0
- package/.next/static/chunks/208-fcb6c54f9db5664f.js +1 -0
- package/.next/static/chunks/3153-fde052e626cc6d40.js +67 -0
- package/.next/static/chunks/3577-cd98d40e3099e1b0.js +1 -0
- package/.next/static/chunks/4484-893f9cfcbe1499df.js +1 -0
- package/.next/static/chunks/4489-0f3ff0134169e717.js +1 -0
- package/.next/static/chunks/4899.0d4260af2a463837.js +1 -0
- package/.next/static/chunks/5113-5c4f5181388aab72.js +1 -0
- package/.next/static/chunks/5166-cadbdbf7d6854cf9.js +1 -0
- package/.next/static/chunks/5778-9d97ce04f2ac118c.js +1 -0
- package/.next/static/chunks/5862-f98c2f3d480b80d2.js +1 -0
- package/.next/static/chunks/6817-449f7a2452845c74.js +1 -0
- package/.next/static/chunks/6920-e2b533c1eafa9521.js +1 -0
- package/.next/static/chunks/7276-16ef14f7b2cd478d.js +1 -0
- package/.next/static/chunks/7287-b8e377303d1c5ae8.js +11 -0
- package/.next/static/chunks/7552-11960bc118e4e0f7.js +1 -0
- package/.next/static/chunks/7822.01a4d5bdd39fa0b7.js +1 -0
- package/.next/static/chunks/7835-c1ef8f5cdaaad483.js +1 -0
- package/.next/static/chunks/80d4b624.42a8767f1c8767a3.js +1 -0
- package/.next/static/chunks/9369-b8c9520bc2536ff2.js +1 -0
- package/.next/static/chunks/9590-0d0b3dd0530b2b7b.js +1 -0
- package/.next/static/chunks/9966-7232c138a59bdc2f.js +52 -0
- package/.next/static/chunks/9980-971a38c4ad288d6c.js +1 -0
- package/.next/static/chunks/9ce8c186-3c7d7dbc5d428052.js +1 -0
- package/.next/static/chunks/app/(dashboard)/dashboard/basic-chat/page-c074ab1b76a6c8ba.js +1 -0
- package/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-2ff675120416e925.js +40 -0
- package/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-654e770c4dca90e8.js +1 -0
- package/.next/static/chunks/app/(dashboard)/dashboard/combos/page-55bc39e30923938a.js +1 -0
- package/.next/static/chunks/app/(dashboard)/dashboard/console-log/page-aac9a9397d3f7f17.js +1 -0
- package/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-d60651b77028b014.js +1 -0
- package/.next/static/chunks/app/(dashboard)/dashboard/media-providers/systemone/[id]/page-3d78f5834ef97b82.js +10 -0
- package/.next/static/chunks/app/(dashboard)/dashboard/media-providers/systemone/page-e41bf53886195393.js +1 -0
- package/.next/static/chunks/app/(dashboard)/dashboard/page-670583d9f9c104af.js +1 -0
- package/.next/static/chunks/app/(dashboard)/dashboard/profile/page-53158d30b5643b05.js +1 -0
- package/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-fd2615fea8932fd5.js +21 -0
- package/.next/static/chunks/app/(dashboard)/dashboard/providers/new/page-7c9e30c4985582a6.js +1 -0
- package/.next/static/chunks/app/(dashboard)/dashboard/providers/page-7cc2c66e63fce4ab.js +1 -0
- package/.next/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-5e1fb41bd7b555a6.js +4 -0
- package/.next/static/chunks/app/(dashboard)/dashboard/pxpipe/page-1ec35dafa18e5d24.js +1 -0
- package/.next/static/chunks/app/(dashboard)/dashboard/quota/page-11d5ca23d18d596e.js +1 -0
- package/.next/static/chunks/app/(dashboard)/dashboard/token-saver/page-388b616d8c2aa3fc.js +1 -0
- package/.next/static/chunks/app/(dashboard)/dashboard/usage/page-466f7a8f7319ad85.js +1 -0
- package/.next/static/chunks/app/(dashboard)/layout-e1e5bead272b5c82.js +1 -0
- package/.next/static/chunks/app/_global-error/page-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/_not-found/page-d66f1e17185e98d1.js +1 -0
- package/.next/static/chunks/app/api/auth/login/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/auth/oidc/callback/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/auth/oidc/start/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/auth/oidc/test/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/auth/reset-password/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/auth/saml/acs/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/auth/saml/metadata/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/auth/saml/start/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/auth/saml/test/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/auth/status/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/changelog/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/all-statuses/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/claude-settings/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/codex-settings/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/cowork-settings/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/dsh-settings/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/opencode-settings/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/combos/[id]/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/combos/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/headroom/extras/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/headroom/proxy/[...path]/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/headroom/restart/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/headroom/start/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/headroom/status/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/headroom/stop/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/health/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/init/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/keys/[id]/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/keys/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/locale/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/mcp/[plugin]/message/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/mcp/[plugin]/sse/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/media-providers/tts/minimax/voices/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/media-providers/tts/voices/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/models/alias/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/models/availability/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/models/catalog-sync/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/models/custom/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/models/disabled/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/models/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/models/test/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/oauth/[provider]/[action]/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/oauth/codex/bulk-import/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/oauth/codex/import-token/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/oauth/cursor/auto-import/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/oauth/cursor/import/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/oauth/gitlab/pat/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/oauth/grok-cli/bulk-import/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/oauth/iflow/cookie/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/pricing/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/provider-nodes/[id]/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/provider-nodes/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/provider-nodes/validate/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/providers/[id]/models/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/providers/[id]/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/providers/[id]/test/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/providers/[id]/test-models/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/providers/client/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/providers/kilo/free-models/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/providers/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/providers/suggested-models/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/providers/test-batch/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/providers/validate/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/proxy-pools/[id]/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/proxy-pools/[id]/test/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/proxy-pools/deno-deploy/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/proxy-pools/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/proxy-pools/vercel-deploy/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/health/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/install/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/logs/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/restart/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/start/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/stats/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/status/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/stop/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/settings/database/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/settings/proxy-test/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/settings/require-login/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/settings/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/shutdown/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/tags/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/translator/console-logs/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/translator/console-logs/stream/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/translator/load/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/translator/save/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/translator/send/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/translator/translate/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/tunnel/disable/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/tunnel/enable/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/tunnel/status/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/tunnel/tailscale-check/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/tunnel/tailscale-disable/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/tunnel/tailscale-enable/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/tunnel/tailscale-install/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/usage/[connectionId]/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/usage/chart/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/usage/history/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/usage/logs/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/usage/providers/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/usage/request-details/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/usage/request-logs/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/usage/stats/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/usage/stream/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/v1/api/chat/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/v1/audio/speech/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/v1/audio/transcriptions/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/v1/audio/voices/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/v1/chat/completions/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/v1/embeddings/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/v1/images/generations/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/v1/messages/count_tokens/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/v1/messages/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/v1/models/[...model]/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/v1/models/info/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/v1/models/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/v1/responses/compact/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/v1/responses/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/v1/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/v1/search/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/v1/systemone/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/v1/videos/[id]/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/v1/videos/edits/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/v1/videos/extensions/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/v1/videos/generations/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/v1/web/fetch/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/v1beta/models/[...path]/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/v1beta/models/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/version/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/version/shutdown/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/api/version/update/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/callback/page-f4019bfc06b9a21c.js +1 -0
- package/.next/static/chunks/app/dashboard/settings/pricing/page-b9ee16bd322c018e.js +1 -0
- package/.next/static/chunks/app/landing/page-a088604744d51552.js +1 -0
- package/.next/static/chunks/app/layout-56cb8d3773a70c00.js +1 -0
- package/.next/static/chunks/app/login/page-dd11fb741ed7fda4.js +1 -0
- package/.next/static/chunks/app/manifest.webmanifest/route-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/app/page-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/e138dfde-a5c7fa92857215f2.js +1 -0
- package/.next/static/chunks/framework-c33600f6d7c90335.js +1 -0
- package/.next/static/chunks/main-536afed42e49674c.js +5 -0
- package/.next/static/chunks/main-app-17abdf14ff64ab69.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/global-error-21486667022bd4cf.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-fe947d4ab19df968.js +1 -0
- package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- package/.next/static/chunks/webpack-452a2f4aec1a53ee.js +1 -0
- package/.next/static/css/8fbebca0759ae504.css +1 -0
- package/.next/static/css/e07f2bf4fa519943.css +31 -0
- package/.next/static/css/e9178fa7e53ec623.css +1 -0
- package/.next/static/media/17cf9497af825577-s.woff2 +0 -0
- package/.next/static/media/19cfc7226ec3afaa-s.woff2 +0 -0
- package/.next/static/media/1abbc144918f74fd-s.p.woff2 +0 -0
- package/.next/static/media/21350d82a1f187e9-s.woff2 +0 -0
- package/.next/static/media/8c96cc4bd2a39381-s.p.woff2 +0 -0
- package/.next/static/media/8e9860b6e62d6359-s.woff2 +0 -0
- package/.next/static/media/ba9851c3c22cd980-s.woff2 +0 -0
- package/.next/static/media/c5fe6dc8356a8c31-s.woff2 +0 -0
- package/.next/static/media/df0a9ae256c0569c-s.woff2 +0 -0
- package/.next/static/media/e4af272ccee01ff0-s.p.woff2 +0 -0
- package/LICENSE.md +21 -0
- package/README.md +67 -0
- package/bin/10router.mjs +301 -0
- package/custom-server.js +147 -0
- package/next.config.mjs +110 -0
- package/open-sse/AGENTS.md +39 -0
- package/open-sse/config/appConstants.js +221 -0
- package/open-sse/config/codexInstructions.js +119 -0
- package/open-sse/config/defaultThinkingSignature.js +14 -0
- package/open-sse/config/errorConfig.js +94 -0
- package/open-sse/config/googleTtsLanguages.js +62 -0
- package/open-sse/config/grokCli.js +10 -0
- package/open-sse/config/mediaConfig.js +27 -0
- package/open-sse/config/models.js +13 -0
- package/open-sse/config/ollamaModels.js +28 -0
- package/open-sse/config/providerModels.js +138 -0
- package/open-sse/config/providers.js +21 -0
- package/open-sse/config/runtimeConfig.js +101 -0
- package/open-sse/config/ttsModels.js +199 -0
- package/open-sse/executors/antigravity.js +706 -0
- package/open-sse/executors/base.js +231 -0
- package/open-sse/executors/codex.js +606 -0
- package/open-sse/executors/cursor.js +1251 -0
- package/open-sse/executors/default.js +352 -0
- package/open-sse/executors/index.js +50 -0
- package/open-sse/executors/opencode-go.js +216 -0
- package/open-sse/executors/opencode-zen.js +343 -0
- package/open-sse/executors/opencode.js +618 -0
- package/open-sse/executors/qoder.js +860 -0
- package/open-sse/executors/xiaomi-mimo.js +107 -0
- package/open-sse/executors/xiaomi-tokenplan.js +20 -0
- package/open-sse/executors/zed.js +330 -0
- package/open-sse/handlers/chatCore/nonStreamingHandler.js +490 -0
- package/open-sse/handlers/chatCore/requestDetail.js +169 -0
- package/open-sse/handlers/chatCore/sseToJsonHandler.js +503 -0
- package/open-sse/handlers/chatCore/streamingHandler.js +310 -0
- package/open-sse/handlers/chatCore.js +740 -0
- package/open-sse/handlers/embeddingProviders/_base.js +4 -0
- package/open-sse/handlers/embeddingProviders/gemini.js +55 -0
- package/open-sse/handlers/embeddingProviders/index.js +41 -0
- package/open-sse/handlers/embeddingProviders/openai.js +31 -0
- package/open-sse/handlers/embeddingProviders/openaiCompatNode.js +13 -0
- package/open-sse/handlers/embeddingProviders/selfhostedEmbedding.js +49 -0
- package/open-sse/handlers/embeddingsCore.js +144 -0
- package/open-sse/handlers/fetch/index.js +415 -0
- package/open-sse/handlers/imageGenerationCore.js +261 -0
- package/open-sse/handlers/imageProviders/_base.js +31 -0
- package/open-sse/handlers/imageProviders/antigravity.js +88 -0
- package/open-sse/handlers/imageProviders/blackForestLabs.js +47 -0
- package/open-sse/handlers/imageProviders/codex.js +235 -0
- package/open-sse/handlers/imageProviders/comfyui.js +12 -0
- package/open-sse/handlers/imageProviders/falAi.js +44 -0
- package/open-sse/handlers/imageProviders/gemini.js +28 -0
- package/open-sse/handlers/imageProviders/huggingface.js +23 -0
- package/open-sse/handlers/imageProviders/index.js +41 -0
- package/open-sse/handlers/imageProviders/nanobanana.js +61 -0
- package/open-sse/handlers/imageProviders/openai.js +33 -0
- package/open-sse/handlers/imageProviders/runwayml.js +60 -0
- package/open-sse/handlers/imageProviders/sdwebui.js +22 -0
- package/open-sse/handlers/imageProviders/stabilityAi.js +35 -0
- package/open-sse/handlers/responsesHandler.js +107 -0
- package/open-sse/handlers/search/callers.js +469 -0
- package/open-sse/handlers/search/chatSearch.js +502 -0
- package/open-sse/handlers/search/index.js +246 -0
- package/open-sse/handlers/search/normalizers.js +414 -0
- package/open-sse/handlers/sttCore.js +262 -0
- package/open-sse/handlers/systemoneCore.js +89 -0
- package/open-sse/handlers/ttsCore.js +88 -0
- package/open-sse/handlers/ttsProviders/_base.js +51 -0
- package/open-sse/handlers/ttsProviders/edgeTts.js +89 -0
- package/open-sse/handlers/ttsProviders/elevenlabs.js +48 -0
- package/open-sse/handlers/ttsProviders/gemini.js +136 -0
- package/open-sse/handlers/ttsProviders/genericFormats.js +191 -0
- package/open-sse/handlers/ttsProviders/googleTts.js +64 -0
- package/open-sse/handlers/ttsProviders/index.js +56 -0
- package/open-sse/handlers/ttsProviders/localDevice.js +98 -0
- package/open-sse/handlers/ttsProviders/minimax.js +63 -0
- package/open-sse/handlers/ttsProviders/openai.js +36 -0
- package/open-sse/handlers/ttsProviders/openrouter.js +73 -0
- package/open-sse/handlers/ttsProviders/selfhostedTts.js +70 -0
- package/open-sse/handlers/ttsProviders/xiaomi-mimo.js +71 -0
- package/open-sse/handlers/videoCore.js +242 -0
- package/open-sse/handlers/videoProviders/index.js +12 -0
- package/open-sse/handlers/videoProviders/openrouter.js +43 -0
- package/open-sse/index.js +84 -0
- package/open-sse/providers/REGISTRY_TEMPLATE.js +98 -0
- package/open-sse/providers/capabilities.js +1543 -0
- package/open-sse/providers/catalogOverride.js +82 -0
- package/open-sse/providers/index.js +63 -0
- package/open-sse/providers/models/helpers.js +27 -0
- package/open-sse/providers/models/namePatterns.js +33 -0
- package/open-sse/providers/models/schema.js +48 -0
- package/open-sse/providers/pricing.js +1204 -0
- package/open-sse/providers/registry/antigravity.js +147 -0
- package/open-sse/providers/registry/claude.js +81 -0
- package/open-sse/providers/registry/codex.js +210 -0
- package/open-sse/providers/registry/cursor.js +58 -0
- package/open-sse/providers/registry/deepseek.js +74 -0
- package/open-sse/providers/registry/fish-audio.js +31 -0
- package/open-sse/providers/registry/gemini.js +126 -0
- package/open-sse/providers/registry/glm-cn.js +39 -0
- package/open-sse/providers/registry/glm.js +75 -0
- package/open-sse/providers/registry/groq.js +62 -0
- package/open-sse/providers/registry/huggingface.js +40 -0
- package/open-sse/providers/registry/iflow.js +52 -0
- package/open-sse/providers/registry/index.js +59 -0
- package/open-sse/providers/registry/mimo-free.js +25 -0
- package/open-sse/providers/registry/minimax-cn.js +82 -0
- package/open-sse/providers/registry/minimax.js +94 -0
- package/open-sse/providers/registry/openai.js +122 -0
- package/open-sse/providers/registry/opencode-go.js +115 -0
- package/open-sse/providers/registry/opencode-zen.js +297 -0
- package/open-sse/providers/registry/opencode.js +54 -0
- package/open-sse/providers/registry/openrouter.js +128 -0
- package/open-sse/providers/registry/qoder.js +61 -0
- package/open-sse/providers/registry/siliconflow.js +39 -0
- package/open-sse/providers/registry/vercel-ai-gateway.js +42 -0
- package/open-sse/providers/registry/xai.js +59 -0
- package/open-sse/providers/registry/xiaomi-mimo.js +90 -0
- package/open-sse/providers/registry/xiaomi-tokenplan.js +66 -0
- package/open-sse/providers/registry/xquik.js +31 -0
- package/open-sse/providers/registry/zed.js +70 -0
- package/open-sse/providers/schema.js +76 -0
- package/open-sse/providers/shared.js +114 -0
- package/open-sse/providers/thinkingLevels.js +74 -0
- package/open-sse/providers/visionPatterns.js +58 -0
- package/open-sse/rtk/applyFilter.js +17 -0
- package/open-sse/rtk/autodetect.js +124 -0
- package/open-sse/rtk/caveman.js +9 -0
- package/open-sse/rtk/cavemanPrompts.js +118 -0
- package/open-sse/rtk/constants.js +78 -0
- package/open-sse/rtk/filters/buildOutput.js +133 -0
- package/open-sse/rtk/filters/dedupLog.js +44 -0
- package/open-sse/rtk/filters/find.js +50 -0
- package/open-sse/rtk/filters/gitDiff.js +92 -0
- package/open-sse/rtk/filters/gitLog.js +102 -0
- package/open-sse/rtk/filters/gitStatus.js +129 -0
- package/open-sse/rtk/filters/grep.js +48 -0
- package/open-sse/rtk/filters/ls.js +83 -0
- package/open-sse/rtk/filters/readNumbered.js +27 -0
- package/open-sse/rtk/filters/searchList.js +52 -0
- package/open-sse/rtk/filters/smartTruncate.js +19 -0
- package/open-sse/rtk/filters/tree.js +32 -0
- package/open-sse/rtk/headroom.js +296 -0
- package/open-sse/rtk/index.js +122 -0
- package/open-sse/rtk/ponytail.js +9 -0
- package/open-sse/rtk/ponytailPrompt.js +58 -0
- package/open-sse/rtk/pxpipe.js +113 -0
- package/open-sse/rtk/registry.js +40 -0
- package/open-sse/rtk/systemInject.js +301 -0
- package/open-sse/services/accountFallback.js +244 -0
- package/open-sse/services/capacityAdapter.js +182 -0
- package/open-sse/services/combo.js +715 -0
- package/open-sse/services/compact.js +70 -0
- package/open-sse/services/copilotModels.js +163 -0
- package/open-sse/services/cursorModels.js +209 -0
- package/open-sse/services/grokCliModels.js +128 -0
- package/open-sse/services/kimchiModels.js +191 -0
- package/open-sse/services/model.js +141 -0
- package/open-sse/services/oauthCredentialManager.js +165 -0
- package/open-sse/services/projectId.js +343 -0
- package/open-sse/services/provider.js +181 -0
- package/open-sse/services/qoderModels.js +410 -0
- package/open-sse/services/thoughtSignatureStore.js +210 -0
- package/open-sse/services/tokenRefresh/dedup.js +31 -0
- package/open-sse/services/tokenRefresh/providers.js +564 -0
- package/open-sse/services/tokenRefresh.js +201 -0
- package/open-sse/services/usage/antigravity-weekly.js +155 -0
- package/open-sse/services/usage/claude.js +211 -0
- package/open-sse/services/usage/codebuddy-cn.js +172 -0
- package/open-sse/services/usage/codex.js +283 -0
- package/open-sse/services/usage/commandcode.js +153 -0
- package/open-sse/services/usage/deepseek.js +103 -0
- package/open-sse/services/usage/github.js +107 -0
- package/open-sse/services/usage/glm.js +88 -0
- package/open-sse/services/usage/google.js +223 -0
- package/open-sse/services/usage/grok-cli.js +414 -0
- package/open-sse/services/usage/grokCliQuotaFrame.js +194 -0
- package/open-sse/services/usage/groq.js +133 -0
- package/open-sse/services/usage/minimax.js +297 -0
- package/open-sse/services/usage/misc.js +275 -0
- package/open-sse/services/usage/opencode-go.js +106 -0
- package/open-sse/services/usage/shared.js +70 -0
- package/open-sse/services/usage/xiaomi-mimo.js +129 -0
- package/open-sse/services/usage/zed.js +220 -0
- package/open-sse/services/usage.js +88 -0
- package/open-sse/shared/machineId.js +23 -0
- package/open-sse/shared/mimoAccount.js +306 -0
- package/open-sse/shared/qoder/attachments.js +436 -0
- package/open-sse/shared/qoder/constants.js +182 -0
- package/open-sse/shared/qoder/contextTier.js +180 -0
- package/open-sse/shared/qoder/cosy.js +175 -0
- package/open-sse/shared/qoder/encoding.js +55 -0
- package/open-sse/shared/qoder/sse.js +209 -0
- package/open-sse/shared/zedAuth.js +431 -0
- package/open-sse/transformer/responsesTransformer.js +438 -0
- package/open-sse/transformer/streamToJsonConverter.js +113 -0
- package/open-sse/translator/concerns/chunk.js +11 -0
- package/open-sse/translator/concerns/finishReason.js +87 -0
- package/open-sse/translator/concerns/image.js +158 -0
- package/open-sse/translator/concerns/json.js +9 -0
- package/open-sse/translator/concerns/message.js +8 -0
- package/open-sse/translator/concerns/modality.js +182 -0
- package/open-sse/translator/concerns/paramSupport.js +80 -0
- package/open-sse/translator/concerns/prefetch.js +111 -0
- package/open-sse/translator/concerns/reasoning.js +23 -0
- package/open-sse/translator/concerns/thinking.js +53 -0
- package/open-sse/translator/concerns/thinkingUnified.js +438 -0
- package/open-sse/translator/concerns/toolCall.js +185 -0
- package/open-sse/translator/concerns/usage.js +98 -0
- package/open-sse/translator/formats/claude.js +705 -0
- package/open-sse/translator/formats/gemini.js +498 -0
- package/open-sse/translator/formats/maxTokens.js +33 -0
- package/open-sse/translator/formats/openai.js +150 -0
- package/open-sse/translator/formats/responsesApi.js +210 -0
- package/open-sse/translator/formats.js +32 -0
- package/open-sse/translator/index.js +297 -0
- package/open-sse/translator/request/antigravity-to-openai.js +250 -0
- package/open-sse/translator/request/claude-to-openai.js +297 -0
- package/open-sse/translator/request/gemini-to-openai.js +152 -0
- package/open-sse/translator/request/openai-responses.js +502 -0
- package/open-sse/translator/request/openai-to-claude.js +413 -0
- package/open-sse/translator/request/openai-to-cursor.js +185 -0
- package/open-sse/translator/request/openai-to-gemini.js +477 -0
- package/open-sse/translator/response/claude-to-openai.js +227 -0
- package/open-sse/translator/response/cursor-to-openai.js +30 -0
- package/open-sse/translator/response/gemini-to-openai.js +172 -0
- package/open-sse/translator/response/openai-responses.js +652 -0
- package/open-sse/translator/response/openai-to-antigravity.js +127 -0
- package/open-sse/translator/response/openai-to-claude.js +276 -0
- package/open-sse/translator/schema/blocks.js +57 -0
- package/open-sse/translator/schema/defaults.js +7 -0
- package/open-sse/translator/schema/finishReasons.js +28 -0
- package/open-sse/translator/schema/index.js +11 -0
- package/open-sse/translator/schema/roles.js +16 -0
- package/open-sse/utils/bypassHandler.js +327 -0
- package/open-sse/utils/claudeCloaking.js +274 -0
- package/open-sse/utils/claudeSignature.js +41 -0
- package/open-sse/utils/claudeToolTypeSelfCheck.mjs +121 -0
- package/open-sse/utils/clientDetector.js +70 -0
- package/open-sse/utils/codexToolSchema.js +80 -0
- package/open-sse/utils/cursorChecksum.js +151 -0
- package/open-sse/utils/cursorProtobuf.js +999 -0
- package/open-sse/utils/debugLog.js +19 -0
- package/open-sse/utils/error.js +159 -0
- package/open-sse/utils/modelMarkers.js +23 -0
- package/open-sse/utils/ollamaTransform.js +102 -0
- package/open-sse/utils/opencodeFreeUsage.js +115 -0
- package/open-sse/utils/proxyFetch.js +258 -0
- package/open-sse/utils/reasoningContentInjector.js +77 -0
- package/open-sse/utils/requestLogger.js +271 -0
- package/open-sse/utils/responsesStreamHelpers.js +53 -0
- package/open-sse/utils/sessionManager.js +286 -0
- package/open-sse/utils/sse.js +14 -0
- package/open-sse/utils/sseConstants.js +23 -0
- package/open-sse/utils/stream.js +612 -0
- package/open-sse/utils/streamHandler.js +329 -0
- package/open-sse/utils/streamHelpers.js +155 -0
- package/open-sse/utils/toolDeduper.js +49 -0
- package/open-sse/utils/usageTracking.js +473 -0
- package/package.json +118 -0
- package/public/favicon.svg +72 -0
- package/public/i18n/literals/fa.json +1380 -0
- package/public/icons/icon-192.svg +22 -0
- package/public/icons/icon-512.svg +22 -0
- package/public/icons/icon.svg +72 -0
- package/public/providers/agentrouter.png +0 -0
- package/public/providers/alicode-intl.png +0 -0
- package/public/providers/alicode.png +0 -0
- package/public/providers/alims-intl.png +0 -0
- package/public/providers/alitp-intl.png +0 -0
- package/public/providers/amp.png +0 -0
- package/public/providers/anthropic.png +0 -0
- package/public/providers/api-airforce.png +0 -0
- package/public/providers/assemblyai.png +0 -0
- package/public/providers/aws-polly.png +0 -0
- package/public/providers/azure.png +0 -0
- package/public/providers/baidu.png +0 -0
- package/public/providers/bazaarlink.png +0 -0
- package/public/providers/black-forest-labs.png +0 -0
- package/public/providers/blackbox.png +0 -0
- package/public/providers/bluesminds.png +0 -0
- package/public/providers/brave-search.png +0 -0
- package/public/providers/byteplus.png +0 -0
- package/public/providers/cartesia.png +0 -0
- package/public/providers/cerebras.png +0 -0
- package/public/providers/chutes.png +0 -0
- package/public/providers/claude.png +0 -0
- package/public/providers/clinepass.png +0 -0
- package/public/providers/codebuddy-cn.png +0 -0
- package/public/providers/codebuddy-intl.png +0 -0
- package/public/providers/codex.png +0 -0
- package/public/providers/cohere.png +0 -0
- package/public/providers/comfyui.png +0 -0
- package/public/providers/commandcode.png +0 -0
- package/public/providers/continue.png +0 -0
- package/public/providers/coqui.png +0 -0
- package/public/providers/cursor.png +0 -0
- package/public/providers/deepgram.png +0 -0
- package/public/providers/deepseek-tui.png +0 -0
- package/public/providers/deepseek.png +0 -0
- package/public/providers/devin-cli.png +0 -0
- package/public/providers/droid.png +0 -0
- package/public/providers/edge-tts.png +0 -0
- package/public/providers/elevenlabs.png +0 -0
- package/public/providers/exa.png +0 -0
- package/public/providers/fal-ai.png +0 -0
- package/public/providers/featherless.png +0 -0
- package/public/providers/firecrawl.png +0 -0
- package/public/providers/fireworks.png +0 -0
- package/public/providers/fish-audio.png +0 -0
- package/public/providers/gemini.png +0 -0
- package/public/providers/github.png +0 -0
- package/public/providers/gitlab.png +0 -0
- package/public/providers/glm-cn.png +0 -0
- package/public/providers/glm.png +0 -0
- package/public/providers/google-pse.png +0 -0
- package/public/providers/google-tts.png +0 -0
- package/public/providers/grok-cli.png +0 -0
- package/public/providers/grok-web.png +0 -0
- package/public/providers/groq.png +0 -0
- package/public/providers/hermes.png +0 -0
- package/public/providers/huggingface.png +0 -0
- package/public/providers/hyperbolic.png +0 -0
- package/public/providers/iflow.png +0 -0
- package/public/providers/inworld.png +0 -0
- package/public/providers/jcode.png +0 -0
- package/public/providers/jina-ai.png +0 -0
- package/public/providers/jina-reader.png +0 -0
- package/public/providers/kilo-gateway.png +0 -0
- package/public/providers/kilocode.png +0 -0
- package/public/providers/kimchi.png +0 -0
- package/public/providers/kimchi.svg +4 -0
- package/public/providers/linkup.png +0 -0
- package/public/providers/llm7.png +0 -0
- package/public/providers/local-device.png +0 -0
- package/public/providers/longcat.png +0 -0
- package/public/providers/mimo-free.png +0 -0
- package/public/providers/minimax-cn.png +0 -0
- package/public/providers/minimax.png +0 -0
- package/public/providers/mistral.png +0 -0
- package/public/providers/mmf.png +0 -0
- package/public/providers/morph.png +0 -0
- package/public/providers/nanobanana.png +0 -0
- package/public/providers/nebius.png +0 -0
- package/public/providers/novita.png +0 -0
- package/public/providers/nvidia.png +0 -0
- package/public/providers/ollama-local.png +0 -0
- package/public/providers/ollama.png +0 -0
- package/public/providers/openai.png +0 -0
- package/public/providers/openclaw.png +0 -0
- package/public/providers/opencode-go.png +0 -0
- package/public/providers/opencode.png +0 -0
- package/public/providers/opendesign.png +0 -0
- package/public/providers/openrouter.png +0 -0
- package/public/providers/perplexity-agent.png +0 -0
- package/public/providers/perplexity-web.png +0 -0
- package/public/providers/perplexity.png +0 -0
- package/public/providers/playht.png +0 -0
- package/public/providers/poolside.png +0 -0
- package/public/providers/qoder.png +0 -0
- package/public/providers/qwen.png +0 -0
- package/public/providers/recraft.png +0 -0
- package/public/providers/reka.png +0 -0
- package/public/providers/roo.png +0 -0
- package/public/providers/runwayml.png +0 -0
- package/public/providers/sambanova.png +0 -0
- package/public/providers/sdwebui.png +0 -0
- package/public/providers/searchapi.png +0 -0
- package/public/providers/searxng.png +0 -0
- package/public/providers/selfhosted-embedding.png +0 -0
- package/public/providers/selfhosted-stt.png +0 -0
- package/public/providers/selfhosted-tts.png +0 -0
- package/public/providers/serper.png +0 -0
- package/public/providers/siliconflow.png +0 -0
- package/public/providers/stability-ai.png +0 -0
- package/public/providers/tavily.png +0 -0
- package/public/providers/tencent.png +0 -0
- package/public/providers/together.png +0 -0
- package/public/providers/tokenrouter.png +0 -0
- package/public/providers/topaz.png +0 -0
- package/public/providers/tortoise.png +0 -0
- package/public/providers/trae.png +0 -0
- package/public/providers/venice.png +0 -0
- package/public/providers/vercel-ai-gateway.png +0 -0
- package/public/providers/vercel.png +0 -0
- package/public/providers/volcengine-ark.png +0 -0
- package/public/providers/voyage-ai.png +0 -0
- package/public/providers/windsurf.png +0 -0
- package/public/providers/workbuddy.png +0 -0
- package/public/providers/xai.png +0 -0
- package/public/providers/xiaomi-mimo.png +0 -0
- package/public/providers/xiaomi-tokenplan.png +0 -0
- package/public/providers/xquik.png +0 -0
- package/public/providers/youcom.png +0 -0
- package/public/providers/zed.png +0 -0
- package/public/sw.js +22 -0
- package/scripts/dev-local.mjs +67 -0
- package/src/app/(dashboard)/dashboard/basic-chat/BasicChatPageClient.tsx +1140 -0
- package/src/app/(dashboard)/dashboard/basic-chat/page.tsx +5 -0
- package/src/app/(dashboard)/dashboard/cli-tools/CLIToolsPageClient.tsx +69 -0
- package/src/app/(dashboard)/dashboard/cli-tools/[toolId]/ToolDetailClient.tsx +279 -0
- package/src/app/(dashboard)/dashboard/cli-tools/[toolId]/page.tsx +11 -0
- package/src/app/(dashboard)/dashboard/cli-tools/components/cards/ClaudeToolCard.tsx +705 -0
- package/src/app/(dashboard)/dashboard/cli-tools/components/cards/CodexToolCard.tsx +596 -0
- package/src/app/(dashboard)/dashboard/cli-tools/components/cards/CoworkToolCard.tsx +835 -0
- package/src/app/(dashboard)/dashboard/cli-tools/components/cards/DefaultToolCard.tsx +318 -0
- package/src/app/(dashboard)/dashboard/cli-tools/components/cards/DshToolCard.tsx +537 -0
- package/src/app/(dashboard)/dashboard/cli-tools/components/cards/OpenCodeToolCard.tsx +661 -0
- package/src/app/(dashboard)/dashboard/cli-tools/components/cards/ToolSummaryCard.tsx +49 -0
- package/src/app/(dashboard)/dashboard/cli-tools/components/cards/index.ts +7 -0
- package/src/app/(dashboard)/dashboard/cli-tools/components/index.ts +11 -0
- package/src/app/(dashboard)/dashboard/cli-tools/components/shared/ApiKeySelect.tsx +155 -0
- package/src/app/(dashboard)/dashboard/cli-tools/components/shared/BaseUrlSelect.tsx +241 -0
- package/src/app/(dashboard)/dashboard/cli-tools/components/shared/cliEndpointMatch.ts +13 -0
- package/src/app/(dashboard)/dashboard/cli-tools/components/shared/cliEndpointPresets.ts +106 -0
- package/src/app/(dashboard)/dashboard/cli-tools/components/shared/index.ts +4 -0
- package/src/app/(dashboard)/dashboard/cli-tools/page.tsx +7 -0
- package/src/app/(dashboard)/dashboard/combos/page.tsx +901 -0
- package/src/app/(dashboard)/dashboard/console-log/ConsoleLogClient.tsx +414 -0
- package/src/app/(dashboard)/dashboard/console-log/page.tsx +8 -0
- package/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.tsx +434 -0
- package/src/app/(dashboard)/dashboard/endpoint/components/EndpointRow.tsx +35 -0
- package/src/app/(dashboard)/dashboard/endpoint/components/SecurityWarning.tsx +30 -0
- package/src/app/(dashboard)/dashboard/endpoint/components/StatusAlert.tsx +33 -0
- package/src/app/(dashboard)/dashboard/endpoint/endpointConstants.ts +37 -0
- package/src/app/(dashboard)/dashboard/endpoint/endpointPing.ts +33 -0
- package/src/app/(dashboard)/dashboard/endpoint/page.tsx +7 -0
- package/src/app/(dashboard)/dashboard/media-providers/systemone/[id]/page.tsx +350 -0
- package/src/app/(dashboard)/dashboard/media-providers/systemone/page.tsx +124 -0
- package/src/app/(dashboard)/dashboard/page.tsx +7 -0
- package/src/app/(dashboard)/dashboard/profile/page.tsx +905 -0
- package/src/app/(dashboard)/dashboard/providers/[id]/AddApiKeyModal.tsx +380 -0
- package/src/app/(dashboard)/dashboard/providers/[id]/AddCustomModelModal.tsx +171 -0
- package/src/app/(dashboard)/dashboard/providers/[id]/BulkImportCodexModal.tsx +147 -0
- package/src/app/(dashboard)/dashboard/providers/[id]/BulkImportGrokCliModal.tsx +289 -0
- package/src/app/(dashboard)/dashboard/providers/[id]/CompatibleModelsSection.tsx +259 -0
- package/src/app/(dashboard)/dashboard/providers/[id]/ConnectionRow.tsx +362 -0
- package/src/app/(dashboard)/dashboard/providers/[id]/CooldownTimer.tsx +32 -0
- package/src/app/(dashboard)/dashboard/providers/[id]/EditCompatibleNodeModal.tsx +163 -0
- package/src/app/(dashboard)/dashboard/providers/[id]/ModelRow.tsx +116 -0
- package/src/app/(dashboard)/dashboard/providers/[id]/PassthroughModelsSection.tsx +183 -0
- package/src/app/(dashboard)/dashboard/providers/[id]/page.tsx +1918 -0
- package/src/app/(dashboard)/dashboard/providers/[id]/useOneByOneTest.ts +102 -0
- package/src/app/(dashboard)/dashboard/providers/components/AddCompatibleModal.tsx +185 -0
- package/src/app/(dashboard)/dashboard/providers/components/ConnectionsCard.tsx +476 -0
- package/src/app/(dashboard)/dashboard/providers/components/ModelAvailabilityBadge.tsx +192 -0
- package/src/app/(dashboard)/dashboard/providers/components/ModelsCard.tsx +344 -0
- package/src/app/(dashboard)/dashboard/providers/new/page.tsx +275 -0
- package/src/app/(dashboard)/dashboard/providers/page.tsx +614 -0
- package/src/app/(dashboard)/dashboard/providers/utils.ts +19 -0
- package/src/app/(dashboard)/dashboard/proxy-pools/page.tsx +1305 -0
- package/src/app/(dashboard)/dashboard/pxpipe/PxpipeClient.tsx +404 -0
- package/src/app/(dashboard)/dashboard/pxpipe/page.tsx +5 -0
- package/src/app/(dashboard)/dashboard/quota/page.tsx +11 -0
- package/src/app/(dashboard)/dashboard/token-saver/TokenSaverClient.tsx +1096 -0
- package/src/app/(dashboard)/dashboard/token-saver/page.tsx +5 -0
- package/src/app/(dashboard)/dashboard/usage/components/OverviewCards.tsx +53 -0
- package/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/ProviderLimitCard.tsx +175 -0
- package/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/QuotaProgressBar.tsx +131 -0
- package/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/QuotaTable.tsx +314 -0
- package/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/index.tsx +1507 -0
- package/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/utils.ts +698 -0
- package/src/app/(dashboard)/dashboard/usage/components/ProviderTopology.tsx +550 -0
- package/src/app/(dashboard)/dashboard/usage/components/UsageChart.tsx +152 -0
- package/src/app/(dashboard)/dashboard/usage/components/UsageTable.tsx +249 -0
- package/src/app/(dashboard)/dashboard/usage/page.tsx +70 -0
- package/src/app/(dashboard)/layout.tsx +5 -0
- package/src/app/api/auth/login/route.js +146 -0
- package/src/app/api/auth/logout/route.js +12 -0
- package/src/app/api/auth/oidc/callback/route.js +100 -0
- package/src/app/api/auth/oidc/start/route.js +59 -0
- package/src/app/api/auth/oidc/test/route.js +86 -0
- package/src/app/api/auth/reset-password/route.js +13 -0
- package/src/app/api/auth/saml/acs/route.js +74 -0
- package/src/app/api/auth/saml/metadata/route.js +28 -0
- package/src/app/api/auth/saml/start/route.js +32 -0
- package/src/app/api/auth/saml/test/route.js +84 -0
- package/src/app/api/auth/status/route.js +72 -0
- package/src/app/api/changelog/route.js +28 -0
- package/src/app/api/cli-tools/all-statuses/route.js +32 -0
- package/src/app/api/cli-tools/claude-settings/route.js +266 -0
- package/src/app/api/cli-tools/codex-settings/profiles.js +109 -0
- package/src/app/api/cli-tools/codex-settings/route.js +411 -0
- package/src/app/api/cli-tools/cowork-mcp-registry/route.js +77 -0
- package/src/app/api/cli-tools/cowork-mcp-tools/route.js +116 -0
- package/src/app/api/cli-tools/cowork-settings/route.js +487 -0
- package/src/app/api/cli-tools/dsh-settings/route.ts +254 -0
- package/src/app/api/cli-tools/opencode-settings/route.js +334 -0
- package/src/app/api/combos/[id]/route.js +84 -0
- package/src/app/api/combos/route.js +51 -0
- package/src/app/api/headroom/extras/route.js +54 -0
- package/src/app/api/headroom/proxy/[...path]/route.js +104 -0
- package/src/app/api/headroom/restart/route.js +43 -0
- package/src/app/api/headroom/start/route.js +43 -0
- package/src/app/api/headroom/status/route.js +18 -0
- package/src/app/api/headroom/stop/route.js +14 -0
- package/src/app/api/health/route.js +15 -0
- package/src/app/api/init/route.js +4 -0
- package/src/app/api/keys/[id]/route.js +58 -0
- package/src/app/api/keys/route.js +45 -0
- package/src/app/api/locale/route.js +24 -0
- package/src/app/api/mcp/[plugin]/message/route.js +19 -0
- package/src/app/api/mcp/[plugin]/sse/route.js +35 -0
- package/src/app/api/media-providers/tts/deepgram/voices/route.js +76 -0
- package/src/app/api/media-providers/tts/elevenlabs/voices/route.js +77 -0
- package/src/app/api/media-providers/tts/inworld/voices/route.js +71 -0
- package/src/app/api/media-providers/tts/minimax/voices/route.js +126 -0
- package/src/app/api/media-providers/tts/voices/route.js +110 -0
- package/src/app/api/models/alias/route.js +53 -0
- package/src/app/api/models/availability/route.js +94 -0
- package/src/app/api/models/catalog-sync/route.js +34 -0
- package/src/app/api/models/custom/route.js +66 -0
- package/src/app/api/models/disabled/route.js +50 -0
- package/src/app/api/models/route.js +101 -0
- package/src/app/api/models/test/ping.js +318 -0
- package/src/app/api/models/test/route.js +14 -0
- package/src/app/api/oauth/[provider]/[action]/route.js +604 -0
- package/src/app/api/oauth/codex/bulk-import/route.js +115 -0
- package/src/app/api/oauth/codex/import-token/route.js +93 -0
- package/src/app/api/oauth/cursor/auto-import/route.js +238 -0
- package/src/app/api/oauth/cursor/import/route.js +91 -0
- package/src/app/api/oauth/gitlab/pat/route.js +65 -0
- package/src/app/api/oauth/grok-cli/bulk-import/route.js +107 -0
- package/src/app/api/oauth/iflow/cookie/route.js +139 -0
- package/src/app/api/oauth/xiaomi-mimo/api-key/route.js +129 -0
- package/src/app/api/oauth/xiaomi-mimo/auto-import/route.js +135 -0
- package/src/app/api/pricing/route.js +121 -0
- package/src/app/api/provider-nodes/[id]/route.js +113 -0
- package/src/app/api/provider-nodes/route.js +112 -0
- package/src/app/api/provider-nodes/validate/route.js +222 -0
- package/src/app/api/providers/[id]/models/route.js +579 -0
- package/src/app/api/providers/[id]/route.js +189 -0
- package/src/app/api/providers/[id]/test/route.js +23 -0
- package/src/app/api/providers/[id]/test/testUtils.js +1107 -0
- package/src/app/api/providers/[id]/test-models/route.js +79 -0
- package/src/app/api/providers/client/route.js +163 -0
- package/src/app/api/providers/kilo/free-models/route.js +55 -0
- package/src/app/api/providers/route.js +218 -0
- package/src/app/api/providers/suggested-models/filters.js +42 -0
- package/src/app/api/providers/suggested-models/route.js +32 -0
- package/src/app/api/providers/test-batch/route.js +133 -0
- package/src/app/api/providers/validate/route.js +700 -0
- package/src/app/api/proxy-pools/[id]/route.js +152 -0
- package/src/app/api/proxy-pools/[id]/test/route.js +72 -0
- package/src/app/api/proxy-pools/cloudflare-deploy/route.js +167 -0
- package/src/app/api/proxy-pools/deno-deploy/route.js +172 -0
- package/src/app/api/proxy-pools/route.js +93 -0
- package/src/app/api/proxy-pools/vercel-deploy/route.js +142 -0
- package/src/app/api/pxpipe/health/route.js +16 -0
- package/src/app/api/pxpipe/install/route.js +20 -0
- package/src/app/api/pxpipe/logs/route.js +18 -0
- package/src/app/api/pxpipe/restart/route.js +16 -0
- package/src/app/api/pxpipe/start/route.js +29 -0
- package/src/app/api/pxpipe/stats/route.js +14 -0
- package/src/app/api/pxpipe/status/route.js +21 -0
- package/src/app/api/pxpipe/stop/route.js +16 -0
- package/src/app/api/settings/database/route.js +54 -0
- package/src/app/api/settings/proxy-test/route.js +27 -0
- package/src/app/api/settings/require-login/route.js +15 -0
- package/src/app/api/settings/route.js +149 -0
- package/src/app/api/shutdown/route.js +26 -0
- package/src/app/api/tags/route.js +17 -0
- package/src/app/api/translator/console-logs/route.js +24 -0
- package/src/app/api/translator/console-logs/stream/route.js +98 -0
- package/src/app/api/translator/load/route.js +48 -0
- package/src/app/api/translator/save/route.js +47 -0
- package/src/app/api/translator/send/route.js +105 -0
- package/src/app/api/translator/translate/route.js +118 -0
- package/src/app/api/tunnel/disable/route.js +17 -0
- package/src/app/api/tunnel/enable/route.js +21 -0
- package/src/app/api/tunnel/status/route.js +25 -0
- package/src/app/api/tunnel/tailscale-check/route.js +77 -0
- package/src/app/api/tunnel/tailscale-disable/route.js +17 -0
- package/src/app/api/tunnel/tailscale-enable/route.js +17 -0
- package/src/app/api/tunnel/tailscale-install/route.js +98 -0
- package/src/app/api/usage/[connectionId]/codex-reset-credits/route.js +196 -0
- package/src/app/api/usage/[connectionId]/route.js +192 -0
- package/src/app/api/usage/chart/route.js +21 -0
- package/src/app/api/usage/history/route.js +12 -0
- package/src/app/api/usage/logs/route.js +12 -0
- package/src/app/api/usage/providers/route.js +38 -0
- package/src/app/api/usage/request-details/route.js +65 -0
- package/src/app/api/usage/request-logs/route.js +13 -0
- package/src/app/api/usage/stats/route.js +23 -0
- package/src/app/api/usage/stream/route.js +93 -0
- package/src/app/api/v1/api/chat/route.js +36 -0
- package/src/app/api/v1/audio/speech/route.js +16 -0
- package/src/app/api/v1/audio/transcriptions/route.js +19 -0
- package/src/app/api/v1/audio/voices/route.js +78 -0
- package/src/app/api/v1/chat/completions/route.js +34 -0
- package/src/app/api/v1/embeddings/route.js +21 -0
- package/src/app/api/v1/images/generations/route.js +16 -0
- package/src/app/api/v1/messages/count_tokens/route.js +96 -0
- package/src/app/api/v1/messages/route.js +35 -0
- package/src/app/api/v1/models/[...model]/route.js +75 -0
- package/src/app/api/v1/models/info/route.js +131 -0
- package/src/app/api/v1/models/route.js +586 -0
- package/src/app/api/v1/responses/compact/route.js +37 -0
- package/src/app/api/v1/responses/route.js +30 -0
- package/src/app/api/v1/route.js +1 -0
- package/src/app/api/v1/search/route.js +21 -0
- package/src/app/api/v1/systemone/route.js +21 -0
- package/src/app/api/v1/videos/[id]/route.js +17 -0
- package/src/app/api/v1/videos/edits/route.js +16 -0
- package/src/app/api/v1/videos/extensions/route.js +16 -0
- package/src/app/api/v1/videos/generations/route.js +16 -0
- package/src/app/api/v1/web/fetch/route.js +21 -0
- package/src/app/api/v1beta/models/[...path]/route.js +599 -0
- package/src/app/api/v1beta/models/route.js +62 -0
- package/src/app/api/version/route.js +15 -0
- package/src/app/api/version/shutdown/route.js +38 -0
- package/src/app/api/version/update/route.js +11 -0
- package/src/app/callback/page.tsx +162 -0
- package/src/app/dashboard/settings/pricing/page.tsx +192 -0
- package/src/app/globals.css +356 -0
- package/src/app/landing/components/AnimatedBackground.tsx +58 -0
- package/src/app/landing/components/Features.tsx +137 -0
- package/src/app/landing/components/FlowAnimation.tsx +168 -0
- package/src/app/landing/components/Footer.tsx +110 -0
- package/src/app/landing/components/GetStarted.tsx +105 -0
- package/src/app/landing/components/HeroSection.tsx +48 -0
- package/src/app/landing/components/HowItWorks.tsx +69 -0
- package/src/app/landing/components/Navigation.tsx +120 -0
- package/src/app/landing/page.tsx +131 -0
- package/src/app/layout.tsx +60 -0
- package/src/app/login/page.tsx +277 -0
- package/src/app/manifest.ts +33 -0
- package/src/app/page.tsx +5 -0
- package/src/components/app-sidebar.tsx +140 -0
- package/src/components/ui/alert.tsx +72 -0
- package/src/components/ui/avatar.tsx +93 -0
- package/src/components/ui/badge.tsx +44 -0
- package/src/components/ui/breadcrumb.tsx +103 -0
- package/src/components/ui/button.tsx +66 -0
- package/src/components/ui/card.tsx +91 -0
- package/src/components/ui/chart.tsx +338 -0
- package/src/components/ui/checkbox.tsx +26 -0
- package/src/components/ui/dialog.tsx +152 -0
- package/src/components/ui/dropdown-menu.tsx +249 -0
- package/src/components/ui/input.tsx +18 -0
- package/src/components/ui/label.tsx +18 -0
- package/src/components/ui/pagination.tsx +112 -0
- package/src/components/ui/select.tsx +184 -0
- package/src/components/ui/separator.tsx +25 -0
- package/src/components/ui/sheet.tsx +128 -0
- package/src/components/ui/sidebar.tsx +671 -0
- package/src/components/ui/skeleton.tsx +13 -0
- package/src/components/ui/switch.tsx +32 -0
- package/src/components/ui/table.tsx +86 -0
- package/src/components/ui/tabs.tsx +79 -0
- package/src/components/ui/tooltip.tsx +50 -0
- package/src/dashboardGuard.ts +298 -0
- package/src/hooks/use-mobile.ts +19 -0
- package/src/i18n/RuntimeI18nProvider.tsx +28 -0
- package/src/i18n/config.ts +19 -0
- package/src/i18n/runtime.ts +177 -0
- package/src/instrumentation.ts +14 -0
- package/src/lib/auth/dashboardSession.js +112 -0
- package/src/lib/auth/loginLimiter.js +70 -0
- package/src/lib/auth/oidc.js +242 -0
- package/src/lib/auth/saml.js +273 -0
- package/src/lib/auth/trustedPeer.js +7 -0
- package/src/lib/consoleLogBuffer.js +114 -0
- package/src/lib/dataDir.js +78 -0
- package/src/lib/db/adapters/betterSqliteAdapter.js +83 -0
- package/src/lib/db/adapters/bunSqliteAdapter.js +83 -0
- package/src/lib/db/adapters/nodeSqliteAdapter.js +111 -0
- package/src/lib/db/adapters/sqljsAdapter.js +128 -0
- package/src/lib/db/backup.js +88 -0
- package/src/lib/db/driver.js +94 -0
- package/src/lib/db/helpers/jsonCol.js +13 -0
- package/src/lib/db/helpers/kvStore.js +45 -0
- package/src/lib/db/helpers/metaStore.js +28 -0
- package/src/lib/db/index.js +312 -0
- package/src/lib/db/migrate.js +427 -0
- package/src/lib/db/migrations/001-initial.js +14 -0
- package/src/lib/db/migrations/index.js +10 -0
- package/src/lib/db/paths.js +18 -0
- package/src/lib/db/repos/aliasRepo.js +63 -0
- package/src/lib/db/repos/apiKeysRepo.js +78 -0
- package/src/lib/db/repos/combosRepo.js +83 -0
- package/src/lib/db/repos/connectionsRepo.js +347 -0
- package/src/lib/db/repos/disabledModelsRepo.js +56 -0
- package/src/lib/db/repos/nodesRepo.js +98 -0
- package/src/lib/db/repos/pricingRepo.js +108 -0
- package/src/lib/db/repos/proxyPoolsRepo.js +109 -0
- package/src/lib/db/repos/requestDetailsRepo.js +287 -0
- package/src/lib/db/repos/settingsRepo.js +123 -0
- package/src/lib/db/repos/usageRepo.js +1043 -0
- package/src/lib/db/schema.js +161 -0
- package/src/lib/db/version.js +21 -0
- package/src/lib/grokBuildConfig.js +228 -0
- package/src/lib/headroom/detect.js +212 -0
- package/src/lib/headroom/process.js +307 -0
- package/src/lib/isContainer.js +62 -0
- package/src/lib/localDb.js +51 -0
- package/src/lib/logLine.js +204 -0
- package/src/lib/mcp/stdioSseBridge.js +223 -0
- package/src/lib/modelCatalog/sync.js +292 -0
- package/src/lib/network/connectionProxy.js +172 -0
- package/src/lib/network/initOutboundProxy.js +25 -0
- package/src/lib/network/outboundProxy.js +87 -0
- package/src/lib/network/proxyTest.js +88 -0
- package/src/lib/network/resolveOutboundProxy.js +45 -0
- package/src/lib/oauth/constants/oauth.js +213 -0
- package/src/lib/oauth/constants/xai.js +62 -0
- package/src/lib/oauth/providerHelpers.js +74 -0
- package/src/lib/oauth/providers/_shared.js +17 -0
- package/src/lib/oauth/providers/antigravity.js +119 -0
- package/src/lib/oauth/providers/claude.js +60 -0
- package/src/lib/oauth/providers/codebuddy-cn.js +80 -0
- package/src/lib/oauth/providers/codebuddy-intl.js +75 -0
- package/src/lib/oauth/providers/codex.js +69 -0
- package/src/lib/oauth/providers/cursor.js +19 -0
- package/src/lib/oauth/providers/github.js +98 -0
- package/src/lib/oauth/providers/gitlab.js +64 -0
- package/src/lib/oauth/providers/grok-cli.js +123 -0
- package/src/lib/oauth/providers/iflow.js +89 -0
- package/src/lib/oauth/providers/index.js +243 -0
- package/src/lib/oauth/providers/kilocode.js +75 -0
- package/src/lib/oauth/providers/kimchi.js +76 -0
- package/src/lib/oauth/providers/qoder.js +111 -0
- package/src/lib/oauth/providers/trae.js +337 -0
- package/src/lib/oauth/providers/windsurf.js +172 -0
- package/src/lib/oauth/providers/xai.js +101 -0
- package/src/lib/oauth/providers/xiaomi-mimo.js +120 -0
- package/src/lib/oauth/providers/zed.js +68 -0
- package/src/lib/oauth/providers.js +1 -0
- package/src/lib/oauth/services/antigravity.js +322 -0
- package/src/lib/oauth/services/claude.js +135 -0
- package/src/lib/oauth/services/codex.js +149 -0
- package/src/lib/oauth/services/cursor.js +179 -0
- package/src/lib/oauth/services/github.js +227 -0
- package/src/lib/oauth/services/iflow.js +201 -0
- package/src/lib/oauth/services/index.js +13 -0
- package/src/lib/oauth/services/kimchi.js +139 -0
- package/src/lib/oauth/services/oauth.js +161 -0
- package/src/lib/oauth/services/openai.js +122 -0
- package/src/lib/oauth/services/qoder.js +237 -0
- package/src/lib/oauth/services/xai.js +241 -0
- package/src/lib/oauth/utils/banner.js +62 -0
- package/src/lib/oauth/utils/ideDetect.js +64 -0
- package/src/lib/oauth/utils/pkce.js +39 -0
- package/src/lib/oauth/utils/server.js +1056 -0
- package/src/lib/oauth/utils/ui.js +47 -0
- package/src/lib/providerNormalization.js +49 -0
- package/src/lib/pxpipe/events.js +146 -0
- package/src/lib/pxpipe/install.js +143 -0
- package/src/lib/pxpipe/loader.js +76 -0
- package/src/lib/pxpipe/service.js +69 -0
- package/src/lib/qoder/constants.js +2 -0
- package/src/lib/qoder/cosy.js +2 -0
- package/src/lib/qoder/encoding.js +2 -0
- package/src/lib/tunnel/cloudflare/cloudflared.js +513 -0
- package/src/lib/tunnel/cloudflare/config.js +9 -0
- package/src/lib/tunnel/cloudflare/healthCheck.js +33 -0
- package/src/lib/tunnel/cloudflare/manager.js +174 -0
- package/src/lib/tunnel/cloudflare/pid.js +31 -0
- package/src/lib/tunnel/index.js +53 -0
- package/src/lib/tunnel/shared/dnsResolver.js +20 -0
- package/src/lib/tunnel/shared/internetCheck.js +33 -0
- package/src/lib/tunnel/shared/state.js +45 -0
- package/src/lib/tunnel/shared/watchdogConfig.js +9 -0
- package/src/lib/tunnel/sudoExec.js +49 -0
- package/src/lib/tunnel/sudoPassword.js +90 -0
- package/src/lib/tunnel/tailscale/config.js +7 -0
- package/src/lib/tunnel/tailscale/healthCheck.js +33 -0
- package/src/lib/tunnel/tailscale/manager.js +151 -0
- package/src/lib/tunnel/tailscale/tailscale.js +1013 -0
- package/src/lib/usageDb.js +15 -0
- package/src/lib/versionCheck.js +67 -0
- package/src/models/index.ts +38 -0
- package/src/proxy.ts +10 -0
- package/src/shared/components/AddCustomEmbeddingModal.tsx +220 -0
- package/src/shared/components/CapacityBadges.tsx +47 -0
- package/src/shared/components/ChangelogModal.tsx +82 -0
- package/src/shared/components/ComboFormModal.tsx +321 -0
- package/src/shared/components/CursorAuthModal.tsx +213 -0
- package/src/shared/components/EditConnectionModal.tsx +369 -0
- package/src/shared/components/EntityCard.tsx +106 -0
- package/src/shared/components/EntityCardSkeleton.tsx +69 -0
- package/src/shared/components/Footer.tsx +133 -0
- package/src/shared/components/GitLabAuthModal.tsx +294 -0
- package/src/shared/components/Header.tsx +370 -0
- package/src/shared/components/HeaderLanguage.tsx +53 -0
- package/src/shared/components/HeaderMenu.tsx +75 -0
- package/src/shared/components/IFlowCookieModal.tsx +140 -0
- package/src/shared/components/Icon.tsx +237 -0
- package/src/shared/components/LanguageSwitcher.tsx +139 -0
- package/src/shared/components/Loading.tsx +102 -0
- package/src/shared/components/ManualConfigModal.tsx +55 -0
- package/src/shared/components/McpMarketplaceModal.tsx +320 -0
- package/src/shared/components/Modal.tsx +130 -0
- package/src/shared/components/ModelSelectModal.tsx +755 -0
- package/src/shared/components/NineRemoteButton.tsx +28 -0
- package/src/shared/components/NineRemotePromoModal.tsx +91 -0
- package/src/shared/components/NoAuthProxyCard.tsx +178 -0
- package/src/shared/components/OAuthModal.tsx +1055 -0
- package/src/shared/components/PricingModal.tsx +202 -0
- package/src/shared/components/ProviderIcon.tsx +80 -0
- package/src/shared/components/ProviderInfoCard.tsx +98 -0
- package/src/shared/components/RequestLogger.tsx +149 -0
- package/src/shared/components/SegmentedControl.tsx +45 -0
- package/src/shared/components/ShutdownModal.tsx +65 -0
- package/src/shared/components/ThemeProvider.tsx +15 -0
- package/src/shared/components/ThemeToggle.tsx +52 -0
- package/src/shared/components/UpdateDialog.tsx +248 -0
- package/src/shared/components/UsageStats.tsx +714 -0
- package/src/shared/components/VersionLabel.tsx +122 -0
- package/src/shared/components/XiaomiMimoAuthModal.tsx +277 -0
- package/src/shared/components/index.ts +32 -0
- package/src/shared/components/layouts/AuthLayout.tsx +22 -0
- package/src/shared/components/layouts/DashboardLayout.tsx +105 -0
- package/src/shared/components/layouts/Page.tsx +158 -0
- package/src/shared/components/layouts/index.ts +4 -0
- package/src/shared/constants/cliTools.js +123 -0
- package/src/shared/constants/colors.ts +92 -0
- package/src/shared/constants/config.ts +100 -0
- package/src/shared/constants/coworkPlugins.ts +113 -0
- package/src/shared/constants/index.ts +3 -0
- package/src/shared/constants/locales.ts +5 -0
- package/src/shared/constants/models.ts +65 -0
- package/src/shared/constants/providers.js +236 -0
- package/src/shared/constants/providersDisplay.ts +15 -0
- package/src/shared/constants/ttsProviders.ts +166 -0
- package/src/shared/hooks/index.js +3 -0
- package/src/shared/hooks/useCopyToClipboard.js +45 -0
- package/src/shared/hooks/useModelCaps.js +91 -0
- package/src/shared/hooks/useShutdown.ts +68 -0
- package/src/shared/hooks/useTheme.js +59 -0
- package/src/shared/services/bootstrap.ts +13 -0
- package/src/shared/services/initializeApp.ts +323 -0
- package/src/shared/services/quotaAutoPing.ts +400 -0
- package/src/shared/utils/api.ts +100 -0
- package/src/shared/utils/apiKey.ts +92 -0
- package/src/shared/utils/bulkAdd.ts +87 -0
- package/src/shared/utils/cn.ts +7 -0
- package/src/shared/utils/connectionStatus.ts +14 -0
- package/src/shared/utils/index.ts +40 -0
- package/src/shared/utils/machine.ts +6 -0
- package/src/shared/utils/machineId.ts +70 -0
- package/src/shared/utils/providerCustomModels.ts +80 -0
- package/src/shared/utils/providerIcon.ts +248 -0
- package/src/shared/utils/providerModelsFetcher.ts +33 -0
- package/src/shared/utils/ssrfGuard.ts +223 -0
- package/src/shared/utils/utils.js +1 -0
- package/src/sse/handlers/chat.js +430 -0
- package/src/sse/handlers/embeddings.js +192 -0
- package/src/sse/handlers/fetch.js +255 -0
- package/src/sse/handlers/imageGeneration.js +175 -0
- package/src/sse/handlers/search.js +260 -0
- package/src/sse/handlers/stt.js +120 -0
- package/src/sse/handlers/systemone.js +173 -0
- package/src/sse/handlers/tts.js +157 -0
- package/src/sse/handlers/videoGeneration.js +274 -0
- package/src/sse/services/antigravityQuota.ts +220 -0
- package/src/sse/services/auth.ts +485 -0
- package/src/sse/services/backgroundTokenRefresh.ts +190 -0
- package/src/sse/services/model.ts +102 -0
- package/src/sse/services/tokenRefresh.ts +328 -0
- package/src/sse/services/zedQuota.ts +233 -0
- package/src/sse/utils/logger.ts +140 -0
- package/src/store/headerSearchStore.ts +27 -0
- package/src/store/index.ts +5 -0
- package/src/store/notificationStore.ts +75 -0
- package/src/store/providerStore.ts +75 -0
- package/src/store/settingsStore.ts +63 -0
- package/src/store/themeStore.ts +48 -0
- package/src/store/userStore.ts +35 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[159],{13794:(e,a,i)=>{i.d(a,{Q2:()=>y,DI:()=>h,fg:()=>d,MA:()=>k,IS:()=>r,nJ:()=>m,rj:()=>c,zN:()=>p,JH:()=>u,wb:()=>x,br:()=>l,wG:()=>v,zt:()=>b,o5:()=>M,gb:()=>f,mq:()=>g});var t=i(38891);let o="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(t.A.filter(e=>e.display).map(e=>{let a;return[e.id,"RISK_NOTICE"===(a=e.display).deprecationNotice?{...a,deprecationNotice:o}:a]}));let n=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","credentialFallback","systemoneConfig","modelsFetcher","mediaPriority","hiddenKinds"],s=e=>Object.fromEntries(t.A.filter(a=>a.category===e).map(e=>[e.id,function(e){let a={};for(let i of(e.media&&Object.assign(a,e.media),n))void 0!==e[i]&&(a[i]=e[i]);let i={...e.display||{}};return"RISK_NOTICE"===i.deprecationNotice&&(i.deprecationNotice=o),{...i,id:e.id,alias:e.uiAlias||e.alias,...e.hidden?{hidden:!0}:{},...a,...void 0!==e.priority?{priority:e.priority}:{},...e.hasFree?{hasFree:!0}:{},...e.thinkingConfig?{thinkingConfig:e.thinkingConfig}:{},...e.regions?{regions:e.regions,defaultRegion:e.defaultRegion}:{},...e.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...e.noAuth?{noAuth:!0}:{},...e.passthroughModels?{passthroughModels:!0}:{},...e.hasOAuth?{hasOAuth:!0}:{},...e.authModes?{authModes:e.authModes}:{},...e.authType?{authType:e.authType}:{},...e.authHint?{authHint:e.authHint}:{}}}(e)])),r=s("free"),m=s("freeTier"),p=s("oauth"),d=s("apikey"),l=s("webCookie"),c=[{id:"embedding",label:"Embedding",icon:"data_array",endpoint:{method:"POST",path:"/v1/embeddings"}},{id:"image",label:"Text to Image",icon:"brush",endpoint:{method:"POST",path:"/v1/images/generations"}},{id:"imageToText",label:"Image to Text",icon:"image_search",endpoint:{method:"POST",path:"/v1/images/understanding"}},{id:"tts",label:"Text To Speech",icon:"record_voice_over",endpoint:{method:"POST",path:"/v1/audio/speech"}},{id:"stt",label:"Speech To Text",icon:"mic",endpoint:{method:"POST",path:"/v1/audio/transcriptions"}},{id:"webSearch",label:"Web Search",icon:"travel_explore",endpoint:{method:"POST",path:"/v1/search"}},{id:"webFetch",label:"Web Fetch",icon:"language",endpoint:{method:"POST",path:"/v1/web/fetch"}},{id:"video",label:"Video",icon:"movie",endpoint:{method:"POST",path:"/v1/videos/generations"}},{id:"music",label:"Music",icon:"music_note",endpoint:{method:"POST",path:"/v1/audio/music"}},{id:"systemone",label:"System One",icon:"bolt",endpoint:{method:"POST",path:"/v1/systemone"},isNew:!0}],u="openai-compatible-",h="anthropic-compatible-";function g(e){return"string"==typeof e&&e.startsWith(u)}function f(e){return"string"==typeof e&&e.startsWith(h)}let y={...r,...m,...p,...d,...l},k={oauth:{id:"oauth"},apikey:{id:"apikey"},cookie:{id:"cookie"}};function b(e){for(let a of Object.values(y))if(a.alias===e||a.id===e)return a;return null}function v(e){let a=y[e];return a?.alias||e}function M(e){return Object.values(y).filter(a=>!(!(a.serviceKinds??["llm"]).includes(e)||a.hidden||a.hiddenKinds?.includes(e))).sort((e,a)=>(e.priority??e.mediaPriority??999)-(a.priority??a.mediaPriority??999))}Object.values(y).reduce((e,a)=>(e[a.alias]=a.id,e),{}),Object.values(y).reduce((e,a)=>(e[a.id]=a.alias,e),{});let x=t.A.filter(e=>e.features?.usage).map(e=>e.id);t.A.filter(e=>e.features?.usageApikey).map(e=>e.id)},38891:(e,a,i)=>{i.d(a,{A:()=>m});var t=i(11461);let o={"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"};(function(){switch((0,t.arch)()){case"x64":case"arm64":case"ia32":return;default:return(0,t.arch)()}})(),function(){switch((0,t.platform)()){case"darwin":case"win32":case"linux":case"freebsd":return;default:return(0,t.platform)()}}();let n="https://daily-cloudcode-pa.googleapis.com",s="antigravity/ide/2.11.0 darwin/arm64",r="0.154.0",m=[{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","webSearch"],transport:{baseUrls:[n],format:"antigravity",headers:{"User-Agent":s},retry:{429:{attempts:3},500:{attempts:3},503:{attempts:3}},usage:{quotaApiUrl:`${n}/v1internal:fetchAvailableModels`,quotaSummaryApiUrl:`${n}/v1internal:retrieveUserQuotaSummary`,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.8-flash-high",name:"Gemini 3.8 Flash (High)",upstreamModelId:"gemini-3.8-flash-high(high)"},{id:"gemini-3.8-flash-medium",name:"Gemini 3.8 Flash (Medium)",upstreamModelId:"gemini-3.8-flash-medium(medium)"},{id:"gemini-3.8-flash-low",name:"Gemini 3.8 Flash (Low)",upstreamModelId:"gemini-3.8-flash-low(low)"},{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash",upstreamModelId:"gemini-3.8-flash-medium(medium)"},{id:"gemini-3.7-flash-high",name:"Gemini 3.7 Flash (High)",upstreamModelId:"gemini-3.7-flash-tiered(high)"},{id:"gemini-3.7-flash-medium",name:"Gemini 3.7 Flash (Medium)",upstreamModelId:"gemini-3.7-flash-tiered(medium)"},{id:"gemini-3.7-flash-low",name:"Gemini 3.7 Flash (Low)",upstreamModelId:"gemini-3.7-flash-tiered(low)"},{id:"gemini-3.6-flash-high",name:"Gemini 3.6 Flash (High)",upstreamModelId:"gemini-3.6-flash-tiered(high)"},{id:"gemini-3.6-flash-medium",name:"Gemini 3.6 Flash (Medium)",upstreamModelId:"gemini-3.6-flash-tiered(medium)"},{id:"gemini-3.6-flash-low",name:"Gemini 3.6 Flash (Low)",upstreamModelId:"gemini-3.6-flash-tiered(low)"},{id:"gemini-3.5-flash-high",name:"Gemini 3.5 Flash (High)"},{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://daily-cloudcode-pa.googleapis.com",apiVersion:"v1internal",loadCodeAssistEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUserEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser",loadCodeAssistUserAgent:s,refreshLeadMs:3e5},searchViaChat:{defaultModel:"gemini-2.5-flash",endpoint:`${n}/v1internal:generateContent`,freeTier:"Free — Google Search grounding through an Antigravity OAuth account."},features:{usage:!0}},{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.258 (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"}},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-5",name:"Claude Opus 5"},{id:"claude-fable-5-1",name:"Claude Fable 5.1"},{id:"claude-fable-5",name:"Claude Fable 5"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{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:"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,cliVersion:r,headers:{originator:"codex_cli_rs","User-Agent":`codex_cli_rs/${r}`},usage:{url:"https://chatgpt.com/backend-api/wham/usage",resetCreditsUrl:"https://chatgpt.com/backend-api/wham/rate-limit-reset-credits",resetCreditsConsumeUrl:"https://chatgpt.com/backend-api/wham/rate-limit-reset-credits/consume"}},models:[{id:"gpt-6-astra",name:"GPT 6.0 Astra"},{id:"gpt-5.6-sol",name:"GPT 5.6 Sol"},{id:"gpt-5.6-sol-review",name:"GPT 5.6 Sol Review",upstreamModelId:"gpt-5.6-sol",quotaFamily:"review"},{id:"gpt-5.6-terra",name:"GPT 5.6 Terra"},{id:"gpt-5.6-terra-review",name:"GPT 5.6 Terra Review",upstreamModelId:"gpt-5.6-terra",quotaFamily:"review"},{id:"gpt-5.6-luna",name:"GPT 5.6 Luna"},{id:"gpt-5.6-luna-review",name:"GPT 5.6 Luna Review",upstreamModelId:"gpt-5.6-luna",quotaFamily:"review"},{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-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:"codex-auto-review",name:"Codex Auto Review",upstreamModelId:"codex-auto-review",quotaFamily:"review"},{id:"gpt-image-2.5",name:"GPT Image 2.5",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-image-2.5-flare",name:"GPT Image 2.5 Flare",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-image-2.5-sunburst",name:"GPT Image 2.5 Sunburst",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-image-2",name:"GPT Image 2",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-image-1.5",name:"GPT Image 1.5",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.6-sol-image",name:"GPT 5.6 Sol Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.6-terra-image",name:"GPT 5.6 Terra Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.6-luna-image",name:"GPT 5.6 Luna Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{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:"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.12.17"},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:"/agent.v1.AgentService/GetUsableModels",api3Endpoint:"https://api3.cursor.sh",agentEndpoint:"https://agent.api5.cursor.sh",agentNonPrivacyEndpoint:"https://agentn.api5.cursor.sh",clientVersion:"3.12.17",clientType:"ide",dbKeys:{accessToken:"cursorAuth/accessToken",machineId:"storage.serviceMachineId"}}},{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"},quirks:{claudeSupportedToolTypes:["web_search_20250305","web_search_20260209"]}},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:{...o},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.1-flash",name:"DeepSeek V4.1 Flash"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision (Exp)"},{id:"deepseek-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-reasoner",name:"DeepSeek V3.2 Reasoner"}],features:{usage:!0,usageApikey:!0}},{id:"fish-audio",alias:"fish",display:{name:"Fish Audio",icon:"record_voice_over",color:"#1E9BF0",textIcon:"FA",website:"https://fish.audio",notice:{apiKeyUrl:"https://fish.audio/app/api-keys/"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.fish.audio/v1/tts",authType:"apikey",authHeader:"bearer",format:"fish-audio",models:[{id:"s2.1-pro-free",name:"S2.1 Pro Free"},{id:"s2.1-pro",name:"S2.1 Pro"},{id:"s2-pro",name:"S2 Pro"},{id:"s1",name:"S1"}]}},{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",authType:"apikey",authModes:["apikey"],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.8-flash",name:"Gemini 3.8 Flash"},{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash"},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash"},{id:"gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite"},{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-3.1-flash-tts-preview",name:"Gemini 3.1 Flash TTS",kind:"tts"},{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:"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.3",name:"GLM 5.3"},{id:"glm-5.3-flash",name:"GLM 5.3 Flash (Vision)"},{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5-turbo",name:"GLM 5 Turbo"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM-4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"},{id:"glm-4.6",name:"GLM-4.6"},{id:"glm-4.5-air",name:"GLM-4.5-Air"}],features:{usage:!0,usageApikey:!0}},{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:{...o},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:{...o},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"glm-5.3",name:"GLM 5.3"},{id:"glm-5.3-flash",name:"GLM 5.3 Flash (Vision)"},{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5-turbo",name:"GLM 5 Turbo"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"}],serviceKinds:["llm","webSearch"],searchConfig:{baseUrl:"https://api.z.ai/api/mcp/web_search_prime/mcp",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:0,searchTypes:["web"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:3e5},features:{usage:!0,usageApikey:!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",usage:{url:"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"},features:{usage:!0,usageApikey:!0}},{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://router.huggingface.co/models"}},{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:"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:{...o},quirks:{dropOutputConfig:!0,requireClaudeToolType:!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:{...o},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:"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:{...o},quirks:{dropOutputConfig:!0,requireClaudeToolType:!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:{...o},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:"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-2.5",name:"GPT Image 2.5",params:["n","size","quality","response_format"],kind:"image"},{id:"gpt-image-2.5-flare",name:"GPT Image 2.5 Flare",params:["n","size","quality","response_format"],kind:"image"},{id:"gpt-image-2.5-sunburst",name:"GPT Image 2.5 Sunburst",params:["n","size","quality","response_format"],kind:"image"},{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-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 10/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:{},usage:{url:"https://opencode.ai/zen/go/v1/usage"}},transports:[{format:"openai",baseUrl:"https://opencode.ai/zen/go/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://opencode.ai/zen/go/v1/messages",auth:{combined:!0,header:"x-api-key",scheme:"raw",anthropicVersion:!0}},{format:"openai-responses",baseUrl:"https://opencode.ai/zen/go/v1/responses",auth:{combined:!0,header:"Authorization",scheme:"bearer"}}],models:[{id:"deepseek-flash",name:"DeepSeek V4.1 Flash",supportedFormats:["openai"]},{id:"glm-5.3-flash",name:"GLM 5.3 Flash (Vision)",supportedFormats:["openai"]},{id:"glm-5.3",name:"GLM 5.3",supportedFormats:["openai"]},{id:"glm-5.2",name:"GLM 5.2",supportedFormats:["openai"]},{id:"glm-5.1",name:"GLM 5.1",supportedFormats:["openai"]},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",supportedFormats:["openai"]},{id:"kimi-k2.6",name:"Kimi K2.6",supportedFormats:["openai"]},{id:"kimi-k3",name:"Kimi K3",supportedFormats:["openai"]},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",supportedFormats:["openai","claude","openai-responses"]},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",supportedFormats:["openai","claude","openai-responses"]},{id:"deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision (Exp)",supportedFormats:["openai","claude","openai-responses"]},{id:"longcat-2.0",name:"LongCat 2.0",supportedFormats:["openai"]},{id:"mimo-v2.5",name:"MiMo V2.5",supportedFormats:["openai"]},{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro",supportedFormats:["openai"]},{id:"minimax-m3",name:"MiniMax M3",supportedFormats:["openai","claude"]},{id:"minimax-m2.7",name:"MiniMax M2.7",supportedFormats:["openai","claude"]},{id:"minimax-m2.5",name:"MiniMax M2.5",supportedFormats:["openai","claude"]},{id:"qwen3.8-max",name:"Qwen 3.8 Max",supportedFormats:["openai","claude"]},{id:"qwen3.8-flash",name:"Qwen 3.8 Flash",supportedFormats:["openai","claude"]},{id:"qwen3.7-max",name:"Qwen 3.7 Max",supportedFormats:["openai","claude"]},{id:"qwen3.7-plus",name:"Qwen 3.7 Plus",supportedFormats:["openai","claude"]},{id:"qwen3.6-plus",name:"Qwen 3.6 Plus",supportedFormats:["openai","claude"]},{id:"hy4-preview",name:"Hy4 Preview",supportedFormats:["openai"]},{id:"hy3",name:"Hy3",supportedFormats:["openai"]},{id:"grok-4.6",name:"Grok 4.6",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.6-luna",name:"GPT 5.6 Luna",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.2-contributor",name:"Muse Spark 1.2 Contributor",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.3-contributor",name:"Muse Spark 1.3 Contributor",targetFormat:"openai-responses",supportedFormats:["openai-responses"]}],features:{usage:!0,usageApikey:!0}},{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"},forceStream:!0,noAuth:!0,quirks:{forceAutoToolChoiceModels:["muse-spark-1.2-contributor-free","muse-spark-1.3-contributor-free"]}},models:[{id:"muse-spark-1.2-contributor-free",name:"Muse Spark 1.2 Contributor Free",targetFormat:"openai-responses"},{id:"muse-spark-1.3-contributor-free",name:"Muse Spark 1.3 Contributor Free",targetFormat:"openai-responses"},{id:"union-alpha",name:"Union Alpha Free",targetFormat:"claude"},{id:"jev-1.13-free",name:"Jev 1.13 Free",kind:"systemone"}],serviceKinds:["llm","systemone"],systemoneConfig:{baseUrl:"https://opencode.ai/zen/v1/systemone",headers:{"x-opencode-client":"desktop","User-Agent":"opencode/1.18.31"}},modelsFetcher:{url:"https://opencode.ai/zen/v1/models",type:"opencode-free"},passthroughModels:!0},{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",authType:"apikey",authModes:["apikey"],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"},{id:"google/veo-3.1",name:"Veo 3.1 (via OpenRouter)",params:["duration","aspect_ratio","resolution"],kind:"video"},{id:"openai/sora-2-pro",name:"Sora 2 Pro (via OpenRouter)",params:["duration","aspect_ratio","resolution"],kind:"video"},{id:"bytedance/seedance-2.0",name:"Seedance 2.0 (via OpenRouter)",params:["duration","aspect_ratio","resolution"],kind:"video"},{id:"typesafe/jev-1.13",name:"Jev 1.13",kind:"systemone"}],serviceKinds:["llm","embedding","tts","imageToText","video","systemone"],systemoneConfig:{baseUrl:"https://openrouter.ai/api/v1/systemone",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},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"}},videoConfig:{baseUrl:"https://openrouter.ai/api/v1/videos",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:"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:"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:"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.6",name:"Grok 4.6"},{id:"grok-4.5",name:"Grok 4.5"},{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"},{id:"grok-imagine-video",name:"Grok Imagine Video",params:["duration","aspect_ratio","resolution"],kind:"video"}],serviceKinds:["llm","imageToText","webSearch","image","video"],imageConfig:{baseUrl:"https://api.x.ai/v1/images/generations",bodyFields:["model","prompt","n","response_format"]},videoConfig:{baseUrl:"https://api.x.ai/v1/videos"},searchViaChat:{defaultModel:"grok-4.20-reasoning",endpoint:"https://api.x.ai/v1/responses",pricingUrl:"https://x.ai/api#pricing"}},{id:"xquik",alias:"xquik",display:{name:"Xquik",icon:"tag",color:"#5C3327",textIcon:"XQ",website:"https://docs.xquik.com/api-reference/x/search-tweets",notice:{apiKeyUrl:"https://xquik.com",text:"Searches public X posts. Billing uses 1 Xquik credit per returned post."}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://xquik.com/api/v1/x/tweets/search",validateUrl:"https://xquik.com/api/v1/credits",method:"GET",authType:"apikey",authHeader:"x-api-key",searchTypes:["x"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:6e4,creditsPerResult:1}},{id:"xiaomi-mimo",priority:290,alias:"xiaomi-mimo",aliases:["mimo","mimo-desktop","xmd"],uiAlias:"mimo",display:{name:"Xiaomi MiMo",icon:"smart_toy",color:"#FF6900",textIcon:"XM",website:"https://xiaomimimo.com",notice:{apiKeyUrl:"https://platform.xiaomimimo.com/console/api-keys",signupUrl:"https://mimo.xiaomimimo.com/desktop/invite/"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,serviceKinds:["llm","tts"],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:{...o},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"mimo-x-pro-preview",name:"MiMo-X-Pro-Preview",upstreamModelId:"xiaomi/mimo-x-pro-preview",supportedFormats:["openai"]},{id:"mimo-x-flash-preview",name:"MiMo-X-Flash-Preview",upstreamModelId:"xiaomi/mimo-x-flash-preview",supportedFormats:["openai"]},{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:"mimo-v2.5-tts",name:"MiMo V2.5 TTS",kind:"tts"}],ttsConfig:{baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",format:"xiaomi-mimo-tts"},features:{usage:!0,usageApikey:!0},oauth:{custom:!0,authorizeUrl:"https://platform.xiaomimimo.com/authorize",callbackParam:"u",kn:"mimocode"}},{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,regions:[{id:"sgp",label:"Singapore (新加坡)"},{id:"cn",label:"China (中国大陆)"},{id:"ams",label:"Amsterdam (阿姆斯特丹)"}],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:{...o},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:"zed",priority:999,alias:"zd",uiAlias:"zd",display:{name:"Zed",icon:"code",color:"#A855F7",website:"https://zed.dev",notice:{signupUrl:"https://zed.dev/native_app_signin"}},category:"oauth",authType:"oauth",hasOAuth:!0,transport:{baseUrl:"https://cloud.zed.dev/completions",format:"openai",forceStream:!0,headers:{"content-type":"application/json"},auth:{combined:!0,header:"Authorization",scheme:"<user_id> <access_token>"},usage:{url:"https://cloud.zed.dev/client/users/me"},modelsUrl:"https://cloud.zed.dev/models"},models:[],passthroughModels:!0,oauth:{authorizeUrl:"https://zed.dev/native_app_signin",platform:"zed",rsaKeyExchange:!0},features:{usage:!0}},{id:"mimo-free",hidden:!0,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:"opencode-zen",priority:205,alias:"ocz",aliases:["opencode-zen"],uiAlias:"ocz",display:{name:"OpenCode Zen",icon:"terminal",color:"#E87040",textIcon:"OZ",website:"https://opencode.ai/auth",notice:{text:"OpenCode Zen PAYG: pay-as-you-go, key from https://opencode.ai/auth. Same models as Zen: paid + free tiers on the fast lane.",apiKeyUrl:"https://opencode.ai/auth"}},category:"apikey",transport:{baseUrl:"https://opencode.ai/zen/v1/chat/completions",headers:{},usage:{url:"https://opencode.ai/zen/v1/usage"}},transports:[{format:"openai",baseUrl:"https://opencode.ai/zen/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://opencode.ai/zen/v1/messages",auth:{combined:!0,header:"x-api-key",scheme:"raw",anthropicVersion:!0}},{format:"openai-responses",baseUrl:"https://opencode.ai/zen/v1/responses",auth:{combined:!0,header:"Authorization",scheme:"bearer"}}],models:[{id:"claude-fable-5",name:"Claude Fable 5",supportedFormats:["claude"]},{id:"claude-fable-5-1",name:"Claude Fable 5.1",supportedFormats:["claude"]},{id:"claude-opus-5",name:"Claude Opus 5",supportedFormats:["claude"]},{id:"claude-opus-4-8",name:"Claude Opus 4.8",supportedFormats:["claude"]},{id:"claude-opus-4-7",name:"Claude Opus 4.7",supportedFormats:["claude"]},{id:"claude-opus-4-6",name:"Claude Opus 4.6",supportedFormats:["claude"]},{id:"claude-opus-4-5",name:"Claude Opus 4.5",supportedFormats:["claude"]},{id:"claude-sonnet-5",name:"Claude Sonnet 5",supportedFormats:["claude"]},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",supportedFormats:["claude"]},{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5",supportedFormats:["claude"]},{id:"claude-sonnet-4",name:"Claude Sonnet 4",supportedFormats:["claude"]},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",supportedFormats:["claude"]},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",supportedFormats:["openai"]},{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash",supportedFormats:["openai"]},{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash",supportedFormats:["openai"]},{id:"gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite",supportedFormats:["openai"]},{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",supportedFormats:["openai"]},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",supportedFormats:["openai"]},{id:"gemini-3-flash",name:"Gemini 3 Flash",supportedFormats:["openai"]},{id:"gpt-6-astra",name:"GPT 6 Astra",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.6-sol",name:"GPT 5.6 Sol",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.6-terra",name:"GPT 5.6 Terra",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.6-luna",name:"GPT 5.6 Luna",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.5",name:"GPT 5.5",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.5-pro",name:"GPT 5.5 Pro",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.4",name:"GPT 5.4",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.4-pro",name:"GPT 5.4 Pro",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.4-mini",name:"GPT 5.4 Mini",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.4-nano",name:"GPT 5.4 Nano",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.3-codex-spark",name:"GPT 5.3 Codex Spark",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.2",name:"GPT 5.2",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.1",name:"GPT 5.1",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.1-codex-max",name:"GPT 5.1 Codex Max",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.1-codex",name:"GPT 5.1 Codex",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.1-codex-mini",name:"GPT 5.1 Codex Mini",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5",name:"GPT 5",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5-codex",name:"GPT 5 Codex",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5-nano",name:"GPT 5 Nano",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"grok-build-0.1",name:"Grok Build 0.1",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"grok-4.6",name:"Grok 4.6",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"grok-4.5",name:"Grok 4.5",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.3",name:"Muse Spark 1.3",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.2",name:"Muse Spark 1.2",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"qwen3.6-plus",name:"Qwen 3.6 Plus",supportedFormats:["claude"]},{id:"qwen3.5-plus",name:"Qwen 3.5 Plus",supportedFormats:["claude"]},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",supportedFormats:["openai"]},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",supportedFormats:["openai"]},{id:"deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision Exp",supportedFormats:["openai"]},{id:"glm-5.3-flash",name:"GLM 5.3 Flash (Vision)",supportedFormats:["openai"]},{id:"glm-5.3",name:"GLM 5.3",supportedFormats:["openai"]},{id:"glm-5.2",name:"GLM 5.2",supportedFormats:["openai"]},{id:"glm-5.1",name:"GLM 5.1",supportedFormats:["openai"]},{id:"glm-5",name:"GLM 5",supportedFormats:["openai"]},{id:"minimax-m3",name:"MiniMax M3",supportedFormats:["openai"]},{id:"minimax-m2.7",name:"MiniMax M2.7",supportedFormats:["openai"]},{id:"minimax-m2.5",name:"MiniMax M2.5",supportedFormats:["openai"]},{id:"kimi-k3",name:"Kimi K3",supportedFormats:["openai"]},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",supportedFormats:["openai"]},{id:"kimi-k2.6",name:"Kimi K2.6",supportedFormats:["openai"]},{id:"kimi-k2.5",name:"Kimi K2.5",supportedFormats:["openai"]},{id:"big-pickle",name:"Big Pickle",supportedFormats:["openai"]},{id:"union-alpha",name:"Union Alpha",supportedFormats:["claude"]},{id:"deepseek-v4-flash-free",name:"DeepSeek V4 Flash Free",supportedFormats:["openai"]},{id:"mimo-v2.6-flash-free",name:"MiMo V2.6 Flash Free",supportedFormats:["openai"]},{id:"mimo-v2.5-free",name:"MiMo V2.5 Free",supportedFormats:["openai"]},{id:"ling-3.0-flash-fin-free",name:"Ling 3.0 Flash Fin Free",supportedFormats:["openai"]},{id:"nemotron-3-ultra-free",name:"Nemotron 3 Ultra Free",supportedFormats:["openai"]},{id:"nemotron-3.5-lightning-free",name:"Nemotron 3.5 Lightning Free",supportedFormats:["openai"]},{id:"muse-spark-1.3-contributor-free",name:"Muse Spark 1.3 Contributor Free",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.2-contributor-free",name:"Muse Spark 1.2 Contributor Free",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"jev-1.13",name:"Jev 1.13",kind:"systemone"},{id:"jev-1.13-free",name:"Jev 1.13 Free",kind:"systemone"}],serviceKinds:["llm","systemone"],systemoneConfig:{baseUrl:"https://opencode.ai/zen/v1/systemone",headers:{"x-opencode-client":"desktop","User-Agent":"opencode/1.18.31"}},modelsFetcher:{url:"https://opencode.ai/zen/v1/models",type:"opencode-free"},passthroughModels:!0,features:{usage:!0,usageApikey:!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"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,authHint:"Personal Access Token (pt-...) from https://qoder.com/account/integrations",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:"ultimate",name:"Ultimate"},{id:"auto",name:"Auto"},{id:"performance",name:"Performance"},{id:"efficient",name:"Efficient"},{id:"lite",name:"Lite"},{id:"qmodel_38max",name:"Qwen3.8-Max"},{id:"qmodel_latest",name:"Qwen3.7-Max"},{id:"qmodel",name:"Qwen3.7-Plus"},{id:"qfmodel",name:"Qwen3.8-Flash"},{id:"kmodel_latest",name:"Kimi-K3"},{id:"kmodel",name:"Kimi-K2.7-Code"},{id:"gmodel",name:"GLM-5.3"},{id:"gfmodel",name:"GLM-5.3-Flash"},{id:"dmodel",name:"DeepSeek-V4-Pro"},{id:"dfmodel",name:"DeepSeek-V4-Flash"},{id:"mmodel",name:"MiniMax-M3"}],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,usageApikey:!0}}]},58014:(e,a,i)=>{i.d(a,{Xg:()=>x,vq:()=>k,KC:()=>F});var t=i(38891),o=i(65746);function n(e,a){let i=o.env[e];if(null==i||""===i)return a;let t=parseInt(i,10);return Number.isFinite(t)&&t>0?t:a}o.env.SEARXNG_URL?.trim(),n("STREAM_STALL_TIMEOUT_MS",36e4),n("STREAM_FIRST_CHUNK_TIMEOUT_MS",2e5),n("FETCH_CONNECT_TIMEOUT_MS",6e4),n("GEMINI_NATIVE_TTS_FETCH_TIMEOUT_MS",45e3);function s(e){return e.split(/[-_\s]+/).filter(Boolean).map(e=>/^\d/.test(e)?e:e.charAt(0).toUpperCase()+e.slice(1)).join(" ")}let r=[[/^kimi-k(\d+(?:\.\d+)?)(-thinking)?$/i,e=>`Kimi K${e[1]}${e[2]?" Thinking":""}`],[/^glm-(\d+(?:\.\d+)?)(v)?$/i,e=>`GLM ${e[1]}${e[2]?"V (Vision)":""}`],[/^minimax-m(\d+(?:\.\d+)?)$/i,e=>`MiniMax M${e[1]}`],[/^gpt-(.+)$/i,e=>`GPT ${s(e[1])}`],[/^gemini-(.+)$/i,e=>`Gemini ${s(e[1])}`],[/^grok-(.+)$/i,e=>`Grok ${s(e[1])}`],[/^deepseek-(.+)$/i,e=>`DeepSeek ${s(e[1])}`],[/^qwen([\d.]+.*)$/i,e=>`Qwen ${s(e[1])}`]];function m(e){let a="string"==typeof e?{id:e}:e;return void 0!==a.name?a:{...a,name:function(e){if("string"!=typeof e)return e;for(let[a,i]of r){let t=e.match(a);if(t)return i(t)}return e}(a.id)}}let p={alloy:{id:"alloy",name:"Alloy"},ash:{id:"ash",name:"Ash"},ballad:{id:"ballad",name:"Ballad"},cedar:{id:"cedar",name:"Cedar"},coral:{id:"coral",name:"Coral"},echo:{id:"echo",name:"Echo"},fable:{id:"fable",name:"Fable"},marin:{id:"marin",name:"Marin"},nova:{id:"nova",name:"Nova"},onyx:{id:"onyx",name:"Onyx"},sage:{id:"sage",name:"Sage"},shimmer:{id:"shimmer",name:"Shimmer"},verse:{id:"verse",name:"Verse"}},d=(...e)=>e.map(e=>({...p[e],type:"tts"})),l=d("alloy","ash","coral","echo","fable","nova","onyx","sage","shimmer"),c=d("alloy","ash","ballad","cedar","coral","echo","fable","marin","nova","onyx","sage","shimmer","verse"),u=["Zephyr","Puck","Charon","Kore","Fenrir","Leda","Orus","Aoede","Callirrhoe","Autonoe","Enceladus","Iapetus","Umbriel","Algieba","Despina","Erinome","Algenib","Rasalgethi","Laomedeia","Achernar","Alnilam","Schedar","Gacrux","Pulcherrima","Achird","Zubenelgenubi","Vindemiatrix","Sadachbia","Sadaltager","Sulafat"].map(e=>({id:e,name:e,type:"tts"})),h={openai:{models:[{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"tts-1",name:"TTS-1",type:"tts"}],voices:{"gpt-4o-mini-tts":c,"tts-1":l,"tts-1-hd":l},allVoices:c},openrouter:{models:[{id:"openai/gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"openai/tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"openai/tts-1",name:"TTS-1",type:"tts"}],voices:{"openai/gpt-4o-mini-tts":c,"openai/tts-1":l,"openai/tts-1-hd":l},allVoices:c},elevenlabs:{models:[{id:"eleven_flash_v2_5",name:"Flash v2.5 (Fastest)",type:"tts"},{id:"eleven_turbo_v2_5",name:"Turbo v2.5 (Fast)",type:"tts"},{id:"eleven_multilingual_v2",name:"Multilingual v2 (Quality)",type:"tts"},{id:"eleven_monolingual_v1",name:"Monolingual v1 (English)",type:"tts"}]},"edge-tts":{defaults:[{id:"en-US-AriaNeural",name:"Aria (en-US)",type:"tts"},{id:"en-US-GuyNeural",name:"Guy (en-US)",type:"tts"},{id:"en-GB-SoniaNeural",name:"Sonia (en-GB)",type:"tts"},{id:"vi-VN-HoaiMyNeural",name:"Hoai My (vi-VN)",type:"tts"},{id:"vi-VN-NamMinhNeural",name:"Nam Minh (vi-VN)",type:"tts"},{id:"zh-CN-XiaoxiaoNeural",name:"Xiaoxiao (zh-CN)",type:"tts"},{id:"zh-CN-YunxiNeural",name:"Yunxi (zh-CN)",type:"tts"},{id:"fr-FR-DeniseNeural",name:"Denise (fr-FR)",type:"tts"},{id:"de-DE-KatjaNeural",name:"Katja (de-DE)",type:"tts"},{id:"ja-JP-NanamiNeural",name:"Nanami (ja-JP)",type:"tts"},{id:"ko-KR-SunHiNeural",name:"SunHi (ko-KR)",type:"tts"}]},"local-device":{defaults:[{id:"default",name:"System Default Voice",type:"tts"}]},"google-tts":{defaults:[{id:"af",name:"Afrikaans",type:"tts"},{id:"ar",name:"Arabic",type:"tts"},{id:"bg",name:"Bulgarian",type:"tts"},{id:"bn",name:"Bengali",type:"tts"},{id:"bs",name:"Bosnian",type:"tts"},{id:"ca",name:"Catalan",type:"tts"},{id:"cs",name:"Czech",type:"tts"},{id:"cy",name:"Welsh",type:"tts"},{id:"da",name:"Danish",type:"tts"},{id:"de",name:"German",type:"tts"},{id:"el",name:"Greek",type:"tts"},{id:"en",name:"English",type:"tts"},{id:"eo",name:"Esperanto",type:"tts"},{id:"es",name:"Spanish",type:"tts"},{id:"et",name:"Estonian",type:"tts"},{id:"fi",name:"Finnish",type:"tts"},{id:"fr",name:"French",type:"tts"},{id:"gu",name:"Gujarati",type:"tts"},{id:"hi",name:"Hindi",type:"tts"},{id:"hr",name:"Croatian",type:"tts"},{id:"hu",name:"Hungarian",type:"tts"},{id:"hy",name:"Armenian",type:"tts"},{id:"id",name:"Indonesian",type:"tts"},{id:"is",name:"Icelandic",type:"tts"},{id:"it",name:"Italian",type:"tts"},{id:"ja",name:"Japanese",type:"tts"},{id:"jw",name:"Javanese",type:"tts"},{id:"km",name:"Khmer",type:"tts"},{id:"kn",name:"Kannada",type:"tts"},{id:"ko",name:"Korean",type:"tts"},{id:"la",name:"Latin",type:"tts"},{id:"lv",name:"Latvian",type:"tts"},{id:"mk",name:"Macedonian",type:"tts"},{id:"ml",name:"Malayalam",type:"tts"},{id:"mr",name:"Marathi",type:"tts"},{id:"my",name:"Myanmar (Burmese)",type:"tts"},{id:"ne",name:"Nepali",type:"tts"},{id:"nl",name:"Dutch",type:"tts"},{id:"no",name:"Norwegian",type:"tts"},{id:"pl",name:"Polish",type:"tts"},{id:"pt",name:"Portuguese",type:"tts"},{id:"ro",name:"Romanian",type:"tts"},{id:"ru",name:"Russian",type:"tts"},{id:"si",name:"Sinhala",type:"tts"},{id:"sk",name:"Slovak",type:"tts"},{id:"sq",name:"Albanian",type:"tts"},{id:"sr",name:"Serbian",type:"tts"},{id:"su",name:"Sundanese",type:"tts"},{id:"sv",name:"Swedish",type:"tts"},{id:"sw",name:"Swahili",type:"tts"},{id:"ta",name:"Tamil",type:"tts"},{id:"te",name:"Telugu",type:"tts"},{id:"th",name:"Thai",type:"tts"},{id:"tl",name:"Filipino",type:"tts"},{id:"tr",name:"Turkish",type:"tts"},{id:"uk",name:"Ukrainian",type:"tts"},{id:"ur",name:"Urdu",type:"tts"},{id:"vi",name:"Vietnamese",type:"tts"},{id:"zh-CN",name:"Chinese (Simplified)",type:"tts"},{id:"zh-TW",name:"Chinese (Traditional)",type:"tts"}]},gemini:{models:[{id:"gemini-3.1-flash-tts-preview",name:"Gemini 3.1 Flash TTS",type:"tts"},{id:"gemini-2.5-flash-preview-tts",name:"Gemini 2.5 Flash TTS",type:"tts"},{id:"gemini-2.5-pro-preview-tts",name:"Gemini 2.5 Pro TTS",type:"tts"}],voices:{"gemini-3.1-flash-tts-preview":u,"gemini-2.5-flash-preview-tts":u,"gemini-2.5-pro-preview-tts":u},allVoices:u},"xiaomi-mimo":{models:[{id:"mimo-v2.5-tts",name:"MiMo V2.5 TTS",type:"tts"}],voices:{"mimo-v2.5-tts":[{id:"mimo_default",name:"mimo_default"},{id:"冰糖",name:"冰糖"},{id:"茉莉",name:"茉莉"},{id:"苏打",name:"苏打"},{id:"白桦",name:"白桦"},{id:"Mia",name:"Mia"},{id:"Chloe",name:"Chloe"},{id:"Milo",name:"Milo"},{id:"Dean",name:"Dean"}].map(e=>({type:"tts",...e}))}}},g=["clientId","clientSecret","tokenUrl","refreshUrl"],f=new Set(["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","systemoneConfig","modelsFetcher","mediaPriority","hiddenKinds"]),y={},k={},b={},v={};for(let e of t.A){e.transport&&(y[e.id]=function(e,a){let i={...e};if(i.format||(i.format="openai"),a)for(let e of g)void 0===i[e]&&void 0!==a[e]&&(i[e]=a[e]);return i}(e.transport,e.oauth),e.transports&&(y[e.id].transports=e.transports)),void 0!==e.models&&(k[e.alias||e.id]=e.models.map(m)),e.oauth&&(b[e.id]=e.oauth);let a={};for(let i of f)void 0!==e[i]&&(a[i]=e[i]);e.media&&Object.assign(a,e.media),Object.keys(a).length&&(v[e.id]=a)}Object.assign(k,function(){let e={};for(let[a,i]of Object.entries(h))i.models&&(e[`${a}-tts-models`]=i.models),i.allVoices&&(e[`${a}-tts-voices`]=i.allVoices),i.defaults&&(e[a]=i.defaults);return e["openai-tts-voices"]=h.openai.allVoices,e["openrouter-tts-voices"]=h.openrouter.allVoices,e}()),y["xiaomi-tokenplan"]?.regions,y["xiaomi-tokenplan"]?.defaultRegion;let M=Object.fromEntries(t.A.filter(e=>e.alias&&e.alias!==e.id).map(e=>[e.id,e.alias])),x=Object.fromEntries(Object.keys(y).map(e=>[e,M[e]||e]));function F(e){return k[x[e]||e]||[]}},80159:(e,a,i)=>{i.d(a,{CP:()=>o,KC:()=>t.KC,Xg:()=>t.Xg,bs:()=>n});var t=i(58014);Object.entries(i(13794).Q2).filter(([,e])=>e.passthroughModels).map(([e])=>e),Object.entries(t.vq).flatMap(([e,a])=>a.map(a=>({provider:e,model:a.id,name:a.name})));let o=(e,a=null)=>e?.kind||e?.type||a,n={vision:{icon:"visibility",label:"Vision",desc:"Supports image input",color:"text-blue-500"},reasoning:{icon:"neurology",label:"Reasoning",desc:"Supports reasoning / thinking",color:"text-amber-500"}}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1722],{12679:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});var r={bindSnapshot:function(){return u},createAsyncLocalStorage:function(){return l},createSnapshot:function(){return s}};for(var n in r)Object.defineProperty(t,n,{enumerable:!0,get:r[n]});let o=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class a{disable(){throw o}getStore(){}run(){throw o}exit(){throw o}enterWith(){throw o}static bind(e){return e}}let i="u">typeof globalThis&&globalThis.AsyncLocalStorage;function l(){return i?new i:new a}function u(e){return i?i.bind(e):a.bind(e)}function s(){return i?i.snapshot():function(e,...t){return e(...t)}}},15401:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,r(12679).createAsyncLocalStorage)()},22641:(e,t,r)=>{function n({moduleIds:e}){return null}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadChunks",{enumerable:!0,get:function(){return n}}),r(29798),r(31571),r(78597),r(70044),r(36656)},22964:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});let n=r(27926)._(r(80196));function o(e,t){let r={};"function"==typeof e&&(r.loader=e);let o={...r,...t};return(0,n.default)({...o,modules:o.loadableGenerated?.modules})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},47353:(e,t,r)=>{r.d(t,{Zr:()=>o});let n=e=>t=>{try{let r=e(t);if(r instanceof Promise)return r;return{then:e=>n(e)(r),catch(e){return this}}}catch(e){return{then(e){return this},catch:t=>n(t)(e)}}},o=(e,t)=>(r,o,a)=>{let i,l={storage:function(e){let t;try{t=e()}catch(e){return}return{getItem:e=>{var r;let n=e=>null===e?null:JSON.parse(e,void 0),o=null!=(r=t.getItem(e))?r:null;return o instanceof Promise?o.then(n):n(o)},setItem:(e,r)=>t.setItem(e,JSON.stringify(r,void 0)),removeItem:e=>t.removeItem(e)}}(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},u=!1,s=0,c=new Set,d=new Set,f=l.storage;if(!f)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${l.name}', the given storage is currently unavailable.`),r(...e)},o,a);let b=()=>{let e=l.partialize({...o()});return f.setItem(l.name,{state:e,version:l.version})},p=a.setState;a.setState=(e,t)=>(p(e,t),b());let h=e((...e)=>(r(...e),b()),o,a);a.getInitialState=()=>h;let g=()=>{var e,t;if(!f)return;let a=++s;u=!1,c.forEach(e=>{var t;return e(null!=(t=o())?t:h)});let p=(null==(t=l.onRehydrateStorage)?void 0:t.call(l,null!=(e=o())?e:h))||void 0;return n(f.getItem.bind(f))(l.name).then(e=>{if(e)if("number"!=typeof e.version||e.version===l.version)return[!1,e.state];else{if(l.migrate){let t=l.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(e=>{var t;if(a!==s)return;let[n,u]=e;if(r(i=l.merge(u,null!=(t=o())?t:h),!0),n)return b()}).then(()=>{a===s&&(null==p||p(o(),void 0),i=o(),u=!0,d.forEach(e=>e(i)))}).catch(e=>{a===s&&(null==p||p(void 0,e))})};return a.persist={setOptions:e=>{l={...l,...e},e.storage&&(f=e.storage)},clearStorage:()=>{++s,null==f||f.removeItem(l.name)},getOptions:()=>l,rehydrate:()=>g(),hasHydrated:()=>u,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(d.add(e),()=>{d.delete(e)})},l.skipHydration||g(),i||h}},51519:(e,t,r)=>{r.d(t,{default:()=>o.a});var n=r(22964),o=r.n(n)},56173:(e,t,r)=>{r.d(t,{B8:()=>P,bL:()=>_,l9:()=>S});var n=r(15814),o=r(52629),a=r(67246),i=r(27155),l=r(40144),u=r(20977),s=r(79742),c=r(88461),d=r(29798),f=Object.defineProperty,b=(e,t)=>f(e,"name",{value:t,configurable:!0}),p="Tabs",[h,g]=(0,a.A)(p,[i.RG]),m=(0,i.RG)(),[v,y]=h(p),j=n.forwardRef(b(function(e,t){let{__scopeTabs:r,value:n,onValueChange:o,defaultValue:a,orientation:i="horizontal",dir:f,activationMode:b="automatic",...h}=e,g=(0,u.jH)(f),[m,y]=(0,s.i)({prop:n,onChange:o,defaultProp:a??"",caller:p});return(0,d.jsx)(v,{scope:r,baseId:(0,c.B)(),value:m,onValueChange:y,orientation:i,dir:g,activationMode:b,children:(0,d.jsx)(l.sG.div,{dir:g,"data-orientation":i,...h,ref:t})})},"Tabs")),k=n.forwardRef(b(function(e,t){let{__scopeTabs:r,loop:n=!0,...o}=e,a=y("TabsList",r),u=m(r);return(0,d.jsx)(i.bL,{asChild:!0,...u,orientation:a.orientation,dir:a.dir,loop:n,children:(0,d.jsx)(l.sG.div,{role:"tablist","aria-orientation":a.orientation,...o,ref:t})})},"TabsList")),x=n.forwardRef(b(function(e,t){let{__scopeTabs:r,value:n,disabled:a=!1,...u}=e,s=y("TabsTrigger",r),c=m(r),f=w(s.baseId,n),b=C(s.baseId,n),p=n===s.value;return(0,d.jsx)(i.q7,{asChild:!0,...c,focusable:!a,active:p,children:(0,d.jsx)(l.sG.button,{type:"button",role:"tab","aria-selected":p,"aria-controls":b,"data-state":p?"active":"inactive","data-disabled":a?"":void 0,disabled:a,id:f,...u,ref:t,onMouseDown:(0,o.mK)(e.onMouseDown,e=>{a||0!==e.button||!1!==e.ctrlKey?e.preventDefault():s.onValueChange(n)}),onKeyDown:(0,o.mK)(e.onKeyDown,e=>{!a&&e.target===e.currentTarget&&[" ","Enter"].includes(e.key)&&s.onValueChange(n)}),onFocus:(0,o.mK)(e.onFocus,()=>{let e="manual"!==s.activationMode;p||a||!e||s.onValueChange(n)})})})},"TabsTrigger"));function w(e,t){return`${e}-trigger-${t}`}function C(e,t){return`${e}-content-${t}`}b(w,"makeTriggerId"),b(C,"makeContentId");var _=j,P=k,S=x},68612:(e,t,r)=>{r.d(t,{C1:()=>x,bL:()=>k});var n=r(15814),o=r(74612),a=r(67246),i=r(52629),l=r(79742),u=r(29185),s=r(14417),c=r(40144),d=r(29798),f=Object.defineProperty,b=(e,t)=>f(e,"name",{value:t,configurable:!0}),p="Checkbox",[h,g]=(0,a.A)(p),[m,v]=h(p);function y(e){let{__scopeCheckbox:t,checked:r,children:o,defaultChecked:a,disabled:i,form:u,name:s,onCheckedChange:c,required:f,value:b="on",internal_do_not_use_render:h}=e,[g,v]=(0,l.i)({prop:r,defaultProp:a??!1,onChange:c,caller:p}),[y,j]=n.useState(null),[k,x]=n.useState(null),w=n.useRef(!1),[P,S]=n.useReducer(e=>e+1,0),O=!y||!!u||!!y.closest("form"),I={checked:g,disabled:i,setChecked:v,control:y,setControl:j,name:s,form:u,value:b,hasConsumerStoppedPropagationRef:w,userInteractionCount:P,onUserInteraction:S,required:f,defaultChecked:!_(a)&&a,isFormControl:O,bubbleInput:k,setBubbleInput:x};return(0,d.jsx)(m,{scope:t,...I,children:C(h)?h(I):o})}b(y,"CheckboxProvider");var j=n.forwardRef(b(function({__scopeCheckbox:e,onKeyDown:t,onClick:r,...a},l){let{control:u,value:s,disabled:f,checked:p,required:h,setControl:g,setChecked:m,hasConsumerStoppedPropagationRef:y,onUserInteraction:j,isFormControl:k,bubbleInput:x}=v("CheckboxTrigger",e),w=(0,o.s)(l,g),C=n.useRef(p);return n.useEffect(()=>{let e=u?.form;if(e){let t=b(()=>m(C.current),"reset");return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[u,m]),(0,d.jsx)(c.sG.button,{type:"button",role:"checkbox","aria-checked":_(p)?"mixed":p,"aria-required":h,"data-state":P(p),"data-disabled":f?"":void 0,disabled:f,value:s,...a,ref:w,onKeyDown:(0,i.mK)(t,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,i.mK)(r,e=>{j(),m(e=>!!_(e)||!e),x&&k&&(y.current=e.isPropagationStopped(),y.current||e.stopPropagation())})})},"CheckboxTrigger")),k=n.forwardRef(b(function(e,t){let{__scopeCheckbox:r,name:n,checked:o,defaultChecked:a,required:i,disabled:l,value:u,onCheckedChange:s,form:c,...f}=e;return(0,d.jsx)(y,{__scopeCheckbox:r,checked:o,defaultChecked:a,disabled:l,required:i,onCheckedChange:s,name:n,form:c,value:u,internal_do_not_use_render:({isFormControl:e})=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(j,{...f,ref:t,__scopeCheckbox:r}),e&&(0,d.jsx)(w,{__scopeCheckbox:r})]})})},"Checkbox")),x=n.forwardRef(b(function(e,t){let{__scopeCheckbox:r,forceMount:n,...o}=e,a=v("CheckboxIndicator",r);return(0,d.jsx)(s.C,{present:n||_(a.checked)||!0===a.checked,children:(0,d.jsx)(c.sG.span,{"data-state":P(a.checked),"data-disabled":a.disabled?"":void 0,...o,ref:t,style:{pointerEvents:"none",...e.style}})})},"CheckboxIndicator")),w=n.forwardRef(b(function({__scopeCheckbox:e,onClick:t,...r},a){let{control:l,hasConsumerStoppedPropagationRef:s,userInteractionCount:f,checked:b,defaultChecked:p,required:h,disabled:g,name:m,value:y,form:j,bubbleInput:k,setBubbleInput:x}=v("CheckboxBubbleInput",e),w=(0,o.s)(a,x),C=(0,u.X)(l),P=n.useRef(!1),S=n.useRef(b),O=n.useRef(f);n.useEffect(()=>{if(!k)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=f!==O.current;O.current=f;let r=S.current!==b;S.current=b;let n=!(t&&s.current);if(r&&e){P.current=!t;let r=new Event("click",{bubbles:n});k.indeterminate=_(b),e.call(k,!_(b)&&b),k.dispatchEvent(r),P.current=!1}},[k,b,s,f]);let I=n.useRef(!_(b)&&b);return(0,d.jsx)(c.sG.input,{type:"checkbox","aria-hidden":!0,defaultChecked:p??I.current,required:h,disabled:g,name:m,value:y,form:j,...r,tabIndex:-1,ref:w,onClick:(0,i.mK)(t,e=>{P.current&&e.stopPropagation()}),style:{...r.style,...C,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"CheckboxBubbleInput"));function C(e){return"function"==typeof e}function _(e){return"indeterminate"===e}function P(e){return _(e)?"indeterminate":e?"checked":"unchecked"}b(C,"isFunction"),b(_,"isIndeterminate"),b(P,"getState")},78597:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorage",{enumerable:!0,get:function(){return n.workAsyncStorageInstance}});let n=r(15401)},80196:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return u}});let n=r(29798),o=r(15814),a=r(84803);function i(e){return{default:e&&"default"in e?e.default:e}}r(22641);let l={loader:()=>Promise.resolve(i(()=>null)),loading:null,ssr:!0},u=function(e){let t={...l,...e},r=(0,o.lazy)(()=>t.loader().then(i)),u=t.loading;function s(e){let i=u?(0,n.jsx)(u,{isLoading:!0,pastDelay:!0,error:null}):null,l=!t.ssr||!!t.loading,s=l?o.Suspense:o.Fragment,c=t.ssr?(0,n.jsxs)(n.Fragment,{children:[null,(0,n.jsx)(r,{...e})]}):(0,n.jsx)(a.BailoutToCSR,{reason:"next/dynamic",children:(0,n.jsx)(r,{...e})});return(0,n.jsx)(s,{...l?{fallback:i}:{},children:c})}return s.displayName="LoadableComponent",s}},84803:(e,t,r)=>{function n({reason:e,children:t}){return t}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return n}}),r(24135)}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1830],{31830:(n,e,t)=>{t.d(e,{ad:()=>u,gH:()=>a});let i={gh:{"gpt-5.3-codex":{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},tokenrouter:{"MiniMax-M3":{input:.3,output:1.2,cached:.06,reasoning:1.2},"anthropic/claude-fable-5":{input:10,output:50,cached:1,cache_creation:12.5,reasoning:50},"anthropic/claude-haiku-4.5":{input:1,output:5,cached:.1,cache_creation:1.25,reasoning:5},"anthropic/claude-opus-4.5":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-4.6":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-4.7":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-4.7-fast":{input:30,output:150,cached:3,reasoning:150},"anthropic/claude-opus-4.8":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-4.8-fast":{input:10,output:50,cached:1,cache_creation:12.5,reasoning:50},"anthropic/claude-opus-5":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-5-fast":{input:10,output:50,cached:1,cache_creation:12.5,reasoning:50},"anthropic/claude-sonnet-4":{input:3,output:15,cached:.3,cache_creation:3.75,reasoning:15},"anthropic/claude-sonnet-4.5":{input:3,output:15,cached:.3,cache_creation:3.75,reasoning:15},"anthropic/claude-sonnet-4.6":{input:3,output:15,cached:.3,cache_creation:3.75,reasoning:15},"anthropic/claude-sonnet-5":{input:2,output:10,cached:.2,reasoning:10},"claude-opus-4-8-m-aws":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"deepseek/deepseek-v3.2":{input:.26,output:.38,cached:.13,reasoning:.38},"deepseek/deepseek-v4-flash":{input:.14,output:.28,cached:.0028,reasoning:.28},"deepseek/deepseek-v4-flash-0731":{input:.14,output:.28,cached:.0028,reasoning:.28},"deepseek/deepseek-v4-pro":{input:.435,output:.87,cached:.003625,reasoning:.87},"ex/gpt-5.4":{input:2.5,output:15,cached:.25,reasoning:15},"google/gemini-2.5-flash-image":{input:.3,output:2.5,reasoning:2.5},"google/gemini-3-flash-preview":{input:.5,output:3,cached:.05,cache_creation:.08333,reasoning:3},"google/gemini-3-pro-image-preview":{input:2,output:12,reasoning:12},"google/gemini-3.1-flash-image-preview":{input:.5,output:3,reasoning:3},"google/gemini-3.1-flash-lite-image":{input:.25,output:1.5,reasoning:1.5},"google/gemini-3.1-pro-preview":{input:2,output:12,cached:.2,cache_creation:.375,reasoning:12},"google/gemini-3.5-flash":{input:1.5,output:9,cached:.15,cache_creation:.08333,reasoning:9},"google/gemini-3.5-flash-lite":{input:.3,output:2.5,cached:.03,cache_creation:.08333,reasoning:2.5},"google/gemini-3.6-flash":{input:1.5,output:7.5,cached:.15,cache_creation:.08333,reasoning:7.5},"google/gemini-embedding-2":{input:1,output:6,cached:.1,reasoning:6},"google/gemma-4-26b-a4b-it":{input:.06,output:.33,reasoning:.33},"kling-3.0-turbo":{input:2.1,output:2.1,reasoning:2.1},"microsoft/mai-image-2.5":{input:5,output:47,reasoning:47},"minimax/minimax-m2-her":{input:.3,output:1.2,cached:.03,reasoning:1.2},"minimax/minimax-m2.1":{input:.3,output:1.2,cached:.03,reasoning:1.2},"minimax/minimax-m2.1-highspeed":{input:.6,output:2.4,cached:.06,reasoning:2.4},"minimax/minimax-m2.5":{input:.3,output:1.2,cached:.03,reasoning:1.2},"minimax/minimax-m2.7":{input:.3,output:1.2,cached:.06,reasoning:1.2},"minimax/minimax-m2.7-highspeed":{input:.6,output:2.4,cached:.06,reasoning:2.4},"miromind/mirothinker-1-7-deepresearch":{input:4,output:25,reasoning:25},"miromind/mirothinker-1-7-deepresearch-mini":{input:1.25,output:10,reasoning:10},"mistralai/devstral-2512":{input:.4,output:2,cached:.04,reasoning:2},"mistralai/mistral-medium-3-5":{input:1.5,output:7.5,reasoning:7.5},"mistralai/mistral-small-2603":{input:.15,output:.6,cached:.015,reasoning:.6},"mistralai/voxtral-small-24b-2507":{input:.1,output:.3,cached:.01,reasoning:.3},"moonshotai/kimi-k2.5":{input:.6,output:3,cached:.1,reasoning:3},"moonshotai/kimi-k2.6":{input:.95,output:4,cached:.16,reasoning:4},"moonshotai/kimi-k2.7-code":{input:.9286,output:3.8571,cached:.1857,reasoning:3.8571},"moonshotai/kimi-k3":{input:3,output:15,cached:.3,reasoning:15},"nvidia/nemotron-3-super-120b-a12b":{input:.3,output:.9,cached:.1,reasoning:.9},"openai/gpt-4o-mini":{input:.15,output:.6,cached:.075,reasoning:.6},"openai/gpt-5":{input:1.25,output:10,cached:.125,reasoning:10},"openai/gpt-5-image":{input:10,output:40,cached:2.5,reasoning:40},"openai/gpt-5-image-mini":{input:2.5,output:8,cached:.25,reasoning:8},"openai/gpt-5-mini":{input:.25,output:2,cached:.025,reasoning:2},"openai/gpt-5.2":{input:1.75,output:14,cached:.175,reasoning:14},"openai/gpt-5.3-codex":{input:1.75,output:14,cached:.175,reasoning:14},"openai/gpt-5.4":{input:2.5,output:15,cached:.25,reasoning:15},"openai/gpt-5.4-image-2":{input:8,output:30,cached:2,reasoning:30},"openai/gpt-5.4-mini":{input:.75,output:4.5,cached:.075,reasoning:4.5},"openai/gpt-5.4-nano":{input:.2,output:1.25,cached:.02,reasoning:1.25},"openai/gpt-5.4-pro":{input:30,output:180,reasoning:180},"openai/gpt-5.5":{input:5,output:30,cached:.5,reasoning:30},"openai/gpt-5.5-pro":{input:30,output:180,reasoning:180},"openai/gpt-5.6-luna":{input:.2,output:1.2,cached:.02,cache_creation:.25,reasoning:1.2},"openai/gpt-5.6-sol":{input:5,output:30,cached:.5,cache_creation:6.25,reasoning:30},"openai/gpt-5.6-terra":{input:2,output:12,cached:.2,cache_creation:2.5,reasoning:12},"openai/gpt-audio":{input:2.5,output:10,reasoning:10},"openai/gpt-audio-mini":{input:.6,output:2.4,reasoning:2.4},"openai/gpt-oss-120b":{input:.039,output:.18,reasoning:.18},"qwen/qwen3-coder-next":{input:.12,output:.75,cached:.06,reasoning:.75},"qwen/qwen3.5-122b-a10b":{input:.26,output:2.08,reasoning:2.08},"qwen/qwen3.5-35b-a3b":{input:.1625,output:1.3,reasoning:1.3},"qwen/qwen3.5-397b-a17b":{input:.39,output:2.34,reasoning:2.34},"qwen/qwen3.5-9b":{input:.1,output:.15,reasoning:.15},"qwen/qwen3.5-flash":{input:.1048,output:.4194,reasoning:.4194},"qwen/qwen3.5-plus-02-15":{input:.26,output:1.56,reasoning:1.56},"qwen/qwen3.6-plus":{input:.54,output:3.21,reasoning:3.21},"qwen/qwen3.7-max":{input:1.25,output:3.75,cached:.25,reasoning:3.75},"qwen/qwen3.7-plus":{input:.4,output:1.6,cached:.08,reasoning:1.6},"qwen/qwen3.8-max":{input:2,output:6,cached:.25,cache_creation:2.5,reasoning:6},"qwen3.5-omni-plus":{input:1,output:5.7143,reasoning:5.7143},"qwen3.6-flash":{input:.171,output:1.029,cached:.017,cache_creation:.214,reasoning:1.029},"sakana/fugu-ultra":{input:5,output:30,cached:.5,reasoning:30},"seed-2-0-code-preview-260328":{input:1,output:6,cached:.2,cache_creation:.008333,reasoning:6},"seed-2-0-lite-260428":{input:.5,output:4,cached:.1,cache_creation:.008333,reasoning:4},"seed-2-0-mini-260428":{input:.2,output:.8,cached:.04,cache_creation:.00833,reasoning:.8},"seed-2-0-pro-260328":{input:1,output:6,cached:.2,cache_creation:.008333,reasoning:6},"stepfun/step-3.5-flash":{input:.1,output:.3,cached:.02,reasoning:.3},"stepfun/step-3.7-flash":{input:.2,output:1.15,cached:.04,reasoning:1.15},"tencent/hy3-preview":{input:.066,output:.26,cached:.029,reasoning:.26},"x-ai/grok-4.1-fast":{input:.2,output:.5,cached:.05,reasoning:.5},"x-ai/grok-4.20-beta":{input:2,output:6,cached:.2,reasoning:6},"x-ai/grok-4.3":{input:1.25,output:2.5,cached:.2,reasoning:2.5},"x-ai/grok-4.5":{input:2,output:6,cached:.5,reasoning:6},"x-ai/grok-build-0.1":{input:1,output:2,cached:.2,reasoning:2},"xiaomi/mimo-v2-flash":{input:.1,output:.3,cached:.01,reasoning:.3},"xiaomi/mimo-v2-omni":{input:.4,output:2,cached:.08,reasoning:2},"xiaomi/mimo-v2-pro":{input:1,output:3,cached:.2,reasoning:3},"xiaomi/mimo-v2.5":{input:.4,output:2,cached:.08,reasoning:2},"xiaomi/mimo-v2.5-pro":{input:1,output:3,cached:.2,reasoning:3},"z-ai/glm-4.5-air":{input:.13,output:.85,cached:.025,reasoning:.85},"z-ai/glm-4.6":{input:.6,output:2.2,cached:.11,reasoning:2.2},"z-ai/glm-4.6v":{input:.3,output:.9,reasoning:.9},"z-ai/glm-4.7":{input:.6,output:2.2,cached:.11,reasoning:2.2},"z-ai/glm-5":{input:1,output:3.2,cached:.2,reasoning:3.2},"z-ai/glm-5-turbo":{input:1.2,output:4,cached:.24,reasoning:4},"z-ai/glm-5.1":{input:1.05,output:3.5,cached:.525,reasoning:3.5},"z-ai/glm-5.2":{input:1.4,output:4.4,cached:.26,reasoning:4.4},"z-ai/glm-5.3-free":{input:0,output:0,cached:0,reasoning:0}}};function a(n,e){return RegExp("^"+n.split("*").map(n=>n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join(".*")+"$","i").test(e)}function u(){return i}}}]);
|