keyrouter 1.0.4 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/.next-cli-build/BUILD_ID +1 -1
- package/app/.next-cli-build/app-path-routes-manifest.json +19 -19
- package/app/.next-cli-build/build-manifest.json +3 -3
- package/app/.next-cli-build/prerender-manifest.json +19 -19
- package/app/.next-cli-build/react-loadable-manifest.json +8 -8
- 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 +5 -5
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/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/prompt-injection/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-injection/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-injection/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/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/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.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 +7 -7
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +7 -7
- 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-tools/all-statuses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js.nft.json +1 -1
- 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-profiles/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/presets/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/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/init/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/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.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +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.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.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/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.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/zed/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/prompt-injection/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/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]/overrides/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js +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.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js +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/providers/web-login/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/netlify-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/database/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js.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.nft.json +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 +1 -1
- package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/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/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[...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.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/systemone/route.js.nft.json +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.nft.json +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.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page.js.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 +7 -7
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +7 -7
- 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 +7 -7
- package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +8 -8
- 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 +8 -8
- 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 +8 -8
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +8 -8
- 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 +8 -8
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/prompt-injection.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/prompt-injection.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/prompt-injection.segments/!KGRhc2hib2FyZCk/dashboard/prompt-injection/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/prompt-injection.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/prompt-injection.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +8 -8
- 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 +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +8 -8
- 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 +8 -8
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_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 +8 -8
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +8 -8
- 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 +8 -8
- package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
- 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 +8 -8
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_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 +9 -9
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +9 -9
- 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 +8 -8
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/index.html +1 -1
- package/app/.next-cli-build/server/app/index.rsc +7 -7
- package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +7 -7
- 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 +8 -8
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +8 -8
- 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 +8 -8
- 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 +8 -8
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +8 -8
- 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 +8 -8
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app-paths-manifest.json +19 -19
- package/app/.next-cli-build/server/chunks/1051.js +1 -1
- package/app/.next-cli-build/server/chunks/2172.js +1 -1
- package/app/.next-cli-build/server/chunks/3449.js +1 -1
- package/app/.next-cli-build/server/chunks/3697.js +1 -1
- package/app/.next-cli-build/server/chunks/412.js +6 -6
- package/app/.next-cli-build/server/chunks/4190.js +1 -1
- package/app/.next-cli-build/server/chunks/4620.js +1 -0
- package/app/.next-cli-build/server/chunks/5299.js +7 -7
- package/app/.next-cli-build/server/chunks/615.js +1 -1
- package/app/.next-cli-build/server/chunks/6708.js +1 -1
- package/app/.next-cli-build/server/chunks/7066.js +1 -1
- package/app/.next-cli-build/server/chunks/8128.js +1 -1
- package/app/.next-cli-build/server/chunks/8251.js +1 -1
- package/app/.next-cli-build/server/chunks/8682.js +3 -3
- package/app/.next-cli-build/server/chunks/869.js +1 -1
- package/app/.next-cli-build/server/chunks/9604.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/static/chunks/{124.b7052d76521ac60b.js → 124.2dcfd9a087c9e48b.js} +1 -1
- package/app/.next-cli-build/static/chunks/{2435.51481baa53b475e1.js → 2435.7cc8c894f4a21999.js} +1 -1
- package/app/.next-cli-build/static/chunks/{2470-e9f1fd5f21c43fac.js → 2470-73a591ec7a5bdf40.js} +1 -1
- package/app/.next-cli-build/static/chunks/3521.96065c08772d432e.js +1 -0
- package/app/.next-cli-build/static/chunks/3557-ab733a862d0bba72.js +10 -0
- package/app/.next-cli-build/static/chunks/{5462.500e87268a882da6.js → 5462.b5dccc4c3626a6a1.js} +1 -1
- package/app/.next-cli-build/static/chunks/5496-336ad33bc5785fb5.js +9 -0
- package/app/.next-cli-build/static/chunks/5497-b6161d058c4b63f4.js +1 -0
- package/app/.next-cli-build/static/chunks/6808-ecaf0603c2c647dd.js +1 -0
- package/app/.next-cli-build/static/chunks/761-748923a2523301a7.js +132 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-dc2bbddae0338265.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-946dbaff84568fd1.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-c995565de72de5d6.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-569d2ce1c361cb5b.js → page-e9856c47cc41d2f2.js} +5 -5
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-d8d32b819432e76e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/prompt-injection/page-c0c7f0ec4d840259.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-745147f2bf98d096.js +27 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-3006aca559388a7a.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-c832cd28ad361668.js +4 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/pxpipe/page-f4d89bf3d96928c9.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-33826a8bc196b7de.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/page-6acecf90f03a1af3.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-71814d68cea6ef7d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-ebe244550b022a8f.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-84ba30538381db07.js +1 -0
- package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-607b1f15b82c8bba.js +1 -0
- package/app/.next-cli-build/static/chunks/app/landing/page-3e38f4876602c2fb.js +1 -0
- package/app/.next-cli-build/static/chunks/app/{layout-5be078fd5da689ca.js → layout-8e337d947af1970c.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/login/{page-d50a71c8703d2790.js → page-17082356385ade34.js} +1 -1
- package/app/.next-cli-build/static/chunks/{webpack-01b0b9fe7dbba18d.js → webpack-a1905b20ab1a879d.js} +1 -1
- package/app/.next-cli-build/static/css/d7b388223f36a397.css +1 -0
- package/app/package.json +1 -1
- package/app/public/favicon.svg +2 -12
- package/app/public/fonts/arabic-subset.ttf +0 -0
- package/app/public/fonts/bengali-subset.ttf +0 -0
- package/app/public/fonts/devanagari-subset.ttf +0 -0
- package/app/public/fonts/hebrew-subset.ttf +0 -0
- package/app/public/fonts/jp-subset.ttf +0 -0
- package/app/public/fonts/khmer-subset.ttf +0 -0
- package/app/public/fonts/kr-subset.ttf +0 -0
- package/app/public/fonts/sc-subset.ttf +0 -0
- package/app/public/fonts/tc-subset.ttf +0 -0
- package/app/public/fonts/thai-subset.ttf +0 -0
- package/package.json +1 -1
- package/app/.next-cli-build/server/chunks/5626.js +0 -1
- package/app/.next-cli-build/static/chunks/3521.03e47d524e0fcbf6.js +0 -1
- package/app/.next-cli-build/static/chunks/3557-437defff109ccb42.js +0 -10
- package/app/.next-cli-build/static/chunks/5496-a3a9ad577f310490.js +0 -9
- package/app/.next-cli-build/static/chunks/5497-3add1c35ece30dbf.js +0 -1
- package/app/.next-cli-build/static/chunks/6808-4e4ca2233c09ffad.js +0 -1
- package/app/.next-cli-build/static/chunks/761-00700c1c25957243.js +0 -132
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-7feaa4a67a8eb771.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-624e8d61fe459544.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-5da47ad2a6d8d5de.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-628c4ef1c9482980.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/prompt-injection/page-35a6881f7569aa64.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-3b9d43febf1e79d4.js +0 -27
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-e9c955f52e5ae812.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-bbf57717de4a9782.js +0 -4
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/pxpipe/page-b275a947fc978997.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-5434337e59f24de1.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/page-c7eb81dfb0b4fd77.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-1b0510b28ff8de92.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-be974a86e9053540.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-18c2613dd78ff66f.js +0 -1
- package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-c439d82cf7840dc9.js +0 -1
- package/app/.next-cli-build/static/chunks/app/landing/page-38fc3c430a1a29dc.js +0 -1
- package/app/.next-cli-build/static/css/841943e9a30fe5cd.css +0 -1
- /package/app/.next-cli-build/static/{7Sq72xYQxt_cCm5BESVbY → nPdnpoRoh59z5OwsCS3Vd}/_buildManifest.js +0 -0
- /package/app/.next-cli-build/static/{7Sq72xYQxt_cCm5BESVbY → nPdnpoRoh59z5OwsCS3Vd}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/36966cca54120369-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/ad3cadf3cb03edcb.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/841943e9a30fe5cd.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-01b0b9fe7dbba18d.js"/><script src="/_next/static/chunks/4bd1b696-8cd12253b448cc13.js" async=""></script><script src="/_next/static/chunks/3794-fba3f76785a3c234.js" async=""></script><script src="/_next/static/chunks/main-app-398a58d48897ccf8.js" async=""></script><script src="/_next/static/chunks/3488-fd2f0bdef1a1217a.js" async=""></script><script src="/_next/static/chunks/2470-e9f1fd5f21c43fac.js" async=""></script><script src="/_next/static/chunks/app/layout-5be078fd5da689ca.js" async=""></script><script src="/_next/static/chunks/763-64b80a1ab0aa3cfc.js" async=""></script><script src="/_next/static/chunks/705-c8a7b6dfca9ca382.js" async=""></script><script src="/_next/static/chunks/3557-437defff109ccb42.js" async=""></script><script src="/_next/static/chunks/5497-3add1c35ece30dbf.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-18c2613dd78ff66f.js" async=""></script><script src="/_next/static/chunks/app/dashboard/settings/pricing/page-c439d82cf7840dc9.js" async=""></script><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-LC959F603F" as="script"/><meta name="theme-color" content="#0a0a0a"/><title>KeyRouter - AI Infrastructure Management</title><meta name="description" content="One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/favicon.ico?603d046c9a6fdfbb" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/favicon.svg"/><meta name="next-size-adjust" content=""/><script>(self.__next_s=self.__next_s||[]).push([0,{"children":"(function(){try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'system';t=t||'system';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'\u0026\u0026m)){document.documentElement.classList.add('dark')}}catch(e){}})();","id":"theme-bootstrap"}])</script><script>(self.__next_s=self.__next_s||[]).push([0,{"children":"var d=document,r=d.documentElement,f=function(){r.classList.add('fonts-loaded')};if(d.fonts\u0026\u0026d.fonts.load){d.fonts.load('24px \"Material Symbols Outlined\"').then(f).catch(f);setTimeout(f,3000)}else{f()}","id":"fonts-loaded-bootstrap"}])</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_d8ebd1 __variable_c219ed font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div class="max-w-6xl mx-auto p-6 space-y-6"><div class="flex items-center justify-between"><div><h1 class="text-3xl font-bold">Pricing Settings</h1><p class="text-text-muted mt-1">Configure pricing rates for cost tracking and calculations</p></div><button class="px-4 py-2 bg-primary text-white rounded hover:bg-primary/90 transition-colors">Edit Pricing</button></div><div class="grid grid-cols-1 md:grid-cols-3 gap-4"><div class="bg-surface border border-border-subtle rounded-[6px] shadow-[var(--shadow-soft)] p-6 p-4"><div class="text-text-muted text-sm uppercase font-semibold">Total Models</div><div class="text-2xl font-bold mt-1">...</div></div><div class="bg-surface border border-border-subtle rounded-[6px] shadow-[var(--shadow-soft)] p-6 p-4"><div class="text-text-muted text-sm uppercase font-semibold">Providers</div><div class="text-2xl font-bold mt-1">...</div></div><div class="bg-surface border border-border-subtle rounded-[6px] shadow-[var(--shadow-soft)] p-6 p-4"><div class="text-text-muted text-sm uppercase font-semibold">Status</div><div class="text-2xl font-bold mt-1 text-success">...</div></div></div><div class="bg-surface border border-border-subtle rounded-[6px] shadow-[var(--shadow-soft)] p-6 p-6"><h2 class="text-xl font-semibold mb-4">How Pricing Works</h2><div class="space-y-3 text-sm text-text-muted"><p><strong>Cost Calculation:</strong> Costs are calculated based on token usage and pricing rates. Each request's cost is determined by: (input_tokens × input_rate) + (output_tokens × output_rate) + (cached_tokens × cached_rate)</p><p><strong>Pricing Format:</strong> All rates are in <strong>dollars per million tokens</strong> ($/1M tokens). Example: An input rate of 2.50 means $2.50 per 1,000,000 input tokens.</p><p><strong>Token Types:</strong></p><ul class="list-disc list-inside ml-4 space-y-1"><li><strong>Input:</strong> Standard prompt tokens</li><li><strong>Output:</strong> Completion/response tokens</li><li><strong>Cached:</strong> Cached input tokens (typically 50% of input rate)</li><li><strong>Reasoning:</strong> Special reasoning/thinking tokens (fallback to output rate)</li><li><strong>Cache Creation:</strong> Tokens used to create cache entries (fallback to input rate)</li></ul><p><strong>Custom Pricing:</strong> You can override default pricing for specific models. Reset to defaults anytime to restore standard rates.</p></div></div><div class="bg-surface border border-border-subtle rounded-[6px] shadow-[var(--shadow-soft)] p-6 p-6"><div class="flex items-center justify-between mb-4"><h2 class="text-xl font-semibold">Current Pricing Overview</h2><button class="text-primary hover:underline text-sm">View Full Details</button></div><div class="text-center py-4 text-text-muted">Loading pricing data...</div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-01b0b9fe7dbba18d.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:\"static/chunks/3488-fd2f0bdef1a1217a.js\"\n3:\"static/chunks/2470-e9f1fd5f21c43fac.js\"\n4:\"static/chunks/app/layout-5be078fd5da689ca.js\"\n5:I[42593,[\"3488\",\"$2\",\"2470\",\"$3\",\"7177\",\"$4\"],\"\"]\n6:\"static/chunks/763-64b80a1ab0aa3cfc.js\"\n7:\"static/chunks/705-c8a7b6dfca9ca382.js\"\n8:\"static/chunks/3557-437defff109ccb42.js\"\n9:\"static/chunks/5497-3add1c35ece30dbf.js\"\na:\"static/chunks/app/(dashboard)/layout-18c2613dd78ff66f.js\"\nb:I[21110,[\"763\",\"$6\",\"2470\",\"$3\",\"705\",\"$7\",\"3557\",\"$8\",\"5497\",\"$9\",\"9305\",\"$a\"],\"ThemeProvider\"]\nc:\"RuntimeI18nProvider\"\nd:I[94635,[\"3488\",\"$2\",\"2470\",\"$3\",\"7177\",\"$4\"],\"$c\"]\ne:I[57121,[],\"\"]\nf:I[74581,[],\"\"]\n10:I[30565,[\"3488\",\"$2\",\"2470\",\"$3\",\"7177\",\"$4\"],\"GoogleAnalytics\"]\n16:I[61304,[],\"ClientPageRoot\"]\n17:\"static/chunks/app/dashboard/settings/pricing/page-c439d82cf7840dc9.js\"\n18:I[64533,[\"705\",\"$7\",\"7370\",\"$17\"],\"default\"]\n1b:I[90484,[],\"OutletBoundary\"]\n1c:\"$Sreact.suspense\"\n1e:\"ViewportBoundary\"\n1f:I[90484,[],\"$1e\"]\n21:\"MetadataBoundary\"\n22:I[90484,[],\"$21\"]\n24:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/36966cca54120369-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/ad3cadf3cb03edcb.css\",\"style\"]\n:HL[\"/_next/static/css/841943e9a30fe5cd.css\",\"style\"]\n12:X\n15:[[\"children\",{\"s\":\"__PAGE__\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L16\",null,{\"Component\":\"$18\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@19\",\"$@1a\"]}}],null,[\"$\",\"$L1b\",null,{\"children\":[\"$\",\"$1c\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@1d\"}]}]]}],\"p\":false,\"v\":null}}]]\n14:[[\"children\",{\"s\":\"pricing\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lf\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$12\"},\"c\":\"$Q15\"}]]\n13:[[\"children\",{\"s\":\"settings\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lf\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$12\"},\"c\":\"$Q14\"}]]\n11:[[\"children\",{\"s\":\"dashboard\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lf\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$12\"},\"c\":\"$Q13\"}]]\n0:{\"P\":null,\"c\":[\"\",\"dashboard\",\"settings\",\"pricing\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/ad3cadf3cb03edcb.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/841943e9a30fe5cd.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"$L5\",null,{\"id\":\"theme-bootstrap\",\"strategy\":\"beforeInteractive\",\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'system';t=t||'system';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'\u0026\u0026m)){document.documentElement.classList.add('dark')}}catch(e){}})();\"}}],[\"$\",\"$L5\",null,{\"id\":\"fonts-loaded-bootstrap\",\"strategy\":\"beforeInteractive\",\"dangerouslySetInnerHTML\":{\"__html\":\"var d=document,r=d.documentElement,f=function(){r.classList.add('fonts-loaded')};if(d.fonts\u0026\u0026d.fonts.load){d.fonts.load('24px \\\"Material Symbols Outlined\\\"').then(f).catch(f);setTimeout(f,3000)}else{f()}\"}}]]}],[\"$\",\"body\",null,{\"className\":\"__variable_d8ebd1 __variable_c219ed font-sans antialiased\",\"children\":[[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lf\",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\"}]}]}],[\"$\",\"$L10\",null,{\"gaId\":\"G-LC959F603F\"}]]}]]}]]}],\"p\":false,\"v\":null},\"c\":\"$Q11\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L1f\",null,{\"children\":\"$L20\"}],[\"$\",\"$L22\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$1c\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L23\"}]}],null]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$24\",[]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"7Sq72xYQxt_cCm5BESVbY\"}\n12:C\n19:{}\n1a:\"$15:0:1:d:r:props:children:0:props:serverProvidedParams:params\"\n20:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0a0a0a\"}]]\n25:I[86869,[],\"IconMark\"]\n1d:null\n23:[[\"$\",\"title\",\"0\",{\"children\":\"KeyRouter - AI Infrastructure Management\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?603d046c9a6fdfbb\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"$L25\",\"5\",{}]]\n"])</script></body></html>
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/36966cca54120369-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/ad3cadf3cb03edcb.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/d7b388223f36a397.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a1905b20ab1a879d.js"/><script src="/_next/static/chunks/4bd1b696-8cd12253b448cc13.js" async=""></script><script src="/_next/static/chunks/3794-fba3f76785a3c234.js" async=""></script><script src="/_next/static/chunks/main-app-398a58d48897ccf8.js" async=""></script><script src="/_next/static/chunks/3488-fd2f0bdef1a1217a.js" async=""></script><script src="/_next/static/chunks/2470-73a591ec7a5bdf40.js" async=""></script><script src="/_next/static/chunks/app/layout-8e337d947af1970c.js" async=""></script><script src="/_next/static/chunks/763-64b80a1ab0aa3cfc.js" async=""></script><script src="/_next/static/chunks/705-c8a7b6dfca9ca382.js" async=""></script><script src="/_next/static/chunks/3557-ab733a862d0bba72.js" async=""></script><script src="/_next/static/chunks/5497-b6161d058c4b63f4.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-84ba30538381db07.js" async=""></script><script src="/_next/static/chunks/app/dashboard/settings/pricing/page-607b1f15b82c8bba.js" async=""></script><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-LC959F603F" as="script"/><meta name="theme-color" content="#0a0a0a"/><title>KeyRouter - AI Infrastructure Management</title><meta name="description" content="One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/favicon.ico?603d046c9a6fdfbb" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/favicon.svg"/><meta name="next-size-adjust" content=""/><script>(self.__next_s=self.__next_s||[]).push([0,{"children":"(function(){try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'system';t=t||'system';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'\u0026\u0026m)){document.documentElement.classList.add('dark')}}catch(e){}})();","id":"theme-bootstrap"}])</script><script>(self.__next_s=self.__next_s||[]).push([0,{"children":"var d=document,r=d.documentElement,f=function(){r.classList.add('fonts-loaded')};if(d.fonts\u0026\u0026d.fonts.load){d.fonts.load('24px \"Material Symbols Outlined\"').then(f).catch(f);setTimeout(f,3000)}else{f()}","id":"fonts-loaded-bootstrap"}])</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_d8ebd1 __variable_c219ed font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div class="max-w-6xl mx-auto p-6 space-y-6"><div class="flex items-center justify-between"><div><h1 class="text-3xl font-bold">Pricing Settings</h1><p class="text-text-muted mt-1">Configure pricing rates for cost tracking and calculations</p></div><button class="px-4 py-2 bg-primary text-white dark:text-amber-950 rounded hover:bg-primary/90 transition-colors">Edit Pricing</button></div><div class="grid grid-cols-1 md:grid-cols-3 gap-4"><div class="bg-surface border border-border-subtle rounded-[6px] shadow-[var(--shadow-soft)] p-6 p-4"><div class="text-text-muted text-sm uppercase font-semibold">Total Models</div><div class="text-2xl font-bold mt-1">...</div></div><div class="bg-surface border border-border-subtle rounded-[6px] shadow-[var(--shadow-soft)] p-6 p-4"><div class="text-text-muted text-sm uppercase font-semibold">Providers</div><div class="text-2xl font-bold mt-1">...</div></div><div class="bg-surface border border-border-subtle rounded-[6px] shadow-[var(--shadow-soft)] p-6 p-4"><div class="text-text-muted text-sm uppercase font-semibold">Status</div><div class="text-2xl font-bold mt-1 text-success">...</div></div></div><div class="bg-surface border border-border-subtle rounded-[6px] shadow-[var(--shadow-soft)] p-6 p-6"><h2 class="text-xl font-semibold mb-4">How Pricing Works</h2><div class="space-y-3 text-sm text-text-muted"><p><strong>Cost Calculation:</strong> Costs are calculated based on token usage and pricing rates. Each request's cost is determined by: (input_tokens × input_rate) + (output_tokens × output_rate) + (cached_tokens × cached_rate)</p><p><strong>Pricing Format:</strong> All rates are in <strong>dollars per million tokens</strong> ($/1M tokens). Example: An input rate of 2.50 means $2.50 per 1,000,000 input tokens.</p><p><strong>Token Types:</strong></p><ul class="list-disc list-inside ml-4 space-y-1"><li><strong>Input:</strong> Standard prompt tokens</li><li><strong>Output:</strong> Completion/response tokens</li><li><strong>Cached:</strong> Cached input tokens (typically 50% of input rate)</li><li><strong>Reasoning:</strong> Special reasoning/thinking tokens (fallback to output rate)</li><li><strong>Cache Creation:</strong> Tokens used to create cache entries (fallback to input rate)</li></ul><p><strong>Custom Pricing:</strong> You can override default pricing for specific models. Reset to defaults anytime to restore standard rates.</p></div></div><div class="bg-surface border border-border-subtle rounded-[6px] shadow-[var(--shadow-soft)] p-6 p-6"><div class="flex items-center justify-between mb-4"><h2 class="text-xl font-semibold">Current Pricing Overview</h2><button class="text-primary hover:underline text-sm">View Full Details</button></div><div class="text-center py-4 text-text-muted">Loading pricing data...</div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-a1905b20ab1a879d.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:\"static/chunks/3488-fd2f0bdef1a1217a.js\"\n3:\"static/chunks/2470-73a591ec7a5bdf40.js\"\n4:\"static/chunks/app/layout-8e337d947af1970c.js\"\n5:I[42593,[\"3488\",\"$2\",\"2470\",\"$3\",\"7177\",\"$4\"],\"\"]\n6:\"static/chunks/763-64b80a1ab0aa3cfc.js\"\n7:\"static/chunks/705-c8a7b6dfca9ca382.js\"\n8:\"static/chunks/3557-ab733a862d0bba72.js\"\n9:\"static/chunks/5497-b6161d058c4b63f4.js\"\na:\"static/chunks/app/(dashboard)/layout-84ba30538381db07.js\"\nb:I[21110,[\"763\",\"$6\",\"2470\",\"$3\",\"705\",\"$7\",\"3557\",\"$8\",\"5497\",\"$9\",\"9305\",\"$a\"],\"ThemeProvider\"]\nc:\"RuntimeI18nProvider\"\nd:I[94635,[\"3488\",\"$2\",\"2470\",\"$3\",\"7177\",\"$4\"],\"$c\"]\ne:I[57121,[],\"\"]\nf:I[74581,[],\"\"]\n10:I[30565,[\"3488\",\"$2\",\"2470\",\"$3\",\"7177\",\"$4\"],\"GoogleAnalytics\"]\n16:I[61304,[],\"ClientPageRoot\"]\n17:\"static/chunks/app/dashboard/settings/pricing/page-607b1f15b82c8bba.js\"\n18:I[64533,[\"705\",\"$7\",\"7370\",\"$17\"],\"default\"]\n1b:I[90484,[],\"OutletBoundary\"]\n1c:\"$Sreact.suspense\"\n1e:\"ViewportBoundary\"\n1f:I[90484,[],\"$1e\"]\n21:\"MetadataBoundary\"\n22:I[90484,[],\"$21\"]\n24:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/36966cca54120369-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/ad3cadf3cb03edcb.css\",\"style\"]\n:HL[\"/_next/static/css/d7b388223f36a397.css\",\"style\"]\n12:X\n15:[[\"children\",{\"s\":\"__PAGE__\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L16\",null,{\"Component\":\"$18\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@19\",\"$@1a\"]}}],null,[\"$\",\"$L1b\",null,{\"children\":[\"$\",\"$1c\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@1d\"}]}]]}],\"p\":false,\"v\":null}}]]\n14:[[\"children\",{\"s\":\"pricing\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lf\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$12\"},\"c\":\"$Q15\"}]]\n13:[[\"children\",{\"s\":\"settings\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lf\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$12\"},\"c\":\"$Q14\"}]]\n11:[[\"children\",{\"s\":\"dashboard\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lf\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$12\"},\"c\":\"$Q13\"}]]\n0:{\"P\":null,\"c\":[\"\",\"dashboard\",\"settings\",\"pricing\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/ad3cadf3cb03edcb.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/d7b388223f36a397.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"$L5\",null,{\"id\":\"theme-bootstrap\",\"strategy\":\"beforeInteractive\",\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'system';t=t||'system';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'\u0026\u0026m)){document.documentElement.classList.add('dark')}}catch(e){}})();\"}}],[\"$\",\"$L5\",null,{\"id\":\"fonts-loaded-bootstrap\",\"strategy\":\"beforeInteractive\",\"dangerouslySetInnerHTML\":{\"__html\":\"var d=document,r=d.documentElement,f=function(){r.classList.add('fonts-loaded')};if(d.fonts\u0026\u0026d.fonts.load){d.fonts.load('24px \\\"Material Symbols Outlined\\\"').then(f).catch(f);setTimeout(f,3000)}else{f()}\"}}]]}],[\"$\",\"body\",null,{\"className\":\"__variable_d8ebd1 __variable_c219ed font-sans antialiased\",\"children\":[[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lf\",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\"}]}]}],[\"$\",\"$L10\",null,{\"gaId\":\"G-LC959F603F\"}]]}]]}]]}],\"p\":false,\"v\":null},\"c\":\"$Q11\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L1f\",null,{\"children\":\"$L20\"}],[\"$\",\"$L22\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$1c\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L23\"}]}],null]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$24\",[]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"nPdnpoRoh59z5OwsCS3Vd\"}\n12:C\n19:{}\n1a:\"$15:0:1:d:r:props:children:0:props:serverProvidedParams:params\"\n20:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0a0a0a\"}]]\n25:I[86869,[],\"IconMark\"]\n1d:null\n23:[[\"$\",\"title\",\"0\",{\"children\":\"KeyRouter - AI Infrastructure Management\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?603d046c9a6fdfbb\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"$L25\",\"5\",{}]]\n"])</script></body></html>
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
2
|
2:"static/chunks/3488-fd2f0bdef1a1217a.js"
|
|
3
|
-
3:"static/chunks/2470-
|
|
4
|
-
4:"static/chunks/app/layout-
|
|
3
|
+
3:"static/chunks/2470-73a591ec7a5bdf40.js"
|
|
4
|
+
4:"static/chunks/app/layout-8e337d947af1970c.js"
|
|
5
5
|
5:I[42593,["3488","$2","2470","$3","7177","$4"],""]
|
|
6
6
|
6:"static/chunks/763-64b80a1ab0aa3cfc.js"
|
|
7
7
|
7:"static/chunks/705-c8a7b6dfca9ca382.js"
|
|
8
|
-
8:"static/chunks/3557-
|
|
9
|
-
9:"static/chunks/5497-
|
|
10
|
-
a:"static/chunks/app/(dashboard)/layout-
|
|
8
|
+
8:"static/chunks/3557-ab733a862d0bba72.js"
|
|
9
|
+
9:"static/chunks/5497-b6161d058c4b63f4.js"
|
|
10
|
+
a:"static/chunks/app/(dashboard)/layout-84ba30538381db07.js"
|
|
11
11
|
b:I[21110,["763","$6","2470","$3","705","$7","3557","$8","5497","$9","9305","$a"],"ThemeProvider"]
|
|
12
12
|
c:"RuntimeI18nProvider"
|
|
13
13
|
d:I[94635,["3488","$2","2470","$3","7177","$4"],"$c"]
|
|
@@ -15,7 +15,7 @@ e:I[57121,[],""]
|
|
|
15
15
|
f:I[74581,[],""]
|
|
16
16
|
10:I[30565,["3488","$2","2470","$3","7177","$4"],"GoogleAnalytics"]
|
|
17
17
|
16:I[61304,[],"ClientPageRoot"]
|
|
18
|
-
17:"static/chunks/app/dashboard/settings/pricing/page-
|
|
18
|
+
17:"static/chunks/app/dashboard/settings/pricing/page-607b1f15b82c8bba.js"
|
|
19
19
|
18:I[64533,["705","$7","7370","$17"],"default"]
|
|
20
20
|
1b:I[90484,[],"OutletBoundary"]
|
|
21
21
|
1c:"$Sreact.suspense"
|
|
@@ -27,13 +27,13 @@ f:I[74581,[],""]
|
|
|
27
27
|
:HL["/_next/static/media/36966cca54120369-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
28
28
|
:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
29
29
|
:HL["/_next/static/css/ad3cadf3cb03edcb.css","style"]
|
|
30
|
-
:HL["/_next/static/css/
|
|
30
|
+
:HL["/_next/static/css/d7b388223f36a397.css","style"]
|
|
31
31
|
12:X
|
|
32
32
|
15:[["children",{"s":"__PAGE__","h":512,"d":{"r":["$","$1","c",{"children":[["$","$L16",null,{"Component":"$18","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@19","$@1a"]}}],null,["$","$L1b",null,{"children":["$","$1c",null,{"name":"Next.MetadataOutlet","children":"$@1d"}]}]]}],"p":false,"v":null}}]]
|
|
33
33
|
14:[["children",{"s":"pricing","h":512,"d":{"r":["$","$1","c",{"children":[null,["$","$Le",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$Lf",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],"p":false,"v":"$12"},"c":"$Q15"}]]
|
|
34
34
|
13:[["children",{"s":"settings","h":512,"d":{"r":["$","$1","c",{"children":[null,["$","$Le",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$Lf",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],"p":false,"v":"$12"},"c":"$Q14"}]]
|
|
35
35
|
11:[["children",{"s":"dashboard","h":512,"d":{"r":["$","$1","c",{"children":[null,["$","$Le",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$Lf",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],"p":false,"v":"$12"},"c":"$Q13"}]]
|
|
36
|
-
0:{"P":null,"c":["","dashboard","settings","pricing"],"q":"","i":false,"t":{"t":{"s":"","h":528,"d":{"r":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ad3cadf3cb03edcb.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/
|
|
36
|
+
0:{"P":null,"c":["","dashboard","settings","pricing"],"q":"","i":false,"t":{"t":{"s":"","h":528,"d":{"r":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ad3cadf3cb03edcb.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/d7b388223f36a397.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","$L5",null,{"id":"theme-bootstrap","strategy":"beforeInteractive","dangerouslySetInnerHTML":{"__html":"(function(){try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'system';t=t||'system';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'&&m)){document.documentElement.classList.add('dark')}}catch(e){}})();"}}],["$","$L5",null,{"id":"fonts-loaded-bootstrap","strategy":"beforeInteractive","dangerouslySetInnerHTML":{"__html":"var d=document,r=d.documentElement,f=function(){r.classList.add('fonts-loaded')};if(d.fonts&&d.fonts.load){d.fonts.load('24px \"Material Symbols Outlined\"').then(f).catch(f);setTimeout(f,3000)}else{f()}"}}]]}],["$","body",null,{"className":"__variable_d8ebd1 __variable_c219ed font-sans antialiased","children":[["$","$Lb",null,{"children":["$","$Ld",null,{"children":["$","$Le",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$Lf",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"}]}]}],["$","$L10",null,{"gaId":"G-LC959F603F"}]]}]]}]]}],"p":false,"v":null},"c":"$Q11"},"h":{"r":["$","$1","h",{"children":[null,["$","$L1f",null,{"children":"$L20"}],["$","$L22",null,{"children":[["$","div",null,{"hidden":true,"children":["$","$1c",null,{"name":"Next.Metadata","children":"$L23"}]}],null]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"p":false,"v":null}},"m":"$undefined","G":["$24",[]],"S":true,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"nPdnpoRoh59z5OwsCS3Vd"}
|
|
37
37
|
12:C
|
|
38
38
|
19:{}
|
|
39
39
|
1a:"$15:0:1:d:r:props:children:0:props:serverProvidedParams:params"
|
package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
2
|
2:"static/chunks/3488-fd2f0bdef1a1217a.js"
|
|
3
|
-
3:"static/chunks/2470-
|
|
4
|
-
4:"static/chunks/app/layout-
|
|
3
|
+
3:"static/chunks/2470-73a591ec7a5bdf40.js"
|
|
4
|
+
4:"static/chunks/app/layout-8e337d947af1970c.js"
|
|
5
5
|
5:I[42593,["3488","$2","2470","$3","7177","$4"],""]
|
|
6
6
|
6:"static/chunks/763-64b80a1ab0aa3cfc.js"
|
|
7
7
|
7:"static/chunks/705-c8a7b6dfca9ca382.js"
|
|
8
|
-
8:"static/chunks/3557-
|
|
9
|
-
9:"static/chunks/5497-
|
|
10
|
-
a:"static/chunks/app/(dashboard)/layout-
|
|
8
|
+
8:"static/chunks/3557-ab733a862d0bba72.js"
|
|
9
|
+
9:"static/chunks/5497-b6161d058c4b63f4.js"
|
|
10
|
+
a:"static/chunks/app/(dashboard)/layout-84ba30538381db07.js"
|
|
11
11
|
b:I[21110,["763","$6","2470","$3","705","$7","3557","$8","5497","$9","9305","$a"],"ThemeProvider"]
|
|
12
12
|
c:"RuntimeI18nProvider"
|
|
13
13
|
d:I[94635,["3488","$2","2470","$3","7177","$4"],"$c"]
|
|
@@ -15,7 +15,7 @@ e:I[57121,[],""]
|
|
|
15
15
|
f:I[74581,[],""]
|
|
16
16
|
10:I[30565,["3488","$2","2470","$3","7177","$4"],"GoogleAnalytics"]
|
|
17
17
|
16:I[61304,[],"ClientPageRoot"]
|
|
18
|
-
17:"static/chunks/app/dashboard/settings/pricing/page-
|
|
18
|
+
17:"static/chunks/app/dashboard/settings/pricing/page-607b1f15b82c8bba.js"
|
|
19
19
|
18:I[64533,["705","$7","7370","$17"],"default"]
|
|
20
20
|
1b:I[90484,[],"OutletBoundary"]
|
|
21
21
|
1c:"$Sreact.suspense"
|
|
@@ -27,13 +27,13 @@ f:I[74581,[],""]
|
|
|
27
27
|
:HL["/_next/static/media/36966cca54120369-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
28
28
|
:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
29
29
|
:HL["/_next/static/css/ad3cadf3cb03edcb.css","style"]
|
|
30
|
-
:HL["/_next/static/css/
|
|
30
|
+
:HL["/_next/static/css/d7b388223f36a397.css","style"]
|
|
31
31
|
12:X
|
|
32
32
|
15:[["children",{"s":"__PAGE__","h":512,"d":{"r":["$","$1","c",{"children":[["$","$L16",null,{"Component":"$18","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@19","$@1a"]}}],null,["$","$L1b",null,{"children":["$","$1c",null,{"name":"Next.MetadataOutlet","children":"$@1d"}]}]]}],"p":false,"v":null}}]]
|
|
33
33
|
14:[["children",{"s":"pricing","h":512,"d":{"r":["$","$1","c",{"children":[null,["$","$Le",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$Lf",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],"p":false,"v":"$12"},"c":"$Q15"}]]
|
|
34
34
|
13:[["children",{"s":"settings","h":512,"d":{"r":["$","$1","c",{"children":[null,["$","$Le",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$Lf",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],"p":false,"v":"$12"},"c":"$Q14"}]]
|
|
35
35
|
11:[["children",{"s":"dashboard","h":512,"d":{"r":["$","$1","c",{"children":[null,["$","$Le",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$Lf",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],"p":false,"v":"$12"},"c":"$Q13"}]]
|
|
36
|
-
0:{"P":null,"c":["","dashboard","settings","pricing"],"q":"","i":false,"t":{"t":{"s":"","h":528,"d":{"r":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ad3cadf3cb03edcb.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/
|
|
36
|
+
0:{"P":null,"c":["","dashboard","settings","pricing"],"q":"","i":false,"t":{"t":{"s":"","h":528,"d":{"r":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ad3cadf3cb03edcb.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/d7b388223f36a397.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","$L5",null,{"id":"theme-bootstrap","strategy":"beforeInteractive","dangerouslySetInnerHTML":{"__html":"(function(){try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'system';t=t||'system';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'&&m)){document.documentElement.classList.add('dark')}}catch(e){}})();"}}],["$","$L5",null,{"id":"fonts-loaded-bootstrap","strategy":"beforeInteractive","dangerouslySetInnerHTML":{"__html":"var d=document,r=d.documentElement,f=function(){r.classList.add('fonts-loaded')};if(d.fonts&&d.fonts.load){d.fonts.load('24px \"Material Symbols Outlined\"').then(f).catch(f);setTimeout(f,3000)}else{f()}"}}]]}],["$","body",null,{"className":"__variable_d8ebd1 __variable_c219ed font-sans antialiased","children":[["$","$Lb",null,{"children":["$","$Ld",null,{"children":["$","$Le",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$Lf",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"}]}]}],["$","$L10",null,{"gaId":"G-LC959F603F"}]]}]]}]]}],"p":false,"v":null},"c":"$Q11"},"h":{"r":["$","$1","h",{"children":[null,["$","$L1f",null,{"children":"$L20"}],["$","$L22",null,{"children":[["$","div",null,{"hidden":true,"children":["$","$1c",null,{"name":"Next.Metadata","children":"$L23"}]}],null]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"p":false,"v":null}},"m":"$undefined","G":["$24",[]],"S":true,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"nPdnpoRoh59z5OwsCS3Vd"}
|
|
37
37
|
12:C
|
|
38
38
|
19:{}
|
|
39
39
|
1a:"$15:0:1:d:r:props:children:0:props:serverProvidedParams:params"
|
package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
:HL["/_next/static/media/36966cca54120369-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
2
2
|
:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
3
3
|
:HL["/_next/static/css/ad3cadf3cb03edcb.css","style"]
|
|
4
|
-
:HL["/_next/static/css/
|
|
4
|
+
:HL["/_next/static/css/d7b388223f36a397.css","style"]
|
|
5
5
|
4:[["children",{"s":"__PAGE__","h":160}]]
|
|
6
6
|
3:[["children",{"s":"pricing","h":96,"c":"$Q4"}]]
|
|
7
7
|
2:[["children",{"s":"settings","h":96,"c":"$Q3"}]]
|
|
8
8
|
1:[["children",{"s":"dashboard","h":96,"c":"$Q2"}]]
|
|
9
|
-
0:{"b":"
|
|
9
|
+
0:{"b":"nPdnpoRoh59z5OwsCS3Vd","t":{"t":{"s":"","h":80,"c":"$Q1"}}}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
2
|
2:"static/chunks/3488-fd2f0bdef1a1217a.js"
|
|
3
|
-
3:"static/chunks/2470-
|
|
4
|
-
4:"static/chunks/app/layout-
|
|
3
|
+
3:"static/chunks/2470-73a591ec7a5bdf40.js"
|
|
4
|
+
4:"static/chunks/app/layout-8e337d947af1970c.js"
|
|
5
5
|
5:I[42593,["3488","$2","2470","$3","7177","$4"],""]
|
|
6
6
|
6:"static/chunks/763-64b80a1ab0aa3cfc.js"
|
|
7
7
|
7:"static/chunks/705-c8a7b6dfca9ca382.js"
|
|
8
|
-
8:"static/chunks/3557-
|
|
9
|
-
9:"static/chunks/5497-
|
|
10
|
-
a:"static/chunks/app/(dashboard)/layout-
|
|
8
|
+
8:"static/chunks/3557-ab733a862d0bba72.js"
|
|
9
|
+
9:"static/chunks/5497-b6161d058c4b63f4.js"
|
|
10
|
+
a:"static/chunks/app/(dashboard)/layout-84ba30538381db07.js"
|
|
11
11
|
b:I[21110,["763","$6","2470","$3","705","$7","3557","$8","5497","$9","9305","$a"],"ThemeProvider"]
|
|
12
12
|
c:"RuntimeI18nProvider"
|
|
13
13
|
d:I[94635,["3488","$2","2470","$3","7177","$4"],"$c"]
|
|
@@ -15,7 +15,7 @@ e:I[57121,[],""]
|
|
|
15
15
|
f:I[74581,[],""]
|
|
16
16
|
10:I[30565,["3488","$2","2470","$3","7177","$4"],"GoogleAnalytics"]
|
|
17
17
|
1b:I[61304,[],"ClientPageRoot"]
|
|
18
|
-
1c:"static/chunks/app/dashboard/settings/pricing/page-
|
|
18
|
+
1c:"static/chunks/app/dashboard/settings/pricing/page-607b1f15b82c8bba.js"
|
|
19
19
|
1d:I[64533,["705","$7","7370","$1c"],"default"]
|
|
20
20
|
20:I[90484,[],"OutletBoundary"]
|
|
21
21
|
21:"$Sreact.suspense"
|
|
@@ -25,7 +25,7 @@ f:I[74581,[],""]
|
|
|
25
25
|
27:I[90484,[],"$26"]
|
|
26
26
|
28:I[86869,[],"IconMark"]
|
|
27
27
|
:HL["/_next/static/css/ad3cadf3cb03edcb.css","style"]
|
|
28
|
-
:HL["/_next/static/css/
|
|
28
|
+
:HL["/_next/static/css/d7b388223f36a397.css","style"]
|
|
29
29
|
12:X
|
|
30
30
|
15:X
|
|
31
31
|
15:C
|
|
@@ -33,7 +33,7 @@ f:I[74581,[],""]
|
|
|
33
33
|
18:[["children",{"s":"pricing","h":96,"d":{"r":["$","$1","c",{"children":[null,["$","$Le",null,{"parallelRouterKey":"children","template":["$","$Lf",null,{}]}]]}],"p":"$@19","v":"$15","s":"$12"},"c":"$Q1a"}]]
|
|
34
34
|
16:[["children",{"s":"settings","h":96,"d":{"r":["$","$1","c",{"children":[null,["$","$Le",null,{"parallelRouterKey":"children","template":["$","$Lf",null,{}]}]]}],"p":"$@17","v":"$15","s":"$12"},"c":"$Q18"}]]
|
|
35
35
|
13:[["children",{"s":"dashboard","h":96,"d":{"r":["$","$1","c",{"children":[null,["$","$Le",null,{"parallelRouterKey":"children","template":["$","$Lf",null,{}]}]]}],"p":"$@14","v":"$15","s":"$12"},"c":"$Q16"}]]
|
|
36
|
-
0:{"t":{"t":{"s":"","h":80,"d":{"r":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ad3cadf3cb03edcb.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/
|
|
36
|
+
0:{"t":{"t":{"s":"","h":80,"d":{"r":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ad3cadf3cb03edcb.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/d7b388223f36a397.css","precedence":"next"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","$L5",null,{"id":"theme-bootstrap","strategy":"beforeInteractive","dangerouslySetInnerHTML":{"__html":"(function(){try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'system';t=t||'system';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'&&m)){document.documentElement.classList.add('dark')}}catch(e){}})();"}}],["$","$L5",null,{"id":"fonts-loaded-bootstrap","strategy":"beforeInteractive","dangerouslySetInnerHTML":{"__html":"var d=document,r=d.documentElement,f=function(){r.classList.add('fonts-loaded')};if(d.fonts&&d.fonts.load){d.fonts.load('24px \"Material Symbols Outlined\"').then(f).catch(f);setTimeout(f,3000)}else{f()}"}}]]}],["$","body",null,{"className":"__variable_d8ebd1 __variable_c219ed font-sans antialiased","children":[["$","$Lb",null,{"children":["$","$Ld",null,{"children":["$","$Le",null,{"parallelRouterKey":"children","template":["$","$Lf",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."}]}]]}]}]],[]]}]}]}],["$","$L10",null,{"gaId":"G-LC959F603F"}]]}]]}]]}],"p":"$@11","v":null,"s":"$12"},"c":"$Q13"},"h":{"r":["$","$1","h",{"children":[null,["$","$L25",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#0a0a0a"}]]}],["$","$L27",null,{"children":[["$","div",null,{"hidden":true,"children":["$","$21",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"KeyRouter - AI Infrastructure Management"}],["$","meta","1",{"name":"description","content":"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly."}],["$","link","2",{"rel":"manifest","href":"/manifest.webmanifest"}],["$","link","3",{"rel":"icon","href":"/favicon.ico?603d046c9a6fdfbb","type":"image/x-icon","sizes":"16x16"}],["$","link","4",{"rel":"icon","href":"/favicon.svg"}],["$","$L28","5",{}]]}]}],null]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"p":"$@29","v":null,"s":"$12"}},"a":"$@2a","u":"$@2b","b":"nPdnpoRoh59z5OwsCS3Vd"}
|
|
37
37
|
1e:{}
|
|
38
38
|
1f:"$1a:0:1:d:r:props:children:0:props:serverProvidedParams:params"
|
|
39
39
|
22:null
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/36966cca54120369-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/ad3cadf3cb03edcb.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/841943e9a30fe5cd.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-01b0b9fe7dbba18d.js"/><script src="/_next/static/chunks/4bd1b696-8cd12253b448cc13.js" async=""></script><script src="/_next/static/chunks/3794-fba3f76785a3c234.js" async=""></script><script src="/_next/static/chunks/main-app-398a58d48897ccf8.js" async=""></script><script src="/_next/static/chunks/3488-fd2f0bdef1a1217a.js" async=""></script><script src="/_next/static/chunks/2470-e9f1fd5f21c43fac.js" async=""></script><script src="/_next/static/chunks/app/layout-5be078fd5da689ca.js" async=""></script><script src="/_next/static/chunks/763-64b80a1ab0aa3cfc.js" async=""></script><script src="/_next/static/chunks/705-c8a7b6dfca9ca382.js" async=""></script><script src="/_next/static/chunks/3557-437defff109ccb42.js" async=""></script><script src="/_next/static/chunks/5497-3add1c35ece30dbf.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-18c2613dd78ff66f.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/dashboard/skills/page-c7eb81dfb0b4fd77.js" async=""></script><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-LC959F603F" as="script"/><meta name="theme-color" content="#0a0a0a"/><title>KeyRouter - AI Infrastructure Management</title><meta name="description" content="One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/favicon.ico?603d046c9a6fdfbb" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/favicon.svg"/><meta name="next-size-adjust" content=""/><script>(self.__next_s=self.__next_s||[]).push([0,{"children":"(function(){try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'system';t=t||'system';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'\u0026\u0026m)){document.documentElement.classList.add('dark')}}catch(e){}})();","id":"theme-bootstrap"}])</script><script>(self.__next_s=self.__next_s||[]).push([0,{"children":"var d=document,r=d.documentElement,f=function(){r.classList.add('fonts-loaded')};if(d.fonts\u0026\u0026d.fonts.load){d.fonts.load('24px \"Material Symbols Outlined\"').then(f).catch(f);setTimeout(f,3000)}else{f()}","id":"fonts-loaded-bootstrap"}])</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_d8ebd1 __variable_c219ed font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen w-full overflow-hidden bg-bg"><div class="fixed top-4 right-4 z-[80] flex w-[min(92vw,380px)] flex-col gap-2"></div><main class="flex flex-col flex-1 h-full min-w-0 relative transition-colors duration-300 isolate"><header class="shrink-0 z-20 flex flex-col bg-surface/60 backdrop-blur-xl lg:bg-transparent lg:backdrop-blur-none"><div class="flex items-center gap-3 py-2.5"><div class="mx-auto flex w-full max-w-7xl items-center gap-3 px-4 lg:px-8"><a class="group flex shrink-0 items-center gap-2.5" aria-label="KeyRouter Proxy home" href="/dashboard"><div class="grid size-9 shrink-0 place-items-center rounded-[10px] bg-gradient-to-br from-brand-500 to-brand-700 text-white shadow-[var(--shadow-warm)] transition-transform duration-150 group-hover:scale-[1.04]"><span class="material-symbols-outlined text-[18px]">route</span></div><div class="leading-tight"><h1 class="font-display text-[15px] font-bold tracking-tight text-text-main">KeyRouter Proxy</h1><span class="font-mono text-[10px] uppercase tracking-wider text-text-subtle">v<!-- -->1.0.4</span></div></a><div class="min-w-0 flex-1"></div><div class="flex items-center gap-1 shrink-0"><button class="flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-text-main hover:bg-black/5 dark:hover:bg-white/5 transition-all" title="Language" data-i18n-skip="true"><span class="text-lg leading-none">🇺🇸</span></button><div class=""></div><button class="flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-text-main hover:bg-black/5 dark:hover:bg-white/5 transition-all" title="Theme"><span class="material-symbols-outlined">dark_mode</span></button><button class="flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-text-main hover:bg-black/5 dark:hover:bg-white/5 transition-all hover:text-red-500 dark:hover:text-red-400" title="Shutdown"><span class="material-symbols-outlined">power_settings_new</span></button><button class="flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-text-main hover:bg-black/5 dark:hover:bg-white/5 transition-all hover:text-red-500 dark:hover:text-red-400" title="Logout"><span class="material-symbols-outlined">logout</span></button></div></div></div><div class="border-b border-border-subtle px-4 py-1.5 lg:px-8"><nav class="scrollbar-hide flex w-full items-center overflow-x-auto"><div class="mx-auto flex items-center gap-1"><a class="group flex shrink-0 items-center gap-2 rounded-lg px-3 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-text-main" href="/dashboard/endpoint"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-text-main">api</span><span class="truncate">Endpoint</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-3 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-text-main" href="/dashboard/providers"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-text-main">dns</span><span class="truncate">Providers</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-3 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-text-main" href="/dashboard/combos"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-text-main">layers</span><span class="truncate">Combos</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-3 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-text-main" href="/dashboard/cli-tools"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-text-main">terminal</span><span class="truncate">CLI</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-3 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-text-main" href="/dashboard/usage"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-text-main">bar_chart</span><span class="truncate">Usage</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-3 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-text-main" href="/dashboard/quota"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-text-main">data_usage</span><span class="truncate">Quota</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-3 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-text-main" href="/dashboard/token-saver"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-text-main">savings</span><span class="truncate">Saver</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-3 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-text-main" href="/dashboard/media-providers/systemone"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-text-main">psychology</span><span class="truncate">System One</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-3 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-text-main" href="/dashboard/proxy-pools"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-text-main">lan</span><span class="truncate">Proxies</span></a><a aria-current="page" class="group flex shrink-0 items-center gap-2 rounded-lg px-3 py-1.5 font-display text-sm font-medium transition-colors duration-150 bg-surface-2 text-text-main" href="/dashboard/skills"><span class="material-symbols-outlined text-[18px] text-text-main">extension</span><span class="truncate">Skills</span><span class="size-1 shrink-0 rounded-full bg-text-muted"></span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-3 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-text-main" href="/dashboard/prompt-injection"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-text-main">skull</span><span class="truncate">Prompt</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-3 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-text-main" href="/dashboard/profile"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-text-main">settings</span><span class="truncate">Settings</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-3 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-text-main" href="/dashboard/console-log"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-text-main">monitor</span><span class="truncate">Logs</span></a></div></nav></div></header><div class="flex-1 overflow-y-auto custom-scrollbar py-6 lg:py-10 px-4 lg:px-8 "><div class="max-w-7xl mx-auto"><div class="space-y-6"><div><h1 class="font-display text-2xl font-semibold tracking-tight text-text-main">Skills</h1><p class="mt-1 font-mono text-[10px] uppercase tracking-wider text-text-subtle">Copy-paste agent skills for KeyRouter</p></div><div class="bg-surface border border-border-subtle rounded-[6px] shadow-[var(--shadow-soft)] p-6"><div class="mb-2 font-mono text-[11px] uppercase tracking-wider text-text-subtle">Paste into your AI</div><div class="rounded-lg border border-border bg-surface-2 px-3 py-2 font-mono text-[12px] text-text-main">Read this skill and use it: <!-- -->https://raw.githubusercontent.com/keyzakyy-dev/keyrouter/refs/heads/master/skills/keyrouter/SKILL.md</div></div><div class="grid grid-cols-1 gap-2 md:grid-cols-2"><div class="flex items-start gap-3 p-4 rounded-xl border transition-colors border-border bg-surface-2/50"><div class="grid size-9 shrink-0 place-items-center rounded-lg bg-surface-2 border border-border"><span class="material-symbols-outlined text-[18px] text-text-muted">hub</span></div><div class="min-w-0 flex-1"><h3 class="truncate font-display text-sm font-medium text-text-main">KeyRouter</h3><div class="mt-1 flex items-center gap-2 flex-wrap"><span class="rounded-full border border-border bg-surface-2 px-2 py-0.5 font-mono text-[10px] uppercase tracking-wider text-text-muted">START HERE</span></div><p class="mt-1 text-xs text-text-muted line-clamp-2">Setup guide + index of all capabilities. Start here.</p></div><button class="inline-flex h-7 shrink-0 items-center gap-1.5 rounded-md border px-2.5 font-display text-[11px] font-semibold transition-colors cursor-pointer border-text-subtle text-text-main hover:bg-surface-2" title="https://raw.githubusercontent.com/keyzakyy-dev/keyrouter/refs/heads/master/skills/keyrouter/SKILL.md"><span class="material-symbols-outlined text-[12px]">content_copy</span>Copy</button></div><div class="flex items-start gap-3 p-4 rounded-xl border transition-colors border-border-subtle bg-surface hover:bg-surface-2/60"><div class="grid size-9 shrink-0 place-items-center rounded-lg bg-surface-2 border border-border"><span class="material-symbols-outlined text-[18px] text-text-muted">chat</span></div><div class="min-w-0 flex-1"><h3 class="truncate font-display text-sm font-medium text-text-main">Chat</h3><div class="mt-1 flex items-center gap-2 flex-wrap"><span class="rounded-full border border-border bg-surface-2 px-2 py-0.5 font-mono text-[10px] uppercase tracking-wider text-text-muted"><code class="text-[10px]">/v1/chat/completions</code></span></div><p class="mt-1 text-xs text-text-muted line-clamp-2">Chat & code generation via OpenAI or Anthropic formats, with streaming.</p></div><button class="inline-flex h-7 shrink-0 items-center gap-1.5 rounded-md border px-2.5 font-display text-[11px] font-semibold transition-colors cursor-pointer border-text-subtle text-text-main hover:bg-surface-2" title="https://raw.githubusercontent.com/keyzakyy-dev/keyrouter/refs/heads/master/skills/keyrouter-chat/SKILL.md"><span class="material-symbols-outlined text-[12px]">content_copy</span>Copy</button></div><div class="flex items-start gap-3 p-4 rounded-xl border transition-colors border-border-subtle bg-surface hover:bg-surface-2/60"><div class="grid size-9 shrink-0 place-items-center rounded-lg bg-surface-2 border border-border"><span class="material-symbols-outlined text-[18px] text-text-muted">image</span></div><div class="min-w-0 flex-1"><h3 class="truncate font-display text-sm font-medium text-text-main">Image Generation</h3><div class="mt-1 flex items-center gap-2 flex-wrap"><span class="rounded-full border border-border bg-surface-2 px-2 py-0.5 font-mono text-[10px] uppercase tracking-wider text-text-muted"><code class="text-[10px]">/v1/images/generations</code></span></div><p class="mt-1 text-xs text-text-muted line-clamp-2">Text-to-image via DALL‑E, Imagen, FLUX, MiniMax, SD WebUI.</p></div><button class="inline-flex h-7 shrink-0 items-center gap-1.5 rounded-md border px-2.5 font-display text-[11px] font-semibold transition-colors cursor-pointer border-text-subtle text-text-main hover:bg-surface-2" title="https://raw.githubusercontent.com/keyzakyy-dev/keyrouter/refs/heads/master/skills/keyrouter-image/SKILL.md"><span class="material-symbols-outlined text-[12px]">content_copy</span>Copy</button></div><div class="flex items-start gap-3 p-4 rounded-xl border transition-colors border-border-subtle bg-surface hover:bg-surface-2/60"><div class="grid size-9 shrink-0 place-items-center rounded-lg bg-surface-2 border border-border"><span class="material-symbols-outlined text-[18px] text-text-muted">record_voice_over</span></div><div class="min-w-0 flex-1"><h3 class="truncate font-display text-sm font-medium text-text-main">Text-to-Speech</h3><div class="mt-1 flex items-center gap-2 flex-wrap"><span class="rounded-full border border-border bg-surface-2 px-2 py-0.5 font-mono text-[10px] uppercase tracking-wider text-text-muted"><code class="text-[10px]">/v1/audio/speech</code></span></div><p class="mt-1 text-xs text-text-muted line-clamp-2">Speech synthesis via OpenAI, ElevenLabs, Edge, Google, or Deepgram.</p></div><button class="inline-flex h-7 shrink-0 items-center gap-1.5 rounded-md border px-2.5 font-display text-[11px] font-semibold transition-colors cursor-pointer border-text-subtle text-text-main hover:bg-surface-2" title="https://raw.githubusercontent.com/keyzakyy-dev/keyrouter/refs/heads/master/skills/keyrouter-tts/SKILL.md"><span class="material-symbols-outlined text-[12px]">content_copy</span>Copy</button></div><div class="flex items-start gap-3 p-4 rounded-xl border transition-colors border-border-subtle bg-surface hover:bg-surface-2/60"><div class="grid size-9 shrink-0 place-items-center rounded-lg bg-surface-2 border border-border"><span class="material-symbols-outlined text-[18px] text-text-muted">mic</span></div><div class="min-w-0 flex-1"><h3 class="truncate font-display text-sm font-medium text-text-main">Speech-to-Text</h3><div class="mt-1 flex items-center gap-2 flex-wrap"><span class="rounded-full border border-border bg-surface-2 px-2 py-0.5 font-mono text-[10px] uppercase tracking-wider text-text-muted"><code class="text-[10px]">/v1/audio/transcriptions</code></span></div><p class="mt-1 text-xs text-text-muted line-clamp-2">Transcription via Whisper, Groq, Gemini, Deepgram, or AssemblyAI.</p></div><button class="inline-flex h-7 shrink-0 items-center gap-1.5 rounded-md border px-2.5 font-display text-[11px] font-semibold transition-colors cursor-pointer border-text-subtle text-text-main hover:bg-surface-2" title="https://raw.githubusercontent.com/keyzakyy-dev/keyrouter/refs/heads/master/skills/keyrouter-stt/SKILL.md"><span class="material-symbols-outlined text-[12px]">content_copy</span>Copy</button></div><div class="flex items-start gap-3 p-4 rounded-xl border transition-colors border-border-subtle bg-surface hover:bg-surface-2/60"><div class="grid size-9 shrink-0 place-items-center rounded-lg bg-surface-2 border border-border"><span class="material-symbols-outlined text-[18px] text-text-muted">scatter_plot</span></div><div class="min-w-0 flex-1"><h3 class="truncate font-display text-sm font-medium text-text-main">Embeddings</h3><div class="mt-1 flex items-center gap-2 flex-wrap"><span class="rounded-full border border-border bg-surface-2 px-2 py-0.5 font-mono text-[10px] uppercase tracking-wider text-text-muted"><code class="text-[10px]">/v1/embeddings</code></span></div><p class="mt-1 text-xs text-text-muted line-clamp-2">Embeddings for RAG & semantic search via OpenAI, Gemini, or Mistral.</p></div><button class="inline-flex h-7 shrink-0 items-center gap-1.5 rounded-md border px-2.5 font-display text-[11px] font-semibold transition-colors cursor-pointer border-text-subtle text-text-main hover:bg-surface-2" title="https://raw.githubusercontent.com/keyzakyy-dev/keyrouter/refs/heads/master/skills/keyrouter-embeddings/SKILL.md"><span class="material-symbols-outlined text-[12px]">content_copy</span>Copy</button></div><div class="flex items-start gap-3 p-4 rounded-xl border transition-colors border-border-subtle bg-surface hover:bg-surface-2/60"><div class="grid size-9 shrink-0 place-items-center rounded-lg bg-surface-2 border border-border"><span class="material-symbols-outlined text-[18px] text-text-muted">search</span></div><div class="min-w-0 flex-1"><h3 class="truncate font-display text-sm font-medium text-text-main">Web Search</h3><div class="mt-1 flex items-center gap-2 flex-wrap"><span class="rounded-full border border-border bg-surface-2 px-2 py-0.5 font-mono text-[10px] uppercase tracking-wider text-text-muted"><code class="text-[10px]">/v1/search</code></span></div><p class="mt-1 text-xs text-text-muted line-clamp-2">Web & X search via Tavily, Exa, Brave, Serper, SearXNG, or PSE.</p></div><button class="inline-flex h-7 shrink-0 items-center gap-1.5 rounded-md border px-2.5 font-display text-[11px] font-semibold transition-colors cursor-pointer border-text-subtle text-text-main hover:bg-surface-2" title="https://raw.githubusercontent.com/keyzakyy-dev/keyrouter/refs/heads/master/skills/keyrouter-web-search/SKILL.md"><span class="material-symbols-outlined text-[12px]">content_copy</span>Copy</button></div><div class="flex items-start gap-3 p-4 rounded-xl border transition-colors border-border-subtle bg-surface hover:bg-surface-2/60"><div class="grid size-9 shrink-0 place-items-center rounded-lg bg-surface-2 border border-border"><span class="material-symbols-outlined text-[18px] text-text-muted">language</span></div><div class="min-w-0 flex-1"><h3 class="truncate font-display text-sm font-medium text-text-main">Web Fetch</h3><div class="mt-1 flex items-center gap-2 flex-wrap"><span class="rounded-full border border-border bg-surface-2 px-2 py-0.5 font-mono text-[10px] uppercase tracking-wider text-text-muted"><code class="text-[10px]">/v1/web/fetch</code></span></div><p class="mt-1 text-xs text-text-muted line-clamp-2">URL → markdown / text / HTML via Firecrawl, Jina, Tavily, or Exa.</p></div><button class="inline-flex h-7 shrink-0 items-center gap-1.5 rounded-md border px-2.5 font-display text-[11px] font-semibold transition-colors cursor-pointer border-text-subtle text-text-main hover:bg-surface-2" title="https://raw.githubusercontent.com/keyzakyy-dev/keyrouter/refs/heads/master/skills/keyrouter-web-fetch/SKILL.md"><span class="material-symbols-outlined text-[12px]">content_copy</span>Copy</button></div></div><div class="bg-surface border border-border-subtle rounded-[6px] shadow-[var(--shadow-soft)] p-6"><div class="flex items-center justify-between gap-3 flex-wrap"><div class="flex items-center gap-3"><svg viewBox="0 0 16 16" width="20" height="20" fill="currentColor" class="shrink-0 text-text-muted" aria-hidden="true"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.01 8.01 0 0 0 16 8c0-4.42-3.58-8-8-8z"></path></svg><div><h2 class="font-display text-base font-semibold text-text-main">More on GitHub</h2><p class="mt-0.5 text-xs text-text-muted">Browse the source, README, and examples for every skill.</p></div></div><a href="https://github.com/keyzakyy-dev/keyrouter/tree/master/skills" target="_blank" rel="noreferrer" class="inline-flex h-8 items-center gap-1.5 rounded-lg border border-border bg-surface-2 px-3 text-sm font-display font-medium text-text-main transition-colors hover:border-text-subtle hover:bg-surface-3"><span class="material-symbols-outlined text-[16px] text-text-muted">open_in_new</span>View on GitHub</a></div></div></div><!--$--><!--/$--></div></div></main></div><script src="/_next/static/chunks/webpack-01b0b9fe7dbba18d.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:\"static/chunks/3488-fd2f0bdef1a1217a.js\"\n3:\"static/chunks/2470-e9f1fd5f21c43fac.js\"\n4:\"static/chunks/app/layout-5be078fd5da689ca.js\"\n5:I[42593,[\"3488\",\"$2\",\"2470\",\"$3\",\"7177\",\"$4\"],\"\"]\n6:\"static/chunks/763-64b80a1ab0aa3cfc.js\"\n7:\"static/chunks/705-c8a7b6dfca9ca382.js\"\n8:\"static/chunks/3557-437defff109ccb42.js\"\n9:\"static/chunks/5497-3add1c35ece30dbf.js\"\na:\"static/chunks/app/(dashboard)/layout-18c2613dd78ff66f.js\"\nb:I[21110,[\"763\",\"$6\",\"2470\",\"$3\",\"705\",\"$7\",\"3557\",\"$8\",\"5497\",\"$9\",\"9305\",\"$a\"],\"ThemeProvider\"]\nc:\"RuntimeI18nProvider\"\nd:I[94635,[\"3488\",\"$2\",\"2470\",\"$3\",\"7177\",\"$4\"],\"$c\"]\ne:I[57121,[],\"\"]\nf:I[74581,[],\"\"]\n10:I[30565,[\"3488\",\"$2\",\"2470\",\"$3\",\"7177\",\"$4\"],\"GoogleAnalytics\"]\n12:I[30233,[\"763\",\"$6\",\"2470\",\"$3\",\"705\",\"$7\",\"3557\",\"$8\",\"5497\",\"$9\",\"9305\",\"$a\"],\"default\"]\n17:I[61304,[],\"ClientPageRoot\"]\n18:\"static/chunks/app/(dashboard)/dashboard/skills/page-c7eb81dfb0b4fd77.js\"\n19:I[64082,[\"763\",\"$6\",\"2470\",\"$3\",\"705\",\"$7\",\"3557\",\"$8\",\"5497\",\"$9\",\"9516\",\"$18\"],\"default\"]\n1c:I[90484,[],\"OutletBoundary\"]\n1d:\"$Sreact.suspense\"\n1f:\"ViewportBoundary\"\n20:I[90484,[],\"$1f\"]\n22:\"MetadataBoundary\"\n23:I[90484,[],\"$22\"]\n25:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/36966cca54120369-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/ad3cadf3cb03edcb.css\",\"style\"]\n:HL[\"/_next/static/css/841943e9a30fe5cd.css\",\"style\"]\n14:X\n16:[[\"children\",{\"s\":\"__PAGE__\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L17\",null,{\"Component\":\"$19\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@1a\",\"$@1b\"]}}],null,[\"$\",\"$L1c\",null,{\"children\":[\"$\",\"$1d\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@1e\"}]}]]}],\"p\":false,\"v\":null}}]]\n15:[[\"children\",{\"s\":\"skills\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lf\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$14\"},\"c\":\"$Q16\"}]]\n13:[[\"children\",{\"s\":\"dashboard\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lf\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$14\"},\"c\":\"$Q15\"}]]\n11:[[\"children\",{\"s\":\"(dashboard)\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L12\",null,{\"children\":[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lf\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:t:t:d:r:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:t:t:d:r:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:t:t:d:r:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:t:t:d:r:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}],\"p\":false,\"v\":null},\"c\":\"$Q13\"}]]\n0:{\"P\":null,\"c\":[\"\",\"dashboard\",\"skills\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/ad3cadf3cb03edcb.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/841943e9a30fe5cd.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"$L5\",null,{\"id\":\"theme-bootstrap\",\"strategy\":\"beforeInteractive\",\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'system';t=t||'system';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'\u0026\u0026m)){document.documentElement.classList.add('dark')}}catch(e){}})();\"}}],[\"$\",\"$L5\",null,{\"id\":\"fonts-loaded-bootstrap\",\"strategy\":\"beforeInteractive\",\"dangerouslySetInnerHTML\":{\"__html\":\"var d=document,r=d.documentElement,f=function(){r.classList.add('fonts-loaded')};if(d.fonts\u0026\u0026d.fonts.load){d.fonts.load('24px \\\"Material Symbols Outlined\\\"').then(f).catch(f);setTimeout(f,3000)}else{f()}\"}}]]}],[\"$\",\"body\",null,{\"className\":\"__variable_d8ebd1 __variable_c219ed font-sans antialiased\",\"children\":[[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lf\",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\"}]}]}],[\"$\",\"$L10\",null,{\"gaId\":\"G-LC959F603F\"}]]}]]}]]}],\"p\":false,\"v\":null},\"c\":\"$Q11\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L20\",null,{\"children\":\"$L21\"}],[\"$\",\"$L23\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$1d\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L24\"}]}],null]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$25\",[]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"7Sq72xYQxt_cCm5BESVbY\"}\n14:C\n1a:{}\n1b:\"$16:0:1:d:r:props:children:0:props:serverProvidedParams:params\"\n21:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0a0a0a\"}]]\n26:I[86869,[],\"IconMark\"]\n1e:null\n24:[[\"$\",\"title\",\"0\",{\"children\":\"KeyRouter - AI Infrastructure Management\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?603d046c9a6fdfbb\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"$L26\",\"5\",{}]]\n"])</script></body></html>
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/36966cca54120369-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/ad3cadf3cb03edcb.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/d7b388223f36a397.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a1905b20ab1a879d.js"/><script src="/_next/static/chunks/4bd1b696-8cd12253b448cc13.js" async=""></script><script src="/_next/static/chunks/3794-fba3f76785a3c234.js" async=""></script><script src="/_next/static/chunks/main-app-398a58d48897ccf8.js" async=""></script><script src="/_next/static/chunks/3488-fd2f0bdef1a1217a.js" async=""></script><script src="/_next/static/chunks/2470-73a591ec7a5bdf40.js" async=""></script><script src="/_next/static/chunks/app/layout-8e337d947af1970c.js" async=""></script><script src="/_next/static/chunks/763-64b80a1ab0aa3cfc.js" async=""></script><script src="/_next/static/chunks/705-c8a7b6dfca9ca382.js" async=""></script><script src="/_next/static/chunks/3557-ab733a862d0bba72.js" async=""></script><script src="/_next/static/chunks/5497-b6161d058c4b63f4.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-84ba30538381db07.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/dashboard/skills/page-6acecf90f03a1af3.js" async=""></script><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-LC959F603F" as="script"/><meta name="theme-color" content="#0a0a0a"/><title>KeyRouter - AI Infrastructure Management</title><meta name="description" content="One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/favicon.ico?603d046c9a6fdfbb" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/favicon.svg"/><meta name="next-size-adjust" content=""/><script>(self.__next_s=self.__next_s||[]).push([0,{"children":"(function(){try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'system';t=t||'system';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'\u0026\u0026m)){document.documentElement.classList.add('dark')}}catch(e){}})();","id":"theme-bootstrap"}])</script><script>(self.__next_s=self.__next_s||[]).push([0,{"children":"var d=document,r=d.documentElement,f=function(){r.classList.add('fonts-loaded')};if(d.fonts\u0026\u0026d.fonts.load){d.fonts.load('24px \"Material Symbols Outlined\"').then(f).catch(f);setTimeout(f,3000)}else{f()}","id":"fonts-loaded-bootstrap"}])</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_d8ebd1 __variable_c219ed font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen w-full overflow-hidden bg-bg"><div class="fixed top-4 right-4 z-[80] flex w-[min(92vw,380px)] flex-col gap-2"></div><main class="flex flex-col flex-1 h-full min-w-0 relative transition-colors duration-300 isolate"><header class="relative shrink-0 z-20 flex flex-col bg-surface/60 backdrop-blur-xl lg:bg-transparent lg:backdrop-blur-none"><div class="px-4 py-2.5 lg:px-8"><div class="mx-auto flex w-full max-w-7xl items-center gap-3"><a class="group flex shrink-0 items-center gap-2.5" aria-label="KeyRouter Proxy home" href="/dashboard"><div class="grid size-9 shrink-0 place-items-center rounded-[10px] bg-primary text-white shadow-[var(--shadow-warm)] transition-transform duration-150 group-hover:scale-[1.04] dark:bg-primary dark:text-black"><span class="material-symbols-outlined text-[18px]">route</span></div><div class="leading-tight"><h1 class="font-display text-[15px] font-bold tracking-tight text-text-main">KeyRouter Proxy</h1><span class="font-mono text-[10px] uppercase tracking-wider text-text-subtle">v<!-- -->1.0.5</span></div></a><div class="min-w-0 flex-1"></div><div class="flex items-center gap-1 shrink-0"><button class="flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-primary transition-all" title="Language" data-i18n-skip="true"><span class="text-lg leading-none">🇺🇸</span></button><div class=""></div><button class="flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-primary transition-all" title="Theme"><span class="material-symbols-outlined">dark_mode</span></button><button class="flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-primary transition-all hover:text-red-500 dark:hover:text-red-400" title="Shutdown"><span class="material-symbols-outlined">power_settings_new</span></button><button class="flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-primary transition-all hover:text-red-500 dark:hover:text-red-400" title="Logout"><span class="material-symbols-outlined">logout</span></button></div></div></div><div class="border-b border-border-subtle"><div class="px-4 lg:px-8"><div class="mx-auto w-full max-w-7xl py-1.5"><nav class="scrollbar-hide flex w-full items-center overflow-x-auto"><div class="flex items-center gap-0.5"><a class="group flex shrink-0 items-center gap-2 rounded-lg px-2 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-primary" href="/dashboard/endpoint"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-primary">api</span><span class="truncate">Endpoint</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-2 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-primary" href="/dashboard/providers"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-primary">dns</span><span class="truncate">Providers</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-2 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-primary" href="/dashboard/combos"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-primary">layers</span><span class="truncate">Combos</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-2 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-primary" href="/dashboard/cli-tools"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-primary">terminal</span><span class="truncate">CLI</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-2 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-primary" href="/dashboard/usage"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-primary">bar_chart</span><span class="truncate">Usage</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-2 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-primary" href="/dashboard/quota"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-primary">data_usage</span><span class="truncate">Quota</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-2 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-primary" href="/dashboard/token-saver"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-primary">savings</span><span class="truncate">Saver</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-2 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-primary" href="/dashboard/media-providers/systemone"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-primary">psychology</span><span class="truncate">System One</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-2 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-primary" href="/dashboard/proxy-pools"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-primary">lan</span><span class="truncate">Proxies</span></a><a aria-current="page" class="group flex shrink-0 items-center gap-2 rounded-lg px-2 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-primary" href="/dashboard/skills"><span class="material-symbols-outlined text-[18px] text-primary">extension</span><span class="truncate">Skills</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-2 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-primary" href="/dashboard/prompt-injection"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-primary">skull</span><span class="truncate">Prompt</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-2 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-primary" href="/dashboard/profile"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-primary">settings</span><span class="truncate">Settings</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-2 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-primary" href="/dashboard/console-log"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-primary">monitor</span><span class="truncate">Logs</span></a></div></nav></div></div></div><div id="header-update-anchor" class="md:hidden"></div></header><div class="flex-1 overflow-y-auto custom-scrollbar py-6 lg:py-10 px-4 lg:px-8 "><div class="max-w-7xl mx-auto"><div class="space-y-6"><div><h1 class="font-display text-2xl font-semibold tracking-tight text-text-main">Skills</h1><p class="mt-1 font-mono text-[10px] uppercase tracking-wider text-text-subtle">Copy-paste agent skills for KeyRouter</p></div><div class="bg-surface border border-border-subtle rounded-[6px] shadow-[var(--shadow-soft)] p-6"><div class="mb-2 font-mono text-[11px] uppercase tracking-wider text-text-subtle">Paste into your AI</div><div class="rounded-lg border border-border bg-surface-2 px-3 py-2 font-mono text-[12px] text-text-main">Read this skill and use it: <!-- -->https://raw.githubusercontent.com/keyzakyy-dev/keyrouter/refs/heads/master/skills/keyrouter/SKILL.md</div></div><div class="grid grid-cols-1 gap-2 md:grid-cols-2"><div class="flex items-start gap-3 p-4 rounded-xl border transition-colors border-border bg-surface-2/50"><span class="material-symbols-outlined text-[22px] shrink-0 text-primary dark:text-primary">hub</span><div class="min-w-0 flex-1"><h3 class="truncate font-display text-sm font-medium text-text-main">KeyRouter</h3><div class="mt-1 flex items-center gap-2 flex-wrap"><span class="rounded-full border border-border bg-surface-2 px-2 py-0.5 font-mono text-[10px] uppercase tracking-wider text-text-muted">START HERE</span></div><p class="mt-1 text-xs text-text-muted line-clamp-2">Setup guide + index of all capabilities. Start here.</p></div><button class="inline-flex h-7 shrink-0 items-center gap-1.5 rounded-md px-2.5 font-display text-[11px] font-semibold transition-colors cursor-pointer bg-surface-2 text-text-main hover:bg-surface-3" title="https://raw.githubusercontent.com/keyzakyy-dev/keyrouter/refs/heads/master/skills/keyrouter/SKILL.md"><span class="material-symbols-outlined text-[12px]">content_copy</span>Copy</button></div><div class="flex items-start gap-3 p-4 rounded-xl border transition-colors border-border-subtle bg-surface hover:bg-surface-2/60"><span class="material-symbols-outlined text-[22px] shrink-0 text-primary dark:text-primary">chat</span><div class="min-w-0 flex-1"><h3 class="truncate font-display text-sm font-medium text-text-main">Chat</h3><div class="mt-1 flex items-center gap-2 flex-wrap"><span class="rounded-full border border-border bg-surface-2 px-2 py-0.5 font-mono text-[10px] uppercase tracking-wider text-text-muted"><code class="text-[10px]">/v1/chat/completions</code></span></div><p class="mt-1 text-xs text-text-muted line-clamp-2">Chat & code generation via OpenAI or Anthropic formats, with streaming.</p></div><button class="inline-flex h-7 shrink-0 items-center gap-1.5 rounded-md px-2.5 font-display text-[11px] font-semibold transition-colors cursor-pointer bg-surface-2 text-text-main hover:bg-surface-3" title="https://raw.githubusercontent.com/keyzakyy-dev/keyrouter/refs/heads/master/skills/keyrouter-chat/SKILL.md"><span class="material-symbols-outlined text-[12px]">content_copy</span>Copy</button></div><div class="flex items-start gap-3 p-4 rounded-xl border transition-colors border-border-subtle bg-surface hover:bg-surface-2/60"><span class="material-symbols-outlined text-[22px] shrink-0 text-primary dark:text-primary">image</span><div class="min-w-0 flex-1"><h3 class="truncate font-display text-sm font-medium text-text-main">Image Generation</h3><div class="mt-1 flex items-center gap-2 flex-wrap"><span class="rounded-full border border-border bg-surface-2 px-2 py-0.5 font-mono text-[10px] uppercase tracking-wider text-text-muted"><code class="text-[10px]">/v1/images/generations</code></span></div><p class="mt-1 text-xs text-text-muted line-clamp-2">Text-to-image via DALL‑E, Imagen, FLUX, MiniMax, SD WebUI.</p></div><button class="inline-flex h-7 shrink-0 items-center gap-1.5 rounded-md px-2.5 font-display text-[11px] font-semibold transition-colors cursor-pointer bg-surface-2 text-text-main hover:bg-surface-3" title="https://raw.githubusercontent.com/keyzakyy-dev/keyrouter/refs/heads/master/skills/keyrouter-image/SKILL.md"><span class="material-symbols-outlined text-[12px]">content_copy</span>Copy</button></div><div class="flex items-start gap-3 p-4 rounded-xl border transition-colors border-border-subtle bg-surface hover:bg-surface-2/60"><span class="material-symbols-outlined text-[22px] shrink-0 text-primary dark:text-primary">record_voice_over</span><div class="min-w-0 flex-1"><h3 class="truncate font-display text-sm font-medium text-text-main">Text-to-Speech</h3><div class="mt-1 flex items-center gap-2 flex-wrap"><span class="rounded-full border border-border bg-surface-2 px-2 py-0.5 font-mono text-[10px] uppercase tracking-wider text-text-muted"><code class="text-[10px]">/v1/audio/speech</code></span></div><p class="mt-1 text-xs text-text-muted line-clamp-2">Speech synthesis via OpenAI, ElevenLabs, Edge, Google, or Deepgram.</p></div><button class="inline-flex h-7 shrink-0 items-center gap-1.5 rounded-md px-2.5 font-display text-[11px] font-semibold transition-colors cursor-pointer bg-surface-2 text-text-main hover:bg-surface-3" title="https://raw.githubusercontent.com/keyzakyy-dev/keyrouter/refs/heads/master/skills/keyrouter-tts/SKILL.md"><span class="material-symbols-outlined text-[12px]">content_copy</span>Copy</button></div><div class="flex items-start gap-3 p-4 rounded-xl border transition-colors border-border-subtle bg-surface hover:bg-surface-2/60"><span class="material-symbols-outlined text-[22px] shrink-0 text-primary dark:text-primary">mic</span><div class="min-w-0 flex-1"><h3 class="truncate font-display text-sm font-medium text-text-main">Speech-to-Text</h3><div class="mt-1 flex items-center gap-2 flex-wrap"><span class="rounded-full border border-border bg-surface-2 px-2 py-0.5 font-mono text-[10px] uppercase tracking-wider text-text-muted"><code class="text-[10px]">/v1/audio/transcriptions</code></span></div><p class="mt-1 text-xs text-text-muted line-clamp-2">Transcription via Whisper, Groq, Gemini, Deepgram, or AssemblyAI.</p></div><button class="inline-flex h-7 shrink-0 items-center gap-1.5 rounded-md px-2.5 font-display text-[11px] font-semibold transition-colors cursor-pointer bg-surface-2 text-text-main hover:bg-surface-3" title="https://raw.githubusercontent.com/keyzakyy-dev/keyrouter/refs/heads/master/skills/keyrouter-stt/SKILL.md"><span class="material-symbols-outlined text-[12px]">content_copy</span>Copy</button></div><div class="flex items-start gap-3 p-4 rounded-xl border transition-colors border-border-subtle bg-surface hover:bg-surface-2/60"><span class="material-symbols-outlined text-[22px] shrink-0 text-primary dark:text-primary">scatter_plot</span><div class="min-w-0 flex-1"><h3 class="truncate font-display text-sm font-medium text-text-main">Embeddings</h3><div class="mt-1 flex items-center gap-2 flex-wrap"><span class="rounded-full border border-border bg-surface-2 px-2 py-0.5 font-mono text-[10px] uppercase tracking-wider text-text-muted"><code class="text-[10px]">/v1/embeddings</code></span></div><p class="mt-1 text-xs text-text-muted line-clamp-2">Embeddings for RAG & semantic search via OpenAI, Gemini, or Mistral.</p></div><button class="inline-flex h-7 shrink-0 items-center gap-1.5 rounded-md px-2.5 font-display text-[11px] font-semibold transition-colors cursor-pointer bg-surface-2 text-text-main hover:bg-surface-3" title="https://raw.githubusercontent.com/keyzakyy-dev/keyrouter/refs/heads/master/skills/keyrouter-embeddings/SKILL.md"><span class="material-symbols-outlined text-[12px]">content_copy</span>Copy</button></div><div class="flex items-start gap-3 p-4 rounded-xl border transition-colors border-border-subtle bg-surface hover:bg-surface-2/60"><span class="material-symbols-outlined text-[22px] shrink-0 text-primary dark:text-primary">search</span><div class="min-w-0 flex-1"><h3 class="truncate font-display text-sm font-medium text-text-main">Web Search</h3><div class="mt-1 flex items-center gap-2 flex-wrap"><span class="rounded-full border border-border bg-surface-2 px-2 py-0.5 font-mono text-[10px] uppercase tracking-wider text-text-muted"><code class="text-[10px]">/v1/search</code></span></div><p class="mt-1 text-xs text-text-muted line-clamp-2">Web & X search via Tavily, Exa, Brave, Serper, SearXNG, or PSE.</p></div><button class="inline-flex h-7 shrink-0 items-center gap-1.5 rounded-md px-2.5 font-display text-[11px] font-semibold transition-colors cursor-pointer bg-surface-2 text-text-main hover:bg-surface-3" title="https://raw.githubusercontent.com/keyzakyy-dev/keyrouter/refs/heads/master/skills/keyrouter-web-search/SKILL.md"><span class="material-symbols-outlined text-[12px]">content_copy</span>Copy</button></div><div class="flex items-start gap-3 p-4 rounded-xl border transition-colors border-border-subtle bg-surface hover:bg-surface-2/60"><span class="material-symbols-outlined text-[22px] shrink-0 text-primary dark:text-primary">language</span><div class="min-w-0 flex-1"><h3 class="truncate font-display text-sm font-medium text-text-main">Web Fetch</h3><div class="mt-1 flex items-center gap-2 flex-wrap"><span class="rounded-full border border-border bg-surface-2 px-2 py-0.5 font-mono text-[10px] uppercase tracking-wider text-text-muted"><code class="text-[10px]">/v1/web/fetch</code></span></div><p class="mt-1 text-xs text-text-muted line-clamp-2">URL → markdown / text / HTML via Firecrawl, Jina, Tavily, or Exa.</p></div><button class="inline-flex h-7 shrink-0 items-center gap-1.5 rounded-md px-2.5 font-display text-[11px] font-semibold transition-colors cursor-pointer bg-surface-2 text-text-main hover:bg-surface-3" title="https://raw.githubusercontent.com/keyzakyy-dev/keyrouter/refs/heads/master/skills/keyrouter-web-fetch/SKILL.md"><span class="material-symbols-outlined text-[12px]">content_copy</span>Copy</button></div></div><div class="bg-surface border border-border-subtle rounded-[6px] shadow-[var(--shadow-soft)] p-6"><div class="flex items-center justify-between gap-3 flex-wrap"><div class="flex items-center gap-3"><svg viewBox="0 0 16 16" width="20" height="20" fill="currentColor" class="shrink-0 text-primary dark:text-primary" aria-hidden="true"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.01 8.01 0 0 0 16 8c0-4.42-3.58-8-8-8z"></path></svg><div><h2 class="font-display text-base font-semibold text-text-main">More on GitHub</h2><p class="mt-0.5 text-xs text-text-muted">Browse the source, README, and examples for every skill.</p></div></div><a href="https://github.com/keyzakyy-dev/keyrouter/tree/master/skills" target="_blank" rel="noreferrer" class="inline-flex h-8 items-center gap-1.5 rounded-lg border border-border bg-surface-2 px-3 text-sm font-display font-medium text-text-main transition-colors hover:border-text-subtle hover:bg-surface-3"><span class="material-symbols-outlined text-[16px] text-primary dark:text-primary">open_in_new</span>View on GitHub</a></div></div></div><!--$--><!--/$--></div></div></main></div><script src="/_next/static/chunks/webpack-a1905b20ab1a879d.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:\"static/chunks/3488-fd2f0bdef1a1217a.js\"\n3:\"static/chunks/2470-73a591ec7a5bdf40.js\"\n4:\"static/chunks/app/layout-8e337d947af1970c.js\"\n5:I[42593,[\"3488\",\"$2\",\"2470\",\"$3\",\"7177\",\"$4\"],\"\"]\n6:\"static/chunks/763-64b80a1ab0aa3cfc.js\"\n7:\"static/chunks/705-c8a7b6dfca9ca382.js\"\n8:\"static/chunks/3557-ab733a862d0bba72.js\"\n9:\"static/chunks/5497-b6161d058c4b63f4.js\"\na:\"static/chunks/app/(dashboard)/layout-84ba30538381db07.js\"\nb:I[21110,[\"763\",\"$6\",\"2470\",\"$3\",\"705\",\"$7\",\"3557\",\"$8\",\"5497\",\"$9\",\"9305\",\"$a\"],\"ThemeProvider\"]\nc:\"RuntimeI18nProvider\"\nd:I[94635,[\"3488\",\"$2\",\"2470\",\"$3\",\"7177\",\"$4\"],\"$c\"]\ne:I[57121,[],\"\"]\nf:I[74581,[],\"\"]\n10:I[30565,[\"3488\",\"$2\",\"2470\",\"$3\",\"7177\",\"$4\"],\"GoogleAnalytics\"]\n12:I[30233,[\"763\",\"$6\",\"2470\",\"$3\",\"705\",\"$7\",\"3557\",\"$8\",\"5497\",\"$9\",\"9305\",\"$a\"],\"default\"]\n17:I[61304,[],\"ClientPageRoot\"]\n18:\"static/chunks/app/(dashboard)/dashboard/skills/page-6acecf90f03a1af3.js\"\n19:I[64082,[\"763\",\"$6\",\"2470\",\"$3\",\"705\",\"$7\",\"3557\",\"$8\",\"5497\",\"$9\",\"9516\",\"$18\"],\"default\"]\n1c:I[90484,[],\"OutletBoundary\"]\n1d:\"$Sreact.suspense\"\n1f:\"ViewportBoundary\"\n20:I[90484,[],\"$1f\"]\n22:\"MetadataBoundary\"\n23:I[90484,[],\"$22\"]\n25:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/36966cca54120369-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/ad3cadf3cb03edcb.css\",\"style\"]\n:HL[\"/_next/static/css/d7b388223f36a397.css\",\"style\"]\n14:X\n16:[[\"children\",{\"s\":\"__PAGE__\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L17\",null,{\"Component\":\"$19\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@1a\",\"$@1b\"]}}],null,[\"$\",\"$L1c\",null,{\"children\":[\"$\",\"$1d\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@1e\"}]}]]}],\"p\":false,\"v\":null}}]]\n15:[[\"children\",{\"s\":\"skills\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lf\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$14\"},\"c\":\"$Q16\"}]]\n13:[[\"children\",{\"s\":\"dashboard\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lf\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$14\"},\"c\":\"$Q15\"}]]\n11:[[\"children\",{\"s\":\"(dashboard)\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L12\",null,{\"children\":[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lf\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:t:t:d:r:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:t:t:d:r:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:t:t:d:r:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:t:t:d:r:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}],\"p\":false,\"v\":null},\"c\":\"$Q13\"}]]\n0:{\"P\":null,\"c\":[\"\",\"dashboard\",\"skills\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/ad3cadf3cb03edcb.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/d7b388223f36a397.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"$L5\",null,{\"id\":\"theme-bootstrap\",\"strategy\":\"beforeInteractive\",\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'system';t=t||'system';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'\u0026\u0026m)){document.documentElement.classList.add('dark')}}catch(e){}})();\"}}],[\"$\",\"$L5\",null,{\"id\":\"fonts-loaded-bootstrap\",\"strategy\":\"beforeInteractive\",\"dangerouslySetInnerHTML\":{\"__html\":\"var d=document,r=d.documentElement,f=function(){r.classList.add('fonts-loaded')};if(d.fonts\u0026\u0026d.fonts.load){d.fonts.load('24px \\\"Material Symbols Outlined\\\"').then(f).catch(f);setTimeout(f,3000)}else{f()}\"}}]]}],[\"$\",\"body\",null,{\"className\":\"__variable_d8ebd1 __variable_c219ed font-sans antialiased\",\"children\":[[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lf\",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\"}]}]}],[\"$\",\"$L10\",null,{\"gaId\":\"G-LC959F603F\"}]]}]]}]]}],\"p\":false,\"v\":null},\"c\":\"$Q11\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L20\",null,{\"children\":\"$L21\"}],[\"$\",\"$L23\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$1d\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L24\"}]}],null]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$25\",[]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"nPdnpoRoh59z5OwsCS3Vd\"}\n14:C\n1a:{}\n1b:\"$16:0:1:d:r:props:children:0:props:serverProvidedParams:params\"\n21:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0a0a0a\"}]]\n26:I[86869,[],\"IconMark\"]\n1e:null\n24:[[\"$\",\"title\",\"0\",{\"children\":\"KeyRouter - AI Infrastructure Management\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?603d046c9a6fdfbb\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"$L26\",\"5\",{}]]\n"])</script></body></html>
|