zevairouter 1.1.38 → 1.1.40
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 +15 -0
- package/README.md +18 -5
- package/cli/app/.next-cli-build/BUILD_ID +1 -1
- package/cli/app/.next-cli-build/app-path-routes-manifest.json +10 -9
- package/cli/app/.next-cli-build/build-manifest.json +2 -2
- package/cli/app/.next-cli-build/prerender-manifest.json +4 -4
- package/cli/app/.next-cli-build/routes-manifest.json +8 -0
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page.js +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 +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 +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 +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 +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 +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 +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 +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 +9 -9
- 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 +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 +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 +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 +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 +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 +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 +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 +2 -2
- 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 +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 +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 +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 +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 +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/settings/pricing/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page.js +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 +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 +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 +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 +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 +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- 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 +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 +2 -2
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +2 -2
- 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/_tree.segment.rsc +1 -1
- 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/logout/route.js +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/start/route.js +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/saml/acs/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/saml/start/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/auth/saml/test/route.js +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/cache/stats/route.js +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/cli-tools/all-statuses/route.js +4 -4
- 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/route.js +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/cline-settings/route.js +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-settings/route.js +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/cowork-mcp-registry/route.js +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-settings/route.js +2 -2
- 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/droid-settings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
- 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/kilo-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js +2 -2
- 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/opencode-settings/route.js +2 -2
- 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/route.js +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/bulk/route.js +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/dashboard/chat/completions/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/dashboard/cli-tools/keys/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/dashboard/media/[operation]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/dashboard/media/videos/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/enable/route.js +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/proxy/[...path]/route.js +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/start/route.js +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/stop/route.js +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/route.js +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/keys/[id]/rotate/route.js +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/route.js +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/mcp/[plugin]/message/route.js +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/media-providers/tts/deepgram/voices/route.js +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/inworld/voices/route.js +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/voices/route.js +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/models/alias/route.js +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/custom/route.js +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/route.js +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/oauth/[provider]/[action]/route.js +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]/manual/[workerId]/route.js +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/latest/route.js +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/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]/manual/[workerId]/route.js +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/latest/route.js +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/codebuddy/bulk-import/[jobId]/cancel/route.js +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]/route.js +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/route.js +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/quota-cookie/route.js +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]/manual/[workerId]/route.js +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/latest/route.js +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-token/route.js +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/codex/import-token/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +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/gitlab/pat/route.js +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]/manual/[workerId]/route.js +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/latest/route.js +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-token/route.js +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/kiro/api-key/route.js +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/bulk-import/[jobId]/cancel/route.js +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]/route.js +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/route.js +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-cli-proxy/route.js +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-exchange/route.js +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]/manual/[workerId]/route.js +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/latest/route.js +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/xiaomi-mimo/auto-import/route.js +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/provider-nodes/[id]/route.js +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/validate/route.js +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]/route.js +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-models/route.js +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/client/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/codebuddy/discover-models/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/providers/flow/import/route.js +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/kiro/discover-models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/kiro/models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/opencode/discover-models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/route.js +2 -2
- 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/test-batch/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/validate/route.js +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]/test/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +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/vercel-deploy/route.js +2 -2
- 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/install/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/logs/route.js +2 -2
- 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/start/route.js +2 -2
- 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/status/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +2 -2
- 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/proxy-test/route.js +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/route.js +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/tags/route.js +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/status/route.js +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/session/[id]/input/route.js +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]/route.js +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/route.js +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/stream/route.js +2 -2
- 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/save/route.js +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/translate/route.js +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/enable/route.js +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/tailscale-check/route.js +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-enable/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +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/aggregate/route.js +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/history/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/logs/route.js +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/quota-stream/route.js +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-logs/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/routing-stream/route.js +2 -2
- 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/stream/route.js +2 -2
- 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/audio/speech/route.js +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/voices/route.js +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/embeddings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/images/generations/route.js +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/route.js +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/info/route.js +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/responses/compact/route.js +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/route.js +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/videos/[id]/content/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +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/v1beta/models/[...path]/route.js +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/version/route.js +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/update/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/callback/page.js +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 +2 -2
- package/cli/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/automation.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/automation.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_full.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_tree.segment.rsc +1 -1
- 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 +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
- 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 +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/combos.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/context.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/context.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_full.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
- 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 +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/playground.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/playground.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_full.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/profile.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
- 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 +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
- 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 +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/quota.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +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 +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/skills.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
- 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 +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/translator.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/usage.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/index.html +1 -1
- package/cli/app/.next-cli-build/server/app/index.rsc +2 -2
- 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 +2 -2
- package/cli/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/landing/page.js +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 +2 -2
- package/cli/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/login/page.js +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 +2 -2
- package/cli/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/page.js +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/provider-icons/[provider]/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/skills/[skill]/SKILL.md/route.js +1 -0
- package/cli/app/.next-cli-build/server/app/skills/[skill]/SKILL.md/route.js.nft.json +1 -0
- package/cli/app/.next-cli-build/server/app/skills/[skill]/SKILL.md/route_client-reference-manifest.js +1 -0
- package/cli/app/.next-cli-build/server/app-paths-manifest.json +10 -9
- package/cli/app/.next-cli-build/server/chunks/1131.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/1350.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/3949.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/4827.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/5949.js +2 -2
- package/cli/app/.next-cli-build/server/chunks/7319.js +19 -19
- package/cli/app/.next-cli-build/server/chunks/7634.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/8306.js +1 -1
- package/cli/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/middleware.js +1 -1
- 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/preview-props.json +3 -3
- 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/{T-pAsDE57IuNWb8tkUZce → UOQlernibgn9uJ8E3huEs}/_buildManifest.js +1 -1
- package/cli/app/.next-cli-build/static/chunks/{620-be3bdd357820a851.js → 620-66edeaf7464b2af3.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-9e3c0c1e23790a02.js +58 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/page-0f6e6f05a3dc4f72.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/_global-error/page-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/login/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/logout/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/status/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cache/stats/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/changelog/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-gateway/accounts/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/omp-settings/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/combos/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/context/[id]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/context/bulk/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/context/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/chat/completions/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/cli-tools/keys/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/media/[operation]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/media/videos/[id]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/enable/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/start/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/status/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/health/ready/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/health/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/init/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/keys/[id]/rotate/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/keys/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/locale/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/metrics/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/models/alias/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/models/availability/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/models/custom/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/models/disabled/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/models/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/models/test/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/latest/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/latest/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/latest/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-token/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/quota-cookie/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/latest/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-token/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/quota-cookie/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/cancel/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/manual/[workerId]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/latest/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-token/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/latest/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/latest/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pricing/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/bulk-delete/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/client/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/codebuddy/discover-models/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/flow/import/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/kiro/discover-models/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/kiro/models/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/opencode/discover-models/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/validate/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/database/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/shutdown/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tags/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/setup/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/status/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/unlock/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/input/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/resize/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/stream/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/load/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/save/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/send/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/translate/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/aggregate/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/chart/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/history/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/logs/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/providers/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/quota-stream/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/routing-stream/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/stats/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/stream/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/search/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/content/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/version/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/version/update/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/page-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/provider-icons/[provider]/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/skills/[skill]/SKILL.md/route-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-fa4215ad642ee222.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-fa4215ad642ee222.js +1 -0
- package/cli/app/CHANGELOG.md +15 -0
- package/cli/app/package.json +3 -1
- package/cli/app/skills/zevai/SKILL.md +63 -0
- package/cli/app/skills/zevai-chat/SKILL.md +73 -0
- package/cli/app/skills/zevai-embeddings/SKILL.md +69 -0
- package/cli/app/skills/zevai-image/SKILL.md +99 -0
- package/cli/app/skills/zevai-stt/SKILL.md +79 -0
- package/cli/app/skills/zevai-tts/SKILL.md +80 -0
- package/cli/app/skills/zevai-video/SKILL.md +120 -0
- package/cli/app/skills/zevai-web-fetch/SKILL.md +99 -0
- package/cli/app/skills/zevai-web-search/SKILL.md +91 -0
- package/cli/package.json +1 -1
- package/package.json +3 -1
- package/scripts/flow-vps-setup.sh +270 -0
- package/skills/README.md +43 -0
- package/skills/zevai/SKILL.md +63 -0
- package/skills/zevai-chat/SKILL.md +73 -0
- package/skills/zevai-embeddings/SKILL.md +69 -0
- package/skills/zevai-image/SKILL.md +99 -0
- package/skills/zevai-stt/SKILL.md +79 -0
- package/skills/zevai-tts/SKILL.md +80 -0
- package/skills/zevai-video/SKILL.md +120 -0
- package/skills/zevai-web-fetch/SKILL.md +99 -0
- package/skills/zevai-web-search/SKILL.md +91 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-d580298598ba5275.js +0 -58
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/page-70d91c4985cf0c22.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/_global-error/page-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/login/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/logout/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/status/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cache/stats/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/changelog/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-gateway/accounts/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/omp-settings/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/combos/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/context/[id]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/context/bulk/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/context/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/chat/completions/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/cli-tools/keys/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/media/[operation]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/media/videos/[id]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/enable/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/start/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/status/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/health/ready/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/health/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/init/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/keys/[id]/rotate/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/keys/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/locale/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/metrics/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/models/alias/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/models/availability/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/models/custom/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/models/disabled/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/models/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/models/test/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/latest/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/latest/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/latest/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-token/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/quota-cookie/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/latest/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-token/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/quota-cookie/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/cancel/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/manual/[workerId]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/latest/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-token/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/latest/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/latest/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pricing/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/bulk-delete/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/client/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/codebuddy/discover-models/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/flow/import/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/kiro/discover-models/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/kiro/models/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/opencode/discover-models/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/validate/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/database/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/shutdown/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tags/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/setup/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/status/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/unlock/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/input/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/resize/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/stream/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/load/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/save/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/send/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/translate/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/aggregate/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/chart/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/history/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/logs/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/providers/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/quota-stream/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/routing-stream/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/stats/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/stream/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/search/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/content/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/version/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/version/update/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/page-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/provider-icons/[provider]/route-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-3fd3d1141471fe7d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-3fd3d1141471fe7d.js +0 -1
- /package/cli/app/.next-cli-build/static/{T-pAsDE57IuNWb8tkUZce → UOQlernibgn9uJ8E3huEs}/_ssgManifest.js +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# Unreleased
|
|
2
2
|
|
|
3
|
+
# v1.1.40 (2026-10-24)
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
- **The Google Flow page shows how to add an account.** A **How to add a Google account** guide on the Google Flow provider page walks through installing gflow, signing in each Google account, starting the daemon and importing it, with copyable commands for a router on your own computer (Windows or macOS) and for a router on a VPS. Its **Import local profiles** button opens the import form directly.
|
|
7
|
+
- **One-command Google Flow setup for a headless VPS.** `sudo bash "$(npm root -g)/zevairouter/scripts/flow-vps-setup.sh"` installs real Google Chrome, Xvfb, ffmpeg and gflow-cli for a dedicated `flow` user, applies the gflow patch, runs the daemon on `127.0.0.1:8077` with a 6-hourly session renew, sets `GFLOW_BIN` for a root-run router, and prints the daemon token. It also installs `flow-login <profile>`, which signs one Google account in through a password-protected VNC reachable only over an SSH tunnel, from Windows or macOS. Re-running keeps the token and signed-in accounts.
|
|
8
|
+
|
|
9
|
+
# v1.1.39 (2026-10-23)
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
- **Agent skills are served by the router itself.** Every install now ships its skills and serves them at `/skills/<id>/SKILL.md`, readable without an API key. Dashboard → Agent Skills copies links on the address you opened it with, and links inside a served skill (plus its `ZEVAI_URL` example) point at that router, honouring `BASE_URL`. Skills now always match the installed router version, and they work while the GitHub repository is private, where the old `raw.githubusercontent.com` links returned 404. Only catalog skill ids are served.
|
|
13
|
+
- **The video skill defaults to Google Flow Omni.** Agents use the model the user names, otherwise `flow/omni-flash` (or `flow/omni-flash-long` beyond 10 seconds), always send an `Idempotency-Key`, and never resubmit a failed job with a new key. The image skill lists the Flow Nano Banana models and aspect sizes.
|
|
14
|
+
|
|
15
|
+
## Fixes
|
|
16
|
+
- **Re-importing Flow profiles no longer revokes I2V consent.** Import local profiles overwrote each existing connection's **I2V upload consent confirmed** with the import form's checkbox, so re-importing with the box unticked silently disabled long video on accounts that had it. Re-import now keeps a confirmed consent; turn it off by editing the connection. `.env.example` also shows the `GFLOW_BIN` wrapper needed when the router and gflow run as different OS users.
|
|
17
|
+
|
|
3
18
|
# v1.1.38 (2026-10-23)
|
|
4
19
|
|
|
5
20
|
## Fixes
|
package/README.md
CHANGED
|
@@ -228,7 +228,18 @@ The dashboard performs this polling automatically and renders the finished video
|
|
|
228
228
|
|
|
229
229
|
### Google Flow images and video
|
|
230
230
|
|
|
231
|
-
ZevaiRouter can use a local [`gflow-cli`](https://github.com/ffroliva/gflow-cli) daemon as the `flow` provider. Flow authentication stays in gflow's headed, off-screen Chrome profile; Google cookies are never copied into ZevaiRouter.
|
|
231
|
+
ZevaiRouter can use a local [`gflow-cli`](https://github.com/ffroliva/gflow-cli) daemon as the `flow` provider. Flow authentication stays in gflow's headed, off-screen Chrome profile; Google cookies are never copied into ZevaiRouter. The **Google Flow** provider page in the dashboard has a step-by-step **How to add a Google account** guide with copyable commands for a router on your own computer (Windows or macOS) and for a router on a VPS.
|
|
232
|
+
|
|
233
|
+
**On a headless Ubuntu/Debian VPS**, prepare Flow with one command as root. It installs real Google Chrome, Xvfb, ffmpeg and gflow-cli for a dedicated `flow` user, applies the patch below, runs the gflow daemon on `127.0.0.1:8077` with a 6-hourly session renew, sets `GFLOW_BIN` for a root-run router, and prints the daemon token. It is safe to run again; the token and signed-in accounts are kept.
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
sudo bash "$(npm root -g)/zevairouter/scripts/flow-vps-setup.sh"
|
|
237
|
+
ssh root@YOUR-VPS-IP flow-login account-one # from Windows PowerShell or macOS Terminal, once per account
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
`flow-login` opens a password-protected VNC on `127.0.0.1:5998` of the VPS only, reached through an SSH tunnel it prints, so you can sign in to Google in a real Chrome window. Then import the accounts as in step 2.
|
|
241
|
+
|
|
242
|
+
**On your own computer** (or any machine with a screen):
|
|
232
243
|
|
|
233
244
|
1. Install and authenticate gflow once per Google account, apply ZevaiRouter's gflow reliability patch, then start the daemon:
|
|
234
245
|
```bash
|
|
@@ -237,7 +248,7 @@ ZevaiRouter can use a local [`gflow-cli`](https://github.com/ffroliva/gflow-cli)
|
|
|
237
248
|
gflow serve --port 8077
|
|
238
249
|
```
|
|
239
250
|
Run the patch command before every `gflow serve` start (for example as systemd `ExecStartPre` or in your launchd wrapper). It is idempotent, survives `gflow update` when re-run, and prints a `WARNING` instead of changing anything if a future gflow release no longer matches.
|
|
240
|
-
2. Open **Google Flow → Connections → Import local profiles**, enter the daemon token, then import. Repeating the import updates existing profiles instead of duplicating them.
|
|
251
|
+
2. Open **Google Flow → Connections → Import local profiles**, enter the daemon token, then import. Every gflow profile with a saved session becomes one connection. Repeating the import updates existing profiles instead of duplicating them, and never turns off an I2V consent you already confirmed. To add an account later, log it in with `gflow auth login --profile <name> --browser chrome` and import again. If the router runs as a different OS user than gflow (common on a VPS), set `GFLOW_BIN` to a wrapper that runs gflow as that user; see `.env.example`.
|
|
241
252
|
3. Discover models with `GET /v1/models/image` and `GET /v1/models/video`.
|
|
242
253
|
|
|
243
254
|
Image models: `flow/nano2`, `flow/nano2-lite`, and `flow/nano-pro`. Video models: `flow/veo-lite` (8s), `flow/veo-fast` (8s), `flow/veo-quality` (8s), `flow/omni-flash` (10s), and `flow/omni-flash-long` (10–60s).
|
|
@@ -259,18 +270,20 @@ curl -X POST http://localhost:1997/v1/videos/generations \
|
|
|
259
270
|
|
|
260
271
|
Long video requires `ffmpeg` and Google's one-time image-rights confirmation for every gflow profile. Enable **I2V upload consent confirmed** on a connection only after accepting that dialog on `flow.google.com`. Valid long durations are exactly 10, 20, 30, 40, 50, or 60 seconds. Keep the `Idempotency-Key` stable when retrying; ZevaiRouter returns the existing job instead of creating another billed render.
|
|
261
272
|
|
|
262
|
-
Behind a reverse proxy, set `BASE_URL` to the public URL (or forward `X-Forwarded-Proto`/`X-Forwarded-Host`) so finished `video.url` links are reachable from outside. On Linux, gflow needs real Google Chrome running headed under Xvfb; headless Chrome is rejected by Flow.
|
|
273
|
+
Behind a reverse proxy, set `BASE_URL` to the public URL (or forward `X-Forwarded-Proto`/`X-Forwarded-Host`) so finished `video.url` links are reachable from outside. On Linux, gflow needs real Google Chrome running headed under Xvfb; headless Chrome is rejected by Flow. `flow-vps-setup.sh` sets this up.
|
|
263
274
|
|
|
264
275
|
The patch fixes a gflow-cli 0.88–0.89 bug where Chrome evicts Flow's submit reply from the DevTools buffer under load: without it, a job can fail with "submit reply arrived but its body was unreadable" after Flow has already charged credits. With the patch, gflow reads the page's own copy of the reply instead (logged as `migrated.reply_body_recovered`). It also waits up to 90 seconds for Flow's signed video URL on slow hosts. ZevaiRouter retries a long-video segment only for gflow failures that happen before Flow's submit click; anything that may already be billed fails the job instead of paying twice.
|
|
265
276
|
|
|
266
277
|
### Agent skills
|
|
267
278
|
|
|
268
|
-
Open **Dashboard → Agent Skills** to copy
|
|
279
|
+
Every router serves the agent skills bundled with its installed version at `/skills/<id>/SKILL.md`, with no API key needed to read them. Open **Dashboard → Agent Skills** to copy the links for chat, image, video, audio, embeddings, web search, and web fetch; they use the address you opened the dashboard with. Start with:
|
|
269
280
|
|
|
270
281
|
```text
|
|
271
|
-
Read this skill and use it:
|
|
282
|
+
Read this skill and use it: http://localhost:1997/skills/zevai/SKILL.md
|
|
272
283
|
```
|
|
273
284
|
|
|
285
|
+
Replace `http://localhost:1997` with your VPS, tunnel, or `BASE_URL` address when the agent runs on another machine. Links inside a served skill and its `ZEVAI_URL` example already point at the router that served it.
|
|
286
|
+
|
|
274
287
|
---
|
|
275
288
|
|
|
276
289
|
## Everyday commands
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
UOQlernibgn9uJ8E3huEs
|
|
@@ -145,21 +145,21 @@
|
|
|
145
145
|
"/api/oauth/antigravity/bulk-import/[jobId]/cancel/route": "/api/oauth/antigravity/bulk-import/[jobId]/cancel",
|
|
146
146
|
"/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route": "/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]",
|
|
147
147
|
"/api/oauth/antigravity/bulk-import/[jobId]/route": "/api/oauth/antigravity/bulk-import/[jobId]",
|
|
148
|
-
"/api/oauth/[provider]/[action]/route": "/api/oauth/[provider]/[action]",
|
|
149
148
|
"/api/oauth/antigravity/bulk-import/latest/route": "/api/oauth/antigravity/bulk-import/latest",
|
|
150
|
-
"/api/oauth/antigravity/bulk-import/route": "/api/oauth/antigravity/bulk-import",
|
|
151
149
|
"/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route": "/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel",
|
|
150
|
+
"/api/oauth/antigravity/bulk-import/route": "/api/oauth/antigravity/bulk-import",
|
|
152
151
|
"/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route": "/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]",
|
|
153
152
|
"/api/oauth/cloudflare-ai/bulk-import/[jobId]/route": "/api/oauth/cloudflare-ai/bulk-import/[jobId]",
|
|
154
153
|
"/api/oauth/cloudflare-ai/bulk-import/latest/route": "/api/oauth/cloudflare-ai/bulk-import/latest",
|
|
155
|
-
"/api/oauth/
|
|
154
|
+
"/api/oauth/[provider]/[action]/route": "/api/oauth/[provider]/[action]",
|
|
156
155
|
"/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route": "/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel",
|
|
156
|
+
"/api/oauth/cloudflare-ai/bulk-import/route": "/api/oauth/cloudflare-ai/bulk-import",
|
|
157
157
|
"/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route": "/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]",
|
|
158
158
|
"/api/oauth/codebuddy-cn/bulk-import/[jobId]/route": "/api/oauth/codebuddy-cn/bulk-import/[jobId]",
|
|
159
159
|
"/api/oauth/codebuddy-cn/bulk-import/latest/route": "/api/oauth/codebuddy-cn/bulk-import/latest",
|
|
160
160
|
"/api/oauth/codebuddy-cn/bulk-import/route": "/api/oauth/codebuddy-cn/bulk-import",
|
|
161
|
-
"/api/oauth/codebuddy-cn/bulk-token/route": "/api/oauth/codebuddy-cn/bulk-token",
|
|
162
161
|
"/api/oauth/codebuddy-cn/quota-cookie/route": "/api/oauth/codebuddy-cn/quota-cookie",
|
|
162
|
+
"/api/oauth/codebuddy-cn/bulk-token/route": "/api/oauth/codebuddy-cn/bulk-token",
|
|
163
163
|
"/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route": "/api/oauth/codebuddy/bulk-import/[jobId]/cancel",
|
|
164
164
|
"/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route": "/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]",
|
|
165
165
|
"/api/oauth/codebuddy/bulk-import/[jobId]/route": "/api/oauth/codebuddy/bulk-import/[jobId]",
|
|
@@ -185,15 +185,15 @@
|
|
|
185
185
|
"/api/provider-nodes/route": "/api/provider-nodes",
|
|
186
186
|
"/api/providers/[id]/route": "/api/providers/[id]",
|
|
187
187
|
"/api/providers/[id]/models/route": "/api/providers/[id]/models",
|
|
188
|
-
"/api/providers/kiro/discover-models/route": "/api/providers/kiro/discover-models",
|
|
189
188
|
"/api/providers/kiro/models/route": "/api/providers/kiro/models",
|
|
189
|
+
"/api/providers/kiro/discover-models/route": "/api/providers/kiro/discover-models",
|
|
190
190
|
"/api/providers/opencode/discover-models/route": "/api/providers/opencode/discover-models",
|
|
191
191
|
"/api/providers/suggested-models/route": "/api/providers/suggested-models",
|
|
192
192
|
"/api/providers/route": "/api/providers",
|
|
193
193
|
"/api/proxy-pools/[id]/route": "/api/proxy-pools/[id]",
|
|
194
194
|
"/api/proxy-pools/[id]/test/route": "/api/proxy-pools/[id]/test",
|
|
195
|
-
"/api/providers/validate/route": "/api/providers/validate",
|
|
196
195
|
"/api/proxy-pools/cloudflare-deploy/route": "/api/proxy-pools/cloudflare-deploy",
|
|
196
|
+
"/api/providers/validate/route": "/api/providers/validate",
|
|
197
197
|
"/api/proxy-pools/deno-deploy/route": "/api/proxy-pools/deno-deploy",
|
|
198
198
|
"/api/proxy-pools/route": "/api/proxy-pools",
|
|
199
199
|
"/api/pxpipe/health/route": "/api/pxpipe/health",
|
|
@@ -214,8 +214,8 @@
|
|
|
214
214
|
"/api/terminal/session/[id]/input/route": "/api/terminal/session/[id]/input",
|
|
215
215
|
"/api/terminal/session/[id]/resize/route": "/api/terminal/session/[id]/resize",
|
|
216
216
|
"/api/terminal/session/[id]/route": "/api/terminal/session/[id]",
|
|
217
|
-
"/api/terminal/session/route": "/api/terminal/session",
|
|
218
217
|
"/api/terminal/session/[id]/stream/route": "/api/terminal/session/[id]/stream",
|
|
218
|
+
"/api/terminal/session/route": "/api/terminal/session",
|
|
219
219
|
"/api/translator/console-logs/stream/route": "/api/translator/console-logs/stream",
|
|
220
220
|
"/api/usage/[connectionId]/codex-reset-credits/route": "/api/usage/[connectionId]/codex-reset-credits",
|
|
221
221
|
"/api/usage/[connectionId]/route": "/api/usage/[connectionId]",
|
|
@@ -226,6 +226,7 @@
|
|
|
226
226
|
"/api/v1/audio/transcriptions/route": "/api/v1/audio/transcriptions",
|
|
227
227
|
"/api/v1/models/route": "/api/v1/models",
|
|
228
228
|
"/api/version/route": "/api/version",
|
|
229
|
+
"/skills/[skill]/SKILL.md/route": "/skills/[skill]/SKILL.md",
|
|
229
230
|
"/callback/page": "/callback",
|
|
230
231
|
"/landing/page": "/landing",
|
|
231
232
|
"/login/page": "/login",
|
|
@@ -245,7 +246,6 @@
|
|
|
245
246
|
"/(dashboard)/dashboard/providers/new/page": "/dashboard/providers/new",
|
|
246
247
|
"/(dashboard)/dashboard/pxpipe/page": "/dashboard/pxpipe",
|
|
247
248
|
"/(dashboard)/dashboard/quota/page": "/dashboard/quota",
|
|
248
|
-
"/(dashboard)/dashboard/skills/page": "/dashboard/skills",
|
|
249
249
|
"/(dashboard)/dashboard/token-saver/page": "/dashboard/token-saver",
|
|
250
250
|
"/(dashboard)/dashboard/translator/page": "/dashboard/translator",
|
|
251
251
|
"/(dashboard)/dashboard/usage/page": "/dashboard/usage",
|
|
@@ -254,8 +254,9 @@
|
|
|
254
254
|
"/(dashboard)/dashboard/combos/page": "/dashboard/combos",
|
|
255
255
|
"/(dashboard)/dashboard/profile/page": "/dashboard/profile",
|
|
256
256
|
"/(dashboard)/dashboard/settings/pricing/page": "/dashboard/settings/pricing",
|
|
257
|
+
"/(dashboard)/dashboard/skills/page": "/dashboard/skills",
|
|
257
258
|
"/(dashboard)/dashboard/terminal/page": "/dashboard/terminal",
|
|
258
|
-
"/(dashboard)/dashboard/proxy-pools/page": "/dashboard/proxy-pools",
|
|
259
259
|
"/(dashboard)/dashboard/providers/page": "/dashboard/providers",
|
|
260
|
+
"/(dashboard)/dashboard/proxy-pools/page": "/dashboard/proxy-pools",
|
|
260
261
|
"/(dashboard)/dashboard/providers/[id]/page": "/dashboard/providers/[id]"
|
|
261
262
|
}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
],
|
|
5
5
|
"devFiles": [],
|
|
6
6
|
"lowPriorityFiles": [
|
|
7
|
-
"static/
|
|
8
|
-
"static/
|
|
7
|
+
"static/UOQlernibgn9uJ8E3huEs/_buildManifest.js",
|
|
8
|
+
"static/UOQlernibgn9uJ8E3huEs/_ssgManifest.js"
|
|
9
9
|
],
|
|
10
10
|
"rootMainFiles": [
|
|
11
11
|
"static/chunks/webpack-b041c9a7d1b8c64f.js",
|
|
@@ -594,7 +594,7 @@
|
|
|
594
594
|
"routeType": "page",
|
|
595
595
|
"response": "complete",
|
|
596
596
|
"compute": "static",
|
|
597
|
-
"htmlSize":
|
|
597
|
+
"htmlSize": 40759,
|
|
598
598
|
"experimentalBypassFor": [
|
|
599
599
|
{
|
|
600
600
|
"type": "header",
|
|
@@ -794,8 +794,8 @@
|
|
|
794
794
|
"dynamicRoutes": {},
|
|
795
795
|
"notFoundRoutes": [],
|
|
796
796
|
"preview": {
|
|
797
|
-
"previewModeId": "
|
|
798
|
-
"previewModeSigningKey": "
|
|
799
|
-
"previewModeEncryptionKey": "
|
|
797
|
+
"previewModeId": "d8e1c82bf4d8d1ccdd3f093799eb7deb",
|
|
798
|
+
"previewModeSigningKey": "67f7bf61b8cc2d41840689be9f86bd307e7db3fe93044bd98075b5948a3cd7a6",
|
|
799
|
+
"previewModeEncryptionKey": "d2e3d7929453f2202ed32c17adb72b5e788696b36564d138c9e93137e668cea6"
|
|
800
800
|
}
|
|
801
801
|
}
|
|
@@ -499,6 +499,14 @@
|
|
|
499
499
|
"nxtPprovider": "nxtPprovider"
|
|
500
500
|
},
|
|
501
501
|
"namedRegex": "^/provider\\-icons/(?<nxtPprovider>[^/]+?)(?:/)?$"
|
|
502
|
+
},
|
|
503
|
+
{
|
|
504
|
+
"page": "/skills/[skill]/SKILL.md",
|
|
505
|
+
"regex": "^/skills/([^/]+?)/SKILL\\.md(?:/)?$",
|
|
506
|
+
"routeKeys": {
|
|
507
|
+
"nxtPskill": "nxtPskill"
|
|
508
|
+
},
|
|
509
|
+
"namedRegex": "^/skills/(?<nxtPskill>[^/]+?)/SKILL\\.md(?:/)?$"
|
|
502
510
|
}
|
|
503
511
|
],
|
|
504
512
|
"staticRoutes": [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var a={};a.id=8593,a.ids=[8593],a.modules={3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},38522:a=>{"use strict";a.exports=require("node:zlib")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},46060:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external.js")},46293:a=>{"use strict";a.exports=require("sql.js")},48161:a=>{"use strict";a.exports=require("node:os")},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},64248:(a,b,c)=>{Promise.resolve().then(c.bind(c,99947))},73024:a=>{"use strict";a.exports=require("node:fs")},73976:(a,b,c)=>{Promise.resolve().then(c.bind(c,81926))},75361:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>w,handler:()=>y,routeModule:()=>x});var d=c(21635),e=c(86315),f=c(1020),g=c(61287),h={};for(let a in g)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(h[a]=()=>g[a]);c.d(b,h);let i=(0,d.p)(()=>Promise.resolve().then(c.bind(c,32059))),j=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),k=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),l=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),m=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),n=(0,d.p)(()=>Promise.resolve().then(c.bind(c,30508))),o=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),p=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),q=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),r=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),s=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),t=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),u={children:["",{children:["(dashboard)",{children:["dashboard",{children:["automation",{children:["__PAGE__",{},{page:[(0,d.p)(()=>Promise.resolve().then(c.bind(c,99947))),"/zevairouter-build/src/app/(dashboard)/dashboard/automation/page.js"]}]},{"global-error":[t,"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[s,"next/dist/client/components/builtin/global-error.js"]},[]]},{layout:[n,"/zevairouter-build/src/app/(dashboard)/layout.js"],"global-error":[o,"next/dist/client/components/builtin/global-error.js"],"not-found":[p,"next/dist/client/components/builtin/not-found.js"],forbidden:[q,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[r,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]},{layout:[i,"/zevairouter-build/src/app/layout.js"],"global-error":[j,"next/dist/client/components/builtin/global-error.js"],"not-found":[k,"next/dist/client/components/builtin/not-found.js"],forbidden:[l,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[m,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]}.children,v=(0,e.H)({tree:u,page:"/(dashboard)/dashboard/automation/page",pathname:"/dashboard/automation",require:c,loadChunk:()=>Promise.resolve(),interopDefault:f.T}),w=v.__next_app__,x=v.routeModule,y=v.handler},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},81926:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>o});var d=c(48249),e=c(67484),f=c(50412),g=c(96919);function h({id:a,icon:b,size:c=22}){let[f,g]=(0,e.useState)(!1);return f?(0,d.jsx)("span",{className:"material-symbols-outlined text-primary",style:{fontSize:c},children:b}):(0,d.jsx)("img",{src:`/providers/${a}.png`,alt:"",width:c,height:c,className:"rounded object-contain",style:{width:c,height:c},onError:()=>g(!0)})}function i(a){return`${a} connection${1===a?"":"s"}`}function j({isOpen:a,onClose:b,onSuccess:c}){let[f,g]=(0,e.useState)(""),[h,i]=(0,e.useState)(!1),[k,l]=(0,e.useState)(null),m=async()=>{if(f.trim()){i(!0),l(null);try{let a=await fetch("/api/oauth/codebuddy/bulk-token",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tokens:f})}),b=await a.json();l(b),b.success&&c?.()}catch(a){l({error:a.message})}finally{i(!1)}}};if(!a)return null;let n=null;if(k?.success){let a=[`Imported ${k.imported}/${k.total} tokens.`];if(k.failed&&a.push(`${k.failed} failed.`),k.formatCounts){let{"access-only":b,"with-refresh":c,"with-api-key":d}=k.formatCounts,e=[];d&&e.push(`${d} with API key`),c&&e.push(`${c} with refresh token`),b&&e.push(`${b} access-only`),e.length&&a.push(`(${e.join(", ")})`)}n=a.join(" ")}return(0,d.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:b,children:(0,d.jsxs)("div",{className:"w-full max-w-lg rounded-xl border border-border bg-surface p-6 shadow-xl",onClick:a=>a.stopPropagation(),children:[(0,d.jsx)("h3",{className:"mb-4 text-lg font-semibold text-text-main",children:"CodeBuddy OAuth Token Import"}),(0,d.jsx)("p",{className:"mb-2 text-xs text-text-muted",children:"Paste CodeBuddy OAuth tokens, one per line. Supports three formats:"}),(0,d.jsxs)("div",{className:"mb-3 space-y-2 rounded-lg bg-background/50 p-3 text-xs text-text-muted",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] text-primary leading-none",children:"check_circle"}),(0,d.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("code",{className:"text-[10px] bg-border/50 px-1.5 py-0.5 rounded leading-none",children:"accessToken"}),(0,d.jsx)("span",{children:"— access token only (24h expiry)"})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] text-primary leading-none",children:"check_circle"}),(0,d.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("code",{className:"text-[10px] bg-border/50 px-1.5 py-0.5 rounded leading-none",children:"accessToken:refreshToken"}),(0,d.jsx)("span",{children:"— enables auto-refresh"})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] text-primary leading-none",children:"check_circle"}),(0,d.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("code",{className:"text-[10px] bg-border/50 px-1.5 py-0.5 rounded leading-none",children:"accessToken:refreshToken:apiKey"}),(0,d.jsx)("span",{children:"— 365-day access"})]})]})]}),(0,d.jsx)("textarea",{className:"mb-3 w-full rounded-lg border border-border bg-background p-3 font-mono text-xs text-text-main placeholder:text-text-muted focus:border-primary focus:outline-none",rows:8,placeholder:"eyJhbGciOiJSUzI1NiIs...\neyJhbGciOiJSUzI1NiIs...:eyJhbGciOiJSUzI1NiIs...\neyJhbGciOiJSUzI1NiIs...:eyJhbGciOiJSUzI1NiIs...:ak_abc123...",value:f,onChange:a=>g(a.target.value),disabled:h}),k&&(0,d.jsx)("div",{className:"mb-3 rounded-lg p-3 text-xs "+(k.success?"bg-green-500/10 text-green-400":"bg-red-500/10 text-red-400"),children:n||k.error||"Import failed"}),(0,d.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:b,className:"rounded-lg px-4 py-2 text-sm text-text-muted hover:bg-border/50",children:"Close"}),(0,d.jsx)("button",{type:"button",onClick:m,disabled:h||!f.trim(),className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-white hover:bg-primary/90 disabled:opacity-50",children:h?"Importing...":"Import Tokens"})]})]})})}function k({isOpen:a,onClose:b,onSuccess:c}){let[f,g]=(0,e.useState)(""),[h,i]=(0,e.useState)(!1),[j,l]=(0,e.useState)(null),m=async()=>{if(f.trim()){i(!0),l(null);try{let a=await fetch("/api/oauth/codebuddy-cn/bulk-token",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tokens:f})}),b=await a.json();l(b),b.success&&c?.()}catch(a){l({error:a.message})}finally{i(!1)}}};if(!a)return null;let n=null;if(j?.success){let a=[`Imported ${j.imported}/${j.total} tokens.`];j.failed&&a.push(`${j.failed} failed.`),n=a.join(" ")}return(0,d.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:b,children:(0,d.jsxs)("div",{className:"w-full max-w-lg rounded-xl border border-border bg-surface p-6 shadow-xl",onClick:a=>a.stopPropagation(),children:[(0,d.jsx)("h3",{className:"mb-4 text-lg font-semibold text-text-main",children:"CodeBuddy CN OAuth Token Import"}),(0,d.jsx)("p",{className:"mb-2 text-xs text-text-muted",children:"Paste CodeBuddy CN OAuth tokens, one per line. Supports:"}),(0,d.jsxs)("div",{className:"mb-3 space-y-1 rounded-lg bg-background/50 p-3 text-xs text-text-muted",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("code",{className:"text-[10px] bg-border/50 px-1.5 py-0.5 rounded",children:"accessToken"})," — access token only"]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("code",{className:"text-[10px] bg-border/50 px-1.5 py-0.5 rounded",children:"accessToken:refreshToken"})," — enables auto-refresh"]})]}),(0,d.jsx)("textarea",{className:"mb-3 w-full rounded-lg border border-border bg-background p-3 font-mono text-xs text-text-main placeholder:text-text-muted focus:border-primary focus:outline-none",rows:8,placeholder:"eyJhbGciOiJSUzI1NiIs...\neyJhbGciOiJSUzI1NiIs...:eyJhbGciOiJSUzI1NiIs...",value:f,onChange:a=>g(a.target.value),disabled:h}),j&&(0,d.jsx)("div",{className:"mb-3 rounded-lg p-3 text-xs "+(j.success?"bg-green-500/10 text-green-400":"bg-red-500/10 text-red-400"),children:n||j.error||"Import failed"}),(0,d.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:b,className:"rounded-lg px-4 py-2 text-sm text-text-muted hover:bg-border/50",children:"Close"}),(0,d.jsx)("button",{type:"button",onClick:m,disabled:h||!f.trim(),className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-white hover:bg-primary/90 disabled:opacity-50",children:h?"Importing...":"Import Tokens"})]})]})})}function l({isOpen:a,onClose:b,onSuccess:c}){let[f,g]=(0,e.useState)(""),[h,i]=(0,e.useState)(!1),[j,k]=(0,e.useState)(null),m=async()=>{if(f.trim()){i(!0),k(null);try{let a=await fetch("/api/oauth/grok-cli/bulk-token",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tokens:f})}),b=await a.json();k(b),b.success&&c?.()}catch(a){k({error:a.message})}finally{i(!1)}}};if(!a)return null;let n=null;if(j?.success){let a=[`Imported ${j.imported}/${j.total} tokens.`];j.failed&&a.push(`${j.failed} failed.`),n=a.join(" ")}return(0,d.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:b,children:(0,d.jsxs)("div",{className:"w-full max-w-lg rounded-xl border border-border bg-surface p-6 shadow-xl",onClick:a=>a.stopPropagation(),children:[(0,d.jsx)("h3",{className:"mb-4 text-lg font-semibold text-text-main",children:"Grok CLI Token Import"}),(0,d.jsx)("p",{className:"mb-2 text-xs text-text-muted",children:"Paste xAI / Grok CLI tokens, one per line. Supports:"}),(0,d.jsxs)("div",{className:"mb-3 space-y-1 rounded-lg bg-background/50 p-3 text-xs text-text-muted",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("code",{className:"text-[10px] bg-border/50 px-1.5 py-0.5 rounded",children:"refreshToken"})," — refreshed immediately for a fresh access token"]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("code",{className:"text-[10px] bg-border/50 px-1.5 py-0.5 rounded",children:"accessToken:refreshToken"})," — imported as-is (auto-refreshed if expired)"]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("code",{className:"text-[10px] bg-border/50 px-1.5 py-0.5 rounded",children:"accessToken:refreshToken:email"})," — skips account email lookup"]})]}),(0,d.jsx)("textarea",{className:"mb-3 w-full rounded-lg border border-border bg-background p-3 font-mono text-xs text-text-main placeholder:text-text-muted focus:border-primary focus:outline-none",rows:8,placeholder:"rt_xxx...\neyJhbGciOi...:rt_xxx...\neyJhbGciOi...:rt_xxx...:user@example.com",value:f,onChange:a=>g(a.target.value),disabled:h}),j&&(0,d.jsx)("div",{className:"mb-3 rounded-lg p-3 text-xs "+(j.success?"bg-green-500/10 text-green-400":"bg-red-500/10 text-red-400"),children:n||j.error||"Import failed"}),(0,d.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:b,className:"rounded-lg px-4 py-2 text-sm text-text-muted hover:bg-border/50",children:"Close"}),(0,d.jsx)("button",{type:"button",onClick:m,disabled:h||!f.trim(),className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-white hover:bg-primary/90 disabled:opacity-50",children:h?"Importing...":"Import Tokens"})]})]})})}let m={"single-token":"Token import","bulk-token":"Bulk token import","bulk-account":"Bulk accounts","device-oauth":"Device login",social:"Social login",oauth:"OAuth login"},n=[{id:"kiro",label:"Kiro AI",icon:"psychology_alt",description:"Token import, bulk import, and social login automation.",supportedModes:["single-token","bulk-token","bulk-account","social"],component:function({providerInfo:a,onRefresh:b}){let[c,g]=(0,e.useState)(!1),[h,i]=(0,e.useState)(null),[j,k]=(0,e.useState)(null),l=a=>{k({...a,key:Date.now()}),g(!0)};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-3",children:[{id:"bulk-account",title:"Auto Login Bulk",icon:"group_add",description:"Run bulk gmail|password automation with worker progress and manual assist.",action:()=>l({method:"import",importMode:"bulk-account"})},{id:"bulk-token",title:"Bulk Token",icon:"playlist_add",description:"Import many Kiro refresh tokens, one token per line.",action:()=>l({method:"import",importMode:"bulk-token"})},{id:"single-token",title:"Single Token",icon:"vpn_key",description:"Auto-detect or paste one Kiro refresh token.",action:()=>l({method:"import",importMode:"single-token"})},{id:"builder-id",title:"AWS Builder ID",icon:"shield",description:"Open the standard AWS Builder ID device login.",action:()=>l({method:"builder-id"})},{id:"idc",title:"AWS IDC",icon:"business",description:"Enter an IAM Identity Center start URL and region.",action:()=>l({method:"idc"})},{id:"google",title:"Google Login",icon:"account_circle",description:"Open Kiro social Google login with callback capture.",action:()=>l({method:"social",provider:"google"})}].map(a=>(0,d.jsxs)("button",{type:"button",onClick:a.action,className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:a.icon}),a.title]}),(0,d.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:a.description})]},a.id))}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[h?.jobId&&(0,d.jsxs)(f.Ex,{variant:"default",children:["Bulk job: ",h.status]}),h?.jobId&&(0,d.jsx)(f.$n,{size:"sm",variant:"secondary",icon:"monitoring",onClick:()=>l({method:"import",importMode:"bulk-account"}),children:"Resume Bulk Progress"})]}),(0,d.jsx)(f.Mh,{isOpen:c,providerInfo:a,onSuccess:b,onRefresh:b,initialBulkJobId:h?.jobId||null,initialFlow:j,onBulkJobChange:i,onClose:()=>g(!1)})]})}},{id:"codebuddy",label:"CodeBuddy",icon:"smart_toy",description:"Bulk GSuite automation and browser OAuth polling login.",supportedModes:["bulk-account","device-oauth"],component:function({providerInfo:a,onRefresh:b}){let[c,g]=(0,e.useState)(!1),[h,i]=(0,e.useState)(!1),[k,l]=(0,e.useState)(!1);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-3",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>i(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"group_add"}),"Auto Login + Generate Key"]}),(0,d.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Run bulk GSuite gmail|password login, create a CodeBuddy Access Key, and save it for model calls."})]}),(0,d.jsxs)("button",{type:"button",onClick:()=>l(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"playlist_add"}),"OAuth Token Import"]}),(0,d.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Paste OAuth tokens with optional refresh tokens and API keys for extended access."})]}),(0,d.jsxs)("button",{type:"button",onClick:()=>g(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"login"}),"Device OAuth Login"]}),(0,d.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Open CodeBuddy browser login and poll until the OAuth token is saved."})]})]}),(0,d.jsx)(j,{isOpen:k,onClose:()=>l(!1),onSuccess:b}),(0,d.jsx)(f.Go,{isOpen:h,provider:"codebuddy",title:"CodeBuddy Bulk GSuite Login + Access Key",serviceName:"CodeBuddy",onSuccess:b,onClose:()=>i(!1)}),(0,d.jsx)(f.LF,{isOpen:c,provider:"codebuddy",providerInfo:a,onSuccess:()=>{b?.(),g(!1)},onClose:()=>g(!1)})]})}},{id:"codebuddy-cn",label:"CodeBuddy CN",icon:"smart_toy",description:"Phone-number auto-registration via 5sim SMS, token import, and device OAuth.",supportedModes:["bulk-account","device-oauth"],component:function({providerInfo:a,onRefresh:b}){let[c,g]=(0,e.useState)(!1),[h,i]=(0,e.useState)(!1),[j,l]=(0,e.useState)(!1);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-3",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>g(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"smartphone"}),"Auto Register (Phone)"]}),(0,d.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Bulk auto-register CodeBuddy CN accounts using 5sim Hong Kong phone numbers. Includes device-code token capture."})]}),(0,d.jsxs)("button",{type:"button",onClick:()=>i(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"playlist_add"}),"OAuth Token Import"]}),(0,d.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Paste pre-obtained CodeBuddy CN OAuth tokens with optional refresh tokens."})]}),(0,d.jsxs)("button",{type:"button",onClick:()=>l(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"login"}),"Device OAuth Login"]}),(0,d.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Open CodeBuddy CN browser login and poll until the OAuth token is saved."})]})]}),(0,d.jsx)(f.zE,{isOpen:c,onClose:()=>g(!1),onSuccess:b}),(0,d.jsx)(k,{isOpen:h,onClose:()=>i(!1),onSuccess:b}),(0,d.jsx)(f.LF,{isOpen:j,provider:"codebuddy-cn",providerInfo:a,onSuccess:()=>{b?.(),l(!1)},onClose:()=>l(!1)})]})}},{id:"qoder",label:"Qoder",icon:"code",description:"Bulk GSuite auto login via Google SSO and device flow.",supportedModes:["bulk-account","device-oauth"],component:function({providerInfo:a,onRefresh:b}){let[c,g]=(0,e.useState)(!1),[h,i]=(0,e.useState)(!1);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-3",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>g(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"group_add"}),"Auto Login Bulk"]}),(0,d.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Run bulk gmail:password or gmail|password automation via Google SSO with Qoder device flow."})]}),(0,d.jsxs)("button",{type:"button",onClick:()=>i(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"login"}),"Device OAuth Login"]}),(0,d.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Open Qoder device login in browser and poll until the token is saved."})]})]}),(0,d.jsx)(f.Go,{isOpen:c,provider:"qoder",title:"Qoder Bulk GSuite Auto Login",serviceName:"Qoder",onSuccess:b,onClose:()=>g(!1)}),(0,d.jsx)(f.LF,{isOpen:h,provider:"qoder",providerInfo:a,onSuccess:()=>{b?.(),i(!1)},onClose:()=>i(!1)})]})}},{id:"antigravity",label:"Antigravity",icon:"rocket_launch",description:"Bulk GSuite auto login via Google OAuth (authorization code).",supportedModes:["bulk-account","oauth"],component:function({providerInfo:a,onRefresh:b}){let[c,g]=(0,e.useState)(!1),[h,i]=(0,e.useState)(!1);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-3",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>g(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"group_add"}),"Auto Login Bulk"]}),(0,d.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Run bulk gmail:password or gmail|password automation via Google OAuth (authorization code) for Antigravity."})]}),(0,d.jsxs)("button",{type:"button",onClick:()=>i(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"login"}),"OAuth Login"]}),(0,d.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Open Antigravity Google OAuth in browser and finish the consent manually."})]})]}),(0,d.jsx)(f.Go,{isOpen:c,provider:"antigravity",title:"Antigravity Bulk GSuite Auto Login",serviceName:"Antigravity",onSuccess:b,onClose:()=>g(!1)}),(0,d.jsx)(f.LF,{isOpen:h,provider:"antigravity",providerInfo:a,onSuccess:()=>{b?.(),i(!1)},onClose:()=>i(!1)})]})}},{id:"cloudflare-ai",label:"Cloudflare Workers AI",icon:"cloud",description:"Bulk Google login → Workers AI API token harvest for free-tier CF AI.",supportedModes:["bulk-account"],component:function({onRefresh:a}){let[b,c]=(0,e.useState)(!1);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-3",children:(0,d.jsxs)("button",{type:"button",onClick:()=>c(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"cloud"}),"Bulk Workers AI Tokens"]}),(0,d.jsxs)("span",{className:"text-xs leading-relaxed text-text-muted",children:["Google login to Cloudflare dashboard → create Workers AI API token → save as"," ",(0,d.jsx)("code",{className:"text-[11px]",children:"cloudflare-ai"})," (accountId + token). Paste"," ",(0,d.jsx)("code",{className:"text-[11px]",children:"email:password"})," or ",(0,d.jsx)("code",{className:"text-[11px]",children:"email|password"}),". Uses headed ",(0,d.jsx)("strong",{children:"CloakBrowser"})," (sole automation engine) + residential proxy recommended."]})]})}),(0,d.jsx)(f.Go,{isOpen:b,provider:"cloudflare-ai",title:"Cloudflare Workers AI Bulk Token Harvest",serviceName:"Cloudflare Workers AI",accountsPlaceholder:"user@gmail.com:password\nuser2@gmail.com|password",onSuccess:a,onClose:()=>c(!1)})]})}},{id:"grok-cli",label:"Grok CLI",icon:"auto_awesome",description:"Bulk GSuite auto login via xAI device flow, token import, and device OAuth for Grok Build credits.",supportedModes:["bulk-account","bulk-token","device-oauth"],component:function({providerInfo:a,onRefresh:b}){let[c,g]=(0,e.useState)(!1),[h,i]=(0,e.useState)(!1),[j,k]=(0,e.useState)(!1);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-3",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>g(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"group_add"}),"Auto Login Bulk"]}),(0,d.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Run bulk gmail:password or gmail|password automation via Google SSO on the xAI device login (Grok Build credits)."})]}),(0,d.jsxs)("button",{type:"button",onClick:()=>i(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"playlist_add"}),"Bulk Token Import"]}),(0,d.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Paste many xAI refresh tokens (or access:refresh pairs) — each line becomes a Grok CLI connection."})]}),(0,d.jsxs)("button",{type:"button",onClick:()=>k(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"login"}),"Device OAuth Login"]}),(0,d.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Open xAI device login in browser, enter the code, and the token is saved automatically."})]})]}),(0,d.jsx)(f.Go,{isOpen:c,provider:"grok-cli",title:"Grok CLI Bulk GSuite Auto Login",serviceName:"Grok CLI",onSuccess:b,onClose:()=>g(!1)}),(0,d.jsx)(l,{isOpen:h,onClose:()=>i(!1),onSuccess:b}),(0,d.jsx)(f.LF,{isOpen:j,provider:"grok-cli",providerInfo:a,onSuccess:()=>{b?.(),k(!1)},onClose:()=>k(!1)})]})}}];function o(){let[a,b]=(0,e.useState)([]),[c,j]=(0,e.useState)(!0),[k,l]=(0,e.useState)(n[0].id),o=(0,e.useCallback)(async()=>{try{let a=await fetch("/api/providers",{cache:"no-store"}),c=await a.json();a.ok&&b(c.connections||[])}catch(a){console.log("Error fetching automation connections:",a)}finally{j(!1)}},[]),p=n.find(a=>a.id===k)||n[0],q=g.IS[p.id]||{id:p.id,name:p.label},r=p.component,s=(0,e.useMemo)(()=>{let b={};for(let c of n)b[c.id]=a.filter(a=>a.provider===c.id).length;return b},[a]);return c?(0,d.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,d.jsx)(f.Qv,{}),(0,d.jsx)(f.Qv,{})]}):(0,d.jsxs)("div",{className:"flex min-w-0 flex-col gap-6 px-1 sm:px-0",children:[(0,d.jsx)("div",{className:"flex flex-col gap-1",children:(0,d.jsx)("h1",{className:"text-2xl font-semibold",children:"Automation"})}),(0,d.jsx)("div",{className:"grid gap-3 sm:grid-cols-2",children:n.map(a=>{let b=a.id===k;return(0,d.jsxs)("button",{type:"button",onClick:()=>l(a.id),className:`flex min-w-0 items-center gap-3 rounded-lg border px-4 py-3 text-left transition-colors ${b?"border-primary/50 bg-primary/10 text-primary":"border-border bg-surface text-text-main hover:border-primary/30 hover:bg-primary/5"}`,children:[(0,d.jsx)(h,{id:a.id,icon:a.icon,size:22}),(0,d.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,d.jsx)("span",{className:"block truncate text-sm font-semibold",children:a.label}),(0,d.jsx)("span",{className:"mt-0.5 block text-xs text-text-muted",children:i(s[a.id]||0)})]})]},a.id)})}),(0,d.jsx)(f.Zp,{children:(0,d.jsxs)("div",{className:"flex min-w-0 flex-col gap-4",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(h,{id:p.id,icon:p.icon,size:22}),(0,d.jsx)("h2",{className:"text-lg font-semibold",children:p.label})]}),(0,d.jsx)("span",{className:"mt-1 block text-xs leading-relaxed text-text-muted",children:p.description}),(0,d.jsx)("div",{className:"mt-2 flex flex-wrap gap-1.5",children:p.supportedModes.map(a=>(0,d.jsx)(f.Ex,{variant:"default",size:"sm",children:m[a]},a))})]}),(0,d.jsx)(f.Ex,{variant:"success",children:i(s[p.id]||0)})]}),(0,d.jsx)(r,{providerInfo:q,onRefresh:o})]})})]})}},87550:a=>{"use strict";a.exports=require("better-sqlite3")},94735:a=>{"use strict";a.exports=require("events")},99947:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/zevairouter-build/src/app/(dashboard)/dashboard/automation/page.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.")},"/zevairouter-build/src/app/(dashboard)/dashboard/automation/page.js","default")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,2430,6686,2760,492,3999,5024,3477,5681,1131,412,1756],()=>b(b.s=75361));module.exports=c})();
|
|
1
|
+
(()=>{var a={};a.id=8593,a.ids=[8593],a.modules={3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},38522:a=>{"use strict";a.exports=require("node:zlib")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},46060:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external.js")},46293:a=>{"use strict";a.exports=require("sql.js")},48161:a=>{"use strict";a.exports=require("node:os")},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},64248:(a,b,c)=>{Promise.resolve().then(c.bind(c,99947))},73024:a=>{"use strict";a.exports=require("node:fs")},73976:(a,b,c)=>{Promise.resolve().then(c.bind(c,81926))},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},81926:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>o});var d=c(48249),e=c(67484),f=c(50412),g=c(96919);function h({id:a,icon:b,size:c=22}){let[f,g]=(0,e.useState)(!1);return f?(0,d.jsx)("span",{className:"material-symbols-outlined text-primary",style:{fontSize:c},children:b}):(0,d.jsx)("img",{src:`/providers/${a}.png`,alt:"",width:c,height:c,className:"rounded object-contain",style:{width:c,height:c},onError:()=>g(!0)})}function i(a){return`${a} connection${1===a?"":"s"}`}function j({isOpen:a,onClose:b,onSuccess:c}){let[f,g]=(0,e.useState)(""),[h,i]=(0,e.useState)(!1),[k,l]=(0,e.useState)(null),m=async()=>{if(f.trim()){i(!0),l(null);try{let a=await fetch("/api/oauth/codebuddy/bulk-token",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tokens:f})}),b=await a.json();l(b),b.success&&c?.()}catch(a){l({error:a.message})}finally{i(!1)}}};if(!a)return null;let n=null;if(k?.success){let a=[`Imported ${k.imported}/${k.total} tokens.`];if(k.failed&&a.push(`${k.failed} failed.`),k.formatCounts){let{"access-only":b,"with-refresh":c,"with-api-key":d}=k.formatCounts,e=[];d&&e.push(`${d} with API key`),c&&e.push(`${c} with refresh token`),b&&e.push(`${b} access-only`),e.length&&a.push(`(${e.join(", ")})`)}n=a.join(" ")}return(0,d.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:b,children:(0,d.jsxs)("div",{className:"w-full max-w-lg rounded-xl border border-border bg-surface p-6 shadow-xl",onClick:a=>a.stopPropagation(),children:[(0,d.jsx)("h3",{className:"mb-4 text-lg font-semibold text-text-main",children:"CodeBuddy OAuth Token Import"}),(0,d.jsx)("p",{className:"mb-2 text-xs text-text-muted",children:"Paste CodeBuddy OAuth tokens, one per line. Supports three formats:"}),(0,d.jsxs)("div",{className:"mb-3 space-y-2 rounded-lg bg-background/50 p-3 text-xs text-text-muted",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] text-primary leading-none",children:"check_circle"}),(0,d.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("code",{className:"text-[10px] bg-border/50 px-1.5 py-0.5 rounded leading-none",children:"accessToken"}),(0,d.jsx)("span",{children:"— access token only (24h expiry)"})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] text-primary leading-none",children:"check_circle"}),(0,d.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("code",{className:"text-[10px] bg-border/50 px-1.5 py-0.5 rounded leading-none",children:"accessToken:refreshToken"}),(0,d.jsx)("span",{children:"— enables auto-refresh"})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] text-primary leading-none",children:"check_circle"}),(0,d.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("code",{className:"text-[10px] bg-border/50 px-1.5 py-0.5 rounded leading-none",children:"accessToken:refreshToken:apiKey"}),(0,d.jsx)("span",{children:"— 365-day access"})]})]})]}),(0,d.jsx)("textarea",{className:"mb-3 w-full rounded-lg border border-border bg-background p-3 font-mono text-xs text-text-main placeholder:text-text-muted focus:border-primary focus:outline-none",rows:8,placeholder:"eyJhbGciOiJSUzI1NiIs...\neyJhbGciOiJSUzI1NiIs...:eyJhbGciOiJSUzI1NiIs...\neyJhbGciOiJSUzI1NiIs...:eyJhbGciOiJSUzI1NiIs...:ak_abc123...",value:f,onChange:a=>g(a.target.value),disabled:h}),k&&(0,d.jsx)("div",{className:"mb-3 rounded-lg p-3 text-xs "+(k.success?"bg-green-500/10 text-green-400":"bg-red-500/10 text-red-400"),children:n||k.error||"Import failed"}),(0,d.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:b,className:"rounded-lg px-4 py-2 text-sm text-text-muted hover:bg-border/50",children:"Close"}),(0,d.jsx)("button",{type:"button",onClick:m,disabled:h||!f.trim(),className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-white hover:bg-primary/90 disabled:opacity-50",children:h?"Importing...":"Import Tokens"})]})]})})}function k({isOpen:a,onClose:b,onSuccess:c}){let[f,g]=(0,e.useState)(""),[h,i]=(0,e.useState)(!1),[j,l]=(0,e.useState)(null),m=async()=>{if(f.trim()){i(!0),l(null);try{let a=await fetch("/api/oauth/codebuddy-cn/bulk-token",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tokens:f})}),b=await a.json();l(b),b.success&&c?.()}catch(a){l({error:a.message})}finally{i(!1)}}};if(!a)return null;let n=null;if(j?.success){let a=[`Imported ${j.imported}/${j.total} tokens.`];j.failed&&a.push(`${j.failed} failed.`),n=a.join(" ")}return(0,d.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:b,children:(0,d.jsxs)("div",{className:"w-full max-w-lg rounded-xl border border-border bg-surface p-6 shadow-xl",onClick:a=>a.stopPropagation(),children:[(0,d.jsx)("h3",{className:"mb-4 text-lg font-semibold text-text-main",children:"CodeBuddy CN OAuth Token Import"}),(0,d.jsx)("p",{className:"mb-2 text-xs text-text-muted",children:"Paste CodeBuddy CN OAuth tokens, one per line. Supports:"}),(0,d.jsxs)("div",{className:"mb-3 space-y-1 rounded-lg bg-background/50 p-3 text-xs text-text-muted",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("code",{className:"text-[10px] bg-border/50 px-1.5 py-0.5 rounded",children:"accessToken"})," — access token only"]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("code",{className:"text-[10px] bg-border/50 px-1.5 py-0.5 rounded",children:"accessToken:refreshToken"})," — enables auto-refresh"]})]}),(0,d.jsx)("textarea",{className:"mb-3 w-full rounded-lg border border-border bg-background p-3 font-mono text-xs text-text-main placeholder:text-text-muted focus:border-primary focus:outline-none",rows:8,placeholder:"eyJhbGciOiJSUzI1NiIs...\neyJhbGciOiJSUzI1NiIs...:eyJhbGciOiJSUzI1NiIs...",value:f,onChange:a=>g(a.target.value),disabled:h}),j&&(0,d.jsx)("div",{className:"mb-3 rounded-lg p-3 text-xs "+(j.success?"bg-green-500/10 text-green-400":"bg-red-500/10 text-red-400"),children:n||j.error||"Import failed"}),(0,d.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:b,className:"rounded-lg px-4 py-2 text-sm text-text-muted hover:bg-border/50",children:"Close"}),(0,d.jsx)("button",{type:"button",onClick:m,disabled:h||!f.trim(),className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-white hover:bg-primary/90 disabled:opacity-50",children:h?"Importing...":"Import Tokens"})]})]})})}function l({isOpen:a,onClose:b,onSuccess:c}){let[f,g]=(0,e.useState)(""),[h,i]=(0,e.useState)(!1),[j,k]=(0,e.useState)(null),m=async()=>{if(f.trim()){i(!0),k(null);try{let a=await fetch("/api/oauth/grok-cli/bulk-token",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tokens:f})}),b=await a.json();k(b),b.success&&c?.()}catch(a){k({error:a.message})}finally{i(!1)}}};if(!a)return null;let n=null;if(j?.success){let a=[`Imported ${j.imported}/${j.total} tokens.`];j.failed&&a.push(`${j.failed} failed.`),n=a.join(" ")}return(0,d.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:b,children:(0,d.jsxs)("div",{className:"w-full max-w-lg rounded-xl border border-border bg-surface p-6 shadow-xl",onClick:a=>a.stopPropagation(),children:[(0,d.jsx)("h3",{className:"mb-4 text-lg font-semibold text-text-main",children:"Grok CLI Token Import"}),(0,d.jsx)("p",{className:"mb-2 text-xs text-text-muted",children:"Paste xAI / Grok CLI tokens, one per line. Supports:"}),(0,d.jsxs)("div",{className:"mb-3 space-y-1 rounded-lg bg-background/50 p-3 text-xs text-text-muted",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("code",{className:"text-[10px] bg-border/50 px-1.5 py-0.5 rounded",children:"refreshToken"})," — refreshed immediately for a fresh access token"]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("code",{className:"text-[10px] bg-border/50 px-1.5 py-0.5 rounded",children:"accessToken:refreshToken"})," — imported as-is (auto-refreshed if expired)"]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("code",{className:"text-[10px] bg-border/50 px-1.5 py-0.5 rounded",children:"accessToken:refreshToken:email"})," — skips account email lookup"]})]}),(0,d.jsx)("textarea",{className:"mb-3 w-full rounded-lg border border-border bg-background p-3 font-mono text-xs text-text-main placeholder:text-text-muted focus:border-primary focus:outline-none",rows:8,placeholder:"rt_xxx...\neyJhbGciOi...:rt_xxx...\neyJhbGciOi...:rt_xxx...:user@example.com",value:f,onChange:a=>g(a.target.value),disabled:h}),j&&(0,d.jsx)("div",{className:"mb-3 rounded-lg p-3 text-xs "+(j.success?"bg-green-500/10 text-green-400":"bg-red-500/10 text-red-400"),children:n||j.error||"Import failed"}),(0,d.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:b,className:"rounded-lg px-4 py-2 text-sm text-text-muted hover:bg-border/50",children:"Close"}),(0,d.jsx)("button",{type:"button",onClick:m,disabled:h||!f.trim(),className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-white hover:bg-primary/90 disabled:opacity-50",children:h?"Importing...":"Import Tokens"})]})]})})}let m={"single-token":"Token import","bulk-token":"Bulk token import","bulk-account":"Bulk accounts","device-oauth":"Device login",social:"Social login",oauth:"OAuth login"},n=[{id:"kiro",label:"Kiro AI",icon:"psychology_alt",description:"Token import, bulk import, and social login automation.",supportedModes:["single-token","bulk-token","bulk-account","social"],component:function({providerInfo:a,onRefresh:b}){let[c,g]=(0,e.useState)(!1),[h,i]=(0,e.useState)(null),[j,k]=(0,e.useState)(null),l=a=>{k({...a,key:Date.now()}),g(!0)};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-3",children:[{id:"bulk-account",title:"Auto Login Bulk",icon:"group_add",description:"Run bulk gmail|password automation with worker progress and manual assist.",action:()=>l({method:"import",importMode:"bulk-account"})},{id:"bulk-token",title:"Bulk Token",icon:"playlist_add",description:"Import many Kiro refresh tokens, one token per line.",action:()=>l({method:"import",importMode:"bulk-token"})},{id:"single-token",title:"Single Token",icon:"vpn_key",description:"Auto-detect or paste one Kiro refresh token.",action:()=>l({method:"import",importMode:"single-token"})},{id:"builder-id",title:"AWS Builder ID",icon:"shield",description:"Open the standard AWS Builder ID device login.",action:()=>l({method:"builder-id"})},{id:"idc",title:"AWS IDC",icon:"business",description:"Enter an IAM Identity Center start URL and region.",action:()=>l({method:"idc"})},{id:"google",title:"Google Login",icon:"account_circle",description:"Open Kiro social Google login with callback capture.",action:()=>l({method:"social",provider:"google"})}].map(a=>(0,d.jsxs)("button",{type:"button",onClick:a.action,className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:a.icon}),a.title]}),(0,d.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:a.description})]},a.id))}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[h?.jobId&&(0,d.jsxs)(f.Ex,{variant:"default",children:["Bulk job: ",h.status]}),h?.jobId&&(0,d.jsx)(f.$n,{size:"sm",variant:"secondary",icon:"monitoring",onClick:()=>l({method:"import",importMode:"bulk-account"}),children:"Resume Bulk Progress"})]}),(0,d.jsx)(f.Mh,{isOpen:c,providerInfo:a,onSuccess:b,onRefresh:b,initialBulkJobId:h?.jobId||null,initialFlow:j,onBulkJobChange:i,onClose:()=>g(!1)})]})}},{id:"codebuddy",label:"CodeBuddy",icon:"smart_toy",description:"Bulk GSuite automation and browser OAuth polling login.",supportedModes:["bulk-account","device-oauth"],component:function({providerInfo:a,onRefresh:b}){let[c,g]=(0,e.useState)(!1),[h,i]=(0,e.useState)(!1),[k,l]=(0,e.useState)(!1);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-3",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>i(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"group_add"}),"Auto Login + Generate Key"]}),(0,d.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Run bulk GSuite gmail|password login, create a CodeBuddy Access Key, and save it for model calls."})]}),(0,d.jsxs)("button",{type:"button",onClick:()=>l(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"playlist_add"}),"OAuth Token Import"]}),(0,d.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Paste OAuth tokens with optional refresh tokens and API keys for extended access."})]}),(0,d.jsxs)("button",{type:"button",onClick:()=>g(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"login"}),"Device OAuth Login"]}),(0,d.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Open CodeBuddy browser login and poll until the OAuth token is saved."})]})]}),(0,d.jsx)(j,{isOpen:k,onClose:()=>l(!1),onSuccess:b}),(0,d.jsx)(f.Go,{isOpen:h,provider:"codebuddy",title:"CodeBuddy Bulk GSuite Login + Access Key",serviceName:"CodeBuddy",onSuccess:b,onClose:()=>i(!1)}),(0,d.jsx)(f.LF,{isOpen:c,provider:"codebuddy",providerInfo:a,onSuccess:()=>{b?.(),g(!1)},onClose:()=>g(!1)})]})}},{id:"codebuddy-cn",label:"CodeBuddy CN",icon:"smart_toy",description:"Phone-number auto-registration via 5sim SMS, token import, and device OAuth.",supportedModes:["bulk-account","device-oauth"],component:function({providerInfo:a,onRefresh:b}){let[c,g]=(0,e.useState)(!1),[h,i]=(0,e.useState)(!1),[j,l]=(0,e.useState)(!1);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-3",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>g(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"smartphone"}),"Auto Register (Phone)"]}),(0,d.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Bulk auto-register CodeBuddy CN accounts using 5sim Hong Kong phone numbers. Includes device-code token capture."})]}),(0,d.jsxs)("button",{type:"button",onClick:()=>i(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"playlist_add"}),"OAuth Token Import"]}),(0,d.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Paste pre-obtained CodeBuddy CN OAuth tokens with optional refresh tokens."})]}),(0,d.jsxs)("button",{type:"button",onClick:()=>l(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"login"}),"Device OAuth Login"]}),(0,d.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Open CodeBuddy CN browser login and poll until the OAuth token is saved."})]})]}),(0,d.jsx)(f.zE,{isOpen:c,onClose:()=>g(!1),onSuccess:b}),(0,d.jsx)(k,{isOpen:h,onClose:()=>i(!1),onSuccess:b}),(0,d.jsx)(f.LF,{isOpen:j,provider:"codebuddy-cn",providerInfo:a,onSuccess:()=>{b?.(),l(!1)},onClose:()=>l(!1)})]})}},{id:"qoder",label:"Qoder",icon:"code",description:"Bulk GSuite auto login via Google SSO and device flow.",supportedModes:["bulk-account","device-oauth"],component:function({providerInfo:a,onRefresh:b}){let[c,g]=(0,e.useState)(!1),[h,i]=(0,e.useState)(!1);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-3",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>g(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"group_add"}),"Auto Login Bulk"]}),(0,d.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Run bulk gmail:password or gmail|password automation via Google SSO with Qoder device flow."})]}),(0,d.jsxs)("button",{type:"button",onClick:()=>i(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"login"}),"Device OAuth Login"]}),(0,d.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Open Qoder device login in browser and poll until the token is saved."})]})]}),(0,d.jsx)(f.Go,{isOpen:c,provider:"qoder",title:"Qoder Bulk GSuite Auto Login",serviceName:"Qoder",onSuccess:b,onClose:()=>g(!1)}),(0,d.jsx)(f.LF,{isOpen:h,provider:"qoder",providerInfo:a,onSuccess:()=>{b?.(),i(!1)},onClose:()=>i(!1)})]})}},{id:"antigravity",label:"Antigravity",icon:"rocket_launch",description:"Bulk GSuite auto login via Google OAuth (authorization code).",supportedModes:["bulk-account","oauth"],component:function({providerInfo:a,onRefresh:b}){let[c,g]=(0,e.useState)(!1),[h,i]=(0,e.useState)(!1);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-3",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>g(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"group_add"}),"Auto Login Bulk"]}),(0,d.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Run bulk gmail:password or gmail|password automation via Google OAuth (authorization code) for Antigravity."})]}),(0,d.jsxs)("button",{type:"button",onClick:()=>i(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"login"}),"OAuth Login"]}),(0,d.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Open Antigravity Google OAuth in browser and finish the consent manually."})]})]}),(0,d.jsx)(f.Go,{isOpen:c,provider:"antigravity",title:"Antigravity Bulk GSuite Auto Login",serviceName:"Antigravity",onSuccess:b,onClose:()=>g(!1)}),(0,d.jsx)(f.LF,{isOpen:h,provider:"antigravity",providerInfo:a,onSuccess:()=>{b?.(),i(!1)},onClose:()=>i(!1)})]})}},{id:"cloudflare-ai",label:"Cloudflare Workers AI",icon:"cloud",description:"Bulk Google login → Workers AI API token harvest for free-tier CF AI.",supportedModes:["bulk-account"],component:function({onRefresh:a}){let[b,c]=(0,e.useState)(!1);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-3",children:(0,d.jsxs)("button",{type:"button",onClick:()=>c(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"cloud"}),"Bulk Workers AI Tokens"]}),(0,d.jsxs)("span",{className:"text-xs leading-relaxed text-text-muted",children:["Google login to Cloudflare dashboard → create Workers AI API token → save as"," ",(0,d.jsx)("code",{className:"text-[11px]",children:"cloudflare-ai"})," (accountId + token). Paste"," ",(0,d.jsx)("code",{className:"text-[11px]",children:"email:password"})," or ",(0,d.jsx)("code",{className:"text-[11px]",children:"email|password"}),". Uses headed ",(0,d.jsx)("strong",{children:"CloakBrowser"})," (sole automation engine) + residential proxy recommended."]})]})}),(0,d.jsx)(f.Go,{isOpen:b,provider:"cloudflare-ai",title:"Cloudflare Workers AI Bulk Token Harvest",serviceName:"Cloudflare Workers AI",accountsPlaceholder:"user@gmail.com:password\nuser2@gmail.com|password",onSuccess:a,onClose:()=>c(!1)})]})}},{id:"grok-cli",label:"Grok CLI",icon:"auto_awesome",description:"Bulk GSuite auto login via xAI device flow, token import, and device OAuth for Grok Build credits.",supportedModes:["bulk-account","bulk-token","device-oauth"],component:function({providerInfo:a,onRefresh:b}){let[c,g]=(0,e.useState)(!1),[h,i]=(0,e.useState)(!1),[j,k]=(0,e.useState)(!1);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-3",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>g(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"group_add"}),"Auto Login Bulk"]}),(0,d.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Run bulk gmail:password or gmail|password automation via Google SSO on the xAI device login (Grok Build credits)."})]}),(0,d.jsxs)("button",{type:"button",onClick:()=>i(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"playlist_add"}),"Bulk Token Import"]}),(0,d.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Paste many xAI refresh tokens (or access:refresh pairs) — each line becomes a Grok CLI connection."})]}),(0,d.jsxs)("button",{type:"button",onClick:()=>k(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"login"}),"Device OAuth Login"]}),(0,d.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Open xAI device login in browser, enter the code, and the token is saved automatically."})]})]}),(0,d.jsx)(f.Go,{isOpen:c,provider:"grok-cli",title:"Grok CLI Bulk GSuite Auto Login",serviceName:"Grok CLI",onSuccess:b,onClose:()=>g(!1)}),(0,d.jsx)(l,{isOpen:h,onClose:()=>i(!1),onSuccess:b}),(0,d.jsx)(f.LF,{isOpen:j,provider:"grok-cli",providerInfo:a,onSuccess:()=>{b?.(),k(!1)},onClose:()=>k(!1)})]})}}];function o(){let[a,b]=(0,e.useState)([]),[c,j]=(0,e.useState)(!0),[k,l]=(0,e.useState)(n[0].id),o=(0,e.useCallback)(async()=>{try{let a=await fetch("/api/providers",{cache:"no-store"}),c=await a.json();a.ok&&b(c.connections||[])}catch(a){console.log("Error fetching automation connections:",a)}finally{j(!1)}},[]),p=n.find(a=>a.id===k)||n[0],q=g.IS[p.id]||{id:p.id,name:p.label},r=p.component,s=(0,e.useMemo)(()=>{let b={};for(let c of n)b[c.id]=a.filter(a=>a.provider===c.id).length;return b},[a]);return c?(0,d.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,d.jsx)(f.Qv,{}),(0,d.jsx)(f.Qv,{})]}):(0,d.jsxs)("div",{className:"flex min-w-0 flex-col gap-6 px-1 sm:px-0",children:[(0,d.jsx)("div",{className:"flex flex-col gap-1",children:(0,d.jsx)("h1",{className:"text-2xl font-semibold",children:"Automation"})}),(0,d.jsx)("div",{className:"grid gap-3 sm:grid-cols-2",children:n.map(a=>{let b=a.id===k;return(0,d.jsxs)("button",{type:"button",onClick:()=>l(a.id),className:`flex min-w-0 items-center gap-3 rounded-lg border px-4 py-3 text-left transition-colors ${b?"border-primary/50 bg-primary/10 text-primary":"border-border bg-surface text-text-main hover:border-primary/30 hover:bg-primary/5"}`,children:[(0,d.jsx)(h,{id:a.id,icon:a.icon,size:22}),(0,d.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,d.jsx)("span",{className:"block truncate text-sm font-semibold",children:a.label}),(0,d.jsx)("span",{className:"mt-0.5 block text-xs text-text-muted",children:i(s[a.id]||0)})]})]},a.id)})}),(0,d.jsx)(f.Zp,{children:(0,d.jsxs)("div",{className:"flex min-w-0 flex-col gap-4",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(h,{id:p.id,icon:p.icon,size:22}),(0,d.jsx)("h2",{className:"text-lg font-semibold",children:p.label})]}),(0,d.jsx)("span",{className:"mt-1 block text-xs leading-relaxed text-text-muted",children:p.description}),(0,d.jsx)("div",{className:"mt-2 flex flex-wrap gap-1.5",children:p.supportedModes.map(a=>(0,d.jsx)(f.Ex,{variant:"default",size:"sm",children:m[a]},a))})]}),(0,d.jsx)(f.Ex,{variant:"success",children:i(s[p.id]||0)})]}),(0,d.jsx)(r,{providerInfo:q,onRefresh:o})]})})]})}},87550:a=>{"use strict";a.exports=require("better-sqlite3")},90979:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>w,handler:()=>y,routeModule:()=>x});var d=c(21635),e=c(86315),f=c(1020),g=c(61287),h={};for(let a in g)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(h[a]=()=>g[a]);c.d(b,h);let i=(0,d.p)(()=>Promise.resolve().then(c.bind(c,32059))),j=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),k=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),l=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),m=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),n=(0,d.p)(()=>Promise.resolve().then(c.bind(c,30508))),o=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),p=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),q=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),r=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),s=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),t=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),u={children:["",{children:["(dashboard)",{children:["dashboard",{children:["automation",{children:["__PAGE__",{},{page:[(0,d.p)(()=>Promise.resolve().then(c.bind(c,99947))),"/zevairouter-build/src/app/(dashboard)/dashboard/automation/page.js"]}]},{"global-error":[t,"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[s,"next/dist/client/components/builtin/global-error.js"]},[]]},{layout:[n,"/zevairouter-build/src/app/(dashboard)/layout.js"],"global-error":[o,"next/dist/client/components/builtin/global-error.js"],"not-found":[p,"next/dist/client/components/builtin/not-found.js"],forbidden:[q,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[r,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]},{layout:[i,"/zevairouter-build/src/app/layout.js"],"global-error":[j,"next/dist/client/components/builtin/global-error.js"],"not-found":[k,"next/dist/client/components/builtin/not-found.js"],forbidden:[l,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[m,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]}.children,v=(0,e.H)({tree:u,page:"/(dashboard)/dashboard/automation/page",pathname:"/dashboard/automation",require:c,loadChunk:()=>Promise.resolve(),interopDefault:f.T}),w=v.__next_app__,x=v.routeModule,y=v.handler},94735:a=>{"use strict";a.exports=require("events")},99947:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/zevairouter-build/src/app/(dashboard)/dashboard/automation/page.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.")},"/zevairouter-build/src/app/(dashboard)/dashboard/automation/page.js","default")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,2430,6686,2760,492,3999,5024,3477,5681,1131,412,1756],()=>b(b.s=90979));module.exports=c})();
|