@rsalmn/extremerouter 0.6.2 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/.next-cli-build/BUILD_ID +1 -1
- package/app/.next-cli-build/app-path-routes-manifest.json +3 -3
- package/app/.next-cli-build/build-manifest.json +2 -2
- package/app/.next-cli-build/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.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.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_client-reference-manifest.js +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.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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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/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/profile/page_client-reference-manifest.js +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_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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_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_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/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/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/copilot-settings/route.js.nft.json +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/combos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/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/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/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-exchange/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/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/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.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/settings/database/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.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/stream/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.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.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/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/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/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.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/basic-chat.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/app/.next-cli-build/server/app/dashboard.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
- 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_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_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/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app-paths-manifest.json +3 -3
- package/app/.next-cli-build/server/chunks/1228.js +1 -1
- package/app/.next-cli-build/server/chunks/2231.js +1 -1
- package/app/.next-cli-build/server/chunks/318.js +1 -1
- package/app/.next-cli-build/server/chunks/412.js +2 -2
- package/app/.next-cli-build/server/chunks/4746.js +1 -1
- package/app/.next-cli-build/server/chunks/4827.js +1 -1
- package/app/.next-cli-build/server/chunks/5612.js +1 -1
- package/app/.next-cli-build/server/chunks/6316.js +1 -1
- package/app/.next-cli-build/server/chunks/8238.js +1 -1
- package/app/.next-cli-build/server/chunks/8895.js +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/pages/404.html +1 -1
- package/app/.next-cli-build/server/pages/500.html +1 -1
- package/app/.next-cli-build/static/chunks/{1321-c7f2f6730bedb291.js → 1321-ff2073ad3d1126ca.js} +1 -1
- package/app/.next-cli-build/static/chunks/{5497-179bb832a26fe4e6.js → 5497-470badc121d94683.js} +3 -3
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-9b3ba2db1b90f552.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-1e26cb05320e3649.js → layout-1bb0b613c562d507.js} +1 -1
- package/app/.next-cli-build/static/css/87588eca18fba81a.css +1 -0
- package/app/cli/.build-home/AppData/Roaming/extremerouter/db/backups/upgrade-0.6.0-to-0.6.2-0.6.2-20260704-113435/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 +1 -1
- package/package.json +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-1fd2d562348da417.js +0 -1
- package/app/.next-cli-build/static/css/6668817b6dc2bc31.css +0 -1
- /package/app/.next-cli-build/static/{xIVhy-mkXlmYT3wY-JlEB → RPDQBYxJJwcxTCmP2fmVI}/_buildManifest.js +0 -0
- /package/app/.next-cli-build/static/{xIVhy-mkXlmYT3wY-JlEB → RPDQBYxJJwcxTCmP2fmVI}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/8f9ac5a7bd3a79e5.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/6668817b6dc2bc31.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/008a05b0ad6b854a.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a990cabb6976f421.js"/><script src="/_next/static/chunks/4bd1b696-e356ca5ba0218e27.js" async=""></script><script src="/_next/static/chunks/3794-c66b3d8325973459.js" async=""></script><script src="/_next/static/chunks/main-app-705d8c306f358a5f.js" async=""></script><script src="/_next/static/chunks/1a258343-1aa1820b9db68d51.js" async=""></script><script src="/_next/static/chunks/3807-1f60b140ccc35641.js" async=""></script><script src="/_next/static/chunks/1321-c7f2f6730bedb291.js" async=""></script><script src="/_next/static/chunks/705-c516b80d4469541b.js" async=""></script><script src="/_next/static/chunks/5497-179bb832a26fe4e6.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-1e26cb05320e3649.js" async=""></script><script src="/_next/static/chunks/8720-bbafc2ad7d186ebd.js" async=""></script><script src="/_next/static/chunks/app/layout-402f477579b8a063.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/dashboard/profile/page-3963f4a54f708ed7.js" async=""></script><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-LC959F603F" as="script"/><meta name="theme-color" content="#0a0a0a"/><title>ExtremeRouter - AI Infrastructure Management</title><meta name="description" content="One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/favicon.ico?603d046c9a6fdfbb" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/favicon.svg"/><script>if(document.fonts&&document.fonts.ready){document.fonts.ready.then(function(){document.documentElement.classList.add('fonts-loaded')})}else{document.documentElement.classList.add('fonts-loaded')}</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_f367f3 font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen w-full overflow-hidden bg-bg text-text-main"><div class="pointer-events-none fixed inset-0 bg-[radial-gradient(circle_at_top_left,rgba(139,92,246,0.16),transparent_32rem),radial-gradient(circle_at_top_right,rgba(34,211,238,0.10),transparent_28rem)]" aria-hidden="true"></div><div class="fixed right-4 top-4 z-[80] flex w-[min(92vw,380px)] flex-col gap-2"></div><div class="relative hidden lg:flex"><aside class="flex h-full w-72 shrink-0 flex-col border-r border-border-subtle bg-sidebar backdrop-blur-xl"><div class="border-b border-border-subtle p-4"><a class="group flex items-center gap-3" href="/dashboard"><div class="flex size-9 items-center justify-center rounded-brand bg-primary text-white shadow-[var(--shadow-warm)]"><span class="material-symbols-outlined text-[20px]">hub</span></div><div class="min-w-0"><div class="truncate text-sm font-semibold tracking-tight text-text-main">ExtremeRouter</div><div class="text-xs text-text-muted">Gateway Console · v<!-- -->0.6.2</div></div></a></div><div class="p-3"><a class="flex h-9 items-center gap-2 rounded-brand border border-border bg-surface-2 px-3 text-xs text-text-muted transition-colors hover:border-primary/40 hover:text-text-main" href="/dashboard/providers"><span class="material-symbols-outlined text-[16px]">search</span>Search providers, models, keys…</a></div><nav class="custom-scrollbar flex-1 overflow-y-auto px-3 pb-4"><div class="mb-5"><div class="mb-2 px-2 text-[11px] font-semibold uppercase tracking-[0.16em] text-text-subtle">Gateway</div><div class="space-y-1"><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/endpoint"><span class="material-symbols-outlined text-[18px]">api</span><span class="truncate font-medium">Endpoint</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/providers"><span class="material-symbols-outlined text-[18px]">dns</span><span class="truncate font-medium">Providers</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/combos"><span class="material-symbols-outlined text-[18px]">layers</span><span class="truncate font-medium">Combos</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/token-saver"><span class="material-symbols-outlined text-[18px]">savings</span><span class="truncate font-medium">Token Saver</span></a></div></div><div class="mb-5"><div class="mb-2 px-2 text-[11px] font-semibold uppercase tracking-[0.16em] text-text-subtle">Observe</div><div class="space-y-1"><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/usage"><span class="material-symbols-outlined text-[18px]">bar_chart</span><span class="truncate font-medium">Activity</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/health"><span class="material-symbols-outlined text-[18px]">monitor_heart</span><span class="truncate font-medium">Health</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/quota"><span class="material-symbols-outlined text-[18px]">data_usage</span><span class="truncate font-medium">Quota</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/swarm"><span class="material-symbols-outlined text-[18px]">hub</span><span class="truncate font-medium">Swarm</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/console-log"><span class="material-symbols-outlined text-[18px]">terminal</span><span class="truncate font-medium">Console</span></a></div></div><div class="mb-5"><div class="mb-2 px-2 text-[11px] font-semibold uppercase tracking-[0.16em] text-text-subtle">Tools</div><div class="space-y-1"><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/cli-tools"><span class="material-symbols-outlined text-[18px]">terminal</span><span class="truncate font-medium">CLI Tools</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/translator"><span class="material-symbols-outlined text-[18px]">translate</span><span class="truncate font-medium">Translator</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/mitm"><span class="material-symbols-outlined text-[18px]">security</span><span class="truncate font-medium">MITM Proxy</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/media-providers/image"><span class="material-symbols-outlined text-[18px]">perm_media</span><span class="truncate font-medium">Media</span></a></div></div><div class="mb-5"><div class="mb-2 px-2 text-[11px] font-semibold uppercase tracking-[0.16em] text-text-subtle">Configure</div><div class="space-y-1"><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/proxy-pools"><span class="material-symbols-outlined text-[18px]">lan</span><span class="truncate font-medium">Proxy Pools</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/skills"><span class="material-symbols-outlined text-[18px]">extension</span><span class="truncate font-medium">Skills</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors bg-primary/15 text-text-main ring-1 ring-primary/20" href="/dashboard/profile"><span class="material-symbols-outlined text-[18px] text-primary fill-1">settings</span><span class="truncate font-medium">Settings</span><span class="ml-auto size-1.5 rounded-full bg-primary"></span></a></div></div></nav><div class="border-t border-border-subtle p-3"><div class="rounded-brand border border-border-subtle bg-surface-2 p-3"><div class="mb-1 flex items-center gap-2 text-xs font-semibold text-text-main"><span class="size-2 rounded-full bg-success"></span>Local Gateway</div><div class="font-mono text-[11px] text-text-muted">localhost:20128/v1</div></div></div></aside></div><div class="fixed inset-y-0 left-0 z-50 transform transition-transform duration-200 ease-out lg:hidden -translate-x-full"><aside class="flex h-full w-72 shrink-0 flex-col border-r border-border-subtle bg-sidebar backdrop-blur-xl"><div class="border-b border-border-subtle p-4"><a class="group flex items-center gap-3" href="/dashboard"><div class="flex size-9 items-center justify-center rounded-brand bg-primary text-white shadow-[var(--shadow-warm)]"><span class="material-symbols-outlined text-[20px]">hub</span></div><div class="min-w-0"><div class="truncate text-sm font-semibold tracking-tight text-text-main">ExtremeRouter</div><div class="text-xs text-text-muted">Gateway Console · v<!-- -->0.6.2</div></div></a></div><div class="p-3"><a class="flex h-9 items-center gap-2 rounded-brand border border-border bg-surface-2 px-3 text-xs text-text-muted transition-colors hover:border-primary/40 hover:text-text-main" href="/dashboard/providers"><span class="material-symbols-outlined text-[16px]">search</span>Search providers, models, keys…</a></div><nav class="custom-scrollbar flex-1 overflow-y-auto px-3 pb-4"><div class="mb-5"><div class="mb-2 px-2 text-[11px] font-semibold uppercase tracking-[0.16em] text-text-subtle">Gateway</div><div class="space-y-1"><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/endpoint"><span class="material-symbols-outlined text-[18px]">api</span><span class="truncate font-medium">Endpoint</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/providers"><span class="material-symbols-outlined text-[18px]">dns</span><span class="truncate font-medium">Providers</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/combos"><span class="material-symbols-outlined text-[18px]">layers</span><span class="truncate font-medium">Combos</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/token-saver"><span class="material-symbols-outlined text-[18px]">savings</span><span class="truncate font-medium">Token Saver</span></a></div></div><div class="mb-5"><div class="mb-2 px-2 text-[11px] font-semibold uppercase tracking-[0.16em] text-text-subtle">Observe</div><div class="space-y-1"><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/usage"><span class="material-symbols-outlined text-[18px]">bar_chart</span><span class="truncate font-medium">Activity</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/health"><span class="material-symbols-outlined text-[18px]">monitor_heart</span><span class="truncate font-medium">Health</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/quota"><span class="material-symbols-outlined text-[18px]">data_usage</span><span class="truncate font-medium">Quota</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/swarm"><span class="material-symbols-outlined text-[18px]">hub</span><span class="truncate font-medium">Swarm</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/console-log"><span class="material-symbols-outlined text-[18px]">terminal</span><span class="truncate font-medium">Console</span></a></div></div><div class="mb-5"><div class="mb-2 px-2 text-[11px] font-semibold uppercase tracking-[0.16em] text-text-subtle">Tools</div><div class="space-y-1"><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/cli-tools"><span class="material-symbols-outlined text-[18px]">terminal</span><span class="truncate font-medium">CLI Tools</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/translator"><span class="material-symbols-outlined text-[18px]">translate</span><span class="truncate font-medium">Translator</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/mitm"><span class="material-symbols-outlined text-[18px]">security</span><span class="truncate font-medium">MITM Proxy</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/media-providers/image"><span class="material-symbols-outlined text-[18px]">perm_media</span><span class="truncate font-medium">Media</span></a></div></div><div class="mb-5"><div class="mb-2 px-2 text-[11px] font-semibold uppercase tracking-[0.16em] text-text-subtle">Configure</div><div class="space-y-1"><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/proxy-pools"><span class="material-symbols-outlined text-[18px]">lan</span><span class="truncate font-medium">Proxy Pools</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/skills"><span class="material-symbols-outlined text-[18px]">extension</span><span class="truncate font-medium">Skills</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors bg-primary/15 text-text-main ring-1 ring-primary/20" href="/dashboard/profile"><span class="material-symbols-outlined text-[18px] text-primary fill-1">settings</span><span class="truncate font-medium">Settings</span><span class="ml-auto size-1.5 rounded-full bg-primary"></span></a></div></div></nav><div class="border-t border-border-subtle p-3"><div class="rounded-brand border border-border-subtle bg-surface-2 p-3"><div class="mb-1 flex items-center gap-2 text-xs font-semibold text-text-main"><span class="size-2 rounded-full bg-success"></span>Local Gateway</div><div class="font-mono text-[11px] text-text-muted">localhost:20128/v1</div></div></div></aside></div><main class="relative isolate flex h-full min-w-0 flex-1 flex-col"><header class="shrink-0 border-b border-border-subtle bg-bg/70 px-4 py-3 backdrop-blur-xl lg:px-6"><div class="flex items-center justify-between gap-3"><div class="flex min-w-0 items-center gap-3"><button class="rounded p-1.5 text-text-muted transition-colors hover:bg-surface-2 hover:text-text-main lg:hidden" aria-label="Open sidebar"><span class="material-symbols-outlined text-[20px]">menu</span></button><div class="hidden size-8 shrink-0 items-center justify-center rounded-brand bg-primary/10 text-primary ring-1 ring-primary/15 sm:flex"><span class="material-symbols-outlined text-[18px]">settings</span></div><div class="min-w-0"><h1 class="truncate text-sm font-semibold tracking-tight text-text-main sm:text-base">Settings</h1><p class="hidden truncate text-xs text-text-muted md:block">Security, routing, network, and account settings</p></div></div><div class="flex shrink-0 items-center gap-1.5"><button class="flex items-center justify-center size-10 rounded-full text-text-muted hover:text-text-main hover:bg-surface-2 transition-colors" aria-label="Switch to dark mode" title="Switch to dark mode"><span class="material-symbols-outlined text-[22px]">dark_mode</span></button><button class="flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-text-main hover:bg-black/5 dark:hover:bg-white/5 transition-all" title="Language" data-i18n-skip="true"><span class="text-lg leading-none">🇺🇸</span></button><div class=""></div><div class="relative"><button class="flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-text-main hover:bg-black/5 dark:hover:bg-white/5 transition-all" title="Menu"><span class="material-symbols-outlined">grid_view</span></button></div></div></div></header><div class="custom-scrollbar flex-1 overflow-y-auto px-4 py-6 sm:px-6 lg:px-8 lg:py-8"><div class="mx-auto w-full max-w-7xl"><div class="mx-auto max-w-3xl"><div class="mb-6"><div class="flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between"><div class="flex min-w-0 items-start gap-3"><div class="mt-0.5 flex size-9 shrink-0 items-center justify-center rounded-brand bg-primary/10 text-primary ring-1 ring-primary/15"><span class="material-symbols-outlined text-[18px]">settings</span></div><div class="min-w-0"><h1 class="truncate text-xl font-semibold tracking-tight text-text-main">Settings</h1><p class="mt-0.5 text-sm text-text-muted">Security, routing, network, and account preferences</p></div></div></div></div><div class="flex flex-col gap-5"><div class="bg-panel border border-border-subtle text-text-main rounded-panel shadow-[var(--shadow-soft)] p-5"><div class="flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4 mb-4"><div class="flex items-center gap-3 sm:gap-4"><div class="size-10 sm:size-12 rounded-lg bg-green-500/10 text-green-500 flex items-center justify-center shrink-0"><span class="material-symbols-outlined text-xl sm:text-2xl">computer</span></div><div><h2 class="text-lg sm:text-xl font-semibold">Local Mode</h2><p class="text-sm text-text-muted">Running on your machine</p></div></div><div class="inline-flex p-1 rounded-lg bg-black/5 dark:bg-white/5 w-full sm:w-auto"><button type="button" class="flex items-center justify-center gap-1 sm:gap-1.5 px-2 sm:px-3 py-1.5 rounded-md font-medium transition-all flex-1 sm:flex-initial text-text-muted hover:text-text-main"><span class="material-symbols-outlined text-[18px]">light_mode</span><span class="capitalize text-xs sm:text-sm">light</span></button><button type="button" class="flex items-center justify-center gap-1 sm:gap-1.5 px-2 sm:px-3 py-1.5 rounded-md font-medium transition-all flex-1 sm:flex-initial text-text-muted hover:text-text-main"><span class="material-symbols-outlined text-[18px]">dark_mode</span><span class="capitalize text-xs sm:text-sm">dark</span></button><button type="button" class="flex items-center justify-center gap-1 sm:gap-1.5 px-2 sm:px-3 py-1.5 rounded-md font-medium transition-all flex-1 sm:flex-initial bg-white dark:bg-white/10 text-text-main shadow-sm"><span class="material-symbols-outlined text-[18px]">contrast</span><span class="capitalize text-xs sm:text-sm">system</span></button></div></div><div class="flex flex-col gap-3 pt-4 border-t border-border"><div class="flex flex-col sm:flex-row sm:items-center sm:justify-between p-3 rounded-lg bg-bg border border-border gap-2"><div><p class="font-medium text-sm sm:text-base">Database Location</p><p class="text-xs sm:text-sm text-text-muted font-mono break-all">~/.extremerouter/db/data.sqlite</p></div></div><div class="flex flex-col sm:flex-row gap-2"><button class="inline-flex items-center justify-center gap-2 font-semibold transition-all duration-150 ease-out cursor-pointer active:scale-[0.98] disabled:opacity-50 disabled:cursor-not-allowed disabled:active:scale-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/35 focus-visible:ring-offset-2 focus-visible:ring-offset-bg bg-surface-2 hover:bg-surface-3 text-text-main border border-border disabled:opacity-50 h-9 px-4 text-sm rounded-brand w-full sm:w-auto"><span class="material-symbols-outlined text-[16px]">download</span>Download Backup</button><button class="inline-flex items-center justify-center gap-2 font-semibold transition-all duration-150 ease-out cursor-pointer active:scale-[0.98] disabled:opacity-50 disabled:cursor-not-allowed disabled:active:scale-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/35 focus-visible:ring-offset-2 focus-visible:ring-offset-bg border border-border text-text-main hover:bg-surface-2 hover:border-primary/45 h-9 px-4 text-sm rounded-brand w-full sm:w-auto"><span class="material-symbols-outlined text-[16px]">upload</span>Import Backup</button><input type="file" accept="application/json,.json" class="hidden"/></div></div></div><div class="bg-panel border border-border-subtle text-text-main rounded-panel shadow-[var(--shadow-soft)] p-5"><div class="flex items-center gap-3 mb-4"><div class="size-10 rounded-lg bg-blue-500/10 text-blue-500 flex items-center justify-center shrink-0"><span class="material-symbols-outlined text-[20px]">language</span></div><h3 class="text-base sm:text-lg font-semibold">Language</h3></div><button class="flex items-center justify-between w-full p-3 rounded-lg bg-bg border border-border hover:border-primary/50 transition-colors" data-i18n-skip="true"><span class="text-sm text-text-muted">Display language</span><span class="text-2xl">🇺🇸</span></button></div><div class="bg-panel border border-border-subtle text-text-main rounded-panel shadow-[var(--shadow-soft)] p-5"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-primary/10 text-primary shrink-0"><span class="material-symbols-outlined text-[20px]">shield</span></div><h3 class="text-base sm:text-lg font-semibold">Security</h3></div><div class="flex flex-col gap-4"><div class="flex items-start sm:items-center justify-between gap-4"><div class="flex-1 min-w-0"><p class="font-medium text-sm sm:text-base">Require login</p><p class="text-xs sm:text-sm text-text-muted">When ON, dashboard requires password. When OFF, access without login.</p></div><div class="flex items-center gap-3 opacity-50 cursor-not-allowed"><button type="button" role="switch" aria-checked="false" disabled="" class="relative inline-flex shrink-0 cursor-pointer rounded-full transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-brand-500/30 bg-surface-3 w-11 h-6 cursor-not-allowed"><span class="pointer-events-none inline-block rounded-full bg-white shadow-sm transform transition duration-200 ease-in-out translate-x-0.5 size-5 mt-0.5"></span></button></div></div></div></div><div class="bg-panel border border-border-subtle text-text-main rounded-panel shadow-[var(--shadow-soft)] p-5"><button type="button" class="w-full flex items-center gap-3 text-left"><div class="p-2 rounded-lg bg-indigo-500/10 text-indigo-500 shrink-0"><span class="material-symbols-outlined text-[20px]">lock_open</span></div><div class="flex-1 min-w-0"><h3 class="text-base sm:text-lg font-semibold">OIDC Dashboard Login</h3><p class="text-xs text-text-muted">Optional SSO via Authentik/Keycloak/Google</p></div><span class="material-symbols-outlined text-text-muted shrink-0">expand_more</span></button></div><div class="bg-panel border border-border-subtle text-text-main rounded-panel shadow-[var(--shadow-soft)] p-5"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-blue-500/10 text-blue-500 shrink-0"><span class="material-symbols-outlined text-[20px]">route</span></div><h3 class="text-base sm:text-lg font-semibold">Routing Strategy</h3></div><div class="flex flex-col gap-4"><div class="flex items-start sm:items-center justify-between gap-4"><div class="flex-1 min-w-0"><p class="font-medium text-sm sm:text-base">Round Robin</p><p class="text-xs sm:text-sm text-text-muted">Cycle through accounts to distribute load</p></div><div class="flex items-center gap-3 opacity-50 cursor-not-allowed"><button type="button" role="switch" aria-checked="false" disabled="" class="relative inline-flex shrink-0 cursor-pointer rounded-full transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-brand-500/30 bg-surface-3 w-11 h-6 cursor-not-allowed"><span class="pointer-events-none inline-block rounded-full bg-white shadow-sm transform transition duration-200 ease-in-out translate-x-0.5 size-5 mt-0.5"></span></button></div></div><div class="flex items-start sm:items-center justify-between gap-4 pt-4 border-t border-border/50"><div class="flex-1 min-w-0"><p class="font-medium text-sm sm:text-base">Combo Round Robin</p><p class="text-xs sm:text-sm text-text-muted">Cycle through providers in combos instead of always starting with first</p></div><div class="flex items-center gap-3 opacity-50 cursor-not-allowed"><button type="button" role="switch" aria-checked="false" disabled="" class="relative inline-flex shrink-0 cursor-pointer rounded-full transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-brand-500/30 bg-surface-3 w-11 h-6 cursor-not-allowed"><span class="pointer-events-none inline-block rounded-full bg-white shadow-sm transform transition duration-200 ease-in-out translate-x-0.5 size-5 mt-0.5"></span></button></div></div><p class="text-xs text-text-muted italic pt-2 border-t border-border/50">Currently using accounts in priority order (Fill First).<!-- --> Combos always start with their first model.</p></div></div><div class="bg-panel border border-border-subtle text-text-main rounded-panel shadow-[var(--shadow-soft)] p-5"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-purple-500/10 text-purple-500 shrink-0"><span class="material-symbols-outlined text-[20px]">wifi</span></div><h3 class="text-base sm:text-lg font-semibold">Network</h3></div><div class="flex flex-col gap-4"><div class="flex items-start sm:items-center justify-between gap-4"><div class="flex-1 min-w-0"><p class="font-medium text-sm sm:text-base">Outbound Proxy</p><p class="text-xs sm:text-sm text-text-muted">Enable proxy for OAuth + provider outbound requests.</p></div><div class="flex items-center gap-3 opacity-50 cursor-not-allowed"><button type="button" role="switch" aria-checked="false" disabled="" class="relative inline-flex shrink-0 cursor-pointer rounded-full transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-brand-500/30 bg-surface-3 w-11 h-6 cursor-not-allowed"><span class="pointer-events-none inline-block rounded-full bg-white shadow-sm transform transition duration-200 ease-in-out translate-x-0.5 size-5 mt-0.5"></span></button></div></div></div></div><div class="bg-panel border border-border-subtle text-text-main rounded-panel shadow-[var(--shadow-soft)] p-5"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-orange-500/10 text-orange-500 shrink-0"><span class="material-symbols-outlined text-[20px]">monitoring</span></div><h3 class="text-base sm:text-lg font-semibold">Observability</h3></div><div class="flex items-start sm:items-center justify-between gap-4"><div class="flex-1 min-w-0"><p class="font-medium text-sm sm:text-base">Enable Observability</p><p class="text-xs sm:text-sm text-text-muted">Record request details for inspection in the logs view</p></div><div class="flex items-center gap-3 opacity-50 cursor-not-allowed"><button type="button" role="switch" aria-checked="false" disabled="" class="relative inline-flex shrink-0 cursor-pointer rounded-full transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-brand-500/30 bg-surface-3 w-11 h-6 cursor-not-allowed"><span class="pointer-events-none inline-block rounded-full bg-white shadow-sm transform transition duration-200 ease-in-out translate-x-0.5 size-5 mt-0.5"></span></button></div></div></div><div class="flex flex-col sm:flex-row gap-2"><button class="inline-flex items-center justify-center gap-2 font-semibold transition-all duration-150 ease-out cursor-pointer active:scale-[0.98] disabled:opacity-50 disabled:cursor-not-allowed disabled:active:scale-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/35 focus-visible:ring-offset-2 focus-visible:ring-offset-bg border border-border text-text-main hover:bg-surface-2 hover:border-primary/45 h-9 px-4 text-sm rounded-brand w-full text-red-500 border-red-200 hover:bg-red-50 hover:border-red-300"><span class="material-symbols-outlined text-[16px]">power_settings_new</span>Shutdown</button><button class="inline-flex items-center justify-center gap-2 font-semibold transition-all duration-150 ease-out cursor-pointer active:scale-[0.98] disabled:opacity-50 disabled:cursor-not-allowed disabled:active:scale-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/35 focus-visible:ring-offset-2 focus-visible:ring-offset-bg border border-border text-text-main hover:bg-surface-2 hover:border-primary/45 h-9 px-4 text-sm rounded-brand w-full"><span class="material-symbols-outlined text-[16px]">logout</span>Logout</button></div><div class="text-center text-xs sm:text-sm text-text-muted py-4"><p>ExtremeRouter<!-- --> v<!-- -->0.6.2</p><p class="mt-1">Local Mode - All data stored on your machine</p></div></div><div class=""></div></div><!--$--><!--/$--></div></div></main></div><script src="/_next/static/chunks/webpack-a990cabb6976f421.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[21110,[\"3862\",\"static/chunks/1a258343-1aa1820b9db68d51.js\",\"3807\",\"static/chunks/3807-1f60b140ccc35641.js\",\"1321\",\"static/chunks/1321-c7f2f6730bedb291.js\",\"705\",\"static/chunks/705-c516b80d4469541b.js\",\"5497\",\"static/chunks/5497-179bb832a26fe4e6.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-1e26cb05320e3649.js\"],\"ThemeProvider\"]\n3:I[94635,[\"8720\",\"static/chunks/8720-bbafc2ad7d186ebd.js\",\"1321\",\"static/chunks/1321-c7f2f6730bedb291.js\",\"7177\",\"static/chunks/app/layout-402f477579b8a063.js\"],\"RuntimeI18nProvider\"]\n4:I[57121,[],\"\"]\n5:I[74581,[],\"\"]\n6:I[30565,[\"8720\",\"static/chunks/8720-bbafc2ad7d186ebd.js\",\"1321\",\"static/chunks/1321-c7f2f6730bedb291.js\",\"7177\",\"static/chunks/app/layout-402f477579b8a063.js\"],\"GoogleAnalytics\"]\n7:I[7648,[\"3862\",\"static/chunks/1a258343-1aa1820b9db68d51.js\",\"3807\",\"static/chunks/3807-1f60b140ccc35641.js\",\"1321\",\"static/chunks/1321-c7f2f6730bedb291.js\",\"705\",\"static/chunks/705-c516b80d4469541b.js\",\"5497\",\"static/chunks/5497-179bb832a26fe4e6.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-1e26cb05320e3649.js\"],\"default\"]\n8:I[61304,[],\"ClientPageRoot\"]\n9:I[64561,[\"3862\",\"static/chunks/1a258343-1aa1820b9db68d51.js\",\"3807\",\"static/chunks/3807-1f60b140ccc35641.js\",\"1321\",\"static/chunks/1321-c7f2f6730bedb291.js\",\"705\",\"static/chunks/705-c516b80d4469541b.js\",\"5497\",\"static/chunks/5497-179bb832a26fe4e6.js\",\"3471\",\"static/chunks/app/(dashboard)/dashboard/profile/page-3963f4a54f708ed7.js\"],\"default\"]\nc:I[90484,[],\"OutletBoundary\"]\nd:\"$Sreact.suspense\"\n10:I[90484,[],\"ViewportBoundary\"]\n12:I[90484,[],\"MetadataBoundary\"]\n14:I[27123,[],\"default\",1]\n:HL[\"/_next/static/css/8f9ac5a7bd3a79e5.css\",\"style\"]\n:HL[\"/_next/static/css/6668817b6dc2bc31.css\",\"style\"]\n:HL[\"/_next/static/css/008a05b0ad6b854a.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"dashboard\",\"profile\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"(dashboard)\",{\"children\":[\"dashboard\",{\"children\":[\"profile\",{\"children\":[\"__PAGE__\",{}]}]}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8f9ac5a7bd3a79e5.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/6668817b6dc2bc31.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"if(document.fonts\u0026\u0026document.fonts.ready){document.fonts.ready.then(function(){document.documentElement.classList.add('fonts-loaded')})}else{document.documentElement.classList.add('fonts-loaded')}\"}}]}],[\"$\",\"body\",null,{\"className\":\"__variable_f367f3 font-sans antialiased\",\"children\":[[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}],[\"$\",\"$L6\",null,{\"gaId\":\"G-LC959F603F\"}]]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/008a05b0ad6b854a.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L8\",null,{\"Component\":\"$9\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@a\",\"$@b\"]}}],null,[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$d\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@e\"}]}]]}],{},null,false,null]},null,false,\"$@f\"]},null,false,\"$@f\"]},null,false,null]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L10\",null,{\"children\":\"$L11\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L12\",null,{\"children\":[\"$\",\"$d\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L13\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$14\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"xIVhy-mkXlmYT3wY-JlEB\"}\n"])</script><script>self.__next_f.push([1,"15:[]\nf:\"$W15\"\na:{}\nb:\"$0:f:0:1:1:children:1:children:1:children:1:children:0:props:children:0:props:serverProvidedParams:params\"\n"])</script><script>self.__next_f.push([1,"11:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0a0a0a\"}]]\n"])</script><script>self.__next_f.push([1,"16:I[86869,[],\"IconMark\"]\ne:null\n13:[[\"$\",\"title\",\"0\",{\"children\":\"ExtremeRouter - AI Infrastructure Management\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?603d046c9a6fdfbb\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"$L16\",\"5\",{}]]\n"])</script></body></html>
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/8f9ac5a7bd3a79e5.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/87588eca18fba81a.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/008a05b0ad6b854a.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a990cabb6976f421.js"/><script src="/_next/static/chunks/4bd1b696-e356ca5ba0218e27.js" async=""></script><script src="/_next/static/chunks/3794-c66b3d8325973459.js" async=""></script><script src="/_next/static/chunks/main-app-705d8c306f358a5f.js" async=""></script><script src="/_next/static/chunks/1a258343-1aa1820b9db68d51.js" async=""></script><script src="/_next/static/chunks/3807-1f60b140ccc35641.js" async=""></script><script src="/_next/static/chunks/1321-ff2073ad3d1126ca.js" async=""></script><script src="/_next/static/chunks/705-c516b80d4469541b.js" async=""></script><script src="/_next/static/chunks/5497-470badc121d94683.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-1bb0b613c562d507.js" async=""></script><script src="/_next/static/chunks/8720-bbafc2ad7d186ebd.js" async=""></script><script src="/_next/static/chunks/app/layout-402f477579b8a063.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/dashboard/profile/page-3963f4a54f708ed7.js" async=""></script><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-LC959F603F" as="script"/><meta name="theme-color" content="#0a0a0a"/><title>ExtremeRouter - AI Infrastructure Management</title><meta name="description" content="One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/favicon.ico?603d046c9a6fdfbb" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/favicon.svg"/><script>if(document.fonts&&document.fonts.ready){document.fonts.ready.then(function(){document.documentElement.classList.add('fonts-loaded')})}else{document.documentElement.classList.add('fonts-loaded')}</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_f367f3 font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen w-full overflow-hidden bg-bg text-text-main"><div class="pointer-events-none fixed inset-0 bg-[radial-gradient(circle_at_top_left,rgba(139,92,246,0.16),transparent_32rem),radial-gradient(circle_at_top_right,rgba(34,211,238,0.10),transparent_28rem)]" aria-hidden="true"></div><div class="fixed right-4 top-4 z-[80] flex w-[min(92vw,380px)] flex-col gap-2"></div><div class="relative hidden lg:flex"><aside class="flex h-full w-72 shrink-0 flex-col border-r border-border-subtle bg-sidebar backdrop-blur-xl"><div class="border-b border-border-subtle p-4"><a class="group flex items-center gap-3" href="/dashboard"><div class="flex size-9 items-center justify-center rounded-brand bg-primary text-white shadow-[var(--shadow-warm)]"><span class="material-symbols-outlined text-[20px]">hub</span></div><div class="min-w-0"><div class="truncate text-sm font-semibold tracking-tight text-text-main">ExtremeRouter</div><div class="text-xs text-text-muted">Gateway Console · v<!-- -->0.6.3</div></div></a></div><div class="p-3"><a class="flex h-9 items-center gap-2 rounded-brand border border-border bg-surface-2 px-3 text-xs text-text-muted transition-colors hover:border-primary/40 hover:text-text-main" href="/dashboard/providers"><span class="material-symbols-outlined text-[16px]">search</span>Search providers, models, keys…</a></div><nav class="custom-scrollbar flex-1 overflow-y-auto px-3 pb-4"><div class="mb-5"><div class="mb-2 px-2 text-[11px] font-semibold uppercase tracking-[0.16em] text-text-subtle">Gateway</div><div class="space-y-1"><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/endpoint"><span class="material-symbols-outlined text-[18px]">api</span><span class="truncate font-medium">Endpoint</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/providers"><span class="material-symbols-outlined text-[18px]">dns</span><span class="truncate font-medium">Providers</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/combos"><span class="material-symbols-outlined text-[18px]">layers</span><span class="truncate font-medium">Combos</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/token-saver"><span class="material-symbols-outlined text-[18px]">savings</span><span class="truncate font-medium">Token Saver</span></a></div></div><div class="mb-5"><div class="mb-2 px-2 text-[11px] font-semibold uppercase tracking-[0.16em] text-text-subtle">Observe</div><div class="space-y-1"><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/usage"><span class="material-symbols-outlined text-[18px]">bar_chart</span><span class="truncate font-medium">Activity</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/health"><span class="material-symbols-outlined text-[18px]">monitor_heart</span><span class="truncate font-medium">Health</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/quota"><span class="material-symbols-outlined text-[18px]">data_usage</span><span class="truncate font-medium">Quota</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/swarm"><span class="material-symbols-outlined text-[18px]">hub</span><span class="truncate font-medium">Swarm</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/console-log"><span class="material-symbols-outlined text-[18px]">terminal</span><span class="truncate font-medium">Console</span></a></div></div><div class="mb-5"><div class="mb-2 px-2 text-[11px] font-semibold uppercase tracking-[0.16em] text-text-subtle">Tools</div><div class="space-y-1"><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/cli-tools"><span class="material-symbols-outlined text-[18px]">terminal</span><span class="truncate font-medium">CLI Tools</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/translator"><span class="material-symbols-outlined text-[18px]">translate</span><span class="truncate font-medium">Translator</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/mitm"><span class="material-symbols-outlined text-[18px]">security</span><span class="truncate font-medium">MITM Proxy</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/media-providers/image"><span class="material-symbols-outlined text-[18px]">perm_media</span><span class="truncate font-medium">Media</span></a></div></div><div class="mb-5"><div class="mb-2 px-2 text-[11px] font-semibold uppercase tracking-[0.16em] text-text-subtle">Configure</div><div class="space-y-1"><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/proxy-pools"><span class="material-symbols-outlined text-[18px]">lan</span><span class="truncate font-medium">Proxy Pools</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/skills"><span class="material-symbols-outlined text-[18px]">extension</span><span class="truncate font-medium">Skills</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors bg-primary/15 text-text-main ring-1 ring-primary/20" href="/dashboard/profile"><span class="material-symbols-outlined text-[18px] text-primary fill-1">settings</span><span class="truncate font-medium">Settings</span><span class="ml-auto size-1.5 rounded-full bg-primary"></span></a></div></div></nav><div class="border-t border-border-subtle p-3"><button type="button" class="mb-2 flex h-9 w-full items-center gap-3 rounded-brand px-3 text-sm text-text-muted transition-colors hover:bg-surface-2 hover:text-text-main"><span class="material-symbols-outlined text-[18px]">volunteer_activism</span><span class="font-medium">Support</span></button><div class="rounded-brand border border-border-subtle bg-surface-2 p-3"><div class="mb-1 flex items-center gap-2 text-xs font-semibold text-text-main"><span class="size-2 rounded-full bg-success"></span>Local Gateway</div><div class="font-mono text-[11px] text-text-muted">localhost:20128/v1</div></div></div></aside></div><div class="fixed inset-y-0 left-0 z-50 transform transition-transform duration-200 ease-out lg:hidden -translate-x-full"><aside class="flex h-full w-72 shrink-0 flex-col border-r border-border-subtle bg-sidebar backdrop-blur-xl"><div class="border-b border-border-subtle p-4"><a class="group flex items-center gap-3" href="/dashboard"><div class="flex size-9 items-center justify-center rounded-brand bg-primary text-white shadow-[var(--shadow-warm)]"><span class="material-symbols-outlined text-[20px]">hub</span></div><div class="min-w-0"><div class="truncate text-sm font-semibold tracking-tight text-text-main">ExtremeRouter</div><div class="text-xs text-text-muted">Gateway Console · v<!-- -->0.6.3</div></div></a></div><div class="p-3"><a class="flex h-9 items-center gap-2 rounded-brand border border-border bg-surface-2 px-3 text-xs text-text-muted transition-colors hover:border-primary/40 hover:text-text-main" href="/dashboard/providers"><span class="material-symbols-outlined text-[16px]">search</span>Search providers, models, keys…</a></div><nav class="custom-scrollbar flex-1 overflow-y-auto px-3 pb-4"><div class="mb-5"><div class="mb-2 px-2 text-[11px] font-semibold uppercase tracking-[0.16em] text-text-subtle">Gateway</div><div class="space-y-1"><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/endpoint"><span class="material-symbols-outlined text-[18px]">api</span><span class="truncate font-medium">Endpoint</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/providers"><span class="material-symbols-outlined text-[18px]">dns</span><span class="truncate font-medium">Providers</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/combos"><span class="material-symbols-outlined text-[18px]">layers</span><span class="truncate font-medium">Combos</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/token-saver"><span class="material-symbols-outlined text-[18px]">savings</span><span class="truncate font-medium">Token Saver</span></a></div></div><div class="mb-5"><div class="mb-2 px-2 text-[11px] font-semibold uppercase tracking-[0.16em] text-text-subtle">Observe</div><div class="space-y-1"><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/usage"><span class="material-symbols-outlined text-[18px]">bar_chart</span><span class="truncate font-medium">Activity</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/health"><span class="material-symbols-outlined text-[18px]">monitor_heart</span><span class="truncate font-medium">Health</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/quota"><span class="material-symbols-outlined text-[18px]">data_usage</span><span class="truncate font-medium">Quota</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/swarm"><span class="material-symbols-outlined text-[18px]">hub</span><span class="truncate font-medium">Swarm</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/console-log"><span class="material-symbols-outlined text-[18px]">terminal</span><span class="truncate font-medium">Console</span></a></div></div><div class="mb-5"><div class="mb-2 px-2 text-[11px] font-semibold uppercase tracking-[0.16em] text-text-subtle">Tools</div><div class="space-y-1"><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/cli-tools"><span class="material-symbols-outlined text-[18px]">terminal</span><span class="truncate font-medium">CLI Tools</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/translator"><span class="material-symbols-outlined text-[18px]">translate</span><span class="truncate font-medium">Translator</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/mitm"><span class="material-symbols-outlined text-[18px]">security</span><span class="truncate font-medium">MITM Proxy</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/media-providers/image"><span class="material-symbols-outlined text-[18px]">perm_media</span><span class="truncate font-medium">Media</span></a></div></div><div class="mb-5"><div class="mb-2 px-2 text-[11px] font-semibold uppercase tracking-[0.16em] text-text-subtle">Configure</div><div class="space-y-1"><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/proxy-pools"><span class="material-symbols-outlined text-[18px]">lan</span><span class="truncate font-medium">Proxy Pools</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors text-text-muted hover:bg-surface-2 hover:text-text-main" href="/dashboard/skills"><span class="material-symbols-outlined text-[18px]">extension</span><span class="truncate font-medium">Skills</span></a><a class="group flex h-9 items-center gap-3 rounded-brand px-3 text-sm transition-colors bg-primary/15 text-text-main ring-1 ring-primary/20" href="/dashboard/profile"><span class="material-symbols-outlined text-[18px] text-primary fill-1">settings</span><span class="truncate font-medium">Settings</span><span class="ml-auto size-1.5 rounded-full bg-primary"></span></a></div></div></nav><div class="border-t border-border-subtle p-3"><button type="button" class="mb-2 flex h-9 w-full items-center gap-3 rounded-brand px-3 text-sm text-text-muted transition-colors hover:bg-surface-2 hover:text-text-main"><span class="material-symbols-outlined text-[18px]">volunteer_activism</span><span class="font-medium">Support</span></button><div class="rounded-brand border border-border-subtle bg-surface-2 p-3"><div class="mb-1 flex items-center gap-2 text-xs font-semibold text-text-main"><span class="size-2 rounded-full bg-success"></span>Local Gateway</div><div class="font-mono text-[11px] text-text-muted">localhost:20128/v1</div></div></div></aside></div><main class="relative isolate flex h-full min-w-0 flex-1 flex-col"><header class="shrink-0 border-b border-border-subtle bg-bg/70 px-4 py-3 backdrop-blur-xl lg:px-6"><div class="flex items-center justify-between gap-3"><div class="flex min-w-0 items-center gap-3"><button class="rounded p-1.5 text-text-muted transition-colors hover:bg-surface-2 hover:text-text-main lg:hidden" aria-label="Open sidebar"><span class="material-symbols-outlined text-[20px]">menu</span></button><div class="hidden size-8 shrink-0 items-center justify-center rounded-brand bg-primary/10 text-primary ring-1 ring-primary/15 sm:flex"><span class="material-symbols-outlined text-[18px]">settings</span></div><div class="min-w-0"><h1 class="truncate text-sm font-semibold tracking-tight text-text-main sm:text-base">Settings</h1><p class="hidden truncate text-xs text-text-muted md:block">Security, routing, network, and account settings</p></div></div><div class="flex shrink-0 items-center gap-1.5"><button class="flex items-center justify-center size-10 rounded-full text-text-muted hover:text-text-main hover:bg-surface-2 transition-colors" aria-label="Switch to dark mode" title="Switch to dark mode"><span class="material-symbols-outlined text-[22px]">dark_mode</span></button><button class="flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-text-main hover:bg-black/5 dark:hover:bg-white/5 transition-all" title="Language" data-i18n-skip="true"><span class="text-lg leading-none">🇺🇸</span></button><div class=""></div><div class="relative"><button class="flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-text-main hover:bg-black/5 dark:hover:bg-white/5 transition-all" title="Menu"><span class="material-symbols-outlined">grid_view</span></button></div></div></div></header><div class="custom-scrollbar flex-1 overflow-y-auto px-4 py-6 sm:px-6 lg:px-8 lg:py-8"><div class="mx-auto w-full max-w-7xl"><div class="mx-auto max-w-3xl"><div class="mb-6"><div class="flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between"><div class="flex min-w-0 items-start gap-3"><div class="mt-0.5 flex size-9 shrink-0 items-center justify-center rounded-brand bg-primary/10 text-primary ring-1 ring-primary/15"><span class="material-symbols-outlined text-[18px]">settings</span></div><div class="min-w-0"><h1 class="truncate text-xl font-semibold tracking-tight text-text-main">Settings</h1><p class="mt-0.5 text-sm text-text-muted">Security, routing, network, and account preferences</p></div></div></div></div><div class="flex flex-col gap-5"><div class="bg-panel border border-border-subtle text-text-main rounded-panel shadow-[var(--shadow-soft)] p-5"><div class="flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4 mb-4"><div class="flex items-center gap-3 sm:gap-4"><div class="size-10 sm:size-12 rounded-lg bg-green-500/10 text-green-500 flex items-center justify-center shrink-0"><span class="material-symbols-outlined text-xl sm:text-2xl">computer</span></div><div><h2 class="text-lg sm:text-xl font-semibold">Local Mode</h2><p class="text-sm text-text-muted">Running on your machine</p></div></div><div class="inline-flex p-1 rounded-lg bg-black/5 dark:bg-white/5 w-full sm:w-auto"><button type="button" class="flex items-center justify-center gap-1 sm:gap-1.5 px-2 sm:px-3 py-1.5 rounded-md font-medium transition-all flex-1 sm:flex-initial text-text-muted hover:text-text-main"><span class="material-symbols-outlined text-[18px]">light_mode</span><span class="capitalize text-xs sm:text-sm">light</span></button><button type="button" class="flex items-center justify-center gap-1 sm:gap-1.5 px-2 sm:px-3 py-1.5 rounded-md font-medium transition-all flex-1 sm:flex-initial text-text-muted hover:text-text-main"><span class="material-symbols-outlined text-[18px]">dark_mode</span><span class="capitalize text-xs sm:text-sm">dark</span></button><button type="button" class="flex items-center justify-center gap-1 sm:gap-1.5 px-2 sm:px-3 py-1.5 rounded-md font-medium transition-all flex-1 sm:flex-initial bg-white dark:bg-white/10 text-text-main shadow-sm"><span class="material-symbols-outlined text-[18px]">contrast</span><span class="capitalize text-xs sm:text-sm">system</span></button></div></div><div class="flex flex-col gap-3 pt-4 border-t border-border"><div class="flex flex-col sm:flex-row sm:items-center sm:justify-between p-3 rounded-lg bg-bg border border-border gap-2"><div><p class="font-medium text-sm sm:text-base">Database Location</p><p class="text-xs sm:text-sm text-text-muted font-mono break-all">~/.extremerouter/db/data.sqlite</p></div></div><div class="flex flex-col sm:flex-row gap-2"><button class="inline-flex items-center justify-center gap-2 font-semibold transition-all duration-150 ease-out cursor-pointer active:scale-[0.98] disabled:opacity-50 disabled:cursor-not-allowed disabled:active:scale-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/35 focus-visible:ring-offset-2 focus-visible:ring-offset-bg bg-surface-2 hover:bg-surface-3 text-text-main border border-border disabled:opacity-50 h-9 px-4 text-sm rounded-brand w-full sm:w-auto"><span class="material-symbols-outlined text-[16px]">download</span>Download Backup</button><button class="inline-flex items-center justify-center gap-2 font-semibold transition-all duration-150 ease-out cursor-pointer active:scale-[0.98] disabled:opacity-50 disabled:cursor-not-allowed disabled:active:scale-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/35 focus-visible:ring-offset-2 focus-visible:ring-offset-bg border border-border text-text-main hover:bg-surface-2 hover:border-primary/45 h-9 px-4 text-sm rounded-brand w-full sm:w-auto"><span class="material-symbols-outlined text-[16px]">upload</span>Import Backup</button><input type="file" accept="application/json,.json" class="hidden"/></div></div></div><div class="bg-panel border border-border-subtle text-text-main rounded-panel shadow-[var(--shadow-soft)] p-5"><div class="flex items-center gap-3 mb-4"><div class="size-10 rounded-lg bg-blue-500/10 text-blue-500 flex items-center justify-center shrink-0"><span class="material-symbols-outlined text-[20px]">language</span></div><h3 class="text-base sm:text-lg font-semibold">Language</h3></div><button class="flex items-center justify-between w-full p-3 rounded-lg bg-bg border border-border hover:border-primary/50 transition-colors" data-i18n-skip="true"><span class="text-sm text-text-muted">Display language</span><span class="text-2xl">🇺🇸</span></button></div><div class="bg-panel border border-border-subtle text-text-main rounded-panel shadow-[var(--shadow-soft)] p-5"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-primary/10 text-primary shrink-0"><span class="material-symbols-outlined text-[20px]">shield</span></div><h3 class="text-base sm:text-lg font-semibold">Security</h3></div><div class="flex flex-col gap-4"><div class="flex items-start sm:items-center justify-between gap-4"><div class="flex-1 min-w-0"><p class="font-medium text-sm sm:text-base">Require login</p><p class="text-xs sm:text-sm text-text-muted">When ON, dashboard requires password. When OFF, access without login.</p></div><div class="flex items-center gap-3 opacity-50 cursor-not-allowed"><button type="button" role="switch" aria-checked="false" disabled="" class="relative inline-flex shrink-0 cursor-pointer rounded-full transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-brand-500/30 bg-surface-3 w-11 h-6 cursor-not-allowed"><span class="pointer-events-none inline-block rounded-full bg-white shadow-sm transform transition duration-200 ease-in-out translate-x-0.5 size-5 mt-0.5"></span></button></div></div></div></div><div class="bg-panel border border-border-subtle text-text-main rounded-panel shadow-[var(--shadow-soft)] p-5"><button type="button" class="w-full flex items-center gap-3 text-left"><div class="p-2 rounded-lg bg-indigo-500/10 text-indigo-500 shrink-0"><span class="material-symbols-outlined text-[20px]">lock_open</span></div><div class="flex-1 min-w-0"><h3 class="text-base sm:text-lg font-semibold">OIDC Dashboard Login</h3><p class="text-xs text-text-muted">Optional SSO via Authentik/Keycloak/Google</p></div><span class="material-symbols-outlined text-text-muted shrink-0">expand_more</span></button></div><div class="bg-panel border border-border-subtle text-text-main rounded-panel shadow-[var(--shadow-soft)] p-5"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-blue-500/10 text-blue-500 shrink-0"><span class="material-symbols-outlined text-[20px]">route</span></div><h3 class="text-base sm:text-lg font-semibold">Routing Strategy</h3></div><div class="flex flex-col gap-4"><div class="flex items-start sm:items-center justify-between gap-4"><div class="flex-1 min-w-0"><p class="font-medium text-sm sm:text-base">Round Robin</p><p class="text-xs sm:text-sm text-text-muted">Cycle through accounts to distribute load</p></div><div class="flex items-center gap-3 opacity-50 cursor-not-allowed"><button type="button" role="switch" aria-checked="false" disabled="" class="relative inline-flex shrink-0 cursor-pointer rounded-full transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-brand-500/30 bg-surface-3 w-11 h-6 cursor-not-allowed"><span class="pointer-events-none inline-block rounded-full bg-white shadow-sm transform transition duration-200 ease-in-out translate-x-0.5 size-5 mt-0.5"></span></button></div></div><div class="flex items-start sm:items-center justify-between gap-4 pt-4 border-t border-border/50"><div class="flex-1 min-w-0"><p class="font-medium text-sm sm:text-base">Combo Round Robin</p><p class="text-xs sm:text-sm text-text-muted">Cycle through providers in combos instead of always starting with first</p></div><div class="flex items-center gap-3 opacity-50 cursor-not-allowed"><button type="button" role="switch" aria-checked="false" disabled="" class="relative inline-flex shrink-0 cursor-pointer rounded-full transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-brand-500/30 bg-surface-3 w-11 h-6 cursor-not-allowed"><span class="pointer-events-none inline-block rounded-full bg-white shadow-sm transform transition duration-200 ease-in-out translate-x-0.5 size-5 mt-0.5"></span></button></div></div><p class="text-xs text-text-muted italic pt-2 border-t border-border/50">Currently using accounts in priority order (Fill First).<!-- --> Combos always start with their first model.</p></div></div><div class="bg-panel border border-border-subtle text-text-main rounded-panel shadow-[var(--shadow-soft)] p-5"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-purple-500/10 text-purple-500 shrink-0"><span class="material-symbols-outlined text-[20px]">wifi</span></div><h3 class="text-base sm:text-lg font-semibold">Network</h3></div><div class="flex flex-col gap-4"><div class="flex items-start sm:items-center justify-between gap-4"><div class="flex-1 min-w-0"><p class="font-medium text-sm sm:text-base">Outbound Proxy</p><p class="text-xs sm:text-sm text-text-muted">Enable proxy for OAuth + provider outbound requests.</p></div><div class="flex items-center gap-3 opacity-50 cursor-not-allowed"><button type="button" role="switch" aria-checked="false" disabled="" class="relative inline-flex shrink-0 cursor-pointer rounded-full transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-brand-500/30 bg-surface-3 w-11 h-6 cursor-not-allowed"><span class="pointer-events-none inline-block rounded-full bg-white shadow-sm transform transition duration-200 ease-in-out translate-x-0.5 size-5 mt-0.5"></span></button></div></div></div></div><div class="bg-panel border border-border-subtle text-text-main rounded-panel shadow-[var(--shadow-soft)] p-5"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-orange-500/10 text-orange-500 shrink-0"><span class="material-symbols-outlined text-[20px]">monitoring</span></div><h3 class="text-base sm:text-lg font-semibold">Observability</h3></div><div class="flex items-start sm:items-center justify-between gap-4"><div class="flex-1 min-w-0"><p class="font-medium text-sm sm:text-base">Enable Observability</p><p class="text-xs sm:text-sm text-text-muted">Record request details for inspection in the logs view</p></div><div class="flex items-center gap-3 opacity-50 cursor-not-allowed"><button type="button" role="switch" aria-checked="false" disabled="" class="relative inline-flex shrink-0 cursor-pointer rounded-full transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-brand-500/30 bg-surface-3 w-11 h-6 cursor-not-allowed"><span class="pointer-events-none inline-block rounded-full bg-white shadow-sm transform transition duration-200 ease-in-out translate-x-0.5 size-5 mt-0.5"></span></button></div></div></div><div class="flex flex-col sm:flex-row gap-2"><button class="inline-flex items-center justify-center gap-2 font-semibold transition-all duration-150 ease-out cursor-pointer active:scale-[0.98] disabled:opacity-50 disabled:cursor-not-allowed disabled:active:scale-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/35 focus-visible:ring-offset-2 focus-visible:ring-offset-bg border border-border text-text-main hover:bg-surface-2 hover:border-primary/45 h-9 px-4 text-sm rounded-brand w-full text-red-500 border-red-200 hover:bg-red-50 hover:border-red-300"><span class="material-symbols-outlined text-[16px]">power_settings_new</span>Shutdown</button><button class="inline-flex items-center justify-center gap-2 font-semibold transition-all duration-150 ease-out cursor-pointer active:scale-[0.98] disabled:opacity-50 disabled:cursor-not-allowed disabled:active:scale-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/35 focus-visible:ring-offset-2 focus-visible:ring-offset-bg border border-border text-text-main hover:bg-surface-2 hover:border-primary/45 h-9 px-4 text-sm rounded-brand w-full"><span class="material-symbols-outlined text-[16px]">logout</span>Logout</button></div><div class="text-center text-xs sm:text-sm text-text-muted py-4"><p>ExtremeRouter<!-- --> v<!-- -->0.6.3</p><p class="mt-1">Local Mode - All data stored on your machine</p></div></div><div class=""></div></div><!--$--><!--/$--></div></div></main></div><script src="/_next/static/chunks/webpack-a990cabb6976f421.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[21110,[\"3862\",\"static/chunks/1a258343-1aa1820b9db68d51.js\",\"3807\",\"static/chunks/3807-1f60b140ccc35641.js\",\"1321\",\"static/chunks/1321-ff2073ad3d1126ca.js\",\"705\",\"static/chunks/705-c516b80d4469541b.js\",\"5497\",\"static/chunks/5497-470badc121d94683.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-1bb0b613c562d507.js\"],\"ThemeProvider\"]\n3:I[94635,[\"8720\",\"static/chunks/8720-bbafc2ad7d186ebd.js\",\"1321\",\"static/chunks/1321-ff2073ad3d1126ca.js\",\"7177\",\"static/chunks/app/layout-402f477579b8a063.js\"],\"RuntimeI18nProvider\"]\n4:I[57121,[],\"\"]\n5:I[74581,[],\"\"]\n6:I[30565,[\"8720\",\"static/chunks/8720-bbafc2ad7d186ebd.js\",\"1321\",\"static/chunks/1321-ff2073ad3d1126ca.js\",\"7177\",\"static/chunks/app/layout-402f477579b8a063.js\"],\"GoogleAnalytics\"]\n7:I[7648,[\"3862\",\"static/chunks/1a258343-1aa1820b9db68d51.js\",\"3807\",\"static/chunks/3807-1f60b140ccc35641.js\",\"1321\",\"static/chunks/1321-ff2073ad3d1126ca.js\",\"705\",\"static/chunks/705-c516b80d4469541b.js\",\"5497\",\"static/chunks/5497-470badc121d94683.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-1bb0b613c562d507.js\"],\"default\"]\n8:I[61304,[],\"ClientPageRoot\"]\n9:I[64561,[\"3862\",\"static/chunks/1a258343-1aa1820b9db68d51.js\",\"3807\",\"static/chunks/3807-1f60b140ccc35641.js\",\"1321\",\"static/chunks/1321-ff2073ad3d1126ca.js\",\"705\",\"static/chunks/705-c516b80d4469541b.js\",\"5497\",\"static/chunks/5497-470badc121d94683.js\",\"3471\",\"static/chunks/app/(dashboard)/dashboard/profile/page-3963f4a54f708ed7.js\"],\"default\"]\nc:I[90484,[],\"OutletBoundary\"]\nd:\"$Sreact.suspense\"\n10:I[90484,[],\"ViewportBoundary\"]\n12:I[90484,[],\"MetadataBoundary\"]\n14:I[27123,[],\"default\",1]\n:HL[\"/_next/static/css/8f9ac5a7bd3a79e5.css\",\"style\"]\n:HL[\"/_next/static/css/87588eca18fba81a.css\",\"style\"]\n:HL[\"/_next/static/css/008a05b0ad6b854a.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"dashboard\",\"profile\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"(dashboard)\",{\"children\":[\"dashboard\",{\"children\":[\"profile\",{\"children\":[\"__PAGE__\",{}]}]}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8f9ac5a7bd3a79e5.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/87588eca18fba81a.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"if(document.fonts\u0026\u0026document.fonts.ready){document.fonts.ready.then(function(){document.documentElement.classList.add('fonts-loaded')})}else{document.documentElement.classList.add('fonts-loaded')}\"}}]}],[\"$\",\"body\",null,{\"className\":\"__variable_f367f3 font-sans antialiased\",\"children\":[[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}],[\"$\",\"$L6\",null,{\"gaId\":\"G-LC959F603F\"}]]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/008a05b0ad6b854a.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L8\",null,{\"Component\":\"$9\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@a\",\"$@b\"]}}],null,[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$d\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@e\"}]}]]}],{},null,false,null]},null,false,\"$@f\"]},null,false,\"$@f\"]},null,false,null]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L10\",null,{\"children\":\"$L11\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L12\",null,{\"children\":[\"$\",\"$d\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L13\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$14\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"RPDQBYxJJwcxTCmP2fmVI\"}\n"])</script><script>self.__next_f.push([1,"15:[]\nf:\"$W15\"\na:{}\nb:\"$0:f:0:1:1:children:1:children:1:children:1:children:0:props:children:0:props:serverProvidedParams:params\"\n"])</script><script>self.__next_f.push([1,"11:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0a0a0a\"}]]\n"])</script><script>self.__next_f.push([1,"16:I[86869,[],\"IconMark\"]\ne:null\n13:[[\"$\",\"title\",\"0\",{\"children\":\"ExtremeRouter - AI Infrastructure Management\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?603d046c9a6fdfbb\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"$L16\",\"5\",{}]]\n"])</script></body></html>
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[21110,["3862","static/chunks/1a258343-1aa1820b9db68d51.js","3807","static/chunks/3807-1f60b140ccc35641.js","1321","static/chunks/1321-
|
|
3
|
-
3:I[94635,["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-
|
|
2
|
+
2:I[21110,["3862","static/chunks/1a258343-1aa1820b9db68d51.js","3807","static/chunks/3807-1f60b140ccc35641.js","1321","static/chunks/1321-ff2073ad3d1126ca.js","705","static/chunks/705-c516b80d4469541b.js","5497","static/chunks/5497-470badc121d94683.js","9305","static/chunks/app/(dashboard)/layout-1bb0b613c562d507.js"],"ThemeProvider"]
|
|
3
|
+
3:I[94635,["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-ff2073ad3d1126ca.js","7177","static/chunks/app/layout-402f477579b8a063.js"],"RuntimeI18nProvider"]
|
|
4
4
|
4:I[57121,[],""]
|
|
5
5
|
5:I[74581,[],""]
|
|
6
|
-
6:I[30565,["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-
|
|
7
|
-
7:I[7648,["3862","static/chunks/1a258343-1aa1820b9db68d51.js","3807","static/chunks/3807-1f60b140ccc35641.js","1321","static/chunks/1321-
|
|
6
|
+
6:I[30565,["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-ff2073ad3d1126ca.js","7177","static/chunks/app/layout-402f477579b8a063.js"],"GoogleAnalytics"]
|
|
7
|
+
7:I[7648,["3862","static/chunks/1a258343-1aa1820b9db68d51.js","3807","static/chunks/3807-1f60b140ccc35641.js","1321","static/chunks/1321-ff2073ad3d1126ca.js","705","static/chunks/705-c516b80d4469541b.js","5497","static/chunks/5497-470badc121d94683.js","9305","static/chunks/app/(dashboard)/layout-1bb0b613c562d507.js"],"default"]
|
|
8
8
|
8:I[61304,[],"ClientPageRoot"]
|
|
9
|
-
9:I[64561,["3862","static/chunks/1a258343-1aa1820b9db68d51.js","3807","static/chunks/3807-1f60b140ccc35641.js","1321","static/chunks/1321-
|
|
9
|
+
9:I[64561,["3862","static/chunks/1a258343-1aa1820b9db68d51.js","3807","static/chunks/3807-1f60b140ccc35641.js","1321","static/chunks/1321-ff2073ad3d1126ca.js","705","static/chunks/705-c516b80d4469541b.js","5497","static/chunks/5497-470badc121d94683.js","3471","static/chunks/app/(dashboard)/dashboard/profile/page-3963f4a54f708ed7.js"],"default"]
|
|
10
10
|
c:I[90484,[],"OutletBoundary"]
|
|
11
11
|
d:"$Sreact.suspense"
|
|
12
12
|
10:I[90484,[],"ViewportBoundary"]
|
|
13
13
|
12:I[90484,[],"MetadataBoundary"]
|
|
14
14
|
14:I[27123,[],"default",1]
|
|
15
15
|
:HL["/_next/static/css/8f9ac5a7bd3a79e5.css","style"]
|
|
16
|
-
:HL["/_next/static/css/
|
|
16
|
+
:HL["/_next/static/css/87588eca18fba81a.css","style"]
|
|
17
17
|
:HL["/_next/static/css/008a05b0ad6b854a.css","style"]
|
|
18
|
-
0:{"P":null,"c":["","dashboard","profile"],"q":"","i":false,"f":[[["",{"children":["(dashboard)",{"children":["dashboard",{"children":["profile",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/8f9ac5a7bd3a79e5.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/
|
|
18
|
+
0:{"P":null,"c":["","dashboard","profile"],"q":"","i":false,"f":[[["",{"children":["(dashboard)",{"children":["dashboard",{"children":["profile",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/8f9ac5a7bd3a79e5.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/87588eca18fba81a.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"if(document.fonts&&document.fonts.ready){document.fonts.ready.then(function(){document.documentElement.classList.add('fonts-loaded')})}else{document.documentElement.classList.add('fonts-loaded')}"}}]}],["$","body",null,{"className":"__variable_f367f3 font-sans antialiased","children":[["$","$L2",null,{"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{"gaId":"G-LC959F603F"}]]}]]}]]}],{"children":[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/008a05b0ad6b854a.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L7",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","$L8",null,{"Component":"$9","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@a","$@b"]}}],null,["$","$Lc",null,{"children":["$","$d",null,{"name":"Next.MetadataOutlet","children":"$@e"}]}]]}],{},null,false,null]},null,false,"$@f"]},null,false,"$@f"]},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$L10",null,{"children":"$L11"}],["$","div",null,{"hidden":true,"children":["$","$L12",null,{"children":["$","$d",null,{"name":"Next.Metadata","children":"$L13"}]}]}],null]}],false]],"m":"$undefined","G":["$14",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"RPDQBYxJJwcxTCmP2fmVI"}
|
|
19
19
|
15:[]
|
|
20
20
|
f:"$W15"
|
|
21
21
|
a:{}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
2
|
2:I[61304,[],"ClientPageRoot"]
|
|
3
|
-
3:I[64561,["3862","static/chunks/1a258343-1aa1820b9db68d51.js","3807","static/chunks/3807-1f60b140ccc35641.js","1321","static/chunks/1321-
|
|
3
|
+
3:I[64561,["3862","static/chunks/1a258343-1aa1820b9db68d51.js","3807","static/chunks/3807-1f60b140ccc35641.js","1321","static/chunks/1321-ff2073ad3d1126ca.js","705","static/chunks/705-c516b80d4469541b.js","5497","static/chunks/5497-470badc121d94683.js","3471","static/chunks/app/(dashboard)/dashboard/profile/page-3963f4a54f708ed7.js"],"default"]
|
|
4
4
|
6:I[90484,[],"OutletBoundary"]
|
|
5
5
|
7:"$Sreact.suspense"
|
|
6
|
-
0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],null,["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"
|
|
6
|
+
0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],null,["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"RPDQBYxJJwcxTCmP2fmVI"}
|
|
7
7
|
4:{}
|
|
8
8
|
5:"$0:rsc:props:children:0:props:serverProvidedParams:params"
|
|
9
9
|
8:null
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
2:I[57121,[],""]
|
|
3
3
|
3:I[74581,[],""]
|
|
4
4
|
4:[]
|
|
5
|
-
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"
|
|
5
|
+
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"RPDQBYxJJwcxTCmP2fmVI"}
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
2:I[57121,[],""]
|
|
3
3
|
3:I[74581,[],""]
|
|
4
4
|
4:[]
|
|
5
|
-
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"
|
|
5
|
+
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"RPDQBYxJJwcxTCmP2fmVI"}
|
package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[7648,["3862","static/chunks/1a258343-1aa1820b9db68d51.js","3807","static/chunks/3807-1f60b140ccc35641.js","1321","static/chunks/1321-
|
|
2
|
+
2:I[7648,["3862","static/chunks/1a258343-1aa1820b9db68d51.js","3807","static/chunks/3807-1f60b140ccc35641.js","1321","static/chunks/1321-ff2073ad3d1126ca.js","705","static/chunks/705-c516b80d4469541b.js","5497","static/chunks/5497-470badc121d94683.js","9305","static/chunks/app/(dashboard)/layout-1bb0b613c562d507.js"],"default"]
|
|
3
3
|
3:I[57121,[],""]
|
|
4
4
|
4:I[74581,[],""]
|
|
5
5
|
:HL["/_next/static/css/008a05b0ad6b854a.css","style"]
|
|
6
|
-
0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/008a05b0ad6b854a.css","precedence":"next"}]],["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"
|
|
6
|
+
0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/008a05b0ad6b854a.css","precedence":"next"}]],["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"RPDQBYxJJwcxTCmP2fmVI"}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[21110,["3862","static/chunks/1a258343-1aa1820b9db68d51.js","3807","static/chunks/3807-1f60b140ccc35641.js","1321","static/chunks/1321-
|
|
3
|
-
3:I[94635,["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-
|
|
2
|
+
2:I[21110,["3862","static/chunks/1a258343-1aa1820b9db68d51.js","3807","static/chunks/3807-1f60b140ccc35641.js","1321","static/chunks/1321-ff2073ad3d1126ca.js","705","static/chunks/705-c516b80d4469541b.js","5497","static/chunks/5497-470badc121d94683.js","9305","static/chunks/app/(dashboard)/layout-1bb0b613c562d507.js"],"ThemeProvider"]
|
|
3
|
+
3:I[94635,["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-ff2073ad3d1126ca.js","7177","static/chunks/app/layout-402f477579b8a063.js"],"RuntimeI18nProvider"]
|
|
4
4
|
4:I[57121,[],""]
|
|
5
5
|
5:I[74581,[],""]
|
|
6
|
-
6:I[30565,["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-
|
|
7
|
-
7:I[7648,["3862","static/chunks/1a258343-1aa1820b9db68d51.js","3807","static/chunks/3807-1f60b140ccc35641.js","1321","static/chunks/1321-
|
|
6
|
+
6:I[30565,["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-ff2073ad3d1126ca.js","7177","static/chunks/app/layout-402f477579b8a063.js"],"GoogleAnalytics"]
|
|
7
|
+
7:I[7648,["3862","static/chunks/1a258343-1aa1820b9db68d51.js","3807","static/chunks/3807-1f60b140ccc35641.js","1321","static/chunks/1321-ff2073ad3d1126ca.js","705","static/chunks/705-c516b80d4469541b.js","5497","static/chunks/5497-470badc121d94683.js","9305","static/chunks/app/(dashboard)/layout-1bb0b613c562d507.js"],"default"]
|
|
8
8
|
8:I[61304,[],"ClientPageRoot"]
|
|
9
|
-
9:I[64561,["3862","static/chunks/1a258343-1aa1820b9db68d51.js","3807","static/chunks/3807-1f60b140ccc35641.js","1321","static/chunks/1321-
|
|
9
|
+
9:I[64561,["3862","static/chunks/1a258343-1aa1820b9db68d51.js","3807","static/chunks/3807-1f60b140ccc35641.js","1321","static/chunks/1321-ff2073ad3d1126ca.js","705","static/chunks/705-c516b80d4469541b.js","5497","static/chunks/5497-470badc121d94683.js","3471","static/chunks/app/(dashboard)/dashboard/profile/page-3963f4a54f708ed7.js"],"default"]
|
|
10
10
|
c:I[90484,[],"OutletBoundary"]
|
|
11
11
|
d:"$Sreact.suspense"
|
|
12
12
|
10:I[90484,[],"ViewportBoundary"]
|
|
13
13
|
12:I[90484,[],"MetadataBoundary"]
|
|
14
14
|
14:I[27123,[],"default",1]
|
|
15
15
|
:HL["/_next/static/css/8f9ac5a7bd3a79e5.css","style"]
|
|
16
|
-
:HL["/_next/static/css/
|
|
16
|
+
:HL["/_next/static/css/87588eca18fba81a.css","style"]
|
|
17
17
|
:HL["/_next/static/css/008a05b0ad6b854a.css","style"]
|
|
18
|
-
0:{"P":null,"c":["","dashboard","profile"],"q":"","i":false,"f":[[["",{"children":["(dashboard)",{"children":["dashboard",{"children":["profile",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/8f9ac5a7bd3a79e5.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/
|
|
18
|
+
0:{"P":null,"c":["","dashboard","profile"],"q":"","i":false,"f":[[["",{"children":["(dashboard)",{"children":["dashboard",{"children":["profile",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/8f9ac5a7bd3a79e5.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/87588eca18fba81a.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"if(document.fonts&&document.fonts.ready){document.fonts.ready.then(function(){document.documentElement.classList.add('fonts-loaded')})}else{document.documentElement.classList.add('fonts-loaded')}"}}]}],["$","body",null,{"className":"__variable_f367f3 font-sans antialiased","children":[["$","$L2",null,{"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{"gaId":"G-LC959F603F"}]]}]]}]]}],{"children":[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/008a05b0ad6b854a.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L7",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","$L8",null,{"Component":"$9","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@a","$@b"]}}],null,["$","$Lc",null,{"children":["$","$d",null,{"name":"Next.MetadataOutlet","children":"$@e"}]}]]}],{},null,false,null]},null,false,"$@f"]},null,false,"$@f"]},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$L10",null,{"children":"$L11"}],["$","div",null,{"hidden":true,"children":["$","$L12",null,{"children":["$","$d",null,{"name":"Next.Metadata","children":"$L13"}]}]}],null]}],false]],"m":"$undefined","G":["$14",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"RPDQBYxJJwcxTCmP2fmVI"}
|
|
19
19
|
15:[]
|
|
20
20
|
f:"$W15"
|
|
21
21
|
a:{}
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
3:I[90484,[],"MetadataBoundary"]
|
|
4
4
|
4:"$Sreact.suspense"
|
|
5
5
|
5:I[86869,[],"IconMark"]
|
|
6
|
-
0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#0a0a0a"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"ExtremeRouter - AI Infrastructure Management"}],["$","meta","1",{"name":"description","content":"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly."}],["$","link","2",{"rel":"manifest","href":"/manifest.webmanifest"}],["$","link","3",{"rel":"icon","href":"/favicon.ico?603d046c9a6fdfbb","type":"image/x-icon","sizes":"16x16"}],["$","link","4",{"rel":"icon","href":"/favicon.svg"}],["$","$L5","5",{}]]}]}]}],null]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"
|
|
6
|
+
0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#0a0a0a"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"ExtremeRouter - AI Infrastructure Management"}],["$","meta","1",{"name":"description","content":"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly."}],["$","link","2",{"rel":"manifest","href":"/manifest.webmanifest"}],["$","link","3",{"rel":"icon","href":"/favicon.ico?603d046c9a6fdfbb","type":"image/x-icon","sizes":"16x16"}],["$","link","4",{"rel":"icon","href":"/favicon.svg"}],["$","$L5","5",{}]]}]}]}],null]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"RPDQBYxJJwcxTCmP2fmVI"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[21110,["3862","static/chunks/1a258343-1aa1820b9db68d51.js","3807","static/chunks/3807-1f60b140ccc35641.js","1321","static/chunks/1321-
|
|
3
|
-
3:I[94635,["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-
|
|
2
|
+
2:I[21110,["3862","static/chunks/1a258343-1aa1820b9db68d51.js","3807","static/chunks/3807-1f60b140ccc35641.js","1321","static/chunks/1321-ff2073ad3d1126ca.js","705","static/chunks/705-c516b80d4469541b.js","5497","static/chunks/5497-470badc121d94683.js","9305","static/chunks/app/(dashboard)/layout-1bb0b613c562d507.js"],"ThemeProvider"]
|
|
3
|
+
3:I[94635,["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-ff2073ad3d1126ca.js","7177","static/chunks/app/layout-402f477579b8a063.js"],"RuntimeI18nProvider"]
|
|
4
4
|
4:I[57121,[],""]
|
|
5
5
|
5:I[74581,[],""]
|
|
6
|
-
6:I[30565,["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-
|
|
6
|
+
6:I[30565,["8720","static/chunks/8720-bbafc2ad7d186ebd.js","1321","static/chunks/1321-ff2073ad3d1126ca.js","7177","static/chunks/app/layout-402f477579b8a063.js"],"GoogleAnalytics"]
|
|
7
7
|
:HL["/_next/static/css/8f9ac5a7bd3a79e5.css","style"]
|
|
8
|
-
:HL["/_next/static/css/
|
|
9
|
-
0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/8f9ac5a7bd3a79e5.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/
|
|
8
|
+
:HL["/_next/static/css/87588eca18fba81a.css","style"]
|
|
9
|
+
0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/8f9ac5a7bd3a79e5.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/87588eca18fba81a.css","precedence":"next"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"if(document.fonts&&document.fonts.ready){document.fonts.ready.then(function(){document.documentElement.classList.add('fonts-loaded')})}else{document.documentElement.classList.add('fonts-loaded')}"}}]}],["$","body",null,{"className":"__variable_f367f3 font-sans antialiased","children":[["$","$L2",null,{"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","template":["$","$L5",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]}],["$","$L6",null,{"gaId":"G-LC959F603F"}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"RPDQBYxJJwcxTCmP2fmVI"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
:HL["/_next/static/css/8f9ac5a7bd3a79e5.css","style"]
|
|
2
|
-
:HL["/_next/static/css/
|
|
2
|
+
:HL["/_next/static/css/87588eca18fba81a.css","style"]
|
|
3
3
|
:HL["/_next/static/css/008a05b0ad6b854a.css","style"]
|
|
4
|
-
0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"(dashboard)","param":null,"prefetchHints":0,"slots":{"children":{"name":"dashboard","param":null,"prefetchHints":0,"slots":{"children":{"name":"profile","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}}}}}},"staleTime":300,"buildId":"
|
|
4
|
+
0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"(dashboard)","param":null,"prefetchHints":0,"slots":{"children":{"name":"dashboard","param":null,"prefetchHints":0,"slots":{"children":{"name":"profile","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}}}}}},"staleTime":300,"buildId":"RPDQBYxJJwcxTCmP2fmVI"}
|