67router 1.0.5 → 1.0.13
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/README.md +139 -190
- package/app/.next-cli-build/BUILD_ID +1 -1
- package/app/.next-cli-build/app-path-routes-manifest.json +4 -4
- package/app/.next-cli-build/build-manifest.json +3 -3
- package/app/.next-cli-build/prerender-manifest.json +17 -17
- package/app/.next-cli-build/react-loadable-manifest.json +20 -29
- 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.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.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.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.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.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.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.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.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.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 +3 -3
- 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.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.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.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.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.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 +9 -9
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +9 -9
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +9 -9
- 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.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/provider-nodes/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +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.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/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.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.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.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.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 +9 -9
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +9 -9
- 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 +9 -9
- package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +12 -12
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +12 -12
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +12 -12
- 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 +12 -12
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +12 -12
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +12 -12
- 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 +12 -12
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +12 -12
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +12 -12
- 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 +13 -13
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +13 -13
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +13 -13
- 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 +12 -12
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +12 -12
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +12 -12
- 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 +12 -12
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +12 -12
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +12 -12
- 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 +12 -12
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +12 -12
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +12 -12
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +12 -12
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +12 -12
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +12 -12
- 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 +12 -12
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +12 -12
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +12 -12
- 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 +12 -12
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +12 -12
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +12 -12
- 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 +12 -12
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +12 -12
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +12 -12
- 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 +13 -13
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +13 -13
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +13 -13
- 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.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 +9 -9
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +9 -9
- 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 +9 -9
- package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.rsc +12 -12
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +12 -12
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +12 -12
- 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 +12 -12
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +12 -12
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +12 -12
- 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 +12 -12
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +12 -12
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +12 -12
- 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 +13 -13
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +13 -13
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +13 -13
- 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 +13 -13
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +13 -13
- package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +13 -13
- 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 +9 -9
- package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +9 -9
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +9 -9
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/landing.html +1 -1
- package/app/.next-cli-build/server/app/landing.rsc +9 -9
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +9 -9
- 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 +9 -9
- 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 +11 -11
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +11 -11
- 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 +11 -11
- 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 +4 -4
- package/app/.next-cli-build/server/chunks/3449.js +1 -1
- package/app/.next-cli-build/server/chunks/412.js +2 -2
- package/app/.next-cli-build/server/chunks/4190.js +1 -1
- package/app/.next-cli-build/server/chunks/4254.js +1 -0
- package/app/.next-cli-build/server/chunks/5500.js +1 -1
- package/app/.next-cli-build/server/chunks/5946.js +6 -6
- package/app/.next-cli-build/server/chunks/6540.js +1 -1
- package/app/.next-cli-build/server/chunks/7037.js +1 -1
- package/app/.next-cli-build/server/chunks/7066.js +1 -1
- package/app/.next-cli-build/server/chunks/827.js +1 -1
- 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.c1b5af11afe50408.js +1 -0
- package/app/.next-cli-build/static/chunks/2435.73c540d31dae9ecf.js +1 -0
- package/app/.next-cli-build/static/chunks/2694-e38089f3fbc4f795.js +18 -0
- package/app/.next-cli-build/static/chunks/3521.f0ac0c88103b9f6c.js +1 -0
- package/app/.next-cli-build/static/chunks/5497-424fa4c770985a02.js +7 -0
- package/app/.next-cli-build/static/chunks/5524.a4e52491e3114015.js +1 -0
- package/app/.next-cli-build/static/chunks/6808-54de8b855aaccfa4.js +1 -0
- package/app/.next-cli-build/static/chunks/7309-733bb48477dcf18e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/{page-5a39e2c930083958.js → page-11398bffb8f731d6.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/{page-efa13471ca90cb6f.js → page-4b6f03d26918f2c8.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-1b13e2f309dace52.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-52812c2f1eec1542.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/{page-4533d3729d0f3d2f.js → page-3f9ff52f7de3d5ce.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-fb985695b0a7fece.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-99efb86d0bd7063d.js → page-cc18e2e55c9fc034.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/{page-34a9de93009415b2.js → page-98408a15a31af09e.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/page-259a9fbcb19b32bb.js +4 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/{page-e49129de51260b20.js → page-be260619b6663f68.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/{page-0527ed7a1e5796d2.js → page-eb32542bad219188.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-1f58f279da3d1d2e.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-e293bc909c375fda.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-4af847c5b1581140.js +27 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-8c4efaab91f7315d.js → page-64c2ea1d68752a95.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-4598bf7897896efe.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-e104456d4f92f5d7.js +4 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/pxpipe/{page-0d4b8225aa2a0570.js → page-90866408d05de0ea.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/{page-c2e6b6ae60d66ee6.js → page-3f4373ff4d41429d.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/{page-44136b54dd60ab1a.js → page-d30a8e3bcd1739fe.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/{page-4b073ba7273cde14.js → page-2d72a14feff46003.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/{page-9219cd8e2828aeb2.js → page-0aac17733e26291b.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-f30d37a1c0a41094.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-85b42e3587cdd780.js → layout-e2a9c08e575d5fb1.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/{layout-53a33c2d919bd8e4.js → layout-6693e2013812704c.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/login/{page-8c450d820c6b4a84.js → page-424bb7b9a4fadbef.js} +1 -1
- package/app/.next-cli-build/static/chunks/webpack-5f3126bff1640c83.js +1 -0
- package/app/.next-cli-build/static/css/9ade909ac2a94202.css +1 -0
- package/app/cli/.build-home/AppData/Roaming/67router/db/data.sqlite-shm +0 -0
- package/app/cli/.build-home/AppData/Roaming/67router/db/data.sqlite-wal +0 -0
- package/app/package.json +1 -1
- package/cli.js +54 -54
- package/package.json +1 -1
- package/src/cli/tray/tray.ps1 +64 -10
- package/src/cli/tray/trayWin.js +38 -15
- package/app/.next-cli-build/server/chunks/6708.js +0 -1
- package/app/.next-cli-build/server/chunks/7121.js +0 -1
- package/app/.next-cli-build/static/chunks/124.c092990b4bdb9713.js +0 -1
- package/app/.next-cli-build/static/chunks/1321-a966036b7e3ae8c3.js +0 -1
- package/app/.next-cli-build/static/chunks/2435.8a5a02e626c780d0.js +0 -1
- package/app/.next-cli-build/static/chunks/2694-fa4a038c7addaf24.js +0 -18
- package/app/.next-cli-build/static/chunks/3521.a9e2daf685420cc7.js +0 -1
- package/app/.next-cli-build/static/chunks/5497-3cf29976f188352b.js +0 -7
- package/app/.next-cli-build/static/chunks/6808-9540d7ac65c3e6a0.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-e8e532618d63f944.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-dec9bfc425fb3885.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-7bd0715367619619.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/page-c5ec58d3c27337fa.js +0 -4
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-b75f168ba5367af9.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-13b9f3596564691a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-3ec2eae580cfd6e9.js +0 -27
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-eafb435acef415a1.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-d61c6b11bb916a3c.js +0 -4
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-1f79ed13b16582ef.js +0 -1
- package/app/.next-cli-build/static/chunks/webpack-97b250ee703d0d92.js +0 -1
- package/app/.next-cli-build/static/css/d9ba36d87937fec6.css +0 -1
- /package/app/.next-cli-build/static/{RC_KHxUynSqU7uk0euJap → sKwjEEJfz6HiCKK5ronYO}/_buildManifest.js +0 -0
- /package/app/.next-cli-build/static/{RC_KHxUynSqU7uk0euJap → sKwjEEJfz6HiCKK5ronYO}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":1,"files":["../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../node_modules/@swc/helpers/esm/_interop_require_default.js","../../node_modules/@swc/helpers/package.json","../../node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../node_modules/better-sqlite3/lib/database.js","../../node_modules/better-sqlite3/lib/index.js","../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../node_modules/better-sqlite3/lib/methods/backup.js","../../node_modules/better-sqlite3/lib/methods/function.js","../../node_modules/better-sqlite3/lib/methods/inspect.js","../../node_modules/better-sqlite3/lib/methods/pragma.js","../../node_modules/better-sqlite3/lib/methods/serialize.js","../../node_modules/better-sqlite3/lib/methods/table.js","../../node_modules/better-sqlite3/lib/methods/transaction.js","../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../node_modules/better-sqlite3/lib/sqlite-error.js","../../node_modules/better-sqlite3/lib/util.js","../../node_modules/better-sqlite3/package.json","../../node_modules/bindings/bindings.js","../../node_modules/bindings/package.json","../../node_modules/file-uri-to-path/index.js","../../node_modules/file-uri-to-path/package.json","../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../node_modules/next/dist/client/components/hooks-server-context.js","../../node_modules/next/dist/client/components/static-generation-bailout.js","../../node_modules/next/dist/client/lib/console.js","../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../node_modules/next/dist/compiled/hash.js/sha256/256.js","../../node_modules/next/dist/compiled/hash.js/sha256/package.json","../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../node_modules/next/dist/compiled/source-map/package.json","../../node_modules/next/dist/compiled/source-map/source-map.js","../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../node_modules/next/dist/compiled/ws/index.js","../../node_modules/next/dist/compiled/ws/package.json","../../node_modules/next/dist/lib/client-and-server-references.js","../../node_modules/next/dist/lib/constants.js","../../node_modules/next/dist/lib/framework/boundary-constants.js","../../node_modules/next/dist/lib/interop-default.js","../../node_modules/next/dist/lib/is-error.js","../../node_modules/next/dist/lib/picocolors.js","../../node_modules/next/dist/lib/scheduler.js","../../node_modules/next/dist/lib/semver-noop.js","../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../node_modules/next/dist/server/app-render/async-local-storage.js","../../node_modules/next/dist/server/app-render/blocking-route-messages.js","../../node_modules/next/dist/server/app-render/cache-signal.js","../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js","../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../node_modules/next/dist/server/app-render/segment-config/ensure-static.js","../../node_modules/next/dist/server/app-render/staged-rendering.js","../../node_modules/next/dist/server/app-render/sync-io-messages.js","../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../node_modules/next/dist/server/lib/app-dir-module.js","../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../node_modules/next/dist/server/lib/lru-cache.js","../../node_modules/next/dist/server/lib/parse-stack.js","../../node_modules/next/dist/server/lib/route-cache-key.js","../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../node_modules/next/dist/server/lib/source-maps.js","../../node_modules/next/dist/server/lib/trace/constants.js","../../node_modules/next/dist/server/lib/trace/tracer.js","../../node_modules/next/dist/server/load-manifest.external.js","../../node_modules/next/dist/server/node-environment-baseline.js","../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../node_modules/next/dist/server/node-environment-extensions/date.js","../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../node_modules/next/dist/server/node-environment-extensions/random.js","../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../node_modules/next/dist/server/node-environment.js","../../node_modules/next/dist/server/node-polyfill-crypto.js","../../node_modules/next/dist/server/normalizers/built/app/app-pathname-normalizer.js","../../node_modules/next/dist/server/normalizers/normalizers.js","../../node_modules/next/dist/server/normalizers/underscore-normalizer.js","../../node_modules/next/dist/server/normalizers/wrap-normalizer-fn.js","../../node_modules/next/dist/server/patch-error-inspect.js","../../node_modules/next/dist/server/require-hook.js","../../node_modules/next/dist/server/response-cache/types.js","../../node_modules/next/dist/server/route-kind.js","../../node_modules/next/dist/server/runtime-reacts.external.js","../../node_modules/next/dist/shared/lib/deep-freeze.js","../../node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js","../../node_modules/next/dist/shared/lib/instant-messages.js","../../node_modules/next/dist/shared/lib/invariant-error.js","../../node_modules/next/dist/shared/lib/is-plain-object.js","../../node_modules/next/dist/shared/lib/is-thenable.js","../../node_modules/next/dist/shared/lib/lazy-dynamic/react-browser-bailout.js","../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../node_modules/next/dist/shared/lib/page-path/normalize-page-path.js","../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../node_modules/next/dist/shared/lib/router/utils/index.js","../../node_modules/next/dist/shared/lib/router/utils/interception-routes.js","../../node_modules/next/dist/shared/lib/router/utils/is-dynamic.js","../../node_modules/next/dist/shared/lib/router/utils/parse-loader-tree.js","../../node_modules/next/dist/shared/lib/router/utils/sorted-routes.js","../../node_modules/next/dist/shared/lib/segment.js","../../node_modules/next/dist/shared/lib/server-reference-info.js","../../node_modules/next/dist/shared/lib/utils.js","../../node_modules/next/package.json","../../node_modules/react/cjs/react.development.js","../../node_modules/react/cjs/react.production.js","../../node_modules/react/index.js","../../node_modules/react/package.json","../../node_modules/sql.js/dist/sql-wasm.js","../../node_modules/sql.js/package.json","../../package.json","../package.json","chunks/1220.js","chunks/1306.js","chunks/1455.js","chunks/1679.js","chunks/1712.js","chunks/1757.js","chunks/1813.js","chunks/1998.js","chunks/2132.js","chunks/2220.js","chunks/2329.js","chunks/238.js","chunks/2391.js","chunks/24.js","chunks/241.js","chunks/2430.js","chunks/2750.js","chunks/2760.js","chunks/2970.js","chunks/3016.js","chunks/3047.js","chunks/3225.js","chunks/3449.js","chunks/3535.js","chunks/3546.js","chunks/3558.js","chunks/3593.js","chunks/3662.js","chunks/3726.js","chunks/3943.js","chunks/3966.js","chunks/4049.js","chunks/4055.js","chunks/412.js","chunks/4123.js","chunks/4125.js","chunks/4152.js","chunks/4190.js","chunks/4252.js","chunks/4293.js","chunks/436.js","chunks/4663.js","chunks/4730.js","chunks/4739.js","chunks/4780.js","chunks/4872.js","chunks/4882.js","chunks/507.js","chunks/5081.js","chunks/5182.js","chunks/5215.js","chunks/5217.js","chunks/5245.js","chunks/5258.js","chunks/5299.js","chunks/5330.js","chunks/5433.js","chunks/5500.js","chunks/5573.js","chunks/5615.js","chunks/5946.js","chunks/595.js","chunks/6070.js","chunks/6140.js","chunks/615.js","chunks/6249.js","chunks/6457.js","chunks/6540.js","chunks/6708.js","chunks/6763.js","chunks/6777.js","chunks/6844.js","chunks/6877.js","chunks/6921.js","chunks/6922.js","chunks/698.js","chunks/7037.js","chunks/7066.js","chunks/7121.js","chunks/7211.js","chunks/7247.js","chunks/7285.js","chunks/7525.js","chunks/7552.js","chunks/7557.js","chunks/7716.js","chunks/7774.js","chunks/7828.js","chunks/7911.js","chunks/7965.js","chunks/7995.js","chunks/8251.js","chunks/827.js","chunks/8292.js","chunks/8363.js","chunks/8402.js","chunks/8416.js","chunks/8499.js","chunks/8520.js","chunks/8635.js","chunks/869.js","chunks/8895.js","chunks/8910.js","chunks/8920.js","chunks/9055.js","chunks/9100.js","chunks/915.js","chunks/936.js","chunks/9378.js","chunks/9604.js","chunks/9609.js","chunks/9696.js","chunks/9746.js","webpack-runtime.js"]}
|
|
1
|
+
{"version":1,"files":["../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../node_modules/@swc/helpers/esm/_interop_require_default.js","../../node_modules/@swc/helpers/package.json","../../node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../node_modules/better-sqlite3/lib/database.js","../../node_modules/better-sqlite3/lib/index.js","../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../node_modules/better-sqlite3/lib/methods/backup.js","../../node_modules/better-sqlite3/lib/methods/function.js","../../node_modules/better-sqlite3/lib/methods/inspect.js","../../node_modules/better-sqlite3/lib/methods/pragma.js","../../node_modules/better-sqlite3/lib/methods/serialize.js","../../node_modules/better-sqlite3/lib/methods/table.js","../../node_modules/better-sqlite3/lib/methods/transaction.js","../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../node_modules/better-sqlite3/lib/sqlite-error.js","../../node_modules/better-sqlite3/lib/util.js","../../node_modules/better-sqlite3/package.json","../../node_modules/bindings/bindings.js","../../node_modules/bindings/package.json","../../node_modules/file-uri-to-path/index.js","../../node_modules/file-uri-to-path/package.json","../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../node_modules/next/dist/client/components/hooks-server-context.js","../../node_modules/next/dist/client/components/static-generation-bailout.js","../../node_modules/next/dist/client/lib/console.js","../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../node_modules/next/dist/compiled/hash.js/sha256/256.js","../../node_modules/next/dist/compiled/hash.js/sha256/package.json","../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../node_modules/next/dist/compiled/source-map/package.json","../../node_modules/next/dist/compiled/source-map/source-map.js","../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../node_modules/next/dist/compiled/ws/index.js","../../node_modules/next/dist/compiled/ws/package.json","../../node_modules/next/dist/lib/client-and-server-references.js","../../node_modules/next/dist/lib/constants.js","../../node_modules/next/dist/lib/framework/boundary-constants.js","../../node_modules/next/dist/lib/interop-default.js","../../node_modules/next/dist/lib/is-error.js","../../node_modules/next/dist/lib/picocolors.js","../../node_modules/next/dist/lib/scheduler.js","../../node_modules/next/dist/lib/semver-noop.js","../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../node_modules/next/dist/server/app-render/async-local-storage.js","../../node_modules/next/dist/server/app-render/blocking-route-messages.js","../../node_modules/next/dist/server/app-render/cache-signal.js","../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js","../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../node_modules/next/dist/server/app-render/segment-config/ensure-static.js","../../node_modules/next/dist/server/app-render/staged-rendering.js","../../node_modules/next/dist/server/app-render/sync-io-messages.js","../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../node_modules/next/dist/server/lib/app-dir-module.js","../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../node_modules/next/dist/server/lib/lru-cache.js","../../node_modules/next/dist/server/lib/parse-stack.js","../../node_modules/next/dist/server/lib/route-cache-key.js","../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../node_modules/next/dist/server/lib/source-maps.js","../../node_modules/next/dist/server/lib/trace/constants.js","../../node_modules/next/dist/server/lib/trace/tracer.js","../../node_modules/next/dist/server/load-manifest.external.js","../../node_modules/next/dist/server/node-environment-baseline.js","../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../node_modules/next/dist/server/node-environment-extensions/date.js","../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../node_modules/next/dist/server/node-environment-extensions/random.js","../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../node_modules/next/dist/server/node-environment.js","../../node_modules/next/dist/server/node-polyfill-crypto.js","../../node_modules/next/dist/server/normalizers/built/app/app-pathname-normalizer.js","../../node_modules/next/dist/server/normalizers/normalizers.js","../../node_modules/next/dist/server/normalizers/underscore-normalizer.js","../../node_modules/next/dist/server/normalizers/wrap-normalizer-fn.js","../../node_modules/next/dist/server/patch-error-inspect.js","../../node_modules/next/dist/server/require-hook.js","../../node_modules/next/dist/server/response-cache/types.js","../../node_modules/next/dist/server/route-kind.js","../../node_modules/next/dist/server/runtime-reacts.external.js","../../node_modules/next/dist/shared/lib/deep-freeze.js","../../node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js","../../node_modules/next/dist/shared/lib/instant-messages.js","../../node_modules/next/dist/shared/lib/invariant-error.js","../../node_modules/next/dist/shared/lib/is-plain-object.js","../../node_modules/next/dist/shared/lib/is-thenable.js","../../node_modules/next/dist/shared/lib/lazy-dynamic/react-browser-bailout.js","../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../node_modules/next/dist/shared/lib/page-path/normalize-page-path.js","../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../node_modules/next/dist/shared/lib/router/utils/index.js","../../node_modules/next/dist/shared/lib/router/utils/interception-routes.js","../../node_modules/next/dist/shared/lib/router/utils/is-dynamic.js","../../node_modules/next/dist/shared/lib/router/utils/parse-loader-tree.js","../../node_modules/next/dist/shared/lib/router/utils/sorted-routes.js","../../node_modules/next/dist/shared/lib/segment.js","../../node_modules/next/dist/shared/lib/server-reference-info.js","../../node_modules/next/dist/shared/lib/utils.js","../../node_modules/next/package.json","../../node_modules/react/cjs/react.development.js","../../node_modules/react/cjs/react.production.js","../../node_modules/react/index.js","../../node_modules/react/package.json","../../node_modules/sql.js/dist/sql-wasm.js","../../node_modules/sql.js/package.json","../../package.json","../package.json","chunks/1220.js","chunks/1306.js","chunks/1455.js","chunks/1679.js","chunks/1712.js","chunks/1757.js","chunks/1813.js","chunks/1998.js","chunks/2132.js","chunks/2220.js","chunks/2329.js","chunks/238.js","chunks/2391.js","chunks/24.js","chunks/241.js","chunks/2430.js","chunks/2750.js","chunks/2760.js","chunks/2970.js","chunks/3016.js","chunks/3047.js","chunks/3225.js","chunks/3449.js","chunks/3535.js","chunks/3546.js","chunks/3558.js","chunks/3593.js","chunks/3662.js","chunks/3726.js","chunks/3943.js","chunks/3966.js","chunks/4049.js","chunks/4055.js","chunks/412.js","chunks/4123.js","chunks/4125.js","chunks/4152.js","chunks/4190.js","chunks/4252.js","chunks/4254.js","chunks/4293.js","chunks/436.js","chunks/4663.js","chunks/4730.js","chunks/4739.js","chunks/4780.js","chunks/4872.js","chunks/4882.js","chunks/507.js","chunks/5081.js","chunks/5182.js","chunks/5215.js","chunks/5217.js","chunks/5245.js","chunks/5258.js","chunks/5299.js","chunks/5330.js","chunks/5433.js","chunks/5500.js","chunks/5573.js","chunks/5615.js","chunks/5946.js","chunks/595.js","chunks/6070.js","chunks/6140.js","chunks/615.js","chunks/6249.js","chunks/6457.js","chunks/6540.js","chunks/6763.js","chunks/6777.js","chunks/6844.js","chunks/6877.js","chunks/6921.js","chunks/6922.js","chunks/698.js","chunks/7037.js","chunks/7066.js","chunks/7211.js","chunks/7247.js","chunks/7285.js","chunks/7525.js","chunks/7552.js","chunks/7557.js","chunks/7716.js","chunks/7774.js","chunks/7828.js","chunks/7911.js","chunks/7965.js","chunks/7995.js","chunks/8251.js","chunks/827.js","chunks/8292.js","chunks/8363.js","chunks/8402.js","chunks/8416.js","chunks/8499.js","chunks/8520.js","chunks/8635.js","chunks/869.js","chunks/8895.js","chunks/8910.js","chunks/8920.js","chunks/9055.js","chunks/9100.js","chunks/915.js","chunks/936.js","chunks/9378.js","chunks/9604.js","chunks/9609.js","chunks/9696.js","chunks/9746.js","webpack-runtime.js"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/6a9bef38941fa1cc.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/d9ba36d87937fec6.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-97b250ee703d0d92.js"/><script src="/_next/static/chunks/4bd1b696-8cd12253b448cc13.js" async=""></script><script src="/_next/static/chunks/3794-ba54cbd6a46cf18d.js" async=""></script><script src="/_next/static/chunks/main-app-b0bdce9040f7d6b7.js" async=""></script><script src="/_next/static/chunks/763-dc08dca9e6f220af.js" async=""></script><script src="/_next/static/chunks/1321-a966036b7e3ae8c3.js" async=""></script><script src="/_next/static/chunks/705-363f42ebbfd184b4.js" async=""></script><script src="/_next/static/chunks/5497-3cf29976f188352b.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-85b42e3587cdd780.js" async=""></script><script src="/_next/static/chunks/5665-d80fd6fd8a52bee5.js" async=""></script><script src="/_next/static/chunks/app/layout-53a33c2d919bd8e4.js" async=""></script><link rel="preload" href="https://fonts.googleapis.com/css2?family=Momo+Trust+Sans:wght@300..800&display=swap" as="style"/><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-LC959F603F" as="script"/><meta name="robots" content="noindex"/><meta name="theme-color" content="#080808"/><title>67Router - AI Gateway & Proxy</title><meta name="description" content="Unified AI gateway, model routing, and key infrastructure."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/favicon.ico?be89a57426cf656a" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/logo.png"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><title>404: This page could not be found.</title><link href="https://fonts.googleapis.com/css2?family=Momo+Trust+Sans:wght@300..800&display=swap" rel="stylesheet"/><script>(function(){try{document.documentElement.classList.add('dark');localStorage.setItem('theme',JSON.stringify({state:{theme:'dark'}}));}catch(e){}})();</script><script>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()}</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_4dc837 font-sans antialiased bg-bg text-text-main"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>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)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-97b250ee703d0d92.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/763-dc08dca9e6f220af.js\"\n3:\"static/chunks/1321-a966036b7e3ae8c3.js\"\n4:\"static/chunks/705-363f42ebbfd184b4.js\"\n5:\"static/chunks/5497-3cf29976f188352b.js\"\n6:\"static/chunks/app/(dashboard)/layout-85b42e3587cdd780.js\"\n7:I[21110,[\"763\",\"$2\",\"1321\",\"$3\",\"705\",\"$4\",\"5497\",\"$5\",\"9305\",\"$6\"],\"ThemeProvider\"]\n8:\"static/chunks/5665-d80fd6fd8a52bee5.js\"\n9:\"static/chunks/app/layout-53a33c2d919bd8e4.js\"\na:\"RuntimeI18nProvider\"\nb:I[94635,[\"5665\",\"$8\",\"1321\",\"$3\",\"7177\",\"$9\"],\"$a\"]\nc:I[57121,[],\"\"]\nd:I[74581,[],\"\"]\ne:I[30565,[\"5665\",\"$8\",\"1321\",\"$3\",\"7177\",\"$9\"],\"GoogleAnalytics\"]\n12:I[90484,[],\"OutletBoundary\"]\n13:\"$Sreact.suspense\"\n15:\"ViewportBoundary\"\n16:I[90484,[],\"$15\"]\n18:\"MetadataBoundary\"\n19:I[90484,[],\"$18\"]\n1b:I[27123,[],\"default\",1]\n:HL[\"/_next/static/css/6a9bef38941fa1cc.css\",\"style\"]\n:HL[\"/_next/static/css/d9ba36d87937fec6.css\",\"style\"]\n:HL[\"https://fonts.googleapis.com/css2?family=Momo+Trust+Sans:wght@300..800\u0026display=swap\",\"style\"]\n10:X\n11:[[\"children\",{\"s\":\"__PAGE__\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"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.\"}]}]]}]}]],null,[\"$\",\"$L12\",null,{\"children\":[\"$\",\"$13\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@14\"}]}]]}],\"p\":false,\"v\":null}}]]\nf:[[\"children\",{\"s\":\"_not-found\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Lc\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Ld\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$10\"},\"c\":\"$Q11\"}]]\n0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/6a9bef38941fa1cc.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/d9ba36d87937fec6.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://fonts.googleapis.com\"}],[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://fonts.gstatic.com\",\"crossOrigin\":\"anonymous\"}],[\"$\",\"link\",null,{\"href\":\"https://fonts.googleapis.com/css2?family=Momo+Trust+Sans:wght@300..800\u0026display=swap\",\"rel\":\"stylesheet\"}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{document.documentElement.classList.add('dark');localStorage.setItem('theme',JSON.stringify({state:{theme:'dark'}}));}catch(e){}})();\"}}],[\"$\",\"script\",null,{\"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_4dc837 font-sans antialiased bg-bg text-text-main\",\"children\":[[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$Lc\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Ld\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}],[\"$\",\"$Le\",null,{\"gaId\":\"G-LC959F603F\"}]]}]]}]]}],\"p\":false,\"v\":null},\"c\":\"$Qf\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L16\",null,{\"children\":\"$L17\"}],[\"$\",\"$L19\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$13\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L1a\"}]}],null]}],null]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$1b\",[]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"RC_KHxUynSqU7uk0euJap\"}\n10:C\n17:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#080808\"}]]\n1c:I[86869,[],\"IconMark\"]\n14:null\n1a:[[\"$\",\"title\",\"0\",{\"children\":\"67Router - AI Gateway \u0026 Proxy\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Unified AI gateway, model routing, and key infrastructure.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?be89a57426cf656a\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/logo.png\"}],[\"$\",\"$L1c\",\"5\",{}]]\n"])</script></body></html>
|
|
1
|
+
<!DOCTYPE html><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/6a9bef38941fa1cc.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/9ade909ac2a94202.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-5f3126bff1640c83.js"/><script src="/_next/static/chunks/4bd1b696-8cd12253b448cc13.js" async=""></script><script src="/_next/static/chunks/3794-ba54cbd6a46cf18d.js" async=""></script><script src="/_next/static/chunks/main-app-b0bdce9040f7d6b7.js" async=""></script><script src="/_next/static/chunks/763-dc08dca9e6f220af.js" async=""></script><script src="/_next/static/chunks/7309-733bb48477dcf18e.js" async=""></script><script src="/_next/static/chunks/705-363f42ebbfd184b4.js" async=""></script><script src="/_next/static/chunks/5497-424fa4c770985a02.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-e2a9c08e575d5fb1.js" async=""></script><script src="/_next/static/chunks/5665-d80fd6fd8a52bee5.js" async=""></script><script src="/_next/static/chunks/app/layout-6693e2013812704c.js" async=""></script><link rel="preload" href="https://fonts.googleapis.com/css2?family=Momo+Trust+Sans:wght@300..800&display=swap" as="style"/><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-LC959F603F" as="script"/><meta name="robots" content="noindex"/><meta name="theme-color" content="#080808"/><title>67Router - AI Gateway & Proxy</title><meta name="description" content="Unified AI gateway, model routing, and key infrastructure."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/favicon.ico?be89a57426cf656a" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/logo.png"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><title>404: This page could not be found.</title><link href="https://fonts.googleapis.com/css2?family=Momo+Trust+Sans:wght@300..800&display=swap" rel="stylesheet"/><script>(function(){try{document.documentElement.classList.add('dark');localStorage.setItem('theme',JSON.stringify({state:{theme:'dark'}}));}catch(e){}})();</script><script>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()}</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_4dc837 font-sans antialiased bg-bg text-text-main"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>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)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-5f3126bff1640c83.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/763-dc08dca9e6f220af.js\"\n3:\"static/chunks/7309-733bb48477dcf18e.js\"\n4:\"static/chunks/705-363f42ebbfd184b4.js\"\n5:\"static/chunks/5497-424fa4c770985a02.js\"\n6:\"static/chunks/app/(dashboard)/layout-e2a9c08e575d5fb1.js\"\n7:I[75688,[\"763\",\"$2\",\"7309\",\"$3\",\"705\",\"$4\",\"5497\",\"$5\",\"9305\",\"$6\"],\"ThemeProvider\"]\n8:\"static/chunks/5665-d80fd6fd8a52bee5.js\"\n9:\"static/chunks/app/layout-6693e2013812704c.js\"\na:\"RuntimeI18nProvider\"\nb:I[94635,[\"5665\",\"$8\",\"7309\",\"$3\",\"7177\",\"$9\"],\"$a\"]\nc:I[57121,[],\"\"]\nd:I[74581,[],\"\"]\ne:I[30565,[\"5665\",\"$8\",\"7309\",\"$3\",\"7177\",\"$9\"],\"GoogleAnalytics\"]\n12:I[90484,[],\"OutletBoundary\"]\n13:\"$Sreact.suspense\"\n15:\"ViewportBoundary\"\n16:I[90484,[],\"$15\"]\n18:\"MetadataBoundary\"\n19:I[90484,[],\"$18\"]\n1b:I[27123,[],\"default\",1]\n:HL[\"/_next/static/css/6a9bef38941fa1cc.css\",\"style\"]\n:HL[\"/_next/static/css/9ade909ac2a94202.css\",\"style\"]\n:HL[\"https://fonts.googleapis.com/css2?family=Momo+Trust+Sans:wght@300..800\u0026display=swap\",\"style\"]\n10:X\n11:[[\"children\",{\"s\":\"__PAGE__\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"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.\"}]}]]}]}]],null,[\"$\",\"$L12\",null,{\"children\":[\"$\",\"$13\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@14\"}]}]]}],\"p\":false,\"v\":null}}]]\nf:[[\"children\",{\"s\":\"_not-found\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Lc\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Ld\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$10\"},\"c\":\"$Q11\"}]]\n0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/6a9bef38941fa1cc.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/9ade909ac2a94202.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://fonts.googleapis.com\"}],[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://fonts.gstatic.com\",\"crossOrigin\":\"anonymous\"}],[\"$\",\"link\",null,{\"href\":\"https://fonts.googleapis.com/css2?family=Momo+Trust+Sans:wght@300..800\u0026display=swap\",\"rel\":\"stylesheet\"}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{document.documentElement.classList.add('dark');localStorage.setItem('theme',JSON.stringify({state:{theme:'dark'}}));}catch(e){}})();\"}}],[\"$\",\"script\",null,{\"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_4dc837 font-sans antialiased bg-bg text-text-main\",\"children\":[[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$Lc\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Ld\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}],[\"$\",\"$Le\",null,{\"gaId\":\"G-LC959F603F\"}]]}]]}]]}],\"p\":false,\"v\":null},\"c\":\"$Qf\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L16\",null,{\"children\":\"$L17\"}],[\"$\",\"$L19\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$13\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L1a\"}]}],null]}],null]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$1b\",[]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"sKwjEEJfz6HiCKK5ronYO\"}\n10:C\n17:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#080808\"}]]\n1c:I[86869,[],\"IconMark\"]\n14:null\n1a:[[\"$\",\"title\",\"0\",{\"children\":\"67Router - AI Gateway \u0026 Proxy\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Unified AI gateway, model routing, and key infrastructure.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?be89a57426cf656a\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/logo.png\"}],[\"$\",\"$L1c\",\"5\",{}]]\n"])</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-
|
|
1
|
+
<!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-5f3126bff1640c83.js"/><script src="/_next/static/chunks/4bd1b696-8cd12253b448cc13.js" async=""></script><script src="/_next/static/chunks/3794-ba54cbd6a46cf18d.js" async=""></script><script src="/_next/static/chunks/main-app-b0bdce9040f7d6b7.js" async=""></script><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-5f3126bff1640c83.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:I[74581,[],\"\"]\n7:I[90484,[],\"OutletBoundary\"]\n8:\"$Sreact.suspense\"\na:\"ViewportBoundary\"\nb:I[90484,[],\"$a\"]\nd:\"MetadataBoundary\"\ne:I[90484,[],\"$d\"]\n10:I[27123,[],\"default\",1]\n4:X\n6:[[\"children\",{\"s\":\"__PAGE__\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@9\"}]}]]}],\"p\":false,\"v\":null}}]]\n5:[[\"children\",{\"s\":\"_global-error\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$4\"},\"c\":\"$Q6\"}]]\n0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$4\"},\"c\":\"$Q5\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"$Le\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lf\"}]}],null]}],null]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"sKwjEEJfz6HiCKK5ronYO\"}\n4:C\nc:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n9:null\nf:[]\n"])</script></body></html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[124],{10124:(e,t,s)=>{s.r(t),s.d(t,{default:()=>j});var a=s(95155),o=s(12115),l=s(14051),r=s.n(l),c=s(21742),i=s(90639),n=s(77496),d=s(32539),x=s(59656),f=s(97944),p=s(97779);let m=e=>e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e||0),b=[{value:"tokens",label:"Tokens"},{value:"requests",label:"Requests"},{value:"cost",label:"Cost ($)"}],h={tokens:{dataKey:"tokens",color:"#c5a880",gradId:"goldGrad",formatter:m,label:"Tokens"},requests:{dataKey:"requests",color:"#10b981",gradId:"greenGrad",formatter:e=>String(e||0),label:"Requests"},cost:{dataKey:"cost",color:"#fbbf24",gradId:"amberGrad",formatter:e=>`$${(e||0).toFixed(2)}`,label:"Cost"}};function j({period:e="7d",stats:t=null}){let[s,l]=(0,o.useState)([]),[r,u]=(0,o.useState)(!0),[k,y]=(0,o.useState)("tokens"),g=(0,o.useCallback)(async()=>{u(!0);try{let t=await fetch(`/api/usage/chart?period=${e}`);if(t.ok){let e=await t.json();l(e)}}catch(e){console.error("Failed to fetch chart data:",e)}finally{u(!1)}},[e]);(0,o.useEffect)(()=>{g()},[g]);let v=h[k],N=s.some(e=>(e[v.dataKey]||0)>0);return(0,a.jsxs)("div",{className:"bg-[#121216] border border-[#23242a] p-6 flex flex-col shadow-sm",children:[(0,a.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3 border-b border-[#23242a] pb-4 mb-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"text-sm font-semibold text-[#ededef]",children:"Tokens Over Time"}),(0,a.jsx)("p",{className:"text-[11px] text-[#9c9ca4]",children:"Hourly token consumption breakdown & cache efficiency"})]}),(0,a.jsx)("div",{className:"inline-flex items-center p-0.5 bg-[#181820] border border-[#23242a]",children:b.map(e=>{let t=k===e.value;return(0,a.jsx)("button",{onClick:()=>y(e.value),className:`px-3 py-1 text-xs font-medium transition-colors ${t?"bg-[#242430] text-[#c5a880]":"text-[#9c9ca4] hover:text-[#ededef]"}`,children:e.label},e.value)})})]}),(0,a.jsx)("div",{className:"relative h-60 w-full mt-2",children:r?(0,a.jsx)("div",{className:"h-full flex items-center justify-center text-[#9c9ca4] text-xs",children:"Loading chart telemetry..."}):N?(0,a.jsx)(c.u,{width:"100%",height:"100%",children:(0,a.jsxs)(i.Q,{data:s,margin:{top:8,right:12,left:0,bottom:0},children:[(0,a.jsxs)("defs",{children:[(0,a.jsxs)("linearGradient",{id:"goldGrad",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,a.jsx)("stop",{offset:"0%",stopColor:"#c5a880",stopOpacity:.4}),(0,a.jsx)("stop",{offset:"100%",stopColor:"#c5a880",stopOpacity:0})]}),(0,a.jsxs)("linearGradient",{id:"greenGrad",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,a.jsx)("stop",{offset:"0%",stopColor:"#10b981",stopOpacity:.35}),(0,a.jsx)("stop",{offset:"100%",stopColor:"#10b981",stopOpacity:0})]}),(0,a.jsxs)("linearGradient",{id:"amberGrad",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,a.jsx)("stop",{offset:"0%",stopColor:"#fbbf24",stopOpacity:.35}),(0,a.jsx)("stop",{offset:"100%",stopColor:"#fbbf24",stopOpacity:0})]})]}),(0,a.jsx)(n.d,{strokeDasharray:"3 3",stroke:"#1f2026",vertical:!1}),(0,a.jsx)(d.W,{dataKey:"label",tick:{fontSize:10,fill:"#9c9ca4"},tickLine:!1,axisLine:{stroke:"#23242a"},interval:"preserveStartEnd"}),(0,a.jsx)(x.h,{tick:{fontSize:10,fill:"#9c9ca4"},tickLine:!1,axisLine:!1,tickFormatter:v.formatter,width:50}),(0,a.jsx)(f.m,{contentStyle:{backgroundColor:"#16161c",border:"1px solid #2b2c36",color:"#ededef",fontSize:"12px",borderRadius:"0px",padding:"8px 12px"},formatter:e=>[v.formatter(e),v.label]}),(0,a.jsx)(p.Gk,{type:"monotone",dataKey:v.dataKey,stroke:v.color,strokeWidth:2,fill:`url(#${v.gradId})`})]})}):(0,a.jsx)("div",{className:"h-full flex items-center justify-center text-[#9c9ca4] text-xs",children:"No activity recorded for this period"})}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-6 pt-3 mt-2 border-t border-[#23242a] text-xs",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"w-3.5 h-1 bg-[#c5a880] inline-block"}),(0,a.jsxs)("span",{className:"text-[#ededef]",children:["Total Ingested ",t?.totalPromptTokens?`(${m(t.totalPromptTokens)})`:""]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"w-3.5 h-1 bg-[#3b82f6] inline-block"}),(0,a.jsxs)("span",{className:"text-[#9c9ca4]",children:["Prompt Cache ",t?.totalCachedTokens?`(${m(t.totalCachedTokens)})`:""]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"w-3.5 h-1 bg-[#10b981] inline-block"}),(0,a.jsxs)("span",{className:"text-[#9c9ca4]",children:["Output ",t?.totalCompletionTokens?`(${m(t.totalCompletionTokens)})`:""]})]})]})]})}j.propTypes={period:r().string,stats:r().object}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2435],{82435:(e,t,s)=>{s.r(t),s.d(t,{default:()=>i});var a=s(95155),n=s(12115),r=s(14051),l=s.n(r),o=s(88105);let c=["from-[#c5a880] to-[#e0c298]","from-[#3b82f6] to-[#60a5fa]","from-[#10b981] to-[#34d399]","from-[#f59e0b] to-[#fbbf24]","from-[#8b5cf6] to-[#a78bfa]","from-[#06b6d4] to-[#22d3ee]"],d=["text-[#c5a880]","text-[#3b82f6]","text-[#10b981]","text-[#f59e0b]","text-[#8b5cf6]","text-[#06b6d4]"];function i({byProvider:e,totalTokens:t=0,totalCachedTokens:s=0}){let r=(0,n.useMemo)(()=>{if(!e)return[];let s=Object.entries(e).map(([e,t])=>{let s=(t.promptTokens||0)+(t.completionTokens||0),a=(0,o.zt)(e)||o.Q2[e],n=a?.name||e;return{id:e,name:n,tokens:s,requests:t.requests||0,cost:t.cost||0}}),a=s.reduce((e,t)=>e+t.tokens,0)||t||1;return s.filter(e=>e.tokens>0||e.requests>0).sort((e,t)=>t.tokens-e.tokens).slice(0,5).map((e,t)=>({...e,share:(e.tokens/a*100).toFixed(1),gradient:c[t%c.length],textColor:d[t%d.length]}))},[e,t]),l=t>0?Math.min(99.9,s/t*100).toFixed(1):"0.0";return(0,a.jsxs)("div",{className:"bg-[#121216] border border-[#23242a] p-6 flex flex-col justify-between shadow-sm h-full",children:[(0,a.jsxs)("div",{className:"flex-1 flex flex-col",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between border-b border-[#23242a] pb-4 mb-4",children:[(0,a.jsx)("h2",{className:"text-sm font-semibold text-[#ededef]",children:"By Provider"}),(0,a.jsx)("span",{className:"text-[11px] text-[#9c9ca4] font-mono",children:"Share"})]}),0===r.length?(0,a.jsx)("div",{className:"py-12 flex-1 flex items-center justify-center text-[#9c9ca4] text-xs",children:"No provider usage recorded yet"}):(0,a.jsx)("div",{className:"space-y-4",children:r.map(e=>{var t;let s;return(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsxs)("div",{className:"flex justify-between text-xs font-medium",children:[(0,a.jsx)("span",{className:"text-[#ededef] truncate max-w-[180px]",children:e.name}),(0,a.jsxs)("span",{className:`${e.textColor} font-mono font-semibold`,children:[e.share,"%"]})]}),(0,a.jsx)("div",{className:"w-full bg-[#1c1c24] h-2 overflow-hidden",children:(0,a.jsx)("div",{className:`bg-gradient-to-r ${e.gradient} h-full transition-all duration-500`,style:{width:`${Math.max(2,parseFloat(e.share))}%`}})}),(0,a.jsxs)("div",{className:"flex justify-between text-[10px] text-[#9c9ca4] font-mono",children:[(0,a.jsx)("span",{children:(t=e.tokens)>=1e6?`${(t/1e6).toFixed(2)}M tokens`:t>=1e3?`${(t/1e3).toFixed(1)}k tokens`:`${t||0} tokens`}),(0,a.jsx)("span",{children:(s=e.cost,`$${(s||0).toFixed(2)} est.`)})]})]},e.id)})})]}),(0,a.jsxs)("div",{className:"mt-6 p-3 bg-[#181820] border border-[#23242a] flex items-center justify-between shrink-0",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-base text-[#c5a880]",children:"auto_awesome"}),(0,a.jsxs)("div",{className:"text-xs text-[#ededef]",children:[(0,a.jsx)("div",{className:"font-medium",children:"Auto-Routing Savings"}),(0,a.jsxs)("div",{className:"text-[10px] text-[#9c9ca4]",children:["Saved ~",l,"% via Cache & Fallbacks"]})]})]}),(0,a.jsxs)("span",{className:"text-xs font-bold font-mono text-[#10b981]",children:["+$",(s>0?3e-6*s:0).toFixed(2)]})]})]})}i.propTypes={byProvider:l().object,totalTokens:l().number,totalCachedTokens:l().number}}}]);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2694],{52694:(e,s,t)=>{Promise.resolve().then(t.bind(t,57924))},57924:(e,s,t)=>{"use strict";t.d(s,{default:()=>x});var a=t(95155),r=t(12115),l=t(14051),n=t.n(l),o=t(35497),i=t(11059),c=t(72767);function d(){return(0,a.jsxs)("div",{className:"flex flex-col gap-6 max-w-5xl mx-auto pb-12 select-none",children:[(0,a.jsxs)("div",{className:"border border-[#222226] bg-[#0F0F10]",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-5 py-3 border-b border-[#222226]",children:[(0,a.jsx)("div",{className:"h-3.5 w-20 bg-[#1c1c24] animate-pulse"}),(0,a.jsx)("div",{className:"h-3 w-16 bg-[#181820] animate-pulse"})]}),(0,a.jsxs)("div",{className:"divide-y divide-[#222226]",children:[(0,a.jsxs)("div",{className:"p-4 flex flex-col sm:flex-row sm:items-center justify-between gap-3",children:[(0,a.jsx)("div",{className:"h-3 w-16 bg-[#1c1c24] animate-pulse sm:w-[120px]"}),(0,a.jsxs)("div",{className:"flex-1 flex items-center gap-2 min-w-0",children:[(0,a.jsx)("div",{className:"flex-1 h-8 bg-[#080808] border border-[#222226] animate-pulse"}),(0,a.jsx)("div",{className:"h-8 w-16 bg-[#141416] border border-[#2E2E33] animate-pulse"})]})]}),(0,a.jsxs)("div",{className:"p-4 flex flex-col sm:flex-row sm:items-center justify-between gap-3",children:[(0,a.jsx)("div",{className:"h-3 w-24 bg-[#1c1c24] animate-pulse sm:w-[120px]"}),(0,a.jsxs)("div",{className:"flex-1 flex items-center gap-2 min-w-0",children:[(0,a.jsx)("div",{className:"flex-1 h-8 bg-[#080808] border border-[#222226] animate-pulse"}),(0,a.jsx)("div",{className:"h-8 w-16 bg-[#141416] border border-[#2E2E33] animate-pulse"})]})]}),(0,a.jsxs)("div",{className:"p-4 flex flex-col sm:flex-row sm:items-center justify-between gap-3",children:[(0,a.jsx)("div",{className:"h-3 w-20 bg-[#1c1c24] animate-pulse sm:w-[120px]"}),(0,a.jsxs)("div",{className:"flex-1 flex items-center gap-2 min-w-0",children:[(0,a.jsx)("div",{className:"flex-1 h-8 bg-[#080808] border border-[#222226] animate-pulse"}),(0,a.jsx)("div",{className:"h-8 w-16 bg-[#141416] border border-[#2E2E33] animate-pulse"})]})]})]})]}),(0,a.jsxs)("div",{className:"border border-[#222226] bg-[#0F0F10]",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-5 py-3 border-b border-[#222226]",children:[(0,a.jsx)("div",{className:"h-3.5 w-32 bg-[#1c1c24] animate-pulse"}),(0,a.jsx)("div",{className:"h-7 w-24 bg-[#1c1c24] animate-pulse"})]}),(0,a.jsx)("div",{className:"divide-y divide-[#222226]",children:[void 0,void 0,void 0].map((e,s)=>(0,a.jsxs)("div",{className:"p-4 flex flex-col sm:flex-row sm:items-center justify-between gap-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("div",{className:"h-3.5 w-24 bg-[#1c1c24] animate-pulse sm:min-w-[120px]"}),(0,a.jsx)("div",{className:"h-6 w-48 bg-[#080808] border border-[#222226] animate-pulse"})]}),(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)("div",{className:"h-6 w-14 bg-[#141416] border border-[#23242A] animate-pulse"}),(0,a.jsx)("div",{className:"h-6 w-14 bg-[#141416] border border-[#23242A] animate-pulse"}),(0,a.jsx)("div",{className:"h-6 w-14 bg-[#141416] border border-[#23242A] animate-pulse"}),(0,a.jsx)("div",{className:"h-6 w-6 bg-[#141416] border border-[#23242A] animate-pulse"})]})]},s))})]}),(0,a.jsxs)("div",{className:"border border-[#222226] bg-[#0F0F10]",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-5 py-3 border-b border-[#222226]",children:[(0,a.jsx)("div",{className:"h-3.5 w-32 bg-[#1c1c24] animate-pulse"}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("div",{className:"h-4 w-10 bg-[#1c1c24] animate-pulse"}),(0,a.jsx)("div",{className:"h-4 w-12 bg-[#181820] animate-pulse"}),(0,a.jsx)("div",{className:"h-4 w-10 bg-[#181820] animate-pulse"})]})]}),(0,a.jsxs)("div",{className:"p-4 bg-[#080808] space-y-2",children:[(0,a.jsx)("div",{className:"h-3 w-3/4 bg-[#1c1c24] animate-pulse"}),(0,a.jsx)("div",{className:"h-3 w-1/2 bg-[#181820] animate-pulse"}),(0,a.jsx)("div",{className:"h-3 w-2/3 bg-[#181820] animate-pulse"}),(0,a.jsx)("div",{className:"h-3 w-1/3 bg-[#181820] animate-pulse"}),(0,a.jsx)("div",{className:"h-3 w-3/5 bg-[#181820] animate-pulse"}),(0,a.jsx)("div",{className:"h-3 w-2/5 bg-[#181820] animate-pulse"})]})]})]})}function x({machineId:e}){let[s,t]=(0,r.useState)([]),[l,n]=(0,r.useState)(!0),[p,m]=(0,r.useState)(!1),[b,u]=(0,r.useState)(""),[h,f]=(0,r.useState)(null),[j,g]=(0,r.useState)(null),[y,v]=(0,r.useState)("curl"),[N,A]=(0,r.useState)(!1),[w,C]=(0,r.useState)(!0),[k,E]=(0,r.useState)(!0),[F,S]=(0,r.useState)(!1),[O,P]=(0,r.useState)(""),[I,T]=(0,r.useState)(""),[D,$]=(0,r.useState)(!1),[R,K]=(0,r.useState)(!1),[_,q]=(0,r.useState)(!1),[B,L]=(0,r.useState)(!1),[U,H]=(0,r.useState)(""),[Y,J]=(0,r.useState)(!1),[z,M]=(0,r.useState)(!1),[G,Q]=(0,r.useState)(!1),[V,W]=(0,r.useState)(new Set),[X,Z]=(0,r.useState)("/v1"),{copied:ee,copy:es}=(0,i.C)(2e3);(0,r.useEffect)(()=>{Z(`${window.location.origin}/v1`),er(),et()},[]);let et=async()=>{try{let[e,s]=await Promise.all([c.A.getState().fetchSettings(),fetch("/api/tunnel/status",{cache:"no-store"})]);if(e&&(A(e.requireApiKey||!1),C(!1!==e.requireLogin),E(e.hasPassword||!1)),s.ok){let e=await s.json();S(e.tunnel?.settingsEnabled??e.tunnel?.enabled??!1),P(e.tunnel?.tunnelUrl||""),T(e.tunnel?.publicUrl||""),L(e.tailscale?.settingsEnabled??e.tailscale?.enabled??!1),H(e.tailscale?.tunnelUrl||"")}}catch{}},ea=async e=>{try{await c.A.getState().patchSettings({requireApiKey:e})&&A(e)}catch{}},er=async()=>{try{let e=await fetch("/api/keys");if(!e.ok)return;let s=(await e.json()).keys||[];if(0===s.length&&(await fetch("/api/keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:"Default Key"})})).ok){let e=await fetch("/api/keys");s=(await e.json()).keys||[]}t(s)}catch{}finally{n(!1)}},el=async()=>{K(!1),$(!0);try{let e=await fetch("/api/tunnel/enable",{method:"POST"}),s=await e.json();e.ok&&s.tunnelUrl&&(P(s.tunnelUrl),T(s.publicUrl||""),S(!0))}catch{}finally{$(!1)}},en=async()=>{$(!0);try{(await fetch("/api/tunnel/disable",{method:"POST"})).ok&&(S(!1),P(""),T(""),q(!1))}catch{}finally{$(!1)}},eo=async()=>{if(b.trim())try{let e=await fetch("/api/keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:b})}),s=await e.json();e.ok&&(f(s.key),await er(),u(""),m(!1))}catch{}},ei=async e=>{g({title:"Revoke API Key",message:"Are you sure you want to delete this API key?",onConfirm:async()=>{g(null);try{(await fetch(`/api/keys/${e}`,{method:"DELETE"})).ok&&t(s.filter(s=>s.id!==e))}catch{}}})},ec=async(e,s)=>{try{(await fetch(`/api/keys/${e}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isActive:s})})).ok&&t(t=>t.map(t=>t.id===e?{...t,isActive:s}:t))}catch{}},ed=s.find(e=>!1!==e.isActive)?.key||"sk-67router-demo-token",ex=()=>"curl"===y?`curl ${X}/chat/completions \\
|
|
2
|
+
-H "Content-Type: application/json" \\
|
|
3
|
+
-H "Authorization: Bearer ${ed}" \\
|
|
4
|
+
-d '{"model": "claude-3-7-sonnet-20250219", "messages": [{"role": "user", "content": "Hello 67Router"}]}'`:"python"===y?`import openai
|
|
5
|
+
|
|
6
|
+
client = openai.OpenAI(base_url="${X}", api_key="${ed}")
|
|
7
|
+
resp = client.chat.completions.create(
|
|
8
|
+
model="claude-3-7-sonnet-20250219",
|
|
9
|
+
messages=[{"role": "user", "content": "Hello 67Router"}]
|
|
10
|
+
)
|
|
11
|
+
print(resp.choices[0].message.content)`:`import OpenAI from "openai";
|
|
12
|
+
|
|
13
|
+
const openai = new OpenAI({ baseURL: "${X}", apiKey: "${ed}" });
|
|
14
|
+
const res = await openai.chat.completions.create({
|
|
15
|
+
model: "claude-3-7-sonnet-20250219",
|
|
16
|
+
messages: [{ role: "user", content: "Hello 67Router" }]
|
|
17
|
+
});
|
|
18
|
+
console.log(res.choices[0].message.content);`;return l?(0,a.jsx)(d,{}):(0,a.jsxs)("div",{className:"flex flex-col gap-6 max-w-5xl mx-auto pb-12 select-none",children:[(0,a.jsxs)("div",{className:"border border-[#222226] bg-[#0F0F10]",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-5 py-3 border-b border-[#222226]",children:[(0,a.jsx)("h2",{className:"text-xs font-semibold text-[#F5F5F7] tracking-wider uppercase font-mono",children:"Endpoints"}),(0,a.jsxs)("span",{className:"text-[11px] text-[#10B981] font-mono flex items-center gap-1.5",children:[(0,a.jsx)("span",{className:"w-1.5 h-1.5 bg-[#10B981] inline-block"}),"ONLINE"]})]}),(0,a.jsxs)("div",{className:"divide-y divide-[#222226]",children:[(0,a.jsxs)("div",{className:"p-4 flex flex-col sm:flex-row sm:items-center justify-between gap-3",children:[(0,a.jsx)("span",{className:"text-xs font-mono text-[#A1A1A6] uppercase min-w-[120px]",children:"Local"}),(0,a.jsxs)("div",{className:"flex-1 flex items-center gap-2 min-w-0",children:[(0,a.jsx)("input",{type:"text",readOnly:!0,value:X,className:"flex-1 px-3 py-1.5 border border-[#222226] bg-[#080808] text-xs font-mono text-[#E5C378] select-all focus:outline-none"}),(0,a.jsx)("button",{onClick:()=>es(X,"local"),className:"px-3 py-1.5 border border-[#2E2E33] hover:border-[#C5A880] bg-[#141416] text-xs font-mono text-[#F5F5F7] transition-colors cursor-pointer shrink-0",children:"local"===ee?"COPIED":"COPY"})]})]}),(0,a.jsxs)("div",{className:"p-4 flex flex-col sm:flex-row sm:items-center justify-between gap-3",children:[(0,a.jsx)("span",{className:"text-xs font-mono text-[#A1A1A6] uppercase min-w-[120px]",children:"Cloudflare"}),(0,a.jsxs)("div",{className:"flex-1 flex items-center gap-2 min-w-0",children:[(0,a.jsx)("input",{type:"text",readOnly:!0,value:F&&(I||O)?`${I||O}/v1`:"Tunnel offline",className:"flex-1 px-3 py-1.5 border border-[#222226] bg-[#080808] text-xs font-mono text-[#A1A1A6] select-all focus:outline-none"}),F?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("button",{onClick:()=>es(`${I||O}/v1`,"tunnel"),className:"px-3 py-1.5 border border-[#2E2E33] hover:border-[#C5A880] bg-[#141416] text-xs font-mono text-[#F5F5F7] transition-colors cursor-pointer shrink-0",children:"tunnel"===ee?"COPIED":"COPY"}),(0,a.jsx)("button",{onClick:()=>q(!0),className:"px-3 py-1.5 border border-red-500/30 hover:border-red-500 text-xs font-mono text-red-400 transition-colors cursor-pointer shrink-0",children:"DISABLE"})]}):(0,a.jsx)("button",{onClick:()=>K(!0),className:"px-3 py-1.5 bg-[#E5C378] hover:bg-[#C5A880] text-[#080808] text-xs font-mono font-semibold transition-colors cursor-pointer shrink-0",children:"ENABLE"})]})]}),(0,a.jsxs)("div",{className:"p-4 flex flex-col sm:flex-row sm:items-center justify-between gap-3",children:[(0,a.jsx)("span",{className:"text-xs font-mono text-[#A1A1A6] uppercase min-w-[120px]",children:"Tailscale"}),(0,a.jsxs)("div",{className:"flex-1 flex items-center gap-2 min-w-0",children:[(0,a.jsx)("input",{type:"text",readOnly:!0,value:B&&U?`${U}/v1`:"Tailscale standby",className:"flex-1 px-3 py-1.5 border border-[#222226] bg-[#080808] text-xs font-mono text-[#A1A1A6] select-all focus:outline-none"}),B?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("button",{onClick:()=>es(`${U}/v1`,"ts"),className:"px-3 py-1.5 border border-[#2E2E33] hover:border-[#C5A880] bg-[#141416] text-xs font-mono text-[#F5F5F7] transition-colors cursor-pointer shrink-0",children:"ts"===ee?"COPIED":"COPY"}),(0,a.jsx)("button",{onClick:()=>Q(!0),className:"px-3 py-1.5 border border-red-500/30 hover:border-red-500 text-xs font-mono text-red-400 transition-colors cursor-pointer shrink-0",children:"DISABLE"})]}):(0,a.jsx)("button",{onClick:()=>M(!0),className:"px-3 py-1.5 border border-[#2E2E33] hover:border-[#C5A880] bg-[#141416] text-xs font-mono text-[#F5F5F7] transition-colors cursor-pointer shrink-0",children:"CONNECT"})]})]})]})]}),(0,a.jsxs)("div",{className:"border border-[#222226] bg-[#0F0F10]",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-5 py-3 border-b border-[#222226]",children:[(0,a.jsxs)("div",{className:"flex items-center gap-4",children:[(0,a.jsx)("h2",{className:"text-xs font-semibold text-[#F5F5F7] tracking-wider uppercase font-mono",children:"API Keys"}),(0,a.jsxs)("div",{className:"flex items-center gap-2 font-mono text-xs text-[#A1A1A6]",children:[(0,a.jsx)("span",{children:"Auth Required:"}),(0,a.jsx)(o.lM,{size:"sm",checked:N,onChange:()=>ea(!N)})]})]}),(0,a.jsx)("button",{onClick:()=>m(!0),className:"px-3 py-1.5 bg-[#E5C378] hover:bg-[#C5A880] text-[#080808] font-mono text-xs font-semibold uppercase transition-colors cursor-pointer",children:"+ Create Key"})]}),(0,a.jsx)("div",{className:"divide-y divide-[#222226]",children:0===s.length?(0,a.jsx)("div",{className:"p-8 text-center text-xs text-[#68686E] font-mono",children:"No API keys configured."}):s.map(e=>{var s;let t=V.has(e.id),r=!1===e.isActive;return(0,a.jsxs)("div",{className:`p-4 flex flex-col sm:flex-row sm:items-center justify-between gap-3 font-mono text-xs ${r?"opacity-50":""}`,children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("span",{className:"font-medium text-[#F5F5F7] min-w-[120px]",children:e.name}),(0,a.jsx)("code",{className:"text-[#A1A1A6] bg-[#080808] px-2 py-0.5 border border-[#222226]",children:t?e.key:(s=e.key)&&!(s.length<=10)?s.slice(0,6)+"••••••••••••"+s.slice(-4):s||""})]}),(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsxs)("button",{onClick:()=>{var s;return s=e.id,void W(e=>{let t=new Set(e);return t.has(s)?t.delete(s):t.add(s),t})},className:"inline-flex items-center gap-1 px-2.5 py-1 text-[11px] font-mono text-[#A1A1A6] hover:text-[#E5C378] bg-[#141416] hover:bg-[#1A1A1E] border border-[#23242A] hover:border-[#C5A880]/50 transition-all cursor-pointer",title:t?"Hide API key":"Show full API key",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[13px]",children:t?"visibility_off":"visibility"}),t?"Hide":"Show"]}),(0,a.jsxs)("button",{onClick:()=>es(e.key,e.id),className:"inline-flex items-center gap-1 px-2.5 py-1 text-[11px] font-mono text-[#A1A1A6] hover:text-[#E5C378] bg-[#141416] hover:bg-[#1A1A1E] border border-[#23242A] hover:border-[#C5A880]/50 transition-all cursor-pointer",title:"Copy API key",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[13px]",children:ee===e.id?"check":"content_copy"}),ee===e.id?"Copied":"Copy"]}),(0,a.jsxs)("button",{onClick:()=>ec(e.id,r),className:`inline-flex items-center gap-1 px-2.5 py-1 text-[11px] font-mono border transition-all cursor-pointer ${r?"text-[#10b981] bg-[#10b981]/10 border-[#10b981]/30 hover:bg-[#10b981]/20 hover:border-[#10b981]/60":"text-[#A1A1A6] hover:text-[#F5F5F7] bg-[#141416] hover:bg-[#1A1A1E] border-[#23242A] hover:border-[#353642]"}`,title:r?"Resume API key":"Pause API key",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[13px]",children:r?"play_arrow":"pause"}),r?"Resume":"Pause"]}),(0,a.jsx)("button",{onClick:()=>ei(e.id),className:"inline-flex items-center justify-center p-1.5 text-[#68686E] hover:text-[#FF6B6B] bg-[#141416] hover:bg-[#2A1517] border border-[#23242A] hover:border-[#522226] transition-all cursor-pointer ml-0.5",title:"Delete key",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"delete"})})]})]},e.id)})})]}),(0,a.jsxs)("div",{className:"border border-[#222226] bg-[#0F0F10]",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-5 py-3 border-b border-[#222226]",children:[(0,a.jsx)("h2",{className:"text-xs font-semibold text-[#F5F5F7] tracking-wider uppercase font-mono",children:"Example Request"}),(0,a.jsx)("div",{className:"flex items-center gap-1 font-mono text-xs",children:["curl","python","node"].map(e=>(0,a.jsx)("button",{onClick:()=>v(e),className:`px-2 py-0.5 text-xs uppercase cursor-pointer ${y===e?"text-[#E5C378] border-b border-[#E5C378]":"text-[#68686E] hover:text-[#A1A1A6]"}`,children:e},e))})]}),(0,a.jsxs)("div",{className:"p-4 bg-[#080808] relative font-mono text-xs text-[#E5C378] overflow-x-auto",children:[(0,a.jsx)("pre",{className:"whitespace-pre",children:ex()}),(0,a.jsx)("button",{onClick:()=>es(ex(),"harness"),className:"absolute top-3 right-3 px-2 py-1 border border-[#2E2E33] bg-[#141416] hover:border-[#C5A880] text-[11px] font-mono text-[#F5F5F7] cursor-pointer",children:"harness"===ee?"COPIED":"COPY"})]})]}),(0,a.jsx)(o.aF,{isOpen:p,title:"Create API Key",onClose:()=>{m(!1),u("")},children:(0,a.jsxs)("div",{className:"flex flex-col gap-4 font-mono text-xs",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-[#A1A1A6] block mb-1",children:"Key Name"}),(0,a.jsx)("input",{type:"text",value:b,onChange:e=>u(e.target.value),placeholder:"e.g. Production Key",className:"w-full px-3 py-2 border border-[#222226] bg-[#080808] text-xs text-[#F5F5F7] focus:border-[#C5A880] focus:outline-none"})]}),(0,a.jsxs)("div",{className:"flex gap-2 mt-2",children:[(0,a.jsx)("button",{onClick:eo,disabled:!b.trim(),className:"flex-1 py-2 bg-[#E5C378] hover:bg-[#C5A880] text-[#080808] font-bold uppercase cursor-pointer disabled:opacity-40",children:"Create"}),(0,a.jsx)("button",{onClick:()=>{m(!1),u("")},className:"px-4 py-2 border border-[#2E2E33] text-[#A1A1A6] uppercase cursor-pointer",children:"Cancel"})]})]})}),(0,a.jsx)(o.aF,{isOpen:!!h,title:"API Key Created",onClose:()=>f(null),children:(0,a.jsxs)("div",{className:"flex flex-col gap-4 font-mono text-xs",children:[(0,a.jsx)("p",{className:"text-amber-400",children:"Save this key now. It will not be shown again."}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("input",{type:"text",value:h||"",readOnly:!0,className:"flex-1 px-3 py-2 border border-[#222226] bg-[#080808] text-xs text-[#E5C378] select-all focus:outline-none"}),(0,a.jsx)("button",{onClick:()=>es(h,"created_key"),className:"px-3 py-2 bg-[#E5C378] text-[#080808] font-bold uppercase cursor-pointer shrink-0",children:"created_key"===ee?"COPIED":"COPY"})]}),(0,a.jsx)("button",{onClick:()=>f(null),className:"w-full py-2 border border-[#2E2E33] text-[#F5F5F7] uppercase cursor-pointer",children:"Done"})]})}),(0,a.jsx)(o.aF,{isOpen:R,title:"Enable Cloudflare Tunnel",onClose:()=>K(!1),children:(0,a.jsxs)("div",{className:"flex flex-col gap-4 font-mono text-xs",children:[(0,a.jsx)("p",{className:"text-[#A1A1A6]",children:"Expose your local 67Router gateway through a secure Cloudflare tunnel."}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{onClick:el,className:"flex-1 py-2 bg-[#E5C378] hover:bg-[#C5A880] text-[#080808] font-bold uppercase cursor-pointer",children:"Start Tunnel"}),(0,a.jsx)("button",{onClick:()=>K(!1),className:"px-4 py-2 border border-[#2E2E33] text-[#A1A1A6] uppercase cursor-pointer",children:"Cancel"})]})]})}),(0,a.jsx)(o.aF,{isOpen:_,title:"Disable Cloudflare Tunnel",onClose:()=>!D&&q(!1),children:(0,a.jsxs)("div",{className:"flex flex-col gap-4 font-mono text-xs",children:[(0,a.jsx)("p",{className:"text-[#A1A1A6]",children:"Disconnect the public tunnel endpoint?"}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{onClick:en,disabled:D,className:"flex-1 py-2 bg-red-600 hover:bg-red-700 text-white font-bold uppercase cursor-pointer",children:"Disable"}),(0,a.jsx)("button",{onClick:()=>q(!1),className:"px-4 py-2 border border-[#2E2E33] text-[#A1A1A6] uppercase cursor-pointer",children:"Cancel"})]})]})}),(0,a.jsx)(o.aF,{isOpen:z,title:"Connect Tailscale",onClose:()=>M(!1),children:(0,a.jsxs)("div",{className:"flex flex-col gap-4 font-mono text-xs",children:[(0,a.jsx)("p",{className:"text-[#A1A1A6]",children:"Connect node to your private Tailscale network."}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{onClick:()=>{L(!0),M(!1)},className:"flex-1 py-2 bg-[#E5C378] hover:bg-[#C5A880] text-[#080808] font-bold uppercase cursor-pointer",children:"Connect"}),(0,a.jsx)("button",{onClick:()=>M(!1),className:"px-4 py-2 border border-[#2E2E33] text-[#A1A1A6] uppercase cursor-pointer",children:"Cancel"})]})]})}),(0,a.jsx)(o.aF,{isOpen:G,title:"Disconnect Tailscale",onClose:()=>Q(!1),children:(0,a.jsxs)("div",{className:"flex flex-col gap-4 font-mono text-xs",children:[(0,a.jsx)("p",{className:"text-[#A1A1A6]",children:"Disconnect node from Tailscale network?"}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{onClick:()=>{L(!1),Q(!1)},className:"flex-1 py-2 bg-red-600 hover:bg-red-700 text-white font-bold uppercase cursor-pointer",children:"Disconnect"}),(0,a.jsx)("button",{onClick:()=>Q(!1),className:"px-4 py-2 border border-[#2E2E33] text-[#A1A1A6] uppercase cursor-pointer",children:"Cancel"})]})]})}),(0,a.jsx)(o.uo,{isOpen:!!j,onClose:()=>g(null),onConfirm:j?.onConfirm,title:j?.title||"Confirm",message:j?.message,variant:"danger"})]})}n().shape({id:n().string.isRequired,name:n().string,access:n().shape({restricted:n().bool,allow:n().arrayOf(n().string)})}).isRequired,n().func.isRequired,n().func.isRequired,x.propTypes={machineId:n().string.isRequired}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3521],{63521:(e,t,r)=>{r.r(t),r.d(t,{default:()=>g});var o=r(95155),s=r(12115),a=r(14051),i=r.n(a),n=r(81750),l=r(6793);r(53255);var c=r(88105),d=r(8247);function p({data:e}){let{label:t,color:r,imageUrl:a,textIcon:i,active:c}=e,[u,h]=(0,s.useState)(!1);return(0,o.jsxs)("div",{className:"flex items-center gap-2.5 px-3.5 py-2 border transition-all duration-300 bg-[#15151a]",style:{borderColor:c?r:"#2b2c36",boxShadow:c?`0 0 16px ${r}40`:"none",minWidth:"140px"},children:[(0,o.jsx)(n.h7,{type:"target",position:l.yX.Top,id:"top",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,o.jsx)(n.h7,{type:"target",position:l.yX.Bottom,id:"bottom",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,o.jsx)(n.h7,{type:"target",position:l.yX.Left,id:"left",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,o.jsx)(n.h7,{type:"target",position:l.yX.Right,id:"right",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,o.jsx)("div",{className:"w-7 h-7 flex items-center justify-center shrink-0",style:{backgroundColor:`${r}15`},children:a&&!u?(0,o.jsx)("img",{src:a,alt:t,className:"w-5 h-5 object-contain",loading:"lazy",decoding:"async",onError:()=>{let e=a?.match(/^\/providers\/([^/]+)\.png$/i);e&&(0,d.Kw)(e[1]),h(!0)}}):(0,o.jsx)("span",{className:"text-xs font-bold",style:{color:r},children:i})}),(0,o.jsx)("span",{className:"text-xs font-semibold truncate",style:{color:c?r:"#ededef"},children:t}),c&&(0,o.jsxs)("span",{className:"relative flex h-2 w-2 shrink-0 ml-auto",children:[(0,o.jsx)("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full opacity-75",style:{backgroundColor:r}}),(0,o.jsx)("span",{className:"relative inline-flex rounded-full h-2 w-2",style:{backgroundColor:r}})]})]})}function u({data:e}){let t=(e.activeCount||0)>0;return(0,o.jsxs)("div",{className:`relative z-[1] flex items-center justify-center px-4 py-2.5 border-2 min-w-[130px] transition-all ${t?"border-[#c5a880] bg-gradient-to-b from-[#1c1c24] to-[#14141a] shadow-lg shadow-[#c5a880]/20":"border-[#c5a880] bg-gradient-to-b from-[#1c1c24] to-[#14141a] shadow-md"}`,children:[(0,o.jsx)(n.h7,{type:"source",position:l.yX.Top,id:"top",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,o.jsx)(n.h7,{type:"source",position:l.yX.Bottom,id:"bottom",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,o.jsx)(n.h7,{type:"source",position:l.yX.Left,id:"left",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,o.jsx)(n.h7,{type:"source",position:l.yX.Right,id:"right",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,o.jsx)("img",{src:"/favicon.svg",alt:"67Router",className:`w-5 h-5 mr-2 ${t?"topology-router-icon":""}`,loading:"lazy",decoding:"async"}),(0,o.jsx)("span",{className:"text-xs font-bold text-[#c5a880] tracking-wide",children:"67Router Hub"}),e.activeCount>0&&(0,o.jsx)("span",{className:"ml-2 px-1.5 py-0.2 bg-[#c5a880]/20 text-[#c5a880] text-[10px] font-bold",children:e.activeCount})]})}function h({id:e,sourceX:t,sourceY:r,targetX:s,targetY:a,sourcePosition:i,targetPosition:c,style:d={},data:p}){let[u]=(0,l.Fp)({sourceX:t,sourceY:r,sourcePosition:i,targetX:s,targetY:a,targetPosition:c}),m=!!p?.active,f=d.stroke||"var(--color-border)",g=`topo-electric-${e}`;return m?(0,o.jsxs)("g",{className:"topology-edge-electric",children:[(0,o.jsx)("defs",{children:(0,o.jsxs)("filter",{id:g,x:"-40%",y:"-40%",width:"180%",height:"180%",children:[(0,o.jsx)("feTurbulence",{type:"fractalNoise",baseFrequency:"0.9",numOctaves:"2",seed:"2",result:"noise",children:(0,o.jsx)("animate",{attributeName:"baseFrequency",values:"0.8;1.4;0.8",dur:"0.25s",repeatCount:"indefinite"})}),(0,o.jsx)("feDisplacementMap",{in:"SourceGraphic",in2:"noise",scale:"3.5",xChannelSelector:"R",yChannelSelector:"G"})]})}),(0,o.jsx)("path",{d:u,fill:"none",stroke:"#22d3ee",strokeWidth:10,strokeOpacity:.35,strokeLinecap:"round",filter:`url(#${g})`,className:"topology-edge-halo"}),(0,o.jsx)("path",{d:u,fill:"none",stroke:"#4ade80",strokeWidth:5,strokeOpacity:.85,strokeLinecap:"round",filter:`url(#${g})`,className:"topology-edge-plasma"}),(0,o.jsx)(n.tE,{id:e,path:u,style:{stroke:"#f8fafc",strokeWidth:2.2,opacity:1},className:"topology-edge-kame"}),Array.from({length:6},(t,r)=>(0,o.jsx)("circle",{r:r%2==0?4:2.5,fill:r%3==0?"#fde047":r%3==1?"#67e8f9":"#fff",opacity:.95,style:{filter:"drop-shadow(0 0 4px #22d3ee)"},children:(0,o.jsx)("animateMotion",{dur:`${.4+.08*r}s`,repeatCount:"indefinite",path:u,begin:`${.09*r}s`})},`${e}-p-${r}`)),Array.from({length:5},(t,r)=>(0,o.jsxs)("circle",{r:1.8,fill:"#e0f2fe",opacity:0,children:[(0,o.jsx)("animate",{attributeName:"opacity",values:"0;1;0;0;1;0",dur:`${.35+r%3*.1}s`,begin:`${.07*r}s`,repeatCount:"indefinite"}),(0,o.jsx)("animateMotion",{dur:`${.28+.05*r}s`,repeatCount:"indefinite",path:u,begin:`${.11*r}s`})]},`${e}-s-${r}`))]}):(0,o.jsx)(n.tE,{id:e,path:u,style:{...d,stroke:f}})}p.propTypes={data:i().object.isRequired},u.propTypes={data:i().object.isRequired},h.propTypes={id:i().string,sourceX:i().number,sourceY:i().number,targetX:i().number,targetY:i().number,sourcePosition:i().string,targetPosition:i().string,style:i().object,data:i().object};let m={provider:p,router:u},f={topology:h};function g({providers:e=[],activeRequests:t=[],lastProvider:r="",errorProvider:a="",className:i=""}){let l=(0,s.useMemo)(()=>t.map(e=>e.provider?.toLowerCase()).filter(Boolean).sort().join(","),[t]),p=r?.toLowerCase()||"",u=a?.toLowerCase()||"",h=(0,s.useMemo)(()=>new Set(l?l.split(","):[]),[l]),b=(0,s.useMemo)(()=>new Set(p?[p]:[]),[p]),x=(0,s.useMemo)(()=>new Set(u?[u]:[]),[u]),y=(0,s.useRef)({}),[v,j]=(0,s.useState)(0);(0,s.useEffect)(()=>{let e=y.current,t=Date.now();for(let r of h)e[r]||(e[r]=t);for(let t of Object.keys(e))h.has(t)||delete e[t]},[h]),(0,s.useEffect)(()=>{if(0===h.size)return;let e=setInterval(()=>j(e=>e+1),1e3);return()=>clearInterval(e)},[h]);let w=(0,s.useMemo)(()=>{let e=Date.now(),t=new Set;for(let r of h){let o=y.current[r];(!o||e-o<6e4)&&t.add(r)}return t},[h,v]),{nodes:N,edges:k}=(0,s.useMemo)(()=>(function(e,t,r,o){let s=e.length,a=Math.max(320,204*s/(2*Math.PI)),i=Math.max(200,.55*a);if(0===s)return{nodes:[{id:"router",type:"router",position:{x:0,y:0},data:{activeCount:0},draggable:!1}],edges:[]};let n=[],l=[];return n.push({id:"router",type:"router",position:{x:-60,y:-22},data:{activeCount:t.size},draggable:!1}),e.forEach((e,p)=>{var u,h;let m,f,g=(u=e.provider,c.Q2[u]||{color:"#6b7280",name:u}),b=t.has(e.provider?.toLowerCase()),x=!b&&r.has(e.provider?.toLowerCase()),y=!b&&o.has(e.provider?.toLowerCase()),v=`provider-${e.provider}`,j={label:(g.name!==e.provider?g.name:null)||e.nodeName||e.name||e.provider,color:g.color||"#6b7280",imageUrl:(h=e.provider,(0,d.HY)(h)),textIcon:g.textIcon||(e.provider||"?").slice(0,2).toUpperCase(),active:b},w=-Math.PI/2+2*Math.PI*p/s,N=a*Math.cos(w),k=i*Math.sin(w);Math.abs(w+Math.PI/2)<Math.PI/4||Math.abs(w-3*Math.PI/2)<Math.PI/4?(m="top",f="bottom"):Math.abs(w-Math.PI/2)<Math.PI/4?(m="bottom",f="top"):N>0?(m="right",f="left"):(m="left",f="right"),n.push({id:v,type:"provider",position:{x:N-90,y:k-15},data:j,draggable:!1}),l.push({id:`e-${v}`,type:"topology",source:"router",sourceHandle:m,target:v,targetHandle:f,animated:!1,data:{active:b},style:y?{stroke:"#ef4444",strokeWidth:2.5,opacity:.9}:b?{stroke:"#22d3ee",strokeWidth:3.5,opacity:1}:x?{stroke:"#f59e0b",strokeWidth:2,opacity:.7}:{stroke:"var(--color-border)",strokeWidth:1,opacity:.3}})}),{nodes:n,edges:l}})(e,w,b,x),[e,w,b,x]),C=(0,s.useMemo)(()=>e.map(e=>e.provider).sort().join(","),[e]),M=(0,s.useRef)(null),$=(0,s.useRef)(null),I={padding:.2,duration:200},P=(0,s.useCallback)(e=>{M.current=e,setTimeout(()=>e.fitView(I),50)},[]);return(0,s.useEffect)(()=>{let e=$.current;if(!e)return;let t=new ResizeObserver(()=>{M.current&&M.current.fitView(I)});return t.observe(e),()=>t.disconnect()},[]),(0,s.useEffect)(()=>{if(M.current){let e=setTimeout(()=>M.current.fitView(I),50);return()=>clearTimeout(e)}},[N.length]),(0,o.jsx)("div",{ref:$,className:i||"h-[320px] w-full min-w-0 bg-transparent sm:h-[400px]",children:0===e.length?(0,o.jsx)("div",{className:"h-full flex items-center justify-center text-text-muted text-sm",children:"No providers connected"}):(0,o.jsx)(n.Gc,{nodes:N,edges:k,nodeTypes:m,edgeTypes:f,fitView:!0,fitViewOptions:I,minZoom:.1,maxZoom:2,onInit:P,proOptions:{hideAttribution:!0},panOnDrag:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!0,preventScrolling:!1,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!1,children:(0,o.jsx)(n.H2,{showInteractive:!1,className:"react-flow-controls-custom"})},C)})}g.propTypes={providers:i().arrayOf(i().shape({id:i().string,provider:i().string,name:i().string})),activeRequests:i().arrayOf(i().shape({provider:i().string,model:i().string,account:i().string})),lastProvider:i().string,errorProvider:i().string}}}]);
|