@rsalmn/extremerouter 0.7.3 → 0.7.5
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 +2 -2
- package/app/.next-cli-build/build-manifest.json +2 -2
- 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 +1 -1
- 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 +3 -3
- 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.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 +1 -1
- 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 +1 -1
- 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.nft.json +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.nft.json +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.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.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 +1 -1
- 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.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.nft.json +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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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.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 +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 +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 +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 +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 +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 +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.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 +2 -2
- 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 +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 +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.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +6 -6
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +6 -6
- 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 +2 -2
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +2 -2
- package/app/.next-cli-build/server/chunks/1051.js +1 -1
- package/app/.next-cli-build/server/chunks/1216.js +1 -1
- 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/2701.js +1 -1
- package/app/.next-cli-build/server/chunks/318.js +8 -6
- package/app/.next-cli-build/server/chunks/3571.js +1 -0
- package/app/.next-cli-build/server/chunks/4040.js +2 -2
- package/app/.next-cli-build/server/chunks/412.js +2 -2
- package/app/.next-cli-build/server/chunks/5612.js +1 -1
- package/app/.next-cli-build/server/chunks/5699.js +1 -1
- package/app/.next-cli-build/server/chunks/5961.js +1 -1
- package/app/.next-cli-build/server/chunks/6070.js +1 -1
- package/app/.next-cli-build/server/chunks/615.js +1 -1
- package/app/.next-cli-build/server/chunks/6306.js +1 -1
- package/app/.next-cli-build/server/chunks/6316.js +2 -2
- package/app/.next-cli-build/server/chunks/6763.js +1 -1
- package/app/.next-cli-build/server/chunks/6777.js +1 -1
- package/app/.next-cli-build/server/chunks/7872.js +1 -0
- package/app/.next-cli-build/server/chunks/8238.js +1 -1
- package/app/.next-cli-build/server/chunks/8271.js +1 -1
- package/app/.next-cli-build/server/chunks/8833.js +1 -1
- package/app/.next-cli-build/server/chunks/8920.js +1 -1
- package/app/.next-cli-build/server/chunks/9422.js +1 -1
- package/app/.next-cli-build/server/chunks/9630.js +1 -1
- package/app/.next-cli-build/server/chunks/9903.js +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware.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/static/chunks/1321-959c422643a40389.js +1 -0
- package/app/.next-cli-build/static/chunks/{1696-2558002db021b00d.js → 1696-bafe4b44a7a0439e.js} +1 -1
- package/app/.next-cli-build/static/chunks/1992-b492aa3235a8c259.js +1 -0
- package/app/.next-cli-build/static/chunks/5497-2bcb49ea235529a8.js +7 -0
- package/app/.next-cli-build/static/chunks/705-b7d7b61f41806f0d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-783ab7461aca504e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/playground/page-8a44865bda8d1138.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-a21a13f1ec3bceb0.js +10 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-e71aac08cb013b28.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/{page-5fc4c9e1400d741e.js → page-b1c9268d55538aba.js} +1 -1
- package/app/.next-cli-build/static/css/db2812b8f70181df.css +1 -0
- package/app/cli/.build-home/AppData/Roaming/extremerouter/db/backups/upgrade-0.7.4-to-0.7.5-0.7.5-20260722-212802/data.sqlite +0 -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 +3 -1
- package/app/public/providers/alibaba-cn.svg +11 -0
- package/app/public/providers/alibaba.svg +11 -0
- package/app/public/providers/forge.svg +9 -0
- package/app/public/providers/hcnsec.svg +10 -0
- package/app/public/providers/qwen-cloud-token-plan.svg +8 -0
- package/app/public/providers/qwen-cloud.svg +8 -0
- package/app/public/providers/tokenrouter.svg +15 -0
- package/package.json +1 -1
- package/app/.next-cli-build/server/chunks/8881.js +0 -1
- package/app/.next-cli-build/static/chunks/1321-118ecb4341892b2c.js +0 -1
- package/app/.next-cli-build/static/chunks/5497-d21171ba9c9fbb8d.js +0 -7
- package/app/.next-cli-build/static/chunks/705-197061b2f061280b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-70b66ef1b070a378.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/playground/page-ba165a4326051b21.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-1e4e44e8b9d5d986.js +0 -10
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-0fb5e4d7aabfb5d2.js +0 -1
- package/app/.next-cli-build/static/css/f99fd82ccc97a1ed.css +0 -1
- /package/app/.next-cli-build/static/{3gc9MPTw0g8Wf0FjVPWJh → igzkl-70ERpcxe5WPUc63}/_buildManifest.js +0 -0
- /package/app/.next-cli-build/static/{3gc9MPTw0g8Wf0FjVPWJh → igzkl-70ERpcxe5WPUc63}/_ssgManifest.js +0 -0
- /package/app/cli/.build-home/AppData/Roaming/extremerouter/db/backups/{upgrade-0.6.8-to-0.6.9-0.6.9-20260713-141714 → upgrade-0.7.2-to-0.7.3-0.7.3-20260719-100408}/data.sqlite +0 -0
- /package/app/cli/.build-home/AppData/Roaming/extremerouter/db/backups/{upgrade-0.6.9-to-0.7.0-0.7.0-20260715-111110 → upgrade-0.7.3-to-0.7.4-0.7.4-20260722-105125}/data.sqlite +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"98":{"*":{"id":"4770","name":"*","chunks":[],"async":false}},"2531":{"*":{"id":"84913","name":"*","chunks":[],"async":false}},"4823":{"*":{"id":"50585","name":"*","chunks":[],"async":false}},"6587":{"*":{"id":"51175","name":"*","chunks":[],"async":false}},"7648":{"*":{"id":"85306","name":"*","chunks":[],"async":false}},"8823":{"*":{"id":"32456","name":"*","chunks":[],"async":false}},"11910":{"*":{"id":"83552","name":"*","chunks":[],"async":false}},"15615":{"*":{"id":"14731","name":"*","chunks":[],"async":false}},"16144":{"*":{"id":"40410","name":"*","chunks":[],"async":false}},"17385":{"*":{"id":"86179","name":"*","chunks":[],"async":false}},"17566":{"*":{"id":"74060","name":"*","chunks":[],"async":false}},"20242":{"*":{"id":"69232","name":"*","chunks":[],"async":false}},"21110":{"*":{"id":"19308","name":"*","chunks":[],"async":false}},"21931":{"*":{"id":"267","name":"*","chunks":[],"async":false}},"22662":{"*":{"id":"23296","name":"*","chunks":[],"async":false}},"23879":{"*":{"id":"34965","name":"*","chunks":[],"async":false}},"23936":{"*":{"id":"79488","name":"*","chunks":[],"async":false}},"25086":{"*":{"id":"74812","name":"*","chunks":[],"async":false}},"26300":{"*":{"id":"78962","name":"*","chunks":[],"async":false}},"26706":{"*":{"id":"42826","name":"*","chunks":[],"async":false}},"27123":{"*":{"id":"81921","name":"*","chunks":[],"async":false}},"28058":{"*":{"id":"20084","name":"*","chunks":[],"async":false}},"28067":{"*":{"id":"91099","name":"*","chunks":[],"async":false}},"28815":{"*":{"id":"39645","name":"*","chunks":[],"async":false}},"29366":{"*":{"id":"38930","name":"*","chunks":[],"async":false}},"30565":{"*":{"id":"82275","name":"*","chunks":[],"async":false}},"30815":{"*":{"id":"51109","name":"*","chunks":[],"async":false}},"31852":{"*":{"id":"32189","name":"*","chunks":[],"async":false}},"34325":{"*":{"id":"32171","name":"*","chunks":[],"async":false}},"34695":{"*":{"id":"68983","name":"*","chunks":[],"async":false}},"37466":{"*":{"id":"4812","name":"*","chunks":[],"async":false}},"38587":{"*":{"id":"53845","name":"*","chunks":[],"async":false}},"40197":{"*":{"id":"11229","name":"*","chunks":[],"async":false}},"41095":{"*":{"id":"4120","name":"*","chunks":[],"async":false}},"42593":{"*":{"id":"90929","name":"*","chunks":[],"async":false}},"44493":{"*":{"id":"81157","name":"*","chunks":[],"async":false}},"45455":{"*":{"id":"62727","name":"*","chunks":[],"async":false}},"51825":{"*":{"id":"11633","name":"*","chunks":[],"async":false}},"53501":{"*":{"id":"23658","name":"*","chunks":[],"async":false}},"54677":{"*":{"id":"20695","name":"*","chunks":[],"async":false}},"54960":{"*":{"id":"58980","name":"*","chunks":[],"async":false}},"56061":{"*":{"id":"75171","name":"*","chunks":[],"async":false}},"56319":{"*":{"id":"25919","name":"*","chunks":[],"async":false}},"57076":{"*":{"id":"19388","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"35421","name":"*","chunks":[],"async":false}},"59884":{"*":{"id":"19598","name":"*","chunks":[],"async":false}},"61203":{"*":{"id":"40911","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"60440","name":"*","chunks":[],"async":false}},"61500":{"*":{"id":"8590","name":"*","chunks":[],"async":false}},"62899":{"*":{"id":"5291","name":"*","chunks":[],"async":false}},"64082":{"*":{"id":"94558","name":"*","chunks":[],"async":false}},"64533":{"*":{"id":"50143","name":"*","chunks":[],"async":false}},"64561":{"*":{"id":"61377","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"82265","name":"*","chunks":[],"async":false}},"65784":{"*":{"id":"48468","name":"*","chunks":[],"async":false}},"67968":{"*":{"id":"29370","name":"*","chunks":[],"async":false}},"69472":{"*":{"id":"55236","name":"*","chunks":[],"async":false}},"71088":{"*":{"id":"16316","name":"*","chunks":[],"async":false}},"72908":{"*":{"id":"83352","name":"*","chunks":[],"async":false}},"73579":{"*":{"id":"51585","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"61335","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"84342","name":"*","chunks":[],"async":false}},"80752":{"*":{"id":"3236","name":"*","chunks":[],"async":false}},"81127":{"*":{"id":"95145","name":"*","chunks":[],"async":false}},"83016":{"*":{"id":"14412","name":"*","chunks":[],"async":false}},"84588":{"*":{"id":"17660","name":"*","chunks":[],"async":false}},"85309":{"*":{"id":"29499","name":"*","chunks":[],"async":false}},"85330":{"*":{"id":"81681","name":"*","chunks":[],"async":false}},"85941":{"*":{"id":"18968","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"74661","name":"*","chunks":[],"async":false}},"88512":{"*":{"id":"73180","name":"*","chunks":[],"async":false}},"90285":{"*":{"id":"74281","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"70664","name":"*","chunks":[],"async":false}},"90882":{"*":{"id":"79346","name":"*","chunks":[],"async":false}},"91450":{"*":{"id":"53838","name":"*","chunks":[],"async":false}},"92173":{"*":{"id":"48781","name":"*","chunks":[],"async":false}},"92542":{"*":{"id":"99070","name":"*","chunks":[],"async":false}},"94230":{"*":{"id":"56110","name":"*","chunks":[],"async":false}},"94635":{"*":{"id":"5211","name":"*","chunks":[],"async":false}},"95088":{"*":{"id":"43182","name":"*","chunks":[],"async":false}},"96748":{"*":{"id":"67738","name":"*","chunks":[],"async":false}},"97677":{"*":{"id":"32971","name":"*","chunks":[],"async":false}},"98378":{"*":{"id":"37572","name":"*","chunks":[],"async":false}},"98542":{"*":{"id":"95514","name":"*","chunks":[],"async":false}},"99312":{"*":{"id":"26584","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\client\\components\\builtin\\global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\esm\\client\\components\\builtin\\global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\client\\components\\client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\esm\\client\\components\\client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\client\\components\\http-access-fallback\\error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\esm\\client\\components\\http-access-fallback\\error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\lib\\framework\\boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\esm\\lib\\framework\\boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\lib\\metadata\\generate\\icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\esm\\lib\\metadata\\generate\\icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\@next\\third-parties\\dist\\google\\ga.js":{"id":30565,"name":"*","chunks":["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-118ecb4341892b2c.js","7177","static/chunks/app/layout-402f477579b8a063.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\@next\\third-parties\\dist\\google\\gtm.js":{"id":90285,"name":"*","chunks":["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-118ecb4341892b2c.js","7177","static/chunks/app/layout-402f477579b8a063.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\@next\\third-parties\\dist\\ThirdPartyScriptEmbed.js":{"id":26300,"name":"*","chunks":["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-118ecb4341892b2c.js","7177","static/chunks/app/layout-402f477579b8a063.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\material-symbols\\outlined.css":{"id":5887,"name":"*","chunks":["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-118ecb4341892b2c.js","7177","static/chunks/app/layout-402f477579b8a063.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\client\\script.js":{"id":42593,"name":"*","chunks":["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-118ecb4341892b2c.js","7177","static/chunks/app/layout-402f477579b8a063.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\esm\\client\\script.js":{"id":42593,"name":"*","chunks":["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-118ecb4341892b2c.js","7177","static/chunks/app/layout-402f477579b8a063.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\font\\google\\target.css?{\"path\":\"src\\\\app\\\\layout.js\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}":{"id":57688,"name":"*","chunks":["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-118ecb4341892b2c.js","7177","static/chunks/app/layout-402f477579b8a063.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\globals.css":{"id":51743,"name":"*","chunks":["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-118ecb4341892b2c.js","7177","static/chunks/app/layout-402f477579b8a063.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\i18n\\RuntimeI18nProvider.js":{"id":94635,"name":"*","chunks":["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-118ecb4341892b2c.js","7177","static/chunks/app/layout-402f477579b8a063.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\ThemeProvider.js":{"id":21110,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\callback\\page.js":{"id":59884,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\dashboard\\settings\\pricing\\page.js":{"id":64533,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\landing\\page.js":{"id":85941,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\login\\page.js":{"id":83016,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\AddCustomEmbeddingModal.js":{"id":96748,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\Avatar.js":{"id":56319,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\Badge.js":{"id":56061,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\Button.js":{"id":92542,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\CapacityBadges.js":{"id":29366,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\Card.js":{"id":84588,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\ChangelogModal.js":{"id":40197,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\ComboFormModal.js":{"id":45455,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\CursorAuthModal.js":{"id":30815,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\EditConnectionModal.js":{"id":73579,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\EmptyState.js":{"id":99312,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\Footer.js":{"id":92173,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\GitLabAuthModal.js":{"id":95088,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\Header.js":{"id":8823,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\HeaderMenu.js":{"id":80752,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\IconButton.js":{"id":6587,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\IFlowCookieModal.js":{"id":23936,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\Input.js":{"id":11910,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\KiroAuthModal.js":{"id":61500,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\KiroOAuthWrapper.js":{"id":62899,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\KiroSocialOAuthModal.js":{"id":94230,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\LanguageSwitcher.js":{"id":21931,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\layouts\\AuthLayout.js":{"id":91450,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\layouts\\DashboardLayout.js":{"id":7648,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\Loading.js":{"id":25086,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\ManualConfigModal.js":{"id":28815,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\McpMarketplaceModal.js":{"id":28058,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\Modal.js":{"id":81127,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\ModelSelectModal.js":{"id":72908,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\NineRemoteButton.js":{"id":67968,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\NoAuthProxyCard.js":{"id":4823,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\OAuthModal.js":{"id":90882,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\PageHeader.js":{"id":54960,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\ProviderInfoCard.js":{"id":51825,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\SegmentedControl.js":{"id":28067,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\Select.js":{"id":98,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\Sidebar.js":{"id":31852,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\ThemeToggle.js":{"id":38587,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\Toggle.js":{"id":98542,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\Toolbar.js":{"id":34325,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\Tooltip.js":{"id":97677,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-118ecb4341892b2c.js","705","static/chunks/705-197061b2f061280b.js","5497","static/chunks/5497-d21171ba9c9fbb8d.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\alerts\\page.js":{"id":2531,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\basic-chat\\BasicChatPageClient.js":{"id":88512,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\cli-tools\\[toolId]\\ToolDetailClient.js":{"id":85309,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\cli-tools\\CLIToolsPageClient.js":{"id":53501,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\combos\\page.js":{"id":85330,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\endpoint\\EndpointPageClient.js":{"id":20242,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\media-providers\\[kind]\\[id]\\page.js":{"id":41095,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\media-providers\\[kind]\\page.js":{"id":16144,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\media-providers\\combo\\[id]\\page.js":{"id":22662,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\media-providers\\web\\page.js":{"id":71088,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\mitm\\MitmPageClient.js":{"id":23879,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\overview\\OverviewClient.js":{"id":98378,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\playground\\PlaygroundClient.js":{"id":65784,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\providers\\new\\page.js":{"id":15615,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\providers\\page.js":{"id":34695,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\quota\\components\\ProviderLimits\\index.js":{"id":17566,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\skills\\page.js":{"id":64082,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\token-saver\\TokenSaverClient.js":{"id":61203,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\translator\\page.js":{"id":69472,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\usage\\page.js":{"id":17385,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\HealthMonitor.js":{"id":37466,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\console-log\\ConsoleLogClient.js":{"id":44493,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\SwarmTelemetryMonitor.js":{"id":54677,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\profile\\page.js":{"id":64561,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\providers\\[id]\\page.js":{"id":26706,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\proxy-pools\\page.js":{"id":57076,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\":[],"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\layout":[{"inlined":false,"path":"static/css/8f9ac5a7bd3a79e5.css"},{"inlined":false,"path":"static/css/f99fd82ccc97a1ed.css"}],"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\page":[],"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\layout":[]},"rscModuleMapping":{"98":{"*":{"id":"83784","name":"*","chunks":[],"async":false}},"2531":{"*":{"id":"88559","name":"*","chunks":[],"async":false}},"4823":{"*":{"id":"5843","name":"*","chunks":[],"async":false}},"5887":{"*":{"id":"36497","name":"*","chunks":[],"async":false}},"6587":{"*":{"id":"8229","name":"*","chunks":[],"async":false}},"7648":{"*":{"id":"61780","name":"*","chunks":[],"async":false}},"8823":{"*":{"id":"92669","name":"*","chunks":[],"async":false}},"11910":{"*":{"id":"71230","name":"*","chunks":[],"async":false}},"15615":{"*":{"id":"24885","name":"*","chunks":[],"async":false}},"16144":{"*":{"id":"6452","name":"*","chunks":[],"async":false}},"17385":{"*":{"id":"87149","name":"*","chunks":[],"async":false}},"17566":{"*":{"id":"88256","name":"*","chunks":[],"async":false}},"20242":{"*":{"id":"51747","name":"*","chunks":[],"async":false}},"21110":{"*":{"id":"89886","name":"*","chunks":[],"async":false}},"21931":{"*":{"id":"45205","name":"*","chunks":[],"async":false}},"22662":{"*":{"id":"50254","name":"*","chunks":[],"async":false}},"23879":{"*":{"id":"8523","name":"*","chunks":[],"async":false}},"23936":{"*":{"id":"80342","name":"*","chunks":[],"async":false}},"25086":{"*":{"id":"92082","name":"*","chunks":[],"async":false}},"26300":{"*":{"id":"16764","name":"*","chunks":[],"async":false}},"26706":{"*":{"id":"93110","name":"*","chunks":[],"async":false}},"27123":{"*":{"id":"95547","name":"*","chunks":[],"async":false}},"28058":{"*":{"id":"962","name":"*","chunks":[],"async":false}},"28067":{"*":{"id":"54065","name":"*","chunks":[],"async":false}},"28815":{"*":{"id":"70603","name":"*","chunks":[],"async":false}},"29366":{"*":{"id":"4996","name":"*","chunks":[],"async":false}},"30565":{"*":{"id":"20349","name":"*","chunks":[],"async":false}},"30815":{"*":{"id":"40167","name":"*","chunks":[],"async":false}},"31852":{"*":{"id":"26866","name":"*","chunks":[],"async":false}},"34325":{"*":{"id":"72701","name":"*","chunks":[],"async":false}},"34695":{"*":{"id":"44030","name":"*","chunks":[],"async":false}},"37466":{"*":{"id":"83038","name":"*","chunks":[],"async":false}},"38587":{"*":{"id":"40515","name":"*","chunks":[],"async":false}},"40197":{"*":{"id":"33811","name":"*","chunks":[],"async":false}},"41095":{"*":{"id":"69296","name":"*","chunks":[],"async":false}},"42593":{"*":{"id":"33071","name":"*","chunks":[],"async":false}},"44493":{"*":{"id":"99259","name":"*","chunks":[],"async":false}},"45455":{"*":{"id":"20493","name":"*","chunks":[],"async":false}},"51743":{"*":{"id":"61135","name":"*","chunks":[],"async":false}},"51825":{"*":{"id":"81923","name":"*","chunks":[],"async":false}},"53501":{"*":{"id":"79518","name":"*","chunks":[],"async":false}},"54677":{"*":{"id":"45505","name":"*","chunks":[],"async":false}},"54960":{"*":{"id":"98738","name":"*","chunks":[],"async":false}},"56061":{"*":{"id":"33893","name":"*","chunks":[],"async":false}},"56319":{"*":{"id":"70061","name":"*","chunks":[],"async":false}},"57076":{"*":{"id":"23450","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"98099","name":"*","chunks":[],"async":false}},"59884":{"*":{"id":"3604","name":"*","chunks":[],"async":false}},"61203":{"*":{"id":"13397","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"15098","name":"*","chunks":[],"async":false}},"61500":{"*":{"id":"82448","name":"*","chunks":[],"async":false}},"62899":{"*":{"id":"14285","name":"*","chunks":[],"async":false}},"64082":{"*":{"id":"40852","name":"*","chunks":[],"async":false}},"64533":{"*":{"id":"93870","name":"*","chunks":[],"async":false}},"64561":{"*":{"id":"50047","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"33859","name":"*","chunks":[],"async":false}},"65784":{"*":{"id":"64120","name":"*","chunks":[],"async":false}},"67968":{"*":{"id":"29674","name":"*","chunks":[],"async":false}},"69472":{"*":{"id":"38308","name":"*","chunks":[],"async":false}},"71088":{"*":{"id":"93918","name":"*","chunks":[],"async":false}},"72908":{"*":{"id":"94582","name":"*","chunks":[],"async":false}},"73579":{"*":{"id":"70139","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"16237","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"47644","name":"*","chunks":[],"async":false}},"80752":{"*":{"id":"29354","name":"*","chunks":[],"async":false}},"81127":{"*":{"id":"10079","name":"*","chunks":[],"async":false}},"83016":{"*":{"id":"65674","name":"*","chunks":[],"async":false}},"84588":{"*":{"id":"7290","name":"*","chunks":[],"async":false}},"85309":{"*":{"id":"99005","name":"*","chunks":[],"async":false}},"85330":{"*":{"id":"35447","name":"*","chunks":[],"async":false}},"85941":{"*":{"id":"852","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"36675","name":"*","chunks":[],"async":false}},"88512":{"*":{"id":"79286","name":"*","chunks":[],"async":false}},"90285":{"*":{"id":"31935","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"98562","name":"*","chunks":[],"async":false}},"90882":{"*":{"id":"3080","name":"*","chunks":[],"async":false}},"91450":{"*":{"id":"64420","name":"*","chunks":[],"async":false}},"92173":{"*":{"id":"49123","name":"*","chunks":[],"async":false}},"92542":{"*":{"id":"45512","name":"*","chunks":[],"async":false}},"94230":{"*":{"id":"87228","name":"*","chunks":[],"async":false}},"94635":{"*":{"id":"85117","name":"*","chunks":[],"async":false}},"95088":{"*":{"id":"64148","name":"*","chunks":[],"async":false}},"96748":{"*":{"id":"18200","name":"*","chunks":[],"async":false}},"97677":{"*":{"id":"18421","name":"*","chunks":[],"async":false}},"98378":{"*":{"id":"35968","name":"*","chunks":[],"async":false}},"98542":{"*":{"id":"70092","name":"*","chunks":[],"async":false}},"99312":{"*":{"id":"41970","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
|
|
1
|
+
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"98":{"*":{"id":"4770","name":"*","chunks":[],"async":false}},"2531":{"*":{"id":"84913","name":"*","chunks":[],"async":false}},"4823":{"*":{"id":"50585","name":"*","chunks":[],"async":false}},"6587":{"*":{"id":"51175","name":"*","chunks":[],"async":false}},"7648":{"*":{"id":"85306","name":"*","chunks":[],"async":false}},"8823":{"*":{"id":"32456","name":"*","chunks":[],"async":false}},"11910":{"*":{"id":"83552","name":"*","chunks":[],"async":false}},"15615":{"*":{"id":"14731","name":"*","chunks":[],"async":false}},"16144":{"*":{"id":"40410","name":"*","chunks":[],"async":false}},"17385":{"*":{"id":"86179","name":"*","chunks":[],"async":false}},"17566":{"*":{"id":"74060","name":"*","chunks":[],"async":false}},"20242":{"*":{"id":"69232","name":"*","chunks":[],"async":false}},"21110":{"*":{"id":"19308","name":"*","chunks":[],"async":false}},"21931":{"*":{"id":"267","name":"*","chunks":[],"async":false}},"22662":{"*":{"id":"23296","name":"*","chunks":[],"async":false}},"23879":{"*":{"id":"34965","name":"*","chunks":[],"async":false}},"23936":{"*":{"id":"79488","name":"*","chunks":[],"async":false}},"25086":{"*":{"id":"74812","name":"*","chunks":[],"async":false}},"26300":{"*":{"id":"78962","name":"*","chunks":[],"async":false}},"27123":{"*":{"id":"81921","name":"*","chunks":[],"async":false}},"28058":{"*":{"id":"20084","name":"*","chunks":[],"async":false}},"28067":{"*":{"id":"91099","name":"*","chunks":[],"async":false}},"28815":{"*":{"id":"39645","name":"*","chunks":[],"async":false}},"29366":{"*":{"id":"38930","name":"*","chunks":[],"async":false}},"30565":{"*":{"id":"82275","name":"*","chunks":[],"async":false}},"30815":{"*":{"id":"51109","name":"*","chunks":[],"async":false}},"31852":{"*":{"id":"32189","name":"*","chunks":[],"async":false}},"34325":{"*":{"id":"32171","name":"*","chunks":[],"async":false}},"37466":{"*":{"id":"4812","name":"*","chunks":[],"async":false}},"38587":{"*":{"id":"53845","name":"*","chunks":[],"async":false}},"40197":{"*":{"id":"11229","name":"*","chunks":[],"async":false}},"41095":{"*":{"id":"4120","name":"*","chunks":[],"async":false}},"42418":{"*":{"id":"54185","name":"*","chunks":[],"async":false}},"42593":{"*":{"id":"90929","name":"*","chunks":[],"async":false}},"44493":{"*":{"id":"81157","name":"*","chunks":[],"async":false}},"45455":{"*":{"id":"62727","name":"*","chunks":[],"async":false}},"51825":{"*":{"id":"11633","name":"*","chunks":[],"async":false}},"53501":{"*":{"id":"23658","name":"*","chunks":[],"async":false}},"54677":{"*":{"id":"20695","name":"*","chunks":[],"async":false}},"54960":{"*":{"id":"58980","name":"*","chunks":[],"async":false}},"56061":{"*":{"id":"75171","name":"*","chunks":[],"async":false}},"56319":{"*":{"id":"25919","name":"*","chunks":[],"async":false}},"57076":{"*":{"id":"19388","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"35421","name":"*","chunks":[],"async":false}},"59884":{"*":{"id":"19598","name":"*","chunks":[],"async":false}},"61203":{"*":{"id":"40911","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"60440","name":"*","chunks":[],"async":false}},"61500":{"*":{"id":"8590","name":"*","chunks":[],"async":false}},"62899":{"*":{"id":"5291","name":"*","chunks":[],"async":false}},"64082":{"*":{"id":"94558","name":"*","chunks":[],"async":false}},"64533":{"*":{"id":"50143","name":"*","chunks":[],"async":false}},"64561":{"*":{"id":"61377","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"82265","name":"*","chunks":[],"async":false}},"65784":{"*":{"id":"43411","name":"*","chunks":[],"async":false}},"67968":{"*":{"id":"29370","name":"*","chunks":[],"async":false}},"69472":{"*":{"id":"55236","name":"*","chunks":[],"async":false}},"71088":{"*":{"id":"16316","name":"*","chunks":[],"async":false}},"71761":{"*":{"id":"38068","name":"*","chunks":[],"async":false}},"72908":{"*":{"id":"83352","name":"*","chunks":[],"async":false}},"73579":{"*":{"id":"51585","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"61335","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"84342","name":"*","chunks":[],"async":false}},"80752":{"*":{"id":"3236","name":"*","chunks":[],"async":false}},"81127":{"*":{"id":"95145","name":"*","chunks":[],"async":false}},"83016":{"*":{"id":"14412","name":"*","chunks":[],"async":false}},"84588":{"*":{"id":"17660","name":"*","chunks":[],"async":false}},"85309":{"*":{"id":"29499","name":"*","chunks":[],"async":false}},"85330":{"*":{"id":"81681","name":"*","chunks":[],"async":false}},"85941":{"*":{"id":"18968","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"74661","name":"*","chunks":[],"async":false}},"88512":{"*":{"id":"73180","name":"*","chunks":[],"async":false}},"90285":{"*":{"id":"74281","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"70664","name":"*","chunks":[],"async":false}},"90882":{"*":{"id":"79346","name":"*","chunks":[],"async":false}},"91450":{"*":{"id":"53838","name":"*","chunks":[],"async":false}},"92173":{"*":{"id":"48781","name":"*","chunks":[],"async":false}},"92542":{"*":{"id":"99070","name":"*","chunks":[],"async":false}},"94230":{"*":{"id":"56110","name":"*","chunks":[],"async":false}},"94635":{"*":{"id":"5211","name":"*","chunks":[],"async":false}},"95088":{"*":{"id":"43182","name":"*","chunks":[],"async":false}},"96748":{"*":{"id":"67738","name":"*","chunks":[],"async":false}},"97677":{"*":{"id":"32971","name":"*","chunks":[],"async":false}},"98378":{"*":{"id":"37572","name":"*","chunks":[],"async":false}},"98542":{"*":{"id":"95514","name":"*","chunks":[],"async":false}},"99312":{"*":{"id":"26584","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\client\\components\\builtin\\global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\esm\\client\\components\\builtin\\global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\client\\components\\client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\esm\\client\\components\\client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\client\\components\\http-access-fallback\\error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\esm\\client\\components\\http-access-fallback\\error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\lib\\framework\\boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\esm\\lib\\framework\\boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\lib\\metadata\\generate\\icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\esm\\lib\\metadata\\generate\\icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\@next\\third-parties\\dist\\google\\ga.js":{"id":30565,"name":"*","chunks":["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-959c422643a40389.js","7177","static/chunks/app/layout-402f477579b8a063.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\@next\\third-parties\\dist\\google\\gtm.js":{"id":90285,"name":"*","chunks":["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-959c422643a40389.js","7177","static/chunks/app/layout-402f477579b8a063.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\@next\\third-parties\\dist\\ThirdPartyScriptEmbed.js":{"id":26300,"name":"*","chunks":["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-959c422643a40389.js","7177","static/chunks/app/layout-402f477579b8a063.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\material-symbols\\outlined.css":{"id":5887,"name":"*","chunks":["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-959c422643a40389.js","7177","static/chunks/app/layout-402f477579b8a063.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\client\\script.js":{"id":42593,"name":"*","chunks":["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-959c422643a40389.js","7177","static/chunks/app/layout-402f477579b8a063.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\dist\\esm\\client\\script.js":{"id":42593,"name":"*","chunks":["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-959c422643a40389.js","7177","static/chunks/app/layout-402f477579b8a063.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\node_modules\\next\\font\\google\\target.css?{\"path\":\"src\\\\app\\\\layout.js\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}":{"id":57688,"name":"*","chunks":["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-959c422643a40389.js","7177","static/chunks/app/layout-402f477579b8a063.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\globals.css":{"id":51743,"name":"*","chunks":["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-959c422643a40389.js","7177","static/chunks/app/layout-402f477579b8a063.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\i18n\\RuntimeI18nProvider.js":{"id":94635,"name":"*","chunks":["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-959c422643a40389.js","7177","static/chunks/app/layout-402f477579b8a063.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\ThemeProvider.js":{"id":21110,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\callback\\page.js":{"id":59884,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\dashboard\\settings\\pricing\\page.js":{"id":64533,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\landing\\page.js":{"id":85941,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\login\\page.js":{"id":83016,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\AddCustomEmbeddingModal.js":{"id":96748,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\Avatar.js":{"id":56319,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\Badge.js":{"id":56061,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\Button.js":{"id":92542,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\CapacityBadges.js":{"id":29366,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\Card.js":{"id":84588,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\ChangelogModal.js":{"id":40197,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\ComboFormModal.js":{"id":45455,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\CursorAuthModal.js":{"id":30815,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\EditConnectionModal.js":{"id":73579,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\EmptyState.js":{"id":99312,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\Footer.js":{"id":92173,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\GitLabAuthModal.js":{"id":95088,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\Header.js":{"id":8823,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\HeaderMenu.js":{"id":80752,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\IconButton.js":{"id":6587,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\IFlowCookieModal.js":{"id":23936,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\Input.js":{"id":11910,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\KiroAuthModal.js":{"id":61500,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\KiroOAuthWrapper.js":{"id":62899,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\KiroSocialOAuthModal.js":{"id":94230,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\LanguageSwitcher.js":{"id":21931,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\layouts\\AuthLayout.js":{"id":91450,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\layouts\\DashboardLayout.js":{"id":7648,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\Loading.js":{"id":25086,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\ManualConfigModal.js":{"id":28815,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\McpMarketplaceModal.js":{"id":28058,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\Modal.js":{"id":81127,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\ModelSelectModal.js":{"id":72908,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\NineRemoteButton.js":{"id":67968,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\NoAuthProxyCard.js":{"id":4823,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\OAuthModal.js":{"id":90882,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\PageHeader.js":{"id":54960,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\ProviderInfoCard.js":{"id":51825,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\SegmentedControl.js":{"id":28067,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\Select.js":{"id":98,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\Sidebar.js":{"id":31852,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\ThemeToggle.js":{"id":38587,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\Toggle.js":{"id":98542,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\Toolbar.js":{"id":34325,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\Tooltip.js":{"id":97677,"name":"*","chunks":["27","static/chunks/27-a63677413de6d402.js","1321","static/chunks/1321-959c422643a40389.js","705","static/chunks/705-b7d7b61f41806f0d.js","5497","static/chunks/5497-2bcb49ea235529a8.js","9305","static/chunks/app/(dashboard)/layout-ac93a6a5df6b898f.js"],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\alerts\\page.js":{"id":2531,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\basic-chat\\BasicChatPageClient.js":{"id":88512,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\cli-tools\\[toolId]\\ToolDetailClient.js":{"id":85309,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\cli-tools\\CLIToolsPageClient.js":{"id":53501,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\combos\\page.js":{"id":85330,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\endpoint\\EndpointPageClient.js":{"id":20242,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\media-providers\\[kind]\\[id]\\page.js":{"id":41095,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\media-providers\\[kind]\\page.js":{"id":16144,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\media-providers\\combo\\[id]\\page.js":{"id":22662,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\media-providers\\web\\page.js":{"id":71088,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\mitm\\MitmPageClient.js":{"id":23879,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\overview\\OverviewClient.js":{"id":98378,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\playground\\PlaygroundClient.js":{"id":65784,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\providers\\new\\page.js":{"id":15615,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\providers\\page.js":{"id":42418,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\quota\\components\\ProviderLimits\\index.js":{"id":17566,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\skills\\page.js":{"id":64082,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\token-saver\\TokenSaverClient.js":{"id":61203,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\translator\\page.js":{"id":69472,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\usage\\page.js":{"id":17385,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\console-log\\ConsoleLogClient.js":{"id":44493,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\HealthMonitor.js":{"id":37466,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\shared\\components\\SwarmTelemetryMonitor.js":{"id":54677,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\profile\\page.js":{"id":64561,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\providers\\[id]\\page.js":{"id":71761,"name":"*","chunks":[],"async":false},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\proxy-pools\\page.js":{"id":57076,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\":[],"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\layout":[{"inlined":false,"path":"static/css/8f9ac5a7bd3a79e5.css"},{"inlined":false,"path":"static/css/db2812b8f70181df.css"}],"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\page":[],"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\layout":[]},"rscModuleMapping":{"98":{"*":{"id":"83784","name":"*","chunks":[],"async":false}},"2531":{"*":{"id":"88559","name":"*","chunks":[],"async":false}},"4823":{"*":{"id":"5843","name":"*","chunks":[],"async":false}},"5887":{"*":{"id":"36497","name":"*","chunks":[],"async":false}},"6587":{"*":{"id":"8229","name":"*","chunks":[],"async":false}},"7648":{"*":{"id":"61780","name":"*","chunks":[],"async":false}},"8823":{"*":{"id":"92669","name":"*","chunks":[],"async":false}},"11910":{"*":{"id":"71230","name":"*","chunks":[],"async":false}},"15615":{"*":{"id":"24885","name":"*","chunks":[],"async":false}},"16144":{"*":{"id":"6452","name":"*","chunks":[],"async":false}},"17385":{"*":{"id":"87149","name":"*","chunks":[],"async":false}},"17566":{"*":{"id":"88256","name":"*","chunks":[],"async":false}},"20242":{"*":{"id":"51747","name":"*","chunks":[],"async":false}},"21110":{"*":{"id":"89886","name":"*","chunks":[],"async":false}},"21931":{"*":{"id":"45205","name":"*","chunks":[],"async":false}},"22662":{"*":{"id":"50254","name":"*","chunks":[],"async":false}},"23879":{"*":{"id":"8523","name":"*","chunks":[],"async":false}},"23936":{"*":{"id":"80342","name":"*","chunks":[],"async":false}},"25086":{"*":{"id":"92082","name":"*","chunks":[],"async":false}},"26300":{"*":{"id":"16764","name":"*","chunks":[],"async":false}},"27123":{"*":{"id":"95547","name":"*","chunks":[],"async":false}},"28058":{"*":{"id":"962","name":"*","chunks":[],"async":false}},"28067":{"*":{"id":"54065","name":"*","chunks":[],"async":false}},"28815":{"*":{"id":"70603","name":"*","chunks":[],"async":false}},"29366":{"*":{"id":"4996","name":"*","chunks":[],"async":false}},"30565":{"*":{"id":"20349","name":"*","chunks":[],"async":false}},"30815":{"*":{"id":"40167","name":"*","chunks":[],"async":false}},"31852":{"*":{"id":"26866","name":"*","chunks":[],"async":false}},"34325":{"*":{"id":"72701","name":"*","chunks":[],"async":false}},"37466":{"*":{"id":"83038","name":"*","chunks":[],"async":false}},"38587":{"*":{"id":"40515","name":"*","chunks":[],"async":false}},"40197":{"*":{"id":"33811","name":"*","chunks":[],"async":false}},"41095":{"*":{"id":"69296","name":"*","chunks":[],"async":false}},"42418":{"*":{"id":"44030","name":"*","chunks":[],"async":false}},"42593":{"*":{"id":"33071","name":"*","chunks":[],"async":false}},"44493":{"*":{"id":"99259","name":"*","chunks":[],"async":false}},"45455":{"*":{"id":"20493","name":"*","chunks":[],"async":false}},"51743":{"*":{"id":"61135","name":"*","chunks":[],"async":false}},"51825":{"*":{"id":"81923","name":"*","chunks":[],"async":false}},"53501":{"*":{"id":"79518","name":"*","chunks":[],"async":false}},"54677":{"*":{"id":"45505","name":"*","chunks":[],"async":false}},"54960":{"*":{"id":"98738","name":"*","chunks":[],"async":false}},"56061":{"*":{"id":"33893","name":"*","chunks":[],"async":false}},"56319":{"*":{"id":"70061","name":"*","chunks":[],"async":false}},"57076":{"*":{"id":"23450","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"98099","name":"*","chunks":[],"async":false}},"59884":{"*":{"id":"3604","name":"*","chunks":[],"async":false}},"61203":{"*":{"id":"13397","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"15098","name":"*","chunks":[],"async":false}},"61500":{"*":{"id":"82448","name":"*","chunks":[],"async":false}},"62899":{"*":{"id":"14285","name":"*","chunks":[],"async":false}},"64082":{"*":{"id":"40852","name":"*","chunks":[],"async":false}},"64533":{"*":{"id":"93870","name":"*","chunks":[],"async":false}},"64561":{"*":{"id":"50047","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"33859","name":"*","chunks":[],"async":false}},"65784":{"*":{"id":"64120","name":"*","chunks":[],"async":false}},"67968":{"*":{"id":"29674","name":"*","chunks":[],"async":false}},"69472":{"*":{"id":"38308","name":"*","chunks":[],"async":false}},"71088":{"*":{"id":"93918","name":"*","chunks":[],"async":false}},"71761":{"*":{"id":"93110","name":"*","chunks":[],"async":false}},"72908":{"*":{"id":"94582","name":"*","chunks":[],"async":false}},"73579":{"*":{"id":"70139","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"16237","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"47644","name":"*","chunks":[],"async":false}},"80752":{"*":{"id":"29354","name":"*","chunks":[],"async":false}},"81127":{"*":{"id":"10079","name":"*","chunks":[],"async":false}},"83016":{"*":{"id":"65674","name":"*","chunks":[],"async":false}},"84588":{"*":{"id":"7290","name":"*","chunks":[],"async":false}},"85309":{"*":{"id":"99005","name":"*","chunks":[],"async":false}},"85330":{"*":{"id":"35447","name":"*","chunks":[],"async":false}},"85941":{"*":{"id":"852","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"36675","name":"*","chunks":[],"async":false}},"88512":{"*":{"id":"79286","name":"*","chunks":[],"async":false}},"90285":{"*":{"id":"31935","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"98562","name":"*","chunks":[],"async":false}},"90882":{"*":{"id":"3080","name":"*","chunks":[],"async":false}},"91450":{"*":{"id":"64420","name":"*","chunks":[],"async":false}},"92173":{"*":{"id":"49123","name":"*","chunks":[],"async":false}},"92542":{"*":{"id":"45512","name":"*","chunks":[],"async":false}},"94230":{"*":{"id":"87228","name":"*","chunks":[],"async":false}},"94635":{"*":{"id":"85117","name":"*","chunks":[],"async":false}},"95088":{"*":{"id":"64148","name":"*","chunks":[],"async":false}},"96748":{"*":{"id":"18200","name":"*","chunks":[],"async":false}},"97677":{"*":{"id":"18421","name":"*","chunks":[],"async":false}},"98378":{"*":{"id":"35968","name":"*","chunks":[],"async":false}},"98542":{"*":{"id":"70092","name":"*","chunks":[],"async":false}},"99312":{"*":{"id":"41970","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
|
|
@@ -126,8 +126,8 @@
|
|
|
126
126
|
"/api/provider-nodes/route": "app/api/provider-nodes/route.js",
|
|
127
127
|
"/api/providers/[id]/route": "app/api/providers/[id]/route.js",
|
|
128
128
|
"/api/providers/client/route": "app/api/providers/client/route.js",
|
|
129
|
-
"/api/providers/route": "app/api/providers/route.js",
|
|
130
129
|
"/api/providers/suggested-models/route": "app/api/providers/suggested-models/route.js",
|
|
130
|
+
"/api/providers/route": "app/api/providers/route.js",
|
|
131
131
|
"/api/proxy-pools/[id]/route": "app/api/proxy-pools/[id]/route.js",
|
|
132
132
|
"/api/proxy-pools/[id]/test/route": "app/api/proxy-pools/[id]/test/route.js",
|
|
133
133
|
"/api/proxy-pools/cloudflare-deploy/route": "app/api/proxy-pools/cloudflare-deploy/route.js",
|
|
@@ -176,8 +176,8 @@
|
|
|
176
176
|
"/(dashboard)/dashboard/token-saver/page": "app/(dashboard)/dashboard/token-saver/page.js",
|
|
177
177
|
"/(dashboard)/dashboard/translator/page": "app/(dashboard)/dashboard/translator/page.js",
|
|
178
178
|
"/(dashboard)/dashboard/usage/page": "app/(dashboard)/dashboard/usage/page.js",
|
|
179
|
-
"/(dashboard)/dashboard/health/page": "app/(dashboard)/dashboard/health/page.js",
|
|
180
179
|
"/(dashboard)/dashboard/console-log/page": "app/(dashboard)/dashboard/console-log/page.js",
|
|
180
|
+
"/(dashboard)/dashboard/health/page": "app/(dashboard)/dashboard/health/page.js",
|
|
181
181
|
"/(dashboard)/dashboard/swarm/page": "app/(dashboard)/dashboard/swarm/page.js",
|
|
182
182
|
"/(dashboard)/dashboard/profile/page": "app/(dashboard)/dashboard/profile/page.js",
|
|
183
183
|
"/(dashboard)/dashboard/providers/[id]/page": "app/(dashboard)/dashboard/providers/[id]/page.js",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=1051,exports.ids=[1051,1998],exports.modules={19225:(a,b,c)=>{a.exports=c(44870)},24467:(a,b,c)=>{c.d(b,{MX:()=>k,X6:()=>f,aS:()=>n,hy:()=>h,i5:()=>m,j8:()=>l});var d=c(78474);global._circuitBreakers||(global._circuitBreakers=new Map,global._breakerEmitter=new d.EventEmitter,global._breakerEmitter.setMaxListeners(50));let e=global._circuitBreakers,f=global._breakerEmitter,g={enabled:!0,failureThreshold:5,windowMs:6e4,cooldownMs:3e4,halfOpenMaxCalls:1};function h(a){let b=Number(a)||0;return 0===b||429===b||b>=500}function i(a){let b=e.get(a);return b||(b={provider:a,state:"closed",failures:[],openedAt:null,cooldownEndsAt:null,halfOpenCalls:0},e.set(a,b)),b}function j(a){let b=e.get(a);b&&f.emit("breaker:update",{provider:b.provider,state:b.state,failures:b.failures.length,openedAt:b.openedAt,cooldownEndsAt:b.cooldownEndsAt})}function k(a,b={}){let c={...g,...b?.circuitBreaker||{}};if(!c.enabled)return!1;let d=i(a),e=Date.now();if("open"===d.state)if(!d.cooldownEndsAt||!(e>=d.cooldownEndsAt))return!0;else d.state="halfOpen",d.halfOpenCalls=0,j(a);if("halfOpen"===d.state){if(d.halfOpenCalls>=c.halfOpenMaxCalls)return!0;d.halfOpenCalls++}return!1}function l(a,b={}){if(!({...g,...b?.circuitBreaker||{}}).enabled)return;let c=i(a);("closed"!==c.state||c.failures.length>0)&&(c.state="closed",c.failures=[],c.openedAt=null,c.cooldownEndsAt=null,c.halfOpenCalls=0,j(a))}function m(a,b,c={}){let d={...g,...c?.circuitBreaker||{}};if(!d.enabled)return;let e=i(a),f=Date.now();if("halfOpen"===e.state){e.state="open",e.openedAt=f,e.cooldownEndsAt=f+d.cooldownMs,e.halfOpenCalls=0,e.failures=[{ts:f,status:b}],j(a);return}if("closed"===e.state){e.failures.push({ts:f,status:b});let c=f-d.windowMs;e.failures=e.failures.filter(a=>a.ts>=c),e.failures.length>=d.failureThreshold&&(e.state="open",e.openedAt=f,e.cooldownEndsAt=f+d.cooldownMs,j(a))}}function n(a){let b=monitors.get(a);b&&"halfOpen"===b.state&&b.halfOpenCalls>0&&b.halfOpenCalls--}},39326:(a,b,c)=>{c.d(b,{B:()=>f});var d=c(71998);function e(a){return null==a?"":String(a).trim()}async function f(a={}){try{let b=e(a?.proxyPoolId),c="__none__"===b?"":b,f=function(a={}){let b=a?.connectionProxyEnabled===!0,c=e(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:e(a?.connectionNoProxy)}}(a);if(c){let a=await (0,d.hr)(c),b=e(a?.proxyUrl),f=e(a?.noProxy);if(a&&!0===a.isActive&&b){if("vercel"===a.type||"cloudflare"===a.type||"deno"===a.type)return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:f,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:f,strictProxy:!0===a.strictProxy}}}if(f.connectionProxyEnabled&&f.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,...f};return{source:"none",proxyPoolId:c||null,proxyPool:null,...f}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,op:()=>d.op,rj:()=>d.updateProviderConnection,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},80238:(a,b,c)=>{c.d(b,{Pt:()=>n,Tr:()=>o,c1:()=>l,kI:()=>p,vk:()=>m});var d=c(89718),e=c(39326),f=c(12557),g=c(3662),h=c(40615),i=c(24467),j=c(7803);let k=Promise.resolve();async function l(a,b=null,g=null,m={}){let n,o=b instanceof Set?b:b?new Set([b]):new Set,p=m?.preferredConnectionId||null,q=k;k=new Promise(a=>{n=a});try{let b;await q;let k=(0,h.rs)(a);if(h.IS[k]?.noAuth){let a=((await (0,d.mt)()).providerStrategies||{})[k]||{},b=a.rotateStrategy||"none",f=a.proxyPoolId||"";if("none"!==b&&b)try{let a=(await (0,d.ui)({isActive:!0})).map(a=>a.id).filter(Boolean);if(a.length>=2){let{pickProxyPoolId:d}=await c.e(6638).then(c.bind(c,26638));f=d(a,b,k)||f}}catch{}let g=await (0,e.B)({proxyPoolId:f});return{id:"noauth",connectionName:"Public",isActive:!0,accessToken:"public",providerSpecificData:{connectionProxyEnabled:g.connectionProxyEnabled,connectionProxyUrl:g.connectionProxyUrl,connectionNoProxy:g.connectionNoProxy,connectionProxyPoolId:g.proxyPoolId||null,vercelRelayUrl:g.vercelRelayUrl||""}}}let l=await (0,d.mt)();if((0,i.MX)(a,l))return j.warn("AUTH",`${a} | circuit breaker OPEN — skipping all accounts`),{allRateLimited:!0,rateLimitedUntil:Date.now()+3e4,lastError:"Circuit breaker open",breakerOpen:!0};let m=await (0,d.getProviderConnections)({provider:k,isActive:!0});if(j.debug("AUTH",`${a} | total connections: ${m.length}, excludeIds: ${o.size>0?[...o].join(","):"none"}, model: ${g||"any"}`),0===m.length){try{let{getAdminCredential:b}=await c.e(7524).then(c.bind(c,37524)),d=b(k);if(d)return j.info("AUTH",`${a} | using vault key ${d.keyName} (no user connection)`),{connectionId:"vault",id:"vault",connectionName:`Vault \xb7 ${d.keyName}`,authType:"apikey",apiKey:d.key,accessToken:null,refreshToken:null,providerSpecificData:{},isActive:!0}}catch{}return j.warn("AUTH",`No credentials for ${a}`),null}let n=m.filter(a=>!(o.has(a.id)||(0,f.Bl)(a,g)));if(j.debug("AUTH",`${a} | available: ${n.length}/${m.length}`),m.forEach(a=>{let b=o.has(a.id),c=(0,f.Bl)(a,g);if(b||c){let d=(0,f.kJ)(a);j.debug("AUTH",` → ${a.id?.slice(0,8)} | ${b?"excluded":""} ${c?`modelLocked(${g}) until ${d}`:""}`)}}),0===n.length){let b=m.filter(a=>(0,f.Bl)(a,g)),c=b.map(a=>(0,f.kJ)(a)).filter(Boolean).sort()[0]||null;if(c){let d=b[0];return j.warn("AUTH",`${a} | all ${m.length} accounts locked for ${g||"all"} (${(0,f.Qo)(c)}) | lastError=${d?.lastError?.slice(0,50)}`),{allRateLimited:!0,retryAfter:c,retryAfterHuman:(0,f.Qo)(c),lastError:d?.lastError||null,lastErrorCode:d?.errorCode||null}}return j.warn("AUTH",`${a} | all ${m.length} accounts unavailable`),null}let r=await (0,d.mt)(),s=(r.providerStrategies||{})[k]||{},t=s.fallbackStrategy||r.fallbackStrategy||"fill-first";if(p&&(b=n.find(a=>a.id===p))&&j.info("AUTH",`${a} | pinned to ${b.id?.slice(0,8)} (${b.name||b.email||"unnamed"})`),b);else if("round-robin"===t){let a=s.stickyRoundRobinLimit||r.stickyRoundRobinLimit||3,c=[...n].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(b.lastUsedAt)-new Date(a.lastUsedAt):-1:1:(a.priority||999)-(b.priority||999))[0],e=c?.consecutiveUseCount||0;c&&c.lastUsedAt&&e<a?(b=c,await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:(b.consecutiveUseCount||0)+1})):(b=[...n].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(a.lastUsedAt)-new Date(b.lastUsedAt):1:-1:(a.priority||999)-(b.priority||999))[0],await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:1}))}else b=n[0];let u=await (0,e.B)(b.providerSpecificData||{});return{authType:b.authType,apiKey:b.apiKey,accessToken:b.accessToken,refreshToken:b.refreshToken,idToken:b.idToken,expiresAt:b.expiresAt,expiresIn:b.expiresIn,lastRefreshAt:b.lastRefreshAt,projectId:b.projectId,connectionName:b.displayName||b.name||b.email||b.id,copilotToken:b.providerSpecificData?.copilotToken,providerSpecificData:{...b.providerSpecificData||{},connectionProxyEnabled:u.connectionProxyEnabled,connectionProxyUrl:u.connectionProxyUrl,connectionNoProxy:u.connectionNoProxy,connectionProxyPoolId:u.proxyPoolId||null,vercelRelayUrl:u.vercelRelayUrl||""},connectionId:b.id,testStatus:b.testStatus,lastError:b.lastError,_connection:b}}finally{n&&n()}}async function m(a,b,e,h=null,i=null,k=null,l=null){let n,o,p;if(!a||"noauth"===a)return{shouldFallback:!1,cooldownMs:0};if("vault"===a){try{let{markVaultKeyRateLimited:a}=await c.e(7524).then(c.bind(c,37524));if(h){let c=k&&k>Date.now()?Math.min(k-Date.now(),g.fh):6e4;a(h,l,c),j.info("AUTH",`${h} | vault key rate-limited [${b}] key=${l||"(last-issued)"}, rotating in ${Math.round(c/1e3)}s`)}}catch{}return{shouldFallback:!0,cooldownMs:0}}let q=(await (0,d.getProviderConnections)({provider:h})).find(b=>b.id===a),r=q?.backoffLevel||0;if(k&&k>Date.now()){n=!0;let a=h&&g.gd[h]||g.fh;o=Math.min(k-Date.now(),a),p=0}else({shouldFallback:n,cooldownMs:o,newBackoffLevel:p}=(0,f.hk)(b,e,r));if(!n)return{shouldFallback:!1,cooldownMs:0};let s="string"==typeof e?e.slice(0,100):"Provider error",t=(0,f.S5)(i,o);await (0,d.updateProviderConnection)(a,{...t,testStatus:"unavailable",lastError:s,errorCode:b,lastErrorAt:new Date().toISOString(),backoffLevel:p??r});let u=Object.keys(t)[0],v=q?.displayName||q?.name||q?.email||a.slice(0,8);if(j.warn("AUTH",`${v} locked ${u} for ${Math.round(o/1e3)}s [${b}]`),h&&b&&s&&console.error(`❌ ${h} [${b}]: ${s}`),h&&(429===b||403===b))try{let{dispatchAlert:a}=await c.e(9573).then(c.bind(c,49573));a("rate_limited",{provider:h,status:b,model:u,message:`Provider "${h}" rate-limited (HTTP ${b}) — ${s}. Account "${v}" locked for ${Math.round(o/1e3)}s.`})}catch{}return{shouldFallback:!0,cooldownMs:o}}async function n(a,b,c=null){if(!a||"noauth"===a||"vault"===a)return;let e=b._connection||b,f=Date.now(),g=Object.keys(e).filter(a=>a.startsWith("modelLock_"));if(!e.testStatus&&!e.lastError&&0===g.length)return;let h=g.filter(a=>{if(c&&a===`modelLock_${c}`||c&&"modelLock___all"===a)return!0;let b=e[a];return b&&new Date(b).getTime()<=f});if(0===h.length&&"unavailable"!==e.testStatus&&!e.lastError)return;let i=g.filter(a=>{if(h.includes(a))return!1;let b=e[a];return b&&new Date(b).getTime()>f}),j=Object.fromEntries(h.map(a=>[a,null]));0===i.length&&Object.assign(j,{testStatus:"active",lastError:null,lastErrorAt:null,backoffLevel:0}),await (0,d.updateProviderConnection)(a,j)}function o(a){let b=a.headers.get("Authorization");if(b?.startsWith("Bearer "))return b.slice(7);let c=a.headers.get("x-api-key");return c||null}async function p(a){return!!a&&await (0,d.ek)(a)}},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}}};
|
|
1
|
+
"use strict";exports.id=1051,exports.ids=[1051,1998],exports.modules={19225:(a,b,c)=>{a.exports=c(44870)},24467:(a,b,c)=>{c.d(b,{GK:()=>l,MX:()=>k,X6:()=>f,aS:()=>o,hy:()=>h,i5:()=>n,j8:()=>m});var d=c(78474);global._circuitBreakers||(global._circuitBreakers=new Map,global._breakerEmitter=new d.EventEmitter,global._breakerEmitter.setMaxListeners(50));let e=global._circuitBreakers,f=global._breakerEmitter,g={enabled:!0,failureThreshold:5,windowMs:6e4,cooldownMs:3e4,halfOpenMaxCalls:1};function h(a){let b=Number(a)||0;return 0===b||429===b||b>=500}function i(a){let b=e.get(a);return b||(b={provider:a,state:"closed",failures:[],openedAt:null,cooldownEndsAt:null,halfOpenCalls:0},e.set(a,b)),b}function j(a){let b=e.get(a);b&&f.emit("breaker:update",{provider:b.provider,state:b.state,failures:b.failures.length,openedAt:b.openedAt,cooldownEndsAt:b.cooldownEndsAt})}function k(a,b={}){let c={...g,...b?.circuitBreaker||{}};if(!c.enabled)return!1;let d=i(a),e=Date.now();if("open"===d.state)if(!d.cooldownEndsAt||!(e>=d.cooldownEndsAt))return!0;else d.state="halfOpen",d.halfOpenCalls=0,j(a);if("halfOpen"===d.state){if(d.halfOpenCalls>=c.halfOpenMaxCalls)return!0;d.halfOpenCalls++}return!1}function l(a,b={}){let c={...g,...b?.circuitBreaker||{}};if(!c.enabled)return!1;let d=e.get(a);if(!d)return!1;let f=Date.now();return"open"===d.state?!d.cooldownEndsAt||!(f>=d.cooldownEndsAt):"halfOpen"===d.state&&d.halfOpenCalls>=c.halfOpenMaxCalls}function m(a,b={}){if(!({...g,...b?.circuitBreaker||{}}).enabled)return;let c=i(a);("closed"!==c.state||c.failures.length>0)&&(c.state="closed",c.failures=[],c.openedAt=null,c.cooldownEndsAt=null,c.halfOpenCalls=0,j(a))}function n(a,b,c={}){let d={...g,...c?.circuitBreaker||{}};if(!d.enabled)return;let e=i(a),f=Date.now();if("halfOpen"===e.state){e.state="open",e.openedAt=f,e.cooldownEndsAt=f+d.cooldownMs,e.halfOpenCalls=0,e.failures=[{ts:f,status:b}],j(a);return}if("closed"===e.state){e.failures.push({ts:f,status:b});let c=f-d.windowMs;e.failures=e.failures.filter(a=>a.ts>=c),e.failures.length>=d.failureThreshold&&(e.state="open",e.openedAt=f,e.cooldownEndsAt=f+d.cooldownMs,j(a))}}function o(a){let b=e.get(a);b&&"halfOpen"===b.state&&b.halfOpenCalls>0&&b.halfOpenCalls--}},39326:(a,b,c)=>{c.d(b,{B:()=>f});var d=c(71998);function e(a){return null==a?"":String(a).trim()}async function f(a={}){try{let b=e(a?.proxyPoolId),c="__none__"===b?"":b,f=function(a={}){let b=a?.connectionProxyEnabled===!0,c=e(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:e(a?.connectionNoProxy)}}(a);if(c){let a=await (0,d.hr)(c),b=e(a?.proxyUrl),f=e(a?.noProxy);if(a&&!0===a.isActive&&b){if("vercel"===a.type||"cloudflare"===a.type||"deno"===a.type)return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:f,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:f,strictProxy:!0===a.strictProxy}}}if(f.connectionProxyEnabled&&f.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,...f};return{source:"none",proxyPoolId:c||null,proxyPool:null,...f}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,op:()=>d.op,rj:()=>d.updateProviderConnection,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},80238:(a,b,c)=>{c.d(b,{Pt:()=>n,Tr:()=>o,c1:()=>l,kI:()=>p,vk:()=>m});var d=c(89718),e=c(39326),f=c(12557),g=c(3662),h=c(40615),i=c(24467),j=c(7803);let k=Promise.resolve();async function l(a,b=null,g=null,m={}){let n,o=b instanceof Set?b:b?new Set([b]):new Set,p=m?.preferredConnectionId||null,q=k;k=new Promise(a=>{n=a});try{let b;await q;let k=(0,h.rs)(a);if(h.IS[k]?.noAuth){let a=((await (0,d.mt)()).providerStrategies||{})[k]||{},b=a.rotateStrategy||"none",f=a.proxyPoolId||"";if("none"!==b&&b)try{let a=(await (0,d.ui)({isActive:!0})).map(a=>a.id).filter(Boolean);if(a.length>=2){let{pickProxyPoolId:d}=await c.e(6638).then(c.bind(c,26638));f=d(a,b,k)||f}}catch{}let g=await (0,e.B)({proxyPoolId:f});return{id:"noauth",connectionName:"Public",isActive:!0,accessToken:"public",providerSpecificData:{connectionProxyEnabled:g.connectionProxyEnabled,connectionProxyUrl:g.connectionProxyUrl,connectionNoProxy:g.connectionNoProxy,connectionProxyPoolId:g.proxyPoolId||null,vercelRelayUrl:g.vercelRelayUrl||""}}}let l=await (0,d.mt)();if((0,i.MX)(a,l))return j.warn("AUTH",`${a} | circuit breaker OPEN — skipping all accounts`),{allRateLimited:!0,rateLimitedUntil:Date.now()+3e4,lastError:"Circuit breaker open",breakerOpen:!0};let m=await (0,d.getProviderConnections)({provider:k,isActive:!0});if(j.debug("AUTH",`${a} | total connections: ${m.length}, excludeIds: ${o.size>0?[...o].join(","):"none"}, model: ${g||"any"}`),0===m.length){try{let{getAdminCredential:b}=await c.e(7524).then(c.bind(c,37524)),d=b(k);if(d)return j.info("AUTH",`${a} | using vault key ${d.keyName} (no user connection)`),{connectionId:"vault",id:"vault",connectionName:`Vault \xb7 ${d.keyName}`,authType:"apikey",apiKey:d.key,accessToken:null,refreshToken:null,providerSpecificData:{},isActive:!0}}catch{}return j.warn("AUTH",`No credentials for ${a}`),null}let n=m.filter(a=>!(o.has(a.id)||(0,f.Bl)(a,g)));if(j.debug("AUTH",`${a} | available: ${n.length}/${m.length}`),m.forEach(a=>{let b=o.has(a.id),c=(0,f.Bl)(a,g);if(b||c){let d=(0,f.kJ)(a);j.debug("AUTH",` → ${a.id?.slice(0,8)} | ${b?"excluded":""} ${c?`modelLocked(${g}) until ${d}`:""}`)}}),0===n.length){let b=m.filter(a=>(0,f.Bl)(a,g)),c=b.map(a=>(0,f.kJ)(a)).filter(Boolean).sort()[0]||null;if(c){let d=b[0];return j.warn("AUTH",`${a} | all ${m.length} accounts locked for ${g||"all"} (${(0,f.Qo)(c)}) | lastError=${d?.lastError?.slice(0,50)}`),{allRateLimited:!0,retryAfter:c,retryAfterHuman:(0,f.Qo)(c),lastError:d?.lastError||null,lastErrorCode:d?.errorCode||null}}return j.warn("AUTH",`${a} | all ${m.length} accounts unavailable`),null}let r=await (0,d.mt)(),s=(r.providerStrategies||{})[k]||{},t=s.fallbackStrategy||r.fallbackStrategy||"fill-first";if(p&&(b=n.find(a=>a.id===p))&&j.info("AUTH",`${a} | pinned to ${b.id?.slice(0,8)} (${b.name||b.email||"unnamed"})`),b);else if("round-robin"===t){let a=s.stickyRoundRobinLimit||r.stickyRoundRobinLimit||3,c=[...n].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(b.lastUsedAt)-new Date(a.lastUsedAt):-1:1:(a.priority||999)-(b.priority||999))[0],e=c?.consecutiveUseCount||0;c&&c.lastUsedAt&&e<a?(b=c,await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:(b.consecutiveUseCount||0)+1})):(b=[...n].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(a.lastUsedAt)-new Date(b.lastUsedAt):1:-1:(a.priority||999)-(b.priority||999))[0],await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:1}))}else b=n[0];let u=await (0,e.B)(b.providerSpecificData||{});return{authType:b.authType,apiKey:b.apiKey,accessToken:b.accessToken,refreshToken:b.refreshToken,idToken:b.idToken,expiresAt:b.expiresAt,expiresIn:b.expiresIn,lastRefreshAt:b.lastRefreshAt,projectId:b.projectId,connectionName:b.displayName||b.name||b.email||b.id,copilotToken:b.providerSpecificData?.copilotToken,providerSpecificData:{...b.providerSpecificData||{},connectionProxyEnabled:u.connectionProxyEnabled,connectionProxyUrl:u.connectionProxyUrl,connectionNoProxy:u.connectionNoProxy,connectionProxyPoolId:u.proxyPoolId||null,vercelRelayUrl:u.vercelRelayUrl||""},connectionId:b.id,testStatus:b.testStatus,lastError:b.lastError,_connection:b}}finally{n&&n()}}async function m(a,b,e,h=null,i=null,k=null,l=null){let n,o,p;if(!a||"noauth"===a)return{shouldFallback:!1,cooldownMs:0};if("vault"===a){try{let{markVaultKeyRateLimited:a}=await c.e(7524).then(c.bind(c,37524));if(h){let c=k&&k>Date.now()?Math.min(k-Date.now(),g.fh):6e4;a(h,l,c),j.info("AUTH",`${h} | vault key rate-limited [${b}] key=${l||"(last-issued)"}, rotating in ${Math.round(c/1e3)}s`)}}catch{}return{shouldFallback:!0,cooldownMs:0}}let q=(await (0,d.getProviderConnections)({provider:h})).find(b=>b.id===a),r=q?.backoffLevel||0;if(k&&k>Date.now()){n=!0;let a=h&&g.gd[h]||g.fh;o=Math.min(k-Date.now(),a),p=0}else({shouldFallback:n,cooldownMs:o,newBackoffLevel:p}=(0,f.hk)(b,e,r));if(!n)return{shouldFallback:!1,cooldownMs:0};let s="string"==typeof e?e.slice(0,100):"Provider error",t=(0,f.S5)(i,o);await (0,d.updateProviderConnection)(a,{...t,testStatus:"unavailable",lastError:s,errorCode:b,lastErrorAt:new Date().toISOString(),backoffLevel:p??r});let u=Object.keys(t)[0],v=q?.displayName||q?.name||q?.email||a.slice(0,8);if(j.warn("AUTH",`${v} locked ${u} for ${Math.round(o/1e3)}s [${b}]`),h&&b&&s&&console.error(`❌ ${h} [${b}]: ${s}`),h&&(429===b||403===b))try{let{dispatchAlert:a}=await c.e(9573).then(c.bind(c,49573));a("rate_limited",{provider:h,status:b,model:u,message:`Provider "${h}" rate-limited (HTTP ${b}) — ${s}. Account "${v}" locked for ${Math.round(o/1e3)}s.`})}catch{}return{shouldFallback:!0,cooldownMs:o}}async function n(a,b,c=null){if(!a||"noauth"===a||"vault"===a)return;let e=b._connection||b,f=Date.now(),g=Object.keys(e).filter(a=>a.startsWith("modelLock_"));if(!e.testStatus&&!e.lastError&&0===g.length)return;let h=g.filter(a=>{if(c&&a===`modelLock_${c}`||c&&"modelLock___all"===a)return!0;let b=e[a];return b&&new Date(b).getTime()<=f});if(0===h.length&&"unavailable"!==e.testStatus&&!e.lastError)return;let i=g.filter(a=>{if(h.includes(a))return!1;let b=e[a];return b&&new Date(b).getTime()>f}),j=Object.fromEntries(h.map(a=>[a,null]));0===i.length&&Object.assign(j,{testStatus:"active",lastError:null,lastErrorAt:null,backoffLevel:0}),await (0,d.updateProviderConnection)(a,j)}function o(a){let b=a.headers.get("Authorization");if(b?.startsWith("Bearer "))return b.slice(7);let c=a.headers.get("x-api-key");return c||null}async function p(a){return!!a&&await (0,d.ek)(a)}},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}}};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
exports.id=1216,exports.ids=[1216],exports.modules={18488:(a,b,c)=>{Promise.resolve().then(c.bind(c,51747))},28216:(a,b,c)=>{Promise.resolve().then(c.bind(c,69232))},51747:(a,b,c)=>{"use strict";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\\\\endpoint\\\\EndpointPageClient.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\\endpoint\\EndpointPageClient.js","default")},54603:(a,b,c)=>{"use strict";c.d(b,{Xj:()=>q});var d=c(19713),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(58273);let l=h().join(k.n,"machine-id"),m=h().join(k.n,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.n,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="9r-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}},67960:(a,b,c)=>{"use strict";c.d(b,{Cp:()=>g,Hx:()=>f,Iv:()=>k,Nv:()=>m,RL:()=>j,ev:()=>l,fl:()=>h,hT:()=>d,oX:()=>e,t6:()=>i});let d=["zh-CN","zh-TW"],e=[{icon:"public",title:"Access Anywhere",desc:"Use your API from any network"},{icon:"group",title:"Share Endpoint",desc:"Share URL with team members"},{icon:"code",title:"Use in Cursor/Cline",desc:"Connect AI tools remotely"},{icon:"lock",title:"Encrypted",desc:"End-to-end TLS via Cloudflare"}],f=2e3,g=3e5,h=5e3,i=5,j=1e4,k=5e3,l=[{id:"lite",label:"Lite",desc:"Drop filler, keep grammar"},{id:"full",label:"Full",desc:"Drop articles, fragments OK"},{id:"ultra",label:"Ultra",desc:"Telegraphic, max compression"},{id:"wenyan-lite",label:"文 Lite",desc:"Classical Chinese, light compression",wenyan:!0},{id:"wenyan",label:"文 Full",desc:"Maximum 文言文, 80-90% reduction",wenyan:!0},{id:"wenyan-ultra",label:"文 Ultra",desc:"Extreme classical compression",wenyan:!0}],m=[{id:"lite",label:"Lite",desc:"Build asked, name lazier option"},{id:"full",label:"Full",desc:"Ladder enforced: stdlib/native first"},{id:"ultra",label:"Ultra",desc:"YAGNI extremist, deletion first"}]},69232:(a,b,c)=>{"use strict";c.d(b,{default:()=>o});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(50412),i=c(50377),j=c(67960);function k({label:a,url:b,copyId:c,copied:e,onCopy:f,badge:g,actions:i}){return(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:`text-xs font-mono px-1.5 py-0.5 rounded shrink-0 min-w-[88px] text-center ${"CF"===g||"TS"===g?"bg-primary/10 text-primary":"bg-surface-2 text-text-muted"}`,children:a}),(0,d.jsx)(h.pd,{value:b,readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,d.jsx)("button",{onClick:()=>f(b,c),className:"p-2 hover:bg-black/5 dark:hover:bg-white/5 rounded text-text-muted hover:text-primary transition-colors shrink-0",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:e===c?"check":"content_copy"})}),i]})}function l({status:a,className:b=""}){return(0,d.jsx)("div",{className:`p-2 rounded text-sm ${b} ${"success"===a.type?"bg-green-500/10 text-green-600 dark:text-green-400":"warning"===a.type?"bg-yellow-500/10 text-yellow-600 dark:text-yellow-400":"info"===a.type?"bg-blue-500/10 text-blue-600 dark:text-blue-400":"bg-red-500/10 text-red-600 dark:text-red-400"}`,children:a.message.split(/(https?:\/\/[^\s]+)/g).map((a,b)=>/^https?:\/\//.test(a)?(0,d.jsx)("a",{href:a,target:"_blank",rel:"noreferrer",className:"underline font-medium",children:a},b):a)})}function m({text:a}){return(0,d.jsxs)("span",{className:"relative group inline-flex items-center",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px] text-text-muted cursor-help",children:"help"}),(0,d.jsx)("span",{className:"pointer-events-none absolute left-5 top-1/2 -translate-y-1/2 z-50 w-64 rounded bg-gray-900 dark:bg-gray-800 text-white text-xs px-2.5 py-1.5 opacity-0 group-hover:opacity-100 transition-opacity shadow-lg",children:a})]})}function n({message:a,action:b}){return(0,d.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-amber-500/10 border border-amber-500/20 text-amber-700 dark:text-amber-400",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] shrink-0 mt-0.5",children:"warning"}),(0,d.jsx)("p",{className:"text-xs flex-1",children:a}),b&&(0,d.jsx)("a",{href:b.href,className:"text-xs font-medium underline shrink-0 hover:opacity-80",onClick:b.href.startsWith("#")?a=>{a.preventDefault(),document.getElementById(b.href.slice(1))?.scrollIntoView({behavior:"smooth"})}:void 0,children:b.label})]})}function o({machineId:a}){let[b,c]=(0,e.useState)([]),[f,g]=(0,e.useState)(!0),[q,r]=(0,e.useState)(!1),[s,t]=(0,e.useState)(""),[u,v]=(0,e.useState)(null),[w,x]=(0,e.useState)(null),[y,z]=(0,e.useState)(null),[A,B]=(0,e.useState)(!1),[C,D]=(0,e.useState)(!0),[E,F]=(0,e.useState)(!0),[G,H]=(0,e.useState)(!1),[I,J]=(0,e.useState)(!0),[K,L]=(0,e.useState)(!1),[M,N]=(0,e.useState)(!1),[O,P]=(0,e.useState)(""),[Q,R]=(0,e.useState)(""),[S,T]=(0,e.useState)(!1),[U,V]=(0,e.useState)(""),[W,X]=(0,e.useState)(null),[Y,Z]=(0,e.useState)(!1),[$,_]=(0,e.useState)(!1),[aa,ab]=(0,e.useState)(!1),[ac,ad]=(0,e.useState)(!1),[ae,af]=(0,e.useState)(""),[ag,ah]=(0,e.useState)(!1),[ai,aj]=(0,e.useState)(""),[ak,al]=(0,e.useState)(null),[am,an]=(0,e.useState)(""),[ao,ap]=(0,e.useState)(""),[aq,ar]=(0,e.useState)(null),[as,at]=(0,e.useState)(!1),[au,av]=(0,e.useState)([]),[aw,ax]=(0,e.useState)(""),[ay,az]=(0,e.useState)(!1),[aA,aB]=(0,e.useState)(!1),[aC,aD]=(0,e.useState)(!1),aE=(0,e.useRef)(null);(0,e.useRef)(0),(0,e.useRef)(0),(0,e.useRef)(!1),(0,e.useRef)(!1),(0,e.useRef)(!1),(0,e.useRef)(!1);let[aF,aG]=(0,e.useState)(!1),[aH,aI]=(0,e.useState)(!1),[aJ,aK]=(0,e.useState)(new Set),[aL,aM]=(0,e.useState)(!1),{copied:aN,copy:aO}=(0,i.C)(),aP=!C||!E,aQ=C?"Change the default dashboard password before activating the tunnel.":'Enable "Require login" and set a custom password before activating the tunnel.';(0,e.useCallback)((a,b,c,d,e,f)=>{b.current?(c.current=0,d(!0),e.current||(e.current=!0,f(!0))):(c.current+=1,c.current>=j.t6&&d(!1))},[]);let aR=async a=>{try{(await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({tunnelDashboardAccess:a})})).ok&&H(a)}catch(a){console.log("Error updating tunnelDashboardAccess:",a)}},aS=async a=>{try{(await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({requireApiKey:a})})).ok&&B(a)}catch(a){console.log("Error updating requireApiKey:",a)}},aT=async()=>{try{let a=await fetch("/api/keys"),b=await a.json();a.ok&&c(b.keys||[])}catch(a){console.log("Error fetching data:",a)}finally{g(!1)}},aU=async(...a)=>{T(!0),V("Waiting for tunnel ready...");let b=a.filter(Boolean).map(a=>`${a}/api/health`),c=Date.now();for(;Date.now()-c<j.Cp;){if(await new Promise(a=>setTimeout(a,j.Hx)),await Promise.any(b.map(async a=>{if((await fetch(a,{mode:"cors",cache:"no-store"})).ok)return!0;throw Error("not ready")})).catch(()=>!1))return L(!0),T(!1),V(""),!0;if((Date.now()-c)%1e4<j.Hx)try{let a=await fetch("/api/tunnel/status");if(a.ok){let b=await a.json();if(!b.tunnel?.enabled)return X({type:"error",message:"Tunnel process stopped unexpectedly."}),T(!1),V(""),!1}}catch{}}return X({type:"error",message:"Tunnel created but not reachable. Please try again."}),T(!1),V(""),!1},aV=async()=>{Z(!1),T(!0),X(null),V("Creating tunnel...");let a=!0;(async()=>{for(;a;){try{let b=await fetch("/api/tunnel/status");if(b.ok){let c=await b.json();c.download?.downloading?V(`Downloading cloudflared... ${c.download.progress}%`):a&&V("Creating tunnel...")}}catch{}await new Promise(a=>setTimeout(a,1e3))}})();try{let b=await fetch("/api/tunnel/enable",{method:"POST"});a=!1;let c=await b.json();if(!b.ok)return void X({type:"error",message:c.error||"Failed to enable tunnel"});let d=c.tunnelUrl;if(!d)return void X({type:"error",message:"No tunnel URL returned"});P(d),R(c.publicUrl||""),await aU(c.publicUrl,d)}catch(a){X({type:"error",message:a.message})}finally{a=!1,T(!1),V("")}},aW=async()=>{T(!0),X(null);try{let a=await fetch("/api/tunnel/disable",{method:"POST"}),b=await a.json();a.ok?(L(!1),P(""),_(!1),X({type:"success",message:"Tunnel disabled"})):X({type:"error",message:b.error||"Failed to disable tunnel"})}catch(a){X({type:"error",message:a.message})}finally{T(!1)}},aX=async()=>{ar(null);try{let a=await fetch("/api/tunnel/tailscale-check");if(a.ok){let b=await a.json();return ar(b.installed),b}}catch{}return ar(!1),{installed:!1}},aY=async()=>{at(!0),al(null),av([]);try{let a=await fetch("/api/tunnel/tailscale-install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sudoPassword:aw})});ax("");let b=a.body.getReader(),c=new TextDecoder,d="";for(;;){let{done:a,value:e}=await b.read();if(a)break;let f=(d+=c.decode(e,{stream:!0})).split("\n\n");for(let a of(d=f.pop()||"",f)){let b=a.split("\n"),c="progress",d=null;for(let a of b)if(a.startsWith("event: ")&&(c=a.slice(7).trim()),a.startsWith("data: "))try{d=JSON.parse(a.slice(6))}catch{}if(d)if("progress"===c)av(a=>[...a.slice(-50),d.message]);else if("done"===c){ar(!0),at(!1),aB(!1),a0();return}else"error"===c&&al({type:"error",message:d.error||"Install failed"})}}}catch(a){al({type:"error",message:a.message})}finally{at(!1)}},aZ=async a=>{aj("Waiting for Tailscale ready...");let b=`${a}/api/health`,c=Date.now();for(;Date.now()-c<j.Cp;){await new Promise(a=>setTimeout(a,j.Hx));try{let a=await fetch(b,{mode:"no-cors",cache:"no-store"});if(a.ok||"opaque"===a.type)return!0}catch{}}return!1},a$=(a,b)=>{an(a),ap(b)},a_=()=>{an(""),ap("")},a0=async()=>{aB(!1),az(!0),ah(!0),al(null),aj("Connecting..."),a_();try{let a=await fetch("/api/tunnel/tailscale-enable",{method:"POST"}),b=await a.json();if(a.ok&&b.success){af(b.tunnelUrl||"");let a=await aZ(b.tunnelUrl);ab(!0),al(a?null:{type:"warning",message:"Connected but not reachable yet."});return}if(b.needsLogin&&b.authUrl){a$(b.authUrl,"Open Login Page"),aj('Login required — click "Open Login Page" to continue');for(let a=0;a<40;a++){await new Promise(a=>setTimeout(a,3e3));try{let a=await fetch("/api/tunnel/tailscale-check");if(a.ok&&(await a.json()).loggedIn){a_(),aj("Starting funnel...");let a=await fetch("/api/tunnel/tailscale-enable",{method:"POST"}),b=await a.json();if(a.ok&&b.success){af(b.tunnelUrl||"");let a=await aZ(b.tunnelUrl);ab(!0),al(a?null:{type:"warning",message:"Connected but not reachable yet."})}else b.funnelNotEnabled&&b.enableUrl?await a1(b.enableUrl):al({type:"error",message:b.error||"Failed to start funnel"});return}}catch{}}a_(),al({type:"error",message:"Login timed out. Please try again."});return}if(b.funnelNotEnabled&&b.enableUrl)return void await a1(b.enableUrl);al({type:"error",message:b.error||"Failed to connect"})}catch(a){al({type:"error",message:a.message})}finally{ah(!1),az(!1),aj(""),a_()}},a1=async a=>{a$(a,"Open Funnel Settings"),aj('Click "Open Funnel Settings" to enable Funnel...');for(let a=0;a<40;a++){await new Promise(a=>setTimeout(a,3e3));try{let a=await fetch("/api/tunnel/tailscale-enable",{method:"POST"}),b=await a.json();if(a.ok&&b.success){a_(),af(b.tunnelUrl||"");let a=await aZ(b.tunnelUrl);ab(!0),al(a?null:{type:"warning",message:"Connected but not reachable yet."});return}if(b.funnelNotEnabled)continue;if(b.error){a_(),al({type:"error",message:b.error});return}}catch{}}a_(),al({type:"error",message:"Timed out waiting for Funnel to be enabled."})},a2=async()=>{ah(!0),al(null);try{let a=await fetch("/api/tunnel/tailscale-disable",{method:"POST"}),b=await a.json();a.ok?(ab(!1),af(""),aD(!1),al({type:"success",message:"Tailscale disabled"})):al({type:"error",message:b.error||"Failed to disable Tailscale"})}catch(a){al({type:"error",message:a.message})}finally{ah(!1)}},a3=async()=>{al(null),av([]);let a=await aX();a?.installed&&a?.hasCachedPassword?a0():aB(!0)},a4=async()=>{if(s.trim())try{let a=await fetch("/api/keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:s})}),b=await a.json();a.ok&&(v(b.key),await aT(),t(""),r(!1))}catch(a){console.log("Error creating key:",a)}},a5=async a=>{x({title:"Delete API Key",message:"Delete this API key?",onConfirm:async()=>{x(null);try{(await fetch(`/api/keys/${a}`,{method:"DELETE"})).ok&&(c(b.filter(b=>b.id!==a)),aK(b=>{let c=new Set(b);return c.delete(a),c}))}catch(a){console.log("Error deleting key:",a)}}})},a6=async(a,b)=>{try{(await fetch(`/api/keys/${a}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isActive:b})})).ok&&c(c=>c.map(c=>c.id===a?{...c,isActive:b}:c))}catch(a){console.log("Error toggling key:",a)}},[a7,a8]=(0,e.useState)("/v1");return f?(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)(h.Qv,{}),(0,d.jsx)(h.Qv,{})]}):(0,d.jsxs)("div",{className:"flex flex-col gap-5",children:[(0,d.jsx)(h.zY,{title:"Endpoint",description:"Gateway URL, public exposure, and API keys",icon:"api",actions:(0,d.jsx)(h.$n,{size:"sm",icon:"add",onClick:()=>r(!0),children:"New Key"})}),(0,d.jsxs)(h.Zp,{children:[(0,d.jsxs)("h2",{className:"text-lg font-semibold mb-4 flex items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary",children:"api"}),"API Endpoint"]}),(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsx)(k,{label:"Local",url:a7,copyId:"local_url",copied:aN,onCopy:aO}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:`text-xs font-mono px-1.5 py-0.5 rounded shrink-0 min-w-[88px] text-center ${K?"bg-primary/10 text-primary":"bg-surface-2 text-text-muted"}`,children:"Tunnel"}),K&&!S&&M?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(h.pd,{value:`${Q||O}/v1`,readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,d.jsx)("button",{onClick:()=>aO(`${Q||O}/v1`,"tunnel_url"),className:"p-2 hover:hover:bg-surface-3 rounded text-text-muted hover:text-primary transition-colors shrink-0",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"tunnel_url"===aN?"check":"content_copy"})}),(0,d.jsx)("button",{onClick:()=>_(!0),className:"p-2 hover:bg-danger/10 text-danger transition-colors shrink-0",title:"Disable Tunnel",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):!K||S||M?S?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-border bg-input text-sm text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),U||"Creating tunnel..."]}),(0,d.jsx)("button",{onClick:()=>{T(!1),V("")},className:"p-2 hover:bg-danger/10 text-danger transition-colors shrink-0",title:"Stop",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):W?.type==="error"?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-red-300 dark:border-red-800 bg-red-500/5 text-sm text-danger",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",children:"error"}),W.message]}),(0,d.jsx)(h.$n,{size:"sm",icon:"cloud_upload",onClick:()=>Z(!0),children:"Enable"})]}):I?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-border bg-input text-sm text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),"Checking..."]}),(0,d.jsx)("button",{onClick:()=>J(!1),className:"p-2 hover:bg-danger/10 text-danger transition-colors shrink-0",title:"Stop",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):(0,d.jsx)(h.$n,{size:"sm",icon:"cloud_upload",onClick:()=>{aP?X({type:"error",message:`Security required: ${aQ}`}):A?Z(!0):X({type:"error",message:'Security required: Enable "Require API key" before activating the tunnel.'})},children:"Enable"}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-amber-300 dark:border-amber-800 bg-amber-500/5 text-sm text-warning",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),aF?"Tunnel reconnecting...":"Tunnel checking..."]}),(0,d.jsx)("button",{onClick:()=>_(!0),className:"p-2 hover:bg-danger/10 text-danger transition-colors shrink-0",title:"Disable Tunnel",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:`text-xs font-mono px-1.5 py-0.5 rounded shrink-0 min-w-[88px] text-center ${aa?"bg-primary/10 text-primary":"bg-surface-2 text-text-muted"}`,children:"Tailscale"}),aa&&!ag&&ac?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(h.pd,{value:`${ae}/v1`,readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,d.jsx)("button",{onClick:()=>aO(`${ae}/v1`,"ts_url"),className:"p-2 hover:hover:bg-surface-3 rounded text-text-muted hover:text-primary transition-colors shrink-0",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"ts_url"===aN?"check":"content_copy"})}),(0,d.jsx)("button",{onClick:()=>aD(!0),className:"p-2 hover:bg-danger/10 text-danger transition-colors shrink-0",title:"Disable Tailscale",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):!aa||ag||ac?ag||ay?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-border bg-input text-sm text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),ai||"Connecting..."]}),am&&(0,d.jsx)(h.$n,{size:"sm",icon:"open_in_new",onClick:()=>window.open(am,"tailscale_auth","width=600,height=700,noopener,noreferrer"),children:ao||"Open"}),(0,d.jsx)("button",{onClick:()=>{ah(!1),az(!1),aj(""),a_()},className:"p-2 hover:bg-danger/10 text-danger transition-colors shrink-0",title:"Stop",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):ak?.type==="error"?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-red-300 dark:border-red-800 bg-red-500/5 text-sm text-danger",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",children:"error"}),ak.message]}),(0,d.jsx)(h.$n,{size:"sm",icon:"vpn_lock",onClick:a3,children:"Enable"})]}):(0,d.jsx)(h.$n,{size:"sm",icon:"vpn_lock",onClick:()=>{aP?al({type:"error",message:`Security required: ${aQ}`}):a3()},className:"bg-linear-to-r from-indigo-500 to-purple-500 hover:from-indigo-600 hover:to-purple-600 text-white!",children:"Enable"}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-amber-300 dark:border-amber-800 bg-amber-500/5 text-sm text-warning",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),aH?"Tailscale reconnecting...":"Tailscale checking..."]}),(0,d.jsx)("button",{onClick:()=>aD(!0),className:"p-2 hover:bg-danger/10 text-danger transition-colors shrink-0",title:"Disable Tailscale",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]})]})]}),aP&&!K&&!aa&&(0,d.jsx)("div",{className:"mt-4",children:(0,d.jsx)(n,{message:aQ,action:{label:"Open settings",href:"/dashboard/profile"}})}),(K||aa)&&(0,d.jsxs)("div",{className:"mt-4 flex flex-col gap-2",children:[!A&&(0,d.jsx)(n,{message:"Require API key is disabled — your endpoint is publicly accessible without authentication.",action:{label:"Enable",href:"#require-api-key"}}),(!C||!E)&&(0,d.jsx)(n,{message:C?"Dashboard uses the default password — change it in Profile settings.":"Require login is disabled — anyone can access your dashboard via tunnel.",action:{label:C?"Change password":"Enable",href:"/dashboard/profile"}})]}),(K||aa)&&(0,d.jsxs)("div",{className:"mt-4 pt-4 border-t border-border flex items-center gap-3",children:[(0,d.jsx)(h.lM,{checked:G,onChange:()=>aR(!G)}),(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("p",{className:"font-medium text-sm",children:"Allow dashboard access via tunnel"}),(0,d.jsx)(m,{text:"When enabled, the dashboard can be accessed through your tunnel or Tailscale URL (login still required). When disabled, dashboard access via tunnel/Tailscale is completely blocked."})]})]})]}),(0,d.jsxs)(h.Zp,{id:"require-api-key",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,d.jsxs)("h2",{className:"text-lg font-semibold flex items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary",children:"vpn_key"}),"API Keys"]}),(0,d.jsx)(h.$n,{icon:"add",onClick:()=>r(!0),children:"Create Key"})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between pb-4 mb-4 border-b border-border",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"font-medium",children:"Require API key"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Requests without a valid key will be rejected"})]}),(0,d.jsx)(h.lM,{checked:A,onChange:()=>aS(!A)})]}),aL&&!A&&(0,d.jsx)("div",{className:"mb-4 -mt-2",children:(0,d.jsx)(n,{message:"Endpoint is exposed without an API key."})}),0===b.length?(0,d.jsxs)("div",{className:"text-center py-12",children:[(0,d.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-full bg-primary/10 text-primary mb-4",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[32px]",children:"vpn_key"})}),(0,d.jsx)("p",{className:"text-text-main font-medium mb-1",children:"No API keys yet"}),(0,d.jsx)("p",{className:"text-sm text-text-muted mb-4",children:"Create your first API key to get started"}),(0,d.jsx)(h.$n,{icon:"add",onClick:()=>r(!0),children:"Create Key"})]}):(0,d.jsx)("div",{className:"flex flex-col",children:b.map(a=>{var b;return(0,d.jsxs)("div",{className:`group flex items-center justify-between py-3 border-b border-black/[0.03] dark:border-white/[0.03] last:border-b-0 ${!1===a.isActive?"opacity-60":""}`,children:[(0,d.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,d.jsx)("p",{className:"text-sm font-medium",children:a.name}),(0,d.jsxs)("div",{className:"flex items-center gap-2 mt-1",children:[(0,d.jsx)("code",{className:"text-xs text-text-muted font-mono",children:aJ.has(a.id)?a.key:(b=a.key)&&!(b.length<=10)?b.slice(0,6)+"•".repeat(b.length-10)+b.slice(-4):b||""}),(0,d.jsx)("button",{onClick:()=>{var b;return b=a.id,void aK(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},className:"p-1 hover:hover:bg-surface-3 rounded text-text-muted hover:text-primary opacity-100 sm:opacity-0 sm:group-hover:opacity-100 transition-all",title:aJ.has(a.id)?"Hide key":"Show key",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:aJ.has(a.id)?"visibility_off":"visibility"})}),(0,d.jsx)("button",{onClick:()=>aO(a.key,a.id),className:"p-1 hover:hover:bg-surface-3 rounded text-text-muted hover:text-primary opacity-100 sm:opacity-0 sm:group-hover:opacity-100 transition-all",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:aN===a.id?"check":"content_copy"})})]}),(0,d.jsxs)("p",{className:"text-xs text-text-muted mt-1",children:["Created ",new Date(a.createdAt).toLocaleDateString()]}),!1===a.isActive&&(0,d.jsx)("p",{className:"text-xs text-orange-500 mt-1",children:"Paused"})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[Array.isArray(a.allowedModels)&&a.allowedModels.length>0&&(0,d.jsxs)("span",{className:"hidden sm:inline-flex items-center gap-1 rounded-full bg-primary/10 px-2 py-0.5 text-[10px] font-semibold text-primary",title:`Restricted to ${a.allowedModels.length} models`,children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[12px]",children:"lock"}),a.allowedModels.length]}),(0,d.jsx)(h.lM,{size:"sm",checked:a.isActive??!0,onChange:b=>{a.isActive&&!b?x({title:"Pause API Key",message:`Pause API key "${a.name}"?
|
|
2
2
|
|
|
3
|
-
This key will stop working immediately but can be resumed later.`,onConfirm:async()=>{x(null),a6(a.id,b)}}):a6(a.id,b)},title:a.isActive?"Pause key":"Resume key"}),(0,d.jsx)("button",{onClick:()=>z(a),className:"p-2 hover:bg-surface-2 text-text-muted hover:text-primary opacity-100 sm:opacity-0 sm:group-hover:opacity-100 transition-all",title:"Model access control",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"tune"})}),(0,d.jsx)("button",{onClick:()=>a5(a.id),className:"p-2 hover:bg-danger/10 text-danger opacity-100 sm:opacity-0 sm:group-hover:opacity-100 transition-all",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"delete"})})]})]},a.id)})})]}),(0,d.jsx)(h.aF,{isOpen:q,title:"Create API Key",onClose:()=>{r(!1),t("")},children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)(h.pd,{label:"Key Name",value:s,onChange:a=>t(a.target.value),placeholder:"Production Key"}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:a4,fullWidth:!0,disabled:!s.trim(),children:"Create"}),(0,d.jsx)(h.$n,{onClick:()=>{r(!1),t("")},variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})}),(0,d.jsx)(h.aF,{isOpen:!!u,title:"API Key Created",onClose:()=>v(null),children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsxs)("div",{className:"bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 rounded-lg p-4",children:[(0,d.jsx)("p",{className:"text-sm text-yellow-800 dark:text-yellow-200 mb-2 font-medium",children:"Save this key now!"}),(0,d.jsx)("p",{className:"text-sm text-yellow-700 dark:text-yellow-300",children:"This is the only time you will see this key. Store it securely."})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.pd,{value:u||"",readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,d.jsx)(h.$n,{variant:"secondary",icon:"created_key"===aN?"check":"content_copy",onClick:()=>aO(u,"created_key"),children:"created_key"===aN?"Copied!":"Copy"})]}),(0,d.jsx)(h.$n,{onClick:()=>v(null),fullWidth:!0,children:"Done"})]})}),(0,d.jsx)(h.aF,{isOpen:Y,title:"Enable Tunnel",onClose:()=>Z(!1),children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)("div",{className:"bg-surface-2 border border-border-subtle rounded-lg p-4",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary",children:"cloud_upload"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-sm text-text-main font-medium mb-1",children:"Cloudflare Tunnel"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Expose your local ExtremeRouter to the internet. No port forwarding, no static IP needed. Share endpoint URL with your team or use it in Cursor, Cline, and other AI tools from anywhere."})]})]})}),(0,d.jsx)("div",{className:"grid grid-cols-2 gap-3",children:j.oX.map(a=>(0,d.jsxs)("div",{className:"flex flex-col items-center text-center p-3 rounded-lg bg-sidebar/50",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-xl text-primary mb-1",children:a.icon}),(0,d.jsx)("p",{className:"text-xs font-semibold",children:a.title}),(0,d.jsx)("p",{className:"text-xs text-text-muted",children:a.desc})]},a.title))}),(0,d.jsx)("p",{className:"text-xs text-text-muted",children:"Requires outbound port 7844 (TCP/UDP). Connection may take 10-30s."}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:aV,fullWidth:!0,children:"Start Tunnel"}),(0,d.jsx)(h.$n,{onClick:()=>Z(!1),variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})}),(0,d.jsx)(h.aF,{isOpen:$,title:"Disable Tunnel",onClose:()=>!S&&_(!1),children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"The Cloudflare tunnel will be disconnected. Remote access via tunnel URL will stop working."}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:aW,fullWidth:!0,disabled:S,variant:"danger",children:S?"Disabling...":"Disable"}),(0,d.jsx)(h.$n,{onClick:()=>_(!1),variant:"ghost",fullWidth:!0,disabled:S,children:"Cancel"})]})]})}),(0,d.jsx)(h.aF,{isOpen:aA,title:"Tailscale Funnel",onClose:()=>{as||(aB(!1),ax(""),al(null))},children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[null===aq&&(0,d.jsxs)("p",{className:"text-sm text-text-muted flex items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),"Checking..."]}),!1===aq&&!as&&(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Tailscale is not installed. Install it to enable Funnel."}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:aY,fullWidth:!0,children:"Install Tailscale"}),(0,d.jsx)(h.$n,{onClick:()=>aB(!1),variant:"ghost",fullWidth:!0,children:"Cancel"})]})]}),as&&(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-sm text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),"Installing Tailscale..."]}),au.length>0&&(0,d.jsx)("div",{ref:aE,className:"bg-surface-2 rounded p-2 max-h-40 overflow-y-auto font-mono text-xs text-text-muted",children:au.map((a,b)=>(0,d.jsx)("div",{children:a},b))})]}),!0===aq&&!as&&(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-sm text-success",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"check_circle"}),"Tailscale installed"]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:()=>a0(),fullWidth:!0,children:"Connect"}),(0,d.jsx)(h.$n,{onClick:()=>aB(!1),variant:"ghost",fullWidth:!0,children:"Cancel"})]})]}),ak&&(0,d.jsx)(l,{status:ak})]})}),(0,d.jsx)(h.aF,{isOpen:aC,title:"Disable Tailscale",onClose:()=>!ag&&aD(!1),children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Tailscale Funnel will be stopped. Remote access via Tailscale URL will stop working."}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:a2,fullWidth:!0,disabled:ag,variant:"danger",children:ag?"Disabling...":"Disable"}),(0,d.jsx)(h.$n,{onClick:()=>aD(!1),variant:"ghost",fullWidth:!0,disabled:ag,children:"Cancel"})]})]})}),(0,d.jsx)(p,{apiKey:y,onClose:()=>z(null),onSaved:async()=>{await aT(),z(null)}}),(0,d.jsx)(h.uo,{isOpen:!!w,onClose:()=>x(null),onConfirm:w?.onConfirm,title:w?.title||"Confirm",message:w?.message,variant:"danger"})]})}function p({apiKey:a,onClose:b,onSaved:c}){let[f,g]=(0,e.useState)(
|
|
3
|
+
This key will stop working immediately but can be resumed later.`,onConfirm:async()=>{x(null),a6(a.id,b)}}):a6(a.id,b)},title:a.isActive?"Pause key":"Resume key"}),(0,d.jsx)("button",{onClick:()=>z(a),className:"p-2 hover:bg-surface-2 text-text-muted hover:text-primary opacity-100 sm:opacity-0 sm:group-hover:opacity-100 transition-all",title:"Model access control",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"tune"})}),(0,d.jsx)("button",{onClick:()=>a5(a.id),className:"p-2 hover:bg-danger/10 text-danger opacity-100 sm:opacity-0 sm:group-hover:opacity-100 transition-all",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"delete"})})]})]},a.id)})})]}),(0,d.jsx)(h.aF,{isOpen:q,title:"Create API Key",onClose:()=>{r(!1),t("")},children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)(h.pd,{label:"Key Name",value:s,onChange:a=>t(a.target.value),placeholder:"Production Key"}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:a4,fullWidth:!0,disabled:!s.trim(),children:"Create"}),(0,d.jsx)(h.$n,{onClick:()=>{r(!1),t("")},variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})}),(0,d.jsx)(h.aF,{isOpen:!!u,title:"API Key Created",onClose:()=>v(null),children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsxs)("div",{className:"bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 rounded-lg p-4",children:[(0,d.jsx)("p",{className:"text-sm text-yellow-800 dark:text-yellow-200 mb-2 font-medium",children:"Save this key now!"}),(0,d.jsx)("p",{className:"text-sm text-yellow-700 dark:text-yellow-300",children:"This is the only time you will see this key. Store it securely."})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.pd,{value:u||"",readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,d.jsx)(h.$n,{variant:"secondary",icon:"created_key"===aN?"check":"content_copy",onClick:()=>aO(u,"created_key"),children:"created_key"===aN?"Copied!":"Copy"})]}),(0,d.jsx)(h.$n,{onClick:()=>v(null),fullWidth:!0,children:"Done"})]})}),(0,d.jsx)(h.aF,{isOpen:Y,title:"Enable Tunnel",onClose:()=>Z(!1),children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)("div",{className:"bg-surface-2 border border-border-subtle rounded-lg p-4",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary",children:"cloud_upload"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-sm text-text-main font-medium mb-1",children:"Cloudflare Tunnel"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Expose your local ExtremeRouter to the internet. No port forwarding, no static IP needed. Share endpoint URL with your team or use it in Cursor, Cline, and other AI tools from anywhere."})]})]})}),(0,d.jsx)("div",{className:"grid grid-cols-2 gap-3",children:j.oX.map(a=>(0,d.jsxs)("div",{className:"flex flex-col items-center text-center p-3 rounded-lg bg-sidebar/50",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-xl text-primary mb-1",children:a.icon}),(0,d.jsx)("p",{className:"text-xs font-semibold",children:a.title}),(0,d.jsx)("p",{className:"text-xs text-text-muted",children:a.desc})]},a.title))}),(0,d.jsx)("p",{className:"text-xs text-text-muted",children:"Requires outbound port 7844 (TCP/UDP). Connection may take 10-30s."}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:aV,fullWidth:!0,children:"Start Tunnel"}),(0,d.jsx)(h.$n,{onClick:()=>Z(!1),variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})}),(0,d.jsx)(h.aF,{isOpen:$,title:"Disable Tunnel",onClose:()=>!S&&_(!1),children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"The Cloudflare tunnel will be disconnected. Remote access via tunnel URL will stop working."}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:aW,fullWidth:!0,disabled:S,variant:"danger",children:S?"Disabling...":"Disable"}),(0,d.jsx)(h.$n,{onClick:()=>_(!1),variant:"ghost",fullWidth:!0,disabled:S,children:"Cancel"})]})]})}),(0,d.jsx)(h.aF,{isOpen:aA,title:"Tailscale Funnel",onClose:()=>{as||(aB(!1),ax(""),al(null))},children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[null===aq&&(0,d.jsxs)("p",{className:"text-sm text-text-muted flex items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),"Checking..."]}),!1===aq&&!as&&(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Tailscale is not installed. Install it to enable Funnel."}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:aY,fullWidth:!0,children:"Install Tailscale"}),(0,d.jsx)(h.$n,{onClick:()=>aB(!1),variant:"ghost",fullWidth:!0,children:"Cancel"})]})]}),as&&(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-sm text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),"Installing Tailscale..."]}),au.length>0&&(0,d.jsx)("div",{ref:aE,className:"bg-surface-2 rounded p-2 max-h-40 overflow-y-auto font-mono text-xs text-text-muted",children:au.map((a,b)=>(0,d.jsx)("div",{children:a},b))})]}),!0===aq&&!as&&(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-sm text-success",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"check_circle"}),"Tailscale installed"]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:()=>a0(),fullWidth:!0,children:"Connect"}),(0,d.jsx)(h.$n,{onClick:()=>aB(!1),variant:"ghost",fullWidth:!0,children:"Cancel"})]})]}),ak&&(0,d.jsx)(l,{status:ak})]})}),(0,d.jsx)(h.aF,{isOpen:aC,title:"Disable Tailscale",onClose:()=>!ag&&aD(!1),children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Tailscale Funnel will be stopped. Remote access via Tailscale URL will stop working."}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:a2,fullWidth:!0,disabled:ag,variant:"danger",children:ag?"Disabling...":"Disable"}),(0,d.jsx)(h.$n,{onClick:()=>aD(!1),variant:"ghost",fullWidth:!0,disabled:ag,children:"Cancel"})]})]})}),(0,d.jsx)(p,{apiKey:y,onClose:()=>z(null),onSaved:async()=>{await aT(),z(null)}}),(0,d.jsx)(h.uo,{isOpen:!!w,onClose:()=>x(null),onConfirm:w?.onConfirm,title:w?.title||"Confirm",message:w?.message,variant:"danger"})]})}function p({apiKey:a,onClose:b,onSaved:c}){let[f,g]=(0,e.useState)(()=>Array.isArray(a?.allowedModels)?[...a.allowedModels]:[]),[i,j]=(0,e.useState)(""),[k,l]=(0,e.useState)(!1);if(!a)return null;let m=()=>{let a=i.trim();a&&(g(b=>b.includes(a)?b:[...b,a]),j(""))},n=async()=>{l(!0);try{await fetch(`/api/keys/${a.id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({allowedModels:f.length>0?f:null})}),await c()}catch(a){console.log("Failed to save model access:",a)}finally{l(!1)}};return(0,d.jsx)(h.aF,{isOpen:!!a,onClose:b,title:`Model Access — ${a.name||"Key"}`,footer:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(h.$n,{variant:"ghost",onClick:b,disabled:k,children:"Cancel"}),(0,d.jsx)(h.$n,{onClick:n,loading:k,children:"Save"})]}),children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsxs)("p",{className:"text-sm text-text-muted",children:["Restrict which models this API key can access. Leave empty to allow all models. Supports exact model IDs (e.g. ",(0,d.jsx)("code",{className:"font-mono text-xs",children:"glm/glm-5"}),") or provider prefixes (e.g. ",(0,d.jsx)("code",{className:"font-mono text-xs",children:"glm/"})," to allow all GLM models)."]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("input",{type:"text",value:i,onChange:a=>j(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.preventDefault(),m())},placeholder:"e.g. glm/glm-5 or glm/",className:"flex-1 rounded border border-border bg-surface-2 px-3 py-2 text-sm text-text-main placeholder:text-text-muted/70 focus:outline-none focus:ring-2 focus:ring-primary/30"}),(0,d.jsx)(h.$n,{size:"sm",variant:"secondary",icon:"add",onClick:m,children:"Add"})]}),f.length>0?(0,d.jsx)("div",{className:"flex flex-wrap gap-2",children:f.map(a=>(0,d.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-full border border-primary/30 bg-primary/5 px-2.5 py-1 text-xs font-mono text-primary",children:[a,(0,d.jsx)("button",{onClick:()=>g(b=>b.filter(b=>b!==a)),className:"text-primary/60 hover:text-danger transition-colors","aria-label":`Remove ${a}`,children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"close"})})]},a))}):(0,d.jsx)("div",{className:"rounded-lg border border-dashed border-border p-4 text-center text-sm text-text-muted",children:"No restrictions — this key can access all models"}),f.length>0&&(0,d.jsx)("button",{onClick:()=>g([]),className:"self-start text-xs text-danger hover:underline",children:"Clear all restrictions"})]})})}o.propTypes={machineId:g().string.isRequired}},87250:(a,b,c)=>{"use strict";c.d(b,{D:()=>e});var d=c(54603);async function e(){return await (0,d.Xj)()}}};
|