zevairouter 1.0.152 → 1.0.154
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 +24 -0
- package/cli/app/.next-cli-build/BUILD_ID +1 -1
- package/cli/app/.next-cli-build/app-path-routes-manifest.json +13 -11
- package/cli/app/.next-cli-build/build-manifest.json +2 -2
- package/cli/app/.next-cli-build/routes-manifest.json +14 -0
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +3 -3
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +19 -19
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +4 -4
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +4 -4
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error/page.js +3 -3
- package/cli/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.html +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.rsc +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/_global-error.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_index.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 +2 -2
- package/cli/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found.html +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- 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/login/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cache/stats/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cache/stats/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/changelog/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/changelog/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-gateway/accounts/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-gateway/accounts/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/combos/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/context/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/context/[id]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/context/bulk/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/context/bulk/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/context/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/context/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/dashboard/chat/completions/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/dashboard/chat/completions/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/dashboard/cli-tools/keys/route.js +1 -0
- package/cli/app/.next-cli-build/server/app/api/dashboard/cli-tools/keys/route.js.nft.json +1 -0
- package/cli/app/.next-cli-build/server/app/api/dashboard/cli-tools/keys/route_client-reference-manifest.js +1 -0
- package/cli/app/.next-cli-build/server/app/api/dashboard/media/[operation]/route.js +1 -0
- package/cli/app/.next-cli-build/server/app/api/dashboard/media/[operation]/route.js.nft.json +1 -0
- package/cli/app/.next-cli-build/server/app/api/dashboard/media/[operation]/route_client-reference-manifest.js +1 -0
- package/cli/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/health/ready/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/health/ready/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/health/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/init/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/keys/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/locale/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/metrics/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/metrics/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/latest/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/latest/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/latest/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/latest/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/latest/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/latest/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-token/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-token/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/quota-cookie/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/quota-cookie/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/latest/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/latest/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-token/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-token/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/quota-cookie/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/quota-cookie/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/latest/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/latest/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/latest/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/latest/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/bulk-delete/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/bulk-delete/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/health/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/restart/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/start/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/stats/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/tags/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/auth/setup/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/auth/setup/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/auth/status/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/auth/status/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/auth/unlock/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/auth/unlock/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/input/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/input/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/resize/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/resize/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/stream/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/stream/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/aggregate/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/aggregate/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/stream/route.js +3 -5
- package/cli/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -4
- package/cli/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/version/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/callback/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/callback.html +1 -1
- package/cli/app/.next-cli-build/server/app/callback.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +3 -3
- 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 +1 -1
- package/cli/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/automation.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/automation.rsc +5 -5
- 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/!KGRhc2hib2FyZCk/dashboard/automation.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_index.segment.rsc +3 -3
- 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 +5 -5
- 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/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +3 -3
- 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 +5 -5
- 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/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +3 -3
- 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 +5 -5
- 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/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +3 -3
- 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 +5 -5
- 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/!KGRhc2hib2FyZCk/dashboard/context.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_index.segment.rsc +3 -3
- 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 +5 -5
- 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/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +3 -3
- 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 +5 -5
- 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/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +3 -3
- 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 +5 -5
- 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/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +3 -3
- 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 +5 -5
- 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/!KGRhc2hib2FyZCk/dashboard/playground.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_index.segment.rsc +3 -3
- 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 +5 -5
- 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/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +3 -3
- 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 +5 -5
- 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/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +3 -3
- 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 +5 -5
- 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/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +3 -3
- 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 +5 -5
- 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/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +3 -3
- 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 +5 -5
- 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/!KGRhc2hib2FyZCk/dashboard/pxpipe.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_index.segment.rsc +3 -3
- 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 +6 -6
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +6 -6
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +3 -3
- 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/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +3 -3
- 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/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.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 +5 -5
- 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/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +3 -3
- 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 +5 -5
- 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/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +3 -3
- 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 +5 -5
- 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/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +3 -3
- 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 +5 -5
- 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/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +3 -3
- 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 +3 -3
- package/cli/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +3 -3
- 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 +2 -2
- package/cli/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/landing.html +1 -1
- package/cli/app/.next-cli-build/server/app/landing.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +3 -3
- 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/landing.segments/landing.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/login/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/login.html +1 -1
- package/cli/app/.next-cli-build/server/app/login.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +3 -3
- 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/login.segments/login.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app-paths-manifest.json +13 -11
- package/cli/app/.next-cli-build/server/chunks/1188.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/2557.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/2732.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/3104.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/3110.js +9 -8
- package/cli/app/.next-cli-build/server/chunks/3155.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/318.js +11 -9
- package/cli/app/.next-cli-build/server/chunks/3579.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/3593.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/412.js +2 -2
- package/cli/app/.next-cli-build/server/chunks/4229.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/4404.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/4470.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/4566.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/4632.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/4720.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/4739.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/4746.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/4780.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/507.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/5236.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/5258.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/5307.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/5436.js +4 -0
- package/cli/app/.next-cli-build/server/chunks/5949.js +3 -3
- package/cli/app/.next-cli-build/server/chunks/6036.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/698.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/7239.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/7965.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/8028.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/8255.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/8306.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/8371.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/8520.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/877.js +24 -0
- package/cli/app/.next-cli-build/server/chunks/8895.js +7 -7
- package/cli/app/.next-cli-build/server/chunks/891.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/9372.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/9489.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/9621.js +1 -1
- package/cli/app/.next-cli-build/server/functions-config-manifest.json +4 -0
- package/cli/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/middleware.js +4 -4
- 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/static/SC3btW1lCuB9q-iyIwwWK/_buildManifest.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/5497-f1e851d6feffa7c0.js +7 -0
- package/cli/app/.next-cli-build/static/chunks/{620-51d6fc84653a20a0.js → 620-a13f0f7b318585ab.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-da4bf4d40037f090.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-27b7575d0d2d59fa.js → page-19f56d717383fbf9.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-59c81d5cf13456ba.js +59 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/page-4c46f9cac4765fc5.js +4 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/page-57c4b3a5e8b61f18.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/{page-ceb414eddc31fbfc.js → page-bdcc38dc8f8c5619.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-b4f4b88642bbe60d.js +3 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-16d3736170202fcd.js +4 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-3e2009fdd918191b.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-6062386d726c38dd.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-59c5060c7f023ab8.js → layout-203b0a53f7406968.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/_global-error/page-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/login/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/logout/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/status/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cache/stats/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/changelog/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-gateway/accounts/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/combos/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/context/[id]/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/context/bulk/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/context/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/chat/completions/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/cli-tools/keys/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/media/[operation]/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/start/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/status/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/health/ready/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/health/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/init/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/keys/[id]/rotate/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/keys/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/locale/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/metrics/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/models/alias/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/models/availability/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/models/custom/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/models/disabled/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/models/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/models/test/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/latest/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/latest/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/latest/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-token/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/quota-cookie/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/latest/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-token/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/quota-cookie/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/latest/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/latest/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pricing/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/bulk-delete/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/client/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/validate/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/database/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/shutdown/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tags/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/setup/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/status/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/unlock/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/input/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/resize/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/stream/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/load/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/save/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/send/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/translate/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/aggregate/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/chart/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/history/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/providers/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/stats/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/stream/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/search/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/version/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/version/update/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/page-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-f29633932d5ddd5a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-f29633932d5ddd5a.js +1 -0
- package/cli/app/CHANGELOG.md +24 -0
- package/cli/app/package.json +5 -3
- package/cli/app/src/lib/db/adapters/betterSqliteAdapter.js +6 -3
- package/cli/app/src/lib/db/adapters/bunSqliteAdapter.js +4 -2
- package/cli/app/src/lib/db/adapters/nodeSqliteAdapter.js +4 -2
- package/cli/app/src/lib/db/adapters/sqljsAdapter.js +84 -27
- package/cli/app/src/lib/db/maintenance.js +6 -0
- package/cli/package.json +1 -1
- package/cli/src/cli/api/client.js +3 -1
- package/open-sse/executors/github.js +7 -3
- package/open-sse/executors/kiro.js +29 -0
- package/open-sse/handlers/chatCore/nonStreamingHandler.js +40 -12
- package/open-sse/handlers/chatCore/sseToJsonHandler.js +348 -53
- package/open-sse/handlers/chatCore/streamingHandler.js +33 -11
- package/open-sse/handlers/chatCore.js +21 -6
- package/open-sse/handlers/responsesHandler.js +5 -70
- package/open-sse/services/accountFallback.js +146 -18
- package/open-sse/transformer/responsesTransformer.js +246 -176
- package/open-sse/transformer/streamToJsonConverter.js +68 -24
- package/open-sse/translator/helpers/claudeHelper.js +3 -2
- package/open-sse/translator/helpers/imageHelper.js +72 -8
- package/open-sse/translator/helpers/responsesApiHelper.js +100 -25
- package/open-sse/translator/index.js +4 -1
- package/open-sse/translator/request/antigravity-to-openai.js +40 -14
- package/open-sse/translator/request/claude-to-openai.js +74 -28
- package/open-sse/translator/request/openai-responses.js +84 -190
- package/open-sse/translator/request/openai-to-claude.js +40 -14
- package/open-sse/translator/request/openai-to-commandcode.js +11 -3
- package/open-sse/translator/request/openai-to-cursor.js +18 -6
- package/open-sse/translator/request/openai-to-gemini.js +7 -5
- package/open-sse/translator/request/openai-to-kiro.js +15 -3
- package/open-sse/translator/response/openai-responses.js +71 -37
- package/open-sse/utils/responsesStreamHelpers.js +73 -16
- package/open-sse/utils/stream.js +183 -73
- package/open-sse/utils/streamHandler.js +18 -6
- package/open-sse/utils/usageTracking.js +1 -1
- package/package.json +5 -3
- package/postcss.config.mjs +3 -1
- package/src/app/(dashboard)/dashboard/cli-tools/CLIToolsPageClient.js +5 -1
- package/src/app/(dashboard)/dashboard/cli-tools/[toolId]/ToolDetailClient.js +1 -1
- package/src/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +35 -41
- package/src/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +9 -9
- package/src/app/(dashboard)/dashboard/mitm/MitmPageClient.js +1 -1
- package/src/app/(dashboard)/dashboard/profile/page.js +3 -3
- package/src/app/(dashboard)/dashboard/providers/[id]/ConnectionRow.js +3 -26
- package/src/app/(dashboard)/dashboard/providers/[id]/page.js +29 -30
- package/src/app/(dashboard)/dashboard/providers/components/ConnectionsCard.js +3 -16
- package/src/app/(dashboard)/dashboard/proxy-pools/page.js +16 -4
- package/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/index.js +23 -21
- package/src/app/(dashboard)/dashboard/usage/components/RequestDetailsTab.js +25 -6
- package/src/app/api/dashboard/cli-tools/keys/route.js +33 -0
- package/src/app/api/dashboard/media/[operation]/route.js +60 -0
- package/src/app/api/keys/[id]/route.js +62 -12
- package/src/app/api/keys/route.js +20 -6
- package/src/app/api/metrics/route.js +3 -2
- package/src/app/api/providers/[id]/route.js +79 -17
- package/src/app/api/providers/[id]/test/testUtils.js +11 -2
- package/src/app/api/providers/client/route.js +33 -31
- package/src/app/api/providers/route.js +87 -16
- package/src/app/api/providers/suggested-models/route.js +1 -0
- package/src/app/api/proxy-pools/[id]/route.js +16 -4
- package/src/app/api/proxy-pools/[id]/test/route.js +4 -2
- package/src/app/api/proxy-pools/route.js +23 -4
- package/src/app/api/usage/aggregate/route.js +6 -0
- package/src/app/api/usage/stream/route.js +106 -43
- package/src/app/api/v1/responses/compact/route.js +21 -3
- package/src/lib/db/adapters/betterSqliteAdapter.js +6 -3
- package/src/lib/db/adapters/bunSqliteAdapter.js +4 -2
- package/src/lib/db/adapters/nodeSqliteAdapter.js +4 -2
- package/src/lib/db/adapters/sqljsAdapter.js +84 -27
- package/src/lib/db/driver.js +27 -7
- package/src/lib/db/maintenance.js +6 -0
- package/src/lib/db/repos/requestDetailsRepo.js +35 -9
- package/src/lib/db/repos/settingsRepo.js +2 -0
- package/src/lib/db/repos/usageRepo.js +191 -52
- package/src/lib/headroom/process.js +128 -61
- package/src/lib/oauth/services/bulkImportBrowserEngine.js +141 -31
- package/src/lib/oauth/services/codebuddyCnBulkImportManager.js +265 -55
- package/src/lib/oauth/services/codebuddyCnPhoneAutomation.js +84 -24
- package/src/lib/oauth/services/fiveSimClient.js +237 -40
- package/src/lib/oauth/services/kiroBulkImportManager.js +178 -45
- package/src/lib/providerConnectionSanitizer.js +180 -0
- package/src/lib/responseCache.js +23 -13
- package/src/lib/safeFetch.js +101 -4
- package/src/lib/usage/quotaRefresh.js +51 -22
- package/src/lib/usage/quotaService.js +54 -2
- package/src/shared/components/BulkAccountAutomationModal.js +12 -16
- package/src/shared/components/CodeBuddyCnPhoneRegisterModal.js +13 -15
- package/src/shared/components/KiroAuthModal.js +23 -26
- package/src/shared/components/Modal.js +4 -1
- package/src/shared/components/UsageStats.js +4 -7
- package/src/shared/hooks/useModelLockUntil.js +18 -0
- package/src/shared/services/initializeApp.js +20 -3
- package/src/shared/utils/asyncPolling.js +27 -0
- package/src/shared/utils/connectionStatus.js +9 -3
- package/src/shared/utils/dashboardMedia.js +19 -0
- package/src/shared/utils/modelLockTimer.js +32 -0
- package/src/shared/utils/usageStats.js +10 -0
- package/src/sse/handlers/chat.js +12 -3
- package/src/sse/handlers/streamFailure.js +34 -0
- package/src/sse/services/auth.js +73 -33
- package/cli/app/.next-cli-build/server/chunks/5024.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/601.js +0 -24
- package/cli/app/.next-cli-build/static/chunks/5497-8d0ec2995dc0a392.js +0 -7
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-f16310d2b403445e.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-a35d16eda369d68e.js +0 -59
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/page-e7989e6397c3cd28.js +0 -4
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/page-81eaa9fe75830559.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-4f6f0b7c3b3da037.js +0 -3
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-9e3ac0e62a8bba94.js +0 -4
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-579bf915396efc69.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-bc3ada97fab644b3.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/_global-error/page-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/login/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/logout/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/status/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cache/stats/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/changelog/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-gateway/accounts/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/combos/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/context/[id]/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/context/bulk/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/context/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/chat/completions/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/start/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/status/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/health/ready/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/health/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/init/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/keys/[id]/rotate/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/keys/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/locale/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/metrics/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/models/alias/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/models/availability/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/models/custom/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/models/disabled/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/models/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/models/test/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/latest/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/latest/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/latest/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-token/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/quota-cookie/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/latest/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-token/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/quota-cookie/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/latest/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/latest/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pricing/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/bulk-delete/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/client/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/validate/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/database/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/shutdown/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tags/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/setup/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/status/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/unlock/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/input/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/resize/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/stream/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/load/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/save/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/send/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/translate/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/aggregate/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/chart/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/history/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/providers/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/stats/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/stream/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/search/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/version/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/version/update/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/page-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-915c9a5b78eafa55.js +0 -1
- package/cli/app/.next-cli-build/static/i-IN0_JUvDPX2TawfW0UV/_buildManifest.js +0 -1
- /package/cli/app/.next-cli-build/static/{i-IN0_JUvDPX2TawfW0UV → SC3btW1lCuB9q-iyIwwWK}/_ssgManifest.js +0 -0
package/src/lib/safeFetch.js
CHANGED
|
@@ -24,7 +24,10 @@ export function isPrivateAddress(address) {
|
|
|
24
24
|
|
|
25
25
|
export async function readJsonResponse(response, maxBytes) {
|
|
26
26
|
const declaredLength = Number(response.headers.get("content-length"));
|
|
27
|
-
if (declaredLength > maxBytes)
|
|
27
|
+
if (declaredLength > maxBytes) {
|
|
28
|
+
await response.body?.cancel?.();
|
|
29
|
+
throw new Error("Response body is too large");
|
|
30
|
+
}
|
|
28
31
|
|
|
29
32
|
const chunks = [];
|
|
30
33
|
let size = 0;
|
|
@@ -36,6 +39,95 @@ export async function readJsonResponse(response, maxBytes) {
|
|
|
36
39
|
return JSON.parse(Buffer.concat(chunks).toString("utf8"));
|
|
37
40
|
}
|
|
38
41
|
|
|
42
|
+
function abortError(signal) {
|
|
43
|
+
if (signal?.reason) return signal.reason;
|
|
44
|
+
return Object.assign(new Error("The operation was aborted"), { name: "AbortError" });
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
async function lookupWithSignal(hostname, signal) {
|
|
48
|
+
if (!signal) return dns.lookup(hostname, { all: true });
|
|
49
|
+
if (signal.aborted) throw abortError(signal);
|
|
50
|
+
|
|
51
|
+
const lookup = dns.lookup(hostname, { all: true });
|
|
52
|
+
return new Promise((resolve, reject) => {
|
|
53
|
+
let settled = false;
|
|
54
|
+
const finish = (error, addresses) => {
|
|
55
|
+
if (settled) return;
|
|
56
|
+
settled = true;
|
|
57
|
+
signal.removeEventListener("abort", onAbort);
|
|
58
|
+
if (error) reject(error);
|
|
59
|
+
else resolve(addresses);
|
|
60
|
+
};
|
|
61
|
+
const onAbort = () => finish(abortError(signal));
|
|
62
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
63
|
+
lookup.then(
|
|
64
|
+
(addresses) => finish(null, addresses),
|
|
65
|
+
(error) => finish(error),
|
|
66
|
+
);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
function wrapResponseBody(response, dispatcher, signal) {
|
|
71
|
+
if (!response.body?.getReader) return null;
|
|
72
|
+
|
|
73
|
+
const reader = response.body.getReader();
|
|
74
|
+
let closePromise = null;
|
|
75
|
+
let released = false;
|
|
76
|
+
const releaseReader = () => {
|
|
77
|
+
if (released) return;
|
|
78
|
+
released = true;
|
|
79
|
+
reader.releaseLock();
|
|
80
|
+
};
|
|
81
|
+
const closeDispatcher = () => {
|
|
82
|
+
signal?.removeEventListener("abort", onAbort);
|
|
83
|
+
closePromise ||= Promise.resolve(dispatcher.close()).catch(() => {});
|
|
84
|
+
return closePromise;
|
|
85
|
+
};
|
|
86
|
+
const onAbort = () => {
|
|
87
|
+
void closeDispatcher();
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
if (signal?.aborted) onAbort();
|
|
91
|
+
else signal?.addEventListener("abort", onAbort, { once: true });
|
|
92
|
+
|
|
93
|
+
const body = new ReadableStream({
|
|
94
|
+
async pull(controller) {
|
|
95
|
+
try {
|
|
96
|
+
const { done, value } = await reader.read();
|
|
97
|
+
if (!done) {
|
|
98
|
+
controller.enqueue(value);
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
releaseReader();
|
|
102
|
+
await closeDispatcher();
|
|
103
|
+
controller.close();
|
|
104
|
+
} catch (error) {
|
|
105
|
+
releaseReader();
|
|
106
|
+
await closeDispatcher();
|
|
107
|
+
controller.error(error);
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
async cancel(reason) {
|
|
111
|
+
try {
|
|
112
|
+
await reader.cancel(reason);
|
|
113
|
+
} finally {
|
|
114
|
+
releaseReader();
|
|
115
|
+
await closeDispatcher();
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
const wrapped = new Response(body, {
|
|
121
|
+
headers: response.headers,
|
|
122
|
+
status: response.status,
|
|
123
|
+
statusText: response.statusText,
|
|
124
|
+
});
|
|
125
|
+
for (const key of ["url", "redirected", "type"]) {
|
|
126
|
+
Object.defineProperty(wrapped, key, { configurable: true, value: response[key] });
|
|
127
|
+
}
|
|
128
|
+
return wrapped;
|
|
129
|
+
}
|
|
130
|
+
|
|
39
131
|
export async function safeFetch(rawUrl, options = {}, { expectedOrigin, httpsOnly = false } = {}) {
|
|
40
132
|
const url = new URL(rawUrl);
|
|
41
133
|
const allowedProtocols = httpsOnly ? ["https:"] : ["http:", "https:"];
|
|
@@ -44,7 +136,7 @@ export async function safeFetch(rawUrl, options = {}, { expectedOrigin, httpsOnl
|
|
|
44
136
|
throw new Error("URL is not an allowed public HTTP endpoint");
|
|
45
137
|
}
|
|
46
138
|
|
|
47
|
-
const addresses = await
|
|
139
|
+
const addresses = await lookupWithSignal(url.hostname, options.signal);
|
|
48
140
|
if (!addresses.length || addresses.some(({ address }) => isPrivateAddress(address))) {
|
|
49
141
|
throw new Error("URL must resolve only to public addresses");
|
|
50
142
|
}
|
|
@@ -63,8 +155,13 @@ export async function safeFetch(rawUrl, options = {}, { expectedOrigin, httpsOnl
|
|
|
63
155
|
});
|
|
64
156
|
|
|
65
157
|
try {
|
|
66
|
-
|
|
67
|
-
|
|
158
|
+
const response = await undiciFetch(url, { ...options, redirect: "error", dispatcher });
|
|
159
|
+
const wrapped = wrapResponseBody(response, dispatcher, options.signal);
|
|
160
|
+
if (wrapped) return wrapped;
|
|
161
|
+
await dispatcher.close();
|
|
162
|
+
return response;
|
|
163
|
+
} catch (error) {
|
|
68
164
|
await dispatcher.close();
|
|
165
|
+
throw error;
|
|
69
166
|
}
|
|
70
167
|
}
|
|
@@ -2,26 +2,58 @@
|
|
|
2
2
|
//
|
|
3
3
|
// Periodically snapshots each active, usage-eligible connection's upstream quota
|
|
4
4
|
// into the server-side quota cache (quotaCache table) so request routing can read
|
|
5
|
-
// remaining quota synchronously.
|
|
6
|
-
//
|
|
7
|
-
// don't start duplicate loops.
|
|
5
|
+
// remaining quota synchronously. Refreshes use bounded concurrency so large
|
|
6
|
+
// pools finish promptly without an unbounded upstream burst. Guarded via
|
|
7
|
+
// globalThis so Next.js hot-reload / multiple imports don't start duplicate loops.
|
|
8
8
|
|
|
9
9
|
import { getProviderConnections } from "@/lib/localDb";
|
|
10
10
|
import { resolveUsageForConnection, isUsageEligible } from "./quotaService.js";
|
|
11
11
|
|
|
12
12
|
const REFRESH_INTERVAL_MS = 5 * 60 * 1000; // full sweep cadence per connection
|
|
13
|
-
const STAGGER_MS = 4 * 1000; // gap between connections in a sweep
|
|
14
13
|
const MIN_START_DELAY_MS = 15 * 1000; // let the server settle before first sweep
|
|
14
|
+
const MAX_CONCURRENT_REFRESHES = 12;
|
|
15
15
|
|
|
16
16
|
if (!globalThis._quotaRefreshState) {
|
|
17
|
-
globalThis._quotaRefreshState = {
|
|
17
|
+
globalThis._quotaRefreshState = {
|
|
18
|
+
started: false,
|
|
19
|
+
startTimer: null,
|
|
20
|
+
timer: null,
|
|
21
|
+
running: false,
|
|
22
|
+
runningPromise: null,
|
|
23
|
+
};
|
|
18
24
|
}
|
|
19
25
|
const state = globalThis._quotaRefreshState;
|
|
26
|
+
state.runningPromise ??= null;
|
|
27
|
+
|
|
28
|
+
export async function refreshQuotaConnections(connections, options = {}) {
|
|
29
|
+
const {
|
|
30
|
+
force = false,
|
|
31
|
+
concurrency = MAX_CONCURRENT_REFRESHES,
|
|
32
|
+
resolveUsage = resolveUsageForConnection,
|
|
33
|
+
} = options;
|
|
34
|
+
const eligible = connections.filter(isUsageEligible);
|
|
35
|
+
const workerCount = Math.min(Math.max(1, concurrency), eligible.length);
|
|
36
|
+
let nextIndex = 0;
|
|
37
|
+
|
|
38
|
+
const workers = Array.from({ length: workerCount }, async () => {
|
|
39
|
+
while (nextIndex < eligible.length) {
|
|
40
|
+
const conn = eligible[nextIndex++];
|
|
41
|
+
try {
|
|
42
|
+
await resolveUsage(conn.id, { writeCache: true, force });
|
|
43
|
+
} catch (e) {
|
|
44
|
+
console.warn(`[QuotaRefresh] ${conn.provider}/${conn.id}: ${e.message}`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
await Promise.all(workers);
|
|
49
|
+
return eligible.length;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export function sweepOnce() {
|
|
53
|
+
if (state.runningPromise) return state.runningPromise;
|
|
20
54
|
|
|
21
|
-
async function sweepOnce() {
|
|
22
|
-
if (state.running) return;
|
|
23
55
|
state.running = true;
|
|
24
|
-
|
|
56
|
+
const runningPromise = (async () => {
|
|
25
57
|
let connections = [];
|
|
26
58
|
try {
|
|
27
59
|
connections = await getProviderConnections({ isActive: true });
|
|
@@ -29,19 +61,15 @@ async function sweepOnce() {
|
|
|
29
61
|
console.warn(`[QuotaRefresh] failed to list connections: ${e.message}`);
|
|
30
62
|
return;
|
|
31
63
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
console.warn(`[QuotaRefresh] ${conn.provider}/${conn.id}: ${e.message}`);
|
|
38
|
-
}
|
|
39
|
-
// Stagger to avoid hammering upstreams all at once.
|
|
40
|
-
await new Promise((r) => setTimeout(r, STAGGER_MS));
|
|
64
|
+
await refreshQuotaConnections(connections);
|
|
65
|
+
})().finally(() => {
|
|
66
|
+
if (state.runningPromise === runningPromise) {
|
|
67
|
+
state.runningPromise = null;
|
|
68
|
+
state.running = false;
|
|
41
69
|
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
|
|
70
|
+
});
|
|
71
|
+
state.runningPromise = runningPromise;
|
|
72
|
+
return runningPromise;
|
|
45
73
|
}
|
|
46
74
|
|
|
47
75
|
/** Start the background loop once per process. Safe to call repeatedly. */
|
|
@@ -63,9 +91,10 @@ export function stopQuotaRefreshLoop() {
|
|
|
63
91
|
state.startTimer = null;
|
|
64
92
|
state.timer = null;
|
|
65
93
|
state.started = false;
|
|
94
|
+
return state.runningPromise || Promise.resolve();
|
|
66
95
|
}
|
|
67
96
|
|
|
68
|
-
/** Trigger an immediate one-off sweep
|
|
97
|
+
/** Trigger an immediate one-off sweep. */
|
|
69
98
|
export function refreshQuotaNow() {
|
|
70
|
-
|
|
99
|
+
return sweepOnce();
|
|
71
100
|
}
|
|
@@ -11,6 +11,8 @@ import { resolveConnectionProxyConfig } from "@/lib/network/connectionProxy";
|
|
|
11
11
|
import { USAGE_APIKEY_PROVIDERS } from "@/shared/constants/providers";
|
|
12
12
|
|
|
13
13
|
const AUTH_EXPIRED_PATTERNS = ["expired", "authentication", "unauthorized", "401", "re-authorize"];
|
|
14
|
+
const usageInflight = globalThis._quotaUsageInflight ??= new Map();
|
|
15
|
+
|
|
14
16
|
function isAuthExpiredMessage(usage) {
|
|
15
17
|
if (!usage?.message) return false;
|
|
16
18
|
const msg = usage.message.toLowerCase();
|
|
@@ -102,7 +104,7 @@ function isUsageEligible(connection) {
|
|
|
102
104
|
* @param {string} connectionId
|
|
103
105
|
* @param {object} opts { writeCache?: boolean, force?: boolean }
|
|
104
106
|
*/
|
|
105
|
-
|
|
107
|
+
async function resolveUsage(connectionId, opts, inflightEntry) {
|
|
106
108
|
const { writeCache = false, force = false } = opts;
|
|
107
109
|
const connection = await getProviderConnectionById(connectionId);
|
|
108
110
|
if (!connection) return { error: "Connection not found", notFound: true };
|
|
@@ -140,7 +142,8 @@ export async function resolveUsageForConnection(connectionId, opts = {}) {
|
|
|
140
142
|
}
|
|
141
143
|
}
|
|
142
144
|
|
|
143
|
-
|
|
145
|
+
// A concurrent cache-writing caller may have joined after this request began.
|
|
146
|
+
if ((writeCache || inflightEntry.writeCache) && usage && !usage.error) {
|
|
144
147
|
try {
|
|
145
148
|
await saveQuotaSnapshot(conn.id, conn.provider, usage);
|
|
146
149
|
} catch (e) {
|
|
@@ -151,4 +154,53 @@ export async function resolveUsageForConnection(connectionId, opts = {}) {
|
|
|
151
154
|
return usage;
|
|
152
155
|
}
|
|
153
156
|
|
|
157
|
+
export async function resolveUsageForConnection(connectionId, opts = {}) {
|
|
158
|
+
let state = usageInflight.get(connectionId);
|
|
159
|
+
if (!state) {
|
|
160
|
+
state = { active: null, queuedForce: null };
|
|
161
|
+
usageInflight.set(connectionId, state);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
// Once a forced refresh is queued/running, non-forced readers should share
|
|
165
|
+
// that fresher result. Forced callers must never collapse into an older
|
|
166
|
+
// non-forced request, though, because force also refreshes credentials.
|
|
167
|
+
if (state.queuedForce) {
|
|
168
|
+
if (opts.writeCache) state.queuedForce.writeCache = true;
|
|
169
|
+
return state.queuedForce.promise;
|
|
170
|
+
}
|
|
171
|
+
if (state.active && (!opts.force || state.active.force)) {
|
|
172
|
+
if (opts.writeCache) state.active.writeCache = true;
|
|
173
|
+
return state.active.promise;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
const cleanup = (entry) => {
|
|
177
|
+
if (state.active === entry) state.active = null;
|
|
178
|
+
if (!state.active && !state.queuedForce && usageInflight.get(connectionId) === state) {
|
|
179
|
+
usageInflight.delete(connectionId);
|
|
180
|
+
}
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
if (state.active) {
|
|
184
|
+
const prior = state.active.promise;
|
|
185
|
+
const entry = { force: true, writeCache: opts.writeCache === true, promise: null };
|
|
186
|
+
const launch = () => {
|
|
187
|
+
if (state.queuedForce === entry) state.queuedForce = null;
|
|
188
|
+
state.active = entry;
|
|
189
|
+
return resolveUsage(connectionId, { ...opts, force: true }, entry);
|
|
190
|
+
};
|
|
191
|
+
entry.promise = prior.then(launch, launch).finally(() => cleanup(entry));
|
|
192
|
+
state.queuedForce = entry;
|
|
193
|
+
return entry.promise;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
const entry = {
|
|
197
|
+
force: opts.force === true,
|
|
198
|
+
writeCache: opts.writeCache === true,
|
|
199
|
+
promise: null,
|
|
200
|
+
};
|
|
201
|
+
state.active = entry;
|
|
202
|
+
entry.promise = resolveUsage(connectionId, opts, entry).finally(() => cleanup(entry));
|
|
203
|
+
return entry.promise;
|
|
204
|
+
}
|
|
205
|
+
|
|
154
206
|
export { isUsageEligible };
|
|
@@ -8,6 +8,7 @@ import Button from "./Button";
|
|
|
8
8
|
import Input from "./Input";
|
|
9
9
|
import Modal from "./Modal";
|
|
10
10
|
import Select from "./Select";
|
|
11
|
+
import { startAsyncPolling } from "@/shared/utils/asyncPolling";
|
|
11
12
|
|
|
12
13
|
const DEFAULT_CONCURRENCY = 4;
|
|
13
14
|
const ACTIVE_JOB_STATUSES = new Set(["queued", "running", "needs_manual"]);
|
|
@@ -209,25 +210,20 @@ export default function BulkAccountAutomationModal({
|
|
|
209
210
|
useEffect(() => {
|
|
210
211
|
if (!isOpen || !activeJob?.jobId || finishedJob) return undefined;
|
|
211
212
|
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
}
|
|
213
|
+
return startAsyncPolling(async (isCancelled) => {
|
|
214
|
+
const { res, data } = await fetchJob(provider, activeJob.jobId);
|
|
215
|
+
if (isCancelled()) return;
|
|
216
|
+
if (res.ok && data?.job) {
|
|
217
|
+
setActiveJob(data.job);
|
|
218
|
+
if (typeof window !== "undefined") {
|
|
219
|
+
window.localStorage.setItem(storageKey, data.job.jobId);
|
|
220
|
+
}
|
|
221
|
+
if (TERMINAL_JOB_STATUSES.has(data.job.status) && !completedRefreshJobsRef.current.has(data.job.jobId)) {
|
|
222
|
+
completedRefreshJobsRef.current.add(data.job.jobId);
|
|
223
|
+
onSuccess?.();
|
|
224
224
|
}
|
|
225
|
-
} catch {
|
|
226
|
-
// Keep the current snapshot visible; the next interval can recover.
|
|
227
225
|
}
|
|
228
226
|
}, 2000);
|
|
229
|
-
|
|
230
|
-
return () => window.clearInterval(interval);
|
|
231
227
|
}, [activeJob?.jobId, finishedJob, isOpen, onSuccess, provider, storageKey]);
|
|
232
228
|
|
|
233
229
|
const handleStartBulk = async () => {
|
|
@@ -4,6 +4,7 @@ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
|
4
4
|
import PropTypes from "prop-types";
|
|
5
5
|
import Badge from "./Badge";
|
|
6
6
|
import Button from "./Button";
|
|
7
|
+
import { startAsyncPolling } from "@/shared/utils/asyncPolling";
|
|
7
8
|
|
|
8
9
|
const PROVIDER = "codebuddy-cn";
|
|
9
10
|
const POLL_INTERVAL_MS = 2000;
|
|
@@ -62,6 +63,7 @@ export default function CodeBuddyCnPhoneRegisterModal({ isOpen, onClose, onSucce
|
|
|
62
63
|
const [jobRestoreNotice, setJobRestoreNotice] = useState(null);
|
|
63
64
|
|
|
64
65
|
const runningJob = activeJob && ACTIVE_JOB_STATUSES.has(activeJob.status);
|
|
66
|
+
const activeJobId = activeJob?.jobId;
|
|
65
67
|
|
|
66
68
|
// Fetch proxy pools on open
|
|
67
69
|
useEffect(() => {
|
|
@@ -112,24 +114,20 @@ export default function CodeBuddyCnPhoneRegisterModal({ isOpen, onClose, onSucce
|
|
|
112
114
|
|
|
113
115
|
// Poll active job
|
|
114
116
|
useEffect(() => {
|
|
115
|
-
if (!
|
|
116
|
-
const jobId =
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}
|
|
117
|
+
if (!activeJobId || !runningJob) return;
|
|
118
|
+
const jobId = activeJobId;
|
|
119
|
+
return startAsyncPolling(async (isCancelled) => {
|
|
120
|
+
const { res, data } = await fetchJob(jobId);
|
|
121
|
+
if (isCancelled()) return;
|
|
122
|
+
if (res.ok && data?.job) {
|
|
123
|
+
setActiveJob(data.job);
|
|
124
|
+
if (TERMINAL_JOB_STATUSES.has(data.job.status) && !completedRefreshJobsRef.current.has(data.job.jobId)) {
|
|
125
|
+
completedRefreshJobsRef.current.add(data.job.jobId);
|
|
126
|
+
onSuccess?.();
|
|
126
127
|
}
|
|
127
|
-
} catch {
|
|
128
|
-
// ignore poll errors
|
|
129
128
|
}
|
|
130
129
|
}, POLL_INTERVAL_MS);
|
|
131
|
-
|
|
132
|
-
}, [activeJob, runningJob, fetchJob, onSuccess]);
|
|
130
|
+
}, [activeJobId, runningJob, fetchJob, onSuccess]);
|
|
133
131
|
|
|
134
132
|
// Restore active job on mount
|
|
135
133
|
useEffect(() => {
|
|
@@ -4,6 +4,7 @@ import { useEffect, useMemo, useRef, useState } from "react";
|
|
|
4
4
|
import Image from "next/image";
|
|
5
5
|
import PropTypes from "prop-types";
|
|
6
6
|
import { Modal, Button, Input } from "@/shared/components";
|
|
7
|
+
import { startAsyncPolling } from "@/shared/utils/asyncPolling";
|
|
7
8
|
|
|
8
9
|
const DEFAULT_CONCURRENCY = 4;
|
|
9
10
|
const BULK_JOB_STORAGE_KEY = "kiro-bulk-import-active-job";
|
|
@@ -254,39 +255,35 @@ export default function KiroAuthModal({
|
|
|
254
255
|
useEffect(() => {
|
|
255
256
|
if (!isOpen || !activeJob?.jobId || isJobTerminal(activeJob.status)) return undefined;
|
|
256
257
|
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
258
|
+
return startAsyncPolling(async (isCancelled) => {
|
|
259
|
+
const current = await fetchBulkJobById(activeJob.jobId);
|
|
260
|
+
if (isCancelled()) return;
|
|
261
|
+
if (current.res.ok && current.data?.job) {
|
|
262
|
+
setJobRestoreNotice(null);
|
|
263
|
+
setActiveJob(current.data.job);
|
|
264
|
+
return;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
if (current.res.status === 404) {
|
|
268
|
+
const latest = await fetchLatestBulkJob();
|
|
269
|
+
if (isCancelled()) return;
|
|
270
|
+
if (latest.res.ok && latest.data?.job) {
|
|
261
271
|
setJobRestoreNotice(null);
|
|
262
|
-
setActiveJob(
|
|
272
|
+
setActiveJob(latest.data.job);
|
|
273
|
+
if (typeof window !== "undefined") {
|
|
274
|
+
window.localStorage.setItem(BULK_JOB_STORAGE_KEY, latest.data.job.jobId);
|
|
275
|
+
}
|
|
263
276
|
return;
|
|
264
277
|
}
|
|
265
278
|
|
|
266
|
-
if (
|
|
267
|
-
|
|
268
|
-
if (latest.res.ok && latest.data?.job) {
|
|
269
|
-
setJobRestoreNotice(null);
|
|
270
|
-
setActiveJob(latest.data.job);
|
|
271
|
-
if (typeof window !== "undefined") {
|
|
272
|
-
window.localStorage.setItem(BULK_JOB_STORAGE_KEY, latest.data.job.jobId);
|
|
273
|
-
}
|
|
274
|
-
return;
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
if (typeof window !== "undefined") {
|
|
278
|
-
window.localStorage.removeItem(BULK_JOB_STORAGE_KEY);
|
|
279
|
-
}
|
|
280
|
-
onBulkJobChange?.(null);
|
|
281
|
-
setActiveJob(null);
|
|
282
|
-
setJobRestoreNotice("Bulk import progress expired or was cleared.");
|
|
279
|
+
if (typeof window !== "undefined") {
|
|
280
|
+
window.localStorage.removeItem(BULK_JOB_STORAGE_KEY);
|
|
283
281
|
}
|
|
284
|
-
|
|
285
|
-
|
|
282
|
+
onBulkJobChange?.(null);
|
|
283
|
+
setActiveJob(null);
|
|
284
|
+
setJobRestoreNotice("Bulk import progress expired or was cleared.");
|
|
286
285
|
}
|
|
287
286
|
}, 1500);
|
|
288
|
-
|
|
289
|
-
return () => window.clearInterval(interval);
|
|
290
287
|
}, [activeJob?.jobId, activeJob?.status, isOpen, onBulkJobChange]);
|
|
291
288
|
|
|
292
289
|
useEffect(() => {
|
|
@@ -23,7 +23,6 @@ export default function Modal({
|
|
|
23
23
|
// pass inline handlers (common). Otherwise each parent re-render (e.g. typing
|
|
24
24
|
// into a controlled input) re-focuses the first button and steals the caret.
|
|
25
25
|
const onCloseRef = useRef(onClose);
|
|
26
|
-
onCloseRef.current = onClose;
|
|
27
26
|
const sizes = {
|
|
28
27
|
sm: "max-w-sm",
|
|
29
28
|
md: "max-w-md",
|
|
@@ -37,6 +36,10 @@ export default function Modal({
|
|
|
37
36
|
const FIELD_SELECTOR =
|
|
38
37
|
'input:not([disabled]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="checkbox"]):not([type="radio"]), textarea:not([disabled]), select:not([disabled])';
|
|
39
38
|
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
onCloseRef.current = onClose;
|
|
41
|
+
}, [onClose]);
|
|
42
|
+
|
|
40
43
|
useEffect(() => {
|
|
41
44
|
if (!isOpen) return;
|
|
42
45
|
|
|
@@ -16,6 +16,7 @@ import OverviewCards from "@/app/(dashboard)/dashboard/usage/components/Overview
|
|
|
16
16
|
import UsageTable, { fmt, fmtTime } from "@/app/(dashboard)/dashboard/usage/components/UsageTable";
|
|
17
17
|
import ProviderTopology from "@/app/(dashboard)/dashboard/usage/components/ProviderTopology";
|
|
18
18
|
import UsageChart from "@/app/(dashboard)/dashboard/usage/components/UsageChart";
|
|
19
|
+
import { getAccountPendingCount } from "@/shared/utils/usageStats";
|
|
19
20
|
|
|
20
21
|
function timeAgo(timestamp) {
|
|
21
22
|
const diff = Math.max(0, Math.floor((Date.now() - new Date(timestamp)) / 1000));
|
|
@@ -94,7 +95,7 @@ function RecentRequests({ requests = [], streamStatus = "connecting" }) {
|
|
|
94
95
|
{!requests.length ? (
|
|
95
96
|
<div className="flex-1 flex items-center justify-center text-text-muted text-sm">No requests yet.</div>
|
|
96
97
|
) : (
|
|
97
|
-
<div className="flex-1 overflow-y-auto px-4 pb-3">
|
|
98
|
+
<div className="flex-1 overflow-x-auto overflow-y-auto px-4 pb-3">
|
|
98
99
|
<table className="w-full min-w-[300px] border-collapse text-xs">
|
|
99
100
|
<thead className="sticky top-0 z-10 bg-surface/95 backdrop-blur-sm">
|
|
100
101
|
<tr className="border-b border-border">
|
|
@@ -214,9 +215,9 @@ const MODEL_COLUMNS = [
|
|
|
214
215
|
];
|
|
215
216
|
|
|
216
217
|
const ACCOUNT_COLUMNS = [
|
|
218
|
+
{ field: "accountName", label: "Account" },
|
|
217
219
|
{ field: "rawModel", label: "Model" },
|
|
218
220
|
{ field: "provider", label: "Provider" },
|
|
219
|
-
{ field: "accountName", label: "Account" },
|
|
220
221
|
{ field: "requests", label: "Requests", align: "right" },
|
|
221
222
|
{ field: "lastUsed", label: "Last Used", align: "right" },
|
|
222
223
|
];
|
|
@@ -389,11 +390,7 @@ export default function UsageStats({ period: periodProp, setPeriod: setPeriodPro
|
|
|
389
390
|
const pendingMap = {};
|
|
390
391
|
if (stats?.pending?.byAccount) {
|
|
391
392
|
Object.entries(stats.byAccount || {}).forEach(([accountKey, data]) => {
|
|
392
|
-
|
|
393
|
-
if (connPending) {
|
|
394
|
-
const modelKey = data.provider ? `${data.rawModel} (${data.provider})` : data.rawModel;
|
|
395
|
-
pendingMap[accountKey] = connPending[modelKey] || 0;
|
|
396
|
-
}
|
|
393
|
+
pendingMap[accountKey] = getAccountPendingCount(data, stats.pending.byAccount);
|
|
397
394
|
});
|
|
398
395
|
}
|
|
399
396
|
return {
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useEffect, useState } from "react";
|
|
4
|
+
import { scheduleModelLockRefresh } from "@/shared/utils/modelLockTimer";
|
|
5
|
+
|
|
6
|
+
export function useModelLockUntil(connection = {}) {
|
|
7
|
+
const [modelLockUntil, setModelLockUntil] = useState(null);
|
|
8
|
+
const modelLockSignature = JSON.stringify(Object.entries(connection)
|
|
9
|
+
.filter(([key]) => key.startsWith("modelLock_"))
|
|
10
|
+
.sort(([left], [right]) => left.localeCompare(right)));
|
|
11
|
+
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
const modelLocks = Object.fromEntries(JSON.parse(modelLockSignature));
|
|
14
|
+
return scheduleModelLockRefresh(modelLocks, setModelLockUntil);
|
|
15
|
+
}, [modelLockSignature]);
|
|
16
|
+
|
|
17
|
+
return modelLockUntil;
|
|
18
|
+
}
|
|
@@ -16,8 +16,9 @@ import {
|
|
|
16
16
|
import { getMitmStatus, startMitm, loadEncryptedPassword, initDbHooks, restoreToolDNS, removeAllDNSEntriesSync } from "@/mitm/manager";
|
|
17
17
|
import { syncToJson as syncMitmAliasCache } from "@/lib/mitmAliasCache";
|
|
18
18
|
import { flushRequestDetails } from "@/lib/db/repos/requestDetailsRepo";
|
|
19
|
+
import { flushRequestUsageWrites } from "@/lib/db/repos/usageRepo";
|
|
19
20
|
import { closeAdapter } from "@/lib/db/driver";
|
|
20
|
-
import { stopQuotaRefreshLoop } from "@/lib/usage/quotaRefresh";
|
|
21
|
+
import { startQuotaRefreshLoop, stopQuotaRefreshLoop } from "@/lib/usage/quotaRefresh";
|
|
21
22
|
|
|
22
23
|
// Inject correct paths and DB hooks into manager.js (CJS) from ESM context
|
|
23
24
|
(function bootstrapMitm() {
|
|
@@ -45,10 +46,15 @@ const g = global.__appSingleton ??= {
|
|
|
45
46
|
mitmStartInProgress: false,
|
|
46
47
|
tunnelAutoResumed: false,
|
|
47
48
|
tailscaleAutoResumed: false,
|
|
49
|
+
shuttingDown: false,
|
|
48
50
|
};
|
|
51
|
+
g.shuttingDown ??= false;
|
|
49
52
|
|
|
50
53
|
export async function initializeApp() {
|
|
51
54
|
try {
|
|
55
|
+
// Routing relies on fresh server-side quota snapshots even when no dashboard
|
|
56
|
+
// client ever calls the legacy /api/init endpoint.
|
|
57
|
+
startQuotaRefreshLoop();
|
|
52
58
|
await cleanupProviderConnections();
|
|
53
59
|
const settings = await getSettings();
|
|
54
60
|
|
|
@@ -71,7 +77,13 @@ export async function initializeApp() {
|
|
|
71
77
|
const cleanup = async () => {
|
|
72
78
|
if (shuttingDown) return;
|
|
73
79
|
shuttingDown = true;
|
|
74
|
-
|
|
80
|
+
g.shuttingDown = true;
|
|
81
|
+
if (g.watchdogInterval) clearInterval(g.watchdogInterval);
|
|
82
|
+
if (g.networkMonitorInterval) clearInterval(g.networkMonitorInterval);
|
|
83
|
+
g.watchdogInterval = null;
|
|
84
|
+
g.networkMonitorInterval = null;
|
|
85
|
+
try { await stopQuotaRefreshLoop(); } catch (e) { console.error("[InitApp] quota refresh stop failed:", e); }
|
|
86
|
+
try { await flushRequestUsageWrites(); } catch (e) { console.error("[InitApp] usage flush failed:", e); }
|
|
75
87
|
try { await flushRequestDetails(); } catch (e) { console.error("[InitApp] request detail flush failed:", e); }
|
|
76
88
|
try { await closeAdapter(); } catch (e) { console.error("[InitApp] database close failed:", e); }
|
|
77
89
|
try { removeAllDNSEntriesSync(); } catch { /* best effort */ }
|
|
@@ -103,7 +115,7 @@ export async function initializeApp() {
|
|
|
103
115
|
}
|
|
104
116
|
|
|
105
117
|
async function autoStartMitm() {
|
|
106
|
-
if (g.mitmStartInProgress) return;
|
|
118
|
+
if (g.mitmStartInProgress || g.shuttingDown) return;
|
|
107
119
|
g.mitmStartInProgress = true;
|
|
108
120
|
try {
|
|
109
121
|
const settings = await getSettings();
|
|
@@ -120,6 +132,7 @@ async function autoStartMitm() {
|
|
|
120
132
|
const keys = await getApiKeys(true);
|
|
121
133
|
const activeKey = keys.find(k => k.isActive !== false);
|
|
122
134
|
|
|
135
|
+
if (g.shuttingDown) return;
|
|
123
136
|
console.log("[InitApp] MITM was enabled, auto-starting...");
|
|
124
137
|
await startMitm(activeKey?.key || "sk_zevai", password);
|
|
125
138
|
console.log("[InitApp] MITM auto-started");
|
|
@@ -143,6 +156,7 @@ const FORCE_RESTART_REASONS = /^(startup|netchange|sleep|sleep\+netchange|online
|
|
|
143
156
|
// ─── Safe restart (4 guards: spawn / cooldown / alive / internet) ────────────
|
|
144
157
|
|
|
145
158
|
async function safeRestartTunnel(reason) {
|
|
159
|
+
if (g.shuttingDown) return;
|
|
146
160
|
const svc = getTunnelService();
|
|
147
161
|
const settings = await getSettings();
|
|
148
162
|
if (!settings.tunnelEnabled) return;
|
|
@@ -174,6 +188,7 @@ async function safeRestartTunnel(reason) {
|
|
|
174
188
|
}
|
|
175
189
|
|
|
176
190
|
async function safeRestartTailscale(reason) {
|
|
191
|
+
if (g.shuttingDown) return;
|
|
177
192
|
const svc = getTailscaleService();
|
|
178
193
|
const settings = await getSettings();
|
|
179
194
|
if (!settings.tailscaleEnabled) return;
|
|
@@ -207,6 +222,7 @@ async function safeRestartTailscale(reason) {
|
|
|
207
222
|
function startWatchdog() {
|
|
208
223
|
if (g.watchdogInterval) return;
|
|
209
224
|
g.watchdogInterval = setInterval(() => {
|
|
225
|
+
if (g.shuttingDown) return;
|
|
210
226
|
safeRestartTunnel("watchdog").catch(() => {});
|
|
211
227
|
safeRestartTailscale("watchdog").catch(() => {});
|
|
212
228
|
}, WATCHDOG_INTERVAL_MS);
|
|
@@ -238,6 +254,7 @@ function startNetworkMonitor() {
|
|
|
238
254
|
g.lastOnline = null;
|
|
239
255
|
|
|
240
256
|
g.networkMonitorInterval = setInterval(async () => {
|
|
257
|
+
if (g.shuttingDown) return;
|
|
241
258
|
try {
|
|
242
259
|
const now = Date.now();
|
|
243
260
|
const elapsed = now - g.lastWatchdogTick;
|