@techysy/10router 1.1.2 → 1.2.0
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 -6
- 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 +30 -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 +2 -2
- 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 +5 -5
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/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 +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/start/route.js +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 +3 -3
- 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 +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +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 +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +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 +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +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 +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-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 +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +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 +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/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 -0
- package/app/.next-cli-build/server/app/api/models/caps/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/models/caps/route_client-reference-manifest.js +1 -0
- 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 -0
- package/app/.next-cli-build/server/app/api/oauth/qoder/checkin/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/qoder/checkin/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/qoder-cn/checkin/route.js +1 -0
- package/app/.next-cli-build/server/app/api/oauth/qoder-cn/checkin/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/oauth/qoder-cn/checkin/route_client-reference-manifest.js +1 -0
- 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/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 -6
- package/app/.next-cli-build/server/chunks/112.js +1 -0
- package/app/.next-cli-build/server/chunks/1159.js +3 -3
- package/app/.next-cli-build/server/chunks/1330.js +1 -0
- package/app/.next-cli-build/server/chunks/1531.js +1 -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/2179.js +1 -1
- 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/3225.js +1 -6
- package/app/.next-cli-build/server/chunks/{7843.js → 3500.js} +7 -2
- 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/3943.js +1 -1
- package/app/.next-cli-build/server/chunks/4037.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/4126.js +1 -0
- package/app/.next-cli-build/server/chunks/4739.js +1 -1
- package/app/.next-cli-build/server/chunks/4780.js +1 -1
- 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/5258.js +2 -2
- package/app/.next-cli-build/server/chunks/5330.js +8 -8
- 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/5781.js +2 -2
- package/app/.next-cli-build/server/chunks/6051.js +1 -0
- package/app/.next-cli-build/server/chunks/6070.js +1 -1
- package/app/.next-cli-build/server/chunks/615.js +1 -1
- package/app/.next-cli-build/server/chunks/6212.js +1 -1
- 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/6520.js +1 -1
- package/app/.next-cli-build/server/chunks/653.js +1 -1
- package/app/.next-cli-build/server/chunks/6756.js +1 -0
- package/app/.next-cli-build/server/chunks/6763.js +1 -1
- package/app/.next-cli-build/server/chunks/6844.js +1 -1
- package/app/.next-cli-build/server/chunks/6871.js +1 -1
- 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 -0
- package/app/.next-cli-build/server/chunks/7122.js +6 -0
- package/app/.next-cli-build/server/chunks/7180.js +6 -0
- 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 +33 -0
- package/app/.next-cli-build/server/chunks/7322.js +1 -1
- package/app/.next-cli-build/server/chunks/7365.js +1 -0
- package/app/.next-cli-build/server/chunks/75.js +1 -0
- package/app/.next-cli-build/server/chunks/7965.js +1 -1
- package/app/.next-cli-build/server/chunks/808.js +1 -1
- package/app/.next-cli-build/server/chunks/8145.js +1 -1
- package/app/.next-cli-build/server/chunks/8410.js +1 -1
- 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/8546.js +1 -1
- package/app/.next-cli-build/server/chunks/8635.js +5 -1
- package/app/.next-cli-build/server/chunks/869.js +1 -1
- package/app/.next-cli-build/server/chunks/8838.js +1 -1
- package/app/.next-cli-build/server/chunks/8895.js +12 -9
- package/app/.next-cli-build/server/chunks/8920.js +1 -1
- 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/9896.js +1 -0
- package/app/.next-cli-build/server/chunks/9927.js +1 -1
- package/app/.next-cli-build/server/instrumentation.js +1 -1
- package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware.js +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/chunks/1243-d0e0b9458266e912.js +3 -0
- package/app/.next-cli-build/static/chunks/1321-23084daf91733d47.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-d050b53817def025.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-48878e82a437e813.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-18da0e8d40af56ac.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-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/login/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/status/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/verify-password/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/health/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/init/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/rotate/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/locale/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/alias/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/availability/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/caps/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/custom/bulk/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/custom/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/test/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/network/egress-region/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/checkin/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/export/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/qoder/checkin/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/qoder-cn/checkin/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/transfer/export/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/transfer/import/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pricing/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/client/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/security/status/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/database/import-usage/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/database/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/shutdown/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tags/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/load/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/save/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/send/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/dashboard/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/history/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/search/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/update/route-45a30f9960975021.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-f1945d5fab85c48f.js +1 -0
- package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/app/page-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-45a30f9960975021.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-45a30f9960975021.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/6e249fe05f9d7227.css +1 -0
- package/app/.next-cli-build/static/css/7a3e1568f247f3d0.css +1 -0
- package/app/.next-cli-build/static/mzc6AVdJokpIsYjtjKON0/_buildManifest.js +1 -0
- package/app/custom-server.js +8 -8
- package/app/package.json +1 -1
- package/app/public/i18n/changelog/en.md +64 -0
- package/app/public/i18n/changelog/zh-CN.md +64 -0
- package/app/public/i18n/changelog/zh-TW.md +64 -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 +1857 -1755
- package/app/public/i18n/literals/zh-TW.json +695 -578
- package/app/public/providers/mimo-desktop.png +0 -0
- package/app/public/providers/qoder-cn.png +0 -0
- package/app/public/providers/qoder.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/services/qoder.js +13 -3
- 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 +437 -0
- package/cli.js +91 -9
- 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/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 +26 -8
- package/src/cli/staleServer.js +216 -0
- package/app/.next-cli-build/server/chunks/1377.js +0 -1
- package/app/.next-cli-build/server/chunks/1937.js +0 -1
- package/app/.next-cli-build/server/chunks/1968.js +0 -1
- package/app/.next-cli-build/server/chunks/2268.js +0 -1
- package/app/.next-cli-build/server/chunks/3395.js +0 -1
- package/app/.next-cli-build/server/chunks/3546.js +0 -1
- package/app/.next-cli-build/server/chunks/4055.js +0 -9
- package/app/.next-cli-build/server/chunks/4531.js +0 -1
- package/app/.next-cli-build/server/chunks/4848.js +0 -1
- 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/7805.js +0 -33
- 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/static/0UB55QZoHsERFCcuezqF6/_buildManifest.js +0 -1
- package/app/.next-cli-build/static/chunks/1243-220f1fd87235cb92.js +0 -3
- package/app/.next-cli-build/static/chunks/1321-c260dcc02a05636e.js +0 -1
- package/app/.next-cli-build/static/chunks/5497-5558a45da400f48e.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-df0197fa38b2dd6d.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-6fa55fa547594c8c.js +0 -14
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-c44ffd57ebec461e.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-c640efd5ea8efb38.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-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/login/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/status/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/verify-password/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/health/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/init/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/keys/rotate/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/keys/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/locale/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/alias/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/availability/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/custom/bulk/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/custom/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/test/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/network/egress-region/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/checkin/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/export/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/transfer/export/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/transfer/import/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pricing/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/client/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/database/import-usage/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/database/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/shutdown/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tags/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/load/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/save/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/send/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/dashboard/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/history/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/search/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/update/route-f2f9b74f8844db3a.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-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/app/page-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-f2f9b74f8844db3a.js +0 -1
- package/app/.next-cli-build/static/css/246bebea1dda73a2.css +0 -1
- package/app/.next-cli-build/static/css/8f9ac5a7bd3a79e5.css +0 -1
- /package/app/.next-cli-build/static/{0UB55QZoHsERFCcuezqF6 → mzc6AVdJokpIsYjtjKON0}/_ssgManifest.js +0 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import Database from "better-sqlite3";
|
|
2
1
|
import { PRAGMA_SQL } from "../schema.js";
|
|
3
2
|
|
|
4
3
|
// Periodic checkpoint to keep WAL file small (avoid huge -wal/-shm growth)
|
|
5
4
|
const CHECKPOINT_INTERVAL_MS = 60 * 1000;
|
|
6
5
|
|
|
7
|
-
|
|
6
|
+
// `Database` is injected rather than imported: the module the app should use is
|
|
7
|
+
// the runtime copy under <dataDir>/runtime/node_modules, which is NOT reachable
|
|
8
|
+
// from this file's location by bare specifier (that would resolve upward through
|
|
9
|
+
// the global tree first). driver.js resolves it and passes it in — see
|
|
10
|
+
// loadBetterSqlite() there.
|
|
11
|
+
export function createBetterSqliteAdapter(filePath, Database) {
|
|
8
12
|
const db = new Database(filePath);
|
|
9
13
|
db.exec(PRAGMA_SQL);
|
|
10
14
|
// Schema is created/synced by migrate.js after adapter init
|
|
@@ -7,6 +7,7 @@ import { getMetaSync, setMetaSync } from "./helpers/metaStore.js";
|
|
|
7
7
|
import { makeBackupDir, backupFile, backupDbLite, pruneOldBackups } from "./backup.js";
|
|
8
8
|
import { getAppVersion } from "./version.js";
|
|
9
9
|
import { stringifyJson } from "./helpers/jsonCol.js";
|
|
10
|
+
import { encryptConnectionData } from "./crypto/credentialCipher.js";
|
|
10
11
|
|
|
11
12
|
// Marker file: prevents re-importing legacy JSON when user wipes data.sqlite.
|
|
12
13
|
const MIGRATED_MARKER = path.join(DB_DIR, ".migrated-from-json");
|
|
@@ -110,8 +111,10 @@ function syncSchemaFromTables(adapter) {
|
|
|
110
111
|
|
|
111
112
|
// ─── Legacy JSON import (one-time) ───────────────────────────────────────
|
|
112
113
|
function importLegacyMain(adapter, data) {
|
|
114
|
+
// Runs AFTER the versioned migrations (see runMigrationOnce), so migration 003
|
|
115
|
+
// has already swept the table — rows inserted here would otherwise sit in plain
|
|
116
|
+
// text forever. Encrypt on the way in.
|
|
113
117
|
if (!data || typeof data !== "object") return;
|
|
114
|
-
|
|
115
118
|
if (data.settings) {
|
|
116
119
|
adapter.run(`INSERT INTO settings(id, data) VALUES(1, ?) ON CONFLICT(id) DO UPDATE SET data = excluded.data`, [stringifyJson(data.settings)]);
|
|
117
120
|
}
|
|
@@ -120,7 +123,7 @@ function importLegacyMain(adapter, data) {
|
|
|
120
123
|
const { id, provider, authType, name, email, priority, isActive, createdAt, updatedAt, ...rest } = c;
|
|
121
124
|
adapter.run(
|
|
122
125
|
`INSERT OR REPLACE INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,
|
|
123
|
-
[id, provider, authType || "oauth", name || null, email || null, priority || null, isActive === false ? 0 : 1, stringifyJson(rest), createdAt || new Date().toISOString(), updatedAt || new Date().toISOString()]
|
|
126
|
+
[id, provider, authType || "oauth", name || null, email || null, priority || null, isActive === false ? 0 : 1, stringifyJson(encryptConnectionData(rest)), createdAt || new Date().toISOString(), updatedAt || new Date().toISOString()]
|
|
124
127
|
);
|
|
125
128
|
}, (c) => ({ id: c.id ?? null, provider: c.provider ?? null, name: c.name ?? null }));
|
|
126
129
|
|
|
@@ -52,6 +52,16 @@ async function fetchWithTimeout(url, init = {}) {
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
export class QoderService {
|
|
55
|
+
/**
|
|
56
|
+
* @param {object} [endpoints] - Endpoint overrides for the CN deployment
|
|
57
|
+
* (qoder-cn). Defaults to the global qoder.sh hosts.
|
|
58
|
+
*/
|
|
59
|
+
constructor(endpoints = {}) {
|
|
60
|
+
this.deviceTokenUrl = endpoints.deviceTokenUrl || QODER_DEVICE_TOKEN_URL;
|
|
61
|
+
this.loginUrl = endpoints.loginUrl || QODER_LOGIN_URL;
|
|
62
|
+
this.userInfoUrl = endpoints.userInfoUrl || QODER_USERINFO_URL;
|
|
63
|
+
}
|
|
64
|
+
|
|
55
65
|
/**
|
|
56
66
|
* Generate a PKCE verifier + S256 challenge pair.
|
|
57
67
|
* Uses 32 random bytes (matches qodercli/Veria).
|
|
@@ -79,7 +89,7 @@ export class QoderService {
|
|
|
79
89
|
});
|
|
80
90
|
|
|
81
91
|
return {
|
|
82
|
-
verificationUriComplete: `${
|
|
92
|
+
verificationUriComplete: `${this.loginUrl}?${params.toString()}`,
|
|
83
93
|
codeVerifier: verifier,
|
|
84
94
|
nonce,
|
|
85
95
|
machineId,
|
|
@@ -98,7 +108,7 @@ export class QoderService {
|
|
|
98
108
|
if (!nonce || !codeVerifier) {
|
|
99
109
|
throw new Error("pollDeviceToken: missing nonce or code verifier");
|
|
100
110
|
}
|
|
101
|
-
const url = `${
|
|
111
|
+
const url = `${this.deviceTokenUrl}?nonce=${encodeURIComponent(nonce)}&verifier=${encodeURIComponent(codeVerifier)}&challenge_method=S256`;
|
|
102
112
|
|
|
103
113
|
const response = await fetchWithTimeout(url, {
|
|
104
114
|
method: "GET",
|
|
@@ -155,7 +165,7 @@ export class QoderService {
|
|
|
155
165
|
*/
|
|
156
166
|
async fetchUserInfo(accessToken) {
|
|
157
167
|
try {
|
|
158
|
-
const response = await fetchWithTimeout(
|
|
168
|
+
const response = await fetchWithTimeout(this.userInfoUrl, {
|
|
159
169
|
method: "GET",
|
|
160
170
|
headers: {
|
|
161
171
|
Authorization: `Bearer ${accessToken}`,
|
|
@@ -1,41 +1,50 @@
|
|
|
1
|
-
// Shared identity matching for Xiaomi MiMo connections.
|
|
2
|
-
//
|
|
3
|
-
// MiMo has two credential families (desktop account session + sk- API key) and
|
|
4
|
-
// several ways they arrive (QR import, browser authorization, manual key). All
|
|
5
|
-
// of them must resolve to ONE connection per Xiaomi account, otherwise the
|
|
6
|
-
// dashboard shows duplicate rows for the same uid and routing picks a row that
|
|
7
|
-
// lacks the credential the requested model needs.
|
|
8
|
-
//
|
|
9
|
-
// Match priority (first hit wins):
|
|
10
|
-
// 1. uid — the account id the browser/desktop flow reports
|
|
11
|
-
// 2. mimoUserId — the desktop-session account id (covers uid-less payloads)
|
|
12
|
-
// 3. email — `${uid}@xiaomi` synthetic address
|
|
13
|
-
// 4. accessToken — exact key/token reuse (same file imported twice)
|
|
14
|
-
//
|
|
15
|
-
// Every caller must go through this so the rules cannot drift apart again.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
return
|
|
41
|
-
}
|
|
1
|
+
// Shared identity matching for Xiaomi MiMo connections.
|
|
2
|
+
//
|
|
3
|
+
// MiMo has two credential families (desktop account session + sk- API key) and
|
|
4
|
+
// several ways they arrive (QR import, browser authorization, manual key). All
|
|
5
|
+
// of them must resolve to ONE connection per Xiaomi account, otherwise the
|
|
6
|
+
// dashboard shows duplicate rows for the same uid and routing picks a row that
|
|
7
|
+
// lacks the credential the requested model needs.
|
|
8
|
+
//
|
|
9
|
+
// Match priority (first hit wins):
|
|
10
|
+
// 1. uid — the account id the browser/desktop flow reports
|
|
11
|
+
// 2. mimoUserId — the desktop-session account id (covers uid-less payloads)
|
|
12
|
+
// 3. email — `${uid}@xiaomi` synthetic address
|
|
13
|
+
// 4. accessToken — exact key/token reuse (same file imported twice)
|
|
14
|
+
//
|
|
15
|
+
// Every caller must go through this so the rules cannot drift apart again.
|
|
16
|
+
|
|
17
|
+
// The two cards that share the QR/browser/key flows this matcher dedups. It only
|
|
18
|
+
// ever runs over rows the caller already filtered to ONE of these providers, so
|
|
19
|
+
// accepting both cannot collapse the cards; rejecting `mimo-desktop` could not
|
|
20
|
+
// either — it made the Desktop import never match its own filtered rows, so every
|
|
21
|
+
// re-import stacked a duplicate. `xiaomi-tokenplan` deliberately stays out: its
|
|
22
|
+
// tp- keys are a different credential family that must never dedup into a mimo
|
|
23
|
+
// row.
|
|
24
|
+
const XIAOMI_SESSION_CARDS = new Set(["xiaomi-mimo", "mimo-desktop"]);
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* @param {object} conn candidate connection row
|
|
28
|
+
* @param {{uid?: string|null, key?: string|null, mimoUserId?: string|null}} ident
|
|
29
|
+
* @returns {boolean}
|
|
30
|
+
*/
|
|
31
|
+
export function matchesXiaomiIdentity(conn, ident = {}) {
|
|
32
|
+
if (!conn || !XIAOMI_SESSION_CARDS.has(conn.provider)) return false;
|
|
33
|
+
const { uid = null, key = null, mimoUserId = null } = ident;
|
|
34
|
+
const psd = conn.providerSpecificData || {};
|
|
35
|
+
|
|
36
|
+
if (uid && (psd.uid === uid || psd.mimoUserId === uid)) return true;
|
|
37
|
+
if (uid && conn.email === `${uid}@xiaomi`) return true;
|
|
38
|
+
if (mimoUserId && psd.mimoUserId === mimoUserId) return true;
|
|
39
|
+
if (key && conn.accessToken === key) return true;
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Find the connection that `ident` belongs to, or null.
|
|
45
|
+
* @param {Array<object>} connections
|
|
46
|
+
* @param {{uid?: string|null, key?: string|null, mimoUserId?: string|null}} ident
|
|
47
|
+
*/
|
|
48
|
+
export function findXiaomiConnection(connections, ident = {}) {
|
|
49
|
+
return (connections || []).find((c) => matchesXiaomiIdentity(c, ident)) || null;
|
|
50
|
+
}
|
|
@@ -13,7 +13,27 @@ const os = require("os");
|
|
|
13
13
|
// script can't import that ESM config, so the fallback is duplicated — keep it in
|
|
14
14
|
// step with UPDATER_CONFIG.npmPackageName; the bare `10router` on npm belongs to
|
|
15
15
|
// an unrelated fork.
|
|
16
|
-
const
|
|
16
|
+
const EXPECTED_PACKAGE = "@techysy/10router";
|
|
17
|
+
const packageName = process.env.UPDATER_PKG_NAME || EXPECTED_PACKAGE;
|
|
18
|
+
|
|
19
|
+
// Issue #9, item 6: this process is spawned by an authenticated route, but it runs
|
|
20
|
+
// npm as the user and used to trust UPDATER_PKG_NAME outright — one environment
|
|
21
|
+
// variable could point the "update" at an arbitrary npm package. Only our own
|
|
22
|
+
// package is ever installed, and the target version is pinned rather than left to
|
|
23
|
+
// whatever `latest` resolves to at install time (so the thing that lands is the
|
|
24
|
+
// thing the dashboard told the user about).
|
|
25
|
+
const packageNameMismatch = packageName !== EXPECTED_PACKAGE;
|
|
26
|
+
const targetVersion = (process.env.UPDATER_TARGET_VERSION || "").trim();
|
|
27
|
+
const targetVersionValid = /^\d+\.\d+\.\d+(?:-[0-9A-Za-z.]+)?$/.test(targetVersion);
|
|
28
|
+
const prereleaseAllowed = process.env.UPDATER_ALLOW_PRERELEASE === "1";
|
|
29
|
+
const refusal =
|
|
30
|
+
packageNameMismatch
|
|
31
|
+
? `refusing to update: unexpected package name ${JSON.stringify(packageName)} (expected ${EXPECTED_PACKAGE})`
|
|
32
|
+
: !targetVersionValid
|
|
33
|
+
? "refusing to update: no valid target version was provided (set UPDATER_TARGET_VERSION)"
|
|
34
|
+
: !prereleaseAllowed && targetVersion.includes("-")
|
|
35
|
+
? `refusing to update: ${targetVersion} is not a release version (set UPDATER_ALLOW_PRERELEASE=1 to allow pre-releases)`
|
|
36
|
+
: null;
|
|
17
37
|
const port = parseInt(process.env.UPDATER_PORT || "20129", 10);
|
|
18
38
|
const tailLines = parseInt(process.env.UPDATER_TAIL_LINES || "8", 10);
|
|
19
39
|
const maxRetries = parseInt(process.env.UPDATER_RETRIES || "3", 10);
|
|
@@ -40,6 +60,7 @@ const logFile = path.join(updateDir, "install.log");
|
|
|
40
60
|
const state = {
|
|
41
61
|
phase: "starting",
|
|
42
62
|
packageName,
|
|
63
|
+
targetVersion: targetVersionValid ? targetVersion : null,
|
|
43
64
|
startedAt: Date.now(),
|
|
44
65
|
finishedAt: null,
|
|
45
66
|
attempt: 0,
|
|
@@ -68,9 +89,15 @@ function setPhase(phase) {
|
|
|
68
89
|
persistStatus();
|
|
69
90
|
}
|
|
70
91
|
|
|
71
|
-
// HTTP server exposing status
|
|
92
|
+
// HTTP server exposing status on loopback (issue #9, item 6).
|
|
93
|
+
//
|
|
94
|
+
// It used to answer with `Access-Control-Allow-Origin: *`, which let any web page
|
|
95
|
+
// the operator happened to visit read this endpoint (package name, version,
|
|
96
|
+
// phase, log tail) — a free fingerprint of the install. Nothing needs the wide
|
|
97
|
+
// header any more: the dashboard's legacy status poll was replaced by the
|
|
98
|
+
// "copy install command + shutdown" flow, so the only readers left are the
|
|
99
|
+
// updater's own status.json and a human curling 127.0.0.1.
|
|
72
100
|
const server = http.createServer((req, res) => {
|
|
73
|
-
res.setHeader("Access-Control-Allow-Origin", "*");
|
|
74
101
|
res.setHeader("Cache-Control", "no-store");
|
|
75
102
|
if (req.url === "/update/status" || req.url === "/") {
|
|
76
103
|
res.setHeader("Content-Type", "application/json");
|
|
@@ -132,14 +159,30 @@ function sleep(ms) {
|
|
|
132
159
|
return new Promise((r) => setTimeout(r, ms));
|
|
133
160
|
}
|
|
134
161
|
|
|
162
|
+
// What actually gets installed: our package at the pinned version.
|
|
163
|
+
const installSpec = `${packageName}@${targetVersion}`;
|
|
164
|
+
|
|
135
165
|
function runInstall() {
|
|
166
|
+
if (refusal) {
|
|
167
|
+
// Refuse before touching npm. The dashboard surfaces state.error, so the
|
|
168
|
+
// operator sees why nothing happened instead of a silent no-op.
|
|
169
|
+
pushLog(`[updater] ${refusal}`);
|
|
170
|
+
state.phase = "refused";
|
|
171
|
+
state.error = refusal;
|
|
172
|
+
state.done = true;
|
|
173
|
+
state.success = false;
|
|
174
|
+
state.finishedAt = Date.now();
|
|
175
|
+
persistStatus();
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
|
|
136
179
|
state.attempt += 1;
|
|
137
180
|
setPhase("installing");
|
|
138
|
-
pushLog(`[updater] attempt ${state.attempt}/${maxRetries} — npm i -g ${
|
|
181
|
+
pushLog(`[updater] attempt ${state.attempt}/${maxRetries} — npm i -g ${installSpec} --prefer-online`);
|
|
139
182
|
|
|
140
183
|
const isWin = process.platform === "win32";
|
|
141
184
|
const cmd = isWin ? "npm.cmd" : "npm";
|
|
142
|
-
const args = ["i", "-g",
|
|
185
|
+
const args = ["i", "-g", installSpec, "--prefer-online"];
|
|
143
186
|
|
|
144
187
|
const child = spawn(cmd, args, {
|
|
145
188
|
stdio: ["ignore", "pipe", "pipe"],
|
|
@@ -164,6 +207,25 @@ function runInstall() {
|
|
|
164
207
|
child.on("close", (code) => {
|
|
165
208
|
pushLog(`[updater] npm exited with code ${code}`);
|
|
166
209
|
if (code === 0) {
|
|
210
|
+
const installed = readInstalledVersion();
|
|
211
|
+
if (installed && installed !== targetVersion) {
|
|
212
|
+
// npm succeeded but a different version is on disk: never report success
|
|
213
|
+
// for something we cannot name. This is the "installed 1.2.0, reported
|
|
214
|
+
// 1.2.1" class of surprise, now loud.
|
|
215
|
+
const message = `installed ${installed}, expected ${targetVersion}`;
|
|
216
|
+
pushLog(`[updater] ${message}`);
|
|
217
|
+
finalize(false, code, message);
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
if (installed) {
|
|
221
|
+
pushLog(`[updater] verified installed version: ${installed}`);
|
|
222
|
+
} else {
|
|
223
|
+
// npm exited 0 but readInstalledVersion() came back null — the install
|
|
224
|
+
// command succeeded, so report success, but do NOT claim a verification
|
|
225
|
+
// we did not actually perform (it used to print the TARGET version as if
|
|
226
|
+
// confirmed on disk).
|
|
227
|
+
pushLog(`[updater] npm exited 0 but the installed version could not be verified on disk`);
|
|
228
|
+
}
|
|
167
229
|
finalize(true, code, null);
|
|
168
230
|
return;
|
|
169
231
|
}
|
|
@@ -176,6 +238,34 @@ function runInstall() {
|
|
|
176
238
|
});
|
|
177
239
|
}
|
|
178
240
|
|
|
241
|
+
// Read back what npm actually put on disk. Best effort: an unreadable answer
|
|
242
|
+
// (unusual global prefix, npm missing) is not treated as a mismatch — the
|
|
243
|
+
// version is logged as unknown rather than failing an install that worked.
|
|
244
|
+
function readInstalledVersion() {
|
|
245
|
+
try {
|
|
246
|
+
const { execFileSync } = require("child_process");
|
|
247
|
+
const isWin = process.platform === "win32";
|
|
248
|
+
const out = execFileSync(isWin ? "npm.cmd" : "npm", ["ls", "-g", packageName, "--json", "--depth=0"], {
|
|
249
|
+
encoding: "utf8",
|
|
250
|
+
windowsHide: true,
|
|
251
|
+
shell: isWin,
|
|
252
|
+
timeout: 20000,
|
|
253
|
+
stdio: ["ignore", "pipe", "ignore"],
|
|
254
|
+
});
|
|
255
|
+
const parsed = JSON.parse(out);
|
|
256
|
+
return parsed?.dependencies?.[packageName]?.version || null;
|
|
257
|
+
} catch (e) {
|
|
258
|
+
// npm ls exits non-zero when the tree is odd; its stdout may still parse.
|
|
259
|
+
const stdout = e && typeof e.stdout === "string" ? e.stdout : "";
|
|
260
|
+
try {
|
|
261
|
+
const parsed = JSON.parse(stdout);
|
|
262
|
+
return parsed?.dependencies?.[packageName]?.version || null;
|
|
263
|
+
} catch {
|
|
264
|
+
return null;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
|
|
179
269
|
function openBrowser(url) {
|
|
180
270
|
const platform = process.platform;
|
|
181
271
|
const cmd = platform === "darwin" ? `open "${url}"`
|