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 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2435],{82435:(e,t,s)=>{s.r(t),s.d(t,{default:()=>g});var r=s(95155),i=s(12115),o=s(14051),n=s.n(o),a=s(21742),l=s(48035),d=s(77496),c=s(32539),x=s(59656),m=s(97944),u=s(45639),p=s(67389),h=s(84588);let b=["#6366f1","#14b8a6","#f59e0b","#ef4444","#8b5cf6","#06b6d4","#10b981","#f97316"],f=e=>e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e||0);function g({byProvider:e}){let[t,s]=(0,i.useState)("tokens"),o=(0,i.useMemo)(()=>e?Object.entries(e).map(([e,t])=>({name:e,tokens:(t.promptTokens||0)+(t.completionTokens||0),requests:t.requests||0})).filter(e=>e[t]>0).sort((e,s)=>s[t]-e[t]):[],[e,t]),n="tokens"===t?f:String,k="tokens"===t?"Tokens":"Requests";return(0,r.jsxs)(h.default,{className:"flex min-w-0 flex-col gap-3 p-3 sm:p-4",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,r.jsx)("span",{className:"text-sm font-semibold text-text-muted uppercase tracking-wide",children:"By Provider"}),(0,r.jsxs)("div",{className:"grid grid-cols-2 items-center gap-1 rounded-lg border border-border bg-bg-subtle p-1",children:[(0,r.jsx)("button",{onClick:()=>s("tokens"),className:`px-2.5 py-0.5 rounded-md text-xs font-medium transition-colors ${"tokens"===t?"bg-primary text-white shadow-sm":"text-text-muted hover:text-text hover:bg-bg-hover"}`,children:"Tokens"}),(0,r.jsx)("button",{onClick:()=>s("requests"),className:`px-2.5 py-0.5 rounded-md text-xs font-medium transition-colors ${"requests"===t?"bg-primary text-white shadow-sm":"text-text-muted hover:text-text hover:bg-bg-hover"}`,children:"Requests"})]})]}),o.length?(0,r.jsx)(a.u,{width:"100%",height:180,children:(0,r.jsxs)(l.E,{data:o,margin:{top:4,right:8,left:0,bottom:4},children:[(0,r.jsx)(d.d,{strokeDasharray:"3 3",strokeOpacity:.1,vertical:!1}),(0,r.jsx)(c.W,{dataKey:"name",tick:{fontSize:10,fill:"currentColor",fillOpacity:.6},tickLine:!1,axisLine:!1,interval:0,tickFormatter:e=>e.length>10?e.slice(0,10)+"…":e}),(0,r.jsx)(x.h,{tick:{fontSize:10,fill:"currentColor",fillOpacity:.5},tickLine:!1,axisLine:!1,tickFormatter:n,width:44}),(0,r.jsx)(m.m,{contentStyle:{backgroundColor:"var(--color-bg)",border:"1px solid var(--color-border)",borderRadius:"8px",fontSize:"12px"},formatter:e=>[n(e),k]}),(0,r.jsx)(u.yP,{dataKey:t,radius:[4,4,0,0],children:o.map((e,t)=>(0,r.jsx)(p.f,{fill:b[t%b.length],fillOpacity:.85},t))})]})}):(0,r.jsx)("div",{className:"h-44 flex items-center justify-center text-text-muted text-sm",children:"No provider usage yet"})]})}g.propTypes={byProvider:n().object}}}]);
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2694],{52694:(e,t,s)=>{Promise.resolve().then(s.bind(s,57924))},57924:(e,t,s)=>{"use strict";s.d(t,{default:()=>x});var n=s(95155),o=s(12115),r=s(14051),l=s.n(r),a=s(35497),i=s(11059),c=s(72767);function x({machineId:e}){let[t,s]=(0,o.useState)([]),[r,l]=(0,o.useState)(!0),[d,p]=(0,o.useState)(!1),[u,m]=(0,o.useState)(""),[h,b]=(0,o.useState)(null),[f,y]=(0,o.useState)(null),[j,g]=(0,o.useState)("curl"),[C,N]=(0,o.useState)(!1),[A,v]=(0,o.useState)(!0),[k,w]=(0,o.useState)(!0),[E,F]=(0,o.useState)(!1),[S,O]=(0,o.useState)(""),[P,T]=(0,o.useState)(""),[I,D]=(0,o.useState)(!1),[$,R]=(0,o.useState)(!1),[K,q]=(0,o.useState)(!1),[L,U]=(0,o.useState)(!1),[_,B]=(0,o.useState)(""),[H,Y]=(0,o.useState)(!1),[J,z]=(0,o.useState)(!1),[M,G]=(0,o.useState)(!1),[Q,V]=(0,o.useState)(new Set),[W,X]=(0,o.useState)("/v1"),{copied:Z,copy:ee}=(0,i.C)(2e3);(0,o.useEffect)(()=>{X(`${window.location.origin}/v1`),en(),et()},[]);let et=async()=>{try{let[e,t]=await Promise.all([c.A.getState().fetchSettings(),fetch("/api/tunnel/status",{cache:"no-store"})]);if(e&&(N(e.requireApiKey||!1),v(!1!==e.requireLogin),w(e.hasPassword||!1)),t.ok){let e=await t.json();F(e.tunnel?.settingsEnabled??e.tunnel?.enabled??!1),O(e.tunnel?.tunnelUrl||""),T(e.tunnel?.publicUrl||""),U(e.tailscale?.settingsEnabled??e.tailscale?.enabled??!1),B(e.tailscale?.tunnelUrl||"")}}catch{}},es=async e=>{try{await c.A.getState().patchSettings({requireApiKey:e})&&N(e)}catch{}},en=async()=>{try{let e=await fetch("/api/keys");if(!e.ok)return;let t=(await e.json()).keys||[];if(0===t.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");t=(await e.json()).keys||[]}s(t)}catch{}finally{l(!1)}},eo=async()=>{R(!1),D(!0);try{let e=await fetch("/api/tunnel/enable",{method:"POST"}),t=await e.json();e.ok&&t.tunnelUrl&&(O(t.tunnelUrl),T(t.publicUrl||""),F(!0))}catch{}finally{D(!1)}},er=async()=>{D(!0);try{(await fetch("/api/tunnel/disable",{method:"POST"})).ok&&(F(!1),O(""),T(""),q(!1))}catch{}finally{D(!1)}},el=async()=>{if(u.trim())try{let e=await fetch("/api/keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:u})}),t=await e.json();e.ok&&(b(t.key),await en(),m(""),p(!1))}catch{}},ea=async e=>{y({title:"Revoke API Key",message:"Are you sure you want to delete this API key?",onConfirm:async()=>{y(null);try{(await fetch(`/api/keys/${e}`,{method:"DELETE"})).ok&&s(t.filter(t=>t.id!==e))}catch{}}})},ei=async(e,t)=>{try{(await fetch(`/api/keys/${e}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isActive:t})})).ok&&s(s=>s.map(s=>s.id===e?{...s,isActive:t}:s))}catch{}},ec=t.find(e=>!1!==e.isActive)?.key||"sk-67router-demo-token",ex=()=>"curl"===j?`curl ${W}/chat/completions \\
|
|
2
|
-
-H "Content-Type: application/json" \\
|
|
3
|
-
-H "Authorization: Bearer ${ec}" \\
|
|
4
|
-
-d '{"model": "claude-3-7-sonnet-20250219", "messages": [{"role": "user", "content": "Hello 67Router"}]}'`:"python"===j?`import openai
|
|
5
|
-
|
|
6
|
-
client = openai.OpenAI(base_url="${W}", api_key="${ec}")
|
|
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: "${W}", apiKey: "${ec}" });
|
|
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 r?(0,n.jsxs)("div",{className:"flex items-center gap-2 font-mono text-xs text-[#A1A1A6] py-12",children:[(0,n.jsx)("span",{className:"w-1.5 h-1.5 bg-[#C5A880]"}),(0,n.jsx)("span",{children:"Loading..."})]}):(0,n.jsxs)("div",{className:"flex flex-col gap-6 max-w-5xl mx-auto pb-12 select-none",children:[(0,n.jsxs)("div",{className:"border border-[#222226] bg-[#0F0F10]",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between px-5 py-3 border-b border-[#222226]",children:[(0,n.jsx)("h2",{className:"text-xs font-semibold text-[#F5F5F7] tracking-wider uppercase font-mono",children:"Endpoints"}),(0,n.jsxs)("span",{className:"text-[11px] text-[#10B981] font-mono flex items-center gap-1.5",children:[(0,n.jsx)("span",{className:"w-1.5 h-1.5 bg-[#10B981] inline-block"}),"ONLINE"]})]}),(0,n.jsxs)("div",{className:"divide-y divide-[#222226]",children:[(0,n.jsxs)("div",{className:"p-4 flex flex-col sm:flex-row sm:items-center justify-between gap-3",children:[(0,n.jsx)("span",{className:"text-xs font-mono text-[#A1A1A6] uppercase min-w-[120px]",children:"Local"}),(0,n.jsxs)("div",{className:"flex-1 flex items-center gap-2 min-w-0",children:[(0,n.jsx)("input",{type:"text",readOnly:!0,value:W,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,n.jsx)("button",{onClick:()=>ee(W,"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"===Z?"COPIED":"COPY"})]})]}),(0,n.jsxs)("div",{className:"p-4 flex flex-col sm:flex-row sm:items-center justify-between gap-3",children:[(0,n.jsx)("span",{className:"text-xs font-mono text-[#A1A1A6] uppercase min-w-[120px]",children:"Cloudflare"}),(0,n.jsxs)("div",{className:"flex-1 flex items-center gap-2 min-w-0",children:[(0,n.jsx)("input",{type:"text",readOnly:!0,value:E&&(P||S)?`${P||S}/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"}),E?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("button",{onClick:()=>ee(`${P||S}/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"===Z?"COPIED":"COPY"}),(0,n.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,n.jsx)("button",{onClick:()=>R(!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,n.jsxs)("div",{className:"p-4 flex flex-col sm:flex-row sm:items-center justify-between gap-3",children:[(0,n.jsx)("span",{className:"text-xs font-mono text-[#A1A1A6] uppercase min-w-[120px]",children:"Tailscale"}),(0,n.jsxs)("div",{className:"flex-1 flex items-center gap-2 min-w-0",children:[(0,n.jsx)("input",{type:"text",readOnly:!0,value:L&&_?`${_}/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"}),L?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("button",{onClick:()=>ee(`${_}/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"===Z?"COPIED":"COPY"}),(0,n.jsx)("button",{onClick:()=>G(!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,n.jsx)("button",{onClick:()=>z(!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,n.jsxs)("div",{className:"border border-[#222226] bg-[#0F0F10]",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between px-5 py-3 border-b border-[#222226]",children:[(0,n.jsxs)("div",{className:"flex items-center gap-4",children:[(0,n.jsx)("h2",{className:"text-xs font-semibold text-[#F5F5F7] tracking-wider uppercase font-mono",children:"API Keys"}),(0,n.jsxs)("div",{className:"flex items-center gap-2 font-mono text-xs text-[#A1A1A6]",children:[(0,n.jsx)("span",{children:"Auth Required:"}),(0,n.jsx)(a.lM,{size:"sm",checked:C,onChange:()=>es(!C)})]})]}),(0,n.jsx)("button",{onClick:()=>p(!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,n.jsx)("div",{className:"divide-y divide-[#222226]",children:0===t.length?(0,n.jsx)("div",{className:"p-8 text-center text-xs text-[#68686E] font-mono",children:"No API keys configured."}):t.map(e=>{var t;let s=Q.has(e.id),o=!1===e.isActive;return(0,n.jsxs)("div",{className:`p-4 flex flex-col sm:flex-row sm:items-center justify-between gap-3 font-mono text-xs ${o?"opacity-50":""}`,children:[(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)("span",{className:"font-medium text-[#F5F5F7] min-w-[120px]",children:e.name}),(0,n.jsx)("code",{className:"text-[#A1A1A6] bg-[#080808] px-2 py-0.5 border border-[#222226]",children:s?e.key:(t=e.key)&&!(t.length<=10)?t.slice(0,6)+"••••••••••••"+t.slice(-4):t||""})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("button",{onClick:()=>{var t;return t=e.id,void V(e=>{let s=new Set(e);return s.has(t)?s.delete(t):s.add(t),s})},className:"px-2 py-1 text-[11px] text-[#A1A1A6] hover:text-[#E5C378] cursor-pointer",children:s?"Hide":"Show"}),(0,n.jsx)("button",{onClick:()=>ee(e.key,e.id),className:"px-2 py-1 text-[11px] text-[#A1A1A6] hover:text-[#E5C378] cursor-pointer",children:Z===e.id?"Copied":"Copy"}),(0,n.jsx)("button",{onClick:()=>ei(e.id,o),className:"px-2 py-1 text-[11px] text-[#68686E] hover:text-[#F5F5F7] cursor-pointer",children:o?"Resume":"Pause"}),(0,n.jsx)("button",{onClick:()=>ea(e.id),className:"p-1 text-[#68686E] hover:text-red-400 cursor-pointer ml-1",title:"Delete key",children:(0,n.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"delete"})})]})]},e.id)})})]}),(0,n.jsxs)("div",{className:"border border-[#222226] bg-[#0F0F10]",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between px-5 py-3 border-b border-[#222226]",children:[(0,n.jsx)("h2",{className:"text-xs font-semibold text-[#F5F5F7] tracking-wider uppercase font-mono",children:"Example Request"}),(0,n.jsx)("div",{className:"flex items-center gap-1 font-mono text-xs",children:["curl","python","node"].map(e=>(0,n.jsx)("button",{onClick:()=>g(e),className:`px-2 py-0.5 text-xs uppercase cursor-pointer ${j===e?"text-[#E5C378] border-b border-[#E5C378]":"text-[#68686E] hover:text-[#A1A1A6]"}`,children:e},e))})]}),(0,n.jsxs)("div",{className:"p-4 bg-[#080808] relative font-mono text-xs text-[#E5C378] overflow-x-auto",children:[(0,n.jsx)("pre",{className:"whitespace-pre",children:ex()}),(0,n.jsx)("button",{onClick:()=>ee(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"===Z?"COPIED":"COPY"})]})]}),(0,n.jsx)(a.aF,{isOpen:d,title:"Create API Key",onClose:()=>{p(!1),m("")},children:(0,n.jsxs)("div",{className:"flex flex-col gap-4 font-mono text-xs",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"text-[#A1A1A6] block mb-1",children:"Key Name"}),(0,n.jsx)("input",{type:"text",value:u,onChange:e=>m(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,n.jsxs)("div",{className:"flex gap-2 mt-2",children:[(0,n.jsx)("button",{onClick:el,disabled:!u.trim(),className:"flex-1 py-2 bg-[#E5C378] hover:bg-[#C5A880] text-[#080808] font-bold uppercase cursor-pointer disabled:opacity-40",children:"Create"}),(0,n.jsx)("button",{onClick:()=>{p(!1),m("")},className:"px-4 py-2 border border-[#2E2E33] text-[#A1A1A6] uppercase cursor-pointer",children:"Cancel"})]})]})}),(0,n.jsx)(a.aF,{isOpen:!!h,title:"API Key Created",onClose:()=>b(null),children:(0,n.jsxs)("div",{className:"flex flex-col gap-4 font-mono text-xs",children:[(0,n.jsx)("p",{className:"text-amber-400",children:"Save this key now. It will not be shown again."}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.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,n.jsx)("button",{onClick:()=>ee(h,"created_key"),className:"px-3 py-2 bg-[#E5C378] text-[#080808] font-bold uppercase cursor-pointer shrink-0",children:"created_key"===Z?"COPIED":"COPY"})]}),(0,n.jsx)("button",{onClick:()=>b(null),className:"w-full py-2 border border-[#2E2E33] text-[#F5F5F7] uppercase cursor-pointer",children:"Done"})]})}),(0,n.jsx)(a.aF,{isOpen:$,title:"Enable Cloudflare Tunnel",onClose:()=>R(!1),children:(0,n.jsxs)("div",{className:"flex flex-col gap-4 font-mono text-xs",children:[(0,n.jsx)("p",{className:"text-[#A1A1A6]",children:"Expose your local 67Router gateway through a secure Cloudflare tunnel."}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)("button",{onClick:eo,className:"flex-1 py-2 bg-[#E5C378] hover:bg-[#C5A880] text-[#080808] font-bold uppercase cursor-pointer",children:"Start Tunnel"}),(0,n.jsx)("button",{onClick:()=>R(!1),className:"px-4 py-2 border border-[#2E2E33] text-[#A1A1A6] uppercase cursor-pointer",children:"Cancel"})]})]})}),(0,n.jsx)(a.aF,{isOpen:K,title:"Disable Cloudflare Tunnel",onClose:()=>!I&&q(!1),children:(0,n.jsxs)("div",{className:"flex flex-col gap-4 font-mono text-xs",children:[(0,n.jsx)("p",{className:"text-[#A1A1A6]",children:"Disconnect the public tunnel endpoint?"}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)("button",{onClick:er,disabled:I,className:"flex-1 py-2 bg-red-600 hover:bg-red-700 text-white font-bold uppercase cursor-pointer",children:"Disable"}),(0,n.jsx)("button",{onClick:()=>q(!1),className:"px-4 py-2 border border-[#2E2E33] text-[#A1A1A6] uppercase cursor-pointer",children:"Cancel"})]})]})}),(0,n.jsx)(a.aF,{isOpen:J,title:"Connect Tailscale",onClose:()=>z(!1),children:(0,n.jsxs)("div",{className:"flex flex-col gap-4 font-mono text-xs",children:[(0,n.jsx)("p",{className:"text-[#A1A1A6]",children:"Connect node to your private Tailscale network."}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)("button",{onClick:()=>{U(!0),z(!1)},className:"flex-1 py-2 bg-[#E5C378] hover:bg-[#C5A880] text-[#080808] font-bold uppercase cursor-pointer",children:"Connect"}),(0,n.jsx)("button",{onClick:()=>z(!1),className:"px-4 py-2 border border-[#2E2E33] text-[#A1A1A6] uppercase cursor-pointer",children:"Cancel"})]})]})}),(0,n.jsx)(a.aF,{isOpen:M,title:"Disconnect Tailscale",onClose:()=>G(!1),children:(0,n.jsxs)("div",{className:"flex flex-col gap-4 font-mono text-xs",children:[(0,n.jsx)("p",{className:"text-[#A1A1A6]",children:"Disconnect node from Tailscale network?"}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)("button",{onClick:()=>{U(!1),G(!1)},className:"flex-1 py-2 bg-red-600 hover:bg-red-700 text-white font-bold uppercase cursor-pointer",children:"Disconnect"}),(0,n.jsx)("button",{onClick:()=>G(!1),className:"px-4 py-2 border border-[#2E2E33] text-[#A1A1A6] uppercase cursor-pointer",children:"Cancel"})]})]})}),(0,n.jsx)(a.uo,{isOpen:!!f,onClose:()=>y(null),onConfirm:f?.onConfirm,title:f?.title||"Confirm",message:f?.message,variant:"danger"})]})}l().shape({id:l().string.isRequired,name:l().string,access:l().shape({restricted:l().bool,allow:l().arrayOf(l().string)})}).isRequired,l().func.isRequired,l().func.isRequired,x.propTypes={machineId:l().string.isRequired}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
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 d=r(88105),c=r(8247);function p({data:e}){let{label:t,color:r,imageUrl:a,textIcon:i,active:d}=e,[u,h]=(0,s.useState)(!1);return(0,o.jsxs)("div",{className:"flex items-center gap-2.5 px-4 py-2.5 rounded-lg border-2 transition-all duration-300 bg-bg",style:{borderColor:d?r:"var(--color-border)",boxShadow:d?`0 0 16px ${r}40`:"none",minWidth:"150px"},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-8 h-8 rounded-md flex items-center justify-center shrink-0",style:{backgroundColor:`${r}15`},children:a&&!u?(0,o.jsx)("img",{src:a,alt:t,className:"w-6 h-6 rounded-sm object-contain",loading:"lazy",decoding:"async",onError:()=>{let e=a?.match(/^\/providers\/([^/]+)\.png$/i);e&&(0,c.Kw)(e[1]),h(!0)}}):(0,o.jsx)("span",{className:"text-sm font-bold",style:{color:r},children:i})}),(0,o.jsx)("span",{className:"text-base font-medium truncate",style:{color:d?r:"var(--color-text)"},children:t}),d&&(0,o.jsxs)("span",{className:"relative flex h-2 w-2 shrink-0",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-5 py-3 rounded-xl border-2 min-w-[130px] ${t?"topology-router-core border-yellow-300 bg-gradient-to-br from-primary/30 via-yellow-400/20 to-cyan-400/25":"border-primary bg-primary/5 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:"9Router",className:`w-6 h-6 mr-2 ${t?"topology-router-icon":""}`,loading:"lazy",decoding:"async"}),(0,o.jsx)("span",{className:`text-sm font-bold ${t?"topology-router-label text-yellow-300":"text-primary"}`,children:"9Router"}),e.activeCount>0&&(0,o.jsx)("span",{className:"ml-2 px-1.5 py-0.5 rounded-full bg-yellow-400 text-black text-xs font-bold topology-router-badge",children:e.activeCount})]})}function h({id:e,sourceX:t,sourceY:r,targetX:s,targetY:a,sourcePosition:i,targetPosition:d,style:c={},data:p}){let[u]=(0,l.Fp)({sourceX:t,sourceY:r,sourcePosition:i,targetX:s,targetY:a,targetPosition:d}),m=!!p?.active,f=c.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:{...c,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=""}){let i=(0,s.useMemo)(()=>t.map(e=>e.provider?.toLowerCase()).filter(Boolean).sort().join(","),[t]),l=r?.toLowerCase()||"",p=a?.toLowerCase()||"",u=(0,s.useMemo)(()=>new Set(i?i.split(","):[]),[i]),h=(0,s.useMemo)(()=>new Set(l?[l]:[]),[l]),b=(0,s.useMemo)(()=>new Set(p?[p]:[]),[p]),y=(0,s.useRef)({}),[x,v]=(0,s.useState)(0);(0,s.useEffect)(()=>{let e=y.current,t=Date.now();for(let r of u)e[r]||(e[r]=t);for(let t of Object.keys(e))u.has(t)||delete e[t]},[u]),(0,s.useEffect)(()=>{if(0===u.size)return;let e=setInterval(()=>v(e=>e+1),1e3);return()=>clearInterval(e)},[u]);let j=(0,s.useMemo)(()=>{let e=Date.now(),t=new Set;for(let r of u){let o=y.current[r];(!o||e-o<6e4)&&t.add(r)}return t},[u,x]),{nodes:w,edges:N}=(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,d.Q2[u]||{color:"#6b7280",name:u}),b=t.has(e.provider?.toLowerCase()),y=!b&&r.has(e.provider?.toLowerCase()),x=!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,c.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:x?{stroke:"#ef4444",strokeWidth:2.5,opacity:.9}:b?{stroke:"#22d3ee",strokeWidth:3.5,opacity:1}:y?{stroke:"#f59e0b",strokeWidth:2,opacity:.7}:{stroke:"var(--color-border)",strokeWidth:1,opacity:.3}})}),{nodes:n,edges:l}})(e,j,h,b),[e,j,h,b]),k=(0,s.useMemo)(()=>e.map(e=>e.provider).sort().join(","),[e]),C=(0,s.useRef)(null),M=(0,s.useRef)(null),$={padding:.2,duration:200},I=(0,s.useCallback)(e=>{C.current=e,setTimeout(()=>e.fitView($),50)},[]);return(0,s.useEffect)(()=>{let e=M.current;if(!e)return;let t=new ResizeObserver(()=>{C.current&&C.current.fitView($)});return t.observe(e),()=>t.disconnect()},[]),(0,s.useEffect)(()=>{if(C.current){let e=setTimeout(()=>C.current.fitView($),50);return()=>clearTimeout(e)}},[w.length]),(0,o.jsx)("div",{ref:M,className:"h-[320px] w-full min-w-0 rounded-lg border border-border bg-bg-subtle/30 sm:h-[480px]",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:w,edges:N,nodeTypes:m,edgeTypes:f,fitView:!0,fitViewOptions:$,minZoom:.1,maxZoom:2,onInit:I,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"})},k)})}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}}}]);
|