@rsalmn/extremerouter 0.7.2 → 0.7.3
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/app/.next-cli-build/BUILD_ID +1 -1
- package/app/.next-cli-build/app-path-routes-manifest.json +3 -3
- package/app/.next-cli-build/build-manifest.json +2 -2
- package/app/.next-cli-build/prerender-manifest.json +3 -459
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/alerts/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/alerts/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/alerts/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/health/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/health/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/overview/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/overview/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/overview/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/swarm/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/swarm/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/swarm/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error/page.js +2 -2
- package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error.html +1 -1
- package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
- package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_not-found.html +1 -1
- package/app/.next-cli-build/server/app/_not-found.rsc +5 -5
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/api/alerts/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cache/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +3 -3
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/health/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/health/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/freebuff-profile/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/health-timeline/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/qwencloud-profile/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/v0-profile/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/vault-pool/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/zenmux-plans/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/swarm/active/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/swarm/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/meta/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/retry-stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page.js +1 -1
- package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/callback.html +1 -1
- package/app/.next-cli-build/server/app/callback.rsc +5 -5
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/index.html +1 -1
- package/app/.next-cli-build/server/app/index.rsc +5 -5
- package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing/page.js +2 -2
- package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/landing.html +1 -1
- package/app/.next-cli-build/server/app/landing.rsc +5 -5
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login/page.js +2 -2
- package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/login.html +1 -1
- package/app/.next-cli-build/server/app/login.rsc +6 -6
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page.js +2 -2
- package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app-paths-manifest.json +3 -3
- package/app/.next-cli-build/server/chunks/1350.js +1 -1
- package/app/.next-cli-build/server/chunks/1719.js +1 -1
- package/app/.next-cli-build/server/chunks/2231.js +1 -1
- package/app/.next-cli-build/server/chunks/318.js +2 -2
- package/app/.next-cli-build/server/chunks/319.js +3 -3
- package/app/.next-cli-build/server/chunks/{2391.js → 4013.js} +1 -1
- package/app/.next-cli-build/server/chunks/412.js +1 -1
- package/app/.next-cli-build/server/chunks/42.js +1 -0
- package/app/.next-cli-build/server/chunks/5612.js +1 -1
- package/app/.next-cli-build/server/chunks/6316.js +2 -2
- package/app/.next-cli-build/server/chunks/6591.js +1 -0
- package/app/.next-cli-build/server/chunks/788.js +1 -1
- package/app/.next-cli-build/server/chunks/8238.js +1 -1
- package/app/.next-cli-build/server/chunks/8881.js +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/pages/404.html +1 -1
- package/app/.next-cli-build/server/pages/500.html +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
- package/app/.next-cli-build/static/chunks/{1321-767de793890bdf8c.js → 1321-118ecb4341892b2c.js} +1 -1
- package/app/.next-cli-build/static/chunks/{5497-09625960ec618fe0.js → 5497-d21171ba9c9fbb8d.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/playground/page-ba165a4326051b21.js +1 -0
- package/app/.next-cli-build/static/css/f99fd82ccc97a1ed.css +1 -0
- package/app/cli/.build-home/AppData/Roaming/extremerouter/db/data.sqlite-shm +0 -0
- package/app/cli/.build-home/AppData/Roaming/extremerouter/db/data.sqlite-wal +0 -0
- package/app/package.json +1 -1
- package/package.json +1 -1
- package/app/.next-cli-build/server/app/dashboard/alerts.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/alerts.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/alerts.rsc +0 -25
- package/app/.next-cli-build/server/app/dashboard/alerts.segments/!KGRhc2hib2FyZCk/dashboard/alerts/__PAGE__.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/alerts.segments/!KGRhc2hib2FyZCk/dashboard/alerts.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/alerts.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/alerts.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/alerts.segments/_full.segment.rsc +0 -25
- package/app/.next-cli-build/server/app/dashboard/alerts.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/alerts.segments/_index.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/alerts.segments/_tree.segment.rsc +0 -3
- package/app/.next-cli-build/server/app/dashboard/basic-chat.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +0 -22
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +0 -22
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +0 -3
- package/app/.next-cli-build/server/app/dashboard/cli-tools.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +0 -23
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +0 -23
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +0 -3
- package/app/.next-cli-build/server/app/dashboard/combos.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/combos.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/combos.rsc +0 -25
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +0 -25
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +0 -3
- package/app/.next-cli-build/server/app/dashboard/endpoint.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +0 -23
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +0 -23
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +0 -3
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.meta +0 -18
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +0 -25
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +0 -25
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +0 -3
- package/app/.next-cli-build/server/app/dashboard/mitm.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/mitm.rsc +0 -22
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +0 -22
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +0 -3
- package/app/.next-cli-build/server/app/dashboard/overview.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/overview.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/overview.rsc +0 -22
- package/app/.next-cli-build/server/app/dashboard/overview.segments/!KGRhc2hib2FyZCk/dashboard/overview/__PAGE__.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/overview.segments/!KGRhc2hib2FyZCk/dashboard/overview.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/overview.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/overview.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/overview.segments/_full.segment.rsc +0 -22
- package/app/.next-cli-build/server/app/dashboard/overview.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/overview.segments/_index.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/overview.segments/_tree.segment.rsc +0 -3
- package/app/.next-cli-build/server/app/dashboard/playground.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/playground.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/playground.rsc +0 -22
- package/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground/__PAGE__.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/playground.segments/_full.segment.rsc +0 -22
- package/app/.next-cli-build/server/app/dashboard/playground.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/playground.segments/_index.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/playground.segments/_tree.segment.rsc +0 -3
- package/app/.next-cli-build/server/app/dashboard/profile.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/profile.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/profile.rsc +0 -25
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +0 -25
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +0 -3
- package/app/.next-cli-build/server/app/dashboard/providers/new.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.meta +0 -18
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +0 -25
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +0 -25
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +0 -3
- package/app/.next-cli-build/server/app/dashboard/providers.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/providers.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/providers.rsc +0 -25
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +0 -25
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +0 -3
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +0 -25
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +0 -25
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +0 -3
- package/app/.next-cli-build/server/app/dashboard/quota.html +0 -2
- package/app/.next-cli-build/server/app/dashboard/quota.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/quota.rsc +0 -23
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +0 -7
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +0 -23
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +0 -3
- package/app/.next-cli-build/server/app/dashboard/skills.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/skills.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/skills.rsc +0 -25
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +0 -25
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +0 -3
- package/app/.next-cli-build/server/app/dashboard/token-saver.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +0 -22
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +0 -22
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +0 -3
- package/app/.next-cli-build/server/app/dashboard/translator.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/translator.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/translator.rsc +0 -25
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +0 -25
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +0 -3
- package/app/.next-cli-build/server/app/dashboard/usage.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/usage.meta +0 -17
- package/app/.next-cli-build/server/app/dashboard/usage.rsc +0 -26
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +0 -10
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +0 -26
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +0 -4
- package/app/.next-cli-build/server/app/dashboard.html +0 -1
- package/app/.next-cli-build/server/app/dashboard.meta +0 -16
- package/app/.next-cli-build/server/app/dashboard.rsc +0 -23
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -5
- package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +0 -23
- package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +0 -6
- package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +0 -9
- package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +0 -3
- package/app/.next-cli-build/server/chunks/4306.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/playground/page-f83681329e5612b2.js +0 -1
- package/app/.next-cli-build/static/css/5dcaa119b622f73a.css +0 -1
- /package/app/.next-cli-build/static/{zG5Y3KIUIUTgefLUSHfaI → 3gc9MPTw0g8Wf0FjVPWJh}/_buildManifest.js +0 -0
- /package/app/.next-cli-build/static/{zG5Y3KIUIUTgefLUSHfaI → 3gc9MPTw0g8Wf0FjVPWJh}/_ssgManifest.js +0 -0
- /package/app/cli/.build-home/AppData/Roaming/extremerouter/db/backups/{upgrade-0.6.7-to-0.6.8-0.6.8-20260712-041517 → upgrade-0.7.1-to-0.7.2-0.7.2-20260718-105318}/data.sqlite +0 -0
|
@@ -8,4 +8,4 @@ sk-key-only-auto-named`;function C({isOpen:a,provider:b,providerName:c,isCompati
|
|
|
8
8
|
"idToken": "eyJhbGc...",
|
|
9
9
|
"email": "user@example.com"
|
|
10
10
|
}
|
|
11
|
-
]`;function G({isOpen:a,onClose:b,onSuccess:c}){let[f,g]=(0,e.useState)(""),[h,i]=(0,e.useState)(!1),[k,l]=(0,e.useState)(""),[m,n]=(0,e.useState)(null),p=()=>{h||(g(""),l(""),n(null),b())},q=async()=>{var a;let b;l(""),n(null);let d=f.trim();if(!d)return;try{b=JSON.parse(d)}catch(a){l(`${(0,o.Tl)("Invalid JSON")}: ${a.message}`);return}let e=Array.isArray(a=b)?a:a&&"object"==typeof a?Array.isArray(a.accounts)?a.accounts:[a]:null;if(!e||0===e.length)return void l((0,o.Tl)("No accounts found in input"));i(!0);try{let a=await fetch("/api/oauth/codex/bulk-import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({accounts:e})}),b=await a.json();if(!a.ok)return void l(b?.error||`Request failed: ${a.status}`);n(b),b.success>0&&"function"==typeof c&&c()}catch(a){l(a.message||(0,o.Tl)("Request failed"))}finally{i(!1)}},r=m?.results?.filter(a=>!a.ok)||[];return(0,d.jsx)(j.aF,{isOpen:a,title:(0,o.Tl)("Bulk Add Codex Accounts"),onClose:p,children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)("p",{className:"text-xs text-text-muted",children:(0,o.Tl)("Paste an array of codex account JSON objects. Each must include accessToken (and ideally refreshToken, idToken).")}),(0,d.jsx)("textarea",{className:"w-full rounded border border-accent/30 bg-sidebar p-2 text-sm font-mono resize-y min-h-[240px] focus:outline-none focus:ring-1 focus:ring-primary",placeholder:F,value:f,onChange:a=>g(a.target.value),disabled:h}),k&&(0,d.jsx)("p",{className:"text-xs text-red-500 break-words",children:k}),m&&(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsxs)("div",{className:`text-sm font-medium ${m.failed>0?"text-yellow-400":"text-green-400"}`,children:["✓ ",m.success," ",(0,o.Tl)("added"),m.failed>0?`, ✗ ${m.failed} ${(0,o.Tl)("failed")}`:""]}),r.length>0&&(0,d.jsx)("ul",{className:"rounded border border-accent/20 bg-sidebar/50 p-2 text-xs font-mono max-h-40 overflow-y-auto",children:r.map(a=>(0,d.jsxs)("li",{className:"text-red-400",children:["[",a.index,"] ",a.error]},a.index))})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(j.$n,{onClick:q,fullWidth:!0,disabled:h||!f.trim(),children:h?(0,o.Tl)("Importing..."):(0,o.Tl)("Import All")}),(0,d.jsx)(j.$n,{onClick:p,variant:"ghost",fullWidth:!0,disabled:h,children:(0,o.Tl)("Close")})]})]})})}G.propTypes={isOpen:s().bool.isRequired,onClose:s().func.isRequired,onSuccess:s().func};let H={healthy:{variant:"success",label:"Pool healthy",icon:"shield"},degraded:{variant:"warning",label:"Pool degraded",icon:"warning"},exhausted:{variant:"error",label:"Pool exhausted",icon:"error"}};function I({providerId:a}){let[b,c]=(0,e.useState)(null);if(!b||!b.hasPool)return null;let f=H[b.status]||H.healthy;return(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",title:"Admin-provided shared key pool. Keys are hidden; only counts are shown.",children:[(0,d.jsx)(j.Ex,{variant:f.variant,size:"sm",icon:f.icon,children:f.label}),(0,d.jsxs)(j.Ex,{variant:"info",size:"sm",icon:"key",children:[b.total," pool keys"]}),(0,d.jsxs)(j.Ex,{variant:"success",size:"sm",icon:"check_circle",children:[b.available," available"]}),b.rateLimited>0&&(0,d.jsxs)(j.Ex,{variant:"warning",size:"sm",icon:"schedule",children:[b.rateLimited," cooling"]})]})}function J({connectionId:a,cookie:b,currentPlan:c="free",onPlanChanged:f}){let g,[h,i]=(0,e.useState)([]),[k,l]=(0,e.useState)(c),[m,n]=(0,e.useState)(null),[o,p]=(0,e.useState)(!1),[q,r]=(0,e.useState)(!1),[s,t]=(0,e.useState)(null);g=String(b||"").match(/ctoken=([^;]+)/),g?.[1];let u=async b=>{let d=b.target.value;l(d),r(!0),t(null);try{if(!(await fetch(`/api/providers/${a}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({providerSpecificData:{zenmuxPlan:d}})})).ok)throw Error("Failed to save plan");f?.(d)}catch(a){t(a.message),l(c)}finally{r(!1)}},v=m&&m===k;return 0===h.length?(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"text-xs text-text-muted font-medium",children:"ZenMux Plan"}),(0,d.jsx)("select",{value:k,onChange:u,disabled:!0,className:"appearance-none rounded-brand border border-border bg-surface-2 py-1.5 pl-3 pr-8 text-xs text-text-muted [-webkit-appearance:none] [-moz-appearance:none]",children:(0,d.jsxs)("option",{value:k,children:[k," (loading…)"]})})]}):(0,d.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)("span",{className:"text-xs text-text-muted font-medium",children:"ZenMux Plan"}),(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("select",{value:k,onChange:u,disabled:q,title:"Select your ZenMux subscription plan. Models from this plan will be available.",className:"appearance-none rounded-brand border border-border bg-surface-2 py-1.5 pl-3 pr-8 text-xs text-text-main [-webkit-appearance:none] [-moz-appearance:none] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/35 disabled:opacity-50",children:h.map(a=>(0,d.jsxs)("option",{value:a.planKey,children:[a.name," (",a.modelCount," models",a.price>0?`, $${a.price}/mo`:", free",")"]},a.planKey))}),(0,d.jsx)("span",{className:"pointer-events-none absolute inset-y-0 right-0 flex items-center pr-2 text-text-muted",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"expand_more"})})]}),o&&(0,d.jsx)(j.Ex,{variant:"info",size:"sm",children:"Detecting…"}),v&&!o&&(0,d.jsx)(j.Ex,{variant:"success",size:"sm",icon:"check_circle",dot:!0,children:"Auto-detected"}),q&&(0,d.jsx)(j.Ex,{variant:"info",size:"sm",children:"Saving…"}),s&&(0,d.jsx)(j.Ex,{variant:"error",size:"sm",icon:"error",children:s})]}),(0,d.jsx)("p",{className:"text-[11px] text-text-muted",children:m?`Plan auto-detected from your ctoken: ${m}. You can override manually if needed.`:"Select your ZenMux subscription plan. Models available depend on your plan."})]})}function K({providerId:a,hours:b=24}){let[c,f]=(0,e.useState)(null);if(!c)return(0,d.jsxs)("div",{className:"flex items-center gap-2 text-xs text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px] animate-pulse",children:"monitor_heart"}),"Loading health timeline..."]});if(0===c.length||c.every(a=>0===a.ok&&0===a.err))return(0,d.jsxs)("div",{className:"flex items-center gap-2 text-xs text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"monitor_heart"}),"No request history yet."]});let g=c.length,h=c.reduce((a,b)=>a+b.ok+b.err,0),i=c.reduce((a,b)=>a+b.err,0),j=Math.max(...c.map(a=>a.ok+a.err),1),k=Math.max(...c.map(a=>a.latency),1),l=Math.max(6*g,120),m=Math.max(l/g-1,2),n=c.filter(a=>a.latency>0).map((a,b)=>{let c=b/Math.max(g-1,1)*l,d=32-a.latency/k*19.2-2;return`${c.toFixed(1)},${d.toFixed(1)}`}),o=n.length>1?`M${n.join(" L")}`:"",p=h>0?Math.round((h-i)/h*100):null;return(0,d.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-medium text-text-muted",children:"Health (24h)"}),null!==p&&(0,d.jsxs)("span",{className:`text-[10px] font-bold ${p>=90?"text-success":p>=70?"text-warning":"text-danger"}`,children:[p,"% success \xb7 ",h," requests \xb7 ",i," errors"]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2 text-[10px] text-text-muted",children:[(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)("span",{className:"inline-block size-2 rounded-sm bg-success"})," OK"]}),(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)("span",{className:"inline-block size-2 rounded-sm bg-danger"})," Error"]}),(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)("span",{className:"inline-block h-0.5 w-3 bg-info"})," Latency"]})]})]}),(0,d.jsxs)("svg",{width:l,height:32,className:"overflow-visible",children:[c.map((a,b)=>{let c=l/g*b;if(0===a.ok+a.err)return null;let e=a.ok/j*32,f=a.err/j*32;return(0,d.jsxs)("g",{children:[(0,d.jsx)("rect",{x:c,y:32-e-f,width:m,height:f,rx:.5,className:"fill-danger/60"}),(0,d.jsx)("rect",{x:c,y:32-e,width:m,height:e,rx:.5,className:"fill-success/60"})]},b)}),o&&(0,d.jsx)("path",{d:o,fill:"none",strokeWidth:1,className:"stroke-info",strokeDasharray:"2 2"})]})]})}function L({connectionId:a}){let[b,c]=(0,e.useState)(null),[f,g]=(0,e.useState)(!0);if(f)return(0,d.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-border-subtle bg-surface-2/50 px-3 py-2",children:[(0,d.jsx)("div",{className:"size-8 animate-pulse rounded-full bg-sidebar"}),(0,d.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,d.jsx)("div",{className:"h-3 w-32 animate-pulse rounded bg-sidebar"}),(0,d.jsx)("div",{className:"h-2 w-48 animate-pulse rounded bg-sidebar"})]})]});if(!b)return null;let h=b.expires?new Date(b.expires):null,i=h?Math.ceil((h.getTime()-Date.now())/864e5):null,k=null!==i&&i<=3;return(0,d.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-border-subtle bg-surface-2/50 px-3 py-2",children:[b.image?(0,d.jsx)("img",{src:b.image,alt:b.name,className:"size-9 rounded-full object-cover ring-2 ring-border-subtle"}):(0,d.jsx)("div",{className:"flex size-9 items-center justify-center rounded-full bg-primary/10 text-sm font-bold text-primary",children:b.name?.charAt(0)?.toUpperCase()||"F"}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("p",{className:"truncate text-sm font-medium text-text-main",children:b.name}),b.email&&(0,d.jsx)("span",{className:"truncate text-xs text-text-muted",children:b.email})]}),h&&(0,d.jsxs)("div",{className:"mt-0.5 flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[12px] text-text-muted",children:"schedule"}),(0,d.jsxs)("span",{className:"text-[11px] text-text-muted",children:["Session expires ",h.toLocaleDateString()]}),null!==i&&(0,d.jsxs)(j.Ex,{variant:k?"warning":"success",size:"sm",children:[i,"d left"]})]})]})]})}function M({connectionId:a}){let[b,c]=(0,e.useState)(null),[f,g]=(0,e.useState)(!0);if(f)return(0,d.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-border-subtle bg-surface-2/50 px-3 py-2",children:[(0,d.jsx)("div",{className:"size-8 animate-pulse rounded-full bg-sidebar"}),(0,d.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,d.jsx)("div",{className:"h-3 w-32 animate-pulse rounded bg-sidebar"}),(0,d.jsx)("div",{className:"h-2 w-48 animate-pulse rounded bg-sidebar"})]})]});if(!b?.profile&&!b?.balance)return null;let{profile:h,balance:i}=b;return(0,d.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-border-subtle bg-surface-2/50 px-3 py-2",children:[h?.image?(0,d.jsx)("img",{src:h.image,alt:h.name,className:"size-9 rounded-full object-cover ring-2 ring-border-subtle"}):(0,d.jsx)("div",{className:"flex size-9 items-center justify-center rounded-full bg-primary/10 text-sm font-bold text-primary",children:h?.name?.charAt(0)?.toUpperCase()||"v"}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("p",{className:"truncate text-sm font-medium text-text-main",children:h?.name||"User"}),h?.email&&(0,d.jsx)("span",{className:"truncate text-xs text-text-muted",children:h.email})]}),(0,d.jsxs)("div",{className:"mt-0.5 flex items-center gap-1.5",children:[h?.plan&&(0,d.jsx)(j.Ex,{variant:"v0-free"===h.plan?"default":"primary",size:"sm",children:"v0-free"===h.plan?"Free":h.plan}),h?.teamName&&(0,d.jsx)("span",{className:"truncate text-[11px] text-text-muted",children:h.teamName})]})]}),i&&(0,d.jsxs)("div",{className:"flex shrink-0 flex-col items-end",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px] text-warning",children:"bolt"}),(0,d.jsx)("span",{className:"font-mono text-sm font-bold text-text-main",children:i.remaining}),(0,d.jsxs)("span",{className:"text-[10px] text-text-muted",children:["/",i.total||"?"]})]}),(0,d.jsx)("span",{className:"text-[10px] text-text-muted",children:"credits left"})]})]})}function N({connectionId:a}){let[b,c]=(0,e.useState)(null),[f,g]=(0,e.useState)(!0);return f?(0,d.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-border-subtle bg-surface-2/50 px-3 py-2",children:[(0,d.jsx)("div",{className:"size-8 animate-pulse rounded-full bg-sidebar"}),(0,d.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,d.jsx)("div",{className:"h-3 w-32 animate-pulse rounded bg-sidebar"}),(0,d.jsx)("div",{className:"h-2 w-48 animate-pulse rounded bg-sidebar"})]})]}):b?(0,d.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-border-subtle bg-surface-2/50 px-3 py-2",children:[b.image?(0,d.jsx)("img",{src:b.image,alt:b.name,className:"size-9 rounded-full object-cover ring-2 ring-border-subtle"}):(0,d.jsx)("div",{className:"flex size-9 items-center justify-center rounded-full bg-primary/10 text-sm font-bold text-primary",children:b.name?.charAt(0)?.toUpperCase()||"Q"}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("p",{className:"truncate text-sm font-medium text-text-main",children:b.name}),b.email&&(0,d.jsx)("span",{className:"truncate text-xs text-text-muted",children:b.email})]}),(0,d.jsxs)("div",{className:"mt-0.5 flex items-center gap-1.5",children:[b.channelId&&(0,d.jsxs)(j.Ex,{variant:"info",size:"sm",children:["Region: ",b.channelId]}),b.uid&&(0,d.jsxs)("span",{className:"text-[11px] text-text-muted",children:["UID: ",b.uid]})]})]})]}):null}var O=c(82214);let P={claude:"claudeAutoPing",codex:"codexAutoPing"};function Q(){let a,b,c,g=(0,f.useParams)(),r=(0,f.useRouter)(),s=g.id,{getCaps:t}=(0,n.y)(),{markSeen:u}=(0,O.P)("providers"),[w,y]=(0,e.useState)([]),[z,B]=(0,e.useState)(!0),[F,H]=(0,e.useState)(null),[Q,R]=(0,e.useState)([]),[S,T]=(0,e.useState)(!1),[U,V]=(0,e.useState)(!1),[W,X]=(0,e.useState)(!1),[Y,Z]=(0,e.useState)(""),[$,_]=(0,e.useState)(!1),[aa,ab]=(0,e.useState)(!1),[ac,ad]=(0,e.useState)(!1),[ae,af]=(0,e.useState)(!1),[ag,ah]=(0,e.useState)(null),[ai,aj]=(0,e.useState)({}),[ak,al]=(0,e.useState)([]),[am,an]=(0,e.useState)(!1),[ao,ap]=(0,e.useState)({}),[aq,ar]=(0,e.useState)(""),[as,at]=(0,e.useState)(()=>new Set),[au,av]=(0,e.useState)(""),[aw,ax]=(0,e.useState)(!1),[ay,az]=(0,e.useState)(!1),[aA,aB]=(0,e.useState)([]),[aC,aD]=(0,e.useState)("__none__"),[aE,aF]=(0,e.useState)(!1),[aG,aH]=(0,e.useState)(null),[aI,aJ]=(0,e.useState)(""),[aK,aL]=(0,e.useState)("auto"),[aM,aN]=(0,e.useState)({enabled:!1,connections:{}}),[aO,aP]=(0,e.useState)([]),[aQ,aR]=(0,e.useState)([]),[aS,aT]=(0,e.useState)([]),[aU,aV]=(0,e.useState)(null),[aW,aX]=(0,e.useState)(!1),[aY,aZ]=(0,e.useState)(!1),[a$,a_]=(0,e.useState)(!1),[a0,a1]=(0,e.useState)(null),[a2,a3]=(0,e.useState)({}),[a4,a5]=(0,e.useState)(null),a6=(0,e.useRef)(!1),[a7,a8]=(0,e.useState)(!1),{copied:a9,copy:ba}=(0,m.C)(),bb=()=>{T(!0)},bc=()=>{bh?bb():(Z(""),X(!0))},bd=()=>{Z(""),X(!0)},be=()=>{bh?bc():bd()},bf=F?{id:F.id,name:F.name||("anthropic-compatible"===F.type?"Anthropic Compatible":"OpenAI Compatible"),color:"anthropic-compatible"===F.type?"#D97757":"#10A37F",textIcon:"anthropic-compatible"===F.type?"AC":"OC",apiType:F.apiType,baseUrl:F.baseUrl,type:F.type}:k.zN[s]||k.fg[s]||k.IS[s]||k.nJ[s]||k.br[s],bg=bf?.authModes||[],bh=(!!k.zN[s]||!!k.IS[s]||bg.includes("oauth"))&&bf?.hasOAuth!==!1,bi=!!k.fg[s]||bg.includes("apikey")||bf?.hasOAuth===!1,bj=!!k.IS[s]?.noAuth,bk=(0,l.KC)(s),bl=(0,k.wG)(s),bm=(0,k.mq)(s),bn=(0,k.gb)(s),bo=bm||bn,bp=!bo&&bh&&bi,bq="xai"===s?"Grok Build OAuth":"OAuth",br="xai"===s?"xAI API Key":"API Key",bs=k.Q2[s]?.thinkingConfig||k.s9.extended,bt=bo?s:bl,bu=bo?F?.prefix||s:bl,bv=(0,e.useCallback)(async()=>{try{let a=await fetch(`/api/models/disabled?providerAlias=${encodeURIComponent(bt)}`,{cache:"no-store"}),b=await a.json();a.ok&&aT(b.ids||[])}catch(a){console.log("Error fetching disabled models:",a)}},[bt]),bw=async a=>{try{(await fetch("/api/models/disabled",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({providerAlias:bt,ids:[a]})})).ok&&await bv()}catch(a){console.log("Error disabling model:",a)}},bx=async a=>{try{(await fetch(`/api/models/disabled?providerAlias=${encodeURIComponent(bt)}&id=${encodeURIComponent(a)}`,{method:"DELETE"})).ok&&await bv()}catch(a){console.log("Error enabling model:",a)}},by=async a=>{a.length&&aV({title:"Disable All Models",message:`Disable all ${a.length} model(s)?`,onConfirm:async()=>{aV(null);try{(await fetch("/api/models/disabled",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({providerAlias:bt,ids:a})})).ok&&await bv()}catch(a){console.log("Error disabling all models:",a)}}})},bz=async()=>{try{(await fetch(`/api/models/disabled?providerAlias=${encodeURIComponent(bt)}`,{method:"DELETE"})).ok&&await bv()}catch(a){console.log("Error enabling all models:",a)}},bA=(0,e.useCallback)(async()=>{try{let a=await fetch("/api/models/alias"),b=await a.json();a.ok&&aj(b.aliases||{})}catch(a){console.log("Error fetching aliases:",a)}},[]),bB=(0,e.useCallback)(async()=>{try{let a=await fetch("/api/models/custom",{cache:"no-store"}),b=await a.json();a.ok&&al(b.models||[])}catch(a){console.log("Error fetching custom models:",a)}},[]),bC=(0,e.useCallback)(async()=>{try{let[a,b,c,d]=await Promise.all([fetch("/api/providers",{cache:"no-store"}),fetch("/api/provider-nodes",{cache:"no-store"}),fetch("/api/proxy-pools?isActive=true",{cache:"no-store"}),fetch("/api/settings",{cache:"no-store"})]),e=await a.json(),f=await b.json(),g=await c.json(),h=d.ok?await d.json():{};if(a.ok){let a=(e.connections||[]).filter(a=>a.provider===s);y(a)}c.ok&&R(g.proxyPools||[]);let i=(h.providerStrategies||{})[s]||{};aH(i.fallbackStrategy||null),aJ(null!=i.stickyRoundRobinLimit?String(i.stickyRoundRobinLimit):"1");let j=(h.providerThinking||{})[s]||{};aL(j.mode||"auto");let k=P[s],l=k&&h[k]||{};if(aN({enabled:!0===l.enabled,connections:l.connections||{}}),b.ok){let a=(f.nodes||[]).find(a=>a.id===s)||null;if(!a&&bo)for(let b=0;b<3;b+=1){await new Promise(a=>setTimeout(a,150));let b=await fetch("/api/provider-nodes",{cache:"no-store"});if(b.ok&&(a=((await b.json()).nodes||[]).find(a=>a.id===s)||null))break}H(a)}}catch(a){console.log("Error fetching connections:",a)}finally{B(!1)}},[s,bo]),bD=async a=>{try{let b=await fetch(`/api/provider-nodes/${s}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),c=await b.json();b.ok&&(H(c.node),await bC(),ad(!1))}catch(a){console.log("Error updating provider node:",a)}},bE=async(a,b)=>{try{let c=await fetch("/api/settings",{cache:"no-store"}),d=(c.ok?await c.json():{}).providerStrategies||{},e={};a&&(e.fallbackStrategy=a),"round-robin"===a&&""!==b&&(e.stickyRoundRobinLimit=Number(b)||3);let f={...d};0===Object.keys(e).length?delete f[s]:f[s]=e,await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({providerStrategies:f})})}catch(a){console.log("Error saving provider strategy:",a)}},bF=async a=>{try{let b=await fetch("/api/settings",{cache:"no-store"}),c={...(b.ok?await b.json():{}).providerThinking||{}};a&&"auto"!==a?c[s]={mode:a}:delete c[s],await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({providerThinking:c})})}catch(a){console.log("Error saving thinking config:",a)}},bG=async a=>{let b=P[s];if(b){aN(a);try{await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({[b]:a})})}catch(a){console.log("Error saving auto-ping config:",a)}}},bH=async(a,b,c=bl)=>{let d=`${c}/${a}`;try{let a=await fetch("/api/models/alias",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:d,alias:b})});if(a.ok)await bA();else{let b=await a.json();alert(b.error||"Failed to set alias")}}catch(a){console.log("Error setting alias:",a)}},bI=async a=>{try{(await fetch(`/api/models/alias?alias=${encodeURIComponent(a)}`,{method:"DELETE"})).ok&&await bA()}catch(a){console.log("Error deleting alias:",a)}},bJ=async(a,b="llm",c=bt)=>{try{let d=await fetch("/api/models/custom",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({providerAlias:c,id:a,type:b})});if(d.ok)await bB();else{let a=await d.json();alert(a.error||"Failed to add custom model")}}catch(a){console.log("Error adding custom model:",a)}},bK=async(a,b="llm",c=bt)=>{try{let d=new URLSearchParams({providerAlias:c,id:a,type:b});(await fetch(`/api/models/custom?${d}`,{method:"DELETE"})).ok&&await bB()}catch(a){console.log("Error deleting custom model:",a)}},bL=async()=>{if(a7)return;let a=w.find(a=>!1!==a.isActive);if(!a)return void alert((0,o.Tl)("Please add an active Qoder connection first"));a8(!0);try{let b=await fetch(`/api/providers/${a.id}/models`),c=await b.json();if(!b.ok)return void alert(c.error||(0,o.Tl)("Failed to fetch models"));let d=c.models||[];if(0===d.length)return void alert((0,o.Tl)("No models returned"));let e=0;for(let a of d){let b=a.id||a.name;if(!b)continue;let c=b.replace(/^qoder\//,"");ak.some(a=>a.providerAlias===bt&&a.id===c&&"llm"===(a.kind||a.type||"llm"))||Object.values(ai).includes(`${bt}/${c}`)||(await bJ(c,"llm",bt),e+=1)}0===e?alert((0,o.Tl)("All models already exist, no new models added")):alert((0,o.Tl)("Successfully added")+` ${e} `+(0,o.Tl)("models"))}catch(a){console.log("Error importing Qoder models:",a),alert((0,o.Tl)("Error fetching models")+": "+a.message)}finally{a8(!1)}},bM=async()=>{if(aY||0===w.length)return;let a=Object.fromEntries(w.map(a=>[a.id,{state:"queued",error:null}]));a6.current=!1,aZ(!0),a_(!1),a1(null),a3(a),a5({total:w.length,completed:0,passed:0,failed:0,stopped:!1});let b=0,c=0;try{for(let a=0;a<w.length;a+=1){if(a6.current){a5({total:w.length,completed:a,passed:b,failed:c,stopped:!0});break}let d=w[a];a1(d.id),a3(a=>({...a,[d.id]:{state:"testing",error:null}}));try{let a=await fetch(`/api/providers/${d.id}/test`,{method:"POST"}),e=await a.json(),f=!!e.valid;f?b+=1:c+=1,a3(a=>({...a,[d.id]:{state:f?"success":"failed",error:f?null:e.error||null}}))}catch(a){c+=1,a3(b=>({...b,[d.id]:{state:"failed",error:a.message||"Test failed"}}))}a5({total:w.length,completed:a+1,passed:b,failed:c,stopped:!1}),a<w.length-1&&await new Promise(a=>setTimeout(a,1e3))}}finally{a1(null),aZ(!1),a_(!1),a6.current=!1}},bN=async a=>{aV({title:"Delete Connection",message:"Delete this connection?",onConfirm:async()=>{aV(null);try{(await fetch(`/api/providers/${a}`,{method:"DELETE"})).ok&&y(b=>b.filter(b=>b.id!==a))}catch(a){console.log("Error deleting connection:",a)}}})},bO=()=>{bC(),T(!1)},bP=async a=>{Z("");try{let b=await fetch("/api/providers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:s,...a})}),c=null;try{c=await b.json()}catch{c=null}if(b.ok){await bC(),X(!1);return}Z(c?.error||"Failed to save connection")}catch(a){console.log("Error saving connection:",a),Z("Failed to save connection")}},bQ=async a=>{try{(await fetch(`/api/providers/${ag.id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)})).ok&&(await bC(),ab(!1))}catch(a){console.log("Error updating connection:",a)}},bR=async(a,b)=>{try{(await fetch(`/api/providers/${a}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isActive:b})})).ok&&y(c=>c.map(c=>c.id===a?{...c,isActive:b}:c))}catch(a){console.log("Error updating connection status:",a)}},bS=async(a,b)=>{let c=[...w];[c[a],c[b]]=[c[b],c[a]],y(c);try{await Promise.all([fetch(`/api/providers/${c[a].id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({priority:a})}),fetch(`/api/providers/${c[b].id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({priority:b})})])}catch(a){console.log("Error swapping priority:",a),await bC()}},bT=w.filter(a=>aA.includes(a.id)),bU=w.length>0&&aA.length===w.length;(()=>{if(0===bT.length)return;let a=new Set(bT.map(a=>a.providerSpecificData?.proxyPoolId||"__none__"));if(1===a.size){let b=[...a][0];if("__none__"===b)return;let c=Q.find(a=>a.id===b);return c?.name}})();let bV=()=>{aE||af(!1)},bW=async a=>{aF(!0);try{let b=0;for(let{connectionId:c,proxyPoolId:d}of a)try{(await fetch(`/api/providers/${c}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({proxyPoolId:d})})).ok||(b+=1)}catch(a){console.log("Error applying proxy for",c,a),b+=1}b>0&&alert(`Updated with ${b} failed request(s).`),await bC(),af(!1)}finally{aF(!1)}},bX=a=>bW(w.map(b=>({connectionId:b.id,proxyPoolId:a}))),bY=(0,d.jsx)("div",{className:"flex min-w-0 flex-col divide-y divide-border-subtle",children:w.map((a,b)=>{let c;return(0,d.jsxs)("div",{className:"flex min-w-0 items-stretch",children:[(0,d.jsx)("div",{className:"flex shrink-0 items-center pl-1 sm:pl-2",children:(0,d.jsx)("input",{type:"checkbox",checked:(c=a.id,aA.includes(c)),onChange:()=>{var b;return b=a.id,void aB(a=>a.includes(b)?a.filter(a=>a!==b):[...a,b])},className:"h-4 w-4 rounded border-gray-300 text-primary focus:ring-primary"})}),(0,d.jsx)("div",{className:"flex-1 min-w-0",children:(0,d.jsx)(A,{connection:a,proxyPools:Q,isOAuth:bh,isFirst:0===b,isLast:b===w.length-1,onMoveUp:()=>bS(b,b-1),onMoveDown:()=>bS(b,b+1),onToggleActive:b=>bR(a.id,b),autoPing:P[s]&&"oauth"===a.authType?{on:!0===aM.connections[a.id],onToggle:b=>{var c;return c=a.id,void bG({...aM,connections:{...aM.connections,[c]:b}})},provider:s}:null,onUpdateProxy:async b=>{try{(await fetch(`/api/providers/${a.id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({proxyPoolId:b||null})})).ok&&y(c=>c.map(c=>c.id===a.id?{...c,providerSpecificData:{...c.providerSpecificData,proxyPoolId:b||null}}:c))}catch(a){console.log("Error updating proxy:",a)}},onEdit:()=>{ah(a),ab(!0)},onDelete:()=>bN(a.id),oneByOneStatus:a2[a.id]||null})})]},a.id)})}),bZ=Q.filter(a=>!0===a.isActive),b$=(0,d.jsx)(j.aF,{isOpen:ae,onClose:bV,title:`Apply Proxy (${w.length} connections)`,children:(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsxs)("div",{className:"flex flex-col",children:[(0,d.jsxs)("button",{onClick:()=>{let a=Q.filter(a=>!0===a.isActive);return 0===a.length?void alert("No active proxy pools available."):bW(w.map((b,c)=>({connectionId:b.id,proxyPoolId:a[c%a.length].id})))},disabled:aE||0===bZ.length,className:"flex items-center gap-2 rounded-lg px-3 py-2 text-left transition-colors hover:bg-surface-2 disabled:cursor-not-allowed disabled:opacity-50",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-text-muted text-[18px]",children:"sync_alt"}),(0,d.jsx)("span",{className:"text-sm text-text-main",children:"One-to-one (rotate)"})]}),(0,d.jsxs)("button",{onClick:()=>bX(null),disabled:aE,className:"flex items-center gap-2 rounded-lg px-3 py-2 text-left transition-colors hover:bg-surface-2 disabled:cursor-not-allowed disabled:opacity-50",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-text-muted text-[18px]",children:"link_off"}),(0,d.jsx)("span",{className:"text-sm text-text-main",children:"None (unbind all)"})]}),Q.map(a=>(0,d.jsxs)("button",{onClick:()=>bX(a.id),disabled:aE||!0!==a.isActive,className:"flex items-center gap-2 rounded-lg px-3 py-2 text-left transition-colors hover:bg-surface-2 disabled:cursor-not-allowed disabled:opacity-50",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-text-muted text-[18px]",children:"lan"}),(0,d.jsx)("span",{className:"truncate text-sm text-text-main",children:a.name}),!0!==a.isActive&&(0,d.jsx)("span",{className:"text-[10px] text-text-muted",children:"(inactive)"})]},a.id))]}),aE&&(0,d.jsx)("p",{className:"text-xs text-text-muted",children:"Applying..."}),(0,d.jsx)(j.$n,{onClick:bV,variant:"ghost",fullWidth:!0,disabled:aE,children:"Cancel"})]})}),b_=async a=>{if(!as.has(a)){at(b=>new Set(b).add(a));try{let b=await fetch("/api/models/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:`${bt}/${a}`})}),c=await b.json();ap(b=>({...b,[a]:c.ok?"ok":"error"})),ar(c.ok?"":c.error||"Model not reachable")}catch{ap(b=>({...b,[a]:"error"})),ar("Network error")}finally{at(b=>{let c=new Set(b);return c.delete(a),c})}}},b0=async a=>{aw||0===a.length||(ax(!0),ar(""),await Promise.all(a.map(a=>b_(a))),ax(!1))};if(z)return(0,d.jsxs)("div",{className:"flex flex-col gap-8",children:[(0,d.jsx)(j.Qv,{}),(0,d.jsx)(j.Qv,{})]});if(!bf)return(0,d.jsxs)("div",{className:"text-center py-20",children:[(0,d.jsx)("p",{className:"text-text-muted",children:"Provider not found"}),(0,d.jsx)(h(),{href:"/dashboard/providers",className:"text-primary mt-4 inline-block",children:"Back to Providers"})]});let b1=(0,q.k)(bf.id,bf.apiType);return(0,d.jsxs)("div",{className:"flex min-w-0 flex-col gap-6",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)(h(),{href:"/dashboard/providers",className:"inline-flex items-center gap-1 text-sm text-text-muted hover:text-primary transition-colors mb-4",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-lg",children:"arrow_back"}),"Back to Providers"]}),(0,d.jsxs)("div",{className:"flex min-w-0 items-center gap-3 sm:gap-4",children:[(0,d.jsx)("div",{className:"flex size-12 shrink-0 items-center justify-center rounded-lg",style:{backgroundColor:`${bf.color}15`},children:am?(0,d.jsx)("span",{className:"text-sm font-bold",style:{color:bf.color},children:bf.textIcon||bf.id.slice(0,2).toUpperCase()}):(0,d.jsx)(i.default,{src:b1,alt:bf.name,width:48,height:48,className:"max-h-12 max-w-12 rounded-lg object-contain",sizes:"48px",onError:()=>an(!0)})}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3 flex-wrap",children:[(0,d.jsx)("h1",{className:"truncate text-2xl font-semibold tracking-tight sm:text-3xl",children:bf.name}),(bf.notice?.apiKeyUrl||bf.notice?.signupUrl||bf.website)&&(0,d.jsxs)("a",{href:bf.notice?.apiKeyUrl||bf.notice?.signupUrl||bf.website,target:"_blank",rel:"noopener noreferrer",className:"text-xs text-primary hover:underline inline-flex items-center gap-1",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",children:"open_in_new"}),bf.notice?.apiKeyUrl?"Get API Key":"Sign up / Learn more"]}),"moonshot"===s&&(0,d.jsxs)("a",{href:"https://www.kimi.com/activities/viral-referral/share?scenario=invite&from=share_poster&invitation_code=BPGXZR",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 rounded-full bg-primary/12 px-3 py-1 text-xs font-semibold text-primary ring-1 ring-primary/20 hover:bg-primary/20 transition-colors",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",children:"celebration"}),"Get KIMI K3 For Free"]})]}),(0,d.jsxs)("p",{className:"text-text-muted",children:[w.length," connection",1===w.length?"":"s"]})]})]})]}),bf.deprecated&&(0,d.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-yellow-500/10 border border-yellow-500/30",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] text-yellow-500 mt-0.5 shrink-0",children:"warning"}),(0,d.jsx)("p",{className:"text-xs text-red-600 dark:text-yellow-400 leading-relaxed",children:bf.deprecationNotice})]}),bf.notice?.text&&!bf.deprecated&&(0,d.jsxs)("div",{className:"flex flex-col gap-2 rounded-lg border border-info/30 bg-info/10 px-3 py-2 sm:flex-row sm:items-center",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] text-info shrink-0",children:"info"}),(0,d.jsx)("p",{className:"min-w-0 flex-1 text-xs leading-relaxed text-info",children:bf.notice.text}),bf.notice.apiKeyUrl&&(0,d.jsx)("a",{href:bf.notice.apiKeyUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex justify-center rounded bg-blue-500 px-2 py-1 text-xs font-medium text-white transition-colors hover:bg-blue-600 sm:py-0.5",children:"Get API Key →"})]}),bo&&F&&(0,d.jsx)(j.Zp,{children:(0,d.jsxs)("div",{className:"mb-4 flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold",children:bn?"Anthropic Compatible Details":"OpenAI Compatible Details"}),(0,d.jsxs)("p",{className:"break-all text-sm text-text-muted",children:[bn?"Messages API":"responses"===F.apiType?"Responses API":"Chat Completions"," \xb7 ",(F.baseUrl||"").replace(/\/$/,""),"/",bn?"messages":"responses"===F.apiType?"responses":"chat/completions"]})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-2 sm:flex sm:items-center",children:[(0,d.jsx)(j.$n,{size:"sm",icon:"add",onClick:()=>{Z(""),X(!0)},className:"w-full sm:w-auto",children:"Add API Key"}),(0,d.jsx)(j.$n,{size:"sm",variant:"secondary",icon:"edit",onClick:()=>ad(!0),className:"w-full sm:w-auto",children:"Edit"}),(0,d.jsx)(j.$n,{size:"sm",variant:"secondary",icon:"delete",onClick:async()=>{aV({title:"Delete Compatible Node",message:`Delete this ${bn?"Anthropic":"OpenAI"} Compatible node?`,onConfirm:async()=>{aV(null);try{(await fetch(`/api/provider-nodes/${s}`,{method:"DELETE"})).ok&&r.push("/dashboard/providers")}catch(a){console.log("Error deleting provider node:",a)}}})},className:"w-full sm:w-auto",children:"Delete"})]})]})}),bj?(0,d.jsx)(j.gw,{providerId:s}):(0,d.jsxs)(j.Zp,{children:[(0,d.jsxs)("div",{className:"mb-4 flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold",children:"Connections"}),(0,d.jsx)(I,{providerId:s}),"freebuff-web"===s&&w.length>0&&(0,d.jsx)(L,{connectionId:w[0].id}),"v0-vercel-web"===s&&w.length>0&&(0,d.jsx)(M,{connectionId:w[0].id}),"qwencloud"===s&&w.length>0&&(0,d.jsx)(N,{connectionId:w[0].id})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:gap-4",children:[w.length>0&&Q.length>0&&(0,d.jsx)(j.$n,{size:"sm",variant:"secondary",icon:"lan",onClick:()=>af(!0),children:"Apply Proxy"}),w.length>0&&(0,d.jsxs)(d.Fragment,{children:[aA.length>0&&(0,d.jsxs)(j.$n,{size:"sm",variant:"danger",icon:"delete",onClick:()=>{let a=aA.length;0!==a&&aV({title:`Delete ${a} Connection${a>1?"s":""}`,message:`Delete ${a} connection${a>1?"s":""}? This cannot be undone.`,onConfirm:async()=>{aV(null);let a=0,b=[...aA];for(let c of b)try{(await fetch(`/api/providers/${c}`,{method:"DELETE"})).ok||(a+=1)}catch(b){console.log("Error deleting connection:",b),a+=1}y(a=>a.filter(a=>!b.includes(a.id))),aB([]),a>0&&alert(`Deleted ${b.length-a} connection(s), ${a} failed.`)}})},children:["Delete Selected (",aA.length,")"]}),(0,d.jsx)(j.$n,{size:"sm",variant:"secondary",icon:"sync",onClick:bM,disabled:aY,children:aY?"Testing Connection One-by-One...":"Test Connection One-by-One"}),aY&&(0,d.jsx)(j.$n,{size:"sm",variant:"ghost",icon:"stop",onClick:()=>{aY&&(a6.current=!0,a_(!0))},disabled:a$,children:a$?"Stopping...":"Stop"})]}),bs&&(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"text-xs text-text-muted font-medium",children:"Thought Level"}),(0,d.jsx)("select",{value:aK,onChange:a=>{var b;aL(b=a.target.value),bF(b)},className:"text-xs px-2 py-1 border border-border rounded-md bg-background focus:outline-none focus:border-primary",children:bs.options.map(a=>(0,d.jsx)("option",{value:a,children:a.charAt(0).toUpperCase()+a.slice(1)},a))})]}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)("span",{className:"text-xs text-text-muted font-medium",children:"Round Robin"}),(0,d.jsx)(j.lM,{checked:"round-robin"===aG,onChange:a=>{let b=a?"round-robin":null,c=a?aI||"1":aI;a&&!aI&&aJ("1"),aH(b),bE(b,c)}}),"round-robin"===aG&&(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:"text-xs text-text-muted",children:"Sticky:"}),(0,d.jsx)("input",{type:"number",min:1,value:aI,onChange:a=>{var b;aJ(b=a.target.value),bE("round-robin",b)},placeholder:"1",className:"w-14 px-2 py-1 text-xs border border-border rounded-md bg-background focus:outline-none focus:border-primary"})]})]}),"zenmux-free"===s&&w.length>0&&(0,d.jsx)(J,{connectionId:w[0].id,cookie:w[0].apiKey||"",currentPlan:w[0].providerSpecificData?.zenmuxPlan||"free",onPlanChanged:()=>{bC()}})]})]}),0===w.length?(0,d.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("div",{className:"inline-flex items-center justify-center w-9 h-9 rounded-full bg-primary/10 text-primary shrink-0",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:bh?"lock":"key"})}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"No connections yet"}),bp&&(0,d.jsxs)("p",{className:"text-xs text-text-muted",children:["Choose ",bq," or ",br,"."]})]})]}),(0,d.jsx)("div",{className:"flex gap-2",children:bp?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(j.$n,{size:"sm",icon:"lock",variant:"secondary",onClick:bc,children:bq}),(0,d.jsx)(j.$n,{size:"sm",icon:"key",onClick:bd,children:br})]}):(0,d.jsxs)(d.Fragment,{children:[!bo&&"iflow"===s&&(0,d.jsx)(j.$n,{size:"sm",icon:"cookie",variant:"secondary",onClick:()=>V(!0),children:"Cookie"}),"codex"===s&&(0,d.jsx)(j.$n,{size:"sm",icon:"playlist_add",variant:"secondary",onClick:()=>_(!0),children:(0,o.Tl)("Bulk Add")}),(0,d.jsx)(j.$n,{size:"sm",icon:"add",onClick:be,children:bo?"Add API Key":"iflow"===s?"OAuth":"Add Connection"})]})})]}):(0,d.jsxs)(d.Fragment,{children:[a4&&(0,d.jsx)("div",{className:"mb-4 rounded-lg border border-border bg-black/[0.02] px-3 py-2 text-xs text-text-muted dark:border-white/10 dark:bg-white/[0.03]",children:(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,d.jsxs)("span",{children:["Total: ",a4.total]}),(0,d.jsxs)("span",{children:["Completed: ",a4.completed]}),(0,d.jsxs)("span",{children:["Passed: ",a4.passed]}),(0,d.jsxs)("span",{children:["Failed: ",a4.failed]}),a4.stopped&&(0,d.jsx)("span",{className:"text-warning",children:"Stopped"}),aY&&a0&&(0,d.jsxs)("span",{children:["Running: ",w.find(a=>a.id===a0)?.name||a0]})]})}),w.length>0&&(0,d.jsx)("div",{className:"mb-3 flex items-center gap-2 border-b border-black/[0.03] pb-2 dark:border-white/[0.03]",children:(0,d.jsxs)("label",{className:"flex cursor-pointer items-center gap-1.5 text-xs text-text-muted hover:text-primary",children:[(0,d.jsx)("input",{type:"checkbox",checked:bU,onChange:()=>{bU?aB([]):aB(w.map(a=>a.id))},className:"h-3.5 w-3.5 rounded border-gray-300 text-primary focus:ring-primary"}),"Select All"]})}),bY,!bo&&(0,d.jsxs)("div",{className:"mt-4 grid grid-cols-1 gap-2 sm:flex",children:["iflow"===s&&(0,d.jsx)(j.$n,{size:"sm",icon:"cookie",variant:"secondary",onClick:()=>V(!0),title:"Add connection using browser cookie",className:"w-full sm:w-auto",children:"Cookie"}),"codex"===s&&(0,d.jsx)(j.$n,{size:"sm",icon:"playlist_add",variant:"secondary",onClick:()=>_(!0),title:(0,o.Tl)("Bulk import codex accounts from JSON"),className:"w-full sm:w-auto",children:(0,o.Tl)("Bulk Add")}),bp?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(j.$n,{size:"sm",icon:"lock",variant:"secondary",onClick:bc,className:"w-full sm:w-auto",children:bq}),(0,d.jsx)(j.$n,{size:"sm",icon:"key",onClick:bd,className:"w-full sm:w-auto",children:br})]}):(0,d.jsx)(j.$n,{size:"sm",icon:"add",onClick:be,className:"w-full sm:w-auto",children:"Add"})]})]})]}),(0,d.jsx)(j.Zp,{children:(0,d.jsx)("div",{className:"py-1",children:(0,d.jsx)(K,{providerId:s})})}),(0,d.jsxs)(j.Zp,{children:[(0,d.jsxs)("div",{className:"mb-4 flex flex-col gap-3",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold",children:"Available Models"}),!bo&&(a=[...bk,...aQ.filter(a=>!bk.some(b=>b.id===a.id))].filter(a=>{let b=(0,l.CP)(a);return!b||"llm"===b}).map(a=>a.id).filter(a=>!aS.includes(a)),b=au.trim().toLowerCase(),c=a.filter(a=>!b||a.toLowerCase().includes(b)),(0,d.jsxs)("div",{className:"flex flex-wrap gap-2",children:[aS.length>0&&(0,d.jsx)(j.$n,{size:"sm",variant:"secondary",icon:"restart_alt",onClick:bz,children:"Active All"}),a.length>0&&(0,d.jsx)(j.$n,{size:"sm",variant:"secondary",icon:"block",onClick:()=>by(a),children:"Disable All"}),(w.length>0||bj)&&c.length>0&&(0,d.jsx)(j.$n,{size:"sm",variant:"primary",icon:aw?"progress_activity":"play_arrow",onClick:()=>b0(c),disabled:aw,children:aw?"Testing...":`Test All (${c.length})`})]}))]}),(0,d.jsx)("div",{className:"sm:max-w-xs",children:(0,d.jsx)(j.pd,{type:"search",placeholder:"Search models...",value:au,onChange:a=>av(a.target.value),className:"w-full"})})]}),!!aq&&(0,d.jsx)("p",{className:"text-xs text-danger mb-3 break-words",children:aq}),(()=>{let a,b,c;if(bo)return(0,d.jsx)(x,{providerStorageAlias:bt,providerDisplayAlias:bu,modelAliases:ai,customModels:ak,copied:a9,onCopy:ba,onSetAlias:bH,onDeleteAlias:bI,onAddCustomModel:a=>bJ(a,"llm",bt),onDeleteCustomModel:a=>bK(a,"llm",bt),connections:w,isAnthropic:bn});let e=[...bk,...aQ.filter(a=>!bk.some(b=>b.id===a.id))].filter(a=>{let b=(0,l.CP)(a);return!b||"llm"===b}),f=new Set(aS),g=e.filter(a=>!f.has(a.id)),h=e.filter(a=>f.has(a.id)),i=p({customModels:ak,modelAliases:ai,providerAlias:bt,builtInModels:bk,type:"llm"}),j=au.trim().toLowerCase(),k=(a,b="")=>!j||a.toLowerCase().includes(j)||String(b).toLowerCase().includes(j),m=g.filter(a=>k(a.id,a.name)),n=i.filter(a=>k(a.id,a.name));return(0,d.jsxs)("div",{className:"flex flex-wrap gap-3",children:[n.map(a=>(0,d.jsx)(v,{model:{id:a.id,name:a.name},fullModel:`${bu}/${a.id}`,alias:a.alias,copied:a9,onCopy:ba,onSetAlias:()=>{},onDeleteAlias:()=>{"custom"===a.source?bK(a.id,"llm",bt):bI(a.alias)},testStatus:ao[a.id],onTest:w.length>0||bj?()=>b_(a.id):void 0,isTesting:as.has(a.id),isCustom:!0,isFree:!1,caps:t(`${s}/${a.id}`)},`${a.source}-${a.fullModel}`)),m.map(a=>{let b=`${bt}/${a.id}`,c=`${s}/${a.id}`,e=Object.entries(ai).find(([,a])=>a===b||a===c)?.[0];return(0,d.jsx)(v,{model:a,fullModel:`${bu}/${a.id}`,alias:e,copied:a9,onCopy:ba,onSetAlias:b=>bH(a.id,b,bt),onDeleteAlias:()=>bI(e),testStatus:ao[a.id],onTest:w.length>0||bj?()=>b_(a.id):void 0,isTesting:as.has(a.id),isFree:a.isFree,onDisable:()=>bw(a.id),caps:t(`${s}/${a.id}`)},a.id)}),au.trim()&&0===m.length&&0===n.length&&(0,d.jsxs)("p",{className:"w-full text-center text-sm text-text-muted py-4",children:["No models match “",au,"”"]}),(0,d.jsxs)("button",{onClick:()=>az(!0),className:"flex w-full items-center justify-center gap-1.5 rounded-lg border border-dashed border-primary/40 px-3 py-2 text-xs text-primary transition-colors hover:border-primary hover:bg-primary/5 sm:w-auto",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",children:"add"}),"Add Model"]}),"qoder"===s&&w.some(a=>!1!==a.isActive)&&(0,d.jsxs)("button",{onClick:bL,disabled:a7,className:"flex w-full items-center justify-center gap-1.5 rounded-lg border border-dashed border-blue-500/40 px-3 py-2 text-xs text-info transition-colors hover:border-blue-500 hover:bg-blue-500/5 sm:w-auto disabled:opacity-50 disabled:cursor-not-allowed",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",style:a7?{animation:"spin 1s linear infinite"}:void 0,children:a7?"progress_activity":"download"}),a7?(0,o.Tl)("Fetching..."):(0,o.Tl)("Fetch Qoder Models")]}),aO.length>0&&(a=new Set([...Object.values(ai),...i.map(a=>a.fullModel)]),b=new Set(bk.map(a=>a.id)),0===(c=aO.filter(c=>!a.has(`${bt}/${c.id}`)&&!b.has(c.id))).length?null:(0,d.jsxs)("div",{className:"w-full mt-2",children:[(0,d.jsx)("p",{className:"text-xs text-text-muted mb-2",children:"Suggested free models (≥200k context):"}),(0,d.jsx)("div",{className:"flex flex-wrap gap-2",children:c.map(a=>(0,d.jsxs)("button",{onClick:async()=>{await bJ(a.id,"llm",bt)},className:"flex items-center gap-1 px-2.5 py-1.5 rounded-lg border border-border text-xs text-text-muted hover:text-primary hover:border-primary/40 hover:bg-primary/5 transition-colors",title:`${a.name} \xb7 ${(a.contextLength/1e3).toFixed(0)}k ctx`,children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[13px]",children:"add"}),a.id.split("/").pop()]},a.id))})]})),h.length>0&&(0,d.jsxs)("div",{className:"w-full mt-2",children:[(0,d.jsxs)("p",{className:"text-xs text-text-muted mb-2",children:["Disabled models (",h.length,"):"]}),(0,d.jsx)("div",{className:"flex flex-wrap gap-2",children:h.map(a=>(0,d.jsxs)("button",{onClick:()=>bx(a.id),className:"flex items-center gap-1 px-2.5 py-1.5 rounded-lg border border-dashed border-border text-xs text-text-muted hover:text-primary hover:border-primary/40 hover:bg-primary/5 transition-colors",title:"Restore model",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[13px]",children:"add"}),a.id]},a.id))})]})]})})()]}),b$,"kiro"===s?(0,d.jsx)(j.Mh,{isOpen:S,providerInfo:bf,onSuccess:bO,onClose:()=>T(!1)}):"cursor"===s?(0,d.jsx)(j.G9,{isOpen:S,onSuccess:bO,onClose:()=>T(!1)}):"gitlab"===s?(0,d.jsx)(j.vj,{isOpen:S,providerInfo:bf,onSuccess:bO,onClose:()=>T(!1)}):(0,d.jsx)(j.LF,{isOpen:S,provider:s,providerInfo:bf,onSuccess:bO,onClose:()=>T(!1)}),"iflow"===s&&(0,d.jsx)(j.vE,{isOpen:U,onSuccess:()=>{bC(),V(!1)},onClose:()=>V(!1)}),(0,d.jsx)(C,{isOpen:W,provider:s,providerName:bf.name,isCompatible:bo,isAnthropic:bn,authType:bf?.authType,authHint:bf?.authHint,website:bf?.website,proxyPools:Q,error:Y,onSave:bP,onBulkDone:bC,onClose:()=>{Z(""),X(!1)}}),(0,d.jsx)(j.wI,{isOpen:aa,connection:ag,proxyPools:Q,onSave:bQ,onClose:()=>ab(!1)}),bo&&(0,d.jsx)(D,{isOpen:ac,node:F,onSave:bD,onClose:()=>ad(!1),isAnthropic:bn}),!bo&&(0,d.jsx)(E,{isOpen:ay,providerAlias:bt,providerDisplayAlias:bu,onSave:async a=>{await bJ(a,"llm",bt),az(!1)},onClose:()=>az(!1)}),"codex"===s&&(0,d.jsx)(G,{isOpen:$,onClose:()=>_(!1),onSuccess:bC}),(0,d.jsx)(j.uo,{isOpen:aW,onClose:()=>aX(!1),onConfirm:()=>{(aX(!1),bh)?bb():bd()},title:"Risk Notice",message:bf?.deprecationNotice,confirmText:"I Understand, Continue",cancelText:"Cancel",variant:"danger"}),(0,d.jsx)(j.uo,{isOpen:!!aU,onClose:()=>aV(null),onConfirm:aU?.onConfirm,title:aU?.title||"Confirm",message:aU?.message,variant:"danger"})]})}},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},46293:a=>{"use strict";a.exports=require("sql.js")},48161:a=>{"use strict";a.exports=require("node:os")},50963:(a,b,c)=>{Promise.resolve().then(c.bind(c,42826))},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},71553:a=>{"use strict";a.exports=require("node:dns/promises")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73429:a=>{"use strict";a.exports=require("node:util/types")},73496:a=>{"use strict";a.exports=require("http2")},74075:a=>{"use strict";a.exports=require("zlib")},74875:(a,b,c)=>{"use strict";function d(a,b){return!1===a?"default":"active"===b||"success"===b?"success":"error"===b||"expired"===b||"unavailable"===b?"error":"default"}c.d(b,{g:()=>d})},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},77598:a=>{"use strict";a.exports=require("node:crypto")},78474:a=>{"use strict";a.exports=require("node:events")},79646:a=>{"use strict";a.exports=require("child_process")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81630:a=>{"use strict";a.exports=require("http")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},83997:a=>{"use strict";a.exports=require("tty")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},87997:a=>{"use strict";a.exports=require("node:timers")},91645:a=>{"use strict";a.exports=require("net")},93110:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\Administrator\\\\Desktop\\\\Projects\\\\ExtremeRouter\\\\src\\\\app\\\\(dashboard)\\\\dashboard\\\\providers\\\\[id]\\\\page.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\providers\\[id]\\page.js","default")},94735:a=>{"use strict";a.exports=require("events")},97819:(a,b,c)=>{Promise.resolve().then(c.bind(c,93110))}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,7774,1260,319,7152,8e3,1220,9703,9422,8881,6070,8920,6306,212,2701,8833,318,8895,6182,6457,8271,6316,6777,412,788],()=>b(b.s=26908));module.exports=c})();
|
|
11
|
+
]`;function G({isOpen:a,onClose:b,onSuccess:c}){let[f,g]=(0,e.useState)(""),[h,i]=(0,e.useState)(!1),[k,l]=(0,e.useState)(""),[m,n]=(0,e.useState)(null),p=()=>{h||(g(""),l(""),n(null),b())},q=async()=>{var a;let b;l(""),n(null);let d=f.trim();if(!d)return;try{b=JSON.parse(d)}catch(a){l(`${(0,o.Tl)("Invalid JSON")}: ${a.message}`);return}let e=Array.isArray(a=b)?a:a&&"object"==typeof a?Array.isArray(a.accounts)?a.accounts:[a]:null;if(!e||0===e.length)return void l((0,o.Tl)("No accounts found in input"));i(!0);try{let a=await fetch("/api/oauth/codex/bulk-import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({accounts:e})}),b=await a.json();if(!a.ok)return void l(b?.error||`Request failed: ${a.status}`);n(b),b.success>0&&"function"==typeof c&&c()}catch(a){l(a.message||(0,o.Tl)("Request failed"))}finally{i(!1)}},r=m?.results?.filter(a=>!a.ok)||[];return(0,d.jsx)(j.aF,{isOpen:a,title:(0,o.Tl)("Bulk Add Codex Accounts"),onClose:p,children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)("p",{className:"text-xs text-text-muted",children:(0,o.Tl)("Paste an array of codex account JSON objects. Each must include accessToken (and ideally refreshToken, idToken).")}),(0,d.jsx)("textarea",{className:"w-full rounded border border-accent/30 bg-sidebar p-2 text-sm font-mono resize-y min-h-[240px] focus:outline-none focus:ring-1 focus:ring-primary",placeholder:F,value:f,onChange:a=>g(a.target.value),disabled:h}),k&&(0,d.jsx)("p",{className:"text-xs text-red-500 break-words",children:k}),m&&(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsxs)("div",{className:`text-sm font-medium ${m.failed>0?"text-yellow-400":"text-green-400"}`,children:["✓ ",m.success," ",(0,o.Tl)("added"),m.failed>0?`, ✗ ${m.failed} ${(0,o.Tl)("failed")}`:""]}),r.length>0&&(0,d.jsx)("ul",{className:"rounded border border-accent/20 bg-sidebar/50 p-2 text-xs font-mono max-h-40 overflow-y-auto",children:r.map(a=>(0,d.jsxs)("li",{className:"text-red-400",children:["[",a.index,"] ",a.error]},a.index))})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(j.$n,{onClick:q,fullWidth:!0,disabled:h||!f.trim(),children:h?(0,o.Tl)("Importing..."):(0,o.Tl)("Import All")}),(0,d.jsx)(j.$n,{onClick:p,variant:"ghost",fullWidth:!0,disabled:h,children:(0,o.Tl)("Close")})]})]})})}G.propTypes={isOpen:s().bool.isRequired,onClose:s().func.isRequired,onSuccess:s().func};let H={healthy:{variant:"success",label:"Pool healthy",icon:"shield"},degraded:{variant:"warning",label:"Pool degraded",icon:"warning"},exhausted:{variant:"error",label:"Pool exhausted",icon:"error"}};function I({providerId:a}){let[b,c]=(0,e.useState)(null);if(!b||!b.hasPool)return null;let f=H[b.status]||H.healthy;return(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",title:"Admin-provided shared key pool. Keys are hidden; only counts are shown.",children:[(0,d.jsx)(j.Ex,{variant:f.variant,size:"sm",icon:f.icon,children:f.label}),(0,d.jsxs)(j.Ex,{variant:"info",size:"sm",icon:"key",children:[b.total," pool keys"]}),(0,d.jsxs)(j.Ex,{variant:"success",size:"sm",icon:"check_circle",children:[b.available," available"]}),b.rateLimited>0&&(0,d.jsxs)(j.Ex,{variant:"warning",size:"sm",icon:"schedule",children:[b.rateLimited," cooling"]})]})}function J({connectionId:a,cookie:b,currentPlan:c="free",onPlanChanged:f}){let g,[h,i]=(0,e.useState)([]),[k,l]=(0,e.useState)(c),[m,n]=(0,e.useState)(null),[o,p]=(0,e.useState)(!1),[q,r]=(0,e.useState)(!1),[s,t]=(0,e.useState)(null);g=String(b||"").match(/ctoken=([^;]+)/),g?.[1];let u=async b=>{let d=b.target.value;l(d),r(!0),t(null);try{if(!(await fetch(`/api/providers/${a}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({providerSpecificData:{zenmuxPlan:d}})})).ok)throw Error("Failed to save plan");f?.(d)}catch(a){t(a.message),l(c)}finally{r(!1)}},v=m&&m===k;return 0===h.length?(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"text-xs text-text-muted font-medium",children:"ZenMux Plan"}),(0,d.jsx)("select",{value:k,onChange:u,disabled:!0,className:"appearance-none rounded-brand border border-border bg-surface-2 py-1.5 pl-3 pr-8 text-xs text-text-muted [-webkit-appearance:none] [-moz-appearance:none]",children:(0,d.jsxs)("option",{value:k,children:[k," (loading…)"]})})]}):(0,d.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)("span",{className:"text-xs text-text-muted font-medium",children:"ZenMux Plan"}),(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("select",{value:k,onChange:u,disabled:q,title:"Select your ZenMux subscription plan. Models from this plan will be available.",className:"appearance-none rounded-brand border border-border bg-surface-2 py-1.5 pl-3 pr-8 text-xs text-text-main [-webkit-appearance:none] [-moz-appearance:none] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/35 disabled:opacity-50",children:h.map(a=>(0,d.jsxs)("option",{value:a.planKey,children:[a.name," (",a.modelCount," models",a.price>0?`, $${a.price}/mo`:", free",")"]},a.planKey))}),(0,d.jsx)("span",{className:"pointer-events-none absolute inset-y-0 right-0 flex items-center pr-2 text-text-muted",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"expand_more"})})]}),o&&(0,d.jsx)(j.Ex,{variant:"info",size:"sm",children:"Detecting…"}),v&&!o&&(0,d.jsx)(j.Ex,{variant:"success",size:"sm",icon:"check_circle",dot:!0,children:"Auto-detected"}),q&&(0,d.jsx)(j.Ex,{variant:"info",size:"sm",children:"Saving…"}),s&&(0,d.jsx)(j.Ex,{variant:"error",size:"sm",icon:"error",children:s})]}),(0,d.jsx)("p",{className:"text-[11px] text-text-muted",children:m?`Plan auto-detected from your ctoken: ${m}. You can override manually if needed.`:"Select your ZenMux subscription plan. Models available depend on your plan."})]})}function K({providerId:a,hours:b=24}){let[c,f]=(0,e.useState)(null);if(!c)return(0,d.jsxs)("div",{className:"flex items-center gap-2 text-xs text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px] animate-pulse",children:"monitor_heart"}),"Loading health timeline..."]});if(0===c.length||c.every(a=>0===a.ok&&0===a.err))return(0,d.jsxs)("div",{className:"flex items-center gap-2 text-xs text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"monitor_heart"}),"No request history yet."]});let g=c.length,h=c.reduce((a,b)=>a+b.ok+b.err,0),i=c.reduce((a,b)=>a+b.err,0),j=Math.max(...c.map(a=>a.ok+a.err),1),k=Math.max(...c.map(a=>a.latency),1),l=Math.max(6*g,120),m=Math.max(l/g-1,2),n=c.filter(a=>a.latency>0).map((a,b)=>{let c=b/Math.max(g-1,1)*l,d=32-a.latency/k*19.2-2;return`${c.toFixed(1)},${d.toFixed(1)}`}),o=n.length>1?`M${n.join(" L")}`:"",p=h>0?Math.round((h-i)/h*100):null;return(0,d.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-medium text-text-muted",children:"Health (24h)"}),null!==p&&(0,d.jsxs)("span",{className:`text-[10px] font-bold ${p>=90?"text-success":p>=70?"text-warning":"text-danger"}`,children:[p,"% success \xb7 ",h," requests \xb7 ",i," errors"]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2 text-[10px] text-text-muted",children:[(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)("span",{className:"inline-block size-2 rounded-sm bg-success"})," OK"]}),(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)("span",{className:"inline-block size-2 rounded-sm bg-danger"})," Error"]}),(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)("span",{className:"inline-block h-0.5 w-3 bg-info"})," Latency"]})]})]}),(0,d.jsxs)("svg",{width:l,height:32,className:"overflow-visible",children:[c.map((a,b)=>{let c=l/g*b;if(0===a.ok+a.err)return null;let e=a.ok/j*32,f=a.err/j*32;return(0,d.jsxs)("g",{children:[(0,d.jsx)("rect",{x:c,y:32-e-f,width:m,height:f,rx:.5,className:"fill-danger/60"}),(0,d.jsx)("rect",{x:c,y:32-e,width:m,height:e,rx:.5,className:"fill-success/60"})]},b)}),o&&(0,d.jsx)("path",{d:o,fill:"none",strokeWidth:1,className:"stroke-info",strokeDasharray:"2 2"})]})]})}function L({connectionId:a}){let[b,c]=(0,e.useState)(null),[f,g]=(0,e.useState)(!0);if(f)return(0,d.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-border-subtle bg-surface-2/50 px-3 py-2",children:[(0,d.jsx)("div",{className:"size-8 animate-pulse rounded-full bg-sidebar"}),(0,d.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,d.jsx)("div",{className:"h-3 w-32 animate-pulse rounded bg-sidebar"}),(0,d.jsx)("div",{className:"h-2 w-48 animate-pulse rounded bg-sidebar"})]})]});if(!b)return null;let h=b.expires?new Date(b.expires):null,i=h?Math.ceil((h.getTime()-Date.now())/864e5):null,k=null!==i&&i<=3;return(0,d.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-border-subtle bg-surface-2/50 px-3 py-2",children:[b.image?(0,d.jsx)("img",{src:b.image,alt:b.name,className:"size-9 rounded-full object-cover ring-2 ring-border-subtle"}):(0,d.jsx)("div",{className:"flex size-9 items-center justify-center rounded-full bg-primary/10 text-sm font-bold text-primary",children:b.name?.charAt(0)?.toUpperCase()||"F"}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("p",{className:"truncate text-sm font-medium text-text-main",children:b.name}),b.email&&(0,d.jsx)("span",{className:"truncate text-xs text-text-muted",children:b.email})]}),h&&(0,d.jsxs)("div",{className:"mt-0.5 flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[12px] text-text-muted",children:"schedule"}),(0,d.jsxs)("span",{className:"text-[11px] text-text-muted",children:["Session expires ",h.toLocaleDateString()]}),null!==i&&(0,d.jsxs)(j.Ex,{variant:k?"warning":"success",size:"sm",children:[i,"d left"]})]})]})]})}function M({connectionId:a}){let[b,c]=(0,e.useState)(null),[f,g]=(0,e.useState)(!0);if(f)return(0,d.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-border-subtle bg-surface-2/50 px-3 py-2",children:[(0,d.jsx)("div",{className:"size-8 animate-pulse rounded-full bg-sidebar"}),(0,d.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,d.jsx)("div",{className:"h-3 w-32 animate-pulse rounded bg-sidebar"}),(0,d.jsx)("div",{className:"h-2 w-48 animate-pulse rounded bg-sidebar"})]})]});if(!b?.profile&&!b?.balance)return null;let{profile:h,balance:i}=b;return(0,d.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-border-subtle bg-surface-2/50 px-3 py-2",children:[h?.image?(0,d.jsx)("img",{src:h.image,alt:h.name,className:"size-9 rounded-full object-cover ring-2 ring-border-subtle"}):(0,d.jsx)("div",{className:"flex size-9 items-center justify-center rounded-full bg-primary/10 text-sm font-bold text-primary",children:h?.name?.charAt(0)?.toUpperCase()||"v"}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("p",{className:"truncate text-sm font-medium text-text-main",children:h?.name||"User"}),h?.email&&(0,d.jsx)("span",{className:"truncate text-xs text-text-muted",children:h.email})]}),(0,d.jsxs)("div",{className:"mt-0.5 flex items-center gap-1.5",children:[h?.plan&&(0,d.jsx)(j.Ex,{variant:"v0-free"===h.plan?"default":"primary",size:"sm",children:"v0-free"===h.plan?"Free":h.plan}),h?.teamName&&(0,d.jsx)("span",{className:"truncate text-[11px] text-text-muted",children:h.teamName})]})]}),i&&(0,d.jsxs)("div",{className:"flex shrink-0 flex-col items-end",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px] text-warning",children:"bolt"}),(0,d.jsx)("span",{className:"font-mono text-sm font-bold text-text-main",children:i.remaining}),(0,d.jsxs)("span",{className:"text-[10px] text-text-muted",children:["/",i.total||"?"]})]}),(0,d.jsx)("span",{className:"text-[10px] text-text-muted",children:"credits left"})]})]})}function N({connectionId:a}){let[b,c]=(0,e.useState)(null),[f,g]=(0,e.useState)(!0);return f?(0,d.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-border-subtle bg-surface-2/50 px-3 py-2",children:[(0,d.jsx)("div",{className:"size-8 animate-pulse rounded-full bg-sidebar"}),(0,d.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,d.jsx)("div",{className:"h-3 w-32 animate-pulse rounded bg-sidebar"}),(0,d.jsx)("div",{className:"h-2 w-48 animate-pulse rounded bg-sidebar"})]})]}):b?(0,d.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-border-subtle bg-surface-2/50 px-3 py-2",children:[b.image?(0,d.jsx)("img",{src:b.image,alt:b.name,className:"size-9 rounded-full object-cover ring-2 ring-border-subtle"}):(0,d.jsx)("div",{className:"flex size-9 items-center justify-center rounded-full bg-primary/10 text-sm font-bold text-primary",children:b.name?.charAt(0)?.toUpperCase()||"Q"}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("p",{className:"truncate text-sm font-medium text-text-main",children:b.name}),b.email&&(0,d.jsx)("span",{className:"truncate text-xs text-text-muted",children:b.email})]}),(0,d.jsxs)("div",{className:"mt-0.5 flex items-center gap-1.5",children:[b.channelId&&(0,d.jsxs)(j.Ex,{variant:"info",size:"sm",children:["Region: ",b.channelId]}),b.uid&&(0,d.jsxs)("span",{className:"text-[11px] text-text-muted",children:["UID: ",b.uid]})]})]})]}):null}var O=c(82214);let P={claude:"claudeAutoPing",codex:"codexAutoPing"};function Q(){let a,b,c,g=(0,f.useParams)(),r=(0,f.useRouter)(),s=g.id,{getCaps:t}=(0,n.y)(),{markSeen:u}=(0,O.P)("providers"),[w,y]=(0,e.useState)([]),[z,B]=(0,e.useState)(!0),[F,H]=(0,e.useState)(null),[Q,R]=(0,e.useState)([]),[S,T]=(0,e.useState)(!1),[U,V]=(0,e.useState)(!1),[W,X]=(0,e.useState)(!1),[Y,Z]=(0,e.useState)(""),[$,_]=(0,e.useState)(!1),[aa,ab]=(0,e.useState)(!1),[ac,ad]=(0,e.useState)(!1),[ae,af]=(0,e.useState)(!1),[ag,ah]=(0,e.useState)(null),[ai,aj]=(0,e.useState)({}),[ak,al]=(0,e.useState)([]),[am,an]=(0,e.useState)(!1),[ao,ap]=(0,e.useState)({}),[aq,ar]=(0,e.useState)(""),[as,at]=(0,e.useState)(()=>new Set),[au,av]=(0,e.useState)(""),[aw,ax]=(0,e.useState)(!1),[ay,az]=(0,e.useState)(!1),[aA,aB]=(0,e.useState)([]),[aC,aD]=(0,e.useState)("__none__"),[aE,aF]=(0,e.useState)(!1),[aG,aH]=(0,e.useState)(null),[aI,aJ]=(0,e.useState)(""),[aK,aL]=(0,e.useState)("auto"),[aM,aN]=(0,e.useState)({enabled:!1,connections:{}}),[aO,aP]=(0,e.useState)([]),[aQ,aR]=(0,e.useState)([]),[aS,aT]=(0,e.useState)([]),[aU,aV]=(0,e.useState)(null),[aW,aX]=(0,e.useState)(!1),[aY,aZ]=(0,e.useState)(!1),[a$,a_]=(0,e.useState)(!1),[a0,a1]=(0,e.useState)(null),[a2,a3]=(0,e.useState)({}),[a4,a5]=(0,e.useState)(null),a6=(0,e.useRef)(!1),[a7,a8]=(0,e.useState)(!1),{copied:a9,copy:ba}=(0,m.C)(),bb=()=>{T(!0)},bc=()=>{bh?bb():(Z(""),X(!0))},bd=()=>{Z(""),X(!0)},be=()=>{bh?bc():bd()},bf=F?{id:F.id,name:F.name||("anthropic-compatible"===F.type?"Anthropic Compatible":"OpenAI Compatible"),color:"anthropic-compatible"===F.type?"#D97757":"#10A37F",textIcon:"anthropic-compatible"===F.type?"AC":"OC",apiType:F.apiType,baseUrl:F.baseUrl,type:F.type}:k.zN[s]||k.fg[s]||k.IS[s]||k.nJ[s]||k.br[s],bg=bf?.authModes||[],bh=(!!k.zN[s]||!!k.IS[s]||bg.includes("oauth"))&&bf?.hasOAuth!==!1,bi=!!k.fg[s]||bg.includes("apikey")||bf?.hasOAuth===!1,bj=!!k.IS[s]?.noAuth,bk=(0,l.KC)(s),bl=(0,k.wG)(s),bm=(0,k.mq)(s),bn=(0,k.gb)(s),bo=bm||bn,bp=!bo&&bh&&bi,bq="xai"===s?"Grok Build OAuth":"OAuth",br="xai"===s?"xAI API Key":"API Key",bs=k.Q2[s]?.thinkingConfig||k.s9.extended,bt=bo?s:bl,bu=bo?F?.prefix||s:bl,bv=(0,e.useCallback)(async()=>{try{let a=await fetch(`/api/models/disabled?providerAlias=${encodeURIComponent(bt)}`,{cache:"no-store"}),b=await a.json();a.ok&&aT(b.ids||[])}catch(a){console.log("Error fetching disabled models:",a)}},[bt]),bw=async a=>{try{(await fetch("/api/models/disabled",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({providerAlias:bt,ids:[a]})})).ok&&await bv()}catch(a){console.log("Error disabling model:",a)}},bx=async a=>{try{(await fetch(`/api/models/disabled?providerAlias=${encodeURIComponent(bt)}&id=${encodeURIComponent(a)}`,{method:"DELETE"})).ok&&await bv()}catch(a){console.log("Error enabling model:",a)}},by=async a=>{a.length&&aV({title:"Disable All Models",message:`Disable all ${a.length} model(s)?`,onConfirm:async()=>{aV(null);try{(await fetch("/api/models/disabled",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({providerAlias:bt,ids:a})})).ok&&await bv()}catch(a){console.log("Error disabling all models:",a)}}})},bz=async()=>{try{(await fetch(`/api/models/disabled?providerAlias=${encodeURIComponent(bt)}`,{method:"DELETE"})).ok&&await bv()}catch(a){console.log("Error enabling all models:",a)}},bA=(0,e.useCallback)(async()=>{try{let a=await fetch("/api/models/alias"),b=await a.json();a.ok&&aj(b.aliases||{})}catch(a){console.log("Error fetching aliases:",a)}},[]),bB=(0,e.useCallback)(async()=>{try{let a=await fetch("/api/models/custom",{cache:"no-store"}),b=await a.json();a.ok&&al(b.models||[])}catch(a){console.log("Error fetching custom models:",a)}},[]),bC=(0,e.useCallback)(async()=>{try{let[a,b,c,d]=await Promise.all([fetch("/api/providers",{cache:"no-store"}),fetch("/api/provider-nodes",{cache:"no-store"}),fetch("/api/proxy-pools?isActive=true",{cache:"no-store"}),fetch("/api/settings",{cache:"no-store"})]),e=await a.json(),f=await b.json(),g=await c.json(),h=d.ok?await d.json():{};if(a.ok){let a=(e.connections||[]).filter(a=>a.provider===s);y(a)}c.ok&&R(g.proxyPools||[]);let i=(h.providerStrategies||{})[s]||{};aH(i.fallbackStrategy||null),aJ(null!=i.stickyRoundRobinLimit?String(i.stickyRoundRobinLimit):"1");let j=(h.providerThinking||{})[s]||{};aL(j.mode||"auto");let k=P[s],l=k&&h[k]||{};if(aN({enabled:!0===l.enabled,connections:l.connections||{}}),b.ok){let a=(f.nodes||[]).find(a=>a.id===s)||null;if(!a&&bo)for(let b=0;b<3;b+=1){await new Promise(a=>setTimeout(a,150));let b=await fetch("/api/provider-nodes",{cache:"no-store"});if(b.ok&&(a=((await b.json()).nodes||[]).find(a=>a.id===s)||null))break}H(a)}}catch(a){console.log("Error fetching connections:",a)}finally{B(!1)}},[s,bo]),bD=async a=>{try{let b=await fetch(`/api/provider-nodes/${s}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),c=await b.json();b.ok&&(H(c.node),await bC(),ad(!1))}catch(a){console.log("Error updating provider node:",a)}},bE=async(a,b)=>{try{let c=await fetch("/api/settings",{cache:"no-store"}),d=(c.ok?await c.json():{}).providerStrategies||{},e={};a&&(e.fallbackStrategy=a),"round-robin"===a&&""!==b&&(e.stickyRoundRobinLimit=Number(b)||3);let f={...d};0===Object.keys(e).length?delete f[s]:f[s]=e,await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({providerStrategies:f})})}catch(a){console.log("Error saving provider strategy:",a)}},bF=async a=>{try{let b=await fetch("/api/settings",{cache:"no-store"}),c={...(b.ok?await b.json():{}).providerThinking||{}};a&&"auto"!==a?c[s]={mode:a}:delete c[s],await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({providerThinking:c})})}catch(a){console.log("Error saving thinking config:",a)}},bG=async a=>{let b=P[s];if(b){aN(a);try{await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({[b]:a})})}catch(a){console.log("Error saving auto-ping config:",a)}}},bH=async(a,b,c=bl)=>{let d=`${c}/${a}`;try{let a=await fetch("/api/models/alias",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:d,alias:b})});if(a.ok)await bA();else{let b=await a.json();alert(b.error||"Failed to set alias")}}catch(a){console.log("Error setting alias:",a)}},bI=async a=>{try{(await fetch(`/api/models/alias?alias=${encodeURIComponent(a)}`,{method:"DELETE"})).ok&&await bA()}catch(a){console.log("Error deleting alias:",a)}},bJ=async(a,b="llm",c=bt)=>{try{let d=await fetch("/api/models/custom",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({providerAlias:c,id:a,type:b})});if(d.ok)await bB();else{let a=await d.json();alert(a.error||"Failed to add custom model")}}catch(a){console.log("Error adding custom model:",a)}},bK=async(a,b="llm",c=bt)=>{try{let d=new URLSearchParams({providerAlias:c,id:a,type:b});(await fetch(`/api/models/custom?${d}`,{method:"DELETE"})).ok&&await bB()}catch(a){console.log("Error deleting custom model:",a)}},bL=async()=>{if(a7)return;let a=w.find(a=>!1!==a.isActive);if(!a)return void alert((0,o.Tl)("Please add an active Qoder connection first"));a8(!0);try{let b=await fetch(`/api/providers/${a.id}/models`),c=await b.json();if(!b.ok)return void alert(c.error||(0,o.Tl)("Failed to fetch models"));let d=c.models||[];if(0===d.length)return void alert((0,o.Tl)("No models returned"));let e=0;for(let a of d){let b=a.id||a.name;if(!b)continue;let c=b.replace(/^qoder\//,"");ak.some(a=>a.providerAlias===bt&&a.id===c&&"llm"===(a.kind||a.type||"llm"))||Object.values(ai).includes(`${bt}/${c}`)||(await bJ(c,"llm",bt),e+=1)}0===e?alert((0,o.Tl)("All models already exist, no new models added")):alert((0,o.Tl)("Successfully added")+` ${e} `+(0,o.Tl)("models"))}catch(a){console.log("Error importing Qoder models:",a),alert((0,o.Tl)("Error fetching models")+": "+a.message)}finally{a8(!1)}},bM=async()=>{if(aY||0===w.length)return;let a=Object.fromEntries(w.map(a=>[a.id,{state:"queued",error:null}]));a6.current=!1,aZ(!0),a_(!1),a1(null),a3(a),a5({total:w.length,completed:0,passed:0,failed:0,stopped:!1});let b=0,c=0;try{for(let a=0;a<w.length;a+=1){if(a6.current){a5({total:w.length,completed:a,passed:b,failed:c,stopped:!0});break}let d=w[a];a1(d.id),a3(a=>({...a,[d.id]:{state:"testing",error:null}}));try{let a=await fetch(`/api/providers/${d.id}/test`,{method:"POST"}),e=await a.json(),f=!!e.valid;f?b+=1:c+=1,a3(a=>({...a,[d.id]:{state:f?"success":"failed",error:f?null:e.error||null}}))}catch(a){c+=1,a3(b=>({...b,[d.id]:{state:"failed",error:a.message||"Test failed"}}))}a5({total:w.length,completed:a+1,passed:b,failed:c,stopped:!1}),a<w.length-1&&await new Promise(a=>setTimeout(a,1e3))}}finally{a1(null),aZ(!1),a_(!1),a6.current=!1}},bN=async a=>{aV({title:"Delete Connection",message:"Delete this connection?",onConfirm:async()=>{aV(null);try{(await fetch(`/api/providers/${a}`,{method:"DELETE"})).ok&&y(b=>b.filter(b=>b.id!==a))}catch(a){console.log("Error deleting connection:",a)}}})},bO=()=>{bC(),T(!1)},bP=async a=>{Z("");try{let b=await fetch("/api/providers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:s,...a})}),c=null;try{c=await b.json()}catch{c=null}if(b.ok){await bC(),X(!1);return}Z(c?.error||"Failed to save connection")}catch(a){console.log("Error saving connection:",a),Z("Failed to save connection")}},bQ=async a=>{try{(await fetch(`/api/providers/${ag.id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)})).ok&&(await bC(),ab(!1))}catch(a){console.log("Error updating connection:",a)}},bR=async(a,b)=>{try{(await fetch(`/api/providers/${a}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isActive:b})})).ok&&y(c=>c.map(c=>c.id===a?{...c,isActive:b}:c))}catch(a){console.log("Error updating connection status:",a)}},bS=async(a,b)=>{let c=[...w];[c[a],c[b]]=[c[b],c[a]],y(c);try{await Promise.all([fetch(`/api/providers/${c[a].id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({priority:a})}),fetch(`/api/providers/${c[b].id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({priority:b})})])}catch(a){console.log("Error swapping priority:",a),await bC()}},bT=w.filter(a=>aA.includes(a.id)),bU=w.length>0&&aA.length===w.length;(()=>{if(0===bT.length)return;let a=new Set(bT.map(a=>a.providerSpecificData?.proxyPoolId||"__none__"));if(1===a.size){let b=[...a][0];if("__none__"===b)return;let c=Q.find(a=>a.id===b);return c?.name}})();let bV=()=>{aE||af(!1)},bW=async a=>{aF(!0);try{let b=0;for(let{connectionId:c,proxyPoolId:d}of a)try{(await fetch(`/api/providers/${c}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({proxyPoolId:d})})).ok||(b+=1)}catch(a){console.log("Error applying proxy for",c,a),b+=1}b>0&&alert(`Updated with ${b} failed request(s).`),await bC(),af(!1)}finally{aF(!1)}},bX=a=>bW(w.map(b=>({connectionId:b.id,proxyPoolId:a}))),bY=(0,d.jsx)("div",{className:"flex min-w-0 flex-col divide-y divide-border-subtle",children:w.map((a,b)=>{let c;return(0,d.jsxs)("div",{className:"flex min-w-0 items-stretch",children:[(0,d.jsx)("div",{className:"flex shrink-0 items-center pl-1 sm:pl-2",children:(0,d.jsx)("input",{type:"checkbox",checked:(c=a.id,aA.includes(c)),onChange:()=>{var b;return b=a.id,void aB(a=>a.includes(b)?a.filter(a=>a!==b):[...a,b])},className:"h-4 w-4 rounded border-gray-300 text-primary focus:ring-primary"})}),(0,d.jsx)("div",{className:"flex-1 min-w-0",children:(0,d.jsx)(A,{connection:a,proxyPools:Q,isOAuth:bh,isFirst:0===b,isLast:b===w.length-1,onMoveUp:()=>bS(b,b-1),onMoveDown:()=>bS(b,b+1),onToggleActive:b=>bR(a.id,b),autoPing:P[s]&&"oauth"===a.authType?{on:!0===aM.connections[a.id],onToggle:b=>{var c;return c=a.id,void bG({...aM,connections:{...aM.connections,[c]:b}})},provider:s}:null,onUpdateProxy:async b=>{try{(await fetch(`/api/providers/${a.id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({proxyPoolId:b||null})})).ok&&y(c=>c.map(c=>c.id===a.id?{...c,providerSpecificData:{...c.providerSpecificData,proxyPoolId:b||null}}:c))}catch(a){console.log("Error updating proxy:",a)}},onEdit:()=>{ah(a),ab(!0)},onDelete:()=>bN(a.id),oneByOneStatus:a2[a.id]||null})})]},a.id)})}),bZ=Q.filter(a=>!0===a.isActive),b$=(0,d.jsx)(j.aF,{isOpen:ae,onClose:bV,title:`Apply Proxy (${w.length} connections)`,children:(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsxs)("div",{className:"flex flex-col",children:[(0,d.jsxs)("button",{onClick:()=>{let a=Q.filter(a=>!0===a.isActive);return 0===a.length?void alert("No active proxy pools available."):bW(w.map((b,c)=>({connectionId:b.id,proxyPoolId:a[c%a.length].id})))},disabled:aE||0===bZ.length,className:"flex items-center gap-2 rounded-lg px-3 py-2 text-left transition-colors hover:bg-surface-2 disabled:cursor-not-allowed disabled:opacity-50",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-text-muted text-[18px]",children:"sync_alt"}),(0,d.jsx)("span",{className:"text-sm text-text-main",children:"One-to-one (rotate)"})]}),(0,d.jsxs)("button",{onClick:()=>bX(null),disabled:aE,className:"flex items-center gap-2 rounded-lg px-3 py-2 text-left transition-colors hover:bg-surface-2 disabled:cursor-not-allowed disabled:opacity-50",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-text-muted text-[18px]",children:"link_off"}),(0,d.jsx)("span",{className:"text-sm text-text-main",children:"None (unbind all)"})]}),Q.map(a=>(0,d.jsxs)("button",{onClick:()=>bX(a.id),disabled:aE||!0!==a.isActive,className:"flex items-center gap-2 rounded-lg px-3 py-2 text-left transition-colors hover:bg-surface-2 disabled:cursor-not-allowed disabled:opacity-50",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-text-muted text-[18px]",children:"lan"}),(0,d.jsx)("span",{className:"truncate text-sm text-text-main",children:a.name}),!0!==a.isActive&&(0,d.jsx)("span",{className:"text-[10px] text-text-muted",children:"(inactive)"})]},a.id))]}),aE&&(0,d.jsx)("p",{className:"text-xs text-text-muted",children:"Applying..."}),(0,d.jsx)(j.$n,{onClick:bV,variant:"ghost",fullWidth:!0,disabled:aE,children:"Cancel"})]})}),b_=async a=>{if(!as.has(a)){at(b=>new Set(b).add(a));try{let b=await fetch("/api/models/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:`${bt}/${a}`})}),c=await b.json();ap(b=>({...b,[a]:c.ok?"ok":"error"})),ar(c.ok?"":c.error||"Model not reachable")}catch{ap(b=>({...b,[a]:"error"})),ar("Network error")}finally{at(b=>{let c=new Set(b);return c.delete(a),c})}}},b0=async a=>{aw||0===a.length||(ax(!0),ar(""),await Promise.all(a.map(a=>b_(a))),ax(!1))};if(z)return(0,d.jsxs)("div",{className:"flex flex-col gap-8",children:[(0,d.jsx)(j.Qv,{}),(0,d.jsx)(j.Qv,{})]});if(!bf)return(0,d.jsxs)("div",{className:"text-center py-20",children:[(0,d.jsx)("p",{className:"text-text-muted",children:"Provider not found"}),(0,d.jsx)(h(),{href:"/dashboard/providers",className:"text-primary mt-4 inline-block",children:"Back to Providers"})]});let b1=(0,q.k)(bf.id,bf.apiType);return(0,d.jsxs)("div",{className:"flex min-w-0 flex-col gap-6",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)(h(),{href:"/dashboard/providers",className:"inline-flex items-center gap-1 text-sm text-text-muted hover:text-primary transition-colors mb-4",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-lg",children:"arrow_back"}),"Back to Providers"]}),(0,d.jsxs)("div",{className:"flex min-w-0 items-center gap-3 sm:gap-4",children:[(0,d.jsx)("div",{className:"flex size-12 shrink-0 items-center justify-center rounded-lg",style:{backgroundColor:`${bf.color}15`},children:am?(0,d.jsx)("span",{className:"text-sm font-bold",style:{color:bf.color},children:bf.textIcon||bf.id.slice(0,2).toUpperCase()}):(0,d.jsx)(i.default,{src:b1,alt:bf.name,width:48,height:48,className:"max-h-12 max-w-12 rounded-lg object-contain",sizes:"48px",onError:()=>an(!0)})}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3 flex-wrap",children:[(0,d.jsx)("h1",{className:"truncate text-2xl font-semibold tracking-tight sm:text-3xl",children:bf.name}),(bf.notice?.apiKeyUrl||bf.notice?.signupUrl||bf.website)&&(0,d.jsxs)("a",{href:bf.notice?.apiKeyUrl||bf.notice?.signupUrl||bf.website,target:"_blank",rel:"noopener noreferrer",className:"text-xs text-primary hover:underline inline-flex items-center gap-1",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",children:"open_in_new"}),bf.notice?.apiKeyUrl?"Get API Key":"Sign up / Learn more"]}),"moonshot"===s&&(0,d.jsxs)("a",{href:"https://www.kimi.com/activities/viral-referral/share?scenario=invite&from=share_poster&invitation_code=BPGXZR",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 rounded-full bg-primary/12 px-3 py-1 text-xs font-semibold text-primary ring-1 ring-primary/20 hover:bg-primary/20 transition-colors",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",children:"celebration"}),"Get KIMI K3 For Free"]})]}),(0,d.jsxs)("p",{className:"text-text-muted",children:[w.length," connection",1===w.length?"":"s"]})]})]})]}),bf.deprecated&&(0,d.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-yellow-500/10 border border-yellow-500/30",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] text-yellow-500 mt-0.5 shrink-0",children:"warning"}),(0,d.jsx)("p",{className:"text-xs text-red-600 dark:text-yellow-400 leading-relaxed",children:bf.deprecationNotice})]}),bf.notice?.text&&!bf.deprecated&&(0,d.jsxs)("div",{className:"flex flex-col gap-2 rounded-lg border border-info/30 bg-info/10 px-3 py-2 sm:flex-row sm:items-center",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] text-info shrink-0",children:"info"}),(0,d.jsx)("p",{className:"min-w-0 flex-1 text-xs leading-relaxed text-info",children:bf.notice.text}),bf.notice.apiKeyUrl&&(0,d.jsx)("a",{href:bf.notice.apiKeyUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex justify-center rounded bg-blue-500 px-2 py-1 text-xs font-medium text-white transition-colors hover:bg-blue-600 sm:py-0.5",children:"Get API Key →"})]}),bo&&F&&(0,d.jsx)(j.Zp,{children:(0,d.jsxs)("div",{className:"mb-4 flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold",children:bn?"Anthropic Compatible Details":"OpenAI Compatible Details"}),(0,d.jsxs)("p",{className:"break-all text-sm text-text-muted",children:[bn?"Messages API":"responses"===F.apiType?"Responses API":"Chat Completions"," \xb7 ",(F.baseUrl||"").replace(/\/$/,""),"/",bn?"messages":"responses"===F.apiType?"responses":"chat/completions"]})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-2 sm:flex sm:items-center",children:[(0,d.jsx)(j.$n,{size:"sm",icon:"add",onClick:()=>{Z(""),X(!0)},className:"w-full sm:w-auto",children:"Add API Key"}),(0,d.jsx)(j.$n,{size:"sm",variant:"secondary",icon:"edit",onClick:()=>ad(!0),className:"w-full sm:w-auto",children:"Edit"}),(0,d.jsx)(j.$n,{size:"sm",variant:"secondary",icon:"delete",onClick:async()=>{aV({title:"Delete Compatible Node",message:`Delete this ${bn?"Anthropic":"OpenAI"} Compatible node?`,onConfirm:async()=>{aV(null);try{(await fetch(`/api/provider-nodes/${s}`,{method:"DELETE"})).ok&&r.push("/dashboard/providers")}catch(a){console.log("Error deleting provider node:",a)}}})},className:"w-full sm:w-auto",children:"Delete"})]})]})}),bj?(0,d.jsx)(j.gw,{providerId:s}):(0,d.jsxs)(j.Zp,{children:[(0,d.jsxs)("div",{className:"mb-4 flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold",children:"Connections"}),(0,d.jsx)(I,{providerId:s}),"freebuff-web"===s&&w.length>0&&(0,d.jsx)(L,{connectionId:w[0].id}),"v0-vercel-web"===s&&w.length>0&&(0,d.jsx)(M,{connectionId:w[0].id}),"qwencloud"===s&&w.length>0&&(0,d.jsx)(N,{connectionId:w[0].id})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:gap-4",children:[w.length>0&&Q.length>0&&(0,d.jsx)(j.$n,{size:"sm",variant:"secondary",icon:"lan",onClick:()=>af(!0),children:"Apply Proxy"}),w.length>0&&(0,d.jsxs)(d.Fragment,{children:[aA.length>0&&(0,d.jsxs)(j.$n,{size:"sm",variant:"danger",icon:"delete",onClick:()=>{let a=aA.length;0!==a&&aV({title:`Delete ${a} Connection${a>1?"s":""}`,message:`Delete ${a} connection${a>1?"s":""}? This cannot be undone.`,onConfirm:async()=>{aV(null);let a=0,b=[...aA];for(let c of b)try{(await fetch(`/api/providers/${c}`,{method:"DELETE"})).ok||(a+=1)}catch(b){console.log("Error deleting connection:",b),a+=1}y(a=>a.filter(a=>!b.includes(a.id))),aB([]),a>0&&alert(`Deleted ${b.length-a} connection(s), ${a} failed.`)}})},children:["Delete Selected (",aA.length,")"]}),(0,d.jsx)(j.$n,{size:"sm",variant:"secondary",icon:"sync",onClick:bM,disabled:aY,children:aY?"Testing Connection One-by-One...":"Test Connection One-by-One"}),aY&&(0,d.jsx)(j.$n,{size:"sm",variant:"ghost",icon:"stop",onClick:()=>{aY&&(a6.current=!0,a_(!0))},disabled:a$,children:a$?"Stopping...":"Stop"})]}),bs&&(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"text-xs text-text-muted font-medium",children:"Thought Level"}),(0,d.jsx)("select",{value:aK,onChange:a=>{var b;aL(b=a.target.value),bF(b)},className:"text-xs px-2 py-1 border border-border rounded-md bg-background focus:outline-none focus:border-primary",children:bs.options.map(a=>(0,d.jsx)("option",{value:a,children:a.charAt(0).toUpperCase()+a.slice(1)},a))})]}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)("span",{className:"text-xs text-text-muted font-medium",children:"Round Robin"}),(0,d.jsx)(j.lM,{checked:"round-robin"===aG,onChange:a=>{let b=a?"round-robin":null,c=a?aI||"1":aI;a&&!aI&&aJ("1"),aH(b),bE(b,c)}}),"round-robin"===aG&&(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:"text-xs text-text-muted",children:"Sticky:"}),(0,d.jsx)("input",{type:"number",min:1,value:aI,onChange:a=>{var b;aJ(b=a.target.value),bE("round-robin",b)},placeholder:"1",className:"w-14 px-2 py-1 text-xs border border-border rounded-md bg-background focus:outline-none focus:border-primary"})]})]}),"zenmux-free"===s&&w.length>0&&(0,d.jsx)(J,{connectionId:w[0].id,cookie:w[0].apiKey||"",currentPlan:w[0].providerSpecificData?.zenmuxPlan||"free",onPlanChanged:()=>{bC()}})]})]}),0===w.length?(0,d.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("div",{className:"inline-flex items-center justify-center w-9 h-9 rounded-full bg-primary/10 text-primary shrink-0",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:bh?"lock":"key"})}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"No connections yet"}),bp&&(0,d.jsxs)("p",{className:"text-xs text-text-muted",children:["Choose ",bq," or ",br,"."]})]})]}),(0,d.jsx)("div",{className:"flex gap-2",children:bp?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(j.$n,{size:"sm",icon:"lock",variant:"secondary",onClick:bc,children:bq}),(0,d.jsx)(j.$n,{size:"sm",icon:"key",onClick:bd,children:br})]}):(0,d.jsxs)(d.Fragment,{children:[!bo&&"iflow"===s&&(0,d.jsx)(j.$n,{size:"sm",icon:"cookie",variant:"secondary",onClick:()=>V(!0),children:"Cookie"}),"codex"===s&&(0,d.jsx)(j.$n,{size:"sm",icon:"playlist_add",variant:"secondary",onClick:()=>_(!0),children:(0,o.Tl)("Bulk Add")}),(0,d.jsx)(j.$n,{size:"sm",icon:"add",onClick:be,children:bo?"Add API Key":"iflow"===s?"OAuth":"Add Connection"})]})})]}):(0,d.jsxs)(d.Fragment,{children:[a4&&(0,d.jsx)("div",{className:"mb-4 rounded-lg border border-border bg-black/[0.02] px-3 py-2 text-xs text-text-muted dark:border-white/10 dark:bg-white/[0.03]",children:(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,d.jsxs)("span",{children:["Total: ",a4.total]}),(0,d.jsxs)("span",{children:["Completed: ",a4.completed]}),(0,d.jsxs)("span",{children:["Passed: ",a4.passed]}),(0,d.jsxs)("span",{children:["Failed: ",a4.failed]}),a4.stopped&&(0,d.jsx)("span",{className:"text-warning",children:"Stopped"}),aY&&a0&&(0,d.jsxs)("span",{children:["Running: ",w.find(a=>a.id===a0)?.name||a0]})]})}),w.length>0&&(0,d.jsx)("div",{className:"mb-3 flex items-center gap-2 border-b border-black/[0.03] pb-2 dark:border-white/[0.03]",children:(0,d.jsxs)("label",{className:"flex cursor-pointer items-center gap-1.5 text-xs text-text-muted hover:text-primary",children:[(0,d.jsx)("input",{type:"checkbox",checked:bU,onChange:()=>{bU?aB([]):aB(w.map(a=>a.id))},className:"h-3.5 w-3.5 rounded border-gray-300 text-primary focus:ring-primary"}),"Select All"]})}),bY,!bo&&(0,d.jsxs)("div",{className:"mt-4 grid grid-cols-1 gap-2 sm:flex",children:["iflow"===s&&(0,d.jsx)(j.$n,{size:"sm",icon:"cookie",variant:"secondary",onClick:()=>V(!0),title:"Add connection using browser cookie",className:"w-full sm:w-auto",children:"Cookie"}),"codex"===s&&(0,d.jsx)(j.$n,{size:"sm",icon:"playlist_add",variant:"secondary",onClick:()=>_(!0),title:(0,o.Tl)("Bulk import codex accounts from JSON"),className:"w-full sm:w-auto",children:(0,o.Tl)("Bulk Add")}),bp?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(j.$n,{size:"sm",icon:"lock",variant:"secondary",onClick:bc,className:"w-full sm:w-auto",children:bq}),(0,d.jsx)(j.$n,{size:"sm",icon:"key",onClick:bd,className:"w-full sm:w-auto",children:br})]}):(0,d.jsx)(j.$n,{size:"sm",icon:"add",onClick:be,className:"w-full sm:w-auto",children:"Add"})]})]})]}),(0,d.jsx)(j.Zp,{children:(0,d.jsx)("div",{className:"py-1",children:(0,d.jsx)(K,{providerId:s})})}),(0,d.jsxs)(j.Zp,{children:[(0,d.jsxs)("div",{className:"mb-4 flex flex-col gap-3",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold",children:"Available Models"}),!bo&&(a=[...bk,...aQ.filter(a=>!bk.some(b=>b.id===a.id))].filter(a=>{let b=(0,l.CP)(a);return!b||"llm"===b}).map(a=>a.id).filter(a=>!aS.includes(a)),b=au.trim().toLowerCase(),c=a.filter(a=>!b||a.toLowerCase().includes(b)),(0,d.jsxs)("div",{className:"flex flex-wrap gap-2",children:[aS.length>0&&(0,d.jsx)(j.$n,{size:"sm",variant:"secondary",icon:"restart_alt",onClick:bz,children:"Active All"}),a.length>0&&(0,d.jsx)(j.$n,{size:"sm",variant:"secondary",icon:"block",onClick:()=>by(a),children:"Disable All"}),(w.length>0||bj)&&c.length>0&&(0,d.jsx)(j.$n,{size:"sm",variant:"primary",icon:aw?"progress_activity":"play_arrow",onClick:()=>b0(c),disabled:aw,children:aw?"Testing...":`Test All (${c.length})`})]}))]}),(0,d.jsx)("div",{className:"sm:max-w-xs",children:(0,d.jsx)(j.pd,{type:"search",placeholder:"Search models...",value:au,onChange:a=>av(a.target.value),className:"w-full"})})]}),!!aq&&(0,d.jsx)("p",{className:"text-xs text-danger mb-3 break-words",children:aq}),(()=>{let a,b,c;if(bo)return(0,d.jsx)(x,{providerStorageAlias:bt,providerDisplayAlias:bu,modelAliases:ai,customModels:ak,copied:a9,onCopy:ba,onSetAlias:bH,onDeleteAlias:bI,onAddCustomModel:a=>bJ(a,"llm",bt),onDeleteCustomModel:a=>bK(a,"llm",bt),connections:w,isAnthropic:bn});let e=[...bk,...aQ.filter(a=>!bk.some(b=>b.id===a.id))].filter(a=>{let b=(0,l.CP)(a);return!b||"llm"===b}),f=new Set(aS),g=e.filter(a=>!f.has(a.id)),h=e.filter(a=>f.has(a.id)),i=p({customModels:ak,modelAliases:ai,providerAlias:bt,builtInModels:bk,type:"llm"}),j=au.trim().toLowerCase(),k=(a,b="")=>!j||a.toLowerCase().includes(j)||String(b).toLowerCase().includes(j),m=g.filter(a=>k(a.id,a.name)),n=i.filter(a=>k(a.id,a.name));return(0,d.jsxs)("div",{className:"flex flex-wrap gap-3",children:[n.map(a=>(0,d.jsx)(v,{model:{id:a.id,name:a.name},fullModel:`${bu}/${a.id}`,alias:a.alias,copied:a9,onCopy:ba,onSetAlias:()=>{},onDeleteAlias:()=>{"custom"===a.source?bK(a.id,"llm",bt):bI(a.alias)},testStatus:ao[a.id],onTest:w.length>0||bj?()=>b_(a.id):void 0,isTesting:as.has(a.id),isCustom:!0,isFree:!1,caps:t(`${s}/${a.id}`)},`${a.source}-${a.fullModel}`)),m.map(a=>{let b=`${bt}/${a.id}`,c=`${s}/${a.id}`,e=Object.entries(ai).find(([,a])=>a===b||a===c)?.[0];return(0,d.jsx)(v,{model:a,fullModel:`${bu}/${a.id}`,alias:e,copied:a9,onCopy:ba,onSetAlias:b=>bH(a.id,b,bt),onDeleteAlias:()=>bI(e),testStatus:ao[a.id],onTest:w.length>0||bj?()=>b_(a.id):void 0,isTesting:as.has(a.id),isFree:a.isFree,onDisable:()=>bw(a.id),caps:t(`${s}/${a.id}`)},a.id)}),au.trim()&&0===m.length&&0===n.length&&(0,d.jsxs)("p",{className:"w-full text-center text-sm text-text-muted py-4",children:["No models match “",au,"”"]}),(0,d.jsxs)("button",{onClick:()=>az(!0),className:"flex w-full items-center justify-center gap-1.5 rounded-lg border border-dashed border-primary/40 px-3 py-2 text-xs text-primary transition-colors hover:border-primary hover:bg-primary/5 sm:w-auto",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",children:"add"}),"Add Model"]}),"qoder"===s&&w.some(a=>!1!==a.isActive)&&(0,d.jsxs)("button",{onClick:bL,disabled:a7,className:"flex w-full items-center justify-center gap-1.5 rounded-lg border border-dashed border-blue-500/40 px-3 py-2 text-xs text-info transition-colors hover:border-blue-500 hover:bg-blue-500/5 sm:w-auto disabled:opacity-50 disabled:cursor-not-allowed",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",style:a7?{animation:"spin 1s linear infinite"}:void 0,children:a7?"progress_activity":"download"}),a7?(0,o.Tl)("Fetching..."):(0,o.Tl)("Fetch Qoder Models")]}),aO.length>0&&(a=new Set([...Object.values(ai),...i.map(a=>a.fullModel)]),b=new Set(bk.map(a=>a.id)),0===(c=aO.filter(c=>!a.has(`${bt}/${c.id}`)&&!b.has(c.id))).length?null:(0,d.jsxs)("div",{className:"w-full mt-2",children:[(0,d.jsx)("p",{className:"text-xs text-text-muted mb-2",children:"Suggested free models (≥200k context):"}),(0,d.jsx)("div",{className:"flex flex-wrap gap-2",children:c.map(a=>(0,d.jsxs)("button",{onClick:async()=>{await bJ(a.id,"llm",bt)},className:"flex items-center gap-1 px-2.5 py-1.5 rounded-lg border border-border text-xs text-text-muted hover:text-primary hover:border-primary/40 hover:bg-primary/5 transition-colors",title:`${a.name} \xb7 ${(a.contextLength/1e3).toFixed(0)}k ctx`,children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[13px]",children:"add"}),a.id.split("/").pop()]},a.id))})]})),h.length>0&&(0,d.jsxs)("div",{className:"w-full mt-2",children:[(0,d.jsxs)("p",{className:"text-xs text-text-muted mb-2",children:["Disabled models (",h.length,"):"]}),(0,d.jsx)("div",{className:"flex flex-wrap gap-2",children:h.map(a=>(0,d.jsxs)("button",{onClick:()=>bx(a.id),className:"flex items-center gap-1 px-2.5 py-1.5 rounded-lg border border-dashed border-border text-xs text-text-muted hover:text-primary hover:border-primary/40 hover:bg-primary/5 transition-colors",title:"Restore model",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[13px]",children:"add"}),a.id]},a.id))})]})]})})()]}),b$,"kiro"===s?(0,d.jsx)(j.Mh,{isOpen:S,providerInfo:bf,onSuccess:bO,onClose:()=>T(!1)}):"cursor"===s?(0,d.jsx)(j.G9,{isOpen:S,onSuccess:bO,onClose:()=>T(!1)}):"gitlab"===s?(0,d.jsx)(j.vj,{isOpen:S,providerInfo:bf,onSuccess:bO,onClose:()=>T(!1)}):(0,d.jsx)(j.LF,{isOpen:S,provider:s,providerInfo:bf,onSuccess:bO,onClose:()=>T(!1)}),"iflow"===s&&(0,d.jsx)(j.vE,{isOpen:U,onSuccess:()=>{bC(),V(!1)},onClose:()=>V(!1)}),(0,d.jsx)(C,{isOpen:W,provider:s,providerName:bf.name,isCompatible:bo,isAnthropic:bn,authType:bf?.authType,authHint:bf?.authHint,website:bf?.website,proxyPools:Q,error:Y,onSave:bP,onBulkDone:bC,onClose:()=>{Z(""),X(!1)}}),(0,d.jsx)(j.wI,{isOpen:aa,connection:ag,proxyPools:Q,onSave:bQ,onClose:()=>ab(!1)}),bo&&(0,d.jsx)(D,{isOpen:ac,node:F,onSave:bD,onClose:()=>ad(!1),isAnthropic:bn}),!bo&&(0,d.jsx)(E,{isOpen:ay,providerAlias:bt,providerDisplayAlias:bu,onSave:async a=>{await bJ(a,"llm",bt),az(!1)},onClose:()=>az(!1)}),"codex"===s&&(0,d.jsx)(G,{isOpen:$,onClose:()=>_(!1),onSuccess:bC}),(0,d.jsx)(j.uo,{isOpen:aW,onClose:()=>aX(!1),onConfirm:()=>{(aX(!1),bh)?bb():bd()},title:"Risk Notice",message:bf?.deprecationNotice,confirmText:"I Understand, Continue",cancelText:"Cancel",variant:"danger"}),(0,d.jsx)(j.uo,{isOpen:!!aU,onClose:()=>aV(null),onConfirm:aU?.onConfirm,title:aU?.title||"Confirm",message:aU?.message,variant:"danger"})]})}},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},46293:a=>{"use strict";a.exports=require("sql.js")},48161:a=>{"use strict";a.exports=require("node:os")},50963:(a,b,c)=>{Promise.resolve().then(c.bind(c,42826))},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},71553:a=>{"use strict";a.exports=require("node:dns/promises")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73429:a=>{"use strict";a.exports=require("node:util/types")},73496:a=>{"use strict";a.exports=require("http2")},74075:a=>{"use strict";a.exports=require("zlib")},74875:(a,b,c)=>{"use strict";function d(a,b){return!1===a?"default":"active"===b||"success"===b?"success":"error"===b||"expired"===b||"unavailable"===b?"error":"default"}c.d(b,{g:()=>d})},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},77598:a=>{"use strict";a.exports=require("node:crypto")},78474:a=>{"use strict";a.exports=require("node:events")},79646:a=>{"use strict";a.exports=require("child_process")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81630:a=>{"use strict";a.exports=require("http")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},83997:a=>{"use strict";a.exports=require("tty")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},87997:a=>{"use strict";a.exports=require("node:timers")},91645:a=>{"use strict";a.exports=require("net")},93110:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\Administrator\\\\Desktop\\\\Projects\\\\ExtremeRouter\\\\src\\\\app\\\\(dashboard)\\\\dashboard\\\\providers\\\\[id]\\\\page.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\providers\\[id]\\page.js","default")},94735:a=>{"use strict";a.exports=require("events")},97819:(a,b,c)=>{Promise.resolve().then(c.bind(c,93110))}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,7774,1260,6935,4013,5573,319,7152,8e3,6591,1220,9703,9422,8881,6070,8920,6306,212,2701,8833,318,8895,6182,6457,8271,6316,6777,412,788],()=>b(b.s=26908));module.exports=c})();
|
package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":1,"files":["../../../../../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../../../node_modules/@swc/helpers/package.json","../../../../../../../node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../../../../../../node_modules/better-sqlite3/lib/database.js","../../../../../../../node_modules/better-sqlite3/lib/index.js","../../../../../../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../../../../node_modules/better-sqlite3/lib/methods/backup.js","../../../../../../../node_modules/better-sqlite3/lib/methods/function.js","../../../../../../../node_modules/better-sqlite3/lib/methods/inspect.js","../../../../../../../node_modules/better-sqlite3/lib/methods/pragma.js","../../../../../../../node_modules/better-sqlite3/lib/methods/serialize.js","../../../../../../../node_modules/better-sqlite3/lib/methods/table.js","../../../../../../../node_modules/better-sqlite3/lib/methods/transaction.js","../../../../../../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../../../../node_modules/better-sqlite3/lib/sqlite-error.js","../../../../../../../node_modules/better-sqlite3/lib/util.js","../../../../../../../node_modules/better-sqlite3/package.json","../../../../../../../node_modules/bindings/bindings.js","../../../../../../../node_modules/bindings/package.json","../../../../../../../node_modules/file-uri-to-path/index.js","../../../../../../../node_modules/file-uri-to-path/package.json","../../../../../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../../../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../../../node_modules/next/dist/client/lib/console.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../node_modules/next/dist/compiled/bytes/index.js","../../../../../../../node_modules/next/dist/compiled/bytes/package.json","../../../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../../node_modules/next/dist/compiled/source-map/package.json","../../../../../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../../../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../../../node_modules/next/dist/compiled/ws/index.js","../../../../../../../node_modules/next/dist/compiled/ws/package.json","../../../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../../../node_modules/next/dist/lib/constants.js","../../../../../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../../../node_modules/next/dist/lib/is-error.js","../../../../../../../node_modules/next/dist/lib/picocolors.js","../../../../../../../node_modules/next/dist/lib/scheduler.js","../../../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../../../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../../../node_modules/next/dist/server/lib/parse-stack.js","../../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../../node_modules/next/dist/server/lib/source-maps.js","../../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../../../node_modules/next/dist/server/node-environment-baseline.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../../../node_modules/next/dist/server/node-environment.js","../../../../../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../../../node_modules/next/dist/server/patch-error-inspect.js","../../../../../../../node_modules/next/dist/server/require-hook.js","../../../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../../../../node_modules/next/dist/shared/lib/router/utils/get-segment-param.js","../../../../../../../node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../../../../../node_modules/next/dist/shared/lib/router/utils/interception-routes.js","../../../../../../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../../../../../node_modules/next/dist/shared/lib/segment.js","../../../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../../node_modules/next/dist/shared/lib/size-limit.js","../../../../../../../node_modules/next/package.json","../../../../../../../node_modules/react/cjs/react.development.js","../../../../../../../node_modules/react/cjs/react.production.js","../../../../../../../node_modules/react/index.js","../../../../../../../node_modules/react/package.json","../../../../../../../node_modules/sql.js/dist/sql-wasm.js","../../../../../../../node_modules/sql.js/package.json","../../../../../../../node_modules/wreq-js/dist/wreq-js.cjs","../../../../../../../node_modules/wreq-js/package.json","../../../../../../../package.json","../../../../../../package.json","../../../../../chunks/1051.js","../../../../../chunks/1129.js","../../../../../chunks/1216.js","../../../../../chunks/1220.js","../../../../../chunks/1241.js","../../../../../chunks/1260.js","../../../../../chunks/1350.js","../../../../../chunks/1477.js","../../../../../chunks/1719.js","../../../../../chunks/1813.js","../../../../../chunks/1998.js","../../../../../chunks/212.js","../../../../../chunks/2231.js","../../../../../chunks/2391.js","../../../../../chunks/241.js","../../../../../chunks/2701.js","../../../../../chunks/2722.js","../../../../../chunks/318.js","../../../../../chunks/319.js","../../../../../chunks/3535.js","../../../../../chunks/3546.js","../../../../../chunks/3593.js","../../../../../chunks/3735.js","../../../../../chunks/4040.js","../../../../../chunks/4055.js","../../../../../chunks/412.js","../../../../../chunks/4306.js","../../../../../chunks/4452.js","../../../../../chunks/4632.js","../../../../../chunks/4739.js","../../../../../chunks/4741.js","../../../../../chunks/4780.js","../../../../../chunks/507.js","../../../../../chunks/5217.js","../../../../../chunks/5258.js","../../../../../chunks/5573.js","../../../../../chunks/5612.js","../../../../../chunks/5615.js","../../../../../chunks/5699.js","../../../../../chunks/5781.js","../../../../../chunks/5852.js","../../../../../chunks/595.js","../../../../../chunks/5961.js","../../../../../chunks/6070.js","../../../../../chunks/615.js","../../../../../chunks/6182.js","../../../../../chunks/6306.js","../../../../../chunks/6316.js","../../../../../chunks/6457.js","../../../../../chunks/6630.js","../../../../../chunks/6638.js","../../../../../chunks/6763.js","../../../../../chunks/6777.js","../../../../../chunks/6844.js","../../../../../chunks/6935.js","../../../../../chunks/698.js","../../../../../chunks/7152.js","../../../../../chunks/7524.js","../../../../../chunks/7774.js","../../../../../chunks/788.js","../../../../../chunks/7914.js","../../../../../chunks/7965.js","../../../../../chunks/8000.js","../../../../../chunks/8238.js","../../../../../chunks/8271.js","../../../../../chunks/8520.js","../../../../../chunks/8833.js","../../../../../chunks/8881.js","../../../../../chunks/8895.js","../../../../../chunks/8920.js","../../../../../chunks/8971.js","../../../../../chunks/9422.js","../../../../../chunks/9528.js","../../../../../chunks/9573.js","../../../../../chunks/9609.js","../../../../../chunks/9630.js","../../../../../chunks/9703.js","../../../../../chunks/9903.js","../../../../../webpack-runtime.js","page_client-reference-manifest.js"]}
|
|
1
|
+
{"version":1,"files":["../../../../../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../../../node_modules/@swc/helpers/package.json","../../../../../../../node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../../../../../../node_modules/better-sqlite3/lib/database.js","../../../../../../../node_modules/better-sqlite3/lib/index.js","../../../../../../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../../../../node_modules/better-sqlite3/lib/methods/backup.js","../../../../../../../node_modules/better-sqlite3/lib/methods/function.js","../../../../../../../node_modules/better-sqlite3/lib/methods/inspect.js","../../../../../../../node_modules/better-sqlite3/lib/methods/pragma.js","../../../../../../../node_modules/better-sqlite3/lib/methods/serialize.js","../../../../../../../node_modules/better-sqlite3/lib/methods/table.js","../../../../../../../node_modules/better-sqlite3/lib/methods/transaction.js","../../../../../../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../../../../node_modules/better-sqlite3/lib/sqlite-error.js","../../../../../../../node_modules/better-sqlite3/lib/util.js","../../../../../../../node_modules/better-sqlite3/package.json","../../../../../../../node_modules/bindings/bindings.js","../../../../../../../node_modules/bindings/package.json","../../../../../../../node_modules/file-uri-to-path/index.js","../../../../../../../node_modules/file-uri-to-path/package.json","../../../../../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../../../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../../../node_modules/next/dist/client/lib/console.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../node_modules/next/dist/compiled/bytes/index.js","../../../../../../../node_modules/next/dist/compiled/bytes/package.json","../../../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../../node_modules/next/dist/compiled/source-map/package.json","../../../../../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../../../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../../../node_modules/next/dist/compiled/ws/index.js","../../../../../../../node_modules/next/dist/compiled/ws/package.json","../../../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../../../node_modules/next/dist/lib/constants.js","../../../../../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../../../node_modules/next/dist/lib/is-error.js","../../../../../../../node_modules/next/dist/lib/picocolors.js","../../../../../../../node_modules/next/dist/lib/scheduler.js","../../../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../../../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../../../node_modules/next/dist/server/lib/parse-stack.js","../../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../../node_modules/next/dist/server/lib/source-maps.js","../../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../../../node_modules/next/dist/server/node-environment-baseline.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../../../node_modules/next/dist/server/node-environment.js","../../../../../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../../../node_modules/next/dist/server/patch-error-inspect.js","../../../../../../../node_modules/next/dist/server/require-hook.js","../../../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../../../../node_modules/next/dist/shared/lib/router/utils/get-segment-param.js","../../../../../../../node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../../../../../node_modules/next/dist/shared/lib/router/utils/interception-routes.js","../../../../../../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../../../../../node_modules/next/dist/shared/lib/segment.js","../../../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../../node_modules/next/dist/shared/lib/size-limit.js","../../../../../../../node_modules/next/package.json","../../../../../../../node_modules/react/cjs/react.development.js","../../../../../../../node_modules/react/cjs/react.production.js","../../../../../../../node_modules/react/index.js","../../../../../../../node_modules/react/package.json","../../../../../../../node_modules/sql.js/dist/sql-wasm.js","../../../../../../../node_modules/sql.js/package.json","../../../../../../../node_modules/wreq-js/dist/wreq-js.cjs","../../../../../../../node_modules/wreq-js/package.json","../../../../../../../package.json","../../../../../../package.json","../../../../../chunks/1051.js","../../../../../chunks/1129.js","../../../../../chunks/1216.js","../../../../../chunks/1220.js","../../../../../chunks/1241.js","../../../../../chunks/1260.js","../../../../../chunks/1350.js","../../../../../chunks/1477.js","../../../../../chunks/1719.js","../../../../../chunks/1813.js","../../../../../chunks/1998.js","../../../../../chunks/212.js","../../../../../chunks/2231.js","../../../../../chunks/241.js","../../../../../chunks/2701.js","../../../../../chunks/2722.js","../../../../../chunks/318.js","../../../../../chunks/319.js","../../../../../chunks/3535.js","../../../../../chunks/3546.js","../../../../../chunks/3593.js","../../../../../chunks/3735.js","../../../../../chunks/4013.js","../../../../../chunks/4040.js","../../../../../chunks/4055.js","../../../../../chunks/412.js","../../../../../chunks/42.js","../../../../../chunks/4452.js","../../../../../chunks/4632.js","../../../../../chunks/4739.js","../../../../../chunks/4741.js","../../../../../chunks/4780.js","../../../../../chunks/507.js","../../../../../chunks/5217.js","../../../../../chunks/5258.js","../../../../../chunks/5573.js","../../../../../chunks/5612.js","../../../../../chunks/5615.js","../../../../../chunks/5699.js","../../../../../chunks/5781.js","../../../../../chunks/5852.js","../../../../../chunks/595.js","../../../../../chunks/5961.js","../../../../../chunks/6070.js","../../../../../chunks/615.js","../../../../../chunks/6182.js","../../../../../chunks/6306.js","../../../../../chunks/6316.js","../../../../../chunks/6457.js","../../../../../chunks/6591.js","../../../../../chunks/6630.js","../../../../../chunks/6638.js","../../../../../chunks/6763.js","../../../../../chunks/6777.js","../../../../../chunks/6844.js","../../../../../chunks/6935.js","../../../../../chunks/698.js","../../../../../chunks/7152.js","../../../../../chunks/7524.js","../../../../../chunks/7774.js","../../../../../chunks/788.js","../../../../../chunks/7914.js","../../../../../chunks/7965.js","../../../../../chunks/8000.js","../../../../../chunks/8238.js","../../../../../chunks/8271.js","../../../../../chunks/8520.js","../../../../../chunks/8833.js","../../../../../chunks/8881.js","../../../../../chunks/8895.js","../../../../../chunks/8920.js","../../../../../chunks/8971.js","../../../../../chunks/9422.js","../../../../../chunks/9528.js","../../../../../chunks/9573.js","../../../../../chunks/9609.js","../../../../../chunks/9630.js","../../../../../chunks/9703.js","../../../../../chunks/9903.js","../../../../../webpack-runtime.js","page_client-reference-manifest.js"]}
|