@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
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=5485,exports.ids=[5485],exports.modules={1133:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{configureQuotaAutoPing:()=>z,runQuotaAutoPingTick:()=>w,startQuotaAutoPing:()=>x,stopQuotaAutoPing:()=>y});var e=c(48895),f=c(89718),g=c(69788),h=c(6551),i=c(55330),j=c(74129),k=c(39609),l=c(39326),m=c(18271),n=c(30869),o=a([e,i,m]);[e,i,m]=o.then?(await o)():o;let A=n.oc,B={claude:{getUsage:g.g,sendPing:s},codex:{getUsage:h.Tl,sendPing:u}},C=global.__quotaAutoPing??={interval:null,running:!1,resetCache:{},failureCache:{}};function p(a){let b=new Date(a).getTime();return Number.isFinite(b)?new Date(6e4*Math.floor(b/6e4)).toISOString():a}function q(a,b=null){if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a&&a.trim()){let b=Number(a);if(Number.isFinite(b))return b}return b}function r(a){if(!a||!0===a.unlimited)return!1;let b=q(a.remaining);if(null!==b)return b<=0;let c=q(a.used),d=q(a.total);return null!==d&&d>0&&null!==c&&c>=d}async function s(a,b,c,d){return(await d.proxyAwareFetch("https://api.anthropic.com/v1/messages?beta=true",{method:"POST",headers:{...j.$B,Authorization:`Bearer ${a.accessToken}`,"content-type":"application/json"},body:JSON.stringify({model:b.pingModel,max_tokens:b.pingMaxTokens,messages:[{role:"user",content:b.pingText}]})},c)).ok}async function t(a){if("function"==typeof a?.text)return void await a.text();let b=a?.body?.getReader?.();if(b)try{for(;;){let{done:a}=await b.read();if(a)return}}finally{b.releaseLock?.()}}async function u(a,b,c,d){var e;let f=d.getExecutor("codex"),{response:g}=await f.execute({model:b.pingModel,stream:!0,credentials:{accessToken:a.accessToken,connectionId:a.id,providerSpecificData:a.providerSpecificData},proxyOptions:c,log:console,body:{model:b.pingModel,input:(e=b.pingText,[{type:"message",role:"user",content:[{type:"input_text",text:e}]}]),instructions:b.pingInstructions,reasoning:b.pingReasoningEffort?{effort:b.pingReasoningEffort,summary:"auto"}:void 0,store:!1,stream:!0}});if(!g.ok){try{await g.body?.cancel?.()}catch{}return!1}return await t(g),!0}async function v(a,b,c,d,e,f=C){var g,h,i;let j=(g=a.id,`${b}:${g}`),k=f.resetCache[j];if(!c.pingWhenResetAtSlides&&k&&Date.now()<new Date(k).getTime()-A.refreshAheadMs||function(a,b,c=Date.now()){let d=a.failureCache[b];return d&&c-d<A.failureCooldownMs}(f,j))return;let l=(h=await e.resolveConnectionProxyConfig(a.providerSpecificData),{connectionProxyEnabled:!0===h.connectionProxyEnabled,connectionProxyUrl:h.connectionProxyUrl||"",connectionNoProxy:h.connectionNoProxy||"",vercelRelayUrl:h.vercelRelayUrl||"",strictProxy:!1}),m=a;try{m=(await e.refreshAndUpdateCredentials(m,!1,l)).connection}catch(c){f.failureCache[j]=Date.now(),console.warn(`[AutoPing] ${b}:${a.id}: refresh failed: ${c.message}`);return}let n=await d.getUsage(m.accessToken,l),o=n?.quotas||{},q=o?.[c.quotaKey],s=q?.resetAt;if(!s||(f.resetCache[j]=s,c.skipWhenBlockingQuotaExhausted&&(i=c.quotaKey,Object.entries(o||{}).some(([a,b])=>a!==i&&!String(a).toLowerCase().includes("session")&&r(b)))||r(q)))return;let t=Date.now(),u=p(s),w=m.lastPingedResetKey||p(m.lastPingedResetAt);if(!(!function(a,b,c,d){if(a.pingWhenResetAtSlides){let d,e;return!!b&&(d=new Date(b).getTime(),e=new Date(c).getTime(),(Number.isFinite(d)&&Number.isFinite(e)?e-d:0)>=(a.resetAtDriftMs||0))}let e=new Date(c).getTime();return Number.isFinite(e)&&d>=e-A.pingLeadMs}(c,k,s,t)||function(a,b,c=Date.now()){if(!b)return!1;let d=new Date(a.lastPingAt).getTime();return Number.isFinite(d)&&c-d<b}(m,c.minPingIntervalMs,t))&&w!==u){if(!await d.sendPing(m,c,l,e)){f.failureCache[j]=Date.now(),console.warn(`[AutoPing] ${b}:${m.id}: ping failed (reset ${s})`);return}delete f.failureCache[j],await e.updateProviderConnection(m.id,{lastPingedResetAt:s,lastPingedResetKey:u,lastPingAt:new Date().toISOString(),updatedAt:new Date().toISOString()}),console.log(`[AutoPing] ${b}:${m.id}: ping sent (reset ${s})`)}}async function w(a={getSettings:f.getSettings,getProviderConnections:f.getProviderConnections,updateProviderConnection:f.updateProviderConnection,resolveConnectionProxyConfig:l.B,refreshAndUpdateCredentials:m.refreshAndUpdateCredentials,proxyAwareFetch:k.proxyAwareFetch,getExecutor:i.SB},b=C){if(!b.running){b.running=!0;try{let d=await a.getSettings();for(let[e,f]of Object.entries(A.providers)){let g=B[e];if(!g)continue;let h=d?.[f.settingsKey]?.connections||{};if(0!==Object.keys(h).length)for(let d of(await a.getProviderConnections({provider:e,isActive:!0})).filter(a=>"oauth"===a.authType&&!0===h[a.id]))try{await v(d,e,f,g,a,b)}catch(a){var c;b.failureCache[c=d.id,`${e}:${c}`]=Date.now(),console.warn(`[AutoPing] ${e}:${d.id}: ${a.message}`)}}}catch(a){console.warn("[AutoPing] tick error:",a.message)}finally{b.running=!1}}}function x(){!C.interval&&(console.log("[AutoPing] scheduler started"),w().catch(()=>{}),C.interval=setInterval(()=>{w().catch(()=>{})},A.tickIntervalMs),C.interval.unref&&C.interval.unref())}function y(){C.interval&&(clearInterval(C.interval),C.interval=null,console.log("[AutoPing] scheduler stopped"))}function z(a){Object.values(A.providers).some(b=>Object.values(a?.[b.settingsKey]?.connections||{}).some(Boolean))?x():y()}d()}catch(a){d(a)}})},18271:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>n,refreshAndUpdateCredentials:()=>m});var e=c(48895),f=c(89718),g=c(1485),h=c(78661),i=c(55330),j=c(39326),k=c(40615),l=a([e,i]);[e,i]=l.then?(await l)():l;let o=["expired","authentication","unauthorized","401","re-authorize"];async function m(a,b=!1,c=null){let d=(0,i.SB)(a.provider),e={accessToken:a.accessToken,refreshToken:a.refreshToken,idToken:a.idToken,expiresAt:a.expiresAt||a.tokenExpiresAt,lastRefreshAt:a.lastRefreshAt,connectionId:a.id,providerSpecificData:a.providerSpecificData,copilotToken:a.providerSpecificData?.copilotToken,copilotTokenExpiresAt:a.providerSpecificData?.copilotTokenExpiresAt};if(!(b||d.needsRefresh(e)))return{connection:a,refreshed:!1};let g=await d.refreshCredentials(e,console,c);if(!g){if(a.accessToken)return{connection:a,refreshed:!1};throw Error("Failed to refresh credentials. Please re-authorize the connection.")}let h={updatedAt:new Date().toISOString()};g.accessToken&&(h.accessToken=g.accessToken),g.refreshToken&&(h.refreshToken=g.refreshToken),g.idToken&&(h.idToken=g.idToken),g.lastRefreshAt&&(h.lastRefreshAt=g.lastRefreshAt),g.expiresIn?(h.expiresAt=new Date(Date.now()+1e3*g.expiresIn).toISOString(),h.expiresIn=g.expiresIn):g.expiresAt&&(h.expiresAt=g.expiresAt);let j={...g.providerSpecificData||{},...g.copilotToken?{copilotToken:g.copilotToken}:{},...g.copilotTokenExpiresAt?{copilotTokenExpiresAt:g.copilotTokenExpiresAt}:{}};return Object.keys(j).length>0&&(h.providerSpecificData={...a.providerSpecificData||{},...j}),await (0,f.updateProviderConnection)(a.id,h),{connection:{...a,...h,providerSpecificData:h.providerSpecificData||a.providerSpecificData},refreshed:!0}}async function n(a,{params:b}){let c;try{let{connectionId:d}=await b,e="1"===new URL(a.url).searchParams.get("force");if(!(c=await (0,f.Mc)(d)))return Response.json({error:"Connection not found"},{status:404});let i="oauth"===c.authType,l=("apikey"===c.authType||"api_key"===c.authType)&&k.jO.includes(c.provider);if(!i&&!l)return Response.json({message:"Usage not available for this connection"});let n=await (0,j.B)(c.providerSpecificData),p={connectionProxyEnabled:!0===n.connectionProxyEnabled,connectionProxyUrl:n.connectionProxyUrl||"",connectionNoProxy:n.connectionNoProxy||"",vercelRelayUrl:n.vercelRelayUrl||"",strictProxy:!1};if(i)try{c=(await m(c,!1,p)).connection}catch(a){return console.error("[Usage API] Credential refresh failed:",a),Response.json({error:`Credential refresh failed: ${a.message}`},{status:401})}let q=await (0,g.my)(c,p,{force:e});if(i&&function(a){if(!a?.message)return!1;let b=a.message.toLowerCase();return o.some(a=>b.includes(a))}(q)&&c.refreshToken)try{c=(await m(c,!0,p)).connection,q=await (0,g.my)(c,p,{force:e})}catch(a){console.warn(`[Usage] ${c.provider}: force refresh failed: ${a.message}`)}try{let a=(0,h.Y)(q);a?await (0,f.updateProviderConnection)(c.id,{earliestPackageExpiry:a.expiry,earliestPackageName:a.name,quotaCheckedAt:new Date().toISOString()}):q&&q.quotas&&await (0,f.updateProviderConnection)(c.id,{earliestPackageExpiry:null,earliestPackageName:null,quotaCheckedAt:new Date().toISOString()})}catch(a){console.warn(`[Usage API] Failed to update package expiry for ${c.id}:`,a.message)}return Response.json(q)}catch(b){let a=c?.provider??"unknown";return console.warn(`[Usage] ${a}: ${b.message}`),Response.json({error:b.message},{status:500})}}d()}catch(a){d(a)}})},85081:(a,b,c)=>{c.d(b,{Ay:()=>j});var d=c(77598);let e=function(a){return Array.isArray(a)?a=Buffer.from(a):"string"==typeof a&&(a=Buffer.from(a,"utf8")),(0,d.createHash)("sha1").update(a).digest()},f=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i,g=function(a){let b;if(!("string"==typeof a&&f.test(a)))throw TypeError("Invalid UUID");return Uint8Array.of((b=parseInt(a.slice(0,8),16))>>>24,b>>>16&255,b>>>8&255,255&b,(b=parseInt(a.slice(9,13),16))>>>8,255&b,(b=parseInt(a.slice(14,18),16))>>>8,255&b,(b=parseInt(a.slice(19,23),16))>>>8,255&b,(b=parseInt(a.slice(24,36),16))/0x10000000000&255,b/0x100000000&255,b>>>24&255,b>>>16&255,b>>>8&255,255&b)};var h=c(50122);function i(a,b,c,d){var f=b,i=d;let j="string"==typeof a?function(a){let b=new Uint8Array((a=unescape(encodeURIComponent(a))).length);for(let c=0;c<a.length;++c)b[c]=a.charCodeAt(c);return b}(a):a,k="string"==typeof f?g(f):f;if("string"==typeof f&&(f=g(f)),f?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let l=new Uint8Array(16+j.length);if(l.set(k),l.set(j,k.length),(l=e(l))[6]=15&l[6]|80,l[8]=63&l[8]|128,c){if((i=i||0)<0||i+16>c.length)throw RangeError(`UUID byte range ${i}:${i+15} is out of buffer bounds`);for(let a=0;a<16;++a)c[i+a]=l[a];return c}return(0,h.k)(l)}i.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",i.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8";let j=i}};
|
|
1
|
+
"use strict";exports.id=5485,exports.ids=[5485],exports.modules={1133:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{configureQuotaAutoPing:()=>z,runQuotaAutoPingTick:()=>w,startQuotaAutoPing:()=>x,stopQuotaAutoPing:()=>y});var e=c(48895),f=c(89718),g=c(69788),h=c(6551),i=c(55330),j=c(74129),k=c(39609),l=c(39326),m=c(18271),n=c(30869),o=a([e,i,m]);[e,i,m]=o.then?(await o)():o;let A=n.oc,B={claude:{getUsage:g.g,sendPing:s},codex:{getUsage:h.Tl,sendPing:u}},C=global.__quotaAutoPing??={interval:null,running:!1,resetCache:{},failureCache:{}};function p(a){let b=new Date(a).getTime();return Number.isFinite(b)?new Date(6e4*Math.floor(b/6e4)).toISOString():a}function q(a,b=null){if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a&&a.trim()){let b=Number(a);if(Number.isFinite(b))return b}return b}function r(a){if(!a||!0===a.unlimited)return!1;let b=q(a.remaining);if(null!==b)return b<=0;let c=q(a.used),d=q(a.total);return null!==d&&d>0&&null!==c&&c>=d}async function s(a,b,c,d){return(await d.proxyAwareFetch("https://api.anthropic.com/v1/messages?beta=true",{method:"POST",headers:{...j.$B,Authorization:`Bearer ${a.accessToken}`,"content-type":"application/json"},body:JSON.stringify({model:b.pingModel,max_tokens:b.pingMaxTokens,messages:[{role:"user",content:b.pingText}]})},c)).ok}async function t(a){if("function"==typeof a?.text)return void await a.text();let b=a?.body?.getReader?.();if(b)try{for(;;){let{done:a}=await b.read();if(a)return}}finally{b.releaseLock?.()}}async function u(a,b,c,d){var e;let f=d.getExecutor("codex"),{response:g}=await f.execute({model:b.pingModel,stream:!0,credentials:{accessToken:a.accessToken,connectionId:a.id,providerSpecificData:a.providerSpecificData},proxyOptions:c,log:console,body:{model:b.pingModel,input:(e=b.pingText,[{type:"message",role:"user",content:[{type:"input_text",text:e}]}]),instructions:b.pingInstructions,reasoning:b.pingReasoningEffort?{effort:b.pingReasoningEffort,summary:"auto"}:void 0,store:!1,stream:!0}});if(!g.ok){try{await g.body?.cancel?.()}catch{}return!1}return await t(g),!0}async function v(a,b,c,d,e,f=C){var g,h,i;let j=(g=a.id,`${b}:${g}`),k=f.resetCache[j];if(!c.pingWhenResetAtSlides&&k&&Date.now()<new Date(k).getTime()-A.refreshAheadMs||function(a,b,c=Date.now()){let d=a.failureCache[b];return d&&c-d<A.failureCooldownMs}(f,j))return;let l=(h=await e.resolveConnectionProxyConfig(a.providerSpecificData),{connectionProxyEnabled:!0===h.connectionProxyEnabled,connectionProxyUrl:h.connectionProxyUrl||"",connectionNoProxy:h.connectionNoProxy||"",vercelRelayUrl:h.vercelRelayUrl||"",strictProxy:!1}),m=a;try{m=(await e.refreshAndUpdateCredentials(m,!1,l)).connection}catch(c){f.failureCache[j]=Date.now(),console.warn(`[AutoPing] ${b}:${a.id}: refresh failed: ${c.message}`);return}let n=await d.getUsage(m.accessToken,l),o=n?.quotas||{},q=o?.[c.quotaKey],s=q?.resetAt;if(!s||(f.resetCache[j]=s,c.skipWhenBlockingQuotaExhausted&&(i=c.quotaKey,Object.entries(o||{}).some(([a,b])=>a!==i&&!String(a).toLowerCase().includes("session")&&r(b)))||r(q)))return;let t=Date.now(),u=p(s),w=m.lastPingedResetKey||p(m.lastPingedResetAt);if(!(!function(a,b,c,d){if(a.pingWhenResetAtSlides){let d,e;return!!b&&(d=new Date(b).getTime(),e=new Date(c).getTime(),(Number.isFinite(d)&&Number.isFinite(e)?e-d:0)>=(a.resetAtDriftMs||0))}let e=new Date(c).getTime();return Number.isFinite(e)&&d>=e-A.pingLeadMs}(c,k,s,t)||function(a,b,c=Date.now()){if(!b)return!1;let d=new Date(a.lastPingAt).getTime();return Number.isFinite(d)&&c-d<b}(m,c.minPingIntervalMs,t))&&w!==u){if(!await d.sendPing(m,c,l,e)){f.failureCache[j]=Date.now(),console.warn(`[AutoPing] ${b}:${m.id}: ping failed (reset ${s})`);return}delete f.failureCache[j],await e.updateProviderConnection(m.id,{lastPingedResetAt:s,lastPingedResetKey:u,lastPingAt:new Date().toISOString(),updatedAt:new Date().toISOString()}),console.log(`[AutoPing] ${b}:${m.id}: ping sent (reset ${s})`)}}async function w(a={getSettings:f.getSettings,getProviderConnections:f.getProviderConnections,updateProviderConnection:f.updateProviderConnection,resolveConnectionProxyConfig:l.B,refreshAndUpdateCredentials:m.refreshAndUpdateCredentials,proxyAwareFetch:k.proxyAwareFetch,getExecutor:i.SB},b=C){if(!b.running){b.running=!0;try{let d=await a.getSettings();for(let[e,f]of Object.entries(A.providers)){let g=B[e];if(!g)continue;let h=d?.[f.settingsKey]?.connections||{};if(0!==Object.keys(h).length)for(let d of(await a.getProviderConnections({provider:e,isActive:!0})).filter(a=>"oauth"===a.authType&&!0===h[a.id]))try{await v(d,e,f,g,a,b)}catch(a){var c;b.failureCache[c=d.id,`${e}:${c}`]=Date.now(),console.warn(`[AutoPing] ${e}:${d.id}: ${a.message}`)}}}catch(a){console.warn("[AutoPing] tick error:",a.message)}finally{b.running=!1}}}function x(){!C.interval&&(console.log("[AutoPing] scheduler started"),w().catch(()=>{}),C.interval=setInterval(()=>{w().catch(()=>{})},A.tickIntervalMs),C.interval.unref&&C.interval.unref())}function y(){C.interval&&(clearInterval(C.interval),C.interval=null,console.log("[AutoPing] scheduler stopped"))}function z(a){Object.values(A.providers).some(b=>Object.values(a?.[b.settingsKey]?.connections||{}).some(Boolean))?x():y()}d()}catch(a){d(a)}})},18271:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>n,refreshAndUpdateCredentials:()=>m});var e=c(48895),f=c(89718),g=c(19411),h=c(78661),i=c(55330),j=c(39326),k=c(40615),l=a([e,i]);[e,i]=l.then?(await l)():l;let o=["expired","authentication","unauthorized","401","re-authorize"];async function m(a,b=!1,c=null){let d=(0,i.SB)(a.provider),e={accessToken:a.accessToken,refreshToken:a.refreshToken,idToken:a.idToken,expiresAt:a.expiresAt||a.tokenExpiresAt,lastRefreshAt:a.lastRefreshAt,connectionId:a.id,providerSpecificData:a.providerSpecificData,copilotToken:a.providerSpecificData?.copilotToken,copilotTokenExpiresAt:a.providerSpecificData?.copilotTokenExpiresAt};if(!(b||d.needsRefresh(e)))return{connection:a,refreshed:!1};let g=await d.refreshCredentials(e,console,c);if(!g){if(a.accessToken)return{connection:a,refreshed:!1};throw Error("Failed to refresh credentials. Please re-authorize the connection.")}let h={updatedAt:new Date().toISOString()};g.accessToken&&(h.accessToken=g.accessToken),g.refreshToken&&(h.refreshToken=g.refreshToken),g.idToken&&(h.idToken=g.idToken),g.lastRefreshAt&&(h.lastRefreshAt=g.lastRefreshAt),g.expiresIn?(h.expiresAt=new Date(Date.now()+1e3*g.expiresIn).toISOString(),h.expiresIn=g.expiresIn):g.expiresAt&&(h.expiresAt=g.expiresAt);let j={...g.providerSpecificData||{},...g.copilotToken?{copilotToken:g.copilotToken}:{},...g.copilotTokenExpiresAt?{copilotTokenExpiresAt:g.copilotTokenExpiresAt}:{}};return Object.keys(j).length>0&&(h.providerSpecificData={...a.providerSpecificData||{},...j}),await (0,f.updateProviderConnection)(a.id,h),{connection:{...a,...h,providerSpecificData:h.providerSpecificData||a.providerSpecificData},refreshed:!0}}async function n(a,{params:b}){let c;try{let{connectionId:d}=await b,e="1"===new URL(a.url).searchParams.get("force");if(!(c=await (0,f.Mc)(d)))return Response.json({error:"Connection not found"},{status:404});let i="oauth"===c.authType,l=("apikey"===c.authType||"api_key"===c.authType)&&k.jO.includes(c.provider);if(!i&&!l)return Response.json({message:"Usage not available for this connection"});let n=await (0,j.B)(c.providerSpecificData),p={connectionProxyEnabled:!0===n.connectionProxyEnabled,connectionProxyUrl:n.connectionProxyUrl||"",connectionNoProxy:n.connectionNoProxy||"",vercelRelayUrl:n.vercelRelayUrl||"",strictProxy:!1};if(i)try{c=(await m(c,!1,p)).connection}catch(a){return console.error("[Usage API] Credential refresh failed:",a),Response.json({error:`Credential refresh failed: ${a.message}`},{status:401})}let q=await (0,g.my)(c,p,{force:e});if(i&&function(a){if(!a?.message)return!1;let b=a.message.toLowerCase();return o.some(a=>b.includes(a))}(q)&&c.refreshToken)try{c=(await m(c,!0,p)).connection,q=await (0,g.my)(c,p,{force:e})}catch(a){console.warn(`[Usage] ${c.provider}: force refresh failed: ${a.message}`)}try{let a=(0,h.Y)(q);a?await (0,f.updateProviderConnection)(c.id,{earliestPackageExpiry:a.expiry,earliestPackageName:a.name,quotaCheckedAt:new Date().toISOString()}):q&&q.quotas&&await (0,f.updateProviderConnection)(c.id,{earliestPackageExpiry:null,earliestPackageName:null,quotaCheckedAt:new Date().toISOString()})}catch(a){console.warn(`[Usage API] Failed to update package expiry for ${c.id}:`,a.message)}return Response.json(q)}catch(b){let a=c?.provider??"unknown";return console.warn(`[Usage] ${a}: ${b.message}`),Response.json({error:b.message},{status:500})}}d()}catch(a){d(a)}})},85081:(a,b,c)=>{c.d(b,{Ay:()=>j});var d=c(77598);let e=function(a){return Array.isArray(a)?a=Buffer.from(a):"string"==typeof a&&(a=Buffer.from(a,"utf8")),(0,d.createHash)("sha1").update(a).digest()},f=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i,g=function(a){let b;if(!("string"==typeof a&&f.test(a)))throw TypeError("Invalid UUID");return Uint8Array.of((b=parseInt(a.slice(0,8),16))>>>24,b>>>16&255,b>>>8&255,255&b,(b=parseInt(a.slice(9,13),16))>>>8,255&b,(b=parseInt(a.slice(14,18),16))>>>8,255&b,(b=parseInt(a.slice(19,23),16))>>>8,255&b,(b=parseInt(a.slice(24,36),16))/0x10000000000&255,b/0x100000000&255,b>>>24&255,b>>>16&255,b>>>8&255,255&b)};var h=c(50122);function i(a,b,c,d){var f=b,i=d;let j="string"==typeof a?function(a){let b=new Uint8Array((a=unescape(encodeURIComponent(a))).length);for(let c=0;c<a.length;++c)b[c]=a.charCodeAt(c);return b}(a):a,k="string"==typeof f?g(f):f;if("string"==typeof f&&(f=g(f)),f?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let l=new Uint8Array(16+j.length);if(l.set(k),l.set(j,k.length),(l=e(l))[6]=15&l[6]|80,l[8]=63&l[8]|128,c){if((i=i||0)<0||i+16>c.length)throw RangeError(`UUID byte range ${i}:${i+15} is out of buffer bounds`);for(let a=0;a<16;++a)c[i+a]=l[a];return c}return(0,h.k)(l)}i.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",i.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8";let j=i}};
|
|
@@ -40,4 +40,4 @@
|
|
|
40
40
|
<style>body{font-family:system-ui;display:flex;justify-content:center;align-items:center;height:100vh;margin:0;background:#f5f5f5}.c{text-align:center;padding:2rem;background:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1)}.i{color:${a?"#22c55e":"#ef4444"};font-size:3rem}h1{margin:1rem 0}p{color:#666}</style>
|
|
41
41
|
</head><body><div class="c"><div class="i">${a?"✓":"✗"}</div><h1>${c}</h1><p>${d}</p><p>Closing in <span id="cd">3</span>s...</p>
|
|
42
42
|
<script>let n=3;const c=document.getElementById("cd");const t=setInterval(()=>{n--;c.textContent=n;if(n<=0){clearInterval(t);window.close();}},1000);</script>
|
|
43
|
-
</div></body></html>`}function t(a){return new Promise(b=>{if(l)return void b({success:!0});let d=e().createServer(async(b,d)=>{let e=new h.URL(b.url,"http://localhost");if("/callback"!==e.pathname&&"/auth/callback"!==e.pathname){d.writeHead(404),d.end("Not found");return}let f=e.searchParams.get("code"),g=e.searchParams.get("state"),i=e.searchParams.get("error"),j=g?o.get(g):null;if(j){try{if(i)throw Error(e.searchParams.get("error_description")||i);if(!f)throw Error("No authorization code received");let{exchangeTokens:a}=await Promise.all([c.e(7774),c.e(5433),c.e(8920),c.e(6306),c.e(3225),c.e(7843),c.e(1159),c.e(2120),c.e(6922),c.e(2051),c.e(8499),c.e(5330),c.e(8895),c.e(9927)]).then(c.bind(c,74177)),{createProviderConnection:b}=await c.e(1998).then(c.bind(c,71998)),h=await a("codex",f,j.redirectUri,j.codeVerifier,g),k=await b({provider:"codex",authType:"oauth",...h,expiresAt:h.expiresIn?new Date(Date.now()+1e3*h.expiresIn).toISOString():null,testStatus:"active"});j.status="done",j.connectionId=k.id,j.email=k.email,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(s(!0,"You can close this window."))}catch(a){j.status="error",j.error=a.message,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(s(!1,a.message))}finally{u()}return}let k=`http://localhost:${a}/callback${e.search}`;d.writeHead(302,{Location:k}),d.end(),u()});d.listen(n,"127.0.0.1",()=>{l=d,m=setTimeout(()=>u(),3e5),b({success:!0})}),d.on("error",a=>{"EADDRINUSE"===a.code?b({success:!1,reason:"port_busy"}):b({success:!1,reason:a.message})})})}function u(){m&&(clearTimeout(m),m=null),l&&(l.close(),l=null)}let v=null,w=null,x=new Map;function y({state:a,codeVerifier:b,redirectUri:c}){return!!a&&!!b&&!!c&&(x.set(a,{codeVerifier:b,redirectUri:c,status:"pending",createdAt:Date.now()}),!0)}function z(a){return x.get(a)||null}function A(a){x.delete(a)}function B(a){return new Promise(b=>{if(v)return void b({success:!0});let d=e().createServer(async(b,d)=>{let e=new h.URL(b.url,"http://localhost");if("/callback"!==e.pathname&&"/auth/callback"!==e.pathname){d.writeHead(404),d.end("Not found");return}let f=e.searchParams.get("code"),g=e.searchParams.get("state"),i=e.searchParams.get("error"),j=g?x.get(g):null;if(j){try{if(i)throw Error(e.searchParams.get("error_description")||i);if(!f)throw Error("No authorization code received");let{exchangeTokens:a}=await Promise.all([c.e(7774),c.e(5433),c.e(8920),c.e(6306),c.e(3225),c.e(7843),c.e(1159),c.e(2120),c.e(6922),c.e(2051),c.e(8499),c.e(5330),c.e(8895),c.e(9927)]).then(c.bind(c,74177)),{createProviderConnection:b}=await c.e(1998).then(c.bind(c,71998)),h=await a("xai",f,j.redirectUri,j.codeVerifier,g),k=await b({provider:"xai",authType:"oauth",...h,expiresAt:h.expiresIn?new Date(Date.now()+1e3*h.expiresIn).toISOString():null,testStatus:"active"});j.status="done",j.connectionId=k.id,j.email=k.email,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(s(!0,"You can close this window."))}catch(a){j.status="error",j.error=a.message,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(s(!1,a.message))}finally{C()}return}let k=`http://localhost:${a}/callback${e.search}`;d.writeHead(302,{Location:k}),d.end(),C()});d.listen(56121,"127.0.0.1",()=>{v=d,w=setTimeout(()=>C(),3e5),b({success:!0})}),d.on("error",a=>{"EADDRINUSE"===a.code?b({success:!1,reason:"port_busy"}):b({success:!1,reason:a.message})})})}function C(){w&&(clearTimeout(w),w=null),v&&(v.close(),v=null)}let D=null,E=null,F=null,G=null;function H({state:a}){return!!a&&(G={state:a,status:"pending",createdAt:Date.now()},!0)}function I(a){return!G||a&&G.state!==a?null:G}function J(a){(!a||G&&G.state===a)&&(G=null)}function K(){return new Promise(a=>{if(D)return void a({success:!0,port:F,callbackUrl:`http://127.0.0.1:${F}${i.SK.callbackPath}`});let b=e().createServer(async(a,b)=>{let d=new h.URL(a.url,"http://localhost");if(d.pathname!==i.SK.callbackPath&&"/auth/callback"!==d.pathname){b.writeHead(404),b.end("Not found");return}let e=G;if(!e){b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,"No active Trae login session"));return}if(!j(a.headers.origin)){b.writeHead(403,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,"Cross-origin callback rejected"));return}let f=d.searchParams.get("state");if(f&&e.state&&f!==e.state){e.status="error",e.error="Trae callback state mismatch",b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,e.error)),L();return}let g=`${d.pathname}?${d.searchParams.toString()}`;try{let{exchangeTokens:a}=await Promise.all([c.e(7774),c.e(5433),c.e(8920),c.e(6306),c.e(3225),c.e(7843),c.e(1159),c.e(2120),c.e(6922),c.e(2051),c.e(8499),c.e(5330),c.e(8895),c.e(9927)]).then(c.bind(c,74177)),{createProviderConnection:d}=await c.e(1998).then(c.bind(c,71998)),f=await a("trae",g),h=await d({provider:"trae",authType:"oauth",...f,expiresAt:f.expiresIn?new Date(Date.now()+1e3*f.expiresIn).toISOString():null,testStatus:"active"});e.status="done",e.connectionId=h.id,e.email=h.email,b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!0,"You can close this window."))}catch(a){e.status="error",e.error=a.message,b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,a.message))}finally{L()}});b.listen(0,"127.0.0.1",()=>{D=b,F=b.address().port,E=setTimeout(()=>L(),i.SK.oauthTimeoutMs),a({success:!0,port:F,callbackUrl:`http://127.0.0.1:${F}${i.SK.callbackPath}`})}),b.on("error",b=>a({success:!1,reason:b.message}))})}function L(){E&&(clearTimeout(E),E=null),D&&(D.close(),D=null),F=null}let M=null,N=null,O=null,P=null;function Q({state:a}){return!!a&&(P={state:a,status:"pending",createdAt:Date.now()},!0)}function R(a){return!P||a&&P.state!==a?null:P}function S(a){(!a||P&&P.state===a)&&(P=null)}function T(){return new Promise(a=>{if(M)return void a({success:!0,port:O,callbackUrl:`http://127.0.0.1:${O}${i.eD.callbackPath}`});let b=e().createServer(async(a,b)=>{let d=new h.URL(a.url,"http://localhost");if(d.pathname!==i.eD.callbackPath){b.writeHead(404),b.end("Not found");return}let e=P;if(!e){b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,"No active Windsurf login session"));return}if(!j(a.headers.origin)){b.writeHead(403,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,"Cross-origin callback rejected"));return}let f=d.searchParams.get("state");if(!f||!e.state||f!==e.state){e.status="error",e.error="Windsurf callback state mismatch",b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,e.error)),U();return}let g=`${d.pathname}?${d.searchParams.toString()}`;try{let{exchangeTokens:a}=await Promise.all([c.e(7774),c.e(5433),c.e(8920),c.e(6306),c.e(3225),c.e(7843),c.e(1159),c.e(2120),c.e(6922),c.e(2051),c.e(8499),c.e(5330),c.e(8895),c.e(9927)]).then(c.bind(c,74177)),{createProviderConnection:d}=await c.e(1998).then(c.bind(c,71998)),f=await a("windsurf",g,null,null,e.state),h=await d({provider:"windsurf",authType:"api_key",...f,testStatus:"active"});e.status="done",e.connectionId=h.id,e.email=h.email,b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!0,"You can close this window."))}catch(a){e.status="error",e.error=a.message,b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,a.message))}finally{U()}});b.listen(0,"127.0.0.1",()=>{M=b,O=b.address().port,N=setTimeout(()=>U(),i.eD.oauthTimeoutMs),a({success:!0,port:O,callbackUrl:`http://127.0.0.1:${O}${i.eD.callbackPath}`})}),b.on("error",b=>a({success:!1,reason:b.message}))})}function U(){N&&(clearTimeout(N),N=null),M&&(M.close(),M=null),O=null}let V=null,W=null,X=null,Y=null;function Z({state:a,codeVerifier:b}){return!!a&&!!b&&(Y={state:a,codeVerifier:b,status:"pending",createdAt:Date.now()},!0)}function $(a){return!Y||a&&Y.state!==a?null:Y}function _(a){(!a||Y&&Y.state===a)&&(Y=null)}function aa(a=0){return new Promise(b=>{if(V)return void b({success:!0,port:X,callbackUrl:`http://127.0.0.1:${X}/`});let d=e().createServer(async(a,b)=>{let d=new h.URL(a.url,"http://localhost"),e=Object.fromEntries(d.searchParams);for(let a of["access_token","user_id","code_verifier","state"])e[a]&&(e[a]="<redacted>");if(console.log("[Zed proxy]",a.method,d.pathname,JSON.stringify(e)),"/"!==d.pathname&&"/callback"!==d.pathname){b.writeHead(404),b.end("Not found");return}let f=Y;if(!f){b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,"No active Zed login session"));return}if(!j(a.headers.origin)){b.writeHead(403,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,"Cross-origin callback rejected"));return}let g=d.search?`${d.pathname}?${d.searchParams.toString()}`:d.pathname;try{let{exchangeTokens:a}=await Promise.all([c.e(7774),c.e(5433),c.e(8920),c.e(6306),c.e(3225),c.e(7843),c.e(1159),c.e(2120),c.e(6922),c.e(2051),c.e(8499),c.e(5330),c.e(8895),c.e(9927)]).then(c.bind(c,74177)),{createProviderConnection:d}=await c.e(1998).then(c.bind(c,71998)),e=await a("zed",g,null,f.codeVerifier,f.state),h=await d({provider:"zed",authType:"oauth",...e,testStatus:"active"});f.status="done",f.connectionId=h.id,f.email=h.email,b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!0,"You can close this window."))}catch(a){f.status="error",f.error=a.message,b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,a.message))}finally{ab()}}),f=Number(a)||0;d.on("error",a=>{"EADDRINUSE"===a.code&&0!==f?(console.log(`[Zed proxy] port ${f} busy, falling back to random`),d.listen(0,"127.0.0.1",()=>{V=d,X=d.address().port,W=setTimeout(()=>ab(),i.RY.oauthTimeoutMs),console.log(`[Zed proxy] listening on random port ${X}`),b({success:!0,port:X,callbackUrl:`http://127.0.0.1:${X}/`})})):(console.log(`[Zed proxy] listen error: ${a.message}`),b({success:!1,reason:a.message}))}),d.listen(f,"127.0.0.1",()=>{V=d,X=d.address().port,W=setTimeout(()=>{console.log("[Zed proxy] timeout, stopping"),ab()},i.RY.oauthTimeoutMs),console.log(`[Zed proxy] listening on port ${X}`),b({success:!0,port:X,callbackUrl:`http://127.0.0.1:${X}/`})})})}function ab(){console.log(`[Zed proxy] stopping (port ${X||"-"})`),W&&(clearTimeout(W),W=null),V&&(V.close(),V=null),X=null}let ac=null,ad=null,ae=null,af=new h.URL(i.oe.platformUrl).origin,ag=null;function ah(a,b){let c=new h.URL(`${i.oe.platformUrl}/authorize/callback`);return c.searchParams.set("status",a),b&&c.searchParams.set("message",b),c.toString()}let ai=new Map;function aj({state:a,privateKeyDer:b}){if(!a||!b)return!1;let c=Date.now()-i.oe.pendingTtlMs;for(let[a,b]of ai)b.createdAt<c&&ai.delete(a);return ai.set(a,{privateKeyDer:b,status:"pending",createdAt:Date.now()}),!0}function ak(a){let b=ai.get(a);return b?{status:b.status,result:b.result||null,error:b.error||null}:null}function al(a){ai.delete(a)}async function am(a){let b=function(a){let b=String(a??"").trim();if(!b)return"";let c=b.match(/(?:^|[?&])(?:u|code)=([^&\s]+)/);if(c)try{b=decodeURIComponent(c[1])}catch{b=c[1]}return(b=(b=b.replace(/^(?:授权码|验证码)\s*[::=]?\s*/,"").replace(/^(?:authorization\s*code|code)\s*[::=]\s*/i,"")).replace(/^[`'"“”‘’<([{]+/,"").replace(/[`'"“”‘’>)\]},.;:。,;:]+$/,"")).replace(/\s+/g,"")}(a);if(!b)return{ok:!1,error:"empty_payload"};if(b.length<60)return{ok:!1,error:"payload_too_short"};let d=[...ai.entries()].filter(([,a])=>"pending"===a.status);if(0===d.length)return{ok:!1,error:"no_pending_session"};let{decryptCallback:e}=await c.e(4152).then(c.bind(c,34152)),f=!1;for(let[a,c]of d){let d;try{d=e(c.privateKeyDer,b)}catch{continue}if(!d.sk){f=!0;continue}return c.status="done",c.result={uid:d.uid,accessToken:d.sk,baseUrl:d.url||i.oe.defaultBaseUrl},{ok:!0,state:a,result:c.result}}let g=f?"missing_api_key":"decrypt_failed";return console.warn(`[xiaomi-mimo oauth] code rejected (${g}): ${b.length} chars, ${d.length} pending session(s)`),{ok:!1,error:g}}function an(){return new Promise(a=>{if(ac)return void a({success:!0,port:ad,callbackUrl:`http://127.0.0.1:${ad}${ag}`});let b=ag||(ag=`/callback/${g().randomBytes(16).toString("hex")}`),c=e().createServer(async(a,c)=>{let d=a.headers.origin||"",e=d===af?{"Access-Control-Allow-Origin":d,"Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*","Access-Control-Max-Age":"600",Vary:"Origin"}:{Vary:"Origin"};if("OPTIONS"===a.method){c.writeHead(204,e),c.end();return}let f=new h.URL(a.url,"http://127.0.0.1");if(f.pathname!==b){c.writeHead(404,e),c.end("Not Found");return}let g=f.searchParams.get("u");if(!g){c.writeHead(302,{...e,Location:ah("error","missing_data")}),c.end();return}let i=[...ai.entries()].filter(([,a])=>"pending"===a.status);try{let a=await am(g);if(!a.ok)throw Error("missing_api_key"===a.error?"Decrypted payload missing sk (API key)":"Could not decrypt with any pending session key");c.writeHead(302,{...e,Location:ah("success")}),c.end(),console.log("[xiaomi-mimo oauth] callback decrypted")}catch(a){if(console.error("[xiaomi-mimo oauth] decrypt failed:",a.message),1===i.length){let[,b]=i[0];b.status="error",b.error=a.message}c.writeHead(302,{...e,Location:ah("error","decrypt_failed")}),c.end()}});c.on("error",b=>{console.log("[xiaomi-mimo oauth] listen error:",b.message),a({success:!1,reason:b.message})}),c.listen(0,"127.0.0.1",()=>{ac=c,ad=c.address().port,ae=setTimeout(()=>{console.log("[xiaomi-mimo oauth] timeout, stopping"),ao()},i.oe.timeoutMs),console.log(`[xiaomi-mimo oauth] listening on port ${ad}`),a({success:!0,port:ad,callbackUrl:`http://127.0.0.1:${ad}${b}`})})})}function ao(){console.log(`[xiaomi-mimo oauth] stopping (port ${ad||"-"})`),ae&&(clearTimeout(ae),ae=null),ac&&(ac.close(),ac=null),ad=null,ag=null}},73159:(a,b,c)=>{c.d(b,{Ue:()=>k,oT:()=>l});var d=c(26070);let e=d.xq.xai?.clientId,f="https://auth.x.ai",g="/oauth2/authorize",h="/oauth2/token",i="/.well-known/openid-configuration",j="/callback",k=96,l={clientId:e,issuer:f,authEndpointPath:g,tokenEndpointPath:h,discoveryPath:i,authorizeUrl:`${f}${g}`,tokenUrl:`${f}${h}`,discoveryUrl:`${f}${i}`,scope:"openid profile email offline_access grok-cli:access api:access",apiBaseUrl:"https://api.x.ai/v1",redirectUri:`http://127.0.0.1:56121${j}`,loopbackPort:56121,callbackPath:j,pkceVerifierBytes:96,refreshLeadSeconds:300,userAgent:"grok-cli/10router",codeChallengeMethod:"S256"}},92990:(a,b,c)=>{c.d(b,{DI:()=>i,DV:()=>z,LT:()=>j,MZ:()=>u,Nl:()=>y,Nu:()=>o,OV:()=>h,RY:()=>F,S6:()=>r,SK:()=>D,Td:()=>A,Tx:()=>p,WN:()=>s,Ww:()=>G,YT:()=>m,ZL:()=>l,aV:()=>t,cD:()=>n,eD:()=>E,f7:()=>x,hF:()=>k,lB:()=>v,oe:()=>C,qp:()=>B,w1:()=>w});var d=c(21820),e=c(74129),f=c(26070);function g(){let a=(0,d.platform)(),b=(0,d.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}let h={...f.sr.claude},i={...f.sr.codex},j={...e.dG,...f.sr["gemini-cli"]},k={...f.sr.qoder},l={...f.sr.iflow},m={...e.XP,...f.sr.antigravity,loadCodeAssistClientMetadata:JSON.stringify({ideType:9,platform:g(),pluginType:2})};function n(){return{ideType:9,platform:g(),pluginType:2}}({...f.sr.openai});let o={...f.sr.github},p={...f.sr.kiro},q=/^[a-z]{2}-[a-z]+-\d{1,2}$/;function r(a){if("string"!=typeof a||!q.test(a))throw Error("Invalid region");return a}let s={...f.sr.cursor,tokenStoragePaths:{linux:"~/.config/Cursor/User/globalStorage/state.vscdb",macos:"/Users/<user>/Library/Application Support/Cursor/User/globalStorage/state.vscdb",windows:"%APPDATA%\\Cursor\\User\\globalStorage\\state.vscdb"}},t={...f.sr.kimi,clientId:process.env.KIMI_CODING_OAUTH_CLIENT_ID||process.env.KIMI_OAUTH_CLIENT_ID||f.xq.kimi?.clientId||f.sr.kimi?.clientId},u={...f.sr.kilocode},v={...f.sr.cline},w={...f.sr.clinepass},x={...f.sr.gitlab},y={...f.sr["codebuddy-cn"]},z={...f.sr["codebuddy-intl"]},A={...f.sr.kimchi},B={...f.sr["grok-cli"]},C={platformUrl:process.env.MIMO_PLATFORM_URL||"https://platform.xiaomimimo.com",defaultBaseUrl:"https://api.xiaomimimo.com/v1",kn:"mimocode",app:"MiMo",timeoutMs:3e5,pendingTtlMs:864e5},D={clientId:"ono9krqynydwx5",clientSecret:"-",loginGuidanceUrls:["https://api.marscode.com/cloudide/api/v3/trae/GetLoginGuidance","https://api.trae.ai/cloudide/api/v3/trae/GetLoginGuidance","https://www.trae.ai/cloudide/api/v3/trae/GetLoginGuidance"],apiOrigins:["https://api.marscode.com","https://api.trae.ai","https://www.trae.ai","https://www.marscode.com"],exchangeTokenPath:"/cloudide/api/v3/trae/oauth/ExchangeToken",getUserInfoPath:"/cloudide/api/v3/trae/GetUserInfo",authorizationPath:"/authorization",callbackPath:"/callback",minAppVersion:"3.5.54",defaultAppVersion:"3.5.54",defaultAppType:"stable",defaultPluginVersion:"local",defaultDeviceId:"0",userAgent:"Trae/1.0.0 antigravity-cockpit-tools",webUrl:"https://www.trae.ai",authScheme:"Cloud-IDE-JWT",tokenLifetimeDays:14,oauthTimeoutMs:6e5},E={clientId:"3GUryQ7ldAeKEuD2obYnppsnmj58eP5u",authBaseUrl:"https://www.windsurf.com",signInPath:"/windsurf/signin",registerApiBaseUrl:"https://register.windsurf.com",registerPath:"/exa.seat_management_pb.SeatManagementService/RegisterUser",oneTimeAuthPath:"/exa.seat_management_pb.SeatManagementService/GetOneTimeAuthToken",currentUserPath:"/exa.seat_management_pb.SeatManagementService/GetCurrentUser",planStatusPath:"/exa.seat_management_pb.SeatManagementService/GetPlanStatus",userStatusPath:"/exa.seat_management_pb.SeatManagementService/GetUserStatus",defaultApiServerUrl:"https://server.codeium.com",firebaseApiKey:"AIzaSyDsOl-1XpT5err0Tcn0TFFod1H8gVGIycY",callbackPath:"/windsurf-auth-callback",userAgent:"antigravity-cockpit-tools",oauthTimeoutMs:6e5},F={webBaseUrl:"https://zed.dev",cloudBaseUrl:"https://cloud.zed.dev",llmBaseUrl:"https://cloud.zed.dev",defaultNativeAppPort:58443,oauthTimeoutMs:6e5},G=3e5}};
|
|
43
|
+
</div></body></html>`}function t(a){return new Promise(b=>{if(l)return void b({success:!0});let d=e().createServer(async(b,d)=>{let e=new h.URL(b.url,"http://localhost");if("/callback"!==e.pathname&&"/auth/callback"!==e.pathname){d.writeHead(404),d.end("Not found");return}let f=e.searchParams.get("code"),g=e.searchParams.get("state"),i=e.searchParams.get("error"),j=g?o.get(g):null;if(j){try{if(i)throw Error(e.searchParams.get("error_description")||i);if(!f)throw Error("No authorization code received");let{exchangeTokens:a}=await Promise.all([c.e(7774),c.e(5433),c.e(8920),c.e(6306),c.e(3225),c.e(3500),c.e(1159),c.e(2120),c.e(6922),c.e(2051),c.e(8499),c.e(5330),c.e(8895),c.e(9927)]).then(c.bind(c,74177)),{createProviderConnection:b}=await c.e(1998).then(c.bind(c,71998)),h=await a("codex",f,j.redirectUri,j.codeVerifier,g),k=await b({provider:"codex",authType:"oauth",...h,expiresAt:h.expiresIn?new Date(Date.now()+1e3*h.expiresIn).toISOString():null,testStatus:"active"});j.status="done",j.connectionId=k.id,j.email=k.email,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(s(!0,"You can close this window."))}catch(a){j.status="error",j.error=a.message,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(s(!1,a.message))}finally{u()}return}let k=`http://localhost:${a}/callback${e.search}`;d.writeHead(302,{Location:k}),d.end(),u()});d.listen(n,"127.0.0.1",()=>{l=d,m=setTimeout(()=>u(),3e5),b({success:!0})}),d.on("error",a=>{"EADDRINUSE"===a.code?b({success:!1,reason:"port_busy"}):b({success:!1,reason:a.message})})})}function u(){m&&(clearTimeout(m),m=null),l&&(l.close(),l=null)}let v=null,w=null,x=new Map;function y({state:a,codeVerifier:b,redirectUri:c}){return!!a&&!!b&&!!c&&(x.set(a,{codeVerifier:b,redirectUri:c,status:"pending",createdAt:Date.now()}),!0)}function z(a){return x.get(a)||null}function A(a){x.delete(a)}function B(a){return new Promise(b=>{if(v)return void b({success:!0});let d=e().createServer(async(b,d)=>{let e=new h.URL(b.url,"http://localhost");if("/callback"!==e.pathname&&"/auth/callback"!==e.pathname){d.writeHead(404),d.end("Not found");return}let f=e.searchParams.get("code"),g=e.searchParams.get("state"),i=e.searchParams.get("error"),j=g?x.get(g):null;if(j){try{if(i)throw Error(e.searchParams.get("error_description")||i);if(!f)throw Error("No authorization code received");let{exchangeTokens:a}=await Promise.all([c.e(7774),c.e(5433),c.e(8920),c.e(6306),c.e(3225),c.e(3500),c.e(1159),c.e(2120),c.e(6922),c.e(2051),c.e(8499),c.e(5330),c.e(8895),c.e(9927)]).then(c.bind(c,74177)),{createProviderConnection:b}=await c.e(1998).then(c.bind(c,71998)),h=await a("xai",f,j.redirectUri,j.codeVerifier,g),k=await b({provider:"xai",authType:"oauth",...h,expiresAt:h.expiresIn?new Date(Date.now()+1e3*h.expiresIn).toISOString():null,testStatus:"active"});j.status="done",j.connectionId=k.id,j.email=k.email,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(s(!0,"You can close this window."))}catch(a){j.status="error",j.error=a.message,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(s(!1,a.message))}finally{C()}return}let k=`http://localhost:${a}/callback${e.search}`;d.writeHead(302,{Location:k}),d.end(),C()});d.listen(56121,"127.0.0.1",()=>{v=d,w=setTimeout(()=>C(),3e5),b({success:!0})}),d.on("error",a=>{"EADDRINUSE"===a.code?b({success:!1,reason:"port_busy"}):b({success:!1,reason:a.message})})})}function C(){w&&(clearTimeout(w),w=null),v&&(v.close(),v=null)}let D=null,E=null,F=null,G=null;function H({state:a}){return!!a&&(G={state:a,status:"pending",createdAt:Date.now()},!0)}function I(a){return!G||a&&G.state!==a?null:G}function J(a){(!a||G&&G.state===a)&&(G=null)}function K(){return new Promise(a=>{if(D)return void a({success:!0,port:F,callbackUrl:`http://127.0.0.1:${F}${i.SK.callbackPath}`});let b=e().createServer(async(a,b)=>{let d=new h.URL(a.url,"http://localhost");if(d.pathname!==i.SK.callbackPath&&"/auth/callback"!==d.pathname){b.writeHead(404),b.end("Not found");return}let e=G;if(!e){b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,"No active Trae login session"));return}if(!j(a.headers.origin)){b.writeHead(403,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,"Cross-origin callback rejected"));return}let f=d.searchParams.get("state");if(f&&e.state&&f!==e.state){e.status="error",e.error="Trae callback state mismatch",b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,e.error)),L();return}let g=`${d.pathname}?${d.searchParams.toString()}`;try{let{exchangeTokens:a}=await Promise.all([c.e(7774),c.e(5433),c.e(8920),c.e(6306),c.e(3225),c.e(3500),c.e(1159),c.e(2120),c.e(6922),c.e(2051),c.e(8499),c.e(5330),c.e(8895),c.e(9927)]).then(c.bind(c,74177)),{createProviderConnection:d}=await c.e(1998).then(c.bind(c,71998)),f=await a("trae",g),h=await d({provider:"trae",authType:"oauth",...f,expiresAt:f.expiresIn?new Date(Date.now()+1e3*f.expiresIn).toISOString():null,testStatus:"active"});e.status="done",e.connectionId=h.id,e.email=h.email,b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!0,"You can close this window."))}catch(a){e.status="error",e.error=a.message,b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,a.message))}finally{L()}});b.listen(0,"127.0.0.1",()=>{D=b,F=b.address().port,E=setTimeout(()=>L(),i.SK.oauthTimeoutMs),a({success:!0,port:F,callbackUrl:`http://127.0.0.1:${F}${i.SK.callbackPath}`})}),b.on("error",b=>a({success:!1,reason:b.message}))})}function L(){E&&(clearTimeout(E),E=null),D&&(D.close(),D=null),F=null}let M=null,N=null,O=null,P=null;function Q({state:a}){return!!a&&(P={state:a,status:"pending",createdAt:Date.now()},!0)}function R(a){return!P||a&&P.state!==a?null:P}function S(a){(!a||P&&P.state===a)&&(P=null)}function T(){return new Promise(a=>{if(M)return void a({success:!0,port:O,callbackUrl:`http://127.0.0.1:${O}${i.eD.callbackPath}`});let b=e().createServer(async(a,b)=>{let d=new h.URL(a.url,"http://localhost");if(d.pathname!==i.eD.callbackPath){b.writeHead(404),b.end("Not found");return}let e=P;if(!e){b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,"No active Windsurf login session"));return}if(!j(a.headers.origin)){b.writeHead(403,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,"Cross-origin callback rejected"));return}let f=d.searchParams.get("state");if(!f||!e.state||f!==e.state){e.status="error",e.error="Windsurf callback state mismatch",b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,e.error)),U();return}let g=`${d.pathname}?${d.searchParams.toString()}`;try{let{exchangeTokens:a}=await Promise.all([c.e(7774),c.e(5433),c.e(8920),c.e(6306),c.e(3225),c.e(3500),c.e(1159),c.e(2120),c.e(6922),c.e(2051),c.e(8499),c.e(5330),c.e(8895),c.e(9927)]).then(c.bind(c,74177)),{createProviderConnection:d}=await c.e(1998).then(c.bind(c,71998)),f=await a("windsurf",g,null,null,e.state),h=await d({provider:"windsurf",authType:"api_key",...f,testStatus:"active"});e.status="done",e.connectionId=h.id,e.email=h.email,b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!0,"You can close this window."))}catch(a){e.status="error",e.error=a.message,b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,a.message))}finally{U()}});b.listen(0,"127.0.0.1",()=>{M=b,O=b.address().port,N=setTimeout(()=>U(),i.eD.oauthTimeoutMs),a({success:!0,port:O,callbackUrl:`http://127.0.0.1:${O}${i.eD.callbackPath}`})}),b.on("error",b=>a({success:!1,reason:b.message}))})}function U(){N&&(clearTimeout(N),N=null),M&&(M.close(),M=null),O=null}let V=null,W=null,X=null,Y=null;function Z({state:a,codeVerifier:b}){return!!a&&!!b&&(Y={state:a,codeVerifier:b,status:"pending",createdAt:Date.now()},!0)}function $(a){return!Y||a&&Y.state!==a?null:Y}function _(a){(!a||Y&&Y.state===a)&&(Y=null)}function aa(a=0){return new Promise(b=>{if(V)return void b({success:!0,port:X,callbackUrl:`http://127.0.0.1:${X}/`});let d=e().createServer(async(a,b)=>{let d=new h.URL(a.url,"http://localhost"),e=Object.fromEntries(d.searchParams);for(let a of["access_token","user_id","code_verifier","state"])e[a]&&(e[a]="<redacted>");if(console.log("[Zed proxy]",a.method,d.pathname,JSON.stringify(e)),"/"!==d.pathname&&"/callback"!==d.pathname){b.writeHead(404),b.end("Not found");return}let f=Y;if(!f){b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,"No active Zed login session"));return}if(!j(a.headers.origin)){b.writeHead(403,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,"Cross-origin callback rejected"));return}let g=d.search?`${d.pathname}?${d.searchParams.toString()}`:d.pathname;try{let{exchangeTokens:a}=await Promise.all([c.e(7774),c.e(5433),c.e(8920),c.e(6306),c.e(3225),c.e(3500),c.e(1159),c.e(2120),c.e(6922),c.e(2051),c.e(8499),c.e(5330),c.e(8895),c.e(9927)]).then(c.bind(c,74177)),{createProviderConnection:d}=await c.e(1998).then(c.bind(c,71998)),e=await a("zed",g,null,f.codeVerifier,f.state),h=await d({provider:"zed",authType:"oauth",...e,testStatus:"active"});f.status="done",f.connectionId=h.id,f.email=h.email,b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!0,"You can close this window."))}catch(a){f.status="error",f.error=a.message,b.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),b.end(s(!1,a.message))}finally{ab()}}),f=Number(a)||0;d.on("error",a=>{"EADDRINUSE"===a.code&&0!==f?(console.log(`[Zed proxy] port ${f} busy, falling back to random`),d.listen(0,"127.0.0.1",()=>{V=d,X=d.address().port,W=setTimeout(()=>ab(),i.RY.oauthTimeoutMs),console.log(`[Zed proxy] listening on random port ${X}`),b({success:!0,port:X,callbackUrl:`http://127.0.0.1:${X}/`})})):(console.log(`[Zed proxy] listen error: ${a.message}`),b({success:!1,reason:a.message}))}),d.listen(f,"127.0.0.1",()=>{V=d,X=d.address().port,W=setTimeout(()=>{console.log("[Zed proxy] timeout, stopping"),ab()},i.RY.oauthTimeoutMs),console.log(`[Zed proxy] listening on port ${X}`),b({success:!0,port:X,callbackUrl:`http://127.0.0.1:${X}/`})})})}function ab(){console.log(`[Zed proxy] stopping (port ${X||"-"})`),W&&(clearTimeout(W),W=null),V&&(V.close(),V=null),X=null}let ac=null,ad=null,ae=null,af=new h.URL(i.oe.platformUrl).origin,ag=null;function ah(a,b){let c=new h.URL(`${i.oe.platformUrl}/authorize/callback`);return c.searchParams.set("status",a),b&&c.searchParams.set("message",b),c.toString()}let ai=new Map;function aj({state:a,privateKeyDer:b}){if(!a||!b)return!1;let c=Date.now()-i.oe.pendingTtlMs;for(let[a,b]of ai)b.createdAt<c&&ai.delete(a);for(;ai.size>=8;){let a=ai.keys().next();if(a.done)break;ai.delete(a.value)}return ai.set(a,{privateKeyDer:b,status:"pending",createdAt:Date.now()}),!0}function ak(a){let b=ai.get(a);return b?{status:b.status,result:b.result||null,error:b.error||null}:null}function al(a){ai.delete(a)}async function am(a){let b=function(a){let b=String(a??"").trim();if(!b)return"";let c=b.match(/(?:^|[?&])(?:u|code)=([^&\s]+)/);if(c)try{b=decodeURIComponent(c[1])}catch{b=c[1]}return(b=(b=b.replace(/^(?:授权码|验证码)\s*[::=]?\s*/,"").replace(/^(?:authorization\s*code|code)\s*[::=]\s*/i,"")).replace(/^[`'"“”‘’<([{]+/,"").replace(/[`'"“”‘’>)\]},.;:。,;:]+$/,"")).replace(/\s+/g,"")}(a);if(!b)return{ok:!1,error:"empty_payload"};if(b.length<60)return{ok:!1,error:"payload_too_short"};let d=[...ai.entries()].filter(([,a])=>"pending"===a.status);if(0===d.length)return{ok:!1,error:"no_pending_session"};let{decryptCallback:e}=await c.e(4152).then(c.bind(c,34152)),f=!1;for(let[a,c]of d){let d;try{d=e(c.privateKeyDer,b)}catch{continue}if(!d.sk){f=!0;continue}return c.status="done",c.result={uid:d.uid,accessToken:d.sk,baseUrl:d.url||i.oe.defaultBaseUrl},{ok:!0,state:a,result:c.result}}let g=f?"missing_api_key":"decrypt_failed";return console.warn(`[xiaomi-mimo oauth] code rejected (${g}): ${b.length} chars, ${d.length} pending session(s)`),{ok:!1,error:g}}function an(){return new Promise(a=>{if(ac)return void a({success:!0,port:ad,callbackUrl:`http://127.0.0.1:${ad}${ag}`});let b=ag||(ag=`/callback/${g().randomBytes(16).toString("hex")}`),c=e().createServer(async(a,c)=>{let d=a.headers.origin||"",e=d===af?{"Access-Control-Allow-Origin":d,"Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*","Access-Control-Max-Age":"600",Vary:"Origin"}:{Vary:"Origin"};if("OPTIONS"===a.method){c.writeHead(204,e),c.end();return}let f=new h.URL(a.url,"http://127.0.0.1");if(f.pathname!==b){c.writeHead(404,e),c.end("Not Found");return}let g=f.searchParams.get("u");if(!g){c.writeHead(302,{...e,Location:ah("error","missing_data")}),c.end();return}let i=[...ai.entries()].filter(([,a])=>"pending"===a.status);try{let a=await am(g);if(!a.ok)throw Error("missing_api_key"===a.error?"Decrypted payload missing sk (API key)":"Could not decrypt with any pending session key");c.writeHead(302,{...e,Location:ah("success")}),c.end(),console.log("[xiaomi-mimo oauth] callback decrypted")}catch(a){if(console.error("[xiaomi-mimo oauth] decrypt failed:",a.message),1===i.length){let[,b]=i[0];b.status="error",b.error=a.message}c.writeHead(302,{...e,Location:ah("error","decrypt_failed")}),c.end()}});c.on("error",b=>{console.log("[xiaomi-mimo oauth] listen error:",b.message),a({success:!1,reason:b.message})}),c.listen(0,"127.0.0.1",()=>{ac=c,ad=c.address().port,ae=setTimeout(()=>{console.log("[xiaomi-mimo oauth] timeout, stopping"),ao()},i.oe.timeoutMs),console.log(`[xiaomi-mimo oauth] listening on port ${ad}`),a({success:!0,port:ad,callbackUrl:`http://127.0.0.1:${ad}${b}`})})})}function ao(){console.log(`[xiaomi-mimo oauth] stopping (port ${ad||"-"})`),ae&&(clearTimeout(ae),ae=null),ac&&(ac.close(),ac=null),ad=null,ag=null}},73159:(a,b,c)=>{c.d(b,{Ue:()=>k,oT:()=>l});var d=c(26070);let e=d.xq.xai?.clientId,f="https://auth.x.ai",g="/oauth2/authorize",h="/oauth2/token",i="/.well-known/openid-configuration",j="/callback",k=96,l={clientId:e,issuer:f,authEndpointPath:g,tokenEndpointPath:h,discoveryPath:i,authorizeUrl:`${f}${g}`,tokenUrl:`${f}${h}`,discoveryUrl:`${f}${i}`,scope:"openid profile email offline_access grok-cli:access api:access",apiBaseUrl:"https://api.x.ai/v1",redirectUri:`http://127.0.0.1:56121${j}`,loopbackPort:56121,callbackPath:j,pkceVerifierBytes:96,refreshLeadSeconds:300,userAgent:"grok-cli/10router",codeChallengeMethod:"S256"}},92990:(a,b,c)=>{c.d(b,{DI:()=>i,DV:()=>z,LT:()=>j,MZ:()=>u,Nl:()=>y,Nu:()=>o,OV:()=>h,RY:()=>F,S6:()=>r,SK:()=>D,Td:()=>A,Tx:()=>p,WN:()=>s,Ww:()=>G,YT:()=>m,ZL:()=>l,aV:()=>t,cD:()=>n,eD:()=>E,f7:()=>x,hF:()=>k,lB:()=>v,oe:()=>C,qp:()=>B,w1:()=>w});var d=c(21820),e=c(74129),f=c(26070);function g(){let a=(0,d.platform)(),b=(0,d.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}let h={...f.sr.claude},i={...f.sr.codex},j={...e.dG,...f.sr["gemini-cli"]},k={...f.sr.qoder},l={...f.sr.iflow},m={...e.XP,...f.sr.antigravity,loadCodeAssistClientMetadata:JSON.stringify({ideType:9,platform:g(),pluginType:2})};function n(){return{ideType:9,platform:g(),pluginType:2}}({...f.sr.openai});let o={...f.sr.github},p={...f.sr.kiro},q=/^[a-z]{2}-[a-z]+-\d{1,2}$/;function r(a){if("string"!=typeof a||!q.test(a))throw Error("Invalid region");return a}let s={...f.sr.cursor,tokenStoragePaths:{linux:"~/.config/Cursor/User/globalStorage/state.vscdb",macos:"/Users/<user>/Library/Application Support/Cursor/User/globalStorage/state.vscdb",windows:"%APPDATA%\\Cursor\\User\\globalStorage\\state.vscdb"}},t={...f.sr.kimi,clientId:process.env.KIMI_CODING_OAUTH_CLIENT_ID||process.env.KIMI_OAUTH_CLIENT_ID||f.xq.kimi?.clientId||f.sr.kimi?.clientId},u={...f.sr.kilocode},v={...f.sr.cline},w={...f.sr.clinepass},x={...f.sr.gitlab},y={...f.sr["codebuddy-cn"]},z={...f.sr["codebuddy-intl"]},A={...f.sr.kimchi},B={...f.sr["grok-cli"]},C={platformUrl:process.env.MIMO_PLATFORM_URL||"https://platform.xiaomimimo.com",defaultBaseUrl:"https://api.xiaomimimo.com/v1",kn:"mimocode",app:"MiMo",timeoutMs:3e5,pendingTtlMs:864e5},D={clientId:"ono9krqynydwx5",clientSecret:"-",loginGuidanceUrls:["https://api.marscode.com/cloudide/api/v3/trae/GetLoginGuidance","https://api.trae.ai/cloudide/api/v3/trae/GetLoginGuidance","https://www.trae.ai/cloudide/api/v3/trae/GetLoginGuidance"],apiOrigins:["https://api.marscode.com","https://api.trae.ai","https://www.trae.ai","https://www.marscode.com"],exchangeTokenPath:"/cloudide/api/v3/trae/oauth/ExchangeToken",getUserInfoPath:"/cloudide/api/v3/trae/GetUserInfo",authorizationPath:"/authorization",callbackPath:"/callback",minAppVersion:"3.5.54",defaultAppVersion:"3.5.54",defaultAppType:"stable",defaultPluginVersion:"local",defaultDeviceId:"0",userAgent:"Trae/1.0.0 antigravity-cockpit-tools",webUrl:"https://www.trae.ai",authScheme:"Cloud-IDE-JWT",tokenLifetimeDays:14,oauthTimeoutMs:6e5},E={clientId:"3GUryQ7ldAeKEuD2obYnppsnmj58eP5u",authBaseUrl:"https://www.windsurf.com",signInPath:"/windsurf/signin",registerApiBaseUrl:"https://register.windsurf.com",registerPath:"/exa.seat_management_pb.SeatManagementService/RegisterUser",oneTimeAuthPath:"/exa.seat_management_pb.SeatManagementService/GetOneTimeAuthToken",currentUserPath:"/exa.seat_management_pb.SeatManagementService/GetCurrentUser",planStatusPath:"/exa.seat_management_pb.SeatManagementService/GetPlanStatus",userStatusPath:"/exa.seat_management_pb.SeatManagementService/GetUserStatus",defaultApiServerUrl:"https://server.codeium.com",firebaseApiKey:"AIzaSyDsOl-1XpT5err0Tcn0TFFod1H8gVGIycY",callbackPath:"/windsurf-auth-callback",userAgent:"antigravity-cockpit-tools",oauthTimeoutMs:6e5},F={webBaseUrl:"https://zed.dev",cloudBaseUrl:"https://cloud.zed.dev",llmBaseUrl:"https://cloud.zed.dev",defaultNativeAppPort:58443,oauthTimeoutMs:6e5},G=3e5}};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";exports.id=5781,exports.ids=[5781],exports.modules={644:(a,b,c)=>{function d(a,b=null){if(null==a)return b;if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}function e(a){return JSON.stringify(a??null)}c.d(b,{q:()=>d,s:()=>e})},5781:(a,b,c)=>{c.r(b),c.d(b,{cleanupProviderConnections:()=>
|
|
1
|
+
"use strict";exports.id=5781,exports.ids=[5781],exports.modules={644:(a,b,c)=>{function d(a,b=null){if(null==a)return b;if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}function e(a){return JSON.stringify(a??null)}c.d(b,{q:()=>d,s:()=>e})},5781:(a,b,c)=>{c.r(b),c.d(b,{cleanupProviderConnections:()=>t,createProviderConnection:()=>o,deleteProviderConnection:()=>q,deleteProviderConnectionsByProvider:()=>r,getProviderConnectionById:()=>m,getProviderConnections:()=>l,reorderProviderConnections:()=>s,updateProviderConnection:()=>p});var d=c(94755),e=c(36366),f=c(644),g=c(29424),h=c(72082);let i=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","errorCode","consecutiveUseCount","idToken","lastRefreshAt","earliestPackageExpiry","earliestPackageName","quotaCheckedAt"];function j(a){if(!a)return null;let b=(0,f.q)(a.data,{}),{data:c,error:d,unreadable:e}=(0,h.decryptConnectionData)(b);if(d){let a={testStatus:"unavailable",lastError:`Credentials unreadable: ${d}`};Object.assign(c,a),c[h.UNREADABLE_CREDENTIALS_KEY]={...e,synthesized:a}}return{...c,id:a.id,provider:a.provider,authType:a.authType,name:a.name,email:a.email,priority:a.priority,isActive:1===a.isActive||!0===a.isActive,createdAt:a.createdAt,updatedAt:a.updatedAt}}function k(a,b){let c=function(a){let{id:b,provider:c,authType:d,name:e,email:g,priority:i,isActive:j,createdAt:k,updatedAt:l,...m}=a,n=(0,h.restoreUnreadableCredentials)(m);return{id:b,provider:c,authType:d,name:e??null,email:g??null,priority:i??null,isActive:+(!1!==j),data:(0,f.s)((0,h.encryptConnectionData)(n)),createdAt:k,updatedAt:l}}(b);a.run(`INSERT INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt)
|
|
2
2
|
VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
3
3
|
ON CONFLICT(id) DO UPDATE SET
|
|
4
4
|
provider=excluded.provider, authType=excluded.authType, name=excluded.name,
|
|
5
5
|
email=excluded.email, priority=excluded.priority, isActive=excluded.isActive,
|
|
6
|
-
data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.provider,c.authType,c.name,c.email,c.priority,c.isActive,c.data,c.createdAt,c.updatedAt])}async function k(a={}){let b=await (0,e.c)(),c=[],d=[];a.provider&&(c.push("provider = ?"),d.push(a.provider)),void 0!==a.isActive&&(c.push("isActive = ?"),d.push(+!!a.isActive));let f=`SELECT * FROM providerConnections${c.length?` WHERE ${c.join(" AND ")}`:""}`,g=b.all(f,d).map(i);return g.sort((a,b)=>(a.priority||999)-(b.priority||999)),g}async function l(a){return i((await (0,e.c)()).get("SELECT * FROM providerConnections WHERE id = ?",[a]))}function m(a,b){let c=a.all("SELECT * FROM providerConnections WHERE provider = ?",[b]).map(i);c.sort((a,b)=>{let c=(a.priority||0)-(b.priority||0);return 0!==c?c:new Date(b.updatedAt||0)-new Date(a.updatedAt||0)}),c.forEach((b,c)=>{a.run("UPDATE providerConnections SET priority = ? WHERE id = ?",[c+1,b.id])})}async function n(a){let b,f=await (0,e.c)(),k=new Date().toISOString(),l=!1;if(f.transaction(()=>{var c;let e=f.all("SELECT * FROM providerConnections WHERE provider = ?",[a.provider]).map(i);l=0===e.length;let g=null;if("oauth"===a.authType&&a.email){let b=a.providerSpecificData?.username,c=a.providerSpecificData?.chatgptAccountId;g=e.find(d=>{if("oauth"!==d.authType||d.email!==a.email)return!1;if("codex"===a.provider){let a=d.providerSpecificData?.chatgptAccountId;return!!c&&!!a&&c===a}let e=d.providerSpecificData?.chatgptAccountId;if(c&&e)return c===e;if(c&&!e||!c&&e)return!1;let f=d.providerSpecificData?.username;return b&&f?b===f:!b&&!f})}else"apikey"===a.authType&&a.name&&(g=e.find(b=>"apikey"===b.authType&&b.name===a.name));if(g){let c={...g,...a,updatedAt:k};j(f,c),b=c;return}let n=a.name||null;n||"oauth"!==a.authType&&"access_token"!==a.authType||(c=a.email||`Account ${e.length+1}`,n="github"===a.provider&&(a.providerSpecificData?.githubLogin||a.providerSpecificData?.githubEmail||a.email||a.providerSpecificData?.githubName)||c);let o=a.priority;o||(o=e.reduce((a,b)=>Math.max(a,b.priority||0),0)+1);let p={id:(0,d.A)(),provider:a.provider,authType:a.authType||"oauth",name:n,priority:o,isActive:void 0===a.isActive||a.isActive,createdAt:k,updatedAt:k};for(let b of h)void 0!==a[b]&&null!==a[b]&&(p[b]=a[b]);a.providerSpecificData&&Object.keys(a.providerSpecificData).length>0&&(p.providerSpecificData=a.providerSpecificData),void 0!==a.email&&(p.email=a.email),j(f,p),m(f,a.provider),b=p}),l&&b)try{let{PROVIDER_MODELS:b,PROVIDER_ID_TO_ALIAS:d}=await Promise.all([c.e(2268),c.e(6070),c.e(8546)]).then(c.bind(c,57247)),e=d[a.provider]||a.provider,f=(b[e]||[]).filter(a=>!a.kind||"llm"===a.kind).map(a=>a.id);if(f.length>0){let a=await (0,g.jw)(e);0===a.length&&await (0,g.tm)(e,f)}}catch(a){console.log("Default-disable init skipped:",a?.message||a)}return b}async function o(a,b){let c,d=await (0,e.c)();return d.transaction(()=>{let e=d.get("SELECT * FROM providerConnections WHERE id = ?",[a]);if(!e){c=null;return}let f=i(e),g={...f,...b,updatedAt:new Date().toISOString()};j(d,g),void 0!==b.priority&&m(d,f.provider),c=g}),c}async function p(a){let b=await (0,e.c)(),c=!1;return b.transaction(()=>{let d=b.get("SELECT provider FROM providerConnections WHERE id = ?",[a]);d&&(b.run("DELETE FROM providerConnections WHERE id = ?",[a]),m(b,d.provider),c=!0)}),c}async function q(a){let b=await (0,e.c)(),c=b.get("SELECT COUNT(*) AS n FROM providerConnections WHERE provider = ?",[a]);return b.run("DELETE FROM providerConnections WHERE provider = ?",[a]),c?.n||0}async function r(a){let b=await (0,e.c)();b.transaction(()=>m(b,a))}async function s(){let a=await (0,e.c)(),b=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","consecutiveUseCount"],c=0;return a.transaction(()=>{for(let d of a.all("SELECT * FROM providerConnections")){let e=i(d),f=!1;for(let a of b)(null===e[a]||void 0===e[a])&&a in e&&(delete e[a],c++,f=!0);e.providerSpecificData&&0===Object.keys(e.providerSpecificData).length&&(delete e.providerSpecificData,c++,f=!0),f&&j(a,e)}}),c}},29424:(a,b,c)=>{c.d(b,{jw:()=>k,oF:()=>p,tm:()=>o,vF:()=>j});var d=c(36366),e=c(644);let f="disabledModels",g=null;async function h(){if(g)return g;let a=new Map,b=new Map;try{let d=await Promise.all([c.e(2268),c.e(3662)]).then(c.bind(c,62268));for(let c of d.default||d.REGISTRY||[]){let d=c.uiAlias||c.alias||c.id;if(!d)continue;let e=new Set([c.id,c.alias,c.uiAlias,...Array.isArray(c.aliases)?c.aliases:[]].filter(Boolean)),f=b.get(d)||new Set;for(let b of e)a.set(b,d),f.add(b);b.set(d,f)}}catch(a){console.log("Disabled-model key map unavailable:",a?.message||a)}return g={toCanonical:a,byCanonical:b}}async function i(a){let{toCanonical:b,byCanonical:c}=await h(),d=b.get(a)||a,e=c.get(d),f=new Set(e?[...e]:[]);return f.add(a),f.add(d),{canonical:d,keys:[...f]}}async function j(){let a=(await (0,d.c)()).all("SELECT key, value FROM kv WHERE scope = ?",[f]),{toCanonical:b,byCanonical:c}=await h(),g=new Map;for(let c of a){let a=b.get(c.key)||c.key,d=g.get(a);d||(d={own:null,union:new Set},g.set(a,d));let f=(0,e.q)(c.value,[])||[];for(let b of(c.key===a&&(d.own=new Set(f)),f))d.union.add(b)}let i={};for(let[a,b]of g){let d=[...b.own||b.union];i[a]=d;let e=c.get(a);if(e)for(let a of e)i[a]=d}return i}async function k(a){return a&&(await j())[a]||[]}let l="INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",m="DELETE FROM kv WHERE scope = ? AND key = ?";function n(a,b,c){let d=null,g=new Set;for(let h of b){let b=a.get("SELECT value FROM kv WHERE scope = ? AND key = ?",[f,h]);if(!b)continue;let i=(0,e.q)(b.value,[])||[];for(let a of(h===c&&(d=i),i))g.add(a)}return null!==d?d:[...g]}async function o(a,b){if(!a||!Array.isArray(b))return;let c=await (0,d.c)(),{canonical:g,keys:h}=await i(a);c.transaction(()=>{let a=[...new Set([...n(c,h,g),...b])];for(let b of(c.run(l,[f,g,(0,e.s)(a)]),h))b!==g&&c.run(m,[f,b])})}async function p(a,b){if(!a)return;let c=await (0,d.c)(),{canonical:g,keys:h}=await i(a),j=!Array.isArray(b)||0===b.length;c.transaction(()=>{let a=[];if(!j){let d=new Set(b);a=n(c,h,g).filter(a=>!d.has(a))}if(0===a.length){for(let a of h)c.run(m,[f,a]);return}for(let b of(c.run(l,[f,g,(0,e.s)(a)]),h))b!==g&&c.run(m,[f,b])})}},36366:(a,b,c)=>{c.d(b,{c:()=>k});var d=c(95658);global._dbAdapter||(global._dbAdapter={instance:null,initPromise:null,logged:!1});let e=global._dbAdapter;async function f(){if(!process.versions.bun)return null;try{let{createBunSqliteAdapter:a}=await c.e(4739).then(c.bind(c,24739));return await a(d.AL)}catch(a){return console.warn(`[DB] bun:sqlite unavailable: ${a.message}`),null}}async function g(){if(process.versions.bun)return null;let[a]=process.versions.node.split(".").map(Number);if(a>=24)return null;try{let{createBetterSqliteAdapter:a}=await c.e(5258).then(c.bind(c,25258));return a(d.AL)}catch(a){return console.warn(`[DB] better-sqlite3 unavailable: ${a.message}`),null}}async function h(){if(process.versions.bun)return null;let[a,b]=process.versions.node.split(".").map(Number);if(a<22||22===a&&b<5)return null;try{let{createNodeSqliteAdapter:a}=await c.e(8520).then(c.bind(c,88520));return await a(d.AL)}catch(a){return console.warn(`[DB] node:sqlite unavailable: ${a.message}`),null}}async function i(){try{let{createSqlJsAdapter:a}=await c.e(3593).then(c.bind(c,53593));return await a(d.AL)}catch(a){return console.warn(`[DB] sql.js unavailable: ${a.message}`),null}}async function j(){(0,d.Jh)();let a=await f();if(a||(a=await g()),a||(a=await h()),a||(a=await i()),!a)throw Error("[DB] No SQLite driver available (bun/better/node/sql.js all failed)");e.logged||(console.log(`[DB] Driver: ${a.driver} | file: ${d.AL}`),e.logged=!0);let{runMigrationOnce:b}=await c.e(5217).then(c.bind(c,67598));return await b(a),a}async function k(){return e.instance?e.instance:(e.initPromise||(e.initPromise=j().then(a=>(e.instance=a,a))),e.initPromise)}},49120:(a,b,c)=>{c.d(b,{jL:()=>l,nJ:()=>o});var d=c(73024),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="10router",k="9router",l={main:"db.json",usage:"usage.json",disabled:"disabledModels.json",details:"request-details.json"};function m(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),k):g().join(i().homedir(),`.${k}`)}function n(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),j):g().join(i().homedir(),`.${j}`)}let o=function(){let a=process.env.DATA_DIR;if(!a)return!function(){try{let a=m(),b=n();if(!e().existsSync(a)||e().existsSync(g().join(b,"db","data.sqlite"))||Object.values(l).some(a=>e().existsSync(g().join(b,a))))return;e().cpSync(a,b,{recursive:!0,force:!1}),console.log(`[migration] copied legacy data dir ${a} → ${b}`)}catch(a){console.warn(`[migration] failed to migrate ${m()} → ${n()}: ${a?.message}`)}}(),n();if("win32"===process.platform&&/^\//.test(a))return console.warn(`[DATA_DIR] '${a}' is a Unix path on Windows → fallback to default`),n();try{return e().mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${j}`),n();throw b}}()},95658:(a,b,c)=>{c.d(b,{AL:()=>j,HG:()=>i,Jh:()=>m,KQ:()=>k,Or:()=>l});var d=c(76760),e=c.n(d),f=c(73024),g=c.n(f),h=c(49120);let i=e().join(h.nJ,"db"),j=e().join(i,"data.sqlite"),k=e().join(i,"backups"),l=Object.fromEntries(Object.entries(h.jL).map(([a,b])=>[a,e().join(h.nJ,b)]));function m(){for(let a of[h.nJ,i,k])g().existsSync(a)||g().mkdirSync(a,{recursive:!0})}}};
|
|
6
|
+
data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.provider,c.authType,c.name,c.email,c.priority,c.isActive,c.data,c.createdAt,c.updatedAt])}async function l(a={}){let b=await (0,e.cK)(),c=[],d=[];a.provider&&(c.push("provider = ?"),d.push(a.provider)),void 0!==a.isActive&&(c.push("isActive = ?"),d.push(+!!a.isActive));let f=`SELECT * FROM providerConnections${c.length?` WHERE ${c.join(" AND ")}`:""}`,g=b.all(f,d).map(j);return g.sort((a,b)=>(a.priority||999)-(b.priority||999)),g}async function m(a){return j((await (0,e.cK)()).get("SELECT * FROM providerConnections WHERE id = ?",[a]))}function n(a,b){let c=a.all("SELECT * FROM providerConnections WHERE provider = ?",[b]).map(j);c.sort((a,b)=>{let c=(a.priority||0)-(b.priority||0);return 0!==c?c:new Date(b.updatedAt||0)-new Date(a.updatedAt||0)}),c.forEach((b,c)=>{a.run("UPDATE providerConnections SET priority = ? WHERE id = ?",[c+1,b.id])})}async function o(a){let b,f=await (0,e.cK)(),h=new Date().toISOString(),l=!1;if(f.transaction(()=>{var c;let e=f.all("SELECT * FROM providerConnections WHERE provider = ?",[a.provider]).map(j);l=0===e.length;let g=null;if("oauth"===a.authType&&a.email){let b=a.providerSpecificData?.username,c=a.providerSpecificData?.chatgptAccountId;g=e.find(d=>{if("oauth"!==d.authType||d.email!==a.email)return!1;if("codex"===a.provider){let a=d.providerSpecificData?.chatgptAccountId;return!!c&&!!a&&c===a}let e=d.providerSpecificData?.chatgptAccountId;if(c&&e)return c===e;if(c&&!e||!c&&e)return!1;let f=d.providerSpecificData?.username;return b&&f?b===f:!b&&!f})}else"apikey"===a.authType&&a.name&&(g=e.find(b=>"apikey"===b.authType&&b.name===a.name));if(g){let c={...g,...a,updatedAt:h};for(let b of["lastError","lastErrorAt","errorCode"])void 0===a[b]&&(c[b]=null);void 0===a.testStatus&&"unavailable"===c.testStatus&&(c.testStatus="active"),k(f,c),b=c;return}let m=a.name||null;m||"oauth"!==a.authType&&"access_token"!==a.authType||(c=a.email||`Account ${e.length+1}`,m="github"===a.provider&&(a.providerSpecificData?.githubLogin||a.providerSpecificData?.githubEmail||a.email||a.providerSpecificData?.githubName)||c);let o=a.priority;o||(o=e.reduce((a,b)=>Math.max(a,b.priority||0),0)+1);let p={id:(0,d.A)(),provider:a.provider,authType:a.authType||"oauth",name:m,priority:o,isActive:void 0===a.isActive||a.isActive,createdAt:h,updatedAt:h};for(let b of i)void 0!==a[b]&&null!==a[b]&&(p[b]=a[b]);a.providerSpecificData&&Object.keys(a.providerSpecificData).length>0&&(p.providerSpecificData=a.providerSpecificData),void 0!==a.email&&(p.email=a.email),k(f,p),n(f,a.provider),b=p}),l&&b)try{let{PROVIDER_MODELS:b,PROVIDER_ID_TO_ALIAS:d}=await Promise.all([c.e(1330),c.e(6070),c.e(8546)]).then(c.bind(c,57247)),e=d[a.provider]||a.provider,f=(b[e]||[]).filter(a=>!a.kind||"llm"===a.kind).map(a=>a.id);if(f.length>0){let a=await (0,g.jw)(e);0===a.length&&await (0,g.tm)(e,f)}}catch(a){console.log("Default-disable init skipped:",a?.message||a)}return b}async function p(a,b){let c,d=await (0,e.cK)();return d.transaction(()=>{let e=d.get("SELECT * FROM providerConnections WHERE id = ?",[a]);if(!e){c=null;return}let f=j(e),g={...f,...b,updatedAt:new Date().toISOString()};if("resetErrorState"in g){let a=!0===g.resetErrorState;if(delete g.resetErrorState,a){let a={lastError:null,lastErrorAt:null,errorCode:null,testStatus:null};for(let c of Object.keys(a))void 0!==b[c]&&delete a[c];Object.assign(g,a)}}k(d,g),void 0!==b.priority&&n(d,f.provider),c=g}),c}async function q(a){let b=await (0,e.cK)(),c=!1;return b.transaction(()=>{let d=b.get("SELECT provider FROM providerConnections WHERE id = ?",[a]);d&&(b.run("DELETE FROM providerConnections WHERE id = ?",[a]),n(b,d.provider),c=!0)}),c}async function r(a){let b=await (0,e.cK)(),c=b.get("SELECT COUNT(*) AS n FROM providerConnections WHERE provider = ?",[a]);return b.run("DELETE FROM providerConnections WHERE provider = ?",[a]),c?.n||0}async function s(a){let b=await (0,e.cK)();b.transaction(()=>n(b,a))}async function t(){let a=await (0,e.cK)(),b=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","consecutiveUseCount"],c=0;return a.transaction(()=>{for(let d of a.all("SELECT * FROM providerConnections")){let e=j(d),f=!1;for(let a of b)(null===e[a]||void 0===e[a])&&a in e&&(delete e[a],c++,f=!0);e.providerSpecificData&&0===Object.keys(e.providerSpecificData).length&&(delete e.providerSpecificData,c++,f=!0),f&&k(a,e)}}),c}},29424:(a,b,c)=>{c.d(b,{jw:()=>k,oF:()=>p,qi:()=>h,tm:()=>o,vF:()=>j});var d=c(36366),e=c(644);let f="disabledModels",g=null;async function h(){if(g)return g;let a=new Map,b=new Map;try{let d=await Promise.all([c.e(1330),c.e(3662)]).then(c.bind(c,31330));for(let c of d.default||d.REGISTRY||[]){let d=c.uiAlias||c.alias||c.id;if(!d)continue;let e=new Set([c.id,c.alias,c.uiAlias,...Array.isArray(c.aliases)?c.aliases:[]].filter(Boolean)),f=b.get(d)||new Set;for(let b of e)a.set(b,d),f.add(b);b.set(d,f)}}catch(a){console.log("Disabled-model key map unavailable:",a?.message||a)}return g={toCanonical:a,byCanonical:b}}async function i(a){let{toCanonical:b,byCanonical:c}=await h(),d=b.get(a)||a,e=c.get(d),f=new Set(e?[...e]:[]);return f.add(a),f.add(d),{canonical:d,keys:[...f]}}async function j(){let a=(await (0,d.cK)()).all("SELECT key, value FROM kv WHERE scope = ?",[f]),{toCanonical:b,byCanonical:c}=await h(),g=new Map;for(let c of a){let a=b.get(c.key)||c.key,d=g.get(a);d||(d={own:null,union:new Set},g.set(a,d));let f=(0,e.q)(c.value,[])||[];for(let b of(c.key===a&&(d.own=new Set(f)),f))d.union.add(b)}let i={};for(let[a,b]of g){let d=[...b.own||b.union];i[a]=d;let e=c.get(a);if(e)for(let a of e)i[a]=d}return i}async function k(a){return a&&(await j())[a]||[]}let l="INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",m="DELETE FROM kv WHERE scope = ? AND key = ?";function n(a,b,c){let d=null,g=new Set;for(let h of b){let b=a.get("SELECT value FROM kv WHERE scope = ? AND key = ?",[f,h]);if(!b)continue;let i=(0,e.q)(b.value,[])||[];for(let a of(h===c&&(d=i),i))g.add(a)}return null!==d?d:[...g]}async function o(a,b){if(!a||!Array.isArray(b))return;let c=await (0,d.cK)(),{canonical:g,keys:h}=await i(a);c.transaction(()=>{let a=[...new Set([...n(c,h,g),...b])];for(let b of(c.run(l,[f,g,(0,e.s)(a)]),h))b!==g&&c.run(m,[f,b])})}async function p(a,b){if(!a)return;let c=await (0,d.cK)(),{canonical:g,keys:h}=await i(a),j=!Array.isArray(b)||0===b.length;c.transaction(()=>{let a=[];if(!j){let d=new Set(b);a=n(c,h,g).filter(a=>!d.has(a))}if(0===a.length){for(let a of h)c.run(m,[f,a]);return}for(let b of(c.run(l,[f,g,(0,e.s)(a)]),h))b!==g&&c.run(m,[f,b])})}},36366:(a,b,c)=>{c.d(b,{cK:()=>n});var d=c(76760),e=c.n(d),f=c(95658);global._dbAdapter||(global._dbAdapter={instance:null,initPromise:null,logged:!1,lastDriverError:null});let g=global._dbAdapter;async function h(){try{let{createRequire:a}=await Promise.resolve().then(c.t.bind(c,98995,23)),b=a(e().join(f.Rf,"_noop.js"))("better-sqlite3");return b?.default??b}catch{}try{let a=await Promise.resolve().then(c.t.bind(c,87550,23));return a?.default??a}catch{return null}}async function i(){if(!process.versions.bun)return null;try{let{createBunSqliteAdapter:a}=await c.e(4739).then(c.bind(c,24739));return await a(f.AL)}catch(a){return g.lastDriverError=`bun:sqlite: ${a.message}`,console.warn(`[DB] bun:sqlite unavailable: ${a.message}`),null}}async function j(){if(process.versions.bun)return null;let[a]=process.versions.node.split(".").map(Number);if(a>=24)return null;try{let a=await h();if(!a)throw Error("not installed (runtime copy and bare specifier both missing)");let{createBetterSqliteAdapter:b}=await c.e(5258).then(c.bind(c,25258));return b(f.AL,a)}catch(a){return g.lastDriverError=`better-sqlite3: ${a.message}`,console.warn(`[DB] better-sqlite3 unavailable: ${a.message}`),null}}async function k(){if(process.versions.bun)return null;let[a,b]=process.versions.node.split(".").map(Number);if(a<22||22===a&&b<5)return null;try{let{createNodeSqliteAdapter:a}=await c.e(8520).then(c.bind(c,88520));return await a(f.AL)}catch(a){return g.lastDriverError=`node:sqlite: ${a.message}`,console.warn(`[DB] node:sqlite unavailable: ${a.message}`),null}}async function l(){try{let{createSqlJsAdapter:a}=await c.e(3593).then(c.bind(c,53593));return await a(f.AL)}catch(a){return g.lastDriverError=`sql.js: ${a.message}`,console.warn(`[DB] sql.js unavailable: ${a.message}`),null}}async function m(){(0,f.Jh)();let a=await i();if(a||(a=await j()),a||(a=await k()),a||(a=await l()),!a)throw Error("[DB] No SQLite driver available (bun/better/node/sql.js all failed)");g.logged||(console.log(`[DB] Driver: ${a.driver} | file: ${f.AL}`),g.logged=!0);let{runMigrationOnce:b}=await c.e(9539).then(c.bind(c,79539));return await b(a),a}async function n(){return g.instance?g.instance:(g.initPromise||(g.initPromise=m().then(a=>(g.instance=a,a))),g.initPromise)}},49120:(a,b,c)=>{c.d(b,{jL:()=>l,nJ:()=>p,ok:()=>o});var d=c(73024),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="10router",k="9router",l={main:"db.json",usage:"usage.json",disabled:"disabledModels.json",details:"request-details.json"};function m(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),k):g().join(i().homedir(),`.${k}`)}function n(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),j):g().join(i().homedir(),`.${j}`)}function o(){let a=process.env.DATA_DIR;if(!a)return!function(){try{let a=m(),b=n();if(!e().existsSync(a)||e().existsSync(g().join(b,"db","data.sqlite"))||Object.values(l).some(a=>e().existsSync(g().join(b,a))))return;e().cpSync(a,b,{recursive:!0,force:!1}),console.log(`[migration] copied legacy data dir ${a} → ${b}`)}catch(a){console.warn(`[migration] failed to migrate ${m()} → ${n()}: ${a?.message}`)}}(),n();if("win32"===process.platform&&/^\//.test(a))return console.warn(`[DATA_DIR] '${a}' is a Unix path on Windows → fallback to default`),n();try{return e().mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${j}`),n();throw b}}let p=o()},72082:(a,b,c)=>{c.r(b),c.d(b,{CONNECTION_SECRET_FIELDS:()=>n,CredentialCryptoError:()=>q,UNREADABLE_CREDENTIALS_KEY:()=>z,connectionDataHasPlaintextSecrets:()=>D,decryptConnectionData:()=>B,decryptSecret:()=>v,encryptConnectionData:()=>y,encryptSecret:()=>u,getCredentialKey:()=>s,hasUnreadableCredentials:()=>A,isEncrypted:()=>r,resetCredentialKeyCache:()=>t,restoreUnreadableCredentials:()=>C});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(49120),k=c(77134);let l="enc:v1:",m="aes-256-gcm",n=["accessToken","refreshToken","idToken","apiKey"],o=/(token|secret|password|cookie|credential|api[-_]?key|proxyurl)/i,p=null;class q extends Error{constructor(a){super(a),this.name="CredentialCryptoError"}}function r(a){return"string"==typeof a&&a.startsWith(l)}function s(){if(p)return p;let a=process.env.CREDENTIAL_SECRET;if("string"==typeof a&&a.trim())return p=e().createHash("sha256").update(a.trim()).digest();let b=i().join(j.nJ,"credential-key");try{let a=g().readFileSync(b,"utf8").trim();if(a)return p=e().createHash("sha256").update(a).digest()}catch{}g().mkdirSync(j.nJ,{recursive:!0});let c=e().randomBytes(32).toString("hex");return g().writeFileSync(b,c,{mode:384}),(0,k.E)(b),p=e().createHash("sha256").update(c).digest()}function t(){p=null}function u(a){if("string"!=typeof a||""===a||r(a))return a;let b=e().randomBytes(12),c=e().createCipheriv(m,s(),b),d=Buffer.concat([c.update(a,"utf8"),c.final()]);return`${l}${b.toString("base64url")}:${c.getAuthTag().toString("base64url")}:${d.toString("base64url")}`}function v(a){if("string"!=typeof a||!r(a))return a;let b=a.slice(l.length).split(":");if(3!==b.length)throw new q("stored credential is malformed");let[c,d,f]=b;try{let a=e().createDecipheriv(m,s(),Buffer.from(c,"base64url"));return a.setAuthTag(Buffer.from(d,"base64url")),Buffer.concat([a.update(Buffer.from(f,"base64url")),a.final()]).toString("utf8")}catch{throw new q("stored credential cannot be decrypted with the current key")}}function w(a){return a&&"object"==typeof a?Object.keys(a).filter(b=>o.test(b)&&"string"==typeof a[b]):[]}function x(a){return w(a).filter(b=>""!==a[b])}function y(a){if(!a||"object"!=typeof a)return a;let b={...a};for(let a of n)"string"==typeof b[a]&&(b[a]=u(b[a]));let c=w(b.providerSpecificData);if(c.length){let a={...b.providerSpecificData};for(let b of c)a[b]=u(a[b]);b.providerSpecificData=a}return b}let z="__unreadableCredentials";function A(a){return!!(a&&"object"==typeof a&&a[z])}function B(a){if(!a||"object"!=typeof a)return{data:a,error:null,unreadable:null};let b={...a},c=null,d=null,e=(a,b,c)=>{d||(d={}),d[a]||(d[a]={}),d[a][b]=c};for(let a of n)if(r(b[a]))try{b[a]=v(b[a])}catch(d){e("fields",a,b[a]),delete b[a],c=d.message}let f=x(b.providerSpecificData).filter(a=>r(b.providerSpecificData[a]));if(f.length){let a={...b.providerSpecificData};for(let b of f)try{a[b]=v(a[b])}catch(d){e("providerSpecificData",b,a[b]),delete a[b],c=d.message}b.providerSpecificData=a}return{data:b,error:c,unreadable:d}}function C(a){if(!a||"object"!=typeof a||!a[z])return a;let{[z]:b,...c}=a,d=a=>null==a||""===a;for(let[a,e]of Object.entries(b.fields||{}))d(c[a])&&(c[a]=e);let e=b.providerSpecificData||{};if(Object.keys(e).length){let a={...c.providerSpecificData||{}};for(let[b,c]of Object.entries(e))d(a[b])&&(a[b]=c);c.providerSpecificData=a}let f=b.synthesized;return f&&(c.testStatus===f.testStatus&&delete c.testStatus,c.lastError===f.lastError&&delete c.lastError),c}function D(a){if(!a||"object"!=typeof a)return!1;for(let b of n)if("string"==typeof a[b]&&""!==a[b]&&!r(a[b]))return!0;return x(a.providerSpecificData).some(b=>!r(a.providerSpecificData[b]))}},77134:(a,b,c)=>{c.d(b,{E:()=>i});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(31421);function i(a){if(a){if("win32"===process.platform){try{let b=[process.env.USERDOMAIN,process.env.USERNAME].filter(Boolean).join("\\")||g().userInfo().username;(0,h.execFileSync)("icacls",[a,"/inheritance:r","/grant:r",`${b}:(F)`],{stdio:"ignore",windowsHide:!0})}catch(b){console.warn(`⚠️ Could not restrict ACLs on ${a}: ${b.message}`)}return}try{e().chmodSync(a,384)}catch(b){console.warn(`⚠️ Could not restrict permissions on ${a}: ${b.message}`)}}}},95658:(a,b,c)=>{c.d(b,{AL:()=>j,HG:()=>i,Jh:()=>n,KQ:()=>k,Or:()=>m,Rf:()=>l});var d=c(76760),e=c.n(d),f=c(73024),g=c.n(f),h=c(49120);let i=e().join(h.nJ,"db"),j=e().join(i,"data.sqlite"),k=e().join(i,"backups"),l=e().join(h.nJ,"runtime"),m=Object.fromEntries(Object.entries(h.jL).map(([a,b])=>[a,e().join(h.nJ,b)]));function n(){for(let a of[h.nJ,i,k])g().existsSync(a)||g().mkdirSync(a,{recursive:!0})}}};
|