@yina-npm/openrouterx 0.4.72 → 0.5.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -1
- package/README.md +72 -420
- package/app/.next-cli-build/BUILD_ID +1 -0
- package/app/.next-cli-build/app-path-routes-manifest.json +170 -0
- package/app/.next-cli-build/build-manifest.json +20 -0
- package/app/.next-cli-build/prerender-manifest.json +239 -0
- package/app/.next-cli-build/required-server-files.json +380 -0
- package/app/.next-cli-build/routes-manifest.json +1131 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/admin/keys/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/admin/keys/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/admin/keys/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/admin/users/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/admin/users/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/admin/users/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +24 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +60 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +5 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +11 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +5 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +3 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/user/page.js +5 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/user/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/user/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/_global-error/page.js +32 -0
- package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/_global-error.html +1 -0
- package/app/.next-cli-build/server/app/_global-error.rsc +14 -0
- package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +14 -0
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/app/.next-cli-build/server/app/_not-found/page.js +2 -0
- package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/_not-found.html +1 -0
- package/app/.next-cli-build/server/app/_not-found.rsc +21 -0
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +21 -0
- package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +6 -0
- package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +9 -0
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +4 -0
- package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -0
- package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -0
- package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/auth/me/route.js +1 -0
- package/app/.next-cli-build/server/app/api/auth/me/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -0
- package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -0
- package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -0
- package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -0
- package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/auth/reset-password/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -0
- package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +17 -0
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -0
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -0
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -0
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/activate-account/route.js +2 -0
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/activate-account/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -0
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -0
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -0
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +9 -0
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -0
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +10 -0
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +3 -0
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -0
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -0
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -0
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -0
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/combos/route.js +1 -0
- package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -0
- package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/headroom/start/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -0
- package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/headroom/status/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -0
- package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/headroom/stop/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/health/route.js +1 -0
- package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/init/route.js +1 -0
- package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -0
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/keys/route.js +1 -0
- package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/locale/route.js +1 -0
- package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +7 -0
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +10 -0
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -0
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -0
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -0
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -0
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -0
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -0
- package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -0
- package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -0
- package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -0
- package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/models/route.js +1 -0
- package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/models/test/route.js +1 -0
- package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +4 -0
- package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/pricing/route.js +1 -0
- package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -0
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -0
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -0
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/providers/route.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -0
- package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -0
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -0
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +43 -0
- package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +40 -0
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -0
- package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +33 -0
- package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -0
- package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -0
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -0
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/settings/route.js +1 -0
- package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -0
- package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/tags/route.js +1 -0
- package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -0
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +7 -0
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -0
- package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -0
- package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -0
- package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -0
- package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -0
- package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -0
- package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -0
- package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -0
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -0
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -0
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +5 -0
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -0
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -0
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/usage/api-keys/route.js +1 -0
- package/app/.next-cli-build/server/app/api/usage/api-keys/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -0
- package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -0
- package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -0
- package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -0
- package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -0
- package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -0
- package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -0
- package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/usage/stream/route.js +7 -0
- package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/users/[id]/route.js +1 -0
- package/app/.next-cli-build/server/app/api/users/[id]/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/users/route.js +1 -0
- package/app/.next-cli-build/server/app/api/users/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +4 -0
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/version/route.js +1 -0
- package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -0
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/version/update/route.js +1 -0
- package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/callback/page.js +2 -0
- package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/callback.html +1 -0
- package/app/.next-cli-build/server/app/callback.rsc +25 -0
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +25 -0
- package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +6 -0
- package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +9 -0
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +4 -0
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +9 -0
- package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -0
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -0
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +25 -0
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +25 -0
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +6 -0
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +9 -0
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +4 -0
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +9 -0
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -0
- package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/index.html +1 -0
- package/app/.next-cli-build/server/app/index.rsc +20 -0
- package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +6 -0
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +20 -0
- package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +6 -0
- package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +9 -0
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +4 -0
- package/app/.next-cli-build/server/app/landing/page.js +2 -0
- package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/landing.html +1 -0
- package/app/.next-cli-build/server/app/landing.rsc +25 -0
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +25 -0
- package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +6 -0
- package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +9 -0
- package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +4 -0
- package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +9 -0
- package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/login/page.js +2 -0
- package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/login.html +1 -0
- package/app/.next-cli-build/server/app/login.rsc +26 -0
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +26 -0
- package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +6 -0
- package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +9 -0
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +10 -0
- package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +16 -0
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/page.js +2 -0
- package/app/.next-cli-build/server/app/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app-paths-manifest.json +170 -0
- package/app/.next-cli-build/server/chunks/1220.js +3 -0
- package/app/.next-cli-build/server/chunks/1241.js +1 -0
- package/app/.next-cli-build/server/chunks/1275.js +73 -0
- package/app/.next-cli-build/server/chunks/1350.js +2 -0
- package/app/.next-cli-build/server/chunks/1832.js +1 -0
- package/app/.next-cli-build/server/chunks/2059.js +1 -0
- package/app/.next-cli-build/server/chunks/2944.js +1 -0
- package/app/.next-cli-build/server/chunks/319.js +45 -0
- package/app/.next-cli-build/server/chunks/3412.js +1 -0
- package/app/.next-cli-build/server/chunks/3428.js +1 -0
- package/app/.next-cli-build/server/chunks/3535.js +1 -0
- package/app/.next-cli-build/server/chunks/3546.js +1 -0
- package/app/.next-cli-build/server/chunks/3913.js +64 -0
- package/app/.next-cli-build/server/chunks/412.js +7 -0
- package/app/.next-cli-build/server/chunks/4632.js +1 -0
- package/app/.next-cli-build/server/chunks/4922.js +9 -0
- package/app/.next-cli-build/server/chunks/4989.js +2 -0
- package/app/.next-cli-build/server/chunks/5118.js +1 -0
- package/app/.next-cli-build/server/chunks/5296.js +1 -0
- package/app/.next-cli-build/server/chunks/5592.js +1 -0
- package/app/.next-cli-build/server/chunks/5615.js +43 -0
- package/app/.next-cli-build/server/chunks/5699.js +1 -0
- package/app/.next-cli-build/server/chunks/5816.js +1 -0
- package/app/.next-cli-build/server/chunks/5961.js +1 -0
- package/app/.next-cli-build/server/chunks/6001.js +1 -0
- package/app/.next-cli-build/server/chunks/602.js +1 -0
- package/app/.next-cli-build/server/chunks/6070.js +1 -0
- package/app/.next-cli-build/server/chunks/615.js +1 -0
- package/app/.next-cli-build/server/chunks/6151.js +1 -0
- package/app/.next-cli-build/server/chunks/6182.js +63 -0
- package/app/.next-cli-build/server/chunks/6306.js +1 -0
- package/app/.next-cli-build/server/chunks/6327.js +1 -0
- package/app/.next-cli-build/server/chunks/6457.js +4 -0
- package/app/.next-cli-build/server/chunks/6482.js +11 -0
- package/app/.next-cli-build/server/chunks/6688.js +1 -0
- package/app/.next-cli-build/server/chunks/6763.js +1 -0
- package/app/.next-cli-build/server/chunks/6777.js +1 -0
- package/app/.next-cli-build/server/chunks/7244.js +1 -0
- package/app/.next-cli-build/server/chunks/7259.js +53 -0
- package/app/.next-cli-build/server/chunks/7774.js +120 -0
- package/app/.next-cli-build/server/chunks/7879.js +10 -0
- package/app/.next-cli-build/server/chunks/7937.js +170 -0
- package/app/.next-cli-build/server/chunks/801.js +3 -0
- package/app/.next-cli-build/server/chunks/8271.js +1 -0
- package/app/.next-cli-build/server/chunks/8895.js +58 -0
- package/app/.next-cli-build/server/chunks/8910.js +2 -0
- package/app/.next-cli-build/server/chunks/8920.js +1 -0
- package/app/.next-cli-build/server/chunks/9460.js +1 -0
- package/app/.next-cli-build/server/chunks/9718.js +1 -0
- package/app/.next-cli-build/server/chunks/9787.js +31 -0
- package/app/.next-cli-build/server/chunks/9833.js +1 -0
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -0
- package/app/.next-cli-build/server/middleware.js +18 -0
- package/app/.next-cli-build/server/next-font-manifest.js +1 -0
- package/app/.next-cli-build/server/next-font-manifest.json +1 -0
- package/app/.next-cli-build/server/pages/404.html +1 -0
- package/app/.next-cli-build/server/pages/500.html +1 -0
- package/app/.next-cli-build/server/server-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/server-reference-manifest.json +1 -0
- package/app/.next-cli-build/static/Z1O3mWLKLCkJm5SRaYg62/_buildManifest.js +1 -0
- package/app/.next-cli-build/static/chunks/1321-dbbab49aa820c76b.js +1 -0
- package/app/.next-cli-build/static/chunks/4072-932473fbd266d3f5.js +3 -0
- package/app/.next-cli-build/static/chunks/5497-215b48f00706d2c8.js +7 -0
- package/app/.next-cli-build/static/chunks/6069-b72e6803d5df6bb0.js +53 -0
- package/app/.next-cli-build/static/chunks/705-979ff3eb195b9023.js +1 -0
- package/app/.next-cli-build/static/chunks/8982-6d1803817450bcd4.js +11 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/admin/keys/page-770d25a6e4c1c16b.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/admin/users/page-c02ec2a52cb81f6c.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-00067a1ed47e8a1a.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-6b52a6040f91175e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-7e1032515aa7b846.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-b0ea71f0ee7d3f0d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-3255488cfa30dbe8.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-a803dd8339e39a59.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-248f90bb1f8438b5.js +59 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-f2ad20d24fffaed1.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/page-9b1c19519a3fcdd6.js +4 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-c9d255cd986ec35f.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/page-6783a97fcd89ff19.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-35bb7f0efeba6102.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-5cfb7ca8b362af6f.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-1e127be17d25ddd8.js +10 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/page-7c91743514149c71.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-95bd9413da0d98a6.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-022d3cf41ae7126d.js +4 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-561f95b84b06ae49.js +2 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/page-88a024a500d543fa.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/page-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-2551a48ef918b89b.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/user/page-2bb3871609a94258.js +4 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-b38e9f02aacbdcc5.js +1 -0
- package/app/.next-cli-build/static/chunks/app/_global-error/page-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/login/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/me/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/status/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/activate-account/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/health/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/init/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/locale/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/alias/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/availability/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/custom/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/test/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pricing/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/client/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/database/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/shutdown/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tags/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/load/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/save/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/send/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/api-keys/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/history/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/users/[id]/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/users/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/search/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/update/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-fa3a6585ef16a942.js +1 -0
- package/app/.next-cli-build/static/chunks/app/layout-666059e0e271094b.js +1 -0
- package/app/.next-cli-build/static/chunks/app/login/page-fc66d6d071e3bcf3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/app/page-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-f514bcc6e633f162.js +1 -0
- package/app/.next-cli-build/static/chunks/webpack-786de0e184ffd859.js +1 -0
- package/app/.next-cli-build/static/css/d477f23f99f30ee7.css +1 -0
- package/app/.next-cli-build/static/css/e60401d99e3ceca2.css +1 -0
- package/app/.next-cli-build/static/media/19cfc7226ec3afaa-s.woff2 +0 -0
- package/app/.next-cli-build/static/media/21350d82a1f187e9-s.woff2 +0 -0
- package/app/.next-cli-build/static/media/8e9860b6e62d6359-s.woff2 +0 -0
- package/app/.next-cli-build/static/media/ba9851c3c22cd980-s.woff2 +0 -0
- package/app/.next-cli-build/static/media/c5fe6dc8356a8c31-s.woff2 +0 -0
- package/app/.next-cli-build/static/media/df0a9ae256c0569c-s.woff2 +0 -0
- package/app/.next-cli-build/static/media/e4af272ccee01ff0-s.p.woff2 +0 -0
- package/app/cli/.build-home/.openrouterx/db.json +43 -0
- package/app/cli/.build-home/.openrouterx/jwt-secret +1 -0
- package/app/cli/.build-home/.openrouterx/machine-id +1 -0
- package/app/cli/.build-home/Library/Preferences/nextjs-nodejs/config.json +7 -0
- package/app/custom-server.js +32 -0
- package/app/package.json +11 -8
- package/app/public/providers/codebuddy-cn.png +0 -0
- package/app/public/providers/mimo-free.png +0 -0
- package/app/server.js +1 -1
- package/app/src/lib/updater/updater.js +2 -2
- package/app/src/mitm/server.js +60 -435
- package/cli.js +728 -415
- package/hooks/postinstall.js +15 -48
- package/hooks/sqliteRuntime.js +156 -0
- package/hooks/trayRuntime.js +107 -0
- package/package.json +18 -7
- package/src/cli/api/client.js +88 -10
- package/src/cli/menus/cliTools.js +164 -8
- package/src/cli/menus/providers.js +249 -12
- package/src/cli/menus/settings.js +138 -31
- package/src/cli/terminalUI.js +37 -25
- package/src/cli/tray/autostart.js +168 -184
- package/src/cli/tray/tray.js +226 -108
- package/src/cli/tray/tray.ps1 +79 -0
- package/src/cli/tray/trayWin.js +89 -0
- package/src/cli/utils/input.js +64 -137
- package/src/cli/utils/modelSelector.js +7 -4
- package/app/.next/BUILD_ID +0 -1
- package/app/.next/app-path-routes-manifest.json +0 -163
- package/app/.next/build-manifest.json +0 -20
- package/app/.next/prerender-manifest.json +0 -239
- package/app/.next/required-server-files.json +0 -376
- package/app/.next/routes-manifest.json +0 -1082
- package/app/.next/server/app/(dashboard)/dashboard/admin/keys/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/admin/keys/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/admin/keys/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/admin/users/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/admin/users/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/admin/users/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +0 -24
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +0 -60
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +0 -5
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +0 -4
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js +0 -5
- package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/quota/page.js +0 -3
- package/app/.next/server/app/(dashboard)/dashboard/quota/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/skills/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/skills/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page.js +0 -2
- package/app/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/user/page.js +0 -5
- package/app/.next/server/app/(dashboard)/dashboard/user/page.js.nft.json +0 -1
- package/app/.next/server/app/(dashboard)/dashboard/user/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/_global-error/page.js +0 -32
- package/app/.next/server/app/_global-error/page.js.nft.json +0 -1
- package/app/.next/server/app/_global-error/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/_global-error.html +0 -1
- package/app/.next/server/app/_global-error.rsc +0 -14
- package/app/.next/server/app/_global-error.segments/_full.segment.rsc +0 -14
- package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +0 -5
- package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +0 -5
- package/app/.next/server/app/_global-error.segments/_head.segment.rsc +0 -5
- package/app/.next/server/app/_global-error.segments/_index.segment.rsc +0 -5
- package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +0 -1
- package/app/.next/server/app/_not-found/page.js +0 -2
- package/app/.next/server/app/_not-found/page.js.nft.json +0 -1
- package/app/.next/server/app/_not-found/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/_not-found.html +0 -1
- package/app/.next/server/app/_not-found.rsc +0 -19
- package/app/.next/server/app/_not-found.segments/_full.segment.rsc +0 -19
- package/app/.next/server/app/_not-found.segments/_head.segment.rsc +0 -6
- package/app/.next/server/app/_not-found.segments/_index.segment.rsc +0 -8
- package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +0 -5
- package/app/.next/server/app/_not-found.segments/_not-found.segment.rsc +0 -5
- package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +0 -3
- package/app/.next/server/app/api/auth/login/route.js +0 -1
- package/app/.next/server/app/api/auth/login/route.js.nft.json +0 -1
- package/app/.next/server/app/api/auth/logout/route.js +0 -1
- package/app/.next/server/app/api/auth/logout/route.js.nft.json +0 -1
- package/app/.next/server/app/api/auth/me/route.js +0 -1
- package/app/.next/server/app/api/auth/me/route.js.nft.json +0 -1
- package/app/.next/server/app/api/auth/oidc/callback/route.js +0 -1
- package/app/.next/server/app/api/auth/oidc/callback/route.js.nft.json +0 -1
- package/app/.next/server/app/api/auth/oidc/start/route.js +0 -1
- package/app/.next/server/app/api/auth/oidc/start/route.js.nft.json +0 -1
- package/app/.next/server/app/api/auth/oidc/test/route.js +0 -1
- package/app/.next/server/app/api/auth/oidc/test/route.js.nft.json +0 -1
- package/app/.next/server/app/api/auth/status/route.js +0 -1
- package/app/.next/server/app/api/auth/status/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/all-statuses/route.js +0 -17
- package/app/.next/server/app/api/cli-tools/all-statuses/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +0 -2
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +0 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/claude-settings/route.js +0 -2
- package/app/.next/server/app/api/cli-tools/claude-settings/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/cline-settings/route.js +0 -2
- package/app/.next/server/app/api/cli-tools/cline-settings/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/codex-settings/activate-account/route.js +0 -2
- package/app/.next/server/app/api/cli-tools/codex-settings/activate-account/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/codex-settings/route.js +0 -1
- package/app/.next/server/app/api/cli-tools/codex-settings/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/copilot-settings/route.js +0 -2
- package/app/.next/server/app/api/cli-tools/copilot-settings/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js +0 -2
- package/app/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js +0 -2
- package/app/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/cowork-settings/route.js +0 -1
- package/app/.next/server/app/api/cli-tools/cowork-settings/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/deepseek-tui-settings/route.js +0 -9
- package/app/.next/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/droid-settings/route.js +0 -2
- package/app/.next/server/app/api/cli-tools/droid-settings/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/hermes-settings/route.js +0 -10
- package/app/.next/server/app/api/cli-tools/hermes-settings/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/jcode-settings/route.js +0 -3
- package/app/.next/server/app/api/cli-tools/jcode-settings/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +0 -2
- package/app/.next/server/app/api/cli-tools/kilo-settings/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +0 -2
- package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +0 -1
- package/app/.next/server/app/api/cli-tools/opencode-settings/route.js +0 -2
- package/app/.next/server/app/api/cli-tools/opencode-settings/route.js.nft.json +0 -1
- package/app/.next/server/app/api/combos/[id]/route.js +0 -1
- package/app/.next/server/app/api/combos/[id]/route.js.nft.json +0 -1
- package/app/.next/server/app/api/combos/route.js +0 -1
- package/app/.next/server/app/api/combos/route.js.nft.json +0 -1
- package/app/.next/server/app/api/health/route.js +0 -1
- package/app/.next/server/app/api/health/route.js.nft.json +0 -1
- package/app/.next/server/app/api/init/route.js +0 -1
- package/app/.next/server/app/api/init/route.js.nft.json +0 -1
- package/app/.next/server/app/api/keys/[id]/route.js +0 -1
- package/app/.next/server/app/api/keys/[id]/route.js.nft.json +0 -1
- package/app/.next/server/app/api/keys/route.js +0 -1
- package/app/.next/server/app/api/keys/route.js.nft.json +0 -1
- package/app/.next/server/app/api/locale/route.js +0 -1
- package/app/.next/server/app/api/locale/route.js.nft.json +0 -1
- package/app/.next/server/app/api/mcp/[plugin]/message/route.js +0 -7
- package/app/.next/server/app/api/mcp/[plugin]/message/route.js.nft.json +0 -1
- package/app/.next/server/app/api/mcp/[plugin]/sse/route.js +0 -7
- package/app/.next/server/app/api/mcp/[plugin]/sse/route.js.nft.json +0 -1
- package/app/.next/server/app/api/media-providers/tts/deepgram/voices/route.js +0 -1
- package/app/.next/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +0 -1
- package/app/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js +0 -1
- package/app/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +0 -1
- package/app/.next/server/app/api/media-providers/tts/inworld/voices/route.js +0 -1
- package/app/.next/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +0 -1
- package/app/.next/server/app/api/media-providers/tts/minimax/voices/route.js +0 -1
- package/app/.next/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +0 -1
- package/app/.next/server/app/api/media-providers/tts/voices/route.js +0 -1
- package/app/.next/server/app/api/media-providers/tts/voices/route.js.nft.json +0 -1
- package/app/.next/server/app/api/models/alias/route.js +0 -1
- package/app/.next/server/app/api/models/alias/route.js.nft.json +0 -1
- package/app/.next/server/app/api/models/availability/route.js +0 -1
- package/app/.next/server/app/api/models/availability/route.js.nft.json +0 -1
- package/app/.next/server/app/api/models/custom/route.js +0 -1
- package/app/.next/server/app/api/models/custom/route.js.nft.json +0 -1
- package/app/.next/server/app/api/models/disabled/route.js +0 -1
- package/app/.next/server/app/api/models/disabled/route.js.nft.json +0 -1
- package/app/.next/server/app/api/models/route.js +0 -1
- package/app/.next/server/app/api/models/route.js.nft.json +0 -1
- package/app/.next/server/app/api/models/test/route.js +0 -1
- package/app/.next/server/app/api/models/test/route.js.nft.json +0 -1
- package/app/.next/server/app/api/oauth/[provider]/[action]/route.js +0 -1
- package/app/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +0 -1
- package/app/.next/server/app/api/oauth/codex/import-token/route.js +0 -1
- package/app/.next/server/app/api/oauth/codex/import-token/route.js.nft.json +0 -1
- package/app/.next/server/app/api/oauth/cursor/auto-import/route.js +0 -4
- package/app/.next/server/app/api/oauth/cursor/auto-import/route.js.nft.json +0 -1
- package/app/.next/server/app/api/oauth/cursor/import/route.js +0 -1
- package/app/.next/server/app/api/oauth/cursor/import/route.js.nft.json +0 -1
- package/app/.next/server/app/api/oauth/gitlab/pat/route.js +0 -1
- package/app/.next/server/app/api/oauth/gitlab/pat/route.js.nft.json +0 -1
- package/app/.next/server/app/api/oauth/iflow/cookie/route.js +0 -1
- package/app/.next/server/app/api/oauth/iflow/cookie/route.js.nft.json +0 -1
- package/app/.next/server/app/api/oauth/kiro/auto-import/route.js +0 -1
- package/app/.next/server/app/api/oauth/kiro/auto-import/route.js.nft.json +0 -1
- package/app/.next/server/app/api/oauth/kiro/import/route.js +0 -1
- package/app/.next/server/app/api/oauth/kiro/import/route.js.nft.json +0 -1
- package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js +0 -1
- package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +0 -1
- package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js +0 -1
- package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +0 -1
- package/app/.next/server/app/api/pricing/route.js +0 -1
- package/app/.next/server/app/api/pricing/route.js.nft.json +0 -1
- package/app/.next/server/app/api/provider-nodes/[id]/route.js +0 -1
- package/app/.next/server/app/api/provider-nodes/[id]/route.js.nft.json +0 -1
- package/app/.next/server/app/api/provider-nodes/route.js +0 -1
- package/app/.next/server/app/api/provider-nodes/route.js.nft.json +0 -1
- package/app/.next/server/app/api/provider-nodes/validate/route.js +0 -1
- package/app/.next/server/app/api/provider-nodes/validate/route.js.nft.json +0 -1
- package/app/.next/server/app/api/providers/[id]/models/route.js +0 -1
- package/app/.next/server/app/api/providers/[id]/models/route.js.nft.json +0 -1
- package/app/.next/server/app/api/providers/[id]/route.js +0 -1
- package/app/.next/server/app/api/providers/[id]/route.js.nft.json +0 -1
- package/app/.next/server/app/api/providers/[id]/test/route.js +0 -1
- package/app/.next/server/app/api/providers/[id]/test/route.js.nft.json +0 -1
- package/app/.next/server/app/api/providers/[id]/test-models/route.js +0 -1
- package/app/.next/server/app/api/providers/[id]/test-models/route.js.nft.json +0 -1
- package/app/.next/server/app/api/providers/client/route.js +0 -1
- package/app/.next/server/app/api/providers/client/route.js.nft.json +0 -1
- package/app/.next/server/app/api/providers/kilo/free-models/route.js +0 -1
- package/app/.next/server/app/api/providers/kilo/free-models/route.js.nft.json +0 -1
- package/app/.next/server/app/api/providers/route.js +0 -1
- package/app/.next/server/app/api/providers/route.js.nft.json +0 -1
- package/app/.next/server/app/api/providers/suggested-models/route.js +0 -1
- package/app/.next/server/app/api/providers/suggested-models/route.js.nft.json +0 -1
- package/app/.next/server/app/api/providers/test-batch/route.js +0 -1
- package/app/.next/server/app/api/providers/test-batch/route.js.nft.json +0 -1
- package/app/.next/server/app/api/providers/validate/route.js +0 -1
- package/app/.next/server/app/api/providers/validate/route.js.nft.json +0 -1
- package/app/.next/server/app/api/proxy-pools/[id]/route.js +0 -1
- package/app/.next/server/app/api/proxy-pools/[id]/route.js.nft.json +0 -1
- package/app/.next/server/app/api/proxy-pools/[id]/test/route.js +0 -1
- package/app/.next/server/app/api/proxy-pools/[id]/test/route.js.nft.json +0 -1
- package/app/.next/server/app/api/proxy-pools/cloudflare-deploy/route.js +0 -43
- package/app/.next/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +0 -1
- package/app/.next/server/app/api/proxy-pools/deno-deploy/route.js +0 -40
- package/app/.next/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +0 -1
- package/app/.next/server/app/api/proxy-pools/route.js +0 -1
- package/app/.next/server/app/api/proxy-pools/route.js.nft.json +0 -1
- package/app/.next/server/app/api/proxy-pools/vercel-deploy/route.js +0 -33
- package/app/.next/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +0 -1
- package/app/.next/server/app/api/settings/database/route.js +0 -1
- package/app/.next/server/app/api/settings/database/route.js.nft.json +0 -1
- package/app/.next/server/app/api/settings/proxy-test/route.js +0 -1
- package/app/.next/server/app/api/settings/proxy-test/route.js.nft.json +0 -1
- package/app/.next/server/app/api/settings/require-login/route.js +0 -1
- package/app/.next/server/app/api/settings/require-login/route.js.nft.json +0 -1
- package/app/.next/server/app/api/settings/route.js +0 -1
- package/app/.next/server/app/api/settings/route.js.nft.json +0 -1
- package/app/.next/server/app/api/shutdown/route.js +0 -1
- package/app/.next/server/app/api/shutdown/route.js.nft.json +0 -1
- package/app/.next/server/app/api/tags/route.js +0 -1
- package/app/.next/server/app/api/tags/route.js.nft.json +0 -1
- package/app/.next/server/app/api/translator/console-logs/route.js +0 -1
- package/app/.next/server/app/api/translator/console-logs/route.js.nft.json +0 -1
- package/app/.next/server/app/api/translator/console-logs/stream/route.js +0 -7
- package/app/.next/server/app/api/translator/console-logs/stream/route.js.nft.json +0 -1
- package/app/.next/server/app/api/translator/load/route.js +0 -1
- package/app/.next/server/app/api/translator/load/route.js.nft.json +0 -1
- package/app/.next/server/app/api/translator/save/route.js +0 -1
- package/app/.next/server/app/api/translator/save/route.js.nft.json +0 -1
- package/app/.next/server/app/api/translator/send/route.js +0 -1
- package/app/.next/server/app/api/translator/send/route.js.nft.json +0 -1
- package/app/.next/server/app/api/translator/translate/route.js +0 -1
- package/app/.next/server/app/api/translator/translate/route.js.nft.json +0 -1
- package/app/.next/server/app/api/tunnel/disable/route.js +0 -1
- package/app/.next/server/app/api/tunnel/disable/route.js.nft.json +0 -1
- package/app/.next/server/app/api/tunnel/enable/route.js +0 -1
- package/app/.next/server/app/api/tunnel/enable/route.js.nft.json +0 -1
- package/app/.next/server/app/api/tunnel/status/route.js +0 -1
- package/app/.next/server/app/api/tunnel/status/route.js.nft.json +0 -1
- package/app/.next/server/app/api/tunnel/tailscale-check/route.js +0 -1
- package/app/.next/server/app/api/tunnel/tailscale-check/route.js.nft.json +0 -1
- package/app/.next/server/app/api/tunnel/tailscale-disable/route.js +0 -1
- package/app/.next/server/app/api/tunnel/tailscale-disable/route.js.nft.json +0 -1
- package/app/.next/server/app/api/tunnel/tailscale-enable/route.js +0 -1
- package/app/.next/server/app/api/tunnel/tailscale-enable/route.js.nft.json +0 -1
- package/app/.next/server/app/api/tunnel/tailscale-install/route.js +0 -5
- package/app/.next/server/app/api/tunnel/tailscale-install/route.js.nft.json +0 -1
- package/app/.next/server/app/api/usage/[connectionId]/route.js +0 -1
- package/app/.next/server/app/api/usage/[connectionId]/route.js.nft.json +0 -1
- package/app/.next/server/app/api/usage/api-keys/route.js +0 -1
- package/app/.next/server/app/api/usage/api-keys/route.js.nft.json +0 -1
- package/app/.next/server/app/api/usage/chart/route.js +0 -1
- package/app/.next/server/app/api/usage/chart/route.js.nft.json +0 -1
- package/app/.next/server/app/api/usage/history/route.js +0 -1
- package/app/.next/server/app/api/usage/history/route.js.nft.json +0 -1
- package/app/.next/server/app/api/usage/logs/route.js +0 -1
- package/app/.next/server/app/api/usage/logs/route.js.nft.json +0 -1
- package/app/.next/server/app/api/usage/providers/route.js +0 -1
- package/app/.next/server/app/api/usage/providers/route.js.nft.json +0 -1
- package/app/.next/server/app/api/usage/request-details/route.js +0 -1
- package/app/.next/server/app/api/usage/request-details/route.js.nft.json +0 -1
- package/app/.next/server/app/api/usage/request-logs/route.js +0 -1
- package/app/.next/server/app/api/usage/request-logs/route.js.nft.json +0 -1
- package/app/.next/server/app/api/usage/stats/route.js +0 -1
- package/app/.next/server/app/api/usage/stats/route.js.nft.json +0 -1
- package/app/.next/server/app/api/usage/stream/route.js +0 -7
- package/app/.next/server/app/api/usage/stream/route.js.nft.json +0 -1
- package/app/.next/server/app/api/users/[id]/route.js +0 -1
- package/app/.next/server/app/api/users/[id]/route.js.nft.json +0 -1
- package/app/.next/server/app/api/users/route.js +0 -1
- package/app/.next/server/app/api/users/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/api/chat/route.js +0 -1
- package/app/.next/server/app/api/v1/api/chat/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/audio/speech/route.js +0 -1
- package/app/.next/server/app/api/v1/audio/speech/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/audio/transcriptions/route.js +0 -1
- package/app/.next/server/app/api/v1/audio/transcriptions/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/audio/voices/route.js +0 -1
- package/app/.next/server/app/api/v1/audio/voices/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/chat/completions/route.js +0 -1
- package/app/.next/server/app/api/v1/chat/completions/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/embeddings/route.js +0 -1
- package/app/.next/server/app/api/v1/embeddings/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/images/generations/route.js +0 -4
- package/app/.next/server/app/api/v1/images/generations/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/messages/count_tokens/route.js +0 -1
- package/app/.next/server/app/api/v1/messages/count_tokens/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/messages/route.js +0 -1
- package/app/.next/server/app/api/v1/messages/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/models/[kind]/route.js +0 -1
- package/app/.next/server/app/api/v1/models/[kind]/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/models/info/route.js +0 -1
- package/app/.next/server/app/api/v1/models/info/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/models/route.js +0 -1
- package/app/.next/server/app/api/v1/models/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/responses/compact/route.js +0 -1
- package/app/.next/server/app/api/v1/responses/compact/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/responses/route.js +0 -1
- package/app/.next/server/app/api/v1/responses/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/route.js +0 -1
- package/app/.next/server/app/api/v1/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/search/route.js +0 -1
- package/app/.next/server/app/api/v1/search/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1/web/fetch/route.js +0 -1
- package/app/.next/server/app/api/v1/web/fetch/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1beta/models/[...path]/route.js +0 -1
- package/app/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +0 -1
- package/app/.next/server/app/api/v1beta/models/route.js +0 -1
- package/app/.next/server/app/api/v1beta/models/route.js.nft.json +0 -1
- package/app/.next/server/app/api/version/route.js +0 -1
- package/app/.next/server/app/api/version/route.js.nft.json +0 -1
- package/app/.next/server/app/api/version/shutdown/route.js +0 -1
- package/app/.next/server/app/api/version/shutdown/route.js.nft.json +0 -1
- package/app/.next/server/app/api/version/update/route.js +0 -1
- package/app/.next/server/app/api/version/update/route.js.nft.json +0 -1
- package/app/.next/server/app/callback/page.js +0 -2
- package/app/.next/server/app/callback/page.js.nft.json +0 -1
- package/app/.next/server/app/callback/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/callback.html +0 -1
- package/app/.next/server/app/callback.rsc +0 -23
- package/app/.next/server/app/callback.segments/_full.segment.rsc +0 -23
- package/app/.next/server/app/callback.segments/_head.segment.rsc +0 -6
- package/app/.next/server/app/callback.segments/_index.segment.rsc +0 -8
- package/app/.next/server/app/callback.segments/_tree.segment.rsc +0 -3
- package/app/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +0 -9
- package/app/.next/server/app/callback.segments/callback.segment.rsc +0 -5
- package/app/.next/server/app/dashboard/settings/pricing/page.js +0 -2
- package/app/.next/server/app/dashboard/settings/pricing/page.js.nft.json +0 -1
- package/app/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/dashboard/settings/pricing.html +0 -1
- package/app/.next/server/app/dashboard/settings/pricing.rsc +0 -23
- package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +0 -23
- package/app/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +0 -6
- package/app/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +0 -8
- package/app/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +0 -3
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +0 -9
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +0 -5
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +0 -5
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +0 -5
- package/app/.next/server/app/favicon.ico/route.js +0 -1
- package/app/.next/server/app/favicon.ico/route.js.nft.json +0 -1
- package/app/.next/server/app/index.html +0 -1
- package/app/.next/server/app/index.rsc +0 -18
- package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +0 -6
- package/app/.next/server/app/index.segments/_full.segment.rsc +0 -18
- package/app/.next/server/app/index.segments/_head.segment.rsc +0 -6
- package/app/.next/server/app/index.segments/_index.segment.rsc +0 -8
- package/app/.next/server/app/index.segments/_tree.segment.rsc +0 -3
- package/app/.next/server/app/landing/page.js +0 -2
- package/app/.next/server/app/landing/page.js.nft.json +0 -1
- package/app/.next/server/app/landing/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/landing.html +0 -1
- package/app/.next/server/app/landing.rsc +0 -23
- package/app/.next/server/app/landing.segments/_full.segment.rsc +0 -23
- package/app/.next/server/app/landing.segments/_head.segment.rsc +0 -6
- package/app/.next/server/app/landing.segments/_index.segment.rsc +0 -8
- package/app/.next/server/app/landing.segments/_tree.segment.rsc +0 -3
- package/app/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +0 -9
- package/app/.next/server/app/landing.segments/landing.segment.rsc +0 -5
- package/app/.next/server/app/login/page.js +0 -2
- package/app/.next/server/app/login/page.js.nft.json +0 -1
- package/app/.next/server/app/login/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app/login.html +0 -1
- package/app/.next/server/app/login.rsc +0 -24
- package/app/.next/server/app/login.segments/_full.segment.rsc +0 -24
- package/app/.next/server/app/login.segments/_head.segment.rsc +0 -6
- package/app/.next/server/app/login.segments/_index.segment.rsc +0 -8
- package/app/.next/server/app/login.segments/_tree.segment.rsc +0 -4
- package/app/.next/server/app/login.segments/login/__PAGE__.segment.rsc +0 -10
- package/app/.next/server/app/login.segments/login.segment.rsc +0 -5
- package/app/.next/server/app/manifest.webmanifest/route.js +0 -16
- package/app/.next/server/app/manifest.webmanifest/route.js.nft.json +0 -1
- package/app/.next/server/app/page.js +0 -2
- package/app/.next/server/app/page.js.nft.json +0 -1
- package/app/.next/server/app/page_client-reference-manifest.js +0 -1
- package/app/.next/server/app-paths-manifest.json +0 -163
- package/app/.next/server/chunks/1172.js +0 -1
- package/app/.next/server/chunks/1350.js +0 -8
- package/app/.next/server/chunks/1476.js +0 -1
- package/app/.next/server/chunks/1531.js +0 -1
- package/app/.next/server/chunks/1813.js +0 -1
- package/app/.next/server/chunks/1900.js +0 -1
- package/app/.next/server/chunks/2409.js +0 -1
- package/app/.next/server/chunks/2574.js +0 -1
- package/app/.next/server/chunks/2722.js +0 -53
- package/app/.next/server/chunks/2750.js +0 -31
- package/app/.next/server/chunks/3104.js +0 -43
- package/app/.next/server/chunks/3110.js +0 -67
- package/app/.next/server/chunks/319.js +0 -45
- package/app/.next/server/chunks/3205.js +0 -1
- package/app/.next/server/chunks/365.js +0 -1
- package/app/.next/server/chunks/3913.js +0 -64
- package/app/.next/server/chunks/412.js +0 -7
- package/app/.next/server/chunks/4177.js +0 -1
- package/app/.next/server/chunks/4404.js +0 -1
- package/app/.next/server/chunks/4565.js +0 -3
- package/app/.next/server/chunks/4922.js +0 -9
- package/app/.next/server/chunks/4989.js +0 -2
- package/app/.next/server/chunks/5681.js +0 -1
- package/app/.next/server/chunks/5789.js +0 -1
- package/app/.next/server/chunks/6001.js +0 -1
- package/app/.next/server/chunks/6096.js +0 -1
- package/app/.next/server/chunks/6108.js +0 -1
- package/app/.next/server/chunks/6457.js +0 -4
- package/app/.next/server/chunks/7341.js +0 -1
- package/app/.next/server/chunks/7774.js +0 -120
- package/app/.next/server/chunks/7879.js +0 -10
- package/app/.next/server/chunks/7937.js +0 -186
- package/app/.next/server/chunks/8220.js +0 -1
- package/app/.next/server/chunks/8279.js +0 -1
- package/app/.next/server/chunks/8750.js +0 -1
- package/app/.next/server/chunks/8895.js +0 -55
- package/app/.next/server/chunks/9203.js +0 -1
- package/app/.next/server/chunks/9259.js +0 -3
- package/app/.next/server/chunks/9460.js +0 -1
- package/app/.next/server/chunks/9489.js +0 -1
- package/app/.next/server/chunks/9501.js +0 -63
- package/app/.next/server/chunks/9713.js +0 -1
- package/app/.next/server/chunks/9718.js +0 -1
- package/app/.next/server/chunks/9856.js +0 -1
- package/app/.next/server/middleware-build-manifest.js +0 -1
- package/app/.next/server/middleware.js +0 -18
- package/app/.next/server/next-font-manifest.js +0 -1
- package/app/.next/server/next-font-manifest.json +0 -1
- package/app/.next/server/pages/404.html +0 -1
- package/app/.next/server/pages/500.html +0 -1
- package/app/.next/server/server-reference-manifest.js +0 -1
- package/app/.next/server/server-reference-manifest.json +0 -1
- package/app/.next/static/chunks/1321-58e5381616484736.js +0 -1
- package/app/.next/static/chunks/4072-e3cbc885320b3535.js +0 -3
- package/app/.next/static/chunks/5497-41bb54893ac4e384.js +0 -7
- package/app/.next/static/chunks/6069-27d1adb0dbf83385.js +0 -53
- package/app/.next/static/chunks/app/(dashboard)/dashboard/admin/keys/page-0d5b57da4abb6962.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/admin/users/page-972703d59d2a3986.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/basic-chat/page-e1bd21507327d2bc.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-ba3be29df191769b.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-a0eaec978d93b101.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/page-7fabe6d07b1f8823.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/console-log/page-57065ce85ec52703.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-c8f75b084231c080.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-e43ee64cc1f1547c.js +0 -59
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-c64dd1d0b2bd9caf.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/page-9586c0b67f30a21b.js +0 -4
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-c7fbf29bdbdabee9.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/mitm/page-b52d2279e8eff62d.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/page-8fceba7ec6407143.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-011af574663dfa07.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-1690d87838647d4e.js +0 -3
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/new/page-0bf3048423ab0128.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-979e3e3663264d2b.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-77e1358581cbeecd.js +0 -4
- package/app/.next/static/chunks/app/(dashboard)/dashboard/quota/page-5f1623351681fa43.js +0 -2
- package/app/.next/static/chunks/app/(dashboard)/dashboard/skills/page-9202b5ce0650c3ab.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/translator/page-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-18d6399108c458a6.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/user/page-12765c664b3c1f6d.js +0 -4
- package/app/.next/static/chunks/app/(dashboard)/layout-2b26025389c75878.js +0 -1
- package/app/.next/static/chunks/app/_global-error/page-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/auth/login/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/auth/logout/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/auth/me/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/auth/oidc/callback/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/auth/oidc/start/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/auth/oidc/test/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/auth/status/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/all-statuses/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/codex-settings/activate-account/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/copilot-settings/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/cowork-settings/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/hermes-settings/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/jcode-settings/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/opencode-settings/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/combos/[id]/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/combos/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/health/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/init/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/keys/[id]/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/keys/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/locale/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/mcp/[plugin]/message/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/mcp/[plugin]/sse/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/media-providers/tts/minimax/voices/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/media-providers/tts/voices/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/models/alias/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/models/availability/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/models/custom/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/models/disabled/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/models/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/models/test/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/codex/import-token/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/cursor/import/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/gitlab/pat/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/iflow/cookie/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/import/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/pricing/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/provider-nodes/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/provider-nodes/validate/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/models/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/test/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/test-models/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/providers/client/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/providers/kilo/free-models/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/providers/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/providers/suggested-models/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/providers/test-batch/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/providers/validate/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/proxy-pools/[id]/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/proxy-pools/[id]/test/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/proxy-pools/deno-deploy/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/proxy-pools/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/proxy-pools/vercel-deploy/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/settings/database/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/settings/proxy-test/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/settings/require-login/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/settings/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/shutdown/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/tags/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/translator/console-logs/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/translator/console-logs/stream/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/translator/load/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/translator/save/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/translator/send/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/translator/translate/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/disable/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/enable/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/status/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/tailscale-check/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/tailscale-disable/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/tailscale-enable/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/tailscale-install/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/usage/[connectionId]/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/usage/api-keys/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/usage/chart/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/usage/history/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/usage/logs/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/usage/providers/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/usage/request-details/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/usage/request-logs/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/usage/stats/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/usage/stream/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/users/[id]/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/users/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/v1/api/chat/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/v1/audio/speech/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/v1/audio/voices/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/v1/chat/completions/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/v1/embeddings/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/v1/images/generations/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/v1/messages/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/v1/models/[kind]/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/v1/models/info/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/v1/models/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/v1/responses/compact/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/v1/responses/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/v1/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/v1/search/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/v1/web/fetch/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/v1beta/models/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/version/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/version/shutdown/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/api/version/update/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/dashboard/settings/pricing/page-9d24273d41fadd28.js +0 -1
- package/app/.next/static/chunks/app/layout-2f20e93bb64f203d.js +0 -1
- package/app/.next/static/chunks/app/login/page-bf4ffdfcf4ec19bf.js +0 -1
- package/app/.next/static/chunks/app/manifest.webmanifest/route-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/app/page-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-739dde37665780bc.js +0 -1
- package/app/.next/static/chunks/webpack-b9b0d264958323b9.js +0 -1
- package/app/.next/static/css/16b3fb40c238dedb.css +0 -1
- package/app/.next/static/css/fe3b2b4e527f4e99.css +0 -1
- package/app/.next/static/rGKKdynzip7FM3GQ6xztk/_buildManifest.js +0 -1
- package/app/node_modules/@img/colour/color.cjs +0 -1596
- package/app/node_modules/@img/colour/index.cjs +0 -1
- package/app/node_modules/@img/colour/package.json +0 -58
- package/app/node_modules/@img/sharp-darwin-arm64/LICENSE +0 -191
- package/app/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
- package/app/node_modules/@img/sharp-darwin-arm64/package.json +0 -40
- package/app/node_modules/@img/sharp-libvips-darwin-arm64/lib/index.js +0 -1
- package/app/node_modules/@img/sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib +0 -0
- package/app/node_modules/@img/sharp-libvips-darwin-arm64/package.json +0 -36
- package/app/node_modules/@img/sharp-libvips-darwin-arm64/versions.json +0 -30
- package/app/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
- package/app/node_modules/better-sqlite3/lib/database.js +0 -90
- package/app/node_modules/better-sqlite3/lib/index.js +0 -3
- package/app/node_modules/better-sqlite3/lib/methods/aggregate.js +0 -43
- package/app/node_modules/better-sqlite3/lib/methods/backup.js +0 -67
- package/app/node_modules/better-sqlite3/lib/methods/function.js +0 -31
- package/app/node_modules/better-sqlite3/lib/methods/inspect.js +0 -7
- package/app/node_modules/better-sqlite3/lib/methods/pragma.js +0 -12
- package/app/node_modules/better-sqlite3/lib/methods/serialize.js +0 -16
- package/app/node_modules/better-sqlite3/lib/methods/table.js +0 -189
- package/app/node_modules/better-sqlite3/lib/methods/transaction.js +0 -78
- package/app/node_modules/better-sqlite3/lib/methods/wrappers.js +0 -54
- package/app/node_modules/better-sqlite3/lib/sqlite-error.js +0 -20
- package/app/node_modules/better-sqlite3/lib/util.js +0 -12
- package/app/node_modules/better-sqlite3/package.json +0 -59
- package/app/node_modules/detect-libc/lib/detect-libc.js +0 -313
- package/app/node_modules/detect-libc/lib/elf.js +0 -39
- package/app/node_modules/detect-libc/lib/filesystem.js +0 -51
- package/app/node_modules/detect-libc/lib/process.js +0 -24
- package/app/node_modules/detect-libc/package.json +0 -44
- package/app/node_modules/sharp/lib/channel.js +0 -177
- package/app/node_modules/sharp/lib/colour.js +0 -195
- package/app/node_modules/sharp/lib/composite.js +0 -212
- package/app/node_modules/sharp/lib/constructor.js +0 -499
- package/app/node_modules/sharp/lib/index.js +0 -16
- package/app/node_modules/sharp/lib/input.js +0 -809
- package/app/node_modules/sharp/lib/is.js +0 -143
- package/app/node_modules/sharp/lib/libvips.js +0 -207
- package/app/node_modules/sharp/lib/operation.js +0 -1016
- package/app/node_modules/sharp/lib/output.js +0 -1666
- package/app/node_modules/sharp/lib/resize.js +0 -595
- package/app/node_modules/sharp/lib/sharp.js +0 -121
- package/app/node_modules/sharp/lib/utility.js +0 -291
- package/app/node_modules/sharp/node_modules/semver/classes/comparator.js +0 -143
- package/app/node_modules/sharp/node_modules/semver/classes/range.js +0 -557
- package/app/node_modules/sharp/node_modules/semver/classes/semver.js +0 -333
- package/app/node_modules/sharp/node_modules/semver/functions/cmp.js +0 -54
- package/app/node_modules/sharp/node_modules/semver/functions/coerce.js +0 -62
- package/app/node_modules/sharp/node_modules/semver/functions/compare.js +0 -7
- package/app/node_modules/sharp/node_modules/semver/functions/eq.js +0 -5
- package/app/node_modules/sharp/node_modules/semver/functions/gt.js +0 -5
- package/app/node_modules/sharp/node_modules/semver/functions/gte.js +0 -5
- package/app/node_modules/sharp/node_modules/semver/functions/lt.js +0 -5
- package/app/node_modules/sharp/node_modules/semver/functions/lte.js +0 -5
- package/app/node_modules/sharp/node_modules/semver/functions/neq.js +0 -5
- package/app/node_modules/sharp/node_modules/semver/functions/parse.js +0 -18
- package/app/node_modules/sharp/node_modules/semver/functions/satisfies.js +0 -12
- package/app/node_modules/sharp/node_modules/semver/internal/constants.js +0 -37
- package/app/node_modules/sharp/node_modules/semver/internal/debug.js +0 -11
- package/app/node_modules/sharp/node_modules/semver/internal/identifiers.js +0 -29
- package/app/node_modules/sharp/node_modules/semver/internal/lrucache.js +0 -42
- package/app/node_modules/sharp/node_modules/semver/internal/parse-options.js +0 -17
- package/app/node_modules/sharp/node_modules/semver/internal/re.js +0 -223
- package/app/node_modules/sharp/node_modules/semver/package.json +0 -78
- package/app/node_modules/sharp/package.json +0 -202
- package/app/src/mitm/antigravityIdeVersion.js +0 -50
- package/app/src/mitm/cert/generate.js +0 -32
- package/app/src/mitm/cert/install.js +0 -269
- package/app/src/mitm/cert/rootCA.js +0 -173
- package/app/src/mitm/config.js +0 -87
- package/app/src/mitm/dbReader.js +0 -22
- package/app/src/mitm/dns/dnsConfig.js +0 -266
- package/app/src/mitm/handlers/antigravity.js +0 -33
- package/app/src/mitm/handlers/base.js +0 -226
- package/app/src/mitm/handlers/copilot.js +0 -35
- package/app/src/mitm/handlers/cursor.js +0 -15
- package/app/src/mitm/handlers/kiro.js +0 -526
- package/app/src/mitm/logger.js +0 -106
- package/app/src/mitm/manager.js +0 -851
- package/app/src/mitm/paths.js +0 -32
- package/app/src/mitm/winElevated.js +0 -81
- package/app/src/shared/constants/mitmToolHosts.js +0 -12
- /package/app/{.next → .next-cli-build}/package.json +0 -0
- /package/app/{.next → .next-cli-build}/react-loadable-manifest.json +0 -0
- /package/app/{.next → .next-cli-build}/server/app/_global-error.meta +0 -0
- /package/app/{.next → .next-cli-build}/server/app/_not-found.meta +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/auth/login/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/auth/logout/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/auth/me/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/auth/oidc/callback/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/auth/oidc/start/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/auth/oidc/test/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/auth/status/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/all-statuses/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/codex-settings/activate-account/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/copilot-settings/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/cowork-mcp-registry/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/cowork-mcp-tools/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/cowork-settings/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/deepseek-tui-settings/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/hermes-settings/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/jcode-settings/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/opencode-settings/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/combos/[id]/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/combos/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/health/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/init/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/keys/[id]/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/keys/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/locale/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/mcp/[plugin]/message/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/mcp/[plugin]/sse/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/media-providers/tts/deepgram/voices/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/media-providers/tts/elevenlabs/voices/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/media-providers/tts/inworld/voices/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/media-providers/tts/minimax/voices/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/media-providers/tts/voices/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/models/alias/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/models/availability/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/models/custom/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/models/disabled/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/models/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/models/test/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/oauth/codex/import-token/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/oauth/gitlab/pat/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/oauth/iflow/cookie/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/pricing/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/provider-nodes/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/providers/[id]/models/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/providers/[id]/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/providers/[id]/test/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/providers/[id]/test-models/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/providers/client/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/providers/kilo/free-models/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/providers/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/providers/suggested-models/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/providers/test-batch/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/providers/validate/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/proxy-pools/[id]/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/proxy-pools/[id]/test/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/proxy-pools/cloudflare-deploy/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/proxy-pools/deno-deploy/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/proxy-pools/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/proxy-pools/vercel-deploy/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/settings/database/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/settings/proxy-test/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/settings/require-login/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/settings/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/shutdown/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/tags/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/translator/console-logs/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/translator/console-logs/stream/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/translator/load/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/translator/save/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/translator/send/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/translator/translate/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/tunnel/disable/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/tunnel/enable/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/tunnel/status/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/tunnel/tailscale-check/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/tunnel/tailscale-disable/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/tunnel/tailscale-enable/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/tunnel/tailscale-install/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/usage/api-keys/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/usage/chart/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/usage/history/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/usage/logs/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/usage/providers/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/usage/request-details/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/usage/request-logs/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/usage/stats/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/usage/stream/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/users/[id]/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/users/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/api/chat/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/audio/speech/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/audio/voices/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/chat/completions/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/embeddings/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/images/generations/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/messages/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/models/[kind]/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/models/info/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/models/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/responses/compact/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/responses/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/search/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1/web/fetch/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/v1beta/models/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/version/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/version/shutdown/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/api/version/update/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/callback.meta +0 -0
- /package/app/{.next → .next-cli-build}/server/app/dashboard/settings/pricing.meta +0 -0
- /package/app/{.next → .next-cli-build}/server/app/favicon.ico.body +0 -0
- /package/app/{.next → .next-cli-build}/server/app/favicon.ico.meta +0 -0
- /package/app/{.next → .next-cli-build}/server/app/index.meta +0 -0
- /package/app/{.next → .next-cli-build}/server/app/landing.meta +0 -0
- /package/app/{.next → .next-cli-build}/server/app/login.meta +0 -0
- /package/app/{.next → .next-cli-build}/server/app/manifest.webmanifest/route_client-reference-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/app/manifest.webmanifest.body +0 -0
- /package/app/{.next → .next-cli-build}/server/app/manifest.webmanifest.meta +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/1679.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/1998.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/241.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/3593.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/4013.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/4739.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/4741.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/5217.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/5258.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/5573.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/6844.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/6936.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/7502.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/8473.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/8520.js +0 -0
- /package/app/{.next → .next-cli-build}/server/chunks/8971.js +0 -0
- /package/app/{.next → .next-cli-build}/server/functions-config-manifest.json +0 -0
- /package/app/{.next → .next-cli-build}/server/middleware-manifest.json +0 -0
- /package/app/{.next → .next-cli-build}/server/middleware-react-loadable-manifest.js +0 -0
- /package/app/{.next → .next-cli-build}/server/pages-manifest.json +0 -0
- /package/app/{.next → .next-cli-build}/server/prefetch-hints.json +0 -0
- /package/app/{.next → .next-cli-build}/server/webpack-runtime.js +0 -0
- /package/app/{.next/static/rGKKdynzip7FM3GQ6xztk → .next-cli-build/static/Z1O3mWLKLCkJm5SRaYg62}/_ssgManifest.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/1051-a02f07646d97d6ca.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/1a258343-5938f676ed376386.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/3794-ba2500baa4c52d55.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/4bd1b696-e356ca5ba0218e27.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/5242-bb1a1a7ec3bfb62f.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/5772-901f1092d831ec37.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/7055-e60e20f43bfbe5f8.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/app/_not-found/page-7927650ca4037264.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/app/callback/page-97a750f0d51c3dbe.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/app/landing/page-bf42a9c80c1e6776.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/framework-711ef29bc66f648c.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/main-app-d5f2701c08554961.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/main-b8d198db3858ff3e.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/next/dist/client/components/builtin/global-error-8d51a00b6c966622.js +0 -0
- /package/app/{.next → .next-cli-build}/static/chunks/polyfills-42372ed130431b0a.js +0 -0
- /package/app/{.next → .next-cli-build}/static/css/599369d853c61df7.css +0 -0
- /package/app/{.next → .next-cli-build}/static/media/material-symbols-outlined.1060ac06.woff2 +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=4177,exports.ids=[4177],exports.modules={74177:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{PY:()=>v,Re:()=>t,Su:()=>u,exchangeTokens:()=>s,extractCodexAccountInfo:()=>p,kP:()=>r,sO:()=>q});var e=c(48895),f=c(55511),g=c.n(f),h=c(13808),i=c(92990),j=c(73159),k=a([e]);e=(k.then?(await k)():k)[0];let w=null;function l(a,b){let c,d=String(a||"").trim();if(!d)throw Error(`xai discovery ${b} is empty`);try{c=new URL(d)}catch(a){throw Error(`xai discovery ${b} is invalid: ${a.message}`)}if("https:"!==c.protocol)throw Error(`xai discovery ${b} must use https: ${d}`);let e=c.hostname.toLowerCase().trim();if("x.ai"!==e&&!e.endsWith(".x.ai"))throw Error(`xai discovery ${b} host ${e} is not on x.ai`);return d}async function m(){if(w)return w;try{let a=await fetch(j.oT.discoveryUrl,{headers:{Accept:"application/json"}});if(a.ok){let b=await a.json();return w={authorizeUrl:l(b.authorization_endpoint,"authorization_endpoint"),tokenUrl:l(b.token_endpoint,"token_endpoint")}}}catch{}return w={authorizeUrl:j.oT.authorizeUrl,tokenUrl:j.oT.tokenUrl}}function n(a){try{if(!a||"string"!=typeof a)return null;let b=a.split(".");if(3!==b.length)return null;let c=b[1].replace(/-/g,"+").replace(/_/g,"/"),d=(4-c.length%4)%4,e=c+"=".repeat(d);return JSON.parse(Buffer.from(e,"base64").toString("utf8"))}catch{return null}}function o(a){let b=n(a);if(b)return b.email||b.preferred_username||b.sub||void 0}function p(a){let b=n(a);if(!b)return{};let c=b["https://api.openai.com/auth"]||{};return{email:b.email,chatgptAccountId:c.chatgpt_account_id||b.account_id,chatgptPlanType:c.chatgpt_plan_type||b.plan_type}}let x={claude:{config:i.OV,flowType:"authorization_code_pkce",buildAuthUrl:(a,b,c,d)=>{let e=new URLSearchParams({code:"true",client_id:a.clientId,response_type:"code",redirect_uri:b,scope:a.scopes.join(" "),code_challenge:d,code_challenge_method:a.codeChallengeMethod,state:c});return`${a.authorizeUrl}?${e.toString()}`},exchangeToken:async(a,b,c,d,e)=>{let f=b,g="";if(f.includes("#")){let a=f.split("#");f=a[0],g=a[1]||""}let h=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({code:f,state:g||e,grant_type:"authorization_code",client_id:a.clientId,redirect_uri:c,code_verifier:d})});if(!h.ok){let a=await h.text();throw Error(`Token exchange failed: ${a}`)}return await h.json()},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope})},codex:{config:i.DI,flowType:"authorization_code_pkce",fixedPort:1455,callbackPath:"/auth/callback",buildAuthUrl:(a,b,c,d)=>{let e={response_type:"code",client_id:a.clientId,redirect_uri:b,scope:a.scope,code_challenge:d,code_challenge_method:a.codeChallengeMethod,...a.extraParams,state:c},f=Object.entries(e).map(([a,b])=>`${a}=${encodeURIComponent(b)}`).join("&");return`${a.authorizeUrl}?${f}`},exchangeToken:async(a,b,c,d)=>{let e=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"authorization_code",client_id:a.clientId,code:b,redirect_uri:c,code_verifier:d})});if(!e.ok){let a=await e.text();throw Error(`Token exchange failed: ${a}`)}return await e.json()},mapTokens:a=>{let b=p(a.id_token),c={accessToken:a.access_token,refreshToken:a.refresh_token,idToken:a.id_token,expiresIn:a.expires_in,lastRefreshAt:new Date().toISOString()},d=b.email||o(a.access_token);return d&&(c.email=d),(b.chatgptAccountId||b.chatgptPlanType)&&(c.providerSpecificData={chatgptAccountId:b.chatgptAccountId,chatgptPlanType:b.chatgptPlanType}),c}},xai:{config:j.oT,flowType:"authorization_code_pkce",fixedPort:j.oT.loopbackPort,callbackPath:j.oT.callbackPath,pkceVerifierBytes:j.Ue,prepareConfig:async a=>{let b=await m();return{...a,authorizeUrl:b.authorizeUrl,tokenUrl:b.tokenUrl}},buildAuthUrl:(a,b,c,d)=>{let e=g().randomBytes(16).toString("hex"),f={response_type:"code",client_id:a.clientId,redirect_uri:b,scope:a.scope,code_challenge:d,code_challenge_method:a.codeChallengeMethod,state:c,nonce:e,plan:"generic",referrer:"cli-proxy-api"},h=Object.entries(f).map(([a,b])=>`${a}=${encodeURIComponent(b)}`).join("&");return`${a.authorizeUrl}?${h}`},exchangeToken:async(a,b,c,d)=>{let e=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"authorization_code",client_id:a.clientId,code:b,redirect_uri:c,code_verifier:d})});if(!e.ok){let a=await e.text();throw Error(`xAI token exchange failed: ${a}`)}return await e.json()},mapTokens:a=>{let b={accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope},c=function(a){if(!a||"string"!=typeof a)return;let b=a.split(".");if(3===b.length)try{let a=b[1].replace(/-/g,"+").replace(/_/g,"/"),c=(4-a.length%4)%4,d=Buffer.from(a+"=".repeat(c),"base64").toString("utf8"),e=JSON.parse(d);return e.email||e.preferred_username||e.sub||void 0}catch{return}}(a.id_token);return c&&(b.email=c),a.id_token&&(b.providerSpecificData={idToken:a.id_token}),b}},"gemini-cli":{config:i.LT,flowType:"authorization_code",buildAuthUrl:(a,b,c)=>{let d=new URLSearchParams({client_id:a.clientId,response_type:"code",redirect_uri:b,scope:a.scopes.join(" "),state:c,access_type:"offline",prompt:"consent"});return`${a.authorizeUrl}?${d.toString()}`},exchangeToken:async(a,b,c)=>{let d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"authorization_code",client_id:a.clientId,client_secret:a.clientSecret,code:b,redirect_uri:c})});if(!d.ok){let a=await d.text();throw Error(`Token exchange failed: ${a}`)}return await d.json()},postExchange:async a=>{let b=await fetch(`${i.LT.userInfoUrl}?alt=json`,{headers:{Authorization:`Bearer ${a.access_token}`}}),c=b.ok?await b.json():{},d="";try{let b=await fetch("https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",{method:"POST",headers:{Authorization:`Bearer ${a.access_token}`,"Content-Type":"application/json"},body:JSON.stringify({metadata:(0,i.cD)(),mode:1})});if(b.ok){let a=await b.json();d=a.cloudaicompanionProject?.id||a.cloudaicompanionProject||""}}catch(a){console.log("Failed to fetch project ID:",a)}return{userInfo:c,projectId:d}},mapTokens:(a,b)=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope,email:b?.userInfo?.email,projectId:b?.projectId})},antigravity:{config:i.YT,flowType:"authorization_code",buildAuthUrl:(a,b,c)=>{let d=new URLSearchParams({client_id:a.clientId,response_type:"code",redirect_uri:b,scope:a.scopes.join(" "),state:c,access_type:"offline",prompt:"consent"});return`${a.authorizeUrl}?${d.toString()}`},exchangeToken:async(a,b,c)=>{let d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"authorization_code",client_id:a.clientId,client_secret:a.clientSecret,code:b,redirect_uri:c})});if(!d.ok){let a=await d.text();throw Error(`Token exchange failed: ${a}`)}return await d.json()},postExchange:async a=>{let b={Authorization:`Bearer ${a.access_token}`,"Content-Type":"application/json","User-Agent":i.YT.loadCodeAssistUserAgent,"X-Goog-Api-Client":i.YT.loadCodeAssistApiClient,"Client-Metadata":i.YT.loadCodeAssistClientMetadata,"x-request-source":"local"},c=(0,i.cD)(),d=await fetch(`${i.YT.userInfoUrl}?alt=json`,{headers:{Authorization:`Bearer ${a.access_token}`,"x-request-source":"local"}}),e=d.ok?await d.json():{},f="",g="legacy-tier";try{let a=await fetch(i.YT.loadCodeAssistEndpoint,{method:"POST",headers:b,body:JSON.stringify({metadata:c})});if(a.ok){let b=await a.json();if(f=b.cloudaicompanionProject?.id||b.cloudaicompanionProject||"",Array.isArray(b.allowedTiers)){for(let a of b.allowedTiers)if(a.isDefault&&a.id){g=a.id.trim();break}}}}catch(a){console.log("Failed to load code assist:",a)}return f&&(async()=>{for(let a=0;a<10;a++){try{let a=await fetch(i.YT.onboardUserEndpoint,{method:"POST",headers:b,body:JSON.stringify({tierId:g,metadata:c})});if(a.ok){let b=await a.json();if(!0===b.done)break}}catch(a){break}await new Promise(a=>setTimeout(a,5e3))}})().catch(()=>{}),{userInfo:e,projectId:f}},mapTokens:(a,b)=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope,email:b?.userInfo?.email,projectId:b?.projectId})},iflow:{config:i.ZL,flowType:"authorization_code",buildAuthUrl:(a,b,c)=>{let d=new URLSearchParams({loginMethod:a.extraParams.loginMethod,type:a.extraParams.type,redirect:b,state:c,client_id:a.clientId});return`${a.authorizeUrl}?${d.toString()}`},exchangeToken:async(a,b,c)=>{let d=Buffer.from(`${a.clientId}:${a.clientSecret}`).toString("base64"),e=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${d}`},body:new URLSearchParams({grant_type:"authorization_code",code:b,redirect_uri:c,client_id:a.clientId,client_secret:a.clientSecret})});if(!e.ok){let a=await e.text();throw Error(`Token exchange failed: ${a}`)}return await e.json()},postExchange:async a=>{let b=await fetch(`${i.ZL.userInfoUrl}?accessToken=${encodeURIComponent(a.access_token)}`,{headers:{Accept:"application/json"}});if(!b.ok){let a=await b.text();throw Error(`Failed to fetch user info: ${a}`)}let c=await b.json();if(!c.success)throw Error(`User info request failed: ${c.message||"Unknown error"}`);let d=c.data||{};if(!d.apiKey||""===d.apiKey.trim())throw Error("Empty API key returned from iFlow");if(!(d.email?.trim()||d.phone?.trim()))throw Error("Missing account email/phone in user info");return{userInfo:d}},mapTokens:(a,b)=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,apiKey:b?.userInfo?.apiKey,email:b?.userInfo?.email||b?.userInfo?.phone,displayName:b?.userInfo?.nickname||b?.userInfo?.name})},qoder:{config:i.hF,flowType:"device_code",requestDeviceCode:async a=>{let{QoderService:b}=await c.e(1531).then(c.bind(c,91531)),d=new b().initiateDeviceFlow();return{device_code:d.nonce,user_code:d.nonce.slice(0,8).toUpperCase(),verification_uri:a.loginUrl,verification_uri_complete:d.verificationUriComplete,expires_in:300,interval:2,codeVerifier:d.codeVerifier,_qoderNonce:d.nonce,_qoderMachineId:d.machineId}},pollToken:async(a,b,d,e)=>{let f,{QoderService:g}=await c.e(1531).then(c.bind(c,91531)),h=new g,i=b||e?._qoderNonce,j=d||e?._qoderVerifier;if(!i||!j)return{ok:!1,data:{error:"invalid_request",error_description:"Missing nonce/verifier"}};try{f=await h.pollDeviceToken({nonce:i,codeVerifier:j})}catch(a){return{ok:!1,data:{error:"poll_failed",error_description:a.message}}}if("pending"===f.status)return{ok:!1,data:{error:"authorization_pending"}};let k=await h.fetchUserInfo(f.accessToken),l=Math.floor((f.expireTime-Date.now())/1e3),m=Math.max(86400,l);return{ok:!0,data:{access_token:f.accessToken,refresh_token:f.refreshToken,expires_in:m,_qoderUserId:f.userId,_qoderMachineId:e?._qoderMachineId||"",_qoderName:k.name,_qoderEmail:k.email,_qoderOrganizationId:k.organizationId}}},mapTokens:a=>{let b=(a._qoderEmail||"").trim(),c=(a._qoderName||"").trim()||null,d=a._qoderUserId||"",e=b||(d?`qoder-user-${d}`:null);return{accessToken:a.access_token,refreshToken:a.refresh_token||null,expiresIn:a.expires_in,email:e,displayName:c,providerSpecificData:{authMethod:"device",userId:d,machineId:a._qoderMachineId||"",organizationId:a._qoderOrganizationId||""}}}},qwen:{config:i.Hp,flowType:"device_code",requestDeviceCode:async(a,b)=>{let c=await fetch(a.deviceCodeUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({client_id:a.clientId,scope:a.scope,code_challenge:b,code_challenge_method:a.codeChallengeMethod})});if(!c.ok){let a=await c.text();throw Error(`Device code request failed: ${a}`)}return await c.json()},pollToken:async(a,b,c)=>{let d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:device_code",client_id:a.clientId,device_code:b,code_verifier:c})});return{ok:d.ok,data:await d.json()}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,providerSpecificData:{resourceUrl:a.resource_url}})},github:{config:i.Nu,flowType:"device_code",requestDeviceCode:async a=>{let b=await fetch(a.deviceCodeUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({client_id:a.clientId,scope:a.scopes})});if(!b.ok){let a=await b.text();throw Error(`Device code request failed: ${a}`)}return await b.json()},pollToken:async(a,b)=>{let c,d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({client_id:a.clientId,device_code:b,grant_type:"urn:ietf:params:oauth:grant-type:device_code"})});try{c=await d.json()}catch(b){let a=await d.text();c={error:"invalid_response",error_description:a}}return{ok:d.ok,data:c}},postExchange:async a=>{let b=await fetch(i.Nu.copilotTokenUrl,{headers:{Authorization:`Bearer ${a.access_token}`,Accept:"application/json","X-GitHub-Api-Version":i.Nu.apiVersion,"User-Agent":i.Nu.userAgent}}),c=b.ok?await b.json():{},d=await fetch(i.Nu.userInfoUrl,{headers:{Authorization:`Bearer ${a.access_token}`,Accept:"application/json","X-GitHub-Api-Version":i.Nu.apiVersion,"User-Agent":i.Nu.userAgent}}),e=d.ok?await d.json():{};return{copilotToken:c,userInfo:e}},mapTokens:(a,b)=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,providerSpecificData:{copilotToken:b?.copilotToken?.token,copilotTokenExpiresAt:b?.copilotToken?.expires_at,githubUserId:b?.userInfo?.id,githubLogin:b?.userInfo?.login,githubName:b?.userInfo?.name,githubEmail:b?.userInfo?.email}})},kiro:{config:i.Tx,flowType:"device_code",requestDeviceCode:async(a,b,c={})=>{let d=("string"==typeof c.region?c.region.trim():"")||"us-east-1",e=("string"==typeof c.startUrl?c.startUrl.trim():"")||a.startUrl,f="idc"===c.authMethod?"idc":"builder-id",g=`https://oidc.${d}.amazonaws.com/client/register`,h=`https://oidc.${d}.amazonaws.com/device_authorization`,i=await fetch(g,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientName:a.clientName,clientType:a.clientType,scopes:a.scopes,grantTypes:a.grantTypes,issuerUrl:a.issuerUrl})});if(!i.ok){let a=await i.text();throw Error(`Client registration failed: ${a}`)}let j=await i.json(),k=await fetch(h,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:j.clientId,clientSecret:j.clientSecret,startUrl:e})});if(!k.ok){let a=await k.text();throw Error(`Device authorization failed: ${a}`)}let l=await k.json();return{device_code:l.deviceCode,user_code:l.userCode,verification_uri:l.verificationUri,verification_uri_complete:l.verificationUriComplete,expires_in:l.expiresIn,interval:l.interval||5,_clientId:j.clientId,_clientSecret:j.clientSecret,_region:d,_authMethod:f,_startUrl:e}},pollToken:async(a,b,c,d)=>{let e,f=d?._region||"us-east-1",g=`https://oidc.${f}.amazonaws.com/token`,h=await fetch(g,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:d?._clientId,clientSecret:d?._clientSecret,deviceCode:b,grantType:"urn:ietf:params:oauth:grant-type:device_code"})});try{e=await h.json()}catch(b){let a=await h.text();e={error:"invalid_response",error_description:a}}return e.accessToken?{ok:!0,data:{access_token:e.accessToken,refresh_token:e.refreshToken,expires_in:e.expiresIn,profile_arn:e?.profileArn||null,_clientId:d?._clientId,_clientSecret:d?._clientSecret,_region:d?._region,_authMethod:d?._authMethod,_startUrl:d?._startUrl}}:{ok:!1,data:{error:e.error||"authorization_pending",error_description:e.error_description||e.message}}},mapTokens:a=>{let b=o(a.access_token);return{accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,email:b,providerSpecificData:{profileArn:a?.profile_arn||null,clientId:a._clientId,clientSecret:a._clientSecret,region:a._region||"us-east-1",authMethod:a._authMethod||"builder-id",startUrl:a._startUrl||i.Tx.startUrl}}}},cursor:{config:i.WN,flowType:"import_token",mapTokens:a=>({accessToken:a.accessToken,refreshToken:null,expiresIn:a.expiresIn||86400,providerSpecificData:{machineId:a.machineId,authMethod:"imported"}})},"kimi-coding":{config:i.t,flowType:"device_code",requestDeviceCode:async a=>{let b=await fetch(a.deviceCodeUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({client_id:a.clientId})});if(!b.ok){let a=await b.text();throw Error(`Device code request failed: ${a}`)}let c=await b.json();return{device_code:c.device_code,user_code:c.user_code,verification_uri:c.verification_uri||"https://www.kimi.com/code/authorize_device",verification_uri_complete:c.verification_uri_complete||`https://www.kimi.com/code/authorize_device?user_code=${c.user_code}`,expires_in:c.expires_in,interval:c.interval||5}},pollToken:async(a,b)=>{let c,d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:device_code",client_id:a.clientId,device_code:b})});try{c=await d.json()}catch(b){let a=await d.text();c={error:"invalid_response",error_description:a}}return{ok:d.ok,data:c}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in})},kilocode:{config:i.MZ,flowType:"device_code",requestDeviceCode:async a=>{let b=await fetch(a.initiateUrl,{method:"POST",headers:{"Content-Type":"application/json"}});if(!b.ok){if(429===b.status)throw Error("Too many pending authorization requests. Please try again later.");let a=await b.text();throw Error(`Device auth initiation failed: ${a}`)}let c=await b.json();return{device_code:c.code,user_code:c.code,verification_uri:c.verificationUrl,verification_uri_complete:c.verificationUrl,expires_in:c.expiresIn||300,interval:3}},pollToken:async(a,b)=>{let c=await fetch(`${a.pollUrlBase}/${b}`);if(202===c.status)return{ok:!1,data:{error:"authorization_pending"}};if(403===c.status)return{ok:!1,data:{error:"access_denied",error_description:"Authorization denied by user"}};if(410===c.status)return{ok:!1,data:{error:"expired_token",error_description:"Authorization code expired"}};if(!c.ok)return{ok:!1,data:{error:"poll_failed",error_description:`Poll failed: ${c.status}`}};let d=await c.json();if("approved"===d.status&&d.token){let b=null;try{let c=await fetch(`${a.apiBaseUrl}/api/profile`,{headers:{Authorization:`Bearer ${d.token}`}});if(c.ok){let a=await c.json();b=a.organizations?.[0]?.id||null}}catch{}return{ok:!0,data:{access_token:d.token,_userEmail:d.userEmail,_orgId:b}}}return{ok:!1,data:{error:"authorization_pending"}}},mapTokens:a=>({accessToken:a.access_token,refreshToken:null,expiresIn:null,email:a._userEmail,...a._orgId?{providerSpecificData:{orgId:a._orgId}}:{}})},cline:{config:i.lB,flowType:"authorization_code",buildAuthUrl:(a,b)=>{let c=new URLSearchParams({client_type:"extension",callback_url:b,redirect_uri:b});return`${a.authorizeUrl}?${c.toString()}`},exchangeToken:async(a,b,c)=>{try{let a=b,c=4-a.length%4;4!==c&&(a+="=".repeat(c));let d=Buffer.from(a,"base64").toString("utf-8"),e=d.lastIndexOf("}");if(-1===e)throw Error("No JSON found in decoded code");let f=JSON.parse(d.substring(0,e+1));return{access_token:f.accessToken,refresh_token:f.refreshToken,email:f.email,firstName:f.firstName,lastName:f.lastName,expires_at:f.expiresAt}}catch(f){let d=await fetch(a.tokenExchangeUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"authorization_code",code:b,client_type:"extension",redirect_uri:c})});if(!d.ok){let a=await d.text();throw Error(`Cline token exchange failed: ${a}`)}let e=await d.json();return{access_token:e.data?.accessToken||e.accessToken,refresh_token:e.data?.refreshToken||e.refreshToken,email:e.data?.userInfo?.email||"",expires_at:e.data?.expiresAt||e.expiresAt}}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_at?Math.floor((new Date(a.expires_at).getTime()-Date.now())/1e3):3600,email:a.email,providerSpecificData:{firstName:a.firstName,lastName:a.lastName}})},gitlab:{config:i.f7,flowType:"authorization_code_pkce",buildAuthUrl:(a,b,c,d,e={})=>{let f=e.baseUrl||a.defaultBaseUrl,g=e.clientId||"",h=new URLSearchParams({client_id:g,redirect_uri:b,response_type:"code",state:c,scope:a.scope,code_challenge:d,code_challenge_method:a.codeChallengeMethod});return`${f}${a.authorizeUrlPath}?${h.toString()}`},exchangeToken:async(a,b,c,d,e,f={})=>{let g=f.baseUrl||a.defaultBaseUrl,h=f.clientId||"",i=f.clientSecret||"",j=new URLSearchParams({client_id:h,grant_type:"authorization_code",code:b,redirect_uri:c,code_verifier:d});i&&j.set("client_secret",i);let k=await fetch(`${g}${a.tokenUrlPath}`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:j.toString()});if(!k.ok)throw Error(`GitLab token exchange failed: ${await k.text()}`);let l=await k.json(),m=await fetch(`${g}${a.userInfoUrlPath}`,{headers:{Authorization:`Bearer ${l.access_token}`}}),n=m.ok?await m.json():{};return{...l,_user:n,_baseUrl:g,_clientId:h}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope,providerSpecificData:{username:a._user?.username||"",email:a._user?.email||a._user?.public_email||"",name:a._user?.name||"",baseUrl:a._baseUrl,clientId:a._clientId,authKind:"oauth"}})},codebuddy:{config:i.Nl,flowType:"device_code",requestDeviceCode:async a=>{let b=await fetch(`${a.stateUrl}?platform=${a.platform}`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":a.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"copilot.tencent.com","X-No-Authorization":"true","X-No-User-Id":"true","X-Product":"SaaS"},body:"{}"});if(!b.ok)throw Error(`CodeBuddy state request failed: ${await b.text()}`);let c=await b.json();if(0!==c.code||!c.data?.state||!c.data?.authUrl)throw Error(`CodeBuddy state error: ${c.msg||"missing state/authUrl"}`);return{device_code:c.data.state,verification_uri:c.data.authUrl,user_code:"",interval:a.pollInterval/1e3,_isCodeBuddy:!0}},pollToken:async(a,b)=>{let c=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":a.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"copilot.tencent.com","X-No-Authorization":"true","X-No-User-Id":"true","X-Product":"SaaS"},body:JSON.stringify({state:b})});if(!c.ok)return{ok:!1,data:{error:"request_failed"}};let d=await c.json();return 0===d.code&&d.data?.accessToken?{ok:!0,data:{access_token:d.data.accessToken,refresh_token:d.data.refreshToken||"",token_type:d.data.tokenType||"Bearer"}}:11217===d.code?{ok:!0,data:{error:"authorization_pending"}}:{ok:!1,data:{error:d.msg||"unknown_error"}}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:86400,providerSpecificData:{}})}};function q(a){let b=x[a];if(!b)throw Error(`Unknown provider: ${a}`);return b}async function r(a,b,c){let d=q(a),e=d.prepareConfig?await d.prepareConfig(d.config,c||{}):d.config,{codeVerifier:f,codeChallenge:g,state:i}=(0,h.lz)(d.pkceVerifierBytes);return{authUrl:"device_code"===d.flowType?null:"authorization_code_pkce"===d.flowType?d.buildAuthUrl(e,b,i,g,c||{}):d.buildAuthUrl(e,b,i,void 0,c||{}),state:i,codeVerifier:f,codeChallenge:g,redirectUri:b,flowType:d.flowType,fixedPort:d.fixedPort,callbackPath:d.callbackPath||"/callback"}}async function s(a,b,c,d,e,f){let g=q(a),h=g.prepareConfig?await g.prepareConfig(g.config,f||{}):g.config,i=await g.exchangeToken(h,b,c,d,e,f||{}),j=null;return g.postExchange&&(j=await g.postExchange(i)),g.mapTokens(i,j)}async function t(a,b,c){let d=q(a);if("device_code"!==d.flowType)throw Error(`Provider ${a} does not support device code flow`);return await d.requestDeviceCode(d.config,b,c||{})}async function u(a,b,c,d){let e=q(a);if("device_code"!==e.flowType)throw Error(`Provider ${a} does not support device code flow`);let f=await e.pollToken(e.config,b,c,d);if(f.ok)if(f.data.access_token){let a=null;return e.postExchange&&(a=await e.postExchange(f.data)),{success:!0,tokens:e.mapTokens(f.data,a)}}else if("authorization_pending"===f.data.error||"slow_down"===f.data.error)return{success:!1,error:f.data.error,errorDescription:f.data.error_description||f.data.message,pending:"authorization_pending"===f.data.error};else return{success:!1,error:f.data.error||"no_access_token",errorDescription:f.data.error_description||f.data.message||"No access token received"};return{success:!1,error:f.data.error,errorDescription:f.data.error_description}}let y=!1;async function v(){if(!y){y=!0;try{let{getProviderConnections:a,updateProviderConnection:b}=await Promise.resolve().then(c.bind(c,89718));for(let c of(await a()).filter(a=>{if("codex"!==a.provider||"oauth"!==a.authType||!a.idToken)return!1;let b=!!a.email,c=!!a.providerSpecificData?.chatgptAccountId;return!b||!c})){let a=p(c.idToken);if(!a.email&&!a.chatgptAccountId)continue;let d={};!c.email&&a.email&&(d.email=a.email),(a.chatgptAccountId||a.chatgptPlanType)&&(d.providerSpecificData={...c.providerSpecificData||{},chatgptAccountId:a.chatgptAccountId,chatgptPlanType:a.chatgptPlanType}),Object.keys(d).length&&await b(c.id,d)}}catch(a){y=!1,console.log("backfillCodexEmails failed:",a?.message||a)}}}d()}catch(a){d(a)}})}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=4404,exports.ids=[4404],exports.modules={44404:(a,b,c)=>{c.d(b,{Xg:()=>s,vq:()=>l,fZ:()=>n,cY:()=>t,ux:()=>o,OA:()=>p,kt:()=>q,SM:()=>m});var d=c(35024);let e={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"}},f=(...a)=>a.map(a=>({...e[a],type:"tts"})),g=f("alloy","ash","coral","echo","fable","nova","onyx","sage","shimmer"),h=f("alloy","ash","ballad","cedar","coral","echo","fable","marin","nova","onyx","sage","shimmer","verse"),i=["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(a=>({id:a,name:a,type:"tts"})),j={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":h,"tts-1":g,"tts-1-hd":g},allVoices:h},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":h,"openai/tts-1":g,"openai/tts-1-hd":g},allVoices:h},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-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-2.5-flash-preview-tts":i,"gemini-2.5-pro-preview-tts":i},allVoices:i}},k="-review",l={cc:[{id:"claude-opus-4-8",name:"Claude Opus 4.8"},{id:"claude-opus-4-7",name:"Claude Opus 4.7"},{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4-5-20251101",name:"Claude 4.5 Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude 4.5 Sonnet"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}],cx:[{id:"gpt-5.5",name:"GPT 5.5"},{id:"gpt-5.4",name:"GPT 5.4"},{id:"gpt-5.4-mini",name:"GPT 5.4 Mini"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"},{id:"gpt-5.3-codex-xhigh",name:"GPT 5.3 Codex (xHigh)"},{id:"gpt-5.3-codex-high",name:"GPT 5.3 Codex (High)"},{id:"gpt-5.3-codex-low",name:"GPT 5.3 Codex (Low)"},{id:"gpt-5.3-codex-none",name:"GPT 5.3 Codex (None)"},{id:"gpt-5.3-codex-spark",name:"GPT 5.3 Codex Spark"},{id:"gpt-5.5-image",name:"GPT 5.5 Image",type:"image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"]},{id:"gpt-image-2",name:"GPT Image 2",type:"image",capabilities:["text2img","edit"],params:["n","size","quality","background","image_detail","output_format","response_format","reference_images"]},{id:"gpt-5.4-image",name:"GPT 5.4 Image",type:"image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"]},{id:"gpt-5.3-image",name:"GPT 5.3 Image",type:"image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"]}].flatMap(a=>"llm"!==(a.type||"llm")||a.id.endsWith(k)?[a]:[a,{...a,id:`${a.id}${k}`,name:`${a.name} Review`,upstreamModelId:a.upstreamModelId||a.id,quotaFamily:"review"}]),gc:[{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview"}],qw:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash"},{id:"vision-model",name:"Qwen3 Vision Model"},{id:"coder-model",name:"Qwen3.6 Coder Model"}],if:[{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"}],ag:[{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}],gh:[{id:"gpt-3.5-turbo",name:"GPT-3.5 Turbo"},{id:"gpt-4",name:"GPT-4"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o mini"},{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-opus-4.5",name:"Claude Opus 4.5"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-opus-4.7",name:"Claude Opus 4.7"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro"},{id:"grok-code-fast-1",name:"Grok Code Fast 1"},{id:"oswe-vscode-prime",name:"Raptor Mini"},{id:"goldeneye-free-auto",name:"GoldenEye"},{id:"text-embedding-3-small",name:"Text Embedding 3 Small (GitHub)",type:"embedding"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large (GitHub)",type:"embedding"}],kr:[{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"deepseek-3.2",name:"DeepSeek 3.2",strip:["image","audio"]},{id:"qwen3-coder-next",name:"Qwen3 Coder Next",strip:["image","audio"]},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"claude-sonnet-4.5-thinking",name:"Claude Sonnet 4.5 (Thinking)"},{id:"claude-haiku-4.5-thinking",name:"Claude Haiku 4.5 (Thinking)"},{id:"claude-sonnet-4.5-agentic",name:"Claude Sonnet 4.5 (Agentic)"},{id:"claude-haiku-4.5-agentic",name:"Claude Haiku 4.5 (Agentic)"},{id:"claude-sonnet-4.5-thinking-agentic",name:"Claude Sonnet 4.5 (Thinking + Agentic)"},{id:"claude-haiku-4.5-thinking-agentic",name:"Claude Haiku 4.5 (Thinking + Agentic)"}],qd:[{id:"auto",name:"Qoder Auto"},{id:"ultimate",name:"Qoder Ultimate"},{id:"performance",name:"Qoder Performance"},{id:"efficient",name:"Qoder Efficient"},{id:"lite",name:"Qoder Lite"},{id:"qmodel",name:"Qwen 3.6 Plus (Qoder)"},{id:"qmodel_latest",name:"Qoder Qwen 3.7 Max"},{id:"dmodel",name:"DeepSeek V4 Pro (Qoder)"},{id:"dfmodel",name:"DeepSeek V4 Flash (Qoder)"},{id:"gm51model",name:"GLM 5.1 (Qoder)"},{id:"kmodel",name:"Kimi K2.6 (Qoder)"},{id:"mmodel",name:"MiniMax M2.7 (Qoder)"}],cu:[{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"}],kmc:[{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}],kc:[{id:"anthropic/claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"anthropic/claude-opus-4-20250514",name:"Claude Opus 4"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"openai/gpt-4.1",name:"GPT-4.1"},{id:"openai/o3",name:"o3"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat"},{id:"deepseek/deepseek-reasoner",name:"DeepSeek Reasoner"}],"opencode-go":[{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5",name:"GLM 5"},{id:"qwen3.5-plus",name:"Qwen 3.5 Plus"},{id:"qwen3.6-plus",name:"Qwen 3.6 Plus"},{id:"mimo-v2-pro",name:"MiMo V2 Pro"},{id:"mimo-v2-omni",name:"MiMo V2 Omni"},{id:"minimax-m2.7",name:"MiniMax M2.7",targetFormat:"claude"},{id:"minimax-m2.5",name:"MiniMax M2.5",targetFormat:"claude"}],oc:[],cl:[{id:"anthropic/claude-opus-4.7",name:"Claude Opus 4.7"},{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6"},{id:"openai/gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"openai/gpt-5.4",name:"GPT-5.4"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"google/gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"kwaipilot/kat-coder-pro",name:"KAT Coder Pro"}],openai:[{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",type:"embedding"},{id:"text-embedding-3-small",name:"Text Embedding 3 Small",type:"embedding"},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",type:"embedding"},{id:"tts-1",name:"TTS-1",type:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"whisper-1",name:"Whisper 1",type:"stt",params:["language","response_format","temperature","prompt"]},{id:"gpt-4o-transcribe",name:"GPT-4o Transcribe",type:"stt",params:["language","response_format","temperature","prompt"]},{id:"gpt-4o-mini-transcribe",name:"GPT-4o Mini Transcribe",type:"stt",params:["language","response_format","temperature","prompt"]},{id:"gpt-image-1",name:"GPT Image 1",type:"image",params:["n","size","quality","response_format"]},{id:"dall-e-3",name:"DALL-E 3",type:"image",params:["size","quality","style","response_format"]},{id:"dall-e-2",name:"DALL-E 2",type:"image",params:["n","size","response_format"]}],anthropic:[{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"claude-opus-4-20250514",name:"Claude Opus 4"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"}],gemini:[{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:"gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite"},{id:"gemma-4-31b-it",name:"Gemma 4 31B IT"},{id:"gemini-embedding-2-preview",name:"Gemini Embedding 2 Preview",type:"embedding"},{id:"gemini-embedding-001",name:"Gemini Embedding 001",type:"embedding"},{id:"text-embedding-005",name:"Text Embedding 005",type:"embedding"},{id:"text-embedding-004",name:"Text Embedding 004 (Legacy)",type:"embedding"},{id:"gemini-3.1-flash-image-preview",name:"Gemini 3.1 Flash Image (Nano Banana 2)",type:"image",params:[]},{id:"gemini-3-pro-image-preview",name:"Gemini 3 Pro Image (Nano Banana Pro)",type:"image",params:[]},{id:"gemini-2.5-flash-image",name:"Gemini 2.5 Flash Image (Nano Banana)",type:"image",params:[]},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (Best)",type:"stt",params:["language","prompt"]},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",type:"stt",params:["language","prompt"]},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite (Cheapest)",type:"stt",params:["language","prompt"]},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",type:"stt",params:["language","prompt"]}],openrouter:[{id:"openai/text-embedding-3-large",name:"OpenAI Text Embedding 3 Large",type:"embedding"},{id:"openai/text-embedding-3-small",name:"OpenAI Text Embedding 3 Small",type:"embedding"},{id:"openai/text-embedding-ada-002",name:"OpenAI Text Embedding Ada 002",type:"embedding"},{id:"qwen/qwen3-embedding-8b",name:"Qwen3 Embedding 8B",type:"embedding"},{id:"perplexity/pplx-embed-v1-4b",name:"Perplexity Embed V1 4B",type:"embedding"},{id:"perplexity/pplx-embed-v1-0.6b",name:"Perplexity Embed V1 0.6B",type:"embedding"},{id:"nvidia/llama-nemotron-embed-vl-1b-v2:free",name:"NVIDIA Nemotron Embed VL 1B V2 (Free)",type:"embedding"},{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"},{id:"openai/dall-e-3",name:"DALL-E 3 (via OpenRouter)",type:"image",params:["size","quality","style","response_format"]},{id:"openai/gpt-image-1",name:"GPT Image 1 (via OpenRouter)",type:"image",params:["n","size","quality","response_format"]},{id:"google/imagen-3.0-generate-002",name:"Imagen 3 (via OpenRouter)",type:"image",params:["n","size"]},{id:"black-forest-labs/FLUX.1-schnell",name:"FLUX.1 Schnell (via OpenRouter)",type:"image",params:["n","size"]}],glm:[{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"}],"glm-cn":[{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM-4.7"},{id:"glm-4.6",name:"GLM-4.6"},{id:"glm-4.5-air",name:"GLM-4.5-Air"}],kimi:[{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}],minimax:[{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",type:"image",params:["n","size","response_format"]}],blackbox:[{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o mini"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Legacy)"},{id:"claude-opus-4-6",name:"Claude Opus 4.6 (Legacy)"},{id:"deepseek-chat",name:"DeepSeek Chat"},{id:"deepseek-v3-671b",name:"DeepSeek V3 671B"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"o1",name:"OpenAI o1"},{id:"o3-mini",name:"OpenAI o3-mini"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-max",name:"Qwen3 Max"},{id:"qwen3-vl-plus",name:"Qwen3 VL Plus"}],"minimax-cn":[{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"}],alicode:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}],"alicode-intl":[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}],"volcengine-ark":[{id:"Doubao-Seed-2.0-Code",name:"Doubao-Seed-2.0-Code"},{id:"Doubao-Seed-2.0-pro",name:"Doubao-Seed-2.0-pro"},{id:"Doubao-Seed-2.0-lite",name:"Doubao-Seed-2.0-lite"},{id:"Doubao-Seed-Code",name:"Doubao-Seed-Code"},{id:"DeepSeek-V4-Flash",name:"DeepSeek-V4-Flash"},{id:"DeepSeek-V4-Pro",name:"DeepSeek-V4-Pro"},{id:"GLM-5.1",name:"GLM-5.1"},{id:"MiniMax-M2.7",name:"MiniMax-M2.7"},{id:"Kimi-K2.6",name:"Kimi-K2.6"}],"cloudflare-ai":[{id:"@cf/meta/llama-3.2-1b-instruct",name:"Llama 3.2 1B Instruct"},{id:"@cf/meta/llama-3.2-3b-instruct",name:"Llama 3.2 3B Instruct"},{id:"@cf/meta/llama-3.1-8b-instruct-fp8-fast",name:"Llama 3.1 8B Instruct FP8 Fast"},{id:"@cf/meta/llama-3.1-8b-instruct-awq",name:"Llama 3.1 8B Instruct AWQ"},{id:"@cf/mistralai/mistral-small-3.1-24b-instruct",name:"Mistral Small 3.1 24B Instruct"},{id:"@cf/meta/llama-3.1-70b-instruct-fp8-fast",name:"Llama 3.1 70B Instruct FP8 Fast"},{id:"@cf/meta/llama-3.3-70b-instruct-fp8-fast",name:"Llama 3.3 70B Instruct FP8 Fast"},{id:"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b",name:"DeepSeek R1 Distill Qwen 32B"},{id:"@cf/moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"@cf/moonshotai/kimi-k2.6",name:"Kimi K2.6"},{id:"@cf/zai-org/glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"@cf/qwen/qwq-32b",name:"QwQ 32B"},{id:"@cf/qwen/qwen2.5-coder-32b-instruct",name:"Qwen 2.5 Coder 32B Instruct"},{id:"@cf/black-forest-labs/flux-2-klein-9b",name:"FLUX.2 Klein 9B",type:"image",params:["size"]},{id:"@cf/black-forest-labs/flux-2-klein-4b",name:"FLUX.2 Klein 4B",type:"image",params:["size"]},{id:"@cf/black-forest-labs/flux-2-dev",name:"FLUX.2 Dev",type:"image",params:["size"]},{id:"@cf/leonardo/lucid-origin",name:"Lucid Origin",type:"image",params:["size"]},{id:"@cf/leonardo/phoenix-1.0",name:"Phoenix 1.0",type:"image",params:["size"]},{id:"@cf/black-forest-labs/flux-1-schnell",name:"FLUX.1 Schnell",type:"image",params:["size"]},{id:"@cf/bytedance/stable-diffusion-xl-lightning",name:"SDXL Lightning",type:"image",params:["size"]},{id:"@cf/lykon/dreamshaper-8-lcm",name:"DreamShaper 8 LCM",type:"image",params:["size"]},{id:"@cf/runwayml/stable-diffusion-v1-5-img2img",name:"Stable Diffusion v1.5 Img2Img",type:"image",params:["size"],capabilities:["edit"]},{id:"@cf/runwayml/stable-diffusion-v1-5-inpainting",name:"Stable Diffusion v1.5 Inpainting",type:"image",params:["size"],capabilities:["edit","mask"]},{id:"@cf/stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0",type:"image",params:["size"]}],byteplus:[{id:"seed-2-0-pro-260328",name:"Seed 2.0 Pro"},{id:"seed-2-0-code-preview-260328",name:"Seed 2.0 Code Preview"},{id:"seed-2-0-mini-260215",name:"Seed 2.0 Mini"},{id:"seed-2-0-lite-260228",name:"Seed 2.0 Lite"},{id:"kimi-k2-thinking-251104",name:"Kimi K2 Thinking"},{id:"glm-4-7-251222",name:"GLM 4.7"},{id:"gpt-oss-120b-250805",name:"GPT-OSS-120B"}],deepseek:[{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-v4-pro-max",name:"DeepSeek V4 Pro Max",upstreamModelId:"deepseek-v4-pro"},{id:"deepseek-v4-pro-none",name:"DeepSeek V4 Pro No Thinking",upstreamModelId:"deepseek-v4-pro"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"deepseek-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-reasoner",name:"DeepSeek V3.2 Reasoner"}],commandcode:[{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek/deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"zai-org/GLM-5.1",name:"GLM 5.1"},{id:"zai-org/GLM-5",name:"GLM 5"},{id:"MiniMaxAI/MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"Qwen/Qwen3.6-Max-Preview",name:"Qwen 3.6 Max Preview"},{id:"Qwen/Qwen3.6-Plus",name:"Qwen 3.6 Plus"},{id:"stepfun/Step-3.5-Flash",name:"Step 3.5 Flash"}],groq:[{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",type:"stt",params:["language","response_format","temperature","prompt"]},{id:"whisper-large-v3-turbo",name:"Whisper Large v3 Turbo",type:"stt",params:["language","response_format","temperature","prompt"]},{id:"distil-whisper-large-v3-en",name:"Distil Whisper Large v3 EN",type:"stt",params:["language","response_format","temperature","prompt"]}],xai:[{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",type:"image",params:["n","response_format"]}],mistral:[{id:"mistral-large-latest",name:"Mistral Large 3"},{id:"codestral-latest",name:"Codestral"},{id:"mistral-medium-latest",name:"Mistral Medium 3"},{id:"mistral-embed",name:"Mistral Embed",type:"embedding"}],perplexity:[{id:"sonar-pro",name:"Sonar Pro"},{id:"sonar",name:"Sonar"}],together:[{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Turbo"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"},{id:"BAAI/bge-large-en-v1.5",name:"BGE Large EN v1.5",type:"embedding"},{id:"togethercomputer/m2-bert-80M-8k-retrieval",name:"M2 BERT 80M 8K",type:"embedding"}],fireworks:[{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1"},{id:"accounts/fireworks/models/llama-v3p3-70b-instruct",name:"Llama 3.3 70B"},{id:"accounts/fireworks/models/qwen3-235b-a22b",name:"Qwen3 235B"},{id:"nomic-ai/nomic-embed-text-v1.5",name:"Nomic Embed Text v1.5",type:"embedding"}],cerebras:[{id:"gpt-oss-120b",name:"GPT OSS 120B"},{id:"zai-glm-4.7",name:"ZAI GLM 4.7"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout"},{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B"},{id:"qwen-3-32b",name:"Qwen3 32B"}],cohere:[{id:"command-r-plus-08-2024",name:"Command R+ (Aug 2024)"},{id:"command-r-08-2024",name:"Command R (Aug 2024)"},{id:"command-a-03-2025",name:"Command A (Mar 2025)"}],nvidia:[{id:"minimaxai/minimax-m2.7",name:"Minimax M2.7"},{id:"z-ai/glm4.7",name:"GLM 4.7"},{id:"nvidia/nv-embedqa-e5-v5",name:"NV EmbedQA E5 v5",type:"embedding"},{id:"nvidia/parakeet-ctc-1.1b-asr",name:"Parakeet CTC 1.1B",type:"stt",params:["language"]}],nebius:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct"},{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen3 Embedding 8B",type:"embedding"}],"voyage-ai":[{id:"voyage-3-large",name:"Voyage 3 Large",type:"embedding"},{id:"voyage-3.5",name:"Voyage 3.5",type:"embedding"},{id:"voyage-3.5-lite",name:"Voyage 3.5 Lite",type:"embedding"},{id:"voyage-code-3",name:"Voyage Code 3",type:"embedding"},{id:"voyage-finance-2",name:"Voyage Finance 2",type:"embedding"},{id:"voyage-law-2",name:"Voyage Law 2",type:"embedding"},{id:"voyage-multilingual-2",name:"Voyage Multilingual 2",type:"embedding"}],siliconflow:[{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B"},{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3 Coder 480B"},{id:"Qwen/Qwen3-32B",name:"Qwen3 32B"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"zai-org/GLM-4.7",name:"GLM 4.7"},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B"},{id:"baidu/ERNIE-4.5-300B-A47B",name:"ERNIE 4.5 300B"}],"xiaomi-mimo":[{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"}],"xiaomi-tokenplan":[{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"}],hyperbolic:[{id:"Qwen/QwQ-32B",name:"QwQ 32B"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3"},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"meta-llama/Llama-3.2-3B-Instruct",name:"Llama 3.2 3B"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B"},{id:"NousResearch/Hermes-3-Llama-3.1-70B",name:"Hermes 3 70B"}],ollama:[{id:"gpt-oss:120b",name:"GPT OSS 120B"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"qwen3.5",name:"Qwen3.5"}],vertex:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"}],"vertex-partner":[{id:"deepseek-ai/deepseek-v3.2-maas",name:"DeepSeek V3.2 (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-thinking-maas",name:"Qwen3 Next 80B Thinking (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-instruct-maas",name:"Qwen3 Next 80B Instruct (Vertex)"},{id:"zai-org/glm-5-maas",name:"GLM-5 (Vertex)"}],"grok-web":[{id:"grok-3",name:"Grok 3"},{id:"grok-3-mini",name:"Grok 3 Mini (Thinking)"},{id:"grok-3-thinking",name:"Grok 3 Thinking"},{id:"grok-4",name:"Grok 4"},{id:"grok-4-mini",name:"Grok 4 Mini (Thinking)"},{id:"grok-4-thinking",name:"Grok 4 Thinking"},{id:"grok-4-heavy",name:"Grok 4 Heavy (SuperGrok)"},{id:"grok-4.1-mini",name:"Grok 4.1 Mini (Thinking)"},{id:"grok-4.1-fast",name:"Grok 4.1 Fast"},{id:"grok-4.1-expert",name:"Grok 4.1 Expert"},{id:"grok-4.1-thinking",name:"Grok 4.1 Thinking"},{id:"grok-4.2",name:"Grok 4.2 (4.20 Beta)"}],"perplexity-web":[{id:"pplx-auto",name:"Perplexity Auto (Free)"},{id:"pplx-sonar",name:"Perplexity Sonar"},{id:"pplx-gpt",name:"GPT-5.4 (via Perplexity)"},{id:"pplx-gemini",name:"Gemini 3.1 Pro (via Perplexity)"},{id:"pplx-sonnet",name:"Claude Sonnet 4.6 (via Perplexity)"},{id:"pplx-opus",name:"Claude Opus 4.6 (via Perplexity)"},{id:"pplx-nemotron",name:"Nemotron 3 Super (via Perplexity)"}],...function(){let a={};for(let[b,c]of Object.entries(j))c.models&&(a[`${b}-tts-models`]=c.models),c.allVoices&&(a[`${b}-tts-voices`]=c.allVoices),c.defaults&&(a[b]=c.defaults);return a["openai-tts-voices"]=j.openai.allVoices,a["openrouter-tts-voices"]=j.openrouter.allVoices,a}(),nanobanana:[{id:"nanobanana-flash",name:"NanoBanana Flash",type:"image",params:["n","size"]},{id:"nanobanana-pro",name:"NanoBanana Pro",type:"image",params:["n","size"]}],sdwebui:[{id:"stable-diffusion-v1-5",name:"Stable Diffusion v1.5",type:"image",params:["n","size"]},{id:"sdxl-base-1.0",name:"SDXL Base 1.0",type:"image",params:["n","size"]}],comfyui:[{id:"flux-dev",name:"FLUX Dev",type:"image",params:["n","size"]},{id:"sdxl",name:"SDXL",type:"image",params:["n","size"]}],huggingface:[{id:"black-forest-labs/FLUX.1-schnell",name:"FLUX.1 Schnell",type:"image",params:[]},{id:"stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0",type:"image",params:[]},{id:"openai/whisper-large-v3",name:"Whisper Large v3 (HF)",type:"stt",params:["language"]},{id:"openai/whisper-small",name:"Whisper Small (HF)",type:"stt",params:["language"]}],agentrouter:[{id:"claude-opus-4-6",name:"Claude 4.6 Opus"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"},{id:"glm-5.1",name:"GLM 5.1"},{id:"deepseek-v3.2",name:"DeepSeek V3.2"}],aimlapi:[{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"},{id:"gemini-2.0-flash-exp",name:"Gemini 2.0 Flash"},{id:"meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo",name:"Llama 3.1 70B"}],novita:[{id:"deepseek/deepseek-r1",name:"DeepSeek R1"},{id:"deepseek/deepseek-v3",name:"DeepSeek V3"},{id:"meta-llama/llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"qwen/qwen-2.5-72b-instruct",name:"Qwen 2.5 72B"}],modal:[{id:"auto",name:"Auto (User-hosted)"}],reka:[{id:"reka-flash-3",name:"Reka Flash 3"},{id:"reka-edge-2603",name:"Reka Edge 2603"}],nlpcloud:[{id:"chatdolphin",name:"ChatDolphin"},{id:"dolphin",name:"Dolphin"},{id:"finetuned-llama-3-70b",name:"Llama 3 70B (Finetuned)"}],bazaarlink:[{id:"auto:free",name:"Auto Free (Zero Cost)"},{id:"auto",name:"Auto (Best Model)"}],completions:[{id:"claude-opus-4",name:"Claude Opus 4"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"gpt-4o",name:"GPT-4o"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"}],enally:[{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"claude-3-5-sonnet",name:"Claude 3.5 Sonnet"}],freetheai:[{id:"gpt-4o",name:"GPT-4o"},{id:"claude-3-5-sonnet",name:"Claude 3.5 Sonnet"},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro"},{id:"deepseek-chat",name:"DeepSeek Chat"}],llm7:[{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini"},{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash"}],lepton:[{id:"llama3-1-405b",name:"Llama 3.1 405B"},{id:"llama3-1-70b",name:"Llama 3.1 70B"},{id:"llama3-1-8b",name:"Llama 3.1 8B"},{id:"mixtral-8x7b",name:"Mixtral 8x7B"}],kluster:[{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"},{id:"meta-llama/Llama-4-Scout-17B-16E-Instruct",name:"Llama 4 Scout"},{id:"Qwen/Qwen3-235B-A22B-Instruct",name:"Qwen3 235B"}],ai21:[{id:"jamba-large",name:"Jamba 1.5 Large"},{id:"jamba-mini",name:"Jamba 1.5 Mini"}],"inference-net":[{id:"meta-llama/llama-3.3-70b-instruct/fp-16",name:"Llama 3.3 70B"},{id:"deepseek/deepseek-v3-0324",name:"DeepSeek V3"},{id:"mistralai/mistral-nemo-12b-instruct/fp-16",name:"Mistral Nemo 12B"}],predibase:[{id:"llama-3-2-3b-instruct",name:"Llama 3.2 3B"},{id:"llama-3-1-8b-instruct",name:"Llama 3.1 8B"},{id:"qwen2-5-7b-instruct",name:"Qwen 2.5 7B"}],bytez:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"mistralai/Mistral-7B-Instruct-v0.3",name:"Mistral 7B v0.3"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"}],morph:[{id:"morph-v3-large",name:"Morph V3 Large"},{id:"morph-v3-fast",name:"Morph V3 Fast"}],longcat:[{id:"LongCat-Flash-Chat",name:"LongCat Flash Chat"},{id:"LongCat-Flash-Thinking",name:"LongCat Flash Thinking"},{id:"LongCat-Flash-Lite",name:"LongCat Flash Lite"}],puter:[{id:"gpt-5",name:"GPT-5"},{id:"claude-opus-4",name:"Claude Opus 4"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro"},{id:"grok-4",name:"Grok 4"},{id:"deepseek-chat",name:"DeepSeek V3"}],uncloseai:[{id:"auto",name:"Auto (Free)"},{id:"gpt-4o-mini",name:"GPT-4o Mini"}],scaleway:[{id:"qwen3-235b-a22b-instruct-2507",name:"Qwen3 235B"},{id:"llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"mistral-small-3.1-24b-instruct-2503",name:"Mistral Small 3.1"}],deepinfra:[{id:"meta-llama/Meta-Llama-3.1-70B-Instruct",name:"Llama 3.1 70B"},{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"}],sambanova:[{id:"Meta-Llama-3.1-405B-Instruct",name:"Llama 3.1 405B"},{id:"Meta-Llama-3.1-70B-Instruct",name:"Llama 3.1 70B"},{id:"Meta-Llama-3.1-8B-Instruct",name:"Llama 3.1 8B"}],nscale:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B"}],baseten:[{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"}],publicai:[{id:"auto",name:"Auto (Community)"}],"nous-research":[{id:"Hermes-4-405B",name:"Hermes 4 405B"},{id:"Hermes-4-70B",name:"Hermes 4 70B"}],glhf:[{id:"hf:meta-llama/Meta-Llama-3.1-405B-Instruct",name:"Llama 3.1 405B"},{id:"hf:meta-llama/Meta-Llama-3.1-70B-Instruct",name:"Llama 3.1 70B"},{id:"hf:Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"}],deepgram:[{id:"nova-3",name:"Nova 3",type:"stt",params:["language"]},{id:"nova-2",name:"Nova 2",type:"stt",params:["language"]},{id:"whisper-large",name:"Whisper Large",type:"stt",params:["language"]}],assemblyai:[{id:"universal-3-pro",name:"Universal 3 Pro",type:"stt",params:["language"]},{id:"universal-2",name:"Universal 2",type:"stt",params:["language"]}],"fal-ai":[{id:"fal-ai/flux/schnell",name:"FLUX Schnell",type:"image",params:["n","size"]},{id:"fal-ai/flux/dev",name:"FLUX Dev",type:"image",params:["n","size"]},{id:"fal-ai/flux-pro/v1.1",name:"FLUX Pro v1.1",type:"image",params:["n","size"]},{id:"fal-ai/flux-pro/v1.1-ultra",name:"FLUX Pro v1.1 Ultra",type:"image",params:["n","size"]},{id:"fal-ai/recraft-v3",name:"Recraft V3",type:"image",params:["n","size","style"]},{id:"fal-ai/ideogram/v2",name:"Ideogram V2",type:"image",params:["n","size","style"]},{id:"fal-ai/stable-diffusion-v35-large",name:"SD 3.5 Large",type:"image",params:["n","size"]}],"stability-ai":[{id:"stable-image-ultra",name:"Stable Image Ultra",type:"image",params:["size"]},{id:"stable-image-core",name:"Stable Image Core",type:"image",params:["size","style"]},{id:"sd3.5-large",name:"Stable Diffusion 3.5 Large",type:"image",params:["size"]},{id:"sd3.5-large-turbo",name:"Stable Diffusion 3.5 Large Turbo",type:"image",params:["size"]},{id:"sd3.5-medium",name:"Stable Diffusion 3.5 Medium",type:"image",params:["size"]}],"black-forest-labs":[{id:"flux-pro-1.1",name:"FLUX Pro 1.1",type:"image",params:["n","size"]},{id:"flux-pro-1.1-ultra",name:"FLUX Pro 1.1 Ultra",type:"image",params:["size"]},{id:"flux-pro",name:"FLUX Pro",type:"image",params:["n","size"]},{id:"flux-dev",name:"FLUX Dev",type:"image",params:["n","size"]},{id:"flux-kontext-pro",name:"FLUX Kontext Pro (Edit)",type:"image",params:["size"],capabilities:["edit"]},{id:"flux-kontext-max",name:"FLUX Kontext Max (Edit)",type:"image",params:["size"],capabilities:["edit"]}],recraft:[{id:"recraftv3",name:"Recraft V3",type:"image",params:["n","size","style"]},{id:"recraftv2",name:"Recraft V2",type:"image",params:["n","size","style"]}],runwayml:[{id:"gen4_image",name:"Gen-4 Image",type:"image",params:["size"]},{id:"gen4_image_turbo",name:"Gen-4 Image Turbo",type:"image",params:["size"]},{id:"gen4_turbo",name:"Gen-4 Turbo",type:"video",params:[]},{id:"gen3a_turbo",name:"Gen-3 Alpha Turbo",type:"video",params:[]}]};function m(a){return l[a]||[]}function n(a){let b=l[a];return b?.[0]?.id||null}function o(a,b){let c=l[a];if(!c)return null;let d=c.find(a=>a.id===b);return d?.targetFormat||null}function p(a,b){let c=l[a];if(!c)return null;let d=c.find(a=>a.id===b);return d?.type||null}function q(a,b){let c=l[a],d=c?.find(a=>a.id===b);return d?.upstreamModelId?d.upstreamModelId:"cx"===a&&"string"==typeof b&&b.endsWith(k)?b.slice(0,-k.length):b}let r={claude:"cc",codex:"cx","gemini-cli":"gc",qwen:"qw",iflow:"if",antigravity:"ag",github:"gh",kiro:"kr",cursor:"cu","kimi-coding":"kmc",kilocode:"kc",cline:"cl",opencode:"oc",qoder:"qd",vertex:"vertex","vertex-partner":"vertex-partner"},s=Object.fromEntries(Object.keys(d.xq).map(a=>[a,r[a]||a]));function t(a,b){let c=l[a]?.find(a=>a.id===b);return c?.strip||[]}}};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=4565,exports.ids=[4565],exports.modules={8834:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0});var c={VALID_LOADERS:function(){return e},imageConfigDefault:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=["default","imgix","cloudinary","akamai","custom"],f={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1,customCacheHandler:!1}},19226:(a,b,c)=>{a.exports=c(81155).vendored.contexts.RouterContext},25374:(a,b)=>{function c({widthInt:a,heightInt:b,blurWidth:d,blurHeight:e,blurDataURL:f,objectFit:g}){let h=d?40*d:a,i=e?40*e:b,j=h&&i?`viewBox='0 0 ${h} ${i}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${j}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${j?"none":"contain"===g?"xMidYMid":"cover"===g?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${f}'/%3E%3C/svg%3E`}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getImageBlurSvg",{enumerable:!0,get:function(){return c}})},26201:(a,b,c)=>{a.exports=c(81155).vendored.contexts.ImageConfigContext},28039:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return g}});let d=c(92873),e=c(44217);function f({config:a,src:b,width:c,quality:g}){let h=(0,e.getDeploymentId)();if(b.startsWith("/")&&!b.startsWith("//")){let a=b.indexOf("?");if(-1!==a){let c=new URLSearchParams(b.slice(a+1)),d=c.get("dpl");if(d){h=d,c.delete("dpl");let e=c.toString();b=b.slice(0,a)+(e?"?"+e:"")}}}if(b.startsWith("/")&&b.includes("?")&&a.localPatterns?.length===1&&"**"===a.localPatterns[0].pathname&&""===a.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${b}" is using a query string which is not configured in images.localPatterns.
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let i=(0,d.findClosestQuality)(g,a);return`${a.path}?url=${encodeURIComponent(b)}&w=${c}&q=${i}${b.startsWith("/")&&h?`&dpl=${h}`:""}`}f.__next_img_default=!0;let g=f},38895:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getImgProps",{enumerable:!0,get:function(){return j}}),c(95478);let d=c(44217),e=c(25374),f=c(8834),g=["-moz-initial","fill","none","scale-down",void 0];function h(a){return void 0!==a.default}function i(a){return void 0===a?a:"number"==typeof a?Number.isFinite(a)?a:NaN:"string"==typeof a&&/^[0-9]+$/.test(a)?parseInt(a,10):NaN}function j({src:a,sizes:b,unoptimized:c=!1,priority:k=!1,preload:l=!1,loading:m,className:n,quality:o,width:p,height:q,fill:r=!1,style:s,overrideSrc:t,onLoad:u,onLoadingComplete:v,placeholder:w="empty",blurDataURL:x,fetchPriority:y,decoding:z="async",layout:A,objectFit:B,objectPosition:C,lazyBoundary:D,lazyRoot:E,...F},G){var H;let I,J,K,{imgConf:L,showAltText:M,blurComplete:N,defaultLoader:O}=G,P=L||f.imageConfigDefault;if("allSizes"in P)I=P;else{let a=[...P.deviceSizes,...P.imageSizes].sort((a,b)=>a-b),b=P.deviceSizes.sort((a,b)=>a-b),c=P.qualities?.sort((a,b)=>a-b);I={...P,allSizes:a,deviceSizes:b,qualities:c}}if(void 0===O)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let Q=F.loader||O;delete F.loader,delete F.srcSet;let R="__next_img_default"in Q;if(R){if("custom"===I.loader)throw Object.defineProperty(Error(`Image with src "${a}" is missing "loader" prop.
|
|
3
|
-
Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let a=Q;Q=b=>{let{config:c,...d}=b;return a(d)}}if(A){"fill"===A&&(r=!0);let a={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[A];a&&(s={...s,...a});let c={responsive:"100vw",fill:"100vw"}[A];c&&!b&&(b=c)}let S="",T=i(p),U=i(q);if((H=a)&&"object"==typeof H&&(h(H)||void 0!==H.src)){let b=h(a)?a.default:a;if(!b.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(b)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!b.height||!b.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(b)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(J=b.blurWidth,K=b.blurHeight,x=x||b.blurDataURL,S=b.src,!r)if(T||U){if(T&&!U){let a=T/b.width;U=Math.round(b.height*a)}else if(!T&&U){let a=U/b.height;T=Math.round(b.width*a)}}else T=b.width,U=b.height}let V=!k&&!l&&("lazy"===m||void 0===m);(!(a="string"==typeof a?a:S)||a.startsWith("data:")||a.startsWith("blob:"))&&(c=!0,V=!1),I.unoptimized&&(c=!0),R&&!I.dangerouslyAllowSVG&&a.split("?",1)[0].endsWith(".svg")&&(c=!0);let W=i(o),X=Object.assign(r?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:B,objectPosition:C}:{},M?{}:{color:"transparent"},s),Y=N||"empty"===w?null:"blur"===w?`url("data:image/svg+xml;charset=utf-8,${(0,e.getImageBlurSvg)({widthInt:T,heightInt:U,blurWidth:J,blurHeight:K,blurDataURL:x||"",objectFit:X.objectFit})}")`:`url("${w}")`,Z=g.includes(X.objectFit)?"fill"===X.objectFit?"100% 100%":"cover":X.objectFit,$=Y?{backgroundSize:Z,backgroundPosition:X.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:Y}:{},_=function({config:a,src:b,unoptimized:c,width:e,quality:f,sizes:g,loader:h}){if(c){if(b.startsWith("/")&&!b.startsWith("//")){let a=(0,d.getDeploymentId)();if(a){let c=b.indexOf("?");if(-1!==c){let d=new URLSearchParams(b.slice(c+1));d.get("dpl")||(d.append("dpl",a),b=b.slice(0,c)+"?"+d.toString())}else b+=`?dpl=${a}`}}return{src:b,srcSet:void 0,sizes:void 0}}let{widths:i,kind:j}=function({deviceSizes:a,allSizes:b},c,d){if(d){let c=/(^|\s)(1?\d?\d)vw/g,e=[];for(let a;a=c.exec(d);)e.push(parseInt(a[2]));if(e.length){let c=.01*Math.min(...e);return{widths:b.filter(b=>b>=a[0]*c),kind:"w"}}return{widths:b,kind:"w"}}return"number"!=typeof c?{widths:a,kind:"w"}:{widths:[...new Set([c,2*c].map(a=>b.find(b=>b>=a)||b[b.length-1]))],kind:"x"}}(a,e,g),k=i.length-1;return{sizes:g||"w"!==j?g:"100vw",srcSet:i.map((c,d)=>`${h({config:a,src:b,quality:f,width:c})} ${"w"===j?c:d+1}${j}`).join(", "),src:h({config:a,src:b,quality:f,width:i[k]})}}({config:I,src:a,unoptimized:c,width:T,quality:W,sizes:b,loader:Q}),aa=V?"lazy":m;return{props:{...F,loading:aa,fetchPriority:y,width:T,height:U,decoding:z,className:n,style:{...X,...$},sizes:_.sizes,srcSet:_.srcSet,src:t||_.src},meta:{unoptimized:c,preload:l||k,placeholder:w,fill:r}}}},49646:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0});var d={default:function(){return p},defaultHead:function(){return l}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(40399),g=c(24814),h=c(48249),i=g._(c(67484)),j=f._(c(98917)),k=c(89719);function l(){return[(0,h.jsx)("meta",{charSet:"utf-8"},"charset"),(0,h.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function m(a,b){return"string"==typeof b||"number"==typeof b?a:b.type===i.default.Fragment?a.concat(i.default.Children.toArray(b.props.children).reduce((a,b)=>"string"==typeof b||"number"==typeof b?a:a.concat(b),[])):a.concat(b)}c(95478);let n=["name","httpEquiv","charSet","itemProp"];function o(a){let b,c,d,e;return a.reduce(m,[]).reverse().concat(l().reverse()).filter((b=new Set,c=new Set,d=new Set,e={},a=>{let f=!0,g=!1;if(a.key&&"number"!=typeof a.key&&a.key.indexOf("$")>0){g=!0;let c=a.key.slice(a.key.indexOf("$")+1);b.has(c)?f=!1:b.add(c)}switch(a.type){case"title":case"base":c.has(a.type)?f=!1:c.add(a.type);break;case"meta":for(let b=0,c=n.length;b<c;b++){let c=n[b];if(a.props.hasOwnProperty(c))if("charSet"===c)d.has(c)?f=!1:d.add(c);else{let b=a.props[c],d=e[c]||new Set;("name"!==c||!g)&&d.has(b)?f=!1:(d.add(b),e[c]=d)}}}return f})).reverse().map((a,b)=>{let c=a.key||b;return i.default.cloneElement(a,{key:c})})}let p=function({children:a}){let b=(0,i.useContext)(k.HeadManagerContext);return(0,h.jsx)(j.default,{reduceComponentsToState:o,headManager:b,children:a})};("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},67095:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0});var d={default:function(){return k},getImageProps:function(){return j}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(40399),g=c(38895),h=c(73836),i=f._(c(28039));function j(a){let{props:b}=(0,g.getImgProps)(a,{defaultLoader:i.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[a,c]of Object.entries(b))void 0===c&&delete b[a];return{props:b}}let k=h.Image},69614:(a,b,c)=>{c.d(b,{V:()=>p});var d=c(88888),e=c(91356),f=c(99129),g=c(73575),h=c(41570),i=c(19035),j=c(24762),k=c(80308),l=c(11980);async function m(a,b,c){if(!(0,i.Gv)(a))throw new f.Ye("Flattened JWS must be an object");if(void 0===a.protected&&void 0===a.header)throw new f.Ye('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==a.protected&&"string"!=typeof a.protected)throw new f.Ye("JWS Protected Header incorrect type");if(void 0===a.payload)throw new f.Ye("JWS Payload missing");if("string"!=typeof a.signature)throw new f.Ye("JWS Signature missing or incorrect type");if(void 0!==a.header&&!(0,i.Gv)(a.header))throw new f.Ye("JWS Unprotected Header incorrect type");let m={};if(a.protected)try{let b=(0,d.D)(a.protected);m=JSON.parse(g.D0.decode(b))}catch{throw new f.Ye("JWS Protected Header is invalid")}if(!(0,i.fz)(m,a.header))throw new f.Ye("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...m,...a.header},o=(0,k.n)(f.Ye,new Map([["b64",!0]]),c?.crit,m,n),p=!0;if(o.has("b64")&&"boolean"!=typeof(p=m.b64))throw new f.Ye('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:q}=n;if("string"!=typeof q||!q)throw new f.Ye('JWS "alg" (Algorithm) Header Parameter missing or invalid');let r=c&&function(a,b){if(void 0!==b&&(!Array.isArray(b)||b.some(a=>"string"!=typeof a)))throw TypeError(`"${a}" option must be an array of strings`);if(b)return new Set(b)}("algorithms",c.algorithms);if(r&&!r.has(q))throw new f.Rb('"alg" (Algorithm) Header Parameter value not allowed');if(p){if("string"!=typeof a.payload)throw new f.Ye("JWS Payload must be a string")}else if("string"!=typeof a.payload&&!(a.payload instanceof Uint8Array))throw new f.Ye("JWS Payload must be a string or an Uint8Array instance");let s=!1;"function"==typeof b&&(b=await b(m,a),s=!0),(0,j.y)(q,b,"verify");let t=(0,g.xW)(void 0!==a.protected?(0,g.lF)(a.protected):new Uint8Array,(0,g.lF)("."),"string"==typeof a.payload?p?(0,g.lF)(a.payload):g.Rd.encode(a.payload):a.payload),u=(0,h.h2)(a.signature,"signature",f.Ye),v=await (0,l.l)(b,q);if(!await (0,e.MX)(q,v,u,t))throw new f.h2;let w={payload:p?(0,h.h2)(a.payload,"payload",f.Ye):"string"==typeof a.payload?g.Rd.encode(a.payload):a.payload};return(void 0!==a.protected&&(w.protectedHeader=m),void 0!==a.header&&(w.unprotectedHeader=a.header),s)?{...w,key:v}:w}async function n(a,b,c){if(a instanceof Uint8Array&&(a=g.D0.decode(a)),"string"!=typeof a)throw new f.Ye("Compact JWS must be a string or Uint8Array");let{0:d,1:e,2:h,length:i}=a.split(".");if(3!==i)throw new f.Ye("Invalid Compact JWS");let j=await m({payload:e,protected:d,signature:h},b,c),k={payload:j.payload,protectedHeader:j.protectedHeader};return"function"==typeof b?{...k,key:j.key}:k}var o=c(17347);async function p(a,b,c){let d=await n(a,b,c);if(d.protectedHeader.crit?.includes("b64")&&!1===d.protectedHeader.b64)throw new f.Dp("JWTs MUST NOT use unencoded payload");let e={payload:(0,o.k6)(d.protectedHeader,d.payload,c),protectedHeader:d.protectedHeader};return"function"==typeof b?{...e,key:d.key}:e}},73836:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"Image",{enumerable:!0,get:function(){return u}});let d=c(40399),e=c(24814),f=c(48249),g=e._(c(67484)),h=d._(c(74429)),i=d._(c(49646)),j=c(38895),k=c(8834),l=c(26201);c(95478);let m=c(19226),n=d._(c(28039)),o=c(57272),p={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0};function q(a,b,c,d,e,f,g){let h=a?.src;a&&a["data-loaded-src"]!==h&&(a["data-loaded-src"]=h,("decode"in a?a.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(a.parentElement&&a.isConnected){if("empty"!==b&&e(!0),c?.current){let b=new Event("load");Object.defineProperty(b,"target",{writable:!1,value:a});let d=!1,e=!1;c.current({...b,nativeEvent:b,currentTarget:a,target:a,isDefaultPrevented:()=>d,isPropagationStopped:()=>e,persist:()=>{},preventDefault:()=>{d=!0,b.preventDefault()},stopPropagation:()=>{e=!0,b.stopPropagation()}})}d?.current&&d.current(a)}}))}function r(a){return g.use?{fetchPriority:a}:{fetchpriority:a}}globalThis.__NEXT_IMAGE_IMPORTED=!0;let s=(0,g.forwardRef)(({src:a,srcSet:b,sizes:c,height:d,width:e,decoding:h,className:i,style:j,fetchPriority:k,placeholder:l,loading:m,unoptimized:n,fill:p,onLoadRef:s,onLoadingCompleteRef:t,setBlurComplete:u,setShowAltText:v,sizesInput:w,onLoad:x,onError:y,...z},A)=>{let B=(0,g.useCallback)(a=>{a&&(y&&(a.src=a.src),a.complete&&q(a,l,s,t,u,n,w))},[a,l,s,t,u,y,n,w]),C=(0,o.useMergedRef)(A,B);return(0,f.jsx)("img",{...z,...r(k),loading:m,width:e,height:d,decoding:h,"data-nimg":p?"fill":"1",className:i,style:j,sizes:c,srcSet:b,src:a,ref:C,onLoad:a=>{q(a.currentTarget,l,s,t,u,n,w)},onError:a=>{v(!0),"empty"!==l&&u(!0),y&&y(a)}})});function t({isAppRouter:a,imgAttributes:b}){let c={as:"image",imageSrcSet:b.srcSet,imageSizes:b.sizes,crossOrigin:b.crossOrigin,referrerPolicy:b.referrerPolicy,...r(b.fetchPriority)};return a&&h.default.preload?(h.default.preload(b.src,c),null):(0,f.jsx)(i.default,{children:(0,f.jsx)("link",{rel:"preload",href:b.srcSet?void 0:b.src,...c},"__nimg-"+b.src+b.srcSet+b.sizes)})}let u=(0,g.forwardRef)((a,b)=>{let c=(0,g.useContext)(m.RouterContext),d=(0,g.useContext)(l.ImageConfigContext),e=(0,g.useMemo)(()=>{let a=p||d||k.imageConfigDefault,b=[...a.deviceSizes,...a.imageSizes].sort((a,b)=>a-b),c=a.deviceSizes.sort((a,b)=>a-b),e=a.qualities?.sort((a,b)=>a-b);return{...a,allSizes:b,deviceSizes:c,qualities:e,localPatterns:d?.localPatterns}},[d]),{onLoad:h,onLoadingComplete:i}=a,o=(0,g.useRef)(h);(0,g.useEffect)(()=>{o.current=h},[h]);let q=(0,g.useRef)(i);(0,g.useEffect)(()=>{q.current=i},[i]);let[r,u]=(0,g.useState)(!1),[v,w]=(0,g.useState)(!1),{props:x,meta:y}=(0,j.getImgProps)(a,{defaultLoader:n.default,imgConf:e,blurComplete:r,showAltText:v});return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{...x,unoptimized:y.unoptimized,placeholder:y.placeholder,fill:y.fill,onLoadRef:o,onLoadingCompleteRef:q,setBlurComplete:u,setShowAltText:w,sizesInput:a.sizes,ref:b}),y.preload?(0,f.jsx)(t,{isAppRouter:!c,imgAttributes:x}):null]})});("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},81220:(a,b,c)=>{c.d(b,{default:()=>e.a});var d=c(67095),e=c.n(d)},86935:(a,b,c)=>{c.d(b,{P:()=>p});var d=c(88888),e=c(91356),f=c(19035),g=c(99129),h=c(73575),i=c(24762),j=c(80308),k=c(11980),l=c(41570);class m{#a;#b;#c;constructor(a){if(!(a instanceof Uint8Array))throw TypeError("payload must be an instance of Uint8Array");this.#a=a}setProtectedHeader(a){return(0,l.ac)(this.#b,"setProtectedHeader"),this.#b=a,this}setUnprotectedHeader(a){return(0,l.ac)(this.#c,"setUnprotectedHeader"),this.#c=a,this}async sign(a,b){let c,l,m,n;if(!this.#b&&!this.#c)throw new g.Ye("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!(0,f.fz)(this.#b,this.#c))throw new g.Ye("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let o={...this.#b,...this.#c},p=(0,j.n)(g.Ye,new Map([["b64",!0]]),b?.crit,this.#b,o),q=!0;if(p.has("b64")&&"boolean"!=typeof(q=this.#b.b64))throw new g.Ye('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:r}=o;if("string"!=typeof r||!r)throw new g.Ye('JWS "alg" (Algorithm) Header Parameter missing or invalid');(0,i.y)(r,a,"sign"),q?(c=(0,d.l)(this.#a),l=(0,h.lF)(c)):(l=this.#a,c=""),this.#b?(m=(0,d.l)(JSON.stringify(this.#b)),n=(0,h.lF)(m)):(m="",n=new Uint8Array);let s=(0,h.xW)(n,(0,h.lF)("."),l),t=await (0,k.l)(a,r),u=await (0,e._S)(r,t,s),v={signature:(0,d.l)(u),payload:c};return this.#c&&(v.header=this.#c),this.#b&&(v.protected=m),v}}class n{#d;constructor(a){this.#d=new m(a)}setProtectedHeader(a){return this.#d.setProtectedHeader(a),this}async sign(a,b){let c=await this.#d.sign(a,b);if(void 0===c.payload)throw TypeError("use the flattened module for creating JWS with b64: false");return`${c.protected}.${c.payload}.${c.signature}`}}var o=c(17347);class p{#b;#e;constructor(a={}){this.#e=new o.cE(a)}setIssuer(a){return this.#e.iss=a,this}setSubject(a){return this.#e.sub=a,this}setAudience(a){return this.#e.aud=a,this}setJti(a){return this.#e.jti=a,this}setNotBefore(a){return this.#e.nbf=a,this}setExpirationTime(a){return this.#e.exp=a,this}setIssuedAt(a){return this.#e.iat=a,this}setProtectedHeader(a){return this.#b=a,this}async sign(a,b){let c=new n(this.#e.data());if(c.setProtectedHeader(this.#b),Array.isArray(this.#b?.crit)&&this.#b.crit.includes("b64")&&!1===this.#b.b64)throw new g.Dp("JWTs MUST NOT use unencoded payload");return c.sign(a,b)}}},89719:(a,b,c)=>{a.exports=c(81155).vendored.contexts.HeadManagerContext},92873:(a,b)=>{function c(a,b){let c=a||75;return b?.qualities?.length?b.qualities.reduce((a,b)=>Math.abs(b-c)<Math.abs(a-c)?b:a,b.qualities[0]):c}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"findClosestQuality",{enumerable:!0,get:function(){return c}})},98917:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return f}});let d=c(67484),e=()=>{};function f(a){let{headManager:b,reduceComponentsToState:c}=a;function f(){if(b&&b.mountedInstances){let a=d.Children.toArray(Array.from(b.mountedInstances).filter(Boolean));b.updateHead(c(a))}}return b?.mountedInstances?.add(a.children),f(),e(()=>(b?.mountedInstances?.add(a.children),()=>{b?.mountedInstances?.delete(a.children)})),e(()=>(b&&(b._pendingUpdate=f),()=>{b&&(b._pendingUpdate=f)})),null}}};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=4922,exports.ids=[4922,9460],exports.modules={644:(a,b,c)=>{function d(a,b=null){if(null==a)return b;if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}function e(a){return JSON.stringify(a??null)}c.d(b,{q:()=>d,s:()=>e})},1129:(a,b,c)=>{c.r(b),c.d(b,{createProviderNode:()=>k,deleteProviderNode:()=>m,getProviderNodeById:()=>j,getProviderNodes:()=>i,updateProviderNode:()=>l});var d=c(94755),e=c(36366),f=c(644);function g(a){return a?{...(0,f.q)(a.data,{}),id:a.id,type:a.type,name:a.name,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function h(a,b){let c=function(a){let{id:b,type:c,name:d,createdAt:e,updatedAt:g,...h}=a;return{id:b,type:c??null,name:d??null,data:(0,f.s)(h),createdAt:e,updatedAt:g}}(b);a.run(`INSERT INTO providerNodes(id, type, name, data, createdAt, updatedAt)
|
|
2
|
-
VALUES(?, ?, ?, ?, ?, ?)
|
|
3
|
-
ON CONFLICT(id) DO UPDATE SET
|
|
4
|
-
type=excluded.type, name=excluded.name, data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.type,c.name,c.data,c.createdAt,c.updatedAt])}async function i(a={}){let b=await (0,e.c)(),c=[],d=[];a.type&&(c.push("type = ?"),d.push(a.type));let f=`SELECT * FROM providerNodes${c.length?` WHERE ${c.join(" AND ")}`:""}`;return b.all(f,d).map(g)}async function j(a){return g((await (0,e.c)()).get("SELECT * FROM providerNodes WHERE id = ?",[a]))}async function k(a){let b=await (0,e.c)(),c=new Date().toISOString(),f={id:a.id||(0,d.A)(),type:a.type,name:a.name,prefix:a.prefix,apiType:a.apiType,baseUrl:a.baseUrl,createdAt:c,updatedAt:c};return h(b,f),f}async function l(a,b){let c=await (0,e.c)(),d=null;return c.transaction(()=>{let e=c.get("SELECT * FROM providerNodes WHERE id = ?",[a]);if(!e)return;let f={...g(e),...b,updatedAt:new Date().toISOString()};h(c,f),d=f}),d}async function m(a){let b=await (0,e.c)(),c=null;return b.transaction(()=>{let d=b.get("SELECT * FROM providerNodes WHERE id = ?",[a]);d&&(c=g(d),b.run("DELETE FROM providerNodes WHERE id = ?",[a]))}),c}},4922:(a,b,c)=>{c.d(b,{tm:()=>h,oF:()=>i,vF:()=>g});var d=c(36366);c(42655),c(5781),c(1129),c(74452),c(9460),c(97914);var e=c(644);let f="disabledModels";async function g(){let a=(await (0,d.c)()).all("SELECT key, value FROM kv WHERE scope = ?",[f]),b={};for(let c of a)b[c.key]=(0,e.q)(c.value,[]);return b}async function h(a,b){if(!a||!Array.isArray(b))return;let c=await (0,d.c)();c.transaction(()=>{let d=c.get("SELECT value FROM kv WHERE scope = ? AND key = ?",[f,a]),g=[...new Set([...d&&(0,e.q)(d.value,[])||[],...b])];c.run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[f,a,(0,e.s)(g)])})}async function i(a,b){if(!a)return;let c=await (0,d.c)();c.transaction(()=>{if(!Array.isArray(b)||0===b.length)return void c.run("DELETE FROM kv WHERE scope = ? AND key = ?",[f,a]);let d=c.get("SELECT value FROM kv WHERE scope = ? AND key = ?",[f,a]),g=d&&(0,e.q)(d.value,[])||[],h=new Set(b),i=g.filter(a=>!h.has(a));0===i.length?c.run("DELETE FROM kv WHERE scope = ? AND key = ?",[f,a]):c.run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[f,a,(0,e.s)(i)])})}var j=c(94735);c(62674),global._pendingRequests||(global._pendingRequests={byModel:{},byAccount:{}}),global._lastErrorProvider||(global._lastErrorProvider={provider:"",ts:0}),global._statsEmitter||(global._statsEmitter=new j.EventEmitter,global._statsEmitter.setMaxListeners(50)),global._pendingTimers||(global._pendingTimers={}),global._recentRing||(global._recentRing={items:[],initialized:!1}),global._connectionMapCache||(global._connectionMapCache={map:{},ts:0}),global._pendingRequests,global._lastErrorProvider,global._pendingTimers,global._recentRing,global._connectionMapCache,global._statsEmitter;let k=null,l=0;async function m(){if(k&&Date.now()-l<5e3)return k;try{let{getSettings:a}=await Promise.resolve().then(c.bind(c,42655)),b=await a(),d="false"!==process.env.OBSERVABILITY_ENABLED;k={enabled:"boolean"==typeof b.enableObservability?b.enableObservability:d,maxRecords:b.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:b.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:b.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(b.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{k={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return l=Date.now(),k}let n=[],o=null,p=!1;function q(a,b){let c=JSON.stringify(a||{});return c.length>b?{_truncated:!0,_originalSize:c.length,_preview:c.substring(0,200)}:a||{}}async function r(){if(!p&&0!==n.length){p=!0;try{for(;n.length>0;){let a=n.splice(0,n.length),b=await (0,d.c)(),c=await m();b.transaction(()=>{for(let d of a){d.id||(d.id=function(a){let b=new Date().toISOString(),c=Math.random().toString(36).substring(2,8),d=a?a.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${b}-${c}-${d}`}(d.model)),d.timestamp||(d.timestamp=new Date().toISOString()),d.request?.headers&&(d.request.headers=function(a){if(!a||"object"!=typeof a)return{};let b=["authorization","x-api-key","cookie","token","api-key"],c={...a};for(let a of Object.keys(c))b.some(b=>a.toLowerCase().includes(b))&&delete c[a];return c}(d.request.headers));let a={id:d.id,provider:d.provider||null,model:d.model||null,connectionId:d.connectionId||null,timestamp:d.timestamp,status:d.status||null,latency:d.latency||{},tokens:d.tokens||{},request:q(d.request,c.maxJsonSize),providerRequest:q(d.providerRequest,c.maxJsonSize),providerResponse:q(d.providerResponse,c.maxJsonSize),response:q(d.response,c.maxJsonSize)};b.run("INSERT INTO requestDetails(id, timestamp, provider, model, connectionId, status, data) VALUES(?, ?, ?, ?, ?, ?, ?) ON CONFLICT(id) DO UPDATE SET timestamp = excluded.timestamp, provider = excluded.provider, model = excluded.model, connectionId = excluded.connectionId, status = excluded.status, data = excluded.data",[a.id,a.timestamp,a.provider,a.model,a.connectionId,a.status,(0,e.s)(a)])}let d=b.get("SELECT COUNT(*) as c FROM requestDetails");d&&d.c>c.maxRecords&&b.run("DELETE FROM requestDetails WHERE id IN (SELECT id FROM requestDetails ORDER BY timestamp ASC LIMIT ?)",[d.c-c.maxRecords])})}}catch(a){console.error("[requestDetailsRepo] Batch write failed:",a)}finally{p=!1}}}let s=async()=>{o&&(clearTimeout(o),o=null),n.length>0&&await r()};process.off("beforeExit",s),process.off("SIGINT",s),process.off("SIGTERM",s),process.off("exit",s),process.on("beforeExit",s),process.on("SIGINT",s),process.on("SIGTERM",s),process.on("exit",s)},5781:(a,b,c)=>{c.r(b),c.d(b,{cleanupProviderConnections:()=>r,createProviderConnection:()=>m,deleteProviderConnection:()=>o,deleteProviderConnectionsByProvider:()=>p,getProviderConnectionById:()=>k,getProviderConnections:()=>j,reorderProviderConnections:()=>q,updateProviderConnection:()=>n});var d=c(94755),e=c(36366),f=c(644);let g=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","idToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","errorCode","consecutiveUseCount"];function h(a){return a?{...(0,f.q)(a.data,{}),id:a.id,provider:a.provider,authType:a.authType,name:a.name,email:a.email,priority:a.priority,isActive:1===a.isActive||!0===a.isActive,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function i(a,b){let c=function(a){let{id:b,provider:c,authType:d,name:e,email:g,priority:h,isActive:i,createdAt:j,updatedAt:k,...l}=a;return{id:b,provider:c,authType:d,name:e??null,email:g??null,priority:h??null,isActive:+(!1!==i),data:(0,f.s)(l),createdAt:j,updatedAt:k}}(b);a.run(`INSERT INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt)
|
|
5
|
-
VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
6
|
-
ON CONFLICT(id) DO UPDATE SET
|
|
7
|
-
provider=excluded.provider, authType=excluded.authType, name=excluded.name,
|
|
8
|
-
email=excluded.email, priority=excluded.priority, isActive=excluded.isActive,
|
|
9
|
-
data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.provider,c.authType,c.name,c.email,c.priority,c.isActive,c.data,c.createdAt,c.updatedAt])}async function j(a={}){let b=await (0,e.c)(),c=[],d=[];a.provider&&(c.push("provider = ?"),d.push(a.provider)),void 0!==a.isActive&&(c.push("isActive = ?"),d.push(+!!a.isActive));let f=`SELECT * FROM providerConnections${c.length?` WHERE ${c.join(" AND ")}`:""}`,g=b.all(f,d).map(h);return g.sort((a,b)=>(a.priority||999)-(b.priority||999)),g}async function k(a){return h((await (0,e.c)()).get("SELECT * FROM providerConnections WHERE id = ?",[a]))}function l(a,b){let c=a.all("SELECT * FROM providerConnections WHERE provider = ?",[b]).map(h);c.sort((a,b)=>{let c=(a.priority||0)-(b.priority||0);return 0!==c?c:new Date(b.updatedAt||0)-new Date(a.updatedAt||0)}),c.forEach((b,c)=>{a.run("UPDATE providerConnections SET priority = ? WHERE id = ?",[c+1,b.id])})}async function m(a){let b,c=await (0,e.c)(),f=new Date().toISOString();return c.transaction(()=>{let e=c.all("SELECT * FROM providerConnections WHERE provider = ?",[a.provider]).map(h),j=null;if("oauth"===a.authType&&a.email){let b=a.providerSpecificData?.chatgptAccountId;j=e.find(c=>{if("oauth"!==c.authType||c.email!==a.email)return!1;let d=c.providerSpecificData?.chatgptAccountId;return!b||!d||b===d})}else"apikey"===a.authType&&a.name&&(j=e.find(b=>"apikey"===b.authType&&b.name===a.name));if(j){let d={...j,...a,updatedAt:f};i(c,d),b=d;return}let k=a.name||null;k||"oauth"!==a.authType&&"access_token"!==a.authType||(k=a.email||`Account ${e.length+1}`);let m=a.priority;m||(m=e.reduce((a,b)=>Math.max(a,b.priority||0),0)+1);let n={id:(0,d.A)(),provider:a.provider,authType:a.authType||"oauth",name:k,priority:m,isActive:void 0===a.isActive||a.isActive,createdAt:f,updatedAt:f};for(let b of g)void 0!==a[b]&&null!==a[b]&&(n[b]=a[b]);a.providerSpecificData&&Object.keys(a.providerSpecificData).length>0&&(n.providerSpecificData=a.providerSpecificData),void 0!==a.email&&(n.email=a.email),i(c,n),l(c,a.provider),b=n}),b}async function n(a,b){let c,d=await (0,e.c)();return d.transaction(()=>{let e=d.get("SELECT * FROM providerConnections WHERE id = ?",[a]);if(!e){c=null;return}let f=h(e),g={...f,...b,updatedAt:new Date().toISOString()};i(d,g),void 0!==b.priority&&l(d,f.provider),c=g}),c}async function o(a){let b=await (0,e.c)(),c=!1;return b.transaction(()=>{let d=b.get("SELECT provider FROM providerConnections WHERE id = ?",[a]);d&&(b.run("DELETE FROM providerConnections WHERE id = ?",[a]),l(b,d.provider),c=!0)}),c}async function p(a){let b=await (0,e.c)(),c=b.get("SELECT COUNT(*) AS n FROM providerConnections WHERE provider = ?",[a]);return b.run("DELETE FROM providerConnections WHERE provider = ?",[a]),c?.n||0}async function q(a){let b=await (0,e.c)();b.transaction(()=>l(b,a))}async function r(){let a=await (0,e.c)(),b=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","consecutiveUseCount"],c=0;return a.transaction(()=>{for(let d of a.all("SELECT * FROM providerConnections")){let e=h(d),f=!1;for(let a of b)(null===e[a]||void 0===e[a])&&a in e&&(delete e[a],c++,f=!0);e.providerSpecificData&&0===Object.keys(e.providerSpecificData).length&&(delete e.providerSpecificData,c++,f=!0),f&&i(a,e)}}),c}},9460:(a,b,c)=>{c.d(b,{getMitmAlias:()=>f}),c(36366);var d=c(22846);(0,d.U)("modelAliases"),(0,d.U)("customModels");let e=(0,d.U)("mitmAlias");async function f(a){return a?await e.get(a)||{}:await e.getAll()}},22846:(a,b,c)=>{c.d(b,{U:()=>f});var d=c(36366),e=c(644);function f(a){return{async get(b,c=null){let f=(await (0,d.c)()).get("SELECT value FROM kv WHERE scope = ? AND key = ?",[a,b]);return f?(0,e.q)(f.value,c):c},async getAll(){let b=(await (0,d.c)()).all("SELECT key, value FROM kv WHERE scope = ?",[a]),c={};for(let a of b)c[a.key]=(0,e.q)(a.value);return c},async set(b,c){(await (0,d.c)()).run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,b,(0,e.s)(c)])},async setMany(b){let c=await (0,d.c)();c.transaction(()=>{for(let[d,f]of Object.entries(b))c.run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,d,(0,e.s)(f)])})},async remove(b){(await (0,d.c)()).run("DELETE FROM kv WHERE scope = ? AND key = ?",[a,b])},async clear(){(await (0,d.c)()).run("DELETE FROM kv WHERE scope = ?",[a])}}}},36366:(a,b,c)=>{c.d(b,{c:()=>k});var d=c(95658);global._dbAdapter||(global._dbAdapter={instance:null,initPromise:null,logged:!1});let e=global._dbAdapter;async function f(){if(!process.versions.bun)return null;try{let{createBunSqliteAdapter:a}=await c.e(4739).then(c.bind(c,24739));return await a(d.AL)}catch(a){return console.warn(`[DB] bun:sqlite unavailable: ${a.message}`),null}}async function g(){if(process.versions.bun)return null;try{let{createBetterSqliteAdapter:a}=await c.e(5258).then(c.bind(c,25258));return a(d.AL)}catch(a){return console.warn(`[DB] better-sqlite3 unavailable: ${a.message}`),null}}async function h(){if(process.versions.bun)return null;let[a,b]=process.versions.node.split(".").map(Number);if(a<22||22===a&&b<5)return null;try{let{createNodeSqliteAdapter:a}=await c.e(8520).then(c.bind(c,88520));return await a(d.AL)}catch(a){return console.warn(`[DB] node:sqlite unavailable: ${a.message}`),null}}async function i(){try{let{createSqlJsAdapter:a}=await c.e(3593).then(c.bind(c,53593));return await a(d.AL)}catch(a){return console.warn(`[DB] sql.js unavailable: ${a.message}`),null}}async function j(){(0,d.Jh)();let a=await f();if(a||(a=await g()),a||(a=await h()),a||(a=await i()),!a)throw Error("[DB] No SQLite driver available (bun/better/node/sql.js all failed)");e.logged||(console.log(`[DB] Driver: ${a.driver} | file: ${d.AL}`),e.logged=!0);let{runMigrationOnce:b}=await c.e(5217).then(c.bind(c,45217));return await b(a),a}async function k(){return e.instance?e.instance:(e.initPromise||(e.initPromise=j().then(a=>(e.instance=a,a))),e.initPromise)}},42655:(a,b,c)=>{c.d(b,{exportSettings:()=>i,getSettings:()=>h});var d=c(36366),e=c(644);let f={cloudEnabled:!1,tunnelEnabled:!1,tunnelUrl:"",tunnelProvider:"cloudflare",tailscaleEnabled:!1,tailscaleUrl:"",stickyRoundRobinLimit:3,providerStrategies:{},comboStrategy:"fallback",comboStickyRoundRobinLimit:1,comboStrategies:{},requireLogin:!0,tunnelDashboardAccess:!0,authMode:"password",oidcIssuerUrl:"",oidcClientId:"",oidcClientSecret:"",oidcScopes:"openid profile email",oidcLoginLabel:"Sign in with OIDC",enableObservability:!0,observabilityMaxRecords:1e3,observabilityBatchSize:20,observabilityFlushIntervalMs:5e3,observabilityMaxJsonSize:5,outboundProxyEnabled:!1,outboundProxyUrl:"",outboundNoProxy:"",mitmRouterBaseUrl:"http://localhost:20128",dnsToolEnabled:{},rtkEnabled:!0,cavemanEnabled:!1,cavemanLevel:"full"};async function g(){let a=(await (0,d.c)()).get("SELECT data FROM settings WHERE id = 1");return a?(0,e.q)(a.data,{}):{}}async function h(){var a=await g();let b={...f,...a||{}};for(let[a,c]of Object.entries(f))void 0===b[a]&&("outboundProxyEnabled"===a&&"string"==typeof b.outboundProxyUrl&&b.outboundProxyUrl.trim()?b[a]=!0:b[a]=c);return b}async function i(){return await g()}},62674:(a,b,c)=>{function d(a,b,c=null){let e=a.get("SELECT value FROM _meta WHERE key = ?",[b]);return e?e.value:c}function e(a,b,c){a.run("INSERT INTO _meta(key, value) VALUES(?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value",[b,String(c)])}c.d(b,{dy:()=>d,np:()=>e}),c(36366)},74452:(a,b,c)=>{c.r(b),c.d(b,{createApiKey:()=>i,deleteApiKey:()=>k,getApiKeyById:()=>h,getApiKeys:()=>g,updateApiKey:()=>j,validateApiKey:()=>l});var d=c(94755),e=c(36366);function f(a){return a?{id:a.id,key:a.key,name:a.name,machineId:a.machineId,isActive:1===a.isActive||!0===a.isActive,createdAt:a.createdAt}:null}async function g(){return(await (0,e.c)()).all("SELECT * FROM apiKeys ORDER BY createdAt ASC").map(f)}async function h(a){return f((await (0,e.c)()).get("SELECT * FROM apiKeys WHERE id = ?",[a]))}async function i(a,b){if(!b)throw Error("machineId is required");let f=await (0,e.c)(),{generateApiKeyWithMachine:g}=await c.e(6844).then(c.bind(c,86844)),h=g(b),i={id:(0,d.A)(),name:a,key:h.key,machineId:b,isActive:!0,createdAt:new Date().toISOString()};return f.run("INSERT INTO apiKeys(id, key, name, machineId, isActive, createdAt) VALUES(?, ?, ?, ?, ?, ?)",[i.id,i.key,i.name,i.machineId,1,i.createdAt]),i}async function j(a,b){let c=await (0,e.c)(),d=null;return c.transaction(()=>{let e=c.get("SELECT * FROM apiKeys WHERE id = ?",[a]);if(!e)return;let g={...f(e),...b};c.run("UPDATE apiKeys SET key = ?, name = ?, machineId = ?, isActive = ? WHERE id = ?",[g.key,g.name,g.machineId,+!!g.isActive,a]),d=g}),d}async function k(a){let b=(await (0,e.c)()).run("DELETE FROM apiKeys WHERE id = ?",[a]);return(b?.changes??0)>0}async function l(a){let b=(await (0,e.c)()).get("SELECT isActive FROM apiKeys WHERE key = ?",[a]);return!!b&&(1===b.isActive||!0===b.isActive)}},95658:(a,b,c)=>{c.d(b,{AL:()=>j,HG:()=>i,Jh:()=>m,KQ:()=>k,Or:()=>l});var d=c(76760),e=c.n(d),f=c(73024),g=c.n(f),h=c(49120);let i=e().join(h.DATA_DIR,"db"),j=e().join(i,"data.sqlite"),k=e().join(i,"backups"),l={main:e().join(h.DATA_DIR,"db.json"),usage:e().join(h.DATA_DIR,"usage.json"),disabled:e().join(h.DATA_DIR,"disabledModels.json"),details:e().join(h.DATA_DIR,"request-details.json")};function m(){for(let a of[h.DATA_DIR,i,k])g().existsSync(a)||g().mkdirSync(a,{recursive:!0})}},97914:(a,b,c)=>{c.d(b,{getPricingForModel:()=>f}),c(36366);let d=(0,c(22846).U)("pricing");async function e(){return await d.getAll()}async function f(a,b){if(!b)return null;let d=await e();if(a&&d[a]?.[b])return d[a][b];let{getPricingForModel:f}=await c.e(7341).then(c.bind(c,57341));return f(a,b)}}};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=4989,exports.ids=[4989],exports.modules={47370:(a,b,c)=>{c.d(b,{BY:()=>L,E5:()=>H,M2:()=>G,SL:()=>l.SL,Zx:()=>I,_V:()=>u,j$:()=>M,ox:()=>l.ox,rg:()=>D,sZ:()=>F,uw:()=>C});var d=c(82996),e=c(11259),f=c(94735),g=c(33873),h=c.n(g),i=c(29021),j=c.n(i),k=c(49120),l=c(90336);let m=h().join(k.DATA_DIR,"usage.json"),n=h().join(k.DATA_DIR,"log.txt");if(j()&&"function"==typeof j().existsSync)try{j().existsSync(k.DATA_DIR)||(j().mkdirSync(k.DATA_DIR,{recursive:!0}),console.log(`[usageDb] Created data directory: ${k.DATA_DIR}`))}catch(a){console.error("[usageDb] Failed to create data directory:",a.message)}let o={history:[],totalRequestsLifetime:0,dailySummary:{}};function p(a,b,c){a[b]||(a[b]={requests:0,promptTokens:0,completionTokens:0,cost:0}),a[b].requests+=c.requests||1,a[b].promptTokens+=c.promptTokens||0,a[b].completionTokens+=c.completionTokens||0,a[b].cost+=c.cost||0,c.meta&&Object.assign(a[b],c.meta)}function q(a,b){var c;let d,e=(d=(c=b.timestamp)?new Date(c):new Date,`${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,"0")}-${String(d.getDate()).padStart(2,"0")}`);a[e]||(a[e]={requests:0,promptTokens:0,completionTokens:0,cost:0,byProvider:{},byModel:{},byAccount:{},byApiKey:{},byEndpoint:{}});let f=a[e],g=b.tokens?.prompt_tokens||b.tokens?.input_tokens||0,h=b.tokens?.completion_tokens||b.tokens?.output_tokens||0,i=b.cost||0,j={promptTokens:g,completionTokens:h,cost:i};f.requests+=1,f.promptTokens+=g,f.completionTokens+=h,f.cost+=i,b.provider&&p(f.byProvider,b.provider,j);let k=b.provider?`${b.model}|${b.provider}`:b.model;p(f.byModel,k,{...j,meta:{rawModel:b.model,provider:b.provider}}),b.connectionId&&p(f.byAccount,b.connectionId,{...j,meta:{rawModel:b.model,provider:b.provider}});let l=b.apiKey&&"string"==typeof b.apiKey?b.apiKey:"local-no-key",m=`${l}|${b.model}|${b.provider||"unknown"}`;p(f.byApiKey,m,{...j,meta:{rawModel:b.model,provider:b.provider,apiKey:b.apiKey||null}});let n=b.endpoint||"Unknown",o=`${n}|${b.model}|${b.provider||"unknown"}`;p(f.byEndpoint,o,{...j,meta:{endpoint:n,rawModel:b.model,provider:b.provider}})}let r=null;global._pendingRequests||(global._pendingRequests={byModel:{},byAccount:{}});let s=global._pendingRequests;global._lastErrorProvider||(global._lastErrorProvider={provider:"",ts:0});let t=global._lastErrorProvider;global._statsEmitter||(global._statsEmitter=new f.EventEmitter,global._statsEmitter.setMaxListeners(50));let u=global._statsEmitter;global._pendingTimers||(global._pendingTimers={});let v=global._pendingTimers;async function w(a){if(!a)return{keys:[],keySet:new Set};try{let{getApiKeys:b}=await Promise.all([c.e(7502),c.e(9718)]).then(c.bind(c,89718)),d=await b({userId:a});return{keys:d,keySet:new Set(d.map(a=>a.key).filter(Boolean))}}catch{return{keys:[],keySet:new Set}}}async function x(a,b){if(!b)return a;let{keySet:c}=await w(b);return 0===c.size?[]:a.filter(a=>a.apiKey&&c.has(a.apiKey))}global._recentRing||(global._recentRing={items:[],initialized:!1}),global._connectionMapCache||(global._connectionMapCache={map:{},ts:0});let y=global._recentRing,z=global._connectionMapCache;async function A(){if(Date.now()-z.ts<3e4)return z.map;try{let{getProviderConnections:a}=await Promise.all([c.e(7502),c.e(9718)]).then(c.bind(c,89718)),b=await a(),d={};for(let a of b)d[a.id]=a.name||a.email||a.id;z.map=d,z.ts=Date.now()}catch{}return z.map}async function B(){if(!y.initialized){y.initialized=!0;try{y.items=((await E()).data.history||[]).slice(-50)}catch{}}}function C(a,b,c,d,e=!1){let f=b?`${a} (${b})`:a,g=`${c}|${f}`;s.byModel[f]||(s.byModel[f]=0),s.byModel[f]=Math.max(0,s.byModel[f]+(d?1:-1)),0===s.byModel[f]&&delete s.byModel[f],c&&(s.byAccount[c]||(s.byAccount[c]={}),s.byAccount[c][f]||(s.byAccount[c][f]=0),s.byAccount[c][f]=Math.max(0,s.byAccount[c][f]+(d?1:-1)),0===s.byAccount[c][f]&&(delete s.byAccount[c][f],0===Object.keys(s.byAccount[c]).length&&delete s.byAccount[c])),d?(clearTimeout(v[g]),v[g]=setTimeout(()=>{delete v[g],s.byModel[f]>0&&(s.byModel[f]=0),c&&s.byAccount[c]?.[f]>0&&(s.byAccount[c][f]=0),u.emit("pending")},6e4)):(clearTimeout(v[g]),delete v[g]),!d&&e&&b&&(t.provider=b.toLowerCase(),t.ts=Date.now());let h=new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"});console.log(`[${h}] [PENDING] ${d?"START":"END"}${e?" (ERROR)":""} | provider=${b} | model=${a}`),u.emit("pending")}async function D(a={}){let b,c=[],d=a.userId;if(!d){let a=await A();for(let[b,d]of Object.entries(s.byAccount))for(let[e,f]of Object.entries(d))if(f>0){let d=a[b]||`Account ${b.slice(0,8)}...`,g=e.match(/^(.*) \((.*)\)$/),h=g?g[1]:e,i=g?g[2]:"unknown";c.push({model:h,provider:i,account:d,count:f})}}if(d){let a=await E();await a.read(),b=await x(a.data.history||[],d)}else await B(),b=y.items;let e=new Set;return{activeRequests:c,recentRequests:[...b].sort((a,b)=>new Date(b.timestamp)-new Date(a.timestamp)).map(a=>{let b=a.tokens||{},c=b.prompt_tokens||b.input_tokens||0,d=b.completion_tokens||b.output_tokens||0;return{timestamp:a.timestamp,model:a.model,provider:a.provider||"",promptTokens:c,completionTokens:d,status:a.status||"ok"}}).filter(a=>{if(0===a.promptTokens&&0===a.completionTokens)return!1;let b=a.timestamp?a.timestamp.slice(0,16):"",c=`${a.model}|${a.provider}|${a.promptTokens}|${a.completionTokens}|${b}`;return!e.has(c)&&(e.add(c),!0)}).slice(0,20),errorProvider:Date.now()-t.ts<1e4?t.provider:""}}async function E(){if(!r){let a=new e.Pv(m);r=new d.t(a,o);try{await r.read()}catch(a){if(a instanceof SyntaxError)console.warn("[DB] Corrupt Usage JSON detected, resetting to defaults..."),r.data=o,await r.write();else throw a}r.data||(r.data={...o},await r.write()),r.data.dailySummary||(function(a){let b=a.data.history||[];if(!b.length)return!1;for(let c of(a.data.dailySummary={},b))q(a.data.dailySummary,c);return console.log(`[usageDb] Migrated ${b.length} history entries to dailySummary (${Object.keys(a.data.dailySummary).length} days)`),!0}(r)?await r.write():r.data.dailySummary={})}return r}async function F(a){try{let b=await E();a.timestamp||(a.timestamp=new Date().toISOString()),Array.isArray(b.data.history)||(b.data.history=[]),"number"!=typeof b.data.totalRequestsLifetime&&(b.data.totalRequestsLifetime=b.data.history.length);let c=await J(a.provider,a.model,a.tokens);a.cost=c,b.data.history.push(a),b.data.totalRequestsLifetime+=1,b.data.dailySummary||(b.data.dailySummary={}),q(b.data.dailySummary,a),b.data.history.length>2e3&&b.data.history.splice(0,b.data.history.length-2e3),await b.write(),y.items.push(a),y.items.length>50&&(y.items=y.items.slice(-50)),u.emit("update")}catch(a){console.error("Failed to save usage stats:",a)}}async function G(a={}){let b=(await E()).data.history||[];if(a.provider&&(b=b.filter(b=>b.provider===a.provider)),a.model&&(b=b.filter(b=>b.model===a.model)),a.startDate){let c=new Date(a.startDate).getTime();b=b.filter(a=>new Date(a.timestamp).getTime()>=c)}if(a.endDate){let c=new Date(a.endDate).getTime();b=b.filter(a=>new Date(a.timestamp).getTime()<=c)}if(a.userId)try{let{getApiKeys:d}=await Promise.all([c.e(7502),c.e(9718)]).then(c.bind(c,89718)),e=await d({userId:a.userId}),f=new Set(e.map(a=>a.key));b=b.filter(a=>a.apiKey&&f.has(a.apiKey))}catch{b=[]}return b}async function H({model:a,provider:b,connectionId:d,tokens:e,status:f}){try{let g=function(a=new Date){let b=a=>String(a).padStart(2,"0"),c=b(a.getDate()),d=b(a.getMonth()+1),e=a.getFullYear(),f=b(a.getHours()),g=b(a.getMinutes()),h=b(a.getSeconds());return`${c}-${d}-${e} ${f}:${g}:${h}`}(),h=b?.toUpperCase()||"-",i=d?d.slice(0,8):"-";try{let{getProviderConnections:a}=await Promise.all([c.e(7502),c.e(9718)]).then(c.bind(c,89718)),b=(await a()).find(a=>a.id===d);b&&(i=b.name||b.email||i)}catch{}let k=e?.prompt_tokens!==void 0?e.prompt_tokens:"-",l=e?.completion_tokens!==void 0?e.completion_tokens:"-",m=`${g} | ${a||"-"} | ${h} | ${i} | ${k} | ${l} | ${f}
|
|
2
|
-
`;j().appendFileSync(n,m);let o=j().readFileSync(n,"utf-8").trim().split("\n");o.length>200&&j().writeFileSync(n,o.slice(-200).join("\n")+"\n")}catch(a){console.error("Failed to append to log.txt:",a.message)}}async function I(a=200,b={}){if(isCloud)return[];if(!j()||"function"!=typeof j().existsSync)return console.error("[usageDb] fs module not available in this environment"),[];if(!n)return console.error("[usageDb] LOG_FILE path not defined"),[];if(!j().existsSync(n))return console.log(`[usageDb] Log file does not exist: ${n}`),[];try{let d=j().readFileSync(n,"utf-8").trim().split("\n");if(b.userId)try{let{getApiKeys:a}=await Promise.all([c.e(7502),c.e(9718)]).then(c.bind(c,89718)),e=(await a({userId:b.userId})).map(a=>a.key.slice(0,8));d=d.filter(a=>e.some(b=>a.includes(b)))}catch{return[]}return d.slice(-a).reverse()}catch(a){return console.error("[usageDb] Failed to read log.txt:",a.message),console.error("[usageDb] LOG_FILE path:",n),[]}}async function J(a,b,d){if(!d||!a||!b)return 0;try{let{getPricingForModel:e}=await Promise.all([c.e(7502),c.e(9718)]).then(c.bind(c,89718)),f=await e(a,b);if(!f)return 0;let g=0,h=d.prompt_tokens||d.input_tokens||0,i=d.cached_tokens||d.cache_read_input_tokens||0,j=Math.max(0,h-i);if(g+=j*(f.input/1e6),i>0){let a=f.cached||f.input;g+=a/1e6*i}let k=d.completion_tokens||d.output_tokens||0;g+=k*(f.output/1e6);let l=d.reasoning_tokens||0;if(l>0){let a=f.reasoning||f.output;g+=a/1e6*l}let m=d.cache_creation_input_tokens||0;if(m>0){let a=f.cache_creation||f.input;g+=a/1e6*m}return g}catch(a){return console.error("Error calculating cost:",a),0}}let K={"24h":864e5,"7d":6048e5,"30d":2592e6,"60d":5184e6};async function L(a="all",b={}){let d=await E(),e=await x(d.data.history||[],b.userId),f=d.data.dailySummary||{},{getProviderConnections:g,getApiKeys:h,getProviderNodes:i}=await Promise.all([c.e(7502),c.e(9718)]).then(c.bind(c,89718)),j=[];try{j=await g()}catch{}let k={};for(let a of j)k[a.id]=a.name||a.email||a.id;let l={};try{for(let a of(await i()))a.id&&a.name&&(l[a.id]=a.name)}catch{}let m=[];try{m=await h()}catch{}let n={};for(let a of m)n[a.key]={name:a.name,id:a.id,createdAt:a.createdAt};let o=new Set,p=[...e].sort((a,b)=>new Date(b.timestamp)-new Date(a.timestamp)).map(a=>{let b=a.tokens||{};return{timestamp:a.timestamp,model:a.model,provider:a.provider||"",promptTokens:b.prompt_tokens||b.input_tokens||0,completionTokens:b.completion_tokens||b.output_tokens||0,status:a.status||"ok"}}).filter(a=>{if(0===a.promptTokens&&0===a.completionTokens)return!1;let b=a.timestamp?a.timestamp.slice(0,16):"",c=`${a.model}|${a.provider}|${a.promptTokens}|${a.completionTokens}|${b}`;return!o.has(c)&&(o.add(c),!0)}).slice(0,20),q={totalRequests:b.userId?e.length:"number"==typeof d.data.totalRequestsLifetime?d.data.totalRequestsLifetime:e.length,totalPromptTokens:0,totalCompletionTokens:0,totalCost:0,byProvider:{},byModel:{},byAccount:{},byApiKey:{},byEndpoint:{},last10Minutes:[],pending:b.userId?{byModel:{},byAccount:{}}:s,activeRequests:[],recentRequests:p,errorProvider:Date.now()-t.ts<1e4?t.provider:""};if(!b.userId){for(let[a,b]of Object.entries(s.byAccount))for(let[c,d]of Object.entries(b))if(d>0){let b=k[a]||`Account ${a.slice(0,8)}...`,e=c.match(/^(.*) \((.*)\)$/);q.activeRequests.push({model:e?e[1]:c,provider:e?e[2]:"unknown",account:b,count:d})}}let r=new Date,u=new Date(6e4*Math.floor(r.getTime()/6e4)),v=new Date(u.getTime()-54e4),w={};for(let a=0;a<10;a++){let b=u.getTime()-(9-a)*6e4;w[b]={requests:0,promptTokens:0,completionTokens:0,cost:0},q.last10Minutes.push(w[b])}for(let a of e){let b=new Date(a.timestamp);if(b>=v&&b<=r){let c=6e4*Math.floor(b.getTime()/6e4);if(w[c]){let b=a.tokens?.prompt_tokens||0,d=a.tokens?.completion_tokens||0;w[c].requests++,w[c].promptTokens+=b,w[c].completionTokens+=d,w[c].cost+=a.cost||0}}}if("24h"===a||b.userId){let c="all"===a?0:Date.now()-(K[a]||K["24h"]),d=c>0?e.filter(a=>new Date(a.timestamp).getTime()>=c):e;for(let a of(b.userId&&(q.totalRequests=d.length),d)){let c=a.tokens?.prompt_tokens||0,d=a.tokens?.completion_tokens||0,e=b.userId?await J(a.provider,a.model,a.tokens):a.cost||0,f=l[a.provider]||a.provider;q.totalPromptTokens+=c,q.totalCompletionTokens+=d,q.totalCost+=e,q.byProvider[a.provider]||(q.byProvider[a.provider]={requests:0,promptTokens:0,completionTokens:0,cost:0}),q.byProvider[a.provider].requests++,q.byProvider[a.provider].promptTokens+=c,q.byProvider[a.provider].completionTokens+=d,q.byProvider[a.provider].cost+=e;let g=a.provider?`${a.model} (${a.provider})`:a.model;if(q.byModel[g]||(q.byModel[g]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:a.model,provider:f,lastUsed:a.timestamp}),q.byModel[g].requests++,q.byModel[g].promptTokens+=c,q.byModel[g].completionTokens+=d,q.byModel[g].cost+=e,new Date(a.timestamp)>new Date(q.byModel[g].lastUsed)&&(q.byModel[g].lastUsed=a.timestamp),a.connectionId){let b=k[a.connectionId]||`Account ${a.connectionId.slice(0,8)}...`,g=`${a.model} (${a.provider} - ${b})`;q.byAccount[g]||(q.byAccount[g]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:a.model,provider:f,connectionId:a.connectionId,accountName:b,lastUsed:a.timestamp}),q.byAccount[g].requests++,q.byAccount[g].promptTokens+=c,q.byAccount[g].completionTokens+=d,q.byAccount[g].cost+=e,new Date(a.timestamp)>new Date(q.byAccount[g].lastUsed)&&(q.byAccount[g].lastUsed=a.timestamp)}if(a.apiKey&&"string"==typeof a.apiKey){let b=n[a.apiKey],g=b?.name||a.apiKey.slice(0,8)+"...",h=`${a.apiKey}|${a.model}|${a.provider||"unknown"}`;q.byApiKey[h]||(q.byApiKey[h]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:a.model,provider:f,apiKey:a.apiKey,keyName:g,apiKeyKey:a.apiKey,lastUsed:a.timestamp});let i=q.byApiKey[h];i.requests++,i.promptTokens+=c,i.completionTokens+=d,i.cost+=e,new Date(a.timestamp)>new Date(i.lastUsed)&&(i.lastUsed=a.timestamp)}else{q.byApiKey["local-no-key"]||(q.byApiKey["local-no-key"]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:a.model,provider:f,apiKey:null,keyName:"Local (No API Key)",apiKeyKey:"local-no-key",lastUsed:a.timestamp});let b=q.byApiKey["local-no-key"];b.requests++,b.promptTokens+=c,b.completionTokens+=d,b.cost+=e,new Date(a.timestamp)>new Date(b.lastUsed)&&(b.lastUsed=a.timestamp)}let h=a.endpoint||"Unknown",i=`${h}|${a.model}|${a.provider||"unknown"}`;q.byEndpoint[i]||(q.byEndpoint[i]={requests:0,promptTokens:0,completionTokens:0,cost:0,endpoint:h,rawModel:a.model,provider:f,lastUsed:a.timestamp});let j=q.byEndpoint[i];j.requests++,j.promptTokens+=c,j.completionTokens+=d,j.cost+=e,new Date(a.timestamp)>new Date(j.lastUsed)&&(j.lastUsed=a.timestamp)}}else{let b={"7d":7,"30d":30,"60d":60}[a]||null,c=new Date;for(let a of Object.keys(f).filter(a=>{if(!b)return!0;let d=a.split("-"),e=new Date(Number(d[0]),Number(d[1])-1,Number(d[2]));return Math.floor((c.getTime()-e.getTime())/864e5)<b})){let b=f[a];for(let[a,c]of(q.totalPromptTokens+=b.promptTokens||0,q.totalCompletionTokens+=b.completionTokens||0,q.totalCost+=b.cost||0,Object.entries(b.byProvider||{})))q.byProvider[a]||(q.byProvider[a]={requests:0,promptTokens:0,completionTokens:0,cost:0}),q.byProvider[a].requests+=c.requests||0,q.byProvider[a].promptTokens+=c.promptTokens||0,q.byProvider[a].completionTokens+=c.completionTokens||0,q.byProvider[a].cost+=c.cost||0;for(let[c,d]of Object.entries(b.byModel||{})){let b=d.rawModel||c.split("|")[0],e=d.provider||c.split("|")[1]||"",f=e?`${b} (${e})`:b,g=l[e]||e;q.byModel[f]||(q.byModel[f]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:b,provider:g,lastUsed:a}),q.byModel[f].requests+=d.requests||0,q.byModel[f].promptTokens+=d.promptTokens||0,q.byModel[f].completionTokens+=d.completionTokens||0,q.byModel[f].cost+=d.cost||0,a>(q.byModel[f].lastUsed||"")&&(q.byModel[f].lastUsed=a)}for(let[c,d]of Object.entries(b.byAccount||{})){let b=k[c]||`Account ${c.slice(0,8)}...`,e=d.rawModel||"",f=d.provider||"",g=l[f]||f,h=`${e} (${f} - ${b})`;q.byAccount[h]||(q.byAccount[h]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:e,provider:g,connectionId:c,accountName:b,lastUsed:a}),q.byAccount[h].requests+=d.requests||0,q.byAccount[h].promptTokens+=d.promptTokens||0,q.byAccount[h].completionTokens+=d.completionTokens||0,q.byAccount[h].cost+=d.cost||0,a>(q.byAccount[h].lastUsed||"")&&(q.byAccount[h].lastUsed=a)}for(let[c,d]of Object.entries(b.byApiKey||{})){let b=d.rawModel||"",e=d.provider||"",f=l[e]||e,g=d.apiKey,h=g?n[g]:null,i=h?.name||(g?g.slice(0,8)+"...":"Local (No API Key)"),j=g||"local-no-key";q.byApiKey[c]||(q.byApiKey[c]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:b,provider:f,apiKey:g,keyName:i,apiKeyKey:j,lastUsed:a}),q.byApiKey[c].requests+=d.requests||0,q.byApiKey[c].promptTokens+=d.promptTokens||0,q.byApiKey[c].completionTokens+=d.completionTokens||0,q.byApiKey[c].cost+=d.cost||0,a>(q.byApiKey[c].lastUsed||"")&&(q.byApiKey[c].lastUsed=a)}for(let[c,d]of Object.entries(b.byEndpoint||{})){let b=d.endpoint||c.split("|")[0]||"Unknown",e=d.rawModel||"",f=d.provider||"",g=l[f]||f;q.byEndpoint[c]||(q.byEndpoint[c]={requests:0,promptTokens:0,completionTokens:0,cost:0,endpoint:b,rawModel:e,provider:g,lastUsed:a}),q.byEndpoint[c].requests+=d.requests||0,q.byEndpoint[c].promptTokens+=d.promptTokens||0,q.byEndpoint[c].completionTokens+=d.completionTokens||0,q.byEndpoint[c].cost+=d.cost||0,a>(q.byEndpoint[c].lastUsed||"")&&(q.byEndpoint[c].lastUsed=a)}}let d=b?Date.now()-864e5*b:0;for(let a of e){let b=a.timestamp;if(!b||new Date(b).getTime()<d)continue;let c=a.provider?`${a.model} (${a.provider})`:a.model;if(q.byModel[c]&&new Date(b)>new Date(q.byModel[c].lastUsed)&&(q.byModel[c].lastUsed=b),a.connectionId){let c=k[a.connectionId]||`Account ${a.connectionId.slice(0,8)}...`,d=`${a.model} (${a.provider} - ${c})`;q.byAccount[d]&&new Date(b)>new Date(q.byAccount[d].lastUsed)&&(q.byAccount[d].lastUsed=b)}let e=a.apiKey&&"string"==typeof a.apiKey?`${a.apiKey}|${a.model}|${a.provider||"unknown"}`:"local-no-key";q.byApiKey[e]&&new Date(b)>new Date(q.byApiKey[e].lastUsed)&&(q.byApiKey[e].lastUsed=b);let f=a.endpoint||"Unknown",g=`${f}|${a.model}|${a.provider||"unknown"}`;q.byEndpoint[g]&&new Date(b)>new Date(q.byEndpoint[g].lastUsed)&&(q.byEndpoint[g].lastUsed=b)}}return q}async function M(a="7d",b={}){let c=await E(),d=await x(c.data.history||[],b.userId),e=c.data.dailySummary||{},f=Date.now();if("24h"===a||b.userId){let c="24h"===a,e=c?36e5:864e5,g="7d"===a?7:"30d"===a?30:"60d"===a?60:24,h=f-g*e,i=Array.from({length:g},(a,b)=>{let d;return{label:(d=h+b*e,c?new Date(d).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}):new Date(d).toLocaleDateString("en-US",{month:"short",day:"numeric"})),tokens:0,cost:0}});for(let a of d){let c=new Date(a.timestamp).getTime();if(c<h||c>f)continue;let d=Math.min(Math.floor((c-h)/e),g-1);i[d].tokens+=(a.tokens?.prompt_tokens||0)+(a.tokens?.completion_tokens||0),i[d].cost+=b.userId?await J(a.provider,a.model,a.tokens):a.cost||0}return i}let g="7d"===a?7:"30d"===a?30:60,h=new Date;return Array.from({length:g},(a,b)=>{let c=new Date(h);c.setDate(c.getDate()-(g-1-b));let d=e[`${c.getFullYear()}-${String(c.getMonth()+1).padStart(2,"0")}-${String(c.getDate()).padStart(2,"0")}`];return{label:c.toLocaleDateString("en-US",{month:"short",day:"numeric"}),tokens:d?(d.promptTokens||0)+(d.completionTokens||0):0,cost:d&&d.cost||0}})}},90336:(a,b,c)=>{c.d(b,{SL:()=>y,ox:()=>x});var d=c(82996),e=c(11259),f=c(76760),g=c.n(f),h=c(73024),i=c.n(h),j=c(49120);let k=g().join(j.DATA_DIR,"request-details.json");i().existsSync(j.DATA_DIR)||i().mkdirSync(j.DATA_DIR,{recursive:!0});let l=null;async function m(){if(!l){let a=new e.Pv(k),b=new d.t(a,{records:[]});await b.read(),b.data?.records||(b.data={records:[]}),l=b}return l}let n=null,o=0,p=null,q=0;async function r(a){if(!a)return{apiKeyId:null,apiKeyName:null,userId:null};try{let b=Date.now();if(!p||b-q>5e3){let{getApiKeys:a}=await Promise.all([c.e(7502),c.e(9718)]).then(c.bind(c,89718));p=await a(),q=b}let d=p?.find(b=>b.key===a);return{apiKeyId:d?.id||null,apiKeyName:d?.name||null,userId:d?.userId||null}}catch{return{apiKeyId:null,apiKeyName:null,userId:null}}}async function s(){if(n&&Date.now()-o<5e3)return n;try{let{getSettings:a}=await Promise.all([c.e(7502),c.e(9718)]).then(c.bind(c,89718)),b=await a(),d="false"!==process.env.OBSERVABILITY_ENABLED;n={enabled:"boolean"==typeof b.enableObservability?b.enableObservability:d,maxRecords:b.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:b.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:b.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(b.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{n={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return o=Date.now(),n}let t=[],u=null,v=!1;async function w(){if(!v&&0!==t.length){v=!0;try{let a=[...t];t=[];let b=await m(),c=await s();for(let d of a){d.id||(d.id=function(a){let b=new Date().toISOString(),c=Math.random().toString(36).substring(2,8),d=a?a.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${b}-${c}-${d}`}(d.model)),d.timestamp||(d.timestamp=new Date().toISOString()),d.request?.headers&&(d.request.headers=function(a){if(!a||"object"!=typeof a)return{};let b=["authorization","x-api-key","cookie","token","api-key"],c={...a};for(let a of Object.keys(c))b.some(b=>a.toLowerCase().includes(b))&&delete c[a];return c}(d.request.headers));let a={id:d.id,userId:d.userId||null,apiKeyId:d.apiKeyId||null,apiKeyName:d.apiKeyName||null,provider:d.provider||null,model:d.model||null,connectionId:d.connectionId||null,timestamp:d.timestamp,status:d.status||null,latency:d.latency||{},tokens:d.tokens||{},request:d.request||{},providerRequest:d.providerRequest||{},providerResponse:d.providerResponse||{},response:d.response||{}},e=c.maxJsonSize;for(let b of["request","providerRequest","providerResponse","response"]){let c=JSON.stringify(a[b]);c.length>e&&(a[b]={_truncated:!0,_originalSize:c.length,_preview:c.substring(0,200)})}let f=b.data.records.findIndex(b=>b.id===a.id);-1!==f?b.data.records[f]=a:b.data.records.push(a)}for(b.data.records.sort((a,b)=>new Date(b.timestamp)-new Date(a.timestamp)),b.data.records.length>c.maxRecords&&(b.data.records=b.data.records.slice(0,c.maxRecords));b.data.records.length>1&&!(0x3200000>=Buffer.byteLength(JSON.stringify(b.data),"utf8"));)b.data.records=b.data.records.slice(0,Math.floor(b.data.records.length/2));await b.write()}catch(a){console.error("[requestDetailsDb] Batch write failed:",a)}finally{v=!1}}}async function x(a){let b=await s();if(!b.enabled)return;let c=await r(a?.apiKey),d={...a,apiKeyId:a?.apiKeyId||c.apiKeyId,apiKeyName:a?.apiKeyName||c.apiKeyName,userId:a?.userId||c.userId};delete d.apiKey,t.push(d),t.length>=b.batchSize?(await w(),u&&(clearTimeout(u),u=null)):u||(u=setTimeout(()=>{w().catch(()=>{}),u=null},b.flushIntervalMs))}async function y(a={}){let b=[...(await m()).data.records];a.userId&&(b=b.filter(b=>b.userId===a.userId)),a.apiKeyId&&(b=b.filter(b=>b.apiKeyId===a.apiKeyId)),a.apiKeyName&&(b=b.filter(b=>b.apiKeyName===a.apiKeyName)),a.provider&&(b=b.filter(b=>b.provider===a.provider)),a.model&&(b=b.filter(b=>b.model===a.model)),a.connectionId&&(b=b.filter(b=>b.connectionId===a.connectionId)),a.status&&(b=b.filter(b=>b.status===a.status)),a.startDate&&(b=b.filter(b=>new Date(b.timestamp)>=new Date(a.startDate))),a.endDate&&(b=b.filter(b=>new Date(b.timestamp)<=new Date(a.endDate))),b.sort((a,b)=>new Date(b.timestamp)-new Date(a.timestamp));let c=b.length,d=a.page||1,e=a.pageSize||50,f=Math.ceil(c/e);return{details:b.slice((d-1)*e,d*e),pagination:{page:d,pageSize:e,totalItems:c,totalPages:f,hasNext:d<f,hasPrev:d>1}}}let z=async()=>{u&&(clearTimeout(u),u=null),t.length>0&&await w()};process.off("beforeExit",z),process.off("SIGINT",z),process.off("SIGTERM",z),process.off("exit",z),process.on("beforeExit",z),process.on("SIGINT",z),process.on("SIGTERM",z),process.on("exit",z)}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=5681,exports.ids=[5681],exports.modules={75681:(a,b,c)=>{c.d(b,{AI_PROVIDERS:()=>t,DI:()=>m,IS:()=>e,JH:()=>l,Pd:()=>n,Yg:()=>s,br:()=>k,fg:()=>j,gC:()=>r,gb:()=>q,jO:()=>z,js:()=>x,ly:()=>o,mq:()=>p,nJ:()=>f,rs:()=>v,wG:()=>w,wb:()=>y,zN:()=>i,zt:()=>u});let d="⚠️ 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.",e={kiro:{id:"kiro",alias:"kr",name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35",deprecated:!0,deprecationNotice:d,website:"https://kiro.dev",notice:{signupUrl:"https://kiro.dev"}},"gemini-cli":{id:"gemini-cli",alias:"gc",name:"Gemini CLI",icon:"terminal",color:"#4285F4",deprecated:!0,deprecationNotice:d,website:"https://github.com/google-gemini/gemini-cli",notice:{signupUrl:"https://github.com/google-gemini/gemini-cli"}},qoder:{id:"qoder",alias:"qd",name:"Qoder",icon:"water_drop",color:"#EC4899",deprecated:!0,deprecationNotice:d,website:"https://qoder.com",notice:{signupUrl:"https://qoder.com"}},opencode:{id:"opencode",alias:"oc",name:"OpenCode Free",icon:"terminal",color:"#E87040",textIcon:"OC",noAuth:!0,passthroughModels:!0,modelsFetcher:{url:"https://opencode.ai/zen/v1/models",type:"opencode-free"}}},f={openrouter:{id:"openrouter",alias:"openrouter",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 $10 credit: 1,000 req/day.",apiKeyUrl:"https://openrouter.ai/settings/keys"},modelsFetcher:{url:"https://openrouter.ai/api/v1/models",type:"openrouter-free"},passthroughModels:!0,serviceKinds:["llm","embedding","tts","imageToText"],embeddingConfig:{baseUrl:"https://openrouter.ai/api/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"openai/text-embedding-3-small",name:"Text Embedding 3 Small (OpenRouter)",dimensions:1536},{id:"openai/text-embedding-3-large",name:"Text Embedding 3 Large (OpenRouter)",dimensions:3072},{id:"openai/text-embedding-ada-002",name:"Text Embedding Ada 002 (OpenRouter)",dimensions:1536}]}},nvidia:{id:"nvidia",alias:"nvidia",name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://developer.nvidia.com/nim",notice:{text:"Free access for NVIDIA Developer Program members (prototyping & testing).",apiKeyUrl:"https://build.nvidia.com/settings/api-keys"},serviceKinds:["llm","tts","embedding"],ttsConfig:{baseUrl:"https://integrate.api.nvidia.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"nvidia-tts",models:[{id:"fastpitch",name:"FastPitch"},{id:"tacotron2",name:"Tacotron2"}]},embeddingConfig:{baseUrl:"https://integrate.api.nvidia.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nvidia/nv-embedqa-e5-v5",name:"NV EmbedQA E5 v5",dimensions:1024}]}},ollama:{id:"ollama",alias:"ollama",name:"Ollama Cloud",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com",notice:{text:"Free tier: light usage, 1 cloud model at a time (limits reset every 5h & 7d). Pro $20/mo \xb7 Max $100/mo.",apiKeyUrl:"https://ollama.com/settings/keys"}},vertex:{id:"vertex",alias:"vx",name:"Vertex AI",icon:"cloud",color:"#4285F4",textIcon:"VX",website:"https://cloud.google.com/vertex-ai",notice:{text:"New Google Cloud accounts get $300 free credits. Requires GCP project + Service Account with Vertex AI API enabled.",apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}},gemini:{id:"gemini",alias:"gemini",name:"Gemini",icon:"diamond",color:"#4285F4",textIcon:"GE",mediaPriority:1,website:"https://ai.google.dev",notice:{apiKeyUrl:"https://aistudio.google.com/app/apikey"},serviceKinds:["llm","embedding","image","imageToText","webSearch","tts","stt"],sttConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",format:"gemini-stt",models:[{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (Best)"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite (Cheapest)"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"}]},searchViaChat:{defaultModel:"gemini-2.5-flash",pricingUrl:"https://ai.google.dev/pricing",freeTier:"Free tier: 15 RPM, 1M tokens/day on gemini-2.5-flash via AI Studio."},embeddingConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",models:[{id:"text-embedding-004",name:"Text Embedding 004",dimensions:768},{id:"embedding-001",name:"Embedding 001",dimensions:768}]},ttsConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",format:"gemini-tts",models:[{id:"gemini-2.5-flash-preview-tts",name:"Gemini 2.5 Flash TTS"},{id:"gemini-2.5-pro-preview-tts",name:"Gemini 2.5 Pro TTS"}]}},"cloudflare-ai":{id:"cloudflare-ai",alias:"cf",name:"Cloudflare",icon:"cloud",color:"#F38020",textIcon:"CF",website:"https://developers.cloudflare.com/workers-ai/",notice:{text:"Workers AI free tier. Requires a Cloudflare API token and Account ID.",apiKeyUrl:"https://dash.cloudflare.com/profile/api-tokens"},serviceKinds:["llm","image"],hasProviderSpecificData:!0},byteplus:{id:"byteplus",alias:"bpm",name:"BytePlus ModelArk",icon:"cloud",color:"#2563EB",textIcon:"BP",website:"https://console.byteplus.com/ark",notice:{text:"Free credits for new accounts. Access to Seed 2.0, Kimi K2 Thinking, GLM 4.7, GPT-OSS-120B models.",apiKeyUrl:"https://console.byteplus.com/ark/region:ark+ap-southeast-1/apiKey"},serviceKinds:["llm"]}},g={options:["auto","none","low","medium","high","xhigh"],defaultMode:"auto"},h=[{id:"speech-2.8-hd",name:"Speech 2.8 HD"},{id:"speech-2.8-turbo",name:"Speech 2.8 Turbo"},{id:"speech-2.6-hd",name:"Speech 2.6 HD"},{id:"speech-2.6-turbo",name:"Speech 2.6 Turbo"},{id:"speech-02-hd",name:"Speech 02 HD"},{id:"speech-02-turbo",name:"Speech 02 Turbo"},{id:"speech-01-hd",name:"Speech 01 HD"},{id:"speech-01-turbo",name:"Speech 01 Turbo"}],i={claude:{id:"claude",alias:"cc",name:"Claude Code",icon:"smart_toy",color:"#D97757",deprecated:!0,deprecationNotice:d,website:"https://claude.ai",notice:{signupUrl:"https://claude.ai"}},antigravity:{id:"antigravity",alias:"ag",name:"Antigravity",icon:"rocket_launch",color:"#F59E0B",deprecated:!0,deprecationNotice:"⚠️ 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.",website:"https://antigravity.google",notice:{signupUrl:"https://antigravity.google"}},codex:{id:"codex",alias:"cx",name:"OpenAI Codex",icon:"code",color:"#3B82F6",deprecated:!0,deprecationNotice:d,thinkingConfig:g,serviceKinds:["llm","image"],kindNotice:{image:"Requires a ChatGPT Plus (or higher) account. Free accounts are not supported for image generation."},website:"https://chatgpt.com/codex",notice:{signupUrl:"https://chatgpt.com/codex"}},github:{id:"github",alias:"gh",name:"GitHub Copilot",icon:"code",color:"#333333",deprecated:!0,deprecationNotice:d,serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://models.github.ai/inference/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"text-embedding-3-small",name:"Text Embedding 3 Small (GitHub)",dimensions:1536},{id:"text-embedding-3-large",name:"Text Embedding 3 Large (GitHub)",dimensions:3072}]},website:"https://github.com/features/copilot",notice:{signupUrl:"https://github.com/features/copilot"}},cursor:{id:"cursor",alias:"cu",name:"Cursor IDE",icon:"edit_note",color:"#00D4AA",website:"https://cursor.com",notice:{signupUrl:"https://cursor.com"}},xai:{id:"xai",alias:"xai",name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai",notice:{apiKeyUrl:"https://console.x.ai",signupUrl:"https://x.ai"},serviceKinds:["llm","imageToText","webSearch","image"],searchViaChat:{defaultModel:"grok-4.20-reasoning",pricingUrl:"https://x.ai/api#pricing"},authModes:["oauth","apikey"],hasOAuth:!0},kilocode:{id:"kilocode",alias:"kc",name:"Kilo Code",icon:"code",color:"#FF6B35",textIcon:"KC",website:"https://kilocode.ai",notice:{signupUrl:"https://kilocode.ai"}},cline:{id:"cline",alias:"cl",name:"Cline",icon:"smart_toy",color:"#5B9BD5",textIcon:"CL",website:"https://cline.bot",notice:{signupUrl:"https://cline.bot"}}},j={glm:{id:"glm",alias:"glm",name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn",notice:{apiKeyUrl:"https://open.bigmodel.cn/usercenter/apikeys"}},"glm-cn":{id:"glm-cn",alias:"glm-cn",name:"GLM (China)",icon:"code",color:"#DC2626",textIcon:"GC",website:"https://open.bigmodel.cn",notice:{apiKeyUrl:"https://open.bigmodel.cn/usercenter/apikeys"}},kimi:{id:"kimi",alias:"kimi",name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn",notice:{apiKeyUrl:"https://platform.moonshot.ai/console/api-keys"},serviceKinds:["llm","webSearch"],searchViaChat:{defaultModel:"kimi-k2.5",pricingUrl:"https://platform.moonshot.ai/docs/pricing/chat"}},minimax:{id:"minimax",alias:"minimax",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"},serviceKinds:["llm","image","imageToText","webSearch","tts"],searchViaChat:{defaultModel:"MiniMax-M2.7",pricingUrl:"https://www.minimaxi.com/document/price"},ttsConfig:{baseUrl:"https://api.minimax.io/v1/t2a_v2",authType:"apikey",authHeader:"bearer",format:"minimax-tts",models:h}},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",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"},serviceKinds:["llm","tts"],ttsConfig:{baseUrl:"https://api.minimaxi.com/v1/t2a_v2",authType:"apikey",authHeader:"bearer",format:"minimax-tts",models:h}},alicode:{id:"alicode",alias:"alicode",name:"Alibaba",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://bailian.console.aliyun.com",notice:{apiKeyUrl:"https://bailian.console.aliyun.com/?apiKey=1"}},"alicode-intl":{id:"alicode-intl",alias:"alicode-intl",name:"Alibaba Intl",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://modelstudio.console.alibabacloud.com",notice:{apiKeyUrl:"https://modelstudio.console.alibabacloud.com/?apiKey=1"}},"xiaomi-mimo":{id:"xiaomi-mimo",alias:"mimo",name:"Xiaomi MiMo",icon:"smart_toy",color:"#FF6900",textIcon:"XM",website:"https://xiaomimimo.com",notice:{apiKeyUrl:"https://xiaomimimo.com"}},"xiaomi-tokenplan":{id:"xiaomi-tokenplan",alias:"xmtp",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"},hasProviderSpecificData:!0,regions:[{id:"sgp",label:"Singapore",baseUrl:"https://token-plan-sgp.xiaomimimo.com/v1"},{id:"cn",label:"China",baseUrl:"https://token-plan-cn.xiaomimimo.com/v1"},{id:"ams",label:"Europe",baseUrl:"https://token-plan-ams.xiaomimimo.com/v1"}],defaultRegion:"sgp"},"volcengine-ark":{id:"volcengine-ark",alias:"ark",name:"Volcengine Ark",icon:"cloud",color:"#1677FF",textIcon:"ARK",website:"https://ark.cn-beijing.volces.com",notice:{apiKeyUrl:"https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey"}},openai:{id:"openai",alias:"openai",name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com",notice:{apiKeyUrl:"https://platform.openai.com/api-keys"},serviceKinds:["llm","embedding","tts","stt","image","imageToText","webSearch"],thinkingConfig:g,searchViaChat:{defaultModel:"gpt-4o-mini",pricingUrl:"https://openai.com/api/pricing"},ttsConfig:{baseUrl:"https://api.openai.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"tts-1",name:"TTS-1"},{id:"tts-1-hd",name:"TTS-1 HD"},{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS"}]},sttConfig:{baseUrl:"https://api.openai.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"whisper-1",name:"Whisper 1"},{id:"gpt-4o-transcribe",name:"GPT-4o Transcribe"},{id:"gpt-4o-mini-transcribe",name:"GPT-4o Mini Transcribe"}]},embeddingConfig:{baseUrl:"https://api.openai.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"text-embedding-3-small",name:"Text Embedding 3 Small",dimensions:1536},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",dimensions:3072},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",dimensions:1536}]}},"vercel-ai-gateway":{id:"vercel-ai-gateway",alias:"vercel",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"},passthroughModels:!0,serviceKinds:["llm"]},anthropic:{id:"anthropic",alias:"anthropic",name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com",notice:{apiKeyUrl:"https://console.anthropic.com/settings/keys"},serviceKinds:["llm","imageToText"]},"opencode-go":{id:"opencode-go",alias:"ocg",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"}},azure:{id:"azure",alias:"azure",name:"Azure OpenAI",icon:"cloud",color:"#0078D4",textIcon:"AZ",website:"https://azure.microsoft.com/en-us/products/ai-services/openai-service",notice:{apiKeyUrl:"https://portal.azure.com/#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/OpenAI"},hasProviderSpecificData:!0},deepseek:{id:"deepseek",alias:"ds",name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com",notice:{apiKeyUrl:"https://platform.deepseek.com/api_keys"}},commandcode:{id:"commandcode",alias:"cmc",name:"Command Code",icon:"smart_toy",color:"#000000",textIcon:"CC",website:"https://commandcode.ai",notice:{text:"Use your CommandCode CLI API key (starts with user_...) from ~/.commandcode/auth.json or commandcode.ai/studio.",apiKeyUrl:"https://commandcode.ai/studio"}},groq:{id:"groq",alias:"groq",name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com",notice:{apiKeyUrl:"https://console.groq.com/keys"},serviceKinds:["llm","imageToText","stt"],sttConfig:{baseUrl:"https://api.groq.com/openai/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"whisper-large-v3",name:"Whisper Large v3"},{id:"whisper-large-v3-turbo",name:"Whisper Large v3 Turbo"},{id:"distil-whisper-large-v3-en",name:"Distil Whisper Large v3 EN"}]}},xai:{id:"xai",alias:"xai",name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai",notice:{apiKeyUrl:"https://console.x.ai"},serviceKinds:["llm","imageToText","webSearch","image"],searchViaChat:{defaultModel:"grok-4.20-reasoning",pricingUrl:"https://x.ai/api#pricing"},authModes:["oauth","apikey"],hasOAuth:!0},mistral:{id:"mistral",alias:"mistral",name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai",notice:{apiKeyUrl:"https://console.mistral.ai/api-keys"},serviceKinds:["llm","imageToText","embedding"],embeddingConfig:{baseUrl:"https://api.mistral.ai/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"mistral-embed",name:"Mistral Embed",dimensions:1024}]}},perplexity:{id:"perplexity",alias:"pplx",name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai",notice:{apiKeyUrl:"https://www.perplexity.ai/settings/api"},serviceKinds:["llm","webSearch"],searchConfig:{baseUrl:"https://api.perplexity.ai/search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.005,freeMonthlyQuota:0,searchTypes:["web"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5}},together:{id:"together",alias:"together",name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai",notice:{apiKeyUrl:"https://api.together.xyz/settings/api-keys"},serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.together.xyz/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"BAAI/bge-large-en-v1.5",name:"BGE Large EN v1.5",dimensions:1024},{id:"togethercomputer/m2-bert-80M-8k-retrieval",name:"M2 BERT 80M 8K",dimensions:768}]}},fireworks:{id:"fireworks",alias:"fireworks",name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai",notice:{apiKeyUrl:"https://fireworks.ai/account/api-keys"},serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.fireworks.ai/inference/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nomic-ai/nomic-embed-text-v1.5",name:"Nomic Embed Text v1.5",dimensions:768}]}},cerebras:{id:"cerebras",alias:"cerebras",name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://www.cerebras.ai",notice:{apiKeyUrl:"https://cloud.cerebras.ai/platform"}},cohere:{id:"cohere",alias:"cohere",name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com",notice:{apiKeyUrl:"https://dashboard.cohere.com/api-keys"}},nebius:{id:"nebius",alias:"nebius",name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com",notice:{apiKeyUrl:"https://studio.nebius.com/settings/api-keys"},serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.tokenfactory.nebius.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen3 Embedding 8B",dimensions:4096}]}},siliconflow:{id:"siliconflow",alias:"siliconflow",name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com",notice:{apiKeyUrl:"https://cloud.siliconflow.com/account/ak"}},hyperbolic:{id:"hyperbolic",alias:"hyp",name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz",notice:{apiKeyUrl:"https://app.hyperbolic.xyz/settings"},serviceKinds:["llm","tts"],ttsConfig:{baseUrl:"https://api.hyperbolic.xyz/v1/audio/generation",authType:"apikey",authHeader:"bearer",format:"hyperbolic",models:[{id:"melo-tts",name:"Melo TTS"}]}},deepgram:{id:"deepgram",alias:"dg",name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com",notice:{text:"$200 free credit on signup (no card required). Aura-1: $0.015/1k chars, Aura-2: $0.030/1k chars (Pay-As-You-Go).",apiKeyUrl:"https://console.deepgram.com/api-keys"},serviceKinds:["stt","imageToText","tts"],ttsConfig:{baseUrl:"https://api.deepgram.com/v1/speak",authType:"apikey",authHeader:"token",format:"deepgram",models:[]},sttConfig:{baseUrl:"https://api.deepgram.com/v1/listen",authType:"apikey",authHeader:"token",format:"deepgram",models:[{id:"nova-3",name:"Nova 3"},{id:"nova-2",name:"Nova 2"},{id:"whisper-large",name:"Whisper Large"}]}},assemblyai:{id:"assemblyai",alias:"aai",name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com",notice:{apiKeyUrl:"https://www.assemblyai.com/app/api-keys"},serviceKinds:["stt"],sttConfig:{baseUrl:"https://api.assemblyai.com/v2/transcript",authType:"apikey",authHeader:"bearer",format:"assemblyai",async:!0,models:[{id:"universal-3-pro",name:"Universal 3 Pro"},{id:"universal-2",name:"Universal 2"}]}},nanobanana:{id:"nanobanana",alias:"nb",name:"NanoBanana API",icon:"extension",color:"#FFD700",textIcon:"\uD83C\uDF4C",website:"https://nanobananaapi.ai",notice:{text:"3rd-party proxy for Google Nano Banana (Gemini 2.5/3 Flash Image). For official, use Gemini provider.",apiKeyUrl:"https://nanobananaapi.ai/dashboard"},serviceKinds:["image"]},elevenlabs:{id:"elevenlabs",alias:"el",name:"ElevenLabs",icon:"record_voice_over",color:"#6C47FF",textIcon:"EL",website:"https://elevenlabs.io",notice:{apiKeyUrl:"https://elevenlabs.io/app/settings/api-keys"},serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.elevenlabs.io/v1/text-to-speech",authType:"apikey",authHeader:"xi-api-key",format:"elevenlabs",models:[{id:"eleven_multilingual_v2",name:"Eleven Multilingual v2"},{id:"eleven_turbo_v2_5",name:"Eleven Turbo v2.5"}]}},cartesia:{id:"cartesia",alias:"cartesia",name:"Cartesia",icon:"spatial_audio",color:"#FF4F8B",textIcon:"CA",website:"https://cartesia.ai",notice:{apiKeyUrl:"https://play.cartesia.ai/keys"},serviceKinds:["tts"],hidden:!0,ttsConfig:{baseUrl:"https://api.cartesia.ai/tts/bytes",authType:"apikey",authHeader:"x-api-key",format:"cartesia",models:[{id:"sonic-2",name:"Sonic 2"},{id:"sonic-3",name:"Sonic 3"}]}},playht:{id:"playht",alias:"playht",name:"PlayHT",icon:"play_circle",color:"#00B4D8",textIcon:"PH",website:"https://play.ht",notice:{apiKeyUrl:"https://play.ht/studio/api-access"},serviceKinds:["tts"],hidden:!0,ttsConfig:{baseUrl:"https://api.play.ht/api/v2/tts/stream",authType:"apikey",authHeader:"playht",format:"playht",models:[{id:"PlayDialog",name:"PlayDialog"},{id:"Play3.0-mini",name:"Play 3.0 Mini"}]}},"local-device":{id:"local-device",alias:"local-device",name:"Local Device",icon:"speaker",color:"#64748B",textIcon:"LD",mediaPriority:5,serviceKinds:["tts"],noAuth:!0,ttsConfig:{baseUrl:"local-device",authType:"none",authHeader:"none",format:"local-device",models:[]}},"google-tts":{id:"google-tts",alias:"google-tts",name:"Google TTS",icon:"record_voice_over",color:"#4285F4",textIcon:"GT",mediaPriority:5,serviceKinds:["tts"],noAuth:!0,ttsConfig:{baseUrl:"google-tts",authType:"none",authHeader:"none",format:"google-tts",models:[]}},"edge-tts":{id:"edge-tts",alias:"edge-tts",name:"Edge TTS",icon:"record_voice_over",color:"#0078D4",textIcon:"ET",mediaPriority:5,serviceKinds:["tts"],noAuth:!0,ttsConfig:{baseUrl:"edge-tts",authType:"none",authHeader:"none",format:"edge-tts",models:[]}},coqui:{id:"coqui",alias:"coqui",name:"Coqui TTS",icon:"record_voice_over",color:"#10B981",textIcon:"CQ",website:"https://github.com/coqui-ai/TTS",serviceKinds:["tts"],hidden:!0,noAuth:!0,ttsConfig:{baseUrl:"http://localhost:5002/api/tts",authType:"none",authHeader:"none",format:"coqui",models:[{id:"tts_models/en/ljspeech/tacotron2-DDC",name:"Tacotron2 DDC (LJSpeech)"}]}},tortoise:{id:"tortoise",alias:"tortoise",name:"Tortoise TTS",icon:"record_voice_over",color:"#7C3AED",textIcon:"TT",website:"https://github.com/neonbjb/tortoise-tts",serviceKinds:["tts"],hidden:!0,noAuth:!0,ttsConfig:{baseUrl:"http://localhost:5000/api/tts",authType:"none",authHeader:"none",format:"tortoise",models:[{id:"tortoise-v2",name:"Tortoise v2"}]}},inworld:{id:"inworld",alias:"inworld",name:"Inworld TTS",icon:"record_voice_over",color:"#FF6B6B",textIcon:"IW",website:"https://inworld.ai",notice:{text:"Free tier: 40 minutes/month TTS. Paid: TTS-1.5 Mini $0.01/min ($15/1M chars), TTS-1.5 Max $0.025/min ($30/1M chars). 270+ voices, 15 languages.",apiKeyUrl:"https://platform.inworld.ai/api-keys"},serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.inworld.ai/tts/v1/voice",authType:"apikey",authHeader:"basic",format:"inworld",models:[{id:"inworld-tts-1.5-mini",name:"Inworld TTS 1.5 Mini ($0.01/min)"},{id:"inworld-tts-1.5-max",name:"Inworld TTS 1.5 Max ($0.025/min)"}]}},"voyage-ai":{id:"voyage-ai",alias:"voyage",name:"Voyage AI",icon:"data_array",color:"#0EA5E9",textIcon:"VG",website:"https://www.voyageai.com",notice:{apiKeyUrl:"https://dash.voyageai.com/api-keys"},serviceKinds:["embedding"],embeddingConfig:{baseUrl:"https://api.voyageai.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"voyage-3-large",name:"Voyage 3 Large",dimensions:1024},{id:"voyage-3.5",name:"Voyage 3.5",dimensions:1024},{id:"voyage-3.5-lite",name:"Voyage 3.5 Lite",dimensions:1024},{id:"voyage-code-3",name:"Voyage Code 3",dimensions:1024},{id:"voyage-finance-2",name:"Voyage Finance 2",dimensions:1024},{id:"voyage-law-2",name:"Voyage Law 2",dimensions:1024},{id:"voyage-multilingual-2",name:"Voyage Multilingual 2",dimensions:1024}]}},sdwebui:{id:"sdwebui",alias:"sdwebui",name:"SD WebUI",icon:"brush",color:"#FF7043",textIcon:"SD",website:"https://github.com/AUTOMATIC1111/stable-diffusion-webui",serviceKinds:["image"]},comfyui:{id:"comfyui",alias:"comfyui",name:"ComfyUI",icon:"account_tree",color:"#4CAF50",textIcon:"CF",website:"https://github.com/comfyanonymous/ComfyUI",serviceKinds:["image"]},huggingface:{id:"huggingface",alias:"hf",name:"HuggingFace",icon:"face",color:"#FFD21E",textIcon:"HF",website:"https://huggingface.co",notice:{apiKeyUrl:"https://huggingface.co/settings/tokens"},serviceKinds:["image","imageToText","tts","stt"],hiddenKinds:["tts"],ttsConfig:{baseUrl:"https://api-inference.huggingface.co/models",authType:"apikey",authHeader:"bearer",format:"huggingface-tts",models:[{id:"facebook/mms-tts-eng",name:"MMS TTS English"},{id:"microsoft/speecht5_tts",name:"SpeechT5 TTS"}]},sttConfig:{baseUrl:"https://api-inference.huggingface.co/models",authType:"apikey",authHeader:"bearer",format:"huggingface-asr",models:[{id:"openai/whisper-large-v3",name:"Whisper Large v3 (HF)"},{id:"openai/whisper-small",name:"Whisper Small (HF)"}]}},blackbox:{id:"blackbox",alias:"bb",name:"Blackbox AI",icon:"smart_toy",color:"#5B5FEF",textIcon:"BB",website:"https://blackbox.ai",notice:{apiKeyUrl:"https://www.blackbox.ai/api-management"},serviceKinds:["llm"]},chutes:{id:"chutes",alias:"ch",name:"Chutes AI",icon:"water_drop",color:"#ffffffff",textIcon:"CH",website:"https://chutes.ai",notice:{apiKeyUrl:"https://chutes.ai/app/api"}},"ollama-local":{id:"ollama-local",alias:"ollama-local",name:"Ollama Local",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com"},"vertex-partner":{id:"vertex-partner",alias:"vxp",name:"Vertex Partner",icon:"cloud",color:"#34A853",textIcon:"VP",website:"https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models",notice:{apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}},tavily:{id:"tavily",alias:"tavily",name:"Tavily",icon:"search",color:"#5B21B6",textIcon:"TV",website:"https://tavily.com",notice:{apiKeyUrl:"https://app.tavily.com/home"},serviceKinds:["webSearch","webFetch"],searchConfig:{baseUrl:"https://api.tavily.com/search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.008,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5},fetchConfig:{baseUrl:"https://api.tavily.com/extract",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.008,freeMonthlyQuota:1e3,formats:["markdown","text"],maxCharacters:1e5,timeoutMs:15e3}},"brave-search":{id:"brave-search",alias:"brave",name:"Brave Search",icon:"travel_explore",color:"#FB542B",textIcon:"BR",website:"https://brave.com/search/api",notice:{apiKeyUrl:"https://api-dashboard.search.brave.com/app/keys"},serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://api.search.brave.com/res/v1",method:"GET",authType:"apikey",authHeader:"x-subscription-token",costPerQuery:.005,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5}},serper:{id:"serper",alias:"serper",name:"Serper",icon:"search",color:"#4F46E5",textIcon:"SP",website:"https://serper.dev",notice:{apiKeyUrl:"https://serper.dev/api-key"},serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://google.serper.dev",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.001,freeMonthlyQuota:2500,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},exa:{id:"exa",alias:"exa",name:"Exa",icon:"manage_search",color:"#2563EB",textIcon:"EX",website:"https://exa.ai",notice:{apiKeyUrl:"https://dashboard.exa.ai/api-keys"},serviceKinds:["webSearch","webFetch"],searchConfig:{baseUrl:"https://api.exa.ai/search",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.007,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5},fetchConfig:{baseUrl:"https://api.exa.ai/contents",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.001,freeMonthlyQuota:1e3,formats:["text","markdown"],maxCharacters:1e5,timeoutMs:15e3}},searxng:{id:"searxng",alias:"searxng",name:"SearXNG",icon:"saved_search",color:"#3B82F6",textIcon:"SX",website:"https://docs.searxng.org",serviceKinds:["webSearch"],noAuth:!0,searchConfig:{baseUrl:"http://localhost:8888/search",method:"GET",authType:"none",authHeader:"none",costPerQuery:0,freeMonthlyQuota:999999,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:18e4}},"google-pse":{id:"google-pse",alias:"gpse",name:"Google PSE",icon:"search",color:"#4285F4",textIcon:"GP",website:"https://programmablesearchengine.google.com",notice:{apiKeyUrl:"https://programmablesearchengine.google.com/controlpanel/create"},serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://www.googleapis.com/customsearch/v1",method:"GET",authType:"apikey",authHeader:"key",costPerQuery:.005,freeMonthlyQuota:3e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:10,timeoutMs:1e4,cacheTTLMs:3e5}},linkup:{id:"linkup",alias:"linkup",name:"Linkup",icon:"link",color:"#0EA5E9",textIcon:"LK",website:"https://linkup.so",notice:{apiKeyUrl:"https://app.linkup.so/api-keys"},serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://api.linkup.so/v1/search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.005,freeMonthlyQuota:1e3,searchTypes:["web"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:3e5}},searchapi:{id:"searchapi",alias:"searchapi",name:"SearchAPI",icon:"search",color:"#0EA5A4",textIcon:"SA",website:"https://www.searchapi.io",notice:{apiKeyUrl:"https://www.searchapi.io/dashboard"},serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://www.searchapi.io/api/v1/search",method:"GET",authType:"apikey",authHeader:"api_key",costPerQuery:.004,freeMonthlyQuota:100,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},youcom:{id:"youcom",alias:"youcom",name:"You.com Search",icon:"search",color:"#7C3AED",textIcon:"YC",website:"https://you.com",notice:{apiKeyUrl:"https://api.you.com"},serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://ydc-index.io/v1/search",method:"GET",authType:"apikey",authHeader:"x-api-key",costPerQuery:.005,freeMonthlyQuota:0,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},firecrawl:{id:"firecrawl",alias:"firecrawl",name:"Firecrawl",icon:"local_fire_department",color:"#F59E0B",textIcon:"FC",website:"https://firecrawl.dev",notice:{apiKeyUrl:"https://www.firecrawl.dev/app/api-keys"},serviceKinds:["webFetch"],fetchConfig:{baseUrl:"https://api.firecrawl.dev/v1/scrape",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.002,freeMonthlyQuota:500,formats:["markdown","html","text"],maxCharacters:2e5,timeoutMs:3e4}},"fal-ai":{id:"fal-ai",alias:"fal",name:"Fal.ai",icon:"image",color:"#2563EB",textIcon:"FL",website:"https://fal.ai",notice:{apiKeyUrl:"https://fal.ai/dashboard/keys"},serviceKinds:["image"],imageConfig:{baseUrl:"https://api.fal.ai/v1/models?limit=1",method:"GET",authType:"apikey",authHeader:"key"}},"stability-ai":{id:"stability-ai",alias:"stability",name:"Stability AI",icon:"image",color:"#8B5CF6",textIcon:"SA",website:"https://stability.ai",notice:{apiKeyUrl:"https://platform.stability.ai/account/keys"},serviceKinds:["image"],imageConfig:{baseUrl:"https://api.stability.ai/v1/user/account",method:"GET",authType:"apikey",authHeader:"bearer"}},"black-forest-labs":{id:"black-forest-labs",alias:"bfl",name:"Black Forest Labs",icon:"image",color:"#111827",textIcon:"BF",website:"https://blackforestlabs.ai",notice:{apiKeyUrl:"https://api.bfl.ai"},serviceKinds:["image"],imageConfig:{baseUrl:"https://api.bfl.ai/v1/get_result?id=ping",method:"GET",authType:"apikey",authHeader:"x-key"}},recraft:{id:"recraft",alias:"recraft",name:"Recraft",icon:"image",color:"#EC4899",textIcon:"RC",website:"https://recraft.ai",notice:{apiKeyUrl:"https://www.recraft.ai/profile/api"},serviceKinds:["image"],imageConfig:{baseUrl:"https://external.api.recraft.ai/v1/users/me",method:"GET",authType:"apikey",authHeader:"bearer"}},topaz:{id:"topaz",alias:"topaz",name:"Topaz",icon:"image",color:"#059669",textIcon:"TP",website:"https://topazlabs.com",notice:{apiKeyUrl:"https://topazlabs.com/account"},serviceKinds:["image"]},runwayml:{id:"runwayml",alias:"runway",name:"Runway ML",icon:"movie",color:"#000000",textIcon:"RW",website:"https://runwayml.com",notice:{apiKeyUrl:"https://dev.runwayml.com"},serviceKinds:["image","video"],imageConfig:{baseUrl:"https://api.dev.runwayml.com/v1/organization",method:"GET",authType:"apikey",authHeader:"bearer",extraHeaders:{"X-Runway-Version":"2024-11-06"}}},"aws-polly":{id:"aws-polly",alias:"polly",name:"AWS Polly",icon:"record_voice_over",color:"#FF9900",textIcon:"PL",website:"https://aws.amazon.com/polly/",notice:{text:"Use AWS Secret Access Key as API key; set providerSpecificData.accessKeyId and optional region.",apiKeyUrl:"https://console.aws.amazon.com/iam/home#/security_credentials"},serviceKinds:["tts"],hasProviderSpecificData:!0,ttsConfig:{baseUrl:"https://polly.{region}.amazonaws.com/v1/speech",authType:"apikey",authHeader:"aws-sigv4",format:"aws-polly",models:[{id:"standard",name:"Standard"},{id:"neural",name:"Neural"},{id:"long-form",name:"Long-form"},{id:"generative",name:"Generative"}]}},"jina-ai":{id:"jina-ai",alias:"jina",name:"Jina AI",icon:"blur_on",color:"#2563EB",textIcon:"JA",website:"https://jina.ai",notice:{text:"10M free tokens on signup (non-commercial), no credit card required.",apiKeyUrl:"https://jina.ai/?sui=apikey"},serviceKinds:["embedding"],embeddingConfig:{baseUrl:"https://api.jina.ai/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"jina-embeddings-v3",name:"Jina Embeddings v3",dimensions:1024},{id:"jina-embeddings-v2-base-en",name:"Jina Embeddings v2 Base EN",dimensions:768},{id:"jina-embeddings-v2-base-code",name:"Jina Embeddings v2 Base Code",dimensions:768}]}},"jina-reader":{id:"jina-reader",alias:"jina",name:"Jina Reader",icon:"menu_book",color:"#000000",textIcon:"JR",website:"https://jina.ai/reader",notice:{apiKeyUrl:"https://jina.ai/?sui=apikey"},serviceKinds:["webFetch"],fetchConfig:{baseUrl:"https://r.jina.ai",method:"GET",authType:"apikey",authHeader:"bearer",costPerQuery:0,freeMonthlyQuota:1e6,formats:["markdown","text","html"],maxCharacters:2e5,timeoutMs:3e4}}},k={"grok-web":{id:"grok-web",alias:"gw",name:"Grok Web (Subscription)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"GW",website:"https://grok.com",authType:"cookie",authHint:"Paste your sso= cookie value from grok.com",passthroughModels:!0,serviceKinds:["llm"]},"perplexity-web":{id:"perplexity-web",alias:"pw",name:"Perplexity Web (Pro/Max)",icon:"search",color:"#20808D",textIcon:"PW",website:"https://www.perplexity.ai",authType:"cookie",authHint:"Paste your __Secure-next-auth.session-token cookie value from perplexity.ai",serviceKinds:["llm"]}},l="openai-compatible-",m="anthropic-compatible-",n="custom-embedding-",o="custom-image-";function p(a){return"string"==typeof a&&a.startsWith(l)}function q(a){return"string"==typeof a&&a.startsWith(m)}function r(a){return"string"==typeof a&&a.startsWith(n)}function s(a){return"string"==typeof a&&a.startsWith(o)}let t={...e,...f,...i,...j,...k};function u(a){for(let b of Object.values(t))if(b.alias===a||b.id===a)return b;return null}function v(a){let b=u(a);return b?.id||a}function w(a){let b=t[a];return b?.alias||a}let x=Object.values(t).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(t).reduce((a,b)=>(a[b.id]=b.alias,a),{});let y=["claude","antigravity","kiro","qoder","github","codex","kimi-coding","ollama","gemini-cli","glm","glm-cn","minimax","minimax-cn"],z=["glm","glm-cn","minimax","minimax-cn"]}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=5789,exports.ids=[5789],exports.modules={11259:(a,b,c)=>{c.d(b,{Pv:()=>k}),c(73024);var d=c(51455),e=c(76760),f=c(73136);async function g(a,b,c){for(let d=0;d<b;d++)try{return await a()}catch(a){if(d<b-1)await new Promise(a=>setTimeout(a,c));else throw a}}class h{#a;#b;#c=!1;#d=null;#e=null;#f=null;#g=null;#h(a){return this.#g=a,this.#f||=new Promise((a,b)=>{this.#e=[a,b]}),new Promise((a,b)=>{this.#f?.then(a).catch(b)})}async #i(a){this.#c=!0;try{await (0,d.writeFile)(this.#b,a,"utf-8"),await g(async()=>{await (0,d.rename)(this.#b,this.#a)},10,100),this.#d?.[0]()}catch(a){throw a instanceof Error&&this.#d?.[1](a),a}finally{if(this.#c=!1,this.#d=this.#e,this.#e=this.#f=null,null!==this.#g){let a=this.#g;this.#g=null,await this.write(a)}}}constructor(a){this.#a=a,this.#b=function(a){let b=a instanceof URL?(0,f.fileURLToPath)(a):a.toString();return(0,e.join)((0,e.dirname)(b),`.${(0,e.basename)(b)}.tmp`)}(a)}async write(a){return this.#c?this.#h(a):this.#i(a)}}class i{#a;#j;constructor(a){this.#a=a,this.#j=new h(a)}async read(){let a;try{a=await (0,d.readFile)(this.#a,"utf-8")}catch(a){if("ENOENT"===a.code)return null;throw a}return a}write(a){return this.#j.write(a)}}class j{#k;#l;#m;constructor(a,{parse:b,stringify:c}){this.#k=new i(a),this.#l=b,this.#m=c}async read(){let a=await this.#k.read();return null===a?null:this.#l(a)}write(a){return this.#k.write(this.#m(a))}}class k extends j{constructor(a){super(a,{parse:JSON.parse,stringify:a=>JSON.stringify(a,null,2)})}}},37221:(a,b,c)=>{let d;c.d(b,{RD:()=>p});var e=c(99129),f=c(89419),g=c(19035);function h(a){return(0,g.Gv)(a)}class i{#n;#o=new WeakMap;constructor(a){if(!function(a){return a&&"object"==typeof a&&Array.isArray(a.keys)&&a.keys.every(h)}(a))throw new e.Dm("JSON Web Key Set malformed");this.#n=structuredClone(a)}jwks(){return this.#n}async getKey(a,b){let{alg:c,kid:d}={...a,...b?.header},f=function(a){switch("string"==typeof a&&a.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";case"ML":return"AKP";default:throw new e.T0('Unsupported "alg" value for a JSON Web Key Set')}}(c),g=this.#n.keys.filter(a=>{let b=f===a.kty;if(b&&"string"==typeof d&&(b=d===a.kid),b&&("string"==typeof a.alg||"AKP"===f)&&(b=c===a.alg),b&&"string"==typeof a.use&&(b="sig"===a.use),b&&Array.isArray(a.key_ops)&&(b=a.key_ops.includes("verify")),b)switch(c){case"ES256":b="P-256"===a.crv;break;case"ES384":b="P-384"===a.crv;break;case"ES512":b="P-521"===a.crv;break;case"Ed25519":case"EdDSA":b="Ed25519"===a.crv}return b}),{0:h,length:i}=g;if(0===i)throw new e.BT;if(1!==i){let a=new e.$4,b=this.#o;throw a[Symbol.asyncIterator]=async function*(){for(let a of g)try{yield await j(b,a,c)}catch{}},a}return j(this.#o,h,c)}}async function j(a,b,c){let d=a.get(b)||a.set(b,{}).get(b);if(void 0===d[c]){let a=await (0,f.Og)({...b,ext:!0},c);if(a instanceof Uint8Array||"public"!==a.type)throw new e.Dm("JSON Web Key Set members must be public keys");d[c]=a}return d[c]}function k(a){let b=new i(a),c=async(a,c)=>b.getKey(a,c);return Object.defineProperties(c,{jwks:{value:()=>structuredClone(b.jwks()),enumerable:!1,configurable:!1,writable:!1}}),c}("u"<typeof navigator||!navigator.userAgent?.startsWith?.("Mozilla/5.0 "))&&(d="jose/v6.2.3");let l=Symbol();async function m(a,b,c,d=fetch){let f=await d(a,{method:"GET",signal:c,redirect:"manual",headers:b}).catch(a=>{if("TimeoutError"===a.name)throw new e.xb;throw a});if(200!==f.status)throw new e.i4("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await f.json()}catch{throw new e.i4("Failed to parse the JSON Web Key Set HTTP response as JSON")}}let n=Symbol();class o{#p;#q;#r;#s;#t;#u;#v;#w;#x;#y;constructor(a,b){if(!(a instanceof URL))throw TypeError("url must be an instance of URL");this.#p=new URL(a.href),this.#q="number"==typeof b?.timeoutDuration?b?.timeoutDuration:5e3,this.#r="number"==typeof b?.cooldownDuration?b?.cooldownDuration:3e4,this.#s="number"==typeof b?.cacheMaxAge?b?.cacheMaxAge:6e5,this.#v=new Headers(b?.headers),d&&!this.#v.has("User-Agent")&&this.#v.set("User-Agent",d),this.#v.has("accept")||(this.#v.set("accept","application/json"),this.#v.append("accept","application/jwk-set+json")),this.#w=b?.[l],b?.[n]!==void 0&&(this.#y=b?.[n],function(a,b){return!("object"!=typeof a||null===a||!("uat"in a)||"number"!=typeof a.uat||Date.now()-a.uat>=b)&&"jwks"in a&&!!(0,g.Gv)(a.jwks)&&!!Array.isArray(a.jwks.keys)&&!!Array.prototype.every.call(a.jwks.keys,g.Gv)}(b?.[n],this.#s)&&(this.#t=this.#y.uat,this.#x=k(this.#y.jwks)))}pendingFetch(){return!!this.#u}coolingDown(){return"number"==typeof this.#t&&Date.now()<this.#t+this.#r}fresh(){return"number"==typeof this.#t&&Date.now()<this.#t+this.#s}jwks(){return this.#x?.jwks()}async getKey(a,b){this.#x&&this.fresh()||await this.reload();try{return await this.#x(a,b)}catch(c){if(c instanceof e.BT&&!1===this.coolingDown())return await this.reload(),this.#x(a,b);throw c}}async reload(){this.#u&&("u">typeof WebSocketPair||"u">typeof navigator&&"Cloudflare-Workers"===navigator.userAgent||"u">typeof EdgeRuntime&&"vercel"===EdgeRuntime)&&(this.#u=void 0),this.#u||=m(this.#p.href,this.#v,AbortSignal.timeout(this.#q),this.#w).then(a=>{this.#x=k(a),this.#y&&(this.#y.uat=Date.now(),this.#y.jwks=a),this.#t=Date.now(),this.#u=void 0}).catch(a=>{throw this.#u=void 0,a}),await this.#u}}function p(a,b){let c=new o(a,b),d=async(a,b)=>c.getKey(a,b);return Object.defineProperties(d,{coolingDown:{get:()=>c.coolingDown(),enumerable:!0,configurable:!1},fresh:{get:()=>c.fresh(),enumerable:!0,configurable:!1},reload:{value:()=>c.reload(),enumerable:!0,configurable:!1,writable:!1},reloading:{get:()=>c.pendingFetch(),enumerable:!0,configurable:!1},jwks:{value:()=>c.jwks(),enumerable:!0,configurable:!1,writable:!1}}),d}},69614:(a,b,c)=>{c.d(b,{V:()=>p});var d=c(88888),e=c(91356),f=c(99129),g=c(73575),h=c(41570),i=c(19035),j=c(24762),k=c(80308),l=c(11980);async function m(a,b,c){if(!(0,i.Gv)(a))throw new f.Ye("Flattened JWS must be an object");if(void 0===a.protected&&void 0===a.header)throw new f.Ye('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==a.protected&&"string"!=typeof a.protected)throw new f.Ye("JWS Protected Header incorrect type");if(void 0===a.payload)throw new f.Ye("JWS Payload missing");if("string"!=typeof a.signature)throw new f.Ye("JWS Signature missing or incorrect type");if(void 0!==a.header&&!(0,i.Gv)(a.header))throw new f.Ye("JWS Unprotected Header incorrect type");let m={};if(a.protected)try{let b=(0,d.D)(a.protected);m=JSON.parse(g.D0.decode(b))}catch{throw new f.Ye("JWS Protected Header is invalid")}if(!(0,i.fz)(m,a.header))throw new f.Ye("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...m,...a.header},o=(0,k.n)(f.Ye,new Map([["b64",!0]]),c?.crit,m,n),p=!0;if(o.has("b64")&&"boolean"!=typeof(p=m.b64))throw new f.Ye('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:q}=n;if("string"!=typeof q||!q)throw new f.Ye('JWS "alg" (Algorithm) Header Parameter missing or invalid');let r=c&&function(a,b){if(void 0!==b&&(!Array.isArray(b)||b.some(a=>"string"!=typeof a)))throw TypeError(`"${a}" option must be an array of strings`);if(b)return new Set(b)}("algorithms",c.algorithms);if(r&&!r.has(q))throw new f.Rb('"alg" (Algorithm) Header Parameter value not allowed');if(p){if("string"!=typeof a.payload)throw new f.Ye("JWS Payload must be a string")}else if("string"!=typeof a.payload&&!(a.payload instanceof Uint8Array))throw new f.Ye("JWS Payload must be a string or an Uint8Array instance");let s=!1;"function"==typeof b&&(b=await b(m,a),s=!0),(0,j.y)(q,b,"verify");let t=(0,g.xW)(void 0!==a.protected?(0,g.lF)(a.protected):new Uint8Array,(0,g.lF)("."),"string"==typeof a.payload?p?(0,g.lF)(a.payload):g.Rd.encode(a.payload):a.payload),u=(0,h.h2)(a.signature,"signature",f.Ye),v=await (0,l.l)(b,q);if(!await (0,e.MX)(q,v,u,t))throw new f.h2;let w={payload:p?(0,h.h2)(a.payload,"payload",f.Ye):"string"==typeof a.payload?g.Rd.encode(a.payload):a.payload};return(void 0!==a.protected&&(w.protectedHeader=m),void 0!==a.header&&(w.unprotectedHeader=a.header),s)?{...w,key:v}:w}async function n(a,b,c){if(a instanceof Uint8Array&&(a=g.D0.decode(a)),"string"!=typeof a)throw new f.Ye("Compact JWS must be a string or Uint8Array");let{0:d,1:e,2:h,length:i}=a.split(".");if(3!==i)throw new f.Ye("Invalid Compact JWS");let j=await m({payload:e,protected:d,signature:h},b,c),k={payload:j.payload,protectedHeader:j.protectedHeader};return"function"==typeof b?{...k,key:j.key}:k}var o=c(17347);async function p(a,b,c){let d=await n(a,b,c);if(d.protectedHeader.crit?.includes("b64")&&!1===d.protectedHeader.b64)throw new f.Dp("JWTs MUST NOT use unencoded payload");let e={payload:(0,o.k6)(d.protectedHeader,d.payload,c),protectedHeader:d.protectedHeader};return"function"==typeof b?{...e,key:d.key}:e}},82996:(a,b,c)=>{c.d(b,{t:()=>d});class d{adapter;data;constructor(a,b){!function(a,b){if(void 0===a)throw Error("lowdb: missing adapter");if(void 0===b)throw Error("lowdb: missing default data")}(a,b),this.adapter=a,this.data=b}async read(){let a=await this.adapter.read();a&&(this.data=a)}async write(){this.data&&await this.adapter.write(this.data)}async update(a){a(this.data),await this.write()}}},86935:(a,b,c)=>{c.d(b,{P:()=>p});var d=c(88888),e=c(91356),f=c(19035),g=c(99129),h=c(73575),i=c(24762),j=c(80308),k=c(11980),l=c(41570);class m{#z;#A;#B;constructor(a){if(!(a instanceof Uint8Array))throw TypeError("payload must be an instance of Uint8Array");this.#z=a}setProtectedHeader(a){return(0,l.ac)(this.#A,"setProtectedHeader"),this.#A=a,this}setUnprotectedHeader(a){return(0,l.ac)(this.#B,"setUnprotectedHeader"),this.#B=a,this}async sign(a,b){let c,l,m,n;if(!this.#A&&!this.#B)throw new g.Ye("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!(0,f.fz)(this.#A,this.#B))throw new g.Ye("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let o={...this.#A,...this.#B},p=(0,j.n)(g.Ye,new Map([["b64",!0]]),b?.crit,this.#A,o),q=!0;if(p.has("b64")&&"boolean"!=typeof(q=this.#A.b64))throw new g.Ye('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:r}=o;if("string"!=typeof r||!r)throw new g.Ye('JWS "alg" (Algorithm) Header Parameter missing or invalid');(0,i.y)(r,a,"sign"),q?(c=(0,d.l)(this.#z),l=(0,h.lF)(c)):(l=this.#z,c=""),this.#A?(m=(0,d.l)(JSON.stringify(this.#A)),n=(0,h.lF)(m)):(m="",n=new Uint8Array);let s=(0,h.xW)(n,(0,h.lF)("."),l),t=await (0,k.l)(a,r),u=await (0,e._S)(r,t,s),v={signature:(0,d.l)(u),payload:c};return this.#B&&(v.header=this.#B),this.#A&&(v.protected=m),v}}class n{#C;constructor(a){this.#C=new m(a)}setProtectedHeader(a){return this.#C.setProtectedHeader(a),this}async sign(a,b){let c=await this.#C.sign(a,b);if(void 0===c.payload)throw TypeError("use the flattened module for creating JWS with b64: false");return`${c.protected}.${c.payload}.${c.signature}`}}var o=c(17347);class p{#A;#D;constructor(a={}){this.#D=new o.cE(a)}setIssuer(a){return this.#D.iss=a,this}setSubject(a){return this.#D.sub=a,this}setAudience(a){return this.#D.aud=a,this}setJti(a){return this.#D.jti=a,this}setNotBefore(a){return this.#D.nbf=a,this}setExpirationTime(a){return this.#D.exp=a,this}setIssuedAt(a){return this.#D.iat=a,this}setProtectedHeader(a){return this.#A=a,this}async sign(a,b){let c=new n(this.#D.data());if(c.setProtectedHeader(this.#A),Array.isArray(this.#A?.crit)&&this.#A.crit.includes("b64")&&!1===this.#A.b64)throw new g.Dp("JWTs MUST NOT use unencoded payload");return c.sign(a,b)}}},89419:(a,b,c)=>{c.d(b,{Og:()=>o,Lf:()=>n});var d=c(88888),e=c(88360),f=c(99129);let g=(a,b)=>{if(a.byteLength!==b.length)return!1;for(let c=0;c<a.byteLength;c++)if(a[c]!==b[c])return!1;return!0},h=a=>{let b=a.data[a.pos++];if(128&b){let c=127&b,d=0;for(let b=0;b<c;b++)d=d<<8|a.data[a.pos++];return d}return b},i=(a,b,c)=>{if(a.data[a.pos++]!==b)throw Error(c)},j=(a,b)=>{let c=a.data.subarray(a.pos,a.pos+b);return a.pos+=b,c},k=async(a,b,c,d)=>{let e,g,h="spki"===a,i=()=>h?["verify"]:["sign"];switch(c){case"PS256":case"PS384":case"PS512":e={name:"RSA-PSS",hash:`SHA-${c.slice(-3)}`},g=i();break;case"RS256":case"RS384":case"RS512":e={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${c.slice(-3)}`},g=i();break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":e={name:"RSA-OAEP",hash:`SHA-${parseInt(c.slice(-3),10)||1}`},g=h?["encrypt","wrapKey"]:["decrypt","unwrapKey"];break;case"ES256":case"ES384":case"ES512":e={name:"ECDSA",namedCurve:({ES256:"P-256",ES384:"P-384",ES512:"P-521"})[c]},g=i();break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":try{let a=d.getNamedCurve(b);e="X25519"===a?{name:"X25519"}:{name:"ECDH",namedCurve:a}}catch(a){throw new f.T0("Invalid or unsupported key format")}g=h?[]:["deriveBits"];break;case"Ed25519":case"EdDSA":e={name:"Ed25519"},g=i();break;case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":e={name:c},g=i();break;default:throw new f.T0('Invalid or unsupported "alg" (Algorithm) value')}return crypto.subtle.importKey(a,b,e,d?.extractable??!!h,g)};var l=c(88783),m=c(19035);async function n(a,b,c){let d,f,l;if("string"!=typeof a||0!==a.indexOf("-----BEGIN PRIVATE KEY-----"))throw TypeError('"pkcs8" must be PKCS#8 formatted string');return d=/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,f=(0,e.y)(a.replace(d,"")),l=c,b?.startsWith?.("ECDH-ES")&&((l||={}).getNamedCurve=a=>{let b,c={data:a,pos:0};return i(c,48,"Invalid PKCS#8 structure"),h(c),i(c,2,"Expected version field"),b=h(c),c.pos+=b,i(c,48,"Expected algorithm identifier"),h(c),c.pos,(a=>{let b,c=(i(a,6,"Expected algorithm OID"),b=h(a),j(a,b));if(g(c,[43,101,110]))return"X25519";if(!g(c,[42,134,72,206,61,2,1]))throw Error("Unsupported key algorithm");i(a,6,"Expected curve OID");let d=h(a),e=j(a,d);for(let{name:a,oid:b}of[{name:"P-256",oid:[42,134,72,206,61,3,1,7]},{name:"P-384",oid:[43,129,4,0,34]},{name:"P-521",oid:[43,129,4,0,35]}])if(g(e,b))return a;throw Error("Unsupported named curve")})(c)}),k("pkcs8",f,b,l)}async function o(a,b,c){let e;if(!(0,m.Gv)(a))throw TypeError("JWK must be an object");switch(b??=a.alg,e??=c?.extractable??a.ext,a.kty){case"oct":if("string"!=typeof a.k||!a.k)throw TypeError('missing "k" (Key Value) Parameter value');return(0,d.D)(a.k);case"RSA":if("oth"in a&&void 0!==a.oth)throw new f.T0('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');return(0,l.x)({...a,alg:b,ext:e});case"AKP":if("string"!=typeof a.alg||!a.alg)throw TypeError('missing "alg" (Algorithm) Parameter value');if(void 0!==b&&b!==a.alg)throw TypeError("JWK alg and alg option value mismatch");return(0,l.x)({...a,ext:e});case"EC":case"OKP":return(0,l.x)({...a,alg:b,ext:e});default:throw new f.T0('Unsupported "kty" (Key Type) Parameter value')}}}};
|