n9router 0.4.34 → 0.4.36
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/app/.next/BUILD_ID +1 -1
- package/app/.next/app-path-routes-manifest.json +27 -14
- package/app/.next/build-manifest.json +3 -3
- package/app/.next/prerender-manifest.json +3 -3
- package/app/.next/required-server-files.json +5 -0
- package/app/.next/routes-manifest.json +120 -36
- package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +24 -0
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -0
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -0
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +23 -17
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +5 -3
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js +5 -3
- package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/quota/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/skills/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page.js +3 -3
- package/app/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error/page.js +3 -3
- package/app/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error.html +1 -1
- package/app/.next/server/app/_global-error.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/_not-found/page.js +2 -2
- package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_not-found.html +1 -1
- package/app/.next/server/app/_not-found.rsc +5 -6
- package/app/.next/server/app/_not-found.segments/_full.segment.rsc +5 -6
- package/app/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/_not-found.segments/_index.segment.rsc +5 -6
- package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -4
- package/app/.next/server/app/api/antigravity-app/route.js +1 -1
- package/app/.next/server/app/api/antigravity-app/route.js.nft.json +1 -1
- package/app/.next/server/app/api/antigravity-app-v2/route.js +1 -1
- package/app/.next/server/app/api/antigravity-app-v2/route.js.nft.json +1 -1
- package/app/.next/server/app/api/antigravity-ide/route.js +1 -1
- package/app/.next/server/app/api/antigravity-ide/route.js.nft.json +1 -1
- package/app/.next/server/app/api/antigravity-tools/import/route.js +1 -1
- package/app/.next/server/app/api/antigravity-tools/import/route.js.nft.json +1 -1
- package/app/.next/server/app/api/antigravity-tools/import-refresh-tokens/route.js +1 -1
- package/app/.next/server/app/api/antigravity-tools/import-refresh-tokens/route.js.nft.json +1 -1
- package/app/.next/server/app/api/auth/login/route.js +1 -1
- package/app/.next/server/app/api/auth/login/route.js.nft.json +1 -1
- package/app/.next/server/app/api/auth/logout/route.js +1 -1
- package/app/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
- package/app/.next/server/app/api/auth/oidc/callback/route.js +1 -0
- package/app/.next/server/app/api/{cloud/credentials/update → auth/oidc/callback}/route.js.nft.json +1 -1
- package/app/.next/server/app/api/{cloud/models/alias → auth/oidc/callback}/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/auth/oidc/start/route.js +1 -0
- package/app/.next/server/app/api/{cloud/models/alias → auth/oidc/start}/route.js.nft.json +1 -1
- package/app/.next/server/app/api/auth/oidc/start/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/auth/oidc/test/route.js +1 -0
- package/app/.next/server/app/api/{cloud/model/resolve → auth/oidc/test}/route.js.nft.json +1 -1
- package/app/.next/server/app/api/auth/oidc/test/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/auth/status/route.js +1 -0
- package/app/.next/server/app/api/{tunnel/tailscale-login → auth/status}/route.js.nft.json +1 -1
- package/app/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/cli-tools/all-statuses/route.js +17 -0
- package/app/.next/server/app/api/{tunnel/tailscale-start-daemon → cli-tools/all-statuses}/route.js.nft.json +1 -1
- package/app/.next/server/app/api/{tunnel/tailscale-login → cli-tools/all-statuses}/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cli-tools/cline-settings/route.js +2 -0
- package/app/.next/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -0
- package/app/.next/server/app/api/{cloud/credentials/update → cli-tools/cline-settings}/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/codex-settings/route.js +1 -32
- package/app/.next/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cli-tools/copilot-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -0
- package/app/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -0
- package/app/.next/server/app/api/cli-tools/cowork-mcp-tools/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/cli-tools/cowork-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cli-tools/deepseek-tui-settings/route.js +9 -0
- package/app/.next/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -0
- package/app/.next/server/app/api/cli-tools/deepseek-tui-settings/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/cli-tools/droid-settings/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cli-tools/hermes-settings/route.js +3 -3
- package/app/.next/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cli-tools/jcode-settings/route.js +2 -0
- package/app/.next/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -0
- package/app/.next/server/app/api/cli-tools/jcode-settings/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +2 -0
- package/app/.next/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -0
- package/app/.next/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cli-tools/opencode-settings/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/combos/[id]/route.js +1 -1
- package/app/.next/server/app/api/combos/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/combos/route.js +1 -1
- package/app/.next/server/app/api/combos/route.js.nft.json +1 -1
- package/app/.next/server/app/api/donate/route.js +1 -0
- package/app/.next/server/app/api/donate/route.js.nft.json +1 -0
- package/app/.next/server/app/api/donate/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/health/route.js +1 -1
- package/app/.next/server/app/api/health/route.js.nft.json +1 -1
- package/app/.next/server/app/api/init/route.js +1 -1
- package/app/.next/server/app/api/init/route.js.nft.json +1 -1
- package/app/.next/server/app/api/internal/account-health/route.js +1 -1
- package/app/.next/server/app/api/internal/account-health/route.js.nft.json +1 -1
- package/app/.next/server/app/api/internal/request-detail/route.js +1 -1
- package/app/.next/server/app/api/internal/request-detail/route.js.nft.json +1 -1
- package/app/.next/server/app/api/internal/usage/route.js +1 -1
- package/app/.next/server/app/api/internal/usage/route.js.nft.json +1 -1
- package/app/.next/server/app/api/keys/[id]/reset-usage/route.js +1 -1
- package/app/.next/server/app/api/keys/[id]/reset-usage/route.js.nft.json +1 -1
- package/app/.next/server/app/api/keys/[id]/route.js +1 -1
- package/app/.next/server/app/api/keys/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/keys/[id]/usage/route.js +1 -1
- package/app/.next/server/app/api/keys/[id]/usage/route.js.nft.json +1 -1
- package/app/.next/server/app/api/keys/route.js +1 -1
- package/app/.next/server/app/api/keys/route.js.nft.json +1 -1
- package/app/.next/server/app/api/locale/route.js +1 -1
- package/app/.next/server/app/api/locale/route.js.nft.json +1 -1
- package/app/.next/server/app/api/mcp/[plugin]/message/route.js +7 -0
- package/app/.next/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -0
- package/app/.next/server/app/api/mcp/[plugin]/message/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/mcp/[plugin]/sse/route.js +7 -0
- package/app/.next/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -0
- package/app/.next/server/app/api/mcp/[plugin]/sse/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
- package/app/.next/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
- package/app/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
- package/app/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
- package/app/.next/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
- package/app/.next/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
- package/app/.next/server/app/api/media-providers/tts/minimax/voices/route.js +1 -0
- package/app/.next/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -0
- package/app/.next/server/app/api/media-providers/tts/minimax/voices/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/media-providers/tts/voices/route.js +1 -1
- package/app/.next/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
- package/app/.next/server/app/api/models/alias/route.js +1 -1
- package/app/.next/server/app/api/models/alias/route.js.nft.json +1 -1
- package/app/.next/server/app/api/models/availability/route.js +1 -1
- package/app/.next/server/app/api/models/availability/route.js.nft.json +1 -1
- package/app/.next/server/app/api/models/custom/route.js +1 -1
- package/app/.next/server/app/api/models/custom/route.js.nft.json +1 -1
- package/app/.next/server/app/api/models/disabled/route.js +1 -1
- package/app/.next/server/app/api/models/disabled/route.js.nft.json +1 -1
- package/app/.next/server/app/api/models/route.js +1 -1
- package/app/.next/server/app/api/models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/models/test/route.js +1 -1
- package/app/.next/server/app/api/models/test/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -6
- package/app/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/codex/import-token/route.js +1 -0
- package/app/.next/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -0
- package/app/.next/server/app/api/oauth/codex/import-token/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/oauth/cursor/auto-import/route.js +2 -2
- package/app/.next/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/cursor/import/route.js +1 -1
- package/app/.next/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/gitlab/pat/route.js +1 -1
- package/app/.next/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/iflow/cookie/route.js +1 -1
- package/app/.next/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/kiro/auto-import/route.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/kiro/import/route.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
- package/app/.next/server/app/api/pricing/route.js +1 -1
- package/app/.next/server/app/api/pricing/route.js.nft.json +1 -1
- package/app/.next/server/app/api/provider-nodes/[id]/route.js +1 -1
- package/app/.next/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/provider-nodes/route.js +1 -1
- package/app/.next/server/app/api/provider-nodes/route.js.nft.json +1 -1
- package/app/.next/server/app/api/provider-nodes/validate/route.js +1 -1
- package/app/.next/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/[id]/models/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/[id]/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/[id]/test/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/[id]/test-models/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/client/route.js +1 -1
- package/app/.next/server/app/api/providers/client/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/kilo/free-models/route.js +1 -1
- package/app/.next/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/route.js +1 -1
- package/app/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/suggested-models/route.js +1 -1
- package/app/.next/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/test-batch/route.js +1 -1
- package/app/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/validate/route.js +1 -1
- package/app/.next/server/app/api/providers/validate/route.js.nft.json +1 -1
- package/app/.next/server/app/api/proxy-pools/[id]/route.js +1 -1
- package/app/.next/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/proxy-pools/[id]/test/route.js +1 -1
- package/app/.next/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
- package/app/.next/server/app/api/proxy-pools/cloudflare-deploy/route.js +43 -0
- package/app/.next/server/app/api/{cloud/auth → proxy-pools/cloudflare-deploy}/route.js.nft.json +1 -1
- package/app/.next/server/app/api/proxy-pools/cloudflare-deploy/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/proxy-pools/deno-deploy/route.js +40 -0
- package/app/.next/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -0
- package/app/.next/server/app/api/proxy-pools/deno-deploy/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/proxy-pools/route.js +1 -1
- package/app/.next/server/app/api/proxy-pools/route.js.nft.json +1 -1
- package/app/.next/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
- package/app/.next/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
- package/app/.next/server/app/api/settings/database/route.js +1 -1
- package/app/.next/server/app/api/settings/database/route.js.nft.json +1 -1
- package/app/.next/server/app/api/settings/proxy-test/route.js +1 -1
- package/app/.next/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
- package/app/.next/server/app/api/settings/require-login/route.js +1 -1
- package/app/.next/server/app/api/settings/require-login/route.js.nft.json +1 -1
- package/app/.next/server/app/api/settings/route.js +1 -1
- package/app/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/shutdown/route.js +1 -1
- package/app/.next/server/app/api/shutdown/route.js.nft.json +1 -1
- package/app/.next/server/app/api/tags/route.js +1 -1
- package/app/.next/server/app/api/tags/route.js.nft.json +1 -1
- package/app/.next/server/app/api/translator/console-logs/route.js +1 -1
- package/app/.next/server/app/api/translator/console-logs/route.js.nft.json +1 -1
- package/app/.next/server/app/api/translator/console-logs/stream/route.js +2 -2
- package/app/.next/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
- package/app/.next/server/app/api/translator/load/route.js +1 -1
- package/app/.next/server/app/api/translator/load/route.js.nft.json +1 -1
- package/app/.next/server/app/api/translator/save/route.js +1 -1
- package/app/.next/server/app/api/translator/save/route.js.nft.json +1 -1
- package/app/.next/server/app/api/translator/send/route.js +1 -1
- package/app/.next/server/app/api/translator/send/route.js.nft.json +1 -1
- package/app/.next/server/app/api/translator/translate/route.js +1 -1
- package/app/.next/server/app/api/translator/translate/route.js.nft.json +1 -1
- package/app/.next/server/app/api/tunnel/disable/route.js +1 -1
- package/app/.next/server/app/api/tunnel/disable/route.js.nft.json +1 -1
- package/app/.next/server/app/api/tunnel/enable/route.js +1 -1
- package/app/.next/server/app/api/tunnel/enable/route.js.nft.json +1 -1
- package/app/.next/server/app/api/tunnel/status/route.js +1 -1
- package/app/.next/server/app/api/tunnel/status/route.js.nft.json +1 -1
- package/app/.next/server/app/api/tunnel/tailscale-check/route.js +1 -1
- package/app/.next/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
- package/app/.next/server/app/api/tunnel/tailscale-disable/route.js +1 -1
- package/app/.next/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
- package/app/.next/server/app/api/tunnel/tailscale-enable/route.js +1 -1
- package/app/.next/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
- package/app/.next/server/app/api/tunnel/tailscale-install/route.js +4 -4
- package/app/.next/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/[connectionId]/route.js +1 -1
- package/app/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/chart/route.js +1 -1
- package/app/.next/server/app/api/usage/chart/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/history/route.js +1 -1
- package/app/.next/server/app/api/usage/history/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/logs/route.js +1 -1
- package/app/.next/server/app/api/usage/logs/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/providers/route.js +1 -1
- package/app/.next/server/app/api/usage/providers/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/report/route.js +1 -1
- package/app/.next/server/app/api/usage/report/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/request-details/route.js +1 -1
- package/app/.next/server/app/api/usage/request-details/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/request-logs/route.js +1 -1
- package/app/.next/server/app/api/usage/request-logs/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/stats/route.js +1 -1
- package/app/.next/server/app/api/usage/stats/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/stream/route.js +2 -2
- package/app/.next/server/app/api/usage/stream/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/api/chat/route.js +1 -1
- package/app/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/audio/speech/route.js +1 -1
- package/app/.next/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/audio/transcriptions/route.js +1 -1
- package/app/.next/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/audio/voices/route.js +1 -1
- package/app/.next/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/chat/completions/route.js +1 -1
- package/app/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/embeddings/route.js +1 -1
- package/app/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/images/generations/route.js +2 -2
- package/app/.next/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/messages/count_tokens/route.js +1 -1
- package/app/.next/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/messages/route.js +1 -1
- package/app/.next/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/models/[kind]/route.js +1 -1
- package/app/.next/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/models/info/route.js +1 -1
- package/app/.next/server/app/api/v1/models/info/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/models/route.js +1 -1
- package/app/.next/server/app/api/v1/models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/responses/compact/route.js +1 -1
- package/app/.next/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/responses/route.js +1 -1
- package/app/.next/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/route.js +1 -1
- package/app/.next/server/app/api/v1/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/search/route.js +1 -1
- package/app/.next/server/app/api/v1/search/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/web/fetch/route.js +1 -1
- package/app/.next/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/app/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1beta/models/route.js +1 -1
- package/app/.next/server/app/api/v1beta/models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/version/route.js +1 -1
- package/app/.next/server/app/api/version/route.js.nft.json +1 -1
- package/app/.next/server/app/api/version/shutdown/route.js +1 -0
- package/app/.next/server/app/api/version/shutdown/route.js.nft.json +1 -0
- package/app/.next/server/app/api/version/shutdown/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/version/update/route.js +1 -1
- package/app/.next/server/app/api/version/update/route.js.nft.json +1 -1
- package/app/.next/server/app/callback/page.js +2 -2
- package/app/.next/server/app/callback/page.js.nft.json +1 -1
- package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/callback.html +1 -1
- package/app/.next/server/app/callback.rsc +6 -7
- package/app/.next/server/app/callback.segments/_full.segment.rsc +6 -7
- package/app/.next/server/app/callback.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/callback.segments/_index.segment.rsc +5 -6
- package/app/.next/server/app/callback.segments/_tree.segment.rsc +3 -4
- package/app/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/callback.segments/callback.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/basic-chat.html +1 -1
- package/app/.next/server/app/dashboard/basic-chat.rsc +7 -8
- package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/basic-chat.segments/_full.segment.rsc +7 -8
- package/app/.next/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/basic-chat.segments/_index.segment.rsc +5 -6
- package/app/.next/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +3 -4
- package/app/.next/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next/server/app/dashboard/cli-tools.rsc +7 -8
- package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +7 -8
- package/app/.next/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/cli-tools.segments/_index.segment.rsc +5 -6
- package/app/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +3 -4
- package/app/.next/server/app/dashboard/combos.html +1 -1
- package/app/.next/server/app/dashboard/combos.rsc +7 -8
- package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/combos.segments/_full.segment.rsc +7 -8
- package/app/.next/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/combos.segments/_index.segment.rsc +5 -6
- package/app/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +3 -4
- package/app/.next/server/app/dashboard/endpoint.html +1 -1
- package/app/.next/server/app/dashboard/endpoint.rsc +7 -8
- package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +7 -8
- package/app/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +5 -6
- package/app/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +3 -4
- package/app/.next/server/app/dashboard/media-providers/web.html +1 -1
- package/app/.next/server/app/dashboard/media-providers/web.rsc +7 -8
- package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +7 -8
- package/app/.next/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +5 -6
- package/app/.next/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +3 -4
- package/app/.next/server/app/dashboard/mitm.html +1 -1
- package/app/.next/server/app/dashboard/mitm.rsc +7 -8
- package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/mitm.segments/_full.segment.rsc +7 -8
- package/app/.next/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/mitm.segments/_index.segment.rsc +5 -6
- package/app/.next/server/app/dashboard/mitm.segments/_tree.segment.rsc +3 -4
- package/app/.next/server/app/dashboard/profile.html +1 -1
- package/app/.next/server/app/dashboard/profile.rsc +7 -8
- package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/profile.segments/_full.segment.rsc +7 -8
- package/app/.next/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/profile.segments/_index.segment.rsc +5 -6
- package/app/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +3 -4
- package/app/.next/server/app/dashboard/providers/new.html +1 -1
- package/app/.next/server/app/dashboard/providers/new.rsc +7 -8
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +7 -8
- package/app/.next/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers/new.segments/_index.segment.rsc +5 -6
- package/app/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +3 -4
- package/app/.next/server/app/dashboard/providers.html +1 -1
- package/app/.next/server/app/dashboard/providers.rsc +7 -8
- package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers.segments/_full.segment.rsc +7 -8
- package/app/.next/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers.segments/_index.segment.rsc +5 -6
- package/app/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +3 -4
- package/app/.next/server/app/dashboard/proxy-pools.html +1 -1
- package/app/.next/server/app/dashboard/proxy-pools.rsc +7 -8
- package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +7 -8
- package/app/.next/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +5 -6
- package/app/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +3 -4
- package/app/.next/server/app/dashboard/quota.html +2 -2
- package/app/.next/server/app/dashboard/quota.rsc +8 -9
- package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
- package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/quota.segments/_full.segment.rsc +8 -9
- package/app/.next/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/quota.segments/_index.segment.rsc +5 -6
- package/app/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +3 -4
- package/app/.next/server/app/dashboard/settings/pricing/page.js +2 -2
- package/app/.next/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
- package/app/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.rsc +5 -6
- package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -6
- package/app/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +5 -6
- package/app/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +3 -4
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/skills.html +1 -1
- package/app/.next/server/app/dashboard/skills.rsc +7 -8
- package/app/.next/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/skills.segments/_full.segment.rsc +7 -8
- package/app/.next/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/skills.segments/_index.segment.rsc +5 -6
- package/app/.next/server/app/dashboard/skills.segments/_tree.segment.rsc +3 -4
- package/app/.next/server/app/dashboard/translator.html +1 -1
- package/app/.next/server/app/dashboard/translator.rsc +7 -8
- package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/translator.segments/_full.segment.rsc +7 -8
- package/app/.next/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/translator.segments/_index.segment.rsc +5 -6
- package/app/.next/server/app/dashboard/translator.segments/_tree.segment.rsc +3 -4
- package/app/.next/server/app/dashboard/usage.html +1 -1
- package/app/.next/server/app/dashboard/usage.rsc +7 -8
- package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/usage.segments/_full.segment.rsc +7 -8
- package/app/.next/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/usage.segments/_index.segment.rsc +5 -6
- package/app/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +3 -4
- package/app/.next/server/app/dashboard.html +1 -1
- package/app/.next/server/app/dashboard.rsc +7 -8
- package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard.segments/_full.segment.rsc +7 -8
- package/app/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard.segments/_index.segment.rsc +5 -6
- package/app/.next/server/app/dashboard.segments/_tree.segment.rsc +3 -4
- package/app/.next/server/app/favicon.ico/route.js +1 -1
- package/app/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/app/.next/server/app/index.html +1 -1
- package/app/.next/server/app/index.rsc +5 -6
- package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/index.segments/_full.segment.rsc +5 -6
- package/app/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/index.segments/_index.segment.rsc +5 -6
- package/app/.next/server/app/index.segments/_tree.segment.rsc +3 -4
- package/app/.next/server/app/landing/page.js +2 -2
- package/app/.next/server/app/landing/page.js.nft.json +1 -1
- package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/landing.html +1 -1
- package/app/.next/server/app/landing.rsc +5 -6
- package/app/.next/server/app/landing.segments/_full.segment.rsc +5 -6
- package/app/.next/server/app/landing.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/landing.segments/_index.segment.rsc +5 -6
- package/app/.next/server/app/landing.segments/_tree.segment.rsc +3 -4
- package/app/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/landing.segments/landing.segment.rsc +1 -1
- package/app/.next/server/app/login/page.js +2 -2
- package/app/.next/server/app/login/page.js.nft.json +1 -1
- package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/login.html +1 -1
- package/app/.next/server/app/login.rsc +6 -7
- package/app/.next/server/app/login.segments/_full.segment.rsc +6 -7
- package/app/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/login.segments/_index.segment.rsc +5 -6
- package/app/.next/server/app/login.segments/_tree.segment.rsc +3 -4
- package/app/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/app/.next/server/app/manifest.webmanifest/route.js +2 -2
- package/app/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/app/.next/server/app/page.js +2 -2
- package/app/.next/server/app/page.js.nft.json +1 -1
- package/app/.next/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app-paths-manifest.json +27 -14
- package/app/.next/server/chunks/1051.js +1 -0
- package/app/.next/server/chunks/1476.js +1 -0
- package/app/.next/server/chunks/1498.js +1 -0
- package/app/.next/server/chunks/1531.js +1 -0
- package/app/.next/server/chunks/1569.js +1 -0
- package/app/.next/server/chunks/1699.js +1 -0
- package/app/.next/server/chunks/1998.js +1 -0
- package/app/.next/server/chunks/3104.js +43 -0
- package/app/.next/server/chunks/3110.js +56 -5
- package/app/.next/server/chunks/318.js +41 -15
- package/app/.next/server/chunks/3245.js +1 -1
- package/app/.next/server/chunks/3588.js +1 -0
- package/app/.next/server/chunks/365.js +1 -0
- package/app/.next/server/chunks/4013.js +1 -0
- package/app/.next/server/chunks/412.js +5 -5
- package/app/.next/server/chunks/4177.js +1 -0
- package/app/.next/server/chunks/4250.js +1 -1
- package/app/.next/server/chunks/4334.js +1 -1
- package/app/.next/server/chunks/4389.js +1 -0
- package/app/.next/server/chunks/4404.js +1 -0
- package/app/.next/server/chunks/4989.js +2 -2
- package/app/.next/server/chunks/{7861.js → 5221.js} +1 -1
- package/app/.next/server/chunks/5433.js +1 -0
- package/app/.next/server/chunks/5681.js +1 -1
- package/app/.next/server/chunks/5995.js +53 -0
- package/app/.next/server/chunks/6108.js +1 -1
- package/app/.next/server/chunks/6182.js +61 -5
- package/app/.next/server/chunks/6251.js +1 -0
- package/app/.next/server/chunks/6457.js +4 -0
- package/app/.next/server/chunks/6811.js +1 -0
- package/app/.next/server/chunks/6935.js +1 -0
- package/app/.next/server/chunks/7341.js +1 -1
- package/app/.next/server/chunks/7828.js +1 -1
- package/app/.next/server/chunks/7879.js +10 -0
- package/app/.next/server/chunks/7994.js +2 -2
- package/app/.next/server/chunks/8255.js +1 -0
- package/app/.next/server/chunks/8473.js +8 -0
- package/app/.next/server/chunks/8590.js +1 -1
- package/app/.next/server/chunks/8895.js +4 -4
- package/app/.next/server/chunks/8971.js +1 -0
- package/app/.next/server/chunks/9396.js +44 -0
- package/app/.next/server/chunks/9489.js +1 -1
- package/app/.next/server/chunks/9528.js +32 -0
- package/app/.next/server/chunks/9609.js +1 -1
- package/app/.next/server/chunks/9718.js +1 -1
- package/app/.next/server/chunks/9807.js +7 -0
- package/app/.next/server/functions-config-manifest.json +4 -30
- package/app/.next/server/middleware-build-manifest.js +1 -1
- package/app/.next/server/middleware.js +2 -2
- package/app/.next/server/pages/404.html +1 -1
- package/app/.next/server/pages/500.html +1 -1
- package/app/.next/server/server-reference-manifest.js +1 -1
- package/app/.next/server/server-reference-manifest.json +1 -1
- package/app/.next/static/4coXBNn9VafqaS8iRnddC/_buildManifest.js +1 -0
- package/app/.next/static/chunks/1321-4e2ed43c8724597f.js +1 -0
- package/app/.next/static/chunks/1a258343-5938f676ed376386.js +1 -0
- package/app/.next/static/chunks/2589-eefad05f65704f6b.js +3 -0
- package/app/.next/static/chunks/4406-05ac5641472f331e.js +53 -0
- package/app/.next/static/chunks/5497-73d5899267432022.js +7 -0
- package/app/.next/static/chunks/7055-e60e20f43bfbe5f8.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/basic-chat/page-068dda6eab2b9c36.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-67d36bbaeb6af871.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-51957200aaa0e0f7.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/page-1271df5d411ef013.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-e680a27ecacbfd49.js +59 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-af17247a74fa851d.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/mitm/page-8cb9c569a7822a0a.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-8eaef671b213ee9e.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-90eac92387b41cd4.js +6 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-de08b6b9ad238de4.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-b9da35538f423062.js +4 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/quota/page-1389351bfdd842f9.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-d6fce7b8e1d3fdec.js +3 -0
- package/app/.next/static/chunks/app/(dashboard)/layout-1244fdc593309aa9.js +1 -0
- package/app/.next/static/chunks/app/_global-error/page-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/antigravity-app/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/antigravity-app-v2/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/antigravity-ide/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/antigravity-tools/import/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/antigravity-tools/import-refresh-tokens/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/auth/login/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/auth/logout/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/auth/oidc/callback/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/auth/oidc/start/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/auth/oidc/test/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/auth/status/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/all-statuses/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/copilot-settings/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/cowork-settings/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/hermes-settings/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/jcode-settings/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/opencode-settings/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/combos/[id]/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/combos/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/donate/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/health/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/init/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/internal/account-health/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/internal/request-detail/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/internal/usage/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/keys/[id]/reset-usage/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/keys/[id]/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/keys/[id]/usage/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/keys/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/locale/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/mcp/[plugin]/message/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/mcp/[plugin]/sse/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/media-providers/tts/minimax/voices/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/media-providers/tts/voices/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/models/alias/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/models/availability/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/models/custom/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/models/disabled/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/models/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/models/test/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/codex/import-token/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/cursor/import/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/gitlab/pat/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/iflow/cookie/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/kiro/import/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/pricing/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/provider-nodes/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/provider-nodes/validate/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/providers/[id]/models/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/providers/[id]/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/providers/[id]/test/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/providers/[id]/test-models/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/providers/client/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/providers/kilo/free-models/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/providers/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/providers/suggested-models/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/providers/test-batch/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/providers/validate/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/proxy-pools/[id]/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/proxy-pools/[id]/test/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/proxy-pools/deno-deploy/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/proxy-pools/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/proxy-pools/vercel-deploy/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/settings/database/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/settings/proxy-test/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/settings/require-login/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/settings/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/shutdown/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/tags/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/translator/console-logs/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/translator/console-logs/stream/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/translator/load/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/translator/save/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/translator/send/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/translator/translate/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/tunnel/disable/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/tunnel/enable/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/tunnel/status/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/tunnel/tailscale-check/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/tunnel/tailscale-disable/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/tunnel/tailscale-enable/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/tunnel/tailscale-install/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/usage/[connectionId]/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/usage/chart/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/usage/history/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/usage/logs/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/usage/providers/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/usage/report/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/usage/request-details/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/usage/request-logs/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/usage/stats/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/usage/stream/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/v1/api/chat/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/v1/audio/speech/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/v1/audio/voices/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/v1/chat/completions/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/v1/embeddings/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/v1/images/generations/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/v1/messages/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/v1/models/[kind]/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/v1/models/info/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/v1/models/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/v1/responses/compact/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/v1/responses/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/v1/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/v1/search/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/v1/web/fetch/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/v1beta/models/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/version/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/version/shutdown/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/api/version/update/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/callback/page-1ac4b69a5de26857.js +1 -0
- package/app/.next/static/chunks/app/layout-35b23f7e08fe3978.js +1 -0
- package/app/.next/static/chunks/app/login/page-98aaabbf53ef75f6.js +1 -0
- package/app/.next/static/chunks/app/manifest.webmanifest/route-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/app/page-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/{main-1b1bc8be25c3ce13.js → main-436691d9f611641e.js} +3 -3
- package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-7a42dc789702ab06.js +1 -0
- package/app/.next/static/chunks/{webpack-a33c667c0bbf302f.js → webpack-c2bac8d80aa27536.js} +1 -1
- package/app/.next/static/css/{081a0afca5a9bd20.css → 0f03023a765dc337.css} +1 -1
- package/app/.next/static/css/237aeed62967f245.css +1 -0
- package/app/.next/static/media/material-symbols-outlined.50fdf095.woff2 +0 -0
- package/app/open-sse/config/appConstants.js +9 -3
- package/app/open-sse/config/kiroConstants.js +262 -0
- package/app/open-sse/config/providerModels.js +221 -20
- package/app/open-sse/config/providers.js +86 -23
- package/app/open-sse/config/runtimeConfig.js +6 -0
- package/app/open-sse/executors/base.js +21 -4
- package/app/open-sse/executors/codex.js +255 -28
- package/app/open-sse/executors/cursor.js +52 -2
- package/app/open-sse/executors/default.js +32 -6
- package/app/open-sse/executors/gemini-cli.js +26 -4
- package/app/open-sse/executors/github.js +16 -2
- package/app/open-sse/executors/kiro.js +37 -0
- package/app/open-sse/executors/opencode.js +6 -1
- package/app/open-sse/executors/qoder.js +420 -43
- package/app/open-sse/handlers/chatCore.js +22 -6
- package/app/open-sse/handlers/embeddingProviders/gemini.js +15 -3
- package/app/open-sse/handlers/imageProviders/codex.js +1 -1
- package/app/open-sse/handlers/imageProviders/index.js +1 -0
- package/app/open-sse/handlers/imageProviders/openai.js +7 -0
- package/app/open-sse/handlers/ttsProviders/genericFormats.js +2 -0
- package/app/open-sse/handlers/ttsProviders/minimax.js +59 -0
- package/app/open-sse/rtk/autodetect.js +9 -2
- package/app/open-sse/rtk/constants.js +2 -1
- package/app/open-sse/rtk/filters/buildOutput.js +127 -0
- package/app/open-sse/rtk/index.js +36 -0
- package/app/open-sse/services/kiroModels.js +332 -0
- package/app/open-sse/services/model.js +73 -0
- package/app/open-sse/services/qoderModels.js +214 -0
- package/app/open-sse/services/tokenRefresh.js +94 -19
- package/app/open-sse/services/usage.js +323 -123
- package/app/open-sse/translator/helpers/openaiHelper.js +3 -0
- package/app/open-sse/translator/request/openai-responses.js +28 -2
- package/app/open-sse/translator/request/openai-to-kiro.js +48 -4
- package/app/open-sse/translator/response/kiro-to-openai.js +10 -4
- package/app/open-sse/translator/response/openai-responses.js +10 -3
- package/app/open-sse/translator/response/openai-to-claude.js +59 -16
- package/app/open-sse/utils/clientDetector.js +6 -3
- package/app/open-sse/utils/debugLog.js +14 -0
- package/app/open-sse/utils/proxyFetch.js +101 -1
- package/app/open-sse/utils/reasoningContentInjector.js +41 -3
- package/app/open-sse/utils/stream.js +15 -3
- package/app/open-sse/utils/streamHandler.js +106 -6
- package/app/open-sse/utils/toolDeduper.js +49 -0
- package/app/open-sse/utils/usageTracking.js +10 -0
- package/app/package.json +7 -5
- package/app/public/i18n/literals/ar.json +4 -6
- package/app/public/i18n/literals/bn.json +4 -6
- package/app/public/i18n/literals/cs.json +4 -6
- package/app/public/i18n/literals/da.json +4 -6
- package/app/public/i18n/literals/de.json +4 -6
- package/app/public/i18n/literals/el.json +4 -6
- package/app/public/i18n/literals/es.json +4 -6
- package/app/public/i18n/literals/fi.json +4 -6
- package/app/public/i18n/literals/fr.json +4 -6
- package/app/public/i18n/literals/he.json +4 -6
- package/app/public/i18n/literals/hi.json +4 -6
- package/app/public/i18n/literals/hu.json +4 -6
- package/app/public/i18n/literals/id.json +4 -6
- package/app/public/i18n/literals/it.json +4 -6
- package/app/public/i18n/literals/ja.json +4 -6
- package/app/public/i18n/literals/ko.json +4 -6
- package/app/public/i18n/literals/nl.json +4 -6
- package/app/public/i18n/literals/no.json +4 -6
- package/app/public/i18n/literals/pl.json +4 -6
- package/app/public/i18n/literals/pt-BR.json +4 -6
- package/app/public/i18n/literals/pt-PT.json +4 -6
- package/app/public/i18n/literals/ro.json +5 -7
- package/app/public/i18n/literals/ru.json +4 -6
- package/app/public/i18n/literals/sv.json +4 -6
- package/app/public/i18n/literals/th.json +4 -6
- package/app/public/i18n/literals/tl.json +4 -6
- package/app/public/i18n/literals/tr.json +4 -6
- package/app/public/i18n/literals/uk.json +4 -6
- package/app/public/i18n/literals/ur.json +4 -6
- package/app/public/i18n/literals/vi.json +6 -8
- package/app/public/i18n/literals/zh-CN.json +5 -29
- package/app/public/i18n/literals/zh-TW.json +4 -6
- package/app/public/providers/amp.png +0 -0
- package/app/public/providers/deepseek-tui.png +0 -0
- package/app/public/providers/jcode.png +0 -0
- package/app/public/providers/qoder.png +0 -0
- package/app/public/providers/xiaomi-tokenplan.png +0 -0
- package/app/server.js +1 -1
- package/app/src/lib/oauth/services/qoder.js +216 -0
- package/app/src/lib/oauth/services/xai.js +238 -0
- package/app/src/lib/updater/updater.js +25 -0
- package/app/src/mitm/cert/install.js +123 -153
- package/app/src/mitm/config.js +34 -2
- package/app/src/mitm/handlers/antigravity.js +2 -1
- package/app/src/mitm/logger.js +11 -1
- package/app/src/shared/constants/cliTools.js +146 -29
- package/app/src/shared/constants/config.js +9 -2
- package/app/src/shared/constants/coworkPlugins.js +64 -944
- package/app/src/shared/constants/pricing.js +5 -2
- package/app/src/shared/constants/providers.js +71 -14
- package/app/src/shared/constants/ttsProviders.js +16 -0
- package/package.json +1 -1
- package/app/.next/server/app/api/cloud/auth/route.js +0 -1
- package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +0 -1
- package/app/.next/server/app/api/cloud/credentials/update/route.js +0 -1
- package/app/.next/server/app/api/cloud/model/resolve/route.js +0 -1
- package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +0 -1
- package/app/.next/server/app/api/cloud/models/alias/route.js +0 -1
- package/app/.next/server/app/api/tunnel/tailscale-login/route.js +0 -1
- package/app/.next/server/app/api/tunnel/tailscale-start-daemon/route.js +0 -2
- package/app/.next/server/app/api/tunnel/tailscale-start-daemon/route_client-reference-manifest.js +0 -1
- package/app/.next/server/chunks/2406.js +0 -23
- package/app/.next/server/chunks/2417.js +0 -1
- package/app/.next/server/chunks/2506.js +0 -3
- package/app/.next/server/chunks/2549.js +0 -1
- package/app/.next/server/chunks/2583.js +0 -1
- package/app/.next/server/chunks/3646.js +0 -1
- package/app/.next/server/chunks/3855.js +0 -1
- package/app/.next/server/chunks/4084.js +0 -35
- package/app/.next/server/chunks/436.js +0 -1
- package/app/.next/server/chunks/4632.js +0 -1
- package/app/.next/server/chunks/5296.js +0 -1
- package/app/.next/server/chunks/5434.js +0 -1
- package/app/.next/server/chunks/5627.js +0 -23
- package/app/.next/server/chunks/6114.js +0 -1
- package/app/.next/server/chunks/7595.js +0 -1
- package/app/.next/server/chunks/7924.js +0 -1
- package/app/.next/server/chunks/8491.js +0 -1
- package/app/.next/server/chunks/8760.js +0 -1
- package/app/.next/server/chunks/8838.js +0 -1
- package/app/.next/static/chunks/1321-f018eeb978c98075.js +0 -1
- package/app/.next/static/chunks/1a258343-4878413fb430abba.js +0 -1
- package/app/.next/static/chunks/2589-1e9bb7a900f2c1b0.js +0 -3
- package/app/.next/static/chunks/5497-829884464a5b2ac5.js +0 -7
- package/app/.next/static/chunks/9803-860e2a1e4e3ef09f.js +0 -23
- package/app/.next/static/chunks/app/(dashboard)/dashboard/basic-chat/page-b279697882f0ed2a.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-2997d55628e09b76.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/page-de34ae04d784597b.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-4c2d312eba93f6fa.js +0 -53
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-2a196db0213415bf.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/mitm/page-7c6dd9e7e1c4bb8a.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-b6595aeb7c5b386f.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-48670924de911859.js +0 -4
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-280dceda93ddf1cb.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-d1fe33a3d1c02c4e.js +0 -2
- package/app/.next/static/chunks/app/(dashboard)/dashboard/quota/page-c6cab27ae3842aeb.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-1a126c66d5e5f689.js +0 -3
- package/app/.next/static/chunks/app/(dashboard)/layout-27244e694148142c.js +0 -1
- package/app/.next/static/chunks/app/_global-error/page-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/antigravity-app/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/antigravity-app-v2/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/antigravity-ide/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/antigravity-tools/import/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/antigravity-tools/import-refresh-tokens/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/auth/login/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/auth/logout/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/copilot-settings/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/cowork-settings/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/hermes-settings/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/opencode-settings/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/cloud/auth/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/cloud/credentials/update/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/cloud/model/resolve/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/cloud/models/alias/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/combos/[id]/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/combos/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/health/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/init/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/internal/account-health/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/internal/request-detail/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/internal/usage/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/keys/[id]/reset-usage/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/keys/[id]/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/keys/[id]/usage/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/keys/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/locale/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/media-providers/tts/voices/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/models/alias/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/models/availability/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/models/custom/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/models/disabled/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/models/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/models/test/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/cursor/import/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/gitlab/pat/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/iflow/cookie/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/import/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/pricing/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/provider-nodes/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/provider-nodes/validate/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/models/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/test/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/test-models/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/providers/client/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/providers/kilo/free-models/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/providers/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/providers/suggested-models/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/providers/test-batch/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/providers/validate/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/proxy-pools/[id]/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/proxy-pools/[id]/test/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/proxy-pools/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/proxy-pools/vercel-deploy/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/settings/database/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/settings/proxy-test/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/settings/require-login/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/settings/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/shutdown/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/tags/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/translator/console-logs/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/translator/console-logs/stream/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/translator/load/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/translator/save/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/translator/send/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/translator/translate/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/disable/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/enable/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/status/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/tailscale-check/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/tailscale-disable/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/tailscale-enable/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/tailscale-install/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/tailscale-login/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/tailscale-start-daemon/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/usage/[connectionId]/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/usage/chart/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/usage/history/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/usage/logs/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/usage/providers/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/usage/report/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/usage/request-details/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/usage/request-logs/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/usage/stats/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/usage/stream/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/v1/api/chat/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/v1/audio/speech/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/v1/audio/voices/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/v1/chat/completions/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/v1/embeddings/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/v1/images/generations/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/v1/messages/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/v1/models/[kind]/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/v1/models/info/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/v1/models/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/v1/responses/compact/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/v1/responses/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/v1/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/v1/search/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/v1/web/fetch/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/v1beta/models/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/version/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/api/version/update/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/callback/page-2d6169978b33b3bc.js +0 -1
- package/app/.next/static/chunks/app/layout-fa54526b5d7255bf.js +0 -1
- package/app/.next/static/chunks/app/login/page-69f6d8a6f709da51.js +0 -1
- package/app/.next/static/chunks/app/manifest.webmanifest/route-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/app/page-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-fb42fdff0ddaa89d.js +0 -1
- package/app/.next/static/css/e0054c8830b88cae.css +0 -1
- package/app/.next/static/nKBxD9e1uLpS2wHVBNCBM/_buildManifest.js +0 -1
- /package/app/.next/static/{nKBxD9e1uLpS2wHVBNCBM → 4coXBNn9VafqaS8iRnddC}/_ssgManifest.js +0 -0
|
@@ -58,13 +58,17 @@ const CLAUDE_CONFIG = {
|
|
|
58
58
|
* @returns {Object} Usage data with quotas
|
|
59
59
|
*/
|
|
60
60
|
export async function getUsageForProvider(connection, proxyOptions = null) {
|
|
61
|
-
const { provider, accessToken, apiKey, providerSpecificData } = connection;
|
|
61
|
+
const { provider, accessToken, apiKey, providerSpecificData, projectId } = connection;
|
|
62
|
+
const providerDataWithProjectId = {
|
|
63
|
+
...(providerSpecificData || {}),
|
|
64
|
+
...(projectId ? { projectId } : {}),
|
|
65
|
+
};
|
|
62
66
|
|
|
63
67
|
switch (provider) {
|
|
64
68
|
case "github":
|
|
65
69
|
return await getGitHubUsage(accessToken, providerSpecificData, proxyOptions);
|
|
66
70
|
case "gemini-cli":
|
|
67
|
-
return await getGeminiUsage(accessToken,
|
|
71
|
+
return await getGeminiUsage(accessToken, providerDataWithProjectId, proxyOptions);
|
|
68
72
|
case "antigravity":
|
|
69
73
|
return await getAntigravityUsage(accessToken, providerSpecificData, proxyOptions);
|
|
70
74
|
case "claude":
|
|
@@ -73,6 +77,8 @@ export async function getUsageForProvider(connection, proxyOptions = null) {
|
|
|
73
77
|
return await getCodexUsage(accessToken, proxyOptions);
|
|
74
78
|
case "kiro":
|
|
75
79
|
return await getKiroUsage(accessToken, providerSpecificData, proxyOptions);
|
|
80
|
+
case "qoder":
|
|
81
|
+
return await getQoderUsage(accessToken, proxyOptions);
|
|
76
82
|
case "qwen":
|
|
77
83
|
return await getQwenUsage(accessToken, providerSpecificData);
|
|
78
84
|
case "iflow":
|
|
@@ -222,18 +228,22 @@ async function getGeminiUsage(accessToken, providerSpecificData, proxyOptions =
|
|
|
222
228
|
}
|
|
223
229
|
|
|
224
230
|
try {
|
|
225
|
-
// Resolve project id: prefer connection-stored id, else loadCodeAssist lookup
|
|
226
|
-
|
|
231
|
+
// Resolve project id: prefer connection-stored id, else loadCodeAssist lookup.
|
|
232
|
+
// #1271: OAuth save stores projectId on the connection, not providerSpecificData.
|
|
233
|
+
let projectId = normalizeCloudCodeProjectId(providerSpecificData?.projectId);
|
|
227
234
|
let plan = "Free";
|
|
228
235
|
|
|
229
236
|
if (!projectId) {
|
|
230
237
|
const subInfo = await getGeminiSubscriptionInfo(accessToken, proxyOptions);
|
|
231
|
-
projectId = subInfo?.cloudaicompanionProject
|
|
238
|
+
projectId = normalizeCloudCodeProjectId(subInfo?.cloudaicompanionProject);
|
|
232
239
|
plan = subInfo?.currentTier?.name || plan;
|
|
233
240
|
}
|
|
234
241
|
|
|
235
242
|
if (!projectId) {
|
|
236
|
-
return {
|
|
243
|
+
return {
|
|
244
|
+
plan,
|
|
245
|
+
message: "Gemini CLI project ID not available. Reconnect Gemini CLI, or configure a Google Cloud project with Gemini Code Assist access before checking quota.",
|
|
246
|
+
};
|
|
237
247
|
}
|
|
238
248
|
|
|
239
249
|
const controller = new AbortController();
|
|
@@ -289,6 +299,14 @@ async function getGeminiUsage(accessToken, providerSpecificData, proxyOptions =
|
|
|
289
299
|
}
|
|
290
300
|
}
|
|
291
301
|
|
|
302
|
+
function normalizeCloudCodeProjectId(project) {
|
|
303
|
+
if (typeof project === "string") return project.trim() || null;
|
|
304
|
+
if (project && typeof project === "object" && typeof project.id === "string") {
|
|
305
|
+
return project.id.trim() || null;
|
|
306
|
+
}
|
|
307
|
+
return null;
|
|
308
|
+
}
|
|
309
|
+
|
|
292
310
|
/**
|
|
293
311
|
* Get Gemini CLI subscription info via loadCodeAssist
|
|
294
312
|
*/
|
|
@@ -305,11 +323,7 @@ async function getGeminiSubscriptionInfo(accessToken, proxyOptions = null) {
|
|
|
305
323
|
"Content-Type": "application/json",
|
|
306
324
|
},
|
|
307
325
|
body: JSON.stringify({
|
|
308
|
-
metadata:
|
|
309
|
-
ideType: "IDE_UNSPECIFIED",
|
|
310
|
-
platform: "PLATFORM_UNSPECIFIED",
|
|
311
|
-
pluginType: "GEMINI",
|
|
312
|
-
},
|
|
326
|
+
metadata: CLIENT_METADATA,
|
|
313
327
|
}),
|
|
314
328
|
signal: controller.signal,
|
|
315
329
|
},
|
|
@@ -332,87 +346,121 @@ async function getAntigravityUsage(accessToken, providerSpecificData, proxyOptio
|
|
|
332
346
|
// Fetch subscription info once — reuse for both projectId and plan
|
|
333
347
|
const subscriptionInfo = await getAntigravitySubscriptionInfo(accessToken, proxyOptions);
|
|
334
348
|
const projectId = subscriptionInfo?.cloudaicompanionProject || null;
|
|
349
|
+
const subscriptionTier = subscriptionInfo?.subscriptionTier || "Unknown";
|
|
335
350
|
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
351
|
+
const endpoints = [
|
|
352
|
+
"https://daily-cloudcode-pa.sandbox.googleapis.com/v1internal:fetchAvailableModels",
|
|
353
|
+
"https://daily-cloudcode-pa.googleapis.com/v1internal:fetchAvailableModels",
|
|
354
|
+
"https://cloudcode-pa.googleapis.com/v1internal:fetchAvailableModels"
|
|
355
|
+
];
|
|
339
356
|
|
|
340
|
-
let response;
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
method: "POST",
|
|
344
|
-
headers: {
|
|
345
|
-
"Authorization": `Bearer ${accessToken}`,
|
|
346
|
-
"User-Agent": ANTIGRAVITY_CONFIG.userAgent,
|
|
347
|
-
"Content-Type": "application/json",
|
|
348
|
-
"X-Client-Name": "antigravity",
|
|
349
|
-
"X-Client-Version": "1.107.0",
|
|
350
|
-
"x-request-source": "local", // MITM bypass
|
|
351
|
-
},
|
|
352
|
-
body: JSON.stringify({
|
|
353
|
-
...(projectId ? { project: projectId } : {})
|
|
354
|
-
}),
|
|
355
|
-
signal: controller.signal,
|
|
356
|
-
}, proxyOptions);
|
|
357
|
-
} finally {
|
|
358
|
-
clearTimeout(timeoutId);
|
|
359
|
-
}
|
|
357
|
+
let response = null;
|
|
358
|
+
let responseData = null;
|
|
359
|
+
let fetchError = null;
|
|
360
360
|
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
quotas: {}
|
|
365
|
-
};
|
|
366
|
-
}
|
|
361
|
+
for (const url of endpoints) {
|
|
362
|
+
const controller = new AbortController();
|
|
363
|
+
const timeoutId = setTimeout(() => controller.abort(), 10000);
|
|
367
364
|
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
365
|
+
let payload = projectId ? { project: projectId } : {};
|
|
366
|
+
|
|
367
|
+
try {
|
|
368
|
+
let res = await proxyAwareFetch(url, {
|
|
369
|
+
method: "POST",
|
|
370
|
+
headers: {
|
|
371
|
+
"Authorization": `Bearer ${accessToken}`,
|
|
372
|
+
"User-Agent": ANTIGRAVITY_CONFIG.userAgent,
|
|
373
|
+
"Content-Type": "application/json",
|
|
374
|
+
"X-Client-Name": "antigravity",
|
|
375
|
+
"X-Client-Version": "1.107.0",
|
|
376
|
+
"x-request-source": "local",
|
|
377
|
+
},
|
|
378
|
+
body: JSON.stringify(payload),
|
|
379
|
+
signal: controller.signal,
|
|
380
|
+
}, proxyOptions);
|
|
381
|
+
|
|
382
|
+
// 403 Forbidden check: if payload has project, retry without project ID on the SAME endpoint
|
|
383
|
+
if (res.status === 403 && payload.project) {
|
|
384
|
+
console.warn(`[Antigravity Quota] 403 Forbidden with project ID on ${url}, retrying without project ID...`);
|
|
385
|
+
res = await proxyAwareFetch(url, {
|
|
386
|
+
method: "POST",
|
|
387
|
+
headers: {
|
|
388
|
+
"Authorization": `Bearer ${accessToken}`,
|
|
389
|
+
"User-Agent": ANTIGRAVITY_CONFIG.userAgent,
|
|
390
|
+
"Content-Type": "application/json",
|
|
391
|
+
"X-Client-Name": "antigravity",
|
|
392
|
+
"X-Client-Version": "1.107.0",
|
|
393
|
+
"x-request-source": "local",
|
|
394
|
+
},
|
|
395
|
+
body: JSON.stringify({}),
|
|
396
|
+
signal: controller.signal,
|
|
397
|
+
}, proxyOptions);
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
if (res.status === 403) {
|
|
401
|
+
return {
|
|
402
|
+
plan: subscriptionTier,
|
|
403
|
+
message: "Antigravity quota API access forbidden.",
|
|
404
|
+
isForbidden: true,
|
|
405
|
+
quotas: {}
|
|
406
|
+
};
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
if (res.status === 401) {
|
|
410
|
+
return {
|
|
411
|
+
plan: subscriptionTier,
|
|
412
|
+
message: "Antigravity quota API authentication expired.",
|
|
413
|
+
isExpired: true,
|
|
414
|
+
quotas: {}
|
|
415
|
+
};
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
if (res.ok) {
|
|
419
|
+
response = res;
|
|
420
|
+
responseData = await res.json();
|
|
421
|
+
break; // Succeeded! Break the endpoints loop
|
|
422
|
+
} else {
|
|
423
|
+
const errText = await res.text();
|
|
424
|
+
fetchError = new Error(`HTTP ${res.status}: ${errText}`);
|
|
425
|
+
}
|
|
426
|
+
} catch (err) {
|
|
427
|
+
fetchError = err;
|
|
428
|
+
} finally {
|
|
429
|
+
clearTimeout(timeoutId);
|
|
430
|
+
}
|
|
373
431
|
}
|
|
374
432
|
|
|
375
|
-
if (!response
|
|
376
|
-
throw new Error(
|
|
433
|
+
if (!response || !responseData) {
|
|
434
|
+
throw fetchError || new Error("Failed to fetch antigravity quota from all endpoints");
|
|
377
435
|
}
|
|
378
436
|
|
|
379
|
-
const data = await response.json();
|
|
380
437
|
const quotas = {};
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
// Filter only recommended/important models (must match PROVIDER_MODELS ag ids)
|
|
385
|
-
const importantModels = [
|
|
386
|
-
'gemini-3.5-flash-low',
|
|
387
|
-
'gemini-3-flash-agent',
|
|
388
|
-
'gemini-3.5-flash-extra-low',
|
|
389
|
-
'gemini-3.1-pro-low',
|
|
390
|
-
'gemini-pro-agent',
|
|
391
|
-
'claude-sonnet-4-6',
|
|
392
|
-
'claude-opus-4-6-thinking',
|
|
393
|
-
'gpt-oss-120b-medium',
|
|
394
|
-
];
|
|
395
|
-
|
|
396
|
-
for (const [modelKey, info] of Object.entries(data.models)) {
|
|
397
|
-
// Skip models without quota info
|
|
438
|
+
if (responseData.models) {
|
|
439
|
+
// Like Antigravity-Manager, accept any model whose key starts with gemini, claude, gpt, image, or imagen
|
|
440
|
+
for (const [modelKey, info] of Object.entries(responseData.models)) {
|
|
398
441
|
if (!info.quotaInfo) {
|
|
399
442
|
continue;
|
|
400
443
|
}
|
|
401
444
|
|
|
402
|
-
|
|
403
|
-
|
|
445
|
+
const matchesTarget =
|
|
446
|
+
modelKey === "claude-opus-4-6-thinking" ||
|
|
447
|
+
modelKey === "claude-sonnet-4-6" ||
|
|
448
|
+
modelKey.startsWith("gemini-3.1-pro-") ||
|
|
449
|
+
modelKey === "gemini-3.1-pro" ||
|
|
450
|
+
modelKey.startsWith("gemini-3.5-") ||
|
|
451
|
+
modelKey === "gemini-3.5"||
|
|
452
|
+
modelKey === "gemini-3-flash-agent";
|
|
453
|
+
|
|
454
|
+
if (!matchesTarget) {
|
|
404
455
|
continue;
|
|
405
456
|
}
|
|
406
457
|
|
|
407
|
-
const remainingFraction = info.quotaInfo.remainingFraction
|
|
458
|
+
const remainingFraction = info.quotaInfo.remainingFraction != null ? info.quotaInfo.remainingFraction : 0;
|
|
408
459
|
const remainingPercentage = remainingFraction * 100;
|
|
409
|
-
|
|
410
|
-
// Convert percentage to used/total for UI compatibility
|
|
411
|
-
const total = 1000; // Normalized base
|
|
460
|
+
const total = 1000;
|
|
412
461
|
const remaining = Math.round(total * remainingFraction);
|
|
413
462
|
const used = total - remaining;
|
|
414
463
|
|
|
415
|
-
// Use modelKey as key (matches PROVIDER_MODELS id)
|
|
416
464
|
quotas[modelKey] = {
|
|
417
465
|
used,
|
|
418
466
|
total,
|
|
@@ -425,12 +473,12 @@ async function getAntigravityUsage(accessToken, providerSpecificData, proxyOptio
|
|
|
425
473
|
}
|
|
426
474
|
|
|
427
475
|
return {
|
|
428
|
-
plan:
|
|
476
|
+
plan: subscriptionTier,
|
|
429
477
|
quotas,
|
|
430
478
|
subscriptionInfo,
|
|
431
479
|
};
|
|
432
480
|
} catch (error) {
|
|
433
|
-
console.error("[Antigravity Usage] Error:", error.message
|
|
481
|
+
console.error("[Antigravity Usage] Error:", error.message);
|
|
434
482
|
return { message: `Antigravity error: ${error.message}` };
|
|
435
483
|
}
|
|
436
484
|
}
|
|
@@ -447,33 +495,97 @@ async function getAntigravityProjectId(accessToken) {
|
|
|
447
495
|
}
|
|
448
496
|
}
|
|
449
497
|
|
|
498
|
+
/**
|
|
499
|
+
* Check whether a tier string contains a recognizable keyword (ultra/pro/plus/free).
|
|
500
|
+
* Used to detect free accounts where currentTier.name is a generic label like "Antigravity".
|
|
501
|
+
*/
|
|
502
|
+
function isTierNormalizeable(value) {
|
|
503
|
+
if (!value) return false;
|
|
504
|
+
const lower = String(value).toLowerCase();
|
|
505
|
+
return lower.includes("ultra") || lower.includes("pro") || lower.includes("plus") || lower.includes("free") || lower.includes("restricted");
|
|
506
|
+
}
|
|
507
|
+
|
|
450
508
|
/**
|
|
451
509
|
* Get Antigravity subscription info
|
|
452
510
|
*/
|
|
453
511
|
async function getAntigravitySubscriptionInfo(accessToken, proxyOptions = null) {
|
|
454
|
-
const
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
headers: {
|
|
460
|
-
"Authorization": `Bearer ${accessToken}`,
|
|
461
|
-
"User-Agent": ANTIGRAVITY_CONFIG.userAgent,
|
|
462
|
-
"Content-Type": "application/json",
|
|
463
|
-
"x-request-source": "local", // MITM bypass
|
|
464
|
-
},
|
|
465
|
-
body: JSON.stringify({ metadata: CLIENT_METADATA, mode: 1 }),
|
|
466
|
-
signal: controller.signal,
|
|
467
|
-
}, proxyOptions);
|
|
512
|
+
const urls = [
|
|
513
|
+
"https://daily-cloudcode-pa.sandbox.googleapis.com/v1internal:loadCodeAssist",
|
|
514
|
+
"https://daily-cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",
|
|
515
|
+
"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist"
|
|
516
|
+
];
|
|
468
517
|
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
518
|
+
for (const url of urls) {
|
|
519
|
+
const controller = new AbortController();
|
|
520
|
+
const timeoutId = setTimeout(() => controller.abort(), 10000);
|
|
521
|
+
try {
|
|
522
|
+
const response = await proxyAwareFetch(url, {
|
|
523
|
+
method: "POST",
|
|
524
|
+
headers: {
|
|
525
|
+
"Authorization": `Bearer ${accessToken}`,
|
|
526
|
+
"User-Agent": ANTIGRAVITY_CONFIG.userAgent,
|
|
527
|
+
"Content-Type": "application/json",
|
|
528
|
+
"x-request-source": "local",
|
|
529
|
+
},
|
|
530
|
+
body: JSON.stringify({ metadata: CLIENT_METADATA, mode: 1 }),
|
|
531
|
+
signal: controller.signal,
|
|
532
|
+
}, proxyOptions);
|
|
533
|
+
|
|
534
|
+
if (response.ok) {
|
|
535
|
+
const data = await response.json();
|
|
536
|
+
const paidTier = data.paidTier;
|
|
537
|
+
const currentTier = data.currentTier;
|
|
538
|
+
const allowedTiers = data.allowedTiers;
|
|
539
|
+
const ineligibleTiers = data.ineligibleTiers;
|
|
540
|
+
|
|
541
|
+
let subscriptionTier = (paidTier?.name || paidTier?.id) || null;
|
|
542
|
+
const isIneligible = Array.isArray(ineligibleTiers) && ineligibleTiers.length > 0;
|
|
543
|
+
|
|
544
|
+
if (!subscriptionTier) {
|
|
545
|
+
if (!isIneligible) {
|
|
546
|
+
subscriptionTier = (currentTier?.name || currentTier?.id) || null;
|
|
547
|
+
} else {
|
|
548
|
+
if (Array.isArray(allowedTiers)) {
|
|
549
|
+
const defaultTier = allowedTiers.find(t => t.isDefault === true);
|
|
550
|
+
if (defaultTier) {
|
|
551
|
+
const nameOrId = defaultTier.name || defaultTier.id;
|
|
552
|
+
if (nameOrId) {
|
|
553
|
+
subscriptionTier = `${nameOrId} (Restricted)`;
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
// If subscriptionTier resolved to a value that doesn't map to a known tier
|
|
561
|
+
// (e.g. free accounts return currentTier.name="Antigravity" which is unrecognized),
|
|
562
|
+
// fall back to currentTier.id (free accounts have id="free-tier") or force "Free".
|
|
563
|
+
// This mirrors Antigravity-Manager's catch-all: anything not "ultra"/"pro" → FREE.
|
|
564
|
+
if (subscriptionTier && !isTierNormalizeable(subscriptionTier)) {
|
|
565
|
+
const idFallback = currentTier?.id;
|
|
566
|
+
if (idFallback && isTierNormalizeable(idFallback)) {
|
|
567
|
+
subscriptionTier = idFallback; // e.g. "free-tier" → will normalize to "Free"
|
|
568
|
+
} else if (!paidTier) {
|
|
569
|
+
// No paid tier and name didn't normalize → treat as Free (catch-all like Antigravity-Manager)
|
|
570
|
+
subscriptionTier = "Free";
|
|
571
|
+
}
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
// If still no tier resolved but we have currentTier info → Free
|
|
575
|
+
if (!subscriptionTier && currentTier && !isIneligible) {
|
|
576
|
+
subscriptionTier = "Free";
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
data.subscriptionTier = subscriptionTier;
|
|
580
|
+
return data;
|
|
581
|
+
}
|
|
582
|
+
} catch (error) {
|
|
583
|
+
console.error(`[Antigravity Subscription] Error fetching from ${url}:`, error.message);
|
|
584
|
+
} finally {
|
|
585
|
+
clearTimeout(timeoutId);
|
|
586
|
+
}
|
|
476
587
|
}
|
|
588
|
+
return null;
|
|
477
589
|
}
|
|
478
590
|
|
|
479
591
|
/**
|
|
@@ -968,16 +1080,29 @@ async function getGlmUsage(apiKey, provider, proxyOptions = null) {
|
|
|
968
1080
|
}
|
|
969
1081
|
|
|
970
1082
|
// ── MiniMax helpers ──────────────────────────────────────────────────────
|
|
971
|
-
function isMiniMaxTextQuotaModel(modelName) {
|
|
972
|
-
const normalized = (modelName || "").trim().toLowerCase();
|
|
973
|
-
return normalized.startsWith("minimax-m") || normalized.startsWith("coding-plan");
|
|
974
|
-
}
|
|
975
|
-
|
|
976
1083
|
function getMiniMaxField(model, snakeKey, camelKey) {
|
|
977
1084
|
if (!model || typeof model !== "object") return null;
|
|
978
1085
|
return model[snakeKey] ?? model[camelKey] ?? null;
|
|
979
1086
|
}
|
|
980
1087
|
|
|
1088
|
+
function getMiniMaxModelName(model) {
|
|
1089
|
+
return String(getMiniMaxField(model, "model_name", "modelName") || "").trim();
|
|
1090
|
+
}
|
|
1091
|
+
|
|
1092
|
+
function formatMiniMaxQuotaName(model) {
|
|
1093
|
+
const rawName = getMiniMaxModelName(model);
|
|
1094
|
+
if (!rawName) return "MiniMax";
|
|
1095
|
+
|
|
1096
|
+
return rawName
|
|
1097
|
+
.replace(/[_-]+/g, " ")
|
|
1098
|
+
.replace(/\s+/g, " ")
|
|
1099
|
+
.trim()
|
|
1100
|
+
.replace(/\b\w/g, (ch) => ch.toUpperCase())
|
|
1101
|
+
.replace(/\bTo\b/g, "to")
|
|
1102
|
+
.replace(/\bTts\b/g, "TTS")
|
|
1103
|
+
.replace(/\bHd\b/g, "HD");
|
|
1104
|
+
}
|
|
1105
|
+
|
|
981
1106
|
function getMiniMaxSessionTotal(model) {
|
|
982
1107
|
return Math.max(0, Number(getMiniMaxField(model, "current_interval_total_count", "currentIntervalTotalCount")) || 0);
|
|
983
1108
|
}
|
|
@@ -986,11 +1111,8 @@ function getMiniMaxWeeklyTotal(model) {
|
|
|
986
1111
|
return Math.max(0, Number(getMiniMaxField(model, "current_weekly_total_count", "currentWeeklyTotalCount")) || 0);
|
|
987
1112
|
}
|
|
988
1113
|
|
|
989
|
-
function
|
|
990
|
-
|
|
991
|
-
const pool = withQuota.length > 0 ? withQuota : models;
|
|
992
|
-
if (pool.length === 0) return null;
|
|
993
|
-
return pool.reduce((best, current) => (getTotal(current) > getTotal(best) ? current : best));
|
|
1114
|
+
function hasMiniMaxQuota(model) {
|
|
1115
|
+
return getMiniMaxSessionTotal(model) > 0 || getMiniMaxWeeklyTotal(model) > 0;
|
|
994
1116
|
}
|
|
995
1117
|
|
|
996
1118
|
function getMiniMaxResetAt(model, capturedAtMs, remainsSnake, remainsCamel, endSnake, endCamel) {
|
|
@@ -1013,6 +1135,19 @@ function buildMiniMaxQuota(total, count, resetAt, countMeansRemaining) {
|
|
|
1013
1135
|
};
|
|
1014
1136
|
}
|
|
1015
1137
|
|
|
1138
|
+
function addMiniMaxQuota(quotas, key, model, getTotal, countSnake, countCamel, resetArgs, countMeansRemaining) {
|
|
1139
|
+
const total = getTotal(model);
|
|
1140
|
+
if (total <= 0) return;
|
|
1141
|
+
|
|
1142
|
+
const count = Math.max(0, Number(getMiniMaxField(model, countSnake, countCamel)) || 0);
|
|
1143
|
+
quotas[key] = buildMiniMaxQuota(
|
|
1144
|
+
total,
|
|
1145
|
+
count,
|
|
1146
|
+
getMiniMaxResetAt(model, ...resetArgs),
|
|
1147
|
+
countMeansRemaining
|
|
1148
|
+
);
|
|
1149
|
+
}
|
|
1150
|
+
|
|
1016
1151
|
/**
|
|
1017
1152
|
* MiniMax Token Plan / Coding Plan usage
|
|
1018
1153
|
*/
|
|
@@ -1066,34 +1201,37 @@ async function getMiniMaxUsage(apiKey, provider, proxyOptions = null) {
|
|
|
1066
1201
|
|
|
1067
1202
|
const modelRemains = payload?.model_remains ?? payload?.modelRemains;
|
|
1068
1203
|
const allModels = Array.isArray(modelRemains) ? modelRemains : [];
|
|
1069
|
-
const
|
|
1204
|
+
const quotaModels = allModels.filter(hasMiniMaxQuota);
|
|
1070
1205
|
|
|
1071
|
-
if (
|
|
1072
|
-
return { message: "MiniMax connected. No
|
|
1206
|
+
if (quotaModels.length === 0) {
|
|
1207
|
+
return { message: "MiniMax connected. No quota data was returned." };
|
|
1073
1208
|
}
|
|
1074
1209
|
|
|
1075
1210
|
const capturedAtMs = Date.now();
|
|
1076
1211
|
const countMeansRemaining = usageUrl.includes("/coding_plan/remains");
|
|
1077
1212
|
const quotas = {};
|
|
1078
1213
|
|
|
1079
|
-
const
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1214
|
+
for (const model of quotaModels) {
|
|
1215
|
+
const displayName = formatMiniMaxQuotaName(model);
|
|
1216
|
+
addMiniMaxQuota(
|
|
1217
|
+
quotas,
|
|
1218
|
+
`${displayName} (5h)`,
|
|
1219
|
+
model,
|
|
1220
|
+
getMiniMaxSessionTotal,
|
|
1221
|
+
"current_interval_usage_count",
|
|
1222
|
+
"currentIntervalUsageCount",
|
|
1223
|
+
[capturedAtMs, "remains_time", "remainsTime", "end_time", "endTime"],
|
|
1086
1224
|
countMeansRemaining
|
|
1087
1225
|
);
|
|
1088
|
-
}
|
|
1089
1226
|
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1227
|
+
addMiniMaxQuota(
|
|
1228
|
+
quotas,
|
|
1229
|
+
`${displayName} (7d)`,
|
|
1230
|
+
model,
|
|
1231
|
+
getMiniMaxWeeklyTotal,
|
|
1232
|
+
"current_weekly_usage_count",
|
|
1233
|
+
"currentWeeklyUsageCount",
|
|
1234
|
+
[capturedAtMs, "weekly_remains_time", "weeklyRemainsTime", "weekly_end_time", "weeklyEndTime"],
|
|
1097
1235
|
countMeansRemaining
|
|
1098
1236
|
);
|
|
1099
1237
|
}
|
|
@@ -1111,3 +1249,65 @@ async function getMiniMaxUsage(apiKey, provider, proxyOptions = null) {
|
|
|
1111
1249
|
|
|
1112
1250
|
return { message: lastErrorMessage ? `MiniMax connected. Unable to fetch usage: ${lastErrorMessage}` : "MiniMax connected. Unable to fetch usage." };
|
|
1113
1251
|
}
|
|
1252
|
+
|
|
1253
|
+
async function getQoderUsage(accessToken, proxyOptions = null) {
|
|
1254
|
+
if (!accessToken) {
|
|
1255
|
+
return { message: "Qoder usage unavailable: no access token" };
|
|
1256
|
+
}
|
|
1257
|
+
try {
|
|
1258
|
+
const response = await proxyAwareFetch(
|
|
1259
|
+
"https://openapi.qoder.sh/api/v2/quota/usage",
|
|
1260
|
+
{
|
|
1261
|
+
method: "GET",
|
|
1262
|
+
headers: {
|
|
1263
|
+
Authorization: `Bearer ${accessToken}`,
|
|
1264
|
+
Accept: "application/json",
|
|
1265
|
+
},
|
|
1266
|
+
},
|
|
1267
|
+
proxyOptions,
|
|
1268
|
+
);
|
|
1269
|
+
if (!response.ok) {
|
|
1270
|
+
return { message: `Qoder connected. Usage fetch returned ${response.status}.` };
|
|
1271
|
+
}
|
|
1272
|
+
const body = await response.json().catch(() => null);
|
|
1273
|
+
if (!body) {
|
|
1274
|
+
return { message: "Qoder connected. Usage response was not JSON." };
|
|
1275
|
+
}
|
|
1276
|
+
// Quota records live under `quotas`; scalar metadata
|
|
1277
|
+
// (totalUsagePercentage, isQuotaExceeded, expiresAt) are surfaced as
|
|
1278
|
+
// siblings so the dashboard parser doesn't try to render them as rows.
|
|
1279
|
+
const userQuota = body.userQuota || {};
|
|
1280
|
+
const orgQuota = body.orgResourcePackage || {};
|
|
1281
|
+
// Qoder publishes a single absolute reset timestamp (`expiresAt` in ms);
|
|
1282
|
+
// surface it on every quota record as ISO so the table can render
|
|
1283
|
+
// "resets at" alongside used/total.
|
|
1284
|
+
const expiresAtMs = Number.isFinite(Number(body.expiresAt)) && Number(body.expiresAt) > 0
|
|
1285
|
+
? Number(body.expiresAt)
|
|
1286
|
+
: null;
|
|
1287
|
+
const resetAt = expiresAtMs ? new Date(expiresAtMs).toISOString() : null;
|
|
1288
|
+
const quotas = {
|
|
1289
|
+
user: {
|
|
1290
|
+
total: Number(userQuota.total) || 0,
|
|
1291
|
+
used: Number(userQuota.used) || 0,
|
|
1292
|
+
remaining: Number(userQuota.remaining) || 0,
|
|
1293
|
+
unit: userQuota.unit || "credits",
|
|
1294
|
+
resetAt,
|
|
1295
|
+
},
|
|
1296
|
+
organization: {
|
|
1297
|
+
total: Number(orgQuota.total) || 0,
|
|
1298
|
+
used: Number(orgQuota.used) || 0,
|
|
1299
|
+
remaining: Number(orgQuota.remaining) || 0,
|
|
1300
|
+
unit: orgQuota.unit || "credits",
|
|
1301
|
+
resetAt,
|
|
1302
|
+
},
|
|
1303
|
+
};
|
|
1304
|
+
return {
|
|
1305
|
+
quotas,
|
|
1306
|
+
totalUsagePercentage: Number(body.totalUsagePercentage) || 0,
|
|
1307
|
+
isQuotaExceeded: !!body.isQuotaExceeded,
|
|
1308
|
+
expiresAt: expiresAtMs,
|
|
1309
|
+
};
|
|
1310
|
+
} catch (error) {
|
|
1311
|
+
return { message: `Qoder connected. Unable to fetch usage: ${error.message}` };
|
|
1312
|
+
}
|
|
1313
|
+
}
|
|
@@ -18,6 +18,9 @@ export function filterToOpenAIFormat(body) {
|
|
|
18
18
|
if (!body.messages || !Array.isArray(body.messages)) return body;
|
|
19
19
|
|
|
20
20
|
body.messages = body.messages.map(msg => {
|
|
21
|
+
// Normalize developer role to system (many providers don't support developer)
|
|
22
|
+
if (msg.role === "developer") msg = { ...msg, role: "system" };
|
|
23
|
+
|
|
21
24
|
// Keep tool messages as-is (OpenAI format)
|
|
22
25
|
if (msg.role === "tool") return msg;
|
|
23
26
|
|
|
@@ -29,10 +29,24 @@ export function openaiResponsesToOpenAIRequest(model, body, stream, credentials)
|
|
|
29
29
|
// Group items by conversation turn
|
|
30
30
|
let currentAssistantMsg = null;
|
|
31
31
|
let pendingToolResults = [];
|
|
32
|
+
let pendingReasoning = "";
|
|
32
33
|
|
|
33
34
|
const inputItems = normalizeResponsesInput(body.input);
|
|
34
35
|
if (!inputItems) return body;
|
|
35
36
|
|
|
37
|
+
// Extract reasoning text from summary[].text or encrypted_content fallback
|
|
38
|
+
const extractReasoningText = (item) => {
|
|
39
|
+
if (Array.isArray(item.summary)) {
|
|
40
|
+
const txt = item.summary.map(s => s?.text || "").filter(Boolean).join("\n");
|
|
41
|
+
if (txt) return txt;
|
|
42
|
+
}
|
|
43
|
+
if (Array.isArray(item.content)) {
|
|
44
|
+
const txt = item.content.map(c => c?.text || "").filter(Boolean).join("\n");
|
|
45
|
+
if (txt) return txt;
|
|
46
|
+
}
|
|
47
|
+
return "";
|
|
48
|
+
};
|
|
49
|
+
|
|
36
50
|
for (const item of inputItems) {
|
|
37
51
|
// Determine item type - Droid CLI sends role-based items without 'type' field
|
|
38
52
|
// Fallback: if no type but has role property, treat as message
|
|
@@ -64,7 +78,13 @@ export function openaiResponsesToOpenAIRequest(model, body, stream, credentials)
|
|
|
64
78
|
return c;
|
|
65
79
|
})
|
|
66
80
|
: item.content;
|
|
67
|
-
|
|
81
|
+
const msg = { role: item.role, content };
|
|
82
|
+
// Attach buffered reasoning to assistant turn (required by xiaomi-mimo thinking mode)
|
|
83
|
+
if (item.role === "assistant" && pendingReasoning) {
|
|
84
|
+
msg.reasoning_content = pendingReasoning;
|
|
85
|
+
}
|
|
86
|
+
pendingReasoning = "";
|
|
87
|
+
result.messages.push(msg);
|
|
68
88
|
}
|
|
69
89
|
else if (itemType === "function_call") {
|
|
70
90
|
// Start or append to assistant message with tool_calls
|
|
@@ -74,6 +94,10 @@ export function openaiResponsesToOpenAIRequest(model, body, stream, credentials)
|
|
|
74
94
|
content: null,
|
|
75
95
|
tool_calls: []
|
|
76
96
|
};
|
|
97
|
+
if (pendingReasoning) {
|
|
98
|
+
currentAssistantMsg.reasoning_content = pendingReasoning;
|
|
99
|
+
pendingReasoning = "";
|
|
100
|
+
}
|
|
77
101
|
}
|
|
78
102
|
// Skip items with empty/missing name — Codex/OpenAI reject nameless tool calls (#444)
|
|
79
103
|
if (!item.name || typeof item.name !== "string" || item.name.trim() === "") continue;
|
|
@@ -107,7 +131,9 @@ export function openaiResponsesToOpenAIRequest(model, body, stream, credentials)
|
|
|
107
131
|
});
|
|
108
132
|
}
|
|
109
133
|
else if (itemType === "reasoning") {
|
|
110
|
-
//
|
|
134
|
+
// Buffer reasoning text; attached to next assistant message/function_call
|
|
135
|
+
const txt = extractReasoningText(item);
|
|
136
|
+
if (txt) pendingReasoning = pendingReasoning ? `${pendingReasoning}\n${txt}` : txt;
|
|
111
137
|
continue;
|
|
112
138
|
}
|
|
113
139
|
}
|