@techysy/10router 1.1.3 → 1.2.1
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/LICENSE +1 -1
- package/README.md +57 -0
- package/README.zh-CN.md +49 -0
- package/app/.next-cli-build/BUILD_ID +1 -1
- package/app/.next-cli-build/app-path-routes-manifest.json +11 -8
- package/app/.next-cli-build/build-manifest.json +3 -3
- package/app/.next-cli-build/prerender-manifest.json +51 -23
- package/app/.next-cli-build/react-loadable-manifest.json +1 -1
- package/app/.next-cli-build/routes-manifest.json +18 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/experimental/page.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/experimental/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/experimental/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +6 -6
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error/page.js +2 -2
- package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error.html +1 -1
- package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
- package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_not-found.html +1 -1
- package/app/.next-cli-build/server/app/_not-found.rsc +18 -17
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +18 -17
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +10 -9
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
- 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 +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 +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 +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 +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 +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 +2 -2
- 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 +2 -2
- 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 +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 +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 +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/auth/verify-password/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/verify-password/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +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 +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +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/codex-settings/route.js +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 +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
- 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 +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 +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +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 +2 -2
- 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 +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/openclaw-settings/route.js +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 +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/combos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/extras/route.js +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 +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 +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 +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 +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 +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 +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 +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 +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/rotate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/keys/rotate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/route.js +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 +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 +2 -2
- 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 +2 -2
- 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 +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +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 +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/availability/route.js +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/caps/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/caps/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/bulk/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/bulk/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/network/egress-region/route.js +1 -1
- package/app/.next-cli-build/server/app/api/network/egress-region/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/codebuddy-cn/bulk-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/checkin/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/checkin/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/export/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/export/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 +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/qoder/checkin/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/qoder/checkin/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/qoder-cn/checkin/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/qoder-cn/checkin/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/transfer/export/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/transfer/export/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/transfer/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/transfer/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js +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 +2 -2
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pricing/route.js +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 +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +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 +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 +2 -2
- 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 +2 -2
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/route.js +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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/security/status/route.js +1 -0
- package/app/.next-cli-build/server/app/api/security/status/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/security/status/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/settings/database/import-usage/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/import-usage/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +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 +1 -1
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/shutdown/route.js +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 +1 -1
- package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
- 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 +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 +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 +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 +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 +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 +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 +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 +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +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 +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/dashboard/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/dashboard/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/history/route.js +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 +1 -1
- package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/quotas/route.js +1 -0
- package/app/.next-cli-build/server/app/api/usage/quotas/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/usage/quotas/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/usage/request-details/route.js +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 +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 +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 +1 -1
- package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +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 +2 -2
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js +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/videos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/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 +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 +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 +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 +22 -21
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +22 -21
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +10 -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 +20 -19
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +12 -11
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +20 -19
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +21 -20
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +12 -11
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +21 -20
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.rsc +23 -22
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +12 -11
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +23 -22
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +21 -20
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +12 -11
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +21 -20
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/experimental.html +1 -0
- package/app/.next-cli-build/server/app/dashboard/experimental.meta +36 -0
- package/app/.next-cli-build/server/app/dashboard/experimental.rsc +23 -0
- package/app/.next-cli-build/server/app/dashboard/experimental.segments/!KGRhc2hib2FyZCk/dashboard/experimental/__PAGE__.segment.rsc +31 -0
- package/app/.next-cli-build/server/app/dashboard/experimental.segments/_full.segment.rsc +23 -0
- package/app/.next-cli-build/server/app/dashboard/experimental.segments/_tree.segment.rsc +3 -0
- 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 +23 -22
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +12 -11
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +23 -22
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.rsc +20 -19
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +12 -11
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +20 -19
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.rsc +23 -22
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +12 -11
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +23 -22
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +23 -22
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +12 -11
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +23 -22
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.rsc +23 -22
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +12 -11
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +23 -22
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +23 -22
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +12 -11
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +23 -22
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +20 -19
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +12 -11
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +20 -19
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.rsc +21 -20
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +13 -12
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +21 -20
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +22 -21
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +22 -21
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +11 -10
- package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.rsc +23 -22
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +12 -11
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +23 -22
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +20 -19
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +12 -11
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +20 -19
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.rsc +23 -22
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +12 -11
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +23 -22
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.rsc +23 -22
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +12 -11
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +23 -22
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/app/.next-cli-build/server/app/dashboard.rsc +21 -20
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +12 -11
- package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +21 -20
- package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
- 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 +17 -16
- package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +10 -9
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +17 -16
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/landing/page.js +1 -1
- package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/landing.html +1 -1
- package/app/.next-cli-build/server/app/landing.rsc +22 -21
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +22 -21
- package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +11 -10
- package/app/.next-cli-build/server/app/login/page.js +1 -1
- package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/login.html +1 -1
- package/app/.next-cli-build/server/app/login.rsc +22 -21
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +22 -21
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +11 -10
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page.js +1 -1
- package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app-paths-manifest.json +11 -8
- package/app/.next-cli-build/server/chunks/112.js +1 -0
- package/app/.next-cli-build/server/chunks/1219.js +4 -0
- package/app/.next-cli-build/server/chunks/1261.js +1 -0
- package/app/.next-cli-build/server/chunks/1330.js +1 -0
- package/app/.next-cli-build/server/chunks/1710.js +6 -0
- package/app/.next-cli-build/server/chunks/2112.js +1 -1
- package/app/.next-cli-build/server/chunks/2120.js +1 -1
- package/app/.next-cli-build/server/chunks/2132.js +1 -1
- package/app/.next-cli-build/server/chunks/2182.js +9 -0
- package/app/.next-cli-build/server/chunks/241.js +1 -1
- package/app/.next-cli-build/server/chunks/271.js +1 -0
- package/app/.next-cli-build/server/chunks/2812.js +2 -0
- package/app/.next-cli-build/server/chunks/2926.js +1 -0
- package/app/.next-cli-build/server/chunks/3245.js +1 -0
- package/app/.next-cli-build/server/chunks/3256.js +1 -0
- package/app/.next-cli-build/server/chunks/3433.js +120 -0
- package/app/.next-cli-build/server/chunks/3593.js +1 -1
- package/app/.next-cli-build/server/chunks/3651.js +3 -3
- package/app/.next-cli-build/server/chunks/3792.js +1 -0
- package/app/.next-cli-build/server/chunks/3885.js +1 -0
- package/app/.next-cli-build/server/chunks/3943.js +1 -1
- package/app/.next-cli-build/server/chunks/4123.js +2 -2
- package/app/.next-cli-build/server/chunks/4125.js +1 -1
- package/app/.next-cli-build/server/chunks/{9927.js → 4177.js} +1 -1
- package/app/.next-cli-build/server/chunks/4282.js +1 -0
- package/app/.next-cli-build/server/chunks/4293.js +1 -1
- package/app/.next-cli-build/server/chunks/4575.js +1 -0
- package/app/.next-cli-build/server/chunks/4739.js +1 -1
- package/app/.next-cli-build/server/chunks/4746.js +1 -0
- package/app/.next-cli-build/server/chunks/4780.js +1 -1
- package/app/.next-cli-build/server/chunks/4803.js +9 -0
- package/app/.next-cli-build/server/chunks/4927.js +85 -0
- package/app/.next-cli-build/server/chunks/4990.js +9 -0
- package/app/.next-cli-build/server/chunks/507.js +1 -1
- package/app/.next-cli-build/server/chunks/5182.js +1 -1
- package/app/.next-cli-build/server/chunks/5210.js +304 -0
- package/app/.next-cli-build/server/chunks/5258.js +2 -2
- package/app/.next-cli-build/server/chunks/5330.js +6 -6
- package/app/.next-cli-build/server/chunks/539.js +1 -0
- package/app/.next-cli-build/server/chunks/5433.js +1 -1
- package/app/.next-cli-build/server/chunks/5485.js +1 -1
- package/app/.next-cli-build/server/chunks/5615.js +1 -1
- package/app/.next-cli-build/server/chunks/5692.js +5 -0
- package/app/.next-cli-build/server/chunks/5781.js +2 -2
- package/app/.next-cli-build/server/chunks/595.js +1 -1
- package/app/.next-cli-build/server/chunks/6070.js +1 -1
- package/app/.next-cli-build/server/chunks/6103.js +1 -0
- package/app/.next-cli-build/server/chunks/6133.js +6 -0
- package/app/.next-cli-build/server/chunks/615.js +1 -1
- package/app/.next-cli-build/server/chunks/6252.js +9 -0
- package/app/.next-cli-build/server/chunks/6306.js +1 -1
- package/app/.next-cli-build/server/chunks/6326.js +1 -1
- package/app/.next-cli-build/server/chunks/6457.js +1 -4
- package/app/.next-cli-build/server/chunks/6492.js +1 -0
- package/app/.next-cli-build/server/chunks/653.js +1 -1
- package/app/.next-cli-build/server/chunks/6756.js +1 -1
- package/app/.next-cli-build/server/chunks/6763.js +1 -1
- package/app/.next-cli-build/server/chunks/6875.js +1 -0
- package/app/.next-cli-build/server/chunks/6947.js +1 -0
- package/app/.next-cli-build/server/chunks/6956.js +1 -0
- package/app/.next-cli-build/server/chunks/6960.js +2 -2
- package/app/.next-cli-build/server/chunks/698.js +1 -1
- package/app/.next-cli-build/server/chunks/6982.js +1 -0
- package/app/.next-cli-build/server/chunks/7067.js +1 -1
- package/app/.next-cli-build/server/chunks/7122.js +1 -1
- package/app/.next-cli-build/server/chunks/7239.js +4 -4
- package/app/.next-cli-build/server/chunks/7247.js +1 -1
- package/app/.next-cli-build/server/chunks/7274.js +15 -8
- package/app/.next-cli-build/server/chunks/7322.js +1 -1
- package/app/.next-cli-build/server/chunks/7568.js +1 -0
- package/app/.next-cli-build/server/chunks/7726.js +1 -0
- package/app/.next-cli-build/server/chunks/7753.js +1 -0
- package/app/.next-cli-build/server/chunks/7775.js +1 -0
- package/app/.next-cli-build/server/chunks/7965.js +1 -1
- package/app/.next-cli-build/server/chunks/8062.js +9 -0
- package/app/.next-cli-build/server/chunks/808.js +1 -1
- package/app/.next-cli-build/server/chunks/8172.js +1 -0
- package/app/.next-cli-build/server/chunks/8469.js +9 -0
- package/app/.next-cli-build/server/chunks/8499.js +2 -2
- package/app/.next-cli-build/server/chunks/8520.js +1 -1
- package/app/.next-cli-build/server/chunks/8595.js +1 -0
- package/app/.next-cli-build/server/chunks/8658.js +1 -0
- package/app/.next-cli-build/server/chunks/8672.js +1 -0
- package/app/.next-cli-build/server/chunks/8689.js +1 -0
- package/app/.next-cli-build/server/chunks/869.js +1 -1
- package/app/.next-cli-build/server/chunks/8749.js +44 -0
- package/app/.next-cli-build/server/chunks/8838.js +1 -1
- package/app/.next-cli-build/server/chunks/8895.js +10 -7
- package/app/.next-cli-build/server/chunks/8920.js +1 -1
- package/app/.next-cli-build/server/chunks/9046.js +1 -0
- package/app/.next-cli-build/server/chunks/9154.js +1 -0
- package/app/.next-cli-build/server/chunks/9489.js +7 -0
- package/app/.next-cli-build/server/chunks/9539.js +9 -0
- package/app/.next-cli-build/server/chunks/9609.js +1 -1
- package/app/.next-cli-build/server/chunks/9628.js +1 -0
- package/app/.next-cli-build/server/instrumentation.js +1 -1
- package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware.js +8 -8
- package/app/.next-cli-build/server/middleware.js.nft.json +1 -1
- package/app/.next-cli-build/server/pages/404.html +1 -1
- package/app/.next-cli-build/server/pages/500.html +1 -1
- package/app/.next-cli-build/server/prefetch-hints.json +24 -0
- package/app/.next-cli-build/static/Qmgbf1CsCnKFbpB4QvL8M/_buildManifest.js +1 -0
- package/app/.next-cli-build/static/chunks/1243-d0e0b9458266e912.js +3 -0
- package/app/.next-cli-build/static/chunks/1321-502b5305b875636f.js +1 -0
- package/app/.next-cli-build/static/chunks/{3346-0ae97d50d86ac1f7.js → 3346-509e8dd58ea4832d.js} +7 -7
- package/app/.next-cli-build/static/chunks/{3521.3c9be8ed83af460d.js → 3521.3107c4bff48fe566.js} +1 -1
- package/app/.next-cli-build/static/chunks/5497-10ab12f860a6a157.js +7 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-fa4ba47a6bf0da15.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/experimental/page-4dd5e46a2d6f4486.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-9ca09f92fcb7be9f.js +59 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-9a471accf206ea43.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-a2510813ebd64f72.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-93f4c31ccd56a895.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-d3edcb35175434d5.js +14 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-9ec9a9251e22a7c8.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/pxpipe/page-e84b8de5542a9dc9.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-f62700ce9aa54572.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-7833d8a884ba922a.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-158175db070fe14c.js → layout-434f2e27f8b21ae1.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/_global-error/page-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/login/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/status/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/verify-password/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/health/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/init/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/rotate/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/locale/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/alias/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/availability/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/caps/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/custom/bulk/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/custom/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/test/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/network/egress-region/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/checkin/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/export/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/qoder/checkin/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/qoder-cn/checkin/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/transfer/export/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/transfer/import/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pricing/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/client/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/security/status/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/database/import-usage/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/database/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/shutdown/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tags/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/load/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/save/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/send/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/dashboard/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/history/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/quotas/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/search/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/update/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/{page-9170ddf38e76b3cf.js → page-3659ea13d950adc1.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/landing/page-acb1434862d18ac7.js +1 -0
- package/app/.next-cli-build/static/chunks/app/layout-ba8ee035fd3fda5f.js +1 -0
- package/app/.next-cli-build/static/chunks/app/login/page-38ed66b1e6930f46.js +1 -0
- package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/app/page-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-72924bfdaa66606d.js +1 -0
- package/app/.next-cli-build/static/chunks/{webpack-77a7ed7beb6725df.js → webpack-b43a2a1c513882e9.js} +1 -1
- package/app/.next-cli-build/static/css/7a3e1568f247f3d0.css +1 -0
- package/app/.next-cli-build/static/css/ab87cc8491e8d0fb.css +1 -0
- package/app/custom-server.js +8 -8
- package/app/package.json +1 -1
- package/app/public/i18n/changelog/en.md +72 -0
- package/app/public/i18n/changelog/zh-CN.md +72 -0
- package/app/public/i18n/changelog/zh-TW.md +72 -0
- package/app/public/i18n/literals/ar.json +4 -4
- package/app/public/i18n/literals/bn.json +4 -4
- package/app/public/i18n/literals/cs.json +4 -4
- package/app/public/i18n/literals/da.json +4 -4
- package/app/public/i18n/literals/de.json +4 -4
- package/app/public/i18n/literals/el.json +4 -4
- package/app/public/i18n/literals/es.json +4 -4
- package/app/public/i18n/literals/fa.json +31 -34
- package/app/public/i18n/literals/fi.json +4 -4
- package/app/public/i18n/literals/fr.json +4 -4
- package/app/public/i18n/literals/he.json +4 -4
- package/app/public/i18n/literals/hi.json +4 -4
- package/app/public/i18n/literals/hu.json +4 -4
- package/app/public/i18n/literals/id.json +4 -4
- package/app/public/i18n/literals/it.json +4 -4
- package/app/public/i18n/literals/ja.json +4 -4
- package/app/public/i18n/literals/km.json +31 -34
- package/app/public/i18n/literals/ko.json +4 -4
- package/app/public/i18n/literals/nl.json +4 -4
- package/app/public/i18n/literals/no.json +4 -4
- package/app/public/i18n/literals/pl.json +4 -4
- package/app/public/i18n/literals/pt-BR.json +12 -12
- package/app/public/i18n/literals/pt-PT.json +4 -4
- package/app/public/i18n/literals/ro.json +4 -4
- package/app/public/i18n/literals/ru.json +4 -4
- package/app/public/i18n/literals/sv.json +4 -4
- package/app/public/i18n/literals/th.json +31 -34
- package/app/public/i18n/literals/tl.json +4 -4
- package/app/public/i18n/literals/tr.json +4 -4
- package/app/public/i18n/literals/uk.json +4 -4
- package/app/public/i18n/literals/ur.json +4 -4
- package/app/public/i18n/literals/vi.json +4 -4
- package/app/public/i18n/literals/zh-CN.json +1879 -1792
- package/app/public/i18n/literals/zh-TW.json +720 -612
- package/app/public/providers/mimo-desktop.png +0 -0
- package/app/public/providers/stepfun.png +0 -0
- package/app/public/providers/xiaomi-tokenplan.png +0 -0
- package/app/src/lib/db/adapters/betterSqliteAdapter.js +6 -2
- package/app/src/lib/db/migrate.js +5 -2
- package/app/src/lib/oauth/xiaomiIdentity.js +50 -41
- package/app/src/lib/updater/updater.js +95 -5
- package/app/src/mitm/server.js +14 -14
- package/app/src/sse/services/qoderCheckin.js +32 -4
- package/cli.js +100 -10
- package/hooks/postinstall.js +11 -1
- package/hooks/sqliteRuntime.js +27 -9
- package/hooks/trayRuntime.js +5 -2
- package/package.json +11 -2
- package/src/cli/api/client.js +9 -2
- package/src/cli/doctor.js +525 -0
- package/src/cli/i18n/locales/en/core.json +42 -2
- package/src/cli/i18n/locales/en/settings.json +3 -3
- package/src/cli/i18n/locales/zh-CN/core.json +42 -2
- package/src/cli/i18n/locales/zh-CN/settings.json +3 -3
- package/src/cli/i18n/locales/zh-TW/core.json +42 -2
- package/src/cli/i18n/locales/zh-TW/settings.json +3 -3
- package/src/cli/menus/settings.js +27 -9
- package/src/cli/staleServer.js +216 -0
- package/app/.next-cli-build/server/chunks/1260.js +0 -1
- package/app/.next-cli-build/server/chunks/1281.js +0 -1
- package/app/.next-cli-build/server/chunks/1377.js +0 -1
- package/app/.next-cli-build/server/chunks/2179.js +0 -1
- package/app/.next-cli-build/server/chunks/3007.js +0 -1
- package/app/.next-cli-build/server/chunks/3662.js +0 -1
- package/app/.next-cli-build/server/chunks/3962.js +0 -1
- package/app/.next-cli-build/server/chunks/4037.js +0 -1
- package/app/.next-cli-build/server/chunks/4055.js +0 -9
- package/app/.next-cli-build/server/chunks/4862.js +0 -1
- package/app/.next-cli-build/server/chunks/4985.js +0 -1
- package/app/.next-cli-build/server/chunks/5217.js +0 -9
- package/app/.next-cli-build/server/chunks/6212.js +0 -1
- package/app/.next-cli-build/server/chunks/6360.js +0 -1
- package/app/.next-cli-build/server/chunks/6520.js +0 -1
- package/app/.next-cli-build/server/chunks/6871.js +0 -1
- package/app/.next-cli-build/server/chunks/7180.js +0 -6
- package/app/.next-cli-build/server/chunks/8145.js +0 -1
- package/app/.next-cli-build/server/chunks/8546.js +0 -1
- package/app/.next-cli-build/server/chunks/8635.js +0 -7
- package/app/.next-cli-build/server/chunks/8910.js +0 -2
- package/app/.next-cli-build/server/chunks/8990.js +0 -1
- package/app/.next-cli-build/server/chunks/9251.js +0 -1
- package/app/.next-cli-build/server/chunks/9713.js +0 -1
- package/app/.next-cli-build/server/chunks/9896.js +0 -1
- package/app/.next-cli-build/static/chunks/1243-220f1fd87235cb92.js +0 -3
- package/app/.next-cli-build/static/chunks/1321-3c120e93be69e929.js +0 -1
- package/app/.next-cli-build/static/chunks/5497-6254f96ca64b6030.js +0 -7
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-395c2359af9bc2a9.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-b0d4fedb7b84fe8a.js +0 -59
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-502e7efb917191b9.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-720b5ab2e46fc6bb.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-4b4f1e8dd8aa7e92.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-6550d226457d7487.js +0 -14
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-5038d14b38d853a5.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/pxpipe/page-5f5434b22c7f7b73.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-2650e9a5b8e872ce.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-27bf96f0f2568f09.js +0 -1
- package/app/.next-cli-build/static/chunks/app/_global-error/page-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/login/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/status/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/verify-password/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/health/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/init/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/keys/rotate/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/keys/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/locale/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/alias/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/availability/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/caps/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/custom/bulk/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/custom/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/test/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/network/egress-region/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/checkin/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/export/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/qoder/checkin/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/qoder-cn/checkin/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/transfer/export/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/transfer/import/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pricing/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/client/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/database/import-usage/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/database/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/shutdown/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tags/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/load/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/save/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/send/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/dashboard/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/history/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/search/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/update/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/landing/page-3c92a951f3cc5eee.js +0 -1
- package/app/.next-cli-build/static/chunks/app/layout-034acae46f56c420.js +0 -1
- package/app/.next-cli-build/static/chunks/app/login/page-0da5fcc5d841cbb9.js +0 -1
- package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/app/page-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-dc2c34db3b327370.js +0 -1
- package/app/.next-cli-build/static/css/822bb46e0ce1f8af.css +0 -1
- package/app/.next-cli-build/static/css/8f9ac5a7bd3a79e5.css +0 -1
- package/app/.next-cli-build/static/ywoOd9C5swOj24BZAUkYk/_buildManifest.js +0 -1
- /package/app/.next-cli-build/static/{ywoOd9C5swOj24BZAUkYk → Qmgbf1CsCnKFbpB4QvL8M}/_ssgManifest.js +0 -0
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -96,11 +96,68 @@ That's it! Start coding with FREE AI models.
|
|
|
96
96
|
10router --port 8080 # Custom port
|
|
97
97
|
10router --no-browser # Don't open browser
|
|
98
98
|
10router --skip-update # Skip auto-update check
|
|
99
|
+
10router --tray # Run in the system tray
|
|
100
|
+
10router --no-tray # Serve without a tray icon (headless)
|
|
99
101
|
10router --help # Show all options
|
|
100
102
|
```
|
|
101
103
|
|
|
102
104
|
**Dashboard**: `http://localhost:20128/dashboard`
|
|
103
105
|
|
|
106
|
+
### Running headless (nohup / systemd)
|
|
107
|
+
|
|
108
|
+
With no terminal attached, `10router` ignores `SIGHUP`: closing the terminal or
|
|
109
|
+
logging out no longer takes the gateway down, so a background start survives the
|
|
110
|
+
shell that launched it. Add `--no-tray` when there is no desktop to draw an icon
|
|
111
|
+
on (a server, a container, a systemd unit) so the launcher does not spend startup
|
|
112
|
+
on a tray it cannot create; `--no-browser` skips the browser it also cannot open:
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
# keep serving after the shell exits
|
|
116
|
+
nohup 10router --no-tray --no-browser >~/.10router/10router.log 2>&1 &
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
```ini
|
|
120
|
+
# ~/.config/systemd/user/10router.service
|
|
121
|
+
[Unit]
|
|
122
|
+
Description=10Router gateway
|
|
123
|
+
After=network-online.target
|
|
124
|
+
|
|
125
|
+
[Service]
|
|
126
|
+
ExecStart=%h/.local/share/npm/bin/10router --no-tray --no-browser
|
|
127
|
+
Restart=on-failure
|
|
128
|
+
|
|
129
|
+
[Install]
|
|
130
|
+
WantedBy=default.target
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
systemctl --user enable --now 10router
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## 🩺 Diagnosing problems
|
|
140
|
+
|
|
141
|
+
`10router doctor` inspects the installation and prints what is wrong, without
|
|
142
|
+
changing anything:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
10router doctor # human-readable report
|
|
146
|
+
10router doctor --json # stable schema, for a support ticket or CI
|
|
147
|
+
10router doctor --port 20129 # inspect a different port
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
It checks what versions you actually have (launcher, on-disk marker, and whatever
|
|
151
|
+
is serving), a server left over from a previous build, which SQLite driver won,
|
|
152
|
+
the runtime dependencies, the port, the tray, the build's completeness and the
|
|
153
|
+
data dir. It never installs, repairs, restarts or kills anything, and it exits
|
|
154
|
+
non-zero when something is genuinely broken — so it is safe to run in CI and safe
|
|
155
|
+
to paste into an issue.
|
|
156
|
+
|
|
157
|
+
> A red line is a fact, not always something to fix: running `doctor` from a
|
|
158
|
+
> source checkout while an installed build is serving reports a version mismatch,
|
|
159
|
+
> because those really are two different builds.
|
|
160
|
+
|
|
104
161
|
---
|
|
105
162
|
|
|
106
163
|
## 🔄 Updating
|
package/README.zh-CN.md
CHANGED
|
@@ -88,11 +88,60 @@ Claude Code / Codex / OpenClaw / Cursor / Cline 设置:
|
|
|
88
88
|
10router --port 8080 # 自定义端口
|
|
89
89
|
10router --no-browser # 不自动打开浏览器
|
|
90
90
|
10router --skip-update # 跳过更新检查
|
|
91
|
+
10router --tray # 以系统托盘模式运行
|
|
92
|
+
10router --no-tray # 不创建托盘图标(无桌面环境)
|
|
91
93
|
10router --help # 查看全部参数
|
|
92
94
|
```
|
|
93
95
|
|
|
94
96
|
**仪表盘**:`http://localhost:20128/dashboard`
|
|
95
97
|
|
|
98
|
+
### 无桌面 / 后台常驻(nohup / systemd)
|
|
99
|
+
|
|
100
|
+
没有终端时,`10router` 会忽略 `SIGHUP`:关掉终端或退出登录不再把网关一起带走,因此后台启动能活过启动它的那个 shell。服务器、容器、systemd 单元这类没有桌面可画图标的环境,加上 `--no-tray` 可以省掉注定失败的托盘初始化;`--no-browser` 则跳过同样打不开的浏览器:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
# shell 退出后继续运行
|
|
104
|
+
nohup 10router --no-tray --no-browser >~/.10router/10router.log 2>&1 &
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
```ini
|
|
108
|
+
# ~/.config/systemd/user/10router.service
|
|
109
|
+
[Unit]
|
|
110
|
+
Description=10Router gateway
|
|
111
|
+
After=network-online.target
|
|
112
|
+
|
|
113
|
+
[Service]
|
|
114
|
+
ExecStart=%h/.local/share/npm/bin/10router --no-tray --no-browser
|
|
115
|
+
Restart=on-failure
|
|
116
|
+
|
|
117
|
+
[Install]
|
|
118
|
+
WantedBy=default.target
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
systemctl --user enable --now 10router
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## 🩺 排查问题
|
|
128
|
+
|
|
129
|
+
`10router doctor` 检查当前安装并打印问题所在,全程不改动任何东西:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
10router doctor # 人类可读报告
|
|
133
|
+
10router doctor --json # 结构稳定,便于贴进工单或 CI
|
|
134
|
+
10router doctor --port 20129 # 检查其他端口
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
它会核对三处版本(启动器、磁盘标记、真正在服务的那个)、上次构建残留的服务、
|
|
138
|
+
实际用了哪个 SQLite 驱动、运行时依赖、端口、托盘、构建是否完整、数据目录。
|
|
139
|
+
不会安装、修复、重启或结束任何进程;只要确实有问题就以非 0 退出码结束,
|
|
140
|
+
因此放进 CI 或直接贴到 issue 里都是安全的。
|
|
141
|
+
|
|
142
|
+
> 标红是「事实」,不一定都要修:在源码目录里跑 `doctor`,而服务由已安装的构建
|
|
143
|
+
> 提供,就会报版本不一致 —— 因为它们确实是两份不同的构建。
|
|
144
|
+
|
|
96
145
|
---
|
|
97
146
|
|
|
98
147
|
## 🔄 更新
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
Qmgbf1CsCnKFbpB4QvL8M
|
|
@@ -121,8 +121,8 @@
|
|
|
121
121
|
"/api/cli-tools/devin-settings/route": "/api/cli-tools/devin-settings",
|
|
122
122
|
"/api/combos/route": "/api/combos",
|
|
123
123
|
"/api/headroom/extras/route": "/api/headroom/extras",
|
|
124
|
-
"/api/headroom/proxy/[...path]/route": "/api/headroom/proxy/[...path]",
|
|
125
124
|
"/api/headroom/restart/route": "/api/headroom/restart",
|
|
125
|
+
"/api/headroom/proxy/[...path]/route": "/api/headroom/proxy/[...path]",
|
|
126
126
|
"/api/headroom/start/route": "/api/headroom/start",
|
|
127
127
|
"/api/headroom/status/route": "/api/headroom/status",
|
|
128
128
|
"/api/headroom/stop/route": "/api/headroom/stop",
|
|
@@ -140,15 +140,15 @@
|
|
|
140
140
|
"/api/oauth/kiro/auto-import/route": "/api/oauth/kiro/auto-import",
|
|
141
141
|
"/api/provider-nodes/route": "/api/provider-nodes",
|
|
142
142
|
"/api/providers/[id]/route": "/api/providers/[id]",
|
|
143
|
-
"/api/providers/suggested-models/route": "/api/providers/suggested-models",
|
|
144
143
|
"/api/providers/client/route": "/api/providers/client",
|
|
145
|
-
"/api/providers/
|
|
144
|
+
"/api/providers/suggested-models/route": "/api/providers/suggested-models",
|
|
146
145
|
"/api/providers/route": "/api/providers",
|
|
146
|
+
"/api/providers/[id]/models/route": "/api/providers/[id]/models",
|
|
147
147
|
"/api/proxy-pools/[id]/route": "/api/proxy-pools/[id]",
|
|
148
148
|
"/api/proxy-pools/[id]/test/route": "/api/proxy-pools/[id]/test",
|
|
149
149
|
"/api/proxy-pools/cloudflare-deploy/route": "/api/proxy-pools/cloudflare-deploy",
|
|
150
|
-
"/api/proxy-pools/deno-deploy/route": "/api/proxy-pools/deno-deploy",
|
|
151
150
|
"/api/proxy-pools/route": "/api/proxy-pools",
|
|
151
|
+
"/api/proxy-pools/deno-deploy/route": "/api/proxy-pools/deno-deploy",
|
|
152
152
|
"/api/pxpipe/health/route": "/api/pxpipe/health",
|
|
153
153
|
"/api/proxy-pools/vercel-deploy/route": "/api/proxy-pools/vercel-deploy",
|
|
154
154
|
"/api/pxpipe/install/route": "/api/pxpipe/install",
|
|
@@ -158,6 +158,7 @@
|
|
|
158
158
|
"/api/pxpipe/stats/route": "/api/pxpipe/stats",
|
|
159
159
|
"/api/pxpipe/status/route": "/api/pxpipe/status",
|
|
160
160
|
"/api/pxpipe/stop/route": "/api/pxpipe/stop",
|
|
161
|
+
"/api/security/status/route": "/api/security/status",
|
|
161
162
|
"/api/settings/database/import-usage/route": "/api/settings/database/import-usage",
|
|
162
163
|
"/api/settings/database/route": "/api/settings/database",
|
|
163
164
|
"/api/settings/proxy-test/route": "/api/settings/proxy-test",
|
|
@@ -166,20 +167,21 @@
|
|
|
166
167
|
"/api/usage/[connectionId]/codex-reset-credits/route": "/api/usage/[connectionId]/codex-reset-credits",
|
|
167
168
|
"/api/usage/dashboard/route": "/api/usage/dashboard",
|
|
168
169
|
"/api/usage/[connectionId]/route": "/api/usage/[connectionId]",
|
|
170
|
+
"/api/usage/quotas/route": "/api/usage/quotas",
|
|
169
171
|
"/api/usage/stats/route": "/api/usage/stats",
|
|
170
172
|
"/api/usage/stream/route": "/api/usage/stream",
|
|
171
173
|
"/api/v1/audio/transcriptions/route": "/api/v1/audio/transcriptions",
|
|
172
|
-
"/api/v1/models/route": "/api/v1/models",
|
|
173
174
|
"/api/v1beta/models/[...path]/route": "/api/v1beta/models/[...path]",
|
|
175
|
+
"/api/v1/models/route": "/api/v1/models",
|
|
174
176
|
"/callback/page": "/callback",
|
|
175
177
|
"/dashboard/settings/pricing/page": "/dashboard/settings/pricing",
|
|
176
178
|
"/landing/page": "/landing",
|
|
177
|
-
"/login/page": "/login",
|
|
178
179
|
"/page": "/",
|
|
179
180
|
"/(dashboard)/dashboard/basic-chat/page": "/dashboard/basic-chat",
|
|
180
181
|
"/(dashboard)/dashboard/cli-tools/[toolId]/page": "/dashboard/cli-tools/[toolId]",
|
|
181
182
|
"/(dashboard)/dashboard/cli-tools/page": "/dashboard/cli-tools",
|
|
182
183
|
"/(dashboard)/dashboard/endpoint/page": "/dashboard/endpoint",
|
|
184
|
+
"/(dashboard)/dashboard/experimental/page": "/dashboard/experimental",
|
|
183
185
|
"/(dashboard)/dashboard/media-providers/[kind]/page": "/dashboard/media-providers/[kind]",
|
|
184
186
|
"/(dashboard)/dashboard/media-providers/combo/[id]/page": "/dashboard/media-providers/combo/[id]",
|
|
185
187
|
"/(dashboard)/dashboard/media-providers/web/page": "/dashboard/media-providers/web",
|
|
@@ -195,8 +197,9 @@
|
|
|
195
197
|
"/(dashboard)/dashboard/media-providers/[kind]/[id]/page": "/dashboard/media-providers/[kind]/[id]",
|
|
196
198
|
"/(dashboard)/dashboard/combos/page": "/dashboard/combos",
|
|
197
199
|
"/(dashboard)/dashboard/profile/page": "/dashboard/profile",
|
|
198
|
-
"/(dashboard)/dashboard/providers/page": "/dashboard/providers",
|
|
199
200
|
"/(dashboard)/dashboard/skills/page": "/dashboard/skills",
|
|
201
|
+
"/(dashboard)/dashboard/providers/page": "/dashboard/providers",
|
|
200
202
|
"/(dashboard)/dashboard/proxy-pools/page": "/dashboard/proxy-pools",
|
|
201
|
-
"/(dashboard)/dashboard/providers/[id]/page": "/dashboard/providers/[id]"
|
|
203
|
+
"/(dashboard)/dashboard/providers/[id]/page": "/dashboard/providers/[id]",
|
|
204
|
+
"/login/page": "/login"
|
|
202
205
|
}
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
],
|
|
5
5
|
"devFiles": [],
|
|
6
6
|
"lowPriorityFiles": [
|
|
7
|
-
"static/
|
|
8
|
-
"static/
|
|
7
|
+
"static/Qmgbf1CsCnKFbpB4QvL8M/_buildManifest.js",
|
|
8
|
+
"static/Qmgbf1CsCnKFbpB4QvL8M/_ssgManifest.js"
|
|
9
9
|
],
|
|
10
10
|
"rootMainFiles": [
|
|
11
|
-
"static/chunks/webpack-
|
|
11
|
+
"static/chunks/webpack-b43a2a1c513882e9.js",
|
|
12
12
|
"static/chunks/4bd1b696-8a4ab4fdf0ae305a.js",
|
|
13
13
|
"static/chunks/3794-4d73df1ee3dd1b8a.js",
|
|
14
14
|
"static/chunks/main-app-776fd087f52a1f50.js"
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"routeType": "page",
|
|
6
6
|
"response": "complete",
|
|
7
7
|
"compute": "static",
|
|
8
|
-
"htmlSize":
|
|
8
|
+
"htmlSize": 6842,
|
|
9
9
|
"experimentalBypassFor": [
|
|
10
10
|
{
|
|
11
11
|
"type": "header",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"routeType": "page",
|
|
63
63
|
"response": "complete",
|
|
64
64
|
"compute": "static",
|
|
65
|
-
"htmlSize":
|
|
65
|
+
"htmlSize": 9380,
|
|
66
66
|
"experimentalBypassFor": [
|
|
67
67
|
{
|
|
68
68
|
"type": "header",
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"routeType": "page",
|
|
91
91
|
"response": "complete",
|
|
92
92
|
"compute": "static",
|
|
93
|
-
"htmlSize":
|
|
93
|
+
"htmlSize": 9284,
|
|
94
94
|
"experimentalBypassFor": [
|
|
95
95
|
{
|
|
96
96
|
"type": "header",
|
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
"routeType": "page",
|
|
119
119
|
"response": "complete",
|
|
120
120
|
"compute": "static",
|
|
121
|
-
"htmlSize":
|
|
121
|
+
"htmlSize": 25788,
|
|
122
122
|
"experimentalBypassFor": [
|
|
123
123
|
{
|
|
124
124
|
"type": "header",
|
|
@@ -146,7 +146,7 @@
|
|
|
146
146
|
"routeType": "page",
|
|
147
147
|
"response": "complete",
|
|
148
148
|
"compute": "static",
|
|
149
|
-
"htmlSize":
|
|
149
|
+
"htmlSize": 28415,
|
|
150
150
|
"experimentalBypassFor": [
|
|
151
151
|
{
|
|
152
152
|
"type": "header",
|
|
@@ -174,7 +174,7 @@
|
|
|
174
174
|
"routeType": "page",
|
|
175
175
|
"response": "complete",
|
|
176
176
|
"compute": "static",
|
|
177
|
-
"htmlSize":
|
|
177
|
+
"htmlSize": 28326,
|
|
178
178
|
"experimentalBypassFor": [
|
|
179
179
|
{
|
|
180
180
|
"type": "header",
|
|
@@ -202,7 +202,7 @@
|
|
|
202
202
|
"routeType": "page",
|
|
203
203
|
"response": "complete",
|
|
204
204
|
"compute": "static",
|
|
205
|
-
"htmlSize":
|
|
205
|
+
"htmlSize": 26522,
|
|
206
206
|
"experimentalBypassFor": [
|
|
207
207
|
{
|
|
208
208
|
"type": "header",
|
|
@@ -230,7 +230,7 @@
|
|
|
230
230
|
"routeType": "page",
|
|
231
231
|
"response": "complete",
|
|
232
232
|
"compute": "static",
|
|
233
|
-
"htmlSize":
|
|
233
|
+
"htmlSize": 26303,
|
|
234
234
|
"experimentalBypassFor": [
|
|
235
235
|
{
|
|
236
236
|
"type": "header",
|
|
@@ -254,11 +254,39 @@
|
|
|
254
254
|
"x-next-revalidate-tag-token"
|
|
255
255
|
]
|
|
256
256
|
},
|
|
257
|
+
"/dashboard/experimental": {
|
|
258
|
+
"routeType": "page",
|
|
259
|
+
"response": "complete",
|
|
260
|
+
"compute": "static",
|
|
261
|
+
"htmlSize": 31660,
|
|
262
|
+
"experimentalBypassFor": [
|
|
263
|
+
{
|
|
264
|
+
"type": "header",
|
|
265
|
+
"key": "next-action"
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
"type": "header",
|
|
269
|
+
"key": "content-type",
|
|
270
|
+
"value": "multipart/form-data;.*"
|
|
271
|
+
}
|
|
272
|
+
],
|
|
273
|
+
"initialRevalidateSeconds": false,
|
|
274
|
+
"srcRoute": "/dashboard/experimental",
|
|
275
|
+
"dataRoute": "/dashboard/experimental.rsc",
|
|
276
|
+
"allowHeader": [
|
|
277
|
+
"host",
|
|
278
|
+
"x-matched-path",
|
|
279
|
+
"x-prerender-revalidate",
|
|
280
|
+
"x-prerender-revalidate-if-generated",
|
|
281
|
+
"x-next-revalidated-tags",
|
|
282
|
+
"x-next-revalidate-tag-token"
|
|
283
|
+
]
|
|
284
|
+
},
|
|
257
285
|
"/dashboard/media-providers/web": {
|
|
258
286
|
"routeType": "page",
|
|
259
287
|
"response": "complete",
|
|
260
288
|
"compute": "static",
|
|
261
|
-
"htmlSize":
|
|
289
|
+
"htmlSize": 48326,
|
|
262
290
|
"experimentalBypassFor": [
|
|
263
291
|
{
|
|
264
292
|
"type": "header",
|
|
@@ -286,7 +314,7 @@
|
|
|
286
314
|
"routeType": "page",
|
|
287
315
|
"response": "complete",
|
|
288
316
|
"compute": "static",
|
|
289
|
-
"htmlSize":
|
|
317
|
+
"htmlSize": 31420,
|
|
290
318
|
"experimentalBypassFor": [
|
|
291
319
|
{
|
|
292
320
|
"type": "header",
|
|
@@ -314,7 +342,7 @@
|
|
|
314
342
|
"routeType": "page",
|
|
315
343
|
"response": "complete",
|
|
316
344
|
"compute": "static",
|
|
317
|
-
"htmlSize":
|
|
345
|
+
"htmlSize": 43362,
|
|
318
346
|
"experimentalBypassFor": [
|
|
319
347
|
{
|
|
320
348
|
"type": "header",
|
|
@@ -342,7 +370,7 @@
|
|
|
342
370
|
"routeType": "page",
|
|
343
371
|
"response": "complete",
|
|
344
372
|
"compute": "static",
|
|
345
|
-
"htmlSize":
|
|
373
|
+
"htmlSize": 26413,
|
|
346
374
|
"experimentalBypassFor": [
|
|
347
375
|
{
|
|
348
376
|
"type": "header",
|
|
@@ -370,7 +398,7 @@
|
|
|
370
398
|
"routeType": "page",
|
|
371
399
|
"response": "complete",
|
|
372
400
|
"compute": "static",
|
|
373
|
-
"htmlSize":
|
|
401
|
+
"htmlSize": 36996,
|
|
374
402
|
"experimentalBypassFor": [
|
|
375
403
|
{
|
|
376
404
|
"type": "header",
|
|
@@ -398,7 +426,7 @@
|
|
|
398
426
|
"routeType": "page",
|
|
399
427
|
"response": "complete",
|
|
400
428
|
"compute": "static",
|
|
401
|
-
"htmlSize":
|
|
429
|
+
"htmlSize": 26472,
|
|
402
430
|
"experimentalBypassFor": [
|
|
403
431
|
{
|
|
404
432
|
"type": "header",
|
|
@@ -426,7 +454,7 @@
|
|
|
426
454
|
"routeType": "page",
|
|
427
455
|
"response": "complete",
|
|
428
456
|
"compute": "static",
|
|
429
|
-
"htmlSize":
|
|
457
|
+
"htmlSize": 30475,
|
|
430
458
|
"experimentalBypassFor": [
|
|
431
459
|
{
|
|
432
460
|
"type": "header",
|
|
@@ -454,7 +482,7 @@
|
|
|
454
482
|
"routeType": "page",
|
|
455
483
|
"response": "complete",
|
|
456
484
|
"compute": "static",
|
|
457
|
-
"htmlSize":
|
|
485
|
+
"htmlSize": 33496,
|
|
458
486
|
"experimentalBypassFor": [
|
|
459
487
|
{
|
|
460
488
|
"type": "header",
|
|
@@ -482,7 +510,7 @@
|
|
|
482
510
|
"routeType": "page",
|
|
483
511
|
"response": "complete",
|
|
484
512
|
"compute": "static",
|
|
485
|
-
"htmlSize":
|
|
513
|
+
"htmlSize": 12710,
|
|
486
514
|
"experimentalBypassFor": [
|
|
487
515
|
{
|
|
488
516
|
"type": "header",
|
|
@@ -510,7 +538,7 @@
|
|
|
510
538
|
"routeType": "page",
|
|
511
539
|
"response": "complete",
|
|
512
540
|
"compute": "static",
|
|
513
|
-
"htmlSize":
|
|
541
|
+
"htmlSize": 40401,
|
|
514
542
|
"experimentalBypassFor": [
|
|
515
543
|
{
|
|
516
544
|
"type": "header",
|
|
@@ -538,7 +566,7 @@
|
|
|
538
566
|
"routeType": "page",
|
|
539
567
|
"response": "complete",
|
|
540
568
|
"compute": "static",
|
|
541
|
-
"htmlSize":
|
|
569
|
+
"htmlSize": 30558,
|
|
542
570
|
"experimentalBypassFor": [
|
|
543
571
|
{
|
|
544
572
|
"type": "header",
|
|
@@ -566,7 +594,7 @@
|
|
|
566
594
|
"routeType": "page",
|
|
567
595
|
"response": "complete",
|
|
568
596
|
"compute": "static",
|
|
569
|
-
"htmlSize":
|
|
597
|
+
"htmlSize": 35376,
|
|
570
598
|
"experimentalBypassFor": [
|
|
571
599
|
{
|
|
572
600
|
"type": "header",
|
|
@@ -594,7 +622,7 @@
|
|
|
594
622
|
"routeType": "page",
|
|
595
623
|
"response": "complete",
|
|
596
624
|
"compute": "static",
|
|
597
|
-
"htmlSize":
|
|
625
|
+
"htmlSize": 26022,
|
|
598
626
|
"experimentalBypassFor": [
|
|
599
627
|
{
|
|
600
628
|
"type": "header",
|
|
@@ -654,7 +682,7 @@
|
|
|
654
682
|
"routeType": "page",
|
|
655
683
|
"response": "complete",
|
|
656
684
|
"compute": "static",
|
|
657
|
-
"htmlSize":
|
|
685
|
+
"htmlSize": 32679,
|
|
658
686
|
"experimentalBypassFor": [
|
|
659
687
|
{
|
|
660
688
|
"type": "header",
|
|
@@ -682,7 +710,7 @@
|
|
|
682
710
|
"routeType": "page",
|
|
683
711
|
"response": "complete",
|
|
684
712
|
"compute": "static",
|
|
685
|
-
"htmlSize":
|
|
713
|
+
"htmlSize": 10545,
|
|
686
714
|
"experimentalBypassFor": [
|
|
687
715
|
{
|
|
688
716
|
"type": "header",
|
|
@@ -1563,7 +1563,7 @@
|
|
|
1563
1563
|
"static/css/e07f2bf4fa519943.css",
|
|
1564
1564
|
"static/chunks/1a258343.47d9fcf6a691d03c.js",
|
|
1565
1565
|
"static/chunks/6357.59e23f8c59426c8f.js",
|
|
1566
|
-
"static/chunks/3521.
|
|
1566
|
+
"static/chunks/3521.3107c4bff48fe566.js"
|
|
1567
1567
|
]
|
|
1568
1568
|
}
|
|
1569
1569
|
}
|
|
@@ -857,6 +857,12 @@
|
|
|
857
857
|
"routeKeys": {},
|
|
858
858
|
"namedRegex": "^/api/pxpipe/stop(?:/)?$"
|
|
859
859
|
},
|
|
860
|
+
{
|
|
861
|
+
"page": "/api/security/status",
|
|
862
|
+
"regex": "^/api/security/status(?:/)?$",
|
|
863
|
+
"routeKeys": {},
|
|
864
|
+
"namedRegex": "^/api/security/status(?:/)?$"
|
|
865
|
+
},
|
|
860
866
|
{
|
|
861
867
|
"page": "/api/settings",
|
|
862
868
|
"regex": "^/api/settings(?:/)?$",
|
|
@@ -1007,6 +1013,12 @@
|
|
|
1007
1013
|
"routeKeys": {},
|
|
1008
1014
|
"namedRegex": "^/api/usage/providers(?:/)?$"
|
|
1009
1015
|
},
|
|
1016
|
+
{
|
|
1017
|
+
"page": "/api/usage/quotas",
|
|
1018
|
+
"regex": "^/api/usage/quotas(?:/)?$",
|
|
1019
|
+
"routeKeys": {},
|
|
1020
|
+
"namedRegex": "^/api/usage/quotas(?:/)?$"
|
|
1021
|
+
},
|
|
1010
1022
|
{
|
|
1011
1023
|
"page": "/api/usage/request-details",
|
|
1012
1024
|
"regex": "^/api/usage/request\\-details(?:/)?$",
|
|
@@ -1211,6 +1223,12 @@
|
|
|
1211
1223
|
"routeKeys": {},
|
|
1212
1224
|
"namedRegex": "^/dashboard/endpoint(?:/)?$"
|
|
1213
1225
|
},
|
|
1226
|
+
{
|
|
1227
|
+
"page": "/dashboard/experimental",
|
|
1228
|
+
"regex": "^/dashboard/experimental(?:/)?$",
|
|
1229
|
+
"routeKeys": {},
|
|
1230
|
+
"namedRegex": "^/dashboard/experimental(?:/)?$"
|
|
1231
|
+
},
|
|
1214
1232
|
{
|
|
1215
1233
|
"page": "/dashboard/media-providers/web",
|
|
1216
1234
|
"regex": "^/dashboard/media\\-providers/web(?:/)?$",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var a={};a.id=4465,a.ids=[4465],a.modules={643:a=>{"use strict";a.exports=require("node:perf_hooks")},1708:a=>{"use strict";a.exports=require("node:process")},1932:a=>{"use strict";a.exports=require("url")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{"use strict";a.exports=require("node:buffer")},7066:a=>{"use strict";a.exports=require("node:tty")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14985:a=>{"use strict";a.exports=require("dns")},16698:a=>{"use strict";a.exports=require("node:async_hooks")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19730:(a,b,c)=>{Promise.resolve().then(c.bind(c,73180))},21820:a=>{"use strict";a.exports=require("os")},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{"use strict";a.exports=require("node:child_process")},32467:a=>{"use strict";a.exports=require("node:http2")},33873:a=>{"use strict";a.exports=require("path")},34589:a=>{"use strict";a.exports=require("node:assert")},37067:a=>{"use strict";a.exports=require("node:http")},37540:a=>{"use strict";a.exports=require("node:console")},38105:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>w,handler:()=>y,routeModule:()=>x});var d=c(21635),e=c(86315),f=c(1020),g=c(61287),h={};for(let a in g)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(h[a]=()=>g[a]);c.d(b,h);let i=(0,d.p)(()=>Promise.resolve().then(c.bind(c,57529))),j=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),k=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),l=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),m=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),n=(0,d.p)(()=>Promise.resolve().then(c.bind(c,30508))),o=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),p=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),q=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),r=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),s=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),t=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),u={children:["",{children:["(dashboard)",{children:["dashboard",{children:["basic-chat",{children:["__PAGE__",{},{page:[(0,d.p)(()=>Promise.resolve().then(c.bind(c,40551))),"F:\\Files\\GitHub Files\\10router\\src\\app\\(dashboard)\\dashboard\\basic-chat\\page.js"]}]},{"global-error":[t,"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[s,"next/dist/client/components/builtin/global-error.js"]},[]]},{layout:[n,"F:\\Files\\GitHub Files\\10router\\src\\app\\(dashboard)\\layout.js"],"global-error":[o,"next/dist/client/components/builtin/global-error.js"],"not-found":[p,"next/dist/client/components/builtin/not-found.js"],forbidden:[q,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[r,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,70440)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]},{layout:[i,"F:\\Files\\GitHub Files\\10router\\src\\app\\layout.js"],"global-error":[j,"next/dist/client/components/builtin/global-error.js"],"not-found":[k,"next/dist/client/components/builtin/not-found.js"],forbidden:[l,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[m,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,70440)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]}.children,v=(0,e.H)({tree:u,page:"/(dashboard)/dashboard/basic-chat/page",pathname:"/dashboard/basic-chat",require:c,loadChunk:()=>Promise.resolve(),interopDefault:f.T}),w=v.__next_app__,x=v.routeModule,y=v.handler},38522:a=>{"use strict";a.exports=require("node:zlib")},40551:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(5735),e=c(79286);function f(){return(0,d.jsx)(e.default,{})}},40610:a=>{"use strict";a.exports=require("node:dns")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41692:a=>{"use strict";a.exports=require("node:tls")},41792:a=>{"use strict";a.exports=require("node:querystring")},46060:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external.js")},46293:a=>{"use strict";a.exports=require("sql.js")},48161:a=>{"use strict";a.exports=require("node:os")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71553:a=>{"use strict";a.exports=require("node:dns/promises")},71622:a=>{"use strict";a.exports=import("open")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73180:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{default:()=>m});var e=c(48249),f=c(67484),g=c(94579);c(91431),c(92592);var h=a([g]);function i(){return globalThis.crypto?.randomUUID?globalThis.crypto.randomUUID():`chat_${Date.now()}_${Math.random().toString(16).slice(2)}`}function j(a){if("string"==typeof a)return a;if(null==a)return"";if(Array.isArray(a))return a.map(j).filter(Boolean).join(" ");if("object"==typeof a){if("string"==typeof a.message)return a.message;if("string"==typeof a.error)return a.error;try{return JSON.stringify(a)}catch{}}return String(a)}function k(a=""){let b=j(a).replace(/\s+/g," ").trim();return b?b.length>52?`${b.slice(0,52).trimEnd()}…`:b:"New chat"}async function l(a){return await new Promise((b,c)=>{let d=new FileReader;d.onload=()=>b(String(d.result||"")),d.onerror=()=>c(d.error||Error("Failed to read file")),d.readAsDataURL(a)})}function m(){let[a,b]=(0,f.useState)([]),[c,d]=(0,f.useState)(!0),[h,m]=(0,f.useState)(""),[n,o]=(0,f.useState)(()=>[]),[p,q]=(0,f.useState)(()=>""),[r,s]=(0,f.useState)(()=>""),[t,u]=(0,f.useState)(""),[v,w]=(0,f.useState)(()=>""),[x,y]=(0,f.useState)([]),[z,A]=(0,f.useState)(!1),[B,C]=(0,f.useState)(""),[D,E]=(0,f.useState)(""),[F,G]=(0,f.useState)(!1),[H,I]=(0,f.useState)(!1),[J,K]=(0,f.useState)(!1),L=(0,f.useRef)(null),M=(0,f.useRef)(null);(0,f.useRef)(!1);let N=(0,f.useRef)(null),O=(0,f.useRef)(null),P=(0,f.useMemo)(()=>{let b=new Map;for(let c of a)for(let a of c.models)b.set(a.id,{...a,providerId:c.providerId,providerName:c.providerName});return b},[a]),Q=(0,f.useMemo)(()=>a.find(a=>a.providerId===r)||a[0]||null,[a,r]),R=(0,f.useMemo)(()=>{if(t&&P.has(t))return P.get(t);if(p){let a=n.find(a=>a.id===p);if(a?.modelId&&P.has(a.modelId))return P.get(a.modelId)}return Q?.models?.[0]||null},[t,P,Q,n,p]),S=(0,f.useMemo)(()=>n.find(a=>a.id===p)||null,[n,p]),T=S?.messages||[],U=(0,f.useMemo)(()=>[...n].sort((a,b)=>new Date(b.updatedAt).getTime()-new Date(a.updatedAt).getTime()),[n]),V=!z&&!!R&&(v.trim().length>0||x.length>0),W=(a,b)=>{o(c=>c.map(c=>c.id===a?b({...c,messages:Array.isArray(c.messages)?c.messages.map(a=>({...a})):[]}):c))},X=a=>a?{id:i(),title:"New chat",providerId:a.providerId,providerName:a.providerName,modelId:a.id,modelName:a.name,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),messages:[]}:null,Y=async a=>{let b=Array.from(a.target.files||[]);if(0===b.length)return;let c=b.filter(a=>a.type.startsWith("image/"));if(0===c.length){a.target.value="";return}let d=await Promise.all(c.map(async a=>({id:i(),name:a.name,type:a.type,size:a.size,dataUrl:await l(a)})));y(a=>[...a,...d]),a.target.value=""},Z=async()=>{let a=R||Q?.models?.[0]||null;if(!a)return;let b=v.trim();if(!b&&0===x.length)return;let c=p,d=n.find(a=>a.id===c);if(!d){if(!(d=X(a)))return;c=d.id,o(a=>[d,...a]),q(c)}let e={id:i(),role:"user",content:b,attachments:x.map(a=>({id:a.id,name:a.name,type:a.type,dataUrl:a.dataUrl})),createdAt:new Date().toISOString()},f=i(),g={id:f,role:"assistant",content:"",createdAt:new Date().toISOString(),status:"streaming"},h=[...d.messages||[],e,g];o(d=>d.map(d=>d.id===c?{...d,providerId:a.providerId,providerName:a.providerName,modelId:a.id,modelName:a.name,messages:h,updatedAt:new Date().toISOString(),title:"New chat"===d.title?k(b):d.title}:d)),w(""),y([]),A(!0),C(f),E(""),M.current?.abort(),M.current=new AbortController;let l=h.filter(a=>"assistant"!==a.role||a.id!==f).map(a=>({role:a.role,content:"user"===a.role?function(a){let b=j(a.content).trim(),c=Array.isArray(a.attachments)?a.attachments:[];if(0===c.length)return b;let d=[];for(let a of(b&&d.push({type:"text",text:b}),c))a?.dataUrl&&d.push({type:"image_url",image_url:{url:a.dataUrl}});return d.length>0?d:b}(a):a.content}));try{var r;let d,e=await fetch("/api/dashboard/chat/completions",{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify({model:a.requestModel||a.id,messages:l,stream:!0}),signal:M.current.signal});if(!e.ok){let a=await e.json().catch(()=>({}));throw Error(j(a.error||a.message||`Request failed (${e.status})`))}let g=e.body?.getReader();if(!g){let a=await e.json().catch(()=>({})),b=j(a?.choices?.[0]?.message?.content||a?.output_text||a?.error||a?.message||"");W(c,a=>({...a,messages:a.messages.map(a=>a.id===f?{...a,content:b,status:"done"}:a),updatedAt:new Date().toISOString()}));return}let h=new TextDecoder,i="",m="";for(;;){let{value:a,done:b}=await g.read();if(b)break;let d=(i+=h.decode(a,{stream:!0})).split(/\r?\n/);for(let a of(i=d.pop()||"",d)){let b=a.trim();if(!b.startsWith("data:"))continue;let d=b.slice(5).trim();if(d&&"[DONE]"!==d)try{let a=JSON.parse(d),b=function(a){if(!a||"object"!=typeof a)return"";let b=a.choices?.[0];return[(b?.delta||{}).content,b?.message?.content,a.output_text,a.text].map(j).filter(Boolean)[0]||""}(a);if(!b)continue;m+=b,E(m),W(c,a=>({...a,messages:a.messages.map(a=>a.id===f?{...a,content:m,status:"streaming"}:a),updatedAt:new Date().toISOString()}))}catch{}}}W(c,a=>({...a,messages:a.messages.map(a=>a.id===f?{...a,content:m||a.content,status:"done"}:a),updatedAt:new Date().toISOString()})),r=c,d=k(b),W(r,a=>({...a,title:"New chat"===a.title?d:a.title,updatedAt:new Date().toISOString()}))}catch(a){if("AbortError"!==a.name){let b=j(a?.message||a);W(c,a=>({...a,messages:a.messages.map(a=>a.id===f?{...a,content:a.content||`Error: ${b}`,status:"error"}:a),updatedAt:new Date().toISOString()})),m(b||"Failed to send message.")}}finally{A(!1),C(""),E(""),M.current=null}},$=R?`${R.name}`:"Select model",_=R?R.requestModel:"Choose from connected providers";return(0,e.jsx)("div",{className:"relative flex-1 flex flex-col h-full min-h-0 min-w-0 bg-[#212121] text-white overflow-hidden",children:(0,e.jsxs)("div",{className:"relative mx-auto flex flex-1 h-full min-h-0 w-full max-w-4xl flex-col",children:[(0,e.jsxs)("div",{className:"flex shrink-0 items-center justify-between gap-3 px-4 py-3 lg:px-6",children:[(0,e.jsxs)("div",{ref:N,className:"relative",children:[(0,e.jsx)("button",{type:"button",onClick:()=>I(a=>!a),className:"flex items-center gap-3 rounded-2xl border border-white/10 bg-white/5 px-4 py-3 text-left transition hover:bg-white/8",children:(0,e.jsxs)("div",{className:"min-w-0",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)("span",{className:"text-sm font-semibold text-white",children:$}),(0,e.jsx)("span",{className:"material-symbols-outlined text-[18px] text-white/70",children:"expand_more"})]}),(0,e.jsx)("p",{className:"truncate text-xs text-white/55",children:_})]})}),H?(0,e.jsxs)("div",{className:"absolute left-0 top-[calc(100%+10px)] z-30 w-[min(520px,calc(100vw-2rem))] overflow-hidden rounded-[20px] border border-white/10 bg-[#262626] shadow-2xl shadow-black/50",children:[(0,e.jsxs)("div",{className:"border-b border-white/10 px-4 py-3",children:[(0,e.jsx)("p",{className:"text-xs uppercase tracking-[0.22em] text-white/45",children:"Models"}),(0,e.jsx)("p",{className:"text-sm text-white/75",children:"Only from connected providers"})]}),(0,e.jsx)("div",{className:"max-h-[60vh] overflow-y-auto p-2 custom-scrollbar",children:a.map(a=>(0,e.jsxs)("div",{className:"mb-2 rounded-[16px] border border-white/10 bg-black/20 p-2",children:[(0,e.jsxs)("div",{className:"flex items-center justify-between px-2 py-2",children:[(0,e.jsx)("p",{className:"text-sm font-semibold text-white",children:a.providerName}),(0,e.jsx)(g.Ex,{size:"sm",variant:"default",children:a.models.length})]}),(0,e.jsx)("div",{className:"grid gap-2 sm:grid-cols-2",children:a.models.map(a=>{let b=a.id===t;return(0,e.jsx)("button",{type:"button",onClick:()=>(a=>{let b=P.get(a);if(!b)return;let c=n.find(a=>a.id===p);if(c&&c.messages.length>0){let a=X(b);if(!a)return;o(b=>[a,...b]),q(a.id)}else if(c)o(a=>a.map(a=>a.id===c.id?{...a,providerId:b.providerId,providerName:b.providerName,modelId:b.id,modelName:b.name}:a)),q(c.id);else{let a=X(b);if(!a)return;o(b=>[a,...b]),q(a.id)}s(b.providerId),u(b.id),I(!1)})(a.id),className:`rounded-[14px] border px-3 py-3 text-left transition ${b?"border-blue-400/40 bg-blue-500/15":"border-white/10 bg-white/5 hover:bg-white/8"}`,children:(0,e.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,e.jsxs)("div",{className:"min-w-0",children:[(0,e.jsx)("p",{className:"truncate text-sm font-medium text-white",children:a.name}),(0,e.jsx)("p",{className:"truncate text-[11px] text-white/45",children:a.requestModel})]}),b?(0,e.jsx)("span",{className:"material-symbols-outlined text-[18px] text-blue-300",children:"check_circle"}):null]})},a.id)})})]},a.providerId))})]}):null]}),(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)("button",{type:"button",onClick:()=>K(a=>!a),className:"rounded-2xl border border-white/10 bg-white/5 px-4 py-3 text-sm text-white/80 transition hover:bg-white/8",children:"History"}),(0,e.jsx)(g.$n,{variant:"ghost",size:"sm",icon:"delete",onClick:()=>{if(!p)return;let a=n.filter(a=>a.id!==p),b=a[0]||null;o(a),b?(q(b.id),s(b.providerId),u(b.modelId)):(q(""),s(""),u(""))},disabled:!p||0===n.length,children:"Clear"})]})]}),J?(0,e.jsxs)("div",{ref:O,className:"absolute right-4 top-[72px] z-20 w-[min(360px,calc(100vw-2rem))] rounded-[20px] border border-white/10 bg-[#262626] p-2 shadow-2xl shadow-black/50 lg:right-6",children:[(0,e.jsx)("div",{className:"px-3 py-2",children:(0,e.jsx)("p",{className:"text-xs uppercase tracking-[0.22em] text-white/45",children:"Recent chats"})}),(0,e.jsx)("div",{className:"max-h-[48vh] space-y-2 overflow-y-auto p-1 custom-scrollbar",children:0===U.length?(0,e.jsx)("div",{className:"rounded-[16px] border border-dashed border-white/10 bg-white/5 p-4 text-sm text-white/55",children:"No conversations yet."}):U.map(a=>{let b=a.id===p,c=[...a.messages||[]].reverse().find(a=>"user"===a.role)||a.messages?.[0];return(0,e.jsx)("button",{type:"button",onClick:()=>{var b;let c;return b=a.id,void((c=n.find(a=>a.id===b))&&(q(b),s(c.providerId||r),u(c.modelId||t),K(!1)))},className:`w-full rounded-[16px] border px-3 py-3 text-left transition ${b?"border-blue-400/40 bg-blue-500/15":"border-white/10 bg-white/5 hover:bg-white/8"}`,children:(0,e.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,e.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,e.jsx)("p",{className:"truncate text-sm font-medium text-white",children:a.title}),(0,e.jsx)("p",{className:"mt-1 truncate text-xs text-white/50",children:j(c?.content)||"Empty chat"})]}),(0,e.jsx)("span",{className:"text-[10px] text-white/40 shrink-0",children:function(a){if(!a)return"Now";let b=new Date(a).getTime();if(Number.isNaN(b))return"Now";let c=Math.max(1,Math.round((Date.now()-b)/6e4));if(c<60)return`${c}m`;let d=Math.round(c/60);return d<24?`${d}h`:`${Math.round(d/24)}d`}(a.updatedAt)})]})},a.id)})})]}):null,h?(0,e.jsx)("div",{className:"mt-4 rounded-[18px] border border-rose-500/20 bg-rose-500/10 px-4 py-3 text-rose-100",children:(0,e.jsxs)("div",{className:"flex items-start gap-3",children:[(0,e.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"error"}),(0,e.jsx)("p",{className:"text-sm leading-6",children:h})]})}):null,(0,e.jsxs)("div",{className:"flex flex-1 flex-col min-h-0",children:[(0,e.jsxs)("div",{className:"flex-1 overflow-y-auto py-4 custom-scrollbar",children:[0===T.length?(0,e.jsx)("div",{className:"flex min-h-[50vh] items-center justify-center px-4 text-center",children:(0,e.jsxs)("div",{className:"max-w-xl space-y-4",children:[(0,e.jsx)("div",{className:"mx-auto flex size-16 items-center justify-center rounded-[20px] border border-white/10 bg-white/5 text-white/80",children:(0,e.jsx)("span",{className:"material-symbols-outlined text-[30px]",children:"chat"})}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)("h2",{className:"text-2xl font-semibold text-white",children:"Start a conversation"}),(0,e.jsx)("p",{className:"text-sm leading-6 text-white/60",children:"Simple chat interface to interact with any AI model from connected providers. Select a model and start chatting!"})]})]})}):null,(0,e.jsx)("div",{className:"mx-auto flex w-full max-w-3xl flex-col gap-4 px-4",children:T.map(a=>{let b="user"===a.role,c="assistant"===a.role,d=c&&a.id===B&&"streaming"===a.status,f=j(a.content)||(c?D:"");return(0,e.jsx)("div",{className:`flex w-full ${b?"justify-end":"justify-start"} mb-6`,children:(0,e.jsxs)("div",{className:`max-w-[min(88%,42rem)] ${b?"rounded-3xl bg-[#2f2f2f] px-5 py-3.5 text-white":"text-white/90"}`,children:[(0,e.jsx)("div",{className:"mb-1 flex items-center justify-between gap-3",children:(0,e.jsx)("span",{className:"text-xs font-semibold",children:b?"You":R?.name||"Assistant"})}),a.attachments?.length?(0,e.jsx)("div",{className:"mb-3 grid grid-cols-2 gap-2 sm:grid-cols-3 mt-2",children:a.attachments.map(a=>(0,e.jsx)("a",{href:a.dataUrl,target:"_blank",rel:"noreferrer",className:"overflow-hidden rounded-[18px] border border-white/10 bg-black/20",children:(0,e.jsx)("img",{src:a.dataUrl,alt:a.name,className:"h-28 w-full object-cover",loading:"lazy",decoding:"async"})},a.id))}):null,(0,e.jsxs)("div",{className:"whitespace-pre-wrap break-words text-[15px] leading-7",children:[f,c&&d&&!D?(0,e.jsx)("span",{className:"inline-block animate-pulse",children:"▋"}):null]})]})},a.id)})})]}),(0,e.jsxs)("div",{className:"shrink-0 pt-2",children:[x.length>0?(0,e.jsx)("div",{className:"mx-auto mb-3 flex w-full max-w-3xl flex-wrap gap-2 px-4",children:x.map(a=>(0,e.jsxs)("div",{className:"flex items-center gap-2 rounded-full border border-white/10 bg-white/5 px-3 py-2",children:[(0,e.jsx)("span",{className:"text-xs text-white/80 max-w-[12rem] truncate",children:a.name}),(0,e.jsx)("button",{type:"button",onClick:()=>{var b;return b=a.id,void y(a=>a.filter(a=>a.id!==b))},className:"text-white/55 hover:text-white","aria-label":"Remove attachment",children:(0,e.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"close"})})]},a.id))}):null,(0,e.jsx)("div",{className:"mx-auto w-full max-w-3xl px-4 pb-2",children:(0,e.jsxs)("div",{className:"rounded-[26px] bg-[#2f2f2f] px-3 pt-3 pb-2 shadow-[0_0_15px_rgba(0,0,0,0.10)] ring-1 ring-white/5",children:[(0,e.jsx)("textarea",{value:v,onChange:a=>w(a.target.value),onKeyDown:a=>{"Enter"===a.key&&!a.shiftKey&&(a.preventDefault(),V&&Z())},placeholder:"Message AI",rows:1,className:"w-full resize-none bg-transparent px-2 text-[15px] leading-6 text-white outline-none placeholder:text-white/40 custom-scrollbar max-h-[25vh] overflow-y-auto"}),(0,e.jsxs)("div",{className:"mt-2 flex items-center justify-between gap-3",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)("button",{type:"button",onClick:()=>L.current?.click(),disabled:!R||c,className:"p-2 text-white/50 hover:text-white transition rounded-full hover:bg-white/5",children:(0,e.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"attach_file"})}),(0,e.jsx)("input",{ref:L,type:"file",accept:"image/*",multiple:!0,className:"hidden",onChange:Y}),(0,e.jsx)("span",{className:"text-xs font-medium text-white/30 truncate max-w-[120px]",children:R?R.name:"No model"})]}),(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[z?(0,e.jsx)("button",{type:"button",onClick:()=>{M.current?.abort()},className:"p-2 text-white bg-white/10 hover:bg-white/20 transition rounded-full h-8 w-8 flex items-center justify-center",children:(0,e.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"stop"})}):null,(0,e.jsx)("button",{onClick:Z,disabled:!V,className:`h-8 w-8 rounded-full flex items-center justify-center transition ${V?"bg-white text-black hover:opacity-90":"bg-white/10 text-white/30 cursor-not-allowed"}`,children:(0,e.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"arrow_upward"})})]})]})]})})]}),(0,e.jsx)("p",{className:"mx-auto mt-2 max-w-3xl px-4 pb-4 text-center text-[11px] text-white/30",children:"Model list is filtered from connected providers."})]})]})})}g=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},73429:a=>{"use strict";a.exports=require("node:util/types")},73496:a=>{"use strict";a.exports=require("http2")},74075:a=>{"use strict";a.exports=require("zlib")},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77598:a=>{"use strict";a.exports=require("node:crypto")},78474:a=>{"use strict";a.exports=require("node:events")},79286:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"F:\\\\Files\\\\GitHub Files\\\\10router\\\\src\\\\app\\\\(dashboard)\\\\dashboard\\\\basic-chat\\\\BasicChatPageClient.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"F:\\Files\\GitHub Files\\10router\\src\\app\\(dashboard)\\dashboard\\basic-chat\\BasicChatPageClient.js","default")},79646:a=>{"use strict";a.exports=require("child_process")},79868:a=>{"use strict";a.exports=require("node:sqlite")},79978:(a,b,c)=>{Promise.resolve().then(c.bind(c,79286))},81630:a=>{"use strict";a.exports=require("http")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},87997:a=>{"use strict";a.exports=require("node:timers")},91645:a=>{"use strict";a.exports=require("net")},94735:a=>{"use strict";a.exports=require("events")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1260,2430,4613,8410,877,5781,7274,9251,6070,869,7239,6457,4123,1377,6960,8990],()=>b(b.s=38105));module.exports=c})();
|
|
1
|
+
(()=>{var a={};a.id=4465,a.ids=[4465],a.modules={643:a=>{"use strict";a.exports=require("node:perf_hooks")},1708:a=>{"use strict";a.exports=require("node:process")},1932:a=>{"use strict";a.exports=require("url")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{"use strict";a.exports=require("node:buffer")},7066:a=>{"use strict";a.exports=require("node:tty")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14985:a=>{"use strict";a.exports=require("dns")},16698:a=>{"use strict";a.exports=require("node:async_hooks")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19730:(a,b,c)=>{Promise.resolve().then(c.bind(c,73180))},21820:a=>{"use strict";a.exports=require("os")},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{"use strict";a.exports=require("node:child_process")},32467:a=>{"use strict";a.exports=require("node:http2")},33873:a=>{"use strict";a.exports=require("path")},34589:a=>{"use strict";a.exports=require("node:assert")},37067:a=>{"use strict";a.exports=require("node:http")},37540:a=>{"use strict";a.exports=require("node:console")},38522:a=>{"use strict";a.exports=require("node:zlib")},40551:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(5735),e=c(79286);function f(){return(0,d.jsx)(e.default,{})}},40610:a=>{"use strict";a.exports=require("node:dns")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41692:a=>{"use strict";a.exports=require("node:tls")},41792:a=>{"use strict";a.exports=require("node:querystring")},42077:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>w,handler:()=>y,routeModule:()=>x});var d=c(21635),e=c(86315),f=c(1020),g=c(61287),h={};for(let a in g)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(h[a]=()=>g[a]);c.d(b,h);let i=(0,d.p)(()=>Promise.resolve().then(c.bind(c,57529))),j=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),k=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),l=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),m=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),n=(0,d.p)(()=>Promise.resolve().then(c.bind(c,30508))),o=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),p=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),q=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),r=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),s=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),t=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),u={children:["",{children:["(dashboard)",{children:["dashboard",{children:["basic-chat",{children:["__PAGE__",{},{page:[(0,d.p)(()=>Promise.resolve().then(c.bind(c,40551))),"F:\\Files\\GitHub Files\\10router\\src\\app\\(dashboard)\\dashboard\\basic-chat\\page.js"]}]},{"global-error":[t,"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[s,"next/dist/client/components/builtin/global-error.js"]},[]]},{layout:[n,"F:\\Files\\GitHub Files\\10router\\src\\app\\(dashboard)\\layout.js"],"global-error":[o,"next/dist/client/components/builtin/global-error.js"],"not-found":[p,"next/dist/client/components/builtin/not-found.js"],forbidden:[q,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[r,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,70440)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]},{layout:[i,"F:\\Files\\GitHub Files\\10router\\src\\app\\layout.js"],"global-error":[j,"next/dist/client/components/builtin/global-error.js"],"not-found":[k,"next/dist/client/components/builtin/not-found.js"],forbidden:[l,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[m,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,70440)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]}.children,v=(0,e.H)({tree:u,page:"/(dashboard)/dashboard/basic-chat/page",pathname:"/dashboard/basic-chat",require:c,loadChunk:()=>Promise.resolve(),interopDefault:f.T}),w=v.__next_app__,x=v.routeModule,y=v.handler},46060:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external.js")},46293:a=>{"use strict";a.exports=require("sql.js")},48161:a=>{"use strict";a.exports=require("node:os")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71553:a=>{"use strict";a.exports=require("node:dns/promises")},71622:a=>{"use strict";a.exports=import("open")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73180:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{default:()=>m});var e=c(48249),f=c(67484),g=c(94579);c(91431),c(92592);var h=a([g]);function i(){return globalThis.crypto?.randomUUID?globalThis.crypto.randomUUID():`chat_${Date.now()}_${Math.random().toString(16).slice(2)}`}function j(a){if("string"==typeof a)return a;if(null==a)return"";if(Array.isArray(a))return a.map(j).filter(Boolean).join(" ");if("object"==typeof a){if("string"==typeof a.message)return a.message;if("string"==typeof a.error)return a.error;try{return JSON.stringify(a)}catch{}}return String(a)}function k(a=""){let b=j(a).replace(/\s+/g," ").trim();return b?b.length>52?`${b.slice(0,52).trimEnd()}…`:b:"New chat"}async function l(a){return await new Promise((b,c)=>{let d=new FileReader;d.onload=()=>b(String(d.result||"")),d.onerror=()=>c(d.error||Error("Failed to read file")),d.readAsDataURL(a)})}function m(){let[a,b]=(0,f.useState)([]),[c,d]=(0,f.useState)(!0),[h,m]=(0,f.useState)(""),[n,o]=(0,f.useState)(()=>[]),[p,q]=(0,f.useState)(()=>""),[r,s]=(0,f.useState)(()=>""),[t,u]=(0,f.useState)(""),[v,w]=(0,f.useState)(()=>""),[x,y]=(0,f.useState)([]),[z,A]=(0,f.useState)(!1),[B,C]=(0,f.useState)(""),[D,E]=(0,f.useState)(""),[F,G]=(0,f.useState)(!1),[H,I]=(0,f.useState)(!1),[J,K]=(0,f.useState)(!1),L=(0,f.useRef)(null),M=(0,f.useRef)(null);(0,f.useRef)(!1);let N=(0,f.useRef)(null),O=(0,f.useRef)(null),P=(0,f.useMemo)(()=>{let b=new Map;for(let c of a)for(let a of c.models)b.set(a.id,{...a,providerId:c.providerId,providerName:c.providerName});return b},[a]),Q=(0,f.useMemo)(()=>a.find(a=>a.providerId===r)||a[0]||null,[a,r]),R=(0,f.useMemo)(()=>{if(t&&P.has(t))return P.get(t);if(p){let a=n.find(a=>a.id===p);if(a?.modelId&&P.has(a.modelId))return P.get(a.modelId)}return Q?.models?.[0]||null},[t,P,Q,n,p]),S=(0,f.useMemo)(()=>n.find(a=>a.id===p)||null,[n,p]),T=S?.messages||[],U=(0,f.useMemo)(()=>[...n].sort((a,b)=>new Date(b.updatedAt).getTime()-new Date(a.updatedAt).getTime()),[n]),V=!z&&!!R&&(v.trim().length>0||x.length>0),W=(a,b)=>{o(c=>c.map(c=>c.id===a?b({...c,messages:Array.isArray(c.messages)?c.messages.map(a=>({...a})):[]}):c))},X=a=>a?{id:i(),title:"New chat",providerId:a.providerId,providerName:a.providerName,modelId:a.id,modelName:a.name,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),messages:[]}:null,Y=async a=>{let b=Array.from(a.target.files||[]);if(0===b.length)return;let c=b.filter(a=>a.type.startsWith("image/"));if(0===c.length){a.target.value="";return}let d=await Promise.all(c.map(async a=>({id:i(),name:a.name,type:a.type,size:a.size,dataUrl:await l(a)})));y(a=>[...a,...d]),a.target.value=""},Z=async()=>{let a=R||Q?.models?.[0]||null;if(!a)return;let b=v.trim();if(!b&&0===x.length)return;let c=p,d=n.find(a=>a.id===c);if(!d){if(!(d=X(a)))return;c=d.id,o(a=>[d,...a]),q(c)}let e={id:i(),role:"user",content:b,attachments:x.map(a=>({id:a.id,name:a.name,type:a.type,dataUrl:a.dataUrl})),createdAt:new Date().toISOString()},f=i(),g={id:f,role:"assistant",content:"",createdAt:new Date().toISOString(),status:"streaming"},h=[...d.messages||[],e,g];o(d=>d.map(d=>d.id===c?{...d,providerId:a.providerId,providerName:a.providerName,modelId:a.id,modelName:a.name,messages:h,updatedAt:new Date().toISOString(),title:"New chat"===d.title?k(b):d.title}:d)),w(""),y([]),A(!0),C(f),E(""),M.current?.abort(),M.current=new AbortController;let l=h.filter(a=>"assistant"!==a.role||a.id!==f).map(a=>({role:a.role,content:"user"===a.role?function(a){let b=j(a.content).trim(),c=Array.isArray(a.attachments)?a.attachments:[];if(0===c.length)return b;let d=[];for(let a of(b&&d.push({type:"text",text:b}),c))a?.dataUrl&&d.push({type:"image_url",image_url:{url:a.dataUrl}});return d.length>0?d:b}(a):a.content}));try{var r;let d,e=await fetch("/api/dashboard/chat/completions",{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify({model:a.requestModel||a.id,messages:l,stream:!0}),signal:M.current.signal});if(!e.ok){let a=await e.json().catch(()=>({}));throw Error(j(a.error||a.message||`Request failed (${e.status})`))}let g=e.body?.getReader();if(!g){let a=await e.json().catch(()=>({})),b=j(a?.choices?.[0]?.message?.content||a?.output_text||a?.error||a?.message||"");W(c,a=>({...a,messages:a.messages.map(a=>a.id===f?{...a,content:b,status:"done"}:a),updatedAt:new Date().toISOString()}));return}let h=new TextDecoder,i="",m="";for(;;){let{value:a,done:b}=await g.read();if(b)break;let d=(i+=h.decode(a,{stream:!0})).split(/\r?\n/);for(let a of(i=d.pop()||"",d)){let b=a.trim();if(!b.startsWith("data:"))continue;let d=b.slice(5).trim();if(d&&"[DONE]"!==d)try{let a=JSON.parse(d),b=function(a){if(!a||"object"!=typeof a)return"";let b=a.choices?.[0];return[(b?.delta||{}).content,b?.message?.content,a.output_text,a.text].map(j).filter(Boolean)[0]||""}(a);if(!b)continue;m+=b,E(m),W(c,a=>({...a,messages:a.messages.map(a=>a.id===f?{...a,content:m,status:"streaming"}:a),updatedAt:new Date().toISOString()}))}catch{}}}W(c,a=>({...a,messages:a.messages.map(a=>a.id===f?{...a,content:m||a.content,status:"done"}:a),updatedAt:new Date().toISOString()})),r=c,d=k(b),W(r,a=>({...a,title:"New chat"===a.title?d:a.title,updatedAt:new Date().toISOString()}))}catch(a){if("AbortError"!==a.name){let b=j(a?.message||a);W(c,a=>({...a,messages:a.messages.map(a=>a.id===f?{...a,content:a.content||`Error: ${b}`,status:"error"}:a),updatedAt:new Date().toISOString()})),m(b||"Failed to send message.")}}finally{A(!1),C(""),E(""),M.current=null}},$=R?`${R.name}`:"Select model",_=R?R.requestModel:"Choose from connected providers";return(0,e.jsx)("div",{className:"relative flex-1 flex flex-col h-full min-h-0 min-w-0 bg-[#212121] text-white overflow-hidden",children:(0,e.jsxs)("div",{className:"relative mx-auto flex flex-1 h-full min-h-0 w-full max-w-4xl flex-col",children:[(0,e.jsxs)("div",{className:"flex shrink-0 items-center justify-between gap-3 px-4 py-3 lg:px-6",children:[(0,e.jsxs)("div",{ref:N,className:"relative",children:[(0,e.jsx)("button",{type:"button",onClick:()=>I(a=>!a),className:"flex items-center gap-3 rounded-2xl border border-white/10 bg-white/5 px-4 py-3 text-left transition hover:bg-white/8",children:(0,e.jsxs)("div",{className:"min-w-0",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)("span",{className:"text-sm font-semibold text-white",children:$}),(0,e.jsx)("span",{className:"material-symbols-outlined text-[18px] text-white/70",children:"expand_more"})]}),(0,e.jsx)("p",{className:"truncate text-xs text-white/55",children:_})]})}),H?(0,e.jsxs)("div",{className:"absolute left-0 top-[calc(100%+10px)] z-30 w-[min(520px,calc(100vw-2rem))] overflow-hidden rounded-[20px] border border-white/10 bg-[#262626] shadow-2xl shadow-black/50",children:[(0,e.jsxs)("div",{className:"border-b border-white/10 px-4 py-3",children:[(0,e.jsx)("p",{className:"text-xs uppercase tracking-[0.22em] text-white/45",children:"Models"}),(0,e.jsx)("p",{className:"text-sm text-white/75",children:"Only from connected providers"})]}),(0,e.jsx)("div",{className:"max-h-[60vh] overflow-y-auto p-2 custom-scrollbar",children:a.map(a=>(0,e.jsxs)("div",{className:"mb-2 rounded-[16px] border border-white/10 bg-black/20 p-2",children:[(0,e.jsxs)("div",{className:"flex items-center justify-between px-2 py-2",children:[(0,e.jsx)("p",{className:"text-sm font-semibold text-white",children:a.providerName}),(0,e.jsx)(g.Ex,{size:"sm",variant:"default",children:a.models.length})]}),(0,e.jsx)("div",{className:"grid gap-2 sm:grid-cols-2",children:a.models.map(a=>{let b=a.id===t;return(0,e.jsx)("button",{type:"button",onClick:()=>(a=>{let b=P.get(a);if(!b)return;let c=n.find(a=>a.id===p);if(c&&c.messages.length>0){let a=X(b);if(!a)return;o(b=>[a,...b]),q(a.id)}else if(c)o(a=>a.map(a=>a.id===c.id?{...a,providerId:b.providerId,providerName:b.providerName,modelId:b.id,modelName:b.name}:a)),q(c.id);else{let a=X(b);if(!a)return;o(b=>[a,...b]),q(a.id)}s(b.providerId),u(b.id),I(!1)})(a.id),className:`rounded-[14px] border px-3 py-3 text-left transition ${b?"border-blue-400/40 bg-blue-500/15":"border-white/10 bg-white/5 hover:bg-white/8"}`,children:(0,e.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,e.jsxs)("div",{className:"min-w-0",children:[(0,e.jsx)("p",{className:"truncate text-sm font-medium text-white",children:a.name}),(0,e.jsx)("p",{className:"truncate text-[11px] text-white/45",children:a.requestModel})]}),b?(0,e.jsx)("span",{className:"material-symbols-outlined text-[18px] text-blue-300",children:"check_circle"}):null]})},a.id)})})]},a.providerId))})]}):null]}),(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)("button",{type:"button",onClick:()=>K(a=>!a),className:"rounded-2xl border border-white/10 bg-white/5 px-4 py-3 text-sm text-white/80 transition hover:bg-white/8",children:"History"}),(0,e.jsx)(g.$n,{variant:"ghost",size:"sm",icon:"delete",onClick:()=>{if(!p)return;let a=n.filter(a=>a.id!==p),b=a[0]||null;o(a),b?(q(b.id),s(b.providerId),u(b.modelId)):(q(""),s(""),u(""))},disabled:!p||0===n.length,children:"Clear"})]})]}),J?(0,e.jsxs)("div",{ref:O,className:"absolute right-4 top-[72px] z-20 w-[min(360px,calc(100vw-2rem))] rounded-[20px] border border-white/10 bg-[#262626] p-2 shadow-2xl shadow-black/50 lg:right-6",children:[(0,e.jsx)("div",{className:"px-3 py-2",children:(0,e.jsx)("p",{className:"text-xs uppercase tracking-[0.22em] text-white/45",children:"Recent chats"})}),(0,e.jsx)("div",{className:"max-h-[48vh] space-y-2 overflow-y-auto p-1 custom-scrollbar",children:0===U.length?(0,e.jsx)("div",{className:"rounded-[16px] border border-dashed border-white/10 bg-white/5 p-4 text-sm text-white/55",children:"No conversations yet."}):U.map(a=>{let b=a.id===p,c=[...a.messages||[]].reverse().find(a=>"user"===a.role)||a.messages?.[0];return(0,e.jsx)("button",{type:"button",onClick:()=>{var b;let c;return b=a.id,void((c=n.find(a=>a.id===b))&&(q(b),s(c.providerId||r),u(c.modelId||t),K(!1)))},className:`w-full rounded-[16px] border px-3 py-3 text-left transition ${b?"border-blue-400/40 bg-blue-500/15":"border-white/10 bg-white/5 hover:bg-white/8"}`,children:(0,e.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,e.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,e.jsx)("p",{className:"truncate text-sm font-medium text-white",children:a.title}),(0,e.jsx)("p",{className:"mt-1 truncate text-xs text-white/50",children:j(c?.content)||"Empty chat"})]}),(0,e.jsx)("span",{className:"text-[10px] text-white/40 shrink-0",children:function(a){if(!a)return"Now";let b=new Date(a).getTime();if(Number.isNaN(b))return"Now";let c=Math.max(1,Math.round((Date.now()-b)/6e4));if(c<60)return`${c}m`;let d=Math.round(c/60);return d<24?`${d}h`:`${Math.round(d/24)}d`}(a.updatedAt)})]})},a.id)})})]}):null,h?(0,e.jsx)("div",{className:"mt-4 rounded-[18px] border border-rose-500/20 bg-rose-500/10 px-4 py-3 text-rose-100",children:(0,e.jsxs)("div",{className:"flex items-start gap-3",children:[(0,e.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"error"}),(0,e.jsx)("p",{className:"text-sm leading-6",children:h})]})}):null,(0,e.jsxs)("div",{className:"flex flex-1 flex-col min-h-0",children:[(0,e.jsxs)("div",{className:"flex-1 overflow-y-auto py-4 custom-scrollbar",children:[0===T.length?(0,e.jsx)("div",{className:"flex min-h-[50vh] items-center justify-center px-4 text-center",children:(0,e.jsxs)("div",{className:"max-w-xl space-y-4",children:[(0,e.jsx)("div",{className:"mx-auto flex size-16 items-center justify-center rounded-[20px] border border-white/10 bg-white/5 text-white/80",children:(0,e.jsx)("span",{className:"material-symbols-outlined text-[30px]",children:"chat"})}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)("h2",{className:"text-2xl font-semibold text-white",children:"Start a conversation"}),(0,e.jsx)("p",{className:"text-sm leading-6 text-white/60",children:"Simple chat interface to interact with any AI model from connected providers. Select a model and start chatting!"})]})]})}):null,(0,e.jsx)("div",{className:"mx-auto flex w-full max-w-3xl flex-col gap-4 px-4",children:T.map(a=>{let b="user"===a.role,c="assistant"===a.role,d=c&&a.id===B&&"streaming"===a.status,f=j(a.content)||(c?D:"");return(0,e.jsx)("div",{className:`flex w-full ${b?"justify-end":"justify-start"} mb-6`,children:(0,e.jsxs)("div",{className:`max-w-[min(88%,42rem)] ${b?"rounded-3xl bg-[#2f2f2f] px-5 py-3.5 text-white":"text-white/90"}`,children:[(0,e.jsx)("div",{className:"mb-1 flex items-center justify-between gap-3",children:(0,e.jsx)("span",{className:"text-xs font-semibold",children:b?"You":R?.name||"Assistant"})}),a.attachments?.length?(0,e.jsx)("div",{className:"mb-3 grid grid-cols-2 gap-2 sm:grid-cols-3 mt-2",children:a.attachments.map(a=>(0,e.jsx)("a",{href:a.dataUrl,target:"_blank",rel:"noreferrer",className:"overflow-hidden rounded-[18px] border border-white/10 bg-black/20",children:(0,e.jsx)("img",{src:a.dataUrl,alt:a.name,className:"h-28 w-full object-cover",loading:"lazy",decoding:"async"})},a.id))}):null,(0,e.jsxs)("div",{className:"whitespace-pre-wrap break-words text-[15px] leading-7",children:[f,c&&d&&!D?(0,e.jsx)("span",{className:"inline-block animate-pulse",children:"▋"}):null]})]})},a.id)})})]}),(0,e.jsxs)("div",{className:"shrink-0 pt-2",children:[x.length>0?(0,e.jsx)("div",{className:"mx-auto mb-3 flex w-full max-w-3xl flex-wrap gap-2 px-4",children:x.map(a=>(0,e.jsxs)("div",{className:"flex items-center gap-2 rounded-full border border-white/10 bg-white/5 px-3 py-2",children:[(0,e.jsx)("span",{className:"text-xs text-white/80 max-w-[12rem] truncate",children:a.name}),(0,e.jsx)("button",{type:"button",onClick:()=>{var b;return b=a.id,void y(a=>a.filter(a=>a.id!==b))},className:"text-white/55 hover:text-white","aria-label":"Remove attachment",children:(0,e.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"close"})})]},a.id))}):null,(0,e.jsx)("div",{className:"mx-auto w-full max-w-3xl px-4 pb-2",children:(0,e.jsxs)("div",{className:"rounded-[26px] bg-[#2f2f2f] px-3 pt-3 pb-2 shadow-[0_0_15px_rgba(0,0,0,0.10)] ring-1 ring-white/5",children:[(0,e.jsx)("textarea",{value:v,onChange:a=>w(a.target.value),onKeyDown:a=>{"Enter"===a.key&&!a.shiftKey&&(a.preventDefault(),V&&Z())},placeholder:"Message AI",rows:1,className:"w-full resize-none bg-transparent px-2 text-[15px] leading-6 text-white outline-none placeholder:text-white/40 custom-scrollbar max-h-[25vh] overflow-y-auto"}),(0,e.jsxs)("div",{className:"mt-2 flex items-center justify-between gap-3",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)("button",{type:"button",onClick:()=>L.current?.click(),disabled:!R||c,className:"p-2 text-white/50 hover:text-white transition rounded-full hover:bg-white/5",children:(0,e.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"attach_file"})}),(0,e.jsx)("input",{ref:L,type:"file",accept:"image/*",multiple:!0,className:"hidden",onChange:Y}),(0,e.jsx)("span",{className:"text-xs font-medium text-white/30 truncate max-w-[120px]",children:R?R.name:"No model"})]}),(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[z?(0,e.jsx)("button",{type:"button",onClick:()=>{M.current?.abort()},className:"p-2 text-white bg-white/10 hover:bg-white/20 transition rounded-full h-8 w-8 flex items-center justify-center",children:(0,e.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"stop"})}):null,(0,e.jsx)("button",{onClick:Z,disabled:!V,className:`h-8 w-8 rounded-full flex items-center justify-center transition ${V?"bg-white text-black hover:opacity-90":"bg-white/10 text-white/30 cursor-not-allowed"}`,children:(0,e.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"arrow_upward"})})]})]})]})})]}),(0,e.jsx)("p",{className:"mx-auto mt-2 max-w-3xl px-4 pb-4 text-center text-[11px] text-white/30",children:"Model list is filtered from connected providers."})]})]})})}g=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},73429:a=>{"use strict";a.exports=require("node:util/types")},73496:a=>{"use strict";a.exports=require("http2")},74075:a=>{"use strict";a.exports=require("zlib")},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77598:a=>{"use strict";a.exports=require("node:crypto")},78474:a=>{"use strict";a.exports=require("node:events")},79286:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"F:\\\\Files\\\\GitHub Files\\\\10router\\\\src\\\\app\\\\(dashboard)\\\\dashboard\\\\basic-chat\\\\BasicChatPageClient.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"F:\\Files\\GitHub Files\\10router\\src\\app\\(dashboard)\\dashboard\\basic-chat\\BasicChatPageClient.js","default")},79646:a=>{"use strict";a.exports=require("child_process")},79868:a=>{"use strict";a.exports=require("node:sqlite")},79978:(a,b,c)=>{Promise.resolve().then(c.bind(c,79286))},81630:a=>{"use strict";a.exports=require("http")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},87997:a=>{"use strict";a.exports=require("node:timers")},91645:a=>{"use strict";a.exports=require("net")},94735:a=>{"use strict";a.exports=require("events")},98995:a=>{"use strict";a.exports=require("node:module")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,2391,7568,2430,4613,8410,877,1330,6070,869,5781,7274,7239,1219,4123,8172,6960,112],()=>b(b.s=42077));module.exports=c})();
|