@ltgiang/9router 0.5.60 → 0.5.62
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-cli-build/BUILD_ID +1 -1
- package/app/.next-cli-build/app-path-routes-manifest.json +19 -14
- package/app/.next-cli-build/build-manifest.json +2 -2
- package/app/.next-cli-build/prerender-manifest.json +27 -3
- package/app/.next-cli-build/required-server-files.json +8 -0
- package/app/.next-cli-build/routes-manifest.json +42 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +3 -3
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/expose-models/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/expose-models/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/expose-models/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +3 -3
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +3 -3
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error/page.js +3 -3
- package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error.html +1 -1
- package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
- package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_not-found.html +1 -1
- package/app/.next-cli-build/server/app/_not-found.rsc +5 -5
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +3 -3
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/reorder/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/reorder/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/expose-combos/[id]/route.js +1 -0
- package/app/.next-cli-build/server/app/api/expose-combos/[id]/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/expose-combos/[id]/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/expose-combos/reorder/route.js +1 -0
- package/app/.next-cli-build/server/app/api/expose-combos/reorder/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/expose-combos/reorder/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/expose-combos/route.js +1 -0
- package/app/.next-cli-build/server/app/api/expose-combos/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/expose-combos/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/health/route.js +1 -1
- package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/init/route.js +1 -1
- package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
- package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
- package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/order/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/order/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
- package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
- package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/connections/disabled/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/connections/disabled/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/pool/pull/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/pool/pull/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/pool/push/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/pool/push/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/pool/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/pool/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
- package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
- package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
- package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
- package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v2/models/route.js +1 -0
- package/app/.next-cli-build/server/app/api/v2/models/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/v2/models/route_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/api/version/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page.js +2 -2
- package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/callback.html +1 -1
- package/app/.next-cli-build/server/app/callback.rsc +5 -5
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/expose-models.html +1 -0
- package/app/.next-cli-build/server/app/dashboard/expose-models.meta +17 -0
- package/app/.next-cli-build/server/app/dashboard/expose-models.rsc +27 -0
- package/app/.next-cli-build/server/app/dashboard/expose-models.segments/!KGRhc2hib2FyZCk/dashboard/expose-models/__PAGE__.segment.rsc +9 -0
- package/app/.next-cli-build/server/app/dashboard/expose-models.segments/!KGRhc2hib2FyZCk/dashboard/expose-models.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/dashboard/expose-models.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/dashboard/expose-models.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
- package/app/.next-cli-build/server/app/dashboard/expose-models.segments/_full.segment.rsc +27 -0
- package/app/.next-cli-build/server/app/dashboard/expose-models.segments/_head.segment.rsc +6 -0
- package/app/.next-cli-build/server/app/dashboard/expose-models.segments/_index.segment.rsc +9 -0
- package/app/.next-cli-build/server/app/dashboard/expose-models.segments/_tree.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/app/.next-cli-build/server/app/dashboard.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
- package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/index.html +1 -1
- package/app/.next-cli-build/server/app/index.rsc +5 -5
- package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing/page.js +2 -2
- package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/landing.html +1 -1
- package/app/.next-cli-build/server/app/landing.rsc +5 -5
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login/page.js +2 -2
- package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/login.html +1 -1
- package/app/.next-cli-build/server/app/login.rsc +6 -6
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page.js +2 -2
- package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app-paths-manifest.json +19 -14
- package/app/.next-cli-build/server/chunks/238.js +1 -1
- package/app/.next-cli-build/server/chunks/2845.js +1 -1
- package/app/.next-cli-build/server/chunks/3593.js +1 -1
- package/app/.next-cli-build/server/chunks/4055.js +1 -1
- package/app/.next-cli-build/server/chunks/412.js +1 -1
- package/app/.next-cli-build/server/chunks/4739.js +1 -1
- package/app/.next-cli-build/server/chunks/4746.js +1 -1
- package/app/.next-cli-build/server/chunks/4780.js +1 -1
- package/app/.next-cli-build/server/chunks/4827.js +1 -1
- package/app/.next-cli-build/server/chunks/4989.js +1 -1
- package/app/.next-cli-build/server/chunks/507.js +1 -1
- package/app/.next-cli-build/server/chunks/5217.js +1 -1
- package/app/.next-cli-build/server/chunks/5258.js +1 -1
- package/app/.next-cli-build/server/chunks/5330.js +1 -1
- package/app/.next-cli-build/server/chunks/5335.js +1 -0
- package/app/.next-cli-build/server/chunks/6167.js +2 -2
- package/app/.next-cli-build/server/chunks/6173.js +1 -1
- package/app/.next-cli-build/server/chunks/698.js +1 -1
- package/app/.next-cli-build/server/chunks/7220.js +1 -1
- package/app/.next-cli-build/server/chunks/7965.js +1 -1
- package/app/.next-cli-build/server/chunks/8031.js +1 -1
- package/app/.next-cli-build/server/chunks/8238.js +1 -1
- package/app/.next-cli-build/server/chunks/8520.js +1 -1
- package/app/.next-cli-build/server/chunks/8658.js +1 -1
- package/app/.next-cli-build/server/chunks/8668.js +1 -1
- package/app/.next-cli-build/server/chunks/8895.js +1 -1
- package/app/.next-cli-build/server/chunks/9350.js +1 -1
- package/app/.next-cli-build/server/chunks/9622.js +21 -0
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware.js +4 -4
- package/app/.next-cli-build/server/pages/404.html +1 -1
- package/app/.next-cli-build/server/pages/500.html +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
- package/app/.next-cli-build/static/chunks/{1321-ed0c05a3926d798d.js → 1321-32feaf03c4e532ff.js} +1 -1
- package/app/.next-cli-build/static/chunks/{5497-5c2a4e8c9f6b5339.js → 5497-f24493f33e6e5418.js} +1 -1
- package/app/.next-cli-build/static/chunks/7784-40a5085efed87853.js +3 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/expose-models/page-6a438ced5261e2e9.js +1 -0
- package/app/.next-cli-build/static/chunks/app/_global-error/page-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/login/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/status/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/reorder/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/expose-combos/[id]/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/expose-combos/reorder/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/expose-combos/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/health/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/init/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/locale/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/alias/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/availability/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/custom/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/order/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/test/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pricing/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/connections/disabled/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/pool/pull/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/pool/push/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/pool/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/client/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/database/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/shutdown/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tags/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/load/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/save/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/send/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/history/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/search/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v2/models/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/update/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/app/page-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-4d6d6e402758effc.js +1 -0
- package/app/.next-cli-build/static/css/04bf574a573ae463.css +1 -0
- package/app/.next-cli-build/static/htxRkCUiEGYd3Bsr5Vekk/_buildManifest.js +1 -0
- package/app/cli/.build-home/.9router/db/backups/{upgrade-0.5.56-to-0.5.57-0.5.57-20260708-014956 → upgrade-0.5.59-to-0.5.60-0.5.60-20260713-215333}/data.sqlite +0 -0
- package/app/cli/.build-home/.9router/db/backups/{upgrade-0.5.55-to-0.5.56-0.5.56-20260707-002425 → upgrade-0.5.60-to-0.5.61-0.5.61-20260823-203925}/data.sqlite +0 -0
- package/app/cli/.build-home/.9router/db/data.sqlite +0 -0
- package/app/package.json +1 -1
- package/app/server.js +1 -1
- package/package.json +1 -1
- package/app/.next-cli-build/server/chunks/914.js +0 -21
- package/app/.next-cli-build/static/chunks/7784-265a15eadd679bdc.js +0 -3
- package/app/.next-cli-build/static/chunks/app/_global-error/page-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/login/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/status/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/reorder/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/health/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/init/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/keys/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/locale/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/alias/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/availability/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/custom/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/order/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/test/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pricing/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/connections/disabled/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/pool/pull/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/pool/push/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/pool/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/client/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/database/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/shutdown/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tags/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/load/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/save/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/send/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/history/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/search/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/update/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/app/page-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-438b0daca26ddc22.js +0 -1
- package/app/.next-cli-build/static/css/7834e98b0ab2c85c.css +0 -1
- package/app/.next-cli-build/static/w-ITB5pDWdUgMc8QL6uC_/_buildManifest.js +0 -1
- /package/app/.next-cli-build/static/{w-ITB5pDWdUgMc8QL6uC_ → htxRkCUiEGYd3Bsr5Vekk}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=238,exports.ids=[238,1998],exports.modules={5483:(a,b,c)=>{c.d(b,{Gz:()=>m,Yj:()=>j,ZO:()=>l});let d=JSON.parse('{"gemini-2.5-flash":{"rpm":5,"rpd":20,"tpm":250000},"gemini-2.5-pro":{"rpm":0,"rpd":0,"tpm":0},"gemini-2-flash":{"rpm":0,"rpd":0,"tpm":0},"gemini-2-flash-lite":{"rpm":0,"rpd":0,"tpm":0},"gemini-2.5-flash-tts":{"rpm":3,"rpd":10,"tpm":10000},"gemini-2.5-pro-tts":{"rpm":0,"rpd":0,"tpm":0},"imagen-4-generate":{"rpm":-1,"rpd":25,"tpm":-1},"imagen-4-ultra-generate":{"rpm":-1,"rpd":25,"tpm":-1},"imagen-4-fast-generate":{"rpm":-1,"rpd":25,"tpm":-1},"gemma-4-26b-it":{"rpm":15,"rpd":1500,"tpm":-1},"gemma-4-31b-it":{"rpm":15,"rpd":1500,"tpm":-1},"gemini-embedding-exp-03-07":{"rpm":100,"rpd":1000,"tpm":30000},"gemini-3.5-flash":{"rpm":5,"rpd":20,"tpm":250000},"gemini-3.1-flash-lite":{"rpm":15,"rpd":500,"tpm":250000},"gemini-3.1-pro":{"rpm":0,"rpd":0,"tpm":0},"gemini-2.5-flash-lite":{"rpm":10,"rpd":20,"tpm":250000},"nano-banana-gemini-2.5-flash-preview-image":{"rpm":0,"rpd":0,"tpm":0},"nano-banana-pro-gemini-3-pro-image":{"rpm":0,"rpd":0,"tpm":0},"nano-banana-2-gemini-3.1-flash-image":{"rpm":0,"rpd":0,"tpm":0},"lyria-3-clip":{"rpm":0,"rpd":0,"tpm":0},"lyria-3-pro":{"rpm":0,"rpd":0,"tpm":0},"veo-3-generate":{"rpm":0,"rpd":0,"tpm":-1},"veo-3-fast-generate":{"rpm":0,"rpd":0,"tpm":-1},"veo-3-lite-generate":{"rpm":0,"rpd":0,"tpm":-1},"gemini-3.1-flash-tts":{"rpm":3,"rpd":10,"tpm":10000},"gemini-robotics-er-1.5-preview":{"rpm":10,"rpd":20,"tpm":250000},"gemini-robotics-er-1.6-preview":{"rpm":5,"rpd":20,"tpm":250000},"computer-use-preview":{"rpm":0,"rpd":0,"tpm":0},"gemini-embedding-exp-04-07":{"rpm":100,"rpd":1000,"tpm":30000},"gemini-3.5-live-translate":{"rpm":-1,"rpd":-1,"tpm":20000},"gemini-2.5-flash-native-audio-dialog":{"rpm":-1,"rpd":-1,"tpm":1000000},"gemini-3-flash-live":{"rpm":-1,"rpd":-1,"tpm":65000}}'),e=new Map,f=new Map;function g(){return new Date().toISOString().slice(0,10)}function h(a){return a.replace(/^gemini\//,"").trim()}function i(a,b){if(!a)return 0;let c=h(a),e=d[c];if(!e){for(let[a,e]of Object.entries(d))if(c.endsWith(a)||a.endsWith(c)){let a=e[b];return"number"==typeof a&&a>0?a:0}return 0}let f=e[b];return"number"==typeof f&&f>0?f:0}function j(a){let b=i(a,"rpd");return!(b<=0)&&function(a){if(!a)return 0;let b=h(a),c=g(),d=e.get(b);return d&&d.date===c?d.count:0}(a)>=b}function k(a){let b=Date.now()-6e4,c=f.get(a);if(!c)return;let d=0;for(;d<c.length&&c[d]<b;)d++;d>0&&f.set(a,c.slice(d))}function l(a){let b=i(a,"rpm");return!(b<=0)&&function(a){if(!a)return 0;let b=h(a);return k(b),f.get(b)?.length??0}(a)>=b}function m(a){!function(a){if(!a)return;let b=h(a),c=g(),d=e.get(b);d&&d.date===c?d.count++:e.set(b,{date:c,count:1})}(a),function(a){if(!a)return;let b=h(a);k(b);let c=f.get(b)??[];c.push(Date.now()),f.set(b,c)}(a)}},10254:(a,b,c)=>{c.d(b,{hk:()=>an,w7:()=>ak,M$:()=>_,lB:()=>aa,Qo:()=>ao,ls:()=>ac,LN:()=>M,DZ:()=>Z,K7:()=>H,M1:()=>I,xs:()=>am,qw:()=>ab,me:()=>J,je:()=>af,v6:()=>ae,R7:()=>W,CY:()=>$,Ks:()=>ag,E$:()=>Y,p8:()=>ad,pX:()=>X});var d=c(61408),e=c(3662);function f(){return[{id:"opencode-quota-exhausted-headers",match:({status:a,headers:b})=>429!==a?null:"0"===b["x-ratelimit-remaining-requests"]||"0"===b["x-ratelimit-remaining-tokens"]?{reason:"quota_exhausted",scope:"provider"}:null},{id:"opencode-quota-exhausted-body",match:({status:a,body:b})=>{if(429!==a)return null;let c=JSON.stringify(b??"").toLowerCase();return c.includes("organization_quota_exceeded")||c.includes("account_quota_exceeded")||c.includes("plan_limit_reached")?{reason:"quota_exhausted",scope:"provider"}:null}}]}function g(){return[{id:"minimax-per-model-quota",match:({status:a,headers:b})=>{if(429!==a)return null;let c=b["x-model-quota-remaining"];return c&&c.split(",").some(a=>a.split("=")[1]?.trim()==="0")?{reason:"quota_exhausted",scope:"model"}:null}}]}let h=new Map([["opencode",f()],["opencode-go",f()],["opencode-cli",f()],["minimax",g()],["minimax-passthrough",g()]]);var i=c(36081),j=c(50102),k=c(77868),l=c(15300),m=c(40615),n=c(37664),o=c(21968),p=c(5483);function q(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:{}}let r=new Set([408,429,500,502,503,504]),s=new Map,t=setInterval(()=>{let a=Date.now();for(let[b,c]of s)a-c>5e3&&s.delete(b)},6e4);"object"==typeof t&&"unref"in t&&t.unref?.();let u=["account_deactivated","account has been deactivated","account has been disabled","your account has been suspended","this account is deactivated","verify your account to continue","this service has been disabled in this account for violation","this service has been disabled in this account"],v=[],w=["insufficient_quota","billing_hard_limit_reached","exceeded your current quota","exceeded your current usage quota","credit_balance_too_low","your credit balance is too low","credits exhausted","out of credits","payment required","free tier of the model has been exhausted","insufficient balance","insufficient_balance","insufficient account balance"],x=["invalid authentication credentials","oauth 2","login cookie","valid authentication credential","invalid credentials"],y=[/\binput is too long\b/i,/\binput too long\b/i,/\bcontext.*(too long|exceeded|overflow|limit)/i,/\btoo many tokens\b/i,/\bprompt is too long\b/i,/\bcontext window/i,/\bmaximum context/i,/\bmax.*token/i,/\btoken limit/i,/\brequest too large\b/i],z=new Set(["model_not_found","deployment_not_found"]),A=new Set(["not_found_error"]),B=new Set(["permission_error"]),C=[/\binvalid model\b/i,/\bmodel.*not.*(?:available|found|supported|accessible)\b/i,/\bmodel.*(?:does not exist|doesn't exist)\b/i,/\baccess.*denied.*model\b/i,/\bmodel.*access.*denied\b/i,/\bplease select a different model\b/i,/\b(?:access|permission)[\s\S]{0,60}?\bmodel\b/i,/\bmodel[\s\S]{0,60}?\b(?:access|permission)\b/i],D=[/\b(?:invalid|incorrect|expired|missing|revoked)\s+api[\s_-]?key\b/i,/\bapi[\s_-]?key\s+(?:is\s+)?(?:invalid|incorrect|expired|missing|revoked|not\s+valid)\b/i,/\bauthentication\s+(?:failed|error|required)\b/i,/\b(?:invalid|expired|missing|revoked)\s+(?:token|credentials?|bearer)\b/i,/\bunauthorized\b/i,/\bnot\s+authenticated\b/i],E=[/\bimproperly formed request\b/i,/\binvalid.*message.*format/i,/\bmessages must alternate\b/i,/\bempty (message|content)\b/i,/\bfunction'?s? name (?:can't|can not|is|has) (?:blank|empty|missing)/i,/function.*name.*(?:blank|empty|missing)/i,/tool_call.*name.*(?:blank|empty|missing)/i],F=[/high.?frequency/i,/non-compliant/i,/too many requests/i,/rate.?limit/i,/频繁/,/频率/],G=[/max_tokens.*illegal/i,/max_tokens.*must be/i,/max_tokens.*range/i,/parameter is illegal/i,/is illegal.*range/i];function H(a){let b=String(a||"").toLowerCase();return(0===v.length?u:[...u,...v]).some(a=>b.includes(a))}function I(a){let b=String(a||"").toLowerCase();return!!w.some(a=>b.includes(a))||b.includes("insufficient")&&b.includes("balance")}function J(a){let b=String(a||"").toLowerCase();return x.some(a=>b.includes(a))}function K(a,b){let c=b?(0,j.xv)(b):j.aD,e=c.connectionCooldown[a],f=c.providerBreaker[a];return{baseCooldownMs:e.baseCooldownMs,useUpstreamRetryHints:e.useUpstreamRetryHints,useUpstream429BreakerHints:e.useUpstream429BreakerHints,maxCooldownMs:(0,k.Sy)(b).maxCooldownMs,maxBackoffSteps:e.maxBackoffSteps,failureThreshold:f.failureThreshold,resetTimeoutMs:f.resetTimeoutMs,transientCooldown:e.baseCooldownMs,rateLimitCooldown:e.useUpstreamRetryHints?0:e.baseCooldownMs,maxBackoffLevel:e.maxBackoffSteps,circuitBreakerThreshold:f.failureThreshold,circuitBreakerReset:f.resetTimeoutMs,degradationThreshold:f.degradationThreshold,providerFailureThreshold:d.xx[a].providerFailureThreshold,providerFailureWindowMs:d.xx[a].providerFailureWindowMs,maxBackoffMultiplier:d.xx[a].maxBackoffMultiplier,backoffEscalationCount:d.xx[a].backoffEscalationCount,providerCooldownMs:d.xx[a].providerCooldownMs}}function L(a){return K((0,i.oQ)(a))}async function M(a){try{let{getCachedSettings:b}=await c.e(4046).then(c.bind(c,14046)),d=await b(),e=(0,i.oQ)(a||"");return K(e,d)}catch{return L(a||"")}}let N=new Map,O=new Map,P=new Map;function Q(a){let b=P.get(a);return b||(b=(0,m.rs)(a),P.set(a,b)),b}function R(a,b,c){let d=Q(a),e="codex"===d?(0,n.t6)(c):(0,o.M$)(d,c)||c;return`${d}:${b}:${e}`}function S(a,b=Date.now()){let c=N.get(a);c&&b>c.until&&N.delete(a);let d=O.get(a);!d||b-d.lastFailureAt<=d.resetAfterMs+(d.lastCooldownMs??0)||N.has(a)||O.delete(a)}function T(a,b,c=e.EQ.maxLevel){return(Number.isFinite(a)&&a>0?a:1e3)*Math.pow(2,Math.min(Math.max(0,b-1),Math.max(0,c)))}let U=null;function V(){if(!U)try{U=setInterval(()=>{let a=Date.now();for(let b of N.keys())S(b,a);for(let b of O.keys())S(b,a)},15e3),"object"==typeof U&&"unref"in U&&U.unref?.()}catch{}}function W(a,b,c,d,e,f={}){if(!c)return;V();let g=R(a,b,c);S(g);let h=Date.now()+e,i=N.get(g);if(i&&i.until>h){f.failureCount&&f.failureCount>i.failureCount&&(i.failureCount=f.failureCount,i.lastFailureAt=f.lastFailureAt??i.lastFailureAt,i.resetAfterMs=f.resetAfterMs??i.resetAfterMs,N.set(g,i));return}let j=Date.now();N.set(g,{reason:d,until:h,lockedAt:j,failureCount:f.failureCount??i?.failureCount??1,lastFailureAt:f.lastFailureAt??j,resetAfterMs:f.resetAfterMs??i?.resetAfterMs??0})}function X(a,b){return"number"==typeof a&&a>b.baseCooldownMs?a:b.useExponentialBackoff?0:b.baseCooldownMs}function Y(a,b,c,f,g,h,i=null,j={}){V();let k=R(a,b,c),l=Date.now();S(k,l),"quota_exhausted"===f&&"number"!=typeof j.exactCooldownMs&&(j={...j,exactCooldownMs:al()});let m=function(a=null,b=18e5){let c=a?.resetTimeoutMs;return"number"==typeof c&&c>0?c:b}(i),n=O.get(k),o=n&&l-n.lastFailureAt<=n.resetAfterMs+(n.lastCooldownMs??0)?n.failureCount+1:1,p=function(a,b,c=null){return Number.isFinite(b)&&b>0?b:"number"==typeof c?.baseCooldownMs&&c.baseCooldownMs>=0?c.baseCooldownMs:a===d.gx.RATE_LIMITED?function(a=0){return(0,e.KI)(a)}(0):e.Bm.transientInitial}(g,h,i),q="number"==typeof j.maxCooldownMs&&j.maxCooldownMs>0?j.maxCooldownMs:e.EQ.max,r="number"==typeof j.exactCooldownMs&&j.exactCooldownMs>0?j.exactCooldownMs:Math.min(T(p,o,i?.maxBackoffSteps??e.EQ.maxLevel),q);return O.set(k,{failureCount:o,lastFailureAt:l,resetAfterMs:m,lastCooldownMs:r}),W(a,b,c,f,r,{failureCount:o,lastFailureAt:l,resetAfterMs:m}),{cooldownMs:r,failureCount:o,resetAfterMs:m}}function Z(a,b=null,c){return"boolean"==typeof c?c:!!a&&(!!("codex"===Q(a)||"gemini"===a||"github"===a||(0,i.Fp)().has(a))||!!("string"==typeof a&&(a.startsWith("openai-compatible-")||a.startsWith("anthropic-compatible-"))))}function $(a,b,c,d,e,f){return!(!Z(a,c,f)||!c||function(a){let b=a?(0,l.qF)(a):null;return!!b&&!b.canExecute()}(a))&&(W(a,b,c,d,e),!0)}function _(a){return 429===a?"rate_limit":403===a?"quota_exhausted":"unknown"}function aa(a,b,c){let d=R(a,b,c),e=O.get(d);if(!e)return{cleared:!1,newFailureCount:0};let f=Math.floor(e.failureCount/2);return 0===f?(O.delete(d),{cleared:!0,newFailureCount:0}):(O.set(d,{...e,failureCount:f}),{cleared:!1,newFailureCount:f})}function ab(a,b,c){if(!c)return!1;let d=R(a,b,c);return S(d),!!N.get(d)}function ac(a,b,c){if(!c)return null;let d=R(a,b,c);S(d);let e=N.get(d);return e?{reason:e.reason,remainingMs:e.until-Date.now(),lockedAt:new Date(e.lockedAt).toISOString(),failureCount:e.failureCount}:null}function ad(a,b,c,d){if(!a)return;if(c){let b=`${a}:${c}`,d=Date.now(),e=s.get(b);if(e&&d-e<5e3)return;s.delete(b),s.set(b,d),function(){for(;s.size>1e4;){let a=s.keys().next().value;if("string"!=typeof a)return;s.delete(a)}}()}let e=function(a,b){if(!a)return null;let c={...L(a),...b};return c.useUpstream429BreakerHints,(0,l.qF)(a,{failureThreshold:c.failureThreshold??c.circuitBreakerThreshold,resetTimeout:c.resetTimeoutMs??c.circuitBreakerReset,...{},degradationThreshold:c.degradationThreshold,maxBackoffMultiplier:c.maxBackoffMultiplier,backoffEscalationCount:c.backoffEscalationCount})}(a,d);!e||e.canExecute()&&(e._onFailure(),e.canExecute()||b?.warn?.(`[ProviderFailure] ${a}: circuit breaker opened after repeated failures`))}function ae(a){return r.has(a)}function af(a){return!!a.creditsExhausted||!!a.dailyQuotaExhausted||a.reason===d.QS.QUOTA_EXHAUSTED}function ag(a){let b;try{b=q("string"==typeof a?JSON.parse(a):a)}catch{return{retryAfterMs:null,reason:d.QS.UNKNOWN}}if(0===Object.keys(b).length)return{retryAfterMs:null,reason:d.QS.UNKNOWN};let c=q(b.error),e=c.details||b.details||[];for(let a of Array.isArray(e)?e:[]){let b=q(a);if(b.retryDelay)return{retryAfterMs:function(a){if(!a)return null;let b=String(a).trim(),c=/^(\d+)\s*ms$/i.exec(b);if(c)return Number.parseInt(c[1],10);let d=/^(\d+)\s*s$/i.exec(b);if(d)return 1e3*Number.parseInt(d[1],10);let e=/^(\d+)\s*m$/i.exec(b);if(e)return 60*Number.parseInt(e[1],10)*1e3;let f=/^(\d+)\s*h$/i.exec(b);if(f)return 3600*Number.parseInt(f[1],10)*1e3;let g=Number.parseInt(b,10);return Number.isNaN(g)?null:1e3*g}(b.retryDelay),reason:d.QS.RATE_LIMIT_EXCEEDED}}let f=String(c.message||b.message||""),g=/retry\s+after\s+(\d+)\s*s/i.exec(f);if(g)return{retryAfterMs:1e3*Number.parseInt(g[1],10),reason:d.QS.RATE_LIMIT_EXCEEDED};let h=String(c.type||b.type||"");return"rate_limit_error"===h?{retryAfterMs:null,reason:d.QS.RATE_LIMIT_EXCEEDED}:{retryAfterMs:null,reason:ak(f||h)}}function ah(a){if(!a||"string"!=typeof a)return null;let b=String(a),c=/\b(?:try again at|wait until|reset(?:s)? at|available at|retry after)\s+(\d{4}-\d{2}-\d{2}[Tt ]\d{2}:\d{2}(?::\d{2})?(?:\.\d+)?(?:Z|[+-]\d{2}:?\d{2})?)/i.exec(b);if(c){let a=Date.parse(c[1]);if(Number.isFinite(a)){let b=a-Date.now();if(b>0)return b}}let d=/reset after (\d+h)?(\d+m)?(\d+s)?/i.exec(b);if(d?.[1]||d?.[2]||d?.[3])return ai(d);let e=/will reset after (\d+h)?(\d+m)?(\d+s)?/i.exec(b);if(e?.[1]||e?.[2]||e?.[3])return ai(e);let f=/resets? in (\d+h)?(\d+m)?(\d+s)?/i.exec(b);return f?.[1]||f?.[2]||f?.[3]?ai(f):null}function ai(a){let b=0;return a[1]&&(b+=3600*Number.parseInt(a[1],10)*1e3),a[2]&&(b+=60*Number.parseInt(a[2],10)*1e3),a[3]&&(b+=1e3*Number.parseInt(a[3],10)),b>0?Math.min(b,2592e6):null}function aj(a){return a.includes("usage limit reached")||a.includes("usage limit has been")||a.includes("claude pro usage limit")||a.includes("you've reached your usage limit")||a.includes("you have reached your usage limit")}function ak(a){if(!a)return d.QS.UNKNOWN;let b=String(a).toLowerCase();if(b.includes("quota exceeded")||b.includes("quota depleted")||b.includes("quota will reset")||b.includes("your quota will reset")||b.includes("quota has been exceeded")||b.includes("hour quota")||b.includes("billing")||aj(b)||I(b))return d.QS.QUOTA_EXHAUSTED;if(H(b))return d.QS.AUTH_ERROR;let c=(0,e.Mh)(a);return c?.reason?c.reason:b.includes("rate_limit")?d.QS.RATE_LIMIT_EXCEEDED:b.includes("resource exhausted")||b.includes("high demand")?d.QS.MODEL_CAPACITY:b.includes("unauthorized")||b.includes("invalid api key")||b.includes("authentication")?d.QS.AUTH_ERROR:b.includes("server error")||b.includes("internal error")?d.QS.SERVER_ERROR:d.QS.UNKNOWN}function al(){let a=Date.now(),b=new Date(a);b.setDate(b.getDate()+1),b.setHours(0,0,0,0);let c=b.getTime()-a;return c>0&&c<=9e7?c:864e5}function am(a){if(!a)return!1;let b=a.toLowerCase();return b.includes("today's quota")||b.includes("daily quota")||b.includes("try again tomorrow")}function an(a,b,c=0,f=null,g=null,j=null,k=null,l){if(503===a&&j){let a="function"==typeof j.get?j.get("x-omni-fallback-hint"):j["x-omni-fallback-hint"]||j["X-Omni-Fallback-Hint"];if("string"==typeof a&&"connection_cooldown"===a.toLowerCase())return{shouldFallback:!0,cooldownMs:5e3,baseCooldownMs:5e3,newBackoffLevel:0,reason:"service_not_running",skipProviderBreaker:!0}}let m=(b||"").toString(),n=k??(g?L(g):null),o=n?.maxBackoffSteps??e.EQ.maxLevel,q=new Set([d.gx.REQUEST_TIMEOUT,d.gx.RATE_LIMITED,d.gx.SERVER_ERROR,d.gx.BAD_GATEWAY,d.gx.SERVICE_UNAVAILABLE,d.gx.GATEWAY_TIMEOUT]);function r(){if(!n?.useUpstreamRetryHints)return null;let a=function(a){if(!a)return null;let b="function"==typeof a.get?a.get("retry-after"):a["retry-after"]||a["Retry-After"];if(b){let a=Number.parseInt(b,10);if(!Number.isNaN(a)&&String(a)===String(b).trim())return Date.now()+1e3*a;let c=new Date(b);if(!Number.isNaN(c.getTime()))return c.getTime()}let c="function"==typeof a.get?a.get("x-ratelimit-reset"):a["x-ratelimit-reset"]||a["X-RateLimit-Reset"];if(c){let a=Number.parseInt(c,10);if(!Number.isNaN(a))return a>1e10?a:1e3*a}return null}(j);if(a){let b=Math.max(a-Date.now(),0);if(b>0)return b}let b=ah(m);return b&&b>0?b:null}function s(a){let b=r();if("number"==typeof b&&b>0)return{shouldFallback:!0,cooldownMs:b,baseCooldownMs:b,newBackoffLevel:0,usedUpstreamRetryHint:!0,reason:a};let d=function(a=c){let b="number"==typeof n?.baseCooldownMs&&n.baseCooldownMs>=0?n.baseCooldownMs:e.Bm.transientInitial;return{baseCooldownMs:b,cooldownMs:T(b,a+1,o),newBackoffLevel:Math.min(a+1,o)}}(c);return{shouldFallback:!0,cooldownMs:d.cooldownMs,baseCooldownMs:d.baseCooldownMs,newBackoffLevel:d.newBackoffLevel,usedUpstreamRetryHint:!1,reason:a}}let t=a===d.gx.RATE_LIMITED,u=!g||"oauth"===(0,i.oQ)(g),v=!t||u;if(b){if(H(m))return{shouldFallback:!0,cooldownMs:31536e6,reason:d.QS.AUTH_ERROR,permanent:!0};if(v&&I(m))return{shouldFallback:!0,cooldownMs:e.Bm.paymentRequired??36e5,reason:d.QS.QUOTA_EXHAUSTED,creditsExhausted:!0};if(v&&am(m))return{shouldFallback:!0,cooldownMs:Math.min(al(),864e5),reason:d.QS.QUOTA_EXHAUSTED,dailyQuotaExhausted:!0};if(v&&!I(m)&&!am(m)&&aj(m.toLowerCase())){let a=r(),b=ah(m);return{shouldFallback:!0,cooldownMs:a??36e5,reason:d.QS.QUOTA_EXHAUSTED,usedUpstreamRetryHint:!!a,quotaResetHintMs:b??void 0}}let b=ah(m);if(v&&b&&ak(m)===d.QS.QUOTA_EXHAUSTED)return{...s(d.QS.QUOTA_EXHAUSTED),quotaResetHintMs:b};if(a===d.gx.FORBIDDEN&&m.toLowerCase().includes("not authorized for this route"))return{shouldFallback:!1,cooldownMs:0,reason:d.QS.UNKNOWN};if(a===d.gx.FORBIDDEN&&g&&"apikey"===(0,i.oQ)(g)&&!m.toLowerCase().includes("has not been used in project")&&!m.toLowerCase().includes("hour quota")&&!m.toLowerCase().includes("quota has been exceeded"))return s(d.QS.AUTH_ERROR)}if("gemini"===g&&a===d.gx.RATE_LIMITED&&f){if((0,p.Yj)(f))return s(d.QS.QUOTA_EXHAUSTED);if((0,p.ZO)(f))return s(d.QS.RATE_LIMIT_EXCEEDED)}let w=t&&!u?(0,e.UJ)(a):(0,e.lR)(a,m);if(w){if(w.backoff){let b=g?function(a,b,c,d){if(!a)return null;let e=h.get(a.toLowerCase());if(!e)return null;let f=c?"function"==typeof c.get?Object.fromEntries(c.entries()):Object.fromEntries(Object.entries(c).map(([a,b])=>[a.toLowerCase(),b])):{};for(let a of e){let c=a.match({status:b,headers:f,body:d});if(c)return c}return null}(g,a,j,l??null):null;return s(b?b.reason:w.reason??d.QS.UNKNOWN)}let b=w.cooldownMs??0;return{shouldFallback:!0,cooldownMs:b,baseCooldownMs:b,reason:w.reason??d.QS.UNKNOWN}}if(a===d.gx.NOT_ACCEPTABLE||q.has(a))return s(d.QS.SERVER_ERROR);if(a===d.gx.BAD_REQUEST){let a="string"==typeof l?.code?l.code.toLowerCase():"",b="string"==typeof l?.type?l.type.toLowerCase():"",c=!D.some(a=>a.test(m))&&C.some(a=>a.test(m)),e=!!l&&(z.has(a)||A.has(b)||B.has(b)&&c),f=y.some(a=>a.test(m)),g=E.some(a=>a.test(m)),h=G.some(a=>a.test(m));return f||g||h||e||c?{shouldFallback:!0,cooldownMs:0,reason:d.QS.MODEL_CAPACITY}:F.some(a=>a.test(m))?s(d.QS.RATE_LIMIT_EXCEEDED):{shouldFallback:!1,cooldownMs:0,reason:d.QS.UNKNOWN}}return{shouldFallback:!0,cooldownMs:n?.baseCooldownMs??e.Bm.transient,baseCooldownMs:n?.baseCooldownMs??e.Bm.transient,reason:d.QS.UNKNOWN}}function ao(a){if(!a)return"";let b=new Date(a).getTime()-Date.now();if(b<=0)return"reset after 0s";let c=Math.ceil(b/1e3),d=Math.floor(c/3600),e=Math.floor(c%3600/60),f=c%60,g=[];return d>0&&g.push(`${d}h`),e>0&&g.push(`${e}m`),(f>0||0===g.length)&&g.push(`${f}s`),`reset after ${g.join(" ")}`}},15300:(a,b,c)=>{c.d(b,{qF:()=>e});let d={getStatus:()=>({state:"CLOSED"}),reset:()=>{},recordFailure:()=>{},recordSuccess:()=>{}},e=()=>d},16945:(a,b,c)=>{c.d(b,{B:()=>f});var d=c(71998);function e(a){return null==a?"":String(a).trim()}async function f(a={}){try{let b=e(a?.proxyPoolId),c="__none__"===b?"":b,f=function(a={}){let b=a?.connectionProxyEnabled===!0,c=e(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:e(a?.connectionNoProxy)}}(a);if(c){let a=await (0,d.hr)(c),b=e(a?.proxyUrl),f=e(a?.noProxy);if(a&&!0===a.isActive&&b){if("vercel"===a.type||"cloudflare"===a.type||"deno"===a.type)return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:f,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:f,strictProxy:!0===a.strictProxy}}}if(f.connectionProxyEnabled&&f.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,...f};return{source:"none",proxyPoolId:c||null,proxyPool:null,...f}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}},21968:(a,b,c)=>{c.d(b,{M$:()=>f,dv:()=>g});let d="antigravity";function e(a){let b=String(a||"").trim().toLowerCase().replace(/^antigravity\//,""),c=b.indexOf("/"),d=c>=0?b.slice(c+1):b;return d.startsWith("gemini-")||d.includes("/gemini-")||d.includes("gemini")?"gemini":d.startsWith("claude-")||d.startsWith("cloud-")||d.includes("/claude-")||d.includes("/cloud-")||d.includes("anthropic")?"claude":"other"}function f(a,b){if(!b)return null;if(a!==d)return b;let c=e(b);return"other"===c?b:`family:${c}`}function g(a,b){return a!==d||"other"===e(b)?"model":"family"}},50102:(a,b,c)=>{c.d(b,{TR:()=>e,aD:()=>d,xv:()=>f});let d={providerCooldown:{enabled:!1,minRetryCooldownMs:1e3,maxRetryCooldownMs:6e4},requestQueue:{enabled:!1},comboCooldownWait:{enabled:!1,budgetMs:0,maxAttempts:1},quotaShareConcurrencyLimit:{enabled:!1},quotaPreflight:{enabled:!1},streamRecovery:{enabled:!1,continueMidStream:!1},connectionCooldown:{oauth:{baseCooldownMs:1e3,useUpstreamRetryHints:!0,useUpstream429BreakerHints:!0,maxBackoffSteps:5},apikey:{baseCooldownMs:1e3,useUpstreamRetryHints:!0,useUpstream429BreakerHints:!0,maxBackoffSteps:5}},providerBreaker:{oauth:{failureThreshold:5,resetTimeoutMs:3e4,degradationThreshold:.5},apikey:{failureThreshold:5,resetTimeoutMs:3e4,degradationThreshold:.5}}},e=()=>!1,f=a=>d},71998:(a,b,c)=>{c.d(b,{Ax:()=>d.Ax,CK:()=>d.CK,EE:()=>d.EE,Fh:()=>d.Fh,ID:()=>d.ID,Is:()=>d.Is,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Wq:()=>d.Wq,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fu:()=>d.fu,fv:()=>d.fv,g4:()=>d.g4,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,ik:()=>d.ik,o5:()=>d.o5,op:()=>d.op,q5:()=>d.q5,rj:()=>d.updateProviderConnection,sN:()=>d.sN,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},77868:(a,b,c)=>{c.d(b,{Sy:()=>e});let d={enabled:!1,errorCodes:[],baseCooldownMs:3e4,useExponentialBackoff:!1,maxCooldownMs:3e5},e=()=>d},80238:(a,b,c)=>{c.d(b,{Pt:()=>v,Tn:()=>C,Tr:()=>w,c1:()=>s,kI:()=>x,vk:()=>u});var d=c(89718),e=c(16945),f=c(10254),g=c(3662),h=c(40615),i=c(77598),j=c(30184);let k=new Map,l=new Set,m="modelLock_",n="modelLock___all";function o(a,b){let c=a[b?`${m}${b}`:n]||a[n];return!!c&&new Date(c).getTime()>Date.now()}function p(a){if(!a)return null;let b=null,c=Date.now();for(let[d,e]of Object.entries(a)){if(!d.startsWith(m)||!e)continue;let a=new Date(e).getTime();a<=c||(!b||a<b)&&(b=a)}return b?new Date(b).toISOString():null}async function q(){try{let a=await (0,d.getProviderConnections)({provider:"cloudflare-ai"}),b=new Date().toISOString(),c=a.filter(a=>{let c=a.providerSpecificData||{};return!0===c.cloudflareQuotaDisabled&&c.cloudflareReEnableAt&&c.cloudflareReEnableAt<=b});if(0===c.length)return;for(let a of c){let b={...a.providerSpecificData||{}};delete b.cloudflareQuotaDisabled,delete b.cloudflareReEnableAt,await (0,d.updateProviderConnection)(a.id,{isActive:!0,providerSpecificData:b});let c=a.displayName||a.name||a.email||a.id.slice(0,8);j.info("AUTH",`[CLOUDFLARE] Re-enabled ${c} — daily quota cooldown expired (was disabled until ${a.providerSpecificData?.cloudflareReEnableAt})`)}}catch(a){j.warn("AUTH",`[CLOUDFLARE] re-enable check failed: ${a.message}`)}}async function r(){try{let a=await (0,d.getProviderConnections)({}),b=new Date().toISOString(),c=a.filter(a=>{let c=a.providerSpecificData||{};return!0===c.siliconflowBusyDisabled&&c.siliconflowReEnableAt&&c.siliconflowReEnableAt<=b});if(0===c.length)return;for(let a of c){let b={...a.providerSpecificData||{}};delete b.siliconflowBusyDisabled,delete b.siliconflowReEnableAt,await (0,d.updateProviderConnection)(a.id,{isActive:!0,providerSpecificData:b});let c=a.displayName||a.name||a.email||a.id.slice(0,8);j.info("AUTH",`[SILICONFLOW] Re-enabled ${c} — server busy cooldown expired (was disabled until ${a.providerSpecificData?.siliconflowReEnableAt})`)}}catch(a){j.warn("AUTH",`[SILICONFLOW] re-enable check failed: ${a.message}`)}}async function s(a,b=null,c=null,g={}){let i,l=b instanceof Set?b:b?new Set([b]):new Set,m=g?.preferredConnectionId||null,n=g?.allowRateLimited===!0,t=(0,h.rs)(a),u=k.get(t)||Promise.resolve(),v=new Promise(a=>{i=a});k.set(t,v);try{let b;if(await u,"cloudflare-ai"===t&&await q(),("siliconflow"===t||"string"==typeof t&&t.startsWith("openai-compatible-"))&&await r(),h.IS[t]?.noAuth){let a=((await (0,d.getSettings)()).providerStrategies||{})[t]||{},b=await (0,e.B)({proxyPoolId:a.proxyPoolId||""});return{id:"noauth",connectionName:"Public",isActive:!0,accessToken:"public",providerSpecificData:{connectionProxyEnabled:b.connectionProxyEnabled,connectionProxyUrl:b.connectionProxyUrl,connectionNoProxy:b.connectionNoProxy,connectionProxyPoolId:b.proxyPoolId||null,vercelRelayUrl:b.vercelRelayUrl||"",strictProxy:!0===b.strictProxy}}}let g=await (0,d.getProviderConnections)({provider:t,isActive:!0});if(j.debug("AUTH",`${a} | total connections: ${g.length}, excludeIds: ${l.size>0?[...l].join(","):"none"}, model: ${c||"any"}`),0===g.length)return j.warn("AUTH",`No credentials for ${a}`),null;let i=g.filter(a=>!(l.has(a.id)||o(a,c)));if(j.debug("AUTH",`${a} | available: ${i.length}/${g.length}`),g.forEach(a=>{let b=l.has(a.id),d=o(a,c);if(b||d){let e=p(a);j.debug("AUTH",` → ${a.id?.slice(0,8)} | ${b?"excluded":""} ${d?`modelLocked(${c}) until ${e}`:""}`)}}),0===i.length){if(n){let b=g.filter(a=>!l.has(a.id)&&o(a,c));if(b.length>0){b.sort((a,b)=>{let c=new Date(p(a)||0).getTime(),d=new Date(p(b)||0).getTime();return c-d});let c=b[0],d=c.displayName||c.name||c.email||c.id?.slice(0,8),g=p(c);j.warn("AUTH",`[FALLBACK-EMERGENCY] ${a} | all accounts locked — using ${d} (lock expires ${(0,f.Qo)(g)})`);let h=await (0,e.B)(c.providerSpecificData||{});return{authType:c.authType,apiKey:c.apiKey,accessToken:c.accessToken,refreshToken:c.refreshToken,idToken:c.idToken,expiresAt:c.expiresAt,expiresIn:c.expiresIn,lastRefreshAt:c.lastRefreshAt,projectId:c.projectId,connectionName:d,copilotToken:c.providerSpecificData?.copilotToken,providerSpecificData:{...c.providerSpecificData||{},connectionProxyEnabled:h.connectionProxyEnabled,connectionProxyUrl:h.connectionProxyUrl,connectionNoProxy:h.connectionNoProxy,connectionProxyPoolId:h.proxyPoolId||null,vercelRelayUrl:h.vercelRelayUrl||"",strictProxy:!0===h.strictProxy},connectionId:c.id,testStatus:c.testStatus,lastError:c.lastError,_connection:c,emergencyFallback:!0}}}let b=g.filter(a=>o(a,c)),d=b.map(a=>p(a)).filter(Boolean).sort()[0]||null;if(d){let e=b[0];return j.warn("AUTH",`${a} | all ${g.length} accounts locked for ${c||"all"} (${(0,f.Qo)(d)}) | lastError=${e?.lastError?.slice(0,50)}`),{allRateLimited:!0,retryAfter:d,retryAfterHuman:(0,f.Qo)(d),lastError:e?.lastError||null,lastErrorCode:e?.errorCode||null}}return j.warn("AUTH",`${a} | all ${g.length} accounts unavailable`),null}let k=await (0,d.getSettings)(),s=(k.providerStrategies||{})[t]||{},v=s.fallbackStrategy||k.fallbackStrategy||"fill-first";if(m&&(b=i.find(a=>a.id===m))&&j.info("AUTH",`${a} | pinned to ${b.id?.slice(0,8)} (${b.name||b.email||"unnamed"})`),b);else if("round-robin"===v){let a=s.stickyRoundRobinLimit||k.stickyRoundRobinLimit||3,c=[...i].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(b.lastUsedAt)-new Date(a.lastUsedAt):-1:1:(a.priority||999)-(b.priority||999))[0],e=c?.consecutiveUseCount||0;c&&c.lastUsedAt&&e<a?(b=c,await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:(b.consecutiveUseCount||0)+1})):(b=[...i].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(a.lastUsedAt)-new Date(b.lastUsedAt):1:-1:(a.priority||999)-(b.priority||999))[0],await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:1}))}else b=i[0];let w=await (0,e.B)(b.providerSpecificData||{});return{authType:b.authType,apiKey:b.apiKey,accessToken:b.accessToken,refreshToken:b.refreshToken,idToken:b.idToken,expiresAt:b.expiresAt,expiresIn:b.expiresIn,lastRefreshAt:b.lastRefreshAt,projectId:b.projectId,connectionName:b.displayName||b.name||b.email||b.id,copilotToken:b.providerSpecificData?.copilotToken,providerSpecificData:{...b.providerSpecificData||{},connectionProxyEnabled:w.connectionProxyEnabled,connectionProxyUrl:w.connectionProxyUrl,connectionNoProxy:w.connectionNoProxy,connectionProxyPoolId:w.proxyPoolId||null,vercelRelayUrl:w.vercelRelayUrl||"",strictProxy:!0===w.strictProxy},connectionId:b.id,testStatus:b.testStatus,lastError:b.lastError,_connection:b}}finally{i&&i(),k.get(t)===v&&k.delete(t)}}async function t(a,b){if(!l.has(b)){l.add(b);try{let[c,e]=await Promise.all([(0,d.CK)(a),(0,d.getProviderConnections)({provider:a,isActive:!0})]);if(!c)return;let f=e.map(a=>a.apiKey).filter(Boolean),g=await (0,d.Ax)(a,1,f);if(!g.length){j.warn("AUTH",`[POOL] pool empty for ${a}, cannot auto-replace`),await (0,d.updateProviderConnection)(b,{isActive:!1});return}let h=e.find(a=>a.providerSpecificData?.baseUrl)?.providerSpecificData||null,i=await (0,d.q5)(a,g,f,h);0===i&&j.warn("AUTH",`[POOL] replacement key already in connections for ${a}`),await (0,d.updateProviderConnection)(b,{isActive:!1}),j.info("AUTH",`[POOL] auto-replaced key for ${a} (created=${i})`)}catch(a){j.warn("AUTH",`[POOL] auto-replace failed: ${a.message}`)}finally{l.delete(b)}}}async function u(a,b,c,e=null,h=null,i=null){var k;let l,o,p;if(!a||"noauth"===a)return{shouldFallback:!1,cooldownMs:0};let q=await (0,d.getProviderConnections)({provider:e}),r=q.find(b=>b.id===a),s=r?.backoffLevel||0;if(i&&i>Date.now()?(l=!0,o=Math.min(i-Date.now(),g.fh),p=0):{shouldFallback:l,cooldownMs:o,newBackoffLevel:p}=(0,f.hk)(b,c,s),!l)return{shouldFallback:!1,cooldownMs:0};let v="string"==typeof c?c.slice(0,100):"Provider error";if("cloudflare-ai"===e&&"string"==typeof c&&c.toLowerCase().includes("used up your daily free allocation")){let c,e,f=((e=new Date(Date.UTC((c=new Date).getUTCFullYear(),c.getUTCMonth(),c.getUTCDate(),0,10,0,0))).getTime()<=c.getTime()&&e.setUTCDate(e.getUTCDate()+1),e.toISOString()),g={...r?.providerSpecificData||{},cloudflareQuotaDisabled:!0,cloudflareReEnableAt:f};await (0,d.updateProviderConnection)(a,{isActive:!1,providerSpecificData:g,testStatus:"unavailable",lastError:v,errorCode:b,lastErrorAt:new Date().toISOString()});let h=r?.displayName||r?.name||r?.email||a.slice(0,8);return j.warn("AUTH",`[CLOUDFLARE] ${h} disabled due to daily quota exhaustion — will re-enable at ${f}`),console.error(`❌ cloudflare-ai [${b}]: Daily quota exhausted — disabled until ${f}`),{shouldFallback:!0,cooldownMs:0}}let w=(r?.providerSpecificData?.baseUrl||"").toLowerCase();if(("siliconflow"===e||"string"==typeof e&&e.startsWith("openai-compatible-")&&w.includes("siliconflow"))&&"string"==typeof c&&c.toLowerCase().includes("system is really busy")){let a=new Date(Date.now()+6e5).toISOString();for(let c of q){let e={...c.providerSpecificData||{},siliconflowBusyDisabled:!0,siliconflowReEnableAt:a};await (0,d.updateProviderConnection)(c.id,{isActive:!1,providerSpecificData:e,testStatus:"unavailable",lastError:v,errorCode:b,lastErrorAt:new Date().toISOString()})}return j.warn("AUTH",`[SILICONFLOW] Disabled ${q.length} connection(s) due to server busy (503) — will re-enable at ${a}`),console.error(`❌ siliconflow [${b}]: System busy — disabled ${q.length} connection(s) until ${a}`),{shouldFallback:!0,cooldownMs:0}}let x=(k=o,{[h?`${m}${h}`:n]:new Date(Date.now()+k).toISOString()});await (0,d.updateProviderConnection)(a,{...x,testStatus:"unavailable",lastError:v,errorCode:b,lastErrorAt:new Date().toISOString(),backoffLevel:p??s});let y=Object.keys(x)[0],z=r?.displayName||r?.name||r?.email||a.slice(0,8);return j.warn("AUTH",`${z} locked ${y} for ${Math.round(o/1e3)}s [${b}]`),e&&b&&v&&console.error(`❌ ${e} [${b}]: ${v}`),(400===b||402===b||403===b)&&e&&(g.eq.some(a=>v.toLowerCase().includes(a))?t(e,a).catch(()=>{}):403===b&&j.warn("AUTH",`[POOL] 403 received but no quota pattern matched — reason: "${v.slice(0,80)}"`)),{shouldFallback:!0,cooldownMs:o}}async function v(a,b,c=null){if(!a||"noauth"===a)return;let e=b._connection||b,f=Date.now(),g=Object.keys(e).filter(a=>a.startsWith("modelLock_"));if(!e.testStatus&&!e.lastError&&0===g.length)return;let h=g.filter(a=>{if(c&&a===`modelLock_${c}`||c&&"modelLock___all"===a)return!0;let b=e[a];return b&&new Date(b).getTime()<=f});if(0===h.length&&"unavailable"!==e.testStatus&&!e.lastError)return;let i=g.filter(a=>{if(h.includes(a))return!1;let b=e[a];return b&&new Date(b).getTime()>f}),j=Object.fromEntries(h.map(a=>[a,null]));0===i.length&&Object.assign(j,{testStatus:"active",lastError:null,lastErrorAt:null,backoffLevel:0}),await (0,d.updateProviderConnection)(a,j)}function w(a){let b=a.headers.get("Authorization");if(b?.startsWith("Bearer "))return b.slice(7);let c=a.headers.get("x-api-key");return c||null}async function x(a){return!!a&&await (0,d.ek)(a)}function y(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:{}}function z(a,b){if(!a)return null;if("function"==typeof a.get){let c=a.get(b)||a.get(b.toLowerCase());return"string"==typeof c&&c.trim().length>0?c.trim():null}let c=a[b]||a[b.toLowerCase()]||a[b.toUpperCase()];return Array.isArray(c)?"string"==typeof c[0]&&c[0].trim().length>0?c[0].trim():null:"string"==typeof c&&c.trim().length>0?c.trim():null}function A(a,b){if("string"!=typeof a||0===a.trim().length)return null;let c=a.trim();return c.length<=180&&/^[A-Za-z0-9._:-]+$/.test(c)?`${b}:${c}`:`${b}:sha256:${(0,i.createHash)("sha256").update(c).digest("hex")}`}function B(a){if("string"==typeof a)return a;if(Array.isArray(a)){let b=a.map(a=>{if("string"==typeof a)return a;let b=y(a);return"string"==typeof b.text?b.text:"string"==typeof b.content?b.content:null}).filter(Boolean);return b.length>0?b.join("\n"):JSON.stringify(a)}return a&&"object"==typeof a?JSON.stringify(a):null}function C(a,b){let c=A(z(b,"x-codex-session-id")??z(b,"x-session-id")??z(b,"x-omniroute-session"),"header");if(c)return c;let d=y(a),e=y(d.metadata),f=A(e.session_id,"metadata")??A(e.sessionId,"metadata")??A(d.conversation_id,"conversation")??A(d.session_id,"session")??A(d.prompt_cache_key,"prompt-cache");if(f)return f;let g=function(a){let b=y(a);if(void 0!==b.input){if("string"==typeof b.input)return b.input;if(Array.isArray(b.input))for(let a of b.input){let b=B(y(a).content??a);if(b&&b.trim().length>0)return b}let a=B(b.input);if(a&&a.trim().length>0)return a}if(Array.isArray(b.messages)){let a=b.messages.find(a=>"user"===y(a).role)??b.messages[0],c=B(y(a).content??a);if(c&&c.trim().length>0)return c}return null}(a);return g&&0!==g.trim().length?`input:sha256:${(0,i.createHash)("sha256").update(g.slice(0,4096)).digest("hex")}`:null}}};
|
|
1
|
+
"use strict";exports.id=238,exports.ids=[238,1998],exports.modules={5483:(a,b,c)=>{c.d(b,{Gz:()=>m,Yj:()=>j,ZO:()=>l});let d=JSON.parse('{"gemini-2.5-flash":{"rpm":5,"rpd":20,"tpm":250000},"gemini-2.5-pro":{"rpm":0,"rpd":0,"tpm":0},"gemini-2-flash":{"rpm":0,"rpd":0,"tpm":0},"gemini-2-flash-lite":{"rpm":0,"rpd":0,"tpm":0},"gemini-2.5-flash-tts":{"rpm":3,"rpd":10,"tpm":10000},"gemini-2.5-pro-tts":{"rpm":0,"rpd":0,"tpm":0},"imagen-4-generate":{"rpm":-1,"rpd":25,"tpm":-1},"imagen-4-ultra-generate":{"rpm":-1,"rpd":25,"tpm":-1},"imagen-4-fast-generate":{"rpm":-1,"rpd":25,"tpm":-1},"gemma-4-26b-it":{"rpm":15,"rpd":1500,"tpm":-1},"gemma-4-31b-it":{"rpm":15,"rpd":1500,"tpm":-1},"gemini-embedding-exp-03-07":{"rpm":100,"rpd":1000,"tpm":30000},"gemini-3.5-flash":{"rpm":5,"rpd":20,"tpm":250000},"gemini-3.1-flash-lite":{"rpm":15,"rpd":500,"tpm":250000},"gemini-3.1-pro":{"rpm":0,"rpd":0,"tpm":0},"gemini-2.5-flash-lite":{"rpm":10,"rpd":20,"tpm":250000},"nano-banana-gemini-2.5-flash-preview-image":{"rpm":0,"rpd":0,"tpm":0},"nano-banana-pro-gemini-3-pro-image":{"rpm":0,"rpd":0,"tpm":0},"nano-banana-2-gemini-3.1-flash-image":{"rpm":0,"rpd":0,"tpm":0},"lyria-3-clip":{"rpm":0,"rpd":0,"tpm":0},"lyria-3-pro":{"rpm":0,"rpd":0,"tpm":0},"veo-3-generate":{"rpm":0,"rpd":0,"tpm":-1},"veo-3-fast-generate":{"rpm":0,"rpd":0,"tpm":-1},"veo-3-lite-generate":{"rpm":0,"rpd":0,"tpm":-1},"gemini-3.1-flash-tts":{"rpm":3,"rpd":10,"tpm":10000},"gemini-robotics-er-1.5-preview":{"rpm":10,"rpd":20,"tpm":250000},"gemini-robotics-er-1.6-preview":{"rpm":5,"rpd":20,"tpm":250000},"computer-use-preview":{"rpm":0,"rpd":0,"tpm":0},"gemini-embedding-exp-04-07":{"rpm":100,"rpd":1000,"tpm":30000},"gemini-3.5-live-translate":{"rpm":-1,"rpd":-1,"tpm":20000},"gemini-2.5-flash-native-audio-dialog":{"rpm":-1,"rpd":-1,"tpm":1000000},"gemini-3-flash-live":{"rpm":-1,"rpd":-1,"tpm":65000}}'),e=new Map,f=new Map;function g(){return new Date().toISOString().slice(0,10)}function h(a){return a.replace(/^gemini\//,"").trim()}function i(a,b){if(!a)return 0;let c=h(a),e=d[c];if(!e){for(let[a,e]of Object.entries(d))if(c.endsWith(a)||a.endsWith(c)){let a=e[b];return"number"==typeof a&&a>0?a:0}return 0}let f=e[b];return"number"==typeof f&&f>0?f:0}function j(a){let b=i(a,"rpd");return!(b<=0)&&function(a){if(!a)return 0;let b=h(a),c=g(),d=e.get(b);return d&&d.date===c?d.count:0}(a)>=b}function k(a){let b=Date.now()-6e4,c=f.get(a);if(!c)return;let d=0;for(;d<c.length&&c[d]<b;)d++;d>0&&f.set(a,c.slice(d))}function l(a){let b=i(a,"rpm");return!(b<=0)&&function(a){if(!a)return 0;let b=h(a);return k(b),f.get(b)?.length??0}(a)>=b}function m(a){!function(a){if(!a)return;let b=h(a),c=g(),d=e.get(b);d&&d.date===c?d.count++:e.set(b,{date:c,count:1})}(a),function(a){if(!a)return;let b=h(a);k(b);let c=f.get(b)??[];c.push(Date.now()),f.set(b,c)}(a)}},10254:(a,b,c)=>{c.d(b,{hk:()=>an,w7:()=>ak,M$:()=>_,lB:()=>aa,Qo:()=>ao,ls:()=>ac,LN:()=>M,DZ:()=>Z,K7:()=>H,M1:()=>I,xs:()=>am,qw:()=>ab,me:()=>J,je:()=>af,v6:()=>ae,R7:()=>W,CY:()=>$,Ks:()=>ag,E$:()=>Y,p8:()=>ad,pX:()=>X});var d=c(61408),e=c(3662);function f(){return[{id:"opencode-quota-exhausted-headers",match:({status:a,headers:b})=>429!==a?null:"0"===b["x-ratelimit-remaining-requests"]||"0"===b["x-ratelimit-remaining-tokens"]?{reason:"quota_exhausted",scope:"provider"}:null},{id:"opencode-quota-exhausted-body",match:({status:a,body:b})=>{if(429!==a)return null;let c=JSON.stringify(b??"").toLowerCase();return c.includes("organization_quota_exceeded")||c.includes("account_quota_exceeded")||c.includes("plan_limit_reached")?{reason:"quota_exhausted",scope:"provider"}:null}}]}function g(){return[{id:"minimax-per-model-quota",match:({status:a,headers:b})=>{if(429!==a)return null;let c=b["x-model-quota-remaining"];return c&&c.split(",").some(a=>a.split("=")[1]?.trim()==="0")?{reason:"quota_exhausted",scope:"model"}:null}}]}let h=new Map([["opencode",f()],["opencode-go",f()],["opencode-cli",f()],["minimax",g()],["minimax-passthrough",g()]]);var i=c(36081),j=c(50102),k=c(77868),l=c(15300),m=c(40615),n=c(37664),o=c(21968),p=c(5483);function q(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:{}}let r=new Set([408,429,500,502,503,504]),s=new Map,t=setInterval(()=>{let a=Date.now();for(let[b,c]of s)a-c>5e3&&s.delete(b)},6e4);"object"==typeof t&&"unref"in t&&t.unref?.();let u=["account_deactivated","account has been deactivated","account has been disabled","your account has been suspended","this account is deactivated","verify your account to continue","this service has been disabled in this account for violation","this service has been disabled in this account"],v=[],w=["insufficient_quota","billing_hard_limit_reached","exceeded your current quota","exceeded your current usage quota","credit_balance_too_low","your credit balance is too low","credits exhausted","out of credits","payment required","free tier of the model has been exhausted","insufficient balance","insufficient_balance","insufficient account balance"],x=["invalid authentication credentials","oauth 2","login cookie","valid authentication credential","invalid credentials"],y=[/\binput is too long\b/i,/\binput too long\b/i,/\bcontext.*(too long|exceeded|overflow|limit)/i,/\btoo many tokens\b/i,/\bprompt is too long\b/i,/\bcontext window/i,/\bmaximum context/i,/\bmax.*token/i,/\btoken limit/i,/\brequest too large\b/i],z=new Set(["model_not_found","deployment_not_found"]),A=new Set(["not_found_error"]),B=new Set(["permission_error"]),C=[/\binvalid model\b/i,/\bmodel.*not.*(?:available|found|supported|accessible)\b/i,/\bmodel.*(?:does not exist|doesn't exist)\b/i,/\baccess.*denied.*model\b/i,/\bmodel.*access.*denied\b/i,/\bplease select a different model\b/i,/\b(?:access|permission)[\s\S]{0,60}?\bmodel\b/i,/\bmodel[\s\S]{0,60}?\b(?:access|permission)\b/i],D=[/\b(?:invalid|incorrect|expired|missing|revoked)\s+api[\s_-]?key\b/i,/\bapi[\s_-]?key\s+(?:is\s+)?(?:invalid|incorrect|expired|missing|revoked|not\s+valid)\b/i,/\bauthentication\s+(?:failed|error|required)\b/i,/\b(?:invalid|expired|missing|revoked)\s+(?:token|credentials?|bearer)\b/i,/\bunauthorized\b/i,/\bnot\s+authenticated\b/i],E=[/\bimproperly formed request\b/i,/\binvalid.*message.*format/i,/\bmessages must alternate\b/i,/\bempty (message|content)\b/i,/\bfunction'?s? name (?:can't|can not|is|has) (?:blank|empty|missing)/i,/function.*name.*(?:blank|empty|missing)/i,/tool_call.*name.*(?:blank|empty|missing)/i],F=[/high.?frequency/i,/non-compliant/i,/too many requests/i,/rate.?limit/i,/频繁/,/频率/],G=[/max_tokens.*illegal/i,/max_tokens.*must be/i,/max_tokens.*range/i,/parameter is illegal/i,/is illegal.*range/i];function H(a){let b=String(a||"").toLowerCase();return(0===v.length?u:[...u,...v]).some(a=>b.includes(a))}function I(a){let b=String(a||"").toLowerCase();return!!w.some(a=>b.includes(a))||b.includes("insufficient")&&b.includes("balance")}function J(a){let b=String(a||"").toLowerCase();return x.some(a=>b.includes(a))}function K(a,b){let c=b?(0,j.xv)(b):j.aD,e=c.connectionCooldown[a],f=c.providerBreaker[a];return{baseCooldownMs:e.baseCooldownMs,useUpstreamRetryHints:e.useUpstreamRetryHints,useUpstream429BreakerHints:e.useUpstream429BreakerHints,maxCooldownMs:(0,k.Sy)(b).maxCooldownMs,maxBackoffSteps:e.maxBackoffSteps,failureThreshold:f.failureThreshold,resetTimeoutMs:f.resetTimeoutMs,transientCooldown:e.baseCooldownMs,rateLimitCooldown:e.useUpstreamRetryHints?0:e.baseCooldownMs,maxBackoffLevel:e.maxBackoffSteps,circuitBreakerThreshold:f.failureThreshold,circuitBreakerReset:f.resetTimeoutMs,degradationThreshold:f.degradationThreshold,providerFailureThreshold:d.xx[a].providerFailureThreshold,providerFailureWindowMs:d.xx[a].providerFailureWindowMs,maxBackoffMultiplier:d.xx[a].maxBackoffMultiplier,backoffEscalationCount:d.xx[a].backoffEscalationCount,providerCooldownMs:d.xx[a].providerCooldownMs}}function L(a){return K((0,i.oQ)(a))}async function M(a){try{let{getCachedSettings:b}=await c.e(4046).then(c.bind(c,14046)),d=await b(),e=(0,i.oQ)(a||"");return K(e,d)}catch{return L(a||"")}}let N=new Map,O=new Map,P=new Map;function Q(a){let b=P.get(a);return b||(b=(0,m.rs)(a),P.set(a,b)),b}function R(a,b,c){let d=Q(a),e="codex"===d?(0,n.t6)(c):(0,o.M$)(d,c)||c;return`${d}:${b}:${e}`}function S(a,b=Date.now()){let c=N.get(a);c&&b>c.until&&N.delete(a);let d=O.get(a);!d||b-d.lastFailureAt<=d.resetAfterMs+(d.lastCooldownMs??0)||N.has(a)||O.delete(a)}function T(a,b,c=e.EQ.maxLevel){return(Number.isFinite(a)&&a>0?a:1e3)*Math.pow(2,Math.min(Math.max(0,b-1),Math.max(0,c)))}let U=null;function V(){if(!U)try{U=setInterval(()=>{let a=Date.now();for(let b of N.keys())S(b,a);for(let b of O.keys())S(b,a)},15e3),"object"==typeof U&&"unref"in U&&U.unref?.()}catch{}}function W(a,b,c,d,e,f={}){if(!c)return;V();let g=R(a,b,c);S(g);let h=Date.now()+e,i=N.get(g);if(i&&i.until>h){f.failureCount&&f.failureCount>i.failureCount&&(i.failureCount=f.failureCount,i.lastFailureAt=f.lastFailureAt??i.lastFailureAt,i.resetAfterMs=f.resetAfterMs??i.resetAfterMs,N.set(g,i));return}let j=Date.now();N.set(g,{reason:d,until:h,lockedAt:j,failureCount:f.failureCount??i?.failureCount??1,lastFailureAt:f.lastFailureAt??j,resetAfterMs:f.resetAfterMs??i?.resetAfterMs??0})}function X(a,b){return"number"==typeof a&&a>b.baseCooldownMs?a:b.useExponentialBackoff?0:b.baseCooldownMs}function Y(a,b,c,f,g,h,i=null,j={}){V();let k=R(a,b,c),l=Date.now();S(k,l),"quota_exhausted"===f&&"number"!=typeof j.exactCooldownMs&&(j={...j,exactCooldownMs:al()});let m=function(a=null,b=18e5){let c=a?.resetTimeoutMs;return"number"==typeof c&&c>0?c:b}(i),n=O.get(k),o=n&&l-n.lastFailureAt<=n.resetAfterMs+(n.lastCooldownMs??0)?n.failureCount+1:1,p=function(a,b,c=null){return Number.isFinite(b)&&b>0?b:"number"==typeof c?.baseCooldownMs&&c.baseCooldownMs>=0?c.baseCooldownMs:a===d.gx.RATE_LIMITED?function(a=0){return(0,e.KI)(a)}(0):e.Bm.transientInitial}(g,h,i),q="number"==typeof j.maxCooldownMs&&j.maxCooldownMs>0?j.maxCooldownMs:e.EQ.max,r="number"==typeof j.exactCooldownMs&&j.exactCooldownMs>0?j.exactCooldownMs:Math.min(T(p,o,i?.maxBackoffSteps??e.EQ.maxLevel),q);return O.set(k,{failureCount:o,lastFailureAt:l,resetAfterMs:m,lastCooldownMs:r}),W(a,b,c,f,r,{failureCount:o,lastFailureAt:l,resetAfterMs:m}),{cooldownMs:r,failureCount:o,resetAfterMs:m}}function Z(a,b=null,c){return"boolean"==typeof c?c:!!a&&(!!("codex"===Q(a)||"gemini"===a||"github"===a||(0,i.Fp)().has(a))||!!("string"==typeof a&&(a.startsWith("openai-compatible-")||a.startsWith("anthropic-compatible-"))))}function $(a,b,c,d,e,f){return!(!Z(a,c,f)||!c||function(a){let b=a?(0,l.qF)(a):null;return!!b&&!b.canExecute()}(a))&&(W(a,b,c,d,e),!0)}function _(a){return 429===a?"rate_limit":403===a?"quota_exhausted":"unknown"}function aa(a,b,c){let d=R(a,b,c),e=O.get(d);if(!e)return{cleared:!1,newFailureCount:0};let f=Math.floor(e.failureCount/2);return 0===f?(O.delete(d),{cleared:!0,newFailureCount:0}):(O.set(d,{...e,failureCount:f}),{cleared:!1,newFailureCount:f})}function ab(a,b,c){if(!c)return!1;let d=R(a,b,c);return S(d),!!N.get(d)}function ac(a,b,c){if(!c)return null;let d=R(a,b,c);S(d);let e=N.get(d);return e?{reason:e.reason,remainingMs:e.until-Date.now(),lockedAt:new Date(e.lockedAt).toISOString(),failureCount:e.failureCount}:null}function ad(a,b,c,d){if(!a)return;if(c){let b=`${a}:${c}`,d=Date.now(),e=s.get(b);if(e&&d-e<5e3)return;s.delete(b),s.set(b,d),function(){for(;s.size>1e4;){let a=s.keys().next().value;if("string"!=typeof a)return;s.delete(a)}}()}let e=function(a,b){if(!a)return null;let c={...L(a),...b};return c.useUpstream429BreakerHints,(0,l.qF)(a,{failureThreshold:c.failureThreshold??c.circuitBreakerThreshold,resetTimeout:c.resetTimeoutMs??c.circuitBreakerReset,...{},degradationThreshold:c.degradationThreshold,maxBackoffMultiplier:c.maxBackoffMultiplier,backoffEscalationCount:c.backoffEscalationCount})}(a,d);!e||e.canExecute()&&(e._onFailure(),e.canExecute()||b?.warn?.(`[ProviderFailure] ${a}: circuit breaker opened after repeated failures`))}function ae(a){return r.has(a)}function af(a){return!!a.creditsExhausted||!!a.dailyQuotaExhausted||a.reason===d.QS.QUOTA_EXHAUSTED}function ag(a){let b;try{b=q("string"==typeof a?JSON.parse(a):a)}catch{return{retryAfterMs:null,reason:d.QS.UNKNOWN}}if(0===Object.keys(b).length)return{retryAfterMs:null,reason:d.QS.UNKNOWN};let c=q(b.error),e=c.details||b.details||[];for(let a of Array.isArray(e)?e:[]){let b=q(a);if(b.retryDelay)return{retryAfterMs:function(a){if(!a)return null;let b=String(a).trim(),c=/^(\d+)\s*ms$/i.exec(b);if(c)return Number.parseInt(c[1],10);let d=/^(\d+)\s*s$/i.exec(b);if(d)return 1e3*Number.parseInt(d[1],10);let e=/^(\d+)\s*m$/i.exec(b);if(e)return 60*Number.parseInt(e[1],10)*1e3;let f=/^(\d+)\s*h$/i.exec(b);if(f)return 3600*Number.parseInt(f[1],10)*1e3;let g=Number.parseInt(b,10);return Number.isNaN(g)?null:1e3*g}(b.retryDelay),reason:d.QS.RATE_LIMIT_EXCEEDED}}let f=String(c.message||b.message||""),g=/retry\s+after\s+(\d+)\s*s/i.exec(f);if(g)return{retryAfterMs:1e3*Number.parseInt(g[1],10),reason:d.QS.RATE_LIMIT_EXCEEDED};let h=String(c.type||b.type||"");return"rate_limit_error"===h?{retryAfterMs:null,reason:d.QS.RATE_LIMIT_EXCEEDED}:{retryAfterMs:null,reason:ak(f||h)}}function ah(a){if(!a||"string"!=typeof a)return null;let b=String(a),c=/\b(?:try again at|wait until|reset(?:s)? at|available at|retry after)\s+(\d{4}-\d{2}-\d{2}[Tt ]\d{2}:\d{2}(?::\d{2})?(?:\.\d+)?(?:Z|[+-]\d{2}:?\d{2})?)/i.exec(b);if(c){let a=Date.parse(c[1]);if(Number.isFinite(a)){let b=a-Date.now();if(b>0)return b}}let d=/reset after (\d+h)?(\d+m)?(\d+s)?/i.exec(b);if(d?.[1]||d?.[2]||d?.[3])return ai(d);let e=/will reset after (\d+h)?(\d+m)?(\d+s)?/i.exec(b);if(e?.[1]||e?.[2]||e?.[3])return ai(e);let f=/resets? in (\d+h)?(\d+m)?(\d+s)?/i.exec(b);return f?.[1]||f?.[2]||f?.[3]?ai(f):null}function ai(a){let b=0;return a[1]&&(b+=3600*Number.parseInt(a[1],10)*1e3),a[2]&&(b+=60*Number.parseInt(a[2],10)*1e3),a[3]&&(b+=1e3*Number.parseInt(a[3],10)),b>0?Math.min(b,2592e6):null}function aj(a){return a.includes("usage limit reached")||a.includes("usage limit has been")||a.includes("claude pro usage limit")||a.includes("you've reached your usage limit")||a.includes("you have reached your usage limit")}function ak(a){if(!a)return d.QS.UNKNOWN;let b=String(a).toLowerCase();if(b.includes("quota exceeded")||b.includes("quota depleted")||b.includes("quota will reset")||b.includes("your quota will reset")||b.includes("quota has been exceeded")||b.includes("hour quota")||b.includes("billing")||aj(b)||I(b))return d.QS.QUOTA_EXHAUSTED;if(H(b))return d.QS.AUTH_ERROR;let c=(0,e.Mh)(a);return c?.reason?c.reason:b.includes("rate_limit")?d.QS.RATE_LIMIT_EXCEEDED:b.includes("resource exhausted")||b.includes("high demand")?d.QS.MODEL_CAPACITY:b.includes("unauthorized")||b.includes("invalid api key")||b.includes("authentication")?d.QS.AUTH_ERROR:b.includes("server error")||b.includes("internal error")?d.QS.SERVER_ERROR:d.QS.UNKNOWN}function al(){let a=Date.now(),b=new Date(a);b.setDate(b.getDate()+1),b.setHours(0,0,0,0);let c=b.getTime()-a;return c>0&&c<=9e7?c:864e5}function am(a){if(!a)return!1;let b=a.toLowerCase();return b.includes("today's quota")||b.includes("daily quota")||b.includes("try again tomorrow")}function an(a,b,c=0,f=null,g=null,j=null,k=null,l){if(503===a&&j){let a="function"==typeof j.get?j.get("x-omni-fallback-hint"):j["x-omni-fallback-hint"]||j["X-Omni-Fallback-Hint"];if("string"==typeof a&&"connection_cooldown"===a.toLowerCase())return{shouldFallback:!0,cooldownMs:5e3,baseCooldownMs:5e3,newBackoffLevel:0,reason:"service_not_running",skipProviderBreaker:!0}}let m=(b||"").toString(),n=k??(g?L(g):null),o=n?.maxBackoffSteps??e.EQ.maxLevel,q=new Set([d.gx.REQUEST_TIMEOUT,d.gx.RATE_LIMITED,d.gx.SERVER_ERROR,d.gx.BAD_GATEWAY,d.gx.SERVICE_UNAVAILABLE,d.gx.GATEWAY_TIMEOUT]);function r(){if(!n?.useUpstreamRetryHints)return null;let a=function(a){if(!a)return null;let b="function"==typeof a.get?a.get("retry-after"):a["retry-after"]||a["Retry-After"];if(b){let a=Number.parseInt(b,10);if(!Number.isNaN(a)&&String(a)===String(b).trim())return Date.now()+1e3*a;let c=new Date(b);if(!Number.isNaN(c.getTime()))return c.getTime()}let c="function"==typeof a.get?a.get("x-ratelimit-reset"):a["x-ratelimit-reset"]||a["X-RateLimit-Reset"];if(c){let a=Number.parseInt(c,10);if(!Number.isNaN(a))return a>1e10?a:1e3*a}return null}(j);if(a){let b=Math.max(a-Date.now(),0);if(b>0)return b}let b=ah(m);return b&&b>0?b:null}function s(a){let b=r();if("number"==typeof b&&b>0)return{shouldFallback:!0,cooldownMs:b,baseCooldownMs:b,newBackoffLevel:0,usedUpstreamRetryHint:!0,reason:a};let d=function(a=c){let b="number"==typeof n?.baseCooldownMs&&n.baseCooldownMs>=0?n.baseCooldownMs:e.Bm.transientInitial;return{baseCooldownMs:b,cooldownMs:T(b,a+1,o),newBackoffLevel:Math.min(a+1,o)}}(c);return{shouldFallback:!0,cooldownMs:d.cooldownMs,baseCooldownMs:d.baseCooldownMs,newBackoffLevel:d.newBackoffLevel,usedUpstreamRetryHint:!1,reason:a}}let t=a===d.gx.RATE_LIMITED,u=!g||"oauth"===(0,i.oQ)(g),v=!t||u;if(b){if(H(m))return{shouldFallback:!0,cooldownMs:31536e6,reason:d.QS.AUTH_ERROR,permanent:!0};if(v&&I(m))return{shouldFallback:!0,cooldownMs:e.Bm.paymentRequired??36e5,reason:d.QS.QUOTA_EXHAUSTED,creditsExhausted:!0};if(v&&am(m))return{shouldFallback:!0,cooldownMs:Math.min(al(),864e5),reason:d.QS.QUOTA_EXHAUSTED,dailyQuotaExhausted:!0};if(v&&!I(m)&&!am(m)&&aj(m.toLowerCase())){let a=r(),b=ah(m);return{shouldFallback:!0,cooldownMs:a??36e5,reason:d.QS.QUOTA_EXHAUSTED,usedUpstreamRetryHint:!!a,quotaResetHintMs:b??void 0}}let b=ah(m);if(v&&b&&ak(m)===d.QS.QUOTA_EXHAUSTED)return{...s(d.QS.QUOTA_EXHAUSTED),quotaResetHintMs:b};if(a===d.gx.FORBIDDEN&&m.toLowerCase().includes("not authorized for this route"))return{shouldFallback:!1,cooldownMs:0,reason:d.QS.UNKNOWN};if(a===d.gx.FORBIDDEN&&g&&"apikey"===(0,i.oQ)(g)&&!m.toLowerCase().includes("has not been used in project")&&!m.toLowerCase().includes("hour quota")&&!m.toLowerCase().includes("quota has been exceeded"))return s(d.QS.AUTH_ERROR)}if("gemini"===g&&a===d.gx.RATE_LIMITED&&f){if((0,p.Yj)(f))return s(d.QS.QUOTA_EXHAUSTED);if((0,p.ZO)(f))return s(d.QS.RATE_LIMIT_EXCEEDED)}let w=t&&!u?(0,e.UJ)(a):(0,e.lR)(a,m);if(w){if(w.backoff){let b=g?function(a,b,c,d){if(!a)return null;let e=h.get(a.toLowerCase());if(!e)return null;let f=c?"function"==typeof c.get?Object.fromEntries(c.entries()):Object.fromEntries(Object.entries(c).map(([a,b])=>[a.toLowerCase(),b])):{};for(let a of e){let c=a.match({status:b,headers:f,body:d});if(c)return c}return null}(g,a,j,l??null):null;return s(b?b.reason:w.reason??d.QS.UNKNOWN)}let b=w.cooldownMs??0;return{shouldFallback:!0,cooldownMs:b,baseCooldownMs:b,reason:w.reason??d.QS.UNKNOWN}}if(a===d.gx.NOT_ACCEPTABLE||q.has(a))return s(d.QS.SERVER_ERROR);if(a===d.gx.BAD_REQUEST){let a="string"==typeof l?.code?l.code.toLowerCase():"",b="string"==typeof l?.type?l.type.toLowerCase():"",c=!D.some(a=>a.test(m))&&C.some(a=>a.test(m)),e=!!l&&(z.has(a)||A.has(b)||B.has(b)&&c),f=y.some(a=>a.test(m)),g=E.some(a=>a.test(m)),h=G.some(a=>a.test(m));return f||g||h||e||c?{shouldFallback:!0,cooldownMs:0,reason:d.QS.MODEL_CAPACITY}:F.some(a=>a.test(m))?s(d.QS.RATE_LIMIT_EXCEEDED):{shouldFallback:!1,cooldownMs:0,reason:d.QS.UNKNOWN}}return{shouldFallback:!0,cooldownMs:n?.baseCooldownMs??e.Bm.transient,baseCooldownMs:n?.baseCooldownMs??e.Bm.transient,reason:d.QS.UNKNOWN}}function ao(a){if(!a)return"";let b=new Date(a).getTime()-Date.now();if(b<=0)return"reset after 0s";let c=Math.ceil(b/1e3),d=Math.floor(c/3600),e=Math.floor(c%3600/60),f=c%60,g=[];return d>0&&g.push(`${d}h`),e>0&&g.push(`${e}m`),(f>0||0===g.length)&&g.push(`${f}s`),`reset after ${g.join(" ")}`}},15300:(a,b,c)=>{c.d(b,{qF:()=>e});let d={getStatus:()=>({state:"CLOSED"}),reset:()=>{},recordFailure:()=>{},recordSuccess:()=>{}},e=()=>d},16945:(a,b,c)=>{c.d(b,{B:()=>f});var d=c(71998);function e(a){return null==a?"":String(a).trim()}async function f(a={}){try{let b=e(a?.proxyPoolId),c="__none__"===b?"":b,f=function(a={}){let b=a?.connectionProxyEnabled===!0,c=e(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:e(a?.connectionNoProxy)}}(a);if(c){let a=await (0,d.hr)(c),b=e(a?.proxyUrl),f=e(a?.noProxy);if(a&&!0===a.isActive&&b){if("vercel"===a.type||"cloudflare"===a.type||"deno"===a.type)return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:f,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:f,strictProxy:!0===a.strictProxy}}}if(f.connectionProxyEnabled&&f.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,...f};return{source:"none",proxyPoolId:c||null,proxyPool:null,...f}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}},21968:(a,b,c)=>{c.d(b,{M$:()=>f,dv:()=>g});let d="antigravity";function e(a){let b=String(a||"").trim().toLowerCase().replace(/^antigravity\//,""),c=b.indexOf("/"),d=c>=0?b.slice(c+1):b;return d.startsWith("gemini-")||d.includes("/gemini-")||d.includes("gemini")?"gemini":d.startsWith("claude-")||d.startsWith("cloud-")||d.includes("/claude-")||d.includes("/cloud-")||d.includes("anthropic")?"claude":"other"}function f(a,b){if(!b)return null;if(a!==d)return b;let c=e(b);return"other"===c?b:`family:${c}`}function g(a,b){return a!==d||"other"===e(b)?"model":"family"}},50102:(a,b,c)=>{c.d(b,{TR:()=>e,aD:()=>d,xv:()=>f});let d={providerCooldown:{enabled:!1,minRetryCooldownMs:1e3,maxRetryCooldownMs:6e4},requestQueue:{enabled:!1},comboCooldownWait:{enabled:!1,budgetMs:0,maxAttempts:1},quotaShareConcurrencyLimit:{enabled:!1},quotaPreflight:{enabled:!1},streamRecovery:{enabled:!1,continueMidStream:!1},connectionCooldown:{oauth:{baseCooldownMs:1e3,useUpstreamRetryHints:!0,useUpstream429BreakerHints:!0,maxBackoffSteps:5},apikey:{baseCooldownMs:1e3,useUpstreamRetryHints:!0,useUpstream429BreakerHints:!0,maxBackoffSteps:5}},providerBreaker:{oauth:{failureThreshold:5,resetTimeoutMs:3e4,degradationThreshold:.5},apikey:{failureThreshold:5,resetTimeoutMs:3e4,degradationThreshold:.5}}},e=()=>!1,f=a=>d},71998:(a,b,c)=>{c.d(b,{Ax:()=>d.Ax,CK:()=>d.CK,EE:()=>d.EE,Fh:()=>d.Fh,ID:()=>d.ID,Is:()=>d.Is,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Wq:()=>d.Wq,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fu:()=>d.fu,fv:()=>d.fv,g4:()=>d.g4,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,ik:()=>d.ik,o5:()=>d.o5,op:()=>d.op,q5:()=>d.q5,rj:()=>d.updateProviderConnection,sN:()=>d.sN,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},77868:(a,b,c)=>{c.d(b,{Sy:()=>e});let d={enabled:!1,errorCodes:[],baseCooldownMs:3e4,useExponentialBackoff:!1,maxCooldownMs:3e5},e=()=>d},80238:(a,b,c)=>{c.d(b,{OK:()=>z,Pt:()=>v,Tn:()=>E,Tr:()=>w,c1:()=>s,kI:()=>x,vk:()=>u});var d=c(89718),e=c(16945),f=c(10254),g=c(3662),h=c(40615),i=c(77598),j=c(30184);let k=new Map,l=new Set,m="modelLock_",n="modelLock___all";function o(a,b){let c=a[b?`${m}${b}`:n]||a[n];return!!c&&new Date(c).getTime()>Date.now()}function p(a){if(!a)return null;let b=null,c=Date.now();for(let[d,e]of Object.entries(a)){if(!d.startsWith(m)||!e)continue;let a=new Date(e).getTime();a<=c||(!b||a<b)&&(b=a)}return b?new Date(b).toISOString():null}async function q(){try{let a=await (0,d.getProviderConnections)({provider:"cloudflare-ai"}),b=new Date().toISOString(),c=a.filter(a=>{let c=a.providerSpecificData||{};return!0===c.cloudflareQuotaDisabled&&c.cloudflareReEnableAt&&c.cloudflareReEnableAt<=b});if(0===c.length)return;for(let a of c){let b={...a.providerSpecificData||{}};delete b.cloudflareQuotaDisabled,delete b.cloudflareReEnableAt,await (0,d.updateProviderConnection)(a.id,{isActive:!0,providerSpecificData:b});let c=a.displayName||a.name||a.email||a.id.slice(0,8);j.info("AUTH",`[CLOUDFLARE] Re-enabled ${c} — daily quota cooldown expired (was disabled until ${a.providerSpecificData?.cloudflareReEnableAt})`)}}catch(a){j.warn("AUTH",`[CLOUDFLARE] re-enable check failed: ${a.message}`)}}async function r(){try{let a=await (0,d.getProviderConnections)({}),b=new Date().toISOString(),c=a.filter(a=>{let c=a.providerSpecificData||{};return!0===c.siliconflowBusyDisabled&&c.siliconflowReEnableAt&&c.siliconflowReEnableAt<=b});if(0===c.length)return;for(let a of c){let b={...a.providerSpecificData||{}};delete b.siliconflowBusyDisabled,delete b.siliconflowReEnableAt,await (0,d.updateProviderConnection)(a.id,{isActive:!0,providerSpecificData:b});let c=a.displayName||a.name||a.email||a.id.slice(0,8);j.info("AUTH",`[SILICONFLOW] Re-enabled ${c} — server busy cooldown expired (was disabled until ${a.providerSpecificData?.siliconflowReEnableAt})`)}}catch(a){j.warn("AUTH",`[SILICONFLOW] re-enable check failed: ${a.message}`)}}async function s(a,b=null,c=null,g={}){let i,l=b instanceof Set?b:b?new Set([b]):new Set,m=g?.preferredConnectionId||null,n=g?.allowRateLimited===!0,t=(0,h.rs)(a),u=k.get(t)||Promise.resolve(),v=new Promise(a=>{i=a});k.set(t,v);try{let b;if(await u,"cloudflare-ai"===t&&await q(),("siliconflow"===t||"string"==typeof t&&t.startsWith("openai-compatible-"))&&await r(),h.IS[t]?.noAuth){let a=((await (0,d.getSettings)()).providerStrategies||{})[t]||{},b=await (0,e.B)({proxyPoolId:a.proxyPoolId||""});return{id:"noauth",connectionName:"Public",isActive:!0,accessToken:"public",providerSpecificData:{connectionProxyEnabled:b.connectionProxyEnabled,connectionProxyUrl:b.connectionProxyUrl,connectionNoProxy:b.connectionNoProxy,connectionProxyPoolId:b.proxyPoolId||null,vercelRelayUrl:b.vercelRelayUrl||"",strictProxy:!0===b.strictProxy}}}let g=await (0,d.getProviderConnections)({provider:t,isActive:!0});if(j.debug("AUTH",`${a} | total connections: ${g.length}, excludeIds: ${l.size>0?[...l].join(","):"none"}, model: ${c||"any"}`),0===g.length)return j.warn("AUTH",`No credentials for ${a}`),null;let i=g.filter(a=>!(l.has(a.id)||o(a,c)));if(j.debug("AUTH",`${a} | available: ${i.length}/${g.length}`),g.forEach(a=>{let b=l.has(a.id),d=o(a,c);if(b||d){let e=p(a);j.debug("AUTH",` → ${a.id?.slice(0,8)} | ${b?"excluded":""} ${d?`modelLocked(${c}) until ${e}`:""}`)}}),0===i.length){if(n){let b=g.filter(a=>!l.has(a.id)&&o(a,c));if(b.length>0){b.sort((a,b)=>{let c=new Date(p(a)||0).getTime(),d=new Date(p(b)||0).getTime();return c-d});let c=b[0],d=c.displayName||c.name||c.email||c.id?.slice(0,8),g=p(c);j.warn("AUTH",`[FALLBACK-EMERGENCY] ${a} | all accounts locked — using ${d} (lock expires ${(0,f.Qo)(g)})`);let h=await (0,e.B)(c.providerSpecificData||{});return{authType:c.authType,apiKey:c.apiKey,accessToken:c.accessToken,refreshToken:c.refreshToken,idToken:c.idToken,expiresAt:c.expiresAt,expiresIn:c.expiresIn,lastRefreshAt:c.lastRefreshAt,projectId:c.projectId,connectionName:d,copilotToken:c.providerSpecificData?.copilotToken,providerSpecificData:{...c.providerSpecificData||{},connectionProxyEnabled:h.connectionProxyEnabled,connectionProxyUrl:h.connectionProxyUrl,connectionNoProxy:h.connectionNoProxy,connectionProxyPoolId:h.proxyPoolId||null,vercelRelayUrl:h.vercelRelayUrl||"",strictProxy:!0===h.strictProxy},connectionId:c.id,testStatus:c.testStatus,lastError:c.lastError,_connection:c,emergencyFallback:!0}}}let b=g.filter(a=>o(a,c)),d=b.map(a=>p(a)).filter(Boolean).sort()[0]||null;if(d){let e=b[0];return j.warn("AUTH",`${a} | all ${g.length} accounts locked for ${c||"all"} (${(0,f.Qo)(d)}) | lastError=${e?.lastError?.slice(0,50)}`),{allRateLimited:!0,retryAfter:d,retryAfterHuman:(0,f.Qo)(d),lastError:e?.lastError||null,lastErrorCode:e?.errorCode||null}}return j.warn("AUTH",`${a} | all ${g.length} accounts unavailable`),null}let k=await (0,d.getSettings)(),s=(k.providerStrategies||{})[t]||{},v=s.fallbackStrategy||k.fallbackStrategy||"fill-first";if(m&&(b=i.find(a=>a.id===m))&&j.info("AUTH",`${a} | pinned to ${b.id?.slice(0,8)} (${b.name||b.email||"unnamed"})`),b);else if("round-robin"===v){let a=s.stickyRoundRobinLimit||k.stickyRoundRobinLimit||3,c=[...i].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(b.lastUsedAt)-new Date(a.lastUsedAt):-1:1:(a.priority||999)-(b.priority||999))[0],e=c?.consecutiveUseCount||0;c&&c.lastUsedAt&&e<a?(b=c,await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:(b.consecutiveUseCount||0)+1})):(b=[...i].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(a.lastUsedAt)-new Date(b.lastUsedAt):1:-1:(a.priority||999)-(b.priority||999))[0],await (0,d.updateProviderConnection)(b.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:1}))}else b=i[0];let w=await (0,e.B)(b.providerSpecificData||{});return{authType:b.authType,apiKey:b.apiKey,accessToken:b.accessToken,refreshToken:b.refreshToken,idToken:b.idToken,expiresAt:b.expiresAt,expiresIn:b.expiresIn,lastRefreshAt:b.lastRefreshAt,projectId:b.projectId,connectionName:b.displayName||b.name||b.email||b.id,copilotToken:b.providerSpecificData?.copilotToken,providerSpecificData:{...b.providerSpecificData||{},connectionProxyEnabled:w.connectionProxyEnabled,connectionProxyUrl:w.connectionProxyUrl,connectionNoProxy:w.connectionNoProxy,connectionProxyPoolId:w.proxyPoolId||null,vercelRelayUrl:w.vercelRelayUrl||"",strictProxy:!0===w.strictProxy},connectionId:b.id,testStatus:b.testStatus,lastError:b.lastError,_connection:b}}finally{i&&i(),k.get(t)===v&&k.delete(t)}}async function t(a,b){if(!l.has(b)){l.add(b);try{let[c,e]=await Promise.all([(0,d.CK)(a),(0,d.getProviderConnections)({provider:a,isActive:!0})]);if(!c)return;let f=e.map(a=>a.apiKey).filter(Boolean),g=await (0,d.Ax)(a,1,f);if(!g.length){j.warn("AUTH",`[POOL] pool empty for ${a}, cannot auto-replace`),await (0,d.updateProviderConnection)(b,{isActive:!1});return}let h=e.find(a=>a.providerSpecificData?.baseUrl)?.providerSpecificData||null,i=await (0,d.q5)(a,g,f,h);0===i&&j.warn("AUTH",`[POOL] replacement key already in connections for ${a}`),await (0,d.updateProviderConnection)(b,{isActive:!1}),j.info("AUTH",`[POOL] auto-replaced key for ${a} (created=${i})`)}catch(a){j.warn("AUTH",`[POOL] auto-replace failed: ${a.message}`)}finally{l.delete(b)}}}async function u(a,b,c,e=null,h=null,i=null){var k;let l,o,p;if(!a||"noauth"===a)return{shouldFallback:!1,cooldownMs:0};let q=await (0,d.getProviderConnections)({provider:e}),r=q.find(b=>b.id===a),s=r?.backoffLevel||0;if(i&&i>Date.now()?(l=!0,o=Math.min(i-Date.now(),g.fh),p=0):{shouldFallback:l,cooldownMs:o,newBackoffLevel:p}=(0,f.hk)(b,c,s),!l)return{shouldFallback:!1,cooldownMs:0};let v="string"==typeof c?c.slice(0,100):"Provider error";if("cloudflare-ai"===e&&"string"==typeof c&&c.toLowerCase().includes("used up your daily free allocation")){let c,e,f=((e=new Date(Date.UTC((c=new Date).getUTCFullYear(),c.getUTCMonth(),c.getUTCDate(),0,10,0,0))).getTime()<=c.getTime()&&e.setUTCDate(e.getUTCDate()+1),e.toISOString()),g={...r?.providerSpecificData||{},cloudflareQuotaDisabled:!0,cloudflareReEnableAt:f};await (0,d.updateProviderConnection)(a,{isActive:!1,providerSpecificData:g,testStatus:"unavailable",lastError:v,errorCode:b,lastErrorAt:new Date().toISOString()});let h=r?.displayName||r?.name||r?.email||a.slice(0,8);return j.warn("AUTH",`[CLOUDFLARE] ${h} disabled due to daily quota exhaustion — will re-enable at ${f}`),console.error(`❌ cloudflare-ai [${b}]: Daily quota exhausted — disabled until ${f}`),{shouldFallback:!0,cooldownMs:0}}let w=(r?.providerSpecificData?.baseUrl||"").toLowerCase();if(("siliconflow"===e||"string"==typeof e&&e.startsWith("openai-compatible-")&&w.includes("siliconflow"))&&"string"==typeof c&&c.toLowerCase().includes("system is really busy")){let a=new Date(Date.now()+6e5).toISOString();for(let c of q){let e={...c.providerSpecificData||{},siliconflowBusyDisabled:!0,siliconflowReEnableAt:a};await (0,d.updateProviderConnection)(c.id,{isActive:!1,providerSpecificData:e,testStatus:"unavailable",lastError:v,errorCode:b,lastErrorAt:new Date().toISOString()})}return j.warn("AUTH",`[SILICONFLOW] Disabled ${q.length} connection(s) due to server busy (503) — will re-enable at ${a}`),console.error(`❌ siliconflow [${b}]: System busy — disabled ${q.length} connection(s) until ${a}`),{shouldFallback:!0,cooldownMs:0}}let x=(k=o,{[h?`${m}${h}`:n]:new Date(Date.now()+k).toISOString()});await (0,d.updateProviderConnection)(a,{...x,testStatus:"unavailable",lastError:v,errorCode:b,lastErrorAt:new Date().toISOString(),backoffLevel:p??s});let y=Object.keys(x)[0],z=r?.displayName||r?.name||r?.email||a.slice(0,8);return j.warn("AUTH",`${z} locked ${y} for ${Math.round(o/1e3)}s [${b}]`),e&&b&&v&&console.error(`❌ ${e} [${b}]: ${v}`),(400===b||402===b||403===b)&&e&&(g.eq.some(a=>v.toLowerCase().includes(a))?t(e,a).catch(()=>{}):403===b&&j.warn("AUTH",`[POOL] 403 received but no quota pattern matched — reason: "${v.slice(0,80)}"`)),{shouldFallback:!0,cooldownMs:o}}async function v(a,b,c=null){if(!a||"noauth"===a)return;let e=b._connection||b,f=Date.now(),g=Object.keys(e).filter(a=>a.startsWith("modelLock_"));if(!e.testStatus&&!e.lastError&&0===g.length)return;let h=g.filter(a=>{if(c&&a===`modelLock_${c}`||c&&"modelLock___all"===a)return!0;let b=e[a];return b&&new Date(b).getTime()<=f});if(0===h.length&&"unavailable"!==e.testStatus&&!e.lastError)return;let i=g.filter(a=>{if(h.includes(a))return!1;let b=e[a];return b&&new Date(b).getTime()>f}),j=Object.fromEntries(h.map(a=>[a,null]));0===i.length&&Object.assign(j,{testStatus:"active",lastError:null,lastErrorAt:null,backoffLevel:0}),await (0,d.updateProviderConnection)(a,j)}function w(a){let b=a.headers.get("Authorization");if(b?.startsWith("Bearer "))return b.slice(7);let c=a.headers.get("x-api-key");return c||null}async function x(a){return!!a&&await (0,d.ek)(a)}async function y(a){if(!a)return null;try{return await (0,d.getApiKeyRecord)(a)}catch{return null}}async function z(a,b,d){if(!a)return{allowed:!0};let e=await y(a);if(!e)return{allowed:!1,reason:"Invalid API key"};let f=e.scope||"full";if("full"!==f&&"expose_only"!==f)return{allowed:!0};let g=null,h=null;if(!b.includes("/"))try{let{getCombos:a,getExposeComboByName:d}=await Promise.resolve().then(c.bind(c,89718));g=(await a().catch(()=>[])).find(a=>a.name===b)||null,h=await d(b).catch(()=>null)}catch{}return"full"===f?g?{allowed:!0,comboResolved:!0,comboModels:g.models||[]}:h?{allowed:!1,reason:"This API key (full) cannot call Expose models. Use an expose_only key."}:{allowed:!0}:h?{allowed:!0,comboResolved:!0,comboModels:h.models||[]}:{allowed:!1,reason:"This API key (expose_only) can only call Expose models."}}function A(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:{}}function B(a,b){if(!a)return null;if("function"==typeof a.get){let c=a.get(b)||a.get(b.toLowerCase());return"string"==typeof c&&c.trim().length>0?c.trim():null}let c=a[b]||a[b.toLowerCase()]||a[b.toUpperCase()];return Array.isArray(c)?"string"==typeof c[0]&&c[0].trim().length>0?c[0].trim():null:"string"==typeof c&&c.trim().length>0?c.trim():null}function C(a,b){if("string"!=typeof a||0===a.trim().length)return null;let c=a.trim();return c.length<=180&&/^[A-Za-z0-9._:-]+$/.test(c)?`${b}:${c}`:`${b}:sha256:${(0,i.createHash)("sha256").update(c).digest("hex")}`}function D(a){if("string"==typeof a)return a;if(Array.isArray(a)){let b=a.map(a=>{if("string"==typeof a)return a;let b=A(a);return"string"==typeof b.text?b.text:"string"==typeof b.content?b.content:null}).filter(Boolean);return b.length>0?b.join("\n"):JSON.stringify(a)}return a&&"object"==typeof a?JSON.stringify(a):null}function E(a,b){let c=C(B(b,"x-codex-session-id")??B(b,"x-session-id")??B(b,"x-omniroute-session"),"header");if(c)return c;let d=A(a),e=A(d.metadata),f=C(e.session_id,"metadata")??C(e.sessionId,"metadata")??C(d.conversation_id,"conversation")??C(d.session_id,"session")??C(d.prompt_cache_key,"prompt-cache");if(f)return f;let g=function(a){let b=A(a);if(void 0!==b.input){if("string"==typeof b.input)return b.input;if(Array.isArray(b.input))for(let a of b.input){let b=D(A(a).content??a);if(b&&b.trim().length>0)return b}let a=D(b.input);if(a&&a.trim().length>0)return a}if(Array.isArray(b.messages)){let a=b.messages.find(a=>"user"===A(a).role)??b.messages[0],c=D(A(a).content??a);if(c&&c.trim().length>0)return c}return null}(a);return g&&0!==g.trim().length?`input:sha256:${(0,i.createHash)("sha256").update(g.slice(0,4096)).digest("hex")}`:null}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=2845,exports.ids=[2845],exports.modules={16655:(a,b,c)=>{c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(58246)},66306:(a,b,c)=>{c.d(b,{a0:()=>g,nl:()=>k});var d=c(58920);let e={vision:!1,pdf:!1,audioInput:!1,videoInput:!1,imageOutput:!1,audioOutput:!1,search:!1,tools:!0,reasoning:!1,thinkingFormat:null,thinkingCanDisable:!0,thinkingRange:null,contextWindow:2e5,maxOutput:64e3},f={imageToText:{vision:!0},image:{imageOutput:!0},stt:{audioInput:!0},tts:{audioOutput:!0},embedding:{tools:!1}};function g(a){return f[a]||null}let h={"claude-opus-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"gpt-image-1":{imageOutput:!0,tools:!1},"glm-4.6v":{vision:!0,reasoning:!0,thinkingFormat:"zai",contextWindow:128e3},"vision-model":{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6},"coder-model":{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},i={"codebuddy-cn":{"glm-5.2":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:48e3},"glm-5.1":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5.0":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:48e3},"glm-5.0-turbo":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5v-turbo":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:38e3},"glm-4.7":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:48e3},"minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:48e3},"minimax-m2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"kimi-k2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.6":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.5":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:164e3,maxOutput:32e3},"hy3-preview":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:192e3,maxOutput:64e3},"deepseek-v4-pro":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v4-flash":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v3-2-volc":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:96e3,maxOutput:32e3}}},j=[{pattern:"*claude*opus-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.8*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*haiku*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*opus*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*sonnet*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*fable*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude*mythos*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude-3*",caps:{vision:!0}},{pattern:"*claude*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*gemini*image*",caps:{vision:!0,imageOutput:!0,contextWindow:1048576}},{pattern:"*gemini-3*pro*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65535}},{pattern:"*gemini-3*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2.5*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-budget",thinkingRange:{min:0,max:24576},contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2*",caps:{vision:!0,audioInput:!0,videoInput:!0,search:!0,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini*",caps:{vision:!0,search:!0,contextWindow:1048576}},{pattern:"*gemma*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*nanobanana*",caps:{vision:!0,imageOutput:!0}},{pattern:"*gpt-5*image*",caps:{imageOutput:!0}},{pattern:"*gpt-5*codex*",caps:{reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-4o*",caps:{vision:!0,search:!0,contextWindow:128e3,maxOutput:16384}},{pattern:"*gpt-4.1*",caps:{vision:!0,contextWindow:1e6,maxOutput:32768}},{pattern:"*gpt-4-turbo*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*gpt-4*",caps:{contextWindow:128e3}},{pattern:"*gpt-3.5*",caps:{contextWindow:16385,maxOutput:4096}},{pattern:"*gpt-oss*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1-mini*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o4*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*grok*image*",caps:{imageOutput:!0}},{pattern:"*grok-code*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-4*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-3*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:131072}},{pattern:"*grok*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*qwen*vl*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwen*omni*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144,maxOutput:65536}},{pattern:"*qwen*coder*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},{pattern:"*qwen*max*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.5*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.6*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.7*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*plus*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*235b*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwq*",caps:{reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:131072}},{pattern:"*qwen*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*kimi*k2.7*code*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*k2*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*",caps:{reasoning:!0,thinkingFormat:"kimi",contextWindow:262144}},{pattern:"*glm-5*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4.7*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*glm*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*deepseek-v4*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:1e6,maxOutput:384e3}},{pattern:"*reasoner*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-r*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-chat*",caps:{contextWindow:128e3}},{pattern:"*deepseek*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:128e3}},{pattern:"*minimax*image*",caps:{imageOutput:!0}},{pattern:"*minimax-m3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"minimax",contextWindow:1048576,maxOutput:512e3}},{pattern:"*minimax-m2.7*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:204800,maxOutput:131072}},{pattern:"*minimax*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072}},{pattern:"*mimo*v2.5*",caps:{vision:!0,contextWindow:1048576,maxOutput:131072}},{pattern:"*mimo*omni*",caps:{vision:!0,audioInput:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*mimo*",caps:{vision:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*llama-4*",caps:{vision:!0,contextWindow:1e6}},{pattern:"*llama*",caps:{contextWindow:128e3}},{pattern:"*codestral*",caps:{contextWindow:256e3}},{pattern:"*mistral-large*",caps:{vision:!0,contextWindow:256e3}},{pattern:"*mistral*",caps:{contextWindow:128e3}},{pattern:"*command-a-vision*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*command*",caps:{contextWindow:128e3}},{pattern:"*sonar*",caps:{search:!0,contextWindow:128e3}},{pattern:"*pplx*",caps:{search:!0,contextWindow:128e3}},{pattern:"*perplexity*",caps:{search:!0,contextWindow:128e3}},{pattern:"*hunyuan*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"hy3*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"*step-*",caps:{reasoning:!0,thinkingFormat:"step",contextWindow:128e3}},{pattern:"*nemotron*",caps:{reasoning:!0,contextWindow:128e3}},{pattern:"*ling-*",caps:{reasoning:!0,contextWindow:128e3}}];function k(a,b){if(!b)return{...e};if(a&&i[a]?.[b])return{...e,...i[a][b]};let c=b.includes("/")?b.split("/").pop():b;if(h[c])return{...e,...h[c]};if(h[b])return{...e,...h[b]};for(let{pattern:a,caps:f}of j)if((0,d.gH)(a,c)||(0,d.gH)(a,b))return{...e,...f};return{...e}}},81329:(a,b,c)=>{c.d(b,{CP:()=>f,Xg:()=>d.Xg,eh:()=>e,vq:()=>d.PROVIDER_MODELS});var d=c(57247);Object.entries(c(40615).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.PROVIDER_MODELS).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),f=(a,b=null)=>a?.kind||a?.type||b}};
|
|
1
|
+
"use strict";exports.id=2845,exports.ids=[2845],exports.modules={16655:(a,b,c)=>{c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(50906)},66306:(a,b,c)=>{c.d(b,{a0:()=>g,nl:()=>k});var d=c(58920);let e={vision:!1,pdf:!1,audioInput:!1,videoInput:!1,imageOutput:!1,audioOutput:!1,search:!1,tools:!0,reasoning:!1,thinkingFormat:null,thinkingCanDisable:!0,thinkingRange:null,contextWindow:2e5,maxOutput:64e3},f={imageToText:{vision:!0},image:{imageOutput:!0},stt:{audioInput:!0},tts:{audioOutput:!0},embedding:{tools:!1}};function g(a){return f[a]||null}let h={"claude-opus-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"gpt-image-1":{imageOutput:!0,tools:!1},"glm-4.6v":{vision:!0,reasoning:!0,thinkingFormat:"zai",contextWindow:128e3},"vision-model":{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6},"coder-model":{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},i={"codebuddy-cn":{"glm-5.2":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:48e3},"glm-5.1":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5.0":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:48e3},"glm-5.0-turbo":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5v-turbo":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:38e3},"glm-4.7":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:48e3},"minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:48e3},"minimax-m2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"kimi-k2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.6":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.5":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:164e3,maxOutput:32e3},"hy3-preview":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:192e3,maxOutput:64e3},"deepseek-v4-pro":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v4-flash":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v3-2-volc":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:96e3,maxOutput:32e3}}},j=[{pattern:"*claude*opus-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.8*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*haiku*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*opus*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*sonnet*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*fable*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude*mythos*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude-3*",caps:{vision:!0}},{pattern:"*claude*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*gemini*image*",caps:{vision:!0,imageOutput:!0,contextWindow:1048576}},{pattern:"*gemini-3*pro*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65535}},{pattern:"*gemini-3*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2.5*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-budget",thinkingRange:{min:0,max:24576},contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2*",caps:{vision:!0,audioInput:!0,videoInput:!0,search:!0,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini*",caps:{vision:!0,search:!0,contextWindow:1048576}},{pattern:"*gemma*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*nanobanana*",caps:{vision:!0,imageOutput:!0}},{pattern:"*gpt-5*image*",caps:{imageOutput:!0}},{pattern:"*gpt-5*codex*",caps:{reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-4o*",caps:{vision:!0,search:!0,contextWindow:128e3,maxOutput:16384}},{pattern:"*gpt-4.1*",caps:{vision:!0,contextWindow:1e6,maxOutput:32768}},{pattern:"*gpt-4-turbo*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*gpt-4*",caps:{contextWindow:128e3}},{pattern:"*gpt-3.5*",caps:{contextWindow:16385,maxOutput:4096}},{pattern:"*gpt-oss*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1-mini*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o4*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*grok*image*",caps:{imageOutput:!0}},{pattern:"*grok-code*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-4*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-3*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:131072}},{pattern:"*grok*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*qwen*vl*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwen*omni*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144,maxOutput:65536}},{pattern:"*qwen*coder*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},{pattern:"*qwen*max*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.5*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.6*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.7*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*plus*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*235b*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwq*",caps:{reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:131072}},{pattern:"*qwen*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*kimi*k2.7*code*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*k2*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*",caps:{reasoning:!0,thinkingFormat:"kimi",contextWindow:262144}},{pattern:"*glm-5*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4.7*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*glm*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*deepseek-v4*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:1e6,maxOutput:384e3}},{pattern:"*reasoner*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-r*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-chat*",caps:{contextWindow:128e3}},{pattern:"*deepseek*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:128e3}},{pattern:"*minimax*image*",caps:{imageOutput:!0}},{pattern:"*minimax-m3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"minimax",contextWindow:1048576,maxOutput:512e3}},{pattern:"*minimax-m2.7*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:204800,maxOutput:131072}},{pattern:"*minimax*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072}},{pattern:"*mimo*v2.5*",caps:{vision:!0,contextWindow:1048576,maxOutput:131072}},{pattern:"*mimo*omni*",caps:{vision:!0,audioInput:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*mimo*",caps:{vision:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*llama-4*",caps:{vision:!0,contextWindow:1e6}},{pattern:"*llama*",caps:{contextWindow:128e3}},{pattern:"*codestral*",caps:{contextWindow:256e3}},{pattern:"*mistral-large*",caps:{vision:!0,contextWindow:256e3}},{pattern:"*mistral*",caps:{contextWindow:128e3}},{pattern:"*command-a-vision*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*command*",caps:{contextWindow:128e3}},{pattern:"*sonar*",caps:{search:!0,contextWindow:128e3}},{pattern:"*pplx*",caps:{search:!0,contextWindow:128e3}},{pattern:"*perplexity*",caps:{search:!0,contextWindow:128e3}},{pattern:"*hunyuan*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"hy3*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"*step-*",caps:{reasoning:!0,thinkingFormat:"step",contextWindow:128e3}},{pattern:"*nemotron*",caps:{reasoning:!0,contextWindow:128e3}},{pattern:"*ling-*",caps:{reasoning:!0,contextWindow:128e3}}];function k(a,b){if(!b)return{...e};if(a&&i[a]?.[b])return{...e,...i[a][b]};let c=b.includes("/")?b.split("/").pop():b;if(h[c])return{...e,...h[c]};if(h[b])return{...e,...h[b]};for(let{pattern:a,caps:f}of j)if((0,d.gH)(a,c)||(0,d.gH)(a,b))return{...e,...f};return{...e}}},81329:(a,b,c)=>{c.d(b,{CP:()=>f,Xg:()=>d.Xg,eh:()=>e,vq:()=>d.PROVIDER_MODELS});var d=c(57247);Object.entries(c(40615).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.PROVIDER_MODELS).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),f=(a,b=null)=>a?.kind||a?.type||b}};
|
|
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
|
|
|
6
6
|
PRAGMA cache_size = -64000;
|
|
7
7
|
PRAGMA foreign_keys = ON;
|
|
8
8
|
PRAGMA busy_timeout = 5000;
|
|
9
|
-
`,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},apiKeyPools:{columns:{poolKey:"TEXT PRIMARY KEY",keys:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"}},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",sortOrder:"INTEGER DEFAULT 0",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},keyPool:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",name:"TEXT",key:"TEXT NOT NULL",data:"TEXT",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_kp_provider ON keyPool(provider)","CREATE UNIQUE INDEX IF NOT EXISTS idx_kp_provider_key ON keyPool(provider, key)"]},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}}};
|
|
9
|
+
`,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",scope:"TEXT DEFAULT 'full'",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},apiKeyPools:{columns:{poolKey:"TEXT PRIMARY KEY",keys:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"}},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",sortOrder:"INTEGER DEFAULT 0",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},exposeCombos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",sortOrder:"INTEGER DEFAULT 0",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_expose_combo_name ON exposeCombos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},keyPool:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",name:"TEXT",key:"TEXT NOT NULL",data:"TEXT",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_kp_provider ON keyPool(provider)","CREATE UNIQUE INDEX IF NOT EXISTS idx_kp_provider_key ON keyPool(provider, key)"]},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}}};
|
|
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
|
|
|
6
6
|
PRAGMA cache_size = -64000;
|
|
7
7
|
PRAGMA foreign_keys = ON;
|
|
8
8
|
PRAGMA busy_timeout = 5000;
|
|
9
|
-
`,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},apiKeyPools:{columns:{poolKey:"TEXT PRIMARY KEY",keys:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"}},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",sortOrder:"INTEGER DEFAULT 0",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},keyPool:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",name:"TEXT",key:"TEXT NOT NULL",data:"TEXT",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_kp_provider ON keyPool(provider)","CREATE UNIQUE INDEX IF NOT EXISTS idx_kp_provider_key ON keyPool(provider, key)"]},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}}};
|
|
9
|
+
`,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",scope:"TEXT DEFAULT 'full'",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},apiKeyPools:{columns:{poolKey:"TEXT PRIMARY KEY",keys:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"}},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",sortOrder:"INTEGER DEFAULT 0",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},exposeCombos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",sortOrder:"INTEGER DEFAULT 0",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_expose_combo_name ON exposeCombos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},keyPool:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",name:"TEXT",key:"TEXT NOT NULL",data:"TEXT",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_kp_provider ON keyPool(provider)","CREATE UNIQUE INDEX IF NOT EXISTS idx_kp_provider_key ON keyPool(provider, key)"]},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}}};
|