tokenhop 1.0.0 → 1.0.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 +4 -4
- package/app/.next-cli-build/build-manifest.json +3 -3
- package/app/.next-cli-build/prerender-manifest.json +3 -3
- package/app/.next-cli-build/react-loadable-manifest.json +43 -43
- package/app/.next-cli-build/required-server-files.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/[...missing]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/[...missing]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/[...missing]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/ui-kit/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/ui-kit/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/ui-kit/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error.html +1 -1
- package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
- package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_not-found.html +1 -1
- package/app/.next-cli-build/server/app/_not-found.rsc +5 -5
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -5
- 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/saml/acs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/test/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-tool-settings/[toolId]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tool-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +3 -3
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +3 -3
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +3 -3
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +3 -3
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/headroom/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/headroom/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/gateway/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/home/live-routes/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/home/quota/route.js +1 -1
- package/app/.next-cli-build/server/app/api/home/quota/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/home/summary/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js +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/catalog-sync/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +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 +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 +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/config/export/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/config/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/config/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/environment/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/shell/savings-milestone/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/shell/summary/route.js +1 -1
- package/app/.next-cli-build/server/app/api/shell/summary/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/send/route.js +9 -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 +9 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +9 -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 +9 -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/last-activity/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 +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/savings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +9 -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 +2 -2
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js +2 -2
- 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/videos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page.js +1 -1
- package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/callback.html +1 -1
- package/app/.next-cli-build/server/app/callback.rsc +5 -5
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/basic-chat.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +11 -11
- 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 +9 -9
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +9 -9
- 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 +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +11 -11
- 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/media-providers.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/media-providers.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/__PAGE__.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/media-providers.segments/_full.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/media-providers.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +11 -11
- 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 +10 -10
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +10 -10
- 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 +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/pxpipe.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +11 -11
- 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.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/settings.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk/dashboard/settings/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/settings.segments/_full.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/settings.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +8 -8
- 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 +11 -11
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +11 -11
- 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 +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/ui-kit.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/ui-kit.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/ui-kit.segments/!KGRhc2hib2FyZCk/dashboard/ui-kit/__PAGE__.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/ui-kit.segments/_full.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/ui-kit.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 +11 -11
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +11 -11
- 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 +11 -11
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +11 -11
- 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 +5 -5
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing/page.js +1 -1
- package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/landing.html +1 -1
- package/app/.next-cli-build/server/app/landing.rsc +6 -6
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +6 -6
- 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 +6 -6
- package/app/.next-cli-build/server/app/login/page.js +1 -1
- package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/login.html +1 -1
- package/app/.next-cli-build/server/app/login.rsc +5 -5
- package/app/.next-cli-build/server/app/login.segments/_full.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 +5 -5
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page.js +1 -1
- package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/skills/[...slug]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app-paths-manifest.json +4 -4
- package/app/.next-cli-build/server/chunks/1004.js +1 -0
- package/app/.next-cli-build/server/chunks/1152.js +1 -1
- package/app/.next-cli-build/server/chunks/1215.js +1 -0
- package/app/.next-cli-build/server/chunks/1336.js +1 -1
- package/app/.next-cli-build/server/chunks/1432.js +1 -1
- package/app/.next-cli-build/server/chunks/1533.js +1 -1
- package/app/.next-cli-build/server/chunks/2217.js +1 -1
- package/app/.next-cli-build/server/chunks/2380.js +7 -7
- package/app/.next-cli-build/server/chunks/24.js +1 -1
- package/app/.next-cli-build/server/chunks/2460.js +1 -1
- package/app/.next-cli-build/server/chunks/257.js +10 -0
- package/app/.next-cli-build/server/chunks/2592.js +1 -1
- package/app/.next-cli-build/server/chunks/2705.js +9 -0
- package/app/.next-cli-build/server/chunks/318.js +9 -16
- package/app/.next-cli-build/server/chunks/3593.js +1 -1
- package/app/.next-cli-build/server/chunks/3919.js +1 -1
- package/app/.next-cli-build/server/chunks/3943.js +1 -1
- package/app/.next-cli-build/server/chunks/4123.js +1 -1
- package/app/.next-cli-build/server/chunks/4125.js +1 -1
- package/app/.next-cli-build/server/chunks/4334.js +1 -1
- package/app/.next-cli-build/server/chunks/4406.js +2 -2
- package/app/.next-cli-build/server/chunks/4521.js +1 -1
- package/app/.next-cli-build/server/chunks/4730.js +1 -1
- package/app/.next-cli-build/server/chunks/4780.js +1 -1
- package/app/.next-cli-build/server/chunks/5055.js +1 -0
- package/app/.next-cli-build/server/chunks/5230.js +1 -0
- package/app/.next-cli-build/server/chunks/{1026.js → 5260.js} +1 -1
- package/app/.next-cli-build/server/chunks/5335.js +1 -0
- package/app/.next-cli-build/server/chunks/5559.js +9 -0
- package/app/.next-cli-build/server/chunks/5615.js +1 -1
- package/app/.next-cli-build/server/chunks/5649.js +1 -0
- package/app/.next-cli-build/server/chunks/5765.js +1 -0
- package/app/.next-cli-build/server/chunks/5827.js +1 -0
- package/app/.next-cli-build/server/chunks/5869.js +9 -0
- package/app/.next-cli-build/server/chunks/5908.js +1 -0
- package/app/.next-cli-build/server/chunks/620.js +1 -0
- package/app/.next-cli-build/server/chunks/6252.js +1 -1
- package/app/.next-cli-build/server/chunks/6328.js +1 -0
- package/app/.next-cli-build/server/chunks/6355.js +1 -0
- package/app/.next-cli-build/server/chunks/6493.js +1 -0
- package/app/.next-cli-build/server/chunks/6496.js +1 -1
- package/app/.next-cli-build/server/chunks/7211.js +1 -1
- package/app/.next-cli-build/server/chunks/7485.js +9 -0
- package/app/.next-cli-build/server/chunks/7616.js +1 -1
- package/app/.next-cli-build/server/chunks/7695.js +1 -0
- package/app/.next-cli-build/server/chunks/7716.js +1 -1
- package/app/.next-cli-build/server/chunks/7819.js +1 -1
- package/app/.next-cli-build/server/chunks/7828.js +1 -1
- package/app/.next-cli-build/server/chunks/8171.js +1 -1
- package/app/.next-cli-build/server/chunks/8255.js +1 -1
- package/app/.next-cli-build/server/chunks/8261.js +1 -0
- package/app/.next-cli-build/server/chunks/8416.js +1 -1
- package/app/.next-cli-build/server/chunks/878.js +1 -0
- package/app/.next-cli-build/server/chunks/8895.js +13 -13
- package/app/.next-cli-build/server/chunks/8954.js +1 -0
- package/app/.next-cli-build/server/chunks/8988.js +1 -0
- package/app/.next-cli-build/server/chunks/9016.js +9 -0
- package/app/.next-cli-build/server/chunks/9243.js +1 -0
- package/app/.next-cli-build/server/chunks/9326.js +1 -0
- package/app/.next-cli-build/server/chunks/9343.js +1 -1
- package/app/.next-cli-build/server/chunks/9421.js +1 -1
- package/app/.next-cli-build/server/chunks/9489.js +3 -0
- package/app/.next-cli-build/server/chunks/9578.js +1 -1
- package/app/.next-cli-build/server/chunks/9594.js +1 -0
- package/app/.next-cli-build/server/chunks/965.js +1 -1
- package/app/.next-cli-build/server/chunks/9899.js +1 -1
- package/app/.next-cli-build/server/instrumentation.js +1 -1
- package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware.js.nft.json +1 -1
- package/app/.next-cli-build/server/pages/404.html +1 -1
- package/app/.next-cli-build/server/pages/500.html +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
- package/app/.next-cli-build/static/chunks/{198-145d0ed2ec3c54f5.js → 198-7c5bbea89ef8bc14.js} +1 -1
- package/app/.next-cli-build/static/chunks/{3670-e7a22341025498f8.js → 3670-d6dc44bc181c9b8a.js} +1 -1
- package/app/.next-cli-build/static/chunks/5014-a5d960f4c6bc6297.js +1 -0
- package/app/.next-cli-build/static/chunks/{6174.18e2c57e892d721a.js → 6174.a18fedfa3d765b1e.js} +1 -1
- package/app/.next-cli-build/static/chunks/6448-71a8c2ac8d9ecc09.js +1 -0
- package/app/.next-cli-build/static/chunks/7899-a12f962af02edf7f.js +1 -0
- package/app/.next-cli-build/static/chunks/8105-71d1aea9708976db.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/{page-8147ae8fa9c04381.js → page-42bfc760fbea3b96.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/{page-9cbf62f78701882a.js → page-1df6ad7d9adfc2a7.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-5f91e148400a241b.js → page-59ee0b412f972940.js} +3 -3
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-dac4ab98fc595054.js → page-25d06b77bd1a5edb.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-463f9fa33be9426a.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/{page-06f4e52ee3b63f82.js → page-5bb99ecaf48bde39.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/ui-kit/{page-6c982cc50b6af101.js → page-1bc393f267badc04.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-923f864ec0be0fc8.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-dd9d1e49b2f69197.js → layout-a94f45e334f1841b.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/landing/{page-02b7bfebd65c41f1.js → page-98f05847e3372b16.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/{layout-c266f1acedfb4651.js → layout-29d74e164758a126.js} +1 -1
- package/app/.next-cli-build/static/chunks/webpack-1e19a4b05298b49d.js +1 -0
- package/app/.next-cli-build/static/css/{9f0b95a0d0bc5e51.css → ffa1d9c3cbb4e959.css} +1 -1
- package/app/custom-server.js +0 -37
- package/app/package.json +4 -5
- package/app/server.js +1 -1
- package/app/src/lib/db/adapters/sqljsAdapter.js +39 -4
- package/app/src/lib/oauth/services/xai.js +19 -12
- package/app/src/shared/services/quotaAutoPing.js +43 -8
- package/app/src/shared/services/quotaSnapshotPoller.js +2 -1
- package/app/src/sse/services/backgroundTokenRefresh.js +13 -1
- package/package.json +1 -1
- package/src/cli/menus/combos.js +3 -1
- package/app/.next-cli-build/server/chunks/1764.js +0 -1
- package/app/.next-cli-build/server/chunks/2384.js +0 -1
- package/app/.next-cli-build/server/chunks/3093.js +0 -1
- package/app/.next-cli-build/server/chunks/3306.js +0 -1
- package/app/.next-cli-build/server/chunks/331.js +0 -1
- package/app/.next-cli-build/server/chunks/3414.js +0 -1
- package/app/.next-cli-build/server/chunks/3558.js +0 -1
- package/app/.next-cli-build/server/chunks/3586.js +0 -1
- package/app/.next-cli-build/server/chunks/3676.js +0 -1
- package/app/.next-cli-build/server/chunks/4037.js +0 -1
- package/app/.next-cli-build/server/chunks/4199.js +0 -2
- package/app/.next-cli-build/server/chunks/4278.js +0 -1
- package/app/.next-cli-build/server/chunks/6158.js +0 -1
- package/app/.next-cli-build/server/chunks/6354.js +0 -1
- package/app/.next-cli-build/server/chunks/6734.js +0 -1
- package/app/.next-cli-build/server/chunks/6769.js +0 -1
- package/app/.next-cli-build/server/chunks/7261.js +0 -1
- package/app/.next-cli-build/server/chunks/7901.js +0 -1
- package/app/.next-cli-build/server/chunks/8372.js +0 -1
- package/app/.next-cli-build/server/chunks/8635.js +0 -3
- package/app/.next-cli-build/server/chunks/994.js +0 -1
- package/app/.next-cli-build/static/chunks/5014-a441cde708542153.js +0 -1
- package/app/.next-cli-build/static/chunks/6448-4eabf683083596e6.js +0 -1
- package/app/.next-cli-build/static/chunks/7899-e6a70cb9d3684f7f.js +0 -1
- package/app/.next-cli-build/static/chunks/8105-5c7e7c73b4bd532d.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-9fadf2c38665c20c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-7571538830147099.js +0 -1
- package/app/.next-cli-build/static/chunks/webpack-187fa25c98ba99f3.js +0 -1
- /package/app/.next-cli-build/static/{3Qm_WgU2xvFJ9U_G7SKhT → gdVYVwJMM6JES9Y1KPQyw}/_buildManifest.js +0 -0
- /package/app/.next-cli-build/static/{3Qm_WgU2xvFJ9U_G7SKhT → gdVYVwJMM6JES9Y1KPQyw}/_ssgManifest.js +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en" class="__variable_ac327c __variable_ebdb69 __variable_db7957 __variable_614881"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/22a5144ee8d83bca-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/2b5b02fc7e511755-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/7d4881bb7e1bf84d-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/9d5a263311222317-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/a3e6e8037ffa1953.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/aa016aab0e6d1295-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/c7e0cf6c760983e7-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/9f0b95a0d0bc5e51.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-187fa25c98ba99f3.js"/><script src="/_next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js" async=""></script><script src="/_next/static/chunks/3794-0a1186eb85c3950f.js" async=""></script><script src="/_next/static/chunks/main-app-cf38df0bac48d0de.js" async=""></script><script src="/_next/static/chunks/3670-e7a22341025498f8.js" async=""></script><script src="/_next/static/chunks/app/layout-c266f1acedfb4651.js" async=""></script><script src="/_next/static/chunks/1610-54cdd36a7d983e62.js" async=""></script><script src="/_next/static/chunks/4070-c76ef7302b944563.js" async=""></script><script src="/_next/static/chunks/9233-7c1e356386d4e864.js" async=""></script><script src="/_next/static/chunks/9671-13bf0a1dd082ad39.js" async=""></script><script src="/_next/static/chunks/4685-8a4450325e60133c.js" async=""></script><script src="/_next/static/chunks/2903-5612a657f163e2fe.js" async=""></script><script src="/_next/static/chunks/7899-e6a70cb9d3684f7f.js" async=""></script><script src="/_next/static/chunks/1863-07d1c4c60eabc139.js" async=""></script><script src="/_next/static/chunks/5014-a441cde708542153.js" async=""></script><script src="/_next/static/chunks/8105-5c7e7c73b4bd532d.js" async=""></script><script src="/_next/static/chunks/198-145d0ed2ec3c54f5.js" async=""></script><script src="/_next/static/chunks/7505-ca9d79ac294d5e1d.js" async=""></script><script src="/_next/static/chunks/4588-174b18f1f2ff2cdb.js" async=""></script><script src="/_next/static/chunks/9284-61f162b7e4e8e29a.js" async=""></script><script src="/_next/static/chunks/4321-43ee628717578b08.js" async=""></script><script src="/_next/static/chunks/3343-ceaef2b087f3b07c.js" async=""></script><script src="/_next/static/chunks/2577-fc8581b39b97c9e7.js" async=""></script><script src="/_next/static/chunks/1039-ecf160a888ab92fc.js" async=""></script><script src="/_next/static/chunks/9518-fcc2c02ff35bf27c.js" async=""></script><script src="/_next/static/chunks/3671-e99f2f50ba62277e.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/dashboard/error-b49a63f5b486ee1d.js" async=""></script><script src="/_next/static/chunks/6448-4eabf683083596e6.js" async=""></script><script src="/_next/static/chunks/5814-f219e250823160d0.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/dashboard/settings/page-e7a4ca2cf8b3732c.js" async=""></script><meta name="theme-color" content="#f3f1ea" media="(prefers-color-scheme: light)"/><meta name="theme-color" content="#0d0e12" media="(prefers-color-scheme: dark)"/><title>tokenhop - 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="/brand/favicon.svg" type="image/svg+xml"/><link rel="icon" href="/brand/favicon.ico"/><meta name="next-size-adjust" content=""/><script>(function(){var r=document.documentElement;try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'dark';t=t||'dark';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'&&m)){r.classList.add('dark')}else{r.classList.remove('dark')}}catch(e){r.classList.add('dark')}try{var c=document.cookie.match(/(?:^|; )locale=([^;]*)/);var l=c?decodeURIComponent(c[1]):'en';if(l==='zh')l='zh-CN';if(["en","vi","zh-CN","zh-TW","ja","pt-BR","pt-PT","ko","es","de","fr","he","ar","ru","pl","cs","nl","tr","uk","tl","id","km","th","hi","bn","ur","ro","sv","it","el","hu","fi","da","no","fa"].indexOf(l)<0)l='en';r.lang=l;if(["ar","he","fa","ur"].indexOf(l)>=0)r.dir='rtl'}catch(e){}})();</script><script>(function(){try{var m=document.cookie.match(/(?:^|; )nr-density=([^;]*)/);if(m&&decodeURIComponent(m[1])==='compact'){document.documentElement.classList.add('compact-density')}}catch(e){}})();</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen w-full overflow-hidden bg-bg text-text"><a href="#main-content" class="sr-only focus:not-sr-only focus:absolute focus:start-4 focus:top-4 focus:z-[90] focus:rounded-lg focus:bg-panel focus:px-3 focus:py-2 focus:text-sm focus:shadow-card">Skip to content</a><div aria-live="polite" class="fixed end-4 top-4 z-[80] flex w-[min(92vw,380px)] flex-col gap-2"></div><div class="hidden lg:flex"><aside class="flex h-full min-h-0 w-[248px] shrink-0 flex-col gap-5 border-e border-line bg-panel px-4 pt-6 pb-4 text-text"><div class="flex items-center gap-2.5 px-2"><a class="flex items-center gap-2.5 focus-visible:outline-none focus-visible:shadow-focus" href="/dashboard"><span class="flex items-center gap-2.5 "><svg aria-hidden="true" viewBox="0 0 64 64" width="36" height="36" class="" focusable="false"><rect width="64" height="64" rx="16" fill="var(--signal-coral)"></rect><path d="M25 11V41.5C25 48.5 28.8 52 35.5 52H40" fill="none" stroke="currentColor" stroke-width="7.5" stroke-linecap="round"></path><path d="M14 26.5C22 18.5 34 18 42 24" fill="none" stroke="currentColor" stroke-width="6.5" stroke-linecap="round"></path><path d="M43 29a6.5 6.5 0 1 0 13 0a6.5 6.5 0 1 0-13 0z" fill="currentColor"></path></svg><span class="font-display font-bold tracking-[-0.02em] text-text" style="font-size:22px">tokenhop</span></span></a><span class="ms-auto max-w-[7.5rem] truncate rounded-md border border-line px-1.5 py-0.5 font-mono text-[11px] whitespace-nowrap text-muted" title="v1.0.0" data-i18n-skip="true">v1.0.0</span></div><div role="status" aria-label="Gateway status loading" class="flex h-[54px] animate-pulse items-center gap-2.5 rounded-xl bg-lime-bg px-3 py-2.5"><span class="size-2 shrink-0 rounded-full bg-lime-ink" aria-hidden="true"></span><div class="flex min-w-0 flex-1 flex-col gap-0.5"><span class="h-[17px] w-24 rounded bg-line"></span><span class="h-[15px] w-32 rounded bg-line"></span></div></div><nav aria-label="Main" class="flex min-h-0 flex-1 flex-col gap-[18px] overflow-y-auto custom-scrollbar"><div class="flex flex-col gap-0.5"><p class="px-3 pb-1.5 text-[11px] font-semibold uppercase tracking-[0.1em] text-subtle">Route</p><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">home</span><span class="min-w-0 flex-1 truncate">Home</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/providers"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">dns</span><span class="min-w-0 flex-1 truncate">Providers</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/combos"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">layers</span><span class="min-w-0 flex-1 truncate">Combos</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/endpoint"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">api</span><span class="min-w-0 flex-1 truncate">Endpoint & keys</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a></div><div class="flex flex-col gap-0.5"><p class="px-3 pb-1.5 text-[11px] font-semibold uppercase tracking-[0.1em] text-subtle">Watch</p><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/usage"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">bar_chart</span><span class="min-w-0 flex-1 truncate">Usage</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/quota"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">data_usage</span><span class="min-w-0 flex-1 truncate">Quota</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/console-log"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">terminal</span><span class="min-w-0 flex-1 truncate">Console log</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a></div><div class="flex flex-col gap-0.5"><p class="px-3 pb-1.5 text-[11px] font-semibold uppercase tracking-[0.1em] text-subtle">Tune</p><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/token-saver"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">savings</span><span class="min-w-0 flex-1 truncate">Token saver</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/cli-tools"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">terminal</span><span class="min-w-0 flex-1 truncate">CLI tools</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/media-providers"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">perm_media</span><span class="min-w-0 flex-1 truncate">Media providers</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/proxy-pools"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">lan</span><span class="min-w-0 flex-1 truncate">Proxy pools</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/skills"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">extension</span><span class="min-w-0 flex-1 truncate">Skills</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a aria-current="page" class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors bg-coral-bg font-semibold text-coral-ink" href="/dashboard/settings"><span class="material-symbols-outlined text-[18px] fill-1" aria-hidden="true">settings</span><span class="min-w-0 flex-1 truncate">Settings</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a></div></nav><div class="flex items-center gap-2.5 border-t border-line px-2 pt-3"><span class="flex size-8 shrink-0 items-center justify-center rounded-full bg-sky font-display text-sm font-bold text-bg" aria-hidden="true">A</span><div class="flex min-w-0 flex-1 flex-col"><p class="truncate text-[13px] font-semibold text-text">Admin</p><p class="truncate text-xs text-muted">Password</p></div><button class="flex items-center justify-center size-10 rounded-full text-muted hover:text-text hover:bg-raised transition-colors size-11 rounded-[10px] border border-line bg-transparent hover:border-subtle" aria-label="Switch to light mode" title="Switch to light mode"><span class="material-symbols-outlined text-[22px]">light_mode</span></button><button aria-haspopup="menu" aria-expanded="false" type="button" aria-label="Account menu" class="inline-flex size-10 shrink-0 items-center justify-center rounded-lg border border-line bg-raised text-muted transition-colors duration-150 hover:bg-line/60 hover:text-text focus-visible:outline-none focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 size-11"><span class="material-symbols-outlined text-[20px]" aria-hidden="true">more_vert</span></button></div></aside></div><main id="main-content" tabindex="-1" class="relative isolate flex h-full min-w-0 flex-1 flex-col"><header class="flex shrink-0 flex-wrap items-end gap-x-3 gap-y-2 px-4 pt-6 pb-4 lg:px-10 lg:pt-7 lg:pb-5"><div class="flex shrink-0 items-center lg:hidden"><button aria-controls="mobile-sidebar-drawer" aria-expanded="false" type="button" aria-label="Open navigation" class="inline-flex size-10 shrink-0 items-center justify-center rounded-lg border border-line bg-raised text-muted transition-colors duration-150 hover:bg-line/60 hover:text-text focus-visible:outline-none focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50"><span class="material-symbols-outlined text-[20px]" aria-hidden="true">menu</span></button></div><div class="flex min-w-0 flex-1 flex-col gap-1 sm:max-w-[28rem]"><p class="truncate text-xs font-medium text-muted lg:text-sm">Every knob in one place.</p><h1 class="font-display text-xl leading-tight font-bold tracking-[-0.02em] text-text max-sm:line-clamp-2 max-sm:break-words sm:truncate sm:text-2xl xl:text-[42px] xl:leading-[1.05]" title="Settings">Settings</h1></div><div class="flex shrink-0 items-center justify-end gap-2 sm:min-w-0 sm:flex-1"><button type="button" aria-label="Open command palette" aria-haspopup="dialog" class="flex h-11 items-center gap-2.5 rounded-xl border border-line bg-raised px-3 text-start text-sm text-muted transition-colors hover:border-line/80 hover:text-text focus-visible:outline-none focus-visible:shadow-focus max-sm:size-11 max-sm:justify-center max-sm:px-0 sm:min-w-[140px] sm:max-w-[320px] sm:flex-1"><span class="material-symbols-outlined shrink-0 text-[18px] text-muted" aria-hidden="true">search</span><span class="min-w-0 flex-1 truncate text-xs text-subtle sm:text-sm max-sm:hidden">Jump to provider, model, combo…</span><span class="hidden shrink-0 items-center gap-1 sm:flex" aria-hidden="true"><kbd class="inline-flex h-5 min-w-5 items-center justify-center rounded-md border border-line bg-raised px-1.5 font-mono text-[11px] font-medium text-subtle">⌘K</kbd></span></button><div class="hidden min-w-0 items-center gap-2 sm:contents"><button type="button" aria-label="Support tokenhop" class="inline-flex size-10 shrink-0 items-center justify-center rounded-lg border border-line bg-raised text-muted transition-colors duration-150 hover:bg-line/60 hover:text-text focus-visible:outline-none focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 text-coral hover:bg-coral-bg hover:text-coral-ink"><span class="material-symbols-outlined text-[20px]" aria-hidden="true">volunteer_activism</span></button><button data-i18n-skip="true" type="button" aria-label="Language: English" class="inline-flex size-10 shrink-0 items-center justify-center rounded-lg border border-line bg-raised text-muted transition-colors duration-150 hover:bg-line/60 hover:text-text focus-visible:outline-none focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 w-auto gap-1 px-2.5"><span class="material-symbols-outlined text-[20px]" aria-hidden="true">translate</span><span class="font-mono text-xs font-semibold" aria-hidden="true">EN</span></button></div><span class="hidden sm:inline-flex"><button aria-haspopup="menu" aria-expanded="false" type="button" aria-label="Menu" class="inline-flex size-10 shrink-0 items-center justify-center rounded-lg border border-line bg-raised text-muted transition-colors duration-150 hover:bg-line/60 hover:text-text focus-visible:outline-none focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 border-transparent bg-transparent hover:bg-raised"><span class="material-symbols-outlined text-[20px]" aria-hidden="true">grid_view</span></button></span><span class="inline-flex sm:hidden"><button aria-haspopup="menu" aria-expanded="false" type="button" aria-label="Menu" class="inline-flex size-10 shrink-0 items-center justify-center rounded-lg border border-line bg-raised text-muted transition-colors duration-150 hover:bg-line/60 hover:text-text focus-visible:outline-none focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 border-transparent bg-transparent hover:bg-raised"><span class="material-symbols-outlined text-[20px]" aria-hidden="true">more_vert</span></button></span></div></header><div class="custom-scrollbar flex-1 overflow-y-auto p-4 lg:px-10 lg:pt-7 lg:pb-8"><div class="mx-auto w-full max-w-7xl"><!--$?--><template id="B:0"></template><div role="status" aria-label="Loading dashboard" class="flex flex-col gap-6"><div class="flex flex-col gap-2" aria-hidden="true"><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-3 w-full"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-3 w-2/3"></div></div><div class="grid gap-4 md:grid-cols-3"><div class="rounded-2xl border border-line bg-panel p-6 shadow-card"><div class="mb-4 flex items-center justify-between"><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-4 w-24"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised size-10 rounded-[10px]"></div></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised mb-2 h-8 w-16"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-3 w-20"></div></div><div class="rounded-2xl border border-line bg-panel p-6 shadow-card"><div class="mb-4 flex items-center justify-between"><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-4 w-24"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised size-10 rounded-[10px]"></div></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised mb-2 h-8 w-16"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-3 w-20"></div></div><div class="rounded-2xl border border-line bg-panel p-6 shadow-card"><div class="mb-4 flex items-center justify-between"><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-4 w-24"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised size-10 rounded-[10px]"></div></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised mb-2 h-8 w-16"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-3 w-20"></div></div></div></div><!--/$--></div></div></main></div><p role="status" aria-live="polite" class="sr-only"></p><script>requestAnimationFrame(function(){$RT=performance.now()});</script><script src="/_next/static/chunks/webpack-187fa25c98ba99f3.js" id="_R_" async=""></script><div hidden id="S:0"><div class="mx-auto max-w-6xl space-y-6"><div class="flex flex-col gap-4"><div class="flex flex-wrap items-center justify-between gap-4"><div><p class="text-sm text-muted">Changes save instantly.<!-- --> <span aria-live="polite" aria-atomic="true" class="font-medium text-ok"> </span></p></div><div class="flex flex-col gap-2"><div class="flex flex-wrap 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.97] focus-visible:outline-none focus-visible:shadow-focus disabled:opacity-50 disabled:cursor-not-allowed disabled:active:scale-100 aria-disabled:opacity-50 aria-disabled:cursor-not-allowed aria-disabled:active:scale-100 bg-raised text-text border border-line hover:bg-line/60 h-11 px-4 text-sm rounded-lg"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">download</span>Export config</button><button class="inline-flex items-center justify-center gap-2 font-semibold transition-all duration-150 ease-out cursor-pointer active:scale-[0.97] focus-visible:outline-none focus-visible:shadow-focus disabled:opacity-50 disabled:cursor-not-allowed disabled:active:scale-100 aria-disabled:opacity-50 aria-disabled:cursor-not-allowed aria-disabled:active:scale-100 bg-raised text-text border border-line hover:bg-line/60 h-11 px-4 text-sm rounded-lg"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">upload</span>Import</button><input type="file" accept="application/json,.json" class="hidden" tabindex="-1" aria-hidden="true"/></div><div aria-live="polite" aria-atomic="true"></div></div></div><div class="relative"><div class="flex flex-col gap-1.5"><div class="relative"><div class="absolute inset-y-0 start-0 flex items-center ps-3 pointer-events-none text-muted" aria-hidden="true"><span class="material-symbols-outlined text-[20px]">search</span></div><input aria-label="Search settings" id="settings-search" type="search" placeholder="Search settings" class="w-full py-2.5 px-3 text-sm text-text bg-raised rounded-lg border border-line placeholder:text-subtle focus:outline-none focus:border-coral focus:shadow-focus transition-colors duration-150 disabled:opacity-50 disabled:cursor-not-allowed text-[16px] sm:text-sm ps-10 min-h-10 sm:pe-10" value=""/></div></div><span class="pointer-events-none absolute inset-y-0 end-3 hidden items-center sm:flex" aria-hidden="true"><kbd class="inline-flex h-5 min-w-5 items-center justify-center rounded-md border border-line bg-raised px-1.5 font-mono text-[11px] font-medium text-subtle">/</kbd></span></div></div><div class="grid gap-6 lg:grid-cols-[15rem_minmax(0,1fr)]"><nav aria-label="Settings groups" class="grid grid-cols-2 gap-2 md:grid-cols-4 lg:col-span-2"><button type="button" aria-pressed="true" class="group flex items-center gap-3 rounded-xl border px-4 py-3 text-left transition-all outline-none focus-visible:shadow-focus border-coral/40 bg-coral-bg shadow-card"><span aria-hidden="true" class="material-symbols-outlined flex size-9 shrink-0 items-center justify-center rounded-lg text-[20px] bg-coral text-on-coral">manage_accounts</span><span class="min-w-0"><span class="block text-sm font-semibold text-coral">Account</span><span class="block truncate text-xs text-muted">General · Security & access · Single sign-on</span></span></button><button type="button" aria-pressed="false" class="group flex items-center gap-3 rounded-xl border px-4 py-3 text-left transition-all outline-none focus-visible:shadow-focus border-line bg-panel hover:-translate-y-0.5 hover:bg-raised"><span aria-hidden="true" class="material-symbols-outlined flex size-9 shrink-0 items-center justify-center rounded-lg text-[20px] bg-raised text-muted group-hover:text-text">route</span><span class="min-w-0"><span class="block text-sm font-semibold text-text">Traffic</span><span class="block truncate text-xs text-muted">Routing · Reliability · Network · Token saver</span></span></button><button type="button" aria-pressed="false" class="group flex items-center gap-3 rounded-xl border px-4 py-3 text-left transition-all outline-none focus-visible:shadow-focus border-line bg-panel hover:-translate-y-0.5 hover:bg-raised"><span aria-hidden="true" class="material-symbols-outlined flex size-9 shrink-0 items-center justify-center rounded-lg text-[20px] bg-raised text-muted group-hover:text-text">dns</span><span class="min-w-0"><span class="block text-sm font-semibold text-text">Models & usage</span><span class="block truncate text-xs text-muted">Providers & models · Observability & logs · Pricing</span></span></button><button type="button" aria-pressed="false" class="group flex items-center gap-3 rounded-xl border px-4 py-3 text-left transition-all outline-none focus-visible:shadow-focus border-line bg-panel hover:-translate-y-0.5 hover:bg-raised"><span aria-hidden="true" class="material-symbols-outlined flex size-9 shrink-0 items-center justify-center rounded-lg text-[20px] bg-raised text-muted group-hover:text-text">settings</span><span class="min-w-0"><span class="block text-sm font-semibold text-text">System</span><span class="block truncate text-xs text-muted">Data & backup · Environment · Danger zone</span></span></button></nav><nav aria-label="Account sections" class="lg:sticky lg:top-0 lg:self-start"><ul class="grid grid-cols-1 gap-1 sm:grid-cols-2 lg:flex lg:flex-col"><li class="min-w-0"><a href="#general" aria-current="page" class="relative flex items-start gap-3 rounded-lg px-3 py-2.5 transition-colors outline-none focus-visible:shadow-focus bg-panel shadow-card lg:before:absolute lg:before:inset-y-2 lg:before:left-0 lg:before:w-0.5 lg:before:rounded-full lg:before:bg-coral"><span aria-hidden="true" class="material-symbols-outlined mt-0.5 text-[18px] text-coral">tune</span><span class="min-w-0"><span class="flex items-center gap-2 text-sm font-semibold whitespace-nowrap text-text">General</span><span class="hidden text-xs text-muted lg:block">Look, language and where you land.</span></span></a></li><li class="min-w-0"><a href="#security" class="relative flex items-start gap-3 rounded-lg px-3 py-2.5 transition-colors outline-none focus-visible:shadow-focus hover:bg-raised"><span aria-hidden="true" class="material-symbols-outlined mt-0.5 text-[18px] text-muted">shield</span><span class="min-w-0"><span class="flex items-center gap-2 text-sm font-semibold whitespace-nowrap text-text">Security & access</span><span class="hidden text-xs text-muted lg:block">Who can reach the dashboard and the API.</span></span></a></li><li class="min-w-0"><a href="#sso" class="relative flex items-start gap-3 rounded-lg px-3 py-2.5 transition-colors outline-none focus-visible:shadow-focus hover:bg-raised"><span aria-hidden="true" class="material-symbols-outlined mt-0.5 text-[18px] text-muted">lock_open</span><span class="min-w-0"><span class="flex items-center gap-2 text-sm font-semibold whitespace-nowrap text-text">Single sign-on</span><span class="hidden text-xs text-muted lg:block">Sign in with your identity provider.</span></span></a></li></ul></nav><div class="min-w-0"><p class="mb-3 text-xs font-semibold uppercase tracking-wide text-muted">Account<!-- --> /<!-- --> <span class="text-text">General</span></p><div class="space-y-4"><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised"></div></div></div></div></div><!--$--><!--/$--></div><script>$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d||"/&"===d)if(0===h)break;else h--;else"$"!==d&&"$?"!==d&&"$~"!==d&&"$!"!==d&&"&"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data="$";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};
|
|
2
|
-
$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data="$~",$RB.push(a,b),2===$RB.length&&("number"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};$RC("B:0","S:0")</script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[24597,[\"3670\",\"static/chunks/3670-e7a22341025498f8.js\",\"7177\",\"static/chunks/app/layout-c266f1acedfb4651.js\"],\"default\"]\n3:I[21110,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"4070\",\"static/chunks/4070-c76ef7302b944563.js\",\"9233\",\"static/chunks/9233-7c1e356386d4e864.js\",\"9671\",\"static/chunks/9671-13bf0a1dd082ad39.js\",\"4685\",\"static/chunks/4685-8a4450325e60133c.js\",\"2903\",\"static/chunks/2903-5612a657f163e2fe.js\",\"7899\",\"static/chunks/7899-e6a70cb9d3684f7f.js\",\"1863\",\"static/chunks/1863-07d1c4c60eabc139.js\",\"5014\",\"static/chunks/5014-a441cde708542153.js\",\"8105\",\"static/chunks/8105-5c7e7c73b4bd532d.js\",\"198\",\"static/chunks/198-145d0ed2ec3c54f5.js\",\"7505\",\"static/chunks/7505-ca9d79ac294d5e1d.js\",\"4588\",\"static/chunks/4588-174b18f1f2ff2cdb.js\",\"9284\",\"static/chunks/9284-61f162b7e4e8e29a.js\",\"4321\",\"static/chunks/4321-43ee628717578b08.js\",\"3343\",\"static/chunks/3343-ceaef2b087f3b07c.js\",\"2577\",\"static/chunks/2577-fc8581b39b97c9e7.js\",\"1039\",\"static/chunks/1039-ecf160a888ab92fc.js\",\"9518\",\"static/chunks/9518-fcc2c02ff35bf27c.js\",\"3671\",\"static/chunks/3671-e99f2f50ba62277e.js\",\"6337\",\"static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js\"],\"ThemeProvider\"]\n4:I[94635,[\"3670\",\"static/chunks/3670-e7a22341025498f8.js\",\"7177\",\"static/chunks/app/layout-c266f1acedfb4651.js\"],\"RuntimeI18nProvider\"]\n5:I[57121,[],\"\"]\n6:I[74581,[],\"\"]\n7:I[22577,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"4070\",\"static/chunks/4070-c76ef7302b944563.js\",\"9233\",\"static/chunks/9233-7c1e356386d4e864.js\",\"9671\",\"static/chunks/9671-13bf0a1dd082ad39.js\",\"4685\",\"static/chunks/4685-8a4450325e60133c.js\",\"2903\",\"static/chunks/2903-5612a657f163e2fe.js\",\"7899\",\"static/chunks/7899-e6a70cb9d3684f7f.js\",\"1863\",\"static/chunks/1863-07d1c4c60eabc139.js\",\"5014\",\"static/chunks/5014-a441cde708542153.js\",\"8105\",\"static/chunks/8105-5c7e7c73b4bd532d.js\",\"198\",\"static/chunks/198-145d0ed2ec3c54f5.js\",\"7505\",\"static/chunks/7505-ca9d79ac294d5e1d.js\",\"4588\",\"static/chunks/4588-174b18f1f2ff2cdb.js\",\"9284\",\"static/chunks/9284-61f162b7e4e8e29a.js\",\"4321\",\"static/chunks/4321-43ee628717578b08.js\",\"3343\",\"static/chunks/3343-ceaef2b087f3b07c.js\",\"2577\",\"static/chunks/2577-fc8581b39b97c9e7.js\",\"1039\",\"static/chunks/1039-ecf160a888ab92fc.js\",\"9518\",\"static/chunks/9518-fcc2c02ff35bf27c.js\",\"3671\",\"static/chunks/3671-e99f2f50ba62277e.js\",\"6337\",\"static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js\"],\"default\"]\n8:I[57121,[],\"LoadingBoundaryProvider\"]\n9:I[25086,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"4070\",\"static/chunks/4070-c76ef7302b944563.js\",\"9233\",\"static/chunks/9233-7c1e356386d4e864.js\",\"9671\",\"static/chunks/9671-13bf0a1dd082ad39.js\",\"4685\",\"static/chunks/4685-8a4450325e60133c.js\",\"2903\",\"static/chunks/2903-5612a657f163e2fe.js\",\"7899\",\"static/chunks/7899-e6a70cb9d3684f7f.js\",\"1863\",\"static/chunks/1863-07d1c4c60eabc139.js\",\"5014\",\"static/chunks/5014-a441cde708542153.js\",\"8105\",\"static/chunks/8105-5c7e7c73b4bd532d.js\",\"198\",\"static/chunks/198-145d0ed2ec3c54f5.js\",\"7505\",\"static/chunks/7505-ca9d79ac294d5e1d.js\",\"4588\",\"static/chunks/4588-174b18f1f2ff2cdb.js\",\"9284\",\"static/chunks/9284-61f162b7e4e8e29a.js\",\"4321\",\"static/chunks/4321-43ee628717578b08.js\",\"3343\",\"static/chunks/3343-ceaef2b087f3b07c.js\",\"2577\",\"static/chunks/2577-fc8581b39b97c9e7.js\",\"1039\",\"static/chunks/1039-ecf160a888ab92fc.js\",\"9518\",\"static/chunks/9518-fcc2c02ff35bf27c.js\",\"3671\",\"static/chunks/3671-e99f2f50ba62277e.js\",\"6337\",\"static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js\"],\"SkeletonText\"]\na:I[25086,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"4070\",\"static/chunks/4070-c76ef7302b944563.js\",\"9233\",\"static/chunks/9233-7c1e356386d4e864.js\",\"9671\",\"static/chunks/9671-13bf0a1dd082ad39.js\",\"4685\",\"static/chunks/4685-8a4450325e60133c.js\",\"2903\",\"static/chunks/2903-5612a657f163e2fe.js\",\"7899\",\"static/chunks/7899-e6a70cb9d3684f7f.js\",\"1863\",\"static/chunks/1863-07d1c4c60eabc139.js\",\"5014\",\"static/chunks/5014-a441cde708542153.js\",\"8105\",\"static/chunks/8105-5c7e7c73b4bd532d.js\",\"198\",\"static/chunks/198-145d0ed2ec3c54f5.js\",\"7505\",\"static/chunks/7505-ca9d79ac294d5e1d.js\",\"4588\",\"static/chunks/4588-174b18f1f2ff2cdb.js\",\"9284\",\"static/chunks/9284-61f162b7e4e8e29a.js\",\"4321\",\"static/chunks/4321-43ee628717578b08.js\",\"3343\",\"static/chunks/3343-ceaef2b087f3b07c.js\",\"2577\",\"static/chunks/2577-fc8581b39b97c9e7.js\",\"1039\",\"static/chunks/1039-ecf160a888ab92fc.js\",\"9518\",\"static/chunks/9518-fcc2c02ff35bf27c.js\",\"3671\",\"static/chunks/3671-e99f2f50ba62277e.js\",\"6337\",\"static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js\"],\"CardSkeleton\"]\n10:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/22a5144ee8d83bca-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/2b5b02fc7e511755-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/7d4881bb7e1bf84d-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/9d5a263311222317-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/a3e6e8037ffa1953.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/aa016aab0e6d1295-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/c7e0cf6c760983e7-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/9f0b95a0d0bc5e51.css\",\"style\"]\ne:X\n0:{\"P\":null,\"c\":[\"\",\"dashboard\",\"settings\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"(dashboard)\",{\"children\":[\"dashboard\",{\"children\":[\"settings\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4612]},\"$undefined\",\"$undefined\",4616]},\"$undefined\",\"$undefined\",4632],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/9f0b95a0d0bc5e51.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_ac327c __variable_ebdb69 __variable_db7957 __variable_614881\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){var r=document.documentElement;try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'dark';t=t||'dark';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'\u0026\u0026m)){r.classList.add('dark')}else{r.classList.remove('dark')}}catch(e){r.classList.add('dark')}try{var c=document.cookie.match(/(?:^|; )locale=([^;]*)/);var l=c?decodeURIComponent(c[1]):'en';if(l==='zh')l='zh-CN';if([\\\"en\\\",\\\"vi\\\",\\\"zh-CN\\\",\\\"zh-TW\\\",\\\"ja\\\",\\\"pt-BR\\\",\\\"pt-PT\\\",\\\"ko\\\",\\\"es\\\",\\\"de\\\",\\\"fr\\\",\\\"he\\\",\\\"ar\\\",\\\"ru\\\",\\\"pl\\\",\\\"cs\\\",\\\"nl\\\",\\\"tr\\\",\\\"uk\\\",\\\"tl\\\",\\\"id\\\",\\\"km\\\",\\\"th\\\",\\\"hi\\\",\\\"bn\\\",\\\"ur\\\",\\\"ro\\\",\\\"sv\\\",\\\"it\\\",\\\"el\\\",\\\"hu\\\",\\\"fi\\\",\\\"da\\\",\\\"no\\\",\\\"fa\\\"].indexOf(l)\u003c0)l='en';r.lang=l;if([\\\"ar\\\",\\\"he\\\",\\\"fa\\\",\\\"ur\\\"].indexOf(l)\u003e=0)r.dir='rtl'}catch(e){}})();\"}}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var m=document.cookie.match(/(?:^|; )nr-density=([^;]*)/);if(m\u0026\u0026decodeURIComponent(m[1])==='compact'){document.documentElement.classList.add('compact-density')}}catch(e){}})();\"}}]]}],[\"$\",\"body\",null,{\"className\":\"font-sans antialiased\",\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",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\"}]}]}]]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",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:1: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:1: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:1: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:1: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\":[[\"$\",\"$L8\",null,{\"loading\":[[\"$\",\"div\",\"l\",{\"role\":\"status\",\"aria-label\":\"Loading dashboard\",\"className\":\"flex flex-col gap-6\",\"children\":[[\"$\",\"$L9\",null,{\"lines\":2}],[\"$\",\"div\",null,{\"className\":\"grid gap-4 md:grid-cols-3\",\"children\":[[\"$\",\"$La\",null,{}],[\"$\",\"$La\",null,{}],[\"$\",\"$La\",null,{}]]}]]}],[],null],\"children\":\"$Lb\"}],{\"children\":[\"$Lc\",{\"children\":[\"$Ld\",{},null,false,null]},null,false,\"$e\"]},null,false,\"$e\"]},null,false,null]},null,false,null],\"$Lf\",false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"3Qm_WgU2xvFJ9U_G7SKhT\"}\n11:I[44394,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"2274\",\"static/chunks/app/(dashboard)/dashboard/error-b49a63f5b486ee1d.js\"],\"default\"]\n12:I[99312,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"4070\",\"static/chunks/4070-c76ef7302b944563.js\",\"9233\",\"static/chunks/9233-7c1e356386d4e864.js\",\"9671\",\"static/chunks/9671-13bf0a1dd082ad39.js\",\"4685\",\"static/chunks/4685-8a4450325e60133c.js\",\"2903\",\"static/chunks/2903-5612a657f163e2fe.js\",\"7899\",\"static/chunks/7899-e6a70cb9d3684f7f.js\",\"1863\",\"static/chunks/1863-07d1c4c60eabc139.js\",\"5014\",\"static/chunks/5014-a441cde708542153.js\",\"8105\",\"static/chunks/8105-5c7e7c73b4bd532d.js\",\"198\",\"static/chunks/198-145d0ed2ec3c54f5.js\",\"7505\",\"static/chunks/7505-ca9d79ac294d5e1d.js\",\"4588\",\"static/chunks/4588-174b18f1f2ff2cdb.js\",\"9284\",\"static/chunks/9284-61f162b7e4e8e29a.js\",\"4321\",\"static/chunks/4321-43ee628717578b08.js\",\"3343\",\"static/chunks/3343-ceaef2b087f3b07c.js\",\"2577\",\"static/chunks/2577-fc8581b39b97c9e7.js\",\"1039\",\"static/chunks/1039-ecf160a888ab92fc.js\",\"9518\",\"static/chunks/9518-fcc2c02ff35bf27c.js\",\"3671\",\"static/chunks/3671-e99f2f50ba62277e.js\",\"6337\",\"static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js\"],\"default\"]\n13:I[92542,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"4070\",\"static/chunks/4070-c76ef7302b944563.js\",\"9233\",\"static/chunks/9233-7c1e356386d4e864.js\",\"9671\",\"static/chunks/9671-13bf0a1dd082ad39.js\",\"4685\",\"static/chunks/4685-8a4450325e60133c.js\",\"2903\",\"static/chunks/2903-5612a657f163e2fe.js\",\"7899\",\"static/chunks/7899-e6a70cb9d3684f7f.js\",\"1863\",\"static/chunks/1863-07d1c4c60eabc139.js\",\"5014\",\"static/chunks/5014-a441cde708542153.js\",\"8105\",\"static/chunks/8105-5c7e7c73b4bd532d.js\",\"198\",\"static/chunks/198-145d0ed2ec3c54f5.js\",\"7505\",\"static/chunks/7505-ca9d79ac294d5e1d.js\",\"4588\",\"static/chunks/4588-174b18f1f2ff2cdb.js\",\"9284\",\"static/chunks/9284-61f162b7e4e8e29a.js\",\"4321\",\"static/chunks/4321-43ee628717578b08.js\",\"3343\",\"static/chunks/3343-ceaef2b087f3b07c.js\",\"2577\",\"static/chunks/2577-fc8581b39b97c9e7.js\",\"1039\",\"static/chunks/1039-ecf160a888ab92fc.js\",\"9518\",\"static/chunks/9518-fcc2c02ff35bf27c.js\",\"3671\",\"static/chunks/3671-e99f2f50ba62277e.js\",\"6337\",\"static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js\"],\"default\"]\n14:I[61304,[],\"ClientPageRoot\"]\n15:I[27132,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"9671\",\"static/chunks/9671-13bf0a1dd082ad39.js\",\"4685\",\"static/chunks/4685-8a4450325e60133c.js\",\"2903\",\"static/chunks/2903-5612a657f163e2fe.js\",\"7899\",\"static/chunks/7899-e6a70cb9d3684f7f.js\",\"8105\",\"static/chunks/8105-5c7e7c73b4bd532d.js\",\"7505\",\"static/chunks/7505-ca9d79ac294d5e1d.js\",\"4321\",\"static/chunks/4321-43ee628717578b08.js\",\"6448\",\"static/chunks/6448-4eabf683083596e6.js\",\"3670\",\"static/chunks/3670-e7a22341025498f8.js\",\"5814\",\"static/chunks/5814-f219e250823160d0.js\",\"2791\",\"static/chunks/app/(dashboard)/dashboard/settings/page-e7a4ca2cf8b3732c.js\"],\"default\"]\n18:I[90484,[],\"OutletBoundary\"]\n19:\"$Sreact.suspense\"\n1b:I[90484,[],\"ViewportBoundary\"]\n1d:I[90484,[],\"MetadataBoundary\"]\nb:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$11\",\"errorStyles\":[],\"errorScripts\":null,\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"section\",null,{\"className\":\"rounded-[20px] border border-line bg-panel shadow-card\",\"children\":[\"$\",\"$L12\",null,{\"as\":\"h1\",\"icon\":\"search_off\",\"title\":\"Page not found\",\"body\":\"This dashboard page doesn't exist. Go home or press ⌘K to find a page.\",\"action\":[\"$\",\"$L13\",null,{\"href\":\"/dashboard\",\"variant\":\"secondary\",\"iconRight\":\"arrow_forward\",\"children\":\"Back home\"}]}]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\nc:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\nd:[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L14\",null,{\"Component\":\"$15\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@16\",\"$@17\"]}}],null,[\"$\",\"$L18\",null,{\"children\":[\"$\",\"$19\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@1a\"}]}]]}]\nf:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L1b\",null,{\"children\":\"$L1c\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L1d\",null,{\"children\":[\"$\",\"$19\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L1e\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\ne:C\n16:{}\n17:\"$d:props:children:0:props:serverProvidedParams:params\"\n1c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#f3f1ea\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"content\":\"#0d0e12\",\"media\":\"(prefers-color-scheme: dark)\"}]]\n1f:I[86869,[],\"IconMark\"]\n1a:null\n1e:[[\"$\",\"title\",\"0\",{\"children\":\"tokenhop - 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\":\"/brand/favicon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/brand/favicon.ico\"}],[\"$\",\"$L1f\",\"5\",{}]]\n"])</script></body></html>
|
|
1
|
+
<!DOCTYPE html><html lang="en" class="__variable_0d2d87 __variable_4994ab __variable_258e5a __variable_614881"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/22a5144ee8d83bca-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/2b5b02fc7e511755-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/7d4881bb7e1bf84d-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/9d5a263311222317-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/a3e6e8037ffa1953.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/aa016aab0e6d1295-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/c7e0cf6c760983e7-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/ffa1d9c3cbb4e959.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-1e19a4b05298b49d.js"/><script src="/_next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js" async=""></script><script src="/_next/static/chunks/3794-0a1186eb85c3950f.js" async=""></script><script src="/_next/static/chunks/main-app-cf38df0bac48d0de.js" async=""></script><script src="/_next/static/chunks/3670-d6dc44bc181c9b8a.js" async=""></script><script src="/_next/static/chunks/app/layout-29d74e164758a126.js" async=""></script><script src="/_next/static/chunks/1610-54cdd36a7d983e62.js" async=""></script><script src="/_next/static/chunks/4070-c76ef7302b944563.js" async=""></script><script src="/_next/static/chunks/9233-7c1e356386d4e864.js" async=""></script><script src="/_next/static/chunks/9671-13bf0a1dd082ad39.js" async=""></script><script src="/_next/static/chunks/4685-8a4450325e60133c.js" async=""></script><script src="/_next/static/chunks/2903-5612a657f163e2fe.js" async=""></script><script src="/_next/static/chunks/7899-a12f962af02edf7f.js" async=""></script><script src="/_next/static/chunks/1863-07d1c4c60eabc139.js" async=""></script><script src="/_next/static/chunks/5014-a5d960f4c6bc6297.js" async=""></script><script src="/_next/static/chunks/8105-71d1aea9708976db.js" async=""></script><script src="/_next/static/chunks/198-7c5bbea89ef8bc14.js" async=""></script><script src="/_next/static/chunks/7505-ca9d79ac294d5e1d.js" async=""></script><script src="/_next/static/chunks/4588-174b18f1f2ff2cdb.js" async=""></script><script src="/_next/static/chunks/9284-61f162b7e4e8e29a.js" async=""></script><script src="/_next/static/chunks/4321-43ee628717578b08.js" async=""></script><script src="/_next/static/chunks/3343-ceaef2b087f3b07c.js" async=""></script><script src="/_next/static/chunks/2577-fc8581b39b97c9e7.js" async=""></script><script src="/_next/static/chunks/1039-ecf160a888ab92fc.js" async=""></script><script src="/_next/static/chunks/9518-fcc2c02ff35bf27c.js" async=""></script><script src="/_next/static/chunks/3671-e99f2f50ba62277e.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/dashboard/error-b49a63f5b486ee1d.js" async=""></script><script src="/_next/static/chunks/6448-71a8c2ac8d9ecc09.js" async=""></script><script src="/_next/static/chunks/5814-f219e250823160d0.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/dashboard/settings/page-e7a4ca2cf8b3732c.js" async=""></script><meta name="theme-color" content="#f3f1ea" media="(prefers-color-scheme: light)"/><meta name="theme-color" content="#0d0e12" media="(prefers-color-scheme: dark)"/><title>tokenhop - 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="/brand/favicon.svg" type="image/svg+xml"/><link rel="icon" href="/brand/favicon.ico"/><meta name="next-size-adjust" content=""/><script>(function(){var r=document.documentElement;try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'dark';t=t||'dark';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'&&m)){r.classList.add('dark')}else{r.classList.remove('dark')}}catch(e){r.classList.add('dark')}try{var c=document.cookie.match(/(?:^|; )locale=([^;]*)/);var l=c?decodeURIComponent(c[1]):'en';if(l==='zh')l='zh-CN';if(["en","vi","zh-CN","zh-TW","ja","pt-BR","pt-PT","ko","es","de","fr","he","ar","ru","pl","cs","nl","tr","uk","tl","id","km","th","hi","bn","ur","ro","sv","it","el","hu","fi","da","no","fa"].indexOf(l)<0)l='en';r.lang=l;if(["ar","he","fa","ur"].indexOf(l)>=0)r.dir='rtl'}catch(e){}})();</script><script>(function(){try{var m=document.cookie.match(/(?:^|; )nr-density=([^;]*)/);if(m&&decodeURIComponent(m[1])==='compact'){document.documentElement.classList.add('compact-density')}}catch(e){}})();</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen w-full overflow-hidden bg-bg text-text"><a href="#main-content" class="sr-only focus:not-sr-only focus:absolute focus:start-4 focus:top-4 focus:z-[90] focus:rounded-lg focus:bg-panel focus:px-3 focus:py-2 focus:text-sm focus:shadow-card">Skip to content</a><div aria-live="polite" class="fixed end-4 top-4 z-[80] flex w-[min(92vw,380px)] flex-col gap-2"></div><div class="hidden lg:flex"><aside class="flex h-full min-h-0 w-[248px] shrink-0 flex-col gap-5 border-e border-line bg-panel px-4 pt-6 pb-4 text-text"><div class="flex items-center gap-2.5 px-2"><a class="flex items-center gap-2.5 focus-visible:outline-none focus-visible:shadow-focus" href="/dashboard"><span class="flex items-center gap-2.5 "><svg aria-hidden="true" viewBox="0 0 64 64" width="36" height="36" class="" focusable="false"><rect width="64" height="64" rx="16" fill="var(--signal-coral)"></rect><path d="M25 11V41.5C25 48.5 28.8 52 35.5 52H40" fill="none" stroke="currentColor" stroke-width="7.5" stroke-linecap="round"></path><path d="M14 26.5C22 18.5 34 18 42 24" fill="none" stroke="currentColor" stroke-width="6.5" stroke-linecap="round"></path><path d="M43 29a6.5 6.5 0 1 0 13 0a6.5 6.5 0 1 0-13 0z" fill="currentColor"></path></svg><span class="font-display font-bold tracking-[-0.02em] text-text" style="font-size:22px">tokenhop</span></span></a><span class="ms-auto max-w-[7.5rem] truncate rounded-md border border-line px-1.5 py-0.5 font-mono text-[11px] whitespace-nowrap text-muted" title="v1.0.3" data-i18n-skip="true">v1.0.3</span></div><div role="status" aria-label="Gateway status loading" class="flex h-[54px] animate-pulse items-center gap-2.5 rounded-xl bg-lime-bg px-3 py-2.5"><span class="size-2 shrink-0 rounded-full bg-lime-ink" aria-hidden="true"></span><div class="flex min-w-0 flex-1 flex-col gap-0.5"><span class="h-[17px] w-24 rounded bg-line"></span><span class="h-[15px] w-32 rounded bg-line"></span></div></div><nav aria-label="Main" class="flex min-h-0 flex-1 flex-col gap-[18px] overflow-y-auto custom-scrollbar"><div class="flex flex-col gap-0.5"><p class="px-3 pb-1.5 text-[11px] font-semibold uppercase tracking-[0.1em] text-subtle">Route</p><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">home</span><span class="min-w-0 flex-1 truncate">Home</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/providers"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">dns</span><span class="min-w-0 flex-1 truncate">Providers</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/combos"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">layers</span><span class="min-w-0 flex-1 truncate">Combos</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/endpoint"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">api</span><span class="min-w-0 flex-1 truncate">Endpoint & keys</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a></div><div class="flex flex-col gap-0.5"><p class="px-3 pb-1.5 text-[11px] font-semibold uppercase tracking-[0.1em] text-subtle">Watch</p><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/usage"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">bar_chart</span><span class="min-w-0 flex-1 truncate">Usage</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/quota"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">data_usage</span><span class="min-w-0 flex-1 truncate">Quota</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/console-log"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">terminal</span><span class="min-w-0 flex-1 truncate">Console log</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a></div><div class="flex flex-col gap-0.5"><p class="px-3 pb-1.5 text-[11px] font-semibold uppercase tracking-[0.1em] text-subtle">Tune</p><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/token-saver"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">savings</span><span class="min-w-0 flex-1 truncate">Token saver</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/cli-tools"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">terminal</span><span class="min-w-0 flex-1 truncate">CLI tools</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/media-providers"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">perm_media</span><span class="min-w-0 flex-1 truncate">Media providers</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/proxy-pools"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">lan</span><span class="min-w-0 flex-1 truncate">Proxy pools</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/skills"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">extension</span><span class="min-w-0 flex-1 truncate">Skills</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a aria-current="page" class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors bg-coral-bg font-semibold text-coral-ink" href="/dashboard/settings"><span class="material-symbols-outlined text-[18px] fill-1" aria-hidden="true">settings</span><span class="min-w-0 flex-1 truncate">Settings</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a></div></nav><div class="flex items-center gap-2.5 border-t border-line px-2 pt-3"><span class="flex size-8 shrink-0 items-center justify-center rounded-full bg-sky font-display text-sm font-bold text-bg" aria-hidden="true">A</span><div class="flex min-w-0 flex-1 flex-col"><p class="truncate text-[13px] font-semibold text-text">Admin</p><p class="truncate text-xs text-muted">Password</p></div><button class="flex items-center justify-center size-10 rounded-full text-muted hover:text-text hover:bg-raised transition-colors size-11 rounded-[10px] border border-line bg-transparent hover:border-subtle" aria-label="Switch to light mode" title="Switch to light mode"><span class="material-symbols-outlined text-[22px]">light_mode</span></button><button aria-haspopup="menu" aria-expanded="false" type="button" aria-label="Account menu" class="inline-flex size-10 shrink-0 items-center justify-center rounded-lg border border-line bg-raised text-muted transition-colors duration-150 hover:bg-line/60 hover:text-text focus-visible:outline-none focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 size-11"><span class="material-symbols-outlined text-[20px]" aria-hidden="true">more_vert</span></button></div></aside></div><main id="main-content" tabindex="-1" class="relative isolate flex h-full min-w-0 flex-1 flex-col"><header class="flex shrink-0 flex-wrap items-end gap-x-3 gap-y-2 px-4 pt-6 pb-4 lg:px-10 lg:pt-7 lg:pb-5"><div class="flex shrink-0 items-center lg:hidden"><button aria-controls="mobile-sidebar-drawer" aria-expanded="false" type="button" aria-label="Open navigation" class="inline-flex size-10 shrink-0 items-center justify-center rounded-lg border border-line bg-raised text-muted transition-colors duration-150 hover:bg-line/60 hover:text-text focus-visible:outline-none focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50"><span class="material-symbols-outlined text-[20px]" aria-hidden="true">menu</span></button></div><div class="flex min-w-0 flex-1 flex-col gap-1 sm:max-w-[28rem]"><p class="truncate text-xs font-medium text-muted lg:text-sm">Every knob in one place.</p><h1 class="font-display text-xl leading-tight font-bold tracking-[-0.02em] text-text max-sm:line-clamp-2 max-sm:break-words sm:truncate sm:text-2xl xl:text-[42px] xl:leading-[1.05]" title="Settings">Settings</h1></div><div class="flex shrink-0 items-center justify-end gap-2 sm:min-w-0 sm:flex-1"><button type="button" aria-label="Open command palette" aria-haspopup="dialog" class="flex h-11 items-center gap-2.5 rounded-xl border border-line bg-raised px-3 text-start text-sm text-muted transition-colors hover:border-line/80 hover:text-text focus-visible:outline-none focus-visible:shadow-focus max-sm:size-11 max-sm:justify-center max-sm:px-0 sm:min-w-[140px] sm:max-w-[320px] sm:flex-1"><span class="material-symbols-outlined shrink-0 text-[18px] text-muted" aria-hidden="true">search</span><span class="min-w-0 flex-1 truncate text-xs text-subtle sm:text-sm max-sm:hidden">Jump to provider, model, combo…</span><span class="hidden shrink-0 items-center gap-1 sm:flex" aria-hidden="true"><kbd class="inline-flex h-5 min-w-5 items-center justify-center rounded-md border border-line bg-raised px-1.5 font-mono text-[11px] font-medium text-subtle">⌘K</kbd></span></button><div class="hidden min-w-0 items-center gap-2 sm:contents"><button type="button" aria-label="Support tokenhop" class="inline-flex size-10 shrink-0 items-center justify-center rounded-lg border border-line bg-raised text-muted transition-colors duration-150 hover:bg-line/60 hover:text-text focus-visible:outline-none focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 text-coral hover:bg-coral-bg hover:text-coral-ink"><span class="material-symbols-outlined text-[20px]" aria-hidden="true">volunteer_activism</span></button><button data-i18n-skip="true" type="button" aria-label="Language: English" class="inline-flex size-10 shrink-0 items-center justify-center rounded-lg border border-line bg-raised text-muted transition-colors duration-150 hover:bg-line/60 hover:text-text focus-visible:outline-none focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 w-auto gap-1 px-2.5"><span class="material-symbols-outlined text-[20px]" aria-hidden="true">translate</span><span class="font-mono text-xs font-semibold" aria-hidden="true">EN</span></button></div><span class="hidden sm:inline-flex"><button aria-haspopup="menu" aria-expanded="false" type="button" aria-label="Menu" class="inline-flex size-10 shrink-0 items-center justify-center rounded-lg border border-line bg-raised text-muted transition-colors duration-150 hover:bg-line/60 hover:text-text focus-visible:outline-none focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 border-transparent bg-transparent hover:bg-raised"><span class="material-symbols-outlined text-[20px]" aria-hidden="true">grid_view</span></button></span><span class="inline-flex sm:hidden"><button aria-haspopup="menu" aria-expanded="false" type="button" aria-label="Menu" class="inline-flex size-10 shrink-0 items-center justify-center rounded-lg border border-line bg-raised text-muted transition-colors duration-150 hover:bg-line/60 hover:text-text focus-visible:outline-none focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 border-transparent bg-transparent hover:bg-raised"><span class="material-symbols-outlined text-[20px]" aria-hidden="true">more_vert</span></button></span></div></header><div class="custom-scrollbar flex-1 overflow-y-auto p-4 lg:px-10 lg:pt-7 lg:pb-8"><div class="mx-auto w-full max-w-7xl"><!--$?--><template id="B:0"></template><div role="status" aria-label="Loading dashboard" class="flex flex-col gap-6"><div class="flex flex-col gap-2" aria-hidden="true"><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-3 w-full"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-3 w-2/3"></div></div><div class="grid gap-4 md:grid-cols-3"><div class="rounded-2xl border border-line bg-panel p-6 shadow-card"><div class="mb-4 flex items-center justify-between"><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-4 w-24"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised size-10 rounded-[10px]"></div></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised mb-2 h-8 w-16"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-3 w-20"></div></div><div class="rounded-2xl border border-line bg-panel p-6 shadow-card"><div class="mb-4 flex items-center justify-between"><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-4 w-24"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised size-10 rounded-[10px]"></div></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised mb-2 h-8 w-16"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-3 w-20"></div></div><div class="rounded-2xl border border-line bg-panel p-6 shadow-card"><div class="mb-4 flex items-center justify-between"><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-4 w-24"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised size-10 rounded-[10px]"></div></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised mb-2 h-8 w-16"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-3 w-20"></div></div></div></div><!--/$--></div></div></main></div><p role="status" aria-live="polite" class="sr-only"></p><script>requestAnimationFrame(function(){$RT=performance.now()});</script><script src="/_next/static/chunks/webpack-1e19a4b05298b49d.js" id="_R_" async=""></script><div hidden id="S:0"><div class="mx-auto max-w-6xl space-y-6"><div class="flex flex-col gap-4"><div class="flex flex-wrap items-center justify-between gap-4"><div><p class="text-sm text-muted">Changes save instantly.<!-- --> <span aria-live="polite" aria-atomic="true" class="font-medium text-ok"> </span></p></div><div class="flex flex-col gap-2"><div class="flex flex-wrap 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.97] focus-visible:outline-none focus-visible:shadow-focus disabled:opacity-50 disabled:cursor-not-allowed disabled:active:scale-100 aria-disabled:opacity-50 aria-disabled:cursor-not-allowed aria-disabled:active:scale-100 bg-raised text-text border border-line hover:bg-line/60 h-11 px-4 text-sm rounded-lg"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">download</span>Export config</button><button class="inline-flex items-center justify-center gap-2 font-semibold transition-all duration-150 ease-out cursor-pointer active:scale-[0.97] focus-visible:outline-none focus-visible:shadow-focus disabled:opacity-50 disabled:cursor-not-allowed disabled:active:scale-100 aria-disabled:opacity-50 aria-disabled:cursor-not-allowed aria-disabled:active:scale-100 bg-raised text-text border border-line hover:bg-line/60 h-11 px-4 text-sm rounded-lg"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">upload</span>Import</button><input type="file" accept="application/json,.json" class="hidden" tabindex="-1" aria-hidden="true"/></div><div aria-live="polite" aria-atomic="true"></div></div></div><div class="relative"><div class="flex flex-col gap-1.5"><div class="relative"><div class="absolute inset-y-0 start-0 flex items-center ps-3 pointer-events-none text-muted" aria-hidden="true"><span class="material-symbols-outlined text-[20px]">search</span></div><input aria-label="Search settings" id="settings-search" type="search" placeholder="Search settings" class="w-full py-2.5 px-3 text-sm text-text bg-raised rounded-lg border border-line placeholder:text-subtle focus:outline-none focus:border-coral focus:shadow-focus transition-colors duration-150 disabled:opacity-50 disabled:cursor-not-allowed text-[16px] sm:text-sm ps-10 min-h-10 sm:pe-10" value=""/></div></div><span class="pointer-events-none absolute inset-y-0 end-3 hidden items-center sm:flex" aria-hidden="true"><kbd class="inline-flex h-5 min-w-5 items-center justify-center rounded-md border border-line bg-raised px-1.5 font-mono text-[11px] font-medium text-subtle">/</kbd></span></div></div><div class="grid gap-6 lg:grid-cols-[15rem_minmax(0,1fr)]"><nav aria-label="Settings groups" class="grid grid-cols-2 gap-2 md:grid-cols-4 lg:col-span-2"><button type="button" aria-pressed="true" class="group flex items-center gap-3 rounded-xl border px-4 py-3 text-left transition-all outline-none focus-visible:shadow-focus border-coral/40 bg-coral-bg shadow-card"><span aria-hidden="true" class="material-symbols-outlined flex size-9 shrink-0 items-center justify-center rounded-lg text-[20px] bg-coral text-on-coral">manage_accounts</span><span class="min-w-0"><span class="block text-sm font-semibold text-coral">Account</span><span class="block truncate text-xs text-muted">General · Security & access · Single sign-on</span></span></button><button type="button" aria-pressed="false" class="group flex items-center gap-3 rounded-xl border px-4 py-3 text-left transition-all outline-none focus-visible:shadow-focus border-line bg-panel hover:-translate-y-0.5 hover:bg-raised"><span aria-hidden="true" class="material-symbols-outlined flex size-9 shrink-0 items-center justify-center rounded-lg text-[20px] bg-raised text-muted group-hover:text-text">route</span><span class="min-w-0"><span class="block text-sm font-semibold text-text">Traffic</span><span class="block truncate text-xs text-muted">Routing · Reliability · Network · Token saver</span></span></button><button type="button" aria-pressed="false" class="group flex items-center gap-3 rounded-xl border px-4 py-3 text-left transition-all outline-none focus-visible:shadow-focus border-line bg-panel hover:-translate-y-0.5 hover:bg-raised"><span aria-hidden="true" class="material-symbols-outlined flex size-9 shrink-0 items-center justify-center rounded-lg text-[20px] bg-raised text-muted group-hover:text-text">dns</span><span class="min-w-0"><span class="block text-sm font-semibold text-text">Models & usage</span><span class="block truncate text-xs text-muted">Providers & models · Observability & logs · Pricing</span></span></button><button type="button" aria-pressed="false" class="group flex items-center gap-3 rounded-xl border px-4 py-3 text-left transition-all outline-none focus-visible:shadow-focus border-line bg-panel hover:-translate-y-0.5 hover:bg-raised"><span aria-hidden="true" class="material-symbols-outlined flex size-9 shrink-0 items-center justify-center rounded-lg text-[20px] bg-raised text-muted group-hover:text-text">settings</span><span class="min-w-0"><span class="block text-sm font-semibold text-text">System</span><span class="block truncate text-xs text-muted">Data & backup · Environment · Danger zone</span></span></button></nav><nav aria-label="Account sections" class="lg:sticky lg:top-0 lg:self-start"><ul class="grid grid-cols-1 gap-1 sm:grid-cols-2 lg:flex lg:flex-col"><li class="min-w-0"><a href="#general" aria-current="page" class="relative flex items-start gap-3 rounded-lg px-3 py-2.5 transition-colors outline-none focus-visible:shadow-focus bg-panel shadow-card lg:before:absolute lg:before:inset-y-2 lg:before:left-0 lg:before:w-0.5 lg:before:rounded-full lg:before:bg-coral"><span aria-hidden="true" class="material-symbols-outlined mt-0.5 text-[18px] text-coral">tune</span><span class="min-w-0"><span class="flex items-center gap-2 text-sm font-semibold whitespace-nowrap text-text">General</span><span class="hidden text-xs text-muted lg:block">Look, language and where you land.</span></span></a></li><li class="min-w-0"><a href="#security" class="relative flex items-start gap-3 rounded-lg px-3 py-2.5 transition-colors outline-none focus-visible:shadow-focus hover:bg-raised"><span aria-hidden="true" class="material-symbols-outlined mt-0.5 text-[18px] text-muted">shield</span><span class="min-w-0"><span class="flex items-center gap-2 text-sm font-semibold whitespace-nowrap text-text">Security & access</span><span class="hidden text-xs text-muted lg:block">Who can reach the dashboard and the API.</span></span></a></li><li class="min-w-0"><a href="#sso" class="relative flex items-start gap-3 rounded-lg px-3 py-2.5 transition-colors outline-none focus-visible:shadow-focus hover:bg-raised"><span aria-hidden="true" class="material-symbols-outlined mt-0.5 text-[18px] text-muted">lock_open</span><span class="min-w-0"><span class="flex items-center gap-2 text-sm font-semibold whitespace-nowrap text-text">Single sign-on</span><span class="hidden text-xs text-muted lg:block">Sign in with your identity provider.</span></span></a></li></ul></nav><div class="min-w-0"><p class="mb-3 text-xs font-semibold uppercase tracking-wide text-muted">Account<!-- --> /<!-- --> <span class="text-text">General</span></p><div class="space-y-4"><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised"></div></div></div></div></div><!--$--><!--/$--></div><script>$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d||"/&"===d)if(0===h)break;else h--;else"$"!==d&&"$?"!==d&&"$~"!==d&&"$!"!==d&&"&"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data="$";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};
|
|
2
|
+
$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data="$~",$RB.push(a,b),2===$RB.length&&("number"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};$RC("B:0","S:0")</script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[24597,[\"3670\",\"static/chunks/3670-d6dc44bc181c9b8a.js\",\"7177\",\"static/chunks/app/layout-29d74e164758a126.js\"],\"default\"]\n3:I[21110,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"4070\",\"static/chunks/4070-c76ef7302b944563.js\",\"9233\",\"static/chunks/9233-7c1e356386d4e864.js\",\"9671\",\"static/chunks/9671-13bf0a1dd082ad39.js\",\"4685\",\"static/chunks/4685-8a4450325e60133c.js\",\"2903\",\"static/chunks/2903-5612a657f163e2fe.js\",\"7899\",\"static/chunks/7899-a12f962af02edf7f.js\",\"1863\",\"static/chunks/1863-07d1c4c60eabc139.js\",\"5014\",\"static/chunks/5014-a5d960f4c6bc6297.js\",\"8105\",\"static/chunks/8105-71d1aea9708976db.js\",\"198\",\"static/chunks/198-7c5bbea89ef8bc14.js\",\"7505\",\"static/chunks/7505-ca9d79ac294d5e1d.js\",\"4588\",\"static/chunks/4588-174b18f1f2ff2cdb.js\",\"9284\",\"static/chunks/9284-61f162b7e4e8e29a.js\",\"4321\",\"static/chunks/4321-43ee628717578b08.js\",\"3343\",\"static/chunks/3343-ceaef2b087f3b07c.js\",\"2577\",\"static/chunks/2577-fc8581b39b97c9e7.js\",\"1039\",\"static/chunks/1039-ecf160a888ab92fc.js\",\"9518\",\"static/chunks/9518-fcc2c02ff35bf27c.js\",\"3671\",\"static/chunks/3671-e99f2f50ba62277e.js\",\"6337\",\"static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js\"],\"ThemeProvider\"]\n4:I[94635,[\"3670\",\"static/chunks/3670-d6dc44bc181c9b8a.js\",\"7177\",\"static/chunks/app/layout-29d74e164758a126.js\"],\"RuntimeI18nProvider\"]\n5:I[57121,[],\"\"]\n6:I[74581,[],\"\"]\n7:I[22577,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"4070\",\"static/chunks/4070-c76ef7302b944563.js\",\"9233\",\"static/chunks/9233-7c1e356386d4e864.js\",\"9671\",\"static/chunks/9671-13bf0a1dd082ad39.js\",\"4685\",\"static/chunks/4685-8a4450325e60133c.js\",\"2903\",\"static/chunks/2903-5612a657f163e2fe.js\",\"7899\",\"static/chunks/7899-a12f962af02edf7f.js\",\"1863\",\"static/chunks/1863-07d1c4c60eabc139.js\",\"5014\",\"static/chunks/5014-a5d960f4c6bc6297.js\",\"8105\",\"static/chunks/8105-71d1aea9708976db.js\",\"198\",\"static/chunks/198-7c5bbea89ef8bc14.js\",\"7505\",\"static/chunks/7505-ca9d79ac294d5e1d.js\",\"4588\",\"static/chunks/4588-174b18f1f2ff2cdb.js\",\"9284\",\"static/chunks/9284-61f162b7e4e8e29a.js\",\"4321\",\"static/chunks/4321-43ee628717578b08.js\",\"3343\",\"static/chunks/3343-ceaef2b087f3b07c.js\",\"2577\",\"static/chunks/2577-fc8581b39b97c9e7.js\",\"1039\",\"static/chunks/1039-ecf160a888ab92fc.js\",\"9518\",\"static/chunks/9518-fcc2c02ff35bf27c.js\",\"3671\",\"static/chunks/3671-e99f2f50ba62277e.js\",\"6337\",\"static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js\"],\"default\"]\n8:I[57121,[],\"LoadingBoundaryProvider\"]\n9:I[25086,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"4070\",\"static/chunks/4070-c76ef7302b944563.js\",\"9233\",\"static/chunks/9233-7c1e356386d4e864.js\",\"9671\",\"static/chunks/9671-13bf0a1dd082ad39.js\",\"4685\",\"static/chunks/4685-8a4450325e60133c.js\",\"2903\",\"static/chunks/2903-5612a657f163e2fe.js\",\"7899\",\"static/chunks/7899-a12f962af02edf7f.js\",\"1863\",\"static/chunks/1863-07d1c4c60eabc139.js\",\"5014\",\"static/chunks/5014-a5d960f4c6bc6297.js\",\"8105\",\"static/chunks/8105-71d1aea9708976db.js\",\"198\",\"static/chunks/198-7c5bbea89ef8bc14.js\",\"7505\",\"static/chunks/7505-ca9d79ac294d5e1d.js\",\"4588\",\"static/chunks/4588-174b18f1f2ff2cdb.js\",\"9284\",\"static/chunks/9284-61f162b7e4e8e29a.js\",\"4321\",\"static/chunks/4321-43ee628717578b08.js\",\"3343\",\"static/chunks/3343-ceaef2b087f3b07c.js\",\"2577\",\"static/chunks/2577-fc8581b39b97c9e7.js\",\"1039\",\"static/chunks/1039-ecf160a888ab92fc.js\",\"9518\",\"static/chunks/9518-fcc2c02ff35bf27c.js\",\"3671\",\"static/chunks/3671-e99f2f50ba62277e.js\",\"6337\",\"static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js\"],\"SkeletonText\"]\na:I[25086,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"4070\",\"static/chunks/4070-c76ef7302b944563.js\",\"9233\",\"static/chunks/9233-7c1e356386d4e864.js\",\"9671\",\"static/chunks/9671-13bf0a1dd082ad39.js\",\"4685\",\"static/chunks/4685-8a4450325e60133c.js\",\"2903\",\"static/chunks/2903-5612a657f163e2fe.js\",\"7899\",\"static/chunks/7899-a12f962af02edf7f.js\",\"1863\",\"static/chunks/1863-07d1c4c60eabc139.js\",\"5014\",\"static/chunks/5014-a5d960f4c6bc6297.js\",\"8105\",\"static/chunks/8105-71d1aea9708976db.js\",\"198\",\"static/chunks/198-7c5bbea89ef8bc14.js\",\"7505\",\"static/chunks/7505-ca9d79ac294d5e1d.js\",\"4588\",\"static/chunks/4588-174b18f1f2ff2cdb.js\",\"9284\",\"static/chunks/9284-61f162b7e4e8e29a.js\",\"4321\",\"static/chunks/4321-43ee628717578b08.js\",\"3343\",\"static/chunks/3343-ceaef2b087f3b07c.js\",\"2577\",\"static/chunks/2577-fc8581b39b97c9e7.js\",\"1039\",\"static/chunks/1039-ecf160a888ab92fc.js\",\"9518\",\"static/chunks/9518-fcc2c02ff35bf27c.js\",\"3671\",\"static/chunks/3671-e99f2f50ba62277e.js\",\"6337\",\"static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js\"],\"CardSkeleton\"]\n10:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/22a5144ee8d83bca-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/2b5b02fc7e511755-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/7d4881bb7e1bf84d-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/9d5a263311222317-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/a3e6e8037ffa1953.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/aa016aab0e6d1295-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/c7e0cf6c760983e7-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/ffa1d9c3cbb4e959.css\",\"style\"]\ne:X\n0:{\"P\":null,\"c\":[\"\",\"dashboard\",\"settings\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"(dashboard)\",{\"children\":[\"dashboard\",{\"children\":[\"settings\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4612]},\"$undefined\",\"$undefined\",4616]},\"$undefined\",\"$undefined\",4632],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/ffa1d9c3cbb4e959.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_0d2d87 __variable_4994ab __variable_258e5a __variable_614881\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){var r=document.documentElement;try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'dark';t=t||'dark';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'\u0026\u0026m)){r.classList.add('dark')}else{r.classList.remove('dark')}}catch(e){r.classList.add('dark')}try{var c=document.cookie.match(/(?:^|; )locale=([^;]*)/);var l=c?decodeURIComponent(c[1]):'en';if(l==='zh')l='zh-CN';if([\\\"en\\\",\\\"vi\\\",\\\"zh-CN\\\",\\\"zh-TW\\\",\\\"ja\\\",\\\"pt-BR\\\",\\\"pt-PT\\\",\\\"ko\\\",\\\"es\\\",\\\"de\\\",\\\"fr\\\",\\\"he\\\",\\\"ar\\\",\\\"ru\\\",\\\"pl\\\",\\\"cs\\\",\\\"nl\\\",\\\"tr\\\",\\\"uk\\\",\\\"tl\\\",\\\"id\\\",\\\"km\\\",\\\"th\\\",\\\"hi\\\",\\\"bn\\\",\\\"ur\\\",\\\"ro\\\",\\\"sv\\\",\\\"it\\\",\\\"el\\\",\\\"hu\\\",\\\"fi\\\",\\\"da\\\",\\\"no\\\",\\\"fa\\\"].indexOf(l)\u003c0)l='en';r.lang=l;if([\\\"ar\\\",\\\"he\\\",\\\"fa\\\",\\\"ur\\\"].indexOf(l)\u003e=0)r.dir='rtl'}catch(e){}})();\"}}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var m=document.cookie.match(/(?:^|; )nr-density=([^;]*)/);if(m\u0026\u0026decodeURIComponent(m[1])==='compact'){document.documentElement.classList.add('compact-density')}}catch(e){}})();\"}}]]}],[\"$\",\"body\",null,{\"className\":\"font-sans antialiased\",\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",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\"}]}]}]]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",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:1: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:1: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:1: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:1: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\":[[\"$\",\"$L8\",null,{\"loading\":[[\"$\",\"div\",\"l\",{\"role\":\"status\",\"aria-label\":\"Loading dashboard\",\"className\":\"flex flex-col gap-6\",\"children\":[[\"$\",\"$L9\",null,{\"lines\":2}],[\"$\",\"div\",null,{\"className\":\"grid gap-4 md:grid-cols-3\",\"children\":[[\"$\",\"$La\",null,{}],[\"$\",\"$La\",null,{}],[\"$\",\"$La\",null,{}]]}]]}],[],null],\"children\":\"$Lb\"}],{\"children\":[\"$Lc\",{\"children\":[\"$Ld\",{},null,false,null]},null,false,\"$e\"]},null,false,\"$e\"]},null,false,null]},null,false,null],\"$Lf\",false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"gdVYVwJMM6JES9Y1KPQyw\"}\n11:I[44394,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"2274\",\"static/chunks/app/(dashboard)/dashboard/error-b49a63f5b486ee1d.js\"],\"default\"]\n12:I[99312,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"4070\",\"static/chunks/4070-c76ef7302b944563.js\",\"9233\",\"static/chunks/9233-7c1e356386d4e864.js\",\"9671\",\"static/chunks/9671-13bf0a1dd082ad39.js\",\"4685\",\"static/chunks/4685-8a4450325e60133c.js\",\"2903\",\"static/chunks/2903-5612a657f163e2fe.js\",\"7899\",\"static/chunks/7899-a12f962af02edf7f.js\",\"1863\",\"static/chunks/1863-07d1c4c60eabc139.js\",\"5014\",\"static/chunks/5014-a5d960f4c6bc6297.js\",\"8105\",\"static/chunks/8105-71d1aea9708976db.js\",\"198\",\"static/chunks/198-7c5bbea89ef8bc14.js\",\"7505\",\"static/chunks/7505-ca9d79ac294d5e1d.js\",\"4588\",\"static/chunks/4588-174b18f1f2ff2cdb.js\",\"9284\",\"static/chunks/9284-61f162b7e4e8e29a.js\",\"4321\",\"static/chunks/4321-43ee628717578b08.js\",\"3343\",\"static/chunks/3343-ceaef2b087f3b07c.js\",\"2577\",\"static/chunks/2577-fc8581b39b97c9e7.js\",\"1039\",\"static/chunks/1039-ecf160a888ab92fc.js\",\"9518\",\"static/chunks/9518-fcc2c02ff35bf27c.js\",\"3671\",\"static/chunks/3671-e99f2f50ba62277e.js\",\"6337\",\"static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js\"],\"default\"]\n13:I[92542,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"4070\",\"static/chunks/4070-c76ef7302b944563.js\",\"9233\",\"static/chunks/9233-7c1e356386d4e864.js\",\"9671\",\"static/chunks/9671-13bf0a1dd082ad39.js\",\"4685\",\"static/chunks/4685-8a4450325e60133c.js\",\"2903\",\"static/chunks/2903-5612a657f163e2fe.js\",\"7899\",\"static/chunks/7899-a12f962af02edf7f.js\",\"1863\",\"static/chunks/1863-07d1c4c60eabc139.js\",\"5014\",\"static/chunks/5014-a5d960f4c6bc6297.js\",\"8105\",\"static/chunks/8105-71d1aea9708976db.js\",\"198\",\"static/chunks/198-7c5bbea89ef8bc14.js\",\"7505\",\"static/chunks/7505-ca9d79ac294d5e1d.js\",\"4588\",\"static/chunks/4588-174b18f1f2ff2cdb.js\",\"9284\",\"static/chunks/9284-61f162b7e4e8e29a.js\",\"4321\",\"static/chunks/4321-43ee628717578b08.js\",\"3343\",\"static/chunks/3343-ceaef2b087f3b07c.js\",\"2577\",\"static/chunks/2577-fc8581b39b97c9e7.js\",\"1039\",\"static/chunks/1039-ecf160a888ab92fc.js\",\"9518\",\"static/chunks/9518-fcc2c02ff35bf27c.js\",\"3671\",\"static/chunks/3671-e99f2f50ba62277e.js\",\"6337\",\"static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js\"],\"default\"]\n14:I[61304,[],\"ClientPageRoot\"]\n15:I[27132,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"9671\",\"static/chunks/9671-13bf0a1dd082ad39.js\",\"4685\",\"static/chunks/4685-8a4450325e60133c.js\",\"2903\",\"static/chunks/2903-5612a657f163e2fe.js\",\"7899\",\"static/chunks/7899-a12f962af02edf7f.js\",\"8105\",\"static/chunks/8105-71d1aea9708976db.js\",\"7505\",\"static/chunks/7505-ca9d79ac294d5e1d.js\",\"4321\",\"static/chunks/4321-43ee628717578b08.js\",\"6448\",\"static/chunks/6448-71a8c2ac8d9ecc09.js\",\"3670\",\"static/chunks/3670-d6dc44bc181c9b8a.js\",\"5814\",\"static/chunks/5814-f219e250823160d0.js\",\"2791\",\"static/chunks/app/(dashboard)/dashboard/settings/page-e7a4ca2cf8b3732c.js\"],\"default\"]\n18:I[90484,[],\"OutletBoundary\"]\n19:\"$Sreact.suspense\"\n1b:I[90484,[],\"ViewportBoundary\"]\n1d:I[90484,[],\"MetadataBoundary\"]\nb:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$11\",\"errorStyles\":[],\"errorScripts\":null,\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"section\",null,{\"className\":\"rounded-[20px] border border-line bg-panel shadow-card\",\"children\":[\"$\",\"$L12\",null,{\"as\":\"h1\",\"icon\":\"search_off\",\"title\":\"Page not found\",\"body\":\"This dashboard page doesn't exist. Go home or press ⌘K to find a page.\",\"action\":[\"$\",\"$L13\",null,{\"href\":\"/dashboard\",\"variant\":\"secondary\",\"iconRight\":\"arrow_forward\",\"children\":\"Back home\"}]}]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\nc:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\nd:[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L14\",null,{\"Component\":\"$15\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@16\",\"$@17\"]}}],null,[\"$\",\"$L18\",null,{\"children\":[\"$\",\"$19\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@1a\"}]}]]}]\nf:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L1b\",null,{\"children\":\"$L1c\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L1d\",null,{\"children\":[\"$\",\"$19\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L1e\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\ne:C\n16:{}\n17:\"$d:props:children:0:props:serverProvidedParams:params\"\n1c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#f3f1ea\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"content\":\"#0d0e12\",\"media\":\"(prefers-color-scheme: dark)\"}]]\n1f:I[86869,[],\"IconMark\"]\n1a:null\n1e:[[\"$\",\"title\",\"0\",{\"children\":\"tokenhop - 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\":\"/brand/favicon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/brand/favicon.ico\"}],[\"$\",\"$L1f\",\"5\",{}]]\n"])</script></body></html>
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[24597,["3670","static/chunks/3670-
|
|
3
|
-
3:I[21110,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-
|
|
4
|
-
4:I[94635,["3670","static/chunks/3670-
|
|
2
|
+
2:I[24597,["3670","static/chunks/3670-d6dc44bc181c9b8a.js","7177","static/chunks/app/layout-29d74e164758a126.js"],"default"]
|
|
3
|
+
3:I[21110,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-a12f962af02edf7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a5d960f4c6bc6297.js","8105","static/chunks/8105-71d1aea9708976db.js","198","static/chunks/198-7c5bbea89ef8bc14.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"ThemeProvider"]
|
|
4
|
+
4:I[94635,["3670","static/chunks/3670-d6dc44bc181c9b8a.js","7177","static/chunks/app/layout-29d74e164758a126.js"],"RuntimeI18nProvider"]
|
|
5
5
|
5:I[57121,[],""]
|
|
6
6
|
6:I[74581,[],""]
|
|
7
|
-
7:I[22577,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-
|
|
7
|
+
7:I[22577,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-a12f962af02edf7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a5d960f4c6bc6297.js","8105","static/chunks/8105-71d1aea9708976db.js","198","static/chunks/198-7c5bbea89ef8bc14.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"default"]
|
|
8
8
|
8:I[57121,[],"LoadingBoundaryProvider"]
|
|
9
|
-
9:I[25086,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-
|
|
10
|
-
a:I[25086,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-
|
|
9
|
+
9:I[25086,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-a12f962af02edf7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a5d960f4c6bc6297.js","8105","static/chunks/8105-71d1aea9708976db.js","198","static/chunks/198-7c5bbea89ef8bc14.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"SkeletonText"]
|
|
10
|
+
a:I[25086,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-a12f962af02edf7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a5d960f4c6bc6297.js","8105","static/chunks/8105-71d1aea9708976db.js","198","static/chunks/198-7c5bbea89ef8bc14.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"CardSkeleton"]
|
|
11
11
|
10:I[27123,[],"default",1]
|
|
12
12
|
:HL["/_next/static/media/22a5144ee8d83bca-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
13
13
|
:HL["/_next/static/media/2b5b02fc7e511755-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
@@ -16,14 +16,14 @@ a:I[25086,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks
|
|
|
16
16
|
:HL["/_next/static/media/a3e6e8037ffa1953.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
17
17
|
:HL["/_next/static/media/aa016aab0e6d1295-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
18
18
|
:HL["/_next/static/media/c7e0cf6c760983e7-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
19
|
-
:HL["/_next/static/css/
|
|
19
|
+
:HL["/_next/static/css/ffa1d9c3cbb4e959.css","style"]
|
|
20
20
|
e:X
|
|
21
|
-
0:{"P":null,"c":["","dashboard","settings"],"q":"","i":false,"f":[[["",{"children":["(dashboard)",{"children":["dashboard",{"children":["settings",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4612]},"$undefined","$undefined",4616]},"$undefined","$undefined",4632],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/
|
|
21
|
+
0:{"P":null,"c":["","dashboard","settings"],"q":"","i":false,"f":[[["",{"children":["(dashboard)",{"children":["dashboard",{"children":["settings",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4612]},"$undefined","$undefined",4616]},"$undefined","$undefined",4632],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ffa1d9c3cbb4e959.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"__variable_0d2d87 __variable_4994ab __variable_258e5a __variable_614881","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){var r=document.documentElement;try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'dark';t=t||'dark';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'&&m)){r.classList.add('dark')}else{r.classList.remove('dark')}}catch(e){r.classList.add('dark')}try{var c=document.cookie.match(/(?:^|; )locale=([^;]*)/);var l=c?decodeURIComponent(c[1]):'en';if(l==='zh')l='zh-CN';if([\"en\",\"vi\",\"zh-CN\",\"zh-TW\",\"ja\",\"pt-BR\",\"pt-PT\",\"ko\",\"es\",\"de\",\"fr\",\"he\",\"ar\",\"ru\",\"pl\",\"cs\",\"nl\",\"tr\",\"uk\",\"tl\",\"id\",\"km\",\"th\",\"hi\",\"bn\",\"ur\",\"ro\",\"sv\",\"it\",\"el\",\"hu\",\"fi\",\"da\",\"no\",\"fa\"].indexOf(l)<0)l='en';r.lang=l;if([\"ar\",\"he\",\"fa\",\"ur\"].indexOf(l)>=0)r.dir='rtl'}catch(e){}})();"}}],["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var m=document.cookie.match(/(?:^|; )nr-density=([^;]*)/);if(m&&decodeURIComponent(m[1])==='compact'){document.documentElement.classList.add('compact-density')}}catch(e){}})();"}}]]}],["$","body",null,{"className":"font-sans antialiased","children":[["$","$L2",null,{}],["$","$L3",null,{"children":["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",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"}]}]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L7",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",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:1: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:1: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:1: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:1: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":[["$","$L8",null,{"loading":[["$","div","l",{"role":"status","aria-label":"Loading dashboard","className":"flex flex-col gap-6","children":[["$","$L9",null,{"lines":2}],["$","div",null,{"className":"grid gap-4 md:grid-cols-3","children":[["$","$La",null,{}],["$","$La",null,{}],["$","$La",null,{}]]}]]}],[],null],"children":"$Lb"}],{"children":["$Lc",{"children":["$Ld",{},null,false,null]},null,false,"$e"]},null,false,"$e"]},null,false,null]},null,false,null],"$Lf",false]],"m":"$undefined","G":["$10",[]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"gdVYVwJMM6JES9Y1KPQyw"}
|
|
22
22
|
11:I[44394,["1610","static/chunks/1610-54cdd36a7d983e62.js","2274","static/chunks/app/(dashboard)/dashboard/error-b49a63f5b486ee1d.js"],"default"]
|
|
23
|
-
12:I[99312,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-
|
|
24
|
-
13:I[92542,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-
|
|
23
|
+
12:I[99312,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-a12f962af02edf7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a5d960f4c6bc6297.js","8105","static/chunks/8105-71d1aea9708976db.js","198","static/chunks/198-7c5bbea89ef8bc14.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"default"]
|
|
24
|
+
13:I[92542,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-a12f962af02edf7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a5d960f4c6bc6297.js","8105","static/chunks/8105-71d1aea9708976db.js","198","static/chunks/198-7c5bbea89ef8bc14.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"default"]
|
|
25
25
|
14:I[61304,[],"ClientPageRoot"]
|
|
26
|
-
15:I[27132,["1610","static/chunks/1610-54cdd36a7d983e62.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-
|
|
26
|
+
15:I[27132,["1610","static/chunks/1610-54cdd36a7d983e62.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-a12f962af02edf7f.js","8105","static/chunks/8105-71d1aea9708976db.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4321","static/chunks/4321-43ee628717578b08.js","6448","static/chunks/6448-71a8c2ac8d9ecc09.js","3670","static/chunks/3670-d6dc44bc181c9b8a.js","5814","static/chunks/5814-f219e250823160d0.js","2791","static/chunks/app/(dashboard)/dashboard/settings/page-e7a4ca2cf8b3732c.js"],"default"]
|
|
27
27
|
18:I[90484,[],"OutletBoundary"]
|
|
28
28
|
19:"$Sreact.suspense"
|
|
29
29
|
1b:I[90484,[],"ViewportBoundary"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
2
|
2:I[61304,[],"ClientPageRoot"]
|
|
3
|
-
3:I[27132,["1610","static/chunks/1610-54cdd36a7d983e62.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-
|
|
3
|
+
3:I[27132,["1610","static/chunks/1610-54cdd36a7d983e62.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-a12f962af02edf7f.js","8105","static/chunks/8105-71d1aea9708976db.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4321","static/chunks/4321-43ee628717578b08.js","6448","static/chunks/6448-71a8c2ac8d9ecc09.js","3670","static/chunks/3670-d6dc44bc181c9b8a.js","5814","static/chunks/5814-f219e250823160d0.js","2791","static/chunks/app/(dashboard)/dashboard/settings/page-e7a4ca2cf8b3732c.js"],"default"]
|
|
4
4
|
6:I[90484,[],"OutletBoundary"]
|
|
5
5
|
7:"$Sreact.suspense"
|
|
6
6
|
b:I[90484,[],"ViewportBoundary"]
|
|
@@ -9,20 +9,20 @@ d:I[86869,[],"IconMark"]
|
|
|
9
9
|
f:I[57121,[],""]
|
|
10
10
|
10:I[74581,[],""]
|
|
11
11
|
13:I[57121,[],"LoadingBoundaryProvider"]
|
|
12
|
-
14:I[25086,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-
|
|
13
|
-
15:I[25086,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-
|
|
12
|
+
14:I[25086,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-a12f962af02edf7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a5d960f4c6bc6297.js","8105","static/chunks/8105-71d1aea9708976db.js","198","static/chunks/198-7c5bbea89ef8bc14.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"SkeletonText"]
|
|
13
|
+
15:I[25086,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-a12f962af02edf7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a5d960f4c6bc6297.js","8105","static/chunks/8105-71d1aea9708976db.js","198","static/chunks/198-7c5bbea89ef8bc14.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"CardSkeleton"]
|
|
14
14
|
16:I[44394,["1610","static/chunks/1610-54cdd36a7d983e62.js","2274","static/chunks/app/(dashboard)/dashboard/error-b49a63f5b486ee1d.js"],"default"]
|
|
15
|
-
17:I[99312,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-
|
|
16
|
-
18:I[92542,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-
|
|
17
|
-
1a:I[22577,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-
|
|
18
|
-
:HL["/_next/static/css/
|
|
15
|
+
17:I[99312,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-a12f962af02edf7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a5d960f4c6bc6297.js","8105","static/chunks/8105-71d1aea9708976db.js","198","static/chunks/198-7c5bbea89ef8bc14.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"default"]
|
|
16
|
+
18:I[92542,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-a12f962af02edf7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a5d960f4c6bc6297.js","8105","static/chunks/8105-71d1aea9708976db.js","198","static/chunks/198-7c5bbea89ef8bc14.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"default"]
|
|
17
|
+
1a:I[22577,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-a12f962af02edf7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a5d960f4c6bc6297.js","8105","static/chunks/8105-71d1aea9708976db.js","198","static/chunks/198-7c5bbea89ef8bc14.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"default"]
|
|
18
|
+
:HL["/_next/static/css/ffa1d9c3cbb4e959.css","style"]
|
|
19
19
|
a:X
|
|
20
20
|
12:X
|
|
21
21
|
12:C
|
|
22
|
-
0:{"buildId":"
|
|
23
|
-
21:I[24597,["3670","static/chunks/3670-
|
|
24
|
-
22:I[21110,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-
|
|
25
|
-
23:I[94635,["3670","static/chunks/3670-
|
|
22
|
+
0:{"buildId":"gdVYVwJMM6JES9Y1KPQyw","data":[{"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":"$@9","staleTime":"$a","varyParams":null},{"rsc":["$","$1","h",{"children":[null,["$","$Lb",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#f3f1ea","media":"(prefers-color-scheme: light)"}],["$","meta","3",{"name":"theme-color","content":"#0d0e12","media":"(prefers-color-scheme: dark)"}]]}],["$","div",null,{"hidden":true,"children":["$","$Lc",null,{"children":["$","$7",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"tokenhop - 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":"/brand/favicon.svg","type":"image/svg+xml"}],["$","link","4",{"rel":"icon","href":"/brand/favicon.ico"}],["$","$Ld","5",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":"$@e","staleTime":"$a","varyParams":null},{"rsc":["$","$1","c",{"children":[null,["$","$Lf",null,{"parallelRouterKey":"children","template":["$","$L10",null,{}]}]]}],"isPartial":"$@11","staleTime":"$a","varyParams":"$12"},{"rsc":["$","$L13",null,{"loading":[["$","div","l",{"role":"status","aria-label":"Loading dashboard","className":"flex flex-col gap-6","children":[["$","$L14",null,{"lines":2}],["$","div",null,{"className":"grid gap-4 md:grid-cols-3","children":[["$","$L15",null,{}],["$","$L15",null,{}],["$","$L15",null,{}]]}]]}],[],null],"children":["$","$1","c",{"children":[null,["$","$Lf",null,{"parallelRouterKey":"children","error":"$16","errorStyles":[],"errorScripts":null,"template":["$","$L10",null,{}],"notFound":[["$","section",null,{"className":"rounded-[20px] border border-line bg-panel shadow-card","children":["$","$L17",null,{"as":"h1","icon":"search_off","title":"Page not found","body":"This dashboard page doesn't exist. Go home or press ⌘K to find a page.","action":["$","$L18",null,{"href":"/dashboard","variant":"secondary","iconRight":"arrow_forward","children":"Back home"}]}]}],[]]}]]}]}],"isPartial":"$@19","staleTime":"$a","varyParams":"$12"},{"rsc":["$","$1","c",{"children":[null,["$","$L1a",null,{"children":["$","$Lf",null,{"parallelRouterKey":"children","template":["$","$L10",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":"$@1b","staleTime":"$a","varyParams":null},{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ffa1d9c3cbb4e959.css","precedence":"next"}]],["$","html",null,{"lang":"en","className":"__variable_0d2d87 __variable_4994ab __variable_258e5a __variable_614881","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){var r=document.documentElement;try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'dark';t=t||'dark';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'&&m)){r.classList.add('dark')}else{r.classList.remove('dark')}}catch(e){r.classList.add('dark')}try{var c=document.cookie.match(/(?:^|; )locale=([^;]*)/);var l=c?decodeURIComponent(c[1]):'en';if(l==='zh')l='zh-CN';if([\"en\",\"vi\",\"zh-CN\",\"zh-TW\",\"ja\",\"pt-BR\",\"pt-PT\",\"ko\",\"es\",\"de\",\"fr\",\"he\",\"ar\",\"ru\",\"pl\",\"cs\",\"nl\",\"tr\",\"uk\",\"tl\",\"id\",\"km\",\"th\",\"hi\",\"bn\",\"ur\",\"ro\",\"sv\",\"it\",\"el\",\"hu\",\"fi\",\"da\",\"no\",\"fa\"].indexOf(l)<0)l='en';r.lang=l;if([\"ar\",\"he\",\"fa\",\"ur\"].indexOf(l)>=0)r.dir='rtl'}catch(e){}})();"}}],"$L1c"]}],"$L1d"]}]]}],"isPartial":"$@1e","staleTime":"$a","varyParams":null}],"isUpgradeableISRFallback":false,"a":"$@1f","rootVaryParams":null,"needsRuntimeRequest":"$@20"}
|
|
23
|
+
21:I[24597,["3670","static/chunks/3670-d6dc44bc181c9b8a.js","7177","static/chunks/app/layout-29d74e164758a126.js"],"default"]
|
|
24
|
+
22:I[21110,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-a12f962af02edf7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a5d960f4c6bc6297.js","8105","static/chunks/8105-71d1aea9708976db.js","198","static/chunks/198-7c5bbea89ef8bc14.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"ThemeProvider"]
|
|
25
|
+
23:I[94635,["3670","static/chunks/3670-d6dc44bc181c9b8a.js","7177","static/chunks/app/layout-29d74e164758a126.js"],"RuntimeI18nProvider"]
|
|
26
26
|
4:{}
|
|
27
27
|
5:"$0:data:0:rsc:props:children:0:props:serverProvidedParams:params"
|
|
28
28
|
8:null
|