zevairouter 1.0.124 → 1.0.125
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/CHANGELOG.md +9 -0
- package/cli/app/.next-cli-build/BUILD_ID +1 -1
- package/cli/app/.next-cli-build/app-path-routes-manifest.json +9 -9
- package/cli/app/.next-cli-build/build-manifest.json +6 -6
- package/cli/app/.next-cli-build/react-loadable-manifest.json +2 -2
- package/cli/app/.next-cli-build/required-server-files.json +0 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +3 -3
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +3 -3
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +3 -3
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +3 -3
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page.js +4 -4
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error/page.js +3 -3
- package/cli/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.html +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found.html +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found.rsc +12 -12
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +12 -12
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cache/stats/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cache/stats/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/changelog/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/changelog/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
- package/cli/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-gateway/accounts/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-gateway/accounts/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +3 -3
- package/cli/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +3 -3
- package/cli/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/combos/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/context/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/context/[id]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/context/bulk/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/context/bulk/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/context/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/context/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/dashboard/chat/completions/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/dashboard/chat/completions/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/health/ready/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/health/ready/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/health/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/init/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/keys/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/locale/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/metrics/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/metrics/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/latest/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/latest/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/[jobId]/cancel/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/[jobId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/[jobId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/latest/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/latest/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/latest/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/latest/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/latest/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/latest/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-token/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-token/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/quota-cookie/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/quota-cookie/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/latest/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/latest/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-token/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-token/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/quota-cookie/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/quota-cookie/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/cancel/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/latest/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/latest/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/latest/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/latest/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/latest/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/latest/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/bulk-delete/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/bulk-delete/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/validate/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/health/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/restart/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/start/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/stats/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/tags/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/auth/setup/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/auth/setup/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/auth/status/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/auth/status/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/auth/unlock/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/auth/unlock/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/input/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/input/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/resize/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/resize/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/stream/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/stream/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +3 -3
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/aggregate/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/aggregate/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/version/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/callback/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/callback.html +1 -1
- package/cli/app/.next-cli-build/server/app/callback.rsc +14 -14
- package/cli/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +14 -14
- package/cli/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/automation.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/automation.rsc +16 -16
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation/__PAGE__.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_full.segment.rsc +16 -16
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_head.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_index.segment.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +15 -15
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +15 -15
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +15 -15
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +15 -15
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/combos.rsc +16 -16
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +16 -16
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/context.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/context.rsc +16 -16
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context/__PAGE__.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_full.segment.rsc +16 -16
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_head.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_index.segment.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.rsc +15 -15
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +15 -15
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +16 -16
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +16 -16
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.rsc +15 -15
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +15 -15
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/playground.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/playground.rsc +15 -15
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_full.segment.rsc +15 -15
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_head.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_index.segment.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/profile.rsc +16 -16
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +16 -16
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.rsc +16 -16
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +16 -16
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers.rsc +16 -16
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +16 -16
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +16 -16
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +16 -16
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +15 -15
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +15 -15
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_head.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_index.segment.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/quota.rsc +16 -16
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +16 -16
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +14 -14
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +14 -14
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.rsc +15 -15
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +15 -15
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/translator.rsc +16 -16
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +16 -16
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/usage.rsc +16 -16
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +16 -16
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard.rsc +15 -15
- package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +15 -15
- package/cli/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/index.html +1 -1
- package/cli/app/.next-cli-build/server/app/index.rsc +12 -12
- package/cli/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +12 -12
- package/cli/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/landing/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/landing.html +1 -1
- package/cli/app/.next-cli-build/server/app/landing.rsc +14 -14
- package/cli/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +14 -14
- package/cli/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/login/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/login.html +1 -1
- package/cli/app/.next-cli-build/server/app/login.rsc +15 -15
- package/cli/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +15 -15
- package/cli/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/login.segments/login.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app-paths-manifest.json +9 -9
- package/cli/app/.next-cli-build/server/chunks/{1779.js → 1019.js} +1 -1
- package/cli/app/.next-cli-build/server/chunks/1188.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/1396.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/{7667.js → 1531.js} +1 -1
- package/cli/app/.next-cli-build/server/chunks/1656.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/1671.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/1813.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/1818.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/{4934.js → 1998.js} +1 -1
- package/cli/app/.next-cli-build/server/chunks/{8031.js → 2007.js} +1 -1
- package/cli/app/.next-cli-build/server/chunks/2130.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/2409.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/241.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/2478.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/2540.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/{4493.js → 2693.js} +1 -1
- package/cli/app/.next-cli-build/server/chunks/{9293.js → 2722.js} +25 -25
- package/cli/app/.next-cli-build/server/chunks/3104.js +43 -0
- package/cli/app/.next-cli-build/server/chunks/3110.js +19 -0
- package/cli/app/.next-cli-build/server/chunks/3155.js +60 -0
- package/cli/app/.next-cli-build/server/chunks/{1023.js → 3159.js} +1 -1
- package/cli/app/.next-cli-build/server/chunks/318.js +183 -0
- package/cli/app/.next-cli-build/server/chunks/319.js +45 -0
- package/cli/app/.next-cli-build/server/chunks/{4619.js → 3331.js} +1 -1
- package/cli/app/.next-cli-build/server/chunks/3407.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/3487.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/{2417.js → 3593.js} +1 -1
- package/cli/app/.next-cli-build/server/chunks/{8953.js → 4013.js} +1 -1
- package/cli/app/.next-cli-build/server/chunks/{1167.js → 4055.js} +1 -1
- package/cli/app/.next-cli-build/server/chunks/412.js +7 -0
- package/cli/app/.next-cli-build/server/chunks/{3552.js → 4136.js} +1 -1
- package/cli/app/.next-cli-build/server/chunks/415.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/4177.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/{1776.js → 4229.js} +1 -1
- package/cli/app/.next-cli-build/server/chunks/4253.js +3 -0
- package/cli/app/.next-cli-build/server/chunks/4404.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/4491.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/4632.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/4650.js +17 -0
- package/cli/app/.next-cli-build/server/chunks/{4395.js → 4739.js} +1 -1
- package/cli/app/.next-cli-build/server/chunks/4741.js +20 -0
- package/cli/app/.next-cli-build/server/chunks/4746.js +7 -0
- package/cli/app/.next-cli-build/server/chunks/4765.js +24 -0
- package/cli/app/.next-cli-build/server/chunks/4780.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/{4499.js → 5000.js} +2 -2
- package/cli/app/.next-cli-build/server/chunks/5024.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/507.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/5217.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/{3580.js → 5236.js} +1 -1
- package/cli/app/.next-cli-build/server/chunks/{9570.js → 5258.js} +1 -1
- package/cli/app/.next-cli-build/server/chunks/5373.js +66 -0
- package/cli/app/.next-cli-build/server/chunks/5433.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/5573.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/{3881.js → 5681.js} +1 -1
- package/cli/app/.next-cli-build/server/chunks/5852.js +8 -0
- package/cli/app/.next-cli-build/server/chunks/5949.js +51 -0
- package/cli/app/.next-cli-build/server/chunks/{2909.js → 6036.js} +1 -1
- package/cli/app/.next-cli-build/server/chunks/{6744.js → 6108.js} +1 -1
- package/cli/app/.next-cli-build/server/chunks/{8578.js → 6457.js} +2 -2
- package/cli/app/.next-cli-build/server/chunks/6652.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/{5370.js → 6802.js} +1 -1
- package/cli/app/.next-cli-build/server/chunks/{1469.js → 6844.js} +1 -1
- package/cli/app/.next-cli-build/server/chunks/6935.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/698.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/{4341.js → 7341.js} +1 -1
- package/cli/app/.next-cli-build/server/chunks/7774.js +121 -0
- package/cli/app/.next-cli-build/server/chunks/7828.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/{4880.js → 7965.js} +1 -1
- package/cli/app/.next-cli-build/server/chunks/7967.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/8157.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/8255.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/8371.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/8450.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/8520.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/8590.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/8895.js +67 -0
- package/cli/app/.next-cli-build/server/chunks/891.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/8920.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/8971.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/915.js +63 -0
- package/cli/app/.next-cli-build/server/chunks/9489.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/{7741.js → 9528.js} +3 -3
- package/cli/app/.next-cli-build/server/chunks/9609.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/9613.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/9858.js +3 -0
- package/cli/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/middleware.js +22 -22
- package/cli/app/.next-cli-build/server/pages/404.html +1 -1
- package/cli/app/.next-cli-build/server/pages/500.html +1 -1
- package/cli/app/.next-cli-build/server/server-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/server-reference-manifest.json +1 -1
- package/cli/app/.next-cli-build/static/chunks/{8434-db0f0049d0262e2e.js → 1992-b492aa3235a8c259.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/1a258343-33aee1e7d9aa500f.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/2018-ef32f3ab3ea35dcd.js +66 -0
- package/cli/app/.next-cli-build/static/chunks/3794-907785a527d8128b.js +32 -0
- package/cli/app/.next-cli-build/static/chunks/{0937d497-33e2049988b7c22e.js → 4bd1b696-e356ca5ba0218e27.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/5242-bb1a1a7ec3bfb62f.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/5472-544ea4e7aa338d84.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/5497-7d1ff94cc58ff88b.js +7 -0
- package/cli/app/.next-cli-build/static/chunks/5950-482b14a8d993bcca.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/{3539-25f16e696f32ccdf.js → 6069-6bce779705f69e62.js} +5 -5
- package/cli/app/.next-cli-build/static/chunks/7055-e60e20f43bfbe5f8.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/{1768.ad4675e8c839dd60.js → 8202.1ffc6ce531e066ce.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/85-5e354ca6c25978b9.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/979-224d95321cf78dbd.js +3 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/automation/{page-2ee85b86d7597651.js → page-cc9b0f9ef537c311.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-c4a2045a626b6173.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-78f688c92bfd33f8.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-1fd20c51954e29a9.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-6b0b9cd44867512c.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-d07a4d1d78007f2f.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/context/page-327a9c6b4894c269.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-4444a33464a1d419.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-2365f7b85dd8967d.js → page-27ae2ac497b5fb7a.js} +2 -2
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-104279ff16950493.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-939421769eec6d3b.js → page-599568329c50bcc8.js} +2 -2
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-717f8f942951b934.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/page-f399c8cbafcff3cd.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-b5aa3e2a4b3c0b17.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/playground/page-c7ac7e59cdef2ce8.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-ff8862b4d59f7c46.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-4bfe29eb86322368.js → page-845cebfee9c2a45f.js} +2 -2
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/page-499682de2c626a83.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-52ea5f73e4c01b92.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-69eefaf477523b7d.js → page-e08a36cec64b2567.js} +2 -2
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/pxpipe/{page-930e38c563b5c8a1.js → page-636747e49448e0e8.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-c1d6f8802c5c874d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/terminal/{page-8da3399a4ed0af0d.js → page-d78611694b7915c0.js} +2 -2
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-59f3cc8f19b08fa6.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/page-da741d27517645b1.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-26780f3f0df0345f.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/layout-ded3017c321c14e3.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/_global-error/{page-63a0542d75a38025.js → page-0958b3b629c68bd2.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/_not-found/page-311966a4d78dec6d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/login/{route-63a0542d75a38025.js → route-0958b3b629c68bd2.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/logout/{route-63a0542d75a38025.js → route-0958b3b629c68bd2.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/{route-63a0542d75a38025.js → route-0958b3b629c68bd2.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/status/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cache/stats/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/changelog/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-gateway/accounts/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/combos/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/context/[id]/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/context/bulk/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/context/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/chat/completions/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/start/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/status/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/health/ready/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/health/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/init/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/keys/[id]/rotate/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/keys/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/locale/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/metrics/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/models/alias/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/models/availability/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/models/custom/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/models/disabled/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/models/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/models/test/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/latest/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/[jobId]/cancel/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/[jobId]/manual/[workerId]/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/[jobId]/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/latest/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/latest/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/latest/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-token/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/quota-cookie/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/latest/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-token/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/quota-cookie/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/cancel/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/manual/[workerId]/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/latest/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/latest/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/latest/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pricing/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/bulk-delete/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/client/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/validate/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/database/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/shutdown/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tags/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/setup/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/status/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/unlock/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/input/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/resize/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/stream/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/load/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/save/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/send/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/translate/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/aggregate/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/chart/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/history/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/providers/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/stats/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/stream/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/search/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/version/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/version/update/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/callback/page-46f416e4d9761459.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-73d3a4f63b04d3b7.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/landing/page-c25b710b30674c8b.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/layout-877a5e197a59de85.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/login/page-6d5463b29f4c2091.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/page-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/{fcafe1ac-fb00beefde649e9f.js → e868780c-9fd397bedad188d4.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/framework-711ef29bc66f648c.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/main-1539aac2075bb2e7.js +5 -0
- package/cli/app/.next-cli-build/static/chunks/main-app-19158719aba2802f.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/global-error-af60171a653b28c7.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-0958b3b629c68bd2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/{webpack-9c203f4468cc2f7c.js → webpack-948b910ed7afd0b8.js} +1 -1
- package/cli/app/.next-cli-build/static/css/1f0d0f24ab2983b7.css +1 -0
- package/cli/app/.next-cli-build/static/css/{f0a349c70ab9fca8.css → 30eaa31d38376b4f.css} +1 -1
- package/cli/app/.next-cli-build/static/css/{008a05b0ad6b854a.css → e07f2bf4fa519943.css} +1 -1
- package/cli/app/.next-cli-build/static/media/material-symbols-outlined.5445fd89.woff2 +0 -0
- package/cli/app/CHANGELOG.md +9 -0
- package/cli/app/package.json +1 -1
- package/cli/app/server.js +1 -1
- package/cli/package.json +1 -1
- package/open-sse/config/providerModels.js +5 -2
- package/open-sse/services/usage.js +8 -7
- package/package.json +1 -1
- package/src/shared/components/BulkAccountAutomationModal.js +15 -6
- package/cli/app/.next-cli-build/server/chunks/1046.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/1237.js +0 -51
- package/cli/app/.next-cli-build/server/chunks/1500.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/1536.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/1586.js +0 -7
- package/cli/app/.next-cli-build/server/chunks/1637.js +0 -3
- package/cli/app/.next-cli-build/server/chunks/2027.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/2282.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/23.js +0 -63
- package/cli/app/.next-cli-build/server/chunks/2423.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/2674.js +0 -121
- package/cli/app/.next-cli-build/server/chunks/3174.js +0 -19
- package/cli/app/.next-cli-build/server/chunks/3538.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/3560.js +0 -7
- package/cli/app/.next-cli-build/server/chunks/3833.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/3871.js +0 -60
- package/cli/app/.next-cli-build/server/chunks/3972.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/4014.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/4088.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/4293.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/4350.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/4441.js +0 -24
- package/cli/app/.next-cli-build/server/chunks/4539.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/46.js +0 -17
- package/cli/app/.next-cli-build/server/chunks/4607.js +0 -18
- package/cli/app/.next-cli-build/server/chunks/4693.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/4959.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/497.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/5015.js +0 -67
- package/cli/app/.next-cli-build/server/chunks/5337.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/5614.js +0 -8
- package/cli/app/.next-cli-build/server/chunks/5747.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/5956.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/6041.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/6170.js +0 -3
- package/cli/app/.next-cli-build/server/chunks/6220.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/6372.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/6408.js +0 -43
- package/cli/app/.next-cli-build/server/chunks/6673.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/6714.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/733.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/7716.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/7729.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/7806.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/7870.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/8180.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/8182.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/8183.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/8227.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/83.js +0 -45
- package/cli/app/.next-cli-build/server/chunks/8341.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/857.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/8669.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/8779.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/9001.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/906.js +0 -183
- package/cli/app/.next-cli-build/server/chunks/9345.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/9901.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/9992.js +0 -66
- package/cli/app/.next-cli-build/static/chunks/1096-6d775ecc28cf6340.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/1554-f9422191725f4f61.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/1858-5de22f4a0f7873ea.js +0 -32
- package/cli/app/.next-cli-build/static/chunks/2b9ff8ee-8330dc76023de107.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/4391-0e471d2e761014ea.js +0 -3
- package/cli/app/.next-cli-build/static/chunks/6656-0ca5257ec474f863.js +0 -66
- package/cli/app/.next-cli-build/static/chunks/7783-7a4ed0063ec0fecc.js +0 -7
- package/cli/app/.next-cli-build/static/chunks/7813-e1ba7449a3791419.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/8689-ee86215b9a3eb108.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/888-1894db92ff847dbb.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-bad8ff5503e4f0b7.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-3fb4f7227c4ab57f.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-9459e82acdd078ac.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-f411959991f96990.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-1a77fd86f2a4922a.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/context/page-63e5ceb81d87c300.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-1a097de73412d440.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-7427ee87015d1113.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-ca761e638d38dae4.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/page-eeb71d37d39b3586.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-1c1a986664906bea.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/playground/page-284542c819665387.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-30229a682f3cb8df.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/page-71ca5c61fe011c5b.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-fa8e4cba2691a844.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-fb96c1c4474868b3.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-ef6d294917d01201.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/page-86b61948afed34e8.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-b4939c80e73c7dfd.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/layout-2e14da9e57c3e171.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/_not-found/page-85ef61223793be87.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/status/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cache/stats/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/changelog/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-gateway/accounts/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/combos/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/context/[id]/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/context/bulk/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/context/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/chat/completions/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/start/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/status/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/health/ready/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/health/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/init/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/keys/[id]/rotate/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/keys/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/locale/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/metrics/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/models/alias/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/models/availability/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/models/custom/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/models/disabled/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/models/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/models/test/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/latest/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/[jobId]/cancel/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/[jobId]/manual/[workerId]/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/[jobId]/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/latest/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/latest/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/latest/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-token/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/quota-cookie/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/latest/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-token/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/quota-cookie/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/cancel/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/manual/[workerId]/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/latest/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/latest/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/latest/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pricing/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/bulk-delete/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/client/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/validate/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/database/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/shutdown/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tags/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/setup/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/status/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/unlock/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/input/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/resize/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/stream/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/load/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/save/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/send/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/translate/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/aggregate/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/chart/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/history/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/providers/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/stats/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/stream/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/search/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/version/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/version/update/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/callback/page-747616215eaffcc5.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-fc0526db0d6faea4.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/landing/page-a972ff4fc204488f.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/layout-195d8bc39318cb3f.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/login/page-ec9730458515625e.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/page-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/framework-6b10028fc45b4fba.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/main-af2e4cf487829313.js +0 -5
- package/cli/app/.next-cli-build/static/chunks/main-app-5349704f9863330d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/global-error-79da82ac351d0af0.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-63a0542d75a38025.js +0 -1
- package/cli/app/.next-cli-build/static/css/e42a53c7486ca4f0.css +0 -1
- package/cli/app/.next-cli-build/static/media/material-symbols-outlined.cf1f75f5.woff2 +0 -0
- /package/cli/app/.next-cli-build/static/{YyXkaMCJ50p0A8GqlWRS_ → 8vSaSRSThP87Z7Kx5wAce}/_buildManifest.js +0 -0
- /package/cli/app/.next-cli-build/static/{YyXkaMCJ50p0A8GqlWRS_ → 8vSaSRSThP87Z7Kx5wAce}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=7828,exports.ids=[7828],exports.modules={38160:(a,b,c)=>{c.d(b,{Ou:()=>k,eG:()=>i,gQ:()=>j});var d=c(75924);let e=new Map,f=new Map,g=null;function h(a){return"string"==typeof a?a.trim()||null:a&&"object"==typeof a&&"string"==typeof a.id&&a.id.trim()||null}async function i(a,b,c={}){if(!a||!b)return null;let d=h(c.preferredProjectId),g=e.get(a);if(g&&Date.now()-g.fetchedAt<36e5&&(!d||d===g.projectId))return g.projectId;let j=d?`${a}::${d}`:a;if(f.has(j))return f.get(j).promise;let k=new AbortController,m=(async()=>{try{let c=await l(b,k.signal,{preferredProjectId:d});if(c)return e.set(a,{projectId:c,fetchedAt:Date.now()}),c;return console.warn("[ProjectId] could not fetch projectId for connection",a.slice(0,8)),null}catch(a){return console.warn(`[ProjectId] Error fetching project ID: ${a.message}`),null}finally{f.delete(j)}})();return f.set(j,{promise:m,controller:k,startedAt:Date.now()}),m}async function j(a,b={}){if(!a)return{projectId:null,tierId:null,requiresUserProject:!1,error:"missing access token"};try{return await m(a,void 0,b)}catch(a){return{projectId:null,tierId:null,requiresUserProject:!1,error:a?.message||String(a)}}}function k(a){e.delete(a)}async function l(a,b,c={}){return(await m(a,b,c)).projectId}async function m(a,b,c={}){let e=h(c.preferredProjectId),f=await fetch(d.nZ.loadCodeAssist,{method:"POST",headers:{...d.Ic,Authorization:`Bearer ${a}`},body:JSON.stringify({metadata:d.zv}),signal:b});if(!f.ok){let a=await f.text().catch(()=>"");throw Error(`loadCodeAssist failed: HTTP ${f.status} ${a.slice(0,200)}`)}let g=await f.json(),i=function(a){if(!a)return null;if("string"==typeof a.cloudaicompanionProject){let b=a.cloudaicompanionProject.trim();if(b)return b}if(a.cloudaicompanionProject&&"object"==typeof a.cloudaicompanionProject){let b=a.cloudaicompanionProject.id;if("string"==typeof b&&b.trim())return b.trim()}return null}(g);if(i)return{projectId:i,tierId:o(g).tierId||null,requiresUserProject:!1,loadRaw:g};let j=o(g),k=j.tierId||"free-tier";if(j.userDefined)return e?{projectId:await n(a,k,b,e)||e,tierId:k,requiresUserProject:!0,loadRaw:g,error:void 0}:(console.warn("[ProjectId] GSuite/DASHER has no free-tier project from loadCodeAssist; caller should reuse a stored/peer managed project id."),{projectId:null,tierId:k,requiresUserProject:!0,loadRaw:g,error:"no managed project on account; use stored or peer projectId"});let l=await n(a,k,b,null);return{projectId:l,tierId:k,requiresUserProject:!1,loadRaw:g,error:l?void 0:"onboardUser did not return a project id"}}async function n(a,b,c,e=null){console.log(`[ProjectId] Onboarding user with tier: ${b}`+(e?` project=${e}`:""));let f={tierId:b,metadata:d.zv};e&&(f.cloudaicompanionProject=e);for(let b=1;b<=5&&!c?.aborted;b++){let g=new AbortController,h=setTimeout(()=>g.abort(),3e4),i=()=>g.abort();c?.addEventListener("abort",i);try{let c=await fetch(d.nZ.onboardUser,{method:"POST",headers:{...d.Ic,Authorization:`Bearer ${a}`},body:JSON.stringify(f),signal:g.signal});if(clearTimeout(h),!c.ok){let a=await c.text().catch(()=>"");throw Error(`onboardUser HTTP ${c.status}: ${a.slice(0,200)}`)}let i=await c.json();if(!0===i.done){let a=function(a){if(!a?.response)return null;let b=a.response.cloudaicompanionProject;if("string"==typeof b){let a=b.trim();if(a)return a}if(b&&"object"==typeof b){let a=b.id;if("string"==typeof a&&a.trim())return a.trim()}return null}(i);if(a)return console.log(`[ProjectId] Successfully onboarded, project ID: ${a}`),a;if(e)return console.log(`[ProjectId] onboard done without id; using preferred project ${e}`),e;throw Error("onboardUser done but no project_id in response")}console.log(`[ProjectId] Onboard attempt ${b}/5: not done yet, waiting...`),await new Promise(a=>setTimeout(a,2e3))}catch(a){if(clearTimeout(h),"AbortError"===a.name){if(console.warn(`[ProjectId] onboardUser attempt ${b} aborted (timeout or connection removed)`),c?.aborted)return null;continue}if(5===b)return console.warn(`[ProjectId] onboardUser failed after 5 attempts: ${a.message}`),null;console.warn(`[ProjectId] onboardUser attempt ${b} failed: ${a.message}, retrying...`),await new Promise(a=>setTimeout(a,2e3))}finally{clearTimeout(h),c?.removeEventListener("abort",i)}}return null}function o(a){let b=null,c=!1;if(a?.currentTier?.id&&"string"==typeof a.currentTier.id&&(b=a.currentTier.id.trim(),c=!!a.currentTier.userDefinedCloudaicompanionProject),Array.isArray(a?.allowedTiers)){for(let d of a.allowedTiers)if(d&&"object"==typeof d&&!0===d.isDefault&&d.id){b=String(d.id).trim(),c=!!d.userDefinedCloudaicompanionProject;break}if(!b){let d=a.allowedTiers.find(a=>a?.id==="free-tier");d?(b="free-tier",c=!!d.userDefinedCloudaicompanionProject):a.allowedTiers[0]?.id&&(b=String(a.allowedTiers[0].id).trim(),c=!!a.allowedTiers[0].userDefinedCloudaicompanionProject)}}return"free-tier"===b&&(c=!1),{tierId:b,userDefined:c}}g=setInterval(()=>{try{let a=Date.now();for(let[b,c]of e)(!c||a-c.fetchedAt>=36e5)&&e.delete(b);for(let[b,c]of f){if(!c||"number"!=typeof c.startedAt){f.delete(b);continue}if(a-c.startedAt>12e4){try{c.controller.abort()}catch(a){}f.delete(b)}}}catch(a){console.warn("[ProjectId] cleanup sweep error:",a?.message??a)}},6e5),g?.unref?.()},67828:(a,b,c)=>{c.d(b,{I9:()=>j,eU:()=>n,vN:()=>m});var d=c(7803),e=c(89718),f=c(38160),g=c(8590),h=c(93943);let i=g.oD,j=(a,b,c)=>(0,g.I9)(a,b,c,d);function k(a){return new Date(Date.now()+1e3*a).toISOString()}function l(a){if(!a)return null;let b=new Date(a);return Number.isFinite(b.getTime())?b.toISOString():null}async function m(a,b){try{let c={};if(b.accessToken&&(c.accessToken=b.accessToken),b.refreshToken&&(c.refreshToken=b.refreshToken),b.idToken&&(c.idToken=b.idToken),b.lastRefreshAt&&(c.lastRefreshAt=b.lastRefreshAt),b.expiresAt&&(c.expiresAt=b.expiresAt),b.expiresIn)c.expiresAt=k(b.expiresIn),c.expiresIn=b.expiresIn;else if(b.expiresAt){let a=l(b.expiresAt);a&&(c.expiresAt=a,c.expiresIn=Math.max(1,Math.floor((new Date(a).getTime()-Date.now())/1e3)))}b.providerSpecificData&&(c.providerSpecificData={...b.existingProviderSpecificData||{},...b.providerSpecificData}),(b.copilotToken||b.copilotTokenExpiresAt)&&(c.providerSpecificData={...c.providerSpecificData||b.existingProviderSpecificData||{},...b.copilotToken?{copilotToken:b.copilotToken}:{},...b.copilotTokenExpiresAt?{copilotTokenExpiresAt:b.copilotTokenExpiresAt}:{}}),b.projectId&&(c.projectId=b.projectId);let f=await (0,e.updateProviderConnection)(a,c);return d.info("TOKEN_REFRESH","Credentials updated in localDb",{connectionId:a,success:!!f}),!!f}catch(b){return d.error("TOKEN_REFRESH","Error updating credentials in localDb",{connectionId:a,error:b.message}),!1}}async function n(a,b){let c={...b};if((0,h.fp)(a,c)){let b=c.expiresAt?new Date(c.expiresAt).getTime():null,e=b?b-Date.now():null,i=(0,g.Og)(a);d.info("TOKEN_REFRESH","Refreshing provider credentials proactively",{provider:a,expiresIn:null===e?null:Math.round(e/1e3),refreshLeadMs:i,lastRefreshAt:c.lastRefreshAt||null});let j=await (0,h.Vq)(a,c,d);if(j?.accessToken||j?.apiKey||j?.copilotToken){let b={...j,existingProviderSpecificData:c.providerSpecificData};await m(c.connectionId,b),function(a,b,c){("antigravity"===a||"gemini-cli"===a)&&b&&c&&((0,f.Ou)(b),(0,f.eG)(b,c).then(a=>{a&&m(b,{projectId:a}).catch(a=>{d.debug("TOKEN_REFRESH","Failed to persist refreshed projectId",{connectionId:b,error:a?.message??a})})}).catch(a=>{d.debug("TOKEN_REFRESH","Failed to fetch projectId after token refresh",{connectionId:b,error:a?.message??a})}))}(a,(c={...c,...j,expiresAt:j.expiresIn?k(j.expiresIn):l(j.expiresAt)||j.expiresAt||c.expiresAt,providerSpecificData:j.providerSpecificData?{...c.providerSpecificData,...j.providerSpecificData}:c.providerSpecificData}).connectionId,c.accessToken)}}if("github"===a&&c.providerSpecificData?.copilotTokenExpiresAt){let b=1e3*c.providerSpecificData.copilotTokenExpiresAt-Date.now();if(b<i){let e;d.info("TOKEN_REFRESH","Copilot token expiring soon, refreshing proactively",{provider:a,expiresIn:Math.round(b/1e3)});let f=await (e=c.accessToken,(0,g.jR)(e,d));if(f){let a={...c.providerSpecificData,copilotToken:f.token,copilotTokenExpiresAt:f.expiresAt};await m(c.connectionId,{providerSpecificData:a}),c.providerSpecificData=a,c.copilotToken=f.token}}}return c}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=
|
|
1
|
+
"use strict";exports.id=7965,exports.ids=[7965],exports.modules={57965:(a,b,c)=>{c.d(b,{createNodeSqliteAdapter:()=>e});var d=c(76040);async function e(a){let b=process.emit;process.emit=function(a,c,...d){return!("warning"===a&&c?.name==="ExperimentalWarning"&&/SQLite/i.test(c.message||""))&&b.call(process,a,c,...d)};let e=new(await Promise.resolve().then(c.t.bind(c,79868,23))).DatabaseSync(a);e.exec(d.oG);let f=new Map;function g(a){let b=f.get(a);return b||(b=e.prepare(a),f.set(a,b)),b}let h=setInterval(()=>{try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},6e4);function i(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}try{f.clear()}catch{}try{e.close()}catch{}}"function"==typeof h.unref&&h.unref();let j=()=>i();return process.once("beforeExit",j),process.once("SIGINT",()=>{j(),process.exit(0)}),process.once("SIGTERM",()=>{j(),process.exit(0)}),{driver:"node:sqlite",run(a,b=[]){let c=g(a).run(...b);return{changes:Number(c.changes??0),lastInsertRowid:Number(c.lastInsertRowid??0)}},get:(a,b=[])=>g(a).get(...b),all:(a,b=[])=>g(a).all(...b),exec:a=>e.exec(a),transaction(a){let b=`sp_${Math.random().toString(36).slice(2)}`;e.exec(`SAVEPOINT ${b}`);try{let c=a();return e.exec(`RELEASE ${b}`),c}catch(a){try{e.exec(`ROLLBACK TO ${b}`),e.exec(`RELEASE ${b}`)}catch{}throw a}},checkpoint(){e.exec("PRAGMA wal_checkpoint(TRUNCATE)")},close(){clearInterval(h),i()},raw:e}}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports.id=7967,exports.ids=[7967],exports.modules={14994:(a,b,c)=>{Promise.resolve().then(c.bind(c,73180))},51946:(a,b,c)=>{Promise.resolve().then(c.bind(c,79286))},73180:(a,b,c)=>{"use strict";c.d(b,{default:()=>o});var d=c(48249),e=c(67484),f=c(26921),g=c(11656),h=c(50412);c(91431),c(96919);let i=[],j=["Explain this project like I'm new","Write a concise PR description","Debug this error message","Summarize the key trade-offs"];function k(){return globalThis.crypto?.randomUUID?globalThis.crypto.randomUUID():`chat_${Date.now()}_${Math.random().toString(16).slice(2)}`}function l(a){if("string"==typeof a)return a;if(null==a)return"";if(Array.isArray(a))return a.map(l).filter(Boolean).join(" ");if("object"==typeof a){if("string"==typeof a.message)return a.message;if("string"==typeof a.error)return a.error;try{return JSON.stringify(a)}catch{}}return String(a)}function m(a=""){let b=l(a).replace(/\s+/g," ").trim();return b?b.length>52?`${b.slice(0,52).trimEnd()}…`:b:"New chat"}async function n(a){return await new Promise((b,c)=>{let d=new FileReader;d.onload=()=>b(String(d.result||"")),d.onerror=()=>c(d.error||Error("Failed to read file")),d.readAsDataURL(a)})}function o(){let[a,b]=(0,e.useState)([]),[c,o]=(0,e.useState)(!0),[p,q]=(0,e.useState)(""),[r,s]=(0,e.useState)(()=>[]),[t,u]=(0,e.useState)(()=>""),[v,w]=(0,e.useState)(()=>""),[x,y]=(0,e.useState)(""),[z,A]=(0,e.useState)(()=>""),[B,C]=(0,e.useState)([]),[D,E]=(0,e.useState)(!1),[F,G]=(0,e.useState)(""),[H,I]=(0,e.useState)(""),[J,K]=(0,e.useState)(!1),[L,M]=(0,e.useState)(!1),[N,O]=(0,e.useState)(""),[P,Q]=(0,e.useState)(!1),[R,S]=(0,e.useState)(!1),[T,U]=(0,e.useState)(""),[V,W]=(0,e.useState)(()=>.7),[X,Y]=(0,e.useState)(()=>""),Z=(0,e.useRef)(null),$=(0,e.useRef)(null);(0,e.useRef)(!1);let _=(0,e.useRef)(null),aa=(0,e.useRef)(null),ab=(0,e.useRef)(null),ac=(0,e.useRef)(null),ad=(0,e.useRef)(null),ae=(0,e.useMemo)(()=>{let b=new Map;for(let c of a)for(let a of c.models)b.set(a.id,{...a,providerId:c.providerId,providerName:c.providerName});return b},[a]),af=(0,e.useMemo)(()=>a.find(a=>a.providerId===v)||a[0]||null,[a,v]),ag=(0,e.useMemo)(()=>{if(x&&ae.has(x))return ae.get(x);if(t){let a=r.find(a=>a.id===t);if(a?.modelId&&ae.has(a.modelId))return ae.get(a.modelId)}return af?.models?.[0]||null},[x,ae,af,r,t]),ah=(0,e.useMemo)(()=>r.find(a=>a.id===t)||null,[r,t]),ai=ah?.messages||i,aj=(0,e.useMemo)(()=>[...r].sort((a,b)=>new Date(b.updatedAt).getTime()-new Date(a.updatedAt).getTime()),[r]),ak=!D&&!!ag&&(z.trim().length>0||B.length>0),al=(a,b)=>{s(c=>c.map(c=>c.id===a?b({...c,messages:Array.isArray(c.messages)?c.messages.map(a=>({...a})):[]}):c))},am=a=>a?{id:k(),title:"New chat",providerId:a.providerId,providerName:a.providerName,modelId:a.id,modelName:a.name,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),messages:[]}:null,an=()=>{if(!ag)return;let a=am(ag);a&&(s(b=>[a,...b]),u(a.id),w(a.providerId),y(a.modelId),A(""),C([]),G(""),I(""))},ao=async a=>{let b=Array.from(a.target.files||[]);if(0===b.length)return;let c=b.filter(a=>a.type.startsWith("image/"));if(0===c.length){a.target.value="";return}let d=await Promise.all(c.map(async a=>({id:k(),name:a.name,type:a.type,size:a.size,dataUrl:await n(a)})));C(a=>[...a,...d]),a.target.value=""},ap=(a,b)=>{let c=m(b);al(a,a=>({...a,title:"New chat"===a.title?c:a.title,updatedAt:new Date().toISOString()}))},aq=async(a,b)=>{try{await navigator.clipboard.writeText(l(b)),U(a),setTimeout(()=>U(b=>b===a?"":b),1500)}catch{}},ar=async(a={})=>{let b=ag||af?.models?.[0]||null;if(!b)return;let c=!0===a.regenerate,d=t,e=r.find(a=>a.id===d),f="string"==typeof a.userText?a.userText:z.trim(),g=Array.isArray(a.attachments)?a.attachments:B;if(c){if(!e)return;let a=[...e.messages||[]];for(;a.length&&a[a.length-1]?.role==="assistant";)a.pop();let b=[...a].reverse().find(a=>"user"===a.role);if(!b)return;f=l(b.content).trim(),g=Array.isArray(b.attachments)?b.attachments:[],e={...e,messages:a},s(a=>a.map(a=>a.id===d?e:a))}if(!f&&(!g||0===g.length))return;if(!e){if(!(e=am(b)))return;d=e.id,s(a=>[e,...a]),u(d)}let h=c?null:{id:k(),role:"user",content:f,attachments:(g||[]).map(a=>({id:a.id,name:a.name,type:a.type,dataUrl:a.dataUrl})),createdAt:new Date().toISOString()},i=k(),j={id:i,role:"assistant",content:"",createdAt:new Date().toISOString(),status:"streaming"},n=[...c?[...e.messages||[]]:[...e.messages||[],h],j];s(a=>a.map(a=>a.id===d?{...a,providerId:b.providerId,providerName:b.providerName,modelId:b.id,modelName:b.name,messages:n,updatedAt:new Date().toISOString(),title:"New chat"===a.title?m(f):a.title}:a)),!c&&(A(""),C([]),ac.current&&(ac.current.style.height="auto")),E(!0),G(i),I(""),$.current?.abort(),$.current=new AbortController;let o=n.filter(a=>"assistant"!==a.role||a.id!==i).map(a=>({role:a.role,content:"user"===a.role?function(a){let b=l(a.content).trim(),c=Array.isArray(a.attachments)?a.attachments:[];if(0===c.length)return b;let d=[];for(let a of(b&&d.push({type:"text",text:b}),c))a?.dataUrl&&d.push({type:"image_url",image_url:{url:a.dataUrl}});return d.length>0?d:b}(a):a.content})),p=X.trim(),q=p?[{role:"system",content:p},...o]:o;try{let a=await fetch("/api/dashboard/chat/completions",{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify({model:b.requestModel||b.id,messages:q,stream:!0,temperature:V}),signal:$.current.signal});if(!a.ok){let b=await a.json().catch(()=>({}));throw Error(l(b.error||b.message||`Request failed (${a.status})`))}let c=a.body?.getReader();if(!c){let b=await a.json().catch(()=>({})),c=l(b?.choices?.[0]?.message?.content||b?.output_text||b?.error||b?.message||"");al(d,a=>({...a,messages:a.messages.map(a=>a.id===i?{...a,content:c,status:"done"}:a),updatedAt:new Date().toISOString()}));return}let e=new TextDecoder,g="",h="";for(;;){let{value:a,done:b}=await c.read();if(b)break;let f=(g+=e.decode(a,{stream:!0})).split(/\r?\n/);for(let a of(g=f.pop()||"",f)){let b=a.trim();if(!b.startsWith("data:"))continue;let c=b.slice(5).trim();if(c&&"[DONE]"!==c)try{let a=JSON.parse(c),b=function(a){if(!a||"object"!=typeof a)return"";let b=a.choices?.[0];return[(b?.delta||{}).content,b?.message?.content,a.output_text,a.text].map(l).filter(Boolean)[0]||""}(a);if(!b)continue;h+=b,I(h),al(d,a=>({...a,messages:a.messages.map(a=>a.id===i?{...a,content:h,status:"streaming"}:a),updatedAt:new Date().toISOString()}))}catch{}}}al(d,a=>({...a,messages:a.messages.map(a=>a.id===i?{...a,content:h||a.content,status:"done"}:a),updatedAt:new Date().toISOString()})),ap(d,f)}catch(a){if("AbortError"===a.name)al(d,a=>({...a,messages:a.messages.map(a=>a.id===i?{...a,content:a.content||"Stopped",status:"stopped"}:a),updatedAt:new Date().toISOString()})),ap(d,f);else{let b=l(a?.message||a);al(d,a=>({...a,messages:a.messages.map(a=>a.id===i?{...a,content:a.content||`Error: ${b}`,status:"error"}:a),updatedAt:new Date().toISOString()}))}}finally{E(!1),G(""),I(""),$.current=null}},as=ag?ag.name:"Select model",at=ag?`${ag.providerName||""} \xb7 ${ag.requestModel||ag.id}`.replace(/^ · /,""):"Connected providers only",au=(0,e.useMemo)(()=>{let b=N.trim().toLowerCase();return b?a.map(a=>{let c=(a.providerName||"").toLowerCase().includes(b)||(a.providerId||"").toLowerCase().includes(b)?a.models:a.models.filter(a=>`${a.name||""} ${a.requestModel||""} ${a.id||""}`.toLowerCase().includes(b));return{...a,models:c}}).filter(a=>a.models.length>0):a},[a,N]);return(0,d.jsxs)("div",{className:"relative flex h-full min-h-0 min-w-0 flex-1 overflow-hidden bg-bg text-text-main",children:[(0,d.jsxs)("aside",{id:"playground-history",className:`${P?"flex":"hidden"} fixed inset-y-0 left-0 z-30 w-[min(85vw,260px)] shrink-0 flex-col border-r border-border-subtle bg-surface/95 backdrop-blur-xl lg:static lg:z-auto lg:flex lg:w-[260px] lg:bg-surface/60`,children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 border-b border-border-subtle p-3",children:[(0,d.jsxs)("button",{type:"button",onClick:an,disabled:!ag,className:"flex h-9 flex-1 items-center justify-center gap-2 rounded-[10px] bg-primary text-sm font-semibold text-white transition hover:bg-primary-hover disabled:cursor-not-allowed disabled:opacity-50",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"add"}),"New chat"]}),(0,d.jsx)("button",{type:"button",className:"flex size-11 items-center justify-center rounded-[10px] border border-border text-text-muted lg:hidden hover:bg-surface-2",onClick:()=>Q(!1),"aria-label":"Close history",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"close"})})]}),(0,d.jsxs)("div",{ref:aa,className:"flex-1 overflow-y-auto p-2 custom-scrollbar",children:[(0,d.jsx)("p",{className:"px-2 py-2 text-[11px] font-semibold uppercase tracking-wider text-text-subtle",children:"Chats"}),0===aj.length?(0,d.jsx)("div",{className:"rounded-[10px] border border-dashed border-border px-3 py-6 text-center text-xs text-text-muted",children:"No conversations yet"}):(0,d.jsx)("div",{className:"space-y-0.5",children:aj.map(a=>{let b=a.id===t,c=[...a.messages||[]].reverse().find(a=>"user"===a.role)||a.messages?.[0];return(0,d.jsxs)("button",{type:"button",onClick:()=>{var b;let c;b=a.id,(c=r.find(a=>a.id===b))&&(u(b),w(c.providerId||v),y(c.modelId||x),Q(!1))},className:`group flex w-full items-start gap-2 rounded-[10px] px-2.5 py-2.5 text-left transition ${b?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"}`,children:[(0,d.jsx)("span",{className:"material-symbols-outlined mt-0.5 text-[16px] opacity-70",children:"chat_bubble"}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("p",{className:"truncate text-[13px] font-medium leading-snug",children:a.title||"New chat"}),(0,d.jsxs)("p",{className:"mt-0.5 truncate text-[11px] opacity-60",children:[l(c?.content)||"Empty"," \xb7"," ",function(a){if(!a)return"Now";let b=new Date(a).getTime();if(Number.isNaN(b))return"Now";let c=Math.max(1,Math.round((Date.now()-b)/6e4));if(c<60)return`${c}m`;let d=Math.round(c/60);return d<24?`${d}h`:`${Math.round(d/24)}d`}(a.updatedAt)]})]})]},a.id)})})]}),(0,d.jsx)("div",{className:"border-t border-border-subtle p-3",children:(0,d.jsxs)("button",{type:"button",onClick:()=>{if(!t)return;let a=r.filter(a=>a.id!==t),b=a[0]||null;s(a),b?(u(b.id),w(b.providerId),y(b.modelId)):(u(""),w(""),y(""))},disabled:!t||0===r.length,className:"flex h-8 w-full items-center justify-center gap-1.5 rounded-[8px] text-xs font-medium text-text-muted transition hover:bg-surface-2 hover:text-danger disabled:opacity-40",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"delete"}),"Delete current chat"]})})]}),(0,d.jsxs)("div",{className:"relative flex min-w-0 flex-1 flex-col",children:[(0,d.jsxs)("div",{className:"flex shrink-0 items-center justify-between gap-2 border-b border-border-subtle px-3 py-2 lg:hidden",children:[(0,d.jsx)("button",{type:"button",onClick:()=>Q(!0),className:"flex size-11 items-center justify-center rounded-[10px] border border-border text-text-muted hover:bg-surface-2","aria-label":"Open chats","aria-expanded":P,"aria-controls":"playground-history",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"history"})}),(0,d.jsxs)("div",{className:"min-w-0 text-center",children:[(0,d.jsx)("p",{className:"truncate text-sm font-semibold",children:as}),(0,d.jsx)("p",{className:"truncate text-[11px] text-text-subtle",children:at})]}),(0,d.jsx)("button",{type:"button",onClick:an,disabled:!ag,className:"flex size-11 items-center justify-center rounded-[10px] border border-border text-text-muted hover:bg-surface-2 disabled:opacity-40","aria-label":"New chat",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"edit_square"})})]}),p?(0,d.jsx)("div",{role:"alert",className:"mx-4 mt-3 rounded-[10px] border border-danger/25 bg-danger/10 px-3 py-2.5 text-sm text-danger",children:(0,d.jsxs)("div",{className:"flex items-start gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"error"}),(0,d.jsx)("p",{children:p})]})}):null,(0,d.jsx)("div",{className:"flex-1 overflow-y-auto custom-scrollbar",children:0===ai.length?(0,d.jsxs)("div",{className:"flex min-h-full flex-col items-center justify-center px-6 pb-36 pt-10 text-center",children:[(0,d.jsx)("div",{className:"mb-4 flex size-12 items-center justify-center rounded-2xl border border-border bg-surface text-primary shadow-soft",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[26px]",children:"forum"})}),(0,d.jsx)("h2",{className:"text-[22px] font-semibold tracking-tight text-text-main",children:"How can I help?"}),(0,d.jsx)("p",{className:"mt-1.5 max-w-md text-[13px] leading-relaxed text-text-muted",children:"Pick a model below, then ask anything through your connected providers."}),(0,d.jsx)("div",{className:"mt-6 flex max-w-xl flex-wrap items-center justify-center gap-2",children:j.map(a=>(0,d.jsx)("button",{type:"button",disabled:!ag||c,onClick:()=>{A(a),requestAnimationFrame(()=>ac.current?.focus())},className:"rounded-full border border-border bg-surface px-3.5 py-2 text-left text-[12.5px] text-text-muted transition hover:border-primary/35 hover:bg-primary/5 hover:text-text-main disabled:opacity-40",children:a},a))}),c?(0,d.jsx)("p",{className:"mt-4 text-xs text-text-subtle",children:"Loading models…"}):null]}):(0,d.jsxs)("div",{className:"mx-auto w-full max-w-3xl px-4 py-6 lg:px-8",children:[ai.map((a,b)=>{let c="user"===a.role,e="assistant"===a.role,h=e&&a.id===F&&"streaming"===a.status,i=l(a.content)||(e?H:""),j="error"===a.status,k="stopped"===a.status,m=e&&b===ai.length-1&&"streaming"!==a.status;return(0,d.jsx)("div",{className:"group relative mb-1 border-b border-border-subtle/50 py-5 last:border-0",children:(0,d.jsxs)("div",{className:"flex gap-3.5",children:[(0,d.jsx)("div",{className:`flex size-7 shrink-0 items-center justify-center rounded-full text-[11px] font-bold ${c?"bg-primary text-white":"border border-border bg-surface-2 text-text-muted"}`,children:c?"Y":"AI"}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("p",{className:"mb-1.5 text-[12px] font-semibold text-text-main",children:c?"You":ag?.name||"Assistant"}),a.attachments?.length?(0,d.jsx)("div",{className:"mb-3 grid max-w-md grid-cols-2 gap-2 sm:grid-cols-3",children:a.attachments.map(a=>(0,d.jsx)("a",{href:a.dataUrl,target:"_blank",rel:"noreferrer",className:"overflow-hidden rounded-lg border border-border",children:(0,d.jsx)("img",{src:a.dataUrl,alt:a.name,className:"h-24 w-full object-cover"})},a.id))}):null,e&&!j?(0,d.jsx)("div",{className:"playground-md text-[14.5px] leading-[1.7] text-text-main",dangerouslySetInnerHTML:{__html:function(a){let b=l(a);if(!b)return"";try{return g.A.sanitize(f.xI.parse(b))}catch{return b.replace(/</g,"<").replace(/>/g,">")}}(i)||""}}):(0,d.jsx)("div",{className:`whitespace-pre-wrap break-words text-[14.5px] leading-[1.7] ${j?"text-danger":"text-text-main"}`,children:i}),e&&h?(0,d.jsx)("span",{className:"ml-0.5 inline-block animate-pulse text-primary",children:"▋"}):null,k?(0,d.jsx)("p",{className:"mt-2 text-xs text-text-muted",children:"Generation stopped"}):null,e&&i&&!h?(0,d.jsxs)("div",{className:"mt-2 flex items-center gap-1 opacity-100 transition sm:opacity-0 sm:group-hover:opacity-100 sm:group-focus-within:opacity-100",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>aq(a.id,i),className:"inline-flex h-7 items-center gap-1 rounded-md px-2 text-[11px] font-medium text-text-muted hover:bg-surface-2 hover:text-text-main",title:"Copy",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:T===a.id?"check":"content_copy"}),T===a.id?"Copied":"Copy"]}),m&&!D?(0,d.jsxs)("button",{type:"button",onClick:()=>ar({regenerate:!0}),className:"inline-flex h-7 items-center gap-1 rounded-md px-2 text-[11px] font-medium text-text-muted hover:bg-surface-2 hover:text-text-main",title:"Regenerate",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"refresh"}),"Retry"]}):null]}):null]})]})},a.id)}),(0,d.jsx)("div",{ref:ad})]})}),(0,d.jsx)("div",{className:"shrink-0 border-t border-border-subtle bg-bg/90 backdrop-blur-xl",children:(0,d.jsxs)("div",{className:"mx-auto w-full max-w-3xl px-4 pb-4 pt-3 lg:px-6",children:[B.length>0?(0,d.jsx)("div",{className:"mb-2 flex flex-wrap gap-2",children:B.map(a=>(0,d.jsxs)("div",{className:"flex items-center gap-2 rounded-full border border-border bg-surface px-3 py-1.5",children:[(0,d.jsx)("span",{className:"max-w-[10rem] truncate text-xs text-text-muted",children:a.name}),(0,d.jsx)("button",{type:"button",onClick:()=>{var b;return b=a.id,void C(a=>a.filter(a=>a.id!==b))},className:"text-text-subtle hover:text-text-main","aria-label":"Remove attachment",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"close"})})]},a.id))}):null,(0,d.jsxs)("div",{className:"rounded-2xl border border-border-subtle bg-surface-2/80 shadow-soft ring-1 ring-border-subtle focus-within:border-primary/50 focus-within:ring-primary/20 transition",children:[(0,d.jsx)("textarea",{ref:ac,"aria-label":"Message",value:z,onChange:a=>A(a.target.value),onKeyDown:a=>{"Enter"===a.key&&!a.shiftKey&&(a.preventDefault(),ak&&ar())},placeholder:ag?`Message ${ag.name}…`:"Select a model below to start chatting",rows:1,disabled:!ag||c,className:"max-h-[28vh] min-h-[52px] w-full resize-none overflow-y-auto bg-transparent px-4 pt-3.5 text-[15px] leading-6 text-text-main outline-none placeholder:text-text-subtle custom-scrollbar disabled:opacity-50"}),(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2 px-2.5 pb-2.5 pt-1",children:[(0,d.jsxs)("div",{className:"flex min-w-0 items-center gap-1.5",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>Z.current?.click(),disabled:!ag||c,className:"inline-flex h-11 items-center gap-1.5 rounded-full border border-border bg-surface px-3 text-[12px] font-medium text-text-main transition hover:border-primary/40 hover:bg-primary/10 hover:text-primary disabled:cursor-not-allowed disabled:opacity-40",title:"Upload image",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"add_photo_alternate"}),(0,d.jsx)("span",{className:"hidden sm:inline",children:"Image"})]}),(0,d.jsx)("input",{ref:Z,type:"file",accept:"image/*",multiple:!0,className:"hidden",onChange:ao}),(0,d.jsxs)("div",{ref:ab,className:"relative",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>S(a=>!a),className:`inline-flex h-11 items-center gap-1.5 rounded-full border px-3 text-[12px] font-medium transition ${R||X.trim()||.7!==V?"border-primary/40 bg-primary/10 text-primary":"border-border bg-surface text-text-main hover:border-primary/40 hover:bg-primary/10 hover:text-primary"}`,title:"Chat settings","aria-label":"Chat settings","aria-expanded":R,"aria-controls":"playground-chat-settings",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"tune"}),(0,d.jsx)("span",{className:"hidden sm:inline tabular-nums",children:V.toFixed(1)})]}),R?(0,d.jsxs)("div",{id:"playground-chat-settings",className:"absolute bottom-[calc(100%+8px)] left-0 z-40 w-[min(320px,calc(100vw-2rem))] space-y-3 rounded-xl border border-border bg-surface p-3 shadow-elevated",children:[(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"mb-1.5 flex items-center justify-between gap-2",children:[(0,d.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wider text-text-subtle",children:"Temperature"}),(0,d.jsx)("span",{className:"text-xs font-semibold tabular-nums text-text-main",children:V.toFixed(2)})]}),(0,d.jsx)("input",{type:"range",min:0,max:2,step:.05,value:V,onChange:a=>W(Number(a.target.value)),className:"w-full accent-[var(--color-primary,#E56A4A)]"}),(0,d.jsxs)("div",{className:"mt-1 flex justify-between text-[10px] text-text-subtle",children:[(0,d.jsx)("span",{children:"Precise"}),(0,d.jsx)("span",{children:"Creative"})]})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"mb-1.5 text-[11px] font-semibold uppercase tracking-wider text-text-subtle",children:"System prompt"}),(0,d.jsx)("textarea",{value:X,onChange:a=>Y(a.target.value),rows:4,placeholder:"Optional instructions for the model…",className:"w-full resize-y rounded-lg border border-border bg-bg px-2.5 py-2 text-[12.5px] leading-5 text-text-main outline-none placeholder:text-text-subtle focus:border-primary/40 custom-scrollbar"})]}),(0,d.jsx)("button",{type:"button",onClick:()=>{W(.7),Y("")},className:"text-[11px] font-medium text-text-muted hover:text-text-main",children:"Reset defaults"})]}):null]}),(0,d.jsxs)("div",{ref:_,className:"relative min-w-0",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>{M(a=>{let b=!a;return b||O(""),b})},disabled:c||0===a.length,"aria-label":`Choose model, currently ${as}`,"aria-haspopup":"listbox","aria-expanded":L,"aria-controls":"playground-model-menu",className:"inline-flex h-11 max-w-[min(100vw-12rem,260px)] items-center gap-1.5 rounded-full border border-border bg-surface px-3 text-left transition hover:border-primary/40 hover:bg-surface-2 disabled:opacity-50",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px] text-primary shrink-0",children:"smart_toy"}),(0,d.jsx)("span",{className:"min-w-0 truncate text-[12.5px] font-semibold text-text-main",children:c?"Loading…":as}),(0,d.jsx)("span",{className:"material-symbols-outlined shrink-0 text-[16px] text-text-muted",children:L?"expand_less":"expand_more"})]}),L?(0,d.jsxs)("div",{id:"playground-model-menu",role:"listbox","aria-label":"Models",className:"absolute bottom-[calc(100%+8px)] left-0 z-40 w-[min(420px,calc(100vw-2rem))] overflow-hidden rounded-xl border border-border bg-surface shadow-elevated",children:[(0,d.jsxs)("div",{className:"border-b border-border-subtle px-3 py-2.5 space-y-2",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wider text-text-subtle",children:"Models"}),(0,d.jsxs)("p",{className:"text-xs text-text-muted",children:[a.length," providers \xb7 search by name"]})]}),(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("span",{className:"material-symbols-outlined pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 text-[16px] text-text-subtle",children:"search"}),(0,d.jsx)("input",{type:"search",value:N,onChange:a=>O(a.target.value),placeholder:"Search models…",autoFocus:!0,className:"w-full rounded-lg border border-border bg-bg py-1.5 pl-8 pr-3 text-[16px] text-text-main outline-none placeholder:text-text-subtle focus:border-primary/40"})]})]}),(0,d.jsx)("div",{className:"max-h-[min(50vh,360px)] overflow-y-auto p-1.5 custom-scrollbar",children:0===au.length?(0,d.jsxs)("p",{className:"px-3 py-6 text-center text-xs text-text-muted",children:["No models match “",N.trim(),"”"]}):au.map(a=>(0,d.jsxs)("div",{className:"mb-1",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between px-2 py-1.5",children:[(0,d.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-text-subtle",children:a.providerName}),(0,d.jsx)(h.Ex,{size:"sm",variant:"default",children:a.models.length})]}),(0,d.jsx)("div",{className:"space-y-0.5",children:a.models.map(a=>{let b=a.id===x;return(0,d.jsxs)("button",{type:"button",role:"option","aria-selected":b,onClick:()=>{(a=>{let b=ae.get(a);if(!b)return;let c=r.find(a=>a.id===t);if(c&&c.messages.length>0){let a=am(b);if(!a)return;s(b=>[a,...b]),u(a.id)}else if(c)s(a=>a.map(a=>a.id===c.id?{...a,providerId:b.providerId,providerName:b.providerName,modelId:b.id,modelName:b.name}:a)),u(c.id);else{let a=am(b);if(!a)return;s(b=>[a,...b]),u(a.id)}w(b.providerId),y(b.id),M(!1)})(a.id),O("")},className:`flex w-full items-center gap-2 rounded-lg px-2.5 py-2 text-left transition ${b?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"}`,children:[(0,d.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,d.jsx)("span",{className:"block truncate text-[13px] font-medium",children:a.name}),(0,d.jsx)("span",{className:"block truncate text-[11px] opacity-60",children:a.requestModel})]}),b?(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"check"}):null]},a.id)})})]},a.providerId))})]}):null]})]}),(0,d.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[D?(0,d.jsxs)("button",{type:"button",onClick:()=>{$.current?.abort()},className:"inline-flex h-11 items-center gap-1.5 rounded-full border border-border bg-surface px-3 text-[12px] font-semibold text-text-main transition hover:bg-surface-2",title:"Stop generating",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"stop_circle"}),(0,d.jsx)("span",{className:"hidden sm:inline",children:"Stop"})]}):null,(0,d.jsxs)("button",{type:"button",onClick:ar,disabled:!ak,className:`inline-flex h-11 min-w-9 items-center justify-center gap-1.5 rounded-full px-3.5 text-[13px] font-semibold transition ${ak?"bg-primary text-white shadow-[0_2px_12px_rgba(229,106,74,0.45)] hover:bg-primary-hover active:scale-[0.97]":"bg-surface-3 text-text-subtle cursor-not-allowed opacity-70"}`,title:"Send message",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px] font-bold",children:"send"}),(0,d.jsx)("span",{className:"hidden sm:inline",children:"Send"})]})]})]})]}),(0,d.jsx)("p",{className:"mt-2 text-center text-[11px] text-text-subtle",children:"Routed through ZevaiRouter \xb7 Enter to send \xb7 Shift+Enter for new line"})]})})]}),P?(0,d.jsx)("button",{type:"button",className:"fixed inset-0 z-20 bg-black/40 lg:hidden","aria-label":"Close history",onClick:()=>Q(!1)}):null]})}f.xI.setOptions({gfm:!0,breaks:!0})},79286:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/firda/zevairouter/.openclaude/worktrees/agent-a29ac360/src/app/(dashboard)/dashboard/basic-chat/BasicChatPageClient.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/firda/zevairouter/.openclaude/worktrees/agent-a29ac360/src/app/(dashboard)/dashboard/basic-chat/BasicChatPageClient.js","default")}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=8157,exports.ids=[1998,8157],exports.modules={20116:(a,b,c)=>{c.d(b,{q:()=>h,si:()=>g,uT:()=>i});var d=c(21820),e=c.n(d);function f(a){return Number.isFinite(a)?Math.max(0,Math.floor(a)):0}function g(){let a=[];try{a=e().cpus()||[]}catch{a=[]}let b=0,c=0;try{b=e().totalmem()}catch{b=0}try{c=e().freemem()}catch{c=0}let d=Array.isArray(a)?a.length:0,f=a[0]?.model?String(a[0].model).trim():null,g=b/0x40000000,h=c/0x40000000,i="unknown",j="unknown";try{i=e().platform()}catch{}try{j=e().arch()}catch{}return{cpuCount:d,cpuModel:f,totalMemBytes:b,totalMemGb:g,freeMemBytes:c,freeMemGb:h,platform:i,arch:j}}function h(){return function(a=null){let b=a||g(),{cpuCount:c,totalMemGb:d}=b,e=f(d/4),h=f(c/2),i="fallback",j=0;return e>0&&h>0?(j=Math.min(e,h),i=e<=h?"ram":"cpu"):e>0?(j=e,i="ram"):h>0?(j=h,i="cpu"):(j=4,i="fallback"),{recommended:Math.min(8,Math.max(1,j||4)),limitedBy:i,ramBudget:e,cpuBudget:h,minWorkers:1,maxWorkers:8,ramGbPerWorker:4,cpuDivisor:2,specs:b}}().recommended}function i(a){return!0===a||"string"==typeof a&&"auto"===a.trim().toLowerCase()}Object.freeze({RAM_GB_PER_WORKER:4,CPU_DIVISOR:2,SAFE_MIN_WORKERS:1,SAFE_MAX_WORKERS:8,FALLBACK_WORKERS:4})},47293:(a,b,c)=>{c.d(b,{A:()=>f});let d=new Uint8Array(16);var e=c(50122);let f=function(a,b,c){return b||a||!crypto.randomUUID?function(a,b,c){let f=(a=a||{}).random??a.rng?.()??crypto.getRandomValues(d);if(f.length<16)throw Error("Random bytes length must be >= 16");if(f[6]=15&f[6]|64,f[8]=63&f[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=f[a];return b}return(0,e.k)(f)}(a,b,c):crypto.randomUUID()}},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},53041:(a,b,c)=>{c.d(b,{$w:()=>C,KY:()=>S,Q6:()=>R,cO:()=>L,go:()=>O,hn:()=>E,kF:()=>s});var d=c(55511),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(49120),j=c(71998),k=c(20116),l=c(62409),m=c(82506),n=c(66307);let o=new Set(["success","failed","failed_invalid_credentials","failed_exchange","failed_timeout","failed_restricted","failed_browser_blocked","cancelled"]),p=h().join(i.DATA_DIR,"kiro-bulk-import"),q=h().join(p,"meta.json"),r=new Set(["queued","running","needs_manual"]);function s(){return new Date().toISOString()}function t(a=p){f().mkdirSync(a,{recursive:!0})}function u(a,b=p){return t(b),h().join(b,`${a}.json`)}function v(a){try{if(!f().existsSync(a))return null;return JSON.parse(f().readFileSync(a,"utf8"))}catch{return null}}function w(a,b){t(h().dirname(a));let c=`${a}.${process.pid}.tmp`;f().writeFileSync(c,JSON.stringify(b,null,2),"utf8"),f().renameSync(c,a)}function x(a,b=p){return t(b),h().join(b,`${a}.resume.enc`)}function y(){return(0,d.createHash)("sha256").update(String(function(){if(process.env.BULK_IMPORT_RESUME_SECRET)return process.env.BULK_IMPORT_RESUME_SECRET;let a=h().join(i.DATA_DIR,"bulk-import-resume-key");try{return f().readFileSync(a,"utf8").trim()}catch{}try{t(i.DATA_DIR);let b=(0,d.randomBytes)(32).toString("hex");return f().writeFileSync(a,b,{mode:384}),b}catch{return(0,d.randomBytes)(32).toString("hex")}}())).digest()}function z(a){try{f().existsSync(a)&&f().rmSync(a)}catch{}}function A(a=q){return v(a)?.latestJobId||null}function B(a){if((0,k.uT)(a))return Math.min(8,Math.max(1,(0,k.q)()));let b=Number.parseInt(a,10);return Number.isFinite(b)?Math.min(8,Math.max(1,b)):4}function C(a=[]){let b=Array.isArray(a)?a:[],c=[],d=[];return b.forEach((a,b)=>{let e=String(a||"").trim();if(!e||e.startsWith("#"))return;let f="",g="";if(e.includes("|")){let[a="",...b]=e.split("|");f=a.trim(),g=b.join("|").trim()}else if(e.includes(" ")){let a=e.indexOf(" ");f=e.substring(0,a).trim(),g=e.substring(a+1).trim()}else if(e.includes(":")){let a=e.indexOf(":"),b=e.substring(0,a).trim();b.includes("@")&&(f=b,g=e.substring(a+1).trim())}f&&g?c.push({line:b+1,email:f,password:g}):d.push(b+1)}),{parsed:c,invalidLines:d}}function D(a){return{total:a.length,queued:a.filter(a=>"queued"===a.status).length,running:a.filter(a=>"running"===a.status).length,success:a.filter(a=>"success"===a.status).length,failed:a.filter(a=>"failed"===a.status||"failed_invalid_credentials"===a.status||"failed_exchange"===a.status||"failed_timeout"===a.status||"failed_restricted"===a.status||"failed_browser_blocked"===a.status).length,needs_manual:a.filter(a=>"needs_manual"===a.status).length}}function E(a,b,c="info"){return{id:(0,d.randomUUID)(),at:s(),step:a,message:b,level:c}}function F(a,b,c,d="info"){let e=E(b,c,d);return a.currentStep=b,a.updatedAt=e.at,a.logs=a.logs||[],a.logs.push(e),a.logs.length>40&&a.logs.splice(0,a.logs.length-40),e}function G(a){return a.flatMap(a=>(a.logs||[]).map(b=>({...b,email:a.email,line:a.line,workerId:a.workerId||null,status:a.status}))).sort((a,b)=>String(a.at).localeCompare(String(b.at))).slice(-80)}function H(a){if(!a)return null;try{let b=new URL(a);return(b.username||b.password)&&(b.username="***",b.password="***"),b.toString()}catch{return a.length>20?`${a.slice(0,10)}***${a.slice(-10)}`:a}}function I(a){return{email:a.email,status:a.status,error:a.error||null,connectionId:a.connectionId||null,workerId:a.workerId||null,line:a.line,proxyUrl:H(a.proxyUrl)||null,currentStep:a.currentStep||null,updatedAt:a.updatedAt||null,logs:(a.logs||[]).slice(-20),manualSessionAvailable:!!a.manualSession?.page&&"needs_manual"===a.status,manualSessionOpened:!!a.manualSession?.opened}}function J(a,b={}){return{jobId:a.jobId,status:a.status,summary:D(a.accounts),concurrency:a.concurrency,createdAt:a.createdAt,startedAt:a.startedAt,finishedAt:a.finishedAt,accounts:a.accounts.map(I),activity:G(a.accounts),error:a.error||null,preview:b.preview||null}}function K(a){if(!a||r.has(a.status))return!1;let b=a.finishedAt?Date.parse(a.finishedAt):NaN;return!!Number.isFinite(b)&&Date.now()-b<=18e5}function L(a,b={}){return a?{found:!0,stale:!1,recoverable:r.has(a.status)||K(a),job:a}:{found:!1,stale:!!b.stale,recoverable:!1,job:null}}async function M(a){let b,{launchBulkImportBrowser:d}=await c.e(5949).then(c.bind(c,75949)),e=a?.engine||"chromium",f=process.env.ZEVAI_KIRO_HEADLESS;return b="1"===f||"true"===f||"0"!==f&&"false"!==f&&"camoufox"===e,d({engine:e,headless:b,windowSize:{width:1280,height:900}})}async function N(a){let{exchangeAndSaveKiroSocialConnection:b}=await c.e(4136).then(c.bind(c,34136));return b(a)}async function O(a,b){let d,e,f=b,g=null;if(b){let{ensureSocksHttpBridge:a,isSocksProxyUrl:d}=await c.e(6652).then(c.bind(c,76652));d(b)&&(g=await a(b),g?.httpProxyUrl&&(f=g.httpProxyUrl))}let h=(0,n.parsePlaywrightProxy)(f),i=h?{proxy:h}:{},j="";try{j=a.browserType().name()}catch{}"firefox"===j?i.viewport=null:i.viewport||(i.viewport={width:900,height:700}),i.ignoreHTTPSErrors=!0;try{d=await a.newContext(i)}catch(a){throw await g?.release().catch(()=>null),a}if(g){let a=d.close.bind(d);d.close=async(...b)=>{try{return await a(...b)}finally{await g.release().catch(()=>null)}}}try{e=await d.newPage()}catch(a){throw await d.close().catch(()=>null),a}try{await e.route(/facebook\.net|hotjar|clarity\.ms|hm\.baidu|sentry\.io|browser\.sentry-cdn|doubleclick\.net/i,a=>a.abort())}catch{}return{context:d,page:e}}async function P(a){let b,d;if(!a?.manualSession?.context)return!1;let e=a.manualSession.context,f=a.manualSession.page,g=e.browser?.(),h=null,i="";try{h=await e.storageState()}catch{h=null}try{i=f?.url?.()||""}catch{i=""}let{chromium:j}=await Promise.resolve().then(c.bind(c,83237));try{b=await j.launch({headless:!1,args:["--start-maximized"]})}catch{return!1}try{d=await b.newContext({viewport:null,...h?{storageState:h}:{}})}catch{return await b.close().catch(()=>null),!1}let k=await d.newPage();if(i)try{await k.goto(i,{waitUntil:"domcontentloaded",timeout:2e4})}catch{}let l=a.manualSession.rebind;if(a.manualSession.context=d,a.manualSession.page=k,a.manualSession.headedBrowser=b,"function"==typeof l)try{await l({context:d,page:k})}catch{}return e.close().catch(()=>null),g&&g!==b&&g.close().catch(()=>null),!0}async function Q(a,{account:b}={}){if(!a)return!1;try{let c=a.context?.(),d=c?.browser?.();if(b&&function(a){if(!a)return!0;let b=a._options||a._initializer||{};return"boolean"!=typeof b.headless||b.headless}(d)&&await P(b))return await b.manualSession.page.bringToFront?.().catch(()=>null),!0;if(!c?.newCDPSession)return await a.bringToFront?.().catch(()=>null),!0;let e=await c.newCDPSession(a),f=null;try{let a=await e.send("Target.getTargetInfo"),b=a?.targetInfo?.targetId,c=await e.send("Browser.getWindowForTarget",b?{targetId:b}:{});f=c?.windowId??null}catch{f=null}return null!=f&&await e.send("Browser.setWindowBounds",{windowId:f,bounds:{windowState:"normal",left:80,top:80,width:1280,height:960}}).catch(()=>null),await a.bringToFront?.().catch(()=>null),await e.detach?.().catch(()=>null),!0}catch{return await a.bringToFront?.().catch(()=>null),!0}}class R{constructor({browserLauncher:a=M,googleAutomation:b=m.Th,socialExchange:c=N,kiroServiceFactory:d=()=>new l.v,storageName:e="kiro-bulk-import"}={}){this.browserLauncher=a,this.googleAutomation=b,this.socialExchange=c,this.kiroServiceFactory=d,this.storageDir=h().join(i.DATA_DIR,e),this.metaFile=h().join(this.storageDir,"meta.json"),this.jobs=new Map,this.latestJobId=A(this.metaFile)}persistResumeBlob(a){try{!function(a,b){try{let c,e,g,i,j;t(h().dirname(a));let k=`${a}.${process.pid}.tmp`;f().writeFileSync(k,JSON.stringify((c=(0,d.randomBytes)(12),e=(0,d.createCipheriv)("aes-256-gcm",y(),c),g=Buffer.from(JSON.stringify(b),"utf8"),i=Buffer.concat([e.update(g),e.final()]),j=e.getAuthTag(),{v:1,alg:"aes-256-gcm",iv:c.toString("base64"),tag:j.toString("base64"),data:i.toString("base64")})),{mode:384}),f().renameSync(k,a)}catch{}}(x(a.jobId,this.storageDir),{jobId:a.jobId,concurrency:a.concurrency,engine:normalizeBulkImportEngine(),proxyPoolMode:a.proxyPoolMode,proxyUrls:a.proxyUrls||[],createdAt:a.createdAt,accounts:a.accounts.map(a=>({line:a.line,email:a.email,password:a.password}))})}catch{}}hydrateInterruptedJob(a){if(!a||this.jobs.has(a))return!1;let b=v(u(a,this.storageDir));if(!b||!r.has(b.status))return!1;let c=function(a){let b=v(a);if(!b)return null;if(!b||"aes-256-gcm"!==b.alg||!b.iv||!b.tag||!b.data)return null;try{let a=(0,d.createDecipheriv)("aes-256-gcm",y(),Buffer.from(b.iv,"base64"));a.setAuthTag(Buffer.from(b.tag,"base64"));let c=Buffer.concat([a.update(Buffer.from(b.data,"base64")),a.final()]);return JSON.parse(c.toString("utf8"))}catch{return null}}(x(a,this.storageDir));if(!c||!Array.isArray(c.accounts)||0===c.accounts.length)return this.markJobInterrupted(a,b),!1;let e=new Map(c.accounts.map(a=>[a.line,a.password])),f=new Map(c.accounts.map(a=>[a.line,a.email])),g=b.createdAt||c.createdAt||s(),h=(b.accounts||[]).map(a=>{let b=o.has(a.status),c=Array.isArray(a.logs)?[...a.logs]:[],d={line:a.line,email:a.email||f.get(a.line)||"",password:b?void 0:e.get(a.line)??null,proxyUrl:null,status:a.status,error:a.error||null,connectionId:a.connectionId||null,workerId:b&&a.workerId||null,manualSession:null,runtimeSession:null,currentStep:a.currentStep||null,updatedAt:a.updatedAt||g,logs:c};return b||(d.status="queued",d.currentStep="queued",d.error=null,d.logs.push(E("resumed","Re-queued after a server restart to continue automatically"))),d}),i={jobId:a,status:"running",concurrency:B(c.concurrency),engine:normalizeBulkImportEngine(),proxyPoolMode:c.proxyPoolMode||"none",proxyUrls:Array.isArray(c.proxyUrls)?c.proxyUrls:[],createdAt:g,startedAt:b.startedAt||g,finishedAt:null,error:null,cancelRequested:!1,browser:null,nextIndex:0,manualFollowups:new Set,persistPromise:Promise.resolve(),lastPreview:b.preview||null,lastPreviewCapturedAt:0,accounts:h};return(this.jobs.set(a,i),this.latestJobId||(this.latestJobId=a),h.some(a=>"queued"===a.status))?this.runJob(a):(i.status="completed",i.finishedAt=s(),this.persistJobSnapshot(i,{forcePreview:!1}),z(x(a,this.storageDir))),!0}markJobInterrupted(a,b){let c="Job was interrupted by a server restart and could not be auto-resumed (saved credentials were unavailable). Please start a new bulk login.",d=(b.accounts||[]).map(a=>{if(o.has(a.status))return a;let b=Array.isArray(a.logs)?[...a.logs]:[];return b.push(E("failed",c,"error")),{...a,status:"failed",error:c,currentStep:"failed",updatedAt:s(),manualSessionAvailable:!1,logs:b}}),e={...b,status:"failed",error:b.error||c,finishedAt:b.finishedAt||s(),accounts:d,summary:D(d),activity:G(d)};try{w(u(a,this.storageDir),e)}catch{}z(x(a,this.storageDir))}async startJob({accounts:a,concurrency:b,engine:e,proxyPoolMode:f,proxyPoolId:g}){let{parsed:h,invalidLines:i}=C(a);if(!h.length){let a=i.length>0?"Invalid account format. Use one account per line: gmail@example.com|password":"At least one account entry is required",b={error:a};throw i.length>0&&(b.invalidLines=i),Object.assign(Error(a),b)}if(i.length>0){let a="Invalid account format. Use one account per line: gmail@example.com|password";throw Object.assign(Error(a),{error:a,invalidLines:i})}let k=[];if("all"===f)k=(await (0,j.ui)({isActive:!0})).map(a=>a.proxyUrl).filter(Boolean);else if("single"===f&&g){let a=await (0,j.hr)(g);a?.isActive&&a?.proxyUrl&&(k=[a.proxyUrl])}let l=(0,d.randomUUID)(),m=s(),{normalizeBulkImportEngine:n,DEFAULT_BULK_IMPORT_ENGINE:o}=await c.e(5949).then(c.bind(c,75949)),p=e?n(e):o;this.hydrateInterruptedJob(this.latestJobId);let t=[...this.jobs.values()].find(a=>r.has(a.status));if(t)throw Object.assign(Error("A bulk import job is already active"),{error:"A bulk import job is already active",code:"BULK_IMPORT_ACTIVE",jobId:t.jobId});let u={jobId:l,status:"running",concurrency:B(b),engine:p,proxyPoolMode:f||"none",proxyUrls:k,createdAt:m,startedAt:m,finishedAt:null,error:null,cancelRequested:!1,browser:null,nextIndex:0,manualFollowups:new Set,persistPromise:Promise.resolve(),lastPreview:null,lastPreviewCapturedAt:0,accounts:h.map(a=>({line:a.line,email:a.email,password:a.password,proxyUrl:null,status:"queued",error:null,connectionId:null,workerId:null,manualSession:null,runtimeSession:null,currentStep:"queued",updatedAt:m,logs:[E("queued","Queued and waiting for an available worker")]}))};return this.jobs.set(l,u),this.latestJobId=l,!function(a,b=q){w(b,{latestJobId:a||null,updatedAt:s()})}(l,this.metaFile),await this.persistJobSnapshot(u,{forcePreview:!1}),this.persistResumeBlob(u),this.runJob(l),J(u)}getJob(a){this.hydrateInterruptedJob(a);let b=this.jobs.get(a);return b?J(b,{preview:b.lastPreview||null}):v(u(a,this.storageDir))}async getJobWithPreview(a){this.hydrateInterruptedJob(a);let b=this.jobs.get(a);if(!b)return v(u(a,this.storageDir));let c=await this.capturePreview(b);return b.lastPreview=c||b.lastPreview||null,await this.persistJobSnapshot(b,{forcePreview:!1}),J(b,{preview:b.lastPreview||null})}async getLatestJobWithPreview({includeRecentTerminal:a=!1}={}){let b=this.latestJobId||A(this.metaFile);if(!b)return null;let c=await this.getJobWithPreview(b);return c&&(r.has(c.status)||a&&K(c))?c:null}cancelJob(a){let b=this.jobs.get(a);if(!b)return v(u(a,this.storageDir));for(let a of(b.cancelRequested=!0,b.accounts||[]))if("queued"===a.status||"running"===a.status||"needs_manual"===a.status){let b=a.manualSession,d=a.runtimeSession,e=b?.context||d?.context||null,f=b?.headedBrowser||null,g=b?.ownedBrowser||null;e&&e.close().catch(()=>null),f&&f.close().catch(()=>null),g&&c.e(5949).then(c.bind(c,75949)).then(({forceCloseBrowser:a})=>a(g)).catch(()=>g.close().catch(()=>null)),a.manualSession=null,a.runtimeSession=null,this.finalizeAccount(a,"cancelled",{error:"Job cancelled",step:"cancelled",message:"Job cancelled by user"})}if(b.browser){let a=b.browser;b.browser=null,c.e(5949).then(c.bind(c,75949)).then(({forceCloseBrowser:b})=>b(a)).catch(()=>a.close().catch(()=>null))}return("queued"===b.status||"running"===b.status)&&(b.status="cancelled",b.finishedAt=b.finishedAt||s()),this.persistJobSnapshot(b,{forcePreview:!0}),J(b)}async openManualSession(a,b){let c=this.jobs.get(a);if(!c)return null;let d=Number.parseInt(b,10),e=c.accounts.find(a=>a.workerId===d&&"needs_manual"===a.status&&a.manualSession?.page);if(!e)return{ok:!1,error:"Manual session not found for this worker",job:J(c)};let f=await Q(e.manualSession.page,{account:e});return e.manualSession.opened=f,e.manualSession.openedAt=f?e.manualSession.openedAt||s():e.manualSession.openedAt||null,await this.persistJobSnapshot(c,{forcePreview:!0}),{ok:!0,job:J(c),account:I(e)}}dequeueAccount(a,b){for(;a.nextIndex<a.accounts.length;){let c=a.accounts[a.nextIndex];if(a.nextIndex+=1,"queued"===c.status)return c.status="running",c.workerId=b,c.error=null,a.proxyUrls?.length&&(c.proxyUrl=a.proxyUrls[(a.nextIndex-1)%a.proxyUrls.length]),F(c,"worker_assigned",`Worker ${b} picked up this account${c.proxyUrl?` (proxy: ${H(c.proxyUrl)})`:""}`),this.persistJobSnapshot(a,{forcePreview:!1}),c}return null}finalizeAccount(a,b,c={}){return a.status=b,a.error=c.error||null,a.connectionId=c.connectionId||null,(c.step||c.message)&&F(a,c.step||b,c.message||c.error||b.replaceAll("_"," ")),a}setAccountStep(a,b,c,d="info"){F(a,b,c,d)}async persistJobSnapshot(a,{forcePreview:b=!1}={}){if(!a)return;let c=async()=>{if(b||Date.now()-(a.lastPreviewCapturedAt||0)>=1500){let b=await this.capturePreview(a);b&&(a.lastPreview=b),a.lastPreviewCapturedAt=Date.now()}w(u(a.jobId,this.storageDir),J(a,{preview:a.lastPreview||null}))};a.persistPromise=Promise.resolve(a.persistPromise).catch(()=>null).then(c),await a.persistPromise}async capturePreview(a){let b=a.accounts.find(a=>"running"===a.status&&a.runtimeSession?.page)||a.accounts.find(a=>"needs_manual"===a.status&&a.manualSession?.page);if(!b)return null;let c=b.runtimeSession?.page||b.manualSession?.page;if(!c)return null;try{let a=await c.screenshot({type:"jpeg",quality:55,fullPage:!1,animations:"disabled",caret:"hide"});return{email:b.email||null,phone:b.phone||null,workerId:b.workerId||null,status:b.status,step:b.currentStep||null,updatedAt:b.updatedAt||s(),imageData:`data:image/jpeg;base64,${a.toString("base64")}`}}catch{return{email:b.email||null,phone:b.phone||null,workerId:b.workerId||null,status:b.status,step:b.currentStep||null,updatedAt:b.updatedAt||s(),imageData:null}}}async runManualFollowup(a,b,c,d,e,f){let g=(async()=>{let c=async()=>{let a=b.manualSession,c=a?.context||d,e=a?.headedBrowser||null;c&&await c.close().catch(()=>null),e&&await e.close().catch(()=>null)};try{let c=await e;if(a.cancelRequested){this.finalizeAccount(b,"cancelled",{error:"Job cancelled",step:"cancelled",message:"Job cancelled while waiting for manual completion"}),await this.persistJobSnapshot(a,{forcePreview:!0});return}this.setAccountStep(b,"exchanging_tokens","Exchanging Kiro callback for OAuth tokens"),await this.persistJobSnapshot(a,{forcePreview:!0});let{connection:d}=await this.socialExchange({code:c.code,codeVerifier:f,provider:"google"});this.finalizeAccount(b,"success",{connectionId:d.id,step:"connection_saved",message:"Kiro connection saved successfully"}),await this.persistJobSnapshot(a,{forcePreview:!0})}catch(c){a.cancelRequested?this.finalizeAccount(b,"cancelled",{error:"Job cancelled",step:"cancelled",message:"Job cancelled while waiting for manual completion"}):this.finalizeAccount(b,"failed_exchange",{error:c.message||"Manual assist flow failed during token exchange.",step:"exchange_failed",message:c.message||"Manual assist flow failed during token exchange."}),await this.persistJobSnapshot(a,{forcePreview:!0})}finally{await c(),b.manualSession=null,b.runtimeSession=null,a.manualFollowups.delete(g),await this.persistJobSnapshot(a,{forcePreview:!0})}})();a.manualFollowups.add(g)}async processAccount(a,b,c){if(a.cancelRequested||!a.browser)return void this.finalizeAccount(b,"cancelled",{error:"Job cancelled"});let d=this.kiroServiceFactory().createSocialAuthorization("google"),e=null;try{let f=await O(a.browser,b.proxyUrl);e=f.context;let{page:g}=f,h=(0,m.zZ)(e,g);b.runtimeSession={context:e,page:g},this.setAccountStep(b,"preparing_worker",`Worker ${c} is preparing a browser context`),await this.persistJobSnapshot(a,{forcePreview:!0});let i=await this.googleAutomation({page:g,authUrl:d.authUrl,email:b.email,password:b.password,callbackPromise:h,onStep:(c,d)=>{this.setAccountStep(b,c,d),this.persistJobSnapshot(a,{forcePreview:!1})}});if("success"===i.status){this.setAccountStep(b,"exchanging_tokens","Exchanging Kiro callback for OAuth tokens"),await this.persistJobSnapshot(a,{forcePreview:!0});let{connection:c}=await this.socialExchange({code:i.code,codeVerifier:d.codeVerifier,provider:"google"});this.finalizeAccount(b,"success",{connectionId:c.id,step:"connection_saved",message:"Kiro connection saved successfully"}),b.runtimeSession=null,await e?.close().catch(()=>null),await this.persistJobSnapshot(a,{forcePreview:!0});return}if("needs_manual"===i.status){b.manualSession={context:e,page:g,opened:!1,openedAt:null,rebind:"function"==typeof h?.rebind?h.rebind:null},this.setAccountStep(b,"awaiting_manual","Waiting for manual completion in the browser session"),this.finalizeAccount(b,"needs_manual",{error:i.error,step:"awaiting_manual",message:i.error}),await this.persistJobSnapshot(a,{forcePreview:!0}),await this.runManualFollowup(a,b,c,e,h,d.codeVerifier);return}let j=o.has(i.status)?i.status:"failed";this.finalizeAccount(b,j,{error:i.error||"Kiro Google automation failed.",step:j,message:i.error||"Kiro Google automation failed."}),b.runtimeSession=null,await e?.close().catch(()=>null),await this.persistJobSnapshot(a,{forcePreview:!0})}catch(c){this.finalizeAccount(b,"failed",{error:c.message||"Unexpected Kiro bulk import failure.",step:"failed",message:c.message||"Unexpected Kiro bulk import failure."}),b.runtimeSession=null,await e?.close().catch(()=>null),await this.persistJobSnapshot(a,{forcePreview:!0})}finally{b.password=void 0}}async runWorker(a,b){for(;!a.cancelRequested;){let c=this.dequeueAccount(a,b);if(!c)return;await this.processAccount(a,c,b)}}async runJob(a){let b=this.jobs.get(a);if(b)try{b.browser=await this.browserLauncher(b),b.accounts.forEach(a=>{"queued"===a.status&&1===(a.logs||[]).length&&this.setAccountStep(a,"waiting_for_worker","Waiting for a free worker")}),await this.persistJobSnapshot(b,{forcePreview:!1});let a=Math.min(b.concurrency,Math.max(b.accounts.length,1)),c=Array.from({length:a},(a,c)=>this.runWorker(b,c+1));await Promise.allSettled(c),b.manualFollowups.size>0&&await Promise.allSettled([...b.manualFollowups]),b.cancelRequested?(b.status="cancelled",b.accounts.forEach(a=>{("queued"===a.status||"running"===a.status||"needs_manual"===a.status)&&this.finalizeAccount(a,"cancelled",{error:"Job cancelled",step:"cancelled",message:"Job cancelled before completion"})})):b.status="completed",await this.persistJobSnapshot(b,{forcePreview:!0})}catch(a){b.status="failed",b.error=a.message||"Failed to start Kiro bulk import job.",b.accounts.forEach(a=>{("queued"===a.status||"running"===a.status)&&(this.finalizeAccount(a,"failed",{error:b.error,step:"failed",message:b.error}),a.password=void 0)}),await this.persistJobSnapshot(b,{forcePreview:!0})}finally{if(b.browser){let a=b.browser;b.browser=null;try{let{forceCloseBrowser:b}=await c.e(5949).then(c.bind(c,75949));await b(a)}catch{await a.close().catch(()=>null)}}b.finishedAt=s(),await this.persistJobSnapshot(b,{forcePreview:!0}),z(x(b.jobId,this.storageDir))}}}function S(){return(!globalThis.__kiroBulkImportSingleton&&(globalThis.__kiroBulkImportSingleton={manager:new R}),globalThis.__kiroBulkImportSingleton).manager}},66307:(a,b,c)=>{c.d(b,{parsePlaywrightProxy:()=>d});function d(a){if(!a)return null;let b=String(a).trim();if(!b)return null;try{let a=new URL(b),c=(a.protocol||"http:").replace(/:$/,"")||"http",d={server:`${c}://${a.hostname}${a.port?`:${a.port}`:""}`};return a.username&&(d.username=decodeURIComponent(a.username)),a.password&&(d.password=decodeURIComponent(a.password)),d}catch{return{server:b}}}},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.getProviderConnections,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,op:()=>d.op,rj:()=>d.updateProviderConnection,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},82506:(a,b,c)=>{c.d(b,{$K:()=>ab,Jl:()=>P,PB:()=>aj,Th:()=>al,i_:()=>$,np:()=>Z,rk:()=>ak,vN:()=>am,zZ:()=>ai});let d='input[type="email"], input[autocomplete="username"], input#identifierId, input[name="identifier"], input[name="Email"], input[type="text"][autofocus], input[aria-label*="Email" i], input[aria-label*="email" i], input[aria-label*="phone" i], input[aria-label*="telepon" i]',e='input[type="password"], input[name="Passwd"], input[name="password"], input[aria-label*="Password" i], input[aria-label*="password" i], input[aria-label*="Sandi" i], input[aria-label*="kata sandi" i]',f=['button:has-text("Next")','button:has-text("Berikutnya")','button:has-text("Continue")','div[role="button"]:has-text("Next")','div[role="button"]:has-text("Berikutnya")',"#identifierNext button","#passwordNext button"],g=["#submit_approve_access","#submit_approve_access button","#confirm",'form#tos_form input[type="submit"]','button[jsname]:has-text("Allow")','button:has-text("Allow")','[role="button"]:has-text("Allow")','input[type="submit"][value="Allow"]','input[type="button"][value="Allow"]','button[jsname]:has-text("Izinkan")','button:has-text("Izinkan")','[role="button"]:has-text("Izinkan")','button:has-text("Continue")','button:has-text("Next")','button:has-text("Yes")','button:has-text("Accept")','button:has-text("Lanjutkan")','button:has-text("Berikutnya")','button:has-text("Setuju")','button:has-text("Saya mengerti")','button:has-text("Oke")','button:has-text("OK")','button:has-text("Got it")','button:has-text("I understand")','div[role="button"]:has-text("Continue")','div[role="button"]:has-text("Next")','div[role="button"]:has-text("Allow")','div[role="button"]:has-text("Lanjutkan")','div[role="button"]:has-text("Berikutnya")','div[role="button"]:has-text("Izinkan")','div[role="button"]:has-text("Setuju")','div[role="button"]:has-text("Saya mengerti")','div[role="button"]:has-text("Oke")','div[role="button"]:has-text("OK")','div[role="button"]:has-text("Got it")','div[role="button"]:has-text("I understand")','input[type="button"][value="Saya mengerti"]','input[type="submit"][value="Saya mengerti"]'],h=['button:has-text("Skip")','button:has-text("Lewati")','button:has-text("Not now")','button:has-text("Bukan sekarang")','button:has-text("No thanks")','button:has-text("Tidak sekarang")','div[role="button"]:has-text("Skip")','div[role="button"]:has-text("Not now")'],i=["#social-google","a#social-google",'a:has-text("Sign up with Google")','a:has-text("Log in with Google")','a:has-text("Login with Google")','a:has-text("Continue with Google")','a:has-text("Sign in with Google")','button:has-text("Sign up with Google")','button:has-text("Log in with Google")','button:has-text("Login with Google")','button:has-text("Continue with Google")','button:has-text("Sign in with Google")','button[aria-label*="Continue with Google" i]','button[aria-label*="Google" i]','button:has-text("Google")','a:has-text("Google")','div[role="button"]:has-text("Continue with Google")','div[role="button"]:has-text("Login with Google")','div[role="button"]:has-text("Google")','span:has-text("Continue with Google")','span:has-text("Login with Google")','span:has-text("Google")','[aria-label*="Google" i]','[data-provider*="google" i]','button:has-text("Login with Google")','button:has-text("Continue with Google")','[data-testid*="google" i]'],j=["#onetrust-accept-btn-handler","#onetrust-reject-all-handler","#accept-recommended-btn-handler",'button:has-text("Allow All")','button:has-text("Reject All")','button:has-text("Accept All")','button:has-text("Accept all")','button:has-text("Confirm My Choices")'],k=["#agree-policy-account","#agree-policy","#agree-policy-sso",'input[type="checkbox"][id*="agree" i]','input[type="checkbox"][name*="agree" i]','input[type="checkbox"][id*="policy" i]','input[type="checkbox"][name*="policy" i]','input[type="checkbox"][id*="terms" i]','input[type="checkbox"][name*="terms" i]','.login-checkbox input[type="checkbox"]','[class*="checkbox"] input[type="checkbox"]','[class*="agree"] input[type="checkbox"]','input[type="checkbox"]'],l=['.ui-dialog button:has-text("Confirm")','dialog button:has-text("Confirm")','button:has-text("Confirm")','button:has-text("I agree")','button:has-text("Agree")','button:has-text("同意")','button:has-text("确认")'],m=['button:has-text("Continue")','[role="button"]:has-text("Continue")','button:has-text("Get started")','button:has-text("GET STARTED")','input[type="submit"][value="GET STARTED"]','button:has-text("Start")','button:has-text("Confirm")','button:has-text("Done")','button:has-text("Next")','button:has-text("Skip")','button:has-text("Not now")','button:has-text("Save")','button:has-text("Create")','button:has-text("Enter")','button:has-text("Launch")','button:has-text("Use CodeBuddy")','button:has-text("Go to CodeBuddy")'],n=["select",'[role="combobox"]','.page-region [role="combobox"]',".page-region .t-select",'.page-region [class*="t-select"]','.page-region [class*="select"]',".page-region input[placeholder]",'button:has-text("Region")','[role="button"]:has-text("Region")','button:has-text("Select region")','[role="button"]:has-text("Select region")','button:has-text("Data region")','[aria-label*="region" i]','[placeholder*="region" i]'],o=["text=/^Indonesia$/i","text=/^ID$/i","text=/^Singapore$/i","text=/^SG$/i","text=/^Japan$/i","text=/^JP$/i","text=/^Thailand$/i","text=/^TH$/i","text=/^Global$/i","text=/^International$/i","text=/^United States$/i","text=/^US$/i","text=/^Asia Pacific$/i","text=/^Hong Kong$/i","text=/^Default$/i"],p=[{selector:'input[name*="workspace" i]',value:"Default"},{selector:'input[placeholder*="workspace" i]',value:"Default"},{selector:'input[name*="team" i]',value:"Default"},{selector:'input[placeholder*="team" i]',value:"Default"},{selector:'input[name*="name" i]',value:"Default"},{selector:'input[placeholder*="name" i]',value:"Default"}],q=["wrong password","incorrect password","couldn't find your google account","couldn’t find your google account","enter a valid email","couldn’t sign you in","couldn't sign you in","invalid email or password","password is incorrect"],r=["2-step verification","2-step verification required","verify it’s you","verify it's you","check your phone","confirm it’s you","confirm it's you","recovery email","recovery phone","suspicious sign-in prevented","unusual activity detected","captcha","i'm not a robot","im not a robot","not a robot","recaptcha","select all images","select all squares","try again later","browser or app may not be secure","try using a different browser","couldn’t sign you in","couldn't sign you in","this browser or app may not be secure"],s=["restricted","account has been restricted","account is restricted","account has been suspended","account is suspended","account has been disabled","account is disabled","account has been banned","account is banned","access denied","account blocked","your account has been","violation of terms","terms of service violation","temporarily locked","permanently locked","account locked","akun dibatasi","akun diblokir","akun ditangguhkan"],t=["welcome to your new google account","selamat datang di akun google baru anda","welcome to your new account","selamat datang di akun baru","privacy and terms","privasi dan persyaratan","personalize your google services","personalisasikan layanan google anda","add recovery phone","tambahkan nomor telepon pemulihan","choose your settings","pilih setelan anda"],u=["welcome to your new account","selamat datang di akun baru","your administrator decides which","administrator anda memutuskan layanan","your organisation administrator manages","your organization administrator manages"];function v(a){if(!a||!a.startsWith("kiro://kiro.kiroAgent/authenticate-success"))return null;let b=a.indexOf("?"),c=new URLSearchParams(b>=0?a.slice(b+1):""),d=c.get("code"),e=c.get("state");return d?{callbackUrl:a,code:d,state:e}:null}function w(a){let b="function"==typeof a.frames?a.frames():[];return[a,...b.filter(b=>b!==a.mainFrame?.())]}async function x(a,b){for(let c of w(a))for(let a of b){let b=c.locator(a).first();if(await b.count().catch(()=>0)&&await b.isVisible().catch(()=>!1))return await b.click({timeout:5e3}).catch(()=>null),!0}return!1}async function y(a,b){for(let c of w(a))for(let a of b){let b=c.locator(a).first();if(await b.count().catch(()=>0)){if((await b.scrollIntoViewIfNeeded().catch(()=>null),await b.isVisible().catch(()=>!1)&&await b.isEnabled().catch(()=>!0))&&await b.click({timeout:5e3}).then(()=>!0).catch(()=>!1))return!0}}return!1}async function z(a,b){for(let c of w(a)){let a=c.locator(b).first();if(await a.count().catch(()=>0)&&await a.isVisible().catch(()=>!1))return a}return null}async function A(a,b,{timeout:c=15e3,pollInterval:d=150}={}){let e=Date.now()+c;for(;Date.now()<e;){let c=await z(a,b);if(c)return c;let f=e-Date.now();if(f<=0)break;await new Promise(a=>setTimeout(a,Math.min(d,f)))}return null}function B(a=50){return new Promise(b=>setTimeout(b,a))}async function C(a,{timeout:b=8e3,interval:c=100}={}){let d=Date.now()+b;for(;Date.now()<d;){try{if(await a())return!0}catch{}await B(c)}return!1}function D(a){try{let b=new URL(a).hostname;return"accounts.google.com"===b||b.endsWith(".accounts.google.com")||/^accounts\.google\./i.test(b)}catch{return!1}}async function E(a,{fromUrl:b="",urlMatch:c=null,selector:d=null,timeout:e=8e3}={}){let f=b||a.url?.()||"";return C(async()=>{let b=a.url?.()||"";return!!(c&&("function"==typeof c&&c(b)||c instanceof RegExp&&c.test(b))||b&&b!==f&&!b.startsWith("about:")||d&&await z(a,d))||!1},{timeout:e,interval:80})}async function F(a,b,{timeout:c=15e3}={}){if(!a||null==b)return!1;try{await a.click({timeout:3e3})}catch{}try{if(await a.fill(String(b),{timeout:Math.min(c,8e3)}),await a.inputValue().catch(()=>"")===b)return!0}catch{}try{await a.fill("",{timeout:2e3})}catch{}try{let d=Math.floor(15+20*Math.random());await a.type(String(b),{delay:d,timeout:c})}catch{try{await a.fill(String(b),{timeout:c})}catch{return!1}}let d="";try{d=await a.inputValue()}catch{d=""}return d===b}async function G(a){let b=[];for(let c of w(a))try{b.push(await c.evaluate(()=>document.body?.innerText||""))}catch{}return b.join("\n")}function H(a,b){let c=String(a||"").toLowerCase();return b.some(a=>c.includes(a))}function I(a){try{let b=new URL(a.url());return"accounts.google.com"===b.hostname||b.hostname.endsWith(".accounts.google.com")||/^accounts\.google\./i.test(b.hostname)}catch{return!1}}function J(a){return/grok|cloudflare/i.test(String(a||""))}function K(a){try{let b=new URL(a||"");return"dash.cloudflare.com"===b.hostname&&b.pathname.includes("/login")}catch{return!1}}async function L(a,b){for(let c of j)try{let d=a.locator(c).first();if(await d.isVisible({timeout:100}).catch(()=>!1))return await d.click({timeout:2e3,noWaitAfter:!0}).catch(()=>null),b?.("dismissing_cookies","Dismissed cookie / privacy banner"),!0}catch{}return!!await a.evaluate(()=>{try{if("function"==typeof window.OneTrust?.AllowAll){if(!document.querySelector("#onetrust-banner-sdk, #onetrust-consent-sdk, #onetrust-accept-btn-handler"))return!1;return window.OneTrust.AllowAll(),!0}let a=document.querySelector("#onetrust-accept-btn-handler");if(a&&null!==a.offsetParent)return a.click(),!0}catch{}return!1}).catch(()=>!1)&&(b?.("dismissing_cookies","Dismissed cookie / privacy banner"),!0)}async function M(a){return!!function(a){try{let b=new URL(a.url());if(b.pathname.startsWith("/not-supported")||b.pathname.includes("/signin/rejected")||b.pathname.includes("/rejected")||"about.google"===b.hostname||b.hostname.endsWith(".about.google"))return!0}catch{}return!1}(a)||H(await G(a).catch(()=>""),["browser or app may not be secure","try using a different browser","couldn't sign you in","couldn’t sign you in","this browser or app may not be secure","browser is not secure"])}function N(a){return!!(a&&a.__zevaiSettled)}async function O(a,b,{maxWaitMs:c=2e4,successPromise:d=null}={}){let e=Date.now(),f="";for(d&&"function"==typeof d.then&&(d.__zevaiSettledHooked||(d.__zevaiSettledHooked=!0,d.then(()=>{d.__zevaiSettled=!0},()=>{d.__zevaiSettled=!0})));Date.now()-e<c;){if(N(d))return b?.("waiting_google_redirect","OAuth callback already received — leaving interstitial wait"),!1;let c=a.url?.()||"",e=String(await G(a).catch(()=>"")).trim(),g=/\/accounts\/SetSID/i.test(c),h=/\/AccountChooser/i.test(c),i=e.length<30;if(!(g||i&&/accounts\.google\./i.test(c))&&!h)return!1;if(c!==f&&(b?.("waiting_google_redirect",`Waiting for Google redirect (url=${c.slice(0,120)} empty=${i})`),f=c),h&&await y(a,["div[data-identifier]","div[data-email]","li[data-identifier]",'div[role="link"]','div[role="button"]'])){b?.("selecting_google_account","Selected account from Google AccountChooser"),await E(a,{timeout:5e3});continue}let j=[a.waitForNavigation({waitUntil:"domcontentloaded",timeout:3e3}).catch(()=>null),B(400)];d&&!N(d)&&j.push(d.then(()=>null).catch(()=>null)),await Promise.race(j)}return!0}function P(a){try{let b=new URL(a.url()).hostname||"";return/codebuddy\.(ai|cn)$/.test(b)||b.endsWith(".codebuddy.ai")||b.endsWith(".codebuddy.cn")||"accounts.x.ai"===b||"auth.x.ai"===b||b.endsWith(".x.ai")||"grok.com"===b||b.endsWith(".grok.com")||"dash.cloudflare.com"===b||b.endsWith(".cloudflare.com")}catch{return!1}}async function Q(a,b){if(!I(a))return!1;let c=await G(a);return!!/wants to access|ingin mengakses|akses ke akun google|allow/i.test(c)&&(await a.evaluate(()=>{let a=document.scrollingElement||document.documentElement||document.body;a&&(a.scrollTop=a.scrollHeight),window.scrollTo(0,document.body?.scrollHeight||document.documentElement?.scrollHeight||0)}).catch(()=>null),await a.waitForTimeout(300),!!await y(a,g)&&(b("approving_google_consent","Approving Google OAuth consent"),await a.waitForTimeout(1e3),!0))}async function R(a,b){let c=String(b||"");if(!H(c,t))return!1;if(await a.evaluate(()=>{let a=document.scrollingElement||document.documentElement||document.body;a&&(a.scrollTop=a.scrollHeight),window.scrollTo(0,document.body?.scrollHeight||document.documentElement?.scrollHeight||0)}).catch(()=>null),await a.waitForTimeout(500),H(c,u)){if(await y(a,g))return await a.waitForTimeout(700),!0;if(await a.evaluate(()=>{let a=[document.getElementById("confirm"),document.querySelector('form#tos_form input[type="submit"]'),document.querySelector('input[type="submit"][value="Saya mengerti"]'),document.querySelector('input[type="submit"][value="I understand"]')].filter(Boolean)[0];return!!a&&(a.scrollIntoView({block:"center"}),a.click(),!0)}).catch(()=>!1)||await a.evaluate(()=>{let a=document.getElementById("tos_form");return!!a&&(a.submit(),!0)}).catch(()=>!1))return await a.waitForTimeout(800),!0}return!!(await y(a,h)||await y(a,g))&&(await a.waitForTimeout(700),!0)}async function S(a){let b=/global|international|singapore|united states|^us$|asia|hong kong|default/i;for(let c of w(a)){let a=c.locator("select"),d=await a.count().catch(()=>0);for(let c=0;c<d;c+=1){let d=a.nth(c),e=await d.isVisible().catch(()=>!1),f=await d.isEnabled().catch(()=>!0);if(!e||!f)continue;let g=await d.evaluate((a,b)=>{let c=RegExp(b,"i"),d=[...a.options].filter(a=>!a.disabled&&""!==a.value),e=d.find(a=>c.test(`${a.label} ${a.textContent} ${a.value}`));return(e||d[0])?.value||""},b.source).catch(()=>"");if(g&&await d.selectOption(g).then(()=>!0).catch(()=>!1))return!0}}return!1}async function T(a){let b=!1;for(let c of w(a))for(let{selector:a,value:d}of p){let e=c.locator(a).first();if(!await e.count().catch(()=>0))continue;let f=await e.isVisible().catch(()=>!1),g=await e.isEnabled().catch(()=>!0);!(!f||!g||await e.inputValue().catch(()=>""))&&await e.fill(d,{timeout:5e3}).then(()=>!0).catch(()=>!1)&&(b=!0)}return b}async function U(a,b){await b.scrollIntoViewIfNeeded().catch(()=>null);let c=await b.isVisible().catch(()=>!1),d=await b.isEnabled().catch(()=>!0);if(!c||!d)return!1;let e=await b.boundingBox().catch(()=>null);if(!e||e.width<=0||e.height<=0)return!1;let f=e.x+e.width/2,g=e.y+e.height/2;return await a.mouse.move(f,g),await a.mouse.down(),await a.mouse.up(),!0}async function V(a,b,c){for(let d of w(a)){let e=d.locator(b),f=Math.min(await e.count().catch(()=>0),80),g=[];for(let a=0;a<f;a+=1){let b=e.nth(a);if(!await b.isVisible().catch(()=>!1))continue;let c=(await b.innerText({timeout:1e3}).catch(()=>"")||await b.textContent({timeout:1e3}).catch(()=>"")||"").trim();c&&g.push({locator:b,text:c})}for(let b of c){let c=g.find(a=>b.test(a.text));if(c&&await U(a,c.locator).catch(()=>!1))return c.text}if(g[0]&&await U(a,g[0].locator).catch(()=>!1))return g[0].text}return""}async function W(a,b){for(let c of w(a))for(let d of b){let b=c.locator(d),e=Math.min(await b.count().catch(()=>0),20);for(let c=0;c<e;c+=1){let d=b.nth(c);if(await U(a,d).catch(()=>!1))return!0}}return!1}async function X(a,b){if(!P(a)||I(a))return!1;let c=await a.evaluate(async()=>{let a=document.body?.innerText||"";if(!(document.querySelector(".page-region")||/select\s+region|region|country|area|get started|complete/i.test(a)))return null;try{let a=await fetch("https://www.codebuddy.ai/console/login/account",{method:"POST",credentials:"include",headers:{accept:"application/json, text/plain, */*","content-type":"application/json","x-requested-with":"XMLHttpRequest","x-domain":window.location.hostname||"www.codebuddy.ai"},referrer:"https://www.codebuddy.ai/register/user/complete",body:JSON.stringify({attributes:{countryCode:["62"],countryFullName:["Indonesia"],countryName:["ID"]}})}),b=await a.text().catch(()=>""),c=null;try{c=b?JSON.parse(b):null}catch{c={raw:b}}if(a.ok&&(!c||0===c.code||200===c.code||void 0===c.code))return{action:"submitted_via_api"};return{action:"api_failed",status:a.status,code:c?.code,message:c?.msg||c?.message||b||`HTTP ${a.status}`}}catch(a){return{action:"api_failed",message:a?.message||"region submit request failed"}}}).catch(()=>null);return!!c?.action&&("submitted_via_api"===c.action?(b("submitting_codebuddy_region","Submitted CodeBuddy region via account API"),await a.waitForTimeout(1500),!0):(b("codebuddy_region_api_failed",c.message?`CodeBuddy region API submit failed: ${c.message}`:"CodeBuddy region API submit failed"),!1))}async function Y(a,b){if(!P(a)||I(a)||!await a.locator(".page-region").first().count().then(Boolean).catch(()=>!1))return!1;let c=[/indonesia|^id$|\u5370\u5ea6\u5c3c\u897f\u4e9a/i,/singapore|^sg$|\u65b0\u52a0\u5761/i,/japan|^jp$|\u65e5\u672c/i,/thailand|^th$|\u6cf0\u56fd/i,/global|international|default/i];if(await W(a,[".page-region [class*='28B894']",".page-region button:has-text('Get started')",".page-region button:has-text('Start')",".page-region button:has-text('Submit')",".page-region button:has-text('Continue')",".page-region [role='button']:has-text('Get started')",".page-region [role='button']:has-text('Start')",".page-region [role='button']:has-text('Submit')",".page-region [role='button']:has-text('Continue')"]))return b("submitting_codebuddy_region","Submitted CodeBuddy region selection"),await a.waitForTimeout(1200),!0;let d=await V(a,"ul.dropdown-section li, .dropdown-section li, [role='option'], .t-select-option, [class*='option']",c);if(d)return b("selecting_codebuddy_region",`Selected CodeBuddy region: ${d}`),await a.waitForTimeout(900),!0;if(!await W(a,[".page-region .t-select",".page-region [class*='t-select']",".page-region [role='combobox']",".page-region input[placeholder]",".page-region [class*='select']",".page-region [class*='cursor-pointer']"]))return!1;b("opening_codebuddy_region_selector","Opening CodeBuddy region selector"),await a.waitForTimeout(600);let e=await V(a,"ul.dropdown-section li, .dropdown-section li, [role='option'], .t-select-option, [class*='option']",c);return e&&(b("selecting_codebuddy_region",`Selected CodeBuddy region: ${e}`),await a.waitForTimeout(900)),!0}async function Z(a,b){if(!P(a)||I(a))return!1;if(await X(a,b)||await Y(a,b))return!0;for(let c of w(a)){let d=await c.evaluate(()=>{let a=a=>{if(!(a instanceof HTMLElement))return!1;let b=window.getComputedStyle(a);if("hidden"===b.visibility||"none"===b.display||0===Number(b.opacity))return!1;let c=a.getBoundingClientRect();return c.width>0&&c.height>0},b=document.querySelector(".page-region"),c=document.body?.innerText||"";if(!(b||/select\s+region|region|country|area|get started|complete/i.test(c)))return null;let d=a=>{for(let b of(a.scrollIntoView({block:"center",inline:"center"}),["pointerdown","mousedown","pointerup","mouseup","click"]))a.dispatchEvent(new MouseEvent(b,{bubbles:!0,cancelable:!0,view:window,buttons:+!!b.endsWith("down")}))},e=[/indonesia|^id$|\u5370\u5ea6\u5c3c\u897f\u4e9a/i,/singapore|^sg$|\u65b0\u52a0\u5761/i,/japan|^jp$|\u65e5\u672c/i,/thailand|^th$|\u6cf0\u56fd/i,/global|international|default/i],f=b||document.body,g=["button","[role='button']","input[type='submit']",".t-button","[class*='button']","[class*='28B894']"],h=[...f.querySelectorAll(g.join(","))].filter(a).filter(a=>{let b=`${a.innerText||""} ${a.getAttribute("aria-label")||""} ${a.getAttribute("value")||""}`,c=a.getAttribute("class")||"";return/submit|start|continue|confirm|done|get started|complete|\u5b8c\u6210|\u5f00\u59cb|\u786e\u5b9a|\u4e0b\u4e00\u6b65/i.test(b)||c.includes("28B894")});if(h.length)return d(h[0]),{action:"submitted"};let i=["ul.dropdown-section li",".dropdown-section li","[role='option']",".t-select-option","[class*='option']","[class*='dropdown'] li"],j=[...document.querySelectorAll(i.join(","))].filter(a).filter(a=>(a.innerText||a.textContent||"").trim());if(j.length){let a=e.map(a=>j.find(b=>a.test((b.innerText||b.textContent||"").trim()))).find(Boolean)||j[0],b=(a.innerText||a.textContent||"").trim();return d(a),{action:"selected",label:b}}let k=["[role='combobox']",".t-select","[class*='t-select']","[class*='select']","input[placeholder]",".text-sm","[class*='cursor-pointer']"],l=[...f.querySelectorAll(k.join(","))].filter(a).filter(a=>{let b=`${a.innerText||""} ${a.getAttribute("placeholder")||""} ${a.getAttribute("aria-label")||""}`;return/region|country|area|select|placeholder|\u5730\u533a|\u56fd\u5bb6|\u9009\u62e9/i.test(b)||a.matches?.(".t-select,[class*='t-select'],input[placeholder],[class*='select']")});return l.length?(d(l[0]),{action:"opened"}):null}).catch(()=>null);if(d?.action){if("selected"===d.action)return b("selecting_codebuddy_region",`Selected CodeBuddy region${d.label?`: ${d.label}`:""}`),await a.waitForTimeout(700),!0;if("submitted"===d.action)return b("submitting_codebuddy_region","Submitted CodeBuddy region selection"),await a.waitForTimeout(1200),!0;return b("opening_codebuddy_region_selector","Opening CodeBuddy region selector"),await a.waitForTimeout(700),!0}}return!1}async function $(a,b){if(!P(a)||I(a))return!1;let c=await a.evaluate(async()=>{let a=new URL(window.location.href);if(!/\/started\/?$/.test(a.pathname))return null;let b=a.searchParams.get("platform")||"CLI",c=a.searchParams.get("state");if(!c)return null;for(let a of[...new Set([window.location.hostname||"www.codebuddy.ai"].filter(Boolean))]){let d=new URL("/console/auth/login",window.location.origin);d.searchParams.set("platform",b),d.searchParams.set("state",c),d.searchParams.set("domain",a);try{let b=await fetch(d.toString(),{method:"GET",credentials:"include",redirect:"manual",headers:{"x-requested-with":"XMLHttpRequest","X-Domain":a}});if("opaqueredirect"===b.type||b.status>=300&&b.status<400)return{action:"attempted",domain:a,message:"redirected"};let c=await b.text(),e=null;try{e=c?JSON.parse(c):null}catch{e={raw:c}}if(b.ok&&(!e||0===e.code||200===e.code||void 0===e.code))return{action:"authorized",domain:a};if(b.ok)return{action:"attempted",domain:a,code:e?.code,message:e?.msg||e?.message||""}}catch(a){}}return{action:"failed"}}).catch(()=>null);return!!c?.action&&"failed"!==c.action&&("authorized"===c.action?b("authorizing_codebuddy_cli_state","Authorized CodeBuddy CLI login state"):b("authorizing_codebuddy_cli_state",c.message?`Attempted CodeBuddy CLI login state authorization: ${c.message}`:"Attempted CodeBuddy CLI login state authorization"),await a.waitForTimeout(1200),!0)}async function _(a){try{for(let b of[/continue with google/i,/sign in with google/i,/sign up with google/i,/^google$/i]){let c=a.getByRole("button",{name:b}).first();if(await c.isVisible({timeout:300}).catch(()=>!1))return!0;let d=a.getByRole("link",{name:b}).first();if(await d.isVisible({timeout:200}).catch(()=>!1))return!0}}catch{}for(let b of i)try{let c=a.locator(b).first();if(await c.isVisible({timeout:200}).catch(()=>!1))return!0}catch{}return!1}function aa(a){try{let b=new URL(a.url()).hostname||"";return"accounts.x.ai"===b||"auth.x.ai"===b||b.endsWith(".x.ai")||"grok.com"===b||b.endsWith(".grok.com")}catch{return!1}}async function ab(a,b,c){if(!P(a)||I(a))return!1;if(await y(a,l))return b("accepting_provider_privacy_dialog",`Confirmed ${c} privacy or terms dialog`),await a.waitForTimeout(800),!0;if(await $(a,b)||await Z(a,b))return!0;if(!aa(a)){if(await S(a))return b("selecting_provider_region",`Selected ${c} region`),await a.waitForTimeout(700),!0;if(await y(a,n))return b("opening_provider_region_selector",`Opening ${c} region selector`),await a.waitForTimeout(500),await y(a,o)&&(b("selecting_provider_region",`Selected ${c} region`),await a.waitForTimeout(700)),!0;if(await y(a,o))return b("selecting_provider_region",`Selected ${c} region`),await a.waitForTimeout(700),!0;if(await T(a))return b("filling_provider_onboarding",`Filled ${c} onboarding defaults`),await a.waitForTimeout(500),!0}if(aa(a))return!1;try{let b=new URL(a.url()).hostname||"";if("dash.cloudflare.com"===b||b.endsWith(".cloudflare.com"))return!1}catch{}return!await _(a)&&!!await y(a,m)&&(b("continuing_provider_onboarding",`Continuing ${c} onboarding`),await a.waitForTimeout(1e3),!0)}async function ac(a,b,{alreadyAuthed:c=!1}={}){if(!aa(a)||c||await _(a))return!1;let d=await G(a).catch(()=>"");if(/sign out|log out|device authorized|you can close|invalid action/i.test(d)||!(/enter the code shown in your terminal/i.test(d)||/only enter this code if you just initiated/i.test(d)||/sign in to grok/i.test(d)&&/continue/i.test(d)&&!/login with/i.test(d)))return!1;let e=a.url?.()||"",f=!1;try{let b=a.getByRole("button",{name:/^Continue$/i}).first();await b.isVisible({timeout:300}).catch(()=>!1)&&(await b.click({timeout:5e3}),f=!0)}catch{}return f||(f=await y(a,['button[type="submit"]:has-text("Continue")','button:has-text("Continue")'])),!!f&&(b?.("confirming_device_code","Confirmed device user code on xAI"),await E(a,{fromUrl:e,urlMatch:a=>/sign-in|login|oauth/i.test(a)&&a!==e,selector:[...i.slice(0,8),'button:has-text("Login with Google")','button:has-text("Login with email")'].join(", "),timeout:1e4}),!0)}async function ad(a,b){return!!await b.isEnabled().catch(()=>!0)&&(await b.scrollIntoViewIfNeeded().catch(()=>null),!!await b.click({timeout:2500,force:!0,noWaitAfter:!0}).then(()=>!0).catch(()=>!1)||U(a,b).catch(()=>!1))}async function ae(a){for(let b of[/continue with google/i,/login with google/i,/log in with google/i,/sign up with google/i,/sign in with google/i,/^google$/i]){try{let c=a.getByRole("button",{name:b}).first();if(await c.isVisible({timeout:250}).catch(()=>!1)&&await ad(a,c))return!0}catch{}try{let c=a.getByRole("link",{name:b}).first();if(await c.isVisible({timeout:200}).catch(()=>!1)&&await ad(a,c))return!0}catch{}}try{let b=a.locator('button[aria-label*="Google" i]').first();if(await b.isVisible({timeout:200}).catch(()=>!1)&&await ad(a,b))return!0}catch{}try{let b=a.locator('button:has-text("Google")').first();if(await b.isVisible({timeout:150}).catch(()=>!1)&&await ad(a,b))return!0}catch{}return!1}async function af(a,b){for(let c of w(a))for(let d of k)try{let e=c.locator(d).first();if(!await e.count().catch(()=>0)||!await e.isVisible().catch(()=>!1))continue;if(await e.isChecked().catch(()=>!1))return!1;if(await e.check({force:!0,timeout:3e3}).then(()=>!0).catch(()=>!1)||await e.click({force:!0,timeout:3e3}).then(()=>!0).catch(()=>!1))return b?.("accepting_provider_terms","Accepted provider terms for Google login"),await C(async()=>{try{let b=a.getByRole("button",{name:/google/i}).first();return await b.isVisible().catch(()=>!1)&&await b.isEnabled().catch(()=>!0)}catch{return!0}},{timeout:2e3,interval:80}),!0}catch{}return!1}async function ag(a,b,{allowGoogleClick:c=!0}={}){if(I(a))return!1;if(await L(a,b),await y(a,l))return b("accepting_provider_privacy_dialog","Confirmed provider privacy agreement dialog"),!0;let e=await af(a,b);if(!c)return e;let f=await ae(a);if(!f)for(let b of i.slice(0,16))try{let c=a.locator(b).first();if(await c.isVisible({timeout:100}).catch(()=>!1)&&await ad(a,c)){f=!0;break}}catch{}if(f){b("selecting_google_login","Selecting Google login"),await y(a,l)&&b("accepting_provider_privacy_dialog","Confirmed provider privacy agreement dialog");let c=K(a.url?.()||"");if(await E(a,{urlMatch:a=>D(a),selector:d,timeout:c?1e4:12e3})||I(a))b("google_login_page","Reached Google sign-in after provider SSO");else try{let c=a.context?.(),d=c?.pages?.()||[];for(let a=d.length-1;a>=0;a-=1){let c=d[a],e=c.url?.()||"";if(D(e)){b("google_login_popup","Google sign-in opened in a popup");break}}}catch{}return!0}return e}async function ah(a,b){if(!aa(a)||await _(a))return!1;for(let c of[/^(Allow|Authorize|Approve|Confirm)$/i,/^(Allow|Authorize|Approve)\b/i])try{let d=a.getByRole("button",{name:c}).first();if(await d.isVisible({timeout:200}).catch(()=>!1)){let a=await d.innerText().catch(()=>"")||"";if(/google/i.test(a))continue;return await d.click({timeout:3e3}),b?.("approving_consent","Approving xAI device authorization"),!0}}catch{}return!1}function ai(a,b,c=9e5){let d,e,f=new Promise((a,b)=>{d=a,e=b}),g=!1,h=new Set,i=new Map,j=setTimeout(()=>{k(null,Error("Timed out waiting for Kiro callback"))},c);function k(a,b=null){if(!g){for(let a of(g=!0,clearTimeout(j),i.values()))for(let b of a)try{b()}catch{}i.clear(),b?e(b):d(a)}}function l(a){let b=v(a||"");return b&&k(b),!!b}function m(a){try{l(a?.url?.()||"");let b="function"==typeof a?.headers?a.headers():null,c=b?.location||b?.Location||"";c&&l(c)}catch{}}function n(a,b){if(!a||h.has(a))return;h.add(a);let c=a=>l(a?.url?.()||""),d=a=>l(a?.url?.()||""),e=a=>l(a?.url?.()||""),f=a=>m(a),i=()=>l(a.url?.()||""),j=()=>{k(null,Error("Browser session closed while waiting for Kiro callback"))};a.on("framenavigated",c),a.on("request",d),a.on("requestfailed",e),a.on("response",f),a.on("domcontentloaded",i),a.on("load",i),a.on("close",j),b.push(()=>{a.off("framenavigated",c),a.off("request",d),a.off("requestfailed",e),a.off("response",f),a.off("domcontentloaded",i),a.off("load",i),a.off("close",j)}),(async()=>{try{if(g)return;let c=a.context?.();if(!c?.newCDPSession)return;let d=await c.newCDPSession(a);await d.send("Network.enable").catch(()=>null);let e=a=>{try{let b=a?.response?.headers||{},c=b.location||b.Location||"";c&&l(c),l(a?.response?.url||"")}catch{}},f=a=>{try{l(a?.request?.url||"")}catch{}};d.on("Network.responseReceived",e),d.on("Network.requestWillBeSent",f),b.push(()=>{try{d.off?.("Network.responseReceived",e)}catch{}try{d.off?.("Network.requestWillBeSent",f)}catch{}d.detach?.().catch(()=>null)})}catch{}})();let n=v(a.url?.()||"");n&&k(n)}function o(a,b){if(g||i.has(a))return;let c=[];i.set(a,c);let d=a=>n(a,c),e=()=>{k(null,Error("Browser context closed while waiting for Kiro callback"))},f=a=>l(a?.url?.()||""),h=a=>l(a?.url?.()||""),j=a=>m(a);a.on("page",d),a.on("close",e),a.on("request",f),a.on("requestfailed",h),a.on("response",j),c.push(()=>a.off("page",d)),c.push(()=>a.off("close",e)),c.push(()=>a.off("request",f)),c.push(()=>a.off("requestfailed",h)),c.push(()=>a.off("response",j)),b&&n(b,c)}return o(a,b),f.rebind=({context:a,page:b}={})=>{a&&o(a,b)},f.abort=(a="Job cancelled")=>{k(null,Error(a))},f}function aj(a,b,{prefix:c,timeoutMs:d=9e5}={}){let e,f,g=new Promise((a,b)=>{e=a,f=b}),h=!1,i=new Set,j=new Map,k=setTimeout(()=>{l(null,Error("Timed out waiting for OAuth callback"))},d);function l(a,b=null){if(!h){for(let a of(h=!0,clearTimeout(k),j.values()))for(let b of a)try{b()}catch{}j.clear(),b?f(b):e(a)}}function m(a,b){if(!a||i.has(a))return;i.add(a);let d=a=>{let b=function(a,b){if(!a||!b||!a.startsWith(b))return null;let c=a.indexOf("?"),d=new URLSearchParams(c>=0?a.slice(c+1):""),e=d.get("code"),f=d.get("state");return e?{callbackUrl:a,code:e,state:f}:null}(a||"",c);b&&l(b)},e=a=>d(a?.url?.()||""),f=a=>d(a?.url?.()||""),g=a=>d(a?.url?.()||""),h=()=>d(a.url?.()||"");a.on("framenavigated",e),a.on("request",f),a.on("requestfailed",g),a.on("domcontentloaded",h),a.on("load",h),b.push(()=>{a.off("framenavigated",e),a.off("request",f),a.off("requestfailed",g),a.off("domcontentloaded",h),a.off("load",h)}),d(a.url?.()||"")}function n(a,b){if(h||j.has(a))return;let c=[];j.set(a,c);let d=a=>m(a,c);a.on("page",d),c.push(()=>a.off("page",d)),b&&m(b,c)}return n(a,b),g.rebind=({context:a,page:b}={})=>{a&&n(a,b)},g}async function ak({page:a,authUrl:b,email:c,password:h,successPromise:i,shortTimeoutMs:j=9e4,serviceLabel:k="provider",openingStep:l="opening_google_oauth",openingMessage:m="Opening Google OAuth page",successStep:n="oauth_success_received",successMessage:o="OAuth success received",onStep:p,skipGoto:t=!1,expectGoogleSoon:u=!1}){let v=Date.now(),w=(a,b)=>{p?.(a,b)},y=a=>({maxWaitMs:a,successPromise:i}),D=0,N=0,S=0,T=!1,U=0,V=0,W=0,X=J(k)?6e3:18e3,Y=J(k)?12e3:8e3,Z=J(k)?3e3:8e3,$=J(k),aa=$?4e3:25e3,ad=$?120:500,ae=t&&I(a);t?ae?w("google_login_page","Already on Google sign-in — filling credentials"):u?(w("waiting_google_redirect","Waiting for Google after provider SSO click"),await C(()=>I(a),{timeout:25e3,interval:100})?(ae=!0,S=Date.now(),w("google_login_page","Reached Google sign-in after provider SSO")):w("google_redirect_slow","Google redirect slow — will retry SSO click")):(w(l,m),await L(a,w)):(w(l,m),await a.goto(b,{waitUntil:"domcontentloaded",timeout:6e4}),await L(a,w));let af=K(a.url?.()||"")||/cloudflare/i.test(String(k||""));if(!ae){await C(async()=>!!(I(a)||await z(a,'button[aria-label*="Google" i], button:has-text("Continue with Google"), button:has-text("Login with Google"), button:has-text("Google")')||!af&&await z(a,d)||!af&&await z(a,'button:has-text("Continue")')),{timeout:$?8e3:12e3,interval:80}),$||await O(a,w,y(8e3));for(let b=0;b<($||af?8:2)&&!I(a);b+=1)if(await L(a,w),!await ac(a,w)){if(await ag(a,w)){if(S=Date.now(),I(a))break;await B(50);continue}await C(async()=>I(a)||await _(a)||/enter the code|login with google|continue with google/i.test(await G(a).catch(()=>"")),{timeout:600,interval:80})||await B(80)}$||await O(a,w,y(6e3))}if(I(a)){T=!0;let b=await A(a,d,{timeout:1e4});b&&(w("entering_email","Entering Google email"),await F(b,c)?(w("submitting_email","Submitting email"),await x(a,f),N=Date.now(),await E(a,{selector:e,timeout:$?8e3:12e3}),$||await O(a,w,y(8e3))):w("email_fill_failed","Could not fill the Google email field; will retry in the polling loop"))}else P(a)&&w("waiting_for_google_sso",`Provider page still open (${(a.url?.()||"").slice(0,80)}) — will keep selecting Google login`);for(;Date.now()-v<j;){let j=await Promise.race([i.then(a=>({kind:"success",result:a})).catch(a=>({kind:"success_error",error:a})),new Promise(a=>setTimeout(()=>a(null),ad))]);if(j?.kind==="success")return w(n,o),{status:"success",...j.result};if(j?.kind==="success_error")return w("oauth_timeout",`Timed out waiting for ${k} authorization`),{status:"failed_timeout",error:j.error?.message||`Timed out waiting for ${k} authorization`};if($&&T&&D&&/cloudflare/i.test(String(k||"")))try{let b=new URL(a.url?.()||"");if("dash.cloudflare.com"===b.hostname&&!b.pathname.includes("/login")&&!b.href.includes("oidcJwt")){w("waiting_cf_harvest","On Cloudflare dashboard — waiting for Workers AI token harvest");let a=await Promise.race([i.then(a=>({kind:"success",result:a})).catch(a=>({kind:"success_error",error:a})),B(2e3).then(()=>null)]);if(a?.kind==="success")return w(n,o),{status:"success",...a.result};if(a?.kind==="success_error")return w("oauth_timeout",`Timed out waiting for ${k} authorization`),{status:"failed_timeout",error:a.error?.message||`Timed out waiting for ${k} authorization`};continue}}catch{}if(await O(a,w,y($?2500:8e3)))continue;if(await Q(a,w)){$?await E(a,{timeout:4e3}):await O(a,w,y(12e3));continue}if(await M(a)){let b=a.url?.()||"";return w("browser_blocked_by_google",`Google blocked this browser (url=${b.slice(0,120)}). Headless Chromium is rejected — use headed mode or Camoufox.`),{status:"failed_browser_blocked",error:'Google blocked the automated browser ("This browser or app may not be secure" / signin rejected). Kiro bulk must use headed Chromium (Xvfb on Linux) or the Camoufox engine — not headless Chrome.'}}let l=await G(a);if(H(l,q))return w("invalid_credentials","Google rejected the supplied email or password"),{status:"failed_invalid_credentials",error:"Google rejected the supplied email or password."};if(H(l,s))return w("account_restricted","Account is restricted, suspended, or banned by the provider"),{status:"failed_restricted",error:"Account is restricted, suspended, or banned. Skipping."};if(H(l,r)){let a=/captcha|recaptcha|not a robot|select all images|select all squares/i.test(l);return w(a?"google_captcha":"manual_assist_required",a?"Google CAPTCHA / bot check":"Google requested CAPTCHA, 2FA, or recovery verification"),{status:"needs_manual",error:a?"Google CAPTCHA (bot check). Not fixed by lowering workers — use headed Chromium+Xvfb or Camoufox, residential proxy, and avoid blocking Google domains. Open manual assist to solve CAPTCHA once.":"Manual assist required in the browser session (CAPTCHA, 2FA, recovery, or suspicious-login challenge)."}}if(await R(a,l)){w("google_onboarding","Accepted Google onboarding or privacy prompt");continue}if(P(a)&&(/rate[_ ]?limit/i.test(l)||/error=rate_limited/i.test(a.url?.()||"")))return w("device_rate_limited","xAI device authorization rate-limited"),{status:"failed",error:"xAI rate-limited device authorization. Wait a few minutes and retry (too many rapid device-code attempts)."};if(P(a)&&/invalid action|invalid[_ ]?code|code (has )?expired|expired code/i.test(l)&&b&&T&&W<3&&Date.now()-V>4e3){W+=1,V=Date.now(),U=0,w("device_invalid_reopen",`Device page error — reopening auth URL (${W}/3)`),await a.goto(b,{waitUntil:"domcontentloaded",timeout:6e4}).catch(()=>null),await C(async()=>await z(a,'button:has-text("Continue"), button:has-text("Allow"), button:has-text("Authorize")')||await _(a),{timeout:4e3,interval:80});continue}let m=!!(T&&D);if(await ac(a,w,{alreadyAuthed:m}))continue;let p=!m&&(!S||Date.now()-S>Z);if(await ag(a,w,{allowGoogleClick:p})){p&&(S=Date.now());continue}if(m&&Date.now()-U>3e3&&await ah(a,w)){U=Date.now();continue}if(await ab(a,w,k))continue;if(I(a)){T=!0;let b=await z(a,e);if(b){let c=Date.now()-D;if(D&&c<X){w("waiting_after_password",`Password already submitted ${Math.round(c/1e3)}s ago — waiting for Google redirect`),await O(a,w,y($?2e3:6e3));continue}if(w("entering_password","Entering Google password"),await F(b,h)){w("submitting_password","Submitting password");let b=a.url?.()||"";await x(a,f),D=Date.now(),await Promise.race([a.waitForNavigation({waitUntil:"domcontentloaded",timeout:$?6e3:1e4}).catch(()=>null),E(a,{fromUrl:b,timeout:$?6e3:1e4}),i.then(()=>null).catch(()=>null)]),await O(a,w,y(aa))}else w("password_fill_failed","Could not fill the Google password field; retrying loop"),await B(100);continue}let g=await z(a,d);if(g){let b=Date.now()-N;if(N&&b<Y){w("waiting_after_email",`Email already submitted ${Math.round(b/1e3)}s ago — waiting for password/next screen`),await E(a,{selector:e,timeout:Math.max(200,Y-b)});continue}w("entering_email","Entering Google email"),await F(g,c)?(w("submitting_email","Submitting email"),await x(a,f),N=Date.now(),await E(a,{selector:e,timeout:$?6e3:1e4})):(w("email_fill_failed","Could not fill the Google email field; retrying loop"),await B(80));continue}}await L(a,w);let t=(()=>{try{let b=new URL(a.url()).hostname||"";return"dash.cloudflare.com"===b||b.endsWith(".cloudflare.com")}catch{return!1}})();if((I(a)||T&&D&&!await _(a)&&!K(a.url?.()||""))&&!K(a.url?.()||"")&&await x(a,g)){w("approving_consent",`Approving Google or ${k} consent`),U=Date.now(),await E(a,{timeout:$?2e3:4e3});continue}if(t&&!T&&await ag(a,w)){S=Date.now();continue}if(Math.floor((Date.now()-v)/5e3)!==Math.floor((Date.now()-v-ad)/5e3)){let b=a.url?.()||"",c=String(l||await G(a).catch(()=>"")).slice(0,100).replace(/\s+/g," ");w("waiting_for_next_screen",`Waiting for the next Google or ${k} screen (url=${b.slice(0,100)} body=${c})`)}else w("waiting_for_next_screen",`Waiting for the next Google or ${k} screen`);await B(ad)}if(await M(a))return w("browser_blocked_by_google","Google blocked browser at end of automation window"),{status:"failed_browser_blocked",error:'Google blocked the automated browser ("This browser or app may not be secure"). Use headed Chromium (Xvfb) or Camoufox engine.'};let ai=a.url?.()||"",aj=String(await G(a).catch(()=>"")).slice(0,120).replace(/\s+/g," ");return w("manual_assist_required",`Flow did not complete ${k} authorization automatically (url=${ai.slice(0,100)} body=${aj})`),{status:"needs_manual",error:`Manual assist required — ${k} authorization did not finish automatically (last url: ${ai.slice(0,140)}). If you see "browser may not be secure", switch to headed Chromium/Camoufox.`}}async function al({page:a,authUrl:b,email:c,password:d,callbackPromise:e,shortTimeoutMs:f=9e4,onStep:g}){return ak({page:a,authUrl:b,email:c,password:d,successPromise:e,shortTimeoutMs:f,serviceLabel:"Kiro",openingStep:"opening_google_oauth",openingMessage:"Opening Google OAuth page",successStep:"kiro_callback_received",successMessage:"Kiro callback received",onStep:g})}let am={waitForFirstVisibleLocator:A,fillInputResilient:F,parseSelectorList:function(a){return String(a||"").split(",").map(a=>a.trim()).filter(Boolean)},getFirstVisibleLocator:z,waitForPageAdvance:E,waitUntil:C,handleXaiDeviceCodeConfirm:ac,GOOGLE_LOGIN_BUTTON_SELECTORS:i,isGrokish:J,dismissCookieBanners:L,clickGoogleLoginRole:ae,isCloudflareLoginUrl:K}},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,KK:()=>d.KK,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,NR:()=>d.NR,OM:()=>d.OM,PX:()=>d.PX,Pb:()=>d.Pb,Pc:()=>d.Pc,QI:()=>d.QI,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,dK:()=>d.dK,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,getQuotaSnapshot:()=>d.LF,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,p3:()=>d.p3,qd:()=>d.qd,r4:()=>d.r4,tV:()=>d.tV,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yW:()=>d.yW,yg:()=>d.yg,zP:()=>d.zP,zY:()=>d.zY});var d=c(80601)}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=8255,exports.ids=[8255],exports.modules={2574:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>v,OPTIONS:()=>u,buildModelsList:()=>t});var d=c(81329),e=c(75681),f=c(89718),g=c(16655),h=c(29679),i=c(53225),j=c(52007),k=c(28948),l=c(84534),m=c(3359);let n={kiro:async a=>{let b=await (0,h.cW)({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},qoder:async a=>{let b=await (0,i.EV)({accessToken:a.accessToken,refreshToken:a.refreshToken,email:a.email,displayName:a.displayName,providerSpecificData:a.providerSpecificData||{}});return b?.models?.length?{models:b.models.map(a=>({id:a.id,name:a.name}))}:null},kimchi:async a=>{let b=await (0,j.av)({accessToken:a.accessToken,apiKey:a.apiKey,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},clinepass:async a=>{let b=await (0,k.P)({accessToken:a.accessToken,apiKey:a.apiKey});return b?.models?.length?{models:b.models}:null},cline:async a=>{let b=a.apiKey||a.accessToken;if(!b)return null;try{let{buildClineHeaders:a}=await Promise.resolve().then(c.bind(c,15626)),d=await fetch("https://api.cline.bot/api/v1/models",{headers:a(b,{Accept:"application/json"})});if(!d.ok)return null;let e=await d.json(),f=Array.isArray(e)?e:e?.data;if(!Array.isArray(f)||0===f.length)return null;let g=f.filter(a=>"string"==typeof a?.id).map(a=>({id:a.id,name:a.name||a.id}));return g.length?{models:g}:null}catch{return null}},github:async a=>{let b=await (0,l.v)({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null}},o=/[-_][0-9a-f]{8,}$/i,p={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText"};function q(a){return a?.type&&p[a.type]||"llm"}async function r(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,e.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{var f;let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),e=await fetch(c,{method:"GET",headers:d,cache:"no-store",signal:a.signal});if(clearTimeout(b),!e.ok)return[];let g=(f=await e.json(),Array.isArray(f)?f:f?.data||f?.models||f?.results||[]);return Array.from(new Set(g.map(a=>a?.id||a?.name||a?.model).filter(a=>"string"==typeof a&&""!==a.trim())))}catch{return[]}}function s(a,b){let c=e.AI_PROVIDERS[a],d=Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"];return b.some(a=>d.includes(a))}async function t(a){let b=[];try{b=(b=await (0,f.getProviderConnections)()).filter(a=>!1!==a.isActive)}catch(a){console.log("Could not fetch providers, returning all models")}let c=[];try{c=await (0,f.Uv)()}catch(a){console.log("Could not fetch combos")}let h=[];try{h=await (0,f.uv)()}catch(a){console.log("Could not fetch custom models")}let i={};try{i=await (0,f.OM)()}catch(a){console.log("Could not fetch model aliases")}let j={};try{j=await (0,g.vF)()}catch(a){console.log("Could not fetch disabled models")}let k=(a,b)=>Array.isArray(j[a])&&j[a].includes(b),l=new Map;for(let a of b)l.has(a.provider)||l.set(a.provider,a);let p=[];for(let b of c){if(!function(a,b){let c=a?.kind||"llm";return b.includes(c)}(b,a))continue;let c={id:b.name,object:"model",owned_by:"combo"};("webSearch"===b.kind||"webFetch"===b.kind)&&(c.kind=b.kind),p.push(c)}if(0===b.length){let b=Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a]));for(let[c,e]of Object.entries(d.vq))if(s(b[c]||c,a))for(let b of e)a.includes(q(b))&&(k(c,b.id)||p.push({id:`${c}/${b.id}`,object:"model",owned_by:c}));for(let b of h){if(!b?.id||b.type&&"llm"!==b.type||!a.includes("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=String(b.id).trim();d&&p.push({id:`${c}/${d}`,object:"model",owned_by:c})}}else for(let[b,c]of l.entries()){if(!s(b,a))continue;let f=d.Xg[b]||b,g=(c?.providerSpecificData?.prefix||(0,e.wG)(b)||f).trim(),j=d.vq[f]||[],l=c?.providerSpecificData?.enabledModels,m=Array.isArray(l)&&l.length>0,t=(0,e.mq)(b)||(0,e.gb)(b),u=new Map(j.map(a=>[a.id,q(a)])),v=m?Array.from(new Set(l.filter(a=>"string"==typeof a&&""!==a.trim()))):j.map(a=>a.id);t&&0===v.length&&!o.test(b)&&(v=await r(c));let w=n[b];if(w&&!m)try{let a=await w(c);a?.models?.length&&(v=a.models.map(a=>a.id))}catch(a){console.log(`Live model fetch failed for ${b}: ${a?.message||a}`)}for(let c of Array.from(new Set([...v.map(a=>a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim()),...h.filter(a=>{if(!a?.id||a.type&&"llm"!==a.type)return!1;let c=a.providerAlias;return c===f||c===g||c===b}).map(a=>String(a.id).trim()).filter(a=>""!==a),...Object.values(i||{}).filter(a=>"string"==typeof a&&!!a.includes("/")&&(a.startsWith(`${g}/`)||a.startsWith(`${f}/`)||a.startsWith(`${b}/`))).map(a=>a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim())]))){let b=u.get(c)||function(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}(c);a.includes(b)&&(k(g,c)||k(f,c)||p.push({id:`${g}/${c}`,object:"model",owned_by:g}))}let x=e.AI_PROVIDERS[b],y=[];if(a.includes("tts")&&Array.isArray(x?.ttsConfig?.models))for(let a of x.ttsConfig.models)a?.id&&y.push(a.id);if(a.includes("embedding")&&Array.isArray(x?.embeddingConfig?.models))for(let a of x.embeddingConfig.models)a?.id&&y.push(a.id);for(let a of y)k(g,a)||k(f,a)||p.push({id:`${g}/${a}`,object:"model",owned_by:g});a.includes("webSearch")&&x?.searchConfig&&p.push({id:`${g}/search`,object:"model",kind:"webSearch",owned_by:g}),a.includes("webFetch")&&x?.fetchConfig&&p.push({id:`${g}/fetch`,object:"model",kind:"webFetch",owned_by:g})}a.includes("llm")&&p.push(...(0,m.lL)(b));let t=[],u=new Set;for(let a of p)!a?.id||u.has(a.id)||(u.add(a.id),t.push(a));return t}async function u(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function v(){try{let a=await t(["llm"]);return Response.json({object:"list",data:a},{headers:{"Access-Control-Allow-Origin":"*"}})}catch(a){return console.log("Error fetching models:",a),Response.json({error:{message:a.message,type:"server_error"}},{status:500})}}},3359:(a,b,c)=>{c.d(b,{K0:()=>j,Oh:()=>n,c9:()=>q,lL:()=>r,s9:()=>i});var d=c(89718),e=c(44404);let f="gpt-5.5";function g(a){return String(a||"").trim().replace(/^\/+|\/+$/g,"")}function h(a){let b;return`cx/${(b=g(a)).startsWith("cx/")?b.slice(3):b.startsWith("codex/")?b.slice(6):b||f}`}function i(a){let b=g(a);if(!b)return null;if("auto-codex"===b)return{mode:"router",modelString:`cx/${f}`,strictAccount:!1,label:"Auto Codex"};if(b.startsWith("router/")){let a;return{mode:"router",modelString:(a=g(b.slice(7))||f).includes("/")?a:`cx/${a}`,strictAccount:!1,label:"Router Pool"}}if(b.startsWith("original/"))return{mode:"original",modelString:h(b.slice(9)),strictAccount:!0,label:"Original Codex"};if("original"===b)return{mode:"original",modelString:`cx/${f}`,strictAccount:!0,label:"Original Codex"};let c=b.startsWith("account/")?"account/":b.startsWith("codex-account/")?"codex-account/":null;if(c){let a=b.slice(c.length),d=a.indexOf("/"),e=-1===d?a:a.slice(0,d),g=-1===d?f:a.slice(d+1);return e?{mode:"account",accountRef:e,modelString:h(g),strictAccount:!0,label:"Pinned Codex Account"}:null}return null}function j(a){return a?.displayName||a?.name||a?.email||a?.id||"Codex account"}function k(a){let b=String(j(a)).toLowerCase().replace(/@/g,"-").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,48)||"account";return`${b}-${String(a?.id||"").slice(0,8)}`}function l(a){return String(a||"").trim().toLowerCase()}function m(a){let b=a?.providerSpecificData||{};return"GPTJson"===b.importedFrom||String(b.tokenSource||"").startsWith("ChatGPT_team")}async function n(a=5e3){let b=await (0,d.getProviderConnections)({provider:"codex",isActive:!0}),c=b.slice(0,a).map(a=>({id:a.id,slug:k(a),label:j(a),email:a.email||null,imported:m(a),priority:a.priority||null})),e=o(b);return{accounts:c,original:e?{id:e.id,slug:k(e),label:j(e),email:e.email||null,imported:m(e),priority:e.priority||null}:null}}function o(a){return Array.isArray(a)&&0!==a.length?a.find(a=>!m(a))||a[0]:null}async function p(a){let b=l(a);if(!b)return null;let c=await (0,d.getProviderConnections)({provider:"codex",isActive:!0}),e=c.find(a=>l(a.id)===b||k(a)===b||l(a.email)===b||l(a.name)===b||l(a.displayName)===b);if(e)return e;let f=c.filter(a=>l(a.id).startsWith(b)||k(a).startsWith(b));return 1===f.length?f[0]:null}async function q(a){if(!a||"original"!==a.mode&&"account"!==a.mode)return null;if("account"===a.mode)return p(a.accountRef);let b=await (0,d.mt)(),c=b.codexGatewayOriginalConnectionId||b.codexOriginalConnectionId||"";if(c){let a=await p(c);if(a)return a}return o(await (0,d.getProviderConnections)({provider:"codex",isActive:!0}))}function r(a=[]){if(!a.some(a=>"codex"===a.provider&&!1!==a.isActive))return[];let b=[{id:"auto-codex",object:"model",owned_by:"zevai-codex-gateway"},...(e.vq.cx||[]).filter(a=>!a.type||"llm"===a.type).map(a=>a.id).flatMap(a=>[{id:`router/${a}`,object:"model",owned_by:"zevai-codex-gateway"},{id:`original/${a}`,object:"model",owned_by:"zevai-codex-gateway"}])];for(let c of a.filter(a=>"codex"===a.provider&&!1!==a.isActive))b.push({id:`account/${k(c)}`,object:"model",owned_by:"zevai-codex-account"});return b}},16655:(a,b,c)=>{c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(80601)},19225:(a,b,c)=>{a.exports=c(44870)},81329:(a,b,c)=>{c.d(b,{Xg:()=>d.Xg,eh:()=>e,vq:()=>d.vq});var d=c(44404);Object.entries(c(75681).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=8371,exports.ids=[8371],exports.modules={48371:(a,b,c)=>{c.d(b,{xM:()=>X,t9:()=>$,TK:()=>Z,cO:()=>e.cO,VU:()=>ae});var d=c(55511),e=c(53041),f=c(71998),g=c(89718),h=c(20116),i=c(92990),j=c(39609);let k=globalThis.fetch,l=new Set(["a timeout","is cancelled","is complete","number banned, when number already used"]);class m extends Error{constructor(a,{status:b,body:c}={}){super(a),this.name="FiveSimError",this.status=b,this.body=c}}class n extends m{constructor(a){super(`5sim order ${a} timed out waiting for SMS`),this.name="FiveSimTimeoutError",this.orderId=a}}class o extends m{constructor(a,b){super(`5sim order ${a} cancelled: ${b}`),this.name="FiveSimCancelledError",this.orderId=a}}class p extends m{constructor(a){super(`5sim order ${a} number was already used (banned)`),this.name="FiveSimBannedError",this.orderId=a}}class q{constructor({apiKey:a,proxyOptions:b=null}={}){if(!a||"string"!=typeof a||!a.trim())throw new m("5sim API key is required");this.apiKey=a.trim(),this.proxyOptions=b}_headers(a={}){return{Authorization:`Bearer ${this.apiKey}`,Accept:"application/json",...a}}async _get(a,{headers:b,...c}={}){let d=`https://5sim.net/v1${a}`,e=this.proxyOptions?.enabled?j.proxyAwareFetch:k,f=await e(d,{method:"GET",headers:this._headers(b),...c},this.proxyOptions);if(!f.ok){let b=await f.text().catch(()=>"");throw new m(`5sim request to ${a} failed (HTTP ${f.status}): ${b.slice(0,200)}`,{status:f.status,body:b})}let g=await f.text();try{return JSON.parse(g)}catch{if(g&&!g.startsWith("{"))throw new m(`5sim ${a} returned non-JSON: ${g.slice(0,200)}`,{status:f.status,body:g});return null}}async buyNumber({country:a="hongkong",operator:b="any",product:c="codebuddy",allowProductFallback:d=!1}={}){let e="codebuddy"===c&&d?["codebuddy","other"]:[c],f=null;for(let c of e){let g=`/user/buy/activation/${encodeURIComponent(a)}/${encodeURIComponent(b)}/${encodeURIComponent(c)}`;try{let a=await this._get(g);if(!a||!a.id||!a.phone)throw new m(`5sim buyNumber returned unexpected shape: ${JSON.stringify(a).slice(0,200)}`,{body:a});return a}catch(g){f=g;let a=g?.status,b=String(g?.body||g?.message||"").toLowerCase();if(!(d&&"codebuddy"===c&&e.includes("other")&&(400===a||404===a||b.includes("no free")||b.includes("not enough")||b.includes("no product"))))throw g}}throw f||new m("5sim buyNumber failed for all product candidates")}async checkOrder(a){return this._get(`/user/check/${a}`)}async pollCode(a,{timeoutMs:b=9e5,intervalMs:c=6e3,signal:d}={}){let e=Math.max(5e3,c),f=Date.now()+b,g=0;for(;Date.now()<f;){let b;if(d?.aborted)throw new o(a,"aborted by caller");try{b=await this.checkOrder(a)}catch(a){if(a instanceof m&&a.status>=500){if(++g>5)throw a;await s(e);continue}throw a}if(g=0,Array.isArray(b.sms)&&b.sms.length>0){let a=r(b.sms[b.sms.length-1]);if(a)return a}if(b.status&&l.has(b.status)){if("a timeout"===b.status)throw new n(a);if("number banned, when number already used"===b.status)throw new p(a);if("is cancelled"===b.status)throw new o(a,b.status);if("is complete"===b.status){let c=function(a){if(!Array.isArray(a))return null;for(let b=a.length-1;b>=0;b--){let c=r(a[b]);if(c)return c}return null}(b.sms);if(c)return c;throw new m(`5sim order ${a} completed but no SMS code found`,{body:b})}}await s(e)}throw new n(a)}async finishOrder(a){try{return await this._get(`/user/finish/${a}`),!0}catch(b){return console.warn(`[5sim] finishOrder(${a}) failed (best-effort): ${b.message}`),!1}}async cancelOrder(a){try{return await this._get(`/user/cancel/${a}`),!0}catch(b){return console.warn(`[5sim] cancelOrder(${a}) failed (best-effort): ${b.message}`),!1}}async banOrder(a){try{return await this._get(`/user/ban/${a}`),!0}catch(b){return console.warn(`[5sim] banOrder(${a}) failed (best-effort): ${b.message}`),!1}}async getBalance(){try{let a=await this._get("/user/profile");return{balance:a?.balance??null,rating:a?.rating??null}}catch(a){return console.warn(`[5sim] getBalance failed: ${a.message}`),{balance:null,rating:null}}}}function r(a){return a?a.code&&/\d{4,8}/.test(String(a.code))?String(a.code).match(/\d{4,8}/)[0]:a.text?function(a){if(!a)return null;let b=String(a).match(/\b(\d{4,8})\b/);return b?b[1]:null}(a.text):null:null}function s(a){return new Promise(b=>setTimeout(b,a))}let t=["https://www.codebuddy.cn/login/","https://www.codebuddy.cn/login","https://www.codebuddy.cn/register/","https://copilot.tencent.com/login/"],u=["text=手机号","div:has-text('手机号')","span:has-text('手机号')","[class*='phone']:has-text('手机号')","div.kc-phone-tab:has-text('手机号')"],v=["text=手机号","text=其他登录方式","text=微信","#phone-iframe",".login-phone-box"],w=["button:has-text('同意')","text=同意并继续","text=同意"],x="#phone-iframe",y="#phoneNumber",z=".kc-country-option",A=".kc-country-code-text",B="#code",C=['iframe[src*="captcha"]','iframe[src*="tcaptcha"]',"#tcaptcha","#tcaptcha_transform",".nc_iconfont",".nc_wrapper",'[class*="captcha"]','[id*="captcha"]',"text=滑块","text=拖动"],D=['[class*="avatar"]','[class*="user-info"]','[class*="logout"]',"text=退出登录","text=Logout","text=Sign out"],E=["#input-error",".pf-c-form__helper-text.pf-m-error",".kc-feedback-text"];async function F({page:a,phone:b,resolvePhone:c,pollSmsPromise:d,waitForSms:e,onStep:f,phoneFormatter:g=a=>a,timeouts:h={},signal:i=null,isCancelled:j=null}){let k=h.nav??3e4,l=h.action??15e3,m=h.codeWait??9e5,n=h.postSubmit??1e4,o=(a,b)=>f?.(a,b),p=()=>{if(i?.aborted||"function"==typeof j&&j()){let a=Error("Job cancelled");throw a.code="JOB_CANCELLED",a}};try{var q;let f,h;o("cn_opening_login_page","Opening CodeBuddy CN login page"),p();try{a.setDefaultNavigationTimeout(k),a.setDefaultTimeout(l)}catch{}try{await a.context().route("**/*",a=>{let b=a.request().url();return/googletagmanager|googleadservices|google-analytics|doubleclick|facebook|hotjar|clarity\.ms|hm\.baidu|google\.com\/rmkt/i.test(b)?a.abort():a.continue()})}catch{}let i=null,j=[];for(let b=1;b<=2;b++){p();try{let c=t[(b-1)%t.length];o("cn_nav_attempt",`Navigation attempt ${b}/2 → ${c}`),b>1&&(await a.context().clearCookies().catch(()=>{}),await a.waitForTimeout(800)),await a.goto(c,{waitUntil:"commit",timeout:k}),p(),await a.waitForFunction(()=>"loading"!==document.readyState,{timeout:1e4}).catch(()=>{}),p();let d=await I(a,w,{timeout:6e3});d&&(await d.click().catch(()=>{}),o("cn_consent_dismissed","Privacy consent dialog dismissed (同意)"),await a.waitForTimeout(1e3));let e=await J(a,v,25e3);if(p(),!e){let b=await a.locator("body").innerText().catch(()=>""),d=await a.evaluate(()=>document.documentElement?.outerHTML?.length||0).catch(()=>0),e=a.url();o("cn_spa_not_ready",`SPA not ready after 25s (url=${e}, body=${String(b).slice(0,80)}, html=${d})`),!b&&d<200?(o("cn_proxy_empty_page","Empty page body — proxy may be blocking codebuddy.cn"),j.push({code:"proxy_empty",detail:`empty page via ${c} (html=${d})`})):j.push({code:"spa_timeout",detail:`SPA not ready url=${e} html=${d}`});continue}o("cn_spa_ready","Login SPA ready"),o("cn_selecting_phone_tab","Selecting phone-number tab");let f=await I(a,u,{timeout:12e3});if(f?(await f.click().catch(()=>{}),o("cn_phone_tab_selected","Phone tab selected"),await a.waitForTimeout(800)):o("cn_phone_tab_not_found","Phone tab not found — checking if iframe already present"),o("cn_waiting_for_iframe","Waiting for phone iframe to load"),await a.locator(x).waitFor({state:"attached",timeout:18e3}).catch(()=>{}),i=await G(a)){if(await i.waitForSelector(y,{state:"visible",timeout:15e3}).then(()=>!0).catch(()=>!1)){o("cn_iframe_ready","Phone iframe + #phoneNumber ready");break}o("cn_iframe_empty","Iframe found but #phoneNumber not visible yet"),j.push({code:"iframe_empty",detail:"phone iframe attached but #phoneNumber not visible"}),i=null}else o("cn_iframe_missing",`No #phone-iframe (attempt ${b}/2)`),j.push({code:"iframe_missing",detail:"SPA loaded but #phone-iframe never appeared"})}catch(e){if(e?.code==="JOB_CANCELLED")throw e;let a=String(e?.message||e||"");o("cn_nav_retry",`Navigation attempt ${b}/2 failed: ${a.slice(0,120)}`);let c=/timeout|exceeded|ETIMEDOUT|net::ERR/i.test(a),d=/ERR_PROXY|ERR_TUNNEL|ERR_CONNECTION|NS_ERROR_PROXY|proxy/i.test(a);j.push({code:d?"proxy_network":c?"nav_timeout":"nav_error",detail:a.slice(0,160)})}}if(!i)return{status:"failed",error:function(a=[],b=2){let c=a.map(a=>a.code),d=a[a.length-1],e="Fix: use a live residential CN proxy (proxyPoolMode=single), concurrency 1, then retry. 5sim is not charged until the form loads.";return c.includes("proxy_empty")||c.includes("proxy_network")?`CodeBuddy CN login page empty/blocked via proxy after ${b} attempts (${d?.detail||"proxy blackhole"}). ${e}`:c.includes("nav_timeout")?`CodeBuddy CN navigation timed out after ${b} attempts (${d?.detail||"goto timeout"}). Proxy is too slow or dead. ${e}`:c.includes("spa_timeout")?`CodeBuddy CN SPA did not boot after ${b} attempts (${d?.detail||"no login UI"}). Proxy/CDN may be filtering JS. ${e}`:c.includes("iframe_missing")||c.includes("iframe_empty")?`CodeBuddy CN page opened but phone form iframe never appeared after ${b} attempts (${d?.detail||"no #phone-iframe"}). Site layout change or half-loaded SPA — retry with another CN exit IP. ${e}`:c.includes("nav_error")&&d?.detail?`CodeBuddy CN phone form failed after ${b} attempts: ${d.detail}. ${e}`:`Could not load CodeBuddy CN phone form after ${b} attempts (${d?.code||"unknown"}: ${d?.detail||"proxy/SPA"}). ${e}`}(j,2)};await i.waitForSelector("#kc-form-login",{timeout:l}).catch(()=>{}),await i.waitForSelector(y,{state:"visible",timeout:l}).catch(()=>{});let r=b;if("function"==typeof c&&(o("cn_ordering_after_form","Login form ready — ordering 5sim number now (not before nav)"),r=await c()),!r)return{status:"failed",error:"No phone number available (resolvePhone/phone missing)"};let s=g(r),{countryCode:z,localNumber:A}=(q=s,(!(h=String(q).replace(/[\s\-()]/g,"")).startsWith("+")&&/^\d+$/.test(h)&&(h="+"+h),h.startsWith("+852"))?{countryCode:"+852",localNumber:h.slice(4)}:h.startsWith("+86")?{countryCode:"+86",localNumber:h.slice(3)}:h.startsWith("+1")?{countryCode:"+1",localNumber:h.slice(2)}:{countryCode:"",localNumber:h.replace(/^\+/,"")});o("cn_selecting_country",`Selecting country code ${z} for phone ${s}`),await H(i,z,l,o),o("cn_entering_phone",`Entering phone number: ${A}`);let C=i.locator(y).first();try{await C.waitFor({state:"visible",timeout:l})}catch{return{status:"failed",error:"Could not find the phone number input (#phoneNumber) inside the iframe"}}await K(C,A),o("cn_phone_entered",`Phone number entered: ${A}`);try{let b=a.locator(".t-checkbox").last();await b.isVisible({timeout:3e3}).catch(()=>!1)&&(await b.click().catch(()=>{}),o("cn_agreement_checked","Agreement checkbox checked"))}catch{}o("cn_clicking_send_code","Clicking send SMS code button");let D=i.locator("input.btn-lg.code-btn").first(),E=!1;try{await D.waitFor({state:"visible",timeout:5e3}),E=!0}catch{let a=i.locator(".code-btn").first();try{await a.waitFor({state:"visible",timeout:5e3}),E=!0}catch{E=!1}}if(!E)return{status:"failed",error:"Could not find the send-SMS-code button (.code-btn) inside the iframe"};await D.click().catch(()=>{}),o("cn_send_code_clicked","Send code button clicked"),await i.waitForSelector(B,{state:"visible",timeout:5e3}).catch(()=>{});let F=await S(i);if(F)return{status:"failed",error:`Form error after sending code: ${F}`};o("cn_waiting_for_sms","Waiting for SMS verification code from 5sim (timer starts now)");try{let a;if("function"==typeof e)a=Promise.resolve().then(()=>e());else if(d)a=d;else throw Error("No waitForSms/pollSmsPromise provided");let b=new Promise((a,b)=>setTimeout(()=>b(Error("Timed out waiting for SMS code")),m));f=await Promise.race([a,b])}catch(a){if(a&&"FiveSimTimeoutError"===a.name)throw a;return{status:"failed",error:`Failed to receive SMS code: ${a.message}`}}if(!f)return{status:"failed",error:"Received empty SMS code from 5sim"};o("cn_sms_received",`SMS code received: ${f}`),o("cn_entering_code","Entering SMS verification code");let L=i.locator(B).first();try{await L.waitFor({state:"visible",timeout:l})}catch{return{status:"failed",error:"Could not find the verification code input (#code) inside the iframe"}}await K(L,f),o("cn_code_entered","Verification code entered");let M=Math.max(n,12e3),V=!1;for(let b=0;b<2;b++){o("cn_submitting",`Clicking submit button (attempt ${b+1}/2)`);let c=await G(a);if(!c){let b=await N(a,{timeoutMs:5e3,reportStep:o});if(b.ok)return o("cn_session_cookies",`Keycloak session after iframe detach (${b.cookie})`),{status:"success"};return{status:"failed",error:"Lost phone iframe after submit"}}if(await c.locator(y).first().isVisible({timeout:3e3}).catch(()=>!1)&&b>0){o("cn_re_entering_after_refresh",`Re-entering phone + code after refresh (retry ${b})`),await H(c,z,l,o);let d=c.locator(y).first();await K(d,A);try{let b=a.locator(".t-checkbox").first();await b.isVisible({timeout:2e3}).catch(()=>!1)&&await b.click().catch(()=>{})}catch{}let e=c.locator(B).first();await e.isVisible({timeout:3e3}).catch(()=>!1)&&await K(e,f)}if(await O(c,l),o("cn_submitted",`Registration form submitted (attempt ${b+1})`),await a.waitForLoadState("domcontentloaded",{timeout:5e3}).catch(()=>{}),await a.waitForTimeout(1e3),c=await G(a)||c,await R(c)){if(b>=1)return{status:"failed",error:"Account restricted (账号访问受限) after submit. Datacenter/VPS IP is usually blocked — use a residential CN proxy pool (proxyPoolMode=single) and retry."};o("cn_account_restricted",`Account restricted (attempt ${b+1}) — refreshing page and retrying`),await a.reload({waitUntil:"commit",timeout:k}).catch(()=>{}),await J(a,v,12e3);let c=await I(a,u,{timeout:8e3});c&&(await c.click().catch(()=>{}),await a.locator(x).waitFor({state:"attached",timeout:8e3}).catch(()=>{}));continue}if(o("cn_checking_captcha","Checking for captcha"),await T(a,c,3e3))return o("cn_captcha_detected","Captcha appeared during registration — manual assist needed"),{status:"needs_manual",error:"A captcha appeared during registration. Please complete it manually in the opened browser window.",captcha:!0};let d=await S(c);if(d)return{status:"failed",error:`Form error after submit: ${d}`};o("cn_waiting_session",`Waiting up to ${Math.round(M/1e3)}s for Keycloak session cookies`);let e=await N(a,{timeoutMs:M,reportStep:o,alsoCheckFrame:()=>G(a)});if(e.ok)return o("cn_session_cookies",`Keycloak session cookies present (${e.cookie}) — registration success`),{status:"success"};if(await P(a)&&b<1){o("cn_submit_no_effect","Login form still visible after submit — retrying");continue}o("cn_session_nudge","No session yet — navigating to home to complete OIDC handoff"),await a.goto("https://www.codebuddy.cn/",{waitUntil:"domcontentloaded",timeout:k}).catch(()=>{}),await a.waitForTimeout(2e3);let g=await N(a,{timeoutMs:1e4,reportStep:o});if(g.ok)return o("cn_session_cookies",`Keycloak session after home nudge (${g.cookie})`),{status:"success"};V=!0;break}if(!V)return o("cn_submit_retries_exhausted","Account restricted after 2 retries — needs manual"),{status:"needs_manual",error:"Account restricted after 2 refresh retries. Please try with a different VPN/proxy or complete manually."};o("cn_confirming_success","Confirming registration success");let W=await N(a,{timeoutMs:5e3});if(W.ok)return o("cn_registration_success",`Phone registration completed (Keycloak session: ${W.cookie})`),{status:"success"};if(await U(a,i,1e4))return o("cn_registration_success","Phone registration completed successfully (UI markers)"),{status:"success"};let X=await Q(a);return o("cn_success_unconfirmed",`No Keycloak session after submit — ${X.summary}`),{status:"needs_manual",error:`Login submit finished but no Keycloak session yet (${X.summary}). Complete login in the headed browser or retry with a fresh China proxy.`}}catch(a){if(a&&"FiveSimTimeoutError"===a.name)throw a;return o("cn_automation_error",`Phone registration automation error: ${a.message}`),{status:"failed",error:a.message||"Unexpected error during phone registration"}}}async function G(a){try{await a.locator(x).waitFor({state:"attached",timeout:5e3});let b=await a.locator(x).elementHandle({timeout:2e3});if(b){let a=await b.contentFrame();if(a)return a}}catch{}for(let b of a.frames()){let a=b.url();if(a.includes("codebuddy.cn/auth/realms/copilot")||a.includes("protocol/openid-connect"))return b}return null}async function H(a,b,c,d){if(!b)return;let e=Math.min(Number(c)||15e3,1e4),f=async()=>{let c=a.locator(A).first(),f=String(await c.textContent({timeout:3e3}).catch(()=>"")).trim();if(f===b)return void d?.("cn_country_already_selected",`Country code already ${b}`);d?.("cn_opening_country_dropdown",`Opening country dropdown (current: ${f}, target: ${b})`);let g=a.locator(".kc-country-selector").first();for(let c of(await g.waitFor({state:"visible",timeout:Math.min(e,5e3)}),await g.click({timeout:3e3}).catch(()=>{}),await a.locator(z).first().waitFor({state:"visible",timeout:3e3}).catch(()=>{}),({"+852":["中国香港","香港","Hong Kong","+852"],"+86":["中国大陆","中国","China","+86"],"+853":["中国澳门","澳门","Macau","+853"],"+886":["中国台湾","台湾","Taiwan","+886"]})[b]||[b]))for(let e of[a.locator(`${z}:has-text("${c}")`).first(),a.getByText(c,{exact:!1}).first()]){if(!await e.isVisible({timeout:1500}).catch(()=>!1))continue;let f=await e.textContent({timeout:1500}).catch(()=>c);await e.click({timeout:2e3}).catch(()=>{}),await a.locator(A).filter({hasText:b}).first().waitFor({state:"visible",timeout:2e3}).catch(()=>{}),d?.("cn_country_selected",`Country selected: ${String(f||c).trim()}`);return}d?.("cn_country_not_found",`Country code ${b} not found in dropdown; using default`),await a.locator("body").click({timeout:1e3}).catch(()=>{})};try{await Promise.race([f(),new Promise((a,b)=>{let c=setTimeout(()=>b(Error(`selectCountry timed out after ${e}ms`)),e);"function"==typeof c.unref&&c.unref()})])}catch(a){d?.("cn_country_select_error",`Country selection error: ${a.message}`)}}async function I(a,b,{timeout:c=1e4}={}){for(let d of b)try{let b=a.locator(d).first();return await b.waitFor({state:"visible",timeout:Math.min(c,5e3)}),b}catch{}return null}async function J(a,b,c=15e3){let d=Date.now()+c;for(;Date.now()<d;){for(let c of b)try{let b=a.locator(c).first();if(await b.isVisible().catch(()=>!1))return!0}catch{}await new Promise(a=>setTimeout(a,250))}return!1}async function K(a,b){try{return await a.click(),await a.fill(""),await a.fill(b),!0}catch{try{return await a.click(),await a.press("Control+a"),await a.type(b,{delay:50}),!0}catch{return!1}}}let L=["KEYCLOAK_IDENTITY","KEYCLOAK_SESSION","KEYCLOAK_IDENTITY_LEGACY","KEYCLOAK_SESSION_LEGACY"];function M(a=[]){for(let b of L)if(a.some(a=>a.name===b))return b;let b=a.find(a=>a.name.startsWith("KEYCLOAK_")&&!/locale|theme|restart/i.test(a.name));return b?.name||null}async function N(a,{timeoutMs:b=2e4,reportStep:c,alsoCheckFrame:d}={}){let e=Date.now()+b,f=0;for(;Date.now()<e;){let b=await a.context().cookies().catch(()=>[]),g=M(b);if(g)return{ok:!0,cookie:g,cookies:b};try{let c=a.url();if(c&&!c.includes("/login")&&!c.includes("/auth/realms")){let a=b.find(a=>/^(access_token|cb_token|codebuddy)/i.test(a.name)||"token"===a.name&&a.domain?.includes("codebuddy"));if(a)return{ok:!0,cookie:a.name,cookies:b}}}catch{}if(d){let a=await d().catch(()=>null);if(a){if(await R(a))return{ok:!1,cookies:b,reason:"restricted"};let c=await S(a);if(c)return{ok:!1,cookies:b,reason:`form_error:${c}`}}}if(c&&Date.now()-f>4e3){f=Date.now();let a=Math.max(0,Math.round((e-Date.now())/1e3));c("cn_waiting_session",`Still waiting for Keycloak session… ${a}s left`)}await a.waitForTimeout(500)}return{ok:!1,cookies:await a.context().cookies().catch(()=>[])}}async function O(a,b=15e3){let c=a.locator("#kc-login").first();try{await c.waitFor({state:"visible",timeout:b}),await c.click({timeout:5e3}).catch(()=>{})}catch{}try{await a.evaluate(()=>{let a=document.querySelector("#kc-form-login")||document.querySelector("form");if(a)if("function"==typeof a.requestSubmit){let b=a.querySelector("#kc-login")||a.querySelector('[type="submit"]');b?a.requestSubmit(b):a.requestSubmit()}else a.submit()})}catch{await a.locator(B).first().press("Enter").catch(()=>{})}}async function P(a){let b=await G(a);return!!b&&b.locator(y).first().isVisible({timeout:1500}).catch(()=>!1)}async function Q(a){let b="";try{b=a.url()}catch{b="(unknown)"}let c=(await a.context().cookies().catch(()=>[])).map(a=>a.name).slice(0,20).join(",")||"(none)",d="";try{d=await a.evaluate(()=>(document.body?.innerText||"").replace(/\s+/g," ").trim().slice(0,120))}catch{d=""}let e=await G(a),f="no-iframe";if(e)try{f=(await e.url()).slice(0,80)}catch{f="iframe-detached"}return{summary:`url=${b.slice(0,60)} cookies=[${c}] frame=${f}${d?` text="${d}"`:""}`,url:b,cookieNames:c,bodySnippet:d}}async function R(a){try{let b=await a.evaluate(()=>document.body?.innerText||"");if(b.includes("账号访问受限")||b.includes("安全策略限制")||b.includes("访问受限"))return!0}catch{}return!1}async function S(a){for(let b of E)try{let c=a.locator(b).first();if(await c.isVisible({timeout:1500}).catch(()=>!1)){let a=await c.textContent().catch(()=>""),b=String(a).trim();if(b&&b.length>1)return b}}catch{}try{let b=await a.evaluate(()=>(document.body?.innerText||"").replace(/\s+/g," ").trim());for(let a of["验证码错误","验证码已过期","验证码无效","请输入正确的验证码","手机号格式","发送过于频繁","Invalid","incorrect"])if(b.includes(a)){let c=b.indexOf(a);return b.slice(Math.max(0,c-10),c+a.length+40).trim()}}catch{}return null}async function T(a,b,c=5e3){for(let b of C)try{let d=a.locator(b).first();if(await d.isVisible({timeout:Math.min(c,2e3)}).catch(()=>!1))return!0}catch{}if(b)for(let a of C)try{let d=b.locator(a).first();if(await d.isVisible({timeout:Math.min(c,2e3)}).catch(()=>!1))return!0}catch{}return!1}async function U(a,b,c=15e3){try{let b=await a.context().cookies().catch(()=>[]);if(M(b))return!0}catch{}for(let b of D)try{let d=a.locator(b).first();if(await d.isVisible({timeout:Math.min(c,2e3)}).catch(()=>!1))return!0}catch{}try{let b=a.url(),c=await a.context().cookies().catch(()=>[]),d=new Set(c.map(a=>a.name));if(b&&!b.includes("/login")&&!b.includes("/auth/realms")&&(d.has("qcloud_uid")||d.has("qcmainCSRFToken"))&&!d.has("login_risk_state")&&!await P(a).catch(()=>!1))return!0}catch{}return!1}var V=c(40891),W=c(75949);let X=200,Y=Number.parseInt(process.env.ZEVAI_CN_ACCOUNT_TIMEOUT_MS||"",10)||72e4,Z=new Set(["hongkong","china","any"]),$="hongkong";function _(a){return String(a||"").trim()}async function aa({apiKey:a,phone:b,region:d,fiveSimOrderId:e,account:f}){let{createProviderConnection:g}=await Promise.resolve().then(c.bind(c,71998)),h={provider:"codebuddy-cn",authType:"apikey",apiKey:a,accessToken:a,name:b||`5sim-${e}`,email:b||`5sim-${e}`,providerSpecificData:{domain:"www.codebuddy.cn",phoneNumber:b,fiveSimOrderId:e,region:d,automation:"5sim-phone-bulk"},testStatus:"active"};return{connection:await g(h)}}class ab extends e.Q6{constructor({browserLauncher:a,requestDeviceCodeFn:b=V.cT,pollToken:d=V.ZV,fetchLoginAccountFn:e=V.w8,saveConnection:f=aa,fiveSimClientFactory:g=ac,phoneAutomation:h=F,phoneFormatter:j=_,pollIntervalMs:k=i.ne.pollInterval,storageName:l="codebuddy-cn-bulk-import"}={}){super({browserLauncher:a||(async a=>{let{launchBulkImportBrowser:b}=await Promise.resolve().then(c.bind(c,75949)),d=Array.isArray(a?.proxyUrls)&&a.proxyUrls.length?a.proxyUrls[0]:null,e=process.env.ZEVAI_CN_HEADLESS,f="linux"===process.platform;return("0"===e||"false"===e)&&(f=!1),("1"===e||"true"===e)&&(f=!0),b({engine:a?.engine||"camoufox",proxyUrl:d,headless:f,windowSize:{width:900,height:700}})}),storageName:l}),this.requestDeviceCode=b,this.pollToken=d,this.fetchLoginAccount=e,this.saveConnection=f,this.fiveSimClientFactory=g,this.phoneAutomation=h,this.phoneFormatter=j,this.pollIntervalMs=k}async startJob({count:a,concurrency:b,engine:g,proxyPoolMode:i,proxyPoolId:j,manualProxyUrl:k,region:l}){let m=Number.parseInt(a,10);if(!Number.isFinite(m)||m<1)throw Object.assign(Error("At least one account is required (count >= 1)"),{error:"At least one account is required (count >= 1)"});if(m>X)throw Object.assign(Error(`Count exceeds maximum of ${X}`),{error:`Count exceeds maximum of ${X}`});let n=[...this.jobs.values()].find(a=>a&&("running"===a.status||"queued"===a.status||"needs_manual"===a.status)&&!a.cancelRequested);if(n)throw Object.assign(Error(`Another CodeBuddy CN job is still active (${n.jobId}). Cancel it or wait before starting again.`),{error:`Another CodeBuddy CN job is still active (${n.jobId}). Cancel it or wait before starting again.`});let o=Z.has(l)?l:$,p=[],q="string"==typeof k?k.trim():"";if(q){if(!/^(https?|socks4|socks5):\/\/.+/i.test(q))throw Object.assign(Error("manualProxyUrl must be a valid proxy URL (http://, https://, socks4://, or socks5://)"),{error:"manualProxyUrl must be a valid proxy URL (http://, https://, socks4://, or socks5://)"});p=[q]}else if("all"===i)p=(await (0,f.ui)({isActive:!0})).map(a=>a.proxyUrl).filter(Boolean);else if("single"===i&&j){let a=await (0,f.hr)(j);a?.isActive&&a?.proxyUrl&&(p=[a.proxyUrl])}let r=(0,d.randomUUID)(),s=(0,e.kF)(),{normalizeBulkImportEngine:t}=await Promise.resolve().then(c.bind(c,75949)),u=g?t(g):"camoufox",v={jobId:r,status:"running",concurrency:function(a){let b=function(){try{let{totalMemGb:a}=(0,h.si)();return Number.isFinite(a)&&a>0&&a<3}catch{return!1}}()?1:8;if((0,h.uT)(a))return Math.min(b,Math.max(1,(0,h.q)()));let c=Number.parseInt(a,10);return Number.isFinite(c)?Math.min(b,Math.max(1,c)):Math.min(b,1)}(b),engine:u,proxyPoolMode:q?"manual":i||"none",proxyUrls:p,region:o,createdAt:s,startedAt:s,finishedAt:null,error:null,cancelRequested:!1,browser:null,nextIndex:0,manualFollowups:new Set,persistPromise:Promise.resolve(),lastPreview:null,lastPreviewCapturedAt:0,accounts:Array.from({length:m},(a,b)=>({line:b+1,region:o,phone:null,fiveSimOrderId:null,fiveSimActivationId:null,proxyUrl:null,abortController:new AbortController,status:"queued",error:null,connectionId:null,workerId:null,manualSession:null,runtimeSession:null,currentStep:"queued",updatedAt:s,logs:[(0,e.hn)("queued","Queued and waiting for an available worker")]}))};return this.jobs.set(r,v),this.latestJobId=r,await this.persistJobSnapshot(v,{forcePreview:!1}),this.runJob(r),ad(v)}getJob(a){let b=this.jobs.get(a);return b?ad(b):null}async getJobWithPreview(a){let b=this.jobs.get(a);return b?(await this.persistJobSnapshot(b,{forcePreview:!1}),ad(b,{preview:b.lastPreview||null})):null}async processAccount(a,b,c){if(a.cancelRequested||!a.browser)return void this.finalizeAccount(b,"cancelled",{error:"Job cancelled"});let d=null,f=null,h=!1,i=null;try{let c;this.setAccountStep(b,"reading_settings","Reading 5sim API key from settings"),await this.persistJobSnapshot(a,{forcePreview:!0});let j=(await (0,g.mt)()).fiveSimApiKey;if(!j||!j.trim()){this.finalizeAccount(b,"failed",{error:"5sim API key not configured. Set it in the automation modal or dashboard settings.",step:"failed",message:"5sim API key not configured"}),await this.persistJobSnapshot(a,{forcePreview:!0});return}d=this.fiveSimClientFactory({apiKey:j,proxyOptions:null}),this.setAccountStep(b,"creating_browser","Creating browser context (before 5sim order)"),await this.persistJobSnapshot(a,{forcePreview:!0});let k=await (0,e.go)(a.browser,b.proxyUrl);i=k.context;let l=k.page;if(b.runtimeSession={context:i,page:l},a.cancelRequested)throw Error("Job cancelled before ordering phone number");this.setAccountStep(b,"registering","Running phone registration on CodeBuddy CN"),await this.persistJobSnapshot(a,{forcePreview:!0});try{l.setDefaultTimeout(2e4),l.setDefaultNavigationTimeout(45e3)}catch{}let m=null,n=new Promise((a,b)=>{m=setTimeout(()=>{b(Object.assign(Error(`CodeBuddy CN account hard timeout after ${Math.round(Y/1e3)}s (browser will be force-closed)`),{code:"CN_ACCOUNT_HARD_TIMEOUT"}))},Y),"function"==typeof m.unref&&m.unref()});try{c=await Promise.race([this.phoneAutomation({page:l,signal:b.abortController?.signal,isCancelled:()=>!0===a.cancelRequested,resolvePhone:async()=>{if(a.cancelRequested)throw Error("Job cancelled before ordering phone number");this.setAccountStep(b,"ordering_number",`Form ready — ordering ${a.region} phone from 5sim (single buy)`),await this.persistJobSnapshot(a,{forcePreview:!0});let c=await d.buyNumber({country:a.region,product:"codebuddy",allowProductFallback:!1});return f=c.id,b.phone=c.phone,b.fiveSimOrderId=c.id,b.fiveSimActivationId=c.id,this.setAccountStep(b,"number_ordered",`Phone number ordered: ${c.phone} (1 buy, no re-order)`),await this.persistJobSnapshot(a,{forcePreview:!0}),c.phone},waitForSms:async()=>{if(!f)throw Error("Cannot poll SMS — no 5sim order id");this.setAccountStep(b,"sms_poll_started","SMS poll started (full 90s window after send-code)"),await this.persistJobSnapshot(a,{forcePreview:!1});let c=await d.pollCode(f,{timeoutMs:9e4,signal:b.abortController?.signal});return h=!0,c},onStep:(c,d)=>{this.setAccountStep(b,c,d),this.persistJobSnapshot(a,{forcePreview:!1})},phoneFormatter:this.phoneFormatter}),n])}finally{m&&clearTimeout(m)}if("failed"===c.status){let e=c.error||"Phone registration failed before submit";this.finalizeAccount(b,"failed",{error:e,step:"failed",message:e}),d&&f&&(h?await d.finishOrder(f):await d.cancelOrder(f)),b.runtimeSession=null,await i.close().catch(()=>null),await this.persistJobSnapshot(a,{forcePreview:!0});return}await this.captureApiKey(a,b,i,l,d,f);return}catch(g){let c=g instanceof n,e=c?"SMS OTP not received within 90s — number banned":g.message||"Unexpected CodeBuddy CN bulk import failure";if(this.finalizeAccount(b,"failed",{error:e,step:c?"sms_timeout":"failed",message:e}),d&&f&&(h?await d.finishOrder(f):c?await d.banOrder(f):await d.cancelOrder(f)),b.runtimeSession=null,i&&await i.close().catch(()=>null),(g?.code==="CN_ACCOUNT_HARD_TIMEOUT"||a.cancelRequested)&&a.browser){let b=a.browser;a.browser=null,await (0,W.forceCloseBrowser)(b).catch(()=>null)}await this.persistJobSnapshot(a,{forcePreview:!0})}}async captureApiKey(a,b,c,d,e,f){let g="personal-edition-user-id",h=async(a,{timeout:b=12e3,interval:c=150}={})=>{let d=Date.now()+b;for(;Date.now()<d;){try{if(await a())return!0}catch{}await new Promise(a=>setTimeout(a,c))}return!1};try{this.setAccountStep(b,"waiting_session","Establishing CodeBuddy console session (probe APIs, not just cookies)"),await this.persistJobSnapshot(a,{forcePreview:!0});let i=async()=>{let a=await c.cookies().catch(()=>[]);return{cookies:a,names:new Set(a.map(a=>a.name)),list:a.map(a=>a.name)}},j=a=>a.has("KEYCLOAK_IDENTITY")||a.has("KEYCLOAK_SESSION")||a.has("KEYCLOAK_IDENTITY_LEGACY")||a.has("KEYCLOAK_SESSION_LEGACY"),k=a=>a.has("AUTH_SESSION_ID")||a.has("session")||a.has("qcloud_uid")||a.has("qcmainCSRFToken")||a.has("x_host_key_access"),l=async()=>d.evaluate(async()=>{try{let a=(window.location.hostname||"www.codebuddy.cn").endsWith("codebuddy.cn")?`${window.location.origin}`:"https://www.codebuddy.cn",b=await fetch(`${a}/console/accounts`,{credentials:"include",headers:{Accept:"application/json, text/plain, */*","x-requested-with":"XMLHttpRequest","X-Domain":"www.codebuddy.cn","X-Product":"SaaS"}}),c=await b.text().catch(()=>""),d=null;try{d=c?JSON.parse(c):null}catch{d={_raw:String(c||"").slice(0,240),_notJson:!0}}return{status:b.status,data:d,text:String(c||"").slice(0,240)}}catch(a){return{status:0,error:a?.message||String(a)}}}).catch(()=>null),m=a=>{let b=a?.data;if(!b||"object"!=typeof b)return[];for(let a of[b?.data?.accounts,b?.accounts,b?.data?.list,b?.list,b?.data?.result,b?.result,b?.data?.items,b?.items,Array.isArray(b?.data)?b.data:null,Array.isArray(b)?b:null])if(Array.isArray(a)&&a.length>0)return a;return[]},n=async()=>{await Promise.race([d.waitForResponse(a=>/\/console\/accounts/i.test(a.url())&&500>a.status(),{timeout:1e4}).catch(()=>null),d.waitForResponse(a=>/\/console\/api\//i.test(a.url())&&500>a.status(),{timeout:1e4}).catch(()=>null),h(async()=>{let a=await i();return j(a.names)},{timeout:1e4,interval:200}),new Promise(a=>setTimeout(a,2500))])},o=["https://www.codebuddy.cn/","https://www.codebuddy.cn/console","https://www.codebuddy.cn/console/","https://www.codebuddy.cn/profile","https://www.codebuddy.cn/profile/keys","https://www.codebuddy.cn/login/"],p=[],q=null,r=!1,s="";for(let c=0;c<10;c+=1){if(a.cancelRequested)throw Error("Job cancelled while establishing session");let e=await i(),f=j(e.names),g=k(e.names),h=o[Math.min(c,o.length-1)];if(c<3||c%2==0||!g?(this.setAccountStep(b,"waiting_session",`OIDC handoff ${c+1}/10 → ${h.replace("https://www.codebuddy.cn","")} (${f?"KEYCLOAK":g?"soft-session":"weak"})`),await this.persistJobSnapshot(a,{forcePreview:!1}),await d.goto(h,{waitUntil:"domcontentloaded",timeout:25e3}).catch(()=>null),await n()):await new Promise(a=>setTimeout(a,300)),/codebuddy\.cn/i.test(d.url?.()||"")&&(String(d.url()||"").includes("/console")||!(c>=1))||(await d.goto("https://www.codebuddy.cn/console",{waitUntil:"domcontentloaded",timeout:25e3}).catch(()=>null),await n()),q=await l(),p=m(q),s=JSON.stringify(q?.data??q?.text??null).slice(0,180),q?.status===200&&Array.isArray(p)&&p.length>0){r=!0,this.setAccountStep(b,"session_ready",`Console session accepted (HTTP 200, ${p.length} account(s)${f?", KEYCLOAK ok":", soft session"})`),await this.persistJobSnapshot(a,{forcePreview:!0});break}if(g&&q?.status===200&&Array.isArray(p)&&0===p.length&&c>=4){this.setAccountStep(b,"session_soft","Console HTTP 200 but 0 accounts — trying personal API key with soft session (cookies ok)"),await this.persistJobSnapshot(a,{forcePreview:!0}),r=!0;break}this.setAccountStep(b,"resolving_enterprise",`Console not ready (HTTP ${q?.status||0}, accounts=${p.length}) — ${c+1}/10 body=${s.slice(0,80)}`),await this.persistJobSnapshot(a,{forcePreview:!1})}if(!r){let a=await i();throw Error(`Console accounts unavailable after login (HTTP ${q?.status||0}; cookies: ${a.list.slice(0,18).join(",")||"(none)"}; body=${s.slice(0,120)}) — session not accepted for API key`)}let t=g;if(Array.isArray(p)&&p.length>0){let a=p.find(a=>a?.lastLogin)||p[0];a?.type&&"personal"!==a.type&&a.enterpriseId?t=a.enterpriseId:a?.enterpriseId&&a?.type!=="personal"&&(t=a.enterpriseId)}this.setAccountStep(b,"creating_api_key",`Creating API key (enterprise=${t}, accounts=${p.length})`),await this.persistJobSnapshot(a,{forcePreview:!0});let u=async a=>d.evaluate(async({enterpriseId:a})=>{let b=(window.location.hostname||"www.codebuddy.cn").endsWith("codebuddy.cn")?window.location.origin:"https://www.codebuddy.cn",c=await fetch(`${b}/console/api/client/v1/api-keys`,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json",Accept:"application/json, text/plain, */*","x-requested-with":"XMLHttpRequest","X-Domain":"www.codebuddy.cn","X-Product":"SaaS"},body:JSON.stringify({name:`zevai-router-${Date.now()}`,expire_in_days:365,user_enterprise_id:a})}),d=await c.text().catch(()=>""),e=null;try{e=d?JSON.parse(d):null}catch{e={_raw:String(d||"").slice(0,200)}}return{ok:c.ok,status:c.status,data:e}},{enterpriseId:a});await d.goto("https://www.codebuddy.cn/profile/keys",{waitUntil:"domcontentloaded",timeout:45e3}).catch(()=>null),await n();let v=await u(t).catch(()=>null);v&&v.ok||t===g||(this.setAccountStep(b,"retrying_api_key","Retrying with personal-edition enterprise id"),await this.persistJobSnapshot(a,{forcePreview:!1}),v=await u(g).catch(()=>null)),v&&v.ok||(this.setAccountStep(b,"retrying_api_key","Retrying API key from /console"),await this.persistJobSnapshot(a,{forcePreview:!0}),await d.goto("https://www.codebuddy.cn/console",{waitUntil:"domcontentloaded",timeout:45e3}).catch(()=>null),await n(),await d.goto("https://www.codebuddy.cn/profile/keys",{waitUntil:"domcontentloaded",timeout:45e3}).catch(()=>null),await n(),v=await u(g).catch(()=>null));let w=a=>!a?.ok&&(a?.status===401||a?.status===403||a?.status===0||!a);for(let c=1;c<=3&&w(v);c+=1){for(let e of(this.setAccountStep(b,"retrying_api_key",`API key 401/403 — OIDC re-handoff round ${c}/3 (waiting strong session)`),await this.persistJobSnapshot(a,{forcePreview:!0}),["https://www.codebuddy.cn/","https://www.codebuddy.cn/console","https://www.codebuddy.cn/profile/keys"]))await d.goto(e,{waitUntil:"domcontentloaded",timeout:45e3}).catch(()=>null),await n();await h(async()=>{let a=await i();return j(a.names)},{timeout:8e3*c,interval:300}).catch(()=>null),v=await u(g).catch(()=>null)}let x=v?.data?.code;if(!v||!v.ok||!v.data||0!==x&&200!==x&&void 0!==x){let a="string"==typeof v?.data?._raw?v.data._raw.replace(/\s+/g," ").slice(0,120):null,b=a&&/openresty|nginx|Authorization Required/i.test(a)?" [edge proxy blocked — session half-baked]":"";throw Error(`API key creation failed (HTTP ${v?.status??"no-response"}, code=${x??"n/a"})${b}: ${JSON.stringify(v?.data??null).slice(0,200)}`)}let y=v.data?.data||v.data,z=y?.apiKey||y?.key||y?.token||y?.secret||y?.api_key||("string"==typeof y?y:null)||v.data.apiKey||v.data.key||v.data.token||v.data.secret;if(!z||"string"!=typeof z)throw Error(`API key response did not contain a key field: ${JSON.stringify(v.data).slice(0,300)}`);this.setAccountStep(b,"api_key_created","API key created successfully"),await this.persistJobSnapshot(a,{forcePreview:!0}),this.setAccountStep(b,"saving_connection","Saving CodeBuddy CN connection"),await this.persistJobSnapshot(a,{forcePreview:!0});let{connection:A}=await this.saveConnection({apiKey:z,phone:b.phone,region:b.region,fiveSimOrderId:f,account:b});await e.finishOrder(f),this.finalizeAccount(b,"success",{connectionId:A.id,step:"connection_saved",message:`CodeBuddy CN connection saved (phone: ${b.phone})`}),b.runtimeSession=null,await c.close().catch(()=>null),await this.persistJobSnapshot(a,{forcePreview:!0})}catch(g){this.finalizeAccount(b,"needs_manual",{error:`Registration succeeded but API key capture failed: ${g.message}`,step:"awaiting_manual",message:`Registration done, API key capture failed: ${g.message}`}),await e.finishOrder(f).catch(()=>null),await this.persistJobSnapshot(a,{forcePreview:!0}),await this.runCnManualFollowup(a,b,b.workerId,c,d,e,f)}}async runCnManualFollowup(a,b,c,d,e,f,g){let h=(async()=>{let c=async()=>{let a=b.manualSession,c=a?.context||d,e=a?.headedBrowser||null;c&&await c.close().catch(()=>null),e&&await e.close().catch(()=>null)};try{this.setAccountStep(b,"manual_waiting","Waiting for operator to complete in headed browser"),await this.persistJobSnapshot(a,{forcePreview:!0});let c=Date.now()+9e5,d=null;for(;Date.now()<c&&!a.cancelRequested;){await new Promise(a=>setTimeout(a,1e4));try{if(!e.url().includes("codebuddy.cn"))continue;let a=await e.evaluate(async()=>{let a=await fetch("/console/api/client/v1/api-keys",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json, text/plain, */*","x-requested-with":"XMLHttpRequest","X-Domain":window.location.hostname||"www.codebuddy.cn","X-Product":"SaaS"},credentials:"include",body:JSON.stringify({name:"zevai-router-manual-"+Date.now(),expire_in_days:365,user_enterprise_id:"personal-edition-user-id"})}),b=await a.json().catch(()=>null);return{ok:a.ok,status:a.status,data:b}});if(a?.ok&&a.data){let b=a.data?.data||a.data;if((d=b?.apiKey||b?.key||b?.token||b?.secret||b?.api_key||("string"==typeof b?b:null))&&"string"==typeof d)break}}catch{}}if(a.cancelRequested){this.finalizeAccount(b,"cancelled",{error:"Job cancelled",step:"cancelled",message:"Job cancelled while waiting for manual completion"}),await this.persistJobSnapshot(a,{forcePreview:!0});return}if(!d)throw Error("Manual assist timed out — could not capture API key");this.setAccountStep(b,"saving_connection","Saving CodeBuddy CN connection (manual)"),await this.persistJobSnapshot(a,{forcePreview:!0});let{connection:f}=await this.saveConnection({apiKey:d,phone:b.phone,region:b.region,fiveSimOrderId:g,account:b});this.finalizeAccount(b,"success",{connectionId:f.id,step:"connection_saved",message:`CodeBuddy CN connection saved via manual assist (phone: ${b.phone||"N/A"})`}),await this.persistJobSnapshot(a,{forcePreview:!0})}catch(c){a.cancelRequested?this.finalizeAccount(b,"cancelled",{error:"Job cancelled",step:"cancelled",message:"Job cancelled while waiting for manual completion"}):this.finalizeAccount(b,"failed",{error:c.message||"Manual assist flow failed",step:"failed",message:c.message||"Manual assist flow failed"}),await this.persistJobSnapshot(a,{forcePreview:!0})}finally{await c(),b.manualSession=null,b.runtimeSession=null,a.manualFollowups.delete(h),await this.persistJobSnapshot(a,{forcePreview:!0})}})();a.manualFollowups.add(h)}cancelJob(a){let b=this.jobs.get(a);if(!b)return null;for(let a of(b.cancelRequested=!0,b.accounts)){a.abortController&&!a.abortController.signal.aborted&&a.abortController.abort();let b=a.runtimeSession?.context;b&&b.close().catch(()=>null),a.runtimeSession=null,a.manualSession=null}if(b.browser){let a=b.browser;b.browser=null,(0,W.forceCloseBrowser)(a).catch(()=>null)}return"queued"===b.status&&(b.status="cancelled",b.finishedAt=(0,e.kF)(),b.accounts.forEach(a=>{"queued"===a.status&&(a.status="cancelled")})),this.persistJobSnapshot(b,{forcePreview:!0}),ad(b)}}function ac({apiKey:a,proxyOptions:b}){return new q({apiKey:a,proxyOptions:b})}function ad(a,b={}){return a?{jobId:a.jobId,status:a.status,summary:function(a=[]){let b={total:a.length,queued:0,running:0,completed:0,success:0,failed:0,needs_manual:0,cancelled:0};for(let c of a){let a=c.status||"queued";"success"===a?(b.success+=1,b.completed+=1):"failed"===a||"failed_exchange"===a?(b.failed+=1,b.completed+=1):"needs_manual"===a?b.needs_manual+=1:"cancelled"===a?(b.cancelled+=1,b.completed+=1):"running"===a?b.running+=1:b.queued+=1}return b}(a.accounts),concurrency:a.concurrency,engine:a.engine,proxyPoolMode:a.proxyPoolMode,region:a.region,createdAt:a.createdAt,startedAt:a.startedAt,finishedAt:a.finishedAt,error:a.error,cancelRequested:a.cancelRequested,accounts:(a.accounts||[]).map(a=>({line:a.line,region:a.region,phone:a.phone,fiveSimOrderId:a.fiveSimOrderId,proxyUrl:a.proxyUrl?function(a){if(!a)return null;try{let b=new URL(a);return b.password&&(b.password="***"),b.toString()}catch{return a}}(a.proxyUrl):null,status:a.status,error:a.error,connectionId:a.connectionId,workerId:a.workerId,manualSessionAvailable:!!a.manualSession,currentStep:a.currentStep,updatedAt:a.updatedAt,logs:a.logs||[]})),preview:void 0!==b.preview?b.preview:a.lastPreview||null,...b}:null}function ae(){return(!globalThis.__codeBuddyCnBulkImportSingleton&&(globalThis.__codeBuddyCnBulkImportSingleton={manager:new ab}),globalThis.__codeBuddyCnBulkImportSingleton).manager}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=8450,exports.ids=[8450],exports.modules={28948:(a,b,c)=>{c.d(b,{P:()=>e});var d=c(15626);async function e(a){let b=!!a?.apiKey,c=b?a.apiKey:a?.accessToken;if(!c)return null;let e=new AbortController,f=setTimeout(()=>e.abort(),5e3);try{let a=b?{Accept:"application/json",Authorization:`Bearer ${c}`}:(0,d.buildClineHeaders)(c,{Accept:"application/json"}),f=await fetch("https://api.cline.bot/api/v1/models",{method:"GET",headers:a,signal:e.signal});if(!f.ok)return null;let g=await f.json(),h=Array.isArray(g)?g:g?.data;if(!Array.isArray(h))return null;let i=h.filter(a=>"string"==typeof a?.id&&a.id.startsWith("cline-pass/")).map(a=>({id:a.id,name:a.name||a.id}));return i.length?{models:i}:null}catch{return null}finally{clearTimeout(f)}}},29679:(a,b,c)=>{c.d(b,{cW:()=>k});var d=c(47293),e=c(55511),f=c(8590),g=c(6382);let h="us-east-1",i=new Map;async function j(a,b){let c,f=a?.providerSpecificData?.profileArn||"",i=function(a){if(!a||"string"!=typeof a)return h;let b=a.split(":");return b.length>=4&&b[3]?b[3]:h}(f),j=new URLSearchParams;j.set("origin","AI_EDITOR"),f&&j.set("profileArn",f);let k=`https://q.${i}.amazonaws.com/ListAvailableModels?${j.toString()}`,l={...function(a){let b=a?.providerSpecificData?.clientId||a?.refreshToken||a?.providerSpecificData?.profileArn||a?.accessToken||"kiro-anonymous",c=(0,e.createHash)("sha256").update(String(b)).digest("hex"),{userAgent:f,amzUserAgent:h}=(0,g.VE)(c);return{"User-Agent":f,"x-amz-user-agent":h,"x-amzn-kiro-agent-mode":"vibe","x-amzn-codewhisperer-optout":"true","amz-sdk-request":"attempt=1; max=1","amz-sdk-invocation-id":(0,d.A)(),Accept:"application/json"}}(a),Authorization:`Bearer ${a?.accessToken||""}`},m=new AbortController,n=setTimeout(()=>m.abort("timeout"),3e4);b&&"function"==typeof b.addEventListener&&b.addEventListener("abort",()=>m.abort(b.reason));try{c=await fetch(k,{method:"GET",headers:l,signal:m.signal})}finally{clearTimeout(n)}if(!c.ok){let a=await c.text().catch(()=>""),b=Error(`Kiro ListAvailableModels ${c.status}: ${a||c.statusText}`);throw b.status=c.status,b.body=a,b}let o=await c.json();return Array.isArray(o?.models)?o.models:[]}async function k(a,b={}){let c,d,g;if(!a||!a.accessToken)return b.log?.debug?.("KIRO_MODELS","No accessToken; skipping live fetch"),null;let h=(g=(d=a?.providerSpecificData||{}).profileArn||d.clientId||a?.refreshToken||a?.accessToken||"anonymous",(0,e.createHash)("sha256").update(`kiro:${g}`).digest("hex")),l=Date.now();if(!b.forceRefresh){let a=i.get(h);if(a&&a.expiresAt>l)return{models:a.models,rawModels:a.rawModels}}try{c=await j(a,b.signal)}catch(d){if(!d||401!==d.status||!a.refreshToken)return b.log?.warn?.("KIRO_MODELS",`ListAvailableModels failed: ${d?.message||d}`),null;{b.log?.info?.("KIRO_MODELS","Got 401 from Kiro; refreshing token");let d=await (0,f.Ql)(a.refreshToken,a.providerSpecificData,b.log);if(!d?.accessToken)return b.log?.warn?.("KIRO_MODELS","Token refresh did not return accessToken"),null;{let e={...a,...d};if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed(d)}catch(a){b.log?.warn?.("KIRO_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await j(e,b.signal),a.accessToken=e.accessToken,e.refreshToken&&(a.refreshToken=e.refreshToken)}catch(a){return b.log?.warn?.("KIRO_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}}let m=[];for(let a of c){if(!a||"object"!=typeof a)continue;let b=a.modelId||a.id;if(!b)continue;let c=function(a,b,c){let d=(a||b||"Kiro").trim(),e=Number(c);if(!Number.isFinite(e)||1e-9>Math.abs(e-1)||e<=0)return`Kiro ${d}`;let f=e.toFixed(1).replace(",",".");return`Kiro ${d} (${f}x credit)`}(a.modelName,b,a.rateMultiplier),d=Number(a?.tokenLimits?.maxInputTokens)||2e5;for(let e of function(a,b){let c,d=((c=a).endsWith("-agentic")&&(c=c.slice(0,-8)),c.endsWith("-thinking")&&(c=c.slice(0,-9)),c),e=b||`Kiro ${d}`,f=[{id:d,name:e,capabilities:{thinking:!1,agentic:!1}},{id:`${d}-thinking`,name:`${e} (Thinking)`,capabilities:{thinking:!0,agentic:!1}}];return"auto"!==d&&(f.push({id:`${d}-agentic`,name:`${e} (Agentic)`,capabilities:{thinking:!1,agentic:!0}}),f.push({id:`${d}-thinking-agentic`,name:`${e} (Thinking + Agentic)`,capabilities:{thinking:!0,agentic:!0}})),f}(b,c))m.push({...e,contextLength:d,rateMultiplier:Number.isFinite(Number(a.rateMultiplier))?Number(a.rateMultiplier):1,upstreamModelId:b,description:a.description||""})}return i.set(h,{expiresAt:l+3e5,models:m,rawModels:c}),{models:m,rawModels:c}}},47293:(a,b,c)=>{c.d(b,{A:()=>f});let d=new Uint8Array(16);var e=c(50122);let f=function(a,b,c){return b||a||!crypto.randomUUID?function(a,b,c){let f=(a=a||{}).random??a.rng?.()??crypto.getRandomValues(d);if(f.length<16)throw Error("Random bytes length must be >= 16");if(f[6]=15&f[6]|64,f[8]=63&f[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=f[a];return b}return(0,e.k)(f)}(a,b,c):crypto.randomUUID()}},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},84534:(a,b,c)=>{c.d(b,{v:()=>i});var d=c(39609),e=c(75924),f=c(8590);let g=new Map;async function h(a,b){let c=new AbortController,f=setTimeout(()=>c.abort(),1e4);try{let f=await (0,d.proxyAwareFetch)("https://api.githubcopilot.com/models",{method:"GET",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json","Copilot-Integration-Id":"vscode-chat","editor-version":`vscode/${e.x0.VSCODE_VERSION}`,"editor-plugin-version":`copilot-chat/${e.x0.COPILOT_CHAT_VERSION}`,"user-agent":e.x0.USER_AGENT,"x-github-api-version":e.x0.API_VERSION},cache:"no-store",signal:b||c.signal});if(!f.ok){let a=Error(`Copilot /models returned ${f.status}`);throw a.status=f.status,a}let g=await f.json();return Array.isArray(g?.data)?g.data:[]}finally{clearTimeout(f)}}async function i(a,b={}){let c,d=a?.providerSpecificData?.copilotToken||a?.accessToken;if(!d)return b.log?.debug?.("COPILOT_MODELS","No copilotToken/accessToken; skipping live fetch"),null;let e=a?.providerSpecificData?.copilotToken||a?.accessToken||"copilot-anonymous",j=Date.now();if(!b.forceRefresh){let a=g.get(e);if(a&&a.expiresAt>j)return{models:a.models}}try{c=await h(d,b.signal)}catch(d){if(!d||401!==d.status&&403!==d.status||!a.accessToken)return b.log?.warn?.("COPILOT_MODELS",`Live model fetch failed: ${d?.message||d}`),null;{b.log?.info?.("COPILOT_MODELS",`Got ${d.status}; refreshing Copilot token`);let e=await (0,f.jR)(a.accessToken);if(!e?.token)return b.log?.warn?.("COPILOT_MODELS","Token refresh did not return a token"),null;if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed({copilotToken:e.token,copilotTokenExpiresAt:e.expiresAt})}catch(a){b.log?.warn?.("COPILOT_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await h(e.token,b.signal)}catch(a){return b.log?.warn?.("COPILOT_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}let k=function(a){let b=new Set,c=[];for(let d of a){if(!d||"object"!=typeof d||d.capabilities?.type!=="chat"||d.policy&&"enabled"!==d.policy.state)continue;let a=d.id;!a||b.has(a)||(b.add(a),c.push({id:a,name:d.name||a}))}return c}(c);return k.length?(g.set(e,{expiresAt:j+3e5,models:k}),{models:k}):null}},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,KK:()=>d.KK,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,NR:()=>d.NR,OM:()=>d.OM,PX:()=>d.PX,Pb:()=>d.Pb,Pc:()=>d.Pc,QI:()=>d.QI,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,dK:()=>d.dK,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,getQuotaSnapshot:()=>d.LF,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,p3:()=>d.p3,qd:()=>d.qd,r4:()=>d.r4,tV:()=>d.tV,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yW:()=>d.yW,yg:()=>d.yg,zP:()=>d.zP,zY:()=>d.zY});var d=c(80601)}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=8520,exports.ids=[8520],exports.modules={88520:(a,b,c)=>{c.d(b,{createNodeSqliteAdapter:()=>e});var d=c(63775);async function e(a){let b=process.emit;process.emit=function(a,c,...d){return!("warning"===a&&c?.name==="ExperimentalWarning"&&/SQLite/i.test(c.message||""))&&b.call(process,a,c,...d)};let e=new(await Promise.resolve().then(c.t.bind(c,79868,23))).DatabaseSync(a);e.exec(d.oG);let f=new Map;function g(a){let b=f.get(a);return b||(b=e.prepare(a),f.set(a,b)),b}let h=setInterval(()=>{try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},6e4);function i(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}try{f.clear()}catch{}try{e.close()}catch{}}"function"==typeof h.unref&&h.unref();let j=()=>i();return process.once("beforeExit",j),process.once("SIGINT",()=>{j(),process.exit(0)}),process.once("SIGTERM",()=>{j(),process.exit(0)}),{driver:"node:sqlite",run(a,b=[]){let c=g(a).run(...b);return{changes:Number(c.changes??0),lastInsertRowid:Number(c.lastInsertRowid??0)}},get:(a,b=[])=>g(a).get(...b),all:(a,b=[])=>g(a).all(...b),exec:a=>e.exec(a),transaction(a){let b=`sp_${Math.random().toString(36).slice(2)}`;e.exec(`SAVEPOINT ${b}`);try{let c=a();return e.exec(`RELEASE ${b}`),c}catch(a){try{e.exec(`ROLLBACK TO ${b}`),e.exec(`RELEASE ${b}`)}catch{}throw a}},checkpoint(){e.exec("PRAGMA wal_checkpoint(TRUNCATE)")},close(){clearInterval(h),i()},raw:e}}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=8590,exports.ids=[8590],exports.modules={8590:(a,b,c)=>{c.d(b,{$B:()=>x,I9:()=>p,Og:()=>m,Ql:()=>t,Sc:()=>y,jR:()=>w,jT:()=>l,oD:()=>i,pb:()=>A,qZ:()=>B});var d=c(35024),e=c(75924),f=c(39609);let g=null;async function h(a,b){return a?k("xai",a,async()=>{try{g||(g=new(await Promise.all([c.e(3104),c.e(5852)]).then(c.bind(c,33471))).XaiService);let b=await g.refreshAccessToken(a);return{accessToken:b.access_token,refreshToken:b.refresh_token||a,expiresIn:b.expires_in,idToken:b.id_token}}catch(c){b?.warn?.("TOKEN_REFRESH",`xai refresh failed: ${c?.message||c}`);let a=String(c?.message||"");if(a.includes("invalid_grant")||a.includes("invalid_request"))return{error:"invalid_grant"};return null}},b):null}let i=3e5,j=new Map;async function k(a,b,c,d){if(!b)return c();let e=`${a}:${b}`,f=j.get(e);if(f){if(f.promise)return d?.info?.("TOKEN_REFRESH",`Reusing in-flight refresh for ${a}`),f.promise;if(f.expiresAt>Date.now())return d?.info?.("TOKEN_REFRESH",`Reusing recent refresh result for ${a}`),f.result;j.delete(e)}let g=(async()=>{try{let a=await c();return j.set(e,{result:a,expiresAt:Date.now()+1e4}),a}catch(a){throw j.delete(e),a}})();return j.set(e,{promise:g}),g}function l(a){return a&&"object"==typeof a&&("unrecoverable_refresh_error"===a.error||"refresh_token_reused"===a.error||"invalid_request"===a.error||"invalid_grant"===a.error)}function m(a){return e.Wu[a]||i}async function n(a,b,c,e){let f=d.xq[a];return f&&f.refreshUrl?b?k(a,b,async()=>{try{let c=await fetch(f.refreshUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:b,client_id:f.clientId,client_secret:f.clientSecret})});if(!c.ok){let b=await c.text();return e?.error?.("TOKEN_REFRESH",`Failed to refresh token for ${a}`,{status:c.status,error:b}),null}let d=await c.json();return e?.info?.("TOKEN_REFRESH",`Successfully refreshed token for ${a}`,{hasNewAccessToken:!!d.access_token,hasNewRefreshToken:!!d.refresh_token,expiresIn:d.expires_in}),{accessToken:d.access_token,refreshToken:d.refresh_token||b,expiresIn:d.expires_in}}catch(b){return e?.error?.("TOKEN_REFRESH",`Error refreshing token for ${a}`,{error:b.message}),null}},e):(e?.warn?.("TOKEN_REFRESH",`No refresh token available for provider: ${a}`),null):(e?.warn?.("TOKEN_REFRESH",`No refresh URL configured for provider: ${a}`),null)}async function o(a,b){return a?k("claude",a,async()=>{try{let c=await fetch(e.NA.anthropic.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.claude.clientId})});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Claude OAuth token",{status:c.status,error:a}),null}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Claude OAuth token",{hasNewAccessToken:!!f.access_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,expiresIn:f.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Claude token: ${a.message}`),null}},b):null}async function p(a,b,c,d){return a?k(`google:${b}`,a,async()=>{try{let f=await fetch(e.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:b,client_secret:c})});if(!f.ok){let a=await f.text();return d?.error?.("TOKEN_REFRESH","Failed to refresh Google token",{status:f.status,error:a}),null}let g=await f.json();return d?.info?.("TOKEN_REFRESH","Successfully refreshed Google token",{hasNewAccessToken:!!g.access_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return d?.error?.("TOKEN_REFRESH",`Network error refreshing Google token: ${a.message}`),null}},d):null}async function q(a,b){return a?k("qwen",a,async()=>{let c=e.NA.qwen.token;try{let e=await fetch(c,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.qwen.clientId})});if(200===e.status){let c=await e.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Qwen token",{hasNewAccessToken:!!c.access_token,hasNewRefreshToken:!!c.refresh_token,expiresIn:c.expires_in}),{accessToken:c.access_token,refreshToken:c.refresh_token||a,expiresIn:c.expires_in,providerSpecificData:c.resource_url?{resourceUrl:c.resource_url}:void 0}}{let a=await e.text().catch(()=>"");b?.warn?.("TOKEN_REFRESH","Error with Qwen endpoint",{status:e.status,error:a})}}catch(a){b?.warn?.("TOKEN_REFRESH","Network error trying Qwen endpoint",{error:a.message})}return b?.error?.("TOKEN_REFRESH","Failed to refresh Qwen token"),null},b):null}async function r(a,b,c="codebuddy"){return a?k(c,a,async()=>{try{let e=d.xq[c]||d.xq.codebuddy,g=e.refreshUrl,h=e.domain||"www.codebuddy.ai",i=await (0,f.proxyAwareFetch)(g,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"CLI/2.63.2 CodeBuddy/2.63.2","X-Requested-With":"XMLHttpRequest","X-Domain":h,"X-Refresh-Token":a,"X-Auth-Refresh-Source":"plugin","X-Product":"SaaS"},body:"{}"});if(!i.ok)return b?.error?.("TOKEN_REFRESH",`Failed to refresh token for ${c}`,{status:i.status,error:await i.text().catch(()=>"")}),null;let j=await i.json(),k=j?.data||j,l=k?.accessToken||k?.access_token;if(!l)return null;return{accessToken:l,refreshToken:k?.refreshToken||k?.refresh_token||a,expiresIn:k?.expiresIn||k?.expires_in||86400}}catch(a){return b?.error?.("TOKEN_REFRESH",`Error refreshing token for ${c}`,{error:a.message}),null}},b):null}async function s(a,b){return a?k("codex",a,async()=>{try{let c=await fetch(e.NA.openai.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({client_id:d.xq.codex.clientId,grant_type:"refresh_token",refresh_token:a})});if(!c.ok){let a=await c.text(),d=function(a="",b=0){let c=null;try{c=a?JSON.parse(a):null}catch{c=null}let d=c?.error?.code||c?.error||c?.error_code||"",e=c?.error_description||c?.message||a||"",f=`${d} ${e}`.toLowerCase();return{status:b,code:d,description:e,permanent:["refresh_token_expired","refresh_token_reused","refresh_token_invalidated","invalid_grant"].some(a=>f.includes(a))}}(a,c.status);if(d.permanent)return b?.error?.("TOKEN_REFRESH","Codex refresh token already used or invalid. Re-auth required.",{status:c.status,code:d.code}),{error:"unrecoverable_refresh_error",code:d.code};return b?.error?.("TOKEN_REFRESH","Failed to refresh Codex token",{status:c.status,error:a,code:d.code,permanent:d.permanent}),null}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Codex token",{hasNewAccessToken:!!f.access_token,hasNewRefreshToken:!!f.refresh_token,hasIdToken:!!f.id_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,idToken:f.id_token,expiresIn:f.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Codex token: ${a.message}`),null}},b):null}async function t(a,b,c,e=null){return a?k("kiro",a,async()=>{let g=b?.authMethod,h=b?.clientId,i=b?.clientSecret,j=b?.region;if(h&&i){let b="idc"===g&&j?`https://oidc.${j}.amazonaws.com/token`:"https://oidc.us-east-1.amazonaws.com/token",d=await (0,f.proxyAwareFetch)(b,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:h,clientSecret:i,refreshToken:a,grantType:"refresh_token"})},e);if(!d.ok){let a=await d.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro AWS token",{status:d.status,error:a}),null}let k=await d.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro AWS token",{hasNewAccessToken:!!k.accessToken,expiresIn:k.expiresIn}),{accessToken:k.accessToken,refreshToken:k.refreshToken||a,expiresIn:k.expiresIn}}let k=await (0,f.proxyAwareFetch)(d.xq.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"kiro-cli/2.12.2"},body:JSON.stringify({refreshToken:a})},e);if(!k.ok){let a=await k.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro social token",{status:k.status,error:a}),null}let l=await k.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro social token",{hasNewAccessToken:!!l.accessToken,expiresIn:l.expiresIn}),{accessToken:l.accessToken,refreshToken:l.refreshToken||a,expiresIn:l.expiresIn}},c):null}async function u(a,b){return a?k("iflow",a,async()=>{let c=btoa(`${d.xq.iflow.clientId}:${d.xq.iflow.clientSecret}`),f=await fetch(e.NA.iflow.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${c}`},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.iflow.clientId,client_secret:d.xq.iflow.clientSecret})});if(!f.ok){let a=await f.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh iFlow token",{status:f.status,error:a}),null}let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed iFlow token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}},b):null}async function v(a,b){return a?k("github",a,async()=>{let c={grant_type:"refresh_token",refresh_token:a,client_id:d.xq.github.clientId};d.xq.github.clientSecret&&(c.client_secret=d.xq.github.clientSecret);let f=await fetch(e.NA.github.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(c)});if(!f.ok){let a=await f.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh GitHub token",{status:f.status,error:a}),null}let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed GitHub token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}},b):null}async function w(a,b){return a?k("copilot",a,async()=>{try{let c=await fetch("https://api.github.com/copilot_internal/v2/token",{headers:{Authorization:`token ${a}`,"User-Agent":e.x0.USER_AGENT,"Editor-Version":`vscode/${e.x0.VSCODE_VERSION}`,"Editor-Plugin-Version":`copilot-chat/${e.x0.COPILOT_CHAT_VERSION}`,Accept:"application/json","x-github-api-version":e.x0.API_VERSION}});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Copilot token",{status:c.status,error:a}),null}let d=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Copilot token",{hasToken:!!d.token,expiresAt:d.expires_at}),{token:d.token,expiresAt:d.expires_at}}catch(a){return b?.error?.("TOKEN_REFRESH","Error refreshing Copilot token",{error:a.message}),null}},b):null}async function x(a,b,c){if(!b.refreshToken)return null;switch(a){case"gemini-cli":case"antigravity":return p(b.refreshToken,d.xq[a].clientId,d.xq[a].clientSecret,c);case"claude":return o(b.refreshToken,c);case"codex":return s(b.refreshToken,c);case"qwen":return q(b.refreshToken,c);case"codebuddy":return r(b.refreshToken,c,"codebuddy");case"codebuddy-cn":return r(b.refreshToken,c,"codebuddy-cn");case"iflow":return u(b.refreshToken,c);case"github":return v(b.refreshToken,c);case"kiro":return t(b.refreshToken,b.providerSpecificData,c);case"xai":case"grok-cli":return h(b.refreshToken,c);case"vertex":case"vertex-partner":{let a=y(b.apiKey);if(!a)return null;return A(a,c)}default:return n(a,b.refreshToken,b,c)}}function y(a){if("string"!=typeof a)return null;try{let b=JSON.parse(a);if("service_account"===b.type&&b.client_email&&b.private_key&&b.project_id)return b;return null}catch{return null}}let z=new Map;async function A(a,b){let d=a.client_email,e=z.get(d);if(e&&e.expiresAt-Date.now()>3e5)return{accessToken:e.token,expiresAt:e.expiresAt};try{let{SignJWT:e,importPKCS8:f}=await Promise.all([c.e(6935),c.e(8971)]).then(c.bind(c,8971));b?.debug?.("TOKEN_REFRESH",`Vertex minting token for ${a.client_email}`);let g=await f(a.private_key.replace(/\\n/g,"\n"),"RS256"),h=Math.floor(Date.now()/1e3),i=await new e({scope:"https://www.googleapis.com/auth/cloud-platform"}).setProtectedHeader({alg:"RS256"}).setIssuer(a.client_email).setAudience("https://oauth2.googleapis.com/token").setIssuedAt(h).setExpirationTime(h+3600).sign(g),j=await fetch("https://oauth2.googleapis.com/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:i})});if(!j.ok){let a=await j.text();return b?.error?.("TOKEN_REFRESH",`Vertex token mint failed: ${a}`),null}let{access_token:k,expires_in:l}=await j.json(),m=Date.now()+(l??3600)*1e3;return z.set(d,{token:k,expiresAt:m}),b?.info?.("TOKEN_REFRESH",`Vertex token minted for ${a.client_email}`),{accessToken:k,expiresAt:m}}catch(a){return b?.error?.("TOKEN_REFRESH",`Vertex token error: ${a.message}`),null}}async function B(a,b=3,c=null){for(let d=0;d<b;d++){if(d>0){let a=1e3*d;c?.debug?.("TOKEN_REFRESH",`Retry ${d}/${b} after ${a}ms`),await new Promise(b=>setTimeout(b,a))}try{let b=await a();if(b)return b}catch(a){c?.warn?.("TOKEN_REFRESH",`Attempt ${d+1}/${b} failed: ${a.message}`)}}return c?.error?.("TOKEN_REFRESH",`All ${b} retry attempts failed`),null}}};
|